@warpgogol/forge 2.11.0 → 2.14.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 (713) hide show
  1. package/AGENTS.md +415 -0
  2. package/bin/cli.js +7 -9
  3. package/bin/cli.ts +337 -0
  4. package/package.json +4 -130
  5. package/src/types/werkstatt-shared-shims.d.ts +10 -0
  6. package/dist/bin/cli.d.ts +0 -3
  7. package/dist/bin/cli.d.ts.map +0 -1
  8. package/dist/bin/cli.js +0 -291
  9. package/dist/bin/cli.js.map +0 -1
  10. package/dist/os/adr/adr.module.d.ts +0 -3
  11. package/dist/os/adr/adr.module.d.ts.map +0 -1
  12. package/dist/os/adr/adr.module.js +0 -146
  13. package/dist/os/adr/adr.module.js.map +0 -1
  14. package/dist/os/adr/frontmatter-io.d.ts +0 -12
  15. package/dist/os/adr/frontmatter-io.d.ts.map +0 -1
  16. package/dist/os/adr/frontmatter-io.js +0 -67
  17. package/dist/os/adr/frontmatter-io.js.map +0 -1
  18. package/dist/os/adr/handlers/archive.d.ts +0 -24
  19. package/dist/os/adr/handlers/archive.d.ts.map +0 -1
  20. package/dist/os/adr/handlers/archive.js +0 -194
  21. package/dist/os/adr/handlers/archive.js.map +0 -1
  22. package/dist/os/adr/handlers/implement-stamp.d.ts +0 -4
  23. package/dist/os/adr/handlers/implement-stamp.d.ts.map +0 -1
  24. package/dist/os/adr/handlers/implement-stamp.js +0 -264
  25. package/dist/os/adr/handlers/implement-stamp.js.map +0 -1
  26. package/dist/os/adr/handlers/list-create.d.ts +0 -5
  27. package/dist/os/adr/handlers/list-create.d.ts.map +0 -1
  28. package/dist/os/adr/handlers/list-create.js +0 -201
  29. package/dist/os/adr/handlers/list-create.js.map +0 -1
  30. package/dist/os/adr/handlers/validate.d.ts +0 -4
  31. package/dist/os/adr/handlers/validate.d.ts.map +0 -1
  32. package/dist/os/adr/handlers/validate.js +0 -279
  33. package/dist/os/adr/handlers/validate.js.map +0 -1
  34. package/dist/os/adr/index.d.ts +0 -8
  35. package/dist/os/adr/index.d.ts.map +0 -1
  36. package/dist/os/adr/index.js +0 -18
  37. package/dist/os/adr/index.js.map +0 -1
  38. package/dist/os/adr/types.d.ts +0 -76
  39. package/dist/os/adr/types.d.ts.map +0 -1
  40. package/dist/os/adr/types.js +0 -56
  41. package/dist/os/adr/types.js.map +0 -1
  42. package/dist/os/audit/audit.module.d.ts +0 -3
  43. package/dist/os/audit/audit.module.d.ts.map +0 -1
  44. package/dist/os/audit/audit.module.js +0 -45
  45. package/dist/os/audit/audit.module.js.map +0 -1
  46. package/dist/os/audit/frontmatter-io.d.ts +0 -12
  47. package/dist/os/audit/frontmatter-io.d.ts.map +0 -1
  48. package/dist/os/audit/frontmatter-io.js +0 -71
  49. package/dist/os/audit/frontmatter-io.js.map +0 -1
  50. package/dist/os/audit/handlers/archive.d.ts +0 -4
  51. package/dist/os/audit/handlers/archive.d.ts.map +0 -1
  52. package/dist/os/audit/handlers/archive.js +0 -207
  53. package/dist/os/audit/handlers/archive.js.map +0 -1
  54. package/dist/os/audit/index.d.ts +0 -6
  55. package/dist/os/audit/index.d.ts.map +0 -1
  56. package/dist/os/audit/index.js +0 -16
  57. package/dist/os/audit/index.js.map +0 -1
  58. package/dist/os/audit/types.d.ts +0 -12
  59. package/dist/os/audit/types.d.ts.map +0 -1
  60. package/dist/os/audit/types.js +0 -17
  61. package/dist/os/audit/types.js.map +0 -1
  62. package/dist/os/compass/compass.module.d.ts +0 -3
  63. package/dist/os/compass/compass.module.d.ts.map +0 -1
  64. package/dist/os/compass/compass.module.js +0 -183
  65. package/dist/os/compass/compass.module.js.map +0 -1
  66. package/dist/os/compass/handlers/compass-audit-handler.d.ts +0 -36
  67. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +0 -1
  68. package/dist/os/compass/handlers/compass-audit-handler.js +0 -260
  69. package/dist/os/compass/handlers/compass-audit-handler.js.map +0 -1
  70. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +0 -19
  71. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +0 -1
  72. package/dist/os/compass/handlers/compass-change-summary-handler.js +0 -222
  73. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +0 -1
  74. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +0 -28
  75. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +0 -1
  76. package/dist/os/compass/handlers/compass-inventory-handler.js +0 -377
  77. package/dist/os/compass/handlers/compass-inventory-handler.js.map +0 -1
  78. package/dist/os/compass/handlers/compass-inventory.d.ts +0 -30
  79. package/dist/os/compass/handlers/compass-inventory.d.ts.map +0 -1
  80. package/dist/os/compass/handlers/compass-inventory.js +0 -462
  81. package/dist/os/compass/handlers/compass-inventory.js.map +0 -1
  82. package/dist/os/compass/handlers/git-revision.d.ts +0 -8
  83. package/dist/os/compass/handlers/git-revision.d.ts.map +0 -1
  84. package/dist/os/compass/handlers/git-revision.js +0 -99
  85. package/dist/os/compass/handlers/git-revision.js.map +0 -1
  86. package/dist/os/compass/handlers/resolve-scan-root.d.ts +0 -3
  87. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +0 -1
  88. package/dist/os/compass/handlers/resolve-scan-root.js +0 -57
  89. package/dist/os/compass/handlers/resolve-scan-root.js.map +0 -1
  90. package/dist/os/compass/index.d.ts +0 -8
  91. package/dist/os/compass/index.d.ts.map +0 -1
  92. package/dist/os/compass/index.js +0 -19
  93. package/dist/os/compass/index.js.map +0 -1
  94. package/dist/os/core/core.module.d.ts +0 -3
  95. package/dist/os/core/core.module.d.ts.map +0 -1
  96. package/dist/os/core/core.module.js +0 -836
  97. package/dist/os/core/core.module.js.map +0 -1
  98. package/dist/os/core/handlers/assets-check.d.ts +0 -19
  99. package/dist/os/core/handlers/assets-check.d.ts.map +0 -1
  100. package/dist/os/core/handlers/assets-check.js +0 -89
  101. package/dist/os/core/handlers/assets-check.js.map +0 -1
  102. package/dist/os/core/handlers/assets-helpers.d.ts +0 -28
  103. package/dist/os/core/handlers/assets-helpers.d.ts.map +0 -1
  104. package/dist/os/core/handlers/assets-helpers.js +0 -128
  105. package/dist/os/core/handlers/assets-helpers.js.map +0 -1
  106. package/dist/os/core/handlers/assets-list.d.ts +0 -9
  107. package/dist/os/core/handlers/assets-list.d.ts.map +0 -1
  108. package/dist/os/core/handlers/assets-list.js +0 -72
  109. package/dist/os/core/handlers/assets-list.js.map +0 -1
  110. package/dist/os/core/handlers/build.d.ts +0 -16
  111. package/dist/os/core/handlers/build.d.ts.map +0 -1
  112. package/dist/os/core/handlers/build.js +0 -123
  113. package/dist/os/core/handlers/build.js.map +0 -1
  114. package/dist/os/core/handlers/determinism-check.d.ts +0 -20
  115. package/dist/os/core/handlers/determinism-check.d.ts.map +0 -1
  116. package/dist/os/core/handlers/determinism-check.js +0 -289
  117. package/dist/os/core/handlers/determinism-check.js.map +0 -1
  118. package/dist/os/core/handlers/dev.d.ts +0 -10
  119. package/dist/os/core/handlers/dev.d.ts.map +0 -1
  120. package/dist/os/core/handlers/dev.js +0 -102
  121. package/dist/os/core/handlers/dev.js.map +0 -1
  122. package/dist/os/core/handlers/forge-autonomy-validate.d.ts +0 -18
  123. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +0 -1
  124. package/dist/os/core/handlers/forge-autonomy-validate.js +0 -115
  125. package/dist/os/core/handlers/forge-autonomy-validate.js.map +0 -1
  126. package/dist/os/core/handlers/knowledge-compact.d.ts +0 -4
  127. package/dist/os/core/handlers/knowledge-compact.d.ts.map +0 -1
  128. package/dist/os/core/handlers/knowledge-compact.js +0 -204
  129. package/dist/os/core/handlers/knowledge-compact.js.map +0 -1
  130. package/dist/os/core/handlers/package-health.d.ts +0 -17
  131. package/dist/os/core/handlers/package-health.d.ts.map +0 -1
  132. package/dist/os/core/handlers/package-health.js +0 -196
  133. package/dist/os/core/handlers/package-health.js.map +0 -1
  134. package/dist/os/core/handlers/pinned-check.d.ts +0 -49
  135. package/dist/os/core/handlers/pinned-check.d.ts.map +0 -1
  136. package/dist/os/core/handlers/pinned-check.js +0 -159
  137. package/dist/os/core/handlers/pinned-check.js.map +0 -1
  138. package/dist/os/core/handlers/pinned-init.d.ts +0 -19
  139. package/dist/os/core/handlers/pinned-init.d.ts.map +0 -1
  140. package/dist/os/core/handlers/pinned-init.js +0 -283
  141. package/dist/os/core/handlers/pinned-init.js.map +0 -1
  142. package/dist/os/core/handlers/pinned-types.d.ts +0 -29
  143. package/dist/os/core/handlers/pinned-types.d.ts.map +0 -1
  144. package/dist/os/core/handlers/pinned-types.js +0 -16
  145. package/dist/os/core/handlers/pinned-types.js.map +0 -1
  146. package/dist/os/core/handlers/pinned-validate.d.ts +0 -4
  147. package/dist/os/core/handlers/pinned-validate.d.ts.map +0 -1
  148. package/dist/os/core/handlers/pinned-validate.js +0 -248
  149. package/dist/os/core/handlers/pinned-validate.js.map +0 -1
  150. package/dist/os/core/handlers/profile-resolve.d.ts +0 -13
  151. package/dist/os/core/handlers/profile-resolve.d.ts.map +0 -1
  152. package/dist/os/core/handlers/profile-resolve.js +0 -65
  153. package/dist/os/core/handlers/profile-resolve.js.map +0 -1
  154. package/dist/os/core/handlers/release-prepare.d.ts +0 -25
  155. package/dist/os/core/handlers/release-prepare.d.ts.map +0 -1
  156. package/dist/os/core/handlers/release-prepare.js +0 -228
  157. package/dist/os/core/handlers/release-prepare.js.map +0 -1
  158. package/dist/os/core/handlers/release-publish.d.ts +0 -13
  159. package/dist/os/core/handlers/release-publish.d.ts.map +0 -1
  160. package/dist/os/core/handlers/release-publish.js +0 -173
  161. package/dist/os/core/handlers/release-publish.js.map +0 -1
  162. package/dist/os/core/handlers/validate.d.ts +0 -26
  163. package/dist/os/core/handlers/validate.d.ts.map +0 -1
  164. package/dist/os/core/handlers/validate.js +0 -208
  165. package/dist/os/core/handlers/validate.js.map +0 -1
  166. package/dist/os/core/index.d.ts +0 -2
  167. package/dist/os/core/index.d.ts.map +0 -1
  168. package/dist/os/core/index.js +0 -13
  169. package/dist/os/core/index.js.map +0 -1
  170. package/dist/os/exploration/exploration.module.d.ts +0 -3
  171. package/dist/os/exploration/exploration.module.d.ts.map +0 -1
  172. package/dist/os/exploration/exploration.module.js +0 -83
  173. package/dist/os/exploration/exploration.module.js.map +0 -1
  174. package/dist/os/exploration/frontmatter-io.d.ts +0 -13
  175. package/dist/os/exploration/frontmatter-io.d.ts.map +0 -1
  176. package/dist/os/exploration/frontmatter-io.js +0 -61
  177. package/dist/os/exploration/frontmatter-io.js.map +0 -1
  178. package/dist/os/exploration/handlers/archive.d.ts +0 -4
  179. package/dist/os/exploration/handlers/archive.d.ts.map +0 -1
  180. package/dist/os/exploration/handlers/archive.js +0 -141
  181. package/dist/os/exploration/handlers/archive.js.map +0 -1
  182. package/dist/os/exploration/handlers/list.d.ts +0 -4
  183. package/dist/os/exploration/handlers/list.d.ts.map +0 -1
  184. package/dist/os/exploration/handlers/list.js +0 -64
  185. package/dist/os/exploration/handlers/list.js.map +0 -1
  186. package/dist/os/exploration/handlers/show.d.ts +0 -4
  187. package/dist/os/exploration/handlers/show.d.ts.map +0 -1
  188. package/dist/os/exploration/handlers/show.js +0 -97
  189. package/dist/os/exploration/handlers/show.js.map +0 -1
  190. package/dist/os/exploration/index.d.ts +0 -7
  191. package/dist/os/exploration/index.d.ts.map +0 -1
  192. package/dist/os/exploration/index.js +0 -17
  193. package/dist/os/exploration/index.js.map +0 -1
  194. package/dist/os/exploration/types.d.ts +0 -38
  195. package/dist/os/exploration/types.d.ts.map +0 -1
  196. package/dist/os/exploration/types.js +0 -23
  197. package/dist/os/exploration/types.js.map +0 -1
  198. package/dist/os/mission/handlers/archive.d.ts +0 -4
  199. package/dist/os/mission/handlers/archive.d.ts.map +0 -1
  200. package/dist/os/mission/handlers/archive.js +0 -356
  201. package/dist/os/mission/handlers/archive.js.map +0 -1
  202. package/dist/os/mission/index.d.ts +0 -2
  203. package/dist/os/mission/index.d.ts.map +0 -1
  204. package/dist/os/mission/index.js +0 -2
  205. package/dist/os/mission/index.js.map +0 -1
  206. package/dist/os/mission/mission.module.d.ts +0 -3
  207. package/dist/os/mission/mission.module.d.ts.map +0 -1
  208. package/dist/os/mission/mission.module.js +0 -45
  209. package/dist/os/mission/mission.module.js.map +0 -1
  210. package/dist/os/mission/types.d.ts +0 -23
  211. package/dist/os/mission/types.d.ts.map +0 -1
  212. package/dist/os/mission/types.js +0 -18
  213. package/dist/os/mission/types.js.map +0 -1
  214. package/dist/os/naming/index.d.ts +0 -3
  215. package/dist/os/naming/index.d.ts.map +0 -1
  216. package/dist/os/naming/index.js +0 -14
  217. package/dist/os/naming/index.js.map +0 -1
  218. package/dist/os/naming/naming-convention.d.ts +0 -25
  219. package/dist/os/naming/naming-convention.d.ts.map +0 -1
  220. package/dist/os/naming/naming-convention.js +0 -324
  221. package/dist/os/naming/naming-convention.js.map +0 -1
  222. package/dist/os/naming/naming.module.d.ts +0 -3
  223. package/dist/os/naming/naming.module.d.ts.map +0 -1
  224. package/dist/os/naming/naming.module.js +0 -34
  225. package/dist/os/naming/naming.module.js.map +0 -1
  226. package/dist/os/notes/index.d.ts +0 -2
  227. package/dist/os/notes/index.d.ts.map +0 -1
  228. package/dist/os/notes/index.js +0 -10
  229. package/dist/os/notes/index.js.map +0 -1
  230. package/dist/os/notes/notes.module.d.ts +0 -3
  231. package/dist/os/notes/notes.module.d.ts.map +0 -1
  232. package/dist/os/notes/notes.module.js +0 -84
  233. package/dist/os/notes/notes.module.js.map +0 -1
  234. package/dist/os/plan/frontmatter-io.d.ts +0 -12
  235. package/dist/os/plan/frontmatter-io.d.ts.map +0 -1
  236. package/dist/os/plan/frontmatter-io.js +0 -69
  237. package/dist/os/plan/frontmatter-io.js.map +0 -1
  238. package/dist/os/plan/handlers/archive.d.ts +0 -4
  239. package/dist/os/plan/handlers/archive.d.ts.map +0 -1
  240. package/dist/os/plan/handlers/archive.js +0 -206
  241. package/dist/os/plan/handlers/archive.js.map +0 -1
  242. package/dist/os/plan/index.d.ts +0 -6
  243. package/dist/os/plan/index.d.ts.map +0 -1
  244. package/dist/os/plan/index.js +0 -16
  245. package/dist/os/plan/index.js.map +0 -1
  246. package/dist/os/plan/plan.module.d.ts +0 -3
  247. package/dist/os/plan/plan.module.d.ts.map +0 -1
  248. package/dist/os/plan/plan.module.js +0 -45
  249. package/dist/os/plan/plan.module.js.map +0 -1
  250. package/dist/os/plan/types.d.ts +0 -12
  251. package/dist/os/plan/types.d.ts.map +0 -1
  252. package/dist/os/plan/types.js +0 -17
  253. package/dist/os/plan/types.js.map +0 -1
  254. package/dist/os/plugin/plugin.module.d.ts +0 -25
  255. package/dist/os/plugin/plugin.module.d.ts.map +0 -1
  256. package/dist/os/plugin/plugin.module.js +0 -208
  257. package/dist/os/plugin/plugin.module.js.map +0 -1
  258. package/dist/os/program/discovery.d.ts +0 -61
  259. package/dist/os/program/discovery.d.ts.map +0 -1
  260. package/dist/os/program/discovery.js +0 -236
  261. package/dist/os/program/discovery.js.map +0 -1
  262. package/dist/os/program/handlers/complete.d.ts +0 -12
  263. package/dist/os/program/handlers/complete.d.ts.map +0 -1
  264. package/dist/os/program/handlers/complete.js +0 -362
  265. package/dist/os/program/handlers/complete.js.map +0 -1
  266. package/dist/os/program/handlers/lease.d.ts +0 -13
  267. package/dist/os/program/handlers/lease.d.ts.map +0 -1
  268. package/dist/os/program/handlers/lease.js +0 -328
  269. package/dist/os/program/handlers/lease.js.map +0 -1
  270. package/dist/os/program/handlers/seal.d.ts +0 -12
  271. package/dist/os/program/handlers/seal.d.ts.map +0 -1
  272. package/dist/os/program/handlers/seal.js +0 -277
  273. package/dist/os/program/handlers/seal.js.map +0 -1
  274. package/dist/os/program/handlers/validate.d.ts +0 -14
  275. package/dist/os/program/handlers/validate.d.ts.map +0 -1
  276. package/dist/os/program/handlers/validate.js +0 -170
  277. package/dist/os/program/handlers/validate.js.map +0 -1
  278. package/dist/os/program/lease.d.ts +0 -39
  279. package/dist/os/program/lease.d.ts.map +0 -1
  280. package/dist/os/program/lease.js +0 -129
  281. package/dist/os/program/lease.js.map +0 -1
  282. package/dist/os/program/program.module.d.ts +0 -3
  283. package/dist/os/program/program.module.d.ts.map +0 -1
  284. package/dist/os/program/program.module.js +0 -202
  285. package/dist/os/program/program.module.js.map +0 -1
  286. package/dist/os/program/schemas.d.ts +0 -225
  287. package/dist/os/program/schemas.d.ts.map +0 -1
  288. package/dist/os/program/schemas.js +0 -174
  289. package/dist/os/program/schemas.js.map +0 -1
  290. package/dist/os/program/state.d.ts +0 -38
  291. package/dist/os/program/state.d.ts.map +0 -1
  292. package/dist/os/program/state.js +0 -189
  293. package/dist/os/program/state.js.map +0 -1
  294. package/dist/os/rfc/acceptance.d.ts +0 -15
  295. package/dist/os/rfc/acceptance.d.ts.map +0 -1
  296. package/dist/os/rfc/acceptance.js +0 -318
  297. package/dist/os/rfc/acceptance.js.map +0 -1
  298. package/dist/os/rfc/decision-log.d.ts +0 -6
  299. package/dist/os/rfc/decision-log.d.ts.map +0 -1
  300. package/dist/os/rfc/decision-log.js +0 -269
  301. package/dist/os/rfc/decision-log.js.map +0 -1
  302. package/dist/os/rfc/dna-trace.d.ts +0 -27
  303. package/dist/os/rfc/dna-trace.d.ts.map +0 -1
  304. package/dist/os/rfc/dna-trace.js +0 -214
  305. package/dist/os/rfc/dna-trace.js.map +0 -1
  306. package/dist/os/rfc/frontmatter-io.d.ts +0 -18
  307. package/dist/os/rfc/frontmatter-io.d.ts.map +0 -1
  308. package/dist/os/rfc/frontmatter-io.js +0 -110
  309. package/dist/os/rfc/frontmatter-io.js.map +0 -1
  310. package/dist/os/rfc/handlers/archive.d.ts +0 -25
  311. package/dist/os/rfc/handlers/archive.d.ts.map +0 -1
  312. package/dist/os/rfc/handlers/archive.js +0 -247
  313. package/dist/os/rfc/handlers/archive.js.map +0 -1
  314. package/dist/os/rfc/handlers/check.d.ts +0 -4
  315. package/dist/os/rfc/handlers/check.d.ts.map +0 -1
  316. package/dist/os/rfc/handlers/check.js +0 -203
  317. package/dist/os/rfc/handlers/check.js.map +0 -1
  318. package/dist/os/rfc/handlers/implement-stamp.d.ts +0 -4
  319. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +0 -1
  320. package/dist/os/rfc/handlers/implement-stamp.js +0 -426
  321. package/dist/os/rfc/handlers/implement-stamp.js.map +0 -1
  322. package/dist/os/rfc/handlers/index-graph.d.ts +0 -13
  323. package/dist/os/rfc/handlers/index-graph.d.ts.map +0 -1
  324. package/dist/os/rfc/handlers/index-graph.js +0 -192
  325. package/dist/os/rfc/handlers/index-graph.js.map +0 -1
  326. package/dist/os/rfc/handlers/lifecycle.d.ts +0 -13
  327. package/dist/os/rfc/handlers/lifecycle.d.ts.map +0 -1
  328. package/dist/os/rfc/handlers/lifecycle.js +0 -155
  329. package/dist/os/rfc/handlers/lifecycle.js.map +0 -1
  330. package/dist/os/rfc/handlers/list-create.d.ts +0 -6
  331. package/dist/os/rfc/handlers/list-create.d.ts.map +0 -1
  332. package/dist/os/rfc/handlers/list-create.js +0 -260
  333. package/dist/os/rfc/handlers/list-create.js.map +0 -1
  334. package/dist/os/rfc/handlers/pipeline-status.d.ts +0 -26
  335. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +0 -1
  336. package/dist/os/rfc/handlers/pipeline-status.js +0 -124
  337. package/dist/os/rfc/handlers/pipeline-status.js.map +0 -1
  338. package/dist/os/rfc/handlers/shared.d.ts +0 -22
  339. package/dist/os/rfc/handlers/shared.d.ts.map +0 -1
  340. package/dist/os/rfc/handlers/shared.js +0 -105
  341. package/dist/os/rfc/handlers/shared.js.map +0 -1
  342. package/dist/os/rfc/handlers/supersede-propose.d.ts +0 -4
  343. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +0 -1
  344. package/dist/os/rfc/handlers/supersede-propose.js +0 -203
  345. package/dist/os/rfc/handlers/supersede-propose.js.map +0 -1
  346. package/dist/os/rfc/handlers/validate-rules.d.ts +0 -32
  347. package/dist/os/rfc/handlers/validate-rules.d.ts.map +0 -1
  348. package/dist/os/rfc/handlers/validate-rules.js +0 -590
  349. package/dist/os/rfc/handlers/validate-rules.js.map +0 -1
  350. package/dist/os/rfc/handlers/validate.d.ts +0 -4
  351. package/dist/os/rfc/handlers/validate.d.ts.map +0 -1
  352. package/dist/os/rfc/handlers/validate.js +0 -122
  353. package/dist/os/rfc/handlers/validate.js.map +0 -1
  354. package/dist/os/rfc/handlers.d.ts +0 -7
  355. package/dist/os/rfc/handlers.d.ts.map +0 -1
  356. package/dist/os/rfc/handlers.js +0 -19
  357. package/dist/os/rfc/handlers.js.map +0 -1
  358. package/dist/os/rfc/index.d.ts +0 -18
  359. package/dist/os/rfc/index.d.ts.map +0 -1
  360. package/dist/os/rfc/index.js +0 -24
  361. package/dist/os/rfc/index.js.map +0 -1
  362. package/dist/os/rfc/rfc.module.d.ts +0 -3
  363. package/dist/os/rfc/rfc.module.d.ts.map +0 -1
  364. package/dist/os/rfc/rfc.module.js +0 -367
  365. package/dist/os/rfc/rfc.module.js.map +0 -1
  366. package/dist/os/rfc/types.d.ts +0 -483
  367. package/dist/os/rfc/types.d.ts.map +0 -1
  368. package/dist/os/rfc/types.js +0 -100
  369. package/dist/os/rfc/types.js.map +0 -1
  370. package/dist/os/rfc/verification-evidence.d.ts +0 -8
  371. package/dist/os/rfc/verification-evidence.d.ts.map +0 -1
  372. package/dist/os/rfc/verification-evidence.js +0 -184
  373. package/dist/os/rfc/verification-evidence.js.map +0 -1
  374. package/dist/os/session/atif-parser.d.ts +0 -29
  375. package/dist/os/session/atif-parser.d.ts.map +0 -1
  376. package/dist/os/session/atif-parser.js +0 -140
  377. package/dist/os/session/atif-parser.js.map +0 -1
  378. package/dist/os/session/frontmatter-io.d.ts +0 -31
  379. package/dist/os/session/frontmatter-io.d.ts.map +0 -1
  380. package/dist/os/session/frontmatter-io.js +0 -146
  381. package/dist/os/session/frontmatter-io.js.map +0 -1
  382. package/dist/os/session/handlers/archive.d.ts +0 -4
  383. package/dist/os/session/handlers/archive.d.ts.map +0 -1
  384. package/dist/os/session/handlers/archive.js +0 -241
  385. package/dist/os/session/handlers/archive.js.map +0 -1
  386. package/dist/os/session/handlers/list.d.ts +0 -4
  387. package/dist/os/session/handlers/list.d.ts.map +0 -1
  388. package/dist/os/session/handlers/list.js +0 -147
  389. package/dist/os/session/handlers/list.js.map +0 -1
  390. package/dist/os/session/handlers/save.d.ts +0 -6
  391. package/dist/os/session/handlers/save.d.ts.map +0 -1
  392. package/dist/os/session/handlers/save.js +0 -297
  393. package/dist/os/session/handlers/save.js.map +0 -1
  394. package/dist/os/session/handlers/validate.d.ts +0 -4
  395. package/dist/os/session/handlers/validate.d.ts.map +0 -1
  396. package/dist/os/session/handlers/validate.js +0 -224
  397. package/dist/os/session/handlers/validate.js.map +0 -1
  398. package/dist/os/session/index.d.ts +0 -9
  399. package/dist/os/session/index.d.ts.map +0 -1
  400. package/dist/os/session/index.js +0 -20
  401. package/dist/os/session/index.js.map +0 -1
  402. package/dist/os/session/session.module.d.ts +0 -3
  403. package/dist/os/session/session.module.d.ts.map +0 -1
  404. package/dist/os/session/session.module.js +0 -116
  405. package/dist/os/session/session.module.js.map +0 -1
  406. package/dist/os/session/types.d.ts +0 -131
  407. package/dist/os/session/types.d.ts.map +0 -1
  408. package/dist/os/session/types.js +0 -59
  409. package/dist/os/session/types.js.map +0 -1
  410. package/dist/os/spec/live-spec-list.d.ts +0 -4
  411. package/dist/os/spec/live-spec-list.d.ts.map +0 -1
  412. package/dist/os/spec/live-spec-list.js +0 -72
  413. package/dist/os/spec/live-spec-list.js.map +0 -1
  414. package/dist/os/spec/live-spec-merge.d.ts +0 -4
  415. package/dist/os/spec/live-spec-merge.d.ts.map +0 -1
  416. package/dist/os/spec/live-spec-merge.js +0 -345
  417. package/dist/os/spec/live-spec-merge.js.map +0 -1
  418. package/dist/os/spec/live-spec-show.d.ts +0 -4
  419. package/dist/os/spec/live-spec-show.d.ts.map +0 -1
  420. package/dist/os/spec/live-spec-show.js +0 -105
  421. package/dist/os/spec/live-spec-show.js.map +0 -1
  422. package/dist/os/spec/live-spec-types.d.ts +0 -71
  423. package/dist/os/spec/live-spec-types.d.ts.map +0 -1
  424. package/dist/os/spec/live-spec-types.js +0 -14
  425. package/dist/os/spec/live-spec-types.js.map +0 -1
  426. package/dist/os/spec/live-spec-validate.d.ts +0 -4
  427. package/dist/os/spec/live-spec-validate.d.ts.map +0 -1
  428. package/dist/os/spec/live-spec-validate.js +0 -140
  429. package/dist/os/spec/live-spec-validate.js.map +0 -1
  430. package/dist/os/spec/spec-materialize.d.ts +0 -21
  431. package/dist/os/spec/spec-materialize.d.ts.map +0 -1
  432. package/dist/os/spec/spec-materialize.js +0 -342
  433. package/dist/os/spec/spec-materialize.js.map +0 -1
  434. package/dist/os/spec/spec-schema.d.ts +0 -126
  435. package/dist/os/spec/spec-schema.d.ts.map +0 -1
  436. package/dist/os/spec/spec-schema.js +0 -118
  437. package/dist/os/spec/spec-schema.js.map +0 -1
  438. package/dist/os/spec/spec-status.d.ts +0 -33
  439. package/dist/os/spec/spec-status.d.ts.map +0 -1
  440. package/dist/os/spec/spec-status.js +0 -228
  441. package/dist/os/spec/spec-status.js.map +0 -1
  442. package/dist/os/spec/spec-validate.d.ts +0 -4
  443. package/dist/os/spec/spec-validate.d.ts.map +0 -1
  444. package/dist/os/spec/spec-validate.js +0 -435
  445. package/dist/os/spec/spec-validate.js.map +0 -1
  446. package/dist/os/spec/spec.module.d.ts +0 -3
  447. package/dist/os/spec/spec.module.d.ts.map +0 -1
  448. package/dist/os/spec/spec.module.js +0 -120
  449. package/dist/os/spec/spec.module.js.map +0 -1
  450. package/dist/os/werkstatt/handlers/lock.d.ts +0 -10
  451. package/dist/os/werkstatt/handlers/lock.d.ts.map +0 -1
  452. package/dist/os/werkstatt/handlers/lock.js +0 -153
  453. package/dist/os/werkstatt/handlers/lock.js.map +0 -1
  454. package/dist/os/werkstatt/handlers/schema.d.ts +0 -33
  455. package/dist/os/werkstatt/handlers/schema.d.ts.map +0 -1
  456. package/dist/os/werkstatt/handlers/schema.js +0 -42
  457. package/dist/os/werkstatt/handlers/schema.js.map +0 -1
  458. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts +0 -15
  459. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +0 -1
  460. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +0 -152
  461. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +0 -1
  462. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts +0 -18
  463. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts.map +0 -1
  464. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js +0 -51
  465. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js.map +0 -1
  466. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts +0 -11
  467. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +0 -1
  468. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +0 -79
  469. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +0 -1
  470. package/dist/os/werkstatt/handlers/workspace-deps.d.ts +0 -12
  471. package/dist/os/werkstatt/handlers/workspace-deps.d.ts.map +0 -1
  472. package/dist/os/werkstatt/handlers/workspace-deps.js +0 -42
  473. package/dist/os/werkstatt/handlers/workspace-deps.js.map +0 -1
  474. package/dist/os/werkstatt/index.d.ts +0 -7
  475. package/dist/os/werkstatt/index.d.ts.map +0 -1
  476. package/dist/os/werkstatt/index.js +0 -18
  477. package/dist/os/werkstatt/index.js.map +0 -1
  478. package/dist/os/werkstatt/werkstatt.module.d.ts +0 -3
  479. package/dist/os/werkstatt/werkstatt.module.d.ts.map +0 -1
  480. package/dist/os/werkstatt/werkstatt.module.js +0 -59
  481. package/dist/os/werkstatt/werkstatt.module.js.map +0 -1
  482. package/dist/os/workflow/handlers.d.ts +0 -12
  483. package/dist/os/workflow/handlers.d.ts.map +0 -1
  484. package/dist/os/workflow/handlers.js +0 -262
  485. package/dist/os/workflow/handlers.js.map +0 -1
  486. package/dist/os/workflow/index.d.ts +0 -4
  487. package/dist/os/workflow/index.d.ts.map +0 -1
  488. package/dist/os/workflow/index.js +0 -18
  489. package/dist/os/workflow/index.js.map +0 -1
  490. package/dist/os/workflow/types.d.ts +0 -69
  491. package/dist/os/workflow/types.d.ts.map +0 -1
  492. package/dist/os/workflow/types.js +0 -23
  493. package/dist/os/workflow/types.js.map +0 -1
  494. package/dist/os/workflow/workflow.module.d.ts +0 -3
  495. package/dist/os/workflow/workflow.module.d.ts.map +0 -1
  496. package/dist/os/workflow/workflow.module.js +0 -49
  497. package/dist/os/workflow/workflow.module.js.map +0 -1
  498. package/dist/src/cli-output.d.ts +0 -5
  499. package/dist/src/cli-output.d.ts.map +0 -1
  500. package/dist/src/cli-output.js +0 -53
  501. package/dist/src/cli-output.js.map +0 -1
  502. package/dist/src/compass/contract-registry.d.ts +0 -7
  503. package/dist/src/compass/contract-registry.d.ts.map +0 -1
  504. package/dist/src/compass/contract-registry.js +0 -93
  505. package/dist/src/compass/contract-registry.js.map +0 -1
  506. package/dist/src/compass/types.d.ts +0 -28
  507. package/dist/src/compass/types.d.ts.map +0 -1
  508. package/dist/src/compass/types.js +0 -14
  509. package/dist/src/compass/types.js.map +0 -1
  510. package/dist/src/config/forge-config.d.ts +0 -242
  511. package/dist/src/config/forge-config.d.ts.map +0 -1
  512. package/dist/src/config/forge-config.js +0 -363
  513. package/dist/src/config/forge-config.js.map +0 -1
  514. package/dist/src/forge-module.d.ts +0 -17
  515. package/dist/src/forge-module.d.ts.map +0 -1
  516. package/dist/src/forge-module.js +0 -16
  517. package/dist/src/forge-module.js.map +0 -1
  518. package/dist/src/index.d.ts +0 -39
  519. package/dist/src/index.d.ts.map +0 -1
  520. package/dist/src/index.js +0 -59
  521. package/dist/src/index.js.map +0 -1
  522. package/dist/src/knowledge/budgets.d.ts +0 -38
  523. package/dist/src/knowledge/budgets.d.ts.map +0 -1
  524. package/dist/src/knowledge/budgets.js +0 -157
  525. package/dist/src/knowledge/budgets.js.map +0 -1
  526. package/dist/src/knowledge/compact.d.ts +0 -47
  527. package/dist/src/knowledge/compact.d.ts.map +0 -1
  528. package/dist/src/knowledge/compact.js +0 -320
  529. package/dist/src/knowledge/compact.js.map +0 -1
  530. package/dist/src/knowledge/index.d.ts +0 -7
  531. package/dist/src/knowledge/index.d.ts.map +0 -1
  532. package/dist/src/knowledge/index.js +0 -19
  533. package/dist/src/knowledge/index.js.map +0 -1
  534. package/dist/src/knowledge/parse.d.ts +0 -3
  535. package/dist/src/knowledge/parse.d.ts.map +0 -1
  536. package/dist/src/knowledge/parse.js +0 -205
  537. package/dist/src/knowledge/parse.js.map +0 -1
  538. package/dist/src/knowledge/promote.d.ts +0 -37
  539. package/dist/src/knowledge/promote.d.ts.map +0 -1
  540. package/dist/src/knowledge/promote.js +0 -120
  541. package/dist/src/knowledge/promote.js.map +0 -1
  542. package/dist/src/knowledge/schema.d.ts +0 -61
  543. package/dist/src/knowledge/schema.d.ts.map +0 -1
  544. package/dist/src/knowledge/schema.js +0 -64
  545. package/dist/src/knowledge/schema.js.map +0 -1
  546. package/dist/src/knowledge/serialize.d.ts +0 -3
  547. package/dist/src/knowledge/serialize.d.ts.map +0 -1
  548. package/dist/src/knowledge/serialize.js +0 -67
  549. package/dist/src/knowledge/serialize.js.map +0 -1
  550. package/dist/src/migration-adapters/git-utils.d.ts +0 -3
  551. package/dist/src/migration-adapters/git-utils.d.ts.map +0 -1
  552. package/dist/src/migration-adapters/git-utils.js +0 -64
  553. package/dist/src/migration-adapters/git-utils.js.map +0 -1
  554. package/dist/src/migration-adapters/ignored-files.d.ts +0 -12
  555. package/dist/src/migration-adapters/ignored-files.d.ts.map +0 -1
  556. package/dist/src/migration-adapters/ignored-files.js +0 -190
  557. package/dist/src/migration-adapters/ignored-files.js.map +0 -1
  558. package/dist/src/migration-adapters/index.d.ts +0 -8
  559. package/dist/src/migration-adapters/index.d.ts.map +0 -1
  560. package/dist/src/migration-adapters/index.js +0 -17
  561. package/dist/src/migration-adapters/index.js.map +0 -1
  562. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts +0 -3
  563. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts.map +0 -1
  564. package/dist/src/migration-adapters/node-typescript-pnpm/index.js +0 -141
  565. package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +0 -1
  566. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts +0 -3
  567. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts.map +0 -1
  568. package/dist/src/migration-adapters/phaser-pnpm/index.js +0 -142
  569. package/dist/src/migration-adapters/phaser-pnpm/index.js.map +0 -1
  570. package/dist/src/migration-adapters/registry.d.ts +0 -6
  571. package/dist/src/migration-adapters/registry.d.ts.map +0 -1
  572. package/dist/src/migration-adapters/registry.js +0 -55
  573. package/dist/src/migration-adapters/registry.js.map +0 -1
  574. package/dist/src/migration-adapters/types.d.ts +0 -35
  575. package/dist/src/migration-adapters/types.d.ts.map +0 -1
  576. package/dist/src/migration-adapters/types.js +0 -31
  577. package/dist/src/migration-adapters/types.js.map +0 -1
  578. package/dist/src/onboarding/agents-generate.d.ts +0 -31
  579. package/dist/src/onboarding/agents-generate.d.ts.map +0 -1
  580. package/dist/src/onboarding/agents-generate.js +0 -372
  581. package/dist/src/onboarding/agents-generate.js.map +0 -1
  582. package/dist/src/onboarding/create.d.ts +0 -12
  583. package/dist/src/onboarding/create.d.ts.map +0 -1
  584. package/dist/src/onboarding/create.js +0 -389
  585. package/dist/src/onboarding/create.js.map +0 -1
  586. package/dist/src/onboarding/doctor.d.ts +0 -45
  587. package/dist/src/onboarding/doctor.d.ts.map +0 -1
  588. package/dist/src/onboarding/doctor.js +0 -1190
  589. package/dist/src/onboarding/doctor.js.map +0 -1
  590. package/dist/src/onboarding/init.d.ts +0 -36
  591. package/dist/src/onboarding/init.d.ts.map +0 -1
  592. package/dist/src/onboarding/init.js +0 -362
  593. package/dist/src/onboarding/init.js.map +0 -1
  594. package/dist/src/onboarding/invariant-engine.d.ts +0 -17
  595. package/dist/src/onboarding/invariant-engine.d.ts.map +0 -1
  596. package/dist/src/onboarding/invariant-engine.js +0 -416
  597. package/dist/src/onboarding/invariant-engine.js.map +0 -1
  598. package/dist/src/onboarding/memory-scaffold.d.ts +0 -18
  599. package/dist/src/onboarding/memory-scaffold.d.ts.map +0 -1
  600. package/dist/src/onboarding/memory-scaffold.js +0 -151
  601. package/dist/src/onboarding/memory-scaffold.js.map +0 -1
  602. package/dist/src/onboarding/nested-agents-generate.d.ts +0 -18
  603. package/dist/src/onboarding/nested-agents-generate.d.ts.map +0 -1
  604. package/dist/src/onboarding/nested-agents-generate.js +0 -69
  605. package/dist/src/onboarding/nested-agents-generate.js.map +0 -1
  606. package/dist/src/onboarding/nested-agents-templates.d.ts +0 -26
  607. package/dist/src/onboarding/nested-agents-templates.d.ts.map +0 -1
  608. package/dist/src/onboarding/nested-agents-templates.js +0 -178
  609. package/dist/src/onboarding/nested-agents-templates.js.map +0 -1
  610. package/dist/src/onboarding/profile-validate.d.ts +0 -13
  611. package/dist/src/onboarding/profile-validate.d.ts.map +0 -1
  612. package/dist/src/onboarding/profile-validate.js +0 -109
  613. package/dist/src/onboarding/profile-validate.js.map +0 -1
  614. package/dist/src/onboarding/scaffold-project.d.ts +0 -12
  615. package/dist/src/onboarding/scaffold-project.d.ts.map +0 -1
  616. package/dist/src/onboarding/scaffold-project.js +0 -264
  617. package/dist/src/onboarding/scaffold-project.js.map +0 -1
  618. package/dist/src/onboarding/scaffold.d.ts +0 -15
  619. package/dist/src/onboarding/scaffold.d.ts.map +0 -1
  620. package/dist/src/onboarding/scaffold.js +0 -121
  621. package/dist/src/onboarding/scaffold.js.map +0 -1
  622. package/dist/src/onboarding/upgrade.d.ts +0 -27
  623. package/dist/src/onboarding/upgrade.d.ts.map +0 -1
  624. package/dist/src/onboarding/upgrade.js +0 -453
  625. package/dist/src/onboarding/upgrade.js.map +0 -1
  626. package/dist/src/onboarding/workspace-discovery.d.ts +0 -11
  627. package/dist/src/onboarding/workspace-discovery.d.ts.map +0 -1
  628. package/dist/src/onboarding/workspace-discovery.js +0 -138
  629. package/dist/src/onboarding/workspace-discovery.js.map +0 -1
  630. package/dist/src/plugin/ForgePluginManifest.d.ts +0 -38
  631. package/dist/src/plugin/ForgePluginManifest.d.ts.map +0 -1
  632. package/dist/src/plugin/ForgePluginManifest.js +0 -52
  633. package/dist/src/plugin/ForgePluginManifest.js.map +0 -1
  634. package/dist/src/profiles/profile-schema.d.ts +0 -361
  635. package/dist/src/profiles/profile-schema.d.ts.map +0 -1
  636. package/dist/src/profiles/profile-schema.js +0 -208
  637. package/dist/src/profiles/profile-schema.js.map +0 -1
  638. package/dist/src/profiles/stack-profile.d.ts +0 -173
  639. package/dist/src/profiles/stack-profile.d.ts.map +0 -1
  640. package/dist/src/profiles/stack-profile.js +0 -148
  641. package/dist/src/profiles/stack-profile.js.map +0 -1
  642. package/dist/src/profiles/terminology-utils.d.ts +0 -8
  643. package/dist/src/profiles/terminology-utils.d.ts.map +0 -1
  644. package/dist/src/profiles/terminology-utils.js +0 -31
  645. package/dist/src/profiles/terminology-utils.js.map +0 -1
  646. package/dist/src/registry.d.ts +0 -38
  647. package/dist/src/registry.d.ts.map +0 -1
  648. package/dist/src/registry.js +0 -174
  649. package/dist/src/registry.js.map +0 -1
  650. package/dist/src/skill-schema.d.ts +0 -30
  651. package/dist/src/skill-schema.d.ts.map +0 -1
  652. package/dist/src/skill-schema.js +0 -34
  653. package/dist/src/skill-schema.js.map +0 -1
  654. package/dist/src/types.d.ts +0 -154
  655. package/dist/src/types.d.ts.map +0 -1
  656. package/dist/src/types.js +0 -17
  657. package/dist/src/types.js.map +0 -1
  658. package/dist/src/utils/fs-atomic.d.ts +0 -7
  659. package/dist/src/utils/fs-atomic.d.ts.map +0 -1
  660. package/dist/src/utils/fs-atomic.js +0 -81
  661. package/dist/src/utils/fs-atomic.js.map +0 -1
  662. package/dist/src/utils/fs-idempotent.d.ts +0 -2
  663. package/dist/src/utils/fs-idempotent.d.ts.map +0 -1
  664. package/dist/src/utils/fs-idempotent.js +0 -39
  665. package/dist/src/utils/fs-idempotent.js.map +0 -1
  666. package/dist/src/utils/fs-trash-sync.d.ts +0 -2
  667. package/dist/src/utils/fs-trash-sync.d.ts.map +0 -1
  668. package/dist/src/utils/fs-trash-sync.js +0 -34
  669. package/dist/src/utils/fs-trash-sync.js.map +0 -1
  670. package/dist/src/utils/fs-trash.d.ts +0 -2
  671. package/dist/src/utils/fs-trash.d.ts.map +0 -1
  672. package/dist/src/utils/fs-trash.js +0 -24
  673. package/dist/src/utils/fs-trash.js.map +0 -1
  674. package/dist/src/utils/fs.d.ts +0 -8
  675. package/dist/src/utils/fs.d.ts.map +0 -1
  676. package/dist/src/utils/fs.js +0 -60
  677. package/dist/src/utils/fs.js.map +0 -1
  678. package/dist/src/utils/generated-marker.d.ts +0 -21
  679. package/dist/src/utils/generated-marker.d.ts.map +0 -1
  680. package/dist/src/utils/generated-marker.js +0 -128
  681. package/dist/src/utils/generated-marker.js.map +0 -1
  682. package/dist/src/utils/hash.d.ts +0 -2
  683. package/dist/src/utils/hash.d.ts.map +0 -1
  684. package/dist/src/utils/hash.js +0 -18
  685. package/dist/src/utils/hash.js.map +0 -1
  686. package/dist/src/utils/index.d.ts +0 -9
  687. package/dist/src/utils/index.d.ts.map +0 -1
  688. package/dist/src/utils/index.js +0 -21
  689. package/dist/src/utils/index.js.map +0 -1
  690. package/dist/src/utils/string-utils.d.ts +0 -2
  691. package/dist/src/utils/string-utils.d.ts.map +0 -1
  692. package/dist/src/utils/string-utils.js +0 -19
  693. package/dist/src/utils/string-utils.js.map +0 -1
  694. package/dist/src/validators/note-frontmatter-validate.d.ts +0 -20
  695. package/dist/src/validators/note-frontmatter-validate.d.ts.map +0 -1
  696. package/dist/src/validators/note-frontmatter-validate.js +0 -117
  697. package/dist/src/validators/note-frontmatter-validate.js.map +0 -1
  698. package/dist/src/validators/note-link-validate.d.ts +0 -21
  699. package/dist/src/validators/note-link-validate.d.ts.map +0 -1
  700. package/dist/src/validators/note-link-validate.js +0 -121
  701. package/dist/src/validators/note-link-validate.js.map +0 -1
  702. package/dist/src/validators/note-orphan-detect.d.ts +0 -19
  703. package/dist/src/validators/note-orphan-detect.d.ts.map +0 -1
  704. package/dist/src/validators/note-orphan-detect.js +0 -123
  705. package/dist/src/validators/note-orphan-detect.js.map +0 -1
  706. package/dist/src/validators/port-validate.d.ts +0 -12
  707. package/dist/src/validators/port-validate.d.ts.map +0 -1
  708. package/dist/src/validators/port-validate.js +0 -78
  709. package/dist/src/validators/port-validate.js.map +0 -1
  710. package/dist/src/validators/skill-validate.d.ts +0 -29
  711. package/dist/src/validators/skill-validate.d.ts.map +0 -1
  712. package/dist/src/validators/skill-validate.js +0 -689
  713. package/dist/src/validators/skill-validate.js.map +0 -1
@@ -1,426 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>
4
- RFC-0476: rfc.implement.stamp — the exclusive atomic path for every
5
- accepted → implemented RFC transition. Validates preconditions, records
6
- verification evidence, and atomically mutates RFC frontmatter.
7
- </purpose>
8
- <non-goals>
9
- <item>Does not transition non-accepted RFCs.</item>
10
- <item>Does not bypass V-26/V-27 criterion semantics — reuses evaluateAcceptanceCriteria.</item>
11
- <item>Does not call the GitHub API or require network access.</item>
12
- </non-goals>
13
- </MODULE_CONTRACT>
14
- <CHANGE_SUMMARY>
15
- <item>RFC-0476: initial implementation.</item>
16
- <item>RFC-0756: auto-detect implementation commit when --implementation-commit is omitted.</item>
17
- <item>RFC-0795: add RFC-IMP-07 dependsOn dependency gate — blocks stamping when any dependsOn entry is not implemented.</item>
18
- </CHANGE_SUMMARY>
19
- */
20
- import { execFile } from "node:child_process";
21
- import { readFile, unlink, mkdir } from "node:fs/promises";
22
- import { join, dirname } from "node:path";
23
- import { writeFileAtomic } from "../../../src/utils/fs-atomic.js";
24
- import { parse as yamlParse } from "yaml";
25
- import { listRfcFiles, readAndParseRfc, rfcFileMatchesId, loadRfcStatusMap, } from "../frontmatter-io.js";
26
- import { evaluateAcceptanceCriteria } from "./validate-rules.js";
27
- import { toIsoDate } from "./shared.js";
28
- import { RFC_DIR, RFC_METADATA_CUTOFF } from "../types.js";
29
- const VERIFICATION_DIR = join(RFC_DIR, "verification");
30
- // ─── Git helpers ─────────────────────────────────────────────────────────────
31
- function execGit(workspaceRoot, args) {
32
- return new Promise((resolve) => {
33
- execFile("git", args, { cwd: workspaceRoot, timeout: 10000 }, (err, stdout) => {
34
- if (err) {
35
- resolve("");
36
- return;
37
- }
38
- resolve(stdout.trim());
39
- });
40
- });
41
- }
42
- async function isRfcFileClean(workspaceRoot, rfcRelPath) {
43
- const status = await execGit(workspaceRoot, ["status", "--porcelain", "--", rfcRelPath]);
44
- return status.length === 0;
45
- }
46
- async function commitReachableFromHead(workspaceRoot, commitSha) {
47
- const _result = await execGit(workspaceRoot, ["merge-base", "--is-ancestor", commitSha, "HEAD"]);
48
- // merge-base --is-ancestor exits 0 if ancestor, 1 if not, >1 on error
49
- // execGit returns "" on error (non-zero exit), trimmed stdout on success
50
- // So we need a different approach: check exit code directly
51
- return new Promise((resolve) => {
52
- execFile("git", ["merge-base", "--is-ancestor", commitSha, "HEAD"], { cwd: workspaceRoot, timeout: 10000 }, (err) => {
53
- resolve(!err);
54
- });
55
- });
56
- }
57
- async function autoDetectImplementationCommit(workspaceRoot, rfcId) {
58
- const hashes = await execGit(workspaceRoot, [
59
- "log",
60
- "--fixed-strings",
61
- "--no-merges",
62
- `--grep=${rfcId}`,
63
- "--format=%H",
64
- ]);
65
- const hashList = hashes.split("\n").filter(Boolean);
66
- if (hashList.length === 0)
67
- return { none: true };
68
- if (hashList.length === 1)
69
- return { sha: hashList[0] };
70
- const details = await execGit(workspaceRoot, [
71
- "log",
72
- "--fixed-strings",
73
- "--no-merges",
74
- `--grep=${rfcId}`,
75
- "--format=%h %s",
76
- ]);
77
- const candidates = details
78
- .split("\n")
79
- .filter(Boolean)
80
- .map((line) => {
81
- const spaceIdx = line.indexOf(" ");
82
- const sha = spaceIdx >= 0 ? line.slice(0, spaceIdx) : line;
83
- const message = spaceIdx >= 0 ? line.slice(spaceIdx + 1) : "";
84
- return { sha, message };
85
- });
86
- return { multiple: candidates };
87
- }
88
- async function commitReferencesRfc(workspaceRoot, commitSha, rfcId) {
89
- // Check the commit message and the diff for the RFC ID
90
- const commitMsg = await execGit(workspaceRoot, ["log", "-1", "--format=%B", commitSha]);
91
- if (commitMsg.includes(rfcId))
92
- return true;
93
- // Also check if the commit touched a file whose name contains the RFC id
94
- const changedFiles = await execGit(workspaceRoot, [
95
- "show",
96
- "--name-only",
97
- "--format=",
98
- commitSha,
99
- ]);
100
- const slug = rfcId.toLowerCase();
101
- if (changedFiles.toLowerCase().includes(slug))
102
- return true;
103
- return false;
104
- }
105
- // ─── RFC-specific exclusive lock ─────────────────────────────────────────────
106
- function lockFilePath(workspaceRoot, rfcId) {
107
- const slug = rfcId.toLowerCase();
108
- return join(workspaceRoot, ".rfc-locks", `${slug}.lock`);
109
- }
110
- async function acquireRfcLock(workspaceRoot, rfcId) {
111
- const lockPath = lockFilePath(workspaceRoot, rfcId);
112
- const lockDir = dirname(lockPath);
113
- await mkdir(lockDir, { recursive: true });
114
- // Atomic lock acquisition via O_EXCL file creation
115
- const { open } = await import("node:fs/promises");
116
- try {
117
- const handle = await open(lockPath, "wx");
118
- await handle.writeFile(JSON.stringify({ pid: process.pid, acquiredAt: new Date().toISOString() }));
119
- await handle.close();
120
- return { acquired: true, lockPath };
121
- }
122
- catch {
123
- return { acquired: false, lockPath };
124
- }
125
- }
126
- async function releaseRfcLock(lockPath) {
127
- try {
128
- await unlink(lockPath);
129
- }
130
- catch {
131
- // Lock file already removed — safe
132
- }
133
- }
134
- // ─── Evidence helpers ────────────────────────────────────────────────────────
135
- async function checkExistingEvidence(workspaceRoot, rfcId) {
136
- const slug = rfcId.toLowerCase();
137
- const evidencePath = join(workspaceRoot, VERIFICATION_DIR, `${slug}.generated.yaml`);
138
- try {
139
- const content = await readFile(evidencePath, "utf-8");
140
- const evidence = yamlParse(content);
141
- return { exists: true, overall: String(evidence.overall ?? "") };
142
- }
143
- catch {
144
- return { exists: false, overall: "missing" };
145
- }
146
- }
147
- // ─── Frontmatter mutation ────────────────────────────────────────────────────
148
- function mutateFrontmatter(source, status, implementedAt, updatedAt) {
149
- let content = source;
150
- // Replace status
151
- content = content.replace(/^status: \w+$/m, `status: ${status}`);
152
- // Replace implementedAt (may be empty or already set)
153
- if (/^implementedAt:.*$/m.test(content)) {
154
- content = content.replace(/^implementedAt:.*$/m, `implementedAt: ${implementedAt}`);
155
- }
156
- else {
157
- // Insert after updatedAt
158
- content = content.replace(/^updatedAt: .*$/m, `updatedAt: ${updatedAt}\nimplementedAt: ${implementedAt}`);
159
- }
160
- // Replace updatedAt
161
- content = content.replace(/^updatedAt: .*$/m, `updatedAt: ${updatedAt}`);
162
- return content;
163
- }
164
- // ─── Main handler ────────────────────────────────────────────────────────────
165
- export async function runRfcImplementStamp(input, context) {
166
- const { workspaceRoot, logger, outputFormat, dryRun } = context;
167
- const rfcDirPath = join(workspaceRoot, RFC_DIR);
168
- const targetId = input.flags["id"];
169
- let implementationCommit = input.flags["implementation-commit"];
170
- // ── Flag validation ───────────────────────────────────────────────────────
171
- if (!targetId) {
172
- throw new Error("rfc.implement.stamp requires --id flag (e.g. --id RFC-0476).");
173
- }
174
- const violations = [];
175
- const isDryRun = dryRun || input.flags["dry-run"] === true;
176
- // ── Find the target RFC ───────────────────────────────────────────────────
177
- const files = await listRfcFiles(rfcDirPath);
178
- const targetFile = files.find((f) => rfcFileMatchesId(f, targetId));
179
- if (!targetFile) {
180
- violations.push({
181
- rule: "RFC-IMP-01",
182
- message: `RFC ${targetId} not found in ${RFC_DIR}.`,
183
- });
184
- return stampFailResult(violations, isDryRun, outputFormat, logger);
185
- }
186
- const targetParsed = await readAndParseRfc(rfcDirPath, targetFile);
187
- if (!targetParsed) {
188
- violations.push({
189
- rule: "RFC-IMP-01",
190
- message: `Could not parse target RFC ${targetId}.`,
191
- });
192
- return stampFailResult(violations, isDryRun, outputFormat, logger);
193
- }
194
- if ("error" in targetParsed) {
195
- violations.push({
196
- rule: "RFC-IMP-01",
197
- message: `Could not parse target RFC ${targetId}: ${targetParsed.error}`,
198
- });
199
- return stampFailResult(violations, isDryRun, outputFormat, logger);
200
- }
201
- const fm = targetParsed.parsed.frontmatter;
202
- const body = targetParsed.parsed.body;
203
- const currentStatus = String(fm["status"] ?? "");
204
- // ── RFC-IMP-01: must be in accepted status ────────────────────────────────
205
- if (currentStatus !== "accepted") {
206
- violations.push({
207
- rule: "RFC-IMP-01",
208
- message: `RFC ${targetId} has status "${currentStatus}" — only "accepted" RFCs can be stamped to "implemented".`,
209
- });
210
- return stampFailResult(violations, isDryRun, outputFormat, logger);
211
- }
212
- // ── RFC-IMP-02: criterion checks (V-26/V-27 semantics) ────────────────────
213
- const criteriaEval = evaluateAcceptanceCriteria(body);
214
- if (criteriaEval.totalUnchecked > 0) {
215
- violations.push({
216
- rule: "RFC-IMP-02",
217
- message: `${criteriaEval.totalUnchecked} acceptance criteria are unchecked. All criteria must be checked before stamping: ${criteriaEval.uncheckedLines.join("; ")}`,
218
- });
219
- }
220
- if (criteriaEval.checkedWithoutEvidence.length > 0) {
221
- violations.push({
222
- rule: "RFC-IMP-02",
223
- message: `${criteriaEval.checkedWithoutEvidence.length} checked criteria lack inline (evidence: ...) annotation: ${criteriaEval.checkedWithoutEvidence.join("; ")}`,
224
- });
225
- }
226
- // ── RFC-IMP-07: dependsOn dependency gate (RFC-0795) ──────────────────────
227
- const dependsOn = fm["dependsOn"];
228
- if (Array.isArray(dependsOn) && dependsOn.length > 0) {
229
- const statusMap = await loadRfcStatusMap(rfcDirPath);
230
- for (const depRef of dependsOn) {
231
- const depId = String(depRef);
232
- if (!depId)
233
- continue;
234
- const depStatus = statusMap.get(depId);
235
- if (!depStatus) {
236
- violations.push({
237
- rule: "RFC-IMP-07",
238
- message: `RFC ${targetId} depends on ${depId}, which does not exist in ${RFC_DIR}.`,
239
- });
240
- }
241
- else if (depStatus !== "implemented") {
242
- violations.push({
243
- rule: "RFC-IMP-07",
244
- message: `RFC ${targetId} depends on ${depId}, which is not implemented (status: ${depStatus}). Implement ${depId} first.`,
245
- });
246
- }
247
- }
248
- }
249
- // ── RFC-0756: auto-detect implementation commit when --implementation-commit is omitted ──
250
- if (!implementationCommit) {
251
- const detected = await autoDetectImplementationCommit(workspaceRoot, targetId);
252
- if ("sha" in detected) {
253
- implementationCommit = detected.sha;
254
- }
255
- else if ("none" in detected) {
256
- violations.push({
257
- rule: "RFC-IMP-03",
258
- message: `No commit referencing ${targetId} found in git history. Pass --implementation-commit <SHA> explicitly.`,
259
- });
260
- }
261
- else {
262
- const candidateList = detected.multiple.map((c) => ` ${c.sha} — ${c.message}`).join("\n");
263
- violations.push({
264
- rule: "RFC-IMP-03",
265
- message: `Multiple commits reference ${targetId}:\n${candidateList}\nPass --implementation-commit <SHA> to specify which one.`,
266
- });
267
- }
268
- }
269
- // ── RFC-IMP-04: RFC file must be clean (no uncommitted edits to the target RFC) ──
270
- // Only the RFC file being stamped is checked, not the entire working tree.
271
- // This allows multi-agent workflows where other agents may have uncommitted
272
- // changes in unrelated files.
273
- const rfcRelPath = join(RFC_DIR, targetFile);
274
- const rfcFileClean = await isRfcFileClean(workspaceRoot, rfcRelPath);
275
- if (!rfcFileClean) {
276
- violations.push({
277
- rule: "RFC-IMP-04",
278
- message: `RFC file ${rfcRelPath} has uncommitted changes. Commit the RFC file before stamping.`,
279
- });
280
- }
281
- // ── RFC-IMP-03: implementation commit validation ──────────────────────────
282
- if (implementationCommit) {
283
- const reachable = await commitReachableFromHead(workspaceRoot, implementationCommit);
284
- if (!reachable) {
285
- violations.push({
286
- rule: "RFC-IMP-03",
287
- message: `Implementation commit ${implementationCommit} is not reachable from HEAD. The commit must be an ancestor of the current HEAD.`,
288
- });
289
- }
290
- else {
291
- const referencesRfc = await commitReferencesRfc(workspaceRoot, implementationCommit, targetId);
292
- if (!referencesRfc) {
293
- violations.push({
294
- rule: "RFC-IMP-03",
295
- message: `Implementation commit ${implementationCommit} does not reference ${targetId} in its message or changed files.`,
296
- });
297
- }
298
- }
299
- }
300
- // ── RFC-IMP-06: probe-bearing RFCs require passing evidence ───────────────
301
- const acceptance = fm["acceptance"];
302
- const hasProbes = Array.isArray(acceptance) && acceptance.length > 0;
303
- const createdAtStr = String(fm["createdAt"] ?? "");
304
- const requiresEvidence = createdAtStr >= RFC_METADATA_CUTOFF && hasProbes;
305
- let evidenceRelPath;
306
- if (requiresEvidence) {
307
- const evidenceCheck = await checkExistingEvidence(workspaceRoot, targetId);
308
- if (!evidenceCheck.exists || evidenceCheck.overall !== "pass") {
309
- violations.push({
310
- rule: "RFC-IMP-06",
311
- message: `RFC ${targetId} declares acceptance probes but evidence file is missing or overall is not "pass" (got "${evidenceCheck.overall}"). Run: site-kernel run rfc.verification.emit --id ${targetId}`,
312
- });
313
- }
314
- else {
315
- const slug = targetId.toLowerCase();
316
- evidenceRelPath = join(VERIFICATION_DIR, `${slug}.generated.yaml`);
317
- }
318
- }
319
- // If any violations found, return without mutation
320
- if (violations.length > 0) {
321
- return stampFailResult(violations, isDryRun, outputFormat, logger);
322
- }
323
- // ── RFC-IMP-05: acquire RFC-specific exclusive lock ───────────────────────
324
- const { acquired, lockPath } = await acquireRfcLock(workspaceRoot, targetId);
325
- if (!acquired) {
326
- violations.push({
327
- rule: "RFC-IMP-05",
328
- message: `A concurrent stamp operation is in progress for ${targetId}. Wait for it to complete and retry.`,
329
- });
330
- return stampFailResult(violations, isDryRun, outputFormat, logger);
331
- }
332
- try {
333
- // ── Atomic mutation ──────────────────────────────────────────────────────
334
- const rfcFilePath = join(rfcDirPath, targetFile);
335
- const rfcSource = await readFile(rfcFilePath, "utf-8");
336
- const today = toIsoDate(new Date());
337
- const stampedAt = new Date().toISOString();
338
- const mutatedSource = mutateFrontmatter(rfcSource, "implemented", today, today);
339
- if (isDryRun) {
340
- if (outputFormat === "pretty") {
341
- logger.success(`[dry-run] ${targetId} would be stamped as implemented`);
342
- logger.info(` implementation commit: ${implementationCommit}`);
343
- logger.info(` criteria checked: ${criteriaEval.totalChecked}`);
344
- if (evidenceRelPath) {
345
- logger.info(` evidence: ${evidenceRelPath}`);
346
- }
347
- }
348
- return {
349
- data: {
350
- command: "rfc.implement.stamp",
351
- status: "pass",
352
- data: {
353
- rfcId: targetId,
354
- implementationCommit: implementationCommit,
355
- stampedAt,
356
- criteriaChecked: criteriaEval.totalChecked,
357
- ...(evidenceRelPath ? { evidencePath: evidenceRelPath } : {}),
358
- },
359
- violations: [],
360
- },
361
- exitCode: 0,
362
- summary: `rfc.implement.stamp: dry-run — ${targetId} would be stamped`,
363
- };
364
- }
365
- // Write the mutated RFC file atomically
366
- await writeFileAtomic(rfcFilePath, mutatedSource);
367
- // ── Re-emit evidence if probes exist (to update with new status) ─────────
368
- if (hasProbes && requiresEvidence && evidenceRelPath) {
369
- // Evidence already exists and passed — no need to re-emit on stamp
370
- // The evidence was generated before stamping; the status change is
371
- // recorded in the RFC frontmatter, not in the evidence file.
372
- }
373
- if (outputFormat === "pretty") {
374
- logger.success(`${targetId} stamped as implemented`);
375
- logger.info(` implementation commit: ${implementationCommit}`);
376
- logger.info(` criteria checked: ${criteriaEval.totalChecked}`);
377
- if (evidenceRelPath) {
378
- logger.info(` evidence: ${evidenceRelPath}`);
379
- }
380
- logger.info(` stamped at: ${stampedAt}`);
381
- }
382
- return {
383
- data: {
384
- command: "rfc.implement.stamp",
385
- status: "pass",
386
- data: {
387
- rfcId: targetId,
388
- implementationCommit: implementationCommit,
389
- stampedAt,
390
- criteriaChecked: criteriaEval.totalChecked,
391
- ...(evidenceRelPath ? { evidencePath: evidenceRelPath } : {}),
392
- },
393
- violations: [],
394
- },
395
- exitCode: 0,
396
- summary: `rfc.implement.stamp: ${targetId} stamped as implemented`,
397
- nextSteps: [
398
- {
399
- action: `Commit the stamp: pnpm exec forge run ecosystem.commit`,
400
- kind: "optional",
401
- },
402
- ],
403
- };
404
- }
405
- finally {
406
- await releaseRfcLock(lockPath);
407
- }
408
- }
409
- function stampFailResult(violations, isDryRun, outputFormat, logger) {
410
- const prefix = isDryRun ? "[dry-run] " : "";
411
- if (outputFormat === "pretty") {
412
- for (const v of violations) {
413
- logger.warn(`${prefix}${v.rule}: ${v.message}`);
414
- }
415
- }
416
- return {
417
- data: {
418
- command: "rfc.implement.stamp",
419
- status: "fail",
420
- violations,
421
- },
422
- exitCode: 1,
423
- summary: `${prefix}rfc.implement.stamp: ${violations.length} violation${violations.length === 1 ? "" : "s"}`,
424
- };
425
- }
426
- //# sourceMappingURL=implement-stamp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"implement-stamp.js","sourceRoot":"","sources":["../../../../os/rfc/handlers/implement-stamp.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../../src/types.ts";
2
- import type { RfcIndexResult, RfcGraphResult } from "../types.ts";
3
- export declare function runRfcIndexGenerate(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<RfcIndexResult>>;
4
- export declare function runRfcGraph(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<RfcGraphResult>>;
5
- export declare function runRfcIndexValidate(_input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<{
6
- command: string;
7
- status: string;
8
- violations: {
9
- rule: string;
10
- message: string;
11
- }[];
12
- }>>;
13
- //# sourceMappingURL=index-graph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-graph.d.ts","sourceRoot":"","sources":["../../../../os/rfc/handlers/index-graph.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAIV,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAC;AAIrB,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAuD7C;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CA8C7C;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CACR,kBAAkB,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjD,CAAC,CACH,CAmFA"}
@@ -1,192 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>Maintains packages/os/site-kernel/src/rfc/handlers/index-graph.ts as an authored site-kernel authored module so agents can evolve it without rediscovering local boundaries.</purpose>
4
- <non-goals>
5
- <item>Do not introduce app-specific runtime composition or deployment behavior into this reusable package source file.</item>
6
- </non-goals>
7
- </MODULE_CONTRACT>
8
- <CHANGE_SUMMARY>
9
- <item>RFC-0303: extracted index and graph handlers from handlers.ts into handlers/index-graph.ts.</item>
10
- <item>Post-refactor hardening: rfc.graph resolves archived RFC files by basename id.</item>
11
- </CHANGE_SUMMARY>
12
- */
13
- import fs from "node:fs/promises";
14
- import path from "node:path";
15
- import { parse as yamlParse, stringify as yamlStringify } from "yaml";
16
- import { listRfcFiles, readAndParseRfc, rfcFileMatchesId } from "../frontmatter-io.js";
17
- import { RFC_DIR } from "../types.js";
18
- import { toIsoDate } from "./shared.js";
19
- export async function runRfcIndexGenerate(input, context) {
20
- const { workspaceRoot, logger, outputFormat } = context;
21
- const rfcDirPath = path.join(workspaceRoot, RFC_DIR);
22
- const files = await listRfcFiles(rfcDirPath);
23
- const entries = [];
24
- for (const fileName of files) {
25
- const result = await readAndParseRfc(rfcDirPath, fileName);
26
- if (!result || "error" in result)
27
- continue;
28
- const fm = result.parsed.frontmatter;
29
- const arr = (k) => Array.isArray(fm[k]) ? fm[k].map(String) : [];
30
- entries.push({
31
- id: String(fm["id"] ?? ""),
32
- title: String(fm["title"] ?? ""),
33
- status: String(fm["status"] ?? ""),
34
- kind: String(fm["kind"] ?? ""),
35
- createdAt: String(fm["createdAt"] ?? ""),
36
- implementedAt: String(fm["implementedAt"] ?? ""),
37
- closedAt: String(fm["closedAt"] ?? ""),
38
- supersedes: arr("supersedes"),
39
- supersededBy: String(fm["supersededBy"] ?? ""),
40
- amends: arr("amends"),
41
- amendedBy: arr("amendedBy"),
42
- related: arr("related"),
43
- file: path.join(RFC_DIR, fileName),
44
- });
45
- }
46
- entries.sort((a, b) => a.id.localeCompare(b.id));
47
- let written;
48
- if (input.flags["write"] === true) {
49
- const outRel = path.join(RFC_DIR, "index.yaml");
50
- const payload = {
51
- command: "rfc.index.generate",
52
- generatedAt: toIsoDate(new Date()),
53
- count: entries.length,
54
- entries,
55
- };
56
- await fs.writeFile(path.join(workspaceRoot, outRel), `${yamlStringify(payload)}`, "utf-8");
57
- written = outRel;
58
- }
59
- if (outputFormat === "pretty") {
60
- logger.section(`RFC index (${entries.length} RFC(s))`);
61
- if (written)
62
- logger.success(`Wrote ${written}`);
63
- else
64
- logger.info("Use --json for the index, or --write to persist docs/rfcs/index.yaml.");
65
- }
66
- return {
67
- data: { command: "rfc.index.generate", status: "ok", count: entries.length, entries, written },
68
- summary: written
69
- ? `Wrote ${written} (${entries.length} RFCs)`
70
- : `Indexed ${entries.length} RFC(s)`,
71
- };
72
- }
73
- export async function runRfcGraph(input, context) {
74
- const { workspaceRoot, logger, outputFormat } = context;
75
- const rfcDirPath = path.join(workspaceRoot, RFC_DIR);
76
- const targetId = input.flags["id"];
77
- if (!targetId) {
78
- throw new Error("rfc.graph requires an RFC id, e.g. site-kernel run rfc.graph --id RFC-0152");
79
- }
80
- const files = await listRfcFiles(rfcDirPath);
81
- const fileName = files.find((f) => rfcFileMatchesId(f, targetId));
82
- if (!fileName) {
83
- throw new Error(`No RFC file found for id ${targetId} in ${RFC_DIR}/`);
84
- }
85
- const result = await readAndParseRfc(rfcDirPath, fileName);
86
- if (!result || "error" in result) {
87
- throw new Error(`Could not parse RFC ${targetId}: ${result?.error ?? "file not found"}`);
88
- }
89
- const fm = result.parsed.frontmatter;
90
- const arr = (k) => Array.isArray(fm[k]) ? fm[k].map(String) : [];
91
- const data = {
92
- command: "rfc.graph",
93
- status: "ok",
94
- id: targetId,
95
- supersedes: arr("supersedes"),
96
- supersededBy: String(fm["supersededBy"] ?? ""),
97
- amends: arr("amends"),
98
- amendedBy: arr("amendedBy"),
99
- related: arr("related"),
100
- };
101
- if (outputFormat === "pretty") {
102
- logger.section(`${targetId} relationships`);
103
- logger.info(`supersedes: ${data.supersedes.join(", ") || "—"}`);
104
- logger.info(`supersededBy: ${data.supersededBy || "—"}`);
105
- logger.info(`amends: ${data.amends.join(", ") || "—"}`);
106
- logger.info(`amendedBy: ${data.amendedBy.join(", ") || "—"}`);
107
- logger.info(`related: ${data.related.join(", ") || "—"}`);
108
- }
109
- return {
110
- data,
111
- summary: `${targetId}: ${data.supersedes.length} supersedes, ${data.amends.length} amends, ${data.related.length} related`,
112
- };
113
- }
114
- export async function runRfcIndexValidate(_input, context) {
115
- const { workspaceRoot, logger, outputFormat } = context;
116
- const rfcDirPath = path.join(workspaceRoot, RFC_DIR);
117
- const indexPath = path.join(rfcDirPath, "index.yaml");
118
- const violations = [];
119
- // RFC-IDX-01: missing index file
120
- let indexContent;
121
- try {
122
- indexContent = await fs.readFile(indexPath, "utf-8");
123
- }
124
- catch {
125
- violations.push({
126
- rule: "RFC-IDX-01",
127
- message: "docs/rfcs/index.yaml not found. Run `pnpm exec werkstatt run rfc.index.generate --write` to generate it.",
128
- });
129
- const result = { command: "rfc.index.validate", status: "fail", violations };
130
- if (outputFormat === "pretty") {
131
- logger.error("RFC-IDX-01: docs/rfcs/index.yaml not found.");
132
- }
133
- return {
134
- data: result,
135
- exitCode: 1,
136
- summary: "1 error found",
137
- };
138
- }
139
- // RFC-IDX-02: unparseable YAML
140
- let parsed;
141
- try {
142
- parsed = yamlParse(indexContent);
143
- }
144
- catch (err) {
145
- const msg = err instanceof Error ? err.message : String(err);
146
- violations.push({
147
- rule: "RFC-IDX-02",
148
- message: `Failed to parse docs/rfcs/index.yaml: ${msg}`,
149
- });
150
- const result = { command: "rfc.index.validate", status: "fail", violations };
151
- if (outputFormat === "pretty") {
152
- logger.error(`RFC-IDX-02: Failed to parse index.yaml: ${msg}`);
153
- }
154
- return {
155
- data: result,
156
- exitCode: 1,
157
- summary: "1 error found",
158
- };
159
- }
160
- // RFC-IDX-03: count mismatch
161
- const indexCount = Array.isArray(parsed?.entries) ? parsed.entries.length : 0;
162
- const allFiles = await listRfcFiles(rfcDirPath);
163
- const fileCount = allFiles.length;
164
- if (indexCount !== fileCount) {
165
- violations.push({
166
- rule: "RFC-IDX-03",
167
- message: `Index entry count (${indexCount}) does not match RFC file count (${fileCount}). Run \`pnpm exec werkstatt run rfc.index.generate --write\` to refresh.`,
168
- });
169
- }
170
- const hasErrors = violations.length > 0;
171
- const resultStatus = hasErrors ? "fail" : "pass";
172
- const result = { command: "rfc.index.validate", status: resultStatus, violations };
173
- if (outputFormat === "pretty") {
174
- if (hasErrors) {
175
- for (const v of violations) {
176
- logger.error(`[${v.rule}] ${v.message}`);
177
- }
178
- logger.error(`${violations.length} error${violations.length === 1 ? "" : "s"} found`);
179
- }
180
- else {
181
- logger.success(`Index valid — ${indexCount} entries match ${fileCount} RFC files.`);
182
- }
183
- }
184
- return {
185
- data: result,
186
- exitCode: hasErrors ? 1 : 0,
187
- summary: hasErrors
188
- ? `${violations.length} error${violations.length === 1 ? "" : "s"} found`
189
- : `Index valid — ${indexCount} entries match ${fileCount} RFC files`,
190
- };
191
- }
192
- //# sourceMappingURL=index-graph.js.map