@warpgogol/forge 2.19.0 → 2.21.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 (737) hide show
  1. package/README.md +13 -1
  2. package/README.uk.md +7 -1
  3. package/os/adr/adr.module.ts +2 -0
  4. package/os/compass/compass.module.ts +6 -0
  5. package/os/core/core.module.ts +17 -1
  6. package/os/naming/naming.module.ts +2 -0
  7. package/os/notes/notes.module.ts +4 -0
  8. package/os/plugin/plugin.module.ts +2 -0
  9. package/os/program/program.module.ts +2 -0
  10. package/os/rfc/acceptance.ts +1 -1
  11. package/os/rfc/rfc.module.ts +10 -0
  12. package/os/session/session.module.ts +2 -0
  13. package/os/spec/live-spec-merge.test.ts +76 -0
  14. package/os/spec/live-spec-merge.ts +14 -49
  15. package/os/spec/spec.module.ts +4 -0
  16. package/os/werkstatt/werkstatt.module.ts +2 -0
  17. package/os/workflow/workflow.module.ts +2 -0
  18. package/package.json +1 -1
  19. package/profiles/godot-csharp.yaml +4 -4
  20. package/profiles/typescript-turborepo.yaml +222 -0
  21. package/skills/meta/forge-bootstrap/SKILL.md +6 -6
  22. package/src/migration-adapters/git-utils.ts +4 -3
  23. package/src/onboarding/create.ts +19 -0
  24. package/src/onboarding/doctor.ts +37 -0
  25. package/src/tests/migration-adapters.test.ts +21 -0
  26. package/src/tests/profile-schema.test.ts +1 -1
  27. package/src/types/werkstatt-engine-shims.d.ts +99 -12
  28. package/src/types/werkstatt-shared-shims.d.ts +71 -0
  29. package/src/types.ts +4 -0
  30. package/dist/bin/cli.d.ts +0 -3
  31. package/dist/bin/cli.d.ts.map +0 -1
  32. package/dist/bin/cli.js +0 -291
  33. package/dist/bin/cli.js.map +0 -1
  34. package/dist/os/adr/adr.module.d.ts +0 -3
  35. package/dist/os/adr/adr.module.d.ts.map +0 -1
  36. package/dist/os/adr/adr.module.js +0 -146
  37. package/dist/os/adr/adr.module.js.map +0 -1
  38. package/dist/os/adr/frontmatter-io.d.ts +0 -12
  39. package/dist/os/adr/frontmatter-io.d.ts.map +0 -1
  40. package/dist/os/adr/frontmatter-io.js +0 -67
  41. package/dist/os/adr/frontmatter-io.js.map +0 -1
  42. package/dist/os/adr/handlers/archive.d.ts +0 -24
  43. package/dist/os/adr/handlers/archive.d.ts.map +0 -1
  44. package/dist/os/adr/handlers/archive.js +0 -194
  45. package/dist/os/adr/handlers/archive.js.map +0 -1
  46. package/dist/os/adr/handlers/implement-stamp.d.ts +0 -4
  47. package/dist/os/adr/handlers/implement-stamp.d.ts.map +0 -1
  48. package/dist/os/adr/handlers/implement-stamp.js +0 -264
  49. package/dist/os/adr/handlers/implement-stamp.js.map +0 -1
  50. package/dist/os/adr/handlers/list-create.d.ts +0 -5
  51. package/dist/os/adr/handlers/list-create.d.ts.map +0 -1
  52. package/dist/os/adr/handlers/list-create.js +0 -201
  53. package/dist/os/adr/handlers/list-create.js.map +0 -1
  54. package/dist/os/adr/handlers/validate.d.ts +0 -4
  55. package/dist/os/adr/handlers/validate.d.ts.map +0 -1
  56. package/dist/os/adr/handlers/validate.js +0 -279
  57. package/dist/os/adr/handlers/validate.js.map +0 -1
  58. package/dist/os/adr/index.d.ts +0 -8
  59. package/dist/os/adr/index.d.ts.map +0 -1
  60. package/dist/os/adr/index.js +0 -18
  61. package/dist/os/adr/index.js.map +0 -1
  62. package/dist/os/adr/types.d.ts +0 -76
  63. package/dist/os/adr/types.d.ts.map +0 -1
  64. package/dist/os/adr/types.js +0 -56
  65. package/dist/os/adr/types.js.map +0 -1
  66. package/dist/os/audit/audit.module.d.ts +0 -3
  67. package/dist/os/audit/audit.module.d.ts.map +0 -1
  68. package/dist/os/audit/audit.module.js +0 -45
  69. package/dist/os/audit/audit.module.js.map +0 -1
  70. package/dist/os/audit/frontmatter-io.d.ts +0 -12
  71. package/dist/os/audit/frontmatter-io.d.ts.map +0 -1
  72. package/dist/os/audit/frontmatter-io.js +0 -71
  73. package/dist/os/audit/frontmatter-io.js.map +0 -1
  74. package/dist/os/audit/handlers/archive.d.ts +0 -4
  75. package/dist/os/audit/handlers/archive.d.ts.map +0 -1
  76. package/dist/os/audit/handlers/archive.js +0 -207
  77. package/dist/os/audit/handlers/archive.js.map +0 -1
  78. package/dist/os/audit/index.d.ts +0 -6
  79. package/dist/os/audit/index.d.ts.map +0 -1
  80. package/dist/os/audit/index.js +0 -16
  81. package/dist/os/audit/index.js.map +0 -1
  82. package/dist/os/audit/types.d.ts +0 -12
  83. package/dist/os/audit/types.d.ts.map +0 -1
  84. package/dist/os/audit/types.js +0 -17
  85. package/dist/os/audit/types.js.map +0 -1
  86. package/dist/os/compass/compass.module.d.ts +0 -3
  87. package/dist/os/compass/compass.module.d.ts.map +0 -1
  88. package/dist/os/compass/compass.module.js +0 -183
  89. package/dist/os/compass/compass.module.js.map +0 -1
  90. package/dist/os/compass/handlers/compass-audit-handler.d.ts +0 -36
  91. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +0 -1
  92. package/dist/os/compass/handlers/compass-audit-handler.js +0 -260
  93. package/dist/os/compass/handlers/compass-audit-handler.js.map +0 -1
  94. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +0 -19
  95. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +0 -1
  96. package/dist/os/compass/handlers/compass-change-summary-handler.js +0 -222
  97. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +0 -1
  98. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +0 -28
  99. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +0 -1
  100. package/dist/os/compass/handlers/compass-inventory-handler.js +0 -377
  101. package/dist/os/compass/handlers/compass-inventory-handler.js.map +0 -1
  102. package/dist/os/compass/handlers/compass-inventory.d.ts +0 -30
  103. package/dist/os/compass/handlers/compass-inventory.d.ts.map +0 -1
  104. package/dist/os/compass/handlers/compass-inventory.js +0 -462
  105. package/dist/os/compass/handlers/compass-inventory.js.map +0 -1
  106. package/dist/os/compass/handlers/git-revision.d.ts +0 -8
  107. package/dist/os/compass/handlers/git-revision.d.ts.map +0 -1
  108. package/dist/os/compass/handlers/git-revision.js +0 -99
  109. package/dist/os/compass/handlers/git-revision.js.map +0 -1
  110. package/dist/os/compass/handlers/resolve-scan-root.d.ts +0 -3
  111. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +0 -1
  112. package/dist/os/compass/handlers/resolve-scan-root.js +0 -57
  113. package/dist/os/compass/handlers/resolve-scan-root.js.map +0 -1
  114. package/dist/os/compass/index.d.ts +0 -8
  115. package/dist/os/compass/index.d.ts.map +0 -1
  116. package/dist/os/compass/index.js +0 -19
  117. package/dist/os/compass/index.js.map +0 -1
  118. package/dist/os/core/core.module.d.ts +0 -3
  119. package/dist/os/core/core.module.d.ts.map +0 -1
  120. package/dist/os/core/core.module.js +0 -836
  121. package/dist/os/core/core.module.js.map +0 -1
  122. package/dist/os/core/handlers/assets-check.d.ts +0 -19
  123. package/dist/os/core/handlers/assets-check.d.ts.map +0 -1
  124. package/dist/os/core/handlers/assets-check.js +0 -89
  125. package/dist/os/core/handlers/assets-check.js.map +0 -1
  126. package/dist/os/core/handlers/assets-helpers.d.ts +0 -28
  127. package/dist/os/core/handlers/assets-helpers.d.ts.map +0 -1
  128. package/dist/os/core/handlers/assets-helpers.js +0 -128
  129. package/dist/os/core/handlers/assets-helpers.js.map +0 -1
  130. package/dist/os/core/handlers/assets-list.d.ts +0 -9
  131. package/dist/os/core/handlers/assets-list.d.ts.map +0 -1
  132. package/dist/os/core/handlers/assets-list.js +0 -72
  133. package/dist/os/core/handlers/assets-list.js.map +0 -1
  134. package/dist/os/core/handlers/build.d.ts +0 -16
  135. package/dist/os/core/handlers/build.d.ts.map +0 -1
  136. package/dist/os/core/handlers/build.js +0 -123
  137. package/dist/os/core/handlers/build.js.map +0 -1
  138. package/dist/os/core/handlers/determinism-check.d.ts +0 -20
  139. package/dist/os/core/handlers/determinism-check.d.ts.map +0 -1
  140. package/dist/os/core/handlers/determinism-check.js +0 -289
  141. package/dist/os/core/handlers/determinism-check.js.map +0 -1
  142. package/dist/os/core/handlers/dev.d.ts +0 -10
  143. package/dist/os/core/handlers/dev.d.ts.map +0 -1
  144. package/dist/os/core/handlers/dev.js +0 -102
  145. package/dist/os/core/handlers/dev.js.map +0 -1
  146. package/dist/os/core/handlers/forge-autonomy-validate.d.ts +0 -18
  147. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +0 -1
  148. package/dist/os/core/handlers/forge-autonomy-validate.js +0 -115
  149. package/dist/os/core/handlers/forge-autonomy-validate.js.map +0 -1
  150. package/dist/os/core/handlers/knowledge-compact.d.ts +0 -4
  151. package/dist/os/core/handlers/knowledge-compact.d.ts.map +0 -1
  152. package/dist/os/core/handlers/knowledge-compact.js +0 -204
  153. package/dist/os/core/handlers/knowledge-compact.js.map +0 -1
  154. package/dist/os/core/handlers/package-health.d.ts +0 -17
  155. package/dist/os/core/handlers/package-health.d.ts.map +0 -1
  156. package/dist/os/core/handlers/package-health.js +0 -196
  157. package/dist/os/core/handlers/package-health.js.map +0 -1
  158. package/dist/os/core/handlers/pinned-check.d.ts +0 -49
  159. package/dist/os/core/handlers/pinned-check.d.ts.map +0 -1
  160. package/dist/os/core/handlers/pinned-check.js +0 -159
  161. package/dist/os/core/handlers/pinned-check.js.map +0 -1
  162. package/dist/os/core/handlers/pinned-init.d.ts +0 -19
  163. package/dist/os/core/handlers/pinned-init.d.ts.map +0 -1
  164. package/dist/os/core/handlers/pinned-init.js +0 -283
  165. package/dist/os/core/handlers/pinned-init.js.map +0 -1
  166. package/dist/os/core/handlers/pinned-types.d.ts +0 -29
  167. package/dist/os/core/handlers/pinned-types.d.ts.map +0 -1
  168. package/dist/os/core/handlers/pinned-types.js +0 -16
  169. package/dist/os/core/handlers/pinned-types.js.map +0 -1
  170. package/dist/os/core/handlers/pinned-validate.d.ts +0 -4
  171. package/dist/os/core/handlers/pinned-validate.d.ts.map +0 -1
  172. package/dist/os/core/handlers/pinned-validate.js +0 -248
  173. package/dist/os/core/handlers/pinned-validate.js.map +0 -1
  174. package/dist/os/core/handlers/profile-resolve.d.ts +0 -13
  175. package/dist/os/core/handlers/profile-resolve.d.ts.map +0 -1
  176. package/dist/os/core/handlers/profile-resolve.js +0 -65
  177. package/dist/os/core/handlers/profile-resolve.js.map +0 -1
  178. package/dist/os/core/handlers/release-prepare.d.ts +0 -25
  179. package/dist/os/core/handlers/release-prepare.d.ts.map +0 -1
  180. package/dist/os/core/handlers/release-prepare.js +0 -228
  181. package/dist/os/core/handlers/release-prepare.js.map +0 -1
  182. package/dist/os/core/handlers/release-publish.d.ts +0 -13
  183. package/dist/os/core/handlers/release-publish.d.ts.map +0 -1
  184. package/dist/os/core/handlers/release-publish.js +0 -173
  185. package/dist/os/core/handlers/release-publish.js.map +0 -1
  186. package/dist/os/core/handlers/validate.d.ts +0 -26
  187. package/dist/os/core/handlers/validate.d.ts.map +0 -1
  188. package/dist/os/core/handlers/validate.js +0 -208
  189. package/dist/os/core/handlers/validate.js.map +0 -1
  190. package/dist/os/core/index.d.ts +0 -2
  191. package/dist/os/core/index.d.ts.map +0 -1
  192. package/dist/os/core/index.js +0 -13
  193. package/dist/os/core/index.js.map +0 -1
  194. package/dist/os/exploration/exploration.module.d.ts +0 -3
  195. package/dist/os/exploration/exploration.module.d.ts.map +0 -1
  196. package/dist/os/exploration/exploration.module.js +0 -83
  197. package/dist/os/exploration/exploration.module.js.map +0 -1
  198. package/dist/os/exploration/frontmatter-io.d.ts +0 -13
  199. package/dist/os/exploration/frontmatter-io.d.ts.map +0 -1
  200. package/dist/os/exploration/frontmatter-io.js +0 -61
  201. package/dist/os/exploration/frontmatter-io.js.map +0 -1
  202. package/dist/os/exploration/handlers/archive.d.ts +0 -4
  203. package/dist/os/exploration/handlers/archive.d.ts.map +0 -1
  204. package/dist/os/exploration/handlers/archive.js +0 -141
  205. package/dist/os/exploration/handlers/archive.js.map +0 -1
  206. package/dist/os/exploration/handlers/list.d.ts +0 -4
  207. package/dist/os/exploration/handlers/list.d.ts.map +0 -1
  208. package/dist/os/exploration/handlers/list.js +0 -64
  209. package/dist/os/exploration/handlers/list.js.map +0 -1
  210. package/dist/os/exploration/handlers/show.d.ts +0 -4
  211. package/dist/os/exploration/handlers/show.d.ts.map +0 -1
  212. package/dist/os/exploration/handlers/show.js +0 -97
  213. package/dist/os/exploration/handlers/show.js.map +0 -1
  214. package/dist/os/exploration/index.d.ts +0 -7
  215. package/dist/os/exploration/index.d.ts.map +0 -1
  216. package/dist/os/exploration/index.js +0 -17
  217. package/dist/os/exploration/index.js.map +0 -1
  218. package/dist/os/exploration/types.d.ts +0 -38
  219. package/dist/os/exploration/types.d.ts.map +0 -1
  220. package/dist/os/exploration/types.js +0 -23
  221. package/dist/os/exploration/types.js.map +0 -1
  222. package/dist/os/mission/handlers/archive.d.ts +0 -4
  223. package/dist/os/mission/handlers/archive.d.ts.map +0 -1
  224. package/dist/os/mission/handlers/archive.js +0 -356
  225. package/dist/os/mission/handlers/archive.js.map +0 -1
  226. package/dist/os/mission/index.d.ts +0 -2
  227. package/dist/os/mission/index.d.ts.map +0 -1
  228. package/dist/os/mission/index.js +0 -2
  229. package/dist/os/mission/index.js.map +0 -1
  230. package/dist/os/mission/mission.module.d.ts +0 -3
  231. package/dist/os/mission/mission.module.d.ts.map +0 -1
  232. package/dist/os/mission/mission.module.js +0 -45
  233. package/dist/os/mission/mission.module.js.map +0 -1
  234. package/dist/os/mission/types.d.ts +0 -23
  235. package/dist/os/mission/types.d.ts.map +0 -1
  236. package/dist/os/mission/types.js +0 -18
  237. package/dist/os/mission/types.js.map +0 -1
  238. package/dist/os/naming/index.d.ts +0 -3
  239. package/dist/os/naming/index.d.ts.map +0 -1
  240. package/dist/os/naming/index.js +0 -14
  241. package/dist/os/naming/index.js.map +0 -1
  242. package/dist/os/naming/naming-convention.d.ts +0 -25
  243. package/dist/os/naming/naming-convention.d.ts.map +0 -1
  244. package/dist/os/naming/naming-convention.js +0 -324
  245. package/dist/os/naming/naming-convention.js.map +0 -1
  246. package/dist/os/naming/naming.module.d.ts +0 -3
  247. package/dist/os/naming/naming.module.d.ts.map +0 -1
  248. package/dist/os/naming/naming.module.js +0 -34
  249. package/dist/os/naming/naming.module.js.map +0 -1
  250. package/dist/os/notes/index.d.ts +0 -2
  251. package/dist/os/notes/index.d.ts.map +0 -1
  252. package/dist/os/notes/index.js +0 -10
  253. package/dist/os/notes/index.js.map +0 -1
  254. package/dist/os/notes/notes.module.d.ts +0 -3
  255. package/dist/os/notes/notes.module.d.ts.map +0 -1
  256. package/dist/os/notes/notes.module.js +0 -84
  257. package/dist/os/notes/notes.module.js.map +0 -1
  258. package/dist/os/plan/frontmatter-io.d.ts +0 -12
  259. package/dist/os/plan/frontmatter-io.d.ts.map +0 -1
  260. package/dist/os/plan/frontmatter-io.js +0 -69
  261. package/dist/os/plan/frontmatter-io.js.map +0 -1
  262. package/dist/os/plan/handlers/archive.d.ts +0 -4
  263. package/dist/os/plan/handlers/archive.d.ts.map +0 -1
  264. package/dist/os/plan/handlers/archive.js +0 -206
  265. package/dist/os/plan/handlers/archive.js.map +0 -1
  266. package/dist/os/plan/index.d.ts +0 -6
  267. package/dist/os/plan/index.d.ts.map +0 -1
  268. package/dist/os/plan/index.js +0 -16
  269. package/dist/os/plan/index.js.map +0 -1
  270. package/dist/os/plan/plan.module.d.ts +0 -3
  271. package/dist/os/plan/plan.module.d.ts.map +0 -1
  272. package/dist/os/plan/plan.module.js +0 -45
  273. package/dist/os/plan/plan.module.js.map +0 -1
  274. package/dist/os/plan/types.d.ts +0 -12
  275. package/dist/os/plan/types.d.ts.map +0 -1
  276. package/dist/os/plan/types.js +0 -17
  277. package/dist/os/plan/types.js.map +0 -1
  278. package/dist/os/plugin/plugin.module.d.ts +0 -25
  279. package/dist/os/plugin/plugin.module.d.ts.map +0 -1
  280. package/dist/os/plugin/plugin.module.js +0 -208
  281. package/dist/os/plugin/plugin.module.js.map +0 -1
  282. package/dist/os/program/discovery.d.ts +0 -61
  283. package/dist/os/program/discovery.d.ts.map +0 -1
  284. package/dist/os/program/discovery.js +0 -236
  285. package/dist/os/program/discovery.js.map +0 -1
  286. package/dist/os/program/handlers/complete.d.ts +0 -12
  287. package/dist/os/program/handlers/complete.d.ts.map +0 -1
  288. package/dist/os/program/handlers/complete.js +0 -362
  289. package/dist/os/program/handlers/complete.js.map +0 -1
  290. package/dist/os/program/handlers/lease.d.ts +0 -13
  291. package/dist/os/program/handlers/lease.d.ts.map +0 -1
  292. package/dist/os/program/handlers/lease.js +0 -328
  293. package/dist/os/program/handlers/lease.js.map +0 -1
  294. package/dist/os/program/handlers/seal.d.ts +0 -12
  295. package/dist/os/program/handlers/seal.d.ts.map +0 -1
  296. package/dist/os/program/handlers/seal.js +0 -277
  297. package/dist/os/program/handlers/seal.js.map +0 -1
  298. package/dist/os/program/handlers/validate.d.ts +0 -14
  299. package/dist/os/program/handlers/validate.d.ts.map +0 -1
  300. package/dist/os/program/handlers/validate.js +0 -170
  301. package/dist/os/program/handlers/validate.js.map +0 -1
  302. package/dist/os/program/lease.d.ts +0 -39
  303. package/dist/os/program/lease.d.ts.map +0 -1
  304. package/dist/os/program/lease.js +0 -129
  305. package/dist/os/program/lease.js.map +0 -1
  306. package/dist/os/program/program.module.d.ts +0 -3
  307. package/dist/os/program/program.module.d.ts.map +0 -1
  308. package/dist/os/program/program.module.js +0 -202
  309. package/dist/os/program/program.module.js.map +0 -1
  310. package/dist/os/program/schemas.d.ts +0 -225
  311. package/dist/os/program/schemas.d.ts.map +0 -1
  312. package/dist/os/program/schemas.js +0 -174
  313. package/dist/os/program/schemas.js.map +0 -1
  314. package/dist/os/program/state.d.ts +0 -38
  315. package/dist/os/program/state.d.ts.map +0 -1
  316. package/dist/os/program/state.js +0 -189
  317. package/dist/os/program/state.js.map +0 -1
  318. package/dist/os/rfc/acceptance.d.ts +0 -15
  319. package/dist/os/rfc/acceptance.d.ts.map +0 -1
  320. package/dist/os/rfc/acceptance.js +0 -318
  321. package/dist/os/rfc/acceptance.js.map +0 -1
  322. package/dist/os/rfc/decision-log.d.ts +0 -6
  323. package/dist/os/rfc/decision-log.d.ts.map +0 -1
  324. package/dist/os/rfc/decision-log.js +0 -269
  325. package/dist/os/rfc/decision-log.js.map +0 -1
  326. package/dist/os/rfc/dna-trace.d.ts +0 -27
  327. package/dist/os/rfc/dna-trace.d.ts.map +0 -1
  328. package/dist/os/rfc/dna-trace.js +0 -214
  329. package/dist/os/rfc/dna-trace.js.map +0 -1
  330. package/dist/os/rfc/frontmatter-io.d.ts +0 -18
  331. package/dist/os/rfc/frontmatter-io.d.ts.map +0 -1
  332. package/dist/os/rfc/frontmatter-io.js +0 -110
  333. package/dist/os/rfc/frontmatter-io.js.map +0 -1
  334. package/dist/os/rfc/handlers/archive.d.ts +0 -25
  335. package/dist/os/rfc/handlers/archive.d.ts.map +0 -1
  336. package/dist/os/rfc/handlers/archive.js +0 -247
  337. package/dist/os/rfc/handlers/archive.js.map +0 -1
  338. package/dist/os/rfc/handlers/check.d.ts +0 -4
  339. package/dist/os/rfc/handlers/check.d.ts.map +0 -1
  340. package/dist/os/rfc/handlers/check.js +0 -203
  341. package/dist/os/rfc/handlers/check.js.map +0 -1
  342. package/dist/os/rfc/handlers/implement-stamp.d.ts +0 -4
  343. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +0 -1
  344. package/dist/os/rfc/handlers/implement-stamp.js +0 -426
  345. package/dist/os/rfc/handlers/implement-stamp.js.map +0 -1
  346. package/dist/os/rfc/handlers/index-graph.d.ts +0 -13
  347. package/dist/os/rfc/handlers/index-graph.d.ts.map +0 -1
  348. package/dist/os/rfc/handlers/index-graph.js +0 -192
  349. package/dist/os/rfc/handlers/index-graph.js.map +0 -1
  350. package/dist/os/rfc/handlers/lifecycle.d.ts +0 -13
  351. package/dist/os/rfc/handlers/lifecycle.d.ts.map +0 -1
  352. package/dist/os/rfc/handlers/lifecycle.js +0 -155
  353. package/dist/os/rfc/handlers/lifecycle.js.map +0 -1
  354. package/dist/os/rfc/handlers/list-create.d.ts +0 -6
  355. package/dist/os/rfc/handlers/list-create.d.ts.map +0 -1
  356. package/dist/os/rfc/handlers/list-create.js +0 -260
  357. package/dist/os/rfc/handlers/list-create.js.map +0 -1
  358. package/dist/os/rfc/handlers/pipeline-status.d.ts +0 -26
  359. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +0 -1
  360. package/dist/os/rfc/handlers/pipeline-status.js +0 -124
  361. package/dist/os/rfc/handlers/pipeline-status.js.map +0 -1
  362. package/dist/os/rfc/handlers/shared.d.ts +0 -22
  363. package/dist/os/rfc/handlers/shared.d.ts.map +0 -1
  364. package/dist/os/rfc/handlers/shared.js +0 -105
  365. package/dist/os/rfc/handlers/shared.js.map +0 -1
  366. package/dist/os/rfc/handlers/supersede-propose.d.ts +0 -4
  367. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +0 -1
  368. package/dist/os/rfc/handlers/supersede-propose.js +0 -203
  369. package/dist/os/rfc/handlers/supersede-propose.js.map +0 -1
  370. package/dist/os/rfc/handlers/validate-rules.d.ts +0 -32
  371. package/dist/os/rfc/handlers/validate-rules.d.ts.map +0 -1
  372. package/dist/os/rfc/handlers/validate-rules.js +0 -590
  373. package/dist/os/rfc/handlers/validate-rules.js.map +0 -1
  374. package/dist/os/rfc/handlers/validate.d.ts +0 -4
  375. package/dist/os/rfc/handlers/validate.d.ts.map +0 -1
  376. package/dist/os/rfc/handlers/validate.js +0 -122
  377. package/dist/os/rfc/handlers/validate.js.map +0 -1
  378. package/dist/os/rfc/handlers.d.ts +0 -7
  379. package/dist/os/rfc/handlers.d.ts.map +0 -1
  380. package/dist/os/rfc/handlers.js +0 -19
  381. package/dist/os/rfc/handlers.js.map +0 -1
  382. package/dist/os/rfc/index.d.ts +0 -18
  383. package/dist/os/rfc/index.d.ts.map +0 -1
  384. package/dist/os/rfc/index.js +0 -24
  385. package/dist/os/rfc/index.js.map +0 -1
  386. package/dist/os/rfc/rfc.module.d.ts +0 -3
  387. package/dist/os/rfc/rfc.module.d.ts.map +0 -1
  388. package/dist/os/rfc/rfc.module.js +0 -367
  389. package/dist/os/rfc/rfc.module.js.map +0 -1
  390. package/dist/os/rfc/types.d.ts +0 -483
  391. package/dist/os/rfc/types.d.ts.map +0 -1
  392. package/dist/os/rfc/types.js +0 -100
  393. package/dist/os/rfc/types.js.map +0 -1
  394. package/dist/os/rfc/verification-evidence.d.ts +0 -8
  395. package/dist/os/rfc/verification-evidence.d.ts.map +0 -1
  396. package/dist/os/rfc/verification-evidence.js +0 -184
  397. package/dist/os/rfc/verification-evidence.js.map +0 -1
  398. package/dist/os/session/atif-parser.d.ts +0 -29
  399. package/dist/os/session/atif-parser.d.ts.map +0 -1
  400. package/dist/os/session/atif-parser.js +0 -140
  401. package/dist/os/session/atif-parser.js.map +0 -1
  402. package/dist/os/session/frontmatter-io.d.ts +0 -31
  403. package/dist/os/session/frontmatter-io.d.ts.map +0 -1
  404. package/dist/os/session/frontmatter-io.js +0 -146
  405. package/dist/os/session/frontmatter-io.js.map +0 -1
  406. package/dist/os/session/handlers/archive.d.ts +0 -4
  407. package/dist/os/session/handlers/archive.d.ts.map +0 -1
  408. package/dist/os/session/handlers/archive.js +0 -241
  409. package/dist/os/session/handlers/archive.js.map +0 -1
  410. package/dist/os/session/handlers/list.d.ts +0 -4
  411. package/dist/os/session/handlers/list.d.ts.map +0 -1
  412. package/dist/os/session/handlers/list.js +0 -147
  413. package/dist/os/session/handlers/list.js.map +0 -1
  414. package/dist/os/session/handlers/save.d.ts +0 -6
  415. package/dist/os/session/handlers/save.d.ts.map +0 -1
  416. package/dist/os/session/handlers/save.js +0 -297
  417. package/dist/os/session/handlers/save.js.map +0 -1
  418. package/dist/os/session/handlers/validate.d.ts +0 -4
  419. package/dist/os/session/handlers/validate.d.ts.map +0 -1
  420. package/dist/os/session/handlers/validate.js +0 -224
  421. package/dist/os/session/handlers/validate.js.map +0 -1
  422. package/dist/os/session/index.d.ts +0 -9
  423. package/dist/os/session/index.d.ts.map +0 -1
  424. package/dist/os/session/index.js +0 -20
  425. package/dist/os/session/index.js.map +0 -1
  426. package/dist/os/session/session.module.d.ts +0 -3
  427. package/dist/os/session/session.module.d.ts.map +0 -1
  428. package/dist/os/session/session.module.js +0 -116
  429. package/dist/os/session/session.module.js.map +0 -1
  430. package/dist/os/session/types.d.ts +0 -131
  431. package/dist/os/session/types.d.ts.map +0 -1
  432. package/dist/os/session/types.js +0 -59
  433. package/dist/os/session/types.js.map +0 -1
  434. package/dist/os/spec/live-spec-list.d.ts +0 -4
  435. package/dist/os/spec/live-spec-list.d.ts.map +0 -1
  436. package/dist/os/spec/live-spec-list.js +0 -72
  437. package/dist/os/spec/live-spec-list.js.map +0 -1
  438. package/dist/os/spec/live-spec-merge.d.ts +0 -4
  439. package/dist/os/spec/live-spec-merge.d.ts.map +0 -1
  440. package/dist/os/spec/live-spec-merge.js +0 -345
  441. package/dist/os/spec/live-spec-merge.js.map +0 -1
  442. package/dist/os/spec/live-spec-show.d.ts +0 -4
  443. package/dist/os/spec/live-spec-show.d.ts.map +0 -1
  444. package/dist/os/spec/live-spec-show.js +0 -105
  445. package/dist/os/spec/live-spec-show.js.map +0 -1
  446. package/dist/os/spec/live-spec-types.d.ts +0 -71
  447. package/dist/os/spec/live-spec-types.d.ts.map +0 -1
  448. package/dist/os/spec/live-spec-types.js +0 -14
  449. package/dist/os/spec/live-spec-types.js.map +0 -1
  450. package/dist/os/spec/live-spec-validate.d.ts +0 -4
  451. package/dist/os/spec/live-spec-validate.d.ts.map +0 -1
  452. package/dist/os/spec/live-spec-validate.js +0 -140
  453. package/dist/os/spec/live-spec-validate.js.map +0 -1
  454. package/dist/os/spec/spec-materialize.d.ts +0 -21
  455. package/dist/os/spec/spec-materialize.d.ts.map +0 -1
  456. package/dist/os/spec/spec-materialize.js +0 -342
  457. package/dist/os/spec/spec-materialize.js.map +0 -1
  458. package/dist/os/spec/spec-schema.d.ts +0 -126
  459. package/dist/os/spec/spec-schema.d.ts.map +0 -1
  460. package/dist/os/spec/spec-schema.js +0 -118
  461. package/dist/os/spec/spec-schema.js.map +0 -1
  462. package/dist/os/spec/spec-status.d.ts +0 -33
  463. package/dist/os/spec/spec-status.d.ts.map +0 -1
  464. package/dist/os/spec/spec-status.js +0 -228
  465. package/dist/os/spec/spec-status.js.map +0 -1
  466. package/dist/os/spec/spec-validate.d.ts +0 -4
  467. package/dist/os/spec/spec-validate.d.ts.map +0 -1
  468. package/dist/os/spec/spec-validate.js +0 -435
  469. package/dist/os/spec/spec-validate.js.map +0 -1
  470. package/dist/os/spec/spec.module.d.ts +0 -3
  471. package/dist/os/spec/spec.module.d.ts.map +0 -1
  472. package/dist/os/spec/spec.module.js +0 -120
  473. package/dist/os/spec/spec.module.js.map +0 -1
  474. package/dist/os/werkstatt/handlers/lock.d.ts +0 -10
  475. package/dist/os/werkstatt/handlers/lock.d.ts.map +0 -1
  476. package/dist/os/werkstatt/handlers/lock.js +0 -153
  477. package/dist/os/werkstatt/handlers/lock.js.map +0 -1
  478. package/dist/os/werkstatt/handlers/schema.d.ts +0 -33
  479. package/dist/os/werkstatt/handlers/schema.d.ts.map +0 -1
  480. package/dist/os/werkstatt/handlers/schema.js +0 -42
  481. package/dist/os/werkstatt/handlers/schema.js.map +0 -1
  482. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts +0 -15
  483. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +0 -1
  484. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +0 -152
  485. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +0 -1
  486. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts +0 -18
  487. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts.map +0 -1
  488. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js +0 -51
  489. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js.map +0 -1
  490. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts +0 -11
  491. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +0 -1
  492. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +0 -79
  493. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +0 -1
  494. package/dist/os/werkstatt/handlers/workspace-deps.d.ts +0 -12
  495. package/dist/os/werkstatt/handlers/workspace-deps.d.ts.map +0 -1
  496. package/dist/os/werkstatt/handlers/workspace-deps.js +0 -42
  497. package/dist/os/werkstatt/handlers/workspace-deps.js.map +0 -1
  498. package/dist/os/werkstatt/index.d.ts +0 -7
  499. package/dist/os/werkstatt/index.d.ts.map +0 -1
  500. package/dist/os/werkstatt/index.js +0 -18
  501. package/dist/os/werkstatt/index.js.map +0 -1
  502. package/dist/os/werkstatt/werkstatt.module.d.ts +0 -3
  503. package/dist/os/werkstatt/werkstatt.module.d.ts.map +0 -1
  504. package/dist/os/werkstatt/werkstatt.module.js +0 -59
  505. package/dist/os/werkstatt/werkstatt.module.js.map +0 -1
  506. package/dist/os/workflow/handlers.d.ts +0 -12
  507. package/dist/os/workflow/handlers.d.ts.map +0 -1
  508. package/dist/os/workflow/handlers.js +0 -262
  509. package/dist/os/workflow/handlers.js.map +0 -1
  510. package/dist/os/workflow/index.d.ts +0 -4
  511. package/dist/os/workflow/index.d.ts.map +0 -1
  512. package/dist/os/workflow/index.js +0 -18
  513. package/dist/os/workflow/index.js.map +0 -1
  514. package/dist/os/workflow/types.d.ts +0 -69
  515. package/dist/os/workflow/types.d.ts.map +0 -1
  516. package/dist/os/workflow/types.js +0 -23
  517. package/dist/os/workflow/types.js.map +0 -1
  518. package/dist/os/workflow/workflow.module.d.ts +0 -3
  519. package/dist/os/workflow/workflow.module.d.ts.map +0 -1
  520. package/dist/os/workflow/workflow.module.js +0 -49
  521. package/dist/os/workflow/workflow.module.js.map +0 -1
  522. package/dist/src/cli-output.d.ts +0 -5
  523. package/dist/src/cli-output.d.ts.map +0 -1
  524. package/dist/src/cli-output.js +0 -53
  525. package/dist/src/cli-output.js.map +0 -1
  526. package/dist/src/compass/contract-registry.d.ts +0 -7
  527. package/dist/src/compass/contract-registry.d.ts.map +0 -1
  528. package/dist/src/compass/contract-registry.js +0 -93
  529. package/dist/src/compass/contract-registry.js.map +0 -1
  530. package/dist/src/compass/types.d.ts +0 -28
  531. package/dist/src/compass/types.d.ts.map +0 -1
  532. package/dist/src/compass/types.js +0 -14
  533. package/dist/src/compass/types.js.map +0 -1
  534. package/dist/src/config/forge-config.d.ts +0 -242
  535. package/dist/src/config/forge-config.d.ts.map +0 -1
  536. package/dist/src/config/forge-config.js +0 -363
  537. package/dist/src/config/forge-config.js.map +0 -1
  538. package/dist/src/forge-module.d.ts +0 -17
  539. package/dist/src/forge-module.d.ts.map +0 -1
  540. package/dist/src/forge-module.js +0 -16
  541. package/dist/src/forge-module.js.map +0 -1
  542. package/dist/src/index.d.ts +0 -39
  543. package/dist/src/index.d.ts.map +0 -1
  544. package/dist/src/index.js +0 -59
  545. package/dist/src/index.js.map +0 -1
  546. package/dist/src/knowledge/budgets.d.ts +0 -38
  547. package/dist/src/knowledge/budgets.d.ts.map +0 -1
  548. package/dist/src/knowledge/budgets.js +0 -157
  549. package/dist/src/knowledge/budgets.js.map +0 -1
  550. package/dist/src/knowledge/compact.d.ts +0 -47
  551. package/dist/src/knowledge/compact.d.ts.map +0 -1
  552. package/dist/src/knowledge/compact.js +0 -320
  553. package/dist/src/knowledge/compact.js.map +0 -1
  554. package/dist/src/knowledge/index.d.ts +0 -7
  555. package/dist/src/knowledge/index.d.ts.map +0 -1
  556. package/dist/src/knowledge/index.js +0 -19
  557. package/dist/src/knowledge/index.js.map +0 -1
  558. package/dist/src/knowledge/parse.d.ts +0 -3
  559. package/dist/src/knowledge/parse.d.ts.map +0 -1
  560. package/dist/src/knowledge/parse.js +0 -205
  561. package/dist/src/knowledge/parse.js.map +0 -1
  562. package/dist/src/knowledge/promote.d.ts +0 -37
  563. package/dist/src/knowledge/promote.d.ts.map +0 -1
  564. package/dist/src/knowledge/promote.js +0 -120
  565. package/dist/src/knowledge/promote.js.map +0 -1
  566. package/dist/src/knowledge/schema.d.ts +0 -61
  567. package/dist/src/knowledge/schema.d.ts.map +0 -1
  568. package/dist/src/knowledge/schema.js +0 -64
  569. package/dist/src/knowledge/schema.js.map +0 -1
  570. package/dist/src/knowledge/serialize.d.ts +0 -3
  571. package/dist/src/knowledge/serialize.d.ts.map +0 -1
  572. package/dist/src/knowledge/serialize.js +0 -67
  573. package/dist/src/knowledge/serialize.js.map +0 -1
  574. package/dist/src/migration-adapters/git-utils.d.ts +0 -3
  575. package/dist/src/migration-adapters/git-utils.d.ts.map +0 -1
  576. package/dist/src/migration-adapters/git-utils.js +0 -64
  577. package/dist/src/migration-adapters/git-utils.js.map +0 -1
  578. package/dist/src/migration-adapters/ignored-files.d.ts +0 -12
  579. package/dist/src/migration-adapters/ignored-files.d.ts.map +0 -1
  580. package/dist/src/migration-adapters/ignored-files.js +0 -190
  581. package/dist/src/migration-adapters/ignored-files.js.map +0 -1
  582. package/dist/src/migration-adapters/index.d.ts +0 -8
  583. package/dist/src/migration-adapters/index.d.ts.map +0 -1
  584. package/dist/src/migration-adapters/index.js +0 -17
  585. package/dist/src/migration-adapters/index.js.map +0 -1
  586. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts +0 -3
  587. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts.map +0 -1
  588. package/dist/src/migration-adapters/node-typescript-pnpm/index.js +0 -141
  589. package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +0 -1
  590. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts +0 -3
  591. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts.map +0 -1
  592. package/dist/src/migration-adapters/phaser-pnpm/index.js +0 -142
  593. package/dist/src/migration-adapters/phaser-pnpm/index.js.map +0 -1
  594. package/dist/src/migration-adapters/registry.d.ts +0 -6
  595. package/dist/src/migration-adapters/registry.d.ts.map +0 -1
  596. package/dist/src/migration-adapters/registry.js +0 -55
  597. package/dist/src/migration-adapters/registry.js.map +0 -1
  598. package/dist/src/migration-adapters/types.d.ts +0 -35
  599. package/dist/src/migration-adapters/types.d.ts.map +0 -1
  600. package/dist/src/migration-adapters/types.js +0 -31
  601. package/dist/src/migration-adapters/types.js.map +0 -1
  602. package/dist/src/onboarding/agents-generate.d.ts +0 -31
  603. package/dist/src/onboarding/agents-generate.d.ts.map +0 -1
  604. package/dist/src/onboarding/agents-generate.js +0 -372
  605. package/dist/src/onboarding/agents-generate.js.map +0 -1
  606. package/dist/src/onboarding/create.d.ts +0 -12
  607. package/dist/src/onboarding/create.d.ts.map +0 -1
  608. package/dist/src/onboarding/create.js +0 -389
  609. package/dist/src/onboarding/create.js.map +0 -1
  610. package/dist/src/onboarding/doctor.d.ts +0 -45
  611. package/dist/src/onboarding/doctor.d.ts.map +0 -1
  612. package/dist/src/onboarding/doctor.js +0 -1190
  613. package/dist/src/onboarding/doctor.js.map +0 -1
  614. package/dist/src/onboarding/init.d.ts +0 -36
  615. package/dist/src/onboarding/init.d.ts.map +0 -1
  616. package/dist/src/onboarding/init.js +0 -362
  617. package/dist/src/onboarding/init.js.map +0 -1
  618. package/dist/src/onboarding/invariant-engine.d.ts +0 -17
  619. package/dist/src/onboarding/invariant-engine.d.ts.map +0 -1
  620. package/dist/src/onboarding/invariant-engine.js +0 -416
  621. package/dist/src/onboarding/invariant-engine.js.map +0 -1
  622. package/dist/src/onboarding/memory-scaffold.d.ts +0 -18
  623. package/dist/src/onboarding/memory-scaffold.d.ts.map +0 -1
  624. package/dist/src/onboarding/memory-scaffold.js +0 -151
  625. package/dist/src/onboarding/memory-scaffold.js.map +0 -1
  626. package/dist/src/onboarding/nested-agents-generate.d.ts +0 -18
  627. package/dist/src/onboarding/nested-agents-generate.d.ts.map +0 -1
  628. package/dist/src/onboarding/nested-agents-generate.js +0 -69
  629. package/dist/src/onboarding/nested-agents-generate.js.map +0 -1
  630. package/dist/src/onboarding/nested-agents-templates.d.ts +0 -26
  631. package/dist/src/onboarding/nested-agents-templates.d.ts.map +0 -1
  632. package/dist/src/onboarding/nested-agents-templates.js +0 -178
  633. package/dist/src/onboarding/nested-agents-templates.js.map +0 -1
  634. package/dist/src/onboarding/profile-validate.d.ts +0 -13
  635. package/dist/src/onboarding/profile-validate.d.ts.map +0 -1
  636. package/dist/src/onboarding/profile-validate.js +0 -109
  637. package/dist/src/onboarding/profile-validate.js.map +0 -1
  638. package/dist/src/onboarding/scaffold-project.d.ts +0 -12
  639. package/dist/src/onboarding/scaffold-project.d.ts.map +0 -1
  640. package/dist/src/onboarding/scaffold-project.js +0 -264
  641. package/dist/src/onboarding/scaffold-project.js.map +0 -1
  642. package/dist/src/onboarding/scaffold.d.ts +0 -15
  643. package/dist/src/onboarding/scaffold.d.ts.map +0 -1
  644. package/dist/src/onboarding/scaffold.js +0 -121
  645. package/dist/src/onboarding/scaffold.js.map +0 -1
  646. package/dist/src/onboarding/upgrade.d.ts +0 -27
  647. package/dist/src/onboarding/upgrade.d.ts.map +0 -1
  648. package/dist/src/onboarding/upgrade.js +0 -453
  649. package/dist/src/onboarding/upgrade.js.map +0 -1
  650. package/dist/src/onboarding/workspace-discovery.d.ts +0 -11
  651. package/dist/src/onboarding/workspace-discovery.d.ts.map +0 -1
  652. package/dist/src/onboarding/workspace-discovery.js +0 -138
  653. package/dist/src/onboarding/workspace-discovery.js.map +0 -1
  654. package/dist/src/plugin/ForgePluginManifest.d.ts +0 -38
  655. package/dist/src/plugin/ForgePluginManifest.d.ts.map +0 -1
  656. package/dist/src/plugin/ForgePluginManifest.js +0 -52
  657. package/dist/src/plugin/ForgePluginManifest.js.map +0 -1
  658. package/dist/src/profiles/profile-schema.d.ts +0 -361
  659. package/dist/src/profiles/profile-schema.d.ts.map +0 -1
  660. package/dist/src/profiles/profile-schema.js +0 -208
  661. package/dist/src/profiles/profile-schema.js.map +0 -1
  662. package/dist/src/profiles/stack-profile.d.ts +0 -173
  663. package/dist/src/profiles/stack-profile.d.ts.map +0 -1
  664. package/dist/src/profiles/stack-profile.js +0 -148
  665. package/dist/src/profiles/stack-profile.js.map +0 -1
  666. package/dist/src/profiles/terminology-utils.d.ts +0 -8
  667. package/dist/src/profiles/terminology-utils.d.ts.map +0 -1
  668. package/dist/src/profiles/terminology-utils.js +0 -31
  669. package/dist/src/profiles/terminology-utils.js.map +0 -1
  670. package/dist/src/registry.d.ts +0 -38
  671. package/dist/src/registry.d.ts.map +0 -1
  672. package/dist/src/registry.js +0 -174
  673. package/dist/src/registry.js.map +0 -1
  674. package/dist/src/skill-schema.d.ts +0 -30
  675. package/dist/src/skill-schema.d.ts.map +0 -1
  676. package/dist/src/skill-schema.js +0 -34
  677. package/dist/src/skill-schema.js.map +0 -1
  678. package/dist/src/types.d.ts +0 -154
  679. package/dist/src/types.d.ts.map +0 -1
  680. package/dist/src/types.js +0 -17
  681. package/dist/src/types.js.map +0 -1
  682. package/dist/src/utils/fs-atomic.d.ts +0 -7
  683. package/dist/src/utils/fs-atomic.d.ts.map +0 -1
  684. package/dist/src/utils/fs-atomic.js +0 -81
  685. package/dist/src/utils/fs-atomic.js.map +0 -1
  686. package/dist/src/utils/fs-idempotent.d.ts +0 -2
  687. package/dist/src/utils/fs-idempotent.d.ts.map +0 -1
  688. package/dist/src/utils/fs-idempotent.js +0 -39
  689. package/dist/src/utils/fs-idempotent.js.map +0 -1
  690. package/dist/src/utils/fs-trash-sync.d.ts +0 -2
  691. package/dist/src/utils/fs-trash-sync.d.ts.map +0 -1
  692. package/dist/src/utils/fs-trash-sync.js +0 -34
  693. package/dist/src/utils/fs-trash-sync.js.map +0 -1
  694. package/dist/src/utils/fs-trash.d.ts +0 -2
  695. package/dist/src/utils/fs-trash.d.ts.map +0 -1
  696. package/dist/src/utils/fs-trash.js +0 -24
  697. package/dist/src/utils/fs-trash.js.map +0 -1
  698. package/dist/src/utils/fs.d.ts +0 -8
  699. package/dist/src/utils/fs.d.ts.map +0 -1
  700. package/dist/src/utils/fs.js +0 -60
  701. package/dist/src/utils/fs.js.map +0 -1
  702. package/dist/src/utils/generated-marker.d.ts +0 -21
  703. package/dist/src/utils/generated-marker.d.ts.map +0 -1
  704. package/dist/src/utils/generated-marker.js +0 -128
  705. package/dist/src/utils/generated-marker.js.map +0 -1
  706. package/dist/src/utils/hash.d.ts +0 -2
  707. package/dist/src/utils/hash.d.ts.map +0 -1
  708. package/dist/src/utils/hash.js +0 -18
  709. package/dist/src/utils/hash.js.map +0 -1
  710. package/dist/src/utils/index.d.ts +0 -9
  711. package/dist/src/utils/index.d.ts.map +0 -1
  712. package/dist/src/utils/index.js +0 -21
  713. package/dist/src/utils/index.js.map +0 -1
  714. package/dist/src/utils/string-utils.d.ts +0 -2
  715. package/dist/src/utils/string-utils.d.ts.map +0 -1
  716. package/dist/src/utils/string-utils.js +0 -19
  717. package/dist/src/utils/string-utils.js.map +0 -1
  718. package/dist/src/validators/note-frontmatter-validate.d.ts +0 -20
  719. package/dist/src/validators/note-frontmatter-validate.d.ts.map +0 -1
  720. package/dist/src/validators/note-frontmatter-validate.js +0 -117
  721. package/dist/src/validators/note-frontmatter-validate.js.map +0 -1
  722. package/dist/src/validators/note-link-validate.d.ts +0 -21
  723. package/dist/src/validators/note-link-validate.d.ts.map +0 -1
  724. package/dist/src/validators/note-link-validate.js +0 -121
  725. package/dist/src/validators/note-link-validate.js.map +0 -1
  726. package/dist/src/validators/note-orphan-detect.d.ts +0 -19
  727. package/dist/src/validators/note-orphan-detect.d.ts.map +0 -1
  728. package/dist/src/validators/note-orphan-detect.js +0 -123
  729. package/dist/src/validators/note-orphan-detect.js.map +0 -1
  730. package/dist/src/validators/port-validate.d.ts +0 -12
  731. package/dist/src/validators/port-validate.d.ts.map +0 -1
  732. package/dist/src/validators/port-validate.js +0 -78
  733. package/dist/src/validators/port-validate.js.map +0 -1
  734. package/dist/src/validators/skill-validate.d.ts +0 -29
  735. package/dist/src/validators/skill-validate.d.ts.map +0 -1
  736. package/dist/src/validators/skill-validate.js +0 -689
  737. package/dist/src/validators/skill-validate.js.map +0 -1
@@ -1,124 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>Reports the pipeline status of RFCs — which steps (audit, enhance, plan, implement) are complete or missing.</purpose>
4
- <non-goals>
5
- <item>Does not validate RFC content — use rfc.validate for that.</item>
6
- <item>Does not mutate any files.</item>
7
- <item>Does not gate skill execution — skills keep their own prerequisite checks.</item>
8
- </non-goals>
9
- </MODULE_CONTRACT>
10
- <CHANGE_SUMMARY>
11
- <item>Add rfc.pipeline.status command for agents and humans to inspect where an RFC stands in the create → audit → enhance → plan → implement pipeline.</item>
12
- </CHANGE_SUMMARY>
13
- */
14
- import fs from "node:fs/promises";
15
- import path from "node:path";
16
- import { listRfcFiles, readAndParseRfc } from "../frontmatter-io.js";
17
- import { RFC_DIR } from "../types.js";
18
- const TERMINAL_STATUSES = new Set(["implemented", "rejected", "superseded"]);
19
- async function findAuditFile(workspaceRoot, rfcId) {
20
- const auditsDir = path.join(workspaceRoot, "docs/audits");
21
- try {
22
- const entries = await fs.readdir(auditsDir);
23
- const prefix = `audit-${rfcId.toLowerCase()}`;
24
- const match = entries.find((e) => e.toLowerCase().startsWith(prefix) && e.endsWith(".md"));
25
- return match ? path.join("docs/audits", match) : undefined;
26
- }
27
- catch {
28
- return undefined;
29
- }
30
- }
31
- async function findPlanFile(workspaceRoot, rfcId) {
32
- const plansDir = path.join(workspaceRoot, "docs/plans");
33
- try {
34
- const entries = await fs.readdir(plansDir);
35
- const prefix = `plan-${rfcId.toLowerCase()}`;
36
- const match = entries.find((e) => e.toLowerCase().startsWith(prefix) && e.endsWith(".md"));
37
- return match ? path.join("docs/plans", match) : undefined;
38
- }
39
- catch {
40
- return undefined;
41
- }
42
- }
43
- export async function runRfcPipelineStatus(input, context) {
44
- const { workspaceRoot, logger, outputFormat } = context;
45
- const rfcDirPath = path.join(workspaceRoot, RFC_DIR);
46
- const targetId = input.flags["id"];
47
- let files = await listRfcFiles(rfcDirPath);
48
- if (targetId) {
49
- const lower = targetId.toLowerCase();
50
- files = files.filter((f) => path.basename(f).toLowerCase().startsWith(lower));
51
- if (files.length === 0) {
52
- throw new Error(`No RFC file found for id ${targetId} in ${RFC_DIR}/`);
53
- }
54
- }
55
- const entries = [];
56
- for (const fileName of files) {
57
- const result = await readAndParseRfc(rfcDirPath, fileName);
58
- if (!result || "error" in result)
59
- continue;
60
- const fm = result.parsed.frontmatter;
61
- const id = String(fm["id"] ?? "");
62
- const title = String(fm["title"] ?? "");
63
- const status = String(fm["status"] ?? "");
64
- const enhancedAt = fm["enhancedAt"] ? String(fm["enhancedAt"]) : undefined;
65
- const implementedAt = fm["implementedAt"] ? String(fm["implementedAt"]) : undefined;
66
- const isTerminal = TERMINAL_STATUSES.has(status);
67
- const auditFile = await findAuditFile(workspaceRoot, id);
68
- const planFile = await findPlanFile(workspaceRoot, id);
69
- const stages = [
70
- {
71
- stage: "audit",
72
- done: !!auditFile,
73
- evidence: auditFile,
74
- },
75
- {
76
- stage: "enhance",
77
- done: !!enhancedAt,
78
- evidence: enhancedAt ? `enhancedAt: ${enhancedAt}` : undefined,
79
- },
80
- {
81
- stage: "plan",
82
- done: !!planFile,
83
- evidence: planFile,
84
- },
85
- {
86
- stage: "implement",
87
- done: status === "implemented" || !!implementedAt,
88
- evidence: implementedAt ? `implementedAt: ${implementedAt}` : undefined,
89
- },
90
- ];
91
- let nextStep = null;
92
- if (!isTerminal) {
93
- for (const s of stages) {
94
- if (!s.done) {
95
- nextStep = s.stage;
96
- break;
97
- }
98
- }
99
- }
100
- entries.push({
101
- id,
102
- title,
103
- status,
104
- file: path.join(RFC_DIR, fileName),
105
- stages,
106
- nextStep,
107
- });
108
- }
109
- entries.sort((a, b) => a.id.localeCompare(b.id));
110
- if (outputFormat === "pretty") {
111
- logger.section(`RFC pipeline status (${entries.length} RFC(s))`);
112
- for (const entry of entries) {
113
- const stageStr = entry.stages.map((s) => `${s.stage}:${s.done ? "✓" : "—"}`).join(" ");
114
- const next = entry.nextStep ? ` → next: ${entry.nextStep}` : "";
115
- const terminal = TERMINAL_STATUSES.has(entry.status) ? " (terminal)" : "";
116
- logger.info(`${entry.id} [${entry.status}${terminal}] ${stageStr}${next}`);
117
- }
118
- }
119
- return {
120
- data: { command: "rfc.pipeline.status", status: "ok", count: entries.length, entries },
121
- summary: `Pipeline status for ${entries.length} RFC(s)`,
122
- };
123
- }
124
- //# sourceMappingURL=pipeline-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline-status.js","sourceRoot":"","sources":["../../../../os/rfc/handlers/pipeline-status.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { ParsedRfc } from "../frontmatter-io.ts";
2
- export declare function toIsoDate(date: Date): string;
3
- export declare const DNA_DOCS: string[];
4
- export declare const AP_DOCS: string[];
5
- /** Parse `## <PREFIX>-N` headings from the given docs and return the set of N. */
6
- export declare function loadInvariantIds(workspaceRoot: string, relPaths: string[], prefix: string): Promise<Set<number>>;
7
- /**
8
- * Whether a "File system responsibilities" path is a concrete, checkable file.
9
- * Skips glob/placeholder/prose entries that rfc.check must not `fs.access` verbatim:
10
- * `apps/*`, `apps/<app>/…`, `{lang}`, `**`, or descriptive phrases with spaces.
11
- */
12
- export declare function isLiteralFsPath(p: string): boolean;
13
- export declare function stringArray(value: unknown): string[];
14
- export declare function commandBuckets(fm: Record<string, unknown>): {
15
- proposed: string[];
16
- added: string[];
17
- changed: string[];
18
- removed: string[];
19
- };
20
- export type { ParsedRfc };
21
- export declare function resolveRfcTemplate(workspaceRoot: string): string;
22
- //# sourceMappingURL=shared.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../os/rfc/handlers/shared.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE5C;AAID,eAAO,MAAM,QAAQ,UAAY,CAAC;AAClC,eAAO,MAAM,OAAO,UAAW,CAAC;AAEhC,kFAAkF;AAClF,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAYtB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAKlD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAEpD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAYA;AAED,YAAY,EAAE,SAAS,EAAE,CAAC;AAQ1B,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CA4BhE"}
@@ -1,105 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>Shared helpers for RFC handler commands — date utils, invariant ID loading, FS path checks, command bucket parsing.</purpose>
4
- <non-goals>
5
- <item>Do not implement command handlers; those live in sibling files.</item>
6
- </non-goals>
7
- </MODULE_CONTRACT>
8
- <CHANGE_SUMMARY>
9
- <item>RFC-0303: extracted shared helpers from handlers.ts into handlers/shared.ts.</item>
10
- </CHANGE_SUMMARY>
11
- */
12
- import fs from "node:fs/promises";
13
- import { existsSync } from "node:fs";
14
- import path from "node:path";
15
- import { fileURLToPath } from "node:url";
16
- import { resolveForgeRoot } from "../../../src/config/forge-config.js";
17
- import { RFC_TEMPLATE_FILE, RFC_TEMPLATE_FALLBACK_FILE } from "../types.js";
18
- export function toIsoDate(date) {
19
- return date.toISOString().split("T")[0];
20
- }
21
- const DNA_DOC = "docs/architecture-dna.md";
22
- const AP_DOC = "packages/os/site-kernel/docs/anti-patterns.md";
23
- export const DNA_DOCS = [DNA_DOC];
24
- export const AP_DOCS = [AP_DOC];
25
- /** Parse `## <PREFIX>-N` headings from the given docs and return the set of N. */
26
- export async function loadInvariantIds(workspaceRoot, relPaths, prefix) {
27
- const ids = new Set();
28
- const re = new RegExp(`^##\\s+${prefix}-(\\d+)\\b`, "gm");
29
- for (const rel of relPaths) {
30
- try {
31
- const src = await fs.readFile(path.join(workspaceRoot, rel), "utf-8");
32
- for (const m of src.matchAll(re))
33
- ids.add(parseInt(m[1], 10));
34
- }
35
- catch {
36
- // Doc not present at this path — try the next candidate.
37
- }
38
- }
39
- return ids;
40
- }
41
- /**
42
- * Whether a "File system responsibilities" path is a concrete, checkable file.
43
- * Skips glob/placeholder/prose entries that rfc.check must not `fs.access` verbatim:
44
- * `apps/*`, `apps/<app>/…`, `{lang}`, `**`, or descriptive phrases with spaces.
45
- */
46
- export function isLiteralFsPath(p) {
47
- if (/[*<>{}]/.test(p))
48
- return false; // globs / placeholders
49
- if (/\s/.test(p))
50
- return false; // prose ("Every generator module")
51
- if (!p.includes("/") && !p.includes("."))
52
- return false; // bare words
53
- return true;
54
- }
55
- export function stringArray(value) {
56
- return Array.isArray(value) ? value.map(String).filter(Boolean) : [];
57
- }
58
- export function commandBuckets(fm) {
59
- const commands = fm["commands"];
60
- if (!commands || typeof commands !== "object" || Array.isArray(commands)) {
61
- return { proposed: [], added: [], changed: [], removed: [] };
62
- }
63
- const record = commands;
64
- return {
65
- proposed: stringArray(record["proposed"]),
66
- added: stringArray(record["added"]),
67
- changed: stringArray(record["changed"]),
68
- removed: stringArray(record["removed"]),
69
- };
70
- }
71
- // ---------------------------------------------------------------------------
72
- // RFC template resolver — finds rfc-0000-template.md from project docs/rfcs/
73
- // first (canonical location, mirroring ADR pattern), then falls back to the
74
- // forge package copy (npm consumers without a project-level template).
75
- // ---------------------------------------------------------------------------
76
- export function resolveRfcTemplate(workspaceRoot) {
77
- // 1. Try project-level docs/rfcs/rfc-0000-template.md (canonical, like ADR)
78
- const projectPath = path.join(workspaceRoot, RFC_TEMPLATE_FILE);
79
- if (existsSync(projectPath))
80
- return projectPath;
81
- // 2. Try forge root (monorepo or npm-installed) — fallback copy
82
- try {
83
- const forgeRoot = resolveForgeRoot(workspaceRoot);
84
- const p = path.join(forgeRoot, RFC_TEMPLATE_FALLBACK_FILE);
85
- if (existsSync(p))
86
- return p;
87
- }
88
- catch {
89
- // forge root not resolvable — fall through to module-relative search
90
- }
91
- // 3. Fallback: walk up from this module's location to find os/rfc/rfc-0000-template.md
92
- const here = path.dirname(fileURLToPath(import.meta.url));
93
- let dir = here;
94
- for (let i = 0; i < 10; i++) {
95
- const candidate = path.join(dir, "os", "rfc", "rfc-0000-template.md");
96
- if (existsSync(candidate))
97
- return candidate;
98
- const parent = path.dirname(dir);
99
- if (parent === dir)
100
- break;
101
- dir = parent;
102
- }
103
- throw new Error(`RFC template not found. Tried ${RFC_TEMPLATE_FILE} relative to ${workspaceRoot}, forge root, and module-relative search from ${here}.`);
104
- }
105
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../os/rfc/handlers/shared.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { RfcSupersedeProposeResult } from "../types.ts";
2
- import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../../src/types.ts";
3
- export declare function runRfcSupersedePropose(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<RfcSupersedeProposeResult>>;
4
- //# sourceMappingURL=supersede-propose.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supersede-propose.d.ts","sourceRoot":"","sources":["../../../../os/rfc/handlers/supersede-propose.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAqB,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AA8B/B,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC,CAgLxD"}
@@ -1,203 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>
4
- RFC-0334: rfc.supersede.propose — escalation command for blocked implementations.
5
- Scaffolds a new draft RFC with supersedes pre-linked, conflict context, and TODO sections.
6
- </purpose>
7
- <non-goals>
8
- <item>Does not modify the blocked RFC — supersededBy is set only by humans.</item>
9
- <item>No automatic conflict detection — agent judgment triggers escalation.</item>
10
- </non-goals>
11
- </MODULE_CONTRACT>
12
- <CHANGE_SUMMARY>
13
- <item>RFC-0334: initial implementation.</item>
14
- <item>Post-refactor hardening: supersede proposals resolve archived RFC files by basename id.</item>
15
- </CHANGE_SUMMARY>
16
- */
17
- import { readFile } from "node:fs/promises";
18
- import { join, basename } from "node:path";
19
- import { toKebabCase } from "../../../src/utils/string-utils.js";
20
- import { writeFileAtomic } from "../../../src/utils/fs-atomic.js";
21
- import { listRfcFiles, readAndParseRfc, rfcFileMatchesId } from "../frontmatter-io.js";
22
- import { collectDecisionLog, scoreDecisions } from "../decision-log.js";
23
- import { RFC_DIR } from "../types.js";
24
- import { resolveRfcTemplate } from "./shared.js";
25
- import { toIsoDate } from "./shared.js";
26
- const DNA_REGISTRY_PATH = "docs/architecture-dna.md";
27
- const DNA_HEADING_RE = /^##\s+DNA-(\d+)\b/gm;
28
- async function validateDnaIds(workspaceRoot, ids) {
29
- const errors = [];
30
- const registrySrc = await readFile(join(workspaceRoot, DNA_REGISTRY_PATH), "utf-8");
31
- const knownDna = new Set();
32
- for (const m of registrySrc.matchAll(DNA_HEADING_RE)) {
33
- knownDna.add(`DNA-${m[1]}`);
34
- }
35
- for (const id of ids) {
36
- if (id.startsWith("DNA-")) {
37
- if (!knownDna.has(id)) {
38
- errors.push(`Unknown DNA invariant: ${id} (not found in ${DNA_REGISTRY_PATH}).`);
39
- }
40
- }
41
- else if (id.startsWith("RFC-")) {
42
- const rfcDirPath = join(workspaceRoot, RFC_DIR);
43
- const files = await listRfcFiles(rfcDirPath);
44
- const targetFile = files.find((f) => rfcFileMatchesId(f, id));
45
- if (!targetFile) {
46
- errors.push(`Unknown RFC reference: ${id} (not found in ${RFC_DIR}).`);
47
- }
48
- }
49
- }
50
- return errors;
51
- }
52
- export async function runRfcSupersedePropose(input, context) {
53
- const { workspaceRoot, logger, outputFormat } = context;
54
- const rfcDirPath = join(workspaceRoot, RFC_DIR);
55
- const targetId = input.flags["id"];
56
- const reason = input.flags["reason"];
57
- const invariantStr = input.flags["invariant"];
58
- const customTitle = input.flags["title"];
59
- if (!targetId)
60
- throw new Error("rfc.supersede.propose requires --id flag (e.g. --id RFC-0322).");
61
- if (!reason)
62
- throw new Error("rfc.supersede.propose requires --reason flag.");
63
- if (!invariantStr)
64
- throw new Error("rfc.supersede.propose requires --invariant flag (comma-separated DNA-N or RFC-XXXX).");
65
- // Parse and validate invariant ids
66
- const invariantIds = invariantStr
67
- .split(",")
68
- .map((s) => s.trim())
69
- .filter(Boolean);
70
- const idRe = /^(DNA-\d+|RFC-\d{4})$/;
71
- for (const id of invariantIds) {
72
- if (!idRe.test(id)) {
73
- throw new Error(`Malformed invariant id: "${id}". Must match DNA-N or RFC-XXXX.`);
74
- }
75
- }
76
- // Validate invariants exist
77
- const invariantErrors = await validateDnaIds(workspaceRoot, invariantIds);
78
- if (invariantErrors.length > 0) {
79
- throw new Error(invariantErrors.join(" "));
80
- }
81
- // Find and validate target RFC
82
- const files = await listRfcFiles(rfcDirPath);
83
- const targetFile = files.find((f) => rfcFileMatchesId(f, targetId));
84
- if (!targetFile) {
85
- throw new Error(`Target RFC ${targetId} not found. Use rfc.list to see available RFCs.`);
86
- }
87
- const targetParsed = await readAndParseRfc(rfcDirPath, targetFile);
88
- if (!targetParsed) {
89
- throw new Error(`Could not parse target RFC ${targetId}.`);
90
- }
91
- if ("error" in targetParsed) {
92
- throw new Error(`Could not parse target RFC ${targetId}: ${targetParsed.error}`);
93
- }
94
- const targetFm = targetParsed.parsed.frontmatter;
95
- const targetStatus = String(targetFm["status"] ?? "");
96
- const targetTitle = String(targetFm["title"] ?? "");
97
- if (targetStatus !== "accepted" && targetStatus !== "implemented") {
98
- if (targetStatus === "draft" || targetStatus === "reviewing") {
99
- throw new Error(`Target ${targetId} has status "${targetStatus}" — it is not decided yet. Record the concern in review, not via supersession.`);
100
- }
101
- throw new Error(`Target ${targetId} has status "${targetStatus}" — it is already closed.`);
102
- }
103
- // Determine next RFC id
104
- let maxId = 0;
105
- for (const f of files) {
106
- const bn = basename(f);
107
- const match = bn.match(/^rfc-(\d{4})/);
108
- if (match) {
109
- const num = parseInt(match[1], 10);
110
- if (num > maxId)
111
- maxId = num;
112
- }
113
- }
114
- const nextNum = maxId + 1;
115
- const paddedNum = String(nextNum).padStart(4, "0");
116
- const nextSlug = `rfc-${paddedNum}`;
117
- const nextId = `RFC-${paddedNum}`;
118
- // Read template
119
- const templatePath = resolveRfcTemplate(workspaceRoot);
120
- let templateContent;
121
- try {
122
- templateContent = await readFile(templatePath, "utf-8");
123
- }
124
- catch {
125
- throw new Error(`RFC template not found at ${templatePath}.`);
126
- }
127
- const today = toIsoDate(new Date());
128
- const title = customTitle ?? `Supersede ${targetId}: ${targetTitle}`;
129
- const kebabTitle = toKebabCase(title);
130
- const fileName = `${nextSlug}-${kebabTitle}.md`;
131
- // Decision-log consultation (RFC-0329)
132
- let consultedDecisions = [];
133
- try {
134
- const logEntries = await collectDecisionLog(rfcDirPath);
135
- consultedDecisions = scoreDecisions(title, logEntries);
136
- }
137
- catch {
138
- // graceful degradation
139
- }
140
- // Build consultation block
141
- const invariantList = invariantIds.join(", ");
142
- const targetFileRel = join(RFC_DIR, targetFile);
143
- const consultationBlock = `## Context
144
-
145
- > **Consultation request (generated by rfc.supersede.propose, ${today})**
146
- >
147
- > - **Blocked RFC:** ${targetId} — "${targetTitle}" (status: ${targetStatus}, ${targetFileRel})
148
- > - **Violated invariant(s):** ${invariantList}
149
- > - **Reason:** ${reason}
150
- > - **Requested decision:** accept this replacement, reject it with clarification, or amend ${targetId}.
151
-
152
- TODO(agent): expand — what was attempted, where exactly the conflict surfaces (file paths, contract clauses), and why no conforming implementation exists.`;
153
- // Build frontmatter seeds
154
- const supersedesYaml = `supersedes:\n - ${targetId}`;
155
- const relatedYaml = `related:\n${invariantIds.map((id) => ` - ${id}`).join("\n")}`;
156
- // Apply replacements
157
- let content = templateContent;
158
- content = content.replace(/^id: RFC-0000$/m, `id: ${nextId}`);
159
- content = content.replace(/^title: ".*"$/m, `title: "${title}"`);
160
- content = content.replace(/^kind: \w+$/m, `kind: architecture`);
161
- content = content.replace(/^scope: \w+$/m, `scope: workspace`);
162
- content = content.replace(/^createdAt: YYYY-MM-DD$/m, `createdAt: ${today}`);
163
- content = content.replace(/^updatedAt: YYYY-MM-DD$/m, `updatedAt: ${today}`);
164
- content = content.replace(/^# RFC-0000: .+$/m, `# ${nextId}: ${title}`);
165
- // Replace supersedes
166
- content = content.replace(/^supersedes: \[\]$/m, supersedesYaml);
167
- // Replace related
168
- content = content.replace(/^related:\n( # .*\n)*$/m, relatedYaml);
169
- // Replace Context section with consultation block
170
- content = content.replace(/## Context\n[\s\S]*?(?=\n## )/, consultationBlock);
171
- // Replace Decision section with TODO
172
- content = content.replace(/## Decision\n[\s\S]*?(?=\n## )/, `## Decision\n\nTODO(agent): describe the replacement decision that resolves the conflict without violating ${invariantList}.`);
173
- // Write the file
174
- const targetPath = join(rfcDirPath, fileName);
175
- await writeFileAtomic(targetPath, content);
176
- const relativeFile = join(RFC_DIR, fileName);
177
- if (outputFormat === "pretty") {
178
- logger.success(`Created ${nextId}: ${title}`);
179
- logger.info(`File: ${relativeFile}`);
180
- logger.info("");
181
- logger.warn(`ESCALATION: human decision required — ${targetId} conflicts with ${invariantList}. ` +
182
- `Draft created: ${relativeFile}. Implementation of ${targetId} is halted until a human accepts, rejects, or clarifies.`);
183
- if (consultedDecisions.length > 0) {
184
- logger.info("Prior decisions to consult:");
185
- for (const d of consultedDecisions) {
186
- logger.info(` ${d.rfcId} [${d.kind}] (score ${d.score}): ${d.title}`);
187
- }
188
- }
189
- }
190
- return {
191
- data: {
192
- command: "rfc.supersede.propose",
193
- status: "ok",
194
- file: relativeFile,
195
- id: nextId,
196
- supersedesTarget: targetId,
197
- invariants: invariantIds,
198
- consultedDecisions,
199
- },
200
- summary: `Created ${nextId} proposing to supersede ${targetId} (conflict: ${invariantList})`,
201
- };
202
- }
203
- //# sourceMappingURL=supersede-propose.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supersede-propose.js","sourceRoot":"","sources":["../../../../os/rfc/handlers/supersede-propose.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import type { ParsedRfc } from "../frontmatter-io.ts";
2
- import type { ReadAndParseRfcResult } from "../frontmatter-io.ts";
3
- import type { Marker } from "../types.ts";
4
- export type AddViolationFn = (rfcId: string, file: string, rule: string, message: string, severity?: "error" | "warning") => void;
5
- export interface AcceptanceCriteriaEvaluation {
6
- totalChecked: number;
7
- totalUnchecked: number;
8
- uncheckedLines: string[];
9
- checkedWithoutEvidence: string[];
10
- }
11
- /**
12
- * Extract the raw acceptance-criteria section text from an RFC body.
13
- * Returns `undefined` when the section is absent.
14
- */
15
- export declare function extractAcceptanceCriteriaSection(body: string): string | undefined;
16
- /**
17
- * Evaluate acceptance criteria checkboxes and inline evidence annotations.
18
- * Pure function — no I/O, no side effects. Used by both V-26/V-27 validation
19
- * and the `rfc.implement.stamp` precondition checks (RFC-0476).
20
- */
21
- export declare function evaluateAcceptanceCriteria(body: string): AcceptanceCriteriaEvaluation;
22
- /**
23
- * Collect NEEDS CLARIFICATION markers from an RFC body.
24
- * Skips lines inside fenced code blocks. Pure function — no I/O.
25
- */
26
- export declare function collectMarkers(body: string, status: string, createdAt: string): Marker[];
27
- export declare function validateSingleRfc(fileName: string, parsed: ParsedRfc, allParsed: Map<string, {
28
- fileName: string;
29
- parsed: ParsedRfc;
30
- }>, seenIds: Map<string, string>, validDnaIds: Set<number>, validApIds: Set<number>, knownKeys: Set<string>, workspaceRoot: string, addViolation: AddViolationFn, seenFilenameNumbers?: Map<number, string>): Promise<Marker[]>;
31
- export declare function checkFrontmatterYamlParse(fileName: string, result: ReadAndParseRfcResult | undefined, addViolation: AddViolationFn): void;
32
- //# sourceMappingURL=validate-rules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-rules.d.ts","sourceRoot":"","sources":["../../../../os/rfc/handlers/validate-rules.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAgC,MAAM,EAAE,MAAM,aAAa,CAAC;AAyBxE,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,KAC3B,IAAI,CAAC;AAMV,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGjF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,4BAA4B,CA+BrF;AAgDD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BxF;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,EAC/D,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,cAAc,EAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,OAAO,CAAC,MAAM,EAAE,CAAC,CA0vBnB;AAID,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,qBAAqB,GAAG,SAAS,EACzC,YAAY,EAAE,cAAc,GAC3B,IAAI,CAUN"}