@warpgogol/forge 2.19.0 → 2.20.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 (718) hide show
  1. package/README.md +11 -0
  2. package/os/core/core.module.ts +1 -1
  3. package/os/spec/live-spec-merge.test.ts +76 -0
  4. package/os/spec/live-spec-merge.ts +14 -49
  5. package/package.json +1 -1
  6. package/profiles/godot-csharp.yaml +4 -4
  7. package/profiles/typescript-turborepo.yaml +222 -0
  8. package/src/tests/profile-schema.test.ts +1 -1
  9. package/src/types/werkstatt-engine-shims.d.ts +11 -0
  10. package/src/types/werkstatt-shared-shims.d.ts +71 -0
  11. package/dist/bin/cli.d.ts +0 -3
  12. package/dist/bin/cli.d.ts.map +0 -1
  13. package/dist/bin/cli.js +0 -291
  14. package/dist/bin/cli.js.map +0 -1
  15. package/dist/os/adr/adr.module.d.ts +0 -3
  16. package/dist/os/adr/adr.module.d.ts.map +0 -1
  17. package/dist/os/adr/adr.module.js +0 -146
  18. package/dist/os/adr/adr.module.js.map +0 -1
  19. package/dist/os/adr/frontmatter-io.d.ts +0 -12
  20. package/dist/os/adr/frontmatter-io.d.ts.map +0 -1
  21. package/dist/os/adr/frontmatter-io.js +0 -67
  22. package/dist/os/adr/frontmatter-io.js.map +0 -1
  23. package/dist/os/adr/handlers/archive.d.ts +0 -24
  24. package/dist/os/adr/handlers/archive.d.ts.map +0 -1
  25. package/dist/os/adr/handlers/archive.js +0 -194
  26. package/dist/os/adr/handlers/archive.js.map +0 -1
  27. package/dist/os/adr/handlers/implement-stamp.d.ts +0 -4
  28. package/dist/os/adr/handlers/implement-stamp.d.ts.map +0 -1
  29. package/dist/os/adr/handlers/implement-stamp.js +0 -264
  30. package/dist/os/adr/handlers/implement-stamp.js.map +0 -1
  31. package/dist/os/adr/handlers/list-create.d.ts +0 -5
  32. package/dist/os/adr/handlers/list-create.d.ts.map +0 -1
  33. package/dist/os/adr/handlers/list-create.js +0 -201
  34. package/dist/os/adr/handlers/list-create.js.map +0 -1
  35. package/dist/os/adr/handlers/validate.d.ts +0 -4
  36. package/dist/os/adr/handlers/validate.d.ts.map +0 -1
  37. package/dist/os/adr/handlers/validate.js +0 -279
  38. package/dist/os/adr/handlers/validate.js.map +0 -1
  39. package/dist/os/adr/index.d.ts +0 -8
  40. package/dist/os/adr/index.d.ts.map +0 -1
  41. package/dist/os/adr/index.js +0 -18
  42. package/dist/os/adr/index.js.map +0 -1
  43. package/dist/os/adr/types.d.ts +0 -76
  44. package/dist/os/adr/types.d.ts.map +0 -1
  45. package/dist/os/adr/types.js +0 -56
  46. package/dist/os/adr/types.js.map +0 -1
  47. package/dist/os/audit/audit.module.d.ts +0 -3
  48. package/dist/os/audit/audit.module.d.ts.map +0 -1
  49. package/dist/os/audit/audit.module.js +0 -45
  50. package/dist/os/audit/audit.module.js.map +0 -1
  51. package/dist/os/audit/frontmatter-io.d.ts +0 -12
  52. package/dist/os/audit/frontmatter-io.d.ts.map +0 -1
  53. package/dist/os/audit/frontmatter-io.js +0 -71
  54. package/dist/os/audit/frontmatter-io.js.map +0 -1
  55. package/dist/os/audit/handlers/archive.d.ts +0 -4
  56. package/dist/os/audit/handlers/archive.d.ts.map +0 -1
  57. package/dist/os/audit/handlers/archive.js +0 -207
  58. package/dist/os/audit/handlers/archive.js.map +0 -1
  59. package/dist/os/audit/index.d.ts +0 -6
  60. package/dist/os/audit/index.d.ts.map +0 -1
  61. package/dist/os/audit/index.js +0 -16
  62. package/dist/os/audit/index.js.map +0 -1
  63. package/dist/os/audit/types.d.ts +0 -12
  64. package/dist/os/audit/types.d.ts.map +0 -1
  65. package/dist/os/audit/types.js +0 -17
  66. package/dist/os/audit/types.js.map +0 -1
  67. package/dist/os/compass/compass.module.d.ts +0 -3
  68. package/dist/os/compass/compass.module.d.ts.map +0 -1
  69. package/dist/os/compass/compass.module.js +0 -183
  70. package/dist/os/compass/compass.module.js.map +0 -1
  71. package/dist/os/compass/handlers/compass-audit-handler.d.ts +0 -36
  72. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +0 -1
  73. package/dist/os/compass/handlers/compass-audit-handler.js +0 -260
  74. package/dist/os/compass/handlers/compass-audit-handler.js.map +0 -1
  75. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +0 -19
  76. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +0 -1
  77. package/dist/os/compass/handlers/compass-change-summary-handler.js +0 -222
  78. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +0 -1
  79. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +0 -28
  80. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +0 -1
  81. package/dist/os/compass/handlers/compass-inventory-handler.js +0 -377
  82. package/dist/os/compass/handlers/compass-inventory-handler.js.map +0 -1
  83. package/dist/os/compass/handlers/compass-inventory.d.ts +0 -30
  84. package/dist/os/compass/handlers/compass-inventory.d.ts.map +0 -1
  85. package/dist/os/compass/handlers/compass-inventory.js +0 -462
  86. package/dist/os/compass/handlers/compass-inventory.js.map +0 -1
  87. package/dist/os/compass/handlers/git-revision.d.ts +0 -8
  88. package/dist/os/compass/handlers/git-revision.d.ts.map +0 -1
  89. package/dist/os/compass/handlers/git-revision.js +0 -99
  90. package/dist/os/compass/handlers/git-revision.js.map +0 -1
  91. package/dist/os/compass/handlers/resolve-scan-root.d.ts +0 -3
  92. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +0 -1
  93. package/dist/os/compass/handlers/resolve-scan-root.js +0 -57
  94. package/dist/os/compass/handlers/resolve-scan-root.js.map +0 -1
  95. package/dist/os/compass/index.d.ts +0 -8
  96. package/dist/os/compass/index.d.ts.map +0 -1
  97. package/dist/os/compass/index.js +0 -19
  98. package/dist/os/compass/index.js.map +0 -1
  99. package/dist/os/core/core.module.d.ts +0 -3
  100. package/dist/os/core/core.module.d.ts.map +0 -1
  101. package/dist/os/core/core.module.js +0 -836
  102. package/dist/os/core/core.module.js.map +0 -1
  103. package/dist/os/core/handlers/assets-check.d.ts +0 -19
  104. package/dist/os/core/handlers/assets-check.d.ts.map +0 -1
  105. package/dist/os/core/handlers/assets-check.js +0 -89
  106. package/dist/os/core/handlers/assets-check.js.map +0 -1
  107. package/dist/os/core/handlers/assets-helpers.d.ts +0 -28
  108. package/dist/os/core/handlers/assets-helpers.d.ts.map +0 -1
  109. package/dist/os/core/handlers/assets-helpers.js +0 -128
  110. package/dist/os/core/handlers/assets-helpers.js.map +0 -1
  111. package/dist/os/core/handlers/assets-list.d.ts +0 -9
  112. package/dist/os/core/handlers/assets-list.d.ts.map +0 -1
  113. package/dist/os/core/handlers/assets-list.js +0 -72
  114. package/dist/os/core/handlers/assets-list.js.map +0 -1
  115. package/dist/os/core/handlers/build.d.ts +0 -16
  116. package/dist/os/core/handlers/build.d.ts.map +0 -1
  117. package/dist/os/core/handlers/build.js +0 -123
  118. package/dist/os/core/handlers/build.js.map +0 -1
  119. package/dist/os/core/handlers/determinism-check.d.ts +0 -20
  120. package/dist/os/core/handlers/determinism-check.d.ts.map +0 -1
  121. package/dist/os/core/handlers/determinism-check.js +0 -289
  122. package/dist/os/core/handlers/determinism-check.js.map +0 -1
  123. package/dist/os/core/handlers/dev.d.ts +0 -10
  124. package/dist/os/core/handlers/dev.d.ts.map +0 -1
  125. package/dist/os/core/handlers/dev.js +0 -102
  126. package/dist/os/core/handlers/dev.js.map +0 -1
  127. package/dist/os/core/handlers/forge-autonomy-validate.d.ts +0 -18
  128. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +0 -1
  129. package/dist/os/core/handlers/forge-autonomy-validate.js +0 -115
  130. package/dist/os/core/handlers/forge-autonomy-validate.js.map +0 -1
  131. package/dist/os/core/handlers/knowledge-compact.d.ts +0 -4
  132. package/dist/os/core/handlers/knowledge-compact.d.ts.map +0 -1
  133. package/dist/os/core/handlers/knowledge-compact.js +0 -204
  134. package/dist/os/core/handlers/knowledge-compact.js.map +0 -1
  135. package/dist/os/core/handlers/package-health.d.ts +0 -17
  136. package/dist/os/core/handlers/package-health.d.ts.map +0 -1
  137. package/dist/os/core/handlers/package-health.js +0 -196
  138. package/dist/os/core/handlers/package-health.js.map +0 -1
  139. package/dist/os/core/handlers/pinned-check.d.ts +0 -49
  140. package/dist/os/core/handlers/pinned-check.d.ts.map +0 -1
  141. package/dist/os/core/handlers/pinned-check.js +0 -159
  142. package/dist/os/core/handlers/pinned-check.js.map +0 -1
  143. package/dist/os/core/handlers/pinned-init.d.ts +0 -19
  144. package/dist/os/core/handlers/pinned-init.d.ts.map +0 -1
  145. package/dist/os/core/handlers/pinned-init.js +0 -283
  146. package/dist/os/core/handlers/pinned-init.js.map +0 -1
  147. package/dist/os/core/handlers/pinned-types.d.ts +0 -29
  148. package/dist/os/core/handlers/pinned-types.d.ts.map +0 -1
  149. package/dist/os/core/handlers/pinned-types.js +0 -16
  150. package/dist/os/core/handlers/pinned-types.js.map +0 -1
  151. package/dist/os/core/handlers/pinned-validate.d.ts +0 -4
  152. package/dist/os/core/handlers/pinned-validate.d.ts.map +0 -1
  153. package/dist/os/core/handlers/pinned-validate.js +0 -248
  154. package/dist/os/core/handlers/pinned-validate.js.map +0 -1
  155. package/dist/os/core/handlers/profile-resolve.d.ts +0 -13
  156. package/dist/os/core/handlers/profile-resolve.d.ts.map +0 -1
  157. package/dist/os/core/handlers/profile-resolve.js +0 -65
  158. package/dist/os/core/handlers/profile-resolve.js.map +0 -1
  159. package/dist/os/core/handlers/release-prepare.d.ts +0 -25
  160. package/dist/os/core/handlers/release-prepare.d.ts.map +0 -1
  161. package/dist/os/core/handlers/release-prepare.js +0 -228
  162. package/dist/os/core/handlers/release-prepare.js.map +0 -1
  163. package/dist/os/core/handlers/release-publish.d.ts +0 -13
  164. package/dist/os/core/handlers/release-publish.d.ts.map +0 -1
  165. package/dist/os/core/handlers/release-publish.js +0 -173
  166. package/dist/os/core/handlers/release-publish.js.map +0 -1
  167. package/dist/os/core/handlers/validate.d.ts +0 -26
  168. package/dist/os/core/handlers/validate.d.ts.map +0 -1
  169. package/dist/os/core/handlers/validate.js +0 -208
  170. package/dist/os/core/handlers/validate.js.map +0 -1
  171. package/dist/os/core/index.d.ts +0 -2
  172. package/dist/os/core/index.d.ts.map +0 -1
  173. package/dist/os/core/index.js +0 -13
  174. package/dist/os/core/index.js.map +0 -1
  175. package/dist/os/exploration/exploration.module.d.ts +0 -3
  176. package/dist/os/exploration/exploration.module.d.ts.map +0 -1
  177. package/dist/os/exploration/exploration.module.js +0 -83
  178. package/dist/os/exploration/exploration.module.js.map +0 -1
  179. package/dist/os/exploration/frontmatter-io.d.ts +0 -13
  180. package/dist/os/exploration/frontmatter-io.d.ts.map +0 -1
  181. package/dist/os/exploration/frontmatter-io.js +0 -61
  182. package/dist/os/exploration/frontmatter-io.js.map +0 -1
  183. package/dist/os/exploration/handlers/archive.d.ts +0 -4
  184. package/dist/os/exploration/handlers/archive.d.ts.map +0 -1
  185. package/dist/os/exploration/handlers/archive.js +0 -141
  186. package/dist/os/exploration/handlers/archive.js.map +0 -1
  187. package/dist/os/exploration/handlers/list.d.ts +0 -4
  188. package/dist/os/exploration/handlers/list.d.ts.map +0 -1
  189. package/dist/os/exploration/handlers/list.js +0 -64
  190. package/dist/os/exploration/handlers/list.js.map +0 -1
  191. package/dist/os/exploration/handlers/show.d.ts +0 -4
  192. package/dist/os/exploration/handlers/show.d.ts.map +0 -1
  193. package/dist/os/exploration/handlers/show.js +0 -97
  194. package/dist/os/exploration/handlers/show.js.map +0 -1
  195. package/dist/os/exploration/index.d.ts +0 -7
  196. package/dist/os/exploration/index.d.ts.map +0 -1
  197. package/dist/os/exploration/index.js +0 -17
  198. package/dist/os/exploration/index.js.map +0 -1
  199. package/dist/os/exploration/types.d.ts +0 -38
  200. package/dist/os/exploration/types.d.ts.map +0 -1
  201. package/dist/os/exploration/types.js +0 -23
  202. package/dist/os/exploration/types.js.map +0 -1
  203. package/dist/os/mission/handlers/archive.d.ts +0 -4
  204. package/dist/os/mission/handlers/archive.d.ts.map +0 -1
  205. package/dist/os/mission/handlers/archive.js +0 -356
  206. package/dist/os/mission/handlers/archive.js.map +0 -1
  207. package/dist/os/mission/index.d.ts +0 -2
  208. package/dist/os/mission/index.d.ts.map +0 -1
  209. package/dist/os/mission/index.js +0 -2
  210. package/dist/os/mission/index.js.map +0 -1
  211. package/dist/os/mission/mission.module.d.ts +0 -3
  212. package/dist/os/mission/mission.module.d.ts.map +0 -1
  213. package/dist/os/mission/mission.module.js +0 -45
  214. package/dist/os/mission/mission.module.js.map +0 -1
  215. package/dist/os/mission/types.d.ts +0 -23
  216. package/dist/os/mission/types.d.ts.map +0 -1
  217. package/dist/os/mission/types.js +0 -18
  218. package/dist/os/mission/types.js.map +0 -1
  219. package/dist/os/naming/index.d.ts +0 -3
  220. package/dist/os/naming/index.d.ts.map +0 -1
  221. package/dist/os/naming/index.js +0 -14
  222. package/dist/os/naming/index.js.map +0 -1
  223. package/dist/os/naming/naming-convention.d.ts +0 -25
  224. package/dist/os/naming/naming-convention.d.ts.map +0 -1
  225. package/dist/os/naming/naming-convention.js +0 -324
  226. package/dist/os/naming/naming-convention.js.map +0 -1
  227. package/dist/os/naming/naming.module.d.ts +0 -3
  228. package/dist/os/naming/naming.module.d.ts.map +0 -1
  229. package/dist/os/naming/naming.module.js +0 -34
  230. package/dist/os/naming/naming.module.js.map +0 -1
  231. package/dist/os/notes/index.d.ts +0 -2
  232. package/dist/os/notes/index.d.ts.map +0 -1
  233. package/dist/os/notes/index.js +0 -10
  234. package/dist/os/notes/index.js.map +0 -1
  235. package/dist/os/notes/notes.module.d.ts +0 -3
  236. package/dist/os/notes/notes.module.d.ts.map +0 -1
  237. package/dist/os/notes/notes.module.js +0 -84
  238. package/dist/os/notes/notes.module.js.map +0 -1
  239. package/dist/os/plan/frontmatter-io.d.ts +0 -12
  240. package/dist/os/plan/frontmatter-io.d.ts.map +0 -1
  241. package/dist/os/plan/frontmatter-io.js +0 -69
  242. package/dist/os/plan/frontmatter-io.js.map +0 -1
  243. package/dist/os/plan/handlers/archive.d.ts +0 -4
  244. package/dist/os/plan/handlers/archive.d.ts.map +0 -1
  245. package/dist/os/plan/handlers/archive.js +0 -206
  246. package/dist/os/plan/handlers/archive.js.map +0 -1
  247. package/dist/os/plan/index.d.ts +0 -6
  248. package/dist/os/plan/index.d.ts.map +0 -1
  249. package/dist/os/plan/index.js +0 -16
  250. package/dist/os/plan/index.js.map +0 -1
  251. package/dist/os/plan/plan.module.d.ts +0 -3
  252. package/dist/os/plan/plan.module.d.ts.map +0 -1
  253. package/dist/os/plan/plan.module.js +0 -45
  254. package/dist/os/plan/plan.module.js.map +0 -1
  255. package/dist/os/plan/types.d.ts +0 -12
  256. package/dist/os/plan/types.d.ts.map +0 -1
  257. package/dist/os/plan/types.js +0 -17
  258. package/dist/os/plan/types.js.map +0 -1
  259. package/dist/os/plugin/plugin.module.d.ts +0 -25
  260. package/dist/os/plugin/plugin.module.d.ts.map +0 -1
  261. package/dist/os/plugin/plugin.module.js +0 -208
  262. package/dist/os/plugin/plugin.module.js.map +0 -1
  263. package/dist/os/program/discovery.d.ts +0 -61
  264. package/dist/os/program/discovery.d.ts.map +0 -1
  265. package/dist/os/program/discovery.js +0 -236
  266. package/dist/os/program/discovery.js.map +0 -1
  267. package/dist/os/program/handlers/complete.d.ts +0 -12
  268. package/dist/os/program/handlers/complete.d.ts.map +0 -1
  269. package/dist/os/program/handlers/complete.js +0 -362
  270. package/dist/os/program/handlers/complete.js.map +0 -1
  271. package/dist/os/program/handlers/lease.d.ts +0 -13
  272. package/dist/os/program/handlers/lease.d.ts.map +0 -1
  273. package/dist/os/program/handlers/lease.js +0 -328
  274. package/dist/os/program/handlers/lease.js.map +0 -1
  275. package/dist/os/program/handlers/seal.d.ts +0 -12
  276. package/dist/os/program/handlers/seal.d.ts.map +0 -1
  277. package/dist/os/program/handlers/seal.js +0 -277
  278. package/dist/os/program/handlers/seal.js.map +0 -1
  279. package/dist/os/program/handlers/validate.d.ts +0 -14
  280. package/dist/os/program/handlers/validate.d.ts.map +0 -1
  281. package/dist/os/program/handlers/validate.js +0 -170
  282. package/dist/os/program/handlers/validate.js.map +0 -1
  283. package/dist/os/program/lease.d.ts +0 -39
  284. package/dist/os/program/lease.d.ts.map +0 -1
  285. package/dist/os/program/lease.js +0 -129
  286. package/dist/os/program/lease.js.map +0 -1
  287. package/dist/os/program/program.module.d.ts +0 -3
  288. package/dist/os/program/program.module.d.ts.map +0 -1
  289. package/dist/os/program/program.module.js +0 -202
  290. package/dist/os/program/program.module.js.map +0 -1
  291. package/dist/os/program/schemas.d.ts +0 -225
  292. package/dist/os/program/schemas.d.ts.map +0 -1
  293. package/dist/os/program/schemas.js +0 -174
  294. package/dist/os/program/schemas.js.map +0 -1
  295. package/dist/os/program/state.d.ts +0 -38
  296. package/dist/os/program/state.d.ts.map +0 -1
  297. package/dist/os/program/state.js +0 -189
  298. package/dist/os/program/state.js.map +0 -1
  299. package/dist/os/rfc/acceptance.d.ts +0 -15
  300. package/dist/os/rfc/acceptance.d.ts.map +0 -1
  301. package/dist/os/rfc/acceptance.js +0 -318
  302. package/dist/os/rfc/acceptance.js.map +0 -1
  303. package/dist/os/rfc/decision-log.d.ts +0 -6
  304. package/dist/os/rfc/decision-log.d.ts.map +0 -1
  305. package/dist/os/rfc/decision-log.js +0 -269
  306. package/dist/os/rfc/decision-log.js.map +0 -1
  307. package/dist/os/rfc/dna-trace.d.ts +0 -27
  308. package/dist/os/rfc/dna-trace.d.ts.map +0 -1
  309. package/dist/os/rfc/dna-trace.js +0 -214
  310. package/dist/os/rfc/dna-trace.js.map +0 -1
  311. package/dist/os/rfc/frontmatter-io.d.ts +0 -18
  312. package/dist/os/rfc/frontmatter-io.d.ts.map +0 -1
  313. package/dist/os/rfc/frontmatter-io.js +0 -110
  314. package/dist/os/rfc/frontmatter-io.js.map +0 -1
  315. package/dist/os/rfc/handlers/archive.d.ts +0 -25
  316. package/dist/os/rfc/handlers/archive.d.ts.map +0 -1
  317. package/dist/os/rfc/handlers/archive.js +0 -247
  318. package/dist/os/rfc/handlers/archive.js.map +0 -1
  319. package/dist/os/rfc/handlers/check.d.ts +0 -4
  320. package/dist/os/rfc/handlers/check.d.ts.map +0 -1
  321. package/dist/os/rfc/handlers/check.js +0 -203
  322. package/dist/os/rfc/handlers/check.js.map +0 -1
  323. package/dist/os/rfc/handlers/implement-stamp.d.ts +0 -4
  324. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +0 -1
  325. package/dist/os/rfc/handlers/implement-stamp.js +0 -426
  326. package/dist/os/rfc/handlers/implement-stamp.js.map +0 -1
  327. package/dist/os/rfc/handlers/index-graph.d.ts +0 -13
  328. package/dist/os/rfc/handlers/index-graph.d.ts.map +0 -1
  329. package/dist/os/rfc/handlers/index-graph.js +0 -192
  330. package/dist/os/rfc/handlers/index-graph.js.map +0 -1
  331. package/dist/os/rfc/handlers/lifecycle.d.ts +0 -13
  332. package/dist/os/rfc/handlers/lifecycle.d.ts.map +0 -1
  333. package/dist/os/rfc/handlers/lifecycle.js +0 -155
  334. package/dist/os/rfc/handlers/lifecycle.js.map +0 -1
  335. package/dist/os/rfc/handlers/list-create.d.ts +0 -6
  336. package/dist/os/rfc/handlers/list-create.d.ts.map +0 -1
  337. package/dist/os/rfc/handlers/list-create.js +0 -260
  338. package/dist/os/rfc/handlers/list-create.js.map +0 -1
  339. package/dist/os/rfc/handlers/pipeline-status.d.ts +0 -26
  340. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +0 -1
  341. package/dist/os/rfc/handlers/pipeline-status.js +0 -124
  342. package/dist/os/rfc/handlers/pipeline-status.js.map +0 -1
  343. package/dist/os/rfc/handlers/shared.d.ts +0 -22
  344. package/dist/os/rfc/handlers/shared.d.ts.map +0 -1
  345. package/dist/os/rfc/handlers/shared.js +0 -105
  346. package/dist/os/rfc/handlers/shared.js.map +0 -1
  347. package/dist/os/rfc/handlers/supersede-propose.d.ts +0 -4
  348. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +0 -1
  349. package/dist/os/rfc/handlers/supersede-propose.js +0 -203
  350. package/dist/os/rfc/handlers/supersede-propose.js.map +0 -1
  351. package/dist/os/rfc/handlers/validate-rules.d.ts +0 -32
  352. package/dist/os/rfc/handlers/validate-rules.d.ts.map +0 -1
  353. package/dist/os/rfc/handlers/validate-rules.js +0 -590
  354. package/dist/os/rfc/handlers/validate-rules.js.map +0 -1
  355. package/dist/os/rfc/handlers/validate.d.ts +0 -4
  356. package/dist/os/rfc/handlers/validate.d.ts.map +0 -1
  357. package/dist/os/rfc/handlers/validate.js +0 -122
  358. package/dist/os/rfc/handlers/validate.js.map +0 -1
  359. package/dist/os/rfc/handlers.d.ts +0 -7
  360. package/dist/os/rfc/handlers.d.ts.map +0 -1
  361. package/dist/os/rfc/handlers.js +0 -19
  362. package/dist/os/rfc/handlers.js.map +0 -1
  363. package/dist/os/rfc/index.d.ts +0 -18
  364. package/dist/os/rfc/index.d.ts.map +0 -1
  365. package/dist/os/rfc/index.js +0 -24
  366. package/dist/os/rfc/index.js.map +0 -1
  367. package/dist/os/rfc/rfc.module.d.ts +0 -3
  368. package/dist/os/rfc/rfc.module.d.ts.map +0 -1
  369. package/dist/os/rfc/rfc.module.js +0 -367
  370. package/dist/os/rfc/rfc.module.js.map +0 -1
  371. package/dist/os/rfc/types.d.ts +0 -483
  372. package/dist/os/rfc/types.d.ts.map +0 -1
  373. package/dist/os/rfc/types.js +0 -100
  374. package/dist/os/rfc/types.js.map +0 -1
  375. package/dist/os/rfc/verification-evidence.d.ts +0 -8
  376. package/dist/os/rfc/verification-evidence.d.ts.map +0 -1
  377. package/dist/os/rfc/verification-evidence.js +0 -184
  378. package/dist/os/rfc/verification-evidence.js.map +0 -1
  379. package/dist/os/session/atif-parser.d.ts +0 -29
  380. package/dist/os/session/atif-parser.d.ts.map +0 -1
  381. package/dist/os/session/atif-parser.js +0 -140
  382. package/dist/os/session/atif-parser.js.map +0 -1
  383. package/dist/os/session/frontmatter-io.d.ts +0 -31
  384. package/dist/os/session/frontmatter-io.d.ts.map +0 -1
  385. package/dist/os/session/frontmatter-io.js +0 -146
  386. package/dist/os/session/frontmatter-io.js.map +0 -1
  387. package/dist/os/session/handlers/archive.d.ts +0 -4
  388. package/dist/os/session/handlers/archive.d.ts.map +0 -1
  389. package/dist/os/session/handlers/archive.js +0 -241
  390. package/dist/os/session/handlers/archive.js.map +0 -1
  391. package/dist/os/session/handlers/list.d.ts +0 -4
  392. package/dist/os/session/handlers/list.d.ts.map +0 -1
  393. package/dist/os/session/handlers/list.js +0 -147
  394. package/dist/os/session/handlers/list.js.map +0 -1
  395. package/dist/os/session/handlers/save.d.ts +0 -6
  396. package/dist/os/session/handlers/save.d.ts.map +0 -1
  397. package/dist/os/session/handlers/save.js +0 -297
  398. package/dist/os/session/handlers/save.js.map +0 -1
  399. package/dist/os/session/handlers/validate.d.ts +0 -4
  400. package/dist/os/session/handlers/validate.d.ts.map +0 -1
  401. package/dist/os/session/handlers/validate.js +0 -224
  402. package/dist/os/session/handlers/validate.js.map +0 -1
  403. package/dist/os/session/index.d.ts +0 -9
  404. package/dist/os/session/index.d.ts.map +0 -1
  405. package/dist/os/session/index.js +0 -20
  406. package/dist/os/session/index.js.map +0 -1
  407. package/dist/os/session/session.module.d.ts +0 -3
  408. package/dist/os/session/session.module.d.ts.map +0 -1
  409. package/dist/os/session/session.module.js +0 -116
  410. package/dist/os/session/session.module.js.map +0 -1
  411. package/dist/os/session/types.d.ts +0 -131
  412. package/dist/os/session/types.d.ts.map +0 -1
  413. package/dist/os/session/types.js +0 -59
  414. package/dist/os/session/types.js.map +0 -1
  415. package/dist/os/spec/live-spec-list.d.ts +0 -4
  416. package/dist/os/spec/live-spec-list.d.ts.map +0 -1
  417. package/dist/os/spec/live-spec-list.js +0 -72
  418. package/dist/os/spec/live-spec-list.js.map +0 -1
  419. package/dist/os/spec/live-spec-merge.d.ts +0 -4
  420. package/dist/os/spec/live-spec-merge.d.ts.map +0 -1
  421. package/dist/os/spec/live-spec-merge.js +0 -345
  422. package/dist/os/spec/live-spec-merge.js.map +0 -1
  423. package/dist/os/spec/live-spec-show.d.ts +0 -4
  424. package/dist/os/spec/live-spec-show.d.ts.map +0 -1
  425. package/dist/os/spec/live-spec-show.js +0 -105
  426. package/dist/os/spec/live-spec-show.js.map +0 -1
  427. package/dist/os/spec/live-spec-types.d.ts +0 -71
  428. package/dist/os/spec/live-spec-types.d.ts.map +0 -1
  429. package/dist/os/spec/live-spec-types.js +0 -14
  430. package/dist/os/spec/live-spec-types.js.map +0 -1
  431. package/dist/os/spec/live-spec-validate.d.ts +0 -4
  432. package/dist/os/spec/live-spec-validate.d.ts.map +0 -1
  433. package/dist/os/spec/live-spec-validate.js +0 -140
  434. package/dist/os/spec/live-spec-validate.js.map +0 -1
  435. package/dist/os/spec/spec-materialize.d.ts +0 -21
  436. package/dist/os/spec/spec-materialize.d.ts.map +0 -1
  437. package/dist/os/spec/spec-materialize.js +0 -342
  438. package/dist/os/spec/spec-materialize.js.map +0 -1
  439. package/dist/os/spec/spec-schema.d.ts +0 -126
  440. package/dist/os/spec/spec-schema.d.ts.map +0 -1
  441. package/dist/os/spec/spec-schema.js +0 -118
  442. package/dist/os/spec/spec-schema.js.map +0 -1
  443. package/dist/os/spec/spec-status.d.ts +0 -33
  444. package/dist/os/spec/spec-status.d.ts.map +0 -1
  445. package/dist/os/spec/spec-status.js +0 -228
  446. package/dist/os/spec/spec-status.js.map +0 -1
  447. package/dist/os/spec/spec-validate.d.ts +0 -4
  448. package/dist/os/spec/spec-validate.d.ts.map +0 -1
  449. package/dist/os/spec/spec-validate.js +0 -435
  450. package/dist/os/spec/spec-validate.js.map +0 -1
  451. package/dist/os/spec/spec.module.d.ts +0 -3
  452. package/dist/os/spec/spec.module.d.ts.map +0 -1
  453. package/dist/os/spec/spec.module.js +0 -120
  454. package/dist/os/spec/spec.module.js.map +0 -1
  455. package/dist/os/werkstatt/handlers/lock.d.ts +0 -10
  456. package/dist/os/werkstatt/handlers/lock.d.ts.map +0 -1
  457. package/dist/os/werkstatt/handlers/lock.js +0 -153
  458. package/dist/os/werkstatt/handlers/lock.js.map +0 -1
  459. package/dist/os/werkstatt/handlers/schema.d.ts +0 -33
  460. package/dist/os/werkstatt/handlers/schema.d.ts.map +0 -1
  461. package/dist/os/werkstatt/handlers/schema.js +0 -42
  462. package/dist/os/werkstatt/handlers/schema.js.map +0 -1
  463. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts +0 -15
  464. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +0 -1
  465. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +0 -152
  466. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +0 -1
  467. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts +0 -18
  468. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts.map +0 -1
  469. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js +0 -51
  470. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js.map +0 -1
  471. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts +0 -11
  472. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +0 -1
  473. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +0 -79
  474. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +0 -1
  475. package/dist/os/werkstatt/handlers/workspace-deps.d.ts +0 -12
  476. package/dist/os/werkstatt/handlers/workspace-deps.d.ts.map +0 -1
  477. package/dist/os/werkstatt/handlers/workspace-deps.js +0 -42
  478. package/dist/os/werkstatt/handlers/workspace-deps.js.map +0 -1
  479. package/dist/os/werkstatt/index.d.ts +0 -7
  480. package/dist/os/werkstatt/index.d.ts.map +0 -1
  481. package/dist/os/werkstatt/index.js +0 -18
  482. package/dist/os/werkstatt/index.js.map +0 -1
  483. package/dist/os/werkstatt/werkstatt.module.d.ts +0 -3
  484. package/dist/os/werkstatt/werkstatt.module.d.ts.map +0 -1
  485. package/dist/os/werkstatt/werkstatt.module.js +0 -59
  486. package/dist/os/werkstatt/werkstatt.module.js.map +0 -1
  487. package/dist/os/workflow/handlers.d.ts +0 -12
  488. package/dist/os/workflow/handlers.d.ts.map +0 -1
  489. package/dist/os/workflow/handlers.js +0 -262
  490. package/dist/os/workflow/handlers.js.map +0 -1
  491. package/dist/os/workflow/index.d.ts +0 -4
  492. package/dist/os/workflow/index.d.ts.map +0 -1
  493. package/dist/os/workflow/index.js +0 -18
  494. package/dist/os/workflow/index.js.map +0 -1
  495. package/dist/os/workflow/types.d.ts +0 -69
  496. package/dist/os/workflow/types.d.ts.map +0 -1
  497. package/dist/os/workflow/types.js +0 -23
  498. package/dist/os/workflow/types.js.map +0 -1
  499. package/dist/os/workflow/workflow.module.d.ts +0 -3
  500. package/dist/os/workflow/workflow.module.d.ts.map +0 -1
  501. package/dist/os/workflow/workflow.module.js +0 -49
  502. package/dist/os/workflow/workflow.module.js.map +0 -1
  503. package/dist/src/cli-output.d.ts +0 -5
  504. package/dist/src/cli-output.d.ts.map +0 -1
  505. package/dist/src/cli-output.js +0 -53
  506. package/dist/src/cli-output.js.map +0 -1
  507. package/dist/src/compass/contract-registry.d.ts +0 -7
  508. package/dist/src/compass/contract-registry.d.ts.map +0 -1
  509. package/dist/src/compass/contract-registry.js +0 -93
  510. package/dist/src/compass/contract-registry.js.map +0 -1
  511. package/dist/src/compass/types.d.ts +0 -28
  512. package/dist/src/compass/types.d.ts.map +0 -1
  513. package/dist/src/compass/types.js +0 -14
  514. package/dist/src/compass/types.js.map +0 -1
  515. package/dist/src/config/forge-config.d.ts +0 -242
  516. package/dist/src/config/forge-config.d.ts.map +0 -1
  517. package/dist/src/config/forge-config.js +0 -363
  518. package/dist/src/config/forge-config.js.map +0 -1
  519. package/dist/src/forge-module.d.ts +0 -17
  520. package/dist/src/forge-module.d.ts.map +0 -1
  521. package/dist/src/forge-module.js +0 -16
  522. package/dist/src/forge-module.js.map +0 -1
  523. package/dist/src/index.d.ts +0 -39
  524. package/dist/src/index.d.ts.map +0 -1
  525. package/dist/src/index.js +0 -59
  526. package/dist/src/index.js.map +0 -1
  527. package/dist/src/knowledge/budgets.d.ts +0 -38
  528. package/dist/src/knowledge/budgets.d.ts.map +0 -1
  529. package/dist/src/knowledge/budgets.js +0 -157
  530. package/dist/src/knowledge/budgets.js.map +0 -1
  531. package/dist/src/knowledge/compact.d.ts +0 -47
  532. package/dist/src/knowledge/compact.d.ts.map +0 -1
  533. package/dist/src/knowledge/compact.js +0 -320
  534. package/dist/src/knowledge/compact.js.map +0 -1
  535. package/dist/src/knowledge/index.d.ts +0 -7
  536. package/dist/src/knowledge/index.d.ts.map +0 -1
  537. package/dist/src/knowledge/index.js +0 -19
  538. package/dist/src/knowledge/index.js.map +0 -1
  539. package/dist/src/knowledge/parse.d.ts +0 -3
  540. package/dist/src/knowledge/parse.d.ts.map +0 -1
  541. package/dist/src/knowledge/parse.js +0 -205
  542. package/dist/src/knowledge/parse.js.map +0 -1
  543. package/dist/src/knowledge/promote.d.ts +0 -37
  544. package/dist/src/knowledge/promote.d.ts.map +0 -1
  545. package/dist/src/knowledge/promote.js +0 -120
  546. package/dist/src/knowledge/promote.js.map +0 -1
  547. package/dist/src/knowledge/schema.d.ts +0 -61
  548. package/dist/src/knowledge/schema.d.ts.map +0 -1
  549. package/dist/src/knowledge/schema.js +0 -64
  550. package/dist/src/knowledge/schema.js.map +0 -1
  551. package/dist/src/knowledge/serialize.d.ts +0 -3
  552. package/dist/src/knowledge/serialize.d.ts.map +0 -1
  553. package/dist/src/knowledge/serialize.js +0 -67
  554. package/dist/src/knowledge/serialize.js.map +0 -1
  555. package/dist/src/migration-adapters/git-utils.d.ts +0 -3
  556. package/dist/src/migration-adapters/git-utils.d.ts.map +0 -1
  557. package/dist/src/migration-adapters/git-utils.js +0 -64
  558. package/dist/src/migration-adapters/git-utils.js.map +0 -1
  559. package/dist/src/migration-adapters/ignored-files.d.ts +0 -12
  560. package/dist/src/migration-adapters/ignored-files.d.ts.map +0 -1
  561. package/dist/src/migration-adapters/ignored-files.js +0 -190
  562. package/dist/src/migration-adapters/ignored-files.js.map +0 -1
  563. package/dist/src/migration-adapters/index.d.ts +0 -8
  564. package/dist/src/migration-adapters/index.d.ts.map +0 -1
  565. package/dist/src/migration-adapters/index.js +0 -17
  566. package/dist/src/migration-adapters/index.js.map +0 -1
  567. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts +0 -3
  568. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts.map +0 -1
  569. package/dist/src/migration-adapters/node-typescript-pnpm/index.js +0 -141
  570. package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +0 -1
  571. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts +0 -3
  572. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts.map +0 -1
  573. package/dist/src/migration-adapters/phaser-pnpm/index.js +0 -142
  574. package/dist/src/migration-adapters/phaser-pnpm/index.js.map +0 -1
  575. package/dist/src/migration-adapters/registry.d.ts +0 -6
  576. package/dist/src/migration-adapters/registry.d.ts.map +0 -1
  577. package/dist/src/migration-adapters/registry.js +0 -55
  578. package/dist/src/migration-adapters/registry.js.map +0 -1
  579. package/dist/src/migration-adapters/types.d.ts +0 -35
  580. package/dist/src/migration-adapters/types.d.ts.map +0 -1
  581. package/dist/src/migration-adapters/types.js +0 -31
  582. package/dist/src/migration-adapters/types.js.map +0 -1
  583. package/dist/src/onboarding/agents-generate.d.ts +0 -31
  584. package/dist/src/onboarding/agents-generate.d.ts.map +0 -1
  585. package/dist/src/onboarding/agents-generate.js +0 -372
  586. package/dist/src/onboarding/agents-generate.js.map +0 -1
  587. package/dist/src/onboarding/create.d.ts +0 -12
  588. package/dist/src/onboarding/create.d.ts.map +0 -1
  589. package/dist/src/onboarding/create.js +0 -389
  590. package/dist/src/onboarding/create.js.map +0 -1
  591. package/dist/src/onboarding/doctor.d.ts +0 -45
  592. package/dist/src/onboarding/doctor.d.ts.map +0 -1
  593. package/dist/src/onboarding/doctor.js +0 -1190
  594. package/dist/src/onboarding/doctor.js.map +0 -1
  595. package/dist/src/onboarding/init.d.ts +0 -36
  596. package/dist/src/onboarding/init.d.ts.map +0 -1
  597. package/dist/src/onboarding/init.js +0 -362
  598. package/dist/src/onboarding/init.js.map +0 -1
  599. package/dist/src/onboarding/invariant-engine.d.ts +0 -17
  600. package/dist/src/onboarding/invariant-engine.d.ts.map +0 -1
  601. package/dist/src/onboarding/invariant-engine.js +0 -416
  602. package/dist/src/onboarding/invariant-engine.js.map +0 -1
  603. package/dist/src/onboarding/memory-scaffold.d.ts +0 -18
  604. package/dist/src/onboarding/memory-scaffold.d.ts.map +0 -1
  605. package/dist/src/onboarding/memory-scaffold.js +0 -151
  606. package/dist/src/onboarding/memory-scaffold.js.map +0 -1
  607. package/dist/src/onboarding/nested-agents-generate.d.ts +0 -18
  608. package/dist/src/onboarding/nested-agents-generate.d.ts.map +0 -1
  609. package/dist/src/onboarding/nested-agents-generate.js +0 -69
  610. package/dist/src/onboarding/nested-agents-generate.js.map +0 -1
  611. package/dist/src/onboarding/nested-agents-templates.d.ts +0 -26
  612. package/dist/src/onboarding/nested-agents-templates.d.ts.map +0 -1
  613. package/dist/src/onboarding/nested-agents-templates.js +0 -178
  614. package/dist/src/onboarding/nested-agents-templates.js.map +0 -1
  615. package/dist/src/onboarding/profile-validate.d.ts +0 -13
  616. package/dist/src/onboarding/profile-validate.d.ts.map +0 -1
  617. package/dist/src/onboarding/profile-validate.js +0 -109
  618. package/dist/src/onboarding/profile-validate.js.map +0 -1
  619. package/dist/src/onboarding/scaffold-project.d.ts +0 -12
  620. package/dist/src/onboarding/scaffold-project.d.ts.map +0 -1
  621. package/dist/src/onboarding/scaffold-project.js +0 -264
  622. package/dist/src/onboarding/scaffold-project.js.map +0 -1
  623. package/dist/src/onboarding/scaffold.d.ts +0 -15
  624. package/dist/src/onboarding/scaffold.d.ts.map +0 -1
  625. package/dist/src/onboarding/scaffold.js +0 -121
  626. package/dist/src/onboarding/scaffold.js.map +0 -1
  627. package/dist/src/onboarding/upgrade.d.ts +0 -27
  628. package/dist/src/onboarding/upgrade.d.ts.map +0 -1
  629. package/dist/src/onboarding/upgrade.js +0 -453
  630. package/dist/src/onboarding/upgrade.js.map +0 -1
  631. package/dist/src/onboarding/workspace-discovery.d.ts +0 -11
  632. package/dist/src/onboarding/workspace-discovery.d.ts.map +0 -1
  633. package/dist/src/onboarding/workspace-discovery.js +0 -138
  634. package/dist/src/onboarding/workspace-discovery.js.map +0 -1
  635. package/dist/src/plugin/ForgePluginManifest.d.ts +0 -38
  636. package/dist/src/plugin/ForgePluginManifest.d.ts.map +0 -1
  637. package/dist/src/plugin/ForgePluginManifest.js +0 -52
  638. package/dist/src/plugin/ForgePluginManifest.js.map +0 -1
  639. package/dist/src/profiles/profile-schema.d.ts +0 -361
  640. package/dist/src/profiles/profile-schema.d.ts.map +0 -1
  641. package/dist/src/profiles/profile-schema.js +0 -208
  642. package/dist/src/profiles/profile-schema.js.map +0 -1
  643. package/dist/src/profiles/stack-profile.d.ts +0 -173
  644. package/dist/src/profiles/stack-profile.d.ts.map +0 -1
  645. package/dist/src/profiles/stack-profile.js +0 -148
  646. package/dist/src/profiles/stack-profile.js.map +0 -1
  647. package/dist/src/profiles/terminology-utils.d.ts +0 -8
  648. package/dist/src/profiles/terminology-utils.d.ts.map +0 -1
  649. package/dist/src/profiles/terminology-utils.js +0 -31
  650. package/dist/src/profiles/terminology-utils.js.map +0 -1
  651. package/dist/src/registry.d.ts +0 -38
  652. package/dist/src/registry.d.ts.map +0 -1
  653. package/dist/src/registry.js +0 -174
  654. package/dist/src/registry.js.map +0 -1
  655. package/dist/src/skill-schema.d.ts +0 -30
  656. package/dist/src/skill-schema.d.ts.map +0 -1
  657. package/dist/src/skill-schema.js +0 -34
  658. package/dist/src/skill-schema.js.map +0 -1
  659. package/dist/src/types.d.ts +0 -154
  660. package/dist/src/types.d.ts.map +0 -1
  661. package/dist/src/types.js +0 -17
  662. package/dist/src/types.js.map +0 -1
  663. package/dist/src/utils/fs-atomic.d.ts +0 -7
  664. package/dist/src/utils/fs-atomic.d.ts.map +0 -1
  665. package/dist/src/utils/fs-atomic.js +0 -81
  666. package/dist/src/utils/fs-atomic.js.map +0 -1
  667. package/dist/src/utils/fs-idempotent.d.ts +0 -2
  668. package/dist/src/utils/fs-idempotent.d.ts.map +0 -1
  669. package/dist/src/utils/fs-idempotent.js +0 -39
  670. package/dist/src/utils/fs-idempotent.js.map +0 -1
  671. package/dist/src/utils/fs-trash-sync.d.ts +0 -2
  672. package/dist/src/utils/fs-trash-sync.d.ts.map +0 -1
  673. package/dist/src/utils/fs-trash-sync.js +0 -34
  674. package/dist/src/utils/fs-trash-sync.js.map +0 -1
  675. package/dist/src/utils/fs-trash.d.ts +0 -2
  676. package/dist/src/utils/fs-trash.d.ts.map +0 -1
  677. package/dist/src/utils/fs-trash.js +0 -24
  678. package/dist/src/utils/fs-trash.js.map +0 -1
  679. package/dist/src/utils/fs.d.ts +0 -8
  680. package/dist/src/utils/fs.d.ts.map +0 -1
  681. package/dist/src/utils/fs.js +0 -60
  682. package/dist/src/utils/fs.js.map +0 -1
  683. package/dist/src/utils/generated-marker.d.ts +0 -21
  684. package/dist/src/utils/generated-marker.d.ts.map +0 -1
  685. package/dist/src/utils/generated-marker.js +0 -128
  686. package/dist/src/utils/generated-marker.js.map +0 -1
  687. package/dist/src/utils/hash.d.ts +0 -2
  688. package/dist/src/utils/hash.d.ts.map +0 -1
  689. package/dist/src/utils/hash.js +0 -18
  690. package/dist/src/utils/hash.js.map +0 -1
  691. package/dist/src/utils/index.d.ts +0 -9
  692. package/dist/src/utils/index.d.ts.map +0 -1
  693. package/dist/src/utils/index.js +0 -21
  694. package/dist/src/utils/index.js.map +0 -1
  695. package/dist/src/utils/string-utils.d.ts +0 -2
  696. package/dist/src/utils/string-utils.d.ts.map +0 -1
  697. package/dist/src/utils/string-utils.js +0 -19
  698. package/dist/src/utils/string-utils.js.map +0 -1
  699. package/dist/src/validators/note-frontmatter-validate.d.ts +0 -20
  700. package/dist/src/validators/note-frontmatter-validate.d.ts.map +0 -1
  701. package/dist/src/validators/note-frontmatter-validate.js +0 -117
  702. package/dist/src/validators/note-frontmatter-validate.js.map +0 -1
  703. package/dist/src/validators/note-link-validate.d.ts +0 -21
  704. package/dist/src/validators/note-link-validate.d.ts.map +0 -1
  705. package/dist/src/validators/note-link-validate.js +0 -121
  706. package/dist/src/validators/note-link-validate.js.map +0 -1
  707. package/dist/src/validators/note-orphan-detect.d.ts +0 -19
  708. package/dist/src/validators/note-orphan-detect.d.ts.map +0 -1
  709. package/dist/src/validators/note-orphan-detect.js +0 -123
  710. package/dist/src/validators/note-orphan-detect.js.map +0 -1
  711. package/dist/src/validators/port-validate.d.ts +0 -12
  712. package/dist/src/validators/port-validate.d.ts.map +0 -1
  713. package/dist/src/validators/port-validate.js +0 -78
  714. package/dist/src/validators/port-validate.js.map +0 -1
  715. package/dist/src/validators/skill-validate.d.ts +0 -29
  716. package/dist/src/validators/skill-validate.d.ts.map +0 -1
  717. package/dist/src/validators/skill-validate.js +0 -689
  718. package/dist/src/validators/skill-validate.js.map +0 -1
@@ -1,590 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>Per-RFC validation rules (V-01..V-34, RFC-DIR-01) extracted from the validate handler for modularity.</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 Phase 3: extracted from validate.ts as part of the handler split.</item>
10
- <item>RFC-0722: add RFC-DIR-01 directory structure warning rule for unsanctioned subdirectories.</item>
11
- <item>RFC-0755: add V-RFC-33 frontmatter YAML parseability check (checkFrontmatterYamlParse helper).</item>
12
- <item>RFC-0795: add V-33 dependsOn referential integrity/self-dependency/rejected-dependency and V-34 batch slug format rules.</item>
13
- </CHANGE_SUMMARY>
14
- */
15
- import path from "node:path";
16
- import { readFile } from "node:fs/promises";
17
- import { execFile } from "node:child_process";
18
- import { parse as yamlParse } from "yaml";
19
- import { validateAcceptanceShape } from "../acceptance.js";
20
- import { RFC_DIR, RFC_ID_PATTERN, RFC_STATUSES, RFC_KINDS, RFC_SCOPES, RFC_FULL_REQUIRED_SECTIONS, RFC_METADATA_CUTOFF, RFC_VERSION_BUMP_CUTOFF, } from "../types.js";
21
- import { DNA_DOCS, AP_DOCS } from "./shared.js";
22
- const DNA_DOC = DNA_DOCS[0];
23
- const AP_DOC = AP_DOCS[0];
24
- // RFC-0335: reviewer identity validation constants
25
- const REVIEWER_IDENTITY_PATTERN = /^(human|agent):[a-z0-9][a-z0-9-]*$/;
26
- const DECIDED_STATUSES = [
27
- "accepted",
28
- "implemented",
29
- "rejected",
30
- "superseded",
31
- ];
32
- /**
33
- * Extract the raw acceptance-criteria section text from an RFC body.
34
- * Returns `undefined` when the section is absent.
35
- */
36
- export function extractAcceptanceCriteriaSection(body) {
37
- const match = body.match(/## Acceptance criteria\s*\n([\s\S]*?)(?=\n## |\n*$)/);
38
- return match?.[1];
39
- }
40
- /**
41
- * Evaluate acceptance criteria checkboxes and inline evidence annotations.
42
- * Pure function — no I/O, no side effects. Used by both V-26/V-27 validation
43
- * and the `rfc.implement.stamp` precondition checks (RFC-0476).
44
- */
45
- export function evaluateAcceptanceCriteria(body) {
46
- const section = extractAcceptanceCriteriaSection(body);
47
- if (!section) {
48
- return {
49
- totalChecked: 0,
50
- totalUnchecked: 0,
51
- uncheckedLines: [],
52
- checkedWithoutEvidence: [],
53
- };
54
- }
55
- const uncheckedLines = section
56
- .split("\n")
57
- .filter((line) => /^- \[ \]/.test(line))
58
- .map((line) => line.trim());
59
- const totalUnchecked = uncheckedLines.length;
60
- const checkedLines = section.split("\n").filter((line) => /^- \[x\]/.test(line));
61
- const checkedWithoutEvidence = [];
62
- for (const line of checkedLines) {
63
- if (!/\(evidence:\s*.+\)/.test(line)) {
64
- checkedWithoutEvidence.push(line.trim());
65
- }
66
- }
67
- return {
68
- totalChecked: checkedLines.length,
69
- totalUnchecked,
70
- uncheckedLines,
71
- checkedWithoutEvidence,
72
- };
73
- }
74
- // ─── RFC-0625: V-32 implementation commit drift detection ──────────────────
75
- function execGitLog(workspaceRoot, args) {
76
- return new Promise((resolve) => {
77
- execFile("git", args, { cwd: workspaceRoot, timeout: 10000 }, (err, stdout) => {
78
- if (err) {
79
- resolve("");
80
- return;
81
- }
82
- resolve(stdout.trim());
83
- });
84
- });
85
- }
86
- async function checkImplementationCommitDrift(workspaceRoot, rfcId, createdAt, currentStatus) {
87
- if (currentStatus === "implemented") {
88
- return { found: false, commitCount: 0 };
89
- }
90
- const datePattern = /^\d{4}-\d{2}-\d{2}$/;
91
- if (!datePattern.test(createdAt)) {
92
- return { found: false, commitCount: 0 };
93
- }
94
- const log = await execGitLog(workspaceRoot, ["log", `--since=${createdAt}`, "--oneline"]);
95
- if (!log) {
96
- return { found: false, commitCount: 0 };
97
- }
98
- const pattern = new RegExp(`implement:\\s+${rfcId}\\b`, "i");
99
- const matchingLines = log.split("\n").filter((line) => pattern.test(line.trim()));
100
- return { found: matchingLines.length > 0, commitCount: matchingLines.length };
101
- }
102
- // ─── RFC-0709: V-NC-01 NEEDS CLARIFICATION marker detection ────────────────
103
- const NC_MARKER_CUTOFF = "2026-08-06";
104
- const NC_MARKER_PATTERN = /^>\s*NEEDS CLARIFICATION:\s*(.+)$/;
105
- /**
106
- * Collect NEEDS CLARIFICATION markers from an RFC body.
107
- * Skips lines inside fenced code blocks. Pure function — no I/O.
108
- */
109
- export function collectMarkers(body, status, createdAt) {
110
- if (createdAt < NC_MARKER_CUTOFF)
111
- return [];
112
- const severity = status === "draft" ? "warn" : "error";
113
- const markers = [];
114
- const lines = body.split("\n");
115
- let inCodeBlock = false;
116
- for (let i = 0; i < lines.length; i++) {
117
- const line = lines[i];
118
- if (/^```/.test(line.trim())) {
119
- inCodeBlock = !inCodeBlock;
120
- continue;
121
- }
122
- if (inCodeBlock)
123
- continue;
124
- const match = line.match(NC_MARKER_PATTERN);
125
- if (match) {
126
- markers.push({
127
- line: i + 1,
128
- text: match[1].trim(),
129
- severity,
130
- });
131
- }
132
- }
133
- return markers;
134
- }
135
- export async function validateSingleRfc(fileName, parsed, allParsed, seenIds, validDnaIds, validApIds, knownKeys, workspaceRoot, addViolation, seenFilenameNumbers) {
136
- const fm = parsed.frontmatter;
137
- const body = parsed.body;
138
- const relFile = path.join(RFC_DIR, fileName);
139
- const rfcId = String(fm["id"] ?? "UNKNOWN");
140
- const isArchived = fileName.startsWith("archive/");
141
- // V-01: id format
142
- if (!RFC_ID_PATTERN.test(rfcId)) {
143
- addViolation(rfcId, relFile, "V-01", `id "${rfcId}" does not match format RFC-XXXX`);
144
- }
145
- // RFC-DIR-01: directory structure convention (RFC-0722)
146
- // Warn when RFC files are found in subdirectories other than archive/ and verification/
147
- const slashIdx = fileName.indexOf("/");
148
- if (slashIdx > 0) {
149
- const subDir = fileName.slice(0, slashIdx);
150
- if (subDir !== "archive" && subDir !== "verification") {
151
- addViolation(rfcId, relFile, "RFC-DIR-01", `${relFile} is in an unsanctioned subdirectory. Only archive/ and verification/ are allowed. Move the file to docs/rfcs/ root or write an ADR to formalize the subdirectory.`, "warning");
152
- }
153
- }
154
- // V-02: id uniqueness
155
- const prevFile = seenIds.get(rfcId);
156
- if (prevFile) {
157
- addViolation(rfcId, relFile, "V-02", `Duplicate id "${rfcId}" — also in ${prevFile}. ` +
158
- `This happens when an RFC is created by scanning only the top-level docs/rfcs/ directory, missing archived RFCs under docs/rfcs/archive/. ` +
159
- `Fix: renumber this RFC by deleting it and re-running rfc.create (or spec.materialize) which scans the full tree recursively.`);
160
- }
161
- else {
162
- seenIds.set(rfcId, relFile);
163
- }
164
- // V-03: valid status
165
- const status = String(fm["status"] ?? "");
166
- if (!RFC_STATUSES.includes(status)) {
167
- addViolation(rfcId, relFile, "V-03", `Invalid status "${status}". Must be one of: ${RFC_STATUSES.join(", ")}`);
168
- }
169
- // V-04: valid kind
170
- const kind = String(fm["kind"] ?? "");
171
- if (!RFC_KINDS.includes(kind)) {
172
- addViolation(rfcId, relFile, "V-04", `Invalid kind "${kind}". Must be one of: ${RFC_KINDS.join(", ")}`);
173
- }
174
- // V-05: valid scope
175
- const scope = String(fm["scope"] ?? "");
176
- if (!RFC_SCOPES.includes(scope)) {
177
- addViolation(rfcId, relFile, "V-05", `Invalid scope "${scope}". Must be one of: ${RFC_SCOPES.join(", ")}`);
178
- }
179
- // V-06: owners non-empty
180
- const owners = fm["owners"];
181
- if (!Array.isArray(owners) || owners.length === 0) {
182
- addViolation(rfcId, relFile, "V-06", "owners must be a non-empty array");
183
- }
184
- // V-07: valid dates
185
- const createdAt = String(fm["createdAt"] ?? "");
186
- const updatedAt = String(fm["updatedAt"] ?? "");
187
- const datePattern = /^\d{4}-\d{2}-\d{2}$/;
188
- if (!datePattern.test(createdAt)) {
189
- addViolation(rfcId, relFile, "V-07", `createdAt "${createdAt}" is not a valid ISO 8601 date (YYYY-MM-DD)`);
190
- }
191
- if (!datePattern.test(updatedAt)) {
192
- addViolation(rfcId, relFile, "V-07", `updatedAt "${updatedAt}" is not a valid ISO 8601 date (YYYY-MM-DD)`);
193
- }
194
- const enhancedAt = fm["enhancedAt"];
195
- if (enhancedAt && !datePattern.test(enhancedAt)) {
196
- addViolation(rfcId, relFile, "V-07", `enhancedAt "${enhancedAt}" is not a valid ISO 8601 date (YYYY-MM-DD)`);
197
- }
198
- // V-08: implementedAt >= createdAt
199
- const implementedAt = fm["implementedAt"];
200
- if (implementedAt && datePattern.test(implementedAt) && datePattern.test(createdAt)) {
201
- if (implementedAt < createdAt) {
202
- addViolation(rfcId, relFile, "V-08", `implementedAt (${implementedAt}) precedes createdAt (${createdAt})`);
203
- }
204
- }
205
- // V-08b: enhancedAt >= createdAt
206
- if (enhancedAt && datePattern.test(enhancedAt) && datePattern.test(createdAt)) {
207
- if (enhancedAt < createdAt) {
208
- addViolation(rfcId, relFile, "V-08", `enhancedAt (${enhancedAt}) precedes createdAt (${createdAt})`);
209
- }
210
- }
211
- // V-09: closedAt >= createdAt
212
- const closedAt = fm["closedAt"];
213
- if (closedAt && datePattern.test(closedAt) && datePattern.test(createdAt)) {
214
- if (closedAt < createdAt) {
215
- addViolation(rfcId, relFile, "V-09", `closedAt (${closedAt}) precedes createdAt (${createdAt})`);
216
- }
217
- }
218
- // V-10: supersedes point to existing RFCs (+ V-12 forward back-link check)
219
- const supersedes = fm["supersedes"];
220
- if (Array.isArray(supersedes)) {
221
- for (const ref of supersedes) {
222
- const refStr = String(ref);
223
- if (!refStr)
224
- continue;
225
- if (!allParsed.has(refStr)) {
226
- addViolation(rfcId, relFile, "V-10", `supersedes "${refStr}" does not match any existing RFC`);
227
- }
228
- else {
229
- const otherBy = String(allParsed.get(refStr).parsed.frontmatter["supersededBy"] ?? "");
230
- if (otherBy !== rfcId) {
231
- addViolation(rfcId, relFile, "V-12", `${rfcId}.supersedes includes ${refStr}, but ${refStr}.supersededBy is "${otherBy || "(empty)"}" (expected ${rfcId})`, "warning");
232
- }
233
- }
234
- }
235
- }
236
- // V-11: supersededBy points to existing RFC
237
- // Skip for archived RFCs — superseding RFCs may have been themselves archived/removed
238
- const supersededBy = fm["supersededBy"];
239
- if (supersededBy && !allParsed.has(supersededBy) && !isArchived) {
240
- addViolation(rfcId, relFile, "V-11", `supersededBy "${supersededBy}" does not match any existing RFC`);
241
- }
242
- // V-12 (reverse): supersededBy target must list this RFC in its supersedes
243
- if (supersededBy && allParsed.has(supersededBy)) {
244
- const otherFm = allParsed.get(supersededBy).parsed.frontmatter;
245
- const otherSupersedes = otherFm["supersedes"];
246
- if (!Array.isArray(otherSupersedes) || !otherSupersedes.map(String).includes(rfcId)) {
247
- addViolation(rfcId, relFile, "V-12", `${rfcId} is supersededBy ${supersededBy}, but ${supersededBy}.supersedes does not include ${rfcId}`, "warning");
248
- }
249
- }
250
- // V-17: strict supersession lifecycle
251
- if (supersededBy && status !== "superseded") {
252
- addViolation(rfcId, relFile, "V-17", `supersededBy is set (${supersededBy}) but status is "${status}" (expected "superseded")`, "warning");
253
- }
254
- // V-13: required H2 sections (all RFCs use the full template)
255
- const requiredSections = RFC_FULL_REQUIRED_SECTIONS;
256
- const headings = [...body.matchAll(/^##\s+(.+)$/gm)].map((m) => m[1].trim());
257
- for (const section of requiredSections) {
258
- if (!headings.includes(section)) {
259
- const severity = status === "draft" ? "warning" : "error";
260
- // Skip error-severity V-13 for archived RFCs — template requirements evolved after archival
261
- if (severity === "error" && isArchived)
262
- continue;
263
- addViolation(rfcId, relFile, "V-13", `Missing required section "## ${section}"`, severity);
264
- }
265
- }
266
- // V-14: acceptance criteria must have at least 3 checklist items
267
- const acceptanceMatch = body.match(/## Acceptance criteria\s*\n([\s\S]*?)(?=\n## |\n*$)/);
268
- if (acceptanceMatch) {
269
- const checklistItems = acceptanceMatch[1].match(/^- \[[ x]\]/gm);
270
- const count = checklistItems?.length ?? 0;
271
- if (count < 3) {
272
- addViolation(rfcId, relFile, "V-14", `Acceptance criteria has ${count} checklist items; minimum is 3`, status === "draft" ? "warning" : "error");
273
- }
274
- }
275
- // V-26: implemented RFCs must have all acceptance criteria checked (RFC-0463)
276
- // V-27: every checked criterion must carry inline (evidence: ...) annotation (RFC-0463)
277
- // RFC-0476: both use the shared evaluateAcceptanceCriteria function.
278
- if (acceptanceMatch) {
279
- const criteriaEval = evaluateAcceptanceCriteria(body);
280
- if (status === "implemented" && criteriaEval.totalUnchecked > 0 && !isArchived) {
281
- addViolation(rfcId, relFile, "V-26", `status is "implemented" but ${criteriaEval.totalUnchecked} acceptance criteria are unchecked. ` +
282
- `Complete the work or split deferred criteria into a follow-up RFC via supersede.`);
283
- }
284
- for (const line of criteriaEval.checkedWithoutEvidence) {
285
- addViolation(rfcId, relFile, "V-27", `checked acceptance criterion lacks inline (evidence: ...) annotation: "${line}"`);
286
- }
287
- }
288
- // V-15: title consistency
289
- const titleStr = String(fm["title"] ?? "");
290
- const headingMatch = body.match(/^#\s+(?:RFC-\d{4}:\s*)?(.+)$/m);
291
- if (headingMatch && titleStr) {
292
- const headingTitle = headingMatch[1].trim();
293
- if (headingTitle !== titleStr) {
294
- addViolation(rfcId, relFile, "V-15", `Frontmatter title "${titleStr}" does not match body heading "${headingTitle}"`, "warning");
295
- }
296
- }
297
- // V-16: status <-> date coupling
298
- const implementedAtStr = String(fm["implementedAt"] ?? "");
299
- const closedAtStr = String(fm["closedAt"] ?? "");
300
- const isTerminalStatus = status === "superseded" || status === "rejected";
301
- if (status === "implemented" && !implementedAtStr) {
302
- addViolation(rfcId, relFile, "V-16", `status is "implemented" but implementedAt is empty`, "error");
303
- }
304
- if ((status === "accepted" || status === "draft") && implementedAtStr) {
305
- addViolation(rfcId, relFile, "V-16", `status is "${status}" but implementedAt is set (${implementedAtStr})`, "error");
306
- }
307
- if (isTerminalStatus && !closedAtStr) {
308
- addViolation(rfcId, relFile, "V-16", `status is "${status}" but closedAt is empty`, "warning");
309
- }
310
- if (!isTerminalStatus && closedAtStr) {
311
- addViolation(rfcId, relFile, "V-16", `closedAt is set (${closedAtStr}) but status "${status}" is not terminal (superseded/rejected)`, "warning");
312
- }
313
- // V-18: referential integrity of related[]
314
- const related = fm["related"];
315
- if (Array.isArray(related)) {
316
- for (const ref of related) {
317
- const refStr = String(ref).trim();
318
- if (!refStr)
319
- continue;
320
- if (/^RFC-\d{4}$/.test(refStr)) {
321
- if (!allParsed.has(refStr)) {
322
- addViolation(rfcId, relFile, "V-18", `related "${refStr}" does not match any existing RFC`, "warning");
323
- }
324
- }
325
- else if (/^DNA-\d+$/i.test(refStr) && validDnaIds.size > 0) {
326
- if (!validDnaIds.has(parseInt(refStr.slice(4), 10))) {
327
- addViolation(rfcId, relFile, "V-18", `related "${refStr}" is not defined in ${DNA_DOC}`, "warning");
328
- }
329
- }
330
- else if (/^AP-\d+$/i.test(refStr) && validApIds.size > 0) {
331
- if (!validApIds.has(parseInt(refStr.slice(3), 10))) {
332
- addViolation(rfcId, relFile, "V-18", `related "${refStr}" is not defined in ${AP_DOC}`, "warning");
333
- }
334
- }
335
- }
336
- }
337
- // V-19: amends/amendedBy referential + bidirectional integrity
338
- const amends = fm["amends"];
339
- if (Array.isArray(amends)) {
340
- for (const ref of amends) {
341
- const refStr = String(ref);
342
- if (!refStr)
343
- continue;
344
- if (!allParsed.has(refStr)) {
345
- addViolation(rfcId, relFile, "V-19", `amends "${refStr}" does not match any existing RFC`);
346
- }
347
- else {
348
- const otherAmendedBy = allParsed.get(refStr).parsed.frontmatter["amendedBy"];
349
- const arr = Array.isArray(otherAmendedBy) ? otherAmendedBy.map(String) : [];
350
- if (!arr.includes(rfcId)) {
351
- addViolation(rfcId, relFile, "V-19", `${rfcId}.amends includes ${refStr}, but ${refStr}.amendedBy does not include ${rfcId}`, "warning");
352
- }
353
- }
354
- }
355
- }
356
- const amendedBy = fm["amendedBy"];
357
- if (Array.isArray(amendedBy)) {
358
- for (const ref of amendedBy) {
359
- const refStr = String(ref);
360
- if (!refStr)
361
- continue;
362
- if (!allParsed.has(refStr)) {
363
- addViolation(rfcId, relFile, "V-19", `amendedBy "${refStr}" does not match any existing RFC`);
364
- }
365
- else {
366
- const otherAmends = allParsed.get(refStr).parsed.frontmatter["amends"];
367
- const arr = Array.isArray(otherAmends) ? otherAmends.map(String) : [];
368
- if (!arr.includes(rfcId)) {
369
- addViolation(rfcId, relFile, "V-19", `${rfcId}.amendedBy includes ${refStr}, but ${refStr}.amends does not include ${rfcId}`, "warning");
370
- }
371
- }
372
- }
373
- }
374
- // V-21: filename must be lowercase kebab-case
375
- const lowerRfcId = rfcId.toLowerCase();
376
- const fileBasename = fileName.split("/").pop().split("\\").pop();
377
- if (!fileBasename.startsWith(lowerRfcId)) {
378
- addViolation(rfcId, relFile, "V-21", `Filename "${fileBasename}" must start with lowercase "${lowerRfcId}"`);
379
- }
380
- else if (!/^[a-z0-9-]+\.md$/.test(fileBasename)) {
381
- addViolation(rfcId, relFile, "V-21", `Filename "${fileName}" is not lowercase kebab-case (only a-z, 0-9, hyphens allowed)`);
382
- }
383
- // V-20: no unknown frontmatter keys
384
- for (const key of Object.keys(fm)) {
385
- if (!knownKeys.has(key)) {
386
- addViolation(rfcId, relFile, "V-20", `unknown frontmatter key "${key}" (not in the RFC schema)`, "warning");
387
- }
388
- }
389
- // V-22: well-formed acceptance probe shape
390
- for (const issue of validateAcceptanceShape(fm["acceptance"])) {
391
- addViolation(rfcId, relFile, "V-22", issue.message, "warning");
392
- }
393
- // V-23: verification evidence for post-cutoff, probe-bearing, implemented RFCs
394
- const createdAtStr = String(fm["createdAt"] ?? "");
395
- const hasProbes = Array.isArray(fm["acceptance"]) && fm["acceptance"].length > 0;
396
- if (createdAtStr >= RFC_METADATA_CUTOFF && hasProbes && status === "implemented") {
397
- const slug = rfcId.toLowerCase();
398
- const evidenceRelPath = path.join(RFC_DIR, "verification", `${slug}.generated.yaml`);
399
- const evidenceAbsPath = path.join(workspaceRoot, evidenceRelPath);
400
- let evidenceOk = false;
401
- let evidenceOverall = "";
402
- try {
403
- const evidenceContent = await readFile(evidenceAbsPath, "utf-8");
404
- const evidence = yamlParse(evidenceContent);
405
- evidenceOverall = String(evidence.overall ?? "");
406
- evidenceOk = evidenceOverall === "pass";
407
- }
408
- catch {
409
- // file missing or unparseable
410
- }
411
- if (!evidenceOk) {
412
- addViolation(rfcId, relFile, "V-23", `status is "implemented" with acceptance probes and createdAt >= ${RFC_METADATA_CUTOFF}, ` +
413
- `but evidence file ${evidenceRelPath} is missing, unparseable, or overall is not "pass" ` +
414
- `(got "${evidenceOverall || "missing"}"). Run: site-kernel run rfc.verification.emit --id ${rfcId}`);
415
- }
416
- }
417
- // V-25: reviewer identity on newly decided RFCs (RFC-0335)
418
- {
419
- const reviewers = fm["reviewers"];
420
- const reviewerArr = Array.isArray(reviewers) ? reviewers.map(String) : [];
421
- const isDecided = DECIDED_STATUSES.includes(status);
422
- const isPostCutoff = createdAtStr >= RFC_METADATA_CUTOFF;
423
- if (isPostCutoff && isDecided && reviewerArr.length === 0) {
424
- addViolation(rfcId, relFile, "V-25", `${status} RFC created ${createdAtStr} has empty reviewers — the deciding human must record their identity (RFC-0335).`);
425
- }
426
- for (const entry of reviewerArr) {
427
- if (!REVIEWER_IDENTITY_PATTERN.test(entry)) {
428
- addViolation(rfcId, relFile, "V-25", `reviewer "${entry}" does not match the identity format ^(human|agent):[a-z0-9][a-z0-9-]*$ (RFC-0335).`);
429
- }
430
- else if (entry.startsWith("agent:")) {
431
- addViolation(rfcId, relFile, "V-25", `agent reviewer identities are reserved until an RFC grants AI reviewer authority over RFC governance (see RFC-0279 for the pattern) (RFC-0335).`);
432
- }
433
- }
434
- }
435
- // V-24: satisfies DNA-trace frontmatter (RFC-0331)
436
- {
437
- const satisfies = fm["satisfies"];
438
- const satisfiesArr = Array.isArray(satisfies) ? satisfies.map(String) : [];
439
- const satisfiesPresent = satisfiesArr.length > 0;
440
- const kind = String(fm["kind"] ?? "");
441
- const requiresSatisfies = createdAtStr >= RFC_METADATA_CUTOFF && (kind === "architecture" || kind === "contract");
442
- // Format: all RFCs, any age — each entry must match ^DNA-\d+$
443
- if (satisfiesPresent) {
444
- for (const entry of satisfiesArr) {
445
- if (!/^DNA-\d+$/.test(entry)) {
446
- addViolation(rfcId, relFile, "V-24", `satisfies entry "${entry}" does not match the format ^DNA-\\d+$ (RFC-0331).`);
447
- }
448
- }
449
- }
450
- // Presence: post-cutoff architecture/contract RFCs must have non-empty satisfies
451
- if (requiresSatisfies && !satisfiesPresent) {
452
- addViolation(rfcId, relFile, "V-24", `${kind} RFC created ${createdAtStr} (>= ${RFC_METADATA_CUTOFF}) must declare at least one DNA invariant in satisfies (RFC-0331).`);
453
- }
454
- }
455
- // V-28: RFC-id monotonicity (RFC-0478) — no RFC may have an id lower
456
- // than the maximum id among RFCs with a strictly earlier createdAt.
457
- // Same-day RFCs (equal createdAt) are unconstrained relative to each other.
458
- // Only applies to RFCs created strictly after RFC_VERSION_BUMP_CUTOFF;
459
- // pre-cutoff and same-day RFCs predate the rule and are exempt.
460
- // All RFCs (including pre-cutoff) participate in the comparison set.
461
- {
462
- const currentIdNum = parseInt(rfcId.replace(/^RFC-/, ""), 10);
463
- const currentCreatedAt = String(fm["createdAt"] ?? "");
464
- if (currentCreatedAt > RFC_VERSION_BUMP_CUTOFF) {
465
- let maxEarlierId = 0;
466
- for (const [otherId, other] of allParsed) {
467
- if (otherId === rfcId)
468
- continue;
469
- const otherCreatedAt = String(other.parsed.frontmatter["createdAt"] ?? "");
470
- if (otherCreatedAt < currentCreatedAt) {
471
- const otherIdNum = parseInt(otherId.replace(/^RFC-/, ""), 10);
472
- if (otherIdNum > maxEarlierId) {
473
- maxEarlierId = otherIdNum;
474
- }
475
- }
476
- }
477
- if (currentIdNum < maxEarlierId) {
478
- addViolation(rfcId, relFile, "V-28", `RFC-id ${rfcId} (createdAt ${currentCreatedAt}) is lower than RFC-${maxEarlierId} which has a strictly earlier createdAt. RFC-ids must be monotonically non-decreasing with respect to createdAt (RFC-0478).`);
479
- }
480
- }
481
- }
482
- // V-29: versionBump required for post-cutoff accepted/implemented RFCs (RFC-0478, ADR-0029)
483
- {
484
- const versionBump = fm["versionBump"];
485
- const isPostCutoff = createdAtStr >= RFC_VERSION_BUMP_CUTOFF;
486
- const requiresVersionBump = status === "implemented" || status === "accepted";
487
- if (isPostCutoff && requiresVersionBump && versionBump === undefined) {
488
- addViolation(rfcId, relFile, "V-29", `status is "${status}" and createdAt >= ${RFC_VERSION_BUMP_CUTOFF}, but versionBump is absent. Post-cutoff accepted/implemented RFCs must declare versionBump (RFC-0478).`);
489
- }
490
- if (versionBump === "none") {
491
- const commands = fm["commands"];
492
- const added = Array.isArray(commands?.added) ? commands.added : [];
493
- const changed = Array.isArray(commands?.changed) ? commands.changed : [];
494
- if (added.length > 0 || changed.length > 0) {
495
- addViolation(rfcId, relFile, "V-29", `versionBump is "none" but commands.added or commands.changed is non-empty. Commands imply code changes; use "patch" or "minor" instead (RFC-0478).`, "warning");
496
- }
497
- }
498
- }
499
- // V-30: breaksC field consistency (RFC-0480)
500
- // If breaksC: true — @warpgogol/ontology must be in packagesImpacted.
501
- // If breaksC absent/false but @warpgol/ontology in packagesImpacted — warning.
502
- // Skip for archived RFCs — package names changed during ecosystem consolidation (RFC-0776):
503
- // @warpgogol/ontology → @warpgogol/werkstatt-shared/ontology
504
- {
505
- const breaksC = fm["breaksC"];
506
- const packagesImpacted = Array.isArray(fm["packagesImpacted"])
507
- ? fm["packagesImpacted"].map(String)
508
- : [];
509
- const hasOntology = packagesImpacted.some((p) => p.includes("@warpgogol/werkstatt-shared/ontology"));
510
- if (breaksC === true && !hasOntology && !isArchived) {
511
- addViolation(rfcId, relFile, "V-30", `breaksC is true but @warpgogol/ontology is not in packagesImpacted. RFCs that break Layer C must update the declarative C-contract in packages/ontology/src/external-surfaces/ (RFC-0480).`);
512
- }
513
- if (breaksC !== true && hasOntology) {
514
- addViolation(rfcId, relFile, "V-30", `@warpgogol/ontology is in packagesImpacted but breaksC is not true. If this RFC modifies packages/ontology/src/external-surfaces/, declare breaksC: true (RFC-0480).`, "warning");
515
- }
516
- }
517
- // V-31: filename-number uniqueness and filename/id consistency (RFC-0491)
518
- if (seenFilenameNumbers) {
519
- const fileBasename = fileName.split("/").pop().split("\\").pop();
520
- const fileNumMatch = fileBasename.match(/^rfc-(\d{4})/);
521
- if (fileNumMatch) {
522
- const fileNum = parseInt(fileNumMatch[1], 10);
523
- const idNum = parseInt(rfcId.replace(/^RFC-/, ""), 10);
524
- // Sub-check A: filename number must match frontmatter id number
525
- if (!Number.isNaN(idNum) && fileNum !== idNum) {
526
- addViolation(rfcId, relFile, "V-31", `Filename number ${String(fileNum).padStart(4, "0")} does not match frontmatter id ${rfcId}`);
527
- }
528
- // Sub-check B: filename number must be unique across the full tree
529
- const prevNumFile = seenFilenameNumbers.get(fileNum);
530
- if (prevNumFile) {
531
- addViolation(rfcId, relFile, "V-31", `Duplicate filename number ${String(fileNum).padStart(4, "0")} — also in ${prevNumFile}`);
532
- }
533
- else {
534
- seenFilenameNumbers.set(fileNum, relFile);
535
- }
536
- }
537
- }
538
- // V-32: implementation commit drift detection (RFC-0625)
539
- // Warns when implement: RFC-XXXX commits exist in git history since createdAt
540
- // but the RFC status is not yet "implemented".
541
- {
542
- const driftResult = await checkImplementationCommitDrift(workspaceRoot, rfcId, createdAt, status);
543
- if (driftResult.found) {
544
- addViolation(rfcId, relFile, "V-32", `${rfcId} has ${driftResult.commitCount} implement: commit(s) in git history since ${createdAt} but status is still "${status}". Run rfc.implement.stamp to transition to implemented.`, "warning");
545
- }
546
- }
547
- // V-33: dependsOn referential integrity, self-dependency, rejected-dependency deadlock (RFC-0795)
548
- const dependsOn = fm["dependsOn"];
549
- if (Array.isArray(dependsOn)) {
550
- for (const depRef of dependsOn) {
551
- const depStr = String(depRef);
552
- if (!depStr)
553
- continue;
554
- if (depStr === rfcId) {
555
- addViolation(rfcId, relFile, "V-33", `dependsOn includes itself — an RFC cannot depend on itself`, "warning");
556
- }
557
- else if (!allParsed.has(depStr)) {
558
- addViolation(rfcId, relFile, "V-33", `dependsOn "${depStr}" does not match any existing RFC`, "warning");
559
- }
560
- else {
561
- const depStatus = String(allParsed.get(depStr).parsed.frontmatter["status"] ?? "");
562
- if (depStatus === "rejected") {
563
- addViolation(rfcId, relFile, "V-33", `dependsOn "${depStr}" has status "rejected" — this dependency will never be satisfied. Remove the entry or supersede the rejected RFC.`, "warning");
564
- }
565
- }
566
- }
567
- }
568
- // V-34: batch slug format (RFC-0795)
569
- const batchSlug = fm["batch"];
570
- if (batchSlug !== undefined && batchSlug !== null) {
571
- const batchStr = String(batchSlug);
572
- if (batchStr && !/^[a-z0-9]+(-[a-z0-9]+)*$/.test(batchStr)) {
573
- addViolation(rfcId, relFile, "V-34", `batch slug "${batchStr}" does not match kebab-case pattern /^[a-z0-9]+(-[a-z0-9]+)*$/`, "warning");
574
- }
575
- }
576
- // V-NC-01: NEEDS CLARIFICATION marker detection (RFC-0709)
577
- const ncMarkers = collectMarkers(body, status, createdAt);
578
- for (const marker of ncMarkers) {
579
- addViolation(rfcId, relFile, "V-NC-01", `Unresolved NEEDS CLARIFICATION marker at line ${marker.line}: "${marker.text}"`, marker.severity === "error" ? "error" : "warning");
580
- }
581
- return ncMarkers;
582
- }
583
- // ─── V-RFC-33: frontmatter YAML parseability (RFC-0755) ────────────────────
584
- export function checkFrontmatterYamlParse(fileName, result, addViolation) {
585
- if (result && "error" in result) {
586
- const relFile = path.join(RFC_DIR, fileName);
587
- addViolation("UNKNOWN", relFile, "V-RFC-33", `RFC frontmatter YAML parse error in ${fileName}: ${result.error}`);
588
- }
589
- }
590
- //# sourceMappingURL=validate-rules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-rules.js","sourceRoot":"","sources":["../../../../os/rfc/handlers/validate-rules.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../../src/types.ts";
2
- import type { RfcValidationResult } from "../types.ts";
3
- export declare function runRfcValidate(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<RfcValidationResult>>;
4
- //# sourceMappingURL=validate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../os/rfc/handlers/validate.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAA0B,mBAAmB,EAAU,MAAM,aAAa,CAAC;AAMvF,wBAAsB,cAAc,CAClC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CA8IlD"}