---
ado_id:
ado_type: Feature
ado_title: "{Title}"
status: New
owner:
created:
done_date:
last_ado_sync:
parent_ado_id:
implements_frs: []       # FR Reference — PRD FR-NNN this Feature implements (trace to PRD → BRD.BR). Filled by /tas-feature.
depends_on_features: []  # Feature Dependency — Feature-NNN that must be Done before this one (written by /tas-master-plan)
artifact-status: draft  # draft | approved — approval state of this generated file (gate reads this)
plan_status: pending  # pending | completed (set by /tas-plan)
plan_date:
autonomous_run: false  # true if any /tas-plan or /tas-dev step ran with --autonomous=true
autonomous_run_date:
metrics:               # effectiveness tracking — see .tas/rules/common/metrics.md
  human_time:          # est. traditional no-AI effort (hours, decimal) — set once by /tas-plan, LOCKED
  ai_time:             # cumulative AI-assisted dev time (hours, 0.1) — auto-accumulated by /tas-dev
---
<!-- BOUNDARY: BUSINESS SPEC ONLY. This file contains business requirements and acceptance criteria. Schema, SQL, code, migrations, data models, API specs, and all other technical content → Feature-Technical.md. Any agent adding technical sections here is wrong. -->
<!-- No User Story section and no separate Actor section: their parts are first-class elsewhere — actor → named per step inside User Flow (from PRD.Persona / BRD.Actor), intent → User Flow / PRD.FR, value (why) → Description + implements_frs → PRD.FR → BRD.BR. A prose story sentence would just be a third place to drift. -->
# Feature-{NNN}: {Title}

## Description
{Short summary — for which actor, what this feature does, and the business value (the "why"). This carries the orientation a user-story sentence used to give; the rigorous "why" is the implements_frs trace.}

## User Flow
> Detailed step-by-step the user takes in THIS feature — every UI/API action, validation, branch (the detailed level of PRD.UF). Derived from PRD.UF + PRD.UP + PRD.FR.
> **Name the actor on each step** (there is no separate Actor section) — use the PRD Persona / BRD `AT-NNN` role.
{e.g. Guest Shopper enters email + shipping address → system validates format → Guest Shopper picks payment method → submits → system calls Stripe → on success: create Order status=Confirmed, send email; on fail: show error, keep form}

## Design Reference
> *(omit / write `N/A` if backend-only, or if the project has no UI/UX Design stage)* The exact UI source the coding agent must follow — no guessing. PE points by **ID** to the screen and the components/tokens that apply; the definitions live in the UI/UX Design + Design Spec (single source of truth), not here.
- **Screen(s):** {`SCR-NNN` from UI/UX Design.Generated Screens + its Screen Content Map — e.g. SCR-004 Checkout}
- **Reuse:** {`pixel-perfect` = reuse the Generated Screen's code as-is, only wire data/state | `build` = construct from the Design Spec components below}
- **Components / tokens:** {Design Spec IDs — e.g. `{component.input}`, `{component.button-primary}`, `{colors.error}`, breakpoint `mobile-single-column`}

## Non-Functional Requirements
> The PRD `NFR-NNN` that apply to this Feature (measurable). The Technical plan claims these under `## Modules > NFRs` so coverage can verify each is enforced.
- NFR-001: {target applied to this feature}

## Acceptance Criteria

> Each AC drives unit tests (generated by `/tas-plan`) and functional tests (generated by `/tas-functest`).
> Test ID format: `{PROJECT}_F{NNN}_AC{N}_UT_NNN_{H|E|N}` (unit) or `_FT_NNN_` (functional).
> **Tag each AC with the FR it satisfies and the BRD Business Rule(s) it enforces, explicitly:** `AC-N (FR-NNN, BRU-NNN)`. There is no separate Business Rules section — the `BRU-NNN` reference IS how a rule is traced from BRD → AC → test. Every `BRU-NNN` touching this feature must be referenced by ≥1 AC (the coverage-auditor checks BRU coverage), and an AC may reference multiple BRUs.

### AC-1 (FR-{NNN}, BRU-{NNN}): {title}
- **Given** {precondition}
- **When** {action}
- **Then** {expected result}

### AC-2 (FR-{NNN}): {title}
- **Given** {precondition}
- **When** {action}
- **Then** {expected result}

## Definition of Done
> This feature is Done when it meets the **Standard DoD** in `.tas/rules/common/feature-done.md` — do not restate that checklist here (it is the single source of truth `/tas-dev` verifies against). List **only feature-specific additions** below, if any.

- **Standard DoD:** `.tas/rules/common/feature-done.md` (must pass in full).
- **Feature-specific additions (if any):**
  - [ ] {e.g. CSV import ≥ 10k rows must not time out — or write "None"}

## Autonomous Decisions Log
> Populated only when `autonomous_run: true`. Each entry records a gate that was skipped or a decision auto-made by `/tas-plan` / `/tas-dev` in autonomous mode.

| Timestamp | Stage | Decision | Rationale |
|-----------|-------|----------|-----------|

## Changelog
| Date | Changes | Author |
|------|---------|--------|
