@torus-engineering/tas-kit 1.14.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/.tas/_platform/claude-code/settings.json +58 -46
  2. package/.tas/_platform/hooks/code-quality.js +127 -127
  3. package/.tas/_platform/hooks/session-end.js +111 -111
  4. package/.tas/agents/architect.md +53 -53
  5. package/.tas/agents/aws-reviewer.md +71 -71
  6. package/.tas/agents/build-resolver.md +89 -59
  7. package/.tas/agents/code-explorer.md +63 -63
  8. package/.tas/agents/csharp-reviewer.md +62 -62
  9. package/.tas/agents/database-reviewer.md +73 -73
  10. package/.tas/agents/doc-updater.md +68 -66
  11. package/.tas/agents/python-reviewer.md +67 -67
  12. package/.tas/agents/security-reviewer.md +79 -79
  13. package/.tas/agents/software-engineer.md +53 -0
  14. package/.tas/agents/typescript-reviewer.md +65 -65
  15. package/.tas/commands/ado-create.md +33 -28
  16. package/.tas/commands/ado-delete.md +26 -22
  17. package/.tas/commands/ado-get.md +24 -20
  18. package/.tas/commands/ado-status.md +22 -18
  19. package/.tas/commands/ado-update.md +31 -27
  20. package/.tas/commands/tas-adr.md +37 -33
  21. package/.tas/commands/tas-apitest-plan.md +177 -173
  22. package/.tas/commands/tas-apitest.md +147 -143
  23. package/.tas/commands/tas-brainstorm.md +23 -19
  24. package/.tas/commands/tas-brd.md +50 -0
  25. package/.tas/commands/tas-bug.md +127 -113
  26. package/.tas/commands/tas-checklist.md +180 -0
  27. package/.tas/commands/tas-debug.md +103 -0
  28. package/.tas/commands/tas-design.md +41 -37
  29. package/.tas/commands/tas-dev.md +225 -125
  30. package/.tas/commands/tas-e2e-mobile.md +146 -155
  31. package/.tas/commands/tas-e2e-web.md +150 -163
  32. package/.tas/commands/tas-e2e.md +289 -102
  33. package/.tas/commands/tas-feature.md +181 -47
  34. package/.tas/commands/tas-fix.md +72 -51
  35. package/.tas/commands/tas-functest-mobile.md +138 -144
  36. package/.tas/commands/tas-functest-web.md +176 -192
  37. package/.tas/commands/tas-functest.md +225 -76
  38. package/.tas/commands/tas-init.md +22 -17
  39. package/.tas/commands/tas-master-plan.md +300 -0
  40. package/.tas/commands/tas-orchestrate.md +159 -0
  41. package/.tas/commands/tas-plan.md +152 -117
  42. package/.tas/commands/tas-prd.md +57 -37
  43. package/.tas/commands/tas-review-pr.md +174 -0
  44. package/.tas/commands/tas-review.md +115 -113
  45. package/.tas/commands/tas-sad.md +47 -43
  46. package/.tas/commands/tas-security.md +91 -87
  47. package/.tas/commands/tas-spec.md +54 -50
  48. package/.tas/commands/tas-status.md +25 -16
  49. package/.tas/project-status-example.yaml +3 -1
  50. package/.tas/rules/ado-integration.md +67 -65
  51. package/.tas/rules/common/api-design.md +517 -517
  52. package/.tas/rules/common/build-debug-loop.md +233 -0
  53. package/.tas/rules/common/code-review.md +4 -0
  54. package/.tas/rules/common/feature-done.md +42 -0
  55. package/.tas/rules/common/post-implementation-review.md +4 -0
  56. package/.tas/rules/common/project-status.md +33 -16
  57. package/.tas/rules/common/sad-impact.md +81 -0
  58. package/.tas/rules/common/tdd.md +104 -89
  59. package/.tas/rules/csharp/api-testing.md +2 -2
  60. package/.tas/rules/csharp/torus-core-framework.md +128 -0
  61. package/.tas/tas-example.yaml +9 -32
  62. package/.tas/templates/AGENTS.md +13 -0
  63. package/.tas/templates/API-Test-Spec.md +5 -4
  64. package/.tas/templates/BRD.md +133 -0
  65. package/.tas/templates/Bug.md +15 -0
  66. package/.tas/templates/E2E-Execution-Report.md +8 -8
  67. package/.tas/templates/E2E-Mobile-Spec.md +6 -8
  68. package/.tas/templates/E2E-Report.md +2 -2
  69. package/.tas/templates/E2E-Scenario.md +22 -22
  70. package/.tas/templates/E2E-Test-Spec.md +274 -0
  71. package/.tas/templates/E2E-Web-Spec.md +4 -4
  72. package/.tas/templates/Feature-Technical-Part.md +69 -0
  73. package/.tas/templates/Feature-Technical-Stack.md +74 -0
  74. package/.tas/templates/Feature-Technical.md +329 -0
  75. package/.tas/templates/Feature.md +50 -26
  76. package/.tas/templates/Func-Test-Script.md +29 -56
  77. package/.tas/templates/Func-Test-Spec.md +144 -142
  78. package/.tas/templates/PRD.md +173 -142
  79. package/.tas/templates/TestChecklist.md +96 -0
  80. package/.tas/templates/torus-dotnet-bootstrap.md +223 -0
  81. package/.tas/tools/tas-ado-readme.md +24 -27
  82. package/.tas/tools/tas-ado.py +328 -25
  83. package/.tas/tools/tas-github.py +339 -0
  84. package/README.md +131 -54
  85. package/bin/cli.js +90 -90
  86. package/lib/adapters/antigravity.js +131 -131
  87. package/lib/adapters/claude-code.js +71 -35
  88. package/lib/adapters/codex.js +157 -157
  89. package/lib/adapters/cursor.js +80 -80
  90. package/lib/adapters/index.js +20 -20
  91. package/lib/adapters/utils.js +81 -81
  92. package/lib/deleted-files.json +7 -0
  93. package/lib/install.js +546 -546
  94. package/package.json +1 -1
  95. package/.tas/commands/tas-epic.md +0 -35
  96. package/.tas/commands/tas-story.md +0 -91
  97. package/.tas/rules/common/story-done.md +0 -30
  98. package/.tas/templates/Epic.md +0 -46
  99. package/.tas/templates/Story.md +0 -90
@@ -1,125 +1,225 @@
1
- # /tas-dev $ARGUMENTS
2
-
3
- Role: SE - Software Engineer
4
- Implement a User Story per approved Technical Plan.
5
-
6
- ## Always / Ask / Never
7
-
8
- | | Action |
9
- |---|---|
10
- | **Always** | Check `plan_status` before implementing |
11
- | **Always** | Follow tasks in Story's `## Technical Plan` |
12
- | **Always** | Launch independent review agent after implement — no review in same session |
13
- | **Ask** | When discover plan needs significant changes during coding |
14
- | **Ask** | When need to read files outside plan scope |
15
- | **Never** | Implement outside Story scope |
16
- | **Never** | Skip review step after implement |
17
-
18
- ## IMPORTANT - File Reading Rules
19
- - ONLY read Story fileTechnical Plan has enough technical context.
20
- - Don't auto-read PRD, SAD, ADR, Design-Spec unless user confirms.
21
- - Don't list directories, don't scan project structure.
22
- - Don't read `.tas/rules/common/story-done.md` at first step (only at final step).
23
-
24
- ## Stack Detection
25
- Read `.tas/rules/common/stack-detection.md`.
26
-
27
- ## Actions
28
-
29
- ### Step 1 Identify Story
30
-
31
- `$ARGUMENTS` is Story ID or file path.
32
- If none: read `project-status.yaml`, find stories with `status: Committed` or `status: In Progress`. If more than one, list for user to choose.
33
- Read Story file.
34
-
35
- ### Step 1.5 Gate: Check plan_status
36
-
37
- Read `plan_status` from Story frontmatter.
38
-
39
- **If `plan_status: pending`:**
40
- Read `require_plan` from root/`tas.yaml`:
41
- - `require_plan: true` (or field doesn't exist) **STOP**:
42
- > "This Story has no Technical Plan. Run `/tas-plan {Story-ID}` before implementing."
43
- - `require_plan: false` → continue, show warning and wait for confirmation:
44
- > "⚠️ Quick mode: Story has no Technical Plan. Continue implementing?"
45
-
46
- **If `plan_status: completed`:** continue normally.
47
-
48
- ### Step 2 Read Technical Plan
49
-
50
- From Story file, read `## Technical Plan` section:
51
- - Chosen approach
52
- - Files to Change / Files to Create
53
- - Database Changes, Config Changes
54
- - Tasks list (checklist to follow in order)
55
-
56
- If no Technical Plan (quick mode) → analyze AC and implement directly per AC.
57
-
58
- ### Step 3 Implement
59
-
60
- **If stack is Node.js/Express/Next.js** → Read `.tas/rules/typescript/patterns.md` and `.tas/rules/typescript/security.md` for repository pattern, N+1 prevention, error handler, caching, JWT/RBAC before coding.
61
-
62
- #### If `use_tdd = true` in `tas.yaml`:
63
-
64
- Read `.tas/rules/common/tdd.md` for Red-Green-Refactor discipline + Test Naming Convention.
65
-
66
- Platform-specific test stacks (from stack detection):
67
- - **Mobile (React Native)**: Jest + React Testing Library — Components (`render`, `fireEvent`, `screen`), Hooks (`renderHook`), Services/API (Jest mocks + MSW), Utils, Zustand stores. File: `src/**/*.test.ts(x)`
68
- - **Web (React + Node)**: Vitest/Jest + React Testing Library — Components, Hooks, Services (MSW/Nock), Backend services (Jest). File: `src/**/*.test.ts(x)`
69
- - **Backend (.NET)**: xUnitUnit (services, repositories), Integration (TestServer), API (WebApplicationFactory). File: `tests/Unit/`, `tests/Integration/`, `tests/Api/`
70
-
71
- #### If `use_tdd = false`:
72
- a. Implement code per AC + Tasks in Technical Plan
73
- b. Write unit tests covering cases in `## Unit Test Cases`
74
- c. Run tests, fix if fail
75
- → If tests still fail after 1 self-fix: launch `build-resolver` agent with error output to diagnose.
76
-
77
- During implementation, tick each completed task in Story file: `- [x] Task 1: ...`
78
-
79
- If discover plan needs significant changes → notify user before changing direction.
80
-
81
- ### Step 4 Post-Implementation Review (Isolated Agent)
82
-
83
- Follow `.tas/rules/common/post-implementation-review.md`.
84
- Pass in: Story file path, changed files list, stack (from CLAUDE.md), lang_agent.
85
-
86
- ### Step 5 — Definition of Done
87
-
88
- Read `.tas/rules/common/story-done.md`, verify each item, tick in Story:
89
- - `- [x] Technical plan completed` if plan_status: completed (or quick mode confirmed)
90
- - `- [x] Code implemented` — if implementation done
91
- - `- [x] Unit tests pass` if tests passed
92
- - `- [x] No regression` — if full test suite passed
93
- - `- [x] Documentation updated (if needed)` if updated
94
- - `- [x] Code review passed` — if review gate passed (no Critical/High)
95
- - `- [ ] Acceptance criteria verified` — DO NOT tick, let PE verify
96
-
97
- **Optional if Story changes public API, database schema, or setup:**
98
- Launch `doc-updater` agent: update related docs (README, SAD section, API docs).
99
- > Scope: [changed files list]. Story: [Story ID + title].
100
- > Only update outdated docsdon't rewrite from scratch.
101
-
102
- ### Step 6Wrap up
103
-
104
- Update Story status → `In Progress` (if not already).
105
- Create commit message per conventions in `CLAUDE.md`.
106
- Ask: "Tests OK and review passed have you tested manually? Want to move to Deploy Test?"
107
-
108
- If Yes:
109
- - Update Story status → `Deploy Test`
110
- - Add Changelog entry
111
- - Update `project-status.yaml`
112
- - Suggest: `/ado-update story {ado-id} --status "Deploy Test"` if using ADO
113
-
114
- ## Principles
115
- - DO NOT implement outside Story scope
116
- - Each public method MUST have XML doc comment (C#) or JSDoc (TypeScript) or docstring (Python)
117
- - Review must run through independent Agent not inline in current session
118
- - **When to create ADR** (if Technical Plan didn't mention):
119
- - Architecture changes affecting multiple components
120
- - New design pattern or framework
121
- - Important technical trade-off decisions
122
-
123
- ## Final Step — Token Log
124
-
125
- Follow `.tas/rules/common/token-logging.md`: write AI Usage Log to working Story file.
1
+ ---
2
+ model: sonnet
3
+ ---
4
+
5
+ # /tas-dev $ARGUMENTS
6
+
7
+ Role: SE - Software Engineer
8
+ Implement a Feature per the approved Technical Plan (`Feature-{NNN}-Technical.md`).
9
+
10
+ `$ARGUMENTS` may include `--autonomous=true|false` (overrides `autonomy_mode` in `tas.yaml`).
11
+
12
+ ## Always / Ask / Never
13
+
14
+ | | Action |
15
+ |---|---|
16
+ | **Always** | Check Feature `plan_status` before implementing |
17
+ | **Always** | Follow Tasks list in `Feature-{NNN}-Technical.md` |
18
+ | **Always** | Tick `- [x]` each task in Technical `## Tasks` immediately after task done — before next task |
19
+ | **Always** | Launch independent review agent after implement no review in same session |
20
+ | **Ask** | When discover the plan needs significant changes during coding (manual mode) |
21
+ | **Ask** | When need to read files outside the plan's scope (manual mode) |
22
+ | **Never** | Implement outside Feature scope |
23
+ | **Never** | Skip review step after implement |
24
+ | **Never** | Auto-mark Done when post-impl review returns Critical/High — even in autonomous mode |
25
+
26
+ ## Autonomous Mode
27
+
28
+ Resolve `autonomous` flag at start (CLI flag wins over yaml):
29
+ 1. Parse `--autonomous=true|false` from `$ARGUMENTS`
30
+ 2. If absent → read `autonomy_mode` from `tas.yaml` (`manual` | `full`, default `manual`)
31
+ 3. Final value: `autonomous = true` iff CLI `true` OR (CLI absent AND `autonomy_mode: full`)
32
+
33
+ When `autonomous = true`:
34
+ - Step 1.5: if `plan_status: pending` → invoke `/tas-plan {Feature-ID} --autonomous=true` inline, wait completion, then continue. Do NOT stop on `require_plan: true`.
35
+ - Step 3: skip "ask user before changing direction". Auto-decide deviation, log to Feature `## Autonomous Decisions Log` with rationale.
36
+ - Step 4 (review): unchanged — review still runs in isolated agent.
37
+ - Step 6: if review returns NO Critical/High AND tests pass → auto-Done. If Critical/High → revert status to `In Development`, do NOT mark Done, surface findings to user.
38
+
39
+ Mandatory audit trail in autonomous mode:
40
+ - Set Feature frontmatter: `autonomous_run: true`, `autonomous_run_date: {datetime}`
41
+ - Append every skipped gate + chosen path to Feature `## Autonomous Decisions Log`
42
+ - Tag commit message: `feat(autonomous): ...`
43
+
44
+ ## IMPORTANT File Reading Rules
45
+ - Read Feature file (business context) + Feature-Technical file (implementation context) — that's enough.
46
+ - Don't auto-read PRD, SAD, ADR, Design-Spec unless user confirms.
47
+ - Don't list directories, don't scan project structure.
48
+ - Don't read `.tas/rules/common/feature-done.md` at first step (only at final step).
49
+
50
+ ## Stack Detection
51
+ Read `.tas/rules/common/stack-detection.md`. Cross-check with Feature frontmatter `stack:` field.
52
+
53
+ ## Actions
54
+
55
+ ### Step 1 — Identify Feature
56
+
57
+ `$ARGUMENTS` is Feature ID or file path.
58
+ If none: read `project-status.yaml`, find features with `status: In Design` or `status: In Development`. If more than one, list for user to choose.
59
+
60
+ Read both files:
61
+ - `docs/features/{CODE}-Feature-{NNN}-{slug}/{CODE}-Feature-{NNN}-{slug}.md`
62
+ - `docs/features/{CODE}-Feature-{NNN}-{slug}/{CODE}-Feature-{NNN}-{slug}-Technical.md`
63
+
64
+ ### Step 1.5 Gate: Check plan_status
65
+
66
+ Read `plan_status` from Feature frontmatter.
67
+
68
+ **If `plan_status: pending`:**
69
+ - **If `autonomous = true`:** Execute `/tas-plan {Feature-ID} --autonomous=true` inline run all tas-plan steps in sequence, **no text output, no stop, no user prompt**. When tas-plan file writes finish (`plan_status: completed`), immediately re-read Feature + Technical files and continue Step 2 without pausing.
70
+ - **Else** read `require_plan` from root/`tas.yaml`:
71
+ - `require_plan: true` (or field absent) → **STOP**:
72
+ > "Feature has no Technical Plan. Run `/tas-plan {Feature-ID}` before implementing."
73
+ - `require_plan: false` continue, show warning:
74
+ > "⚠️ Quick mode: Feature has no Technical Plan. Continue?"
75
+
76
+ **If `plan_status: completed`:** continue normally. If Technical file missing → STOP, advise re-run `/tas-plan`.
77
+
78
+ ### Step 2 — Read Technical Plan
79
+
80
+ From `Feature-{NNN}-Technical.md`, absorb:
81
+ - Context Diagram + Logic Flow + Data Flow
82
+ - ERD + File Changes (Modify / Create / Delete)
83
+ - Config (env vars, flags, dependencies)
84
+ - Unit Test Cases (Happy / Edge / Negative tables)
85
+ - Tasks list (checklist to follow in order)
86
+
87
+ If quick mode (no Technical file) → analyze Feature AC and implement directly.
88
+
89
+ ### Step 3Implement
90
+
91
+ **If stack is Node.js/Express/Next.js** Read `.tas/rules/typescript/patterns.md` and `.tas/rules/typescript/security.md` for repository pattern, N+1 prevention, error handler, caching, JWT/RBAC before coding.
92
+
93
+ **If stack is .NET / C# AND target dir has no `*.sln`** → Read `.tas/rules/csharp/torus-core-framework.md`. Run the pinned `torus-bootstrap create ...` command from the Technical Plan FIRST (before any application code), then continue with regular Tasks.
94
+
95
+ #### If `use_tdd = true` in `tas.yaml`:
96
+
97
+ Read `.tas/rules/common/tdd.md` for Red-Green-Refactor + Test Naming Convention.
98
+
99
+ Platform-specific test stacks (from stack detection + Feature `stack:` field):
100
+ - **Mobile (React Native)**: Jest + React Testing Library Components (`render`, `fireEvent`, `screen`), Hooks (`renderHook`), Services/API (Jest mocks + MSW), Utils, Zustand stores. File: `src/**/*.test.ts(x)`
101
+ - **Web (React + Node)**: Vitest/Jest + React Testing Library — Components, Hooks, Services (MSW/Nock), Backend services. File: `src/**/*.test.ts(x)`
102
+ - **Backend (.NET)**: xUnit Unit (services, repositories), Integration (TestServer), API (WebApplicationFactory). File: `tests/Unit/`, `tests/Integration/`, `tests/Api/`
103
+
104
+ #### If `use_tdd = false`:
105
+ a. Implement code per AC + Tasks in Technical Plan
106
+ b. Write unit tests covering rows in `## Unit Test Cases`
107
+ c. Run tests, fix if fail
108
+ If tests still fail after 1 self-fix: launch `build-resolver` agent with error output.
109
+
110
+ **Task checklist sync (mandatory):**
111
+ - After finishing each task in `## Tasks`, immediately `Edit` the Technical file to flip `- [ ]` → `- [x]` for that exact line. Do not batch — tick per task.
112
+ - If task partial (e.g. file created but not wired) leave `- [ ]` and add `- [ ] {task} partial: {what's left}` note.
113
+ - Before Step 4 review, re-read Technical file and confirm every completed task is `- [x]`. Any `- [ ]` left must match an actual gap.
114
+
115
+ If discover plan needs significant changes:
116
+ - **Manual mode:** notify user before changing direction.
117
+ - **Autonomous mode:** auto-decide (prefer simplest path that satisfies AC), log entry to Feature `## Autonomous Decisions Log`:
118
+ > `- {timestamp} | Step 3 deviation | original: {plan path} | chosen: {new path} | reason: {why}`
119
+
120
+ ### Step 3.5 Build & Verify Loop
121
+
122
+ Read `.tas/rules/common/build-debug-loop.md`.
123
+
124
+ Run **after each stack is fully implemented** (not after every task — after the stack's task group is complete).
125
+
126
+ ```
127
+ max_attempts = tas.yaml[build_debug_attempts] ?? 3
128
+ attempt = 0
129
+
130
+ while attempt < max_attempts:
131
+ 1. Start dev server for current stack (command + ready signal from rule table)
132
+ Run as background process, timeout 60s waiting for ready signal
133
+ 2. Capture stdout + stderr for 30s after ready (or until crash)
134
+ 3. Evaluate:
135
+ a. Crash / no ready signal → extract errors → call build-resolver agent
136
+ Apply fix → kill process → attempt++ → retry
137
+ b. Ready but error pattern in log → same as (a)
138
+ c. Ready, no errors → if frontend stack: run Browser Check (per rule)
139
+ Browser check pass → log PASS → exit loop
140
+ Browser check fail → call build-resolver with browser error context
141
+ Apply fix → kill process → attempt++ → retry
142
+ d. Ready, no errors, not frontend → log PASS → exit loop
143
+
144
+ if attempt >= max_attempts:
145
+ Output warning block (format in rule) → STOP
146
+ Do NOT proceed to Step 4 until user resolves
147
+ ```
148
+
149
+ **build-resolver call context**: stack, command, attempt N/max, exit code, last 50 lines stdout+stderr, browser errors (if any), AC text being verified (if functional check), changed files list.
150
+
151
+ **After loop**: append to Feature Technical file `## Build Debug Log` (create section if absent).
152
+
153
+ **Skip condition**: if `tas.yaml[skip_build_verify: true]` → skip Step 3.5, log skip reason.
154
+
155
+ ### Step 4 — Post-Implementation Review (Isolated Agent)
156
+
157
+ **Pre-review gate:** Re-read Technical file. All implemented tasks must be `- [x]`. If any done task still `- [ ]` → tick now, then proceed.
158
+
159
+ Follow `.tas/rules/common/post-implementation-review.md`.
160
+ Pass in: Feature file path, Technical file path, changed files list, stack (from Feature.stack + CLAUDE.md), lang_agent.
161
+
162
+ ### Step 5 — Definition of Done
163
+
164
+ Read `.tas/rules/common/feature-done.md`, verify each item, tick in Feature's `## Definition of Done`:
165
+ - `- [x] Technical plan completed` — if plan_status: completed (or quick mode confirmed)
166
+ - `- [x] Code implemented per all AC`
167
+ - `- [x] Unit tests pass (happy + edge + negative)`
168
+ - `- [x] No regression on existing tests`
169
+ - `- [x] Documentation updated (if API/schema changed)`
170
+ - `- [x] Code review passed` — if review gate passed (no Critical/High)
171
+ - `- [ ] Functional tests pass (per /tas-functest)` — DO NOT tick if FT not run yet
172
+ - `- [ ] Acceptance criteria verified by PE` — DO NOT tick, let PE verify
173
+ - `- [ ] Ready for production release` — DO NOT tick, gated by PE
174
+
175
+ **SAD update (mandatory if matrix says so):**
176
+ Read Technical-file frontmatter `sad_impact`.
177
+ - If `sad_impact: true` → auto-invoke `/tas-sad "Feature-{NNN}: {one-line summary aggregated from SAD Impact Matrix Yes rows}" --autonomous={autonomous}` inline. `/tas-sad` UPDATE mode writes Changelog entry to `docs/sad.md`. Verify Changelog entry contains `Feature-{NNN}` ref before continuing.
178
+ - If `sad_impact: false` → skip.
179
+
180
+ **Optional — broader docs sync (API contracts, README, etc.):**
181
+ Launch `doc-updater` agent if Feature changes public API, schema, or setup beyond what `/tas-sad` covers.
182
+ > Scope: [changed files list]. Feature: [Feature ID + title].
183
+ > Only update outdated docs — don't rewrite from scratch.
184
+
185
+ ### Step 6 — Wrap up
186
+
187
+ Update Feature status → `In Development` (if not already).
188
+ Create commit message per conventions in `CLAUDE.md`. Prefix with `feat(autonomous):` if autonomous run.
189
+
190
+ **Manual mode:**
191
+ Ask: "Tests OK and review passed — manually tested? Move to `Done` and release?"
192
+
193
+ If Yes:
194
+ - Update Feature status → `Done`, fill `Done Date`
195
+ - Add Changelog entry
196
+ - Update `project-status.yaml`: `features.{FEATURE_ID}.status: Done`
197
+ - Suggest: `/ado-update feature {ado-id} --status "Done"` if using ADO
198
+
199
+ **SAD Done Gate (manual + autonomous):** If Technical-file frontmatter `sad_impact: true` → grep `docs/sad.md` Changelog for `Feature-{NNN}` ref. No match → BLOCK Done, surface: "SAD impact flagged but `docs/sad.md` Changelog missing Feature-{NNN} ref. Re-run `/tas-sad` before marking Done."
200
+
201
+ **Autonomous mode:**
202
+ Read post-impl review result.
203
+ - **No Critical/High AND tests pass** → auto-Done:
204
+ - Update status → `Done`, fill `Done Date`
205
+ - Add Changelog entry tagged `[autonomous]`
206
+ - Update `project-status.yaml`: `features.{FEATURE_ID}.status: Done`
207
+ - Surface summary to user: Feature ID, autonomous decisions count, files changed, review verdict.
208
+ - **Any Critical/High finding OR tests fail** → revert/hold:
209
+ - Status stays `In Development`
210
+ - Append to `## Autonomous Decisions Log`: `- {timestamp} | auto-Done blocked | reason: {Critical/High count or test failures}`
211
+ - Surface findings to user, await manual fix.
212
+ - **ADR creation:** never auto-run `/tas-adr` — log candidates only (per current rule).
213
+
214
+ ## Principles
215
+ - DO NOT implement outside Feature scope
216
+ - Each public method MUST have XML doc (C#) / JSDoc (TS) / docstring (Python)
217
+ - Review must run through independent Agent — not inline in current session
218
+ - **When to create ADR** (if Technical Plan didn't mention):
219
+ - Architecture changes affecting multiple components
220
+ - New design pattern or framework
221
+ - Important technical trade-off decisions
222
+
223
+ ## Final Step — Token Log
224
+
225
+ Follow `.tas/rules/common/token-logging.md`: write AI Usage Log to working Feature file.