---
feature_id:              # e.g., Feature-001
parent_technical_file:   # relative path to Feature-Technical.md (index)
part_id:                 # e.g., part1, part2
part_title:              # e.g., Cart Processing
stacks_involved:         # e.g., [service, integration]
plan_by:
plan_date:
artifact-status: draft   # draft | approved — approval state of this generated file
---
# Feature-{NNN}-Technical: {Title} — Part: {part_title}

> Sub-feature detail file for part `{part_id}`. Global context (Context Diagram, Data Flow, API Spec, ERD, Architecture Decisions): see [`{parent_technical_file}`]({parent_technical_file}).
> Stacks involved in this part: {stacks_involved}.
> Source of truth for SE during `/tas-dev` for this part only.

---

## Stack: {Stack}
> *(repeat this section per stack involved in this part — omit stacks not touched here)*

### Logic Flow
1. {entry point}
2. {validation / auth}
3. {business logic}
4. {persistence / external call}
5. {response / event emit}

### File Changes

#### Modify
| File | Change | Reason |
|------|--------|--------|
| {path} | {what} | {why} |

#### Create
| File | Purpose |
|------|---------|
| {path} | {what it does} |

#### Delete
| File | Reason |
|------|--------|
| {path} | {why removed} |

### Config
| Item | Type | Value / Source | Environment |
|------|------|----------------|-------------|
| {VAR_NAME} | env var | {description} | dev / staging / prod |

### Locator Map
> *(UI stacks only — `web`/`app`. Omit for `service`/`integration`.)*
> `data-testid` (web) / `testID` (app) per `.tas/rules/common/locator-naming.md`. SSoT for `/tas-dev` (inject into source) + `/tas-functest*` (consume).
> Best-effort at plan time — `/tas-dev` back-fills any element missing here. Origin: `plan` = seeded by `/tas-plan` | `dev` = back-filled by `/tas-dev`.

| Element (business) | testid | Component / File | Actions | AC Ref | Origin |
|---|---|---|---|---|---|
| {Submit button} | btn_auth_submit | {LoginForm.tsx} | click | AC-1 | plan |

### Unit Test Cases
> Test ID: `{PROJECT}_F{FEATURE}_AC{N}_UT_NNN_{H|E|N}`
> Unit tests do NOT use locators — query by role/label/text (Testing Library). Locator Map is for functional/E2E only.

| ID | AC Ref | Type | Description | Input | Expected Output |
|----|--------|------|-------------|-------|-----------------|
| {PROJ}_F{NNN}_AC1_UT_001_H | AC-1 | Happy | {description} | {input} | {expected} |
| {PROJ}_F{NNN}_AC1_UT_001_E | AC-1 | Edge | {description} | {boundary} | {expected} |
| {PROJ}_F{NNN}_AC1_UT_001_N | AC-1 | Negative | {description} | {invalid} | {error} |

### Tasks
- [ ] 1: {file + change}
- [ ] 2: {file + change}
- [ ] 3: Unit tests for AC-1, AC-2

---

## Changelog
| Date | Changes | Author |
|------|---------|--------|
