@warpgogol/forge 4.1.6 → 4.2.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 (756) hide show
  1. package/AGENTS.md +2 -1
  2. package/CHANGELOG.md +33 -0
  3. package/CONTRIBUTING.md +36 -0
  4. package/README.md +129 -535
  5. package/README.uk.md +145 -554
  6. package/SECURITY.md +17 -0
  7. package/dist/bin/cli.d.ts +3 -0
  8. package/dist/bin/cli.d.ts.map +1 -0
  9. package/dist/bin/cli.js +296 -0
  10. package/dist/bin/cli.js.map +1 -0
  11. package/dist/os/adr/adr.module.d.ts +3 -0
  12. package/dist/os/adr/adr.module.d.ts.map +1 -0
  13. package/dist/os/adr/adr.module.js +153 -0
  14. package/dist/os/adr/adr.module.js.map +1 -0
  15. package/dist/os/adr/frontmatter-io.d.ts +12 -0
  16. package/dist/os/adr/frontmatter-io.d.ts.map +1 -0
  17. package/dist/os/adr/frontmatter-io.js +67 -0
  18. package/dist/os/adr/frontmatter-io.js.map +1 -0
  19. package/dist/os/adr/handlers/archive.d.ts +24 -0
  20. package/dist/os/adr/handlers/archive.d.ts.map +1 -0
  21. package/dist/os/adr/handlers/archive.js +194 -0
  22. package/dist/os/adr/handlers/archive.js.map +1 -0
  23. package/dist/os/adr/handlers/implement-stamp.d.ts +4 -0
  24. package/dist/os/adr/handlers/implement-stamp.d.ts.map +1 -0
  25. package/dist/os/adr/handlers/implement-stamp.js +264 -0
  26. package/dist/os/adr/handlers/implement-stamp.js.map +1 -0
  27. package/dist/os/adr/handlers/list-create.d.ts +5 -0
  28. package/dist/os/adr/handlers/list-create.d.ts.map +1 -0
  29. package/dist/os/adr/handlers/list-create.js +201 -0
  30. package/dist/os/adr/handlers/list-create.js.map +1 -0
  31. package/dist/os/adr/handlers/validate.d.ts +4 -0
  32. package/dist/os/adr/handlers/validate.d.ts.map +1 -0
  33. package/dist/os/adr/handlers/validate.js +304 -0
  34. package/dist/os/adr/handlers/validate.js.map +1 -0
  35. package/dist/os/adr/index.d.ts +8 -0
  36. package/dist/os/adr/index.d.ts.map +1 -0
  37. package/dist/os/adr/index.js +18 -0
  38. package/dist/os/adr/index.js.map +1 -0
  39. package/dist/os/adr/types.d.ts +81 -0
  40. package/dist/os/adr/types.d.ts.map +1 -0
  41. package/dist/os/adr/types.js +62 -0
  42. package/dist/os/adr/types.js.map +1 -0
  43. package/dist/os/audit/audit.module.d.ts +3 -0
  44. package/dist/os/audit/audit.module.d.ts.map +1 -0
  45. package/dist/os/audit/audit.module.js +50 -0
  46. package/dist/os/audit/audit.module.js.map +1 -0
  47. package/dist/os/audit/frontmatter-io.d.ts +12 -0
  48. package/dist/os/audit/frontmatter-io.d.ts.map +1 -0
  49. package/dist/os/audit/frontmatter-io.js +71 -0
  50. package/dist/os/audit/frontmatter-io.js.map +1 -0
  51. package/dist/os/audit/handlers/archive.d.ts +4 -0
  52. package/dist/os/audit/handlers/archive.d.ts.map +1 -0
  53. package/dist/os/audit/handlers/archive.js +207 -0
  54. package/dist/os/audit/handlers/archive.js.map +1 -0
  55. package/dist/os/audit/index.d.ts +6 -0
  56. package/dist/os/audit/index.d.ts.map +1 -0
  57. package/dist/os/audit/index.js +16 -0
  58. package/dist/os/audit/index.js.map +1 -0
  59. package/dist/os/audit/types.d.ts +12 -0
  60. package/dist/os/audit/types.d.ts.map +1 -0
  61. package/dist/os/audit/types.js +17 -0
  62. package/dist/os/audit/types.js.map +1 -0
  63. package/dist/os/compass/compass.module.d.ts +3 -0
  64. package/dist/os/compass/compass.module.d.ts.map +1 -0
  65. package/dist/os/compass/compass.module.js +191 -0
  66. package/dist/os/compass/compass.module.js.map +1 -0
  67. package/dist/os/compass/handlers/compass-audit-handler.d.ts +36 -0
  68. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -0
  69. package/dist/os/compass/handlers/compass-audit-handler.js +260 -0
  70. package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -0
  71. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +19 -0
  72. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -0
  73. package/dist/os/compass/handlers/compass-change-summary-handler.js +222 -0
  74. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -0
  75. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +28 -0
  76. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -0
  77. package/dist/os/compass/handlers/compass-inventory-handler.js +387 -0
  78. package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -0
  79. package/dist/os/compass/handlers/compass-inventory.d.ts +30 -0
  80. package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -0
  81. package/dist/os/compass/handlers/compass-inventory.js +472 -0
  82. package/dist/os/compass/handlers/compass-inventory.js.map +1 -0
  83. package/dist/os/compass/handlers/git-revision.d.ts +8 -0
  84. package/dist/os/compass/handlers/git-revision.d.ts.map +1 -0
  85. package/dist/os/compass/handlers/git-revision.js +99 -0
  86. package/dist/os/compass/handlers/git-revision.js.map +1 -0
  87. package/dist/os/compass/handlers/resolve-scan-root.d.ts +3 -0
  88. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -0
  89. package/dist/os/compass/handlers/resolve-scan-root.js +57 -0
  90. package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -0
  91. package/dist/os/compass/index.d.ts +8 -0
  92. package/dist/os/compass/index.d.ts.map +1 -0
  93. package/dist/os/compass/index.js +19 -0
  94. package/dist/os/compass/index.js.map +1 -0
  95. package/dist/os/core/core.module.d.ts +3 -0
  96. package/dist/os/core/core.module.d.ts.map +1 -0
  97. package/dist/os/core/core.module.js +855 -0
  98. package/dist/os/core/core.module.js.map +1 -0
  99. package/dist/os/core/handlers/assets-check.d.ts +19 -0
  100. package/dist/os/core/handlers/assets-check.d.ts.map +1 -0
  101. package/dist/os/core/handlers/assets-check.js +89 -0
  102. package/dist/os/core/handlers/assets-check.js.map +1 -0
  103. package/dist/os/core/handlers/assets-helpers.d.ts +28 -0
  104. package/dist/os/core/handlers/assets-helpers.d.ts.map +1 -0
  105. package/dist/os/core/handlers/assets-helpers.js +128 -0
  106. package/dist/os/core/handlers/assets-helpers.js.map +1 -0
  107. package/dist/os/core/handlers/assets-list.d.ts +9 -0
  108. package/dist/os/core/handlers/assets-list.d.ts.map +1 -0
  109. package/dist/os/core/handlers/assets-list.js +72 -0
  110. package/dist/os/core/handlers/assets-list.js.map +1 -0
  111. package/dist/os/core/handlers/build.d.ts +16 -0
  112. package/dist/os/core/handlers/build.d.ts.map +1 -0
  113. package/dist/os/core/handlers/build.js +123 -0
  114. package/dist/os/core/handlers/build.js.map +1 -0
  115. package/dist/os/core/handlers/determinism-check.d.ts +20 -0
  116. package/dist/os/core/handlers/determinism-check.d.ts.map +1 -0
  117. package/dist/os/core/handlers/determinism-check.js +289 -0
  118. package/dist/os/core/handlers/determinism-check.js.map +1 -0
  119. package/dist/os/core/handlers/dev.d.ts +10 -0
  120. package/dist/os/core/handlers/dev.d.ts.map +1 -0
  121. package/dist/os/core/handlers/dev.js +102 -0
  122. package/dist/os/core/handlers/dev.js.map +1 -0
  123. package/dist/os/core/handlers/forge-autonomy-validate.d.ts +18 -0
  124. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +1 -0
  125. package/dist/os/core/handlers/forge-autonomy-validate.js +115 -0
  126. package/dist/os/core/handlers/forge-autonomy-validate.js.map +1 -0
  127. package/dist/os/core/handlers/knowledge-compact.d.ts +4 -0
  128. package/dist/os/core/handlers/knowledge-compact.d.ts.map +1 -0
  129. package/dist/os/core/handlers/knowledge-compact.js +204 -0
  130. package/dist/os/core/handlers/knowledge-compact.js.map +1 -0
  131. package/dist/os/core/handlers/package-health.d.ts +17 -0
  132. package/dist/os/core/handlers/package-health.d.ts.map +1 -0
  133. package/dist/os/core/handlers/package-health.js +217 -0
  134. package/dist/os/core/handlers/package-health.js.map +1 -0
  135. package/dist/os/core/handlers/pinned-check.d.ts +49 -0
  136. package/dist/os/core/handlers/pinned-check.d.ts.map +1 -0
  137. package/dist/os/core/handlers/pinned-check.js +159 -0
  138. package/dist/os/core/handlers/pinned-check.js.map +1 -0
  139. package/dist/os/core/handlers/pinned-init.d.ts +19 -0
  140. package/dist/os/core/handlers/pinned-init.d.ts.map +1 -0
  141. package/dist/os/core/handlers/pinned-init.js +283 -0
  142. package/dist/os/core/handlers/pinned-init.js.map +1 -0
  143. package/dist/os/core/handlers/pinned-types.d.ts +29 -0
  144. package/dist/os/core/handlers/pinned-types.d.ts.map +1 -0
  145. package/dist/os/core/handlers/pinned-types.js +16 -0
  146. package/dist/os/core/handlers/pinned-types.js.map +1 -0
  147. package/dist/os/core/handlers/pinned-validate.d.ts +4 -0
  148. package/dist/os/core/handlers/pinned-validate.d.ts.map +1 -0
  149. package/dist/os/core/handlers/pinned-validate.js +248 -0
  150. package/dist/os/core/handlers/pinned-validate.js.map +1 -0
  151. package/dist/os/core/handlers/profile-resolve.d.ts +13 -0
  152. package/dist/os/core/handlers/profile-resolve.d.ts.map +1 -0
  153. package/dist/os/core/handlers/profile-resolve.js +65 -0
  154. package/dist/os/core/handlers/profile-resolve.js.map +1 -0
  155. package/dist/os/core/handlers/public-surface.d.ts +13 -0
  156. package/dist/os/core/handlers/public-surface.d.ts.map +1 -0
  157. package/dist/os/core/handlers/public-surface.js +148 -0
  158. package/dist/os/core/handlers/public-surface.js.map +1 -0
  159. package/dist/os/core/handlers/release-prepare.d.ts +25 -0
  160. package/dist/os/core/handlers/release-prepare.d.ts.map +1 -0
  161. package/dist/os/core/handlers/release-prepare.js +228 -0
  162. package/dist/os/core/handlers/release-prepare.js.map +1 -0
  163. package/dist/os/core/handlers/release-publish.d.ts +13 -0
  164. package/dist/os/core/handlers/release-publish.d.ts.map +1 -0
  165. package/dist/os/core/handlers/release-publish.js +173 -0
  166. package/dist/os/core/handlers/release-publish.js.map +1 -0
  167. package/dist/os/core/handlers/validate.d.ts +39 -0
  168. package/dist/os/core/handlers/validate.d.ts.map +1 -0
  169. package/dist/os/core/handlers/validate.js +241 -0
  170. package/dist/os/core/handlers/validate.js.map +1 -0
  171. package/dist/os/core/index.d.ts +2 -0
  172. package/dist/os/core/index.d.ts.map +1 -0
  173. package/dist/os/core/index.js +13 -0
  174. package/dist/os/core/index.js.map +1 -0
  175. package/dist/os/exploration/exploration.module.d.ts +3 -0
  176. package/dist/os/exploration/exploration.module.d.ts.map +1 -0
  177. package/dist/os/exploration/exploration.module.js +88 -0
  178. package/dist/os/exploration/exploration.module.js.map +1 -0
  179. package/dist/os/exploration/frontmatter-io.d.ts +13 -0
  180. package/dist/os/exploration/frontmatter-io.d.ts.map +1 -0
  181. package/dist/os/exploration/frontmatter-io.js +61 -0
  182. package/dist/os/exploration/frontmatter-io.js.map +1 -0
  183. package/dist/os/exploration/handlers/archive.d.ts +4 -0
  184. package/dist/os/exploration/handlers/archive.d.ts.map +1 -0
  185. package/dist/os/exploration/handlers/archive.js +141 -0
  186. package/dist/os/exploration/handlers/archive.js.map +1 -0
  187. package/dist/os/exploration/handlers/list.d.ts +4 -0
  188. package/dist/os/exploration/handlers/list.d.ts.map +1 -0
  189. package/dist/os/exploration/handlers/list.js +64 -0
  190. package/dist/os/exploration/handlers/list.js.map +1 -0
  191. package/dist/os/exploration/handlers/show.d.ts +4 -0
  192. package/dist/os/exploration/handlers/show.d.ts.map +1 -0
  193. package/dist/os/exploration/handlers/show.js +97 -0
  194. package/dist/os/exploration/handlers/show.js.map +1 -0
  195. package/dist/os/exploration/index.d.ts +7 -0
  196. package/dist/os/exploration/index.d.ts.map +1 -0
  197. package/dist/os/exploration/index.js +17 -0
  198. package/dist/os/exploration/index.js.map +1 -0
  199. package/dist/os/exploration/types.d.ts +38 -0
  200. package/dist/os/exploration/types.d.ts.map +1 -0
  201. package/dist/os/exploration/types.js +23 -0
  202. package/dist/os/exploration/types.js.map +1 -0
  203. package/dist/os/mission/handlers/archive.d.ts +4 -0
  204. package/dist/os/mission/handlers/archive.d.ts.map +1 -0
  205. package/dist/os/mission/handlers/archive.js +454 -0
  206. package/dist/os/mission/handlers/archive.js.map +1 -0
  207. package/dist/os/mission/index.d.ts +2 -0
  208. package/dist/os/mission/index.d.ts.map +1 -0
  209. package/dist/os/mission/index.js +2 -0
  210. package/dist/os/mission/index.js.map +1 -0
  211. package/dist/os/mission/mission.module.d.ts +3 -0
  212. package/dist/os/mission/mission.module.d.ts.map +1 -0
  213. package/dist/os/mission/mission.module.js +55 -0
  214. package/dist/os/mission/mission.module.js.map +1 -0
  215. package/dist/os/mission/types.d.ts +23 -0
  216. package/dist/os/mission/types.d.ts.map +1 -0
  217. package/dist/os/mission/types.js +19 -0
  218. package/dist/os/mission/types.js.map +1 -0
  219. package/dist/os/naming/index.d.ts +3 -0
  220. package/dist/os/naming/index.d.ts.map +1 -0
  221. package/dist/os/naming/index.js +14 -0
  222. package/dist/os/naming/index.js.map +1 -0
  223. package/dist/os/naming/naming-convention.d.ts +25 -0
  224. package/dist/os/naming/naming-convention.d.ts.map +1 -0
  225. package/dist/os/naming/naming-convention.js +334 -0
  226. package/dist/os/naming/naming-convention.js.map +1 -0
  227. package/dist/os/naming/naming.module.d.ts +3 -0
  228. package/dist/os/naming/naming.module.d.ts.map +1 -0
  229. package/dist/os/naming/naming.module.js +41 -0
  230. package/dist/os/naming/naming.module.js.map +1 -0
  231. package/dist/os/notes/index.d.ts +2 -0
  232. package/dist/os/notes/index.d.ts.map +1 -0
  233. package/dist/os/notes/index.js +10 -0
  234. package/dist/os/notes/index.js.map +1 -0
  235. package/dist/os/notes/notes.module.d.ts +3 -0
  236. package/dist/os/notes/notes.module.d.ts.map +1 -0
  237. package/dist/os/notes/notes.module.js +93 -0
  238. package/dist/os/notes/notes.module.js.map +1 -0
  239. package/dist/os/plan/frontmatter-io.d.ts +12 -0
  240. package/dist/os/plan/frontmatter-io.d.ts.map +1 -0
  241. package/dist/os/plan/frontmatter-io.js +69 -0
  242. package/dist/os/plan/frontmatter-io.js.map +1 -0
  243. package/dist/os/plan/handlers/archive.d.ts +4 -0
  244. package/dist/os/plan/handlers/archive.d.ts.map +1 -0
  245. package/dist/os/plan/handlers/archive.js +206 -0
  246. package/dist/os/plan/handlers/archive.js.map +1 -0
  247. package/dist/os/plan/index.d.ts +6 -0
  248. package/dist/os/plan/index.d.ts.map +1 -0
  249. package/dist/os/plan/index.js +16 -0
  250. package/dist/os/plan/index.js.map +1 -0
  251. package/dist/os/plan/plan.module.d.ts +3 -0
  252. package/dist/os/plan/plan.module.d.ts.map +1 -0
  253. package/dist/os/plan/plan.module.js +50 -0
  254. package/dist/os/plan/plan.module.js.map +1 -0
  255. package/dist/os/plan/types.d.ts +12 -0
  256. package/dist/os/plan/types.d.ts.map +1 -0
  257. package/dist/os/plan/types.js +17 -0
  258. package/dist/os/plan/types.js.map +1 -0
  259. package/dist/os/plugin/plugin.module.d.ts +25 -0
  260. package/dist/os/plugin/plugin.module.d.ts.map +1 -0
  261. package/dist/os/plugin/plugin.module.js +212 -0
  262. package/dist/os/plugin/plugin.module.js.map +1 -0
  263. package/dist/os/program/discovery.d.ts +61 -0
  264. package/dist/os/program/discovery.d.ts.map +1 -0
  265. package/dist/os/program/discovery.js +236 -0
  266. package/dist/os/program/discovery.js.map +1 -0
  267. package/dist/os/program/handlers/complete.d.ts +12 -0
  268. package/dist/os/program/handlers/complete.d.ts.map +1 -0
  269. package/dist/os/program/handlers/complete.js +362 -0
  270. package/dist/os/program/handlers/complete.js.map +1 -0
  271. package/dist/os/program/handlers/lease.d.ts +13 -0
  272. package/dist/os/program/handlers/lease.d.ts.map +1 -0
  273. package/dist/os/program/handlers/lease.js +328 -0
  274. package/dist/os/program/handlers/lease.js.map +1 -0
  275. package/dist/os/program/handlers/seal.d.ts +12 -0
  276. package/dist/os/program/handlers/seal.d.ts.map +1 -0
  277. package/dist/os/program/handlers/seal.js +277 -0
  278. package/dist/os/program/handlers/seal.js.map +1 -0
  279. package/dist/os/program/handlers/validate.d.ts +14 -0
  280. package/dist/os/program/handlers/validate.d.ts.map +1 -0
  281. package/dist/os/program/handlers/validate.js +170 -0
  282. package/dist/os/program/handlers/validate.js.map +1 -0
  283. package/dist/os/program/lease.d.ts +39 -0
  284. package/dist/os/program/lease.d.ts.map +1 -0
  285. package/dist/os/program/lease.js +129 -0
  286. package/dist/os/program/lease.js.map +1 -0
  287. package/dist/os/program/program.module.d.ts +3 -0
  288. package/dist/os/program/program.module.d.ts.map +1 -0
  289. package/dist/os/program/program.module.js +209 -0
  290. package/dist/os/program/program.module.js.map +1 -0
  291. package/dist/os/program/schemas.d.ts +225 -0
  292. package/dist/os/program/schemas.d.ts.map +1 -0
  293. package/dist/os/program/schemas.js +174 -0
  294. package/dist/os/program/schemas.js.map +1 -0
  295. package/dist/os/program/state.d.ts +38 -0
  296. package/dist/os/program/state.d.ts.map +1 -0
  297. package/dist/os/program/state.js +189 -0
  298. package/dist/os/program/state.js.map +1 -0
  299. package/dist/os/rfc/acceptance.d.ts +15 -0
  300. package/dist/os/rfc/acceptance.d.ts.map +1 -0
  301. package/dist/os/rfc/acceptance.js +438 -0
  302. package/dist/os/rfc/acceptance.js.map +1 -0
  303. package/dist/os/rfc/decision-log.d.ts +6 -0
  304. package/dist/os/rfc/decision-log.d.ts.map +1 -0
  305. package/dist/os/rfc/decision-log.js +269 -0
  306. package/dist/os/rfc/decision-log.js.map +1 -0
  307. package/dist/os/rfc/dna-trace.d.ts +27 -0
  308. package/dist/os/rfc/dna-trace.d.ts.map +1 -0
  309. package/dist/os/rfc/dna-trace.js +214 -0
  310. package/dist/os/rfc/dna-trace.js.map +1 -0
  311. package/dist/os/rfc/frontmatter-io.d.ts +18 -0
  312. package/dist/os/rfc/frontmatter-io.d.ts.map +1 -0
  313. package/dist/os/rfc/frontmatter-io.js +110 -0
  314. package/dist/os/rfc/frontmatter-io.js.map +1 -0
  315. package/dist/os/rfc/handlers/archive.d.ts +25 -0
  316. package/dist/os/rfc/handlers/archive.d.ts.map +1 -0
  317. package/dist/os/rfc/handlers/archive.js +247 -0
  318. package/dist/os/rfc/handlers/archive.js.map +1 -0
  319. package/dist/os/rfc/handlers/check.d.ts +4 -0
  320. package/dist/os/rfc/handlers/check.d.ts.map +1 -0
  321. package/dist/os/rfc/handlers/check.js +203 -0
  322. package/dist/os/rfc/handlers/check.js.map +1 -0
  323. package/dist/os/rfc/handlers/implement-stamp.d.ts +4 -0
  324. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -0
  325. package/dist/os/rfc/handlers/implement-stamp.js +452 -0
  326. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -0
  327. package/dist/os/rfc/handlers/index-graph.d.ts +13 -0
  328. package/dist/os/rfc/handlers/index-graph.d.ts.map +1 -0
  329. package/dist/os/rfc/handlers/index-graph.js +192 -0
  330. package/dist/os/rfc/handlers/index-graph.js.map +1 -0
  331. package/dist/os/rfc/handlers/lifecycle.d.ts +13 -0
  332. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -0
  333. package/dist/os/rfc/handlers/lifecycle.js +155 -0
  334. package/dist/os/rfc/handlers/lifecycle.js.map +1 -0
  335. package/dist/os/rfc/handlers/list-create.d.ts +6 -0
  336. package/dist/os/rfc/handlers/list-create.d.ts.map +1 -0
  337. package/dist/os/rfc/handlers/list-create.js +260 -0
  338. package/dist/os/rfc/handlers/list-create.js.map +1 -0
  339. package/dist/os/rfc/handlers/pipeline-status.d.ts +26 -0
  340. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -0
  341. package/dist/os/rfc/handlers/pipeline-status.js +124 -0
  342. package/dist/os/rfc/handlers/pipeline-status.js.map +1 -0
  343. package/dist/os/rfc/handlers/shared.d.ts +22 -0
  344. package/dist/os/rfc/handlers/shared.d.ts.map +1 -0
  345. package/dist/os/rfc/handlers/shared.js +105 -0
  346. package/dist/os/rfc/handlers/shared.js.map +1 -0
  347. package/dist/os/rfc/handlers/supersede-propose.d.ts +4 -0
  348. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -0
  349. package/dist/os/rfc/handlers/supersede-propose.js +203 -0
  350. package/dist/os/rfc/handlers/supersede-propose.js.map +1 -0
  351. package/dist/os/rfc/handlers/validate-rules.d.ts +80 -0
  352. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -0
  353. package/dist/os/rfc/handlers/validate-rules.js +907 -0
  354. package/dist/os/rfc/handlers/validate-rules.js.map +1 -0
  355. package/dist/os/rfc/handlers/validate.d.ts +4 -0
  356. package/dist/os/rfc/handlers/validate.d.ts.map +1 -0
  357. package/dist/os/rfc/handlers/validate.js +134 -0
  358. package/dist/os/rfc/handlers/validate.js.map +1 -0
  359. package/dist/os/rfc/handlers.d.ts +7 -0
  360. package/dist/os/rfc/handlers.d.ts.map +1 -0
  361. package/dist/os/rfc/handlers.js +19 -0
  362. package/dist/os/rfc/handlers.js.map +1 -0
  363. package/dist/os/rfc/index.d.ts +18 -0
  364. package/dist/os/rfc/index.d.ts.map +1 -0
  365. package/dist/os/rfc/index.js +24 -0
  366. package/dist/os/rfc/index.js.map +1 -0
  367. package/dist/os/rfc/rfc.module.d.ts +3 -0
  368. package/dist/os/rfc/rfc.module.d.ts.map +1 -0
  369. package/dist/os/rfc/rfc.module.js +390 -0
  370. package/dist/os/rfc/rfc.module.js.map +1 -0
  371. package/dist/os/rfc/types.d.ts +559 -0
  372. package/dist/os/rfc/types.d.ts.map +1 -0
  373. package/dist/os/rfc/types.js +118 -0
  374. package/dist/os/rfc/types.js.map +1 -0
  375. package/dist/os/rfc/verification-evidence.d.ts +15 -0
  376. package/dist/os/rfc/verification-evidence.d.ts.map +1 -0
  377. package/dist/os/rfc/verification-evidence.js +185 -0
  378. package/dist/os/rfc/verification-evidence.js.map +1 -0
  379. package/dist/os/rfc/verification-refresh.d.ts +4 -0
  380. package/dist/os/rfc/verification-refresh.d.ts.map +1 -0
  381. package/dist/os/rfc/verification-refresh.js +160 -0
  382. package/dist/os/rfc/verification-refresh.js.map +1 -0
  383. package/dist/os/session/atif-parser.d.ts +29 -0
  384. package/dist/os/session/atif-parser.d.ts.map +1 -0
  385. package/dist/os/session/atif-parser.js +140 -0
  386. package/dist/os/session/atif-parser.js.map +1 -0
  387. package/dist/os/session/frontmatter-io.d.ts +31 -0
  388. package/dist/os/session/frontmatter-io.d.ts.map +1 -0
  389. package/dist/os/session/frontmatter-io.js +146 -0
  390. package/dist/os/session/frontmatter-io.js.map +1 -0
  391. package/dist/os/session/handlers/archive.d.ts +4 -0
  392. package/dist/os/session/handlers/archive.d.ts.map +1 -0
  393. package/dist/os/session/handlers/archive.js +241 -0
  394. package/dist/os/session/handlers/archive.js.map +1 -0
  395. package/dist/os/session/handlers/list.d.ts +4 -0
  396. package/dist/os/session/handlers/list.d.ts.map +1 -0
  397. package/dist/os/session/handlers/list.js +147 -0
  398. package/dist/os/session/handlers/list.js.map +1 -0
  399. package/dist/os/session/handlers/metrics-aggregate.d.ts +4 -0
  400. package/dist/os/session/handlers/metrics-aggregate.d.ts.map +1 -0
  401. package/dist/os/session/handlers/metrics-aggregate.js +183 -0
  402. package/dist/os/session/handlers/metrics-aggregate.js.map +1 -0
  403. package/dist/os/session/handlers/metrics-rfc.d.ts +4 -0
  404. package/dist/os/session/handlers/metrics-rfc.d.ts.map +1 -0
  405. package/dist/os/session/handlers/metrics-rfc.js +272 -0
  406. package/dist/os/session/handlers/metrics-rfc.js.map +1 -0
  407. package/dist/os/session/handlers/metrics-session.d.ts +9 -0
  408. package/dist/os/session/handlers/metrics-session.d.ts.map +1 -0
  409. package/dist/os/session/handlers/metrics-session.js +167 -0
  410. package/dist/os/session/handlers/metrics-session.js.map +1 -0
  411. package/dist/os/session/handlers/save.d.ts +6 -0
  412. package/dist/os/session/handlers/save.d.ts.map +1 -0
  413. package/dist/os/session/handlers/save.js +319 -0
  414. package/dist/os/session/handlers/save.js.map +1 -0
  415. package/dist/os/session/handlers/validate.d.ts +4 -0
  416. package/dist/os/session/handlers/validate.d.ts.map +1 -0
  417. package/dist/os/session/handlers/validate.js +224 -0
  418. package/dist/os/session/handlers/validate.js.map +1 -0
  419. package/dist/os/session/index.d.ts +9 -0
  420. package/dist/os/session/index.d.ts.map +1 -0
  421. package/dist/os/session/index.js +21 -0
  422. package/dist/os/session/index.js.map +1 -0
  423. package/dist/os/session/session.module.d.ts +3 -0
  424. package/dist/os/session/session.module.d.ts.map +1 -0
  425. package/dist/os/session/session.module.js +147 -0
  426. package/dist/os/session/session.module.js.map +1 -0
  427. package/dist/os/session/types.d.ts +214 -0
  428. package/dist/os/session/types.d.ts.map +1 -0
  429. package/dist/os/session/types.js +61 -0
  430. package/dist/os/session/types.js.map +1 -0
  431. package/dist/os/spec/live-spec-list.d.ts +4 -0
  432. package/dist/os/spec/live-spec-list.d.ts.map +1 -0
  433. package/dist/os/spec/live-spec-list.js +72 -0
  434. package/dist/os/spec/live-spec-list.js.map +1 -0
  435. package/dist/os/spec/live-spec-merge.d.ts +4 -0
  436. package/dist/os/spec/live-spec-merge.d.ts.map +1 -0
  437. package/dist/os/spec/live-spec-merge.js +316 -0
  438. package/dist/os/spec/live-spec-merge.js.map +1 -0
  439. package/dist/os/spec/live-spec-show.d.ts +4 -0
  440. package/dist/os/spec/live-spec-show.d.ts.map +1 -0
  441. package/dist/os/spec/live-spec-show.js +105 -0
  442. package/dist/os/spec/live-spec-show.js.map +1 -0
  443. package/dist/os/spec/live-spec-types.d.ts +71 -0
  444. package/dist/os/spec/live-spec-types.d.ts.map +1 -0
  445. package/dist/os/spec/live-spec-types.js +14 -0
  446. package/dist/os/spec/live-spec-types.js.map +1 -0
  447. package/dist/os/spec/live-spec-validate.d.ts +4 -0
  448. package/dist/os/spec/live-spec-validate.d.ts.map +1 -0
  449. package/dist/os/spec/live-spec-validate.js +140 -0
  450. package/dist/os/spec/live-spec-validate.js.map +1 -0
  451. package/dist/os/spec/spec-materialize.d.ts +21 -0
  452. package/dist/os/spec/spec-materialize.d.ts.map +1 -0
  453. package/dist/os/spec/spec-materialize.js +342 -0
  454. package/dist/os/spec/spec-materialize.js.map +1 -0
  455. package/dist/os/spec/spec-schema.d.ts +126 -0
  456. package/dist/os/spec/spec-schema.d.ts.map +1 -0
  457. package/dist/os/spec/spec-schema.js +118 -0
  458. package/dist/os/spec/spec-schema.js.map +1 -0
  459. package/dist/os/spec/spec-status.d.ts +33 -0
  460. package/dist/os/spec/spec-status.d.ts.map +1 -0
  461. package/dist/os/spec/spec-status.js +228 -0
  462. package/dist/os/spec/spec-status.js.map +1 -0
  463. package/dist/os/spec/spec-validate.d.ts +4 -0
  464. package/dist/os/spec/spec-validate.d.ts.map +1 -0
  465. package/dist/os/spec/spec-validate.js +438 -0
  466. package/dist/os/spec/spec-validate.js.map +1 -0
  467. package/dist/os/spec/spec.module.d.ts +3 -0
  468. package/dist/os/spec/spec.module.d.ts.map +1 -0
  469. package/dist/os/spec/spec.module.js +129 -0
  470. package/dist/os/spec/spec.module.js.map +1 -0
  471. package/dist/os/werkstatt/handlers/lock.d.ts +10 -0
  472. package/dist/os/werkstatt/handlers/lock.d.ts.map +1 -0
  473. package/dist/os/werkstatt/handlers/lock.js +153 -0
  474. package/dist/os/werkstatt/handlers/lock.js.map +1 -0
  475. package/dist/os/werkstatt/handlers/schema.d.ts +33 -0
  476. package/dist/os/werkstatt/handlers/schema.d.ts.map +1 -0
  477. package/dist/os/werkstatt/handlers/schema.js +42 -0
  478. package/dist/os/werkstatt/handlers/schema.js.map +1 -0
  479. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts +15 -0
  480. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +1 -0
  481. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +152 -0
  482. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -0
  483. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts +18 -0
  484. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts.map +1 -0
  485. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js +51 -0
  486. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js.map +1 -0
  487. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts +11 -0
  488. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +1 -0
  489. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +79 -0
  490. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +1 -0
  491. package/dist/os/werkstatt/handlers/workspace-deps.d.ts +12 -0
  492. package/dist/os/werkstatt/handlers/workspace-deps.d.ts.map +1 -0
  493. package/dist/os/werkstatt/handlers/workspace-deps.js +42 -0
  494. package/dist/os/werkstatt/handlers/workspace-deps.js.map +1 -0
  495. package/dist/os/werkstatt/index.d.ts +7 -0
  496. package/dist/os/werkstatt/index.d.ts.map +1 -0
  497. package/dist/os/werkstatt/index.js +18 -0
  498. package/dist/os/werkstatt/index.js.map +1 -0
  499. package/dist/os/werkstatt/werkstatt.module.d.ts +3 -0
  500. package/dist/os/werkstatt/werkstatt.module.d.ts.map +1 -0
  501. package/dist/os/werkstatt/werkstatt.module.js +63 -0
  502. package/dist/os/werkstatt/werkstatt.module.js.map +1 -0
  503. package/dist/os/workflow/handlers.d.ts +12 -0
  504. package/dist/os/workflow/handlers.d.ts.map +1 -0
  505. package/dist/os/workflow/handlers.js +262 -0
  506. package/dist/os/workflow/handlers.js.map +1 -0
  507. package/dist/os/workflow/index.d.ts +4 -0
  508. package/dist/os/workflow/index.d.ts.map +1 -0
  509. package/dist/os/workflow/index.js +18 -0
  510. package/dist/os/workflow/index.js.map +1 -0
  511. package/dist/os/workflow/types.d.ts +69 -0
  512. package/dist/os/workflow/types.d.ts.map +1 -0
  513. package/dist/os/workflow/types.js +23 -0
  514. package/dist/os/workflow/types.js.map +1 -0
  515. package/dist/os/workflow/workflow.module.d.ts +3 -0
  516. package/dist/os/workflow/workflow.module.d.ts.map +1 -0
  517. package/dist/os/workflow/workflow.module.js +56 -0
  518. package/dist/os/workflow/workflow.module.js.map +1 -0
  519. package/dist/src/cli-output.d.ts +5 -0
  520. package/dist/src/cli-output.d.ts.map +1 -0
  521. package/dist/src/cli-output.js +53 -0
  522. package/dist/src/cli-output.js.map +1 -0
  523. package/dist/src/compass/contract-registry.d.ts +7 -0
  524. package/dist/src/compass/contract-registry.d.ts.map +1 -0
  525. package/dist/src/compass/contract-registry.js +112 -0
  526. package/dist/src/compass/contract-registry.js.map +1 -0
  527. package/dist/src/compass/types.d.ts +28 -0
  528. package/dist/src/compass/types.d.ts.map +1 -0
  529. package/dist/src/compass/types.js +14 -0
  530. package/dist/src/compass/types.js.map +1 -0
  531. package/dist/src/config/forge-config.d.ts +242 -0
  532. package/dist/src/config/forge-config.d.ts.map +1 -0
  533. package/dist/src/config/forge-config.js +363 -0
  534. package/dist/src/config/forge-config.js.map +1 -0
  535. package/dist/src/forge-module.d.ts +29 -0
  536. package/dist/src/forge-module.d.ts.map +1 -0
  537. package/dist/src/forge-module.js +16 -0
  538. package/dist/src/forge-module.js.map +1 -0
  539. package/dist/src/index.d.ts +39 -0
  540. package/dist/src/index.d.ts.map +1 -0
  541. package/dist/src/index.js +59 -0
  542. package/dist/src/index.js.map +1 -0
  543. package/dist/src/knowledge/budgets.d.ts +38 -0
  544. package/dist/src/knowledge/budgets.d.ts.map +1 -0
  545. package/dist/src/knowledge/budgets.js +157 -0
  546. package/dist/src/knowledge/budgets.js.map +1 -0
  547. package/dist/src/knowledge/compact.d.ts +47 -0
  548. package/dist/src/knowledge/compact.d.ts.map +1 -0
  549. package/dist/src/knowledge/compact.js +320 -0
  550. package/dist/src/knowledge/compact.js.map +1 -0
  551. package/dist/src/knowledge/index.d.ts +7 -0
  552. package/dist/src/knowledge/index.d.ts.map +1 -0
  553. package/dist/src/knowledge/index.js +19 -0
  554. package/dist/src/knowledge/index.js.map +1 -0
  555. package/dist/src/knowledge/parse.d.ts +3 -0
  556. package/dist/src/knowledge/parse.d.ts.map +1 -0
  557. package/dist/src/knowledge/parse.js +205 -0
  558. package/dist/src/knowledge/parse.js.map +1 -0
  559. package/dist/src/knowledge/promote.d.ts +37 -0
  560. package/dist/src/knowledge/promote.d.ts.map +1 -0
  561. package/dist/src/knowledge/promote.js +120 -0
  562. package/dist/src/knowledge/promote.js.map +1 -0
  563. package/dist/src/knowledge/schema.d.ts +61 -0
  564. package/dist/src/knowledge/schema.d.ts.map +1 -0
  565. package/dist/src/knowledge/schema.js +64 -0
  566. package/dist/src/knowledge/schema.js.map +1 -0
  567. package/dist/src/knowledge/serialize.d.ts +3 -0
  568. package/dist/src/knowledge/serialize.d.ts.map +1 -0
  569. package/dist/src/knowledge/serialize.js +67 -0
  570. package/dist/src/knowledge/serialize.js.map +1 -0
  571. package/dist/src/migration-adapters/git-utils.d.ts +3 -0
  572. package/dist/src/migration-adapters/git-utils.d.ts.map +1 -0
  573. package/dist/src/migration-adapters/git-utils.js +65 -0
  574. package/dist/src/migration-adapters/git-utils.js.map +1 -0
  575. package/dist/src/migration-adapters/ignored-files.d.ts +12 -0
  576. package/dist/src/migration-adapters/ignored-files.d.ts.map +1 -0
  577. package/dist/src/migration-adapters/ignored-files.js +190 -0
  578. package/dist/src/migration-adapters/ignored-files.js.map +1 -0
  579. package/dist/src/migration-adapters/index.d.ts +8 -0
  580. package/dist/src/migration-adapters/index.d.ts.map +1 -0
  581. package/dist/src/migration-adapters/index.js +17 -0
  582. package/dist/src/migration-adapters/index.js.map +1 -0
  583. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts +3 -0
  584. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts.map +1 -0
  585. package/dist/src/migration-adapters/node-typescript-pnpm/index.js +141 -0
  586. package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +1 -0
  587. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts +3 -0
  588. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts.map +1 -0
  589. package/dist/src/migration-adapters/phaser-pnpm/index.js +142 -0
  590. package/dist/src/migration-adapters/phaser-pnpm/index.js.map +1 -0
  591. package/dist/src/migration-adapters/registry.d.ts +6 -0
  592. package/dist/src/migration-adapters/registry.d.ts.map +1 -0
  593. package/dist/src/migration-adapters/registry.js +55 -0
  594. package/dist/src/migration-adapters/registry.js.map +1 -0
  595. package/dist/src/migration-adapters/types.d.ts +35 -0
  596. package/dist/src/migration-adapters/types.d.ts.map +1 -0
  597. package/dist/src/migration-adapters/types.js +31 -0
  598. package/dist/src/migration-adapters/types.js.map +1 -0
  599. package/dist/src/onboarding/agents-generate.d.ts +31 -0
  600. package/dist/src/onboarding/agents-generate.d.ts.map +1 -0
  601. package/dist/src/onboarding/agents-generate.js +373 -0
  602. package/dist/src/onboarding/agents-generate.js.map +1 -0
  603. package/dist/src/onboarding/create.d.ts +12 -0
  604. package/dist/src/onboarding/create.d.ts.map +1 -0
  605. package/dist/src/onboarding/create.js +408 -0
  606. package/dist/src/onboarding/create.js.map +1 -0
  607. package/dist/src/onboarding/doctor.d.ts +45 -0
  608. package/dist/src/onboarding/doctor.d.ts.map +1 -0
  609. package/dist/src/onboarding/doctor.js +1222 -0
  610. package/dist/src/onboarding/doctor.js.map +1 -0
  611. package/dist/src/onboarding/init.d.ts +36 -0
  612. package/dist/src/onboarding/init.d.ts.map +1 -0
  613. package/dist/src/onboarding/init.js +412 -0
  614. package/dist/src/onboarding/init.js.map +1 -0
  615. package/dist/src/onboarding/invariant-engine.d.ts +17 -0
  616. package/dist/src/onboarding/invariant-engine.d.ts.map +1 -0
  617. package/dist/src/onboarding/invariant-engine.js +416 -0
  618. package/dist/src/onboarding/invariant-engine.js.map +1 -0
  619. package/dist/src/onboarding/memory-scaffold.d.ts +18 -0
  620. package/dist/src/onboarding/memory-scaffold.d.ts.map +1 -0
  621. package/dist/src/onboarding/memory-scaffold.js +151 -0
  622. package/dist/src/onboarding/memory-scaffold.js.map +1 -0
  623. package/dist/src/onboarding/nested-agents-generate.d.ts +18 -0
  624. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -0
  625. package/dist/src/onboarding/nested-agents-generate.js +69 -0
  626. package/dist/src/onboarding/nested-agents-generate.js.map +1 -0
  627. package/dist/src/onboarding/nested-agents-templates.d.ts +26 -0
  628. package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -0
  629. package/dist/src/onboarding/nested-agents-templates.js +179 -0
  630. package/dist/src/onboarding/nested-agents-templates.js.map +1 -0
  631. package/dist/src/onboarding/profile-validate.d.ts +13 -0
  632. package/dist/src/onboarding/profile-validate.d.ts.map +1 -0
  633. package/dist/src/onboarding/profile-validate.js +109 -0
  634. package/dist/src/onboarding/profile-validate.js.map +1 -0
  635. package/dist/src/onboarding/scaffold-project.d.ts +12 -0
  636. package/dist/src/onboarding/scaffold-project.d.ts.map +1 -0
  637. package/dist/src/onboarding/scaffold-project.js +264 -0
  638. package/dist/src/onboarding/scaffold-project.js.map +1 -0
  639. package/dist/src/onboarding/scaffold.d.ts +15 -0
  640. package/dist/src/onboarding/scaffold.d.ts.map +1 -0
  641. package/dist/src/onboarding/scaffold.js +123 -0
  642. package/dist/src/onboarding/scaffold.js.map +1 -0
  643. package/dist/src/onboarding/upgrade.d.ts +27 -0
  644. package/dist/src/onboarding/upgrade.d.ts.map +1 -0
  645. package/dist/src/onboarding/upgrade.js +453 -0
  646. package/dist/src/onboarding/upgrade.js.map +1 -0
  647. package/dist/src/onboarding/workspace-discovery.d.ts +11 -0
  648. package/dist/src/onboarding/workspace-discovery.d.ts.map +1 -0
  649. package/dist/src/onboarding/workspace-discovery.js +138 -0
  650. package/dist/src/onboarding/workspace-discovery.js.map +1 -0
  651. package/dist/src/plugin/forge-plugin-manifest.d.ts +38 -0
  652. package/dist/src/plugin/forge-plugin-manifest.d.ts.map +1 -0
  653. package/dist/src/plugin/forge-plugin-manifest.js +52 -0
  654. package/dist/src/plugin/forge-plugin-manifest.js.map +1 -0
  655. package/dist/src/profiles/profile-schema.d.ts +361 -0
  656. package/dist/src/profiles/profile-schema.d.ts.map +1 -0
  657. package/dist/src/profiles/profile-schema.js +208 -0
  658. package/dist/src/profiles/profile-schema.js.map +1 -0
  659. package/dist/src/profiles/stack-profile.d.ts +173 -0
  660. package/dist/src/profiles/stack-profile.d.ts.map +1 -0
  661. package/dist/src/profiles/stack-profile.js +148 -0
  662. package/dist/src/profiles/stack-profile.js.map +1 -0
  663. package/dist/src/profiles/terminology-utils.d.ts +8 -0
  664. package/dist/src/profiles/terminology-utils.d.ts.map +1 -0
  665. package/dist/src/profiles/terminology-utils.js +31 -0
  666. package/dist/src/profiles/terminology-utils.js.map +1 -0
  667. package/dist/src/registry.d.ts +38 -0
  668. package/dist/src/registry.d.ts.map +1 -0
  669. package/dist/src/registry.js +174 -0
  670. package/dist/src/registry.js.map +1 -0
  671. package/dist/src/skill-schema.d.ts +30 -0
  672. package/dist/src/skill-schema.d.ts.map +1 -0
  673. package/dist/src/skill-schema.js +34 -0
  674. package/dist/src/skill-schema.js.map +1 -0
  675. package/dist/src/types.d.ts +158 -0
  676. package/dist/src/types.d.ts.map +1 -0
  677. package/dist/src/types.js +17 -0
  678. package/dist/src/types.js.map +1 -0
  679. package/dist/src/utils/fs-atomic.d.ts +7 -0
  680. package/dist/src/utils/fs-atomic.d.ts.map +1 -0
  681. package/dist/src/utils/fs-atomic.js +81 -0
  682. package/dist/src/utils/fs-atomic.js.map +1 -0
  683. package/dist/src/utils/fs-idempotent.d.ts +2 -0
  684. package/dist/src/utils/fs-idempotent.d.ts.map +1 -0
  685. package/dist/src/utils/fs-idempotent.js +39 -0
  686. package/dist/src/utils/fs-idempotent.js.map +1 -0
  687. package/dist/src/utils/fs-trash-sync.d.ts +2 -0
  688. package/dist/src/utils/fs-trash-sync.d.ts.map +1 -0
  689. package/dist/src/utils/fs-trash-sync.js +34 -0
  690. package/dist/src/utils/fs-trash-sync.js.map +1 -0
  691. package/dist/src/utils/fs-trash.d.ts +2 -0
  692. package/dist/src/utils/fs-trash.d.ts.map +1 -0
  693. package/dist/src/utils/fs-trash.js +24 -0
  694. package/dist/src/utils/fs-trash.js.map +1 -0
  695. package/dist/src/utils/fs.d.ts +8 -0
  696. package/dist/src/utils/fs.d.ts.map +1 -0
  697. package/dist/src/utils/fs.js +60 -0
  698. package/dist/src/utils/fs.js.map +1 -0
  699. package/dist/src/utils/generated-marker.d.ts +28 -0
  700. package/dist/src/utils/generated-marker.d.ts.map +1 -0
  701. package/dist/src/utils/generated-marker.js +138 -0
  702. package/dist/src/utils/generated-marker.js.map +1 -0
  703. package/dist/src/utils/hash.d.ts +2 -0
  704. package/dist/src/utils/hash.d.ts.map +1 -0
  705. package/dist/src/utils/hash.js +18 -0
  706. package/dist/src/utils/hash.js.map +1 -0
  707. package/dist/src/utils/index.d.ts +9 -0
  708. package/dist/src/utils/index.d.ts.map +1 -0
  709. package/dist/src/utils/index.js +21 -0
  710. package/dist/src/utils/index.js.map +1 -0
  711. package/dist/src/utils/string-utils.d.ts +2 -0
  712. package/dist/src/utils/string-utils.d.ts.map +1 -0
  713. package/dist/src/utils/string-utils.js +19 -0
  714. package/dist/src/utils/string-utils.js.map +1 -0
  715. package/dist/src/validators/note-frontmatter-validate.d.ts +20 -0
  716. package/dist/src/validators/note-frontmatter-validate.d.ts.map +1 -0
  717. package/dist/src/validators/note-frontmatter-validate.js +117 -0
  718. package/dist/src/validators/note-frontmatter-validate.js.map +1 -0
  719. package/dist/src/validators/note-link-validate.d.ts +21 -0
  720. package/dist/src/validators/note-link-validate.d.ts.map +1 -0
  721. package/dist/src/validators/note-link-validate.js +121 -0
  722. package/dist/src/validators/note-link-validate.js.map +1 -0
  723. package/dist/src/validators/note-orphan-detect.d.ts +19 -0
  724. package/dist/src/validators/note-orphan-detect.d.ts.map +1 -0
  725. package/dist/src/validators/note-orphan-detect.js +123 -0
  726. package/dist/src/validators/note-orphan-detect.js.map +1 -0
  727. package/dist/src/validators/port-validate.d.ts +12 -0
  728. package/dist/src/validators/port-validate.d.ts.map +1 -0
  729. package/dist/src/validators/port-validate.js +78 -0
  730. package/dist/src/validators/port-validate.js.map +1 -0
  731. package/dist/src/validators/skill-validate.d.ts +29 -0
  732. package/dist/src/validators/skill-validate.d.ts.map +1 -0
  733. package/dist/src/validators/skill-validate.js +689 -0
  734. package/dist/src/validators/skill-validate.js.map +1 -0
  735. package/docs/concepts/governance-model.md +33 -0
  736. package/docs/concepts/project-contract.md +61 -0
  737. package/docs/concepts/why-forge.md +46 -0
  738. package/docs/getting-started.md +44 -0
  739. package/docs/guides/existing-project.md +38 -0
  740. package/docs/guides/rfc-adr.md +61 -0
  741. package/docs/guides/skills.md +60 -0
  742. package/docs/guides/upgrading.md +35 -0
  743. package/docs/maintainers/publishing.md +34 -0
  744. package/docs/reference/cli.md +140 -0
  745. package/docs/reference/forge-yaml.md +114 -0
  746. package/docs/reference/profiles.md +37 -0
  747. package/docs/reference/programmatic-api.md +79 -0
  748. package/os/core/core.module.ts +15 -0
  749. package/os/core/handlers/public-surface.ts +189 -0
  750. package/os/rfc/handlers/validate-rules.ts +0 -1
  751. package/os/rfc/verification-refresh.test.ts +15 -14
  752. package/os/rfc/verification-refresh.ts +1 -7
  753. package/os/session/handlers/metrics-session.ts +10 -9
  754. package/package.json +15 -7
  755. package/src/tests/metrics-rfc-1053.test.ts +14 -4
  756. package/src/tests/public-surface.test.ts +247 -0
@@ -0,0 +1,114 @@
1
+ # forge.yaml reference
2
+
3
+ ## Full schema
4
+
5
+ ```yaml
6
+ schema: forge/config@1
7
+ project:
8
+ name: my-project # Required. Project name.
9
+ stack: [typescript] # Required. List of stack identifiers.
10
+ packageManager: pnpm # Required. Currently only "pnpm" is supported.
11
+ paths:
12
+ rfcsDir: docs/rfcs # Default: docs/rfcs
13
+ adrsDir: docs/adrs # Default: docs/adrs
14
+ skillsDir: .agents/skills # Default: .agents/skills
15
+ bindings:
16
+ schema: forge/bindings@1
17
+ commands:
18
+ validateRfc: "forge rfc.validate {id} --json"
19
+ typecheck: "pnpm run build:check"
20
+ test: "pnpm test"
21
+ paths:
22
+ invariantsFile: docs/architecture-dna.md
23
+ terminology:
24
+ invariants: DNA
25
+ skillPacks:
26
+ - prefix: wg
27
+ dir: packages/my-skills/skills
28
+ plugins: []
29
+ syncedVersion: 4.1.6
30
+ ```
31
+
32
+ ## project
33
+
34
+ | Field | Type | Required | Description |
35
+ | --- | --- | --- | --- |
36
+ | `name` | string | yes | Project name, used in generated AGENTS.md and CI |
37
+ | `stack` | string[] | yes | Stack identifiers (e.g. `[typescript]`, `[phaser]`) |
38
+ | `packageManager` | string | yes | Package manager (`pnpm` only) |
39
+
40
+ ## paths
41
+
42
+ | Field | Default | Description |
43
+ | --- | --- | --- |
44
+ | `rfcsDir` | `docs/rfcs` | Directory for RFC files |
45
+ | `adrsDir` | `docs/adrs` | Directory for ADR files |
46
+ | `skillsDir` | `.agents/skills` | Directory for deployed skills |
47
+
48
+ ## bindings.commands
49
+
50
+ A map of named commands to shell strings. The agent uses these to run project-specific operations. Placeholders like `{id}` are substituted at resolve time.
51
+
52
+ ```yaml
53
+ bindings:
54
+ commands:
55
+ validateRfc: "forge rfc.validate {id} --json"
56
+ typecheck: "pnpm run build:check"
57
+ test: "pnpm test"
58
+ ```
59
+
60
+ ## bindings.paths
61
+
62
+ Additional path bindings that the agent can reference:
63
+
64
+ ```yaml
65
+ bindings:
66
+ paths:
67
+ invariantsFile: docs/architecture-dna.md
68
+ ```
69
+
70
+ ## bindings.terminology
71
+
72
+ Maps generic terms to project-specific names:
73
+
74
+ ```yaml
75
+ bindings:
76
+ terminology:
77
+ invariants: DNA
78
+ ```
79
+
80
+ ## skillPacks
81
+
82
+ Optional. Declares project-local skill packs:
83
+
84
+ ```yaml
85
+ skillPacks:
86
+ - prefix: wg # Cannot be "fo" (reserved)
87
+ dir: packages/my-skills/skills
88
+ ```
89
+
90
+ Each pack directory must contain a `forge.plugin.yaml` manifest with `id` and `version` fields.
91
+
92
+ ## Extension points
93
+
94
+ Packs can declare custom Compass contract blocks:
95
+
96
+ ```yaml
97
+ # In forge.plugin.yaml
98
+ extensionPoints:
99
+ compass:
100
+ contract:
101
+ blocks:
102
+ - blockId: api-contract
103
+ requiredFor:
104
+ - "packages/my-pack/**/*.ts"
105
+ requiredTags:
106
+ - name: purpose
107
+ minWords: 3
108
+ ```
109
+
110
+ `compass.validate` enforces these blocks with `COMPASS-PLUGIN-01` (missing block), `COMPASS-PLUGIN-02` (missing tag), and `COMPASS-PLUGIN-03` (below minWords) diagnostics.
111
+
112
+ ## syncedVersion
113
+
114
+ Set by `forge upgrade`. Tracks the last synced Forge version. Do not edit manually.
@@ -0,0 +1,37 @@
1
+ # Stack profiles
2
+
3
+ A stack profile defines the project scaffold: directory structure, dependencies, CI config, and first workspace.
4
+
5
+ ## Available profiles
6
+
7
+ | Profile | Project type | First workspace | Use case |
8
+ | --- | --- | --- | --- |
9
+ | `forge-shell` | Governance / library | — | Governance-only projects, libraries, non-web projects |
10
+ | `typescript-turborepo` | TypeScript library | — | Generic TypeScript Turborepo monorepo with validators |
11
+ | `phaser-turborepo` | Browser game | `games/my-game` | Browser games, interactive experiences |
12
+ | `godot-csharp` | Godot game | `games/my-game` | Desktop/mobile games, Godot-based projects |
13
+ | `knowledge-typescript-turborepo` | Knowledge system | `knowledge/my-kb` | Evidence-backed knowledge bases |
14
+
15
+ ## Using a profile
16
+
17
+ ```sh
18
+ pnpm dlx @warpgogol/forge@latest create --in-place --profile phaser-turborepo
19
+ ```
20
+
21
+ ## Listing profiles
22
+
23
+ ```sh
24
+ pnpm exec forge profile.validate
25
+ ```
26
+
27
+ ## Auto-detection during transplant
28
+
29
+ When bringing an existing project through the `/forge-bootstrap` transplant mode, Forge detects the matching profile by checking for marker files:
30
+
31
+ - `phaser.config.*` → `phaser-turborepo`
32
+ - `project.godot` → `godot-csharp`
33
+ - `tsconfig.json` + `pnpm-workspace.yaml` → `typescript-turborepo`
34
+
35
+ ## Project-agnostic
36
+
37
+ Forge is project-agnostic. Stack profiles provide ready-made starting points, but the governance layer (RFCs, ADRs, skills, validators) works the same regardless of the profile.
@@ -0,0 +1,79 @@
1
+ # Programmatic API
2
+
3
+ ## Importing
4
+
5
+ ```ts
6
+ import {
7
+ forgeCoreModule,
8
+ forgeRfcModule,
9
+ forgeAdrModule,
10
+ forgeNamingModule,
11
+ forgeCompassModule,
12
+ forgeWorkflowModule,
13
+ forgeSpecModule,
14
+ forgeSessionModule,
15
+ forgePluginModule,
16
+ forgeProgramModule,
17
+ loadForgeConfig,
18
+ resolveBinding,
19
+ FORGE_SKILLS,
20
+ } from "@warpgogol/forge";
21
+ ```
22
+
23
+ ## Loading config
24
+
25
+ ```ts
26
+ const config = loadForgeConfig(process.cwd());
27
+ ```
28
+
29
+ Returns a typed `ForgeConfig` object, or throws if `forge.yaml` is missing or invalid.
30
+
31
+ ## Resolving bindings
32
+
33
+ ```ts
34
+ const cmd = resolveBinding(config, "commands.validateRfc", { id: "RFC-0001" });
35
+ // → "forge rfc.validate RFC-0001 --json"
36
+ ```
37
+
38
+ Placeholders in binding strings are substituted with the provided values.
39
+
40
+ ## Registering modules
41
+
42
+ ```ts
43
+ const registry = /* your ForgeModuleRegistry */;
44
+
45
+ await forgeCoreModule.register(registry);
46
+ await forgeRfcModule.register(registry);
47
+ await forgeAdrModule.register(registry);
48
+ await forgeNamingModule.register(registry);
49
+ await forgeCompassModule.register(registry);
50
+ ```
51
+
52
+ Each module registers its commands with the registry. Modules are independent — register only what you need.
53
+
54
+ ## Available modules
55
+
56
+ | Module | Commands |
57
+ | --- | --- |
58
+ | `forgeCoreModule` | `create`, `doctor`, `upgrade`, `scaffold`, `skill.validate`, `skill.list`, `profile.validate`, `agents.generate`, `docs.archive`, `public-surface.validate` |
59
+ | `forgeRfcModule` | `rfc.list`, `rfc.validate`, `rfc.create`, `rfc.verification.emit`, `rfc.implement.stamp` |
60
+ | `forgeAdrModule` | `adr.list`, `adr.create`, `adr.validate`, `adr.archive`, `adr.implement.stamp` |
61
+ | `forgeNamingModule` | `naming.convention.lint` |
62
+ | `forgeCompassModule` | `compass.inventory`, `compass.validate`, `compass.summary.trim` |
63
+ | `forgeWorkflowModule` | `workflow.lint`, `workflow.list`, `workflow.amend.list` |
64
+ | `forgeSpecModule` | `spec.validate`, `spec.status`, `spec.materialize`, `spec.live.merge` |
65
+ | `forgeSessionModule` | `session.save`, `session.archive`, `session.validate`, `session.list`, `metrics.aggregate` |
66
+ | `forgePluginModule` | `forge.plugin.validate`, `forge.plugin.discover` |
67
+ | `forgeProgramModule` | `program.packet.validate`, `program.packet.seal`, `program.packet.lease`, `program.packet.complete` |
68
+
69
+ ## FORGE_SKILLS
70
+
71
+ The `FORGE_SKILLS` export contains the full skill registry — all 37 skill definitions with their frontmatter.
72
+
73
+ ```ts
74
+ import { FORGE_SKILLS } from "@warpgogol/forge";
75
+
76
+ for (const skill of FORGE_SKILLS) {
77
+ console.log(skill.name, skill.description);
78
+ }
79
+ ```
@@ -26,6 +26,7 @@
26
26
  <item>Lockfile safety net: docs.archive post-loop refreshes pnpm-lock.yaml after mission workpiece moves.</item>
27
27
  <item>RFC-0877: forge.create --in-place required, --profile required, --name optional (derived from folder), strict empty-directory check (only .git/ tolerated).</item>
28
28
  <item>RFC-0940: register forge.autonomy.validate command enforcing FORGE-AUTONOMY-01 (no @warpgogol/werkstatt-engine imports outside os/werkstatt/).</item>
29
+ <item>RFC-1080: register forge.public-surface.validate command for README/package.json consistency checks (SURFACE-01..05).</item>
29
30
  </CHANGE_SUMMARY>
30
31
  */
31
32
 
@@ -67,6 +68,7 @@ export async function createForgeCoreModule(): Promise<ForgeModule> {
67
68
  const { runKnowledgeCompact } = await import("./handlers/knowledge-compact.ts");
68
69
  const { runPackageHealth } = await import("./handlers/package-health.ts");
69
70
  const { runForgeAutonomyValidate } = await import("./handlers/forge-autonomy-validate.ts");
71
+ const { runPublicSurfaceValidate } = await import("./handlers/public-surface.ts");
70
72
 
71
73
  const scaffoldWrapper = async (
72
74
  input: ForgeCommandInput,
@@ -731,6 +733,19 @@ export async function createForgeCoreModule(): Promise<ForgeModule> {
731
733
  flags: {},
732
734
  execute: runForgeAutonomyValidate,
733
735
  },
736
+ {
737
+ name: "forge.public-surface.validate",
738
+ description:
739
+ "Check consistency between README.md, package.json, and docs/ structure. " +
740
+ "Enforces SURFACE-01..05 rules: README length, Node version match, " +
741
+ "no .tgz in root, docs/ structure, required root files (RFC-1080).",
742
+ scope: "workspace",
743
+ supportsAllSites: false,
744
+ reads: ["README.md", "package.json", "docs/**"],
745
+ cacheable: false,
746
+ flags: {},
747
+ execute: runPublicSurfaceValidate,
748
+ },
734
749
  {
735
750
  name: "docs.archive",
736
751
  description:
@@ -0,0 +1,189 @@
1
+ /*
2
+ <MODULE_CONTRACT>
3
+ <purpose>forge.public-surface.validate — check consistency between README.md, package.json, and docs/ structure. Enforces SURFACE-01..05 rules from RFC-1080.</purpose>
4
+ <non-goals>
5
+ <item>Do not import from @warpgogol/* — this module is portable.</item>
6
+ <item>Do not modify files — read-only validation.</item>
7
+ </non-goals>
8
+ </MODULE_CONTRACT>
9
+ <CHANGE_SUMMARY>
10
+ <item>RFC-1080: initial public-surface consistency validator — README length, Node version match, .tgz absence, docs/ structure, required root files.</item>
11
+ <item>RFC-1080: add monorepo auto-detection — resolve packages/forge/ when run from monorepo root.</item>
12
+ </CHANGE_SUMMARY>
13
+ */
14
+
15
+ import fs from "node:fs";
16
+ import path from "node:path";
17
+ import type {
18
+ ForgeCommandInput,
19
+ ForgeCommandResult,
20
+ ForgeRuntimeContext,
21
+ } from "../../../src/types.ts";
22
+
23
+ export interface SurfaceCheck {
24
+ rule: string;
25
+ message: string;
26
+ status: "pass" | "warn" | "fail";
27
+ }
28
+
29
+ export interface PublicSurfaceResult {
30
+ command: "forge.public-surface.validate";
31
+ status: "pass" | "fail";
32
+ checks: SurfaceCheck[];
33
+ }
34
+
35
+ const REQUIRED_DOCS_FILES = [
36
+ "docs/getting-started.md",
37
+ "docs/concepts/why-forge.md",
38
+ "docs/reference/cli.md",
39
+ ];
40
+
41
+ const REQUIRED_ROOT_FILES = ["CONTRIBUTING.md", "SECURITY.md", "CHANGELOG.md"];
42
+
43
+ function readJsonFile(filePath: string): Record<string, unknown> | null {
44
+ try {
45
+ const raw = fs.readFileSync(filePath, "utf8");
46
+ return JSON.parse(raw) as Record<string, unknown>;
47
+ } catch {
48
+ return null;
49
+ }
50
+ }
51
+
52
+ function extractNodeMajorVersion(range: string): number | null {
53
+ const match = range.match(/(\d+)/);
54
+ return match ? parseInt(match[1], 10) : null;
55
+ }
56
+
57
+ export async function runPublicSurfaceValidate(
58
+ _input: ForgeCommandInput,
59
+ context: ForgeRuntimeContext,
60
+ ): Promise<ForgeCommandResult<PublicSurfaceResult>> {
61
+ const { workspaceRoot, logger, outputFormat } = context;
62
+ const checks: SurfaceCheck[] = [];
63
+
64
+ // Monorepo vs standalone resolution (RFC-1080):
65
+ // If packages/forge/ exists relative to workspaceRoot, use it (monorepo mode).
66
+ // Otherwise, use workspaceRoot directly (standalone extracted repo mode).
67
+ const forgePkgRoot = fs.existsSync(path.join(workspaceRoot, "packages", "forge"))
68
+ ? path.join(workspaceRoot, "packages", "forge")
69
+ : workspaceRoot;
70
+
71
+ const readmePath = path.join(forgePkgRoot, "README.md");
72
+ const packageJsonPath = path.join(forgePkgRoot, "package.json");
73
+
74
+ const readmeContent = fs.existsSync(readmePath) ? fs.readFileSync(readmePath, "utf8") : "";
75
+ const readmeLines = readmeContent.split("\n").length;
76
+
77
+ const pkg = readJsonFile(packageJsonPath);
78
+
79
+ // SURFACE-01: README length (warning)
80
+ checks.push({
81
+ rule: "SURFACE-01",
82
+ message: `README.md is ${readmeLines} lines (${readmeLines <= 300 ? "under 300" : "over 300"})`,
83
+ status: readmeLines <= 300 ? "pass" : "warn",
84
+ });
85
+
86
+ // SURFACE-02: Node version consistency (error)
87
+ if (pkg) {
88
+ const engines = pkg["engines"] as Record<string, string> | undefined;
89
+ const nodeRange = engines?.["node"];
90
+ const pkgMajor = nodeRange ? extractNodeMajorVersion(nodeRange) : null;
91
+
92
+ if (pkgMajor !== null) {
93
+ const readmeNodeMatch = readmeContent.match(/Node(?:\.js)?\s+v?(\d+)/gi);
94
+ const readmeNodeVersions = readmeNodeMatch
95
+ ? readmeNodeMatch.map((m) => parseInt(m.match(/(\d+)/)![1], 10))
96
+ : [];
97
+
98
+ const mismatched = readmeNodeVersions.filter((v) => v !== pkgMajor);
99
+ checks.push({
100
+ rule: "SURFACE-02",
101
+ message:
102
+ mismatched.length === 0
103
+ ? `Node version consistent: ${nodeRange}`
104
+ : `README references Node ${mismatched.join(", ")} but package.json requires ${nodeRange}`,
105
+ status: mismatched.length === 0 ? "pass" : "fail",
106
+ });
107
+ } else {
108
+ checks.push({
109
+ rule: "SURFACE-02",
110
+ message: "package.json missing engines.node",
111
+ status: "fail",
112
+ });
113
+ }
114
+ } else {
115
+ checks.push({
116
+ rule: "SURFACE-02",
117
+ message: "package.json not found",
118
+ status: "fail",
119
+ });
120
+ }
121
+
122
+ // SURFACE-03: No .tgz files in root (error)
123
+ const tgzFiles = fs.readdirSync(forgePkgRoot).filter((f) => f.endsWith(".tgz"));
124
+ checks.push({
125
+ rule: "SURFACE-03",
126
+ message:
127
+ tgzFiles.length === 0
128
+ ? "No .tgz files in root"
129
+ : `Found ${tgzFiles.length} .tgz file(s): ${tgzFiles.join(", ")}`,
130
+ status: tgzFiles.length === 0 ? "pass" : "fail",
131
+ });
132
+
133
+ // SURFACE-04: docs/ directory with required files (error)
134
+ const missingDocs = REQUIRED_DOCS_FILES.filter((f) => !fs.existsSync(path.join(forgePkgRoot, f)));
135
+ checks.push({
136
+ rule: "SURFACE-04",
137
+ message:
138
+ missingDocs.length === 0
139
+ ? "docs/ directory exists with required files"
140
+ : `Missing docs files: ${missingDocs.join(", ")}`,
141
+ status: missingDocs.length === 0 ? "pass" : "fail",
142
+ });
143
+
144
+ // SURFACE-05: Required root files (warning)
145
+ const missingRoot = REQUIRED_ROOT_FILES.filter((f) => !fs.existsSync(path.join(forgePkgRoot, f)));
146
+ checks.push({
147
+ rule: "SURFACE-05",
148
+ message:
149
+ missingRoot.length === 0
150
+ ? "Required root files present (CONTRIBUTING.md, SECURITY.md, CHANGELOG.md)"
151
+ : `Missing root files: ${missingRoot.join(", ")}`,
152
+ status: missingRoot.length === 0 ? "pass" : "warn",
153
+ });
154
+
155
+ const hasFails = checks.some((c) => c.status === "fail");
156
+ const status: "pass" | "fail" = hasFails ? "fail" : "pass";
157
+
158
+ if (outputFormat === "pretty") {
159
+ logger.section("Forge Public Surface Validate");
160
+ for (const check of checks) {
161
+ const icon = check.status === "pass" ? "✓" : check.status === "warn" ? "⚠" : "✖";
162
+ const fn =
163
+ check.status === "pass"
164
+ ? logger.success
165
+ : check.status === "warn"
166
+ ? logger.warn
167
+ : logger.error;
168
+ fn(`${icon} [${check.rule}] ${check.message}`);
169
+ }
170
+ if (status === "pass") {
171
+ logger.success("All public surface checks passed.");
172
+ } else {
173
+ logger.error("Some public surface checks failed.");
174
+ }
175
+ }
176
+
177
+ return {
178
+ data: {
179
+ command: "forge.public-surface.validate",
180
+ status,
181
+ checks,
182
+ },
183
+ exitCode: hasFails ? 1 : 0,
184
+ summary:
185
+ status === "pass"
186
+ ? "forge.public-surface.validate: all checks passed"
187
+ : `forge.public-surface.validate: ${checks.filter((c) => c.status === "fail").length} fail(s), ${checks.filter((c) => c.status === "warn").length} warn(s)`,
188
+ };
189
+ }
@@ -225,7 +225,6 @@ export function evaluateAcceptanceCriteria(body: string): AcceptanceCriteriaEval
225
225
  .split("\n")
226
226
  .filter((line) => /^- \[ \]/.test(line))
227
227
  .map((line) => line.trim());
228
- const totalUnchecked = uncheckedLines.length;
229
228
 
230
229
  const checkedLines = section.split("\n").filter((line) => /^- \[x\]/.test(line));
231
230
  const checkedWithoutEvidence: string[] = [];
@@ -6,6 +6,7 @@ import os from "node:os";
6
6
  import { stringify as yamlStringify } from "yaml";
7
7
 
8
8
  import { runRfcVerificationRefresh } from "./verification-refresh.ts";
9
+ import type { ForgeCommandInput, ForgeRuntimeContext } from "../../src/types.ts";
9
10
 
10
11
  const { mockRunProbe, mockCaptureGitContext, mockGetKernelVersion } = vi.hoisted(() => ({
11
12
  mockRunProbe: vi.fn(),
@@ -26,11 +27,11 @@ vi.mock("./verification-evidence.ts", async (importOriginal) => {
26
27
  };
27
28
  });
28
29
 
29
- const RFC_FRONTMATTER = (id: string, status: string, probes: unknown[] = []) => {
30
+ const RFC_FRONTMATTER = (id: string, status: string, probes: Record<string, unknown>[] = []) => {
30
31
  const probeYaml = probes
31
32
  .map(
32
33
  (p) =>
33
- ` - probe: ${(p as any).probe}\n path: ${(p as any).path ?? ""}\n criterion: ${(p as any).criterion ?? ""}`,
34
+ ` - probe: ${p.probe}\n path: ${p.path ?? ""}\n criterion: ${p.criterion ?? ""}`,
34
35
  )
35
36
  .join("\n");
36
37
  return `---\nid: ${id}\ntitle: "Test ${id}"\nstatus: ${status}\nkind: command\nscope: workspace\nowners:\n - architecture\ncreatedAt: 2026-01-01\nupdatedAt: 2026-01-01\nacceptance:\n${probeYaml}\n---\n\n# ${id}\n## Context\nTest.\n`;
@@ -134,8 +135,8 @@ describe("rfc.verification.refresh — AC-1: single-RFC refresh", () => {
134
135
  mockRunProbe.mockResolvedValue({ probe: PROBE, ok: true, detail: "exists" });
135
136
 
136
137
  const result = await runRfcVerificationRefresh(
137
- { flags: { id: "RFC-0100" } } as any,
138
- makeContext(workspaceRoot) as any,
138
+ { flags: { id: "RFC-0100" } } as unknown as ForgeCommandInput,
139
+ makeContext(workspaceRoot) as unknown as ForgeRuntimeContext,
139
140
  );
140
141
 
141
142
  expect(result.data!.refreshed).toHaveLength(1);
@@ -175,8 +176,8 @@ describe("rfc.verification.refresh — AC-2: --all mode", () => {
175
176
  mockRunProbe.mockResolvedValue({ probe: PROBE, ok: true, detail: "exists" });
176
177
 
177
178
  const result = await runRfcVerificationRefresh(
178
- { flags: { all: true } } as any,
179
- makeContext(workspaceRoot) as any,
179
+ { flags: { all: true } } as unknown as ForgeCommandInput,
180
+ makeContext(workspaceRoot) as unknown as ForgeRuntimeContext,
180
181
  );
181
182
 
182
183
  expect(result.data!.refreshed).toHaveLength(2);
@@ -200,8 +201,8 @@ describe("rfc.verification.refresh — AC-3: probe failure still writes envelope
200
201
  mockRunProbe.mockResolvedValue({ probe: PROBE, ok: false, detail: "does not exist" });
201
202
 
202
203
  const result = await runRfcVerificationRefresh(
203
- { flags: { id: "RFC-0100" } } as any,
204
- makeContext(workspaceRoot) as any,
204
+ { flags: { id: "RFC-0100" } } as unknown as ForgeCommandInput,
205
+ makeContext(workspaceRoot) as unknown as ForgeRuntimeContext,
205
206
  );
206
207
 
207
208
  expect(result.data!.refreshed).toHaveLength(1);
@@ -236,8 +237,8 @@ describe("rfc.verification.refresh — AC-4: --dry-run does not write files", ()
236
237
  mockRunProbe.mockResolvedValue({ probe: PROBE, ok: true, detail: "exists" });
237
238
 
238
239
  const result = await runRfcVerificationRefresh(
239
- { flags: { id: "RFC-0100", "dry-run": true } } as any,
240
- makeContext(workspaceRoot) as any,
240
+ { flags: { id: "RFC-0100", "dry-run": true } } as unknown as ForgeCommandInput,
241
+ makeContext(workspaceRoot) as unknown as ForgeRuntimeContext,
241
242
  );
242
243
 
243
244
  expect(result.data!.refreshed).toHaveLength(1);
@@ -270,8 +271,8 @@ describe("rfc.verification.refresh — AC-5: no evidence envelope", () => {
270
271
  mockRunProbe.mockResolvedValue({ probe: PROBE, ok: true, detail: "exists" });
271
272
 
272
273
  const result = await runRfcVerificationRefresh(
273
- { flags: { id: "RFC-0100" } } as any,
274
- makeContext(workspaceRoot) as any,
274
+ { flags: { id: "RFC-0100" } } as unknown as ForgeCommandInput,
275
+ makeContext(workspaceRoot) as unknown as ForgeRuntimeContext,
275
276
  );
276
277
 
277
278
  expect(result.data!.refreshed).toHaveLength(0);
@@ -296,8 +297,8 @@ describe("rfc.verification.refresh — AC-6: emittedAt preservation", () => {
296
297
  mockRunProbe.mockResolvedValue({ probe: PROBE, ok: true, detail: "exists" });
297
298
 
298
299
  await runRfcVerificationRefresh(
299
- { flags: { id: "RFC-0100" } } as any,
300
- makeContext(workspaceRoot) as any,
300
+ { flags: { id: "RFC-0100" } } as unknown as ForgeCommandInput,
301
+ makeContext(workspaceRoot) as unknown as ForgeRuntimeContext,
301
302
  );
302
303
 
303
304
  const envelopePath = path.join(
@@ -30,7 +30,6 @@ import { stringify as yamlStringify } from "yaml";
30
30
  import {
31
31
  captureGitContext,
32
32
  getKernelVersion,
33
- byteHashHex,
34
33
  VERIFICATION_DIR,
35
34
  buildEvidenceEnvelope,
36
35
  } from "./verification-evidence.ts";
@@ -49,10 +48,6 @@ import type {
49
48
  ForgeRuntimeContext,
50
49
  } from "../../src/types.ts";
51
50
 
52
- function normalizeProbes(probes: AcceptanceProbe[]): string {
53
- return JSON.stringify(probes, Object.keys(probes[0] ?? {}).sort());
54
- }
55
-
56
51
  export async function runRfcVerificationRefresh(
57
52
  input: ForgeCommandInput,
58
53
  context: ForgeRuntimeContext,
@@ -74,8 +69,7 @@ export async function runRfcVerificationRefresh(
74
69
  summary: { total: 0, passed: 0, failed: 0, skipped: 0 },
75
70
  },
76
71
  exitCode: 0,
77
- summary:
78
- "rfc.verification.refresh: pass --id <rfc-id> or --all to select target RFC(s)",
72
+ summary: "rfc.verification.refresh: pass --id <rfc-id> or --all to select target RFC(s)",
79
73
  };
80
74
  }
81
75
 
@@ -17,13 +17,19 @@ docs/metrics/sessions/<session-id>.metrics.yaml via writeFileAtomic.
17
17
  </CHANGE_SUMMARY>
18
18
  */
19
19
 
20
- import { readFile, readdir, mkdir } from "node:fs/promises";
20
+ import { readdir, mkdir } from "node:fs/promises";
21
21
  import { join, dirname } from "node:path";
22
22
 
23
23
  import { writeFileAtomic } from "../../../src/utils/fs-atomic.ts";
24
24
  import { stringify as yamlStringify } from "yaml";
25
25
 
26
- import { METRICS_DIR, type SessionMetrics, type SessionSkillInvocation, type SessionDocumentRef, type InsightSummary } from "../types.ts";
26
+ import {
27
+ METRICS_DIR,
28
+ type SessionMetrics,
29
+ type SessionSkillInvocation,
30
+ type SessionDocumentRef,
31
+ type InsightSummary,
32
+ } from "../types.ts";
27
33
  import type { AtifMessage } from "../atif-parser.ts";
28
34
 
29
35
  // ─── Skill name extraction ───────────────────────────────────────────────────
@@ -176,7 +182,7 @@ export async function generateSessionMetrics(
176
182
  relatedRfcs?: string[];
177
183
  commits?: string[];
178
184
  },
179
- logger: { warn: (msg: string) => void },
185
+ _logger: { warn: (msg: string) => void },
180
186
  ): Promise<string> {
181
187
  const skills = extractSkillInvocations(messages);
182
188
  const documents = await extractDocumentRefs(workspaceRoot, sessionFrontmatter.relatedRfcs ?? []);
@@ -196,12 +202,7 @@ export async function generateSessionMetrics(
196
202
  };
197
203
 
198
204
  const yamlContent = yamlStringify(metrics, { lineWidth: 120 });
199
- const metricsFilePath = join(
200
- workspaceRoot,
201
- METRICS_DIR,
202
- "sessions",
203
- `${sessionId}.metrics.yaml`,
204
- );
205
+ const metricsFilePath = join(workspaceRoot, METRICS_DIR, "sessions", `${sessionId}.metrics.yaml`);
205
206
  await mkdir(dirname(metricsFilePath), { recursive: true });
206
207
  await writeFileAtomic(metricsFilePath, yamlContent);
207
208
 
package/package.json CHANGED
@@ -1,20 +1,23 @@
1
1
  {
2
2
  "name": "@warpgogol/forge",
3
- "version": "4.1.6",
3
+ "version": "4.2.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
7
- "description": "Framework for documenting and implementing ideas RFC/ADR governance, skills, and project bootstrapping.",
7
+ "description": "Repository-native governance for AI-assisted software developmentproject contracts, RFCs, ADRs, agent skills and deterministic validation.",
8
8
  "keywords": [
9
+ "ai",
10
+ "agent",
9
11
  "rfc",
10
12
  "adr",
11
13
  "governance",
12
14
  "skills",
13
- "ai-agent",
14
- "documentation",
15
- "framework"
15
+ "validation",
16
+ "project-contract",
17
+ "ai-assisted",
18
+ "documentation"
16
19
  ],
17
- "homepage": "https://warpgogol.com",
20
+ "homepage": "https://forge.warpgogol.com",
18
21
  "repository": {
19
22
  "type": "git",
20
23
  "url": "git+https://github.com/syrokomskyi/forge.git"
@@ -154,9 +157,14 @@
154
157
  "src/",
155
158
  "src/onboarding/templates/",
156
159
  "os/",
160
+ "docs/",
157
161
  "AGENTS.md",
158
162
  "README.md",
159
- "LICENSE"
163
+ "README.uk.md",
164
+ "LICENSE",
165
+ "CONTRIBUTING.md",
166
+ "SECURITY.md",
167
+ "CHANGELOG.md"
160
168
  ],
161
169
  "scripts": {
162
170
  "build": "pnpm exec tsc -p tsconfig.json",