112 lines
3.7 KiB
Markdown
112 lines
3.7 KiB
Markdown
# Phase 1: Architecture Foundation - Discussion Log
|
|
|
|
> **Audit trail only.** Do not use as input to planning, research, or execution agents.
|
|
> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
|
|
|
|
**Date:** 2026-03-27
|
|
**Phase:** 01-Architecture Foundation
|
|
**Areas discussed:** Solution structure, API communication, Tutorial comments, UI framework
|
|
|
|
---
|
|
|
|
## Solution Structure
|
|
|
|
### Naming
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| ChatAgent.* | ChatAgent.Client, ChatAgent.Api, ChatAgent.Shared — clean namespace | ✓ |
|
|
| Custom name | You have a specific name in mind | |
|
|
| You decide | Claude picks a sensible naming convention | |
|
|
|
|
**User's choice:** ChatAgent.* namespace
|
|
|
|
### Location
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Repo root | Solution file at repo root, projects in src/ subfolders | ✓ |
|
|
| Nested src/ folder | Everything under src/ — keeps planning/config separate from code | |
|
|
| You decide | Claude picks based on .NET conventions | |
|
|
|
|
**User's choice:** Repo root with src/ subfolders
|
|
|
|
---
|
|
|
|
## API Communication
|
|
|
|
### HTTP Client Pattern
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Typed HttpClient | Named/typed HttpClient via DI — ChatApiClient class wraps all API calls | ✓ |
|
|
| Raw HttpClient | Inject HttpClient directly into components — simpler but less organized | |
|
|
| You decide | Claude picks the best pattern for a tutorial project | |
|
|
|
|
**User's choice:** Typed HttpClient (ChatApiClient)
|
|
|
|
### API Style
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Minimal API | app.MapGet/MapPost — modern .NET, less boilerplate | |
|
|
| Controllers | Traditional MVC controllers — more structure, more files | ✓ |
|
|
| You decide | Claude picks based on .NET 9 best practices | |
|
|
|
|
**User's choice:** Controllers
|
|
|
|
---
|
|
|
|
## Tutorial Comments
|
|
|
|
### Comment Depth
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Explain Blazor concepts | Comment on Blazor-specific things, skip basic C# | |
|
|
| Full tutorial | Explain everything including basic patterns — treat every file as a teaching moment | ✓ |
|
|
| Minimal + README | Light inline comments, but a per-phase README explaining what was built and why | |
|
|
|
|
**User's choice:** Full tutorial — explain everything
|
|
|
|
### Location
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Inline comments | XML doc comments and // comments right next to the code | ✓ |
|
|
| Companion docs | Separate .md file per phase explaining the concepts introduced | |
|
|
| Both | Inline comments + companion docs for deeper explanation | |
|
|
|
|
**User's choice:** Inline comments only
|
|
|
|
---
|
|
|
|
## UI Framework
|
|
|
|
### Framework Choice
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| MudBlazor now | Install MudBlazor 9.2.0 in Phase 1 — ready for later phases | |
|
|
| Plain HTML/CSS first | Start minimal, add MudBlazor later — learn raw Blazor rendering first | ✓ |
|
|
| You decide | Claude picks what makes sense for a tutorial progression | |
|
|
|
|
**User's choice:** Plain HTML/CSS first
|
|
|
|
### Look & Feel
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Dark theme | Dark background, light text — like ChatGPT/Claude | |
|
|
| Light theme | Light background, dark text — clean and bright | ✓ |
|
|
| System default | Follow OS preference | |
|
|
| You decide | Claude picks a sensible default | |
|
|
|
|
**User's choice:** Light theme
|
|
|
|
---
|
|
|
|
## Claude's Discretion
|
|
|
|
- CORS configuration details
|
|
- Base URL configuration approach
|
|
- .csproj configuration details
|
|
- .NET version targeting
|
|
- Test project structure
|
|
|
|
## Deferred Ideas
|
|
|
|
None — discussion stayed within phase scope
|