@warpgogol/forge 5.3.4 → 6.0.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 (235) 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 +39 -9
  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 +326 -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 +93 -5
  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/exploration/exploration.module.d.ts.map +1 -1
  30. package/dist/os/exploration/exploration.module.js +3 -0
  31. package/dist/os/exploration/exploration.module.js.map +1 -1
  32. package/dist/os/naming/naming.module.d.ts.map +1 -1
  33. package/dist/os/naming/naming.module.js +9 -2
  34. package/dist/os/naming/naming.module.js.map +1 -1
  35. package/dist/os/notes/notes.module.d.ts.map +1 -1
  36. package/dist/os/notes/notes.module.js +17 -6
  37. package/dist/os/notes/notes.module.js.map +1 -1
  38. package/dist/os/plan/plan.module.d.ts.map +1 -1
  39. package/dist/os/plan/plan.module.js +2 -0
  40. package/dist/os/plan/plan.module.js.map +1 -1
  41. package/dist/os/plugin/plugin.module.d.ts.map +1 -1
  42. package/dist/os/plugin/plugin.module.js +9 -2
  43. package/dist/os/plugin/plugin.module.js.map +1 -1
  44. package/dist/os/program/program.module.d.ts.map +1 -1
  45. package/dist/os/program/program.module.js +19 -4
  46. package/dist/os/program/program.module.js.map +1 -1
  47. package/dist/os/queue/handlers/queue-validate.d.ts.map +1 -1
  48. package/dist/os/queue/handlers/queue-validate.js +154 -7
  49. package/dist/os/queue/handlers/queue-validate.js.map +1 -1
  50. package/dist/os/queue/manifest.d.ts +17 -1
  51. package/dist/os/queue/manifest.d.ts.map +1 -1
  52. package/dist/os/queue/manifest.js +127 -6
  53. package/dist/os/queue/manifest.js.map +1 -1
  54. package/dist/os/queue/queue.module.d.ts.map +1 -1
  55. package/dist/os/queue/queue.module.js +32 -4
  56. package/dist/os/queue/queue.module.js.map +1 -1
  57. package/dist/os/queue/types.d.ts +100 -1
  58. package/dist/os/queue/types.d.ts.map +1 -1
  59. package/dist/os/queue/types.js +44 -0
  60. package/dist/os/queue/types.js.map +1 -1
  61. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -1
  62. package/dist/os/rfc/handlers/implement-stamp.js +28 -5
  63. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -1
  64. package/dist/os/rfc/rfc.module.d.ts.map +1 -1
  65. package/dist/os/rfc/rfc.module.js +27 -3
  66. package/dist/os/rfc/rfc.module.js.map +1 -1
  67. package/dist/os/rfc/types.d.ts +11 -0
  68. package/dist/os/rfc/types.d.ts.map +1 -1
  69. package/dist/os/rfc/types.js +1 -0
  70. package/dist/os/rfc/types.js.map +1 -1
  71. package/dist/os/rfc/verification-evidence.d.ts +21 -0
  72. package/dist/os/rfc/verification-evidence.d.ts.map +1 -1
  73. package/dist/os/rfc/verification-evidence.js +140 -23
  74. package/dist/os/rfc/verification-evidence.js.map +1 -1
  75. package/dist/os/rfc/verification-refresh.d.ts.map +1 -1
  76. package/dist/os/rfc/verification-refresh.js +72 -37
  77. package/dist/os/rfc/verification-refresh.js.map +1 -1
  78. package/dist/os/session/handlers/save.d.ts.map +1 -1
  79. package/dist/os/session/handlers/save.js +46 -5
  80. package/dist/os/session/handlers/save.js.map +1 -1
  81. package/dist/os/session/session.module.d.ts.map +1 -1
  82. package/dist/os/session/session.module.js +5 -0
  83. package/dist/os/session/session.module.js.map +1 -1
  84. package/dist/os/spec/live-spec-merge.d.ts.map +1 -1
  85. package/dist/os/spec/live-spec-merge.js +55 -134
  86. package/dist/os/spec/live-spec-merge.js.map +1 -1
  87. package/dist/os/spec/live-spec-rebuild.d.ts +32 -0
  88. package/dist/os/spec/live-spec-rebuild.d.ts.map +1 -0
  89. package/dist/os/spec/live-spec-rebuild.js +272 -0
  90. package/dist/os/spec/live-spec-rebuild.js.map +1 -0
  91. package/dist/os/spec/live-spec-shared.d.ts +62 -0
  92. package/dist/os/spec/live-spec-shared.d.ts.map +1 -0
  93. package/dist/os/spec/live-spec-shared.js +315 -0
  94. package/dist/os/spec/live-spec-shared.js.map +1 -0
  95. package/dist/os/spec/live-spec-types.d.ts +17 -1
  96. package/dist/os/spec/live-spec-types.d.ts.map +1 -1
  97. package/dist/os/spec/live-spec-types.js +3 -0
  98. package/dist/os/spec/live-spec-types.js.map +1 -1
  99. package/dist/os/spec/live-spec-validate.d.ts.map +1 -1
  100. package/dist/os/spec/live-spec-validate.js +105 -2
  101. package/dist/os/spec/live-spec-validate.js.map +1 -1
  102. package/dist/os/spec/spec-materialize.d.ts +2 -0
  103. package/dist/os/spec/spec-materialize.d.ts.map +1 -1
  104. package/dist/os/spec/spec-materialize.js +45 -5
  105. package/dist/os/spec/spec-materialize.js.map +1 -1
  106. package/dist/os/spec/spec-schema.d.ts +19 -0
  107. package/dist/os/spec/spec-schema.d.ts.map +1 -1
  108. package/dist/os/spec/spec-schema.js +30 -0
  109. package/dist/os/spec/spec-schema.js.map +1 -1
  110. package/dist/os/spec/spec-status.d.ts +4 -0
  111. package/dist/os/spec/spec-status.d.ts.map +1 -1
  112. package/dist/os/spec/spec-status.js +19 -1
  113. package/dist/os/spec/spec-status.js.map +1 -1
  114. package/dist/os/spec/spec-validate.d.ts.map +1 -1
  115. package/dist/os/spec/spec-validate.js +55 -8
  116. package/dist/os/spec/spec-validate.js.map +1 -1
  117. package/dist/os/spec/spec.module.d.ts.map +1 -1
  118. package/dist/os/spec/spec.module.js +84 -8
  119. package/dist/os/spec/spec.module.js.map +1 -1
  120. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +1 -1
  121. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +10 -4
  122. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +1 -1
  123. package/dist/os/werkstatt/werkstatt.module.d.ts.map +1 -1
  124. package/dist/os/werkstatt/werkstatt.module.js +13 -4
  125. package/dist/os/werkstatt/werkstatt.module.js.map +1 -1
  126. package/dist/os/workflow/workflow.module.d.ts.map +1 -1
  127. package/dist/os/workflow/workflow.module.js +13 -5
  128. package/dist/os/workflow/workflow.module.js.map +1 -1
  129. package/dist/src/cli-flags.d.ts.map +1 -1
  130. package/dist/src/cli-flags.js +25 -5
  131. package/dist/src/cli-flags.js.map +1 -1
  132. package/dist/src/config/forge-config.d.ts +3 -0
  133. package/dist/src/config/forge-config.d.ts.map +1 -1
  134. package/dist/src/config/forge-config.js +2 -0
  135. package/dist/src/config/forge-config.js.map +1 -1
  136. package/dist/src/onboarding/init.d.ts.map +1 -1
  137. package/dist/src/onboarding/init.js +8 -3
  138. package/dist/src/onboarding/init.js.map +1 -1
  139. package/dist/src/pipeline-status.d.ts +14 -1
  140. package/dist/src/pipeline-status.d.ts.map +1 -1
  141. package/dist/src/pipeline-status.js +28 -8
  142. package/dist/src/pipeline-status.js.map +1 -1
  143. package/dist/src/types.d.ts +7 -1
  144. package/dist/src/types.d.ts.map +1 -1
  145. package/dist/src/types.js +6 -0
  146. package/dist/src/types.js.map +1 -1
  147. package/dist/src/utils/generated-marker.d.ts +8 -0
  148. package/dist/src/utils/generated-marker.d.ts.map +1 -1
  149. package/dist/src/utils/generated-marker.js +25 -0
  150. package/dist/src/utils/generated-marker.js.map +1 -1
  151. package/os/adr/adr.module.ts +2 -0
  152. package/os/audit/audit.module.ts +2 -0
  153. package/os/compass/compass.module.ts +49 -15
  154. package/os/compass/handlers/compass-audit-handler.ts +50 -9
  155. package/os/compass/handlers/compass-docs-validate.ts +359 -0
  156. package/os/compass/handlers/summary-record.ts +104 -5
  157. package/os/compass/handlers/tests/compass-audit-record.test.ts +2 -1
  158. package/os/compass/handlers/tests/compass-audit-validate.test.ts +92 -3
  159. package/os/compass/handlers/tests/compass-docs-validate.test.ts +203 -0
  160. package/os/compass/handlers/tests/compass-ledger-scope.test.ts +2 -1
  161. package/os/compass/handlers/tests/summary-record.test.ts +127 -0
  162. package/os/core/core.module.ts +147 -75
  163. package/os/core/docs-archive.test.ts +136 -0
  164. package/os/exploration/exploration.module.ts +3 -0
  165. package/os/naming/naming.module.ts +9 -2
  166. package/os/notes/notes.module.ts +17 -6
  167. package/os/plan/plan-0000-template.md +150 -0
  168. package/os/plan/plan.module.ts +2 -0
  169. package/os/plugin/plugin.module.ts +9 -2
  170. package/os/program/program.module.ts +19 -4
  171. package/os/queue/decision-ledger.test.ts +163 -0
  172. package/os/queue/handlers/queue-validate.ts +190 -8
  173. package/os/queue/manifest.ts +201 -7
  174. package/os/queue/queue-validate.test.ts +303 -0
  175. package/os/queue/queue.module.ts +32 -4
  176. package/os/queue/types.ts +56 -1
  177. package/os/rfc/handlers/implement-stamp.ts +35 -5
  178. package/os/rfc/rfc.module.ts +29 -3
  179. package/os/rfc/types.ts +17 -1
  180. package/os/rfc/verification-emit.test.ts +305 -0
  181. package/os/rfc/verification-evidence.ts +155 -24
  182. package/os/rfc/verification-refresh.test.ts +222 -1
  183. package/os/rfc/verification-refresh.ts +80 -38
  184. package/os/session/handlers/save.ts +41 -5
  185. package/os/session/session.module.ts +5 -0
  186. package/os/spec/live-spec-idempotency.pbt.test.ts +222 -0
  187. package/os/spec/live-spec-list-show-validate.test.ts +10 -6
  188. package/os/spec/live-spec-merge.test.ts +187 -7
  189. package/os/spec/live-spec-merge.ts +71 -155
  190. package/os/spec/live-spec-rebuild.test.ts +317 -0
  191. package/os/spec/live-spec-rebuild.ts +356 -0
  192. package/os/spec/live-spec-shared.ts +378 -0
  193. package/os/spec/live-spec-types.ts +21 -1
  194. package/os/spec/live-spec-validate.test.ts +317 -0
  195. package/os/spec/live-spec-validate.ts +106 -2
  196. package/os/spec/spec-materialize.test.ts +192 -0
  197. package/os/spec/spec-materialize.ts +48 -4
  198. package/os/spec/spec-schema.ts +49 -0
  199. package/os/spec/spec-status.ts +24 -0
  200. package/os/spec/spec-validate.test.ts +66 -0
  201. package/os/spec/spec-validate.ts +62 -8
  202. package/os/spec/spec.module.ts +85 -8
  203. package/os/werkstatt/handlers/werkstatt-operation-validate.ts +10 -4
  204. package/os/werkstatt/werkstatt.module.ts +13 -4
  205. package/os/workflow/workflow.module.ts +13 -5
  206. package/package.json +1 -1
  207. package/skills/_shared/fo-pipeline-conventions.md +126 -1
  208. package/skills/fo/fo-doc-audit/SKILL.md +4 -4
  209. package/skills/fo/fo-explore/SKILL.md +2 -1
  210. package/skills/fo/fo-fix/SKILL.md +11 -3
  211. package/skills/fo/fo-handoff/SKILL.md +4 -6
  212. package/skills/fo/fo-idea-create-rfc/SKILL.md +2 -1
  213. package/skills/fo/fo-idea-enhance/SKILL.md +23 -4
  214. package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +86 -22
  215. package/skills/fo/fo-idea-implement/SKILL.md +53 -10
  216. package/skills/fo/fo-idea-plan/SKILL.md +28 -6
  217. package/skills/fo/fo-review/SKILL.md +69 -8
  218. package/skills/fo/fo-session-retro/SKILL.md +3 -2
  219. package/skills/fo/fo-step-commit/SKILL.md +2 -0
  220. package/skills/shared/grilling/SKILL.md +12 -0
  221. package/skills/shared/writing-great-skills/GLOSSARY.md +2 -0
  222. package/skills/shared/writing-great-skills/SKILL.md +2 -1
  223. package/src/cli-flags.ts +23 -5
  224. package/src/config/forge-config.ts +4 -0
  225. package/src/onboarding/init.ts +8 -3
  226. package/src/pipeline-status.ts +32 -8
  227. package/src/tests/cli-flags.test.ts +20 -0
  228. package/src/tests/cli-output.test.ts +13 -7
  229. package/src/tests/fixtures/agents-generate-business-before.txt +7 -7
  230. package/src/tests/implement-stamp.test.ts +38 -0
  231. package/src/tests/session-handlers.test.ts +33 -0
  232. package/src/types.ts +13 -1
  233. package/src/utils/generated-marker.ts +28 -0
  234. package/skills/fo/fo-idea-implement/ADR-FLOW.md +0 -179
  235. package/skills/fo/fo-review/AXES.md +0 -70
@@ -24,6 +24,7 @@ export async function createForgeExplorationModule() {
24
24
  commands: [
25
25
  {
26
26
  name: "exploration.list",
27
+ coverage: "operator",
27
28
  description: "List all exploration notes in docs/explorations/. Returns id, title, status, and createdAt for each note. " +
28
29
  "Use --status <status> to filter by status (open, explored, archived). " +
29
30
  "Returns an empty list with exit code 0 if the directory is empty or missing.",
@@ -42,6 +43,7 @@ export async function createForgeExplorationModule() {
42
43
  },
43
44
  {
44
45
  name: "exploration.show",
46
+ coverage: "operator",
45
47
  description: "Show the full content of a single exploration note. Use --id <slug> to specify the note slug " +
46
48
  "(kebab-case, lowercase, latin-only). Returns the note's frontmatter and body. " +
47
49
  "Returns exit code 1 if the note is not found.",
@@ -61,6 +63,7 @@ export async function createForgeExplorationModule() {
61
63
  },
62
64
  {
63
65
  name: "exploration.archive",
66
+ coverage: "operator",
64
67
  description: "Archive an exploration note by setting its status to 'archived'. Use --id <slug> to specify the note. " +
65
68
  "Use --rfc <RFC-XXXX> to add an RFC id to the note's 'related' field. " +
66
69
  "Idempotent — if the note is already archived, returns exit code 0 with no changes. " +
@@ -1 +1 @@
1
- {"version":3,"file":"exploration.module.js","sourceRoot":"","sources":["../../../os/exploration/exploration.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;EAaE;AAIF,MAAM,CAAC,KAAK,UAAU,4BAA4B;IAChD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACxE,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EACT,4GAA4G;oBAC5G,wEAAwE;oBACxE,8EAA8E;gBAChF,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,CAAC,wBAAwB,CAAC;gBACjC,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8CAA8C;qBAC5D;iBACF;gBACD,OAAO,EAAE,kBAAkB;aAC5B;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EACT,+FAA+F;oBAC/F,gFAAgF;oBAChF,+CAA+C;gBACjD,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,CAAC,wBAAwB,CAAC;gBACjC,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,EAAE,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,4DAA4D;qBAC1E;iBACF;gBACD,OAAO,EAAE,kBAAkB;aAC5B;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EACT,wGAAwG;oBACxG,uEAAuE;oBACvE,qFAAqF;oBACrF,uFAAuF;gBACzF,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,wBAAwB,CAAC;gBAClC,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,CAAC,wBAAwB,CAAC;gBACjC,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,EAAE,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,+DAA+D;qBAC7E;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gEAAgE;qBAC9E;iBACF;gBACD,OAAO,EAAE,qBAAqB;aAC/B;SACF;QACD,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"exploration.module.js","sourceRoot":"","sources":["../../../os/exploration/exploration.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;EAaE;AAIF,MAAM,CAAC,KAAK,UAAU,4BAA4B;IAChD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACxE,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,UAAmB;gBAC7B,WAAW,EACT,4GAA4G;oBAC5G,wEAAwE;oBACxE,8EAA8E;gBAChF,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,CAAC,wBAAwB,CAAC;gBACjC,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8CAA8C;qBAC5D;iBACF;gBACD,OAAO,EAAE,kBAAkB;aAC5B;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,UAAmB;gBAC7B,WAAW,EACT,+FAA+F;oBAC/F,gFAAgF;oBAChF,+CAA+C;gBACjD,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,CAAC,wBAAwB,CAAC;gBACjC,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,EAAE,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,4DAA4D;qBAC1E;iBACF;gBACD,OAAO,EAAE,kBAAkB;aAC5B;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,UAAmB;gBAC7B,WAAW,EACT,wGAAwG;oBACxG,uEAAuE;oBACvE,qFAAqF;oBACrF,uFAAuF;gBACzF,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,wBAAwB,CAAC;gBAClC,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,CAAC,wBAAwB,CAAC;gBACjC,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,EAAE,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,+DAA+D;qBAC7E;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gEAAgE;qBAC9E;iBACF;gBACD,OAAO,EAAE,qBAAqB;aAC/B;SACF;QACD,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"naming.module.d.ts","sourceRoot":"","sources":["../../../os/naming/naming.module.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,WAAW,CAAC,CA6BpE"}
1
+ {"version":3,"file":"naming.module.d.ts","sourceRoot":"","sources":["../../../os/naming/naming.module.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,WAAW,CAAC,CA6BpE"}
@@ -8,6 +8,13 @@
8
8
  <CHANGE_SUMMARY>
9
9
  <item>RFC-0374: initial forgeNamingModule registering naming.convention.lint.</item>
10
10
  <item>RFC-1173: declare mutatesState on all kernel commands — collectDeclarationDiagnostics emits error-severity MUTATES-STATE-DECLARED, command.manifest.validate is the blocking consumer in packages.check, sweep declares the flag on every command definition (factories hardcode false for read-only check specs)</item>
11
+ <item>RFC-1231: step 1 — rename supportsAllSites to acceptsAllFlag
12
+
13
+ Mechanical sweep: the field only ever gated --all argv acceptance; fan-out
14
+ follows the parsed selector. Guard renamed assertAllSitesAllowed ->
15
+ assertAllFlagAccepted, message updated. 417 declaration sites + type
16
+ surfaces (KernelCommandMetadata, ForgeCommandMetadata) in one atomic pass.</item>
17
+ <item>RFC-1248: VITE-CLIENT-DEP-02 lazy-import gate + SCAN-02 validator reads-root existence check (RFC-1248)</item>
11
18
  </CHANGE_SUMMARY>
12
19
  */
13
20
  export async function createForgeNamingModule() {
@@ -25,14 +32,14 @@ export async function createForgeNamingModule() {
25
32
  rules: [],
26
33
  description: "Validate all filenames use kebab-case (no underscores) across registered workspace roots.",
27
34
  scope: "workspace",
28
- supportsAllSites: true,
35
+ acceptsAllFlag: true,
29
36
  flags: {
30
37
  "include-ignored": {
31
38
  kind: "boolean",
32
39
  description: "Also scan files ignored by .gitignore or .windsurfignore.",
33
40
  },
34
41
  },
35
- reads: ["packages/**/*.{ts,tsx}", "apps/**/*.{ts,tsx}", "services/**/*.{ts,tsx}"],
42
+ reads: ["packages/**/*.{ts,tsx}", "apps/**/*.{ts,tsx}", "services/**/*.{ts,tsx}"], // scan-coverage: consumer-workshop root — apps/ exists in consumer workshops, not this monorepo
36
43
  execute: runNamingConventionLint,
37
44
  },
38
45
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"naming.module.js","sourceRoot":"","sources":["../../../os/naming/naming.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAIF,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC3E,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,EAAE;gBACT,WAAW,EACT,2FAA2F;gBAC7F,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,IAAI;gBACtB,KAAK,EAAE;oBACL,iBAAiB,EAAE;wBACjB,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,2DAA2D;qBACzE;iBACF;gBACD,KAAK,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,wBAAwB,CAAC;gBACjF,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"naming.module.js","sourceRoot":"","sources":["../../../os/naming/naming.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;EAkBE;AAIF,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC3E,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,EAAE;gBACT,WAAW,EACT,2FAA2F;gBAC7F,KAAK,EAAE,WAAW;gBAClB,cAAc,EAAE,IAAI;gBACpB,KAAK,EAAE;oBACL,iBAAiB,EAAE;wBACjB,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,2DAA2D;qBACzE;iBACF;gBACD,KAAK,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,wBAAwB,CAAC,EAAE,gGAAgG;gBACnL,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"notes.module.d.ts","sourceRoot":"","sources":["../../../os/notes/notes.module.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO7D,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,WAAW,CAAC,CAkGnE"}
1
+ {"version":3,"file":"notes.module.d.ts","sourceRoot":"","sources":["../../../os/notes/notes.module.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO7D,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,WAAW,CAAC,CAsGnE"}
@@ -8,6 +8,13 @@
8
8
  <CHANGE_SUMMARY>
9
9
  <item>RFC-0808: initial forgeNotesModule registering 3 note validation commands.</item>
10
10
  <item>RFC-1173: declare mutatesState on all kernel commands — collectDeclarationDiagnostics emits error-severity MUTATES-STATE-DECLARED, command.manifest.validate is the blocking consumer in packages.check, sweep declares the flag on every command definition (factories hardcode false for read-only check specs)</item>
11
+ <item>RFC-1231: step 1 — rename supportsAllSites to acceptsAllFlag
12
+
13
+ Mechanical sweep: the field only ever gated --all argv acceptance; fan-out
14
+ follows the parsed selector. Guard renamed assertAllSitesAllowed ->
15
+ assertAllFlagAccepted, message updated. 417 declaration sites + type
16
+ surfaces (KernelCommandMetadata, ForgeCommandMetadata) in one atomic pass.</item>
17
+ <item>RFC-1248: VITE-CLIENT-DEP-02 lazy-import gate + SCAN-02 validator reads-root existence check (RFC-1248)</item>
11
18
  </CHANGE_SUMMARY>
12
19
  */
13
20
  export async function createForgeNotesModule() {
@@ -36,7 +43,7 @@ export async function createForgeNotesModule() {
36
43
  rules: [],
37
44
  description: "Validate wikilink integrity across a markdown note vault. Scans [[wikilinks]] and resolves each against the note graph.",
38
45
  scope: "workspace",
39
- supportsAllSites: false,
46
+ acceptsAllFlag: false,
40
47
  flags: {
41
48
  "vault-dir": {
42
49
  kind: "string",
@@ -47,18 +54,20 @@ export async function createForgeNotesModule() {
47
54
  description: "Subdirectory within the vault to scope the scan to.",
48
55
  },
49
56
  },
50
- reads: ["vault/**/*.md"],
57
+ reads: ["vault/**/*.md"], // scan-coverage: consumer-vault root — vault/ exists in knowledge-profile workshops
51
58
  cacheable: false,
52
59
  execute: noteLinkValidateWrapper,
53
60
  },
54
61
  {
55
62
  name: "note.frontmatter.validate",
63
+ coverage: "operator",
64
+ coverageNote: "notes vault frontmatter hygiene (vault workshops)",
56
65
  mutatesState: false,
57
66
  contract: "note",
58
67
  rules: [],
59
68
  description: "Validate frontmatter consistency across a markdown note vault. Checks for required fields in YAML frontmatter.",
60
69
  scope: "workspace",
61
- supportsAllSites: false,
70
+ acceptsAllFlag: false,
62
71
  flags: {
63
72
  "vault-dir": {
64
73
  kind: "string",
@@ -69,23 +78,25 @@ export async function createForgeNotesModule() {
69
78
  description: "Comma-separated list of required fields (default: title).",
70
79
  },
71
80
  },
72
- reads: ["vault/**/*.md"],
81
+ reads: ["vault/**/*.md"], // scan-coverage: consumer-vault root — vault/ exists in knowledge-profile workshops
73
82
  cacheable: false,
74
83
  execute: noteFrontmatterValidateWrapper,
75
84
  },
76
85
  {
77
86
  name: "note.orphan.detect",
87
+ coverage: "operator",
88
+ coverageNote: "notes vault orphan detection (vault workshops)",
78
89
  mutatesState: false,
79
90
  description: "Detect orphan notes in a markdown note vault — notes with zero inbound wikilinks. Always exits zero (warnings, not errors).",
80
91
  scope: "workspace",
81
- supportsAllSites: false,
92
+ acceptsAllFlag: false,
82
93
  flags: {
83
94
  "vault-dir": {
84
95
  kind: "string",
85
96
  description: "Vault directory relative to workspace root (default: vault).",
86
97
  },
87
98
  },
88
- reads: ["vault/**/*.md"],
99
+ reads: ["vault/**/*.md"], // scan-coverage: consumer-vault root — vault/ exists in knowledge-profile workshops
89
100
  cacheable: false,
90
101
  execute: noteOrphanDetectWrapper,
91
102
  },
@@ -1 +1 @@
1
- {"version":3,"file":"notes.module.js","sourceRoot":"","sources":["../../../os/notes/notes.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AASF,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;IAC3F,MAAM,EAAE,0BAA0B,EAAE,GAClC,MAAM,MAAM,CAAC,mDAAmD,CAAC,CAAC;IACpE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;IAE3F,MAAM,uBAAuB,GAAG,KAAK,EACnC,KAAwB,EACxB,OAA4B,EACC,EAAE;QAC/B,OAAO,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,8BAA8B,GAAG,KAAK,EAC1C,KAAwB,EACxB,OAA4B,EACC,EAAE;QAC/B,OAAO,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,KAAwB,EACxB,OAA4B,EACC,EAAE;QAC/B,OAAO,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC;IACF,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,EAAE;gBACT,WAAW,EACT,yHAAyH;gBAC3H,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE;oBACL,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8DAA8D;qBAC5E;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qDAAqD;qBACnE;iBACF;gBACD,KAAK,EAAE,CAAC,eAAe,CAAC;gBACxB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,uBAAuB;aACjC;YACD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,EAAE;gBACT,WAAW,EACT,gHAAgH;gBAClH,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE;oBACL,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8DAA8D;qBAC5E;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2DAA2D;qBACzE;iBACF;gBACD,KAAK,EAAE,CAAC,eAAe,CAAC;gBACxB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,8BAA8B;aACxC;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,YAAY,EAAE,KAAK;gBACnB,WAAW,EACT,6HAA6H;gBAC/H,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE;oBACL,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8DAA8D;qBAC5E;iBACF;gBACD,KAAK,EAAE,CAAC,eAAe,CAAC;gBACxB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"notes.module.js","sourceRoot":"","sources":["../../../os/notes/notes.module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan.module.d.ts","sourceRoot":"","sources":["../../../os/plan/plan.module.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,WAAW,CAAC,CAsClE"}
1
+ {"version":3,"file":"plan.module.d.ts","sourceRoot":"","sources":["../../../os/plan/plan.module.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,WAAW,CAAC,CAwClE"}
@@ -19,6 +19,8 @@ export async function createForgePlanModule() {
19
19
  commands: [
20
20
  {
21
21
  name: "plan.archive",
22
+ coverage: "delegated",
23
+ coverageNote: "dispatched by docs.archive as a function call",
22
24
  description: "Move plan files whose parent RFC has terminal status " +
23
25
  "(implemented, rejected, superseded) into docs/plans/archive/<status>/ " +
24
26
  "subdirectories. Bidirectional: moves non-terminal files found in " +
@@ -1 +1 @@
1
- {"version":3,"file":"plan.module.js","sourceRoot":"","sources":["../../../os/plan/plan.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAIF,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACjE,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EACT,uDAAuD;oBACvD,wEAAwE;oBACxE,mEAAmE;oBACnE,yDAAyD;oBACzD,sDAAsD;oBACtD,iFAAiF;gBACnF,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;gBACpD,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;gBAClD,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,SAAS,EAAE;wBACT,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,8DAA8D;qBAC5E;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yEAAyE;qBACvF;iBACF;gBACD,OAAO,EAAE,cAAc;aACxB;SACF;QACD,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plan.module.js","sourceRoot":"","sources":["../../../os/plan/plan.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAIF,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACjE,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,WAAW;gBACrB,YAAY,EAAE,+CAA+C;gBAC7D,WAAW,EACT,uDAAuD;oBACvD,wEAAwE;oBACxE,mEAAmE;oBACnE,yDAAyD;oBACzD,sDAAsD;oBACtD,iFAAiF;gBACnF,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;gBACpD,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;gBAClD,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,SAAS,EAAE;wBACT,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,8DAA8D;qBAC5E;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yEAAyE;qBACvF;iBACF;gBACD,OAAO,EAAE,cAAc;aACxB;SACF;QACD,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.module.d.ts","sourceRoot":"","sources":["../../../os/plugin/plugin.module.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAS7D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,uBAAuB,CAAC;IACjC,KAAK,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAwLD,eAAO,MAAM,iBAAiB,EAAE,WAkC/B,CAAC"}
1
+ {"version":3,"file":"plugin.module.d.ts","sourceRoot":"","sources":["../../../os/plugin/plugin.module.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAS7D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,uBAAuB,CAAC;IACjC,KAAK,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAwLD,eAAO,MAAM,iBAAiB,EAAE,WAmC/B,CAAC"}
@@ -9,6 +9,12 @@
9
9
  <CHANGE_SUMMARY>
10
10
  <item>RFC-0941: initial forgePluginModule with forge.plugin.validate and forge.plugin.discover commands.</item>
11
11
  <item>RFC-1173: declare mutatesState on all kernel commands — collectDeclarationDiagnostics emits error-severity MUTATES-STATE-DECLARED, command.manifest.validate is the blocking consumer in packages.check, sweep declares the flag on every command definition (factories hardcode false for read-only check specs)</item>
12
+ <item>RFC-1231: step 1 — rename supportsAllSites to acceptsAllFlag
13
+
14
+ Mechanical sweep: the field only ever gated --all argv acceptance; fan-out
15
+ follows the parsed selector. Guard renamed assertAllSitesAllowed ->
16
+ assertAllFlagAccepted, message updated. 417 declaration sites + type
17
+ surfaces (KernelCommandMetadata, ForgeCommandMetadata) in one atomic pass.</item>
12
18
  </CHANGE_SUMMARY>
13
19
  */
14
20
  import path from "node:path";
@@ -192,7 +198,7 @@ export const forgePluginModule = {
192
198
  rules: [],
193
199
  description: "Validate forge.plugin.yaml manifests for all declared skill packs (RFC-0941). Checks manifest schema (id: kebab-case, version: semver) and reports missing or invalid manifests.",
194
200
  scope: "workspace",
195
- supportsAllSites: false,
201
+ acceptsAllFlag: false,
196
202
  flags: {},
197
203
  reads: ["forge.yaml", "**/forge.plugin.yaml"],
198
204
  cacheable: false,
@@ -200,10 +206,11 @@ export const forgePluginModule = {
200
206
  },
201
207
  {
202
208
  name: "forge.plugin.discover",
209
+ coverage: "operator",
203
210
  mutatesState: false,
204
211
  description: "Enumerate all project-declared skill packs with valid forge.plugin.yaml manifests (RFC-0941). Returns pack id, version, prefix, and directory.",
205
212
  scope: "workspace",
206
- supportsAllSites: false,
213
+ acceptsAllFlag: false,
207
214
  flags: {},
208
215
  reads: ["forge.yaml", "**/forge.plugin.yaml"],
209
216
  cacheable: false,
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.module.js","sourceRoot":"","sources":["../../../os/plugin/plugin.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;EAYE;AAEF,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAO1C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AA0BtF,SAAS,iBAAiB,CACxB,MAAyB,EACzB,OAA4B;IAE5B,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,MAAM,KAAK,GAAkC,EAAE,CAAC;IAChD,IAAI,QAAQ,GAAG,IAAI,CAAC;IAEpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO;gBACL,IAAI,EAAE;oBACJ,OAAO,EAAE,uBAAuB;oBAChC,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,EAAE;iBACV;gBACD,OAAO,EAAE,+CAA+C;aACzD,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YAE7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,QAAQ,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC;oBACT,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,YAAY;oBACZ,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,CAAC,0CAA0C,CAAC;iBACrD,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC;oBACT,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,YAAY;oBACZ,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,CAAC,4BAA6B,GAAa,CAAC,OAAO,EAAE,CAAC;iBAC/D,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC;oBACT,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,YAAY;oBACZ,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,CAAC,qBAAsB,GAAa,CAAC,OAAO,EAAE,CAAC;iBACxD,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,QAAQ,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC;oBACT,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,YAAY;oBACZ,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;iBACxF,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,YAAY;gBACZ,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,uBAAuB;gBAChC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,EAAE;aACV;YACD,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,kCAAmC,GAAa,CAAC,OAAO,EAAE;SACpE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,uBAAuB;YAChC,MAAM;YACN,KAAK;SACN;QACD,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,EACL,MAAM,KAAK,MAAM;YACf,CAAC,CAAC,gCAAgC,KAAK,CAAC,MAAM,gBAAgB;YAC9D,CAAC,CAAC,kCAAkC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,sBAAsB;KACnG,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAyB,EACzB,OAA4B;IAE5B,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,MAAM,KAAK,GAAkC,EAAE,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO;gBACL,IAAI,EAAE;oBACJ,OAAO,EAAE,uBAAuB;oBAChC,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,CAAC;iBACT;gBACD,OAAO,EAAE,4CAA4C;aACtD,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YAE7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,SAAS;YAE3C,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS;YAE9B,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,YAAY;gBACZ,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;gBAClB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,uBAAuB;YAChC,KAAK;YACL,KAAK,EAAE,KAAK,CAAC,MAAM;SACpB;QACD,OAAO,EAAE,2BAA2B,KAAK,CAAC,MAAM,qBAAqB;KACtE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,YAAY;IACrB,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,uBAAuB;YAC7B,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,EAAE;YACT,WAAW,EACT,kLAAkL;YACpL,KAAK,EAAE,WAAW;YAClB,gBAAgB,EAAE,KAAK;YACvB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC;YAC7C,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,iBAAiB;SAC3B;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,YAAY,EAAE,KAAK;YACnB,WAAW,EACT,gJAAgJ;YAClJ,KAAK,EAAE,WAAW;YAClB,gBAAgB,EAAE,KAAK;YACvB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC;YAC7C,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,iBAAiB;SAC3B;KACF;IACD,SAAS,EAAE,EAAE;CACd,CAAC"}
1
+ {"version":3,"file":"plugin.module.js","sourceRoot":"","sources":["../../../os/plugin/plugin.module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.module.d.ts","sourceRoot":"","sources":["../../../os/program/program.module.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,WAAW,CAAC,CA6MrE"}
1
+ {"version":3,"file":"program.module.d.ts","sourceRoot":"","sources":["../../../os/program/program.module.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,WAAW,CAAC,CAsNrE"}
@@ -9,6 +9,12 @@ kernel registry (RFC-0856).</purpose>
9
9
  <CHANGE_SUMMARY>
10
10
  <item>RFC-0856: initial program module registration.</item>
11
11
  <item>RFC-1173: declare mutatesState on all kernel commands — collectDeclarationDiagnostics emits error-severity MUTATES-STATE-DECLARED, command.manifest.validate is the blocking consumer in packages.check, sweep declares the flag on every command definition (factories hardcode false for read-only check specs)</item>
12
+ <item>RFC-1231: step 1 — rename supportsAllSites to acceptsAllFlag
13
+
14
+ Mechanical sweep: the field only ever gated --all argv acceptance; fan-out
15
+ follows the parsed selector. Guard renamed assertAllSitesAllowed ->
16
+ assertAllFlagAccepted, message updated. 417 declaration sites + type
17
+ surfaces (KernelCommandMetadata, ForgeCommandMetadata) in one atomic pass.</item>
12
18
  </CHANGE_SUMMARY>
13
19
  */
14
20
  export async function createForgeProgramModule() {
@@ -24,6 +30,8 @@ export async function createForgeProgramModule() {
24
30
  commands: [
25
31
  {
26
32
  name: "program.packet.validate",
33
+ coverage: "operator",
34
+ coverageNote: "requires --program",
27
35
  mutatesState: false,
28
36
  execOnReadOnly: true,
29
37
  contract: "program",
@@ -32,7 +40,7 @@ export async function createForgeProgramModule() {
32
40
  "and state machine rules. Read-only. " +
33
41
  "Usage: program.packet.validate --program=RFC-XXXX --packet=NNN-foo --phase=draft --json",
34
42
  scope: "workspace",
35
- supportsAllSites: false,
43
+ acceptsAllFlag: false,
36
44
  flags: {
37
45
  program: {
38
46
  kind: "string",
@@ -59,13 +67,14 @@ export async function createForgeProgramModule() {
59
67
  },
60
68
  {
61
69
  name: "program.packet.seal",
70
+ coverage: "operator",
62
71
  description: "Steward finalizes a packet against the predecessor's completion commit, " +
63
72
  "updates packet state from draft to sealed, and records the seal in the " +
64
73
  "program manifest. Does not commit — use ecosystem.commit after. " +
65
74
  "Usage: program.packet.seal --program=RFC-XXXX --packet=NNN-foo " +
66
75
  "--steward=human:id --idempotency-key=<key> --json",
67
76
  scope: "workspace",
68
- supportsAllSites: false,
77
+ acceptsAllFlag: false,
69
78
  mutatesState: true,
70
79
  flags: {
71
80
  program: {
@@ -100,6 +109,7 @@ export async function createForgeProgramModule() {
100
109
  },
101
110
  {
102
111
  name: "program.packet.lease",
112
+ coverage: "operator",
103
113
  mutatesState: true,
104
114
  description: "Manage the exclusive local executor lease for a sealed packet. " +
105
115
  "Actions: start, heartbeat, release, recover. " +
@@ -107,7 +117,7 @@ export async function createForgeProgramModule() {
107
117
  "Usage: program.packet.lease --program=RFC-XXXX --packet=NNN-foo " +
108
118
  "--action=start --executor=agent:id --json",
109
119
  scope: "workspace",
110
- supportsAllSites: false,
120
+ acceptsAllFlag: false,
111
121
  flags: {
112
122
  program: {
113
123
  kind: "string",
@@ -128,6 +138,10 @@ export async function createForgeProgramModule() {
128
138
  kind: "string",
129
139
  description: "Executor actor id (required for --action=start).",
130
140
  },
141
+ phase: {
142
+ kind: "string",
143
+ description: "Lease phase: preparation or execution (default: execution).",
144
+ },
131
145
  steward: {
132
146
  kind: "string",
133
147
  description: "Steward actor id (required for --action=recover).",
@@ -153,13 +167,14 @@ export async function createForgeProgramModule() {
153
167
  },
154
168
  {
155
169
  name: "program.packet.complete",
170
+ coverage: "operator",
156
171
  description: "Steward validates the implementation range, writes the completion report, " +
157
172
  "and updates the program manifest. Supports --bootstrap for packet 000. " +
158
173
  "Does not commit — use ecosystem.commit after. " +
159
174
  "Usage: program.packet.complete --program=RFC-XXXX --packet=NNN-foo " +
160
175
  "--steward=human:id --lease-token=<token> --implementation-head=<sha> --json",
161
176
  scope: "workspace",
162
- supportsAllSites: false,
177
+ acceptsAllFlag: false,
163
178
  mutatesState: true,
164
179
  flags: {
165
180
  program: {
@@ -1 +1 @@
1
- {"version":3,"file":"program.module.js","sourceRoot":"","sources":["../../../os/program/program.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.module.js","sourceRoot":"","sources":["../../../os/program/program.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;EAkBE;AAIF,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC5C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC/D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACzD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QAErB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ,EAAE,UAAmB;gBAC7B,YAAY,EAAE,oBAAoB;gBAClC,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,EAAE;gBACT,WAAW,EACT,wEAAwE;oBACxE,sCAAsC;oBACtC,yFAAyF;gBAC3F,KAAK,EAAE,WAAW;gBAClB,cAAc,EAAE,KAAK;gBACrB,KAAK,EAAE;oBACL,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,iCAAiC;qBAC/C;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yDAAyD;qBACvE;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+BAA+B;qBAC7C;iBACF;gBACD,KAAK,EAAE,CAAC,4BAA4B,EAAE,oBAAoB,CAAC;gBAC3D,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,WAAW;aACrB;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,UAAmB;gBAC7B,WAAW,EACT,0EAA0E;oBAC1E,yEAAyE;oBACzE,kEAAkE;oBAClE,iEAAiE;oBACjE,mDAAmD;gBACrD,KAAK,EAAE,WAAW;gBAClB,cAAc,EAAE,KAAK;gBACrB,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE;oBACL,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,iBAAiB;qBAC/B;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,oBAAoB;qBAClC;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,8CAA8C;qBAC5D;oBACD,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yCAAyC;qBACvD;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+BAA+B;qBAC7C;iBACF;gBACD,MAAM,EAAE,CAAC,4BAA4B,EAAE,oBAAoB,CAAC;gBAC5D,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,CAAC,4BAA4B,EAAE,oBAAoB,CAAC;gBAC3D,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,QAAQ,EAAE,UAAmB;gBAC7B,YAAY,EAAE,IAAI;gBAClB,WAAW,EACT,iEAAiE;oBACjE,+CAA+C;oBAC/C,gEAAgE;oBAChE,kEAAkE;oBAClE,2CAA2C;gBAC7C,KAAK,EAAE,WAAW;gBAClB,cAAc,EAAE,KAAK;gBACrB,KAAK,EAAE;oBACL,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,iBAAiB;qBAC/B;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,YAAY;qBAC1B;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,sDAAsD;qBACpE;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,6DAA6D;qBAC3E;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mDAAmD;qBACjE;oBACD,aAAa,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0DAA0D;qBACxE;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+BAA+B;qBAC7C;iBACF;gBACD,MAAM,EAAE,CAAC,0BAA0B,CAAC;gBACpC,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,CAAC,4BAA4B,EAAE,oBAAoB,CAAC;gBAC3D,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,QAAQ;aAClB;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ,EAAE,UAAmB;gBAC7B,WAAW,EACT,4EAA4E;oBAC5E,yEAAyE;oBACzE,gDAAgD;oBAChD,qEAAqE;oBACrE,6EAA6E;gBAC/E,KAAK,EAAE,WAAW;gBAClB,cAAc,EAAE,KAAK;gBACrB,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE;oBACL,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,iBAAiB;qBAC/B;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,wBAAwB;qBACtC;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,+CAA+C;qBAC7D;oBACD,aAAa,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2CAA2C;qBACzD;oBACD,qBAAqB,EAAE;wBACrB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qEAAqE;qBACnF;oBACD,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4CAA4C;qBAC1D;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,yCAAyC;qBACvD;oBACD,aAAa,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,6CAA6C;qBAC3D;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+BAA+B;qBAC7C;iBACF;gBACD,MAAM,EAAE,CAAC,8BAA8B,EAAE,4BAA4B,CAAC;gBACtE,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,CAAC,4BAA4B,EAAE,oBAAoB,CAAC;gBAC3D,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,WAAW;aACrB;SACF;QACD,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"queue-validate.d.ts","sourceRoot":"","sources":["../../../../os/queue/handlers/queue-validate.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAoDlD"}
1
+ {"version":3,"file":"queue-validate.d.ts","sourceRoot":"","sources":["../../../../os/queue/handlers/queue-validate.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAiC,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAyFtF,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAgIlD"}
@@ -1,40 +1,186 @@
1
1
  /*
2
2
  <MODULE_CONTRACT>
3
- <purpose>queue.validate command handler (RFC-1140) — validates a queue
4
- manifest and reports derived per-item pipeline status plus the next
5
- actionable item. Read-only; the orchestrator runs this before a queued batch.</purpose>
3
+ <purpose>queue.validate command handler (RFC-1140 + RFC-1250) — validates a
4
+ queue manifest and its decision-ledger sibling, reports derived per-item
5
+ pipeline status plus the next actionable item. QUEUE-07 blocks implementable
6
+ items carrying open decisions. Read-only; the orchestrator runs this before a
7
+ queued batch.</purpose>
6
8
  <non-goals>
7
9
  <item>Do not execute the queue — this command validates and previews only.</item>
8
10
  <item>Do not mutate any files.</item>
9
11
  </non-goals>
10
12
  </MODULE_CONTRACT>
11
13
  <CHANGE_SUMMARY>
14
+ <item>RFC-1250: decision-ledger wiring — QUEUE-07 open-decision gate on
15
+ executable items (un-parked opens only; parked items are already gated),
16
+ per-item decisions counts plus top-level totals, `next` excludes parked and
17
+ QUEUE-07-blocked items with dependsOn cascade.</item>
12
18
  <item>RFC-1140: initial queue.validate handler.</item>
13
19
  <item>RFC-1140: steps 1-4 — shared resolver, queue module, registration
14
20
 
15
21
  Extract pipeline-status derivation into packages/forge/src/pipeline-status.ts, refactor rfc.pipeline.status onto it, add os/queue module with queue.validate command, register in WORKSHOP_MODULE_MAP.forge + bin/cli.ts + package.json exports.</item>
22
+ <item>RFC-1250: review wave — QUEUE-07 gates un-parked opens only, ledger binding checks, fail-closed loader
23
+
24
+ REVIEW-RFC-1250-01 findings: QUEUE-07 no longer fires on parked entries
25
+ (the park is the containment — a parked queue stays resumable and the
26
+ decision window arbitrates it); loader fails open only on ENOENT —
27
+ other read errors are QUEUE-01; ledger gains queue/id-stem binding
28
+ (QUEUE-02), Q-N uniqueness (QUEUE-05), and QUEUE-08 hygiene warnings
29
+ (missing answers, foreign doc ids); next excludes QUEUE-07-blocked
30
+ items; top-level decision totals added. Orchestrator pre-flight treats
31
+ QUEUE-07 as the window agenda — structural errors still stop the batch;
32
+ maturation skips parked/deferred items; uncovered imperative ask sites
33
+ gain collect riders (ADR code-trace, NC markers, audit-verdict guard).</item>
34
+ <item>RFC-1250: re-review wave — blocked dependsOn cascade, manifest-failure gating, generated artifacts</item>
16
35
  </CHANGE_SUMMARY>
17
36
  */
18
37
  import { deriveQueueReport } from "../../../src/pipeline-status.js";
19
- import { loadQueueManifest } from "../manifest.js";
38
+ import { loadDecisionLedger, loadQueueManifest } from "../manifest.js";
39
+ function summarizeDecisions(ledger) {
40
+ const summaries = new Map();
41
+ if (!ledger)
42
+ return summaries;
43
+ for (const entry of ledger.items) {
44
+ const doc = entry.doc.toUpperCase();
45
+ const s = summaries.get(doc) ?? {
46
+ open: 0,
47
+ openUnparked: 0,
48
+ answered: 0,
49
+ deferred: 0,
50
+ autoResolved: 0,
51
+ parked: false,
52
+ };
53
+ if (entry.status === "open") {
54
+ s.open += 1;
55
+ if (entry.parked === true) {
56
+ s.parked = true;
57
+ }
58
+ else {
59
+ s.openUnparked += 1;
60
+ }
61
+ }
62
+ else if (entry.status === "answered") {
63
+ s.answered += 1;
64
+ }
65
+ else if (entry.status === "deferred") {
66
+ s.deferred += 1;
67
+ }
68
+ else if (entry.status === "auto-resolved") {
69
+ s.autoResolved += 1;
70
+ }
71
+ summaries.set(doc, s);
72
+ }
73
+ return summaries;
74
+ }
75
+ /** Fixed-point `dependsOn` cascade: a dependent of an excluded root is excluded. */
76
+ function cascadeDependents(roots, dependsOn) {
77
+ const excluded = new Set(roots);
78
+ let changed = true;
79
+ while (changed) {
80
+ changed = false;
81
+ for (const [itemId, deps] of dependsOn) {
82
+ if (excluded.has(itemId))
83
+ continue;
84
+ if (deps.some((dep) => excluded.has(dep))) {
85
+ excluded.add(itemId);
86
+ changed = true;
87
+ }
88
+ }
89
+ }
90
+ return excluded;
91
+ }
92
+ /**
93
+ * RFC-1250 parking: an item is parked when its ledger carries `deferred`
94
+ * entries (operator parked it at a window) or `open` entries with
95
+ * `parked: true` (system hard-stop during execution). An item whose in-queue
96
+ * `dependsOn` target is parked is itself parked — fixed-point cascade.
97
+ */
98
+ function computeParkedDocIds(itemIds, dependsOn, summaries) {
99
+ const roots = new Set();
100
+ for (const id of itemIds) {
101
+ const s = summaries.get(id.toUpperCase());
102
+ if (s && (s.deferred > 0 || s.parked))
103
+ roots.add(id.toUpperCase());
104
+ }
105
+ return cascadeDependents(roots, dependsOn);
106
+ }
107
+ /** QUEUE-07: an item derivable to the implement stage must not carry open decisions. */
108
+ function isImplementable(item) {
109
+ return item.pipelineStep === "implement" || (item.kind === "adr" && item.status === "pending");
110
+ }
20
111
  export async function runQueueValidate(input, context) {
21
112
  const { workspaceRoot, logger, outputFormat } = context;
22
113
  const file = input.flags["file"];
23
114
  if (!file) {
24
115
  throw new Error("queue.validate requires --file <path-to-manifest.yaml>");
25
116
  }
26
- const { manifest, errors, warnings } = await loadQueueManifest(workspaceRoot, file);
27
- const report = errors.length === 0
117
+ const { manifest, errors, warnings, dependsOn } = await loadQueueManifest(workspaceRoot, file);
118
+ // The ledger is part of the queue's durable state — its load errors block.
119
+ const { ledger, errors: ledgerErrors, warnings: ledgerWarnings, } = await loadDecisionLedger(workspaceRoot, file, manifest);
120
+ errors.push(...ledgerErrors);
121
+ warnings.push(...ledgerWarnings);
122
+ const summaries = summarizeDecisions(ledger);
123
+ const parkedIds = computeParkedDocIds(manifest.items.map((i) => i.id), dependsOn, summaries);
124
+ // QUEUE-07: an executable item — implementable and not already parked —
125
+ // must not carry un-parked open decisions. Parked items are already
126
+ // excluded from execution by the park itself; their opens surface through
127
+ // the decision window's arbitration, not a second gate.
128
+ const derivable = errors.length === 0
28
129
  ? await deriveQueueReport(workspaceRoot, manifest.items.map((i) => i.id))
29
130
  : { items: [], next: null };
131
+ const blockedIds = new Set();
132
+ for (const item of derivable.items) {
133
+ const s = summaries.get(item.id);
134
+ if (isImplementable(item) && !parkedIds.has(item.id) && s && s.openUnparked > 0) {
135
+ blockedIds.add(item.id);
136
+ errors.push({
137
+ ruleId: "QUEUE-07",
138
+ severity: "error",
139
+ message: `Item "${item.id}" is implementable but carries ${s.openUnparked} open decision(s) — resolve the decision window first`,
140
+ file,
141
+ });
142
+ }
143
+ }
144
+ // Excluded from `next`: parked items, QUEUE-07-blocked items, and the
145
+ // dependsOn dependents of either — a dependent must not execute while its
146
+ // dependency sits unresolved behind the window.
147
+ const excludedFromNext = new Set([...parkedIds, ...cascadeDependents(blockedIds, dependsOn)]);
148
+ const report = {
149
+ items: derivable.items,
150
+ next: derivable.items.find((i) => (i.status === "pending" || i.status === "in-progress") && !excludedFromNext.has(i.id))?.id ?? null,
151
+ };
152
+ for (const item of report.items) {
153
+ const s = summaries.get(item.id);
154
+ if (s) {
155
+ item.decisions = {
156
+ open: s.open,
157
+ deferred: s.deferred,
158
+ autoResolved: s.autoResolved,
159
+ };
160
+ }
161
+ }
30
162
  const status = errors.length === 0 ? "pass" : "fail";
163
+ const decisionTotals = ledger
164
+ ? {
165
+ open: ledger.items.filter((e) => e.status === "open").length,
166
+ answered: ledger.items.filter((e) => e.status === "answered").length,
167
+ deferred: ledger.items.filter((e) => e.status === "deferred").length,
168
+ autoResolved: ledger.items.filter((e) => e.status === "auto-resolved").length,
169
+ }
170
+ : undefined;
31
171
  if (outputFormat === "pretty") {
32
172
  logger.section(`Queue: ${manifest.id || file}`);
33
173
  for (const item of report.items) {
34
174
  const step = item.pipelineStep ? ` (${item.pipelineStep})` : "";
35
- logger.info(` ${item.id}: ${item.status}${step}`);
175
+ const decisions = item.decisions
176
+ ? ` [decisions: ${item.decisions.open} open, ${item.decisions.deferred} deferred, ${item.decisions.autoResolved} auto-resolved]`
177
+ : "";
178
+ logger.info(` ${item.id}: ${item.status}${step}${decisions}`);
36
179
  }
37
180
  logger.info(`next: ${report.next ?? "—"}`);
181
+ if (decisionTotals) {
182
+ logger.info(`decisions: ${decisionTotals.open} open, ${decisionTotals.answered} answered, ${decisionTotals.autoResolved} auto-resolved, ${decisionTotals.deferred} deferred`);
183
+ }
38
184
  for (const w of warnings) {
39
185
  logger.warn(` ${w.ruleId}: ${w.message}`);
40
186
  }
@@ -50,6 +196,7 @@ export async function runQueueValidate(input, context) {
50
196
  file,
51
197
  items: report.items,
52
198
  next: report.next,
199
+ decisions: decisionTotals,
53
200
  errors,
54
201
  warnings,
55
202
  },
@@ -1 +1 @@
1
- {"version":3,"file":"queue-validate.js","sourceRoot":"","sources":["../../../../os/queue/handlers/queue-validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAOF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAwB,EACxB,OAA4B;IAE5B,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAExD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAuB,CAAC;IACvD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAEpF,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,KAAK,CAAC;QACjB,CAAC,CAAC,MAAM,iBAAiB,CACrB,aAAa,EACb,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAChC;QACH,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEhC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAErD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,gBAAgB;YACzB,MAAM;YACN,KAAK,EAAE,QAAQ,CAAC,EAAE;YAClB,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM;YACN,QAAQ;SACT;QACD,OAAO,EACL,MAAM,KAAK,MAAM;YACf,CAAC,CAAC,UAAU,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,mBAAmB,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE;YAC1F,CAAC,CAAC,2BAA2B,MAAM,CAAC,MAAM,WAAW;QACzD,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACpC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"queue-validate.js","sourceRoot":"","sources":["../../../../os/queue/handlers/queue-validate.ts"],"names":[],"mappings":"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"}