@torus-engineering/tas-kit 1.13.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.
- package/.tas/_platform/claude-code/settings.json +58 -46
- package/.tas/_platform/hooks/code-quality.js +127 -127
- package/.tas/_platform/hooks/session-end.js +111 -111
- package/.tas/agents/architect.md +53 -53
- package/.tas/agents/aws-reviewer.md +71 -71
- package/.tas/agents/build-resolver.md +89 -59
- package/.tas/agents/code-explorer.md +63 -63
- package/.tas/agents/csharp-reviewer.md +62 -62
- package/.tas/agents/database-reviewer.md +73 -73
- package/.tas/agents/doc-updater.md +68 -66
- package/.tas/agents/python-reviewer.md +67 -67
- package/.tas/agents/security-reviewer.md +79 -79
- package/.tas/agents/software-engineer.md +53 -0
- package/.tas/agents/typescript-reviewer.md +65 -65
- package/.tas/commands/ado-create.md +33 -28
- package/.tas/commands/ado-delete.md +26 -22
- package/.tas/commands/ado-get.md +24 -20
- package/.tas/commands/ado-status.md +22 -18
- package/.tas/commands/ado-update.md +31 -27
- package/.tas/commands/tas-adr.md +37 -33
- package/.tas/commands/tas-apitest-plan.md +177 -173
- package/.tas/commands/tas-apitest.md +147 -143
- package/.tas/commands/tas-brainstorm.md +23 -19
- package/.tas/commands/tas-brd.md +50 -0
- package/.tas/commands/tas-bug.md +127 -113
- package/.tas/commands/tas-checklist.md +180 -0
- package/.tas/commands/tas-debug.md +103 -0
- package/.tas/commands/tas-design.md +41 -37
- package/.tas/commands/tas-dev.md +225 -125
- package/.tas/commands/tas-e2e-mobile.md +146 -155
- package/.tas/commands/tas-e2e-web.md +150 -163
- package/.tas/commands/tas-e2e.md +289 -102
- package/.tas/commands/tas-feature.md +181 -47
- package/.tas/commands/tas-fix.md +72 -51
- package/.tas/commands/tas-functest-mobile.md +138 -144
- package/.tas/commands/tas-functest-web.md +176 -192
- package/.tas/commands/tas-functest.md +225 -76
- package/.tas/commands/tas-init.md +22 -17
- package/.tas/commands/tas-master-plan.md +300 -0
- package/.tas/commands/tas-orchestrate.md +159 -0
- package/.tas/commands/tas-plan.md +152 -117
- package/.tas/commands/tas-prd.md +57 -37
- package/.tas/commands/tas-review-pr.md +174 -0
- package/.tas/commands/tas-review.md +115 -113
- package/.tas/commands/tas-sad.md +47 -43
- package/.tas/commands/tas-security.md +91 -87
- package/.tas/commands/tas-spec.md +54 -50
- package/.tas/commands/tas-status.md +25 -16
- package/.tas/project-status-example.yaml +3 -1
- package/.tas/rules/ado-integration.md +67 -65
- package/.tas/rules/common/api-design.md +517 -517
- package/.tas/rules/common/build-debug-loop.md +233 -0
- package/.tas/rules/common/code-review.md +4 -0
- package/.tas/rules/common/feature-done.md +42 -0
- package/.tas/rules/common/post-implementation-review.md +4 -0
- package/.tas/rules/common/project-status.md +33 -16
- package/.tas/rules/common/sad-impact.md +81 -0
- package/.tas/rules/common/tdd.md +104 -89
- package/.tas/rules/csharp/api-testing.md +2 -2
- package/.tas/rules/csharp/torus-core-framework.md +128 -0
- package/.tas/tas-example.yaml +9 -32
- package/.tas/templates/AGENTS.md +13 -0
- package/.tas/templates/API-Test-Spec.md +5 -4
- package/.tas/templates/BRD.md +133 -0
- package/.tas/templates/Bug.md +15 -0
- package/.tas/templates/E2E-Execution-Report.md +8 -8
- package/.tas/templates/E2E-Mobile-Spec.md +6 -8
- package/.tas/templates/E2E-Report.md +2 -2
- package/.tas/templates/E2E-Scenario.md +22 -22
- package/.tas/templates/E2E-Test-Spec.md +274 -0
- package/.tas/templates/E2E-Web-Spec.md +4 -4
- package/.tas/templates/Feature-Technical-Part.md +69 -0
- package/.tas/templates/Feature-Technical-Stack.md +74 -0
- package/.tas/templates/Feature-Technical.md +329 -0
- package/.tas/templates/Feature.md +50 -26
- package/.tas/templates/Func-Test-Script.md +29 -56
- package/.tas/templates/Func-Test-Spec.md +144 -142
- package/.tas/templates/PRD.md +173 -142
- package/.tas/templates/TestChecklist.md +96 -0
- package/.tas/templates/torus-dotnet-bootstrap.md +223 -0
- package/.tas/tools/tas-ado-readme.md +24 -27
- package/.tas/tools/tas-ado.py +328 -25
- package/.tas/tools/tas-github.py +339 -0
- package/README.md +142 -57
- package/bin/cli.js +90 -90
- package/lib/adapters/antigravity.js +131 -131
- package/lib/adapters/claude-code.js +71 -35
- package/lib/adapters/codex.js +157 -157
- package/lib/adapters/cursor.js +80 -80
- package/lib/adapters/index.js +20 -20
- package/lib/adapters/utils.js +81 -81
- package/lib/deleted-files.json +7 -0
- package/lib/install.js +546 -543
- package/package.json +2 -2
- package/.tas/README.md +0 -334
- package/.tas/commands/tas-epic.md +0 -35
- package/.tas/commands/tas-story.md +0 -91
- package/.tas/rules/common/story-done.md +0 -30
- package/.tas/templates/Epic.md +0 -46
- package/.tas/templates/Story.md +0 -90
package/.tas/commands/tas-dev.md
CHANGED
|
@@ -1,125 +1,225 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
|
15
|
-
|
|
16
|
-
| **
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
- **
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
If
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
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 3 — Implement
|
|
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.
|