agile-context-engineering 0.2.2 → 0.3.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/CHANGELOG.md +82 -0
- package/LICENSE +51 -51
- package/README.md +324 -323
- package/agents/ace-research-synthesizer.md +228 -228
- package/agents/ace-technical-application-architect.md +28 -0
- package/agents/ace-wiki-mapper.md +445 -334
- package/agile-context-engineering/src/ace-tools.test.js +1089 -1089
- package/agile-context-engineering/templates/_command.md +53 -53
- package/agile-context-engineering/templates/_workflow.xml +16 -16
- package/agile-context-engineering/templates/product/product-backlog.xml +231 -231
- package/agile-context-engineering/templates/product/story-integration-solution.xml +1 -0
- package/agile-context-engineering/templates/product/story-wiki.xml +4 -0
- package/agile-context-engineering/templates/wiki/coding-standards.xml +38 -0
- package/agile-context-engineering/templates/wiki/decizions.xml +115 -115
- package/agile-context-engineering/templates/wiki/guide.xml +137 -137
- package/agile-context-engineering/templates/wiki/module-discovery.xml +174 -174
- package/agile-context-engineering/templates/wiki/pattern.xml +159 -159
- package/agile-context-engineering/templates/wiki/system-architecture.xml +254 -254
- package/agile-context-engineering/templates/wiki/system-cross-cutting.xml +197 -197
- package/agile-context-engineering/templates/wiki/system.xml +381 -381
- package/agile-context-engineering/templates/wiki/walkthrough.xml +255 -0
- package/agile-context-engineering/templates/wiki/wiki-readme.xml +297 -276
- package/agile-context-engineering/utils/questioning.xml +110 -110
- package/agile-context-engineering/workflows/execute-story.xml +1219 -1145
- package/agile-context-engineering/workflows/help.xml +540 -540
- package/agile-context-engineering/workflows/init-coding-standards.xml +386 -386
- package/agile-context-engineering/workflows/map-story.xml +1046 -797
- package/agile-context-engineering/workflows/map-subsystem.xml +2 -1
- package/agile-context-engineering/workflows/map-walkthrough.xml +457 -0
- package/agile-context-engineering/workflows/plan-feature.xml +1495 -1495
- package/agile-context-engineering/workflows/plan-story.xml +36 -1
- package/agile-context-engineering/workflows/research-integration-solution.xml +1 -0
- package/agile-context-engineering/workflows/research-story-wiki.xml +2 -1
- package/agile-context-engineering/workflows/research-technical-solution.xml +1 -0
- package/agile-context-engineering/workflows/review-story.xml +281 -281
- package/agile-context-engineering/workflows/update.xml +238 -207
- package/bin/install.js +8 -0
- package/commands/ace/execute-story.md +1 -0
- package/commands/ace/help.md +93 -93
- package/commands/ace/init-coding-standards.md +83 -83
- package/commands/ace/map-story.md +165 -156
- package/commands/ace/map-subsystem.md +140 -138
- package/commands/ace/map-system.md +92 -92
- package/commands/ace/map-walkthrough.md +127 -0
- package/commands/ace/plan-feature.md +89 -89
- package/commands/ace/plan-story.md +15 -1
- package/commands/ace/review-story.md +109 -109
- package/commands/ace/update.md +56 -54
- package/hooks/ace-check-update.js +62 -62
- package/hooks/ace-statusline.js +89 -89
- package/package.json +4 -3
|
@@ -1,281 +1,281 @@
|
|
|
1
|
-
<workflow>
|
|
2
|
-
|
|
3
|
-
<purpose>
|
|
4
|
-
Standalone code review for a story's implementation. The session executing this workflow
|
|
5
|
-
IS the code reviewer — it follows the instructions from ace-code-reviewer.md directly.
|
|
6
|
-
|
|
7
|
-
Loads story context (AC, Technical Solution, coding standards), identifies changed/created
|
|
8
|
-
files, performs 3-level artifact verification, anti-pattern detection, coding standards
|
|
9
|
-
enforcement, and tech debt discovery.
|
|
10
|
-
|
|
11
|
-
This is a read-only workflow — it does NOT modify code, only reports issues.
|
|
12
|
-
</purpose>
|
|
13
|
-
|
|
14
|
-
<agent>
|
|
15
|
-
This workflow uses the `ace-code-reviewer` agent.
|
|
16
|
-
The session executing this workflow IS the code reviewer — it follows the agent's
|
|
17
|
-
review process, checklist, stub detection patterns, dead code detection rules,
|
|
18
|
-
and report format directly. It does NOT spawn a separate agent.
|
|
19
|
-
</agent>
|
|
20
|
-
|
|
21
|
-
<mandatory-context>
|
|
22
|
-
Read all files referenced by the invoking command's execution-context before starting.
|
|
23
|
-
Also read any document or text passed as parameter ($ARGUMENTS) in the invoking command.
|
|
24
|
-
</mandatory-context>
|
|
25
|
-
|
|
26
|
-
<process>
|
|
27
|
-
|
|
28
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
29
|
-
<!-- STEP 1: INIT & VALIDATE -->
|
|
30
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
31
|
-
|
|
32
|
-
<step name="init-and-validate" order="1">
|
|
33
|
-
|
|
34
|
-
<substep order="1.1" name="parse-arguments">
|
|
35
|
-
Parse `$ARGUMENTS` to extract:
|
|
36
|
-
- `story` (REQUIRED): file path or GitHub URL/issue number
|
|
37
|
-
</substep>
|
|
38
|
-
|
|
39
|
-
<substep order="1.2" name="run-init">
|
|
40
|
-
Execute environment detection:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
INIT=$(node ~/.claude/agile-context-engineering/src/ace-tools.js init execute-story {story_param})
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Parse INIT JSON for:
|
|
47
|
-
- `has_git`, `has_gh_cli`, `github_project`
|
|
48
|
-
- `story_source`, `story_valid`, `story_error`, `story_content`
|
|
49
|
-
- `story` (id, title, status, size), `feature` (id, title), `epic` (id, title)
|
|
50
|
-
- `has_acceptance_criteria`, `acceptance_criteria_count`
|
|
51
|
-
- `has_technical_solution`, `has_wiki_refs`, `has_coding_standards`
|
|
52
|
-
- `paths.*`
|
|
53
|
-
</substep>
|
|
54
|
-
|
|
55
|
-
<substep order="1.3" name="display-banner">
|
|
56
|
-
```
|
|
57
|
-
╔══════════════════════════════════════════════════╗
|
|
58
|
-
║ ACE > Review Story ║
|
|
59
|
-
╚══════════════════════════════════════════════════╝
|
|
60
|
-
```
|
|
61
|
-
</substep>
|
|
62
|
-
|
|
63
|
-
<substep order="1.4" name="validate-story">
|
|
64
|
-
<validation-gate condition="INIT.story_valid is false">
|
|
65
|
-
Display `INIT.story_error` and STOP:
|
|
66
|
-
```
|
|
67
|
-
x {INIT.story_error}
|
|
68
|
-
Provide a valid story file path or GitHub issue.
|
|
69
|
-
```
|
|
70
|
-
</validation-gate>
|
|
71
|
-
|
|
72
|
-
<validation-gate condition="INIT.has_acceptance_criteria is false">
|
|
73
|
-
STOP:
|
|
74
|
-
```
|
|
75
|
-
x Story has no acceptance criteria.
|
|
76
|
-
Run /ace:plan-story first to define AC scenarios.
|
|
77
|
-
```
|
|
78
|
-
</validation-gate>
|
|
79
|
-
|
|
80
|
-
<validation-gate condition="INIT.has_technical_solution is false">
|
|
81
|
-
STOP:
|
|
82
|
-
```
|
|
83
|
-
x Story has no technical solution.
|
|
84
|
-
Run /ace:plan-story first to generate the technical solution.
|
|
85
|
-
```
|
|
86
|
-
</validation-gate>
|
|
87
|
-
</substep>
|
|
88
|
-
|
|
89
|
-
<substep order="1.5" name="display-context">
|
|
90
|
-
```
|
|
91
|
-
i Story: {INIT.story.id} — {INIT.story.title}
|
|
92
|
-
Feature: {INIT.feature.id} — {INIT.feature.title}
|
|
93
|
-
Status: {INIT.story.status} | Size: {INIT.story.size}
|
|
94
|
-
AC scenarios: {INIT.acceptance_criteria_count}
|
|
95
|
-
Coding standards: {INIT.has_coding_standards ? "available" : "not found"}
|
|
96
|
-
```
|
|
97
|
-
</substep>
|
|
98
|
-
|
|
99
|
-
</step>
|
|
100
|
-
|
|
101
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
102
|
-
<!-- STEP 2: LOAD REVIEW CONTEXT -->
|
|
103
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
104
|
-
|
|
105
|
-
<step name="load-context" order="2">
|
|
106
|
-
|
|
107
|
-
<substep order="2.1" name="read-story-sections">
|
|
108
|
-
Read `INIT.paths.story_file` and extract:
|
|
109
|
-
- **Acceptance Criteria** — Gherkin scenarios (what MUST be implemented)
|
|
110
|
-
- **Technical Solution** — component breakdown (what files SHOULD exist and what they do)
|
|
111
|
-
- **Out of Scope** — what should NOT have been built
|
|
112
|
-
</substep>
|
|
113
|
-
|
|
114
|
-
<substep order="2.2" name="read-coding-standards">
|
|
115
|
-
<variant condition="INIT.has_coding_standards is true">
|
|
116
|
-
Read `INIT.paths.coding_standards` — key rules for compliance checking.
|
|
117
|
-
</variant>
|
|
118
|
-
</substep>
|
|
119
|
-
|
|
120
|
-
<substep order="2.3" name="identify-changed-files">
|
|
121
|
-
Determine which files to review:
|
|
122
|
-
|
|
123
|
-
<variant condition="uncommitted changes exist">
|
|
124
|
-
```bash
|
|
125
|
-
git diff --name-only HEAD
|
|
126
|
-
git diff --cached --name-only
|
|
127
|
-
git status --short
|
|
128
|
-
```
|
|
129
|
-
Use changed files as the review scope.
|
|
130
|
-
</variant>
|
|
131
|
-
|
|
132
|
-
<variant condition="no uncommitted changes">
|
|
133
|
-
Use the Technical Solution's artifact list to identify expected files
|
|
134
|
-
and check their current state in the codebase.
|
|
135
|
-
</variant>
|
|
136
|
-
|
|
137
|
-
Display:
|
|
138
|
-
```
|
|
139
|
-
i Review scope: {count} files identified
|
|
140
|
-
```
|
|
141
|
-
</substep>
|
|
142
|
-
|
|
143
|
-
</step>
|
|
144
|
-
|
|
145
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
146
|
-
<!-- STEP 3: EXECUTE REVIEW -->
|
|
147
|
-
<!-- -->
|
|
148
|
-
<!-- The session IS the reviewer. Follow the review process from -->
|
|
149
|
-
<!-- ace-code-reviewer.md (the ace-code-reviewer agent). -->
|
|
150
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
151
|
-
|
|
152
|
-
<step name="execute-review" order="3">
|
|
153
|
-
|
|
154
|
-
<substep order="3.1" name="display-banner">
|
|
155
|
-
```
|
|
156
|
-
┌──────────────────────────────────────────────────┐
|
|
157
|
-
│ ACE > Review Story > Reviewing │
|
|
158
|
-
└──────────────────────────────────────────────────┘
|
|
159
|
-
```
|
|
160
|
-
</substep>
|
|
161
|
-
|
|
162
|
-
<substep order="3.2" name="3-level-artifact-verification">
|
|
163
|
-
For EACH artifact mentioned in the Technical Solution, perform the 3-level
|
|
164
|
-
verification as defined in ace-code-reviewer.md:
|
|
165
|
-
|
|
166
|
-
<level name="1-exists">
|
|
167
|
-
Verify the file exists at the expected path.
|
|
168
|
-
```bash
|
|
169
|
-
[ -f "path/to/file" ] && echo "FOUND" || echo "MISSING"
|
|
170
|
-
```
|
|
171
|
-
</level>
|
|
172
|
-
|
|
173
|
-
<level name="2-substantive">
|
|
174
|
-
Read each file. Check for stub patterns defined in ace-code-reviewer.md's
|
|
175
|
-
stub detection section. A substantive file has real logic, real data access,
|
|
176
|
-
real rendering — not placeholders, empty handlers, or static returns.
|
|
177
|
-
</level>
|
|
178
|
-
|
|
179
|
-
<level name="3-wired">
|
|
180
|
-
Verify each artifact is imported/referenced AND used by consuming code.
|
|
181
|
-
Adapt search patterns to the project's language (as documented in
|
|
182
|
-
ace-code-reviewer.md's Level 3 patterns).
|
|
183
|
-
</level>
|
|
184
|
-
|
|
185
|
-
Build the artifact status matrix (VERIFIED / ORPHANED / STUB / MISSING).
|
|
186
|
-
</substep>
|
|
187
|
-
|
|
188
|
-
<substep order="3.3" name="run-review-checklist">
|
|
189
|
-
Execute the full review checklist from ace-code-reviewer.md:
|
|
190
|
-
|
|
191
|
-
<blockers>
|
|
192
|
-
<check order="1">Dead code — unused imports, unreferenced functions, orphaned files</check>
|
|
193
|
-
<check order="2">Backwards-compatible shims — re-exports, deprecated wrappers, underscore renames</check>
|
|
194
|
-
<check order="3">Stub implementations — empty returns, placeholder content, no-op handlers</check>
|
|
195
|
-
<check order="4">TODO/FIXME/HACK/PLACEHOLDER/XXX comments in new/modified code</check>
|
|
196
|
-
<check order="5">Hardcoded values — magic numbers, hardcoded URLs, embedded credentials</check>
|
|
197
|
-
<check order="6">Missing error handling — uncaught exceptions, unchecked responses</check>
|
|
198
|
-
<check order="7">AC coverage gaps — verify EACH Gherkin scenario is implemented</check>
|
|
199
|
-
<check order="8">Coding standards violations — mandatory check if standards available</check>
|
|
200
|
-
</blockers>
|
|
201
|
-
|
|
202
|
-
<warnings>
|
|
203
|
-
<check order="9">Console/debug logging left behind</check>
|
|
204
|
-
<check order="10">Missing tests for new functionality</check>
|
|
205
|
-
<check order="11">Out of scope work — code NOT in the AC</check>
|
|
206
|
-
</warnings>
|
|
207
|
-
|
|
208
|
-
Use grep, file reads, and code analysis as described in ace-code-reviewer.md's
|
|
209
|
-
dead code detection and stub detection sections.
|
|
210
|
-
</substep>
|
|
211
|
-
|
|
212
|
-
<substep order="3.4" name="discover-tech-debt">
|
|
213
|
-
While reviewing, note pre-existing tech debt in files TOUCHED by this story.
|
|
214
|
-
Follow the tech debt discovery rules from ace-code-reviewer.md:
|
|
215
|
-
|
|
216
|
-
<rules>
|
|
217
|
-
<rule>Only flag debt in EXISTING code, not new code (new code issues are blockers)</rule>
|
|
218
|
-
<rule>Record: file, subsystem, description, severity, discovering story</rule>
|
|
219
|
-
<rule>Severity: high (security/data loss), medium (quality/maintainability), low (cosmetic)</rule>
|
|
220
|
-
</rules>
|
|
221
|
-
|
|
222
|
-
Output tech debt in YAML format as defined in ace-code-reviewer.md.
|
|
223
|
-
</substep>
|
|
224
|
-
|
|
225
|
-
</step>
|
|
226
|
-
|
|
227
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
228
|
-
<!-- STEP 4: PRESENT RESULTS -->
|
|
229
|
-
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
230
|
-
|
|
231
|
-
<step name="present-results" order="4">
|
|
232
|
-
Display the structured review report following ace-code-reviewer.md's report format:
|
|
233
|
-
|
|
234
|
-
```
|
|
235
|
-
╔══════════════════════════════════════════════════╗
|
|
236
|
-
║ ACE > Story Reviewed ║
|
|
237
|
-
║ {INIT.story.id} "{INIT.story.title}" ║
|
|
238
|
-
╚══════════════════════════════════════════════════╝
|
|
239
|
-
|
|
240
|
-
{✓ or x} Review complete.
|
|
241
|
-
|
|
242
|
-
Status: {passed | issues_found}
|
|
243
|
-
Blockers: {count}
|
|
244
|
-
Warnings: {count}
|
|
245
|
-
Files reviewed: {count}
|
|
246
|
-
Artifacts verified: {passed}/{total} (3-level)
|
|
247
|
-
AC coverage: {covered}/{total} scenarios
|
|
248
|
-
Tech debt discovered: {count} items
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
Then display the full report sections:
|
|
252
|
-
- Blockers list (if any) — file:line, description, severity, suggested fix
|
|
253
|
-
- Warnings list (if any) — file:line, description, severity, suggested fix
|
|
254
|
-
- Artifact verification matrix
|
|
255
|
-
- AC coverage matrix
|
|
256
|
-
- Tech debt YAML (if any)
|
|
257
|
-
</step>
|
|
258
|
-
|
|
259
|
-
</process>
|
|
260
|
-
|
|
261
|
-
<success_criteria>
|
|
262
|
-
<criterion>Init function executed (environment detected, story validated)</criterion>
|
|
263
|
-
<criterion>Acceptance criteria present — STOPPED if missing</criterion>
|
|
264
|
-
<criterion>Technical solution present — STOPPED if missing</criterion>
|
|
265
|
-
<criterion>Story sections extracted (AC, Technical Solution, Out of Scope)</criterion>
|
|
266
|
-
<criterion>Coding standards loaded if available</criterion>
|
|
267
|
-
<criterion>Review scope identified (changed files or technical solution artifacts)</criterion>
|
|
268
|
-
<criterion>3-level artifact verification completed for EVERY artifact in Technical Solution</criterion>
|
|
269
|
-
<criterion>Full review checklist executed (8 blocker checks, 3 warning checks)</criterion>
|
|
270
|
-
<criterion>Dead code detection run on all changed files</criterion>
|
|
271
|
-
<criterion>Stub detection run on all changed files</criterion>
|
|
272
|
-
<criterion>Coding standards compliance checked if standards available</criterion>
|
|
273
|
-
<criterion>AC coverage verified — every Gherkin scenario checked</criterion>
|
|
274
|
-
<criterion>Tech debt in existing code discovered and reported in YAML format</criterion>
|
|
275
|
-
<criterion>Structured report displayed following ace-code-reviewer report format</criterion>
|
|
276
|
-
<criterion>Completion banner with summary stats displayed</criterion>
|
|
277
|
-
<criterion>Next steps displayed</criterion>
|
|
278
|
-
<criterion>No code modifications made (read-only review)</criterion>
|
|
279
|
-
</success_criteria>
|
|
280
|
-
|
|
281
|
-
</workflow>
|
|
1
|
+
<workflow>
|
|
2
|
+
|
|
3
|
+
<purpose>
|
|
4
|
+
Standalone code review for a story's implementation. The session executing this workflow
|
|
5
|
+
IS the code reviewer — it follows the instructions from ace-code-reviewer.md directly.
|
|
6
|
+
|
|
7
|
+
Loads story context (AC, Technical Solution, coding standards), identifies changed/created
|
|
8
|
+
files, performs 3-level artifact verification, anti-pattern detection, coding standards
|
|
9
|
+
enforcement, and tech debt discovery.
|
|
10
|
+
|
|
11
|
+
This is a read-only workflow — it does NOT modify code, only reports issues.
|
|
12
|
+
</purpose>
|
|
13
|
+
|
|
14
|
+
<agent>
|
|
15
|
+
This workflow uses the `ace-code-reviewer` agent.
|
|
16
|
+
The session executing this workflow IS the code reviewer — it follows the agent's
|
|
17
|
+
review process, checklist, stub detection patterns, dead code detection rules,
|
|
18
|
+
and report format directly. It does NOT spawn a separate agent.
|
|
19
|
+
</agent>
|
|
20
|
+
|
|
21
|
+
<mandatory-context>
|
|
22
|
+
Read all files referenced by the invoking command's execution-context before starting.
|
|
23
|
+
Also read any document or text passed as parameter ($ARGUMENTS) in the invoking command.
|
|
24
|
+
</mandatory-context>
|
|
25
|
+
|
|
26
|
+
<process>
|
|
27
|
+
|
|
28
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
29
|
+
<!-- STEP 1: INIT & VALIDATE -->
|
|
30
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
31
|
+
|
|
32
|
+
<step name="init-and-validate" order="1">
|
|
33
|
+
|
|
34
|
+
<substep order="1.1" name="parse-arguments">
|
|
35
|
+
Parse `$ARGUMENTS` to extract:
|
|
36
|
+
- `story` (REQUIRED): file path or GitHub URL/issue number
|
|
37
|
+
</substep>
|
|
38
|
+
|
|
39
|
+
<substep order="1.2" name="run-init">
|
|
40
|
+
Execute environment detection:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
INIT=$(node ~/.claude/agile-context-engineering/src/ace-tools.js init execute-story {story_param})
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Parse INIT JSON for:
|
|
47
|
+
- `has_git`, `has_gh_cli`, `github_project`
|
|
48
|
+
- `story_source`, `story_valid`, `story_error`, `story_content`
|
|
49
|
+
- `story` (id, title, status, size), `feature` (id, title), `epic` (id, title)
|
|
50
|
+
- `has_acceptance_criteria`, `acceptance_criteria_count`
|
|
51
|
+
- `has_technical_solution`, `has_wiki_refs`, `has_coding_standards`
|
|
52
|
+
- `paths.*`
|
|
53
|
+
</substep>
|
|
54
|
+
|
|
55
|
+
<substep order="1.3" name="display-banner">
|
|
56
|
+
```
|
|
57
|
+
╔══════════════════════════════════════════════════╗
|
|
58
|
+
║ ACE > Review Story ║
|
|
59
|
+
╚══════════════════════════════════════════════════╝
|
|
60
|
+
```
|
|
61
|
+
</substep>
|
|
62
|
+
|
|
63
|
+
<substep order="1.4" name="validate-story">
|
|
64
|
+
<validation-gate condition="INIT.story_valid is false">
|
|
65
|
+
Display `INIT.story_error` and STOP:
|
|
66
|
+
```
|
|
67
|
+
x {INIT.story_error}
|
|
68
|
+
Provide a valid story file path or GitHub issue.
|
|
69
|
+
```
|
|
70
|
+
</validation-gate>
|
|
71
|
+
|
|
72
|
+
<validation-gate condition="INIT.has_acceptance_criteria is false">
|
|
73
|
+
STOP:
|
|
74
|
+
```
|
|
75
|
+
x Story has no acceptance criteria.
|
|
76
|
+
Run /ace:plan-story first to define AC scenarios.
|
|
77
|
+
```
|
|
78
|
+
</validation-gate>
|
|
79
|
+
|
|
80
|
+
<validation-gate condition="INIT.has_technical_solution is false">
|
|
81
|
+
STOP:
|
|
82
|
+
```
|
|
83
|
+
x Story has no technical solution.
|
|
84
|
+
Run /ace:plan-story first to generate the technical solution.
|
|
85
|
+
```
|
|
86
|
+
</validation-gate>
|
|
87
|
+
</substep>
|
|
88
|
+
|
|
89
|
+
<substep order="1.5" name="display-context">
|
|
90
|
+
```
|
|
91
|
+
i Story: {INIT.story.id} — {INIT.story.title}
|
|
92
|
+
Feature: {INIT.feature.id} — {INIT.feature.title}
|
|
93
|
+
Status: {INIT.story.status} | Size: {INIT.story.size}
|
|
94
|
+
AC scenarios: {INIT.acceptance_criteria_count}
|
|
95
|
+
Coding standards: {INIT.has_coding_standards ? "available" : "not found"}
|
|
96
|
+
```
|
|
97
|
+
</substep>
|
|
98
|
+
|
|
99
|
+
</step>
|
|
100
|
+
|
|
101
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
102
|
+
<!-- STEP 2: LOAD REVIEW CONTEXT -->
|
|
103
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
104
|
+
|
|
105
|
+
<step name="load-context" order="2">
|
|
106
|
+
|
|
107
|
+
<substep order="2.1" name="read-story-sections">
|
|
108
|
+
Read `INIT.paths.story_file` and extract:
|
|
109
|
+
- **Acceptance Criteria** — Gherkin scenarios (what MUST be implemented)
|
|
110
|
+
- **Technical Solution** — component breakdown (what files SHOULD exist and what they do)
|
|
111
|
+
- **Out of Scope** — what should NOT have been built
|
|
112
|
+
</substep>
|
|
113
|
+
|
|
114
|
+
<substep order="2.2" name="read-coding-standards">
|
|
115
|
+
<variant condition="INIT.has_coding_standards is true">
|
|
116
|
+
Read `INIT.paths.coding_standards` — key rules for compliance checking.
|
|
117
|
+
</variant>
|
|
118
|
+
</substep>
|
|
119
|
+
|
|
120
|
+
<substep order="2.3" name="identify-changed-files">
|
|
121
|
+
Determine which files to review:
|
|
122
|
+
|
|
123
|
+
<variant condition="uncommitted changes exist">
|
|
124
|
+
```bash
|
|
125
|
+
git diff --name-only HEAD
|
|
126
|
+
git diff --cached --name-only
|
|
127
|
+
git status --short
|
|
128
|
+
```
|
|
129
|
+
Use changed files as the review scope.
|
|
130
|
+
</variant>
|
|
131
|
+
|
|
132
|
+
<variant condition="no uncommitted changes">
|
|
133
|
+
Use the Technical Solution's artifact list to identify expected files
|
|
134
|
+
and check their current state in the codebase.
|
|
135
|
+
</variant>
|
|
136
|
+
|
|
137
|
+
Display:
|
|
138
|
+
```
|
|
139
|
+
i Review scope: {count} files identified
|
|
140
|
+
```
|
|
141
|
+
</substep>
|
|
142
|
+
|
|
143
|
+
</step>
|
|
144
|
+
|
|
145
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
146
|
+
<!-- STEP 3: EXECUTE REVIEW -->
|
|
147
|
+
<!-- -->
|
|
148
|
+
<!-- The session IS the reviewer. Follow the review process from -->
|
|
149
|
+
<!-- ace-code-reviewer.md (the ace-code-reviewer agent). -->
|
|
150
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
151
|
+
|
|
152
|
+
<step name="execute-review" order="3">
|
|
153
|
+
|
|
154
|
+
<substep order="3.1" name="display-banner">
|
|
155
|
+
```
|
|
156
|
+
┌──────────────────────────────────────────────────┐
|
|
157
|
+
│ ACE > Review Story > Reviewing │
|
|
158
|
+
└──────────────────────────────────────────────────┘
|
|
159
|
+
```
|
|
160
|
+
</substep>
|
|
161
|
+
|
|
162
|
+
<substep order="3.2" name="3-level-artifact-verification">
|
|
163
|
+
For EACH artifact mentioned in the Technical Solution, perform the 3-level
|
|
164
|
+
verification as defined in ace-code-reviewer.md:
|
|
165
|
+
|
|
166
|
+
<level name="1-exists">
|
|
167
|
+
Verify the file exists at the expected path.
|
|
168
|
+
```bash
|
|
169
|
+
[ -f "path/to/file" ] && echo "FOUND" || echo "MISSING"
|
|
170
|
+
```
|
|
171
|
+
</level>
|
|
172
|
+
|
|
173
|
+
<level name="2-substantive">
|
|
174
|
+
Read each file. Check for stub patterns defined in ace-code-reviewer.md's
|
|
175
|
+
stub detection section. A substantive file has real logic, real data access,
|
|
176
|
+
real rendering — not placeholders, empty handlers, or static returns.
|
|
177
|
+
</level>
|
|
178
|
+
|
|
179
|
+
<level name="3-wired">
|
|
180
|
+
Verify each artifact is imported/referenced AND used by consuming code.
|
|
181
|
+
Adapt search patterns to the project's language (as documented in
|
|
182
|
+
ace-code-reviewer.md's Level 3 patterns).
|
|
183
|
+
</level>
|
|
184
|
+
|
|
185
|
+
Build the artifact status matrix (VERIFIED / ORPHANED / STUB / MISSING).
|
|
186
|
+
</substep>
|
|
187
|
+
|
|
188
|
+
<substep order="3.3" name="run-review-checklist">
|
|
189
|
+
Execute the full review checklist from ace-code-reviewer.md:
|
|
190
|
+
|
|
191
|
+
<blockers>
|
|
192
|
+
<check order="1">Dead code — unused imports, unreferenced functions, orphaned files</check>
|
|
193
|
+
<check order="2">Backwards-compatible shims — re-exports, deprecated wrappers, underscore renames</check>
|
|
194
|
+
<check order="3">Stub implementations — empty returns, placeholder content, no-op handlers</check>
|
|
195
|
+
<check order="4">TODO/FIXME/HACK/PLACEHOLDER/XXX comments in new/modified code</check>
|
|
196
|
+
<check order="5">Hardcoded values — magic numbers, hardcoded URLs, embedded credentials</check>
|
|
197
|
+
<check order="6">Missing error handling — uncaught exceptions, unchecked responses</check>
|
|
198
|
+
<check order="7">AC coverage gaps — verify EACH Gherkin scenario is implemented</check>
|
|
199
|
+
<check order="8">Coding standards violations — mandatory check if standards available</check>
|
|
200
|
+
</blockers>
|
|
201
|
+
|
|
202
|
+
<warnings>
|
|
203
|
+
<check order="9">Console/debug logging left behind</check>
|
|
204
|
+
<check order="10">Missing tests for new functionality</check>
|
|
205
|
+
<check order="11">Out of scope work — code NOT in the AC</check>
|
|
206
|
+
</warnings>
|
|
207
|
+
|
|
208
|
+
Use grep, file reads, and code analysis as described in ace-code-reviewer.md's
|
|
209
|
+
dead code detection and stub detection sections.
|
|
210
|
+
</substep>
|
|
211
|
+
|
|
212
|
+
<substep order="3.4" name="discover-tech-debt">
|
|
213
|
+
While reviewing, note pre-existing tech debt in files TOUCHED by this story.
|
|
214
|
+
Follow the tech debt discovery rules from ace-code-reviewer.md:
|
|
215
|
+
|
|
216
|
+
<rules>
|
|
217
|
+
<rule>Only flag debt in EXISTING code, not new code (new code issues are blockers)</rule>
|
|
218
|
+
<rule>Record: file, subsystem, description, severity, discovering story</rule>
|
|
219
|
+
<rule>Severity: high (security/data loss), medium (quality/maintainability), low (cosmetic)</rule>
|
|
220
|
+
</rules>
|
|
221
|
+
|
|
222
|
+
Output tech debt in YAML format as defined in ace-code-reviewer.md.
|
|
223
|
+
</substep>
|
|
224
|
+
|
|
225
|
+
</step>
|
|
226
|
+
|
|
227
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
228
|
+
<!-- STEP 4: PRESENT RESULTS -->
|
|
229
|
+
<!-- ══════════════════════════════════════════════════════════════════ -->
|
|
230
|
+
|
|
231
|
+
<step name="present-results" order="4">
|
|
232
|
+
Display the structured review report following ace-code-reviewer.md's report format:
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
╔══════════════════════════════════════════════════╗
|
|
236
|
+
║ ACE > Story Reviewed ║
|
|
237
|
+
║ {INIT.story.id} "{INIT.story.title}" ║
|
|
238
|
+
╚══════════════════════════════════════════════════╝
|
|
239
|
+
|
|
240
|
+
{✓ or x} Review complete.
|
|
241
|
+
|
|
242
|
+
Status: {passed | issues_found}
|
|
243
|
+
Blockers: {count}
|
|
244
|
+
Warnings: {count}
|
|
245
|
+
Files reviewed: {count}
|
|
246
|
+
Artifacts verified: {passed}/{total} (3-level)
|
|
247
|
+
AC coverage: {covered}/{total} scenarios
|
|
248
|
+
Tech debt discovered: {count} items
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
Then display the full report sections:
|
|
252
|
+
- Blockers list (if any) — file:line, description, severity, suggested fix
|
|
253
|
+
- Warnings list (if any) — file:line, description, severity, suggested fix
|
|
254
|
+
- Artifact verification matrix
|
|
255
|
+
- AC coverage matrix
|
|
256
|
+
- Tech debt YAML (if any)
|
|
257
|
+
</step>
|
|
258
|
+
|
|
259
|
+
</process>
|
|
260
|
+
|
|
261
|
+
<success_criteria>
|
|
262
|
+
<criterion>Init function executed (environment detected, story validated)</criterion>
|
|
263
|
+
<criterion>Acceptance criteria present — STOPPED if missing</criterion>
|
|
264
|
+
<criterion>Technical solution present — STOPPED if missing</criterion>
|
|
265
|
+
<criterion>Story sections extracted (AC, Technical Solution, Out of Scope)</criterion>
|
|
266
|
+
<criterion>Coding standards loaded if available</criterion>
|
|
267
|
+
<criterion>Review scope identified (changed files or technical solution artifacts)</criterion>
|
|
268
|
+
<criterion>3-level artifact verification completed for EVERY artifact in Technical Solution</criterion>
|
|
269
|
+
<criterion>Full review checklist executed (8 blocker checks, 3 warning checks)</criterion>
|
|
270
|
+
<criterion>Dead code detection run on all changed files</criterion>
|
|
271
|
+
<criterion>Stub detection run on all changed files</criterion>
|
|
272
|
+
<criterion>Coding standards compliance checked if standards available</criterion>
|
|
273
|
+
<criterion>AC coverage verified — every Gherkin scenario checked</criterion>
|
|
274
|
+
<criterion>Tech debt in existing code discovered and reported in YAML format</criterion>
|
|
275
|
+
<criterion>Structured report displayed following ace-code-reviewer report format</criterion>
|
|
276
|
+
<criterion>Completion banner with summary stats displayed</criterion>
|
|
277
|
+
<criterion>Next steps displayed</criterion>
|
|
278
|
+
<criterion>No code modifications made (read-only review)</criterion>
|
|
279
|
+
</success_criteria>
|
|
280
|
+
|
|
281
|
+
</workflow>
|