@warpgogol/forge 5.3.4 → 6.2.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 (253) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/bin/cli.ts +7 -2
  3. package/dist/bin/cli.js +7 -2
  4. package/dist/bin/cli.js.map +1 -1
  5. package/dist/os/adr/adr.module.d.ts.map +1 -1
  6. package/dist/os/adr/adr.module.js +2 -0
  7. package/dist/os/adr/adr.module.js.map +1 -1
  8. package/dist/os/audit/audit.module.d.ts.map +1 -1
  9. package/dist/os/audit/audit.module.js +2 -0
  10. package/dist/os/audit/audit.module.js.map +1 -1
  11. package/dist/os/compass/compass.module.d.ts.map +1 -1
  12. package/dist/os/compass/compass.module.js +47 -15
  13. package/dist/os/compass/compass.module.js.map +1 -1
  14. package/dist/os/compass/handlers/compass-audit-handler.d.ts +2 -0
  15. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -1
  16. package/dist/os/compass/handlers/compass-audit-handler.js +40 -10
  17. package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -1
  18. package/dist/os/compass/handlers/compass-docs-validate.d.ts +13 -0
  19. package/dist/os/compass/handlers/compass-docs-validate.d.ts.map +1 -0
  20. package/dist/os/compass/handlers/compass-docs-validate.js +328 -0
  21. package/dist/os/compass/handlers/compass-docs-validate.js.map +1 -0
  22. package/dist/os/compass/handlers/summary-record.d.ts +11 -2
  23. package/dist/os/compass/handlers/summary-record.d.ts.map +1 -1
  24. package/dist/os/compass/handlers/summary-record.js +95 -15
  25. package/dist/os/compass/handlers/summary-record.js.map +1 -1
  26. package/dist/os/core/core.module.d.ts.map +1 -1
  27. package/dist/os/core/core.module.js +124 -73
  28. package/dist/os/core/core.module.js.map +1 -1
  29. package/dist/os/core/handlers/file-size-lint.d.ts.map +1 -1
  30. package/dist/os/core/handlers/file-size-lint.js +2 -0
  31. package/dist/os/core/handlers/file-size-lint.js.map +1 -1
  32. package/dist/os/exploration/exploration.module.d.ts.map +1 -1
  33. package/dist/os/exploration/exploration.module.js +3 -0
  34. package/dist/os/exploration/exploration.module.js.map +1 -1
  35. package/dist/os/naming/naming-convention.d.ts.map +1 -1
  36. package/dist/os/naming/naming-convention.js +11 -1
  37. package/dist/os/naming/naming-convention.js.map +1 -1
  38. package/dist/os/naming/naming.module.d.ts.map +1 -1
  39. package/dist/os/naming/naming.module.js +9 -2
  40. package/dist/os/naming/naming.module.js.map +1 -1
  41. package/dist/os/notes/notes.module.d.ts.map +1 -1
  42. package/dist/os/notes/notes.module.js +17 -6
  43. package/dist/os/notes/notes.module.js.map +1 -1
  44. package/dist/os/plan/plan.module.d.ts.map +1 -1
  45. package/dist/os/plan/plan.module.js +2 -0
  46. package/dist/os/plan/plan.module.js.map +1 -1
  47. package/dist/os/plugin/plugin.module.d.ts.map +1 -1
  48. package/dist/os/plugin/plugin.module.js +9 -2
  49. package/dist/os/plugin/plugin.module.js.map +1 -1
  50. package/dist/os/program/program.module.d.ts.map +1 -1
  51. package/dist/os/program/program.module.js +19 -4
  52. package/dist/os/program/program.module.js.map +1 -1
  53. package/dist/os/queue/handlers/queue-validate.d.ts.map +1 -1
  54. package/dist/os/queue/handlers/queue-validate.js +154 -7
  55. package/dist/os/queue/handlers/queue-validate.js.map +1 -1
  56. package/dist/os/queue/manifest.d.ts +17 -1
  57. package/dist/os/queue/manifest.d.ts.map +1 -1
  58. package/dist/os/queue/manifest.js +127 -6
  59. package/dist/os/queue/manifest.js.map +1 -1
  60. package/dist/os/queue/queue.module.d.ts.map +1 -1
  61. package/dist/os/queue/queue.module.js +32 -4
  62. package/dist/os/queue/queue.module.js.map +1 -1
  63. package/dist/os/queue/types.d.ts +100 -1
  64. package/dist/os/queue/types.d.ts.map +1 -1
  65. package/dist/os/queue/types.js +44 -0
  66. package/dist/os/queue/types.js.map +1 -1
  67. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -1
  68. package/dist/os/rfc/handlers/implement-stamp.js +30 -8
  69. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -1
  70. package/dist/os/rfc/rfc.module.d.ts.map +1 -1
  71. package/dist/os/rfc/rfc.module.js +25 -6
  72. package/dist/os/rfc/rfc.module.js.map +1 -1
  73. package/dist/os/rfc/types.d.ts +12 -2
  74. package/dist/os/rfc/types.d.ts.map +1 -1
  75. package/dist/os/rfc/types.js +2 -2
  76. package/dist/os/rfc/types.js.map +1 -1
  77. package/dist/os/rfc/verification-evidence.d.ts +21 -0
  78. package/dist/os/rfc/verification-evidence.d.ts.map +1 -1
  79. package/dist/os/rfc/verification-evidence.js +134 -23
  80. package/dist/os/rfc/verification-evidence.js.map +1 -1
  81. package/dist/os/rfc/verification-refresh.d.ts.map +1 -1
  82. package/dist/os/rfc/verification-refresh.js +66 -37
  83. package/dist/os/rfc/verification-refresh.js.map +1 -1
  84. package/dist/os/session/handlers/save.d.ts.map +1 -1
  85. package/dist/os/session/handlers/save.js +42 -5
  86. package/dist/os/session/handlers/save.js.map +1 -1
  87. package/dist/os/session/session.module.d.ts.map +1 -1
  88. package/dist/os/session/session.module.js +5 -0
  89. package/dist/os/session/session.module.js.map +1 -1
  90. package/dist/os/spec/live-spec-merge.d.ts.map +1 -1
  91. package/dist/os/spec/live-spec-merge.js +55 -134
  92. package/dist/os/spec/live-spec-merge.js.map +1 -1
  93. package/dist/os/spec/live-spec-rebuild.d.ts +32 -0
  94. package/dist/os/spec/live-spec-rebuild.d.ts.map +1 -0
  95. package/dist/os/spec/live-spec-rebuild.js +272 -0
  96. package/dist/os/spec/live-spec-rebuild.js.map +1 -0
  97. package/dist/os/spec/live-spec-shared.d.ts +62 -0
  98. package/dist/os/spec/live-spec-shared.d.ts.map +1 -0
  99. package/dist/os/spec/live-spec-shared.js +315 -0
  100. package/dist/os/spec/live-spec-shared.js.map +1 -0
  101. package/dist/os/spec/live-spec-types.d.ts +17 -1
  102. package/dist/os/spec/live-spec-types.d.ts.map +1 -1
  103. package/dist/os/spec/live-spec-types.js +3 -0
  104. package/dist/os/spec/live-spec-types.js.map +1 -1
  105. package/dist/os/spec/live-spec-validate.d.ts.map +1 -1
  106. package/dist/os/spec/live-spec-validate.js +105 -2
  107. package/dist/os/spec/live-spec-validate.js.map +1 -1
  108. package/dist/os/spec/spec-materialize.d.ts +2 -0
  109. package/dist/os/spec/spec-materialize.d.ts.map +1 -1
  110. package/dist/os/spec/spec-materialize.js +45 -5
  111. package/dist/os/spec/spec-materialize.js.map +1 -1
  112. package/dist/os/spec/spec-schema.d.ts +19 -0
  113. package/dist/os/spec/spec-schema.d.ts.map +1 -1
  114. package/dist/os/spec/spec-schema.js +30 -0
  115. package/dist/os/spec/spec-schema.js.map +1 -1
  116. package/dist/os/spec/spec-status.d.ts +4 -0
  117. package/dist/os/spec/spec-status.d.ts.map +1 -1
  118. package/dist/os/spec/spec-status.js +19 -1
  119. package/dist/os/spec/spec-status.js.map +1 -1
  120. package/dist/os/spec/spec-validate.d.ts.map +1 -1
  121. package/dist/os/spec/spec-validate.js +55 -8
  122. package/dist/os/spec/spec-validate.js.map +1 -1
  123. package/dist/os/spec/spec.module.d.ts.map +1 -1
  124. package/dist/os/spec/spec.module.js +84 -8
  125. package/dist/os/spec/spec.module.js.map +1 -1
  126. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +1 -1
  127. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +10 -4
  128. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +1 -1
  129. package/dist/os/werkstatt/werkstatt.module.d.ts.map +1 -1
  130. package/dist/os/werkstatt/werkstatt.module.js +13 -4
  131. package/dist/os/werkstatt/werkstatt.module.js.map +1 -1
  132. package/dist/os/workflow/workflow.module.d.ts.map +1 -1
  133. package/dist/os/workflow/workflow.module.js +13 -5
  134. package/dist/os/workflow/workflow.module.js.map +1 -1
  135. package/dist/src/cli-flags.d.ts.map +1 -1
  136. package/dist/src/cli-flags.js +25 -5
  137. package/dist/src/cli-flags.js.map +1 -1
  138. package/dist/src/config/forge-config.d.ts +3 -0
  139. package/dist/src/config/forge-config.d.ts.map +1 -1
  140. package/dist/src/config/forge-config.js +2 -0
  141. package/dist/src/config/forge-config.js.map +1 -1
  142. package/dist/src/onboarding/doctor.d.ts.map +1 -1
  143. package/dist/src/onboarding/doctor.js +2 -3
  144. package/dist/src/onboarding/doctor.js.map +1 -1
  145. package/dist/src/onboarding/init.d.ts.map +1 -1
  146. package/dist/src/onboarding/init.js +8 -3
  147. package/dist/src/onboarding/init.js.map +1 -1
  148. package/dist/src/pipeline-status.d.ts +14 -1
  149. package/dist/src/pipeline-status.d.ts.map +1 -1
  150. package/dist/src/pipeline-status.js +28 -8
  151. package/dist/src/pipeline-status.js.map +1 -1
  152. package/dist/src/types.d.ts +7 -1
  153. package/dist/src/types.d.ts.map +1 -1
  154. package/dist/src/types.js +6 -0
  155. package/dist/src/types.js.map +1 -1
  156. package/dist/src/utils/generated-marker.d.ts +8 -0
  157. package/dist/src/utils/generated-marker.d.ts.map +1 -1
  158. package/dist/src/utils/generated-marker.js +25 -0
  159. package/dist/src/utils/generated-marker.js.map +1 -1
  160. package/dist/src/validators/skill-validate.d.ts.map +1 -1
  161. package/dist/src/validators/skill-validate.js +2 -4
  162. package/dist/src/validators/skill-validate.js.map +1 -1
  163. package/os/adr/adr.module.ts +2 -0
  164. package/os/audit/audit.module.ts +2 -0
  165. package/os/compass/compass.module.ts +49 -15
  166. package/os/compass/handlers/compass-audit-handler.ts +51 -10
  167. package/os/compass/handlers/compass-docs-validate.ts +361 -0
  168. package/os/compass/handlers/summary-record.ts +106 -15
  169. package/os/compass/handlers/tests/compass-audit-record.test.ts +2 -1
  170. package/os/compass/handlers/tests/compass-audit-validate.test.ts +92 -3
  171. package/os/compass/handlers/tests/compass-docs-validate.test.ts +203 -0
  172. package/os/compass/handlers/tests/compass-ledger-scope.test.ts +2 -1
  173. package/os/compass/handlers/tests/compass-policy.test.ts +7 -1
  174. package/os/compass/handlers/tests/summary-record.test.ts +127 -0
  175. package/os/core/core.module.ts +147 -75
  176. package/os/core/docs-archive.test.ts +136 -0
  177. package/os/core/handlers/file-size-lint.ts +2 -0
  178. package/os/exploration/exploration.module.ts +3 -0
  179. package/os/naming/naming-convention.ts +11 -1
  180. package/os/naming/naming.module.ts +9 -2
  181. package/os/notes/notes.module.ts +17 -6
  182. package/os/plan/plan-0000-template.md +150 -0
  183. package/os/plan/plan.module.ts +2 -0
  184. package/os/plugin/plugin.module.ts +9 -2
  185. package/os/program/program.module.ts +19 -4
  186. package/os/queue/decision-ledger.test.ts +163 -0
  187. package/os/queue/handlers/queue-validate.ts +190 -8
  188. package/os/queue/manifest.ts +201 -7
  189. package/os/queue/queue-validate.test.ts +303 -0
  190. package/os/queue/queue.module.ts +32 -4
  191. package/os/queue/types.ts +56 -1
  192. package/os/rfc/handlers/implement-stamp.ts +37 -8
  193. package/os/rfc/rfc-read-only-no-side-effects.test.ts +1 -0
  194. package/os/rfc/rfc.module.ts +27 -6
  195. package/os/rfc/types.ts +18 -3
  196. package/os/rfc/verification-emit.test.ts +305 -0
  197. package/os/rfc/verification-evidence.ts +149 -24
  198. package/os/rfc/verification-refresh.test.ts +222 -1
  199. package/os/rfc/verification-refresh.ts +74 -38
  200. package/os/session/handlers/save.ts +37 -5
  201. package/os/session/session.module.ts +5 -0
  202. package/os/spec/live-spec-idempotency.pbt.test.ts +222 -0
  203. package/os/spec/live-spec-list-show-validate.test.ts +10 -6
  204. package/os/spec/live-spec-merge.test.ts +187 -7
  205. package/os/spec/live-spec-merge.ts +71 -155
  206. package/os/spec/live-spec-rebuild.test.ts +317 -0
  207. package/os/spec/live-spec-rebuild.ts +356 -0
  208. package/os/spec/live-spec-shared.ts +378 -0
  209. package/os/spec/live-spec-types.ts +21 -1
  210. package/os/spec/live-spec-validate.test.ts +317 -0
  211. package/os/spec/live-spec-validate.ts +106 -2
  212. package/os/spec/spec-materialize.test.ts +192 -0
  213. package/os/spec/spec-materialize.ts +48 -4
  214. package/os/spec/spec-schema.ts +49 -0
  215. package/os/spec/spec-status.ts +24 -0
  216. package/os/spec/spec-validate.test.ts +66 -0
  217. package/os/spec/spec-validate.ts +62 -8
  218. package/os/spec/spec.module.ts +85 -8
  219. package/os/werkstatt/handlers/werkstatt-operation-validate.ts +10 -4
  220. package/os/werkstatt/werkstatt.module.ts +13 -4
  221. package/os/workflow/workflow.module.ts +13 -5
  222. package/package.json +1 -1
  223. package/skills/_shared/fo-pipeline-conventions.md +126 -1
  224. package/skills/fo/fo-doc-audit/SKILL.md +4 -4
  225. package/skills/fo/fo-explore/SKILL.md +2 -1
  226. package/skills/fo/fo-fix/SKILL.md +11 -3
  227. package/skills/fo/fo-handoff/SKILL.md +4 -6
  228. package/skills/fo/fo-idea-create-rfc/SKILL.md +2 -1
  229. package/skills/fo/fo-idea-enhance/SKILL.md +23 -4
  230. package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +86 -22
  231. package/skills/fo/fo-idea-implement/SKILL.md +53 -10
  232. package/skills/fo/fo-idea-plan/SKILL.md +28 -6
  233. package/skills/fo/fo-review/SKILL.md +69 -8
  234. package/skills/fo/fo-session-retro/SKILL.md +3 -2
  235. package/skills/fo/fo-step-commit/SKILL.md +2 -0
  236. package/skills/shared/grilling/SKILL.md +12 -0
  237. package/skills/shared/writing-great-skills/GLOSSARY.md +2 -0
  238. package/skills/shared/writing-great-skills/SKILL.md +2 -1
  239. package/src/cli-flags.ts +23 -5
  240. package/src/config/forge-config.ts +4 -0
  241. package/src/onboarding/doctor.ts +2 -3
  242. package/src/onboarding/init.ts +8 -3
  243. package/src/pipeline-status.ts +32 -8
  244. package/src/tests/cli-flags.test.ts +20 -0
  245. package/src/tests/cli-output.test.ts +13 -7
  246. package/src/tests/fixtures/agents-generate-business-before.txt +7 -7
  247. package/src/tests/implement-stamp.test.ts +38 -0
  248. package/src/tests/session-handlers.test.ts +33 -0
  249. package/src/types.ts +13 -1
  250. package/src/utils/generated-marker.ts +28 -0
  251. package/src/validators/skill-validate.ts +2 -4
  252. package/skills/fo/fo-idea-implement/ADR-FLOW.md +0 -179
  253. package/skills/fo/fo-review/AXES.md +0 -70
@@ -19,6 +19,7 @@ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten
19
19
  <item>RFC-1097: sweep — werkstatt-engine clean
20
20
 
21
21
  Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
22
+ <item>RFC-1249: wire werkstatt.commands.validate into packages.check + retire CMD-OUTPUT debt</item>
22
23
  </CHANGE_SUMMARY>
23
24
  */
24
25
  import { ambientIo as fs } from "../../../src/utils/io.js";
@@ -161,7 +162,9 @@ export async function runSessionSave(input, context) {
161
162
  else {
162
163
  try {
163
164
  const entries = await fs.readdir(rawDirPath);
164
- rawFiles = entries.filter((e) => e.isFile).map((e) => e.name);
165
+ // Only *.atif files are processed — claimed intermediates
166
+ // (*.atif.claim-<pid>) and in-progress writer temp files are skipped.
167
+ rawFiles = entries.filter((e) => e.isFile && e.name.endsWith(".atif")).map((e) => e.name);
165
168
  }
166
169
  catch {
167
170
  rawFiles = [];
@@ -197,9 +200,26 @@ export async function runSessionSave(input, context) {
197
200
  const skipped = [];
198
201
  for (const rawFileName of rawFiles) {
199
202
  const rawFilePath = path.join(rawDirPath, rawFileName);
203
+ // Atomic claim: rename before reading so two concurrent session.save runs
204
+ // (parallel agent sessions) can't process the same file — the losing
205
+ // rename sees ENOENT and skips. Dry-run stays read-only by design.
206
+ let claimedPath = rawFilePath;
207
+ if (!dryRun) {
208
+ claimedPath = `${rawFilePath}.claim-${process.pid}`;
209
+ try {
210
+ await fs.rename(rawFilePath, claimedPath);
211
+ }
212
+ catch (err) {
213
+ if (err.code === "ENOENT") {
214
+ skipped.push({ rawFile: rawFileName, reason: "claimed by another process" });
215
+ continue;
216
+ }
217
+ throw err;
218
+ }
219
+ }
200
220
  let rawContent;
201
221
  try {
202
- rawContent = await fs.readFile(rawFilePath);
222
+ rawContent = await fs.readFile(claimedPath);
203
223
  }
204
224
  catch (err) {
205
225
  if (err.code === "ENOENT") {
@@ -239,7 +259,7 @@ export async function runSessionSave(input, context) {
239
259
  // Delete raw file even when skipping — otherwise .atif files accumulate
240
260
  if (!dryRun && !keepRaw) {
241
261
  try {
242
- await trashPath(rawFilePath);
262
+ await trashPath(claimedPath);
243
263
  }
244
264
  catch (err) {
245
265
  if (err.code !== "ENOENT") {
@@ -247,6 +267,14 @@ export async function runSessionSave(input, context) {
247
267
  }
248
268
  }
249
269
  }
270
+ else if (!dryRun && claimedPath !== rawFilePath) {
271
+ try {
272
+ await fs.rename(claimedPath, rawFilePath);
273
+ }
274
+ catch {
275
+ // best-effort restore
276
+ }
277
+ }
250
278
  continue;
251
279
  }
252
280
  catch {
@@ -265,10 +293,11 @@ export async function runSessionSave(input, context) {
265
293
  catch (metricsErr) {
266
294
  logger.warn(`[metrics] Failed to generate session metrics for ${id}: ${metricsErr.message}`);
267
295
  }
268
- // Delete raw file unless --keep-raw
296
+ // Delete raw file unless --keep-raw (then restore the original name —
297
+ // the claim suffix is an internal detail, not part of the file's name)
269
298
  if (!keepRaw) {
270
299
  try {
271
- await trashPath(rawFilePath);
300
+ await trashPath(claimedPath);
272
301
  }
273
302
  catch (err) {
274
303
  if (err.code !== "ENOENT") {
@@ -276,6 +305,14 @@ export async function runSessionSave(input, context) {
276
305
  }
277
306
  }
278
307
  }
308
+ else if (claimedPath !== rawFilePath) {
309
+ try {
310
+ await fs.rename(claimedPath, rawFilePath);
311
+ }
312
+ catch {
313
+ // best-effort restore — the claimed name remains, still recoverable
314
+ }
315
+ }
279
316
  }
280
317
  const result = {
281
318
  command: "session.save",
@@ -1 +1 @@
1
- {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../../os/session/handlers/save.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../../os/session/handlers/save.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.module.d.ts","sourceRoot":"","sources":["../../../os/session/session.module.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,WAAW,CAAC,CAgJrE"}
1
+ {"version":3,"file":"session.module.d.ts","sourceRoot":"","sources":["../../../os/session/session.module.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,WAAW,CAAC,CAqJrE"}
@@ -53,6 +53,7 @@ export async function createForgeSessionModule() {
53
53
  },
54
54
  {
55
55
  name: "session.archive",
56
+ coverage: "operator",
56
57
  description: "Move session files older than --max-age-days (default 7) from " +
57
58
  "docs/sessions/ to docs/sessions/archive/. Bidirectional: files in " +
58
59
  "archive/ younger than threshold are moved back to docs/sessions/. " +
@@ -79,6 +80,8 @@ export async function createForgeSessionModule() {
79
80
  },
80
81
  {
81
82
  name: "session.validate",
83
+ coverage: "operator",
84
+ coverageNote: "retrospective session-doc audit — pre-existing frontmatter debt",
82
85
  mutatesState: false,
83
86
  contract: "session",
84
87
  rules: [],
@@ -96,6 +99,7 @@ export async function createForgeSessionModule() {
96
99
  },
97
100
  {
98
101
  name: "session.list",
102
+ coverage: "operator",
99
103
  mutatesState: false,
100
104
  description: "List all sessions. Filter with --date-from, --date-to, --rfc, --type flags. " +
101
105
  "Use --json for machine-readable output. Parses frontmatter on the fly. " +
@@ -124,6 +128,7 @@ export async function createForgeSessionModule() {
124
128
  },
125
129
  {
126
130
  name: "metrics.aggregate",
131
+ coverage: "operator",
127
132
  mutatesState: true,
128
133
  description: "Query and aggregate skill effectiveness metrics from docs/metrics/ files. " +
129
134
  "Returns per-skill statistics (invocations, avgFindings, avgFixIterations, avgDurationMs). " +
@@ -1 +1 @@
1
- {"version":3,"file":"session.module.js","sourceRoot":"","sources":["../../../os/session/session.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.module.js","sourceRoot":"","sources":["../../../os/session/session.module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"live-spec-merge.d.ts","sourceRoot":"","sources":["../../../os/spec/live-spec-merge.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EAIV,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAuJ9B,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CA8LlD"}
1
+ {"version":3,"file":"live-spec-merge.d.ts","sourceRoot":"","sources":["../../../os/spec/live-spec-merge.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EAGV,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAgB9B,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAgPlD"}
@@ -2,156 +2,31 @@
2
2
  <MODULE_CONTRACT>
3
3
  <purpose>spec.live.merge handler — extracts deltas from an RFC's ## Design section,
4
4
  classifies them as ADDED/MODIFIED/REMOVED, applies to a living spec with RFC-namespaced
5
- headings, and writes atomically (RFC-0711).</purpose>
5
+ headings, and writes atomically (RFC-0711). Idempotent since RFC-1230: an RFC already
6
+ present in spec history[] is skipped as already-merged unless --force re-merges it.</purpose>
6
7
  <non-goals>
7
8
  <item>Do not handle docs.archive integration — that is in core.module.ts.</item>
8
9
  <item>Do not validate living specs — that is spec.live.validate.</item>
10
+ <item>Do not repair corrupted specs — that is spec.live.rebuild.</item>
9
11
  </non-goals>
10
- </MODULE_CONTRACT>
11
12
  <CHANGE_SUMMARY>
12
13
  <item>RFC-0711: initial spec.live.merge handler with delta extraction, classification, and atomic writes.</item>
13
14
  <item>RFC-0957: namespace headings by RFC ID, remove conflict detection (structurally impossible with namespacing).</item>
15
+ <item>RFC-1230: idempotent merge — already-merged gate keyed on spec history[], --force surgical re-merge via removeNamespacedSections, fail-fast on spec file with unparseable frontmatter; pure helpers moved to live-spec-shared.ts.</item>
16
+ <item>RFC-1230: review findings — scoped droppedSections to namespaced headings, warn on unreadable spec, fail-fast merge on corrupt frontmatter, CHANGE_SUMMARY dedupe</item>
14
17
  </CHANGE_SUMMARY>
15
18
  */
16
19
  import { ambientIo as fs } from "../../src/utils/io.js";
17
20
  import { existsSync } from "../../src/utils/sync-fs.js";
18
21
  import path from "node:path";
19
- import YAML from "yaml";
20
22
  import { writeFileIfChanged, buildGeneratedHeader } from "../../src/utils/index.js";
21
- import { parseRfcFile, listRfcFiles } from "../rfc/frontmatter-io.js";
23
+ import { parseRfcFile } from "../rfc/frontmatter-io.js";
22
24
  import { RFC_DIR } from "../rfc/types.js";
23
- const LIVE_SPECS_DIR = "docs/specs/live";
24
- function extractDesignSection(rfcBody) {
25
- const designMatch = rfcBody.match(/^##\s+Design\s*$/m);
26
- if (!designMatch)
27
- return "";
28
- const startIndex = designMatch.index + designMatch[0].length;
29
- const nextH2Match = rfcBody.slice(startIndex).match(/^##\s+/m);
30
- if (!nextH2Match) {
31
- return rfcBody.slice(startIndex).trim();
32
- }
33
- return rfcBody.slice(startIndex, startIndex + nextH2Match.index).trim();
34
- }
35
- function parseHeadings(content) {
36
- const lines = content.split("\n");
37
- const headings = [];
38
- let currentHeading = null;
39
- let currentBody = [];
40
- for (const line of lines) {
41
- const headingMatch = line.match(/^(#{3,})\s+(.+)$/);
42
- if (headingMatch) {
43
- if (currentHeading) {
44
- currentHeading.body = currentBody.join("\n").trim();
45
- headings.push(currentHeading);
46
- }
47
- currentHeading = {
48
- level: headingMatch[1].length,
49
- text: headingMatch[2].trim(),
50
- body: "",
51
- };
52
- currentBody = [];
53
- }
54
- else if (currentHeading) {
55
- currentBody.push(line);
56
- }
57
- }
58
- if (currentHeading) {
59
- currentHeading.body = currentBody.join("\n").trim();
60
- headings.push(currentHeading);
61
- }
62
- return headings;
63
- }
64
- function deriveDomain(frontmatter) {
65
- const liveSpec = frontmatter["liveSpec"];
66
- if (typeof liveSpec === "string" && liveSpec.length > 0) {
67
- return liveSpec;
68
- }
69
- if (liveSpec === true) {
70
- const packagesImpacted = frontmatter["packagesImpacted"];
71
- if (Array.isArray(packagesImpacted) && packagesImpacted.length > 0) {
72
- const firstPkg = String(packagesImpacted[0]);
73
- return firstPkg.replace(/^packages\//, "").replace(/^@[^/]+\//, "");
74
- }
75
- return null;
76
- }
77
- return null;
78
- }
79
- function parseLivingSpec(content) {
80
- const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);
81
- if (!match)
82
- return null;
83
- const fm = (YAML.parse(match[1]) ?? {});
84
- return {
85
- domain: String(fm["domain"] ?? ""),
86
- title: String(fm["title"] ?? ""),
87
- lastMergedRfc: String(fm["lastMergedRfc"] ?? ""),
88
- updatedAt: String(fm["updatedAt"] ?? ""),
89
- createdAt: String(fm["createdAt"] ?? ""),
90
- history: (Array.isArray(fm["history"]) ? fm["history"] : []),
91
- body: match[2] ?? "",
92
- };
93
- }
94
- function serializeLivingSpec(spec) {
95
- const fm = {
96
- domain: spec.domain,
97
- title: spec.title,
98
- lastMergedRfc: spec.lastMergedRfc,
99
- updatedAt: spec.updatedAt,
100
- createdAt: spec.createdAt,
101
- history: spec.history,
102
- };
103
- const fmStr = YAML.stringify(fm).trimEnd();
104
- return `---\n${fmStr}\n---\n\n${spec.body}`;
105
- }
106
- function findHeadingInSpec(spec, headingText) {
107
- const headings = parseHeadings(spec.body);
108
- return headings.find((h) => h.text === headingText) ?? null;
109
- }
110
- function applyDeltasToSpecBody(specBody, deltas, operations) {
111
- let body = specBody;
112
- for (const delta of deltas) {
113
- const op = operations.find((o) => o.heading === delta.text);
114
- if (!op)
115
- continue;
116
- if (op.type === "added") {
117
- body = `${body}\n\n${"#".repeat(delta.level)} ${delta.text}\n\n${delta.body}`;
118
- }
119
- else if (op.type === "modified") {
120
- const headingRegex = new RegExp(`(${"#".repeat(delta.level)}\\s+${escapeRegex(delta.text)}\\s*\\n)([\\s\\S]*?)(?=#{3,}|$)`);
121
- body = body.replace(headingRegex, `$1\n${delta.body}\n`);
122
- }
123
- else if (op.type === "removed") {
124
- const headingRegex = new RegExp(`\\n*${"#".repeat(delta.level)}\\s+${escapeRegex(delta.text)}\\s*\\n[\\s\\S]*?(?=#{3,}|$)`);
125
- body = body.replace(headingRegex, "\n");
126
- }
127
- }
128
- return body.trim();
129
- }
130
- function escapeRegex(str) {
131
- return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
132
- }
133
- function namespaceHeadings(content, rfcId) {
134
- return content.replace(/^(#{3,})\s+(.+)$/gm, (_match, hashes, text) => {
135
- if (/\(RFC-\d{4}\)$/.test(text))
136
- return `${hashes} ${text}`;
137
- return `${hashes} ${text} (${rfcId})`;
138
- });
139
- }
140
- function findRfcFile(rfcDir, rfcId) {
141
- return (async () => {
142
- const files = await listRfcFiles(rfcDir);
143
- for (const file of files) {
144
- const basename = path.basename(file);
145
- if (basename.toLowerCase().startsWith(rfcId.toLowerCase())) {
146
- return file;
147
- }
148
- }
149
- return null;
150
- })();
151
- }
25
+ import { LIVE_SPECS_DIR, extractDesignSection, parseHeadings, deriveDomain, parseLivingSpec, serializeLivingSpec, findHeadingInSpec, applyDeltasToSpecBody, namespaceHeadings, removeNamespacedSections, findRfcFile, seedSpecPrefix, } from "./live-spec-shared.js";
152
26
  export async function runSpecLiveMerge(input, context) {
153
27
  const { workspaceRoot, logger, outputFormat } = context;
154
28
  const rfcId = String(input.flags["id"] ?? "");
29
+ const force = input.flags["force"] === true;
155
30
  const dryRun = context.dryRun || input.flags["dry-run"] === true;
156
31
  if (!rfcId) {
157
32
  return {
@@ -239,6 +114,52 @@ export async function runSpecLiveMerge(input, context) {
239
114
  if (existsSync(specFilePath)) {
240
115
  const specContent = await fs.readFile(specFilePath);
241
116
  existingSpec = parseLivingSpec(specContent);
117
+ // A spec file whose frontmatter cannot be parsed must not be silently
118
+ // overwritten by the creation path — that would discard its history[].
119
+ if (!existingSpec) {
120
+ return {
121
+ data: {
122
+ command: "spec.live.merge",
123
+ domain,
124
+ operation: "modified",
125
+ deltas: [],
126
+ conflicts: [],
127
+ dryRun,
128
+ },
129
+ exitCode: 1,
130
+ summary: `spec.live.merge: ${domain}.md exists but has no valid frontmatter — inspect or repair via spec.live.rebuild`,
131
+ };
132
+ }
133
+ }
134
+ // RFC-1230: idempotency gate — an RFC already in history[] is a no-op unless
135
+ // --force surgically re-merges (strips its namespaced sections + old entries).
136
+ if (existingSpec) {
137
+ const alreadyMerged = existingSpec.history.some((h) => h.rfc === rfcId);
138
+ if (alreadyMerged && !force) {
139
+ const result = {
140
+ command: "spec.live.merge",
141
+ domain,
142
+ operation: "already-merged",
143
+ deltas: [],
144
+ conflicts: [],
145
+ dryRun,
146
+ };
147
+ if (outputFormat === "pretty") {
148
+ logger.info(`spec.live.merge: ${rfcId} already merged into "${domain}" — skipping (use --force to re-merge)`);
149
+ }
150
+ return {
151
+ data: result,
152
+ exitCode: 0,
153
+ summary: `spec.live.merge: ${rfcId} already merged into ${domain}`,
154
+ };
155
+ }
156
+ if (force) {
157
+ existingSpec = {
158
+ ...existingSpec,
159
+ body: removeNamespacedSections(existingSpec.body, rfcId),
160
+ history: existingSpec.history.filter((h) => h.rfc !== rfcId),
161
+ };
162
+ }
242
163
  }
243
164
  const operations = [];
244
165
  const today = new Date().toISOString().slice(0, 10);
@@ -258,7 +179,7 @@ export async function runSpecLiveMerge(input, context) {
258
179
  updatedAt: today,
259
180
  createdAt: today,
260
181
  history: [{ rfc: rfcId, mergedAt: today, operation: "created" }],
261
- body: `${header}# Living Spec: ${domain}\n\n## Overview\n\n${designSection}`,
182
+ body: `${seedSpecPrefix(domain, header)}${designSection}`,
262
183
  };
263
184
  if (!dryRun) {
264
185
  await fs.mkdir(liveSpecsDir);
@@ -1 +1 @@
1
- {"version":3,"file":"live-spec-merge.js","sourceRoot":"","sources":["../../../os/spec/live-spec-merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-spec-merge.js","sourceRoot":"","sources":["../../../os/spec/live-spec-merge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../src/types.ts";
2
+ import type { LivingSpec, SpecLiveRebuildResult } from "./live-spec-types.ts";
3
+ interface RebuildSummary {
4
+ command: "spec.live.rebuild";
5
+ domains: SpecLiveRebuildResult[];
6
+ dryRun: boolean;
7
+ }
8
+ /** Pure projection core (RFC-1234): reads the spec and replays its history
9
+ * into the canonical regenerated bytes — no writes, no logging. The
10
+ * `projection` field is serialized with the spec's own `updatedAt`, so
11
+ * byte-equality with the committed file means "no drift". Consumed by
12
+ * rebuild (write path) and by spec.live.validate V-LS-09 (compare only). */
13
+ export type LiveSpecProjection = {
14
+ kind: "unreadable";
15
+ } | {
16
+ kind: "invalid-frontmatter";
17
+ } | {
18
+ kind: "empty-history";
19
+ } | {
20
+ kind: "projected";
21
+ spec: LivingSpec;
22
+ content: string;
23
+ projection: string;
24
+ regenerated: LivingSpec;
25
+ uniqueIds: string[];
26
+ unreadableRfcs: string[];
27
+ droppedSections: number;
28
+ };
29
+ export declare function projectLiveSpec(specFilePath: string, domain: string, rfcFiles: readonly string[], rfcDirPath: string): Promise<LiveSpecProjection>;
30
+ export declare function runSpecLiveRebuild(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<RebuildSummary | SpecLiveRebuildResult>>;
31
+ export {};
32
+ //# sourceMappingURL=live-spec-rebuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-spec-rebuild.d.ts","sourceRoot":"","sources":["../../../os/spec/live-spec-rebuild.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EAEV,UAAU,EAEV,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAY9B,UAAU,cAAc;IACtB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;4EAI4E;AAC5E,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAmF7B;AAyFD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAgGrE"}