@warpgogol/forge 0.3.1

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 (516) hide show
  1. package/AGENTS.md +149 -0
  2. package/README.md +164 -0
  3. package/bin/cli.js +16 -0
  4. package/dist/bin/cli.d.ts +3 -0
  5. package/dist/bin/cli.d.ts.map +1 -0
  6. package/dist/bin/cli.js +265 -0
  7. package/dist/bin/cli.js.map +1 -0
  8. package/dist/os/adr/adr.module.d.ts +3 -0
  9. package/dist/os/adr/adr.module.d.ts.map +1 -0
  10. package/dist/os/adr/adr.module.js +112 -0
  11. package/dist/os/adr/adr.module.js.map +1 -0
  12. package/dist/os/adr/frontmatter-io.d.ts +11 -0
  13. package/dist/os/adr/frontmatter-io.d.ts.map +1 -0
  14. package/dist/os/adr/frontmatter-io.js +64 -0
  15. package/dist/os/adr/frontmatter-io.js.map +1 -0
  16. package/dist/os/adr/handlers/archive.d.ts +24 -0
  17. package/dist/os/adr/handlers/archive.d.ts.map +1 -0
  18. package/dist/os/adr/handlers/archive.js +162 -0
  19. package/dist/os/adr/handlers/archive.js.map +1 -0
  20. package/dist/os/adr/handlers/list-create.d.ts +5 -0
  21. package/dist/os/adr/handlers/list-create.d.ts.map +1 -0
  22. package/dist/os/adr/handlers/list-create.js +165 -0
  23. package/dist/os/adr/handlers/list-create.js.map +1 -0
  24. package/dist/os/adr/handlers/validate.d.ts +4 -0
  25. package/dist/os/adr/handlers/validate.d.ts.map +1 -0
  26. package/dist/os/adr/handlers/validate.js +219 -0
  27. package/dist/os/adr/handlers/validate.js.map +1 -0
  28. package/dist/os/adr/index.d.ts +8 -0
  29. package/dist/os/adr/index.d.ts.map +1 -0
  30. package/dist/os/adr/index.js +18 -0
  31. package/dist/os/adr/index.js.map +1 -0
  32. package/dist/os/adr/types.d.ts +59 -0
  33. package/dist/os/adr/types.d.ts.map +1 -0
  34. package/dist/os/adr/types.js +54 -0
  35. package/dist/os/adr/types.js.map +1 -0
  36. package/dist/os/audit/audit.module.d.ts +3 -0
  37. package/dist/os/audit/audit.module.d.ts.map +1 -0
  38. package/dist/os/audit/audit.module.js +44 -0
  39. package/dist/os/audit/audit.module.js.map +1 -0
  40. package/dist/os/audit/frontmatter-io.d.ts +12 -0
  41. package/dist/os/audit/frontmatter-io.d.ts.map +1 -0
  42. package/dist/os/audit/frontmatter-io.js +73 -0
  43. package/dist/os/audit/frontmatter-io.js.map +1 -0
  44. package/dist/os/audit/handlers/archive.d.ts +4 -0
  45. package/dist/os/audit/handlers/archive.d.ts.map +1 -0
  46. package/dist/os/audit/handlers/archive.js +167 -0
  47. package/dist/os/audit/handlers/archive.js.map +1 -0
  48. package/dist/os/audit/index.d.ts +6 -0
  49. package/dist/os/audit/index.d.ts.map +1 -0
  50. package/dist/os/audit/index.js +16 -0
  51. package/dist/os/audit/index.js.map +1 -0
  52. package/dist/os/audit/types.d.ts +12 -0
  53. package/dist/os/audit/types.d.ts.map +1 -0
  54. package/dist/os/audit/types.js +17 -0
  55. package/dist/os/audit/types.js.map +1 -0
  56. package/dist/os/compass/compass.module.d.ts +3 -0
  57. package/dist/os/compass/compass.module.d.ts.map +1 -0
  58. package/dist/os/compass/compass.module.js +162 -0
  59. package/dist/os/compass/compass.module.js.map +1 -0
  60. package/dist/os/compass/handlers/compass-audit-handler.d.ts +36 -0
  61. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -0
  62. package/dist/os/compass/handlers/compass-audit-handler.js +238 -0
  63. package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -0
  64. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +19 -0
  65. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -0
  66. package/dist/os/compass/handlers/compass-change-summary-handler.js +205 -0
  67. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -0
  68. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +28 -0
  69. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -0
  70. package/dist/os/compass/handlers/compass-inventory-handler.js +213 -0
  71. package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -0
  72. package/dist/os/compass/handlers/compass-inventory.d.ts +30 -0
  73. package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -0
  74. package/dist/os/compass/handlers/compass-inventory.js +418 -0
  75. package/dist/os/compass/handlers/compass-inventory.js.map +1 -0
  76. package/dist/os/compass/handlers/git-revision.d.ts +8 -0
  77. package/dist/os/compass/handlers/git-revision.d.ts.map +1 -0
  78. package/dist/os/compass/handlers/git-revision.js +99 -0
  79. package/dist/os/compass/handlers/git-revision.js.map +1 -0
  80. package/dist/os/compass/handlers/resolve-scan-root.d.ts +3 -0
  81. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -0
  82. package/dist/os/compass/handlers/resolve-scan-root.js +41 -0
  83. package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -0
  84. package/dist/os/compass/index.d.ts +8 -0
  85. package/dist/os/compass/index.d.ts.map +1 -0
  86. package/dist/os/compass/index.js +19 -0
  87. package/dist/os/compass/index.js.map +1 -0
  88. package/dist/os/core/core.module.d.ts +3 -0
  89. package/dist/os/core/core.module.d.ts.map +1 -0
  90. package/dist/os/core/core.module.js +318 -0
  91. package/dist/os/core/core.module.js.map +1 -0
  92. package/dist/os/core/index.d.ts +2 -0
  93. package/dist/os/core/index.d.ts.map +1 -0
  94. package/dist/os/core/index.js +13 -0
  95. package/dist/os/core/index.js.map +1 -0
  96. package/dist/os/mission/handlers/archive.d.ts +4 -0
  97. package/dist/os/mission/handlers/archive.d.ts.map +1 -0
  98. package/dist/os/mission/handlers/archive.js +209 -0
  99. package/dist/os/mission/handlers/archive.js.map +1 -0
  100. package/dist/os/mission/index.d.ts +2 -0
  101. package/dist/os/mission/index.d.ts.map +1 -0
  102. package/dist/os/mission/index.js +2 -0
  103. package/dist/os/mission/index.js.map +1 -0
  104. package/dist/os/mission/mission.module.d.ts +3 -0
  105. package/dist/os/mission/mission.module.d.ts.map +1 -0
  106. package/dist/os/mission/mission.module.js +44 -0
  107. package/dist/os/mission/mission.module.js.map +1 -0
  108. package/dist/os/mission/types.d.ts +23 -0
  109. package/dist/os/mission/types.d.ts.map +1 -0
  110. package/dist/os/mission/types.js +18 -0
  111. package/dist/os/mission/types.js.map +1 -0
  112. package/dist/os/naming/index.d.ts +3 -0
  113. package/dist/os/naming/index.d.ts.map +1 -0
  114. package/dist/os/naming/index.js +14 -0
  115. package/dist/os/naming/index.js.map +1 -0
  116. package/dist/os/naming/naming-convention.d.ts +25 -0
  117. package/dist/os/naming/naming-convention.d.ts.map +1 -0
  118. package/dist/os/naming/naming-convention.js +324 -0
  119. package/dist/os/naming/naming-convention.js.map +1 -0
  120. package/dist/os/naming/naming.module.d.ts +3 -0
  121. package/dist/os/naming/naming.module.d.ts.map +1 -0
  122. package/dist/os/naming/naming.module.js +33 -0
  123. package/dist/os/naming/naming.module.js.map +1 -0
  124. package/dist/os/plan/frontmatter-io.d.ts +12 -0
  125. package/dist/os/plan/frontmatter-io.d.ts.map +1 -0
  126. package/dist/os/plan/frontmatter-io.js +71 -0
  127. package/dist/os/plan/frontmatter-io.js.map +1 -0
  128. package/dist/os/plan/handlers/archive.d.ts +4 -0
  129. package/dist/os/plan/handlers/archive.d.ts.map +1 -0
  130. package/dist/os/plan/handlers/archive.js +166 -0
  131. package/dist/os/plan/handlers/archive.js.map +1 -0
  132. package/dist/os/plan/index.d.ts +6 -0
  133. package/dist/os/plan/index.d.ts.map +1 -0
  134. package/dist/os/plan/index.js +16 -0
  135. package/dist/os/plan/index.js.map +1 -0
  136. package/dist/os/plan/plan.module.d.ts +3 -0
  137. package/dist/os/plan/plan.module.d.ts.map +1 -0
  138. package/dist/os/plan/plan.module.js +44 -0
  139. package/dist/os/plan/plan.module.js.map +1 -0
  140. package/dist/os/plan/types.d.ts +12 -0
  141. package/dist/os/plan/types.d.ts.map +1 -0
  142. package/dist/os/plan/types.js +17 -0
  143. package/dist/os/plan/types.js.map +1 -0
  144. package/dist/os/rfc/acceptance.d.ts +15 -0
  145. package/dist/os/rfc/acceptance.d.ts.map +1 -0
  146. package/dist/os/rfc/acceptance.js +290 -0
  147. package/dist/os/rfc/acceptance.js.map +1 -0
  148. package/dist/os/rfc/decision-log.d.ts +6 -0
  149. package/dist/os/rfc/decision-log.d.ts.map +1 -0
  150. package/dist/os/rfc/decision-log.js +269 -0
  151. package/dist/os/rfc/decision-log.js.map +1 -0
  152. package/dist/os/rfc/dna-trace.d.ts +27 -0
  153. package/dist/os/rfc/dna-trace.d.ts.map +1 -0
  154. package/dist/os/rfc/dna-trace.js +214 -0
  155. package/dist/os/rfc/dna-trace.js.map +1 -0
  156. package/dist/os/rfc/frontmatter-io.d.ts +14 -0
  157. package/dist/os/rfc/frontmatter-io.d.ts.map +1 -0
  158. package/dist/os/rfc/frontmatter-io.js +98 -0
  159. package/dist/os/rfc/frontmatter-io.js.map +1 -0
  160. package/dist/os/rfc/handlers/archive.d.ts +24 -0
  161. package/dist/os/rfc/handlers/archive.d.ts.map +1 -0
  162. package/dist/os/rfc/handlers/archive.js +161 -0
  163. package/dist/os/rfc/handlers/archive.js.map +1 -0
  164. package/dist/os/rfc/handlers/check.d.ts +4 -0
  165. package/dist/os/rfc/handlers/check.d.ts.map +1 -0
  166. package/dist/os/rfc/handlers/check.js +195 -0
  167. package/dist/os/rfc/handlers/check.js.map +1 -0
  168. package/dist/os/rfc/handlers/implement-stamp.d.ts +4 -0
  169. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -0
  170. package/dist/os/rfc/handlers/implement-stamp.js +334 -0
  171. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -0
  172. package/dist/os/rfc/handlers/index-graph.d.ts +13 -0
  173. package/dist/os/rfc/handlers/index-graph.d.ts.map +1 -0
  174. package/dist/os/rfc/handlers/index-graph.js +189 -0
  175. package/dist/os/rfc/handlers/index-graph.js.map +1 -0
  176. package/dist/os/rfc/handlers/lifecycle.d.ts +13 -0
  177. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -0
  178. package/dist/os/rfc/handlers/lifecycle.js +150 -0
  179. package/dist/os/rfc/handlers/lifecycle.js.map +1 -0
  180. package/dist/os/rfc/handlers/list-create.d.ts +6 -0
  181. package/dist/os/rfc/handlers/list-create.d.ts.map +1 -0
  182. package/dist/os/rfc/handlers/list-create.js +235 -0
  183. package/dist/os/rfc/handlers/list-create.js.map +1 -0
  184. package/dist/os/rfc/handlers/pipeline-status.d.ts +26 -0
  185. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -0
  186. package/dist/os/rfc/handlers/pipeline-status.js +124 -0
  187. package/dist/os/rfc/handlers/pipeline-status.js.map +1 -0
  188. package/dist/os/rfc/handlers/shared.d.ts +22 -0
  189. package/dist/os/rfc/handlers/shared.d.ts.map +1 -0
  190. package/dist/os/rfc/handlers/shared.js +99 -0
  191. package/dist/os/rfc/handlers/shared.js.map +1 -0
  192. package/dist/os/rfc/handlers/supersede-propose.d.ts +4 -0
  193. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -0
  194. package/dist/os/rfc/handlers/supersede-propose.js +200 -0
  195. package/dist/os/rfc/handlers/supersede-propose.js.map +1 -0
  196. package/dist/os/rfc/handlers/validate-rules.d.ts +29 -0
  197. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -0
  198. package/dist/os/rfc/handlers/validate-rules.js +461 -0
  199. package/dist/os/rfc/handlers/validate-rules.js.map +1 -0
  200. package/dist/os/rfc/handlers/validate.d.ts +4 -0
  201. package/dist/os/rfc/handlers/validate.d.ts.map +1 -0
  202. package/dist/os/rfc/handlers/validate.js +101 -0
  203. package/dist/os/rfc/handlers/validate.js.map +1 -0
  204. package/dist/os/rfc/handlers.d.ts +7 -0
  205. package/dist/os/rfc/handlers.d.ts.map +1 -0
  206. package/dist/os/rfc/handlers.js +19 -0
  207. package/dist/os/rfc/handlers.js.map +1 -0
  208. package/dist/os/rfc/index.d.ts +18 -0
  209. package/dist/os/rfc/index.d.ts.map +1 -0
  210. package/dist/os/rfc/index.js +24 -0
  211. package/dist/os/rfc/index.js.map +1 -0
  212. package/dist/os/rfc/rfc.module.d.ts +3 -0
  213. package/dist/os/rfc/rfc.module.d.ts.map +1 -0
  214. package/dist/os/rfc/rfc.module.js +355 -0
  215. package/dist/os/rfc/rfc.module.js.map +1 -0
  216. package/dist/os/rfc/types.d.ts +448 -0
  217. package/dist/os/rfc/types.d.ts.map +1 -0
  218. package/dist/os/rfc/types.js +95 -0
  219. package/dist/os/rfc/types.js.map +1 -0
  220. package/dist/os/rfc/verification-evidence.d.ts +8 -0
  221. package/dist/os/rfc/verification-evidence.d.ts.map +1 -0
  222. package/dist/os/rfc/verification-evidence.js +182 -0
  223. package/dist/os/rfc/verification-evidence.js.map +1 -0
  224. package/dist/os/session/atif-parser.d.ts +29 -0
  225. package/dist/os/session/atif-parser.d.ts.map +1 -0
  226. package/dist/os/session/atif-parser.js +138 -0
  227. package/dist/os/session/atif-parser.js.map +1 -0
  228. package/dist/os/session/frontmatter-io.d.ts +31 -0
  229. package/dist/os/session/frontmatter-io.d.ts.map +1 -0
  230. package/dist/os/session/frontmatter-io.js +146 -0
  231. package/dist/os/session/frontmatter-io.js.map +1 -0
  232. package/dist/os/session/handlers/archive.d.ts +4 -0
  233. package/dist/os/session/handlers/archive.d.ts.map +1 -0
  234. package/dist/os/session/handlers/archive.js +209 -0
  235. package/dist/os/session/handlers/archive.js.map +1 -0
  236. package/dist/os/session/handlers/list.d.ts +4 -0
  237. package/dist/os/session/handlers/list.d.ts.map +1 -0
  238. package/dist/os/session/handlers/list.js +147 -0
  239. package/dist/os/session/handlers/list.js.map +1 -0
  240. package/dist/os/session/handlers/save.d.ts +6 -0
  241. package/dist/os/session/handlers/save.d.ts.map +1 -0
  242. package/dist/os/session/handlers/save.js +285 -0
  243. package/dist/os/session/handlers/save.js.map +1 -0
  244. package/dist/os/session/handlers/validate.d.ts +4 -0
  245. package/dist/os/session/handlers/validate.d.ts.map +1 -0
  246. package/dist/os/session/handlers/validate.js +188 -0
  247. package/dist/os/session/handlers/validate.js.map +1 -0
  248. package/dist/os/session/index.d.ts +9 -0
  249. package/dist/os/session/index.d.ts.map +1 -0
  250. package/dist/os/session/index.js +20 -0
  251. package/dist/os/session/index.js.map +1 -0
  252. package/dist/os/session/session.module.d.ts +3 -0
  253. package/dist/os/session/session.module.d.ts.map +1 -0
  254. package/dist/os/session/session.module.js +113 -0
  255. package/dist/os/session/session.module.js.map +1 -0
  256. package/dist/os/session/types.d.ts +101 -0
  257. package/dist/os/session/types.d.ts.map +1 -0
  258. package/dist/os/session/types.js +52 -0
  259. package/dist/os/session/types.js.map +1 -0
  260. package/dist/os/spec/spec-materialize.d.ts +21 -0
  261. package/dist/os/spec/spec-materialize.d.ts.map +1 -0
  262. package/dist/os/spec/spec-materialize.js +342 -0
  263. package/dist/os/spec/spec-materialize.js.map +1 -0
  264. package/dist/os/spec/spec-schema.d.ts +132 -0
  265. package/dist/os/spec/spec-schema.d.ts.map +1 -0
  266. package/dist/os/spec/spec-schema.js +118 -0
  267. package/dist/os/spec/spec-schema.js.map +1 -0
  268. package/dist/os/spec/spec-status.d.ts +33 -0
  269. package/dist/os/spec/spec-status.d.ts.map +1 -0
  270. package/dist/os/spec/spec-status.js +222 -0
  271. package/dist/os/spec/spec-status.js.map +1 -0
  272. package/dist/os/spec/spec-validate.d.ts +4 -0
  273. package/dist/os/spec/spec-validate.d.ts.map +1 -0
  274. package/dist/os/spec/spec-validate.js +435 -0
  275. package/dist/os/spec/spec-validate.js.map +1 -0
  276. package/dist/os/spec/spec.module.d.ts +3 -0
  277. package/dist/os/spec/spec.module.d.ts.map +1 -0
  278. package/dist/os/spec/spec.module.js +67 -0
  279. package/dist/os/spec/spec.module.js.map +1 -0
  280. package/dist/os/werkstatt/handlers/lock.d.ts +10 -0
  281. package/dist/os/werkstatt/handlers/lock.d.ts.map +1 -0
  282. package/dist/os/werkstatt/handlers/lock.js +127 -0
  283. package/dist/os/werkstatt/handlers/lock.js.map +1 -0
  284. package/dist/os/werkstatt/handlers/schema.d.ts +32 -0
  285. package/dist/os/werkstatt/handlers/schema.d.ts.map +1 -0
  286. package/dist/os/werkstatt/handlers/schema.js +41 -0
  287. package/dist/os/werkstatt/handlers/schema.js.map +1 -0
  288. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts +15 -0
  289. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +1 -0
  290. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +142 -0
  291. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -0
  292. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts +18 -0
  293. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts.map +1 -0
  294. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js +43 -0
  295. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js.map +1 -0
  296. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts +11 -0
  297. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +1 -0
  298. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +79 -0
  299. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +1 -0
  300. package/dist/os/werkstatt/index.d.ts +7 -0
  301. package/dist/os/werkstatt/index.d.ts.map +1 -0
  302. package/dist/os/werkstatt/index.js +18 -0
  303. package/dist/os/werkstatt/index.js.map +1 -0
  304. package/dist/os/werkstatt/werkstatt.module.d.ts +3 -0
  305. package/dist/os/werkstatt/werkstatt.module.d.ts.map +1 -0
  306. package/dist/os/werkstatt/werkstatt.module.js +58 -0
  307. package/dist/os/werkstatt/werkstatt.module.js.map +1 -0
  308. package/dist/os/workflow/handlers.d.ts +12 -0
  309. package/dist/os/workflow/handlers.d.ts.map +1 -0
  310. package/dist/os/workflow/handlers.js +254 -0
  311. package/dist/os/workflow/handlers.js.map +1 -0
  312. package/dist/os/workflow/index.d.ts +4 -0
  313. package/dist/os/workflow/index.d.ts.map +1 -0
  314. package/dist/os/workflow/index.js +18 -0
  315. package/dist/os/workflow/index.js.map +1 -0
  316. package/dist/os/workflow/types.d.ts +69 -0
  317. package/dist/os/workflow/types.d.ts.map +1 -0
  318. package/dist/os/workflow/types.js +23 -0
  319. package/dist/os/workflow/types.js.map +1 -0
  320. package/dist/os/workflow/workflow.module.d.ts +3 -0
  321. package/dist/os/workflow/workflow.module.d.ts.map +1 -0
  322. package/dist/os/workflow/workflow.module.js +48 -0
  323. package/dist/os/workflow/workflow.module.js.map +1 -0
  324. package/dist/src/cli-output.d.ts +5 -0
  325. package/dist/src/cli-output.d.ts.map +1 -0
  326. package/dist/src/cli-output.js +52 -0
  327. package/dist/src/cli-output.js.map +1 -0
  328. package/dist/src/config/forge-config.d.ts +170 -0
  329. package/dist/src/config/forge-config.d.ts.map +1 -0
  330. package/dist/src/config/forge-config.js +259 -0
  331. package/dist/src/config/forge-config.js.map +1 -0
  332. package/dist/src/forge-module.d.ts +16 -0
  333. package/dist/src/forge-module.d.ts.map +1 -0
  334. package/dist/src/forge-module.js +15 -0
  335. package/dist/src/forge-module.js.map +1 -0
  336. package/dist/src/index.d.ts +30 -0
  337. package/dist/src/index.d.ts.map +1 -0
  338. package/dist/src/index.js +48 -0
  339. package/dist/src/index.js.map +1 -0
  340. package/dist/src/migration-adapters/git-utils.d.ts +3 -0
  341. package/dist/src/migration-adapters/git-utils.d.ts.map +1 -0
  342. package/dist/src/migration-adapters/git-utils.js +46 -0
  343. package/dist/src/migration-adapters/git-utils.js.map +1 -0
  344. package/dist/src/migration-adapters/ignored-files.d.ts +12 -0
  345. package/dist/src/migration-adapters/ignored-files.d.ts.map +1 -0
  346. package/dist/src/migration-adapters/ignored-files.js +190 -0
  347. package/dist/src/migration-adapters/ignored-files.js.map +1 -0
  348. package/dist/src/migration-adapters/index.d.ts +8 -0
  349. package/dist/src/migration-adapters/index.d.ts.map +1 -0
  350. package/dist/src/migration-adapters/index.js +17 -0
  351. package/dist/src/migration-adapters/index.js.map +1 -0
  352. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts +3 -0
  353. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts.map +1 -0
  354. package/dist/src/migration-adapters/node-typescript-pnpm/index.js +141 -0
  355. package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +1 -0
  356. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts +3 -0
  357. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts.map +1 -0
  358. package/dist/src/migration-adapters/phaser-pnpm/index.js +142 -0
  359. package/dist/src/migration-adapters/phaser-pnpm/index.js.map +1 -0
  360. package/dist/src/migration-adapters/registry.d.ts +6 -0
  361. package/dist/src/migration-adapters/registry.d.ts.map +1 -0
  362. package/dist/src/migration-adapters/registry.js +58 -0
  363. package/dist/src/migration-adapters/registry.js.map +1 -0
  364. package/dist/src/migration-adapters/types.d.ts +35 -0
  365. package/dist/src/migration-adapters/types.d.ts.map +1 -0
  366. package/dist/src/migration-adapters/types.js +31 -0
  367. package/dist/src/migration-adapters/types.js.map +1 -0
  368. package/dist/src/onboarding/agents-generate.d.ts +11 -0
  369. package/dist/src/onboarding/agents-generate.d.ts.map +1 -0
  370. package/dist/src/onboarding/agents-generate.js +415 -0
  371. package/dist/src/onboarding/agents-generate.js.map +1 -0
  372. package/dist/src/onboarding/create.d.ts +12 -0
  373. package/dist/src/onboarding/create.d.ts.map +1 -0
  374. package/dist/src/onboarding/create.js +232 -0
  375. package/dist/src/onboarding/create.js.map +1 -0
  376. package/dist/src/onboarding/doctor.d.ts +30 -0
  377. package/dist/src/onboarding/doctor.d.ts.map +1 -0
  378. package/dist/src/onboarding/doctor.js +380 -0
  379. package/dist/src/onboarding/doctor.js.map +1 -0
  380. package/dist/src/onboarding/extended-behavioral-layer.d.ts +10 -0
  381. package/dist/src/onboarding/extended-behavioral-layer.d.ts.map +1 -0
  382. package/dist/src/onboarding/extended-behavioral-layer.js +82 -0
  383. package/dist/src/onboarding/extended-behavioral-layer.js.map +1 -0
  384. package/dist/src/onboarding/init.d.ts +25 -0
  385. package/dist/src/onboarding/init.d.ts.map +1 -0
  386. package/dist/src/onboarding/init.js +260 -0
  387. package/dist/src/onboarding/init.js.map +1 -0
  388. package/dist/src/onboarding/scaffold-project.d.ts +12 -0
  389. package/dist/src/onboarding/scaffold-project.d.ts.map +1 -0
  390. package/dist/src/onboarding/scaffold-project.js +167 -0
  391. package/dist/src/onboarding/scaffold-project.js.map +1 -0
  392. package/dist/src/onboarding/scaffold.d.ts +15 -0
  393. package/dist/src/onboarding/scaffold.d.ts.map +1 -0
  394. package/dist/src/onboarding/scaffold.js +120 -0
  395. package/dist/src/onboarding/scaffold.js.map +1 -0
  396. package/dist/src/onboarding/upgrade.d.ts +17 -0
  397. package/dist/src/onboarding/upgrade.d.ts.map +1 -0
  398. package/dist/src/onboarding/upgrade.js +293 -0
  399. package/dist/src/onboarding/upgrade.js.map +1 -0
  400. package/dist/src/profiles/stack-profile.d.ts +51 -0
  401. package/dist/src/profiles/stack-profile.d.ts.map +1 -0
  402. package/dist/src/profiles/stack-profile.js +119 -0
  403. package/dist/src/profiles/stack-profile.js.map +1 -0
  404. package/dist/src/registry.d.ts +38 -0
  405. package/dist/src/registry.d.ts.map +1 -0
  406. package/dist/src/registry.js +135 -0
  407. package/dist/src/registry.js.map +1 -0
  408. package/dist/src/skill-schema.d.ts +30 -0
  409. package/dist/src/skill-schema.d.ts.map +1 -0
  410. package/dist/src/skill-schema.js +34 -0
  411. package/dist/src/skill-schema.js.map +1 -0
  412. package/dist/src/types.d.ts +153 -0
  413. package/dist/src/types.d.ts.map +1 -0
  414. package/dist/src/types.js +17 -0
  415. package/dist/src/types.js.map +1 -0
  416. package/dist/src/utils/fs-atomic.d.ts +7 -0
  417. package/dist/src/utils/fs-atomic.d.ts.map +1 -0
  418. package/dist/src/utils/fs-atomic.js +81 -0
  419. package/dist/src/utils/fs-atomic.js.map +1 -0
  420. package/dist/src/utils/fs-idempotent.d.ts +2 -0
  421. package/dist/src/utils/fs-idempotent.d.ts.map +1 -0
  422. package/dist/src/utils/fs-idempotent.js +30 -0
  423. package/dist/src/utils/fs-idempotent.js.map +1 -0
  424. package/dist/src/utils/fs.d.ts +8 -0
  425. package/dist/src/utils/fs.d.ts.map +1 -0
  426. package/dist/src/utils/fs.js +60 -0
  427. package/dist/src/utils/fs.js.map +1 -0
  428. package/dist/src/utils/generated-marker.d.ts +21 -0
  429. package/dist/src/utils/generated-marker.d.ts.map +1 -0
  430. package/dist/src/utils/generated-marker.js +128 -0
  431. package/dist/src/utils/generated-marker.js.map +1 -0
  432. package/dist/src/utils/hash.d.ts +2 -0
  433. package/dist/src/utils/hash.d.ts.map +1 -0
  434. package/dist/src/utils/hash.js +18 -0
  435. package/dist/src/utils/hash.js.map +1 -0
  436. package/dist/src/utils/index.d.ts +7 -0
  437. package/dist/src/utils/index.d.ts.map +1 -0
  438. package/dist/src/utils/index.js +19 -0
  439. package/dist/src/utils/index.js.map +1 -0
  440. package/dist/src/utils/string-utils.d.ts +2 -0
  441. package/dist/src/utils/string-utils.d.ts.map +1 -0
  442. package/dist/src/utils/string-utils.js +19 -0
  443. package/dist/src/utils/string-utils.js.map +1 -0
  444. package/dist/src/validators/port-validate.d.ts +12 -0
  445. package/dist/src/validators/port-validate.d.ts.map +1 -0
  446. package/dist/src/validators/port-validate.js +73 -0
  447. package/dist/src/validators/port-validate.js.map +1 -0
  448. package/dist/src/validators/skill-validate.d.ts +14 -0
  449. package/dist/src/validators/skill-validate.d.ts.map +1 -0
  450. package/dist/src/validators/skill-validate.js +487 -0
  451. package/dist/src/validators/skill-validate.js.map +1 -0
  452. package/os/rfc/rfc-0000-template.md +222 -0
  453. package/package.json +262 -0
  454. package/profiles/astro-typescript-turborepo.yaml +144 -0
  455. package/profiles/forge-shell.yaml +77 -0
  456. package/profiles/phaser-turborepo.yaml +144 -0
  457. package/skills/_shared/fo-pipeline-conventions.md +119 -0
  458. package/skills/_shared/fo-session-summary.md +95 -0
  459. package/skills/fo/fo-add-tests/SKILL.md +166 -0
  460. package/skills/fo/fo-add-tests/mocking.md +60 -0
  461. package/skills/fo/fo-add-tests/pbt-guide.md +193 -0
  462. package/skills/fo/fo-add-tests/tests-reference.md +92 -0
  463. package/skills/fo/fo-architecture/SKILL.md +83 -0
  464. package/skills/fo/fo-architecture/architecture-vocabulary.md +104 -0
  465. package/skills/fo/fo-architecture/deepening.md +37 -0
  466. package/skills/fo/fo-architecture/design-it-twice.md +44 -0
  467. package/skills/fo/fo-architecture/html-report.md +104 -0
  468. package/skills/fo/fo-compass-annotate/SKILL.md +128 -0
  469. package/skills/fo/fo-compass-annotate/reference/comment-styles.md +25 -0
  470. package/skills/fo/fo-compass-annotate/reference/learned-principles.md +12 -0
  471. package/skills/fo/fo-compass-annotate/reference/risk-patterns.md +23 -0
  472. package/skills/fo/fo-compass-annotate/templates/audit-prompt.md +36 -0
  473. package/skills/fo/fo-compass-annotate/templates/header-format.md +57 -0
  474. package/skills/fo/fo-compass-annotate/templates/header-prompt.md +35 -0
  475. package/skills/fo/fo-doc-audit/SKILL.md +264 -0
  476. package/skills/fo/fo-extract-dna/SKILL.md +248 -0
  477. package/skills/fo/fo-fix/SKILL.md +152 -0
  478. package/skills/fo/fo-fix/bug-diagnosis.md +128 -0
  479. package/skills/fo/fo-handoff/SKILL.md +58 -0
  480. package/skills/fo/fo-harvest/SKILL.md +80 -0
  481. package/skills/fo/fo-idea/SKILL.md +242 -0
  482. package/skills/fo/fo-idea-audit/SKILL.md +248 -0
  483. package/skills/fo/fo-idea-create-adr/SKILL.md +130 -0
  484. package/skills/fo/fo-idea-create-rfc/SKILL.md +130 -0
  485. package/skills/fo/fo-idea-enhance/SKILL.md +218 -0
  486. package/skills/fo/fo-idea-i-just-want-to-see-the-plan/SKILL.md +36 -0
  487. package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +167 -0
  488. package/skills/fo/fo-idea-implement/SKILL.md +463 -0
  489. package/skills/fo/fo-idea-plan/SKILL.md +230 -0
  490. package/skills/fo/fo-idea-status/SKILL.md +103 -0
  491. package/skills/fo/fo-memory-sync/SKILL.md +204 -0
  492. package/skills/fo/fo-memory-sync/fix-patterns.md +24 -0
  493. package/skills/fo/fo-memory-sync/learned-principles.md +6 -0
  494. package/skills/fo/fo-memory-sync/qa-log.md +5 -0
  495. package/skills/fo/fo-qa/SKILL.md +142 -0
  496. package/skills/fo/fo-review/SKILL.md +273 -0
  497. package/skills/fo/fo-session-retro/SKILL.md +276 -0
  498. package/skills/fo/fo-session-save/SKILL.md +71 -0
  499. package/skills/fo/fo-session-save/fix-patterns.md +33 -0
  500. package/skills/fo/fo-session-save/learned-principles.md +19 -0
  501. package/skills/fo/fo-session-save/qa-log.md +11 -0
  502. package/skills/fo/fo-spec-ingest/SKILL.md +127 -0
  503. package/skills/fo/fo-triage/SKILL.md +97 -0
  504. package/skills/meta/forge-bootstrap/SKILL.md +335 -0
  505. package/skills/meta/forge-bootstrap/forge-about.md +35 -0
  506. package/skills/meta/forge-bootstrap/milestone-gallery/.gitkeep +0 -0
  507. package/skills/meta/forge-bootstrap/operator-profile-template.md +53 -0
  508. package/skills/meta/forge-bootstrap/project-narrative-template.md +31 -0
  509. package/skills/meta/port-to-forge/SKILL.md +65 -0
  510. package/skills/meta/skill-create/SKILL.md +73 -0
  511. package/skills/shared/grilling/SKILL.md +28 -0
  512. package/skills/shared/grilling/learned-principles.md +12 -0
  513. package/skills/shared/grilling/qa-log.md +10 -0
  514. package/skills/shared/my-preferences/SKILL.md +77 -0
  515. package/skills/shared/windows-ai-tooling/SKILL.md +200 -0
  516. package/skills/shared/writing-great-skills/SKILL.md +132 -0
@@ -0,0 +1,448 @@
1
+ /***************************************************************
2
+ * <MODULE_CONTRACT>
3
+ * <purpose>
4
+ * Defines types and constants for managing RFC lifecycle,
5
+ * including statuses, kinds, and scopes, facilitating
6
+ * structured proposal submissions.
7
+ * </purpose>
8
+ * * * <non-goals>
9
+ * <item>Do not implement RFC processing or validation logic here.</item>
10
+ * <item>Do not handle user input or command execution related to RFCs.</item>
11
+ * <item>Do not manage the storage or retrieval of RFC documents.</item>
12
+ * </non-goals>
13
+ * </MODULE_CONTRACT>
14
+ * * <CHANGE_SUMMARY>
15
+ <item>Tidied by compass.changesummary.tidy; see git history for prior entries.</item>
16
+ <item>RFC-0465: added specRef field to RfcFrontmatter interface and RFC_KNOWN_KEYS array for PBP spec traceability.</item>
17
+ <item>RFC-0478: added versionBump field to RfcFrontmatter interface and RFC_KNOWN_KEYS array for platform versioning enforcement.</item>
18
+ <item>RFC-0480: added breaksC field to RfcFrontmatter interface and RFC_KNOWN_KEYS array for Layer C protection.</item>
19
+ </CHANGE_SUMMARY>
20
+ ***************************************************************/
21
+ import type { Diagnostic } from "../../src/types.ts";
22
+ /**
23
+ * The lifecycle status of an RFC.
24
+ *
25
+ * Transitions:
26
+ * draft → reviewing → accepted → implemented
27
+ * ↘ rejected
28
+ * any → superseded (when a new RFC replaces this one)
29
+ *
30
+ * Only a person with role "architecture" may change status.
31
+ * Agents may only create RFCs in "draft" status.
32
+ *
33
+ * Derived decision mapping (not stored, computed when needed):
34
+ * "pending" ← draft | reviewing
35
+ * "approved" ← accepted | implemented | superseded
36
+ * "rejected" ← rejected
37
+ */
38
+ export type RfcStatus = "draft" | "reviewing" | "accepted" | "implemented" | "rejected" | "superseded";
39
+ export declare const RFC_STATUSES: readonly RfcStatus[];
40
+ /**
41
+ * The nature of the change an RFC proposes.
42
+ *
43
+ * "architecture" — introduces or modifies an architectural invariant.
44
+ * "contract" — adds or revises a page, component, semantic, brand, or quality contract.
45
+ * "command" — adds, changes, or removes a site-kernel CLI command.
46
+ * "policy" — establishes a governance, ownership, or agent-behavior rule.
47
+ * "deprecation" — officially retires a rule, command, or document.
48
+ */
49
+ export type RfcKind = "architecture" | "contract" | "command" | "policy" | "deprecation";
50
+ export declare const RFC_KINDS: readonly RfcKind[];
51
+ /**
52
+ * Whether the RFC affects a single app or the whole workspace.
53
+ *
54
+ * "workspace" — applies to all apps and/or shared packages.
55
+ * "app" — applies to one specific app; may be promoted later.
56
+ */
57
+ export type RfcScope = "app" | "workspace";
58
+ export declare const RFC_SCOPES: readonly RfcScope[];
59
+ /**
60
+ * Tracks which OS commands this RFC adds, changes, or removes.
61
+ * Used by rfc.validate to cross-check that proposed commands
62
+ * exist in the registry once status reaches "implemented".
63
+ */
64
+ export interface RfcCommands {
65
+ /** Commands this RFC intends to add. */
66
+ proposed?: string[];
67
+ /** Commands added by this RFC (populated when implemented). */
68
+ added?: string[];
69
+ /** Commands modified by this RFC (populated when implemented). */
70
+ changed?: string[];
71
+ /** Commands removed by this RFC (populated when implemented). */
72
+ removed?: string[];
73
+ }
74
+ /**
75
+ * The canonical frontmatter shape for every RFC file.
76
+ *
77
+ * RFC files live in `docs/rfcs/` and are named `RFC-XXXX-kebab-title.md`.
78
+ * The frontmatter is the machine-readable contract;
79
+ * the markdown body is the human-readable explanation.
80
+ *
81
+ * Design note: `decision` and `agentPolicy` fields from earlier proposals
82
+ * are intentionally omitted. Decision is derived from status deterministically.
83
+ * Agent policy is defined globally in AGENTS.md, not per-RFC.
84
+ */
85
+ export interface RfcFrontmatter {
86
+ /** Unique identifier. Format: RFC-XXXX (zero-padded to 4 digits). */
87
+ id: string;
88
+ /** Short imperative title. Sentence-case, no trailing period. */
89
+ title: string;
90
+ status: RfcStatus;
91
+ kind: RfcKind;
92
+ scope: RfcScope;
93
+ /** Primary owners. At least one required. Use handle strings, e.g. "architecture". */
94
+ owners: string[];
95
+ /** Optional additional reviewers. */
96
+ reviewers?: string[];
97
+ /** ISO 8601 date of creation. */
98
+ createdAt: string;
99
+ /** ISO 8601 date of last frontmatter update. */
100
+ updatedAt: string;
101
+ /** ISO 8601 date when the RFC was enhanced via fo-idea-enhance (audit findings integrated). */
102
+ enhancedAt?: string;
103
+ /** ISO 8601 date when status became "implemented". */
104
+ implementedAt?: string;
105
+ /** ISO 8601 date when status became "rejected" or "superseded". */
106
+ closedAt?: string;
107
+ /**
108
+ * IDs of RFCs this RFC supersedes.
109
+ * Those RFCs must set supersededBy to this RFC's id.
110
+ */
111
+ supersedes?: string[];
112
+ /**
113
+ * ID of the RFC that supersedes this one (if any).
114
+ * Set when this RFC is superseded.
115
+ */
116
+ supersededBy?: string;
117
+ /**
118
+ * IDs of RFCs this RFC amends — partially modifies without retiring.
119
+ * Weaker than `supersedes`: the amended RFC keeps its status.
120
+ * Those RFCs must list this RFC's id in `amendedBy`.
121
+ */
122
+ amends?: string[];
123
+ /**
124
+ * IDs of RFCs that amend this one (partial later modifications).
125
+ * Non-terminal: being amended does NOT change this RFC's status.
126
+ */
127
+ amendedBy?: string[];
128
+ /**
129
+ * Cross-references to Architecture DNA invariants, anti-patterns,
130
+ * spec documents, or other RFCs.
131
+ *
132
+ * Use identifiers like: "DNA-5", "AP-3", "RFC-0001",
133
+ * "PAGE-MANDATORY-ARTIFACTS", "COMPONENT-THREE-WAY-MIRROR"
134
+ */
135
+ related?: string[];
136
+ commands?: RfcCommands;
137
+ /** App directory names affected by this RFC. */
138
+ appsImpacted?: string[];
139
+ /** Package names affected by this RFC. */
140
+ packagesImpacted?: string[];
141
+ /**
142
+ * Observable signals that confirm this RFC is fully implemented
143
+ * and working as intended. Written as plain statements, not checklist items.
144
+ */
145
+ successSignals?: string[];
146
+ /**
147
+ * Explicit list of what this RFC does NOT cover.
148
+ * Prevents scope creep in implementation.
149
+ */
150
+ nonGoals?: string[];
151
+ /**
152
+ * RFC-0268: OPTIONAL machine-checkable acceptance probes. Executed by
153
+ * `rfc.acceptance.run`, never automatically inside `rfc.validate` (which
154
+ * must stay fast and side-effect free).
155
+ */
156
+ acceptance?: AcceptanceProbe[];
157
+ /**
158
+ * RFC-0331: DNA invariants this RFC satisfies. Each entry is a DNA-NN identifier.
159
+ * Required for RFCs created on or after RFC_METADATA_CUTOFF (V-24).
160
+ */
161
+ satisfies?: string[];
162
+ /**
163
+ * RFC-0396: Traceability to a vendored spec node.
164
+ * Format: "<spec-id>/<node-id>", e.g. "pbp-specification-package/RFC-PBP-000".
165
+ * Set by spec.materialize; optional for non-spec RFCs.
166
+ */
167
+ specRef?: string;
168
+ /**
169
+ * RFC-0478: Platform versioning enforcement. Declares the SemVer delta
170
+ * this RFC produces when implemented. Required for post-cutoff implemented
171
+ * RFCs (V-29). Values: "minor" (Breaks-B, requires migrator), "patch" (safe),
172
+ * "none" (prose-only), "major" (architectural, manually reserved).
173
+ */
174
+ versionBump?: "minor" | "patch" | "none" | "major";
175
+ /**
176
+ * RFC-0480: Declares that this RFC changes Layer C external surfaces
177
+ * (URL schema, JSON-LD types, sitemap shape). If true, the RFC must
178
+ * modify files in packages/ontology/src/external-surfaces/. Validated
179
+ * by V-30.
180
+ */
181
+ breaksC?: boolean;
182
+ }
183
+ /**
184
+ * Closed probe vocabulary (v1). `run` commands are restricted to the
185
+ * site-kernel CLI itself (string must start with "site-kernel ") — no
186
+ * arbitrary shell, keeping the probe surface auditable and platform-independent.
187
+ */
188
+ export type AcceptanceProbe = {
189
+ probe: "run";
190
+ command: string;
191
+ expect: {
192
+ exitCode: number;
193
+ };
194
+ } | {
195
+ probe: "file-exists";
196
+ path: string;
197
+ } | {
198
+ probe: "file-contains";
199
+ path: string;
200
+ pattern: string;
201
+ } | {
202
+ probe: "command-registered";
203
+ name: string;
204
+ } | {
205
+ probe: "page";
206
+ path: string;
207
+ expectStatus?: number;
208
+ selector?: string;
209
+ textPattern?: string;
210
+ allowConsoleErrors?: boolean;
211
+ };
212
+ export interface ProbeResult {
213
+ probe: AcceptanceProbe;
214
+ ok: boolean;
215
+ /** Actual exit code / resolution info. */
216
+ detail: string;
217
+ }
218
+ export interface RfcAcceptanceRunResult {
219
+ command: "rfc.acceptance.run";
220
+ status: "pass" | "fail";
221
+ diagnostics: Diagnostic[];
222
+ results: Array<{
223
+ rfcId: string;
224
+ probeResults: ProbeResult[];
225
+ }>;
226
+ }
227
+ export interface VerificationEvidenceProbeRecord {
228
+ probe: AcceptanceProbe;
229
+ ok: boolean;
230
+ detail: string;
231
+ durationMs: number;
232
+ }
233
+ export interface VerificationEvidence {
234
+ rfcId: string;
235
+ title: string;
236
+ rfcStatus: RfcStatus;
237
+ emittedAt: string;
238
+ commit: string;
239
+ workingTreeDirty: boolean;
240
+ kernelVersion: string;
241
+ rfcFileHash: string;
242
+ acceptanceHash: string;
243
+ probes: VerificationEvidenceProbeRecord[];
244
+ overall: "pass" | "fail";
245
+ filesModified?: string[];
246
+ }
247
+ export interface RfcVerificationEmitResult {
248
+ command: "rfc.verification.emit";
249
+ status: "pass" | "fail";
250
+ emitted: Array<{
251
+ rfcId: string;
252
+ file: string;
253
+ overall: "pass" | "fail";
254
+ }>;
255
+ skipped: Array<{
256
+ rfcId: string;
257
+ reason: "no-probes";
258
+ }>;
259
+ diagnostics: Diagnostic[];
260
+ }
261
+ export interface RfcValidationViolation {
262
+ rfcId: string;
263
+ file: string;
264
+ rule: string;
265
+ message: string;
266
+ severity: "error" | "warning";
267
+ }
268
+ export interface RfcValidationResult {
269
+ command: "rfc.validate";
270
+ status: "pass" | "fail";
271
+ count: number;
272
+ violations: RfcValidationViolation[];
273
+ }
274
+ export interface RfcCommandLifecycleDiagnosticData {
275
+ rfcId: string;
276
+ command: string;
277
+ status: RfcStatus;
278
+ bucket: "proposed" | "added" | "changed" | "removed";
279
+ }
280
+ export interface RfcCommandLifecycleViolation {
281
+ rfcId: string;
282
+ file: string;
283
+ rule: "RFC-CMD-01" | "RFC-CMD-02" | "RFC-CMD-03" | "RFC-CMD-04" | "RFC-CMD-05";
284
+ message: string;
285
+ severity: "error" | "warning";
286
+ data: RfcCommandLifecycleDiagnosticData;
287
+ }
288
+ export interface RfcCommandLifecycleValidationResult {
289
+ command: "rfc.command-lifecycle.validate";
290
+ status: "pass" | "fail";
291
+ count: number;
292
+ violations: RfcCommandLifecycleViolation[];
293
+ }
294
+ /** Compact RFC summary for list output. */
295
+ export interface RfcListEntry {
296
+ id: string;
297
+ title: string;
298
+ status: RfcStatus;
299
+ kind: RfcKind;
300
+ scope: RfcScope;
301
+ owners: string[];
302
+ createdAt: string;
303
+ updatedAt: string;
304
+ file: string;
305
+ }
306
+ export interface RfcListResult {
307
+ command: "rfc.list";
308
+ status: "ok";
309
+ count: number;
310
+ entries: RfcListEntry[];
311
+ }
312
+ export interface RfcCreateResult {
313
+ command: "rfc.create";
314
+ status: "ok";
315
+ file: string;
316
+ id: string;
317
+ satisfies?: string[];
318
+ /** RFC-0329: prior decisions consulted at creation time. */
319
+ consultedDecisions?: ConsultedDecision[];
320
+ }
321
+ export interface RfcNextIdResult {
322
+ command: "rfc.next-id";
323
+ nextId: string;
324
+ nextNumber: number;
325
+ maxExistingId: string;
326
+ scannedFiles: number;
327
+ }
328
+ export type DecisionLogEntryKind = "rejected-rfc" | "superseded-rfc" | "rejected-alternative";
329
+ export interface DecisionLogEntry {
330
+ kind: DecisionLogEntryKind;
331
+ rfcId: string;
332
+ title: string;
333
+ status: RfcStatus;
334
+ closedAt?: string;
335
+ supersededBy?: string;
336
+ decisionSummary?: string;
337
+ alternativesText?: string;
338
+ file: string;
339
+ }
340
+ export interface DecisionLogResult {
341
+ command: "rfc.decision-log.generate";
342
+ status: "ok" | "drift";
343
+ count: number;
344
+ entries: DecisionLogEntry[];
345
+ written?: string[];
346
+ }
347
+ export interface ConsultedDecision {
348
+ rfcId: string;
349
+ kind: DecisionLogEntryKind;
350
+ title: string;
351
+ score: number;
352
+ file: string;
353
+ }
354
+ export interface RfcSupersedeProposeResult {
355
+ command: "rfc.supersede.propose";
356
+ status: "ok";
357
+ file: string;
358
+ id: string;
359
+ supersedesTarget: string;
360
+ invariants: string[];
361
+ consultedDecisions: ConsultedDecision[];
362
+ }
363
+ export interface RfcCheckViolation {
364
+ rfcId: string;
365
+ file: string;
366
+ kind: "missing-file" | "missing-feature-flag";
367
+ /** The artifact path or flag key that is missing. */
368
+ artifact: string;
369
+ message: string;
370
+ }
371
+ export interface RfcCheckResult {
372
+ command: "rfc.check";
373
+ status: "pass" | "fail";
374
+ checkedRfcs: number;
375
+ violations: RfcCheckViolation[];
376
+ }
377
+ /** One entry in the rfc.index.generate relationship index. */
378
+ export interface RfcIndexEntry {
379
+ id: string;
380
+ title: string;
381
+ status: RfcStatus;
382
+ kind: RfcKind;
383
+ createdAt: string;
384
+ implementedAt: string;
385
+ closedAt: string;
386
+ supersedes: string[];
387
+ supersededBy: string;
388
+ amends: string[];
389
+ amendedBy: string[];
390
+ related: string[];
391
+ file: string;
392
+ }
393
+ export interface RfcIndexResult {
394
+ command: "rfc.index.generate";
395
+ status: "ok";
396
+ count: number;
397
+ entries: RfcIndexEntry[];
398
+ /** Path written, if --write was passed. */
399
+ written?: string;
400
+ }
401
+ export interface RfcGraphResult {
402
+ command: "rfc.graph";
403
+ status: "ok";
404
+ id: string;
405
+ supersedes: string[];
406
+ supersededBy: string;
407
+ amends: string[];
408
+ amendedBy: string[];
409
+ related: string[];
410
+ }
411
+ export interface RfcImplementStampData {
412
+ rfcId: string;
413
+ implementationCommit: string;
414
+ stampedAt: string;
415
+ criteriaChecked: number;
416
+ evidencePath?: string;
417
+ }
418
+ export type RfcImplementStampRule = "RFC-IMP-01" | "RFC-IMP-02" | "RFC-IMP-03" | "RFC-IMP-04" | "RFC-IMP-05" | "RFC-IMP-06";
419
+ export interface RfcImplementStampViolation {
420
+ rule: RfcImplementStampRule;
421
+ message: string;
422
+ }
423
+ export interface RfcImplementStampResult {
424
+ command: "rfc.implement.stamp";
425
+ status: "pass" | "fail";
426
+ data?: RfcImplementStampData;
427
+ violations: RfcImplementStampViolation[];
428
+ }
429
+ export declare const RFC_DIR = "docs/rfcs";
430
+ export declare const RFC_TEMPLATE_FILE = "os/rfc/rfc-0000-template.md";
431
+ export declare const RFC_ID_PATTERN: RegExp;
432
+ /** Required H2 sections for every RFC. */
433
+ export declare const RFC_FULL_REQUIRED_SECTIONS: readonly ["Context", "Problem", "Decision", "Architectural fit", "Design", "Rollout", "Alternatives considered", "Risks", "Acceptance criteria", "Implementation notes for agents"];
434
+ /** Every frontmatter key the RFC schema sanctions. V-20 warns on anything else. */
435
+ export declare const RFC_KNOWN_KEYS: readonly string[];
436
+ /**
437
+ * RFC-0330 / RFC-0331 / RFC-0335: shared cutoff date for new metadata rules.
438
+ * RFCs created on or after this date are subject to V-23 (evidence), V-24 (DNA-trace),
439
+ * and V-25 (reviewer identity). RFCs created before are exempt.
440
+ */
441
+ export declare const RFC_METADATA_CUTOFF = "2026-07-07";
442
+ /**
443
+ * RFC-0478: cutoff date for versionBump enforcement (V-29).
444
+ * RFCs created on or after this date with status "implemented" must declare
445
+ * a versionBump field. RFCs created before are exempt.
446
+ */
447
+ export declare const RFC_VERSION_BUMP_CUTOFF = "2026-07-21";
448
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../os/rfc/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /***************************************************************
2
+ * <MODULE_CONTRACT>
3
+ * <purpose>
4
+ * Defines types and constants for managing RFC lifecycle,
5
+ * including statuses, kinds, and scopes, facilitating
6
+ * structured proposal submissions.
7
+ * </purpose>
8
+ * * * <non-goals>
9
+ * <item>Do not implement RFC processing or validation logic here.</item>
10
+ * <item>Do not handle user input or command execution related to RFCs.</item>
11
+ * <item>Do not manage the storage or retrieval of RFC documents.</item>
12
+ * </non-goals>
13
+ * </MODULE_CONTRACT>
14
+ * * <CHANGE_SUMMARY>
15
+ <item>Tidied by compass.changesummary.tidy; see git history for prior entries.</item>
16
+ <item>RFC-0465: added specRef field to RfcFrontmatter interface and RFC_KNOWN_KEYS array for PBP spec traceability.</item>
17
+ <item>RFC-0478: added versionBump field to RfcFrontmatter interface and RFC_KNOWN_KEYS array for platform versioning enforcement.</item>
18
+ <item>RFC-0480: added breaksC field to RfcFrontmatter interface and RFC_KNOWN_KEYS array for Layer C protection.</item>
19
+ </CHANGE_SUMMARY>
20
+ ***************************************************************/
21
+ export const RFC_STATUSES = [
22
+ "draft",
23
+ "reviewing",
24
+ "accepted",
25
+ "implemented",
26
+ "rejected",
27
+ "superseded",
28
+ ];
29
+ export const RFC_KINDS = [
30
+ "architecture",
31
+ "contract",
32
+ "command",
33
+ "policy",
34
+ "deprecation",
35
+ ];
36
+ export const RFC_SCOPES = ["app", "workspace"]; // ─── Frontmatter ─────────────────────────────────────────────────────────────
37
+ export const RFC_DIR = "docs/rfcs";
38
+ export const RFC_TEMPLATE_FILE = "os/rfc/rfc-0000-template.md";
39
+ export const RFC_ID_PATTERN = /^RFC-\d{4}$/;
40
+ /** Required H2 sections for every RFC. */
41
+ export const RFC_FULL_REQUIRED_SECTIONS = [
42
+ "Context",
43
+ "Problem",
44
+ "Decision",
45
+ "Architectural fit",
46
+ "Design",
47
+ "Rollout",
48
+ "Alternatives considered",
49
+ "Risks",
50
+ "Acceptance criteria",
51
+ "Implementation notes for agents",
52
+ ];
53
+ /** Every frontmatter key the RFC schema sanctions. V-20 warns on anything else. */
54
+ export const RFC_KNOWN_KEYS = [
55
+ "id",
56
+ "title",
57
+ "status",
58
+ "kind",
59
+ "scope",
60
+ "owners",
61
+ "reviewers",
62
+ "createdAt",
63
+ "updatedAt",
64
+ "enhancedAt",
65
+ "implementedAt",
66
+ "closedAt",
67
+ "supersedes",
68
+ "supersededBy",
69
+ "amends",
70
+ "amendedBy",
71
+ "related",
72
+ "commands",
73
+ "appsImpacted",
74
+ "packagesImpacted",
75
+ "successSignals",
76
+ "nonGoals",
77
+ "acceptance",
78
+ "satisfies",
79
+ "specRef",
80
+ "versionBump",
81
+ "breaksC",
82
+ ];
83
+ /**
84
+ * RFC-0330 / RFC-0331 / RFC-0335: shared cutoff date for new metadata rules.
85
+ * RFCs created on or after this date are subject to V-23 (evidence), V-24 (DNA-trace),
86
+ * and V-25 (reviewer identity). RFCs created before are exempt.
87
+ */
88
+ export const RFC_METADATA_CUTOFF = "2026-07-07";
89
+ /**
90
+ * RFC-0478: cutoff date for versionBump enforcement (V-29).
91
+ * RFCs created on or after this date with status "implemented" must declare
92
+ * a versionBump field. RFCs created before are exempt.
93
+ */
94
+ export const RFC_VERSION_BUMP_CUTOFF = "2026-07-21";
95
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../os/rfc/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;iEAmBiE;AA4BjE,MAAM,CAAC,MAAM,YAAY,GAAyB;IAChD,OAAO;IACP,WAAW;IACX,UAAU;IACV,aAAa;IACb,UAAU;IACV,YAAY;CACJ,CAAC;AAaX,MAAM,CAAC,MAAM,SAAS,GAAuB;IAC3C,cAAc;IACd,UAAU;IACV,SAAS;IACT,QAAQ;IACR,aAAa;CACL,CAAC;AAUX,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,KAAK,EAAE,WAAW,CAAU,CAAC,CAAC,gFAAgF;AAmZ9J,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAE5C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,SAAS;IACT,SAAS;IACT,UAAU;IACV,mBAAmB;IACnB,QAAQ;IACR,SAAS;IACT,yBAAyB;IACzB,OAAO;IACP,qBAAqB;IACrB,iCAAiC;CACzB,CAAC;AAEX,mFAAmF;AACnF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,IAAI;IACJ,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,eAAe;IACf,UAAU;IACV,YAAY;IACZ,cAAc;IACd,QAAQ;IACR,WAAW;IACX,SAAS;IACT,UAAU;IACV,cAAc;IACd,kBAAkB;IAClB,gBAAgB;IAChB,UAAU;IACV,YAAY;IACZ,WAAW;IACX,SAAS;IACT,aAAa;IACb,SAAS;CACD,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { AcceptanceProbe, RfcStatus, VerificationEvidence, VerificationEvidenceProbeRecord, RfcVerificationEmitResult } from "./types.ts";
2
+ import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../src/types.ts";
3
+ export declare function buildEvidenceEnvelope(rfcId: string, title: string, rfcStatus: RfcStatus, rfcMarkdown: string, probes: AcceptanceProbe[], probeRecords: VerificationEvidenceProbeRecord[], gitContext: {
4
+ commit: string;
5
+ workingTreeDirty: boolean;
6
+ }, kernelVersion: string, emittedAt: string): VerificationEvidence;
7
+ export declare function runRfcVerificationEmit(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<RfcVerificationEmitResult>>;
8
+ //# sourceMappingURL=verification-evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-evidence.d.ts","sourceRoot":"","sources":["../../../os/rfc/verification-evidence.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAEV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAgD5B,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,EAAE,EACzB,YAAY,EAAE,+BAA+B,EAAE,EAC/C,UAAU,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAA;CAAE,EACzD,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,oBAAoB,CAetB;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC,CA0HxD"}