forgecraft-mcp 1.3.2 → 1.6.1
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/README.md +2 -2
- package/dist/analyzers/anchors/anchor-loader.d.ts +47 -0
- package/dist/analyzers/anchors/anchor-loader.d.ts.map +1 -0
- package/dist/analyzers/anchors/anchor-loader.js +113 -0
- package/dist/analyzers/anchors/anchor-loader.js.map +1 -0
- package/dist/analyzers/anti-pattern.d.ts.map +1 -1
- package/dist/analyzers/anti-pattern.js +38 -26
- package/dist/analyzers/anti-pattern.js.map +1 -1
- package/dist/analyzers/completeness-helpers.d.ts +5 -0
- package/dist/analyzers/completeness-helpers.d.ts.map +1 -1
- package/dist/analyzers/completeness-helpers.js +17 -0
- package/dist/analyzers/completeness-helpers.js.map +1 -1
- package/dist/analyzers/completeness.d.ts.map +1 -1
- package/dist/analyzers/completeness.js +4 -4
- package/dist/analyzers/completeness.js.map +1 -1
- package/dist/analyzers/gs-scorer.d.ts +3 -1
- package/dist/analyzers/gs-scorer.d.ts.map +1 -1
- package/dist/analyzers/gs-scorer.js +5 -2
- package/dist/analyzers/gs-scorer.js.map +1 -1
- package/dist/analyzers/scorers/composable-scorer.d.ts +4 -2
- package/dist/analyzers/scorers/composable-scorer.d.ts.map +1 -1
- package/dist/analyzers/scorers/composable-scorer.js +50 -2
- package/dist/analyzers/scorers/composable-scorer.js.map +1 -1
- package/dist/analyzers/scorers/executable-scorer.d.ts +3 -2
- package/dist/analyzers/scorers/executable-scorer.d.ts.map +1 -1
- package/dist/analyzers/scorers/executable-scorer.js +64 -4
- package/dist/analyzers/scorers/executable-scorer.js.map +1 -1
- package/dist/analyzers/scorers/scorer-utils.d.ts +5 -3
- package/dist/analyzers/scorers/scorer-utils.d.ts.map +1 -1
- package/dist/analyzers/scorers/scorer-utils.js +34 -9
- package/dist/analyzers/scorers/scorer-utils.js.map +1 -1
- package/dist/analyzers/scorers/self-describing-scorer.d.ts +7 -4
- package/dist/analyzers/scorers/self-describing-scorer.d.ts.map +1 -1
- package/dist/analyzers/scorers/self-describing-scorer.js +17 -18
- package/dist/analyzers/scorers/self-describing-scorer.js.map +1 -1
- package/dist/artifacts/commit-hooks.d.ts +1 -1
- package/dist/artifacts/commit-hooks.d.ts.map +1 -1
- package/dist/artifacts/commit-hooks.js +2 -0
- package/dist/artifacts/commit-hooks.js.map +1 -1
- package/dist/cli/commands.d.ts +35 -1
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +109 -2
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +7 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +10 -1
- package/dist/cli.js.map +1 -1
- package/dist/disciplines/catalog.d.ts +16 -0
- package/dist/disciplines/catalog.d.ts.map +1 -0
- package/dist/disciplines/catalog.js +196 -0
- package/dist/disciplines/catalog.js.map +1 -0
- package/dist/disciplines/runner.d.ts +13 -0
- package/dist/disciplines/runner.d.ts.map +1 -0
- package/dist/disciplines/runner.js +35 -0
- package/dist/disciplines/runner.js.map +1 -0
- package/dist/registry/remote-gates.js +1 -1
- package/dist/registry/remote-gates.js.map +1 -1
- package/dist/sentinel/detect.d.ts +41 -0
- package/dist/sentinel/detect.d.ts.map +1 -0
- package/dist/sentinel/detect.js +122 -0
- package/dist/sentinel/detect.js.map +1 -0
- package/dist/sentinel/write.d.ts +54 -0
- package/dist/sentinel/write.d.ts.map +1 -0
- package/dist/sentinel/write.js +75 -0
- package/dist/sentinel/write.js.map +1 -0
- package/dist/shared/cnt-health.d.ts.map +1 -1
- package/dist/shared/cnt-health.js +12 -4
- package/dist/shared/cnt-health.js.map +1 -1
- package/dist/shared/config.d.ts +8 -0
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +23 -0
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/project-gates-helpers.d.ts +9 -0
- package/dist/shared/project-gates-helpers.d.ts.map +1 -1
- package/dist/shared/project-gates-helpers.js +35 -0
- package/dist/shared/project-gates-helpers.js.map +1 -1
- package/dist/shared/result-utils.d.ts +27 -0
- package/dist/shared/result-utils.d.ts.map +1 -0
- package/dist/shared/result-utils.js +41 -0
- package/dist/shared/result-utils.js.map +1 -0
- package/dist/shared/types/config.d.ts +7 -1
- package/dist/shared/types/config.d.ts.map +1 -1
- package/dist/shared/types/gates.d.ts +28 -0
- package/dist/shared/types/gates.d.ts.map +1 -1
- package/dist/shared/types/project.d.ts +66 -0
- package/dist/shared/types/project.d.ts.map +1 -1
- package/dist/shared/types/project.js.map +1 -1
- package/dist/shared/types/verify.d.ts +51 -1
- package/dist/shared/types/verify.d.ts.map +1 -1
- package/dist/shared/types/verify.js +37 -1
- package/dist/shared/types/verify.js.map +1 -1
- package/dist/tools/advise-session-advisor.d.ts +16 -0
- package/dist/tools/advise-session-advisor.d.ts.map +1 -0
- package/dist/tools/advise-session-advisor.js +89 -0
- package/dist/tools/advise-session-advisor.js.map +1 -0
- package/dist/tools/advise-session-signals.d.ts +21 -0
- package/dist/tools/advise-session-signals.d.ts.map +1 -0
- package/dist/tools/advise-session-signals.js +113 -0
- package/dist/tools/advise-session-signals.js.map +1 -0
- package/dist/tools/advise-session.d.ts +22 -0
- package/dist/tools/advise-session.d.ts.map +1 -0
- package/dist/tools/advise-session.js +31 -0
- package/dist/tools/advise-session.js.map +1 -0
- package/dist/tools/change-request.d.ts +53 -0
- package/dist/tools/change-request.d.ts.map +1 -0
- package/dist/tools/change-request.js +375 -0
- package/dist/tools/change-request.js.map +1 -0
- package/dist/tools/check-cascade-contracts.d.ts +13 -0
- package/dist/tools/check-cascade-contracts.d.ts.map +1 -1
- package/dist/tools/check-cascade-contracts.js +73 -2
- package/dist/tools/check-cascade-contracts.js.map +1 -1
- package/dist/tools/check-cascade.d.ts +4 -3
- package/dist/tools/check-cascade.d.ts.map +1 -1
- package/dist/tools/check-cascade.js +30 -12
- package/dist/tools/check-cascade.js.map +1 -1
- package/dist/tools/check-spec-consistency.d.ts +25 -0
- package/dist/tools/check-spec-consistency.d.ts.map +1 -0
- package/dist/tools/check-spec-consistency.js +339 -0
- package/dist/tools/check-spec-consistency.js.map +1 -0
- package/dist/tools/check-t4.d.ts +54 -0
- package/dist/tools/check-t4.d.ts.map +1 -0
- package/dist/tools/check-t4.js +305 -0
- package/dist/tools/check-t4.js.map +1 -0
- package/dist/tools/close-cycle-helpers.d.ts +21 -2
- package/dist/tools/close-cycle-helpers.d.ts.map +1 -1
- package/dist/tools/close-cycle-helpers.js +66 -10
- package/dist/tools/close-cycle-helpers.js.map +1 -1
- package/dist/tools/close-cycle.d.ts +2 -2
- package/dist/tools/close-cycle.d.ts.map +1 -1
- package/dist/tools/close-cycle.js +342 -4
- package/dist/tools/close-cycle.js.map +1 -1
- package/dist/tools/consolidate-status.d.ts +112 -0
- package/dist/tools/consolidate-status.d.ts.map +1 -0
- package/dist/tools/consolidate-status.js +356 -0
- package/dist/tools/consolidate-status.js.map +1 -0
- package/dist/tools/executable-gates.d.ts +52 -0
- package/dist/tools/executable-gates.d.ts.map +1 -0
- package/dist/tools/executable-gates.js +332 -0
- package/dist/tools/executable-gates.js.map +1 -0
- package/dist/tools/forgecraft-dispatch-extended.d.ts.map +1 -1
- package/dist/tools/forgecraft-dispatch-extended.js +75 -0
- package/dist/tools/forgecraft-dispatch-extended.js.map +1 -1
- package/dist/tools/forgecraft-dispatch.d.ts.map +1 -1
- package/dist/tools/forgecraft-dispatch.js +21 -0
- package/dist/tools/forgecraft-dispatch.js.map +1 -1
- package/dist/tools/forgecraft-router.d.ts +8 -0
- package/dist/tools/forgecraft-router.d.ts.map +1 -1
- package/dist/tools/forgecraft-router.js +21 -1
- package/dist/tools/forgecraft-router.js.map +1 -1
- package/dist/tools/forgecraft-schema-params.d.ts +61 -4
- package/dist/tools/forgecraft-schema-params.d.ts.map +1 -1
- package/dist/tools/forgecraft-schema-params.js +95 -0
- package/dist/tools/forgecraft-schema-params.js.map +1 -1
- package/dist/tools/forgecraft-schema.d.ts +62 -5
- package/dist/tools/forgecraft-schema.d.ts.map +1 -1
- package/dist/tools/forgecraft-schema.js +24 -0
- package/dist/tools/forgecraft-schema.js.map +1 -1
- package/dist/tools/gate-violations.d.ts +59 -0
- package/dist/tools/gate-violations.d.ts.map +1 -0
- package/dist/tools/gate-violations.js +152 -0
- package/dist/tools/gate-violations.js.map +1 -0
- package/dist/tools/generate-adr.js +6 -6
- package/dist/tools/generate-adr.js.map +1 -1
- package/dist/tools/generate-env-probe.d.ts +49 -0
- package/dist/tools/generate-env-probe.d.ts.map +1 -0
- package/dist/tools/generate-env-probe.js +365 -0
- package/dist/tools/generate-env-probe.js.map +1 -0
- package/dist/tools/generate-harness.d.ts +52 -0
- package/dist/tools/generate-harness.d.ts.map +1 -0
- package/dist/tools/generate-harness.js +333 -0
- package/dist/tools/generate-harness.js.map +1 -0
- package/dist/tools/generate-roadmap.d.ts +1 -1
- package/dist/tools/generate-roadmap.d.ts.map +1 -1
- package/dist/tools/generate-roadmap.js +38 -4
- package/dist/tools/generate-roadmap.js.map +1 -1
- package/dist/tools/generate-session-prompt.d.ts +4 -4
- package/dist/tools/generate-session-prompt.d.ts.map +1 -1
- package/dist/tools/generate-session-prompt.js +66 -16
- package/dist/tools/generate-session-prompt.js.map +1 -1
- package/dist/tools/generate-slo-probe.d.ts +53 -0
- package/dist/tools/generate-slo-probe.d.ts.map +1 -0
- package/dist/tools/generate-slo-probe.js +366 -0
- package/dist/tools/generate-slo-probe.js.map +1 -0
- package/dist/tools/layer-status-gates.d.ts +24 -0
- package/dist/tools/layer-status-gates.d.ts.map +1 -0
- package/dist/tools/layer-status-gates.js +151 -0
- package/dist/tools/layer-status-gates.js.map +1 -0
- package/dist/tools/layer-status.d.ts +133 -0
- package/dist/tools/layer-status.d.ts.map +1 -0
- package/dist/tools/layer-status.js +593 -0
- package/dist/tools/layer-status.js.map +1 -0
- package/dist/tools/postcondition-coverage.d.ts +57 -0
- package/dist/tools/postcondition-coverage.d.ts.map +1 -0
- package/dist/tools/postcondition-coverage.js +256 -0
- package/dist/tools/postcondition-coverage.js.map +1 -0
- package/dist/tools/probe-runners.d.ts +21 -0
- package/dist/tools/probe-runners.d.ts.map +1 -0
- package/dist/tools/probe-runners.js +246 -0
- package/dist/tools/probe-runners.js.map +1 -0
- package/dist/tools/probe-templates.d.ts +27 -0
- package/dist/tools/probe-templates.d.ts.map +1 -0
- package/dist/tools/probe-templates.js +279 -0
- package/dist/tools/probe-templates.js.map +1 -0
- package/dist/tools/propose-session.d.ts +28 -0
- package/dist/tools/propose-session.d.ts.map +1 -0
- package/dist/tools/propose-session.js +333 -0
- package/dist/tools/propose-session.js.map +1 -0
- package/dist/tools/roadmap-builder.d.ts +34 -1
- package/dist/tools/roadmap-builder.d.ts.map +1 -1
- package/dist/tools/roadmap-builder.js +153 -11
- package/dist/tools/roadmap-builder.js.map +1 -1
- package/dist/tools/run-env-probe.d.ts +57 -0
- package/dist/tools/run-env-probe.d.ts.map +1 -0
- package/dist/tools/run-env-probe.js +270 -0
- package/dist/tools/run-env-probe.js.map +1 -0
- package/dist/tools/run-harness.d.ts +52 -0
- package/dist/tools/run-harness.d.ts.map +1 -0
- package/dist/tools/run-harness.js +279 -0
- package/dist/tools/run-harness.js.map +1 -0
- package/dist/tools/run-slo-probe.d.ts +50 -0
- package/dist/tools/run-slo-probe.d.ts.map +1 -0
- package/dist/tools/run-slo-probe.js +281 -0
- package/dist/tools/run-slo-probe.js.map +1 -0
- package/dist/tools/scaffold-writer.d.ts.map +1 -1
- package/dist/tools/scaffold-writer.js +4 -0
- package/dist/tools/scaffold-writer.js.map +1 -1
- package/dist/tools/session-prompt-builders.d.ts +20 -0
- package/dist/tools/session-prompt-builders.d.ts.map +1 -1
- package/dist/tools/session-prompt-builders.js +111 -14
- package/dist/tools/session-prompt-builders.js.map +1 -1
- package/dist/tools/session-prompt-sections.d.ts +4 -2
- package/dist/tools/session-prompt-sections.d.ts.map +1 -1
- package/dist/tools/session-prompt-sections.js +22 -10
- package/dist/tools/session-prompt-sections.js.map +1 -1
- package/dist/tools/setup-monitoring.d.ts +41 -0
- package/dist/tools/setup-monitoring.d.ts.map +1 -0
- package/dist/tools/setup-monitoring.js +364 -0
- package/dist/tools/setup-monitoring.js.map +1 -0
- package/dist/tools/verify-formatter.d.ts.map +1 -1
- package/dist/tools/verify-formatter.js +15 -1
- package/dist/tools/verify-formatter.js.map +1 -1
- package/dist/tools/verify.d.ts.map +1 -1
- package/dist/tools/verify.js +3 -0
- package/dist/tools/verify.js.map +1 -1
- package/package.json +11 -2
- package/templates/api/harness/uc-template.hurl +20 -0
- package/templates/docs-manifest.yaml +224 -0
- package/templates/game/harness/uc-template.sim.ts +29 -0
- package/templates/universal/claude-md-blocks/layer-navigation.md +20 -0
- package/templates/universal/claude-md-blocks/nfr-contracts.md +22 -0
- package/templates/universal/hooks.yaml +212 -20
- package/templates/web-react/harness/uc-template.spec.ts +35 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"propose-session.js","sourceRoot":"","sources":["../../src/tools/propose-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Roadmap building utilities: content generation, UC parsing, and session stub creation.
|
|
3
3
|
*/
|
|
4
|
+
export declare const EXECUTABLE_SPRINT_HEADER: Readonly<{
|
|
5
|
+
id: string;
|
|
6
|
+
title: string;
|
|
7
|
+
}>;
|
|
4
8
|
export declare const PHASE2_ITEMS: readonly [{
|
|
5
9
|
readonly id: "RM-010";
|
|
6
10
|
readonly title: "Integration tests: full API contract coverage";
|
|
@@ -47,12 +51,13 @@ export declare function readProjectName(projectDir: string): string;
|
|
|
47
51
|
* @param projectName - Human-readable project name
|
|
48
52
|
* @param ucItems - Parsed use-case items for Phase 1
|
|
49
53
|
* @param specFilePath - Relative spec file path (for footer)
|
|
54
|
+
* @param tags - Project classification tags (drives Executable Sprint gate selection)
|
|
50
55
|
* @returns Complete roadmap.md string
|
|
51
56
|
*/
|
|
52
57
|
export declare function buildRoadmapContent(projectName: string, ucItems: ReadonlyArray<{
|
|
53
58
|
readonly id: string;
|
|
54
59
|
readonly title: string;
|
|
55
|
-
}>, specFilePath: string): string;
|
|
60
|
+
}>, specFilePath: string, tags?: ReadonlyArray<string>): string;
|
|
56
61
|
/**
|
|
57
62
|
* Build a session prompt stub for a Phase 1 roadmap item.
|
|
58
63
|
*
|
|
@@ -62,6 +67,34 @@ export declare function buildRoadmapContent(projectName: string, ucItems: Readon
|
|
|
62
67
|
* @returns Stub markdown string
|
|
63
68
|
*/
|
|
64
69
|
export declare function buildSessionPromptStub(rmId: string, title: string, ucId: string): string;
|
|
70
|
+
/**
|
|
71
|
+
* Build a session prompt stub for an Executable Sprint bring-up item (EX-000).
|
|
72
|
+
* For GAME projects, the bring-up check verifies the engine runs headlessly —
|
|
73
|
+
* which is itself proof that logic and rendering are properly separated.
|
|
74
|
+
*
|
|
75
|
+
* @param projectName - Human-readable project name
|
|
76
|
+
* @param tags - Project classification tags
|
|
77
|
+
* @returns Stub markdown string
|
|
78
|
+
*/
|
|
79
|
+
export declare function buildExecutableBringUpStub(projectName: string, tags?: ReadonlyArray<string>): string;
|
|
80
|
+
/**
|
|
81
|
+
* Build a session prompt stub for an Executable Sprint use-case verification item.
|
|
82
|
+
* Lists all applicable gate files so the AI knows what to fill in and run.
|
|
83
|
+
*
|
|
84
|
+
* @param exId - The EX-00N identifier
|
|
85
|
+
* @param ucId - The UC identifier (e.g. UC-001)
|
|
86
|
+
* @param ucTitle - The use-case title
|
|
87
|
+
* @param tags - Project tags used to resolve gate tools
|
|
88
|
+
* @returns Stub markdown string
|
|
89
|
+
*/
|
|
90
|
+
export declare function buildExecutableVerifyStub(exId: string, ucId: string, ucTitle: string, tags?: ReadonlyArray<string>): string;
|
|
91
|
+
/**
|
|
92
|
+
* Format an EX ID with zero-padded 3-digit suffix.
|
|
93
|
+
*
|
|
94
|
+
* @param index - 0-based for header (EX-000) or 1-based for UC items
|
|
95
|
+
* @returns Formatted EX-00N string
|
|
96
|
+
*/
|
|
97
|
+
export declare function formatExId(index: number): string;
|
|
65
98
|
/**
|
|
66
99
|
* Format an RM ID with zero-padded 3-digit suffix.
|
|
67
100
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roadmap-builder.d.ts","sourceRoot":"","sources":["../../src/tools/roadmap-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"roadmap-builder.d.ts","sourceRoot":"","sources":["../../src/tools/roadmap-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAKjE,CAAC;AAEb,eAAO,MAAM,YAAY;;;;;;;;;EAIf,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;EAaf,CAAC;AAIX;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAehE;AAmBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA0B1D;AAgBD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EACvE,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,aAAa,CAAC,MAAM,CAAM,GAC/B,MAAM,CAkFR;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,CAeR;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,aAAa,CAAC,MAAM,CAAM,GAC/B,MAAM,CAgDR;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,aAAa,CAAC,MAAM,CAAM,GAC/B,MAAM,CAgCR;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { existsSync, readFileSync } from "node:fs";
|
|
5
5
|
import { join } from "node:path";
|
|
6
|
-
|
|
6
|
+
import { resolveExecutableGates, gateFilePath, gateToolSummary, } from "./executable-gates.js";
|
|
7
7
|
const GENERIC_UC_TITLES = [
|
|
8
8
|
"Implement primary use case",
|
|
9
9
|
"Implement secondary use case",
|
|
10
10
|
"Implement observer use case",
|
|
11
11
|
];
|
|
12
|
+
export const EXECUTABLE_SPRINT_HEADER = {
|
|
13
|
+
id: "EX-000",
|
|
14
|
+
title: "Executable: bring up — start server, confirm health endpoint responds",
|
|
15
|
+
};
|
|
12
16
|
export const PHASE2_ITEMS = [
|
|
13
17
|
{ id: "RM-010", title: "Integration tests: full API contract coverage" },
|
|
14
18
|
{ id: "RM-011", title: "Mutation testing: achieve >80% mutation score" },
|
|
@@ -117,44 +121,78 @@ function inferNameFromDir(projectDir) {
|
|
|
117
121
|
* @param projectName - Human-readable project name
|
|
118
122
|
* @param ucItems - Parsed use-case items for Phase 1
|
|
119
123
|
* @param specFilePath - Relative spec file path (for footer)
|
|
124
|
+
* @param tags - Project classification tags (drives Executable Sprint gate selection)
|
|
120
125
|
* @returns Complete roadmap.md string
|
|
121
126
|
*/
|
|
122
|
-
export function buildRoadmapContent(projectName, ucItems, specFilePath) {
|
|
127
|
+
export function buildRoadmapContent(projectName, ucItems, specFilePath, tags = []) {
|
|
123
128
|
const date = new Date().toISOString().split("T")[0];
|
|
129
|
+
const lastPhase1Id = formatRmId(ucItems.length);
|
|
130
|
+
const lastExId = formatExId(ucItems.length);
|
|
131
|
+
const gates = resolveExecutableGates(tags);
|
|
132
|
+
const toolSummary = gateToolSummary(gates);
|
|
124
133
|
const phase1Rows = ucItems
|
|
125
134
|
.map((uc, i) => {
|
|
126
135
|
const rmId = formatRmId(i + 1);
|
|
127
136
|
const title = `Implement ${uc.id}: ${uc.title}`;
|
|
128
|
-
return `| ${rmId} | ${title} | pending | docs/session-prompts/${rmId}.md |`;
|
|
137
|
+
return `| ${rmId} | ${title} | — | pending | docs/session-prompts/${rmId}.md |`;
|
|
129
138
|
})
|
|
130
139
|
.join("\n");
|
|
131
|
-
const
|
|
132
|
-
const
|
|
140
|
+
const exHeaderRow = `| ${EXECUTABLE_SPRINT_HEADER.id} | ${EXECUTABLE_SPRINT_HEADER.title} | ${lastPhase1Id} | pending | docs/session-prompts/${EXECUTABLE_SPRINT_HEADER.id}.md |`;
|
|
141
|
+
const exUcRows = ucItems
|
|
142
|
+
.map((uc, i) => {
|
|
143
|
+
const exId = formatExId(i + 1);
|
|
144
|
+
const dependsOn = i === 0 ? EXECUTABLE_SPRINT_HEADER.id : formatExId(i);
|
|
145
|
+
const title = `Verify live: ${uc.id} — ${uc.title} (HTTP call + persistence check)`;
|
|
146
|
+
return `| ${exId} | ${title} | ${dependsOn} | pending | docs/session-prompts/${exId}.md |`;
|
|
147
|
+
})
|
|
148
|
+
.join("\n");
|
|
149
|
+
const phase2Rows = PHASE2_ITEMS.map((item, i) => {
|
|
150
|
+
const dependsOn = i === 0 ? lastExId : PHASE2_ITEMS[i - 1].id;
|
|
151
|
+
return `| ${item.id} | ${item.title} | ${dependsOn} | pending | docs/session-prompts/${item.id}.md |`;
|
|
152
|
+
}).join("\n");
|
|
153
|
+
const phase3Rows = PHASE3_ITEMS.map((item, i) => {
|
|
154
|
+
const dependsOn = i === 0
|
|
155
|
+
? PHASE2_ITEMS[PHASE2_ITEMS.length - 1].id
|
|
156
|
+
: PHASE3_ITEMS[i - 1].id;
|
|
157
|
+
return `| ${item.id} | ${item.title} | ${dependsOn} | pending | docs/session-prompts/${item.id}.md |`;
|
|
158
|
+
}).join("\n");
|
|
133
159
|
return [
|
|
134
160
|
`# ${projectName} Roadmap`,
|
|
135
161
|
"",
|
|
136
162
|
"> Generated by ForgeCraft. Each item maps to one implementation session.",
|
|
137
163
|
"> Status: pending | in-progress | done",
|
|
164
|
+
"> Depends On: comma-separated RM IDs that must be done first; — means no dependencies.",
|
|
138
165
|
"> Run `generate_session_prompt` with the item ID to get the bound prompt.",
|
|
139
166
|
"",
|
|
140
167
|
"---",
|
|
141
168
|
"",
|
|
142
169
|
"## Phase 1: Core Implementation",
|
|
143
170
|
"",
|
|
144
|
-
"| ID | Title | Status | Prompt |",
|
|
145
|
-
"
|
|
171
|
+
"| ID | Title | Depends On | Status | Prompt |",
|
|
172
|
+
"|---|---|---|---|---|",
|
|
146
173
|
phase1Rows,
|
|
147
174
|
"",
|
|
175
|
+
"## Executable Sprint: Live Verification",
|
|
176
|
+
"",
|
|
177
|
+
`> Gates: **${toolSummary}**. Complete every item in this phase before moving to Phase 2.`,
|
|
178
|
+
"> Each session starts the server, exercises the use case end-to-end, and confirms persistence.",
|
|
179
|
+
"> A use case is not done until its EX item passes.",
|
|
180
|
+
"",
|
|
181
|
+
"| ID | Title | Depends On | Status | Prompt |",
|
|
182
|
+
"|---|---|---|---|---|",
|
|
183
|
+
exHeaderRow,
|
|
184
|
+
exUcRows,
|
|
185
|
+
"",
|
|
148
186
|
"## Phase 2: Integration & Quality Hardening",
|
|
149
187
|
"",
|
|
150
|
-
"| ID | Title | Status | Prompt |",
|
|
151
|
-
"
|
|
188
|
+
"| ID | Title | Depends On | Status | Prompt |",
|
|
189
|
+
"|---|---|---|---|---|",
|
|
152
190
|
phase2Rows,
|
|
153
191
|
"",
|
|
154
192
|
"## Phase 3: Pre-Release Hardening",
|
|
155
193
|
"",
|
|
156
|
-
"| ID | Title | Status | Prompt |",
|
|
157
|
-
"
|
|
194
|
+
"| ID | Title | Depends On | Status | Prompt |",
|
|
195
|
+
"|---|---|---|---|---|",
|
|
158
196
|
phase3Rows,
|
|
159
197
|
"",
|
|
160
198
|
"---",
|
|
@@ -187,6 +225,110 @@ export function buildSessionPromptStub(rmId, title, ucId) {
|
|
|
187
225
|
"",
|
|
188
226
|
].join("\n");
|
|
189
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* Build a session prompt stub for an Executable Sprint bring-up item (EX-000).
|
|
230
|
+
* For GAME projects, the bring-up check verifies the engine runs headlessly —
|
|
231
|
+
* which is itself proof that logic and rendering are properly separated.
|
|
232
|
+
*
|
|
233
|
+
* @param projectName - Human-readable project name
|
|
234
|
+
* @param tags - Project classification tags
|
|
235
|
+
* @returns Stub markdown string
|
|
236
|
+
*/
|
|
237
|
+
export function buildExecutableBringUpStub(projectName, tags = []) {
|
|
238
|
+
const isGame = tags.includes("GAME");
|
|
239
|
+
if (isGame) {
|
|
240
|
+
return [
|
|
241
|
+
`# Session Prompt — EX-000: Bring Up (Headless Engine Check)`,
|
|
242
|
+
`> Executable Sprint — for game projects, bring-up proves the engine runs without a renderer.`,
|
|
243
|
+
`> If this step fails, the architecture is not yet correct: logic and rendering are coupled.`,
|
|
244
|
+
`> Fix the coupling before proceeding. The simulation gates cannot run until this passes.`,
|
|
245
|
+
"",
|
|
246
|
+
"## Task",
|
|
247
|
+
`Confirm that the ${projectName} game engine can be imported and run headlessly.`,
|
|
248
|
+
"",
|
|
249
|
+
"## Steps",
|
|
250
|
+
"1. Import the GameEngine class in a plain Node script (no renderer, no browser)",
|
|
251
|
+
"2. Create a game instance and advance one step: `GameEngine.create().applyAction(...)`",
|
|
252
|
+
"3. If this throws or requires a DOM/canvas/WebGL context, the architecture needs fixing",
|
|
253
|
+
"4. Confirm a RandomPlayer strategy can drive the engine to completion in a loop",
|
|
254
|
+
"5. Commit: `chore: EX-000 headless engine confirmed — logic/render separation verified`",
|
|
255
|
+
"",
|
|
256
|
+
"## Acceptance Criteria",
|
|
257
|
+
"- [ ] GameEngine imports and runs with zero renderer dependencies",
|
|
258
|
+
"- [ ] One full game loop completes headlessly without errors",
|
|
259
|
+
"- [ ] RandomPlayer (or equivalent) can drive the engine to an end state",
|
|
260
|
+
"",
|
|
261
|
+
].join("\n");
|
|
262
|
+
}
|
|
263
|
+
return [
|
|
264
|
+
`# Session Prompt — EX-000: Bring Up`,
|
|
265
|
+
`> Executable Sprint — this session proves the server starts and responds before use-case verification begins.`,
|
|
266
|
+
"",
|
|
267
|
+
"## Task",
|
|
268
|
+
`Start the ${projectName} server and confirm it is reachable.`,
|
|
269
|
+
"",
|
|
270
|
+
"## Steps",
|
|
271
|
+
"1. Install dependencies and run the build (`npm install && npm run build`)",
|
|
272
|
+
"2. Start the server (`npm start` or `npm run dev`)",
|
|
273
|
+
"3. Confirm the health endpoint responds: `curl http://localhost:3000/health`",
|
|
274
|
+
"4. If no health endpoint exists, confirm any root route returns HTTP 200",
|
|
275
|
+
"5. Commit: `chore: EX-000 server starts and health check passes`",
|
|
276
|
+
"",
|
|
277
|
+
"## Acceptance Criteria",
|
|
278
|
+
"- [ ] Server starts without errors",
|
|
279
|
+
"- [ ] Health endpoint returns HTTP 200",
|
|
280
|
+
"- [ ] No unhandled startup exceptions in logs",
|
|
281
|
+
"",
|
|
282
|
+
].join("\n");
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Build a session prompt stub for an Executable Sprint use-case verification item.
|
|
286
|
+
* Lists all applicable gate files so the AI knows what to fill in and run.
|
|
287
|
+
*
|
|
288
|
+
* @param exId - The EX-00N identifier
|
|
289
|
+
* @param ucId - The UC identifier (e.g. UC-001)
|
|
290
|
+
* @param ucTitle - The use-case title
|
|
291
|
+
* @param tags - Project tags used to resolve gate tools
|
|
292
|
+
* @returns Stub markdown string
|
|
293
|
+
*/
|
|
294
|
+
export function buildExecutableVerifyStub(exId, ucId, ucTitle, tags = []) {
|
|
295
|
+
const gates = resolveExecutableGates(tags);
|
|
296
|
+
const gateFileList = gates
|
|
297
|
+
.map((g) => `- \`${gateFilePath(g, ucId)}\` — ${g.label} (\`${g.runCommand}\`)`)
|
|
298
|
+
.join("\n");
|
|
299
|
+
return [
|
|
300
|
+
`# Session Prompt — ${exId}: Verify Live — ${ucId}`,
|
|
301
|
+
`> Executable Sprint — exercises ${ucId} end-to-end: request → service → persistence.`,
|
|
302
|
+
`> Run \`generate_session_prompt\` with item_description="${ucTitle}" to generate a fully bound prompt.`,
|
|
303
|
+
"",
|
|
304
|
+
"## Task",
|
|
305
|
+
`Verify that ${ucId}: ${ucTitle} works end-to-end against the running server.`,
|
|
306
|
+
"",
|
|
307
|
+
"## Gate Files (fill in and run each)",
|
|
308
|
+
gateFileList,
|
|
309
|
+
"",
|
|
310
|
+
"## Steps",
|
|
311
|
+
"1. Ensure the server is running (EX-000 must be done)",
|
|
312
|
+
`2. Fill in the gate file(s) above with ${ucId}-specific values`,
|
|
313
|
+
"3. Run each gate command and confirm it passes",
|
|
314
|
+
"4. Fix any failures before marking this item done",
|
|
315
|
+
`5. Commit: \`test: ${exId} ${ucId} live verification passes\``,
|
|
316
|
+
"",
|
|
317
|
+
"## Acceptance Criteria",
|
|
318
|
+
...gates.map((g) => `- [ ] ${g.label} passes for ${ucId}`),
|
|
319
|
+
"- [ ] No server errors in logs during verification",
|
|
320
|
+
"",
|
|
321
|
+
].join("\n");
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Format an EX ID with zero-padded 3-digit suffix.
|
|
325
|
+
*
|
|
326
|
+
* @param index - 0-based for header (EX-000) or 1-based for UC items
|
|
327
|
+
* @returns Formatted EX-00N string
|
|
328
|
+
*/
|
|
329
|
+
export function formatExId(index) {
|
|
330
|
+
return `EX-${String(index).padStart(3, "0")}`;
|
|
331
|
+
}
|
|
190
332
|
/**
|
|
191
333
|
* Format an RM ID with zero-padded 3-digit suffix.
|
|
192
334
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roadmap-builder.js","sourceRoot":"","sources":["../../src/tools/roadmap-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,
|
|
1
|
+
{"version":3,"file":"roadmap-builder.js","sourceRoot":"","sources":["../../src/tools/roadmap-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* run_env_probe tool handler.
|
|
3
|
+
*
|
|
4
|
+
* Scans tests/env/ for probe files, executes each via bash,
|
|
5
|
+
* reports PASS/FAIL/TOOL_MISSING/NOT_IMPLEMENTED/NO_PROBE/TIMEOUT/ERROR.
|
|
6
|
+
* Writes .forgecraft/env-probe-run.json after execution.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
import type { ToolResult } from "../shared/types.js";
|
|
10
|
+
import type { ProbeStatus } from "./run-harness.js";
|
|
11
|
+
export declare const runEnvProbeSchema: z.ZodObject<{
|
|
12
|
+
project_dir: z.ZodString;
|
|
13
|
+
timeout_ms: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
project_dir: string;
|
|
17
|
+
env?: Record<string, string> | undefined;
|
|
18
|
+
timeout_ms?: number | undefined;
|
|
19
|
+
}, {
|
|
20
|
+
project_dir: string;
|
|
21
|
+
env?: Record<string, string> | undefined;
|
|
22
|
+
timeout_ms?: number | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
export type RunEnvProbeInput = z.infer<typeof runEnvProbeSchema>;
|
|
25
|
+
export interface EnvProbeResult {
|
|
26
|
+
service: string;
|
|
27
|
+
probeId: string;
|
|
28
|
+
probeFile: string | null;
|
|
29
|
+
probeType: string;
|
|
30
|
+
status: ProbeStatus;
|
|
31
|
+
durationMs: number;
|
|
32
|
+
output?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface EnvProbeRunJson {
|
|
35
|
+
timestamp: string;
|
|
36
|
+
passed: number;
|
|
37
|
+
failed: number;
|
|
38
|
+
errors: number;
|
|
39
|
+
notFound: number;
|
|
40
|
+
results: Array<{
|
|
41
|
+
service: string;
|
|
42
|
+
probeId: string;
|
|
43
|
+
status: string;
|
|
44
|
+
durationMs: number;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Parse a probe filename like "service-name-probe-id.health.sh" back into
|
|
49
|
+
* service + probeId + probeType components.
|
|
50
|
+
*/
|
|
51
|
+
export declare function parseEnvProbeFileName(fileName: string): {
|
|
52
|
+
service: string;
|
|
53
|
+
probeId: string;
|
|
54
|
+
probeType: string;
|
|
55
|
+
};
|
|
56
|
+
export declare function runEnvProbeHandler(args: RunEnvProbeInput): Promise<ToolResult>;
|
|
57
|
+
//# sourceMappingURL=run-env-probe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-env-probe.d.ts","sourceRoot":"","sources":["../../src/tools/run-env-probe.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAY5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAIjE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAqCA;AA+CD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,UAAU,CAAC,CA4DrB"}
|