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.
Files changed (254) hide show
  1. package/README.md +2 -2
  2. package/dist/analyzers/anchors/anchor-loader.d.ts +47 -0
  3. package/dist/analyzers/anchors/anchor-loader.d.ts.map +1 -0
  4. package/dist/analyzers/anchors/anchor-loader.js +113 -0
  5. package/dist/analyzers/anchors/anchor-loader.js.map +1 -0
  6. package/dist/analyzers/anti-pattern.d.ts.map +1 -1
  7. package/dist/analyzers/anti-pattern.js +38 -26
  8. package/dist/analyzers/anti-pattern.js.map +1 -1
  9. package/dist/analyzers/completeness-helpers.d.ts +5 -0
  10. package/dist/analyzers/completeness-helpers.d.ts.map +1 -1
  11. package/dist/analyzers/completeness-helpers.js +17 -0
  12. package/dist/analyzers/completeness-helpers.js.map +1 -1
  13. package/dist/analyzers/completeness.d.ts.map +1 -1
  14. package/dist/analyzers/completeness.js +4 -4
  15. package/dist/analyzers/completeness.js.map +1 -1
  16. package/dist/analyzers/gs-scorer.d.ts +3 -1
  17. package/dist/analyzers/gs-scorer.d.ts.map +1 -1
  18. package/dist/analyzers/gs-scorer.js +5 -2
  19. package/dist/analyzers/gs-scorer.js.map +1 -1
  20. package/dist/analyzers/scorers/composable-scorer.d.ts +4 -2
  21. package/dist/analyzers/scorers/composable-scorer.d.ts.map +1 -1
  22. package/dist/analyzers/scorers/composable-scorer.js +50 -2
  23. package/dist/analyzers/scorers/composable-scorer.js.map +1 -1
  24. package/dist/analyzers/scorers/executable-scorer.d.ts +3 -2
  25. package/dist/analyzers/scorers/executable-scorer.d.ts.map +1 -1
  26. package/dist/analyzers/scorers/executable-scorer.js +64 -4
  27. package/dist/analyzers/scorers/executable-scorer.js.map +1 -1
  28. package/dist/analyzers/scorers/scorer-utils.d.ts +5 -3
  29. package/dist/analyzers/scorers/scorer-utils.d.ts.map +1 -1
  30. package/dist/analyzers/scorers/scorer-utils.js +34 -9
  31. package/dist/analyzers/scorers/scorer-utils.js.map +1 -1
  32. package/dist/analyzers/scorers/self-describing-scorer.d.ts +7 -4
  33. package/dist/analyzers/scorers/self-describing-scorer.d.ts.map +1 -1
  34. package/dist/analyzers/scorers/self-describing-scorer.js +17 -18
  35. package/dist/analyzers/scorers/self-describing-scorer.js.map +1 -1
  36. package/dist/artifacts/commit-hooks.d.ts +1 -1
  37. package/dist/artifacts/commit-hooks.d.ts.map +1 -1
  38. package/dist/artifacts/commit-hooks.js +2 -0
  39. package/dist/artifacts/commit-hooks.js.map +1 -1
  40. package/dist/cli/commands.d.ts +35 -1
  41. package/dist/cli/commands.d.ts.map +1 -1
  42. package/dist/cli/commands.js +109 -2
  43. package/dist/cli/commands.js.map +1 -1
  44. package/dist/cli/help.d.ts.map +1 -1
  45. package/dist/cli/help.js +7 -0
  46. package/dist/cli/help.js.map +1 -1
  47. package/dist/cli.d.ts.map +1 -1
  48. package/dist/cli.js +10 -1
  49. package/dist/cli.js.map +1 -1
  50. package/dist/disciplines/catalog.d.ts +16 -0
  51. package/dist/disciplines/catalog.d.ts.map +1 -0
  52. package/dist/disciplines/catalog.js +196 -0
  53. package/dist/disciplines/catalog.js.map +1 -0
  54. package/dist/disciplines/runner.d.ts +13 -0
  55. package/dist/disciplines/runner.d.ts.map +1 -0
  56. package/dist/disciplines/runner.js +35 -0
  57. package/dist/disciplines/runner.js.map +1 -0
  58. package/dist/registry/remote-gates.js +1 -1
  59. package/dist/registry/remote-gates.js.map +1 -1
  60. package/dist/sentinel/detect.d.ts +41 -0
  61. package/dist/sentinel/detect.d.ts.map +1 -0
  62. package/dist/sentinel/detect.js +122 -0
  63. package/dist/sentinel/detect.js.map +1 -0
  64. package/dist/sentinel/write.d.ts +54 -0
  65. package/dist/sentinel/write.d.ts.map +1 -0
  66. package/dist/sentinel/write.js +75 -0
  67. package/dist/sentinel/write.js.map +1 -0
  68. package/dist/shared/cnt-health.d.ts.map +1 -1
  69. package/dist/shared/cnt-health.js +12 -4
  70. package/dist/shared/cnt-health.js.map +1 -1
  71. package/dist/shared/config.d.ts +8 -0
  72. package/dist/shared/config.d.ts.map +1 -1
  73. package/dist/shared/config.js +23 -0
  74. package/dist/shared/config.js.map +1 -1
  75. package/dist/shared/project-gates-helpers.d.ts +9 -0
  76. package/dist/shared/project-gates-helpers.d.ts.map +1 -1
  77. package/dist/shared/project-gates-helpers.js +35 -0
  78. package/dist/shared/project-gates-helpers.js.map +1 -1
  79. package/dist/shared/result-utils.d.ts +27 -0
  80. package/dist/shared/result-utils.d.ts.map +1 -0
  81. package/dist/shared/result-utils.js +41 -0
  82. package/dist/shared/result-utils.js.map +1 -0
  83. package/dist/shared/types/config.d.ts +7 -1
  84. package/dist/shared/types/config.d.ts.map +1 -1
  85. package/dist/shared/types/gates.d.ts +28 -0
  86. package/dist/shared/types/gates.d.ts.map +1 -1
  87. package/dist/shared/types/project.d.ts +66 -0
  88. package/dist/shared/types/project.d.ts.map +1 -1
  89. package/dist/shared/types/project.js.map +1 -1
  90. package/dist/shared/types/verify.d.ts +51 -1
  91. package/dist/shared/types/verify.d.ts.map +1 -1
  92. package/dist/shared/types/verify.js +37 -1
  93. package/dist/shared/types/verify.js.map +1 -1
  94. package/dist/tools/advise-session-advisor.d.ts +16 -0
  95. package/dist/tools/advise-session-advisor.d.ts.map +1 -0
  96. package/dist/tools/advise-session-advisor.js +89 -0
  97. package/dist/tools/advise-session-advisor.js.map +1 -0
  98. package/dist/tools/advise-session-signals.d.ts +21 -0
  99. package/dist/tools/advise-session-signals.d.ts.map +1 -0
  100. package/dist/tools/advise-session-signals.js +113 -0
  101. package/dist/tools/advise-session-signals.js.map +1 -0
  102. package/dist/tools/advise-session.d.ts +22 -0
  103. package/dist/tools/advise-session.d.ts.map +1 -0
  104. package/dist/tools/advise-session.js +31 -0
  105. package/dist/tools/advise-session.js.map +1 -0
  106. package/dist/tools/change-request.d.ts +53 -0
  107. package/dist/tools/change-request.d.ts.map +1 -0
  108. package/dist/tools/change-request.js +375 -0
  109. package/dist/tools/change-request.js.map +1 -0
  110. package/dist/tools/check-cascade-contracts.d.ts +13 -0
  111. package/dist/tools/check-cascade-contracts.d.ts.map +1 -1
  112. package/dist/tools/check-cascade-contracts.js +73 -2
  113. package/dist/tools/check-cascade-contracts.js.map +1 -1
  114. package/dist/tools/check-cascade.d.ts +4 -3
  115. package/dist/tools/check-cascade.d.ts.map +1 -1
  116. package/dist/tools/check-cascade.js +30 -12
  117. package/dist/tools/check-cascade.js.map +1 -1
  118. package/dist/tools/check-spec-consistency.d.ts +25 -0
  119. package/dist/tools/check-spec-consistency.d.ts.map +1 -0
  120. package/dist/tools/check-spec-consistency.js +339 -0
  121. package/dist/tools/check-spec-consistency.js.map +1 -0
  122. package/dist/tools/check-t4.d.ts +54 -0
  123. package/dist/tools/check-t4.d.ts.map +1 -0
  124. package/dist/tools/check-t4.js +305 -0
  125. package/dist/tools/check-t4.js.map +1 -0
  126. package/dist/tools/close-cycle-helpers.d.ts +21 -2
  127. package/dist/tools/close-cycle-helpers.d.ts.map +1 -1
  128. package/dist/tools/close-cycle-helpers.js +66 -10
  129. package/dist/tools/close-cycle-helpers.js.map +1 -1
  130. package/dist/tools/close-cycle.d.ts +2 -2
  131. package/dist/tools/close-cycle.d.ts.map +1 -1
  132. package/dist/tools/close-cycle.js +342 -4
  133. package/dist/tools/close-cycle.js.map +1 -1
  134. package/dist/tools/consolidate-status.d.ts +112 -0
  135. package/dist/tools/consolidate-status.d.ts.map +1 -0
  136. package/dist/tools/consolidate-status.js +356 -0
  137. package/dist/tools/consolidate-status.js.map +1 -0
  138. package/dist/tools/executable-gates.d.ts +52 -0
  139. package/dist/tools/executable-gates.d.ts.map +1 -0
  140. package/dist/tools/executable-gates.js +332 -0
  141. package/dist/tools/executable-gates.js.map +1 -0
  142. package/dist/tools/forgecraft-dispatch-extended.d.ts.map +1 -1
  143. package/dist/tools/forgecraft-dispatch-extended.js +75 -0
  144. package/dist/tools/forgecraft-dispatch-extended.js.map +1 -1
  145. package/dist/tools/forgecraft-dispatch.d.ts.map +1 -1
  146. package/dist/tools/forgecraft-dispatch.js +21 -0
  147. package/dist/tools/forgecraft-dispatch.js.map +1 -1
  148. package/dist/tools/forgecraft-router.d.ts +8 -0
  149. package/dist/tools/forgecraft-router.d.ts.map +1 -1
  150. package/dist/tools/forgecraft-router.js +21 -1
  151. package/dist/tools/forgecraft-router.js.map +1 -1
  152. package/dist/tools/forgecraft-schema-params.d.ts +61 -4
  153. package/dist/tools/forgecraft-schema-params.d.ts.map +1 -1
  154. package/dist/tools/forgecraft-schema-params.js +95 -0
  155. package/dist/tools/forgecraft-schema-params.js.map +1 -1
  156. package/dist/tools/forgecraft-schema.d.ts +62 -5
  157. package/dist/tools/forgecraft-schema.d.ts.map +1 -1
  158. package/dist/tools/forgecraft-schema.js +24 -0
  159. package/dist/tools/forgecraft-schema.js.map +1 -1
  160. package/dist/tools/gate-violations.d.ts +59 -0
  161. package/dist/tools/gate-violations.d.ts.map +1 -0
  162. package/dist/tools/gate-violations.js +152 -0
  163. package/dist/tools/gate-violations.js.map +1 -0
  164. package/dist/tools/generate-adr.js +6 -6
  165. package/dist/tools/generate-adr.js.map +1 -1
  166. package/dist/tools/generate-env-probe.d.ts +49 -0
  167. package/dist/tools/generate-env-probe.d.ts.map +1 -0
  168. package/dist/tools/generate-env-probe.js +365 -0
  169. package/dist/tools/generate-env-probe.js.map +1 -0
  170. package/dist/tools/generate-harness.d.ts +52 -0
  171. package/dist/tools/generate-harness.d.ts.map +1 -0
  172. package/dist/tools/generate-harness.js +333 -0
  173. package/dist/tools/generate-harness.js.map +1 -0
  174. package/dist/tools/generate-roadmap.d.ts +1 -1
  175. package/dist/tools/generate-roadmap.d.ts.map +1 -1
  176. package/dist/tools/generate-roadmap.js +38 -4
  177. package/dist/tools/generate-roadmap.js.map +1 -1
  178. package/dist/tools/generate-session-prompt.d.ts +4 -4
  179. package/dist/tools/generate-session-prompt.d.ts.map +1 -1
  180. package/dist/tools/generate-session-prompt.js +66 -16
  181. package/dist/tools/generate-session-prompt.js.map +1 -1
  182. package/dist/tools/generate-slo-probe.d.ts +53 -0
  183. package/dist/tools/generate-slo-probe.d.ts.map +1 -0
  184. package/dist/tools/generate-slo-probe.js +366 -0
  185. package/dist/tools/generate-slo-probe.js.map +1 -0
  186. package/dist/tools/layer-status-gates.d.ts +24 -0
  187. package/dist/tools/layer-status-gates.d.ts.map +1 -0
  188. package/dist/tools/layer-status-gates.js +151 -0
  189. package/dist/tools/layer-status-gates.js.map +1 -0
  190. package/dist/tools/layer-status.d.ts +133 -0
  191. package/dist/tools/layer-status.d.ts.map +1 -0
  192. package/dist/tools/layer-status.js +593 -0
  193. package/dist/tools/layer-status.js.map +1 -0
  194. package/dist/tools/postcondition-coverage.d.ts +57 -0
  195. package/dist/tools/postcondition-coverage.d.ts.map +1 -0
  196. package/dist/tools/postcondition-coverage.js +256 -0
  197. package/dist/tools/postcondition-coverage.js.map +1 -0
  198. package/dist/tools/probe-runners.d.ts +21 -0
  199. package/dist/tools/probe-runners.d.ts.map +1 -0
  200. package/dist/tools/probe-runners.js +246 -0
  201. package/dist/tools/probe-runners.js.map +1 -0
  202. package/dist/tools/probe-templates.d.ts +27 -0
  203. package/dist/tools/probe-templates.d.ts.map +1 -0
  204. package/dist/tools/probe-templates.js +279 -0
  205. package/dist/tools/probe-templates.js.map +1 -0
  206. package/dist/tools/propose-session.d.ts +28 -0
  207. package/dist/tools/propose-session.d.ts.map +1 -0
  208. package/dist/tools/propose-session.js +333 -0
  209. package/dist/tools/propose-session.js.map +1 -0
  210. package/dist/tools/roadmap-builder.d.ts +34 -1
  211. package/dist/tools/roadmap-builder.d.ts.map +1 -1
  212. package/dist/tools/roadmap-builder.js +153 -11
  213. package/dist/tools/roadmap-builder.js.map +1 -1
  214. package/dist/tools/run-env-probe.d.ts +57 -0
  215. package/dist/tools/run-env-probe.d.ts.map +1 -0
  216. package/dist/tools/run-env-probe.js +270 -0
  217. package/dist/tools/run-env-probe.js.map +1 -0
  218. package/dist/tools/run-harness.d.ts +52 -0
  219. package/dist/tools/run-harness.d.ts.map +1 -0
  220. package/dist/tools/run-harness.js +279 -0
  221. package/dist/tools/run-harness.js.map +1 -0
  222. package/dist/tools/run-slo-probe.d.ts +50 -0
  223. package/dist/tools/run-slo-probe.d.ts.map +1 -0
  224. package/dist/tools/run-slo-probe.js +281 -0
  225. package/dist/tools/run-slo-probe.js.map +1 -0
  226. package/dist/tools/scaffold-writer.d.ts.map +1 -1
  227. package/dist/tools/scaffold-writer.js +4 -0
  228. package/dist/tools/scaffold-writer.js.map +1 -1
  229. package/dist/tools/session-prompt-builders.d.ts +20 -0
  230. package/dist/tools/session-prompt-builders.d.ts.map +1 -1
  231. package/dist/tools/session-prompt-builders.js +111 -14
  232. package/dist/tools/session-prompt-builders.js.map +1 -1
  233. package/dist/tools/session-prompt-sections.d.ts +4 -2
  234. package/dist/tools/session-prompt-sections.d.ts.map +1 -1
  235. package/dist/tools/session-prompt-sections.js +22 -10
  236. package/dist/tools/session-prompt-sections.js.map +1 -1
  237. package/dist/tools/setup-monitoring.d.ts +41 -0
  238. package/dist/tools/setup-monitoring.d.ts.map +1 -0
  239. package/dist/tools/setup-monitoring.js +364 -0
  240. package/dist/tools/setup-monitoring.js.map +1 -0
  241. package/dist/tools/verify-formatter.d.ts.map +1 -1
  242. package/dist/tools/verify-formatter.js +15 -1
  243. package/dist/tools/verify-formatter.js.map +1 -1
  244. package/dist/tools/verify.d.ts.map +1 -1
  245. package/dist/tools/verify.js +3 -0
  246. package/dist/tools/verify.js.map +1 -1
  247. package/package.json +11 -2
  248. package/templates/api/harness/uc-template.hurl +20 -0
  249. package/templates/docs-manifest.yaml +224 -0
  250. package/templates/game/harness/uc-template.sim.ts +29 -0
  251. package/templates/universal/claude-md-blocks/layer-navigation.md +20 -0
  252. package/templates/universal/claude-md-blocks/nfr-contracts.md +22 -0
  253. package/templates/universal/hooks.yaml +212 -20
  254. package/templates/web-react/harness/uc-template.spec.ts +35 -0
@@ -1 +1 @@
1
- {"version":3,"file":"session-prompt-builders.js","sourceRoot":"","sources":["../../src/tools/session-prompt-builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-prompt-builders.js","sourceRoot":"","sources":["../../src/tools/session-prompt-builders.ts"],"names":[],"mappings":"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"}
@@ -33,9 +33,10 @@ export declare function isServerConfigured(projectDir: string, serverName: strin
33
33
  * Build the TDD Gate section.
34
34
  *
35
35
  * @param conventionalType - Conventional commit type for this session
36
+ * @param level - Practitioner experience level; "experienced" emits compact form
36
37
  * @returns Formatted TDD Gate section
37
38
  */
38
- export declare function buildTddGateSection(conventionalType: string): string;
39
+ export declare function buildTddGateSection(conventionalType: string, level?: "novice" | "experienced"): string;
39
40
  /**
40
41
  * Build the context load block based on which artifacts are present.
41
42
  *
@@ -54,7 +55,8 @@ export declare function buildContextRetrievalSection(projectDir: string): string
54
55
  * Build the Execution Loop section with the derived test command.
55
56
  *
56
57
  * @param testCommand - The test command to embed, or undefined when not yet configured
58
+ * @param level - Practitioner experience level; "experienced" emits compact form
57
59
  * @returns Formatted Execution Loop section
58
60
  */
59
- export declare function buildExecutionLoopSection(testCommand: string | undefined): string;
61
+ export declare function buildExecutionLoopSection(testCommand: string | undefined, level?: "novice" | "experienced"): string;
60
62
  //# sourceMappingURL=session-prompt-sections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-prompt-sections.d.ts","sourceRoot":"","sources":["../../src/tools/session-prompt-sections.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIpE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAO/D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMxE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAUlF;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CASpE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAmCxE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAcvE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAiBjF"}
1
+ {"version":3,"file":"session-prompt-sections.d.ts","sourceRoot":"","sources":["../../src/tools/session-prompt-sections.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIpE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAO/D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMxE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAUlF;AAID;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,EACxB,KAAK,GAAE,QAAQ,GAAG,aAAwB,GACzC,MAAM,CAuBR;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAmCxE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAcvE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,GAAE,QAAQ,GAAG,aAAwB,GACzC,MAAM,CAsBR"}
@@ -63,17 +63,25 @@ export function isServerConfigured(projectDir, serverName) {
63
63
  * Build the TDD Gate section.
64
64
  *
65
65
  * @param conventionalType - Conventional commit type for this session
66
+ * @param level - Practitioner experience level; "experienced" emits compact form
66
67
  * @returns Formatted TDD Gate section
67
68
  */
68
- export function buildTddGateSection(conventionalType) {
69
- let section = `### TDD Gate\n\n`;
70
- section += `Follow strict RED GREEN → REFACTOR.\n`;
71
- section += `1. **RED**: Write the failing test first. Run it. Paste the failure output before writing any implementation.\n`;
72
- section += `2. **GREEN**: Write minimum implementation to pass. Do not proceed until tests pass.\n`;
73
- section += `3. **REFACTOR**: Clean structure while keeping all tests green.\n\n`;
74
- section += `Commit sequence required:\n`;
75
- section += `\`\`\`\ntest(scope): [RED] <describe what the test asserts>\n${conventionalType}(scope): <implement to satisfy the test>\nrefactor(scope): <clean without behavior change> ← only if needed\n\`\`\`\n\n`;
76
- return section;
69
+ export function buildTddGateSection(conventionalType, level = "novice") {
70
+ const commitSequence = `\`\`\`\ntest(scope): [RED] <describe what the test asserts>\n` +
71
+ `${conventionalType}(scope): <implement to satisfy the test>\n` +
72
+ `refactor(scope): <clean without behavior change> ← only if needed\n\`\`\`\n\n`;
73
+ if (level === "experienced") {
74
+ return (`### TDD Gate\n\n` +
75
+ `RED GREEN → REFACTOR. Commit sequence:\n` +
76
+ commitSequence);
77
+ }
78
+ return (`### TDD Gate\n\n` +
79
+ `Follow strict RED → GREEN → REFACTOR.\n` +
80
+ `1. **RED**: Write the failing test first. Run it. Paste the failure output before writing any implementation.\n` +
81
+ `2. **GREEN**: Write minimum implementation to pass. Do not proceed until tests pass.\n` +
82
+ `3. **REFACTOR**: Clean structure while keeping all tests green.\n\n` +
83
+ `Commit sequence required:\n` +
84
+ commitSequence);
77
85
  }
78
86
  /**
79
87
  * Build the context load block based on which artifacts are present.
@@ -135,12 +143,16 @@ export function buildContextRetrievalSection(projectDir) {
135
143
  * Build the Execution Loop section with the derived test command.
136
144
  *
137
145
  * @param testCommand - The test command to embed, or undefined when not yet configured
146
+ * @param level - Practitioner experience level; "experienced" emits compact form
138
147
  * @returns Formatted Execution Loop section
139
148
  */
140
- export function buildExecutionLoopSection(testCommand) {
149
+ export function buildExecutionLoopSection(testCommand, level = "novice") {
141
150
  const commandLine = testCommand
142
151
  ? `**Test command for this project:** \`${testCommand}\``
143
152
  : `**Test command**: Not configured yet — add package.json/pyproject.toml first`;
153
+ if (level === "experienced") {
154
+ return `## Execution Loop\n\n${commandLine}\n\n`;
155
+ }
144
156
  return (`## Execution Loop\n\n` +
145
157
  `Every implementation unit follows this loop. Do not exit until all tests are green.\n\n` +
146
158
  `1. **Write the failing test first** (RED) — run it, confirm it fails for the right reason\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"session-prompt-sections.js","sourceRoot":"","sources":["../../src/tools/session-prompt-sections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-prompt-sections.js","sourceRoot":"","sources":["../../src/tools/session-prompt-sections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * setup_monitoring tool handler.
3
+ *
4
+ * Generates docs/monitoring-spec.md from the project's NFR contracts and
5
+ * behavioral contracts. This is the production contract that forgecraft-eye
6
+ * evaluates runtime signals against at T4.
7
+ *
8
+ * The generated spec contains:
9
+ * - Exception classes that signal specification drift
10
+ * - Alert thresholds with exact numeric criteria
11
+ * - SLO definitions for each service
12
+ * - Correlation ID and PII redaction policy
13
+ * - Property violation mapping (exception → GS property → spec location)
14
+ */
15
+ import { z } from "zod";
16
+ import type { ToolResult } from "../shared/types.js";
17
+ export declare const setupMonitoringSchema: z.ZodObject<{
18
+ project_dir: z.ZodString;
19
+ project_name: z.ZodOptional<z.ZodString>;
20
+ force: z.ZodOptional<z.ZodBoolean>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ project_dir: string;
23
+ project_name?: string | undefined;
24
+ force?: boolean | undefined;
25
+ }, {
26
+ project_dir: string;
27
+ project_name?: string | undefined;
28
+ force?: boolean | undefined;
29
+ }>;
30
+ export type SetupMonitoringInput = z.infer<typeof setupMonitoringSchema>;
31
+ /**
32
+ * Write `.forgecraft/eye-config.yaml` with sensible defaults if absent.
33
+ * Mirrors the shape of `EyeConfig` in forgecraft-eye without importing it.
34
+ *
35
+ * @param projectDir - Absolute path to the project root.
36
+ * @param projectName - Display name used for the CloudWatch log group slug.
37
+ * @returns `true` if the file was created, `false` if it already existed or errored.
38
+ */
39
+ export declare function scaffoldEyeConfig(projectDir: string, projectName: string): boolean;
40
+ export declare function setupMonitoringHandler(args: SetupMonitoringInput): Promise<ToolResult>;
41
+ //# sourceMappingURL=setup-monitoring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-monitoring.d.ts","sourceRoot":"","sources":["../../src/tools/setup-monitoring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAYhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAyPzE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CA8BT;AAID,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,UAAU,CAAC,CAgJrB"}
@@ -0,0 +1,364 @@
1
+ /**
2
+ * setup_monitoring tool handler.
3
+ *
4
+ * Generates docs/monitoring-spec.md from the project's NFR contracts and
5
+ * behavioral contracts. This is the production contract that forgecraft-eye
6
+ * evaluates runtime signals against at T4.
7
+ *
8
+ * The generated spec contains:
9
+ * - Exception classes that signal specification drift
10
+ * - Alert thresholds with exact numeric criteria
11
+ * - SLO definitions for each service
12
+ * - Correlation ID and PII redaction policy
13
+ * - Property violation mapping (exception → GS property → spec location)
14
+ */
15
+ import { z } from "zod";
16
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
17
+ import { join, resolve } from "node:path";
18
+ // ── Schema ───────────────────────────────────────────────────────────
19
+ export const setupMonitoringSchema = z.object({
20
+ project_dir: z.string().describe("Absolute path to the project root."),
21
+ project_name: z
22
+ .string()
23
+ .optional()
24
+ .describe("Project name for the spec header. Inferred from directory name if omitted."),
25
+ force: z
26
+ .boolean()
27
+ .optional()
28
+ .describe("Overwrite existing monitoring-spec.md. Default: false."),
29
+ });
30
+ // ── Source doc paths ─────────────────────────────────────────────────
31
+ const SOURCE_DOCS = [
32
+ "docs/nfr-contracts.md",
33
+ "docs/behavioral-contracts.md",
34
+ "docs/use-cases.md",
35
+ "docs/PRD.md",
36
+ ];
37
+ // ── Template ─────────────────────────────────────────────────────────
38
+ function buildMonitoringSpec(projectName, nfrContent, behavioralContent) {
39
+ const date = new Date().toISOString().slice(0, 10);
40
+ const nfrSection = nfrContent ? extractNfrExceptionClasses(nfrContent) : null;
41
+ return `# Monitoring Specification — ${projectName}
42
+ <!-- Generated by forgecraft setup_monitoring on ${date} -->
43
+ <!-- This document is the T4 production contract. -->
44
+ <!-- forgecraft-eye evaluates runtime signals against these definitions. -->
45
+ <!-- DO NOT state thresholds as "when errors are high" — use exact numeric criteria. -->
46
+
47
+ ---
48
+
49
+ ## 1. Exception Classes
50
+
51
+ Exception classes that signal specification drift. Only exceptions listed here
52
+ trigger T4 diagnostic evaluation — not all exceptions, not error volume.
53
+
54
+ | Exception Class | Severity | GS Property Violated | Spec Location | Chronicle Tag |
55
+ |---|---|---|---|---|
56
+ ${nfrSection?.exceptionRows ?? "| TODO_ExceptionClass | critical | Verifiable | docs/behavioral-contracts.md#TODO | t4-signal |"}
57
+
58
+ **Instructions:** For each exception class:
59
+ 1. State the fully-qualified class name (e.g., \`PaymentRetryExhaustedException\`)
60
+ 2. Assign severity: \`critical\` (T4 immediate), \`warning\` (T4 batched), \`info\` (T4 aggregate)
61
+ 3. Map to the GS property it violates: Verifiable, Auditable, Defended, Composable, etc.
62
+ 4. Reference the exact use case postcondition or invariant in the spec
63
+
64
+ ---
65
+
66
+ ## 2. Alert Thresholds
67
+
68
+ SLO alert definitions with exact numeric criteria. Thresholds stated as
69
+ "when errors are high" are invalid — the diagnostic agent cannot act on them.
70
+
71
+ | Alert Name | Metric | Condition | Duration | Severity | NFR Source |
72
+ |---|---|---|---|---|---|
73
+ ${nfrSection?.alertRows ?? "| error_rate_high | http_request_errors_total / http_requests_total | > 0.005 | 5m | page | NFR-TODO |"}
74
+
75
+ **Instructions:** Every threshold must be:
76
+ - Numeric (exact value, not "high" or "low")
77
+ - Time-bounded (window: 1m, 5m, 15m, 1h)
78
+ - Tied to an NFR contract identifier (NFR-01, NFR-02, etc.)
79
+
80
+ ---
81
+
82
+ ## 3. SLO Definitions
83
+
84
+ PromQL (or equivalent) queries for each service-level objective.
85
+
86
+ \`\`\`yaml
87
+ # Service: TODO_service_name
88
+ # NFR source: docs/nfr-contracts.md#TODO
89
+ slos:
90
+ - id: availability
91
+ query: "sum(rate(http_requests_total{job=\"TODO\",code!~\"5..\"}[5m])) / sum(rate(http_requests_total{job=\"TODO\"}[5m]))"
92
+ threshold: 0.999
93
+ operator: ">="
94
+ window: "30d"
95
+ alert_name: TODO_AvailabilityBreach
96
+
97
+ - id: p95_latency
98
+ query: "histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket{job=\"TODO\"}[5m])) by (le))"
99
+ threshold: 0.5
100
+ operator: "<="
101
+ window: "1h"
102
+ alert_name: TODO_LatencyBreach
103
+ \`\`\`
104
+
105
+ ---
106
+
107
+ ## 4. Correlation ID Schema
108
+
109
+ How requests are traced end-to-end through the system. Required for T4 diagnosis
110
+ to correlate an exception with its originating request context.
111
+
112
+ \`\`\`
113
+ Header: X-Correlation-ID
114
+ Format: UUID v4
115
+ Propagation: all outbound service calls, all log entries, all exception payloads
116
+ Example: X-Correlation-ID: 550e8400-e29b-41d4-a716-446655440000
117
+ \`\`\`
118
+
119
+ **Log format requirement:**
120
+ \`\`\`json
121
+ {
122
+ "timestamp": "ISO-8601",
123
+ "level": "ERROR|WARN|INFO",
124
+ "correlation_id": "UUID",
125
+ "service": "service-name",
126
+ "exception_class": "FullyQualifiedExceptionClass",
127
+ "message": "human-readable description",
128
+ "spec_ref": "docs/behavioral-contracts.md#use-case-id"
129
+ }
130
+ \`\`\`
131
+
132
+ ---
133
+
134
+ ## 5. PII Redaction Policy
135
+
136
+ What must never appear in logs or exception payloads.
137
+
138
+ | Field Category | Examples | Action |
139
+ |---|---|---|
140
+ | Identity | email, full_name, national_id | Redact — replace with \`[REDACTED]\` |
141
+ | Authentication | password, token, API key | Never log |
142
+ | Financial | card number, account number | Mask — last 4 digits only |
143
+ | Medical | diagnosis, prescription | Redact |
144
+ | Location | GPS coordinates, IP address | Anonymize — country-level only |
145
+
146
+ **Implementation:** Redaction must happen at the logging layer, not downstream.
147
+ If a field appears unredacted in a log entry, it is a Defended property violation.
148
+
149
+ ---
150
+
151
+ ## 6. Property Violation Mapping
152
+
153
+ Maps production signals to the GS properties they violate. Used by forgecraft-eye
154
+ to classify diagnoses before writing to Chronicle.
155
+
156
+ | Exception Pattern | GS Property | Diagnosis Template |
157
+ |---|---|---|
158
+ | \`*RetryExhausted*\` | Verifiable | "Retry contract does not cover [exception context]. Update use case postcondition." |
159
+ | \`*AuthorizationFailed*\` | Defended | "Authorization invariant violated at [endpoint]. Verify boundary guard in spec." |
160
+ | \`*ValidationException*\` | Verifiable | "Input contract incomplete — [field] not covered by precondition." |
161
+ | \`*TimeoutException*\` | Verifiable | "Timeout contract missing for [service call]. Add NFR SLO threshold." |
162
+ | \`*NullPointer*\` \| \`*undefined*\` | Verifiable | "Null postcondition not stated — [component] assumes non-null without contract." |
163
+ | \`*SchemaValidation*\` | Self-describing | "Schema contract outdated — regenerate from current spec." |
164
+
165
+ ---
166
+
167
+ ## 7. T4 Signal Queue
168
+
169
+ forgecraft-eye writes signals to \`.forgecraft/t4-signals.json\`.
170
+ Run \`forgecraft check_t4\` at session start to surface pending spec updates.
171
+
172
+ \`\`\`json
173
+ {
174
+ "signals": [
175
+ {
176
+ "id": "sig-YYYYMMDD-HHMMSS-001",
177
+ "timestamp": "ISO-8601",
178
+ "exception_class": "FullyQualifiedExceptionClass",
179
+ "severity": "critical|warning|info",
180
+ "gs_property": "Verifiable|Auditable|Defended|Composable|Executable|Self-describing|Bounded",
181
+ "spec_ref": "docs/behavioral-contracts.md#use-case-id",
182
+ "diagnosis": "Human-readable diagnosis text",
183
+ "suggested_update": "Specific spec change recommendation",
184
+ "status": "pending|acknowledged|resolved",
185
+ "correlation_id": "UUID of originating request"
186
+ }
187
+ ]
188
+ }
189
+ \`\`\`
190
+
191
+ ${behavioralContent ? "## 8. Source NFR Contracts\n\nExtracted from docs/nfr-contracts.md. Review for completeness.\n\n" + formatNfrSummary(behavioralContent) : ""}
192
+ ---
193
+
194
+ *Generated by ForgeCraft T4 setup. Reviewed and extended by practitioner.*
195
+ *forgecraft-eye config: see \`.forgecraft/eye-config.yaml\`*
196
+ `;
197
+ }
198
+ // ── NFR extraction helpers ────────────────────────────────────────────
199
+ function extractNfrExceptionClasses(nfrContent) {
200
+ const lines = nfrContent.split("\n");
201
+ // Look for existing exception class mentions
202
+ const exceptionLines = lines.filter((l) => l.toLowerCase().includes("exception") ||
203
+ l.toLowerCase().includes("error class") ||
204
+ l.toLowerCase().includes("failure mode"));
205
+ // Look for threshold mentions
206
+ const thresholdLines = lines.filter((l) => l.toLowerCase().includes("threshold") ||
207
+ l.toLowerCase().includes("slo") ||
208
+ l.toLowerCase().includes("availability") ||
209
+ l.toLowerCase().includes("latency") ||
210
+ (l.toLowerCase().includes("error") && l.match(/\d+%|\d+ms/)));
211
+ const exceptionRows = exceptionLines.length > 0
212
+ ? exceptionLines
213
+ .slice(0, 5)
214
+ .map((l) => `| \`${l.trim().replace(/[|]/g, "\\|")}\` | critical | Verifiable | docs/behavioral-contracts.md#TODO | t4-signal |`)
215
+ .join("\n")
216
+ : "| TODO_ExceptionClass | critical | Verifiable | docs/behavioral-contracts.md#TODO | t4-signal |";
217
+ const alertRows = thresholdLines.length > 0
218
+ ? thresholdLines
219
+ .slice(0, 3)
220
+ .map((l) => `| TODO_Alert | ${l.trim().replace(/[|]/g, "\\|")} | TODO_duration | warning | NFR-TODO |`)
221
+ .join("\n")
222
+ : "| error_rate_high | http_request_errors_total / http_requests_total | > 0.005 | 5m | page | NFR-TODO |";
223
+ return { exceptionRows, alertRows };
224
+ }
225
+ function formatNfrSummary(content) {
226
+ const lines = content.split("\n");
227
+ const relevant = lines
228
+ .filter((l) => l.startsWith("#") ||
229
+ l.toLowerCase().includes("nfr") ||
230
+ l.toLowerCase().includes("slo") ||
231
+ l.toLowerCase().includes("threshold"))
232
+ .slice(0, 20);
233
+ return (relevant.join("\n") + "\n\n*[See full file for complete NFR contracts]*\n");
234
+ }
235
+ // ── Eye config scaffold ──────────────────────────────────────────────
236
+ /**
237
+ * Write `.forgecraft/eye-config.yaml` with sensible defaults if absent.
238
+ * Mirrors the shape of `EyeConfig` in forgecraft-eye without importing it.
239
+ *
240
+ * @param projectDir - Absolute path to the project root.
241
+ * @param projectName - Display name used for the CloudWatch log group slug.
242
+ * @returns `true` if the file was created, `false` if it already existed or errored.
243
+ */
244
+ export function scaffoldEyeConfig(projectDir, projectName) {
245
+ const configPath = join(projectDir, ".forgecraft", "eye-config.yaml");
246
+ if (existsSync(configPath))
247
+ return false;
248
+ const slug = projectName.toLowerCase().replace(/\s+/g, "-");
249
+ const yaml = [
250
+ `# forgecraft-eye configuration — generated by forgecraft setup_monitoring`,
251
+ `# See: https://github.com/jghiringhelli/forgecraft-eye`,
252
+ ``,
253
+ `project_name: "${projectName}"`,
254
+ `project_dir: "${projectDir}"`,
255
+ `monitoring_spec_path: docs/monitoring-spec.md`,
256
+ `signal_queue_path: .forgecraft/t4-signals.json`,
257
+ `environment: production`,
258
+ `log_adapter: stdin # options: stdin | cloudwatch`,
259
+ ``,
260
+ `# CloudWatch adapter — uncomment and set log_adapter: cloudwatch`,
261
+ `# cloudwatch:`,
262
+ `# log_group_name: /aws/lambda/${slug}`,
263
+ `# region: us-east-1`,
264
+ `# filter_pattern: "?ERROR ?WARN ?Exception"`,
265
+ ].join("\n");
266
+ try {
267
+ mkdirSync(join(projectDir, ".forgecraft"), { recursive: true });
268
+ writeFileSync(configPath, yaml, "utf-8");
269
+ return true;
270
+ }
271
+ catch {
272
+ return false;
273
+ }
274
+ }
275
+ // ── Handler ───────────────────────────────────────────────────────────
276
+ export async function setupMonitoringHandler(args) {
277
+ const projectDir = resolve(args.project_dir);
278
+ const force = args.force ?? false;
279
+ const projectName = args.project_name ?? projectDir.split(/[\\/]/).pop() ?? "Project";
280
+ const outputPath = join(projectDir, "docs", "monitoring-spec.md");
281
+ if (existsSync(outputPath) && !force) {
282
+ return {
283
+ content: [
284
+ {
285
+ type: "text",
286
+ text: [
287
+ "## Monitoring Spec Already Exists",
288
+ "",
289
+ `\`docs/monitoring-spec.md\` already exists at ${outputPath}.`,
290
+ "Pass \`force: true\` to regenerate.",
291
+ "",
292
+ "Run \`forgecraft check_t4\` to surface pending T4 signals.",
293
+ ].join("\n"),
294
+ },
295
+ ],
296
+ };
297
+ }
298
+ // Read available source docs
299
+ let nfrContent = null;
300
+ let behavioralContent = null;
301
+ const sourcesRead = [];
302
+ for (const docPath of SOURCE_DOCS) {
303
+ const fullPath = join(projectDir, docPath);
304
+ if (existsSync(fullPath)) {
305
+ try {
306
+ const content = readFileSync(fullPath, "utf-8");
307
+ if (docPath.includes("nfr")) {
308
+ nfrContent = content;
309
+ sourcesRead.push(docPath);
310
+ }
311
+ else if (docPath.includes("behavioral")) {
312
+ behavioralContent = content;
313
+ sourcesRead.push(docPath);
314
+ }
315
+ }
316
+ catch {
317
+ /* non-fatal — continue with template */
318
+ }
319
+ }
320
+ }
321
+ // Ensure docs/ exists
322
+ try {
323
+ mkdirSync(join(projectDir, "docs"), { recursive: true });
324
+ }
325
+ catch {
326
+ /* already exists */
327
+ }
328
+ const spec = buildMonitoringSpec(projectName, nfrContent, behavioralContent);
329
+ try {
330
+ writeFileSync(outputPath, spec, "utf-8");
331
+ }
332
+ catch (err) {
333
+ return {
334
+ content: [
335
+ {
336
+ type: "text",
337
+ text: `Error writing monitoring-spec.md: ${String(err)}`,
338
+ },
339
+ ],
340
+ };
341
+ }
342
+ const eyeConfigCreated = scaffoldEyeConfig(projectDir, projectName);
343
+ const lines = [
344
+ "## Monitoring Spec Generated",
345
+ "",
346
+ `Generated: \`docs/monitoring-spec.md\``,
347
+ ...(eyeConfigCreated
348
+ ? [
349
+ "Generated: `.forgecraft/eye-config.yaml` (forgecraft-eye adapter config)",
350
+ ]
351
+ : []),
352
+ "",
353
+ ];
354
+ if (sourcesRead.length > 0) {
355
+ lines.push(`Sources read: ${sourcesRead.map((s) => `\`${s}\``).join(", ")}`);
356
+ lines.push("");
357
+ }
358
+ else {
359
+ lines.push("⚠️ No NFR contracts found — spec generated from template.", "Add `docs/nfr-contracts.md` and re-run for project-specific thresholds.", "");
360
+ }
361
+ lines.push("## Required Next Steps", "", "The generated spec contains TODO placeholders. Before T4 is operational:", "", "1. **Fill exception classes** (Section 1) — list the specific exception classes", " that indicate specification drift in your system. Map each to the GS property", " it violates and the spec location that governs it.", "", "2. **State exact thresholds** (Section 2) — replace all TODO_threshold values", " with numeric criteria. 'When errors are high' is not a valid threshold.", "", "3. **Add SLO queries** (Section 3) — replace TODO PromQL queries with actual", " metric names from your observability stack.", "", "4. **Install forgecraft-eye** — the T4 diagnostic agent that evaluates production logs", " against your monitoring spec and writes signals to the queue.", " ```bash", " npm install forgecraft-eye", " # Pipe logs in production:", " my-service 2>&1 | npx forgecraft-eye", " # Or invoke programmatically:", " # import { runEyeFromConfig } from 'forgecraft-eye';", " # await runEyeFromConfig(projectDir);", " ```", " npm: https://www.npmjs.com/package/forgecraft-eye", " Source: https://github.com/jghiringhelli/forgecraft-eye", "", "5. **Run `forgecraft check_t4`** at the start of each session to surface", " pending T4 signals from the production queue.", "", "## T4 Architecture Summary", "", "```", "Production exception fires", " → forgecraft-eye evaluates against monitoring-spec.md", " → writes to .forgecraft/t4-signals.json", " → next session: forgecraft check_t4 surfaces pending signals", " → practitioner approves spec update", " → AI derives fix from updated specification", " → T2 verifies, T3 deploys", "```");
362
+ return { content: [{ type: "text", text: lines.join("\n") }] };
363
+ }
364
+ //# sourceMappingURL=setup-monitoring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-monitoring.js","sourceRoot":"","sources":["../../src/tools/setup-monitoring.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify-formatter.d.ts","sourceRoot":"","sources":["../../src/tools/verify-formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,oBAAoB,CAAC;AAExE;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAoF5E"}
1
+ {"version":3,"file":"verify-formatter.d.ts","sourceRoot":"","sources":["../../src/tools/verify-formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,oBAAoB,CAAC;AAExE;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAuG5E"}
@@ -11,8 +11,11 @@
11
11
  export function formatReport(result, threshold) {
12
12
  const lines = [];
13
13
  const badge = result.overallPass ? "✅ PASS" : "❌ FAIL";
14
+ const tierBadge = `Tier ${result.maturityTier.tier} — ${result.maturityTier.name}`;
14
15
  lines.push(`# ForgeCraft Verify — ${badge}`);
15
16
  lines.push("");
17
+ lines.push(`**GS Maturity: ${tierBadge}** · ${result.maturityTier.description}`);
18
+ lines.push("");
16
19
  // Test suite section
17
20
  lines.push("## Test Suite");
18
21
  const testBadge = result.testSuite.passed ? "✅ PASS" : "❌ FAIL";
@@ -72,10 +75,21 @@ export function formatReport(result, threshold) {
72
75
  }
73
76
  }
74
77
  lines.push("");
78
+ // Tier progression
79
+ const nextTierThreshold = [4, 7, 11, 14, 14];
80
+ const currentTier = result.maturityTier.tier;
81
+ if (currentTier < 5) {
82
+ const next = nextTierThreshold[currentTier - 1];
83
+ const gap = next - result.totalScore;
84
+ const nextNames = ["Grounded", "Specified", "Verified", "Orchestrated"];
85
+ lines.push(`## GS Maturity Progression`);
86
+ lines.push(`Current: **Tier ${currentTier} — ${result.maturityTier.name}** · ${gap} point(s) to Tier ${currentTier + 1} — ${nextNames[currentTier - 1]}`);
87
+ lines.push("");
88
+ }
75
89
  // Summary
76
90
  lines.push("---");
77
91
  const maxScoreSummary = result.propertyScores.length * 2;
78
- lines.push(`**Overall: ${result.overallPass ? "✅ PASS" : "❌ FAIL"}** · Score ${result.totalScore}/${maxScoreSummary} · Threshold ${threshold}/${maxScoreSummary}`);
92
+ lines.push(`**Overall: ${result.overallPass ? "✅ PASS" : "❌ FAIL"}** · Score ${result.totalScore}/${maxScoreSummary} · Threshold ${threshold}/${maxScoreSummary} · **Tier ${currentTier} — ${result.maturityTier.name}**`);
79
93
  return lines.join("\n");
80
94
  }
81
95
  /** Return emoji for a 0–2 score. */
@@ -1 +1 @@
1
- {"version":3,"file":"verify-formatter.js","sourceRoot":"","sources":["../../src/tools/verify-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-formatter.js","sourceRoot":"","sources":["../../src/tools/verify-formatter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;EA4BvB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAIvD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAgC7D"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;EA4BvB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAIvD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAkC7D"}