@anhth2/spec-driven-dev-plugin 0.10.0 → 0.12.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/commands/debug.md +43 -8
- package/commands/define-product.md +43 -8
- package/commands/dev-gen-test.md +44 -9
- package/commands/dev-gen-test.tmpl +1 -1
- package/commands/dev-run-test.md +48 -10
- package/commands/dev-run-test.tmpl +5 -2
- package/commands/dev-smoke-test.md +43 -8
- package/commands/fix-bug.md +79 -14
- package/commands/fix-bug.tmpl +36 -6
- package/commands/generate-bdd.md +49 -10
- package/commands/generate-bdd.tmpl +6 -2
- package/commands/generate-code.md +44 -9
- package/commands/generate-code.tmpl +1 -1
- package/commands/generate-design-spec.md +43 -8
- package/commands/generate-prd.md +43 -8
- package/commands/generate-spec-manifest.md +43 -8
- package/commands/generate-tech-docs.md +43 -8
- package/commands/learn.md +43 -8
- package/commands/propose-scenario.md +74 -19
- package/commands/propose-scenario.tmpl +31 -11
- package/commands/qc-analyze.md +534 -0
- package/commands/qc-analyze.tmpl +86 -0
- package/commands/qc-design-test.md +515 -0
- package/commands/qc-design-test.tmpl +67 -0
- package/commands/qc-plan.md +497 -0
- package/commands/qc-plan.tmpl +49 -0
- package/commands/qc-report.md +508 -0
- package/commands/qc-report.tmpl +60 -0
- package/commands/qc-review.md +501 -0
- package/commands/qc-review.tmpl +53 -0
- package/commands/qc-run-test.md +549 -0
- package/commands/qc-run-test.tmpl +83 -0
- package/commands/refine-prd.md +43 -8
- package/commands/report-bug.md +59 -10
- package/commands/report-bug.tmpl +16 -2
- package/commands/review-code.md +43 -8
- package/commands/review-context.md +43 -8
- package/commands/review-tech-docs.md +43 -8
- package/commands/setup-ai-first.md +7 -0
- package/commands/sync.md +19 -9
- package/commands/sync.tmpl +12 -9
- package/commands/update-framework.md +7 -0
- package/commands/validate-traces.md +67 -12
- package/commands/validate-traces.tmpl +24 -4
- package/core/FRAMEWORK_VERSION +1 -1
- package/core/commands/debug.md +43 -8
- package/core/commands/define-product.md +43 -8
- package/core/commands/dev-gen-test.md +44 -9
- package/core/commands/dev-run-test.md +48 -10
- package/core/commands/dev-smoke-test.md +43 -8
- package/core/commands/fix-bug.md +79 -14
- package/core/commands/generate-bdd.md +49 -10
- package/core/commands/generate-code.md +44 -9
- package/core/commands/generate-design-spec.md +43 -8
- package/core/commands/generate-prd.md +43 -8
- package/core/commands/generate-spec-manifest.md +43 -8
- package/core/commands/generate-tech-docs.md +43 -8
- package/core/commands/learn.md +43 -8
- package/core/commands/propose-scenario.md +74 -19
- package/core/commands/qc-analyze.md +534 -0
- package/core/commands/qc-design-test.md +515 -0
- package/core/commands/qc-plan.md +497 -0
- package/core/commands/qc-report.md +508 -0
- package/core/commands/qc-review.md +501 -0
- package/core/commands/qc-run-test.md +549 -0
- package/core/commands/refine-prd.md +43 -8
- package/core/commands/report-bug.md +59 -10
- package/core/commands/review-code.md +43 -8
- package/core/commands/review-context.md +43 -8
- package/core/commands/review-tech-docs.md +43 -8
- package/core/commands/setup-ai-first.md +7 -0
- package/core/commands/sync.md +19 -9
- package/core/commands/update-framework.md +7 -0
- package/core/commands/validate-traces.md +67 -12
- package/core/modules/qc-playwright/stack-profile.yaml +65 -0
- package/core/skills/code/SKILL.md +50 -8
- package/core/skills/debug/SKILL.md +57 -8
- package/core/skills/design-spec/SKILL.md +43 -8
- package/core/skills/discovery/SKILL.md +43 -8
- package/core/skills/prd/SKILL.md +14 -0
- package/core/skills/qc/qa-analyst/DOC_GAPS.template.md +63 -0
- package/core/skills/qc/qa-analyst/acceptance-criteria.md +60 -0
- package/core/skills/qc/qa-analyst/business-rules.md +59 -0
- package/core/skills/qc/qa-analyst/data-flow.md +64 -0
- package/core/skills/qc/qa-analyst/spec-breakdown.md +61 -0
- package/core/skills/qc/qa-designer/e2e/journey.md +41 -0
- package/core/skills/qc/qa-designer/exploratory/charter.md +68 -0
- package/core/skills/qc/qa-designer/exploratory/explore-to-functional.md +43 -0
- package/core/skills/qc/qa-designer/functional/api.md +45 -0
- package/core/skills/qc/qa-designer/functional/gui-feature.md +46 -0
- package/core/skills/qc/qa-designer/functional/gui-screen.md +52 -0
- package/core/skills/qc/qa-designer/integration/api.md +42 -0
- package/core/skills/qc/qa-designer/integration/db.md +39 -0
- package/core/skills/qc/qa-designer/integration/gui.md +40 -0
- package/core/skills/qc/qa-designer/integration/kafka.md +40 -0
- package/core/skills/qc/qa-designer/non-functional.md +40 -0
- package/core/skills/qc/qa-planner/test-plan.md +120 -0
- package/core/skills/qc/qa-reviewer/script/e2e.md +87 -0
- package/core/skills/qc/qa-reviewer/script/exploratory.md +45 -0
- package/core/skills/qc/qa-reviewer/script/functional.md +101 -0
- package/core/skills/qc/qa-reviewer/script/integration.md +91 -0
- package/core/skills/qc/qa-reviewer/script/non-functional.md +126 -0
- package/core/skills/qc/qa-reviewer/test-case/e2e.md +73 -0
- package/core/skills/qc/qa-reviewer/test-case/exploratory.md +43 -0
- package/core/skills/qc/qa-reviewer/test-case/functional.md +76 -0
- package/core/skills/qc/qa-reviewer/test-case/integration.md +69 -0
- package/core/skills/qc/qa-reviewer/test-case/non-functional.md +73 -0
- package/core/skills/qc/qa-runner/e2e.md +49 -0
- package/core/skills/qc/qa-runner/exploratory/session.md +36 -0
- package/core/skills/qc/qa-runner/functional/api.md +35 -0
- package/core/skills/qc/qa-runner/functional/gui-feature.md +51 -0
- package/core/skills/qc/qa-runner/functional/gui-screen.md +55 -0
- package/core/skills/qc/qa-runner/integration.md +47 -0
- package/core/skills/qc/qa-runner/non-functional.md +49 -0
- package/core/skills/qc/qa-runner/report/report.md +37 -0
- package/core/skills/setup-ai-first/SKILL.md +7 -0
- package/core/skills/spec/SKILL.md +14 -0
- package/core/skills/test/SKILL.md +93 -16
- package/core/steps/context-loader.md +36 -8
- package/core/steps/report-footer.md +7 -0
- package/core/templates/project-context.yaml +27 -1
- package/docs/01-getting-started/README.md +19 -0
- package/docs/01-getting-started/core-concepts.md +102 -0
- package/docs/01-getting-started/installation.md +156 -0
- package/docs/01-getting-started/quickstart.md +85 -0
- package/docs/02-guides/README.md +27 -0
- package/docs/02-guides/developer/README.md +46 -0
- package/docs/02-guides/developer/bdd-and-trace.md +123 -0
- package/docs/02-guides/developer/commands.md +76 -0
- package/docs/02-guides/developer/pr-checklist.md +15 -0
- package/docs/02-guides/developer/scenarios.md +448 -0
- package/docs/02-guides/developer/workflow.md +61 -0
- package/docs/02-guides/product-owner/README.md +77 -0
- package/docs/02-guides/product-owner/commands.md +30 -0
- package/docs/02-guides/product-owner/handoff-checklist.md +42 -0
- package/docs/02-guides/product-owner/prd-writing-rules.md +45 -0
- package/docs/02-guides/product-owner/scenarios.md +357 -0
- package/docs/02-guides/qc-automation.md +157 -0
- package/docs/02-guides/tester/README.md +74 -0
- package/docs/02-guides/tester/bug-reporting.md +117 -0
- package/docs/02-guides/tester/reading-specs.md +79 -0
- package/docs/02-guides/tester/scenarios.md +186 -0
- package/docs/02-guides/tester/spec-manifest.md +124 -0
- package/docs/02-guides/tester/test-checklist.md +31 -0
- package/docs/02-guides/tester/workflow.md +80 -0
- package/docs/03-concepts/README.md +19 -0
- package/docs/03-concepts/architecture.md +245 -0
- package/docs/03-concepts/pipeline.md +262 -0
- package/docs/03-concepts/traceability.md +149 -0
- package/docs/04-operations/README.md +33 -0
- package/docs/04-operations/bug-flow.md +362 -0
- package/docs/04-operations/publishing.md +137 -0
- package/docs/04-operations/sync-and-update.md +365 -0
- package/docs/05-reference/README.md +29 -0
- package/docs/05-reference/commands.md +229 -0
- package/docs/05-reference/modules.md +110 -0
- package/docs/05-reference/trace-schema.md +152 -0
- package/docs/README.md +51 -0
- package/modules/qc-playwright/stack-profile.yaml +65 -0
- package/package.json +2 -2
- package/skills/code/SKILL.md +50 -8
- package/skills/debug/SKILL.md +57 -8
- package/skills/design-spec/SKILL.md +43 -8
- package/skills/discovery/SKILL.md +43 -8
- package/skills/prd/SKILL.md +14 -0
- package/skills/qc/qa-analyst/DOC_GAPS.template.md +63 -0
- package/skills/qc/qa-analyst/acceptance-criteria.md +60 -0
- package/skills/qc/qa-analyst/business-rules.md +59 -0
- package/skills/qc/qa-analyst/data-flow.md +64 -0
- package/skills/qc/qa-analyst/spec-breakdown.md +61 -0
- package/skills/qc/qa-designer/e2e/journey.md +41 -0
- package/skills/qc/qa-designer/exploratory/charter.md +68 -0
- package/skills/qc/qa-designer/exploratory/explore-to-functional.md +43 -0
- package/skills/qc/qa-designer/functional/api.md +45 -0
- package/skills/qc/qa-designer/functional/gui-feature.md +46 -0
- package/skills/qc/qa-designer/functional/gui-screen.md +52 -0
- package/skills/qc/qa-designer/integration/api.md +42 -0
- package/skills/qc/qa-designer/integration/db.md +39 -0
- package/skills/qc/qa-designer/integration/gui.md +40 -0
- package/skills/qc/qa-designer/integration/kafka.md +40 -0
- package/skills/qc/qa-designer/non-functional.md +40 -0
- package/skills/qc/qa-planner/test-plan.md +120 -0
- package/skills/qc/qa-reviewer/script/e2e.md +87 -0
- package/skills/qc/qa-reviewer/script/exploratory.md +45 -0
- package/skills/qc/qa-reviewer/script/functional.md +101 -0
- package/skills/qc/qa-reviewer/script/integration.md +91 -0
- package/skills/qc/qa-reviewer/script/non-functional.md +126 -0
- package/skills/qc/qa-reviewer/test-case/e2e.md +73 -0
- package/skills/qc/qa-reviewer/test-case/exploratory.md +43 -0
- package/skills/qc/qa-reviewer/test-case/functional.md +76 -0
- package/skills/qc/qa-reviewer/test-case/integration.md +69 -0
- package/skills/qc/qa-reviewer/test-case/non-functional.md +73 -0
- package/skills/qc/qa-runner/e2e.md +49 -0
- package/skills/qc/qa-runner/exploratory/session.md +36 -0
- package/skills/qc/qa-runner/functional/api.md +35 -0
- package/skills/qc/qa-runner/functional/gui-feature.md +51 -0
- package/skills/qc/qa-runner/functional/gui-screen.md +55 -0
- package/skills/qc/qa-runner/integration.md +47 -0
- package/skills/qc/qa-runner/non-functional.md +49 -0
- package/skills/qc/qa-runner/report/report.md +37 -0
- package/skills/setup-ai-first/SKILL.md +7 -0
- package/skills/spec/SKILL.md +14 -0
- package/skills/test/SKILL.md +93 -16
- package/steps/context-loader.md +36 -8
- package/steps/report-footer.md +7 -0
- package/templates/project-context.yaml +27 -1
- package/ARCHITECTURE.md +0 -258
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
# /propose-scenario — Propose a New BDD Scenario (Tester-Facing)
|
|
1
|
+
# /propose-scenario — Propose a New BDD Scenario (Tester & QC-Facing)
|
|
2
2
|
|
|
3
|
-
For **testers** who discover an edge case not covered by existing BDD.
|
|
4
|
-
into a **proposals area** for
|
|
3
|
+
For **testers and QC** who discover an edge case not covered by existing BDD (e.g. a `DOC_GAPS`
|
|
4
|
+
missing-coverage gap from `/qc-analyze`). Drafts a Gherkin scenario into a **proposals area** for
|
|
5
|
+
PO/Dev to review and promote.
|
|
5
6
|
|
|
6
7
|
**Does NOT edit the canonical `.feature` file.** BDD is owned by PO/Dev — this command only writes
|
|
7
8
|
a proposal. Promotion into the real BDD is a PO/Dev action.
|
|
@@ -134,6 +135,8 @@ Read `.agent/project-context.yaml`. Extract and store:
|
|
|
134
135
|
- `paths.specs_dir` → BDD specs root
|
|
135
136
|
- `paths.prd_dir` → PRD documents root
|
|
136
137
|
- `paths.refinement_dir` → findings/review output dir
|
|
138
|
+
- `paths.qc_dir` → QC automation artifacts root (visible top-level, one subfolder per UC: `{qc_dir}/{UC-ID}/`)
|
|
139
|
+
- `paths.qc_skills_dir` → where qc-* commands load QC skills from (default bundled `.agent/skills/qc`; override to the QC team's own repo/submodule so framework upgrade won't overwrite them)
|
|
137
140
|
- `paths.product_definitions_dir` → product definitions root
|
|
138
141
|
- `paths.domain_knowledge_dir` → domain knowledge root
|
|
139
142
|
- `paths.business_dictionary` → path to business-dictionary.md
|
|
@@ -146,6 +149,8 @@ If `paths` section is absent, use these defaults:
|
|
|
146
149
|
- `specs_dir` = `specs/bdd`
|
|
147
150
|
- `prd_dir` = `specs/prd`
|
|
148
151
|
- `refinement_dir` = `.agent/review`
|
|
152
|
+
- `qc_dir` = `docs`
|
|
153
|
+
- `qc_skills_dir` = `.agent/skills/qc`
|
|
149
154
|
- `product_definitions_dir` = `specs/product-definition`
|
|
150
155
|
- `domain_knowledge_dir` = `specs/domain-knowledge`
|
|
151
156
|
- `business_dictionary` = `specs/domain-knowledge/business-dictionary.md`
|
|
@@ -190,6 +195,7 @@ If `services` section is present:
|
|
|
190
195
|
- Override `paths.core_entities` → `{spec_source}/specs/domain-knowledge/core-entities.md`
|
|
191
196
|
- Override `paths.bug_reports_dir` → `{spec_source}/feedback/bug-reports`
|
|
192
197
|
- Override `paths.bdd_proposals_dir` → `{spec_source}/feedback/bdd-proposals`
|
|
198
|
+
- Override `paths.prd_change_requests_dir` → `{spec_source}/feedback/prd-change-requests`
|
|
193
199
|
|
|
194
200
|
> **Why under `spec_source`:** PRD, design-spec, domain knowledge, the **API contract (tech-docs)**, and tester feedback are all **cross-team artifacts** — they must live in the **shared spec repo** so every umbrella (FE/App/BE) reads the same source via `/sync`. Tech-docs specifically: BE authors the tech-design (API contract), commits + pushes it into the spec submodule (2-layer commit), and FE/App pull it on their next `/sync` to wire the real API in `/generate-code --phase=integration`. In single-service mode (no `spec_source`), these default under the repo root — still shared, same repo.
|
|
195
201
|
|
|
@@ -230,19 +236,41 @@ If the file does not exist → skip silently.
|
|
|
230
236
|
|
|
231
237
|
---
|
|
232
238
|
|
|
233
|
-
## Step 3 — [CRITICAL] Load CLAUDE.md
|
|
239
|
+
## Step 3 — [CRITICAL] Load CLAUDE.md (layered: root + service overlay)
|
|
234
240
|
|
|
235
241
|
*This is the highest-priority context — it defines HOW to write code and documents for this project.*
|
|
236
242
|
|
|
237
|
-
|
|
243
|
+
CLAUDE.md is loaded in **two layers** so umbrella-wide rules and service-specific
|
|
244
|
+
architecture/coding standards compose correctly. The agent always sits at the umbrella
|
|
245
|
+
root, but the implementation code lives in a service submodule with its OWN stack,
|
|
246
|
+
architecture, and conventions — so the service's CLAUDE.md must win for code generation.
|
|
247
|
+
|
|
248
|
+
**Layer 1 — [BASE] Root CLAUDE.md (umbrella-wide).**
|
|
249
|
+
Read `CLAUDE.md` at the repo root. Treat its contents as the **shared baseline** for the
|
|
250
|
+
whole umbrella — git conventions, data-protection posture, cross-cutting rules, and (in
|
|
251
|
+
single-service mode) the project's only architecture + coding standards.
|
|
252
|
+
|
|
253
|
+
**Layer 2 — [OVERLAY] Service CLAUDE.md (umbrella mode only).**
|
|
254
|
+
*Run only if `service_root` was set in Step 1.6 (i.e. a real service was routed to).*
|
|
255
|
+
Read `{service_root}/CLAUDE.md`. This file defines the architecture + coding standards of
|
|
256
|
+
the **actual stack being implemented** (e.g. `user-service` = java-spring, `web` = nextjs).
|
|
257
|
+
Overlay it on top of Layer 1: **on any conflict, the service value WINS** for architecture,
|
|
258
|
+
coding standards, and error handling. Layer-1 values that the service does not redefine
|
|
259
|
+
(e.g. git conventions, banned patterns shared org-wide) remain in effect.
|
|
260
|
+
|
|
261
|
+
From the **merged** result, extract and store:
|
|
238
262
|
|
|
239
263
|
- **§1 Project Overview** → project name, language, framework, build/test commands, domains
|
|
240
|
-
- **§2 Architecture** → layer order (e.g., Controller → Facade → Service → Repository), architectural rules
|
|
241
|
-
- **§3 Coding Standards** → naming conventions (classes, methods), response wrapper type, forbidden patterns
|
|
242
|
-
- **§5 Error Handling** → exception types, HTTP status code mapping, not-found exception class name
|
|
243
|
-
- **§7 Git Conventions** → branch naming pattern, commit message format
|
|
264
|
+
- **§2 Architecture** → layer order (e.g., Controller → Facade → Service → Repository), architectural rules — *service overlay wins*
|
|
265
|
+
- **§3 Coding Standards** → naming conventions (classes, methods), response wrapper type, forbidden patterns — *service overlay wins*
|
|
266
|
+
- **§5 Error Handling** → exception types, HTTP status code mapping, not-found exception class name — *service overlay wins*
|
|
267
|
+
- **§7 Git Conventions** → branch naming pattern, commit message format — *root baseline unless service redefines*
|
|
244
268
|
|
|
245
|
-
|
|
269
|
+
**Resolution rules:**
|
|
270
|
+
- If both layers exist → merge as above; record `claude_md_source = root + {service_root}`.
|
|
271
|
+
- If only the service overlay exists (no root CLAUDE.md) → use the service file alone; `claude_md_source = {service_root}`.
|
|
272
|
+
- If `service_root` is set but `{service_root}/CLAUDE.md` is **missing** → fall back to root CLAUDE.md and flag ⚠️ in the Step 7 recap (the service has no architecture/coding-standards definition — code generation will use umbrella defaults, which may be the wrong stack).
|
|
273
|
+
- If neither exists → note CLAUDE.md as missing and continue with project-context.yaml data only.
|
|
246
274
|
|
|
247
275
|
---
|
|
248
276
|
|
|
@@ -342,7 +370,8 @@ Output exactly this block:
|
|
|
342
370
|
[CTX LOADED]
|
|
343
371
|
Stack : {language} / {framework} / {database}
|
|
344
372
|
Platform : {active_module} ({platform_type})
|
|
345
|
-
Layers : {layer order from CLAUDE.md §2, e.g., Controller → Facade → Service → Repository}
|
|
373
|
+
Layers : {layer order from merged CLAUDE.md §2, e.g., Controller → Facade → Service → Repository}
|
|
374
|
+
CLAUDE.md : {root + {service_root} | {service_root} only | root only | ⚠️ service overlay MISSING — using root | missing}
|
|
346
375
|
Ticket : {ticket_prefix}-
|
|
347
376
|
Dict : {loaded — N canonical terms, M banned terms | missing}
|
|
348
377
|
Entities : {loaded — EntityA, EntityB, EntityC | missing}
|
|
@@ -387,15 +416,28 @@ A BDD scenario must trace to a PRD acceptance criterion. Determine which case ap
|
|
|
387
416
|
→ This is a coverage gap. Proceed to draft the scenario (Step 3), mapped to that AC.
|
|
388
417
|
|
|
389
418
|
**Case B — behavior is NOT in any AC** (genuinely new requirement):
|
|
390
|
-
→
|
|
391
|
-
|
|
419
|
+
→ Do **not** draft a BDD proposal (a scenario would have nothing to trace to). Instead **write a
|
|
420
|
+
PRD change request file** so the PO actually sees it on `/sync` (do not just print it):
|
|
421
|
+
|
|
422
|
+
Write to `{paths.prd_change_requests_dir}/{UC-ID}-{slug}.md` (resolved to
|
|
423
|
+
`{spec_source}/feedback/prd-change-requests/` in umbrella mode; create dir if needed):
|
|
392
424
|
```
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
425
|
+
# PRD Change Request — {UC-ID}: {short title}
|
|
426
|
+
|
|
427
|
+
> ⚠️ New requirement found in test — NOT covered by any PRD AC (not a coverage gap).
|
|
428
|
+
| Field | Value |
|
|
429
|
+
|---|---|
|
|
430
|
+
| UC / Ticket | {UC-ID} |
|
|
431
|
+
| PRD | {prd_path} (v{prd_version}) |
|
|
432
|
+
| Source | {BUG-ID if any | tester/QC observation} |
|
|
433
|
+
| Requested by | tester/QC |
|
|
434
|
+
| Status | Open |
|
|
435
|
+
|
|
436
|
+
**Requested behavior:** {description}
|
|
437
|
+
**Suggested AC (draft for PO):** "{draft AC text}"
|
|
438
|
+
**Route to PO:** add/extend an AC in {prd_path} → `/refine-prd` → re-run `/generate-bdd` → dev `/generate-code`.
|
|
397
439
|
```
|
|
398
|
-
Then
|
|
440
|
+
Then go to Step 5 (handoff applies to this file too). Skip Step 3–4 (no BDD scenario for Case B).
|
|
399
441
|
|
|
400
442
|
If unsure which case → show the AC list and ask the tester which AC this maps to, or confirm it's new.
|
|
401
443
|
|
|
@@ -424,7 +466,13 @@ git push # → PO/Dev see it on their next /sync
|
|
|
424
466
|
```
|
|
425
467
|
|
|
426
468
|
- No push rights to the spec repo → open a PR / MR instead. Print this fallback.
|
|
427
|
-
- For a **PRD change request** (Case B),
|
|
469
|
+
- For a **PRD change request** (Case B), commit the request file instead:
|
|
470
|
+
```bash
|
|
471
|
+
cd {spec_source}
|
|
472
|
+
git add feedback/prd-change-requests/{UC-ID}-{slug}.md
|
|
473
|
+
git commit -m "qa(prd-change): {UC-ID} — {title}"
|
|
474
|
+
git push
|
|
475
|
+
```
|
|
428
476
|
|
|
429
477
|
> PO/Dev are notified through their normal routine: `/sync` lists newly-pulled proposals.
|
|
430
478
|
|
|
@@ -468,6 +516,13 @@ Suggest the logical next command based on workflow phase:
|
|
|
468
516
|
| /generate-design-spec | Designer review → Figma links confirmed → PO + Designer sign-off → `/generate-bdd {prd-file}` |
|
|
469
517
|
| /generate-bdd | `/review-context {feature-file}` to verify coverage |
|
|
470
518
|
| /review-context (BDD) | `/generate-tech-docs {UC-ID}` if APPROVED; regenerate if NEEDS_FIX |
|
|
519
|
+
| /qc-analyze | `/qc-plan {UC-ID}` (resolve 🔴 blocker gaps first) |
|
|
520
|
+
| /qc-plan | `/qc-design-test {UC-ID}` |
|
|
521
|
+
| /qc-design-test | `/qc-review {UC-ID}` (test-case review) |
|
|
522
|
+
| /qc-review (test-case) | `/qc-run-test {UC-ID}` if APPROVED; fix TCs if NEEDS_FIX |
|
|
523
|
+
| /qc-run-test | `/qc-report {UC-ID}` then `/qc-review {UC-ID}` (script review) |
|
|
524
|
+
| /qc-review (script) | `/qc-report {UC-ID}` then create PR if APPROVED |
|
|
525
|
+
| /qc-report | `/validate-traces {UC-ID}` to refresh Living Docs (qc_status) |
|
|
471
526
|
| /generate-tech-docs | `/review-tech-docs {tech-design-file}` |
|
|
472
527
|
| /review-tech-docs | `/generate-code {feature-file}` if APPROVED; fix doc if NEEDS_FIX |
|
|
473
528
|
| /generate-code | First gen → `/review-code {UC-ID}`; re-gen → `/dev-gen-test {UC-ID}` |
|