# Project Context

## Conventions
<!-- Define coding standards and patterns used in this project -->
- Branching: [e.g., git-flow, trunk-based, GitHub flow]
- Commit: [e.g., conventional commits, custom format]
- Naming: [e.g., PascalCase for classes, camelCase for variables]
- Test framework: [e.g., xUnit, Jest, pytest]

## Architecture
<!-- Reference key architecture documents -->
- System design: see [docs/sad.md](docs/sad.md)
- Architecture decisions: see [docs/adr/](docs/adr/)

> _Run `/tas-agents` after the SAD is approved to add the generated sections below (Tech Stack, Architecture Principles & Decisions, Security Constraints, NFR Constraints, Stable Contracts, Domain Terms, Design Rules) as flat `##` sections here, so coding agents load them without reading the full SAD._

## Build & Test
<!-- Commands for building, testing, and linting -->
- Build: [e.g., dotnet build, npm run build]
- Test: [e.g., dotnet test, npm test]
- Lint: [e.g., dotnet format, npm run lint]

## Environment Setup
<!-- Prerequisites for running this project -->
- [e.g., Node.js 20+, .NET 8 SDK, Python 3.11+]
- [e.g., Azure CLI with specific extensions]
- [e.g., Required environment variables in .env file]

## Key Workflows
<!-- Common commands for this project -->
Type /[command-name] to [describe what it does].

## TAS Flow (kit v3 — Feature-only)

> Epic and User Story are NOT used. Each piece of work = one Feature per stack (`app` | `web` | `service` | `integration`), small enough to release in 1 day of dev.

Typical loop:
1. `/tas-brd` — capture business requirements: BO → BR, business rules (BRU), actors (AT), business flow, entities, constraints (PE)
2. `/tas-prd` — product requirements: Product Goal (PG → BR), personas (← Actor), FR (→ BR), AC in Given/When/Then, NFR, modules (PE)
2b. *(optional, UI projects — Stage 02)* `/tas-design-uiux` — Screen Inventory (SCR-NNN) + Design Brief → Claude Design HTML in `docs/ui/`; then `/tas-design-spec` — extract tokens/components from the HTML (PE)
3. `/tas-sad` — solution architecture: modules + components, data, integration contracts, security, NFR strategy (SE)
4. `/tas-agents` — regenerate this file's flat, per-section context from the approved SAD (SE)
5. `/tas-master-plan` — break PRD+SAD into Features + dependency tracks; assert design-item coverage (SE)
6. `/tas-feature` — business Feature spec with AC in Given/When/Then (PE)
7. `/tas-plan` — `{CODE}-Feature-NNN-{slug}-Technical.md`: Modules claim, DO NOT CHANGE, Context/Data Flow, ERD Delta, File Changes (SE)
8. `/tas-TestChecklist` — test design checklist with flow-based test points, risk assessment, coverage gate ≥90% (PE owner, QA generator)
9. `/tas-dev` — implement per Technical Plan + Definition of Done (SE)
10. `/tas-functest` — functional test spec with Given/When/Then steps (QA owner, input: TestChecklist)
11. `/tas-functest-{mobile|web}` — automation scripts from FuncTestSpec (SE owner)
12. `/tas-functest-report` — convert automation results back into a FeatureTestReport, mapped to §4 TC IDs (QA/SE)
13. `/tas-e2e` (+ `-mobile`/`-web`) — chain Features into end-to-end scenarios (QA/PE)
14. `/tas-review` — multi-agent review before release

### Test ID conventions (two families — do not mix)

- **Unit / E2E / API / smoke:** `{PROJECT}_F{FEATURE}_AC{N}_{TYPE}_{NUMBER}_{MODIFIER}` (e.g. `AL_F012_AC2_UT_003_N`).
- **Functional test cases (FuncTest §4 = SSoT for `/tas-functest*` + `/tas-functest-report`):** `F{NNN}_AC{N}_{CAT}_{SEQ}`, CAT ∈ `GUI|VAL|BL|EXC|SEC|INT|PERF` (e.g. `F001_AC1_BL_001`). `/tas-functest-web|mobile` reuse this ID **verbatim** as the automation test title; `/tas-functest-report` parses it back with `^(F\d+_AC\d+_[A-Z]+_\d+)`.
