@lbruton/specflow 3.5.4 → 3.5.7
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/dist/core/__tests__/template-generator.test.js +36 -1
- package/dist/core/__tests__/template-generator.test.js.map +1 -1
- package/dist/core/archive-service.d.ts.map +1 -1
- package/dist/core/archive-service.js +29 -12
- package/dist/core/archive-service.js.map +1 -1
- package/dist/core/template-generator.d.ts.map +1 -1
- package/dist/core/template-generator.js +116 -44
- package/dist/core/template-generator.js.map +1 -1
- package/dist/dashboard/approval-storage.d.ts.map +1 -1
- package/dist/dashboard/approval-storage.js +4 -2
- package/dist/dashboard/approval-storage.js.map +1 -1
- package/dist/dashboard/job-scheduler.js +2 -2
- package/dist/dashboard/job-scheduler.js.map +1 -1
- package/dist/dashboard/multi-server.d.ts.map +1 -1
- package/dist/dashboard/multi-server.js +23 -18
- package/dist/dashboard/multi-server.js.map +1 -1
- package/dist/dashboard/parser.d.ts.map +1 -1
- package/dist/dashboard/parser.js +8 -7
- package/dist/dashboard/parser.js.map +1 -1
- package/dist/dashboard/project-manager.d.ts.map +1 -1
- package/dist/dashboard/project-manager.js +12 -1
- package/dist/dashboard/project-manager.js.map +1 -1
- package/dist/dashboard/watcher.d.ts.map +1 -1
- package/dist/dashboard/watcher.js +5 -4
- package/dist/dashboard/watcher.js.map +1 -1
- package/dist/markdown/templates/code-quality-reviewer-template.md +2 -0
- package/dist/markdown/templates/implementer-prompt-template.md +11 -0
- package/dist/markdown/templates/spec-reviewer-template.md +32 -0
- package/dist/markdown/templates/tasks-template.md +124 -138
- package/dist/prompts/create-spec.d.ts.map +1 -1
- package/dist/prompts/create-spec.js +48 -0
- package/dist/prompts/create-spec.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +99 -42
- package/dist/server.js.map +1 -1
- package/dist/tools/approvals.js +40 -13
- package/dist/tools/approvals.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/dashboard/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/dashboard/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-manager.d.ts","sourceRoot":"","sources":["../../src/dashboard/project-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAyC,eAAe,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"project-manager.d.ts","sourceRoot":"","sources":["../../src/dashboard/project-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAyC,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAKrG,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,eAAe,CAAC,CAAqB;;IAO7C;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC;;OAEG;YACW,wBAAwB;IAUtC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;;OAGG;YACW,gBAAgB;IAuC9B;;OAEG;YACW,UAAU;IA0ExB;;OAEG;YACW,aAAa;IAuB3B;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIzD;;OAEG;IACH,cAAc,IAAI,cAAc,EAAE;IAIlC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,eAAe,EAAE,CAAC;QAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IA0CH;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2B5D;;OAEG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAiB5B"}
|
|
@@ -7,6 +7,7 @@ import { SpecArchiveService } from '../core/archive-service.js';
|
|
|
7
7
|
import { ProjectRegistry } from '../core/project-registry.js';
|
|
8
8
|
import { PathUtils } from '../core/path-utils.js';
|
|
9
9
|
import { resolveGitRoot, resolveGitWorkspaceRoot } from '../core/git-utils.js';
|
|
10
|
+
import { loadConfig } from '../core/config-loader.js';
|
|
10
11
|
export class ProjectManager extends EventEmitter {
|
|
11
12
|
registry;
|
|
12
13
|
projects = new Map();
|
|
@@ -116,7 +117,17 @@ export class ProjectManager extends EventEmitter {
|
|
|
116
117
|
? entry.worktrees[0]
|
|
117
118
|
: entry.projectPath;
|
|
118
119
|
const translatedWorkspacePath = PathUtils.translatePath(workspacePath);
|
|
119
|
-
|
|
120
|
+
let translatedWorkflowRootPath = PathUtils.translatePath(entry.workflowRootPath);
|
|
121
|
+
// Load DocVault config if available — use the DocVault specflow root instead of git root
|
|
122
|
+
// This ensures the dashboard reads specs/approvals/templates from DocVault, matching the MCP server
|
|
123
|
+
try {
|
|
124
|
+
const config = await loadConfig(translatedWorkspacePath);
|
|
125
|
+
translatedWorkflowRootPath = PathUtils.translatePath(config.specflowRoot);
|
|
126
|
+
console.error(`DocVault config loaded for ${entry.projectName}: ${config.specflowRoot}`);
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
// No DocVault config — use legacy workflowRootPath (git root / .specflow)
|
|
130
|
+
}
|
|
120
131
|
const parser = new SpecParser(translatedWorkflowRootPath);
|
|
121
132
|
const watcher = new SpecWatcher(translatedWorkflowRootPath, parser);
|
|
122
133
|
const approvalStorage = new ApprovalStorage(translatedWorkflowRootPath, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-manager.js","sourceRoot":"","sources":["../../src/dashboard/project-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAyC,MAAM,6BAA6B,CAAC;AACrG,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"project-manager.js","sourceRoot":"","sources":["../../src/dashboard/project-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/dashboard/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,UAAU,GAAG,GAAG,CAAC;CACzB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAqB;IACrC,OAAO,CAAC,cAAc,CAAgG;IACtH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAO;gBAEvB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAO7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/dashboard/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,UAAU,GAAG,GAAG,CAAC;CACzB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAqB;IACrC,OAAO,CAAC,cAAc,CAAgG;IACtH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAO;gBAEvB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAO7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;OAGG;YACW,oBAAoB;YA6BpB,gBAAgB;YA0BhB,gBAAgB;YAmChB,oBAAoB;CAiBnC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
2
|
import chokidar from 'chokidar';
|
|
3
3
|
import { stat } from 'fs/promises';
|
|
4
|
-
import {
|
|
4
|
+
import { join } from 'path';
|
|
5
5
|
export class SpecWatcher extends EventEmitter {
|
|
6
6
|
projectPath;
|
|
7
7
|
parser;
|
|
@@ -15,9 +15,10 @@ export class SpecWatcher extends EventEmitter {
|
|
|
15
15
|
this.parser = parser;
|
|
16
16
|
}
|
|
17
17
|
async start() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const
|
|
18
|
+
// Use direct joins — PathUtils methods rely on a process-level singleton
|
|
19
|
+
// that isn't initialized in the dashboard process.
|
|
20
|
+
const specsPath = join(this.projectPath, 'specs');
|
|
21
|
+
const steeringPath = join(this.projectPath, 'steering');
|
|
21
22
|
// Watch for changes in specs and steering directories
|
|
22
23
|
this.watcher = chokidar.watch([
|
|
23
24
|
`${specsPath}/**/*.md`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/dashboard/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/dashboard/watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
You are reviewing code changes for production readiness. Only dispatch this review AFTER spec compliance has passed.
|
|
4
4
|
|
|
5
|
+
> **Gate Ordering:** This is Stage 2 of the two-stage review pipeline. Stage 1 (spec compliance review via `spec-reviewer-template.md`) must PASS before this review is dispatched. The implementer must have addressed all STOP checkpoints from the `implementer-prompt-template.md` — TDD gate, test gate, implementation log gate, and requirements verification gate — before this code quality review begins.
|
|
6
|
+
|
|
5
7
|
## What Was Implemented
|
|
6
8
|
|
|
7
9
|
{DESCRIPTION}
|
|
@@ -28,14 +28,25 @@ If you have questions about:
|
|
|
28
28
|
## Your Job
|
|
29
29
|
|
|
30
30
|
Once you're clear on requirements:
|
|
31
|
+
|
|
32
|
+
**STOP — TDD Gate:** Before writing any implementation code, confirm that failing tests exist for this task's requirements. If no tests exist yet, write them first. Tests MUST fail before you begin implementation. Do NOT proceed until failing tests are confirmed.
|
|
33
|
+
|
|
31
34
|
1. Implement exactly what the task specifies
|
|
32
35
|
2. Follow _Leverage fields to use existing code/utilities
|
|
33
36
|
3. Test your implementation
|
|
37
|
+
|
|
38
|
+
**STOP — Test Gate:** Run the project's full test suite. ALL tests must pass — both new tests and existing tests. Zero regressions allowed. Do NOT proceed until the test suite passes completely.
|
|
39
|
+
|
|
34
40
|
4. Commit your work
|
|
35
41
|
5. Self-review (see below)
|
|
42
|
+
|
|
43
|
+
**STOP — Implementation Log Gate:** Confirm you are about to call the `log-implementation` MCP tool with complete artifacts (filesModified, filesCreated, statistics, artifacts including tests with pass/fail counts). Do NOT mark this task complete or report back until log-implementation succeeds.
|
|
44
|
+
|
|
36
45
|
6. Log implementation using log-implementation tool
|
|
37
46
|
7. Report back
|
|
38
47
|
|
|
48
|
+
**STOP — Requirements Verification Gate:** Before declaring this task done, verify your implementation against every requirement listed in the task's `_Requirements` field. For each acceptance criterion, confirm there is evidence in the code (file:line reference). If ANY criterion lacks evidence, fix it now before reporting.
|
|
49
|
+
|
|
39
50
|
**While you work:** If you encounter something unexpected or unclear, ask questions.
|
|
40
51
|
Don't guess or make assumptions.
|
|
41
52
|
|
|
@@ -42,6 +42,34 @@ The implementer may have been optimistic. You MUST verify everything independent
|
|
|
42
42
|
- Did they solve the wrong problem?
|
|
43
43
|
- Did they implement the right feature the wrong way?
|
|
44
44
|
|
|
45
|
+
## Requirements Verification
|
|
46
|
+
|
|
47
|
+
Read the task's `_Requirements` field to identify which requirements this task implements. Then read those specific requirements and ALL their acceptance criteria from `requirements.md`.
|
|
48
|
+
|
|
49
|
+
For EACH acceptance criterion, read the actual implementation code and find evidence:
|
|
50
|
+
|
|
51
|
+
### Output Format
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
## Requirements Verification
|
|
55
|
+
|
|
56
|
+
### REQ-X.Y: [requirement title]
|
|
57
|
+
- AC-1: "WHEN [event] THEN [system] SHALL [response]"
|
|
58
|
+
→ Evidence: `file.js:45` — `functionName()` handles this case ✓
|
|
59
|
+
- AC-2: "IF [condition] THEN [system] SHALL [response]"
|
|
60
|
+
→ [MISSING — no implementation found] ✗
|
|
61
|
+
|
|
62
|
+
### REQ-X.Z: [requirement title]
|
|
63
|
+
- AC-1: "criterion text"
|
|
64
|
+
→ Evidence: `file.js:89` — `otherFunction()` ✓
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**CRITICAL:**
|
|
68
|
+
- Read the ACTUAL CODE, not the implementer's report
|
|
69
|
+
- Every acceptance criterion MUST have a file:line reference or be marked MISSING
|
|
70
|
+
- A single MISSING criterion = FAIL
|
|
71
|
+
- Do not accept vague evidence like "it's handled in the service layer" — cite specific file:line
|
|
72
|
+
|
|
45
73
|
## Output
|
|
46
74
|
|
|
47
75
|
Verify by reading code, not by trusting the report.
|
|
@@ -51,8 +79,12 @@ Verify by reading code, not by trusting the report.
|
|
|
51
79
|
|
|
52
80
|
```
|
|
53
81
|
Spec Compliance: ✅ PASS / ❌ FAIL
|
|
82
|
+
Requirements Coverage: X/Y acceptance criteria verified (✅ FULL / ❌ GAPS)
|
|
54
83
|
|
|
55
84
|
Issues (if any):
|
|
56
85
|
1. [MISSING/EXTRA/WRONG] — description — file:line
|
|
57
86
|
2. ...
|
|
87
|
+
|
|
88
|
+
Unmet Acceptance Criteria (if any):
|
|
89
|
+
- REQ-X.Y AC-Z: "criterion" — [why it's missing]
|
|
58
90
|
```
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- **Issue:** PROJ-XXX
|
|
6
6
|
- **GitHub PR:** [#NNN](https://github.com/owner/repo/pull/NNN)
|
|
7
|
-
- **Spec Path:**
|
|
7
|
+
- **Spec Path:** `DocVault/specflow/{{projectName}}/specs/{{spec-name}}/`
|
|
8
8
|
|
|
9
9
|
## UI Prototype Gate (conditional — include ONLY if design.md declares `Has UI Changes: Yes` AND `Prototype Required: Yes`)
|
|
10
10
|
|
|
@@ -37,149 +37,135 @@
|
|
|
37
37
|
|
|
38
38
|
---
|
|
39
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
|
-
- File:
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
- Purpose:
|
|
81
|
-
- _Leverage:
|
|
82
|
-
- _Requirements:
|
|
83
|
-
- _Prompt:
|
|
84
|
-
|
|
85
|
-
- [ ]
|
|
86
|
-
- File:
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
|
|
103
|
-
- [ ]
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
- Test error handling scenarios
|
|
107
|
-
- Purpose: Ensure service reliability and proper error handling
|
|
108
|
-
- _Leverage: tests/helpers/testUtils.ts, tests/mocks/modelMocks.ts_
|
|
109
|
-
- _Requirements: 3.2, 3.3_
|
|
110
|
-
- _Prompt: Role: QA Engineer with expertise in service testing and mocking frameworks | Task: Create comprehensive unit tests for FeatureService methods covering requirements 3.2 and 3.3, using mocked dependencies from tests/mocks/modelMocks.ts and test utilities | Restrictions: Must mock all external dependencies, test business logic in isolation, do not test framework code | Success: All service methods tested with proper mocking, error scenarios covered, tests verify business logic correctness and error handling_
|
|
111
|
-
|
|
112
|
-
- [ ] 4. Create API endpoints
|
|
113
|
-
- Design API structure
|
|
114
|
-
- _Leverage: src/api/baseApi.ts, src/utils/apiUtils.ts_
|
|
115
|
-
- _Requirements: 4.0_
|
|
116
|
-
- _Prompt: Role: API Architect specializing in RESTful design and Express.js | Task: Design comprehensive API structure following requirement 4.0, leveraging existing patterns from src/api/baseApi.ts and utilities from src/utils/apiUtils.ts | Restrictions: Must follow REST conventions, maintain API versioning compatibility, do not expose internal data structures directly | Success: API structure is well-designed and documented, follows existing patterns, supports all required operations with proper HTTP methods and status codes_
|
|
117
|
-
|
|
118
|
-
- [ ] 4.1 Set up routing and middleware
|
|
119
|
-
- Configure application routes
|
|
120
|
-
- Add authentication middleware
|
|
121
|
-
- Set up error handling middleware
|
|
122
|
-
- _Leverage: src/middleware/auth.ts, src/middleware/errorHandler.ts_
|
|
123
|
-
- _Requirements: 4.1_
|
|
124
|
-
- _Prompt: Role: Backend Developer with expertise in Express.js middleware and routing | Task: Configure application routes and middleware following requirement 4.1, integrating authentication from src/middleware/auth.ts and error handling from src/middleware/errorHandler.ts | Restrictions: Must maintain middleware order, do not bypass security middleware, ensure proper error propagation | Success: Routes are properly configured with correct middleware chain, authentication works correctly, errors are handled gracefully throughout the request lifecycle_
|
|
125
|
-
|
|
126
|
-
- [ ] 4.2 Implement CRUD endpoints
|
|
127
|
-
- Create API endpoints
|
|
128
|
-
- Add request validation
|
|
129
|
-
- Write API integration tests
|
|
130
|
-
- _Leverage: src/controllers/BaseController.ts, src/utils/validation.ts_
|
|
131
|
-
- _Requirements: 4.2, 4.3_
|
|
132
|
-
- _Prompt: Role: Full-stack Developer with expertise in API development and validation | Task: Implement CRUD endpoints following requirements 4.2 and 4.3, extending BaseController patterns and using validation utilities from src/utils/validation.ts | Restrictions: Must validate all inputs, follow existing controller patterns, ensure proper HTTP status codes and responses | Success: All CRUD operations work correctly, request validation prevents invalid data, integration tests pass and cover all endpoints_
|
|
133
|
-
|
|
134
|
-
- [ ] 5. Add frontend components
|
|
135
|
-
- Plan component architecture
|
|
136
|
-
- _Leverage: src/components/BaseComponent.tsx, src/styles/theme.ts_
|
|
137
|
-
- _Requirements: 5.0_
|
|
138
|
-
- _Prompt: Role: Frontend Architect with expertise in React component design and architecture | Task: Plan comprehensive component architecture following requirement 5.0, leveraging base patterns from src/components/BaseComponent.tsx and theme system from src/styles/theme.ts | Restrictions: Must follow existing component patterns, maintain design system consistency, ensure component reusability | Success: Architecture is well-planned and documented, components are properly organized, follows existing patterns and theme system_
|
|
139
|
-
|
|
140
|
-
- [ ] 5.1 Create base UI components
|
|
141
|
-
- Set up component structure
|
|
142
|
-
- Implement reusable components
|
|
143
|
-
- Add styling and theming
|
|
144
|
-
- _Leverage: src/components/BaseComponent.tsx, src/styles/theme.ts_
|
|
145
|
-
- _Requirements: 5.1_
|
|
146
|
-
- _Prompt: Role: Frontend Developer specializing in React and component architecture | Task: Create reusable UI components following requirement 5.1, extending BaseComponent patterns and using existing theme system from src/styles/theme.ts | Restrictions: Must use existing theme variables, follow component composition patterns, ensure accessibility compliance | Success: Components are reusable and properly themed, follow existing architecture, accessible and responsive_
|
|
147
|
-
|
|
148
|
-
- [ ] 5.2 Implement feature-specific components
|
|
149
|
-
- Create feature components
|
|
150
|
-
- Add state management
|
|
151
|
-
- Connect to API endpoints
|
|
152
|
-
- _Leverage: src/hooks/useApi.ts, src/components/BaseComponent.tsx_
|
|
153
|
-
- _Requirements: 5.2, 5.3_
|
|
154
|
-
- _Prompt: Role: React Developer with expertise in state management and API integration | Task: Implement feature-specific components following requirements 5.2 and 5.3, using API hooks from src/hooks/useApi.ts and extending BaseComponent patterns | Restrictions: Must use existing state management patterns, handle loading and error states properly, maintain component performance | Success: Components are fully functional with proper state management, API integration works smoothly, user experience is responsive and intuitive_
|
|
40
|
+
<!-- MANDATORY GATES — These gates appear verbatim in every generated tasks.md. Do NOT treat as placeholders.
|
|
41
|
+
|
|
42
|
+
VERSION CHECKOUT GATE — INTERACTIVE:
|
|
43
|
+
Before implementing ANY task below, check the project's version management:
|
|
44
|
+
1. IF the project has `devops/version.lock`:
|
|
45
|
+
- Run `/release patch` to claim a version and create a worktree
|
|
46
|
+
- Record the assigned version in the first implementation log
|
|
47
|
+
- ALL file edits happen inside the worktree — never in the main repo working directory
|
|
48
|
+
- Verify: `git branch --show-current` returns patch/VERSION, not dev or main
|
|
49
|
+
- If multiple tasks are parallelized across agents, each agent gets its own /release patch
|
|
50
|
+
2. IF the project has NO `devops/version.lock`:
|
|
51
|
+
- Prompt the user: "This project has no version lock or changelog. Would you like to set up version tracking (version.lock + CHANGELOG.md)?"
|
|
52
|
+
- IF yes: assist with scaffolding `devops/version.lock` and `CHANGELOG.md` before proceeding
|
|
53
|
+
- IF no: skip this gate and record the decision as a comment in tasks.md
|
|
54
|
+
Skipping this gate without user acknowledgment is a workflow violation.
|
|
55
|
+
|
|
56
|
+
IMPLEMENTATION LOGGING GATE — HARD GATE:
|
|
57
|
+
Before marking ANY task [x], you MUST call the `log-implementation` MCP tool with full
|
|
58
|
+
artifacts (functions added/modified, files changed, endpoints created, tests written).
|
|
59
|
+
Do NOT mark [x] until the log-implementation tool call succeeds. No exceptions.
|
|
60
|
+
|
|
61
|
+
SPEC COMPLETION GATE — BLOCKING (Phase 5):
|
|
62
|
+
After ALL tasks are [x] and implementation logs are recorded:
|
|
63
|
+
1. Generate `verification.md` in the spec directory — a checklist mapping every requirement
|
|
64
|
+
and acceptance criterion from requirements.md to file:line code evidence. Any unchecked
|
|
65
|
+
item means the spec is NOT complete — loop back to implementation.
|
|
66
|
+
2. Run `/vault-update` to update DocVault pages affected by this spec's changed files
|
|
67
|
+
3. Close all linked DocVault issues (move to Done, move file to Closed/)
|
|
68
|
+
4. Run `/verification-before-completion` for a final smoke check
|
|
69
|
+
5. The spec is NOT complete until all four steps are verified.
|
|
70
|
+
-->
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Phase 1 — [Phase Name]
|
|
75
|
+
|
|
76
|
+
- [ ] 1. [Task title]
|
|
77
|
+
- File: `[file path]`
|
|
78
|
+
- [What to implement — be specific about function names, line numbers, and code patterns]
|
|
79
|
+
- [Second bullet if multi-part]
|
|
80
|
+
- Purpose: [Why this task exists — what problem it solves]
|
|
81
|
+
- _Leverage: [Existing functions/constants/patterns to reuse, with file:line references]_
|
|
82
|
+
- _Requirements: REQ-X_
|
|
83
|
+
- _Prompt: Implement the task for spec {{spec-name}}, first run spec-workflow-guide to get the workflow guide then implement the task: Role: [Role] | Task: [Detailed implementation instructions referencing specific file paths, line numbers, existing functions, and exact variable names. Include the complete behavior specification.] | Restrictions: [What NOT to do — other files to leave untouched, patterns to avoid, anti-patterns for this codebase] | Success: [Concrete, verifiable acceptance criteria — what works, what doesn't break] PREREQUISITE: Before writing any code, verify you are in the correct working context. If the project uses version.lock, confirm `git branch --show-current` returns patch/VERSION. If not, STOP and run /release patch first. Mark task as [-] in tasks.md before starting. BLOCKING: After implementation, you MUST call the log-implementation tool with full artifacts before marking [x]. Do NOT mark [x] until the log-implementation tool call succeeds._
|
|
84
|
+
|
|
85
|
+
- [ ] 2. [Task title]
|
|
86
|
+
- File: `[file path]`
|
|
87
|
+
- [Implementation details]
|
|
88
|
+
- Purpose: [Why]
|
|
89
|
+
- _Leverage: [Existing code to reuse]_
|
|
90
|
+
- _Requirements: REQ-Y_
|
|
91
|
+
- _Prompt: Implement the task for spec {{spec-name}}, first run spec-workflow-guide to get the workflow guide then implement the task: Role: [Role] | Task: [Instructions] | Restrictions: [Constraints] | Success: [Criteria] PREREQUISITE: Before writing any code, verify you are in the correct working context. If the project uses version.lock, confirm `git branch --show-current` returns patch/VERSION. If not, STOP and run /release patch first. Mark task as [-] in tasks.md before starting. BLOCKING: After implementation, you MUST call the log-implementation tool with full artifacts before marking [x]. Do NOT mark [x] until the log-implementation tool call succeeds._
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Phase 2 — [Phase Name] (optional — remove if single-phase)
|
|
96
|
+
|
|
97
|
+
- [ ] 3. [Task title]
|
|
98
|
+
- File: `[file path]`
|
|
99
|
+
- [Implementation details]
|
|
100
|
+
- Purpose: [Why]
|
|
101
|
+
- _Leverage: [Existing code to reuse]_
|
|
102
|
+
- _Requirements: REQ-Z_
|
|
103
|
+
- _Prompt: Implement the task for spec {{spec-name}}, first run spec-workflow-guide to get the workflow guide then implement the task: Role: [Role] | Task: [Instructions] | Restrictions: [Constraints] | Success: [Criteria] PREREQUISITE: Before writing any code, verify you are in the correct working context. If the project uses version.lock, confirm `git branch --show-current` returns patch/VERSION. If not, STOP and run /release patch first. Mark task as [-] in tasks.md before starting. BLOCKING: After implementation, you MUST call the log-implementation tool with full artifacts before marking [x]. Do NOT mark [x] until the log-implementation tool call succeeds._
|
|
104
|
+
|
|
105
|
+
---
|
|
155
106
|
|
|
156
107
|
## Standard Closing Tasks
|
|
157
108
|
|
|
158
|
-
- [ ]
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
-
|
|
109
|
+
- [ ] C1. Establish test baseline
|
|
110
|
+
- File: (no file changes — testing only)
|
|
111
|
+
- Run the project's test command to establish a passing baseline before any implementation changes
|
|
112
|
+
- If no test suite exists, flag this to the user and discuss whether to set one up
|
|
113
|
+
- Purpose: Record the starting state so regressions can be detected
|
|
114
|
+
- _Leverage: Project test configuration (test scripts, config files, CI definitions)_
|
|
162
115
|
- _Requirements: All_
|
|
163
|
-
- _Prompt: Role: QA Engineer | Task:
|
|
116
|
+
- _Prompt: Implement the task for spec {{spec-name}}, first run spec-workflow-guide to get the workflow guide then implement the task: Role: QA Engineer | Task: Identify and run the project's established test suite to verify a passing baseline before implementation. Check project documentation and config files for the test command. Record the number of passing/failing/skipped tests. If no test suite exists, flag this to the user and ask whether to set one up before proceeding. | Restrictions: Use the project's existing test framework — do not introduce a new one. Do not modify any source files. | Success: Test suite runs and baseline results (pass/fail/skip counts) are recorded. PREREQUISITE: This is a verification-only task — no worktree changes needed. BLOCKING: After recording baseline, you MUST call the log-implementation tool with the test results before marking [x]. Do NOT mark [x] until the log-implementation tool call succeeds._
|
|
164
117
|
|
|
165
|
-
- [ ]
|
|
166
|
-
-
|
|
167
|
-
-
|
|
118
|
+
- [ ] C2. Write failing tests for new behavior (TDD — BEFORE implementation)
|
|
119
|
+
- File: [test file paths — determined by project conventions]
|
|
120
|
+
- Write failing tests using the project's test framework for all new behavior described in requirements.md
|
|
121
|
+
- Tests should map to acceptance criteria — one or more tests per AC
|
|
122
|
+
- Purpose: TDD — tests define the expected behavior before code is written
|
|
168
123
|
- _Leverage: Project test framework, requirements.md acceptance criteria_
|
|
169
124
|
- _Requirements: All_
|
|
170
|
-
- _Prompt: Role: QA Engineer | Task: Write failing tests for all new behavior described in requirements.md
|
|
171
|
-
|
|
172
|
-
- [ ]
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
-
|
|
125
|
+
- _Prompt: Implement the task for spec {{spec-name}}, first run spec-workflow-guide to get the workflow guide then implement the task: Role: QA Engineer | Task: Write failing tests for all new behavior described in requirements.md acceptance criteria. Use the project's existing test framework and conventions. Each acceptance criterion should have at least one corresponding test. Tests MUST fail before implementation (red phase of TDD) and pass after (green phase). | Restrictions: Use the project's existing test framework — do not introduce a new one. Tests must be runnable with the project's test command. Do not write implementation code in this task. | Success: Failing tests exist for every acceptance criterion in requirements.md. Running the test suite shows the new tests fail (expected) while existing tests still pass. PREREQUISITE: Before writing any code, verify you are in the correct working context. If the project uses version.lock, confirm `git branch --show-current` returns patch/VERSION. If not, STOP and run /release patch first. Mark task as [-] in tasks.md before starting. BLOCKING: After writing tests, you MUST call the log-implementation tool with test file paths and AC mapping before marking [x]. Do NOT mark [x] until the log-implementation tool call succeeds._
|
|
126
|
+
|
|
127
|
+
- [ ] C3. Implement — make tests pass
|
|
128
|
+
- File: [implementation file paths — determined by design.md]
|
|
129
|
+
- Write the minimum code needed to make all failing tests from C2 pass
|
|
130
|
+
- Follow existing project patterns and conventions
|
|
131
|
+
- Purpose: Green phase of TDD — implementation is driven by tests
|
|
132
|
+
- _Leverage: design.md architecture decisions, existing project patterns_
|
|
176
133
|
- _Requirements: All_
|
|
177
|
-
- _Prompt: Role:
|
|
178
|
-
|
|
179
|
-
- [ ]
|
|
180
|
-
-
|
|
181
|
-
-
|
|
182
|
-
-
|
|
183
|
-
-
|
|
134
|
+
- _Prompt: Implement the task for spec {{spec-name}}, first run spec-workflow-guide to get the workflow guide then implement the task: Role: Senior Developer | Task: Write the implementation code to make all failing tests from task C2 pass. Follow the architecture and patterns described in design.md. Use existing project utilities and patterns — do not reinvent. Keep changes minimal and focused on making tests green. | Restrictions: Do not modify test files from C2 to make them pass — fix the implementation instead. Do not introduce new dependencies without justification. Follow existing code style and patterns. | Success: All tests from C2 now pass. No existing tests regress. Code follows project conventions. PREREQUISITE: Before writing any code, verify you are in the correct working context. If the project uses version.lock, confirm `git branch --show-current` returns patch/VERSION. If not, STOP and run /release patch first. Mark task as [-] in tasks.md before starting. BLOCKING: After implementation, you MUST call the log-implementation tool with full artifacts before marking [x]. Do NOT mark [x] until the log-implementation tool call succeeds._
|
|
135
|
+
|
|
136
|
+
- [ ] C4. Run full test suite — zero regressions
|
|
137
|
+
- File: (no file changes — testing only)
|
|
138
|
+
- Run the project's complete test suite after all implementation is done
|
|
139
|
+
- All new tests must pass; no existing tests may regress from the C1 baseline
|
|
140
|
+
- Purpose: Verify implementation is complete and nothing is broken
|
|
141
|
+
- _Leverage: Project test command, baseline results from C1_
|
|
142
|
+
- _Requirements: All_
|
|
143
|
+
- _Prompt: Implement the task for spec {{spec-name}}, first run spec-workflow-guide to get the workflow guide then implement the task: Role: QA Engineer | Task: Run the project's full test suite. Compare results against the baseline from task C1. All new tests from C2 must pass. No existing tests may have regressed. If any test fails, diagnose and fix before proceeding — do not skip or disable failing tests. | Restrictions: Do not skip or disable any tests. Do not modify tests to make them pass unless they have a genuine bug. | Success: Full test suite passes. New test count matches C2. Zero regressions from C1 baseline. PREREQUISITE: This is a verification-only task — no file changes expected unless fixing regressions. BLOCKING: After test run, you MUST call the log-implementation tool with pass/fail/skip counts and comparison to C1 baseline before marking [x]. Do NOT mark [x] until the log-implementation tool call succeeds._
|
|
144
|
+
|
|
145
|
+
- [ ] C5. Log implementation — HARD GATE
|
|
146
|
+
- File: (no file changes — logging only)
|
|
147
|
+
- Call the `log-implementation` MCP tool with a comprehensive summary of ALL implementation work done across all tasks in this spec
|
|
148
|
+
- Include: all functions added/modified, all files changed, all tests written, all endpoints created
|
|
149
|
+
- Purpose: Create a permanent record of what was implemented for future reference and audit
|
|
150
|
+
- _Leverage: Implementation logs from individual tasks, git diff_
|
|
151
|
+
- _Requirements: All_
|
|
152
|
+
- _Prompt: Implement the task for spec {{spec-name}}, first run spec-workflow-guide to get the workflow guide then implement the task: Role: Project Coordinator | Task: Call the log-implementation MCP tool with a comprehensive summary covering all implementation tasks in this spec. Aggregate: (1) all functions added or modified with file paths, (2) all files created or changed, (3) all test files and test counts, (4) any new endpoints, routes, or APIs, (5) any configuration changes. This is the consolidated implementation record. | Restrictions: Do not skip any task's artifacts. Do not mark this task [x] until the log-implementation tool call succeeds. | Success: log-implementation MCP tool call succeeds with full artifact listing. BLOCKING: This IS the logging gate. Do NOT mark [x] until the log-implementation tool call succeeds._
|
|
153
|
+
|
|
154
|
+
- [ ] C6. Generate verification.md
|
|
155
|
+
- File: `DocVault/specflow/{{projectName}}/specs/{{spec-name}}/verification.md`
|
|
156
|
+
- Generate a verification checklist in the spec directory
|
|
157
|
+
- List every requirement and acceptance criterion from requirements.md as a checklist item
|
|
158
|
+
- For each item: mark `[x]` with `file:line` code evidence, OR mark `[ ]` with a gap description
|
|
159
|
+
- Purpose: Prove every requirement is met with traceable evidence — no hand-waving
|
|
160
|
+
- _Leverage: requirements.md, implementation logs, git diff_
|
|
161
|
+
- _Requirements: All_
|
|
162
|
+
- _Prompt: Implement the task for spec {{spec-name}}, first run spec-workflow-guide to get the workflow guide then implement the task: Role: QA Engineer | Task: Generate verification.md in the spec directory. Read requirements.md and list every requirement and acceptance criterion as a markdown checklist. For each item, search the codebase for the implementing code and mark [x] with file:line evidence (e.g., "src/core/parser.ts:142 — validates input format"). If any criterion cannot be verified, mark [ ] with a description of the gap. Run /vault-update to update any DocVault pages affected by this spec's changes. Close all linked DocVault issues. Run /verification-before-completion for a final check. | Restrictions: Do not mark [x] without concrete file:line evidence. Do not fabricate evidence. If a gap exists, document it honestly. | Success: verification.md exists with every requirement/AC listed. All items marked [x] with evidence, OR [ ] items have gap descriptions. /vault-update completed. Linked issues closed. /verification-before-completion passed. BLOCKING: After generating verification.md, you MUST call the log-implementation tool before marking [x]. Do NOT mark [x] until the log-implementation tool call succeeds._
|
|
163
|
+
|
|
164
|
+
- [ ] C7. Loop or complete
|
|
165
|
+
- File: (no file changes — decision gate only)
|
|
166
|
+
- IF verification.md has ANY unchecked `[ ]` items → return to task C2 and write tests for the gaps, then implement (C3), test (C4), log (C5), and re-verify (C6)
|
|
167
|
+
- ONLY when ALL items in verification.md are `[x]` → proceed to PR/commit
|
|
168
|
+
- Purpose: Enforce the verification loop — specs are not complete until every requirement is proven
|
|
169
|
+
- _Leverage: verification.md from C6_
|
|
184
170
|
- _Requirements: All_
|
|
185
|
-
- _Prompt: Role:
|
|
171
|
+
- _Prompt: Implement the task for spec {{spec-name}}, first run spec-workflow-guide to get the workflow guide then implement the task: Role: Project Coordinator | Task: Read verification.md from task C6. Count unchecked [ ] items. IF any exist: list the gaps, return to task C2 to write tests targeting those gaps, then re-execute C3 through C6. Repeat until verification.md has zero unchecked items. ONLY when all items are [x]: proceed to create the PR or commit. | Restrictions: Do NOT proceed to PR/commit if ANY [ ] items remain in verification.md. Do NOT remove unchecked items to force completion. Each loop iteration must go through C2→C6 in order. | Success: verification.md has zero unchecked items. All requirements are proven with code evidence. PR/commit may proceed. BLOCKING: After confirming all items are verified, you MUST call the log-implementation tool with the final verification status before marking [x]. Do NOT mark [x] until the log-implementation tool call succeeds._
|