## Purpose Define the project identity, core value, and non-negotiable constraints for Chat Agent WebApp. ## Requirements ### Requirement: Project identity The project spec SHALL contain the project name, a description paragraph, and a core value statement that communicates the project's dual purpose: working AI chat interface and Blazor learning journey. #### Scenario: Project description present - **WHEN** an AI agent or developer reads the project spec - **THEN** they find the project name ("Chat Agent WebApp"), a description of what the app does, and the core value statement ### Requirement: Project constraints The project spec SHALL enumerate all non-negotiable constraints that govern technical decisions across the project. #### Scenario: Constraints enumerated - **WHEN** a decision is made about technology, architecture, or approach - **THEN** the project spec provides the authoritative list of constraints to check against: - Tech stack: .NET / C# / Blazor WebAssembly - LLM provider: OpenAI GPT API - Storage: JSON files on local disk - Architecture: WASM client + backend API (API key stays server-side) - Code style: Every Blazor concept introduced MUST have inline comments explaining what it does and why