forgecraft-mcp 1.2.0 → 1.4.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.
Files changed (185) hide show
  1. package/README.md +525 -525
  2. package/dist/artifacts/commit-hooks.d.ts +1 -1
  3. package/dist/artifacts/commit-hooks.d.ts.map +1 -1
  4. package/dist/artifacts/commit-hooks.js +2 -0
  5. package/dist/artifacts/commit-hooks.js.map +1 -1
  6. package/dist/cli/commands.d.ts +35 -1
  7. package/dist/cli/commands.d.ts.map +1 -1
  8. package/dist/cli/commands.js +109 -2
  9. package/dist/cli/commands.js.map +1 -1
  10. package/dist/cli/help.d.ts.map +1 -1
  11. package/dist/cli/help.js +51 -44
  12. package/dist/cli/help.js.map +1 -1
  13. package/dist/cli.d.ts.map +1 -1
  14. package/dist/cli.js +10 -1
  15. package/dist/cli.js.map +1 -1
  16. package/dist/registry/renderer-skeletons.js +92 -92
  17. package/dist/shared/gs-score-logger.js +6 -6
  18. package/dist/shared/result-utils.d.ts +27 -0
  19. package/dist/shared/result-utils.d.ts.map +1 -0
  20. package/dist/shared/result-utils.js +41 -0
  21. package/dist/shared/result-utils.js.map +1 -0
  22. package/dist/tools/add-module.js +123 -123
  23. package/dist/tools/advice-registry.js +18 -18
  24. package/dist/tools/check-cascade-report.js +64 -64
  25. package/dist/tools/close-cycle-helpers.d.ts +21 -2
  26. package/dist/tools/close-cycle-helpers.d.ts.map +1 -1
  27. package/dist/tools/close-cycle-helpers.js +66 -10
  28. package/dist/tools/close-cycle-helpers.js.map +1 -1
  29. package/dist/tools/close-cycle.d.ts +2 -2
  30. package/dist/tools/close-cycle.d.ts.map +1 -1
  31. package/dist/tools/close-cycle.js +1 -1
  32. package/dist/tools/close-cycle.js.map +1 -1
  33. package/dist/tools/configure-mcp.d.ts +3 -0
  34. package/dist/tools/configure-mcp.d.ts.map +1 -1
  35. package/dist/tools/configure-mcp.js +10 -0
  36. package/dist/tools/configure-mcp.js.map +1 -1
  37. package/dist/tools/consolidate-status.d.ts +81 -0
  38. package/dist/tools/consolidate-status.d.ts.map +1 -0
  39. package/dist/tools/consolidate-status.js +251 -0
  40. package/dist/tools/consolidate-status.js.map +1 -0
  41. package/dist/tools/forgecraft-dispatch.d.ts.map +1 -1
  42. package/dist/tools/forgecraft-dispatch.js +13 -0
  43. package/dist/tools/forgecraft-dispatch.js.map +1 -1
  44. package/dist/tools/forgecraft-router.d.ts +8 -0
  45. package/dist/tools/forgecraft-router.d.ts.map +1 -1
  46. package/dist/tools/forgecraft-router.js +21 -1
  47. package/dist/tools/forgecraft-router.js.map +1 -1
  48. package/dist/tools/forgecraft-schema-params.d.ts +13 -4
  49. package/dist/tools/forgecraft-schema-params.d.ts.map +1 -1
  50. package/dist/tools/forgecraft-schema-params.js +21 -0
  51. package/dist/tools/forgecraft-schema-params.js.map +1 -1
  52. package/dist/tools/forgecraft-schema.d.ts +14 -5
  53. package/dist/tools/forgecraft-schema.d.ts.map +1 -1
  54. package/dist/tools/forgecraft-schema.js +3 -0
  55. package/dist/tools/forgecraft-schema.js.map +1 -1
  56. package/dist/tools/gate-violations.d.ts +59 -0
  57. package/dist/tools/gate-violations.d.ts.map +1 -0
  58. package/dist/tools/gate-violations.js +152 -0
  59. package/dist/tools/gate-violations.js.map +1 -0
  60. package/dist/tools/generate-session-prompt.d.ts +3 -3
  61. package/dist/tools/generate-session-prompt.d.ts.map +1 -1
  62. package/dist/tools/generate-session-prompt.js +57 -15
  63. package/dist/tools/generate-session-prompt.js.map +1 -1
  64. package/dist/tools/refresh-output.js +14 -14
  65. package/dist/tools/roadmap-builder.d.ts.map +1 -1
  66. package/dist/tools/roadmap-builder.js +19 -9
  67. package/dist/tools/roadmap-builder.js.map +1 -1
  68. package/dist/tools/scaffold-spec-stubs.js +115 -115
  69. package/dist/tools/scaffold-templates.js +62 -62
  70. package/dist/tools/session-prompt-builders.d.ts.map +1 -1
  71. package/dist/tools/session-prompt-builders.js +34 -10
  72. package/dist/tools/session-prompt-builders.js.map +1 -1
  73. package/dist/tools/setup-artifact-writers.d.ts +30 -0
  74. package/dist/tools/setup-artifact-writers.d.ts.map +1 -1
  75. package/dist/tools/setup-artifact-writers.js +120 -8
  76. package/dist/tools/setup-artifact-writers.js.map +1 -1
  77. package/dist/tools/setup-phase1.d.ts +3 -0
  78. package/dist/tools/setup-phase1.d.ts.map +1 -1
  79. package/dist/tools/setup-phase1.js +79 -35
  80. package/dist/tools/setup-phase1.js.map +1 -1
  81. package/dist/tools/setup-phase2.d.ts +2 -0
  82. package/dist/tools/setup-phase2.d.ts.map +1 -1
  83. package/dist/tools/setup-phase2.js +10 -1
  84. package/dist/tools/setup-phase2.js.map +1 -1
  85. package/dist/tools/setup-project.d.ts +18 -0
  86. package/dist/tools/setup-project.d.ts.map +1 -1
  87. package/dist/tools/setup-project.js +77 -1
  88. package/dist/tools/setup-project.js.map +1 -1
  89. package/dist/tools/spec-parser-tags.d.ts +9 -0
  90. package/dist/tools/spec-parser-tags.d.ts.map +1 -1
  91. package/dist/tools/spec-parser-tags.js +92 -0
  92. package/dist/tools/spec-parser-tags.js.map +1 -1
  93. package/package.json +89 -86
  94. package/templates/analytics/instructions.yaml +37 -37
  95. package/templates/analytics/mcp-servers.yaml +11 -11
  96. package/templates/analytics/structure.yaml +25 -25
  97. package/templates/api/instructions.yaml +231 -231
  98. package/templates/api/mcp-servers.yaml +22 -13
  99. package/templates/api/nfr.yaml +23 -23
  100. package/templates/api/review.yaml +103 -103
  101. package/templates/api/structure.yaml +34 -34
  102. package/templates/api/verification.yaml +132 -132
  103. package/templates/cli/instructions.yaml +31 -31
  104. package/templates/cli/mcp-servers.yaml +11 -11
  105. package/templates/cli/review.yaml +53 -53
  106. package/templates/cli/structure.yaml +16 -16
  107. package/templates/data-lineage/instructions.yaml +28 -28
  108. package/templates/data-lineage/mcp-servers.yaml +22 -22
  109. package/templates/data-pipeline/instructions.yaml +84 -84
  110. package/templates/data-pipeline/mcp-servers.yaml +13 -13
  111. package/templates/data-pipeline/nfr.yaml +39 -39
  112. package/templates/data-pipeline/structure.yaml +23 -23
  113. package/templates/fintech/hooks.yaml +55 -55
  114. package/templates/fintech/instructions.yaml +112 -112
  115. package/templates/fintech/mcp-servers.yaml +13 -13
  116. package/templates/fintech/nfr.yaml +46 -46
  117. package/templates/fintech/playbook.yaml +210 -210
  118. package/templates/fintech/verification.yaml +239 -239
  119. package/templates/game/instructions.yaml +289 -289
  120. package/templates/game/mcp-servers.yaml +38 -38
  121. package/templates/game/nfr.yaml +64 -64
  122. package/templates/game/playbook.yaml +214 -214
  123. package/templates/game/review.yaml +97 -97
  124. package/templates/game/structure.yaml +67 -67
  125. package/templates/game/verification.yaml +174 -174
  126. package/templates/healthcare/instructions.yaml +42 -42
  127. package/templates/healthcare/mcp-servers.yaml +13 -13
  128. package/templates/healthcare/nfr.yaml +47 -47
  129. package/templates/hipaa/instructions.yaml +41 -41
  130. package/templates/hipaa/mcp-servers.yaml +13 -13
  131. package/templates/infra/instructions.yaml +104 -104
  132. package/templates/infra/mcp-servers.yaml +20 -20
  133. package/templates/infra/nfr.yaml +46 -46
  134. package/templates/infra/review.yaml +65 -65
  135. package/templates/infra/structure.yaml +25 -25
  136. package/templates/library/instructions.yaml +36 -36
  137. package/templates/library/mcp-servers.yaml +20 -20
  138. package/templates/library/review.yaml +56 -56
  139. package/templates/library/structure.yaml +19 -19
  140. package/templates/medallion-architecture/instructions.yaml +41 -41
  141. package/templates/medallion-architecture/mcp-servers.yaml +22 -22
  142. package/templates/ml/instructions.yaml +85 -85
  143. package/templates/ml/mcp-servers.yaml +11 -11
  144. package/templates/ml/nfr.yaml +39 -39
  145. package/templates/ml/structure.yaml +25 -25
  146. package/templates/ml/verification.yaml +156 -156
  147. package/templates/mobile/instructions.yaml +44 -44
  148. package/templates/mobile/mcp-servers.yaml +11 -11
  149. package/templates/mobile/nfr.yaml +49 -49
  150. package/templates/mobile/structure.yaml +27 -27
  151. package/templates/mobile/verification.yaml +121 -121
  152. package/templates/observability-xray/instructions.yaml +40 -40
  153. package/templates/observability-xray/mcp-servers.yaml +15 -15
  154. package/templates/realtime/instructions.yaml +42 -42
  155. package/templates/realtime/mcp-servers.yaml +13 -13
  156. package/templates/soc2/instructions.yaml +41 -41
  157. package/templates/soc2/mcp-servers.yaml +24 -24
  158. package/templates/social/instructions.yaml +43 -43
  159. package/templates/social/mcp-servers.yaml +24 -24
  160. package/templates/state-machine/instructions.yaml +42 -42
  161. package/templates/state-machine/mcp-servers.yaml +11 -11
  162. package/templates/tools-registry.yaml +164 -164
  163. package/templates/universal/hooks.yaml +723 -531
  164. package/templates/universal/instructions.yaml +1692 -1692
  165. package/templates/universal/mcp-servers.yaml +50 -50
  166. package/templates/universal/nfr.yaml +197 -197
  167. package/templates/universal/reference.yaml +326 -326
  168. package/templates/universal/review.yaml +204 -204
  169. package/templates/universal/skills.yaml +262 -262
  170. package/templates/universal/structure.yaml +67 -67
  171. package/templates/universal/verification.yaml +416 -416
  172. package/templates/web-react/hooks.yaml +44 -44
  173. package/templates/web-react/instructions.yaml +207 -207
  174. package/templates/web-react/mcp-servers.yaml +20 -20
  175. package/templates/web-react/nfr.yaml +27 -27
  176. package/templates/web-react/review.yaml +94 -94
  177. package/templates/web-react/structure.yaml +46 -46
  178. package/templates/web-react/verification.yaml +126 -126
  179. package/templates/web-static/instructions.yaml +115 -115
  180. package/templates/web-static/mcp-servers.yaml +20 -20
  181. package/templates/web3/instructions.yaml +44 -44
  182. package/templates/web3/mcp-servers.yaml +11 -11
  183. package/templates/web3/verification.yaml +159 -159
  184. package/templates/zero-trust/instructions.yaml +41 -41
  185. package/templates/zero-trust/mcp-servers.yaml +15 -15
@@ -0,0 +1,251 @@
1
+ /**
2
+ * consolidate_status tool.
3
+ *
4
+ * Produces a compact, structured project state snapshot — cascade score,
5
+ * roadmap progress, recent git activity, and Status.md summary — in one call.
6
+ * Closes the session drift gap: every session prompt starts with current state
7
+ * rather than stale spec state.
8
+ */
9
+ import { z } from "zod";
10
+ import { existsSync, readFileSync } from "node:fs";
11
+ import { join, resolve } from "node:path";
12
+ import { execSync } from "node:child_process";
13
+ import { runCascadeChecks, loadCascadeDecisions } from "./check-cascade.js";
14
+ import { parseRoadmapItems, findNextRoadmapItem, deriveTestCommand, } from "./close-cycle.js";
15
+ import { buildGateViolationReport } from "./gate-violations.js";
16
+ // ── Schema ───────────────────────────────────────────────────────────
17
+ export const consolidateStatusSchema = z.object({
18
+ project_dir: z.string().describe("Absolute path to the project root."),
19
+ });
20
+ // ── Handler ───────────────────────────────────────────────────────────
21
+ /**
22
+ * Produce a live project state snapshot and return it as a text block.
23
+ *
24
+ * @param args - Validated input
25
+ * @returns MCP-style tool result with formatted snapshot text
26
+ */
27
+ export async function consolidateStatusHandler(args) {
28
+ const projectDir = resolve(args.project_dir);
29
+ const snapshot = buildConsolidatedStatus(projectDir);
30
+ return {
31
+ content: [{ type: "text", text: formatConsolidatedStatus(snapshot) }],
32
+ };
33
+ }
34
+ // ── Core builder ──────────────────────────────────────────────────────
35
+ /**
36
+ * Build a ConsolidatedStatus snapshot from the project directory.
37
+ * All reads are non-throwing — missing artifacts produce empty/null fields.
38
+ *
39
+ * @param projectDir - Absolute path to project root
40
+ * @returns Structured project state snapshot
41
+ */
42
+ export function buildConsolidatedStatus(projectDir) {
43
+ const violationReport = buildGateViolationReport(projectDir);
44
+ return {
45
+ generatedAt: new Date().toISOString(),
46
+ ...readCascadeStatus(projectDir),
47
+ roadmap: readRoadmapProgress(projectDir),
48
+ recentCommits: readRecentCommits(projectDir, 5),
49
+ uncommittedFiles: readUncommittedFiles(projectDir, 10),
50
+ testCommand: deriveTestCommand(projectDir) ?? null,
51
+ activeViolationCount: violationReport.active.length,
52
+ activeViolationSummary: violationReport.active.map((v) => `${v.hook}: ${v.message}`),
53
+ statusSummary: readStatusTail(projectDir),
54
+ };
55
+ }
56
+ // ── Section readers ───────────────────────────────────────────────────
57
+ /**
58
+ * Read cascade pass/fail status from the project.
59
+ * Returns unconfigured (required: 0) when no forgecraft.yaml is present.
60
+ * SKIP steps are treated as optional (not counted in required total).
61
+ */
62
+ function readCascadeStatus(projectDir) {
63
+ const yamlPath = join(projectDir, "forgecraft.yaml");
64
+ if (!existsSync(yamlPath)) {
65
+ return { cascadeScore: { passing: 0, required: 0 }, cascadeLines: [] };
66
+ }
67
+ try {
68
+ const decisions = loadCascadeDecisions(projectDir);
69
+ const steps = runCascadeChecks(projectDir, decisions);
70
+ // SKIP status means the step was explicitly marked non-required via a decision.
71
+ const requiredSteps = steps.filter((s) => s.status !== "SKIP");
72
+ const passing = requiredSteps.filter((s) => s.status === "PASS").length;
73
+ const cascadeLines = steps.map((s) => {
74
+ const isOptional = s.status === "SKIP";
75
+ const icon = s.status === "PASS" ? "✅" : isOptional ? "⚠️ " : "❌";
76
+ const suffix = isOptional ? " (optional)" : "";
77
+ return `${icon} ${s.name}${suffix}`;
78
+ });
79
+ return {
80
+ cascadeScore: { passing, required: requiredSteps.length },
81
+ cascadeLines,
82
+ };
83
+ }
84
+ catch {
85
+ return { cascadeScore: { passing: 0, required: 0 }, cascadeLines: [] };
86
+ }
87
+ }
88
+ /**
89
+ * Read roadmap progress: total items, done count, next unblocked item.
90
+ */
91
+ function readRoadmapProgress(projectDir) {
92
+ const roadmapPath = join(projectDir, "docs", "roadmap.md");
93
+ if (!existsSync(roadmapPath))
94
+ return null;
95
+ try {
96
+ const content = readFileSync(roadmapPath, "utf-8");
97
+ const items = parseRoadmapItems(content);
98
+ if (items.length === 0)
99
+ return null;
100
+ const done = items.filter((i) => i.status === "done").length;
101
+ const next = findNextRoadmapItem(projectDir);
102
+ return {
103
+ total: items.length,
104
+ done,
105
+ nextId: next?.id ?? null,
106
+ nextTitle: next?.title ?? null,
107
+ };
108
+ }
109
+ catch {
110
+ return null;
111
+ }
112
+ }
113
+ /**
114
+ * Read the last N git commit subjects from the project directory.
115
+ * Returns empty array when git is unavailable or directory is not a repo.
116
+ */
117
+ export function readRecentCommits(projectDir, count) {
118
+ if (!existsSync(join(projectDir, ".git")))
119
+ return [];
120
+ try {
121
+ const raw = execSync(`git log --oneline -${count}`, {
122
+ cwd: projectDir,
123
+ stdio: ["pipe", "pipe", "pipe"],
124
+ })
125
+ .toString()
126
+ .trim();
127
+ return raw.length === 0
128
+ ? []
129
+ : raw
130
+ .split("\n")
131
+ .map((l) => l.trim())
132
+ .filter((l) => l.length > 0);
133
+ }
134
+ catch {
135
+ return [];
136
+ }
137
+ }
138
+ /**
139
+ * Read uncommitted changed files (staged + unstaged), up to maxFiles.
140
+ * Returns empty array when git is unavailable.
141
+ */
142
+ export function readUncommittedFiles(projectDir, maxFiles) {
143
+ if (!existsSync(join(projectDir, ".git")))
144
+ return [];
145
+ try {
146
+ const raw = execSync("git status --porcelain", {
147
+ cwd: projectDir,
148
+ stdio: ["pipe", "pipe", "pipe"],
149
+ })
150
+ .toString()
151
+ .trim();
152
+ if (raw.length === 0)
153
+ return [];
154
+ return raw
155
+ .split("\n")
156
+ .map((l) => l.trim())
157
+ .filter((l) => l.length > 0)
158
+ .slice(0, maxFiles);
159
+ }
160
+ catch {
161
+ return [];
162
+ }
163
+ }
164
+ /**
165
+ * Read the tail of Status.md, truncated to the last 600 characters.
166
+ */
167
+ function readStatusTail(projectDir) {
168
+ const statusPath = join(projectDir, "Status.md");
169
+ if (!existsSync(statusPath))
170
+ return "(not found)";
171
+ try {
172
+ const content = readFileSync(statusPath, "utf-8");
173
+ return content.length > 600 ? `…\n${content.slice(-600)}` : content;
174
+ }
175
+ catch {
176
+ return "(unreadable)";
177
+ }
178
+ }
179
+ // ── Formatter ─────────────────────────────────────────────────────────
180
+ /**
181
+ * Format a ConsolidatedStatus snapshot as a human-readable markdown block.
182
+ *
183
+ * @param snapshot - The structured snapshot to format
184
+ * @returns Formatted markdown text
185
+ */
186
+ export function formatConsolidatedStatus(snapshot) {
187
+ const lines = [
188
+ "## Project Status Snapshot",
189
+ `_Generated: ${snapshot.generatedAt}_`,
190
+ "",
191
+ ];
192
+ // Cascade
193
+ const { passing, required } = snapshot.cascadeScore;
194
+ const cascadeLabel = required === 0 ? "unconfigured" : `${passing}/${required} required`;
195
+ lines.push(`### Cascade: ${cascadeLabel}`);
196
+ for (const line of snapshot.cascadeLines) {
197
+ lines.push(`- ${line}`);
198
+ }
199
+ lines.push("");
200
+ // Roadmap
201
+ if (snapshot.roadmap) {
202
+ const { done, total, nextId, nextTitle } = snapshot.roadmap;
203
+ lines.push(`### Roadmap: ${done}/${total} done`);
204
+ if (nextId && nextTitle) {
205
+ lines.push(`Next: **${nextId}** — ${nextTitle}`);
206
+ }
207
+ else if (done === total) {
208
+ lines.push("All items complete — ready for hardening.");
209
+ }
210
+ else {
211
+ lines.push("No unblocked items — check dependencies.");
212
+ }
213
+ lines.push("");
214
+ }
215
+ // Recent commits
216
+ if (snapshot.recentCommits.length > 0) {
217
+ lines.push("### Recent commits");
218
+ for (const commit of snapshot.recentCommits) {
219
+ lines.push(`- ${commit}`);
220
+ }
221
+ lines.push("");
222
+ }
223
+ // Uncommitted changes
224
+ if (snapshot.uncommittedFiles.length > 0) {
225
+ lines.push("### Uncommitted changes");
226
+ for (const file of snapshot.uncommittedFiles) {
227
+ lines.push(`- ${file}`);
228
+ }
229
+ lines.push("");
230
+ }
231
+ // Test command
232
+ if (snapshot.testCommand) {
233
+ lines.push(`### Test command: \`${snapshot.testCommand}\``);
234
+ lines.push("");
235
+ }
236
+ // Gate violations
237
+ if (snapshot.activeViolationCount > 0) {
238
+ lines.push(`### ⚠️ Gate Violations: ${snapshot.activeViolationCount} active`);
239
+ for (const summary of snapshot.activeViolationSummary) {
240
+ lines.push(`- ${summary}`);
241
+ }
242
+ lines.push("");
243
+ }
244
+ // Status.md
245
+ lines.push("### Status.md");
246
+ lines.push("```");
247
+ lines.push(snapshot.statusSummary);
248
+ lines.push("```");
249
+ return lines.join("\n");
250
+ }
251
+ //# sourceMappingURL=consolidate-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidate-status.js","sourceRoot":"","sources":["../../src/tools/consolidate-status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-dispatch.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAO,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAwB1D,OAAO,KAAK,EAAE,cAAc,EAAU,MAAM,wBAAwB,CAAC;AAQrE,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,CAAC,CAuOrB"}
1
+ {"version":3,"file":"forgecraft-dispatch.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAO,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA0B1D,OAAO,KAAK,EAAE,cAAc,EAAU,MAAM,wBAAwB,CAAC;AAQrE,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,CAAC,CA4PrB"}
@@ -20,6 +20,8 @@ import { verifyHandler } from "./verify.js";
20
20
  import { adviceHandler } from "./advice.js";
21
21
  import { metricsHandler } from "./metrics.js";
22
22
  import { checkCascadeHandler } from "./check-cascade.js";
23
+ import { consolidateStatusHandler } from "./consolidate-status.js";
24
+ import { readGateViolationsHandler } from "./gate-violations.js";
23
25
  import { generateSessionPromptHandler } from "./generate-session-prompt.js";
24
26
  import { getVerificationStrategyHandler } from "./get-verification-strategy.js";
25
27
  import { recordVerificationHandler, getVerificationStatusHandler, } from "./verification-state.js";
@@ -37,6 +39,9 @@ export async function dispatchForgecraft(args) {
37
39
  mvp: args.mvp,
38
40
  scope_complete: args.scope_complete,
39
41
  has_consumers: args.has_consumers,
42
+ use_codeseeker: args.use_codeseeker,
43
+ use_playwright: args.use_playwright,
44
+ tool_sample_split: args.tool_sample_split,
40
45
  project_type_override: args.project_type_override,
41
46
  tags: args.tags,
42
47
  });
@@ -148,6 +153,14 @@ export async function dispatchForgecraft(args) {
148
153
  return checkCascadeHandler({
149
154
  project_dir: requireParam(args.project_dir, "project_dir", "check_cascade"),
150
155
  });
156
+ case "consolidate_status":
157
+ return consolidateStatusHandler({
158
+ project_dir: requireParam(args.project_dir, "project_dir", "consolidate_status"),
159
+ });
160
+ case "read_gate_violations":
161
+ return readGateViolationsHandler({
162
+ project_dir: requireParam(args.project_dir, "project_dir", "read_gate_violations"),
163
+ });
151
164
  case "generate_session_prompt":
152
165
  return generateSessionPromptHandler({
153
166
  project_dir: requireParam(args.project_dir, "project_dir", "generate_session_prompt"),
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-dispatch.js","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forgecraft-dispatch.js","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,14 @@ export declare function forgecraftHandler(args: ForgecraftArgs): Promise<ToolRes
27
27
  * @returns Formatted multi-line string
28
28
  */
29
29
  export declare function formatAmbiguity(ambiguity: ToolAmbiguity): string;
30
+ /**
31
+ * Apply size annotation and truncation to the first text content item.
32
+ * Leaves short results and non-text content unchanged.
33
+ *
34
+ * @param result - Tool result after ambiguity formatting
35
+ * @returns Result with size annotation applied to text content
36
+ */
37
+ export declare function applyResultAnnotation(result: ToolResult): ToolResult;
30
38
  /**
31
39
  * Prepend formatted ambiguity blocks to the result's text content.
32
40
  * Returns the result unchanged if there are no ambiguities.
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-router.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,CAAC,CAGrB;AAID;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAWhE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAUvE"}
1
+ {"version":3,"file":"forgecraft-router.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,CAAC,CAGrB;AAID;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAWhE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAWpE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAUvE"}
@@ -9,6 +9,7 @@
9
9
  * Dispatch logic lives in forgecraft-dispatch.ts.
10
10
  */
11
11
  import { dispatchForgecraft } from "./forgecraft-dispatch.js";
12
+ import { annotateResult } from "../shared/result-utils.js";
12
13
  export { forgecraftSchema } from "./forgecraft-schema.js";
13
14
  // ── Public handler ───────────────────────────────────────────────────
14
15
  /**
@@ -20,7 +21,7 @@ export { forgecraftSchema } from "./forgecraft-schema.js";
20
21
  */
21
22
  export async function forgecraftHandler(args) {
22
23
  const result = await dispatchForgecraft(args);
23
- return applyAmbiguityFormatting(result);
24
+ return applyResultAnnotation(applyAmbiguityFormatting(result));
24
25
  }
25
26
  // ── Ambiguity formatting ─────────────────────────────────────────────
26
27
  /**
@@ -41,6 +42,25 @@ export function formatAmbiguity(ambiguity) {
41
42
  lines.push(` To resolve: ${ambiguity.resolution_hint}`);
42
43
  return lines.join("\n");
43
44
  }
45
+ /**
46
+ * Apply size annotation and truncation to the first text content item.
47
+ * Leaves short results and non-text content unchanged.
48
+ *
49
+ * @param result - Tool result after ambiguity formatting
50
+ * @returns Result with size annotation applied to text content
51
+ */
52
+ export function applyResultAnnotation(result) {
53
+ const first = result.content[0];
54
+ if (!first || first.type !== "text")
55
+ return result;
56
+ const annotated = annotateResult(first.text);
57
+ if (annotated === first.text)
58
+ return result;
59
+ return {
60
+ ...result,
61
+ content: [{ type: "text", text: annotated }, ...result.content.slice(1)],
62
+ };
63
+ }
44
64
  /**
45
65
  * Prepend formatted ambiguity blocks to the result's text content.
46
66
  * Returns the result unchanged if there are no ambiguities.
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-router.js","sourceRoot":"","sources":["../../src/tools/forgecraft-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,wEAAwE;AAExE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,wEAAwE;AAExE;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAwB;IACtD,MAAM,KAAK,GAAa;QACtB,iBAAiB,SAAS,CAAC,KAAK,EAAE;QAClC,4BAA4B,SAAS,CAAC,aAAa,EAAE;QACrD,iBAAiB,SAAS,CAAC,kBAAkB,EAAE;KAChD,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAkB;IACzD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM;QAAE,OAAO,MAAM,CAAC;IAE/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,GAAG,gBAAgB,cAAc,YAAY,EAAE,CAAC;IAEnE,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"forgecraft-router.js","sourceRoot":"","sources":["../../src/tools/forgecraft-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,wEAAwE;AAExE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,qBAAqB,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,wEAAwE;AAExE;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAwB;IACtD,MAAM,KAAK,GAAa;QACtB,iBAAiB,SAAS,CAAC,KAAK,EAAE;QAClC,4BAA4B,SAAS,CAAC,aAAa,EAAE;QACrD,iBAAiB,SAAS,CAAC,kBAAkB,EAAE;KAChD,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAkB;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAEnD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IAE5C,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACzE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAkB;IACzD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM;QAAE,OAAO,MAAM,CAAC;IAE/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,GAAG,gBAAgB,cAAc,YAAY,EAAE,CAAC;IAEnE,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC"}
@@ -34,6 +34,9 @@ export declare const forgecraftExtendedParams: z.ZodObject<{
34
34
  mvp: z.ZodOptional<z.ZodBoolean>;
35
35
  scope_complete: z.ZodOptional<z.ZodBoolean>;
36
36
  has_consumers: z.ZodOptional<z.ZodBoolean>;
37
+ use_codeseeker: z.ZodOptional<z.ZodBoolean>;
38
+ use_playwright: z.ZodOptional<z.ZodBoolean>;
39
+ tool_sample_split: z.ZodOptional<z.ZodEnum<["tool_and_sample", "tool_only", "content_only"]>>;
37
40
  project_type_override: z.ZodOptional<z.ZodString>;
38
41
  cnt_domain: z.ZodOptional<z.ZodString>;
39
42
  cnt_concern: z.ZodOptional<z.ZodString>;
@@ -42,10 +45,11 @@ export declare const forgecraftExtendedParams: z.ZodObject<{
42
45
  skip_load_test: z.ZodOptional<z.ZodBoolean>;
43
46
  }, "strip", z.ZodTypeAny, {
44
47
  mvp?: boolean | undefined;
48
+ spec_path?: string | undefined;
45
49
  item_description?: string | undefined;
46
50
  acceptance_criteria?: string[] | undefined;
47
51
  scope_note?: string | undefined;
48
- session_type?: "docs" | "test" | "feature" | "fix" | "refactor" | "chore" | undefined;
52
+ session_type?: "docs" | "test" | "fix" | "refactor" | "chore" | "feature" | undefined;
49
53
  uncertainty_level?: "deterministic" | "behavioral" | "stochastic" | "heuristic" | "generative" | undefined;
50
54
  step_id?: string | undefined;
51
55
  phase_id?: string | undefined;
@@ -63,10 +67,12 @@ export declare const forgecraftExtendedParams: z.ZodObject<{
63
67
  cascade_required?: boolean | undefined;
64
68
  cascade_rationale?: string | undefined;
65
69
  cascade_decided_by?: "user" | "assistant" | undefined;
66
- spec_path?: string | undefined;
67
70
  spec_text?: string | undefined;
68
71
  scope_complete?: boolean | undefined;
69
72
  has_consumers?: boolean | undefined;
73
+ use_codeseeker?: boolean | undefined;
74
+ use_playwright?: boolean | undefined;
75
+ tool_sample_split?: "tool_and_sample" | "tool_only" | "content_only" | undefined;
70
76
  project_type_override?: string | undefined;
71
77
  cnt_domain?: string | undefined;
72
78
  cnt_concern?: string | undefined;
@@ -75,10 +81,11 @@ export declare const forgecraftExtendedParams: z.ZodObject<{
75
81
  skip_load_test?: boolean | undefined;
76
82
  }, {
77
83
  mvp?: boolean | undefined;
84
+ spec_path?: string | undefined;
78
85
  item_description?: string | undefined;
79
86
  acceptance_criteria?: string[] | undefined;
80
87
  scope_note?: string | undefined;
81
- session_type?: "docs" | "test" | "feature" | "fix" | "refactor" | "chore" | undefined;
88
+ session_type?: "docs" | "test" | "fix" | "refactor" | "chore" | "feature" | undefined;
82
89
  uncertainty_level?: "deterministic" | "behavioral" | "stochastic" | "heuristic" | "generative" | undefined;
83
90
  step_id?: string | undefined;
84
91
  phase_id?: string | undefined;
@@ -96,10 +103,12 @@ export declare const forgecraftExtendedParams: z.ZodObject<{
96
103
  cascade_required?: boolean | undefined;
97
104
  cascade_rationale?: string | undefined;
98
105
  cascade_decided_by?: "user" | "assistant" | undefined;
99
- spec_path?: string | undefined;
100
106
  spec_text?: string | undefined;
101
107
  scope_complete?: boolean | undefined;
102
108
  has_consumers?: boolean | undefined;
109
+ use_codeseeker?: boolean | undefined;
110
+ use_playwright?: boolean | undefined;
111
+ tool_sample_split?: "tool_and_sample" | "tool_only" | "content_only" | undefined;
103
112
  project_type_override?: string | undefined;
104
113
  cnt_domain?: string | undefined;
105
114
  cnt_concern?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-schema-params.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-schema-params.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgNnC,CAAC"}
1
+ {"version":3,"file":"forgecraft-schema-params.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-schema-params.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2OnC,CAAC"}
@@ -125,6 +125,27 @@ export const forgecraftExtendedParams = z.object({
125
125
  .boolean()
126
126
  .optional()
127
127
  .describe("Phase 2 answer: true = existing users or downstream consumers (behavioral contracts required), false = no consumers yet. Used by: setup_project (phase 2)."),
128
+ use_codeseeker: z
129
+ .boolean()
130
+ .optional()
131
+ .describe("Phase 2 answer: whether to add CodeSeeker for semantic code search. " +
132
+ "Presented as Q4 in Phase 1. Defaults to true when omitted. " +
133
+ "Set false if you already have an equivalent semantic search tool. Used by: setup_project (phase 2)."),
134
+ use_playwright: z
135
+ .boolean()
136
+ .optional()
137
+ .describe("Phase 2 answer: whether to add Playwright MCP for browser automation and E2E/API testing. " +
138
+ "Only asked in Phase 1 for WEB-REACT, WEB-STATIC, or API projects. Defaults to true when omitted. " +
139
+ "Set false if you already have an equivalent browser testing tool. Used by: setup_project (phase 2)."),
140
+ tool_sample_split: z
141
+ .enum(["tool_and_sample", "tool_only", "content_only"])
142
+ .optional()
143
+ .describe("Phase 2 answer: how to handle a spec that conflates a generative tool with a specific " +
144
+ "named creative output (e.g. an AI ghostwriter spec that also describes a specific novel). " +
145
+ "tool_and_sample — build the core tool; write docs/sample-outcome.md with the creative work " +
146
+ "as the first acceptance test. tool_only — named content is illustrative, ignore it. " +
147
+ "content_only — the goal is the creative work itself; tool is an implementation detail. " +
148
+ "Only relevant when Phase 1 reports a tool_vs_sample_output ambiguity. Used by: setup_project (phase 2)."),
128
149
  project_type_override: z
129
150
  .string()
130
151
  .optional()
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-schema-params.js","sourceRoot":"","sources":["../../src/tools/forgecraft-schema-params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forgecraft-schema-params.js","sourceRoot":"","sources":["../../src/tools/forgecraft-schema-params.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Both halves are merged into the final forgecraftSchema.
6
6
  */
7
7
  import { z } from "zod";
8
- export declare const ACTIONS: readonly ["setup_project", "refresh", "scaffold", "generate", "audit", "review", "list", "classify", "add_hook", "add_module", "configure_mcp", "get_reference", "convert", "verify", "advice", "metrics", "check_cascade", "generate_session_prompt", "get_verification_strategy", "record_verification", "verification_status", "generate_adr", "contribute_gate", "generate_diagram", "set_cascade_requirement", "close_cycle", "generate_roadmap", "cnt_add_node", "start_hardening"];
8
+ export declare const ACTIONS: readonly ["setup_project", "refresh", "scaffold", "generate", "audit", "review", "list", "classify", "add_hook", "add_module", "configure_mcp", "get_reference", "convert", "verify", "advice", "metrics", "check_cascade", "generate_session_prompt", "get_verification_strategy", "record_verification", "verification_status", "generate_adr", "contribute_gate", "generate_diagram", "set_cascade_requirement", "close_cycle", "consolidate_status", "read_gate_violations", "generate_roadmap", "cnt_add_node", "start_hardening"];
9
9
  export type Action = (typeof ACTIONS)[number];
10
10
  export declare const forgecraftSchema: z.ZodObject<{
11
11
  action: z.ZodEnum<[string, ...string[]]>;
@@ -80,6 +80,9 @@ export declare const forgecraftSchema: z.ZodObject<{
80
80
  mvp: z.ZodOptional<z.ZodBoolean>;
81
81
  scope_complete: z.ZodOptional<z.ZodBoolean>;
82
82
  has_consumers: z.ZodOptional<z.ZodBoolean>;
83
+ use_codeseeker: z.ZodOptional<z.ZodBoolean>;
84
+ use_playwright: z.ZodOptional<z.ZodBoolean>;
85
+ tool_sample_split: z.ZodOptional<z.ZodEnum<["tool_and_sample", "tool_only", "content_only"]>>;
83
86
  project_type_override: z.ZodOptional<z.ZodString>;
84
87
  cnt_domain: z.ZodOptional<z.ZodString>;
85
88
  cnt_concern: z.ZodOptional<z.ZodString>;
@@ -123,12 +126,13 @@ export declare const forgecraftSchema: z.ZodObject<{
123
126
  pass_threshold?: number | undefined;
124
127
  include_mutation?: boolean | undefined;
125
128
  coverage_dir?: string | undefined;
129
+ spec_path?: string | undefined;
126
130
  merge?: boolean | undefined;
127
131
  resource?: string | undefined;
128
132
  item_description?: string | undefined;
129
133
  acceptance_criteria?: string[] | undefined;
130
134
  scope_note?: string | undefined;
131
- session_type?: "docs" | "test" | "feature" | "fix" | "refactor" | "chore" | undefined;
135
+ session_type?: "docs" | "test" | "fix" | "refactor" | "chore" | "feature" | undefined;
132
136
  uncertainty_level?: "deterministic" | "behavioral" | "stochastic" | "heuristic" | "generative" | undefined;
133
137
  step_id?: string | undefined;
134
138
  phase_id?: string | undefined;
@@ -146,10 +150,12 @@ export declare const forgecraftSchema: z.ZodObject<{
146
150
  cascade_required?: boolean | undefined;
147
151
  cascade_rationale?: string | undefined;
148
152
  cascade_decided_by?: "user" | "assistant" | undefined;
149
- spec_path?: string | undefined;
150
153
  spec_text?: string | undefined;
151
154
  scope_complete?: boolean | undefined;
152
155
  has_consumers?: boolean | undefined;
156
+ use_codeseeker?: boolean | undefined;
157
+ use_playwright?: boolean | undefined;
158
+ tool_sample_split?: "tool_and_sample" | "tool_only" | "content_only" | undefined;
153
159
  project_type_override?: string | undefined;
154
160
  cnt_domain?: string | undefined;
155
161
  cnt_concern?: string | undefined;
@@ -193,12 +199,13 @@ export declare const forgecraftSchema: z.ZodObject<{
193
199
  pass_threshold?: number | undefined;
194
200
  include_mutation?: boolean | undefined;
195
201
  coverage_dir?: string | undefined;
202
+ spec_path?: string | undefined;
196
203
  merge?: boolean | undefined;
197
204
  resource?: string | undefined;
198
205
  item_description?: string | undefined;
199
206
  acceptance_criteria?: string[] | undefined;
200
207
  scope_note?: string | undefined;
201
- session_type?: "docs" | "test" | "feature" | "fix" | "refactor" | "chore" | undefined;
208
+ session_type?: "docs" | "test" | "fix" | "refactor" | "chore" | "feature" | undefined;
202
209
  uncertainty_level?: "deterministic" | "behavioral" | "stochastic" | "heuristic" | "generative" | undefined;
203
210
  step_id?: string | undefined;
204
211
  phase_id?: string | undefined;
@@ -216,10 +223,12 @@ export declare const forgecraftSchema: z.ZodObject<{
216
223
  cascade_required?: boolean | undefined;
217
224
  cascade_rationale?: string | undefined;
218
225
  cascade_decided_by?: "user" | "assistant" | undefined;
219
- spec_path?: string | undefined;
220
226
  spec_text?: string | undefined;
221
227
  scope_complete?: boolean | undefined;
222
228
  has_consumers?: boolean | undefined;
229
+ use_codeseeker?: boolean | undefined;
230
+ use_playwright?: boolean | undefined;
231
+ tool_sample_split?: "tool_and_sample" | "tool_only" | "content_only" | undefined;
223
232
  project_type_override?: string | undefined;
224
233
  cnt_domain?: string | undefined;
225
234
  cnt_concern?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-schema.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,OAAO,2dA8BV,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAY9C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkOK,CAAC;AAEnC,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"forgecraft-schema.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,OAAO,ygBAgCV,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAY9C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmOK,CAAC;AAEnC,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -34,6 +34,8 @@ export const ACTIONS = [
34
34
  "generate_diagram",
35
35
  "set_cascade_requirement",
36
36
  "close_cycle",
37
+ "consolidate_status",
38
+ "read_gate_violations",
37
39
  "generate_roadmap",
38
40
  "cnt_add_node",
39
41
  "start_hardening",
@@ -86,6 +88,7 @@ export const forgecraftSchema = z
86
88
  " generate_roadmap — generate a phased docs/roadmap.md from PRD.md + use-cases.md (gated on cascade)\n\n" +
87
89
  " cnt_add_node — add a new CNT leaf node (.claude/standards/<domain>-<concern>.md)\n\n" +
88
90
  " start_hardening — generate hardening session prompts (pre-release → rc → load test)\n\n" +
91
+ " read_gate_violations — read structured gate violation records from .forgecraft/gate-violations.jsonl\n\n" +
89
92
  "Quick usage examples:\n" +
90
93
  ' To run a cascade check: action="check_cascade"\n' +
91
94
  ' To generate a session prompt: action="generate_session_prompt"\n' +