@warpgogol/forge 2.9.13 → 2.9.23

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 (759) hide show
  1. package/dist/bin/cli.d.ts +3 -0
  2. package/dist/bin/cli.d.ts.map +1 -0
  3. package/dist/bin/cli.js +291 -0
  4. package/dist/bin/cli.js.map +1 -0
  5. package/dist/os/adr/adr.module.d.ts +3 -0
  6. package/dist/os/adr/adr.module.d.ts.map +1 -0
  7. package/dist/os/adr/adr.module.js +146 -0
  8. package/dist/os/adr/adr.module.js.map +1 -0
  9. package/dist/os/adr/frontmatter-io.d.ts +12 -0
  10. package/dist/os/adr/frontmatter-io.d.ts.map +1 -0
  11. package/dist/os/adr/frontmatter-io.js +67 -0
  12. package/dist/os/adr/frontmatter-io.js.map +1 -0
  13. package/dist/os/adr/handlers/archive.d.ts +24 -0
  14. package/dist/os/adr/handlers/archive.d.ts.map +1 -0
  15. package/dist/os/adr/handlers/archive.js +194 -0
  16. package/dist/os/adr/handlers/archive.js.map +1 -0
  17. package/dist/os/adr/handlers/implement-stamp.d.ts +4 -0
  18. package/dist/os/adr/handlers/implement-stamp.d.ts.map +1 -0
  19. package/dist/os/adr/handlers/implement-stamp.js +264 -0
  20. package/dist/os/adr/handlers/implement-stamp.js.map +1 -0
  21. package/dist/os/adr/handlers/list-create.d.ts +5 -0
  22. package/dist/os/adr/handlers/list-create.d.ts.map +1 -0
  23. package/dist/os/adr/handlers/list-create.js +201 -0
  24. package/dist/os/adr/handlers/list-create.js.map +1 -0
  25. package/dist/os/adr/handlers/validate.d.ts +4 -0
  26. package/dist/os/adr/handlers/validate.d.ts.map +1 -0
  27. package/dist/os/adr/handlers/validate.js +279 -0
  28. package/dist/os/adr/handlers/validate.js.map +1 -0
  29. package/dist/os/adr/index.d.ts +8 -0
  30. package/dist/os/adr/index.d.ts.map +1 -0
  31. package/dist/os/adr/index.js +18 -0
  32. package/dist/os/adr/index.js.map +1 -0
  33. package/dist/os/adr/types.d.ts +76 -0
  34. package/dist/os/adr/types.d.ts.map +1 -0
  35. package/dist/os/adr/types.js +56 -0
  36. package/dist/os/adr/types.js.map +1 -0
  37. package/dist/os/audit/audit.module.d.ts +3 -0
  38. package/dist/os/audit/audit.module.d.ts.map +1 -0
  39. package/dist/os/audit/audit.module.js +45 -0
  40. package/dist/os/audit/audit.module.js.map +1 -0
  41. package/dist/os/audit/frontmatter-io.d.ts +12 -0
  42. package/dist/os/audit/frontmatter-io.d.ts.map +1 -0
  43. package/dist/os/audit/frontmatter-io.js +71 -0
  44. package/dist/os/audit/frontmatter-io.js.map +1 -0
  45. package/dist/os/audit/handlers/archive.d.ts +4 -0
  46. package/dist/os/audit/handlers/archive.d.ts.map +1 -0
  47. package/dist/os/audit/handlers/archive.js +207 -0
  48. package/dist/os/audit/handlers/archive.js.map +1 -0
  49. package/dist/os/audit/index.d.ts +6 -0
  50. package/dist/os/audit/index.d.ts.map +1 -0
  51. package/dist/os/audit/index.js +16 -0
  52. package/dist/os/audit/index.js.map +1 -0
  53. package/dist/os/audit/types.d.ts +12 -0
  54. package/dist/os/audit/types.d.ts.map +1 -0
  55. package/dist/os/audit/types.js +17 -0
  56. package/dist/os/audit/types.js.map +1 -0
  57. package/dist/os/compass/compass.module.d.ts +3 -0
  58. package/dist/os/compass/compass.module.d.ts.map +1 -0
  59. package/dist/os/compass/compass.module.js +183 -0
  60. package/dist/os/compass/compass.module.js.map +1 -0
  61. package/dist/os/compass/handlers/compass-audit-handler.d.ts +36 -0
  62. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -0
  63. package/dist/os/compass/handlers/compass-audit-handler.js +260 -0
  64. package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -0
  65. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +19 -0
  66. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -0
  67. package/dist/os/compass/handlers/compass-change-summary-handler.js +222 -0
  68. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -0
  69. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +28 -0
  70. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -0
  71. package/dist/os/compass/handlers/compass-inventory-handler.js +377 -0
  72. package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -0
  73. package/dist/os/compass/handlers/compass-inventory.d.ts +30 -0
  74. package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -0
  75. package/dist/os/compass/handlers/compass-inventory.js +462 -0
  76. package/dist/os/compass/handlers/compass-inventory.js.map +1 -0
  77. package/dist/os/compass/handlers/git-revision.d.ts +8 -0
  78. package/dist/os/compass/handlers/git-revision.d.ts.map +1 -0
  79. package/dist/os/compass/handlers/git-revision.js +99 -0
  80. package/dist/os/compass/handlers/git-revision.js.map +1 -0
  81. package/dist/os/compass/handlers/resolve-scan-root.d.ts +3 -0
  82. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -0
  83. package/dist/os/compass/handlers/resolve-scan-root.js +57 -0
  84. package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -0
  85. package/dist/os/compass/index.d.ts +8 -0
  86. package/dist/os/compass/index.d.ts.map +1 -0
  87. package/dist/os/compass/index.js +19 -0
  88. package/dist/os/compass/index.js.map +1 -0
  89. package/dist/os/core/core.module.d.ts +3 -0
  90. package/dist/os/core/core.module.d.ts.map +1 -0
  91. package/dist/os/core/core.module.js +836 -0
  92. package/dist/os/core/core.module.js.map +1 -0
  93. package/dist/os/core/handlers/assets-check.d.ts +19 -0
  94. package/dist/os/core/handlers/assets-check.d.ts.map +1 -0
  95. package/dist/os/core/handlers/assets-check.js +89 -0
  96. package/dist/os/core/handlers/assets-check.js.map +1 -0
  97. package/dist/os/core/handlers/assets-helpers.d.ts +28 -0
  98. package/dist/os/core/handlers/assets-helpers.d.ts.map +1 -0
  99. package/dist/os/core/handlers/assets-helpers.js +128 -0
  100. package/dist/os/core/handlers/assets-helpers.js.map +1 -0
  101. package/dist/os/core/handlers/assets-list.d.ts +9 -0
  102. package/dist/os/core/handlers/assets-list.d.ts.map +1 -0
  103. package/dist/os/core/handlers/assets-list.js +72 -0
  104. package/dist/os/core/handlers/assets-list.js.map +1 -0
  105. package/dist/os/core/handlers/build.d.ts +16 -0
  106. package/dist/os/core/handlers/build.d.ts.map +1 -0
  107. package/dist/os/core/handlers/build.js +123 -0
  108. package/dist/os/core/handlers/build.js.map +1 -0
  109. package/dist/os/core/handlers/determinism-check.d.ts +20 -0
  110. package/dist/os/core/handlers/determinism-check.d.ts.map +1 -0
  111. package/dist/os/core/handlers/determinism-check.js +289 -0
  112. package/dist/os/core/handlers/determinism-check.js.map +1 -0
  113. package/dist/os/core/handlers/dev.d.ts +10 -0
  114. package/dist/os/core/handlers/dev.d.ts.map +1 -0
  115. package/dist/os/core/handlers/dev.js +102 -0
  116. package/dist/os/core/handlers/dev.js.map +1 -0
  117. package/dist/os/core/handlers/forge-autonomy-validate.d.ts +18 -0
  118. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +1 -0
  119. package/dist/os/core/handlers/forge-autonomy-validate.js +78 -0
  120. package/dist/os/core/handlers/forge-autonomy-validate.js.map +1 -0
  121. package/dist/os/core/handlers/knowledge-compact.d.ts +4 -0
  122. package/dist/os/core/handlers/knowledge-compact.d.ts.map +1 -0
  123. package/dist/os/core/handlers/knowledge-compact.js +204 -0
  124. package/dist/os/core/handlers/knowledge-compact.js.map +1 -0
  125. package/dist/os/core/handlers/package-health.d.ts +17 -0
  126. package/dist/os/core/handlers/package-health.d.ts.map +1 -0
  127. package/dist/os/core/handlers/package-health.js +196 -0
  128. package/dist/os/core/handlers/package-health.js.map +1 -0
  129. package/dist/os/core/handlers/pinned-check.d.ts +49 -0
  130. package/dist/os/core/handlers/pinned-check.d.ts.map +1 -0
  131. package/dist/os/core/handlers/pinned-check.js +159 -0
  132. package/dist/os/core/handlers/pinned-check.js.map +1 -0
  133. package/dist/os/core/handlers/pinned-init.d.ts +19 -0
  134. package/dist/os/core/handlers/pinned-init.d.ts.map +1 -0
  135. package/dist/os/core/handlers/pinned-init.js +283 -0
  136. package/dist/os/core/handlers/pinned-init.js.map +1 -0
  137. package/dist/os/core/handlers/pinned-types.d.ts +29 -0
  138. package/dist/os/core/handlers/pinned-types.d.ts.map +1 -0
  139. package/dist/os/core/handlers/pinned-types.js +16 -0
  140. package/dist/os/core/handlers/pinned-types.js.map +1 -0
  141. package/dist/os/core/handlers/pinned-validate.d.ts +4 -0
  142. package/dist/os/core/handlers/pinned-validate.d.ts.map +1 -0
  143. package/dist/os/core/handlers/pinned-validate.js +248 -0
  144. package/dist/os/core/handlers/pinned-validate.js.map +1 -0
  145. package/dist/os/core/handlers/profile-resolve.d.ts +13 -0
  146. package/dist/os/core/handlers/profile-resolve.d.ts.map +1 -0
  147. package/dist/os/core/handlers/profile-resolve.js +65 -0
  148. package/dist/os/core/handlers/profile-resolve.js.map +1 -0
  149. package/dist/os/core/handlers/release-prepare.d.ts +25 -0
  150. package/dist/os/core/handlers/release-prepare.d.ts.map +1 -0
  151. package/dist/os/core/handlers/release-prepare.js +228 -0
  152. package/dist/os/core/handlers/release-prepare.js.map +1 -0
  153. package/dist/os/core/handlers/release-publish.d.ts +13 -0
  154. package/dist/os/core/handlers/release-publish.d.ts.map +1 -0
  155. package/dist/os/core/handlers/release-publish.js +173 -0
  156. package/dist/os/core/handlers/release-publish.js.map +1 -0
  157. package/dist/os/core/handlers/validate.d.ts +26 -0
  158. package/dist/os/core/handlers/validate.d.ts.map +1 -0
  159. package/dist/os/core/handlers/validate.js +208 -0
  160. package/dist/os/core/handlers/validate.js.map +1 -0
  161. package/dist/os/core/index.d.ts +2 -0
  162. package/dist/os/core/index.d.ts.map +1 -0
  163. package/dist/os/core/index.js +13 -0
  164. package/dist/os/core/index.js.map +1 -0
  165. package/dist/os/exploration/exploration.module.d.ts +3 -0
  166. package/dist/os/exploration/exploration.module.d.ts.map +1 -0
  167. package/dist/os/exploration/exploration.module.js +83 -0
  168. package/dist/os/exploration/exploration.module.js.map +1 -0
  169. package/dist/os/exploration/frontmatter-io.d.ts +13 -0
  170. package/dist/os/exploration/frontmatter-io.d.ts.map +1 -0
  171. package/dist/os/exploration/frontmatter-io.js +61 -0
  172. package/dist/os/exploration/frontmatter-io.js.map +1 -0
  173. package/dist/os/exploration/handlers/archive.d.ts +4 -0
  174. package/dist/os/exploration/handlers/archive.d.ts.map +1 -0
  175. package/dist/os/exploration/handlers/archive.js +141 -0
  176. package/dist/os/exploration/handlers/archive.js.map +1 -0
  177. package/dist/os/exploration/handlers/list.d.ts +4 -0
  178. package/dist/os/exploration/handlers/list.d.ts.map +1 -0
  179. package/dist/os/exploration/handlers/list.js +64 -0
  180. package/dist/os/exploration/handlers/list.js.map +1 -0
  181. package/dist/os/exploration/handlers/show.d.ts +4 -0
  182. package/dist/os/exploration/handlers/show.d.ts.map +1 -0
  183. package/dist/os/exploration/handlers/show.js +97 -0
  184. package/dist/os/exploration/handlers/show.js.map +1 -0
  185. package/dist/os/exploration/index.d.ts +7 -0
  186. package/dist/os/exploration/index.d.ts.map +1 -0
  187. package/dist/os/exploration/index.js +17 -0
  188. package/dist/os/exploration/index.js.map +1 -0
  189. package/dist/os/exploration/types.d.ts +38 -0
  190. package/dist/os/exploration/types.d.ts.map +1 -0
  191. package/dist/os/exploration/types.js +23 -0
  192. package/dist/os/exploration/types.js.map +1 -0
  193. package/dist/os/mission/handlers/archive.d.ts +4 -0
  194. package/dist/os/mission/handlers/archive.d.ts.map +1 -0
  195. package/dist/os/mission/handlers/archive.js +356 -0
  196. package/dist/os/mission/handlers/archive.js.map +1 -0
  197. package/dist/os/mission/index.d.ts +2 -0
  198. package/dist/os/mission/index.d.ts.map +1 -0
  199. package/dist/os/mission/index.js +2 -0
  200. package/dist/os/mission/index.js.map +1 -0
  201. package/dist/os/mission/mission.module.d.ts +3 -0
  202. package/dist/os/mission/mission.module.d.ts.map +1 -0
  203. package/dist/os/mission/mission.module.js +45 -0
  204. package/dist/os/mission/mission.module.js.map +1 -0
  205. package/dist/os/mission/types.d.ts +23 -0
  206. package/dist/os/mission/types.d.ts.map +1 -0
  207. package/dist/os/mission/types.js +18 -0
  208. package/dist/os/mission/types.js.map +1 -0
  209. package/dist/os/naming/index.d.ts +3 -0
  210. package/dist/os/naming/index.d.ts.map +1 -0
  211. package/dist/os/naming/index.js +14 -0
  212. package/dist/os/naming/index.js.map +1 -0
  213. package/dist/os/naming/naming-convention.d.ts +25 -0
  214. package/dist/os/naming/naming-convention.d.ts.map +1 -0
  215. package/dist/os/naming/naming-convention.js +324 -0
  216. package/dist/os/naming/naming-convention.js.map +1 -0
  217. package/dist/os/naming/naming.module.d.ts +3 -0
  218. package/dist/os/naming/naming.module.d.ts.map +1 -0
  219. package/dist/os/naming/naming.module.js +34 -0
  220. package/dist/os/naming/naming.module.js.map +1 -0
  221. package/dist/os/notes/index.d.ts +2 -0
  222. package/dist/os/notes/index.d.ts.map +1 -0
  223. package/dist/os/notes/index.js +10 -0
  224. package/dist/os/notes/index.js.map +1 -0
  225. package/dist/os/notes/notes.module.d.ts +3 -0
  226. package/dist/os/notes/notes.module.d.ts.map +1 -0
  227. package/dist/os/notes/notes.module.js +84 -0
  228. package/dist/os/notes/notes.module.js.map +1 -0
  229. package/dist/os/plan/frontmatter-io.d.ts +12 -0
  230. package/dist/os/plan/frontmatter-io.d.ts.map +1 -0
  231. package/dist/os/plan/frontmatter-io.js +69 -0
  232. package/dist/os/plan/frontmatter-io.js.map +1 -0
  233. package/dist/os/plan/handlers/archive.d.ts +4 -0
  234. package/dist/os/plan/handlers/archive.d.ts.map +1 -0
  235. package/dist/os/plan/handlers/archive.js +206 -0
  236. package/dist/os/plan/handlers/archive.js.map +1 -0
  237. package/dist/os/plan/index.d.ts +6 -0
  238. package/dist/os/plan/index.d.ts.map +1 -0
  239. package/dist/os/plan/index.js +16 -0
  240. package/dist/os/plan/index.js.map +1 -0
  241. package/dist/os/plan/plan.module.d.ts +3 -0
  242. package/dist/os/plan/plan.module.d.ts.map +1 -0
  243. package/dist/os/plan/plan.module.js +45 -0
  244. package/dist/os/plan/plan.module.js.map +1 -0
  245. package/dist/os/plan/types.d.ts +12 -0
  246. package/dist/os/plan/types.d.ts.map +1 -0
  247. package/dist/os/plan/types.js +17 -0
  248. package/dist/os/plan/types.js.map +1 -0
  249. package/dist/os/plugin/plugin.module.d.ts +25 -0
  250. package/dist/os/plugin/plugin.module.d.ts.map +1 -0
  251. package/dist/os/plugin/plugin.module.js +208 -0
  252. package/dist/os/plugin/plugin.module.js.map +1 -0
  253. package/dist/os/program/discovery.d.ts +61 -0
  254. package/dist/os/program/discovery.d.ts.map +1 -0
  255. package/dist/os/program/discovery.js +236 -0
  256. package/dist/os/program/discovery.js.map +1 -0
  257. package/dist/os/program/handlers/complete.d.ts +12 -0
  258. package/dist/os/program/handlers/complete.d.ts.map +1 -0
  259. package/dist/os/program/handlers/complete.js +362 -0
  260. package/dist/os/program/handlers/complete.js.map +1 -0
  261. package/dist/os/program/handlers/lease.d.ts +13 -0
  262. package/dist/os/program/handlers/lease.d.ts.map +1 -0
  263. package/dist/os/program/handlers/lease.js +328 -0
  264. package/dist/os/program/handlers/lease.js.map +1 -0
  265. package/dist/os/program/handlers/seal.d.ts +12 -0
  266. package/dist/os/program/handlers/seal.d.ts.map +1 -0
  267. package/dist/os/program/handlers/seal.js +277 -0
  268. package/dist/os/program/handlers/seal.js.map +1 -0
  269. package/dist/os/program/handlers/validate.d.ts +14 -0
  270. package/dist/os/program/handlers/validate.d.ts.map +1 -0
  271. package/dist/os/program/handlers/validate.js +170 -0
  272. package/dist/os/program/handlers/validate.js.map +1 -0
  273. package/dist/os/program/lease.d.ts +39 -0
  274. package/dist/os/program/lease.d.ts.map +1 -0
  275. package/dist/os/program/lease.js +129 -0
  276. package/dist/os/program/lease.js.map +1 -0
  277. package/dist/os/program/program.module.d.ts +3 -0
  278. package/dist/os/program/program.module.d.ts.map +1 -0
  279. package/dist/os/program/program.module.js +202 -0
  280. package/dist/os/program/program.module.js.map +1 -0
  281. package/dist/os/program/schemas.d.ts +225 -0
  282. package/dist/os/program/schemas.d.ts.map +1 -0
  283. package/dist/os/program/schemas.js +174 -0
  284. package/dist/os/program/schemas.js.map +1 -0
  285. package/dist/os/program/state.d.ts +38 -0
  286. package/dist/os/program/state.d.ts.map +1 -0
  287. package/dist/os/program/state.js +189 -0
  288. package/dist/os/program/state.js.map +1 -0
  289. package/dist/os/rfc/acceptance.d.ts +15 -0
  290. package/dist/os/rfc/acceptance.d.ts.map +1 -0
  291. package/dist/os/rfc/acceptance.js +318 -0
  292. package/dist/os/rfc/acceptance.js.map +1 -0
  293. package/dist/os/rfc/decision-log.d.ts +6 -0
  294. package/dist/os/rfc/decision-log.d.ts.map +1 -0
  295. package/dist/os/rfc/decision-log.js +269 -0
  296. package/dist/os/rfc/decision-log.js.map +1 -0
  297. package/dist/os/rfc/dna-trace.d.ts +27 -0
  298. package/dist/os/rfc/dna-trace.d.ts.map +1 -0
  299. package/dist/os/rfc/dna-trace.js +214 -0
  300. package/dist/os/rfc/dna-trace.js.map +1 -0
  301. package/dist/os/rfc/frontmatter-io.d.ts +18 -0
  302. package/dist/os/rfc/frontmatter-io.d.ts.map +1 -0
  303. package/dist/os/rfc/frontmatter-io.js +110 -0
  304. package/dist/os/rfc/frontmatter-io.js.map +1 -0
  305. package/dist/os/rfc/handlers/archive.d.ts +25 -0
  306. package/dist/os/rfc/handlers/archive.d.ts.map +1 -0
  307. package/dist/os/rfc/handlers/archive.js +247 -0
  308. package/dist/os/rfc/handlers/archive.js.map +1 -0
  309. package/dist/os/rfc/handlers/check.d.ts +4 -0
  310. package/dist/os/rfc/handlers/check.d.ts.map +1 -0
  311. package/dist/os/rfc/handlers/check.js +203 -0
  312. package/dist/os/rfc/handlers/check.js.map +1 -0
  313. package/dist/os/rfc/handlers/implement-stamp.d.ts +4 -0
  314. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -0
  315. package/dist/os/rfc/handlers/implement-stamp.js +426 -0
  316. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -0
  317. package/dist/os/rfc/handlers/index-graph.d.ts +13 -0
  318. package/dist/os/rfc/handlers/index-graph.d.ts.map +1 -0
  319. package/dist/os/rfc/handlers/index-graph.js +192 -0
  320. package/dist/os/rfc/handlers/index-graph.js.map +1 -0
  321. package/dist/os/rfc/handlers/lifecycle.d.ts +13 -0
  322. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -0
  323. package/dist/os/rfc/handlers/lifecycle.js +155 -0
  324. package/dist/os/rfc/handlers/lifecycle.js.map +1 -0
  325. package/dist/os/rfc/handlers/list-create.d.ts +6 -0
  326. package/dist/os/rfc/handlers/list-create.d.ts.map +1 -0
  327. package/dist/os/rfc/handlers/list-create.js +260 -0
  328. package/dist/os/rfc/handlers/list-create.js.map +1 -0
  329. package/dist/os/rfc/handlers/pipeline-status.d.ts +26 -0
  330. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -0
  331. package/dist/os/rfc/handlers/pipeline-status.js +124 -0
  332. package/dist/os/rfc/handlers/pipeline-status.js.map +1 -0
  333. package/dist/os/rfc/handlers/shared.d.ts +22 -0
  334. package/dist/os/rfc/handlers/shared.d.ts.map +1 -0
  335. package/dist/os/rfc/handlers/shared.js +105 -0
  336. package/dist/os/rfc/handlers/shared.js.map +1 -0
  337. package/dist/os/rfc/handlers/supersede-propose.d.ts +4 -0
  338. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -0
  339. package/dist/os/rfc/handlers/supersede-propose.js +203 -0
  340. package/dist/os/rfc/handlers/supersede-propose.js.map +1 -0
  341. package/dist/os/rfc/handlers/validate-rules.d.ts +32 -0
  342. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -0
  343. package/dist/os/rfc/handlers/validate-rules.js +590 -0
  344. package/dist/os/rfc/handlers/validate-rules.js.map +1 -0
  345. package/dist/os/rfc/handlers/validate.d.ts +4 -0
  346. package/dist/os/rfc/handlers/validate.d.ts.map +1 -0
  347. package/dist/os/rfc/handlers/validate.js +122 -0
  348. package/dist/os/rfc/handlers/validate.js.map +1 -0
  349. package/dist/os/rfc/handlers.d.ts +7 -0
  350. package/dist/os/rfc/handlers.d.ts.map +1 -0
  351. package/dist/os/rfc/handlers.js +19 -0
  352. package/dist/os/rfc/handlers.js.map +1 -0
  353. package/dist/os/rfc/index.d.ts +18 -0
  354. package/dist/os/rfc/index.d.ts.map +1 -0
  355. package/dist/os/rfc/index.js +24 -0
  356. package/dist/os/rfc/index.js.map +1 -0
  357. package/dist/os/rfc/rfc.module.d.ts +3 -0
  358. package/dist/os/rfc/rfc.module.d.ts.map +1 -0
  359. package/dist/os/rfc/rfc.module.js +367 -0
  360. package/dist/os/rfc/rfc.module.js.map +1 -0
  361. package/dist/os/rfc/types.d.ts +483 -0
  362. package/dist/os/rfc/types.d.ts.map +1 -0
  363. package/dist/os/rfc/types.js +100 -0
  364. package/dist/os/rfc/types.js.map +1 -0
  365. package/dist/os/rfc/verification-evidence.d.ts +8 -0
  366. package/dist/os/rfc/verification-evidence.d.ts.map +1 -0
  367. package/dist/os/rfc/verification-evidence.js +184 -0
  368. package/dist/os/rfc/verification-evidence.js.map +1 -0
  369. package/dist/os/session/atif-parser.d.ts +29 -0
  370. package/dist/os/session/atif-parser.d.ts.map +1 -0
  371. package/dist/os/session/atif-parser.js +140 -0
  372. package/dist/os/session/atif-parser.js.map +1 -0
  373. package/dist/os/session/frontmatter-io.d.ts +31 -0
  374. package/dist/os/session/frontmatter-io.d.ts.map +1 -0
  375. package/dist/os/session/frontmatter-io.js +146 -0
  376. package/dist/os/session/frontmatter-io.js.map +1 -0
  377. package/dist/os/session/handlers/archive.d.ts +4 -0
  378. package/dist/os/session/handlers/archive.d.ts.map +1 -0
  379. package/dist/os/session/handlers/archive.js +241 -0
  380. package/dist/os/session/handlers/archive.js.map +1 -0
  381. package/dist/os/session/handlers/list.d.ts +4 -0
  382. package/dist/os/session/handlers/list.d.ts.map +1 -0
  383. package/dist/os/session/handlers/list.js +147 -0
  384. package/dist/os/session/handlers/list.js.map +1 -0
  385. package/dist/os/session/handlers/save.d.ts +6 -0
  386. package/dist/os/session/handlers/save.d.ts.map +1 -0
  387. package/dist/os/session/handlers/save.js +297 -0
  388. package/dist/os/session/handlers/save.js.map +1 -0
  389. package/dist/os/session/handlers/validate.d.ts +4 -0
  390. package/dist/os/session/handlers/validate.d.ts.map +1 -0
  391. package/dist/os/session/handlers/validate.js +224 -0
  392. package/dist/os/session/handlers/validate.js.map +1 -0
  393. package/dist/os/session/index.d.ts +9 -0
  394. package/dist/os/session/index.d.ts.map +1 -0
  395. package/dist/os/session/index.js +20 -0
  396. package/dist/os/session/index.js.map +1 -0
  397. package/dist/os/session/session.module.d.ts +3 -0
  398. package/dist/os/session/session.module.d.ts.map +1 -0
  399. package/dist/os/session/session.module.js +116 -0
  400. package/dist/os/session/session.module.js.map +1 -0
  401. package/dist/os/session/types.d.ts +131 -0
  402. package/dist/os/session/types.d.ts.map +1 -0
  403. package/dist/os/session/types.js +59 -0
  404. package/dist/os/session/types.js.map +1 -0
  405. package/dist/os/spec/live-spec-list.d.ts +4 -0
  406. package/dist/os/spec/live-spec-list.d.ts.map +1 -0
  407. package/dist/os/spec/live-spec-list.js +72 -0
  408. package/dist/os/spec/live-spec-list.js.map +1 -0
  409. package/dist/os/spec/live-spec-merge.d.ts +4 -0
  410. package/dist/os/spec/live-spec-merge.d.ts.map +1 -0
  411. package/dist/os/spec/live-spec-merge.js +345 -0
  412. package/dist/os/spec/live-spec-merge.js.map +1 -0
  413. package/dist/os/spec/live-spec-show.d.ts +4 -0
  414. package/dist/os/spec/live-spec-show.d.ts.map +1 -0
  415. package/dist/os/spec/live-spec-show.js +105 -0
  416. package/dist/os/spec/live-spec-show.js.map +1 -0
  417. package/dist/os/spec/live-spec-types.d.ts +71 -0
  418. package/dist/os/spec/live-spec-types.d.ts.map +1 -0
  419. package/dist/os/spec/live-spec-types.js +14 -0
  420. package/dist/os/spec/live-spec-types.js.map +1 -0
  421. package/dist/os/spec/live-spec-validate.d.ts +4 -0
  422. package/dist/os/spec/live-spec-validate.d.ts.map +1 -0
  423. package/dist/os/spec/live-spec-validate.js +140 -0
  424. package/dist/os/spec/live-spec-validate.js.map +1 -0
  425. package/dist/os/spec/spec-materialize.d.ts +21 -0
  426. package/dist/os/spec/spec-materialize.d.ts.map +1 -0
  427. package/dist/os/spec/spec-materialize.js +342 -0
  428. package/dist/os/spec/spec-materialize.js.map +1 -0
  429. package/dist/os/spec/spec-schema.d.ts +126 -0
  430. package/dist/os/spec/spec-schema.d.ts.map +1 -0
  431. package/dist/os/spec/spec-schema.js +118 -0
  432. package/dist/os/spec/spec-schema.js.map +1 -0
  433. package/dist/os/spec/spec-status.d.ts +33 -0
  434. package/dist/os/spec/spec-status.d.ts.map +1 -0
  435. package/dist/os/spec/spec-status.js +228 -0
  436. package/dist/os/spec/spec-status.js.map +1 -0
  437. package/dist/os/spec/spec-validate.d.ts +4 -0
  438. package/dist/os/spec/spec-validate.d.ts.map +1 -0
  439. package/dist/os/spec/spec-validate.js +435 -0
  440. package/dist/os/spec/spec-validate.js.map +1 -0
  441. package/dist/os/spec/spec.module.d.ts +3 -0
  442. package/dist/os/spec/spec.module.d.ts.map +1 -0
  443. package/dist/os/spec/spec.module.js +120 -0
  444. package/dist/os/spec/spec.module.js.map +1 -0
  445. package/dist/os/werkstatt/handlers/lock.d.ts +10 -0
  446. package/dist/os/werkstatt/handlers/lock.d.ts.map +1 -0
  447. package/dist/os/werkstatt/handlers/lock.js +153 -0
  448. package/dist/os/werkstatt/handlers/lock.js.map +1 -0
  449. package/dist/os/werkstatt/handlers/schema.d.ts +33 -0
  450. package/dist/os/werkstatt/handlers/schema.d.ts.map +1 -0
  451. package/dist/os/werkstatt/handlers/schema.js +42 -0
  452. package/dist/os/werkstatt/handlers/schema.js.map +1 -0
  453. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts +15 -0
  454. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +1 -0
  455. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +152 -0
  456. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -0
  457. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts +18 -0
  458. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts.map +1 -0
  459. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js +51 -0
  460. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js.map +1 -0
  461. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts +11 -0
  462. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +1 -0
  463. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +79 -0
  464. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +1 -0
  465. package/dist/os/werkstatt/handlers/workspace-deps.d.ts +12 -0
  466. package/dist/os/werkstatt/handlers/workspace-deps.d.ts.map +1 -0
  467. package/dist/os/werkstatt/handlers/workspace-deps.js +42 -0
  468. package/dist/os/werkstatt/handlers/workspace-deps.js.map +1 -0
  469. package/dist/os/werkstatt/index.d.ts +7 -0
  470. package/dist/os/werkstatt/index.d.ts.map +1 -0
  471. package/dist/os/werkstatt/index.js +18 -0
  472. package/dist/os/werkstatt/index.js.map +1 -0
  473. package/dist/os/werkstatt/werkstatt.module.d.ts +3 -0
  474. package/dist/os/werkstatt/werkstatt.module.d.ts.map +1 -0
  475. package/dist/os/werkstatt/werkstatt.module.js +59 -0
  476. package/dist/os/werkstatt/werkstatt.module.js.map +1 -0
  477. package/dist/os/workflow/handlers.d.ts +12 -0
  478. package/dist/os/workflow/handlers.d.ts.map +1 -0
  479. package/dist/os/workflow/handlers.js +262 -0
  480. package/dist/os/workflow/handlers.js.map +1 -0
  481. package/dist/os/workflow/index.d.ts +4 -0
  482. package/dist/os/workflow/index.d.ts.map +1 -0
  483. package/dist/os/workflow/index.js +18 -0
  484. package/dist/os/workflow/index.js.map +1 -0
  485. package/dist/os/workflow/types.d.ts +69 -0
  486. package/dist/os/workflow/types.d.ts.map +1 -0
  487. package/dist/os/workflow/types.js +23 -0
  488. package/dist/os/workflow/types.js.map +1 -0
  489. package/dist/os/workflow/workflow.module.d.ts +3 -0
  490. package/dist/os/workflow/workflow.module.d.ts.map +1 -0
  491. package/dist/os/workflow/workflow.module.js +49 -0
  492. package/dist/os/workflow/workflow.module.js.map +1 -0
  493. package/dist/src/cli-output.d.ts +5 -0
  494. package/dist/src/cli-output.d.ts.map +1 -0
  495. package/dist/src/cli-output.js +53 -0
  496. package/dist/src/cli-output.js.map +1 -0
  497. package/dist/src/compass/contract-registry.d.ts +7 -0
  498. package/dist/src/compass/contract-registry.d.ts.map +1 -0
  499. package/dist/src/compass/contract-registry.js +93 -0
  500. package/dist/src/compass/contract-registry.js.map +1 -0
  501. package/dist/src/compass/types.d.ts +28 -0
  502. package/dist/src/compass/types.d.ts.map +1 -0
  503. package/dist/src/compass/types.js +14 -0
  504. package/dist/src/compass/types.js.map +1 -0
  505. package/dist/src/config/forge-config.d.ts +242 -0
  506. package/dist/src/config/forge-config.d.ts.map +1 -0
  507. package/dist/src/config/forge-config.js +363 -0
  508. package/dist/src/config/forge-config.js.map +1 -0
  509. package/dist/src/forge-module.d.ts +17 -0
  510. package/dist/src/forge-module.d.ts.map +1 -0
  511. package/dist/src/forge-module.js +16 -0
  512. package/dist/src/forge-module.js.map +1 -0
  513. package/dist/src/index.d.ts +39 -0
  514. package/dist/src/index.d.ts.map +1 -0
  515. package/dist/src/index.js +59 -0
  516. package/dist/src/index.js.map +1 -0
  517. package/dist/src/knowledge/budgets.d.ts +38 -0
  518. package/dist/src/knowledge/budgets.d.ts.map +1 -0
  519. package/dist/src/knowledge/budgets.js +157 -0
  520. package/dist/src/knowledge/budgets.js.map +1 -0
  521. package/dist/src/knowledge/compact.d.ts +47 -0
  522. package/dist/src/knowledge/compact.d.ts.map +1 -0
  523. package/dist/src/knowledge/compact.js +320 -0
  524. package/dist/src/knowledge/compact.js.map +1 -0
  525. package/dist/src/knowledge/index.d.ts +7 -0
  526. package/dist/src/knowledge/index.d.ts.map +1 -0
  527. package/dist/src/knowledge/index.js +19 -0
  528. package/dist/src/knowledge/index.js.map +1 -0
  529. package/dist/src/knowledge/parse.d.ts +3 -0
  530. package/dist/src/knowledge/parse.d.ts.map +1 -0
  531. package/dist/src/knowledge/parse.js +205 -0
  532. package/dist/src/knowledge/parse.js.map +1 -0
  533. package/dist/src/knowledge/promote.d.ts +37 -0
  534. package/dist/src/knowledge/promote.d.ts.map +1 -0
  535. package/dist/src/knowledge/promote.js +120 -0
  536. package/dist/src/knowledge/promote.js.map +1 -0
  537. package/dist/src/knowledge/schema.d.ts +61 -0
  538. package/dist/src/knowledge/schema.d.ts.map +1 -0
  539. package/dist/src/knowledge/schema.js +64 -0
  540. package/dist/src/knowledge/schema.js.map +1 -0
  541. package/dist/src/knowledge/serialize.d.ts +3 -0
  542. package/dist/src/knowledge/serialize.d.ts.map +1 -0
  543. package/dist/src/knowledge/serialize.js +67 -0
  544. package/dist/src/knowledge/serialize.js.map +1 -0
  545. package/dist/src/migration-adapters/git-utils.d.ts +3 -0
  546. package/dist/src/migration-adapters/git-utils.d.ts.map +1 -0
  547. package/dist/src/migration-adapters/git-utils.js +64 -0
  548. package/dist/src/migration-adapters/git-utils.js.map +1 -0
  549. package/dist/src/migration-adapters/ignored-files.d.ts +12 -0
  550. package/dist/src/migration-adapters/ignored-files.d.ts.map +1 -0
  551. package/dist/src/migration-adapters/ignored-files.js +190 -0
  552. package/dist/src/migration-adapters/ignored-files.js.map +1 -0
  553. package/dist/src/migration-adapters/index.d.ts +8 -0
  554. package/dist/src/migration-adapters/index.d.ts.map +1 -0
  555. package/dist/src/migration-adapters/index.js +17 -0
  556. package/dist/src/migration-adapters/index.js.map +1 -0
  557. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts +3 -0
  558. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts.map +1 -0
  559. package/dist/src/migration-adapters/node-typescript-pnpm/index.js +141 -0
  560. package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +1 -0
  561. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts +3 -0
  562. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts.map +1 -0
  563. package/dist/src/migration-adapters/phaser-pnpm/index.js +142 -0
  564. package/dist/src/migration-adapters/phaser-pnpm/index.js.map +1 -0
  565. package/dist/src/migration-adapters/registry.d.ts +6 -0
  566. package/dist/src/migration-adapters/registry.d.ts.map +1 -0
  567. package/dist/src/migration-adapters/registry.js +55 -0
  568. package/dist/src/migration-adapters/registry.js.map +1 -0
  569. package/dist/src/migration-adapters/types.d.ts +35 -0
  570. package/dist/src/migration-adapters/types.d.ts.map +1 -0
  571. package/dist/src/migration-adapters/types.js +31 -0
  572. package/dist/src/migration-adapters/types.js.map +1 -0
  573. package/dist/src/onboarding/agents-generate.d.ts +31 -0
  574. package/dist/src/onboarding/agents-generate.d.ts.map +1 -0
  575. package/dist/src/onboarding/agents-generate.js +372 -0
  576. package/dist/src/onboarding/agents-generate.js.map +1 -0
  577. package/dist/src/onboarding/create.d.ts +12 -0
  578. package/dist/src/onboarding/create.d.ts.map +1 -0
  579. package/dist/src/onboarding/create.js +389 -0
  580. package/dist/src/onboarding/create.js.map +1 -0
  581. package/dist/src/onboarding/doctor.d.ts +45 -0
  582. package/dist/src/onboarding/doctor.d.ts.map +1 -0
  583. package/dist/src/onboarding/doctor.js +1190 -0
  584. package/dist/src/onboarding/doctor.js.map +1 -0
  585. package/dist/src/onboarding/init.d.ts +36 -0
  586. package/dist/src/onboarding/init.d.ts.map +1 -0
  587. package/dist/src/onboarding/init.js +362 -0
  588. package/dist/src/onboarding/init.js.map +1 -0
  589. package/dist/src/onboarding/invariant-engine.d.ts +17 -0
  590. package/dist/src/onboarding/invariant-engine.d.ts.map +1 -0
  591. package/dist/src/onboarding/invariant-engine.js +416 -0
  592. package/dist/src/onboarding/invariant-engine.js.map +1 -0
  593. package/dist/src/onboarding/memory-scaffold.d.ts +18 -0
  594. package/dist/src/onboarding/memory-scaffold.d.ts.map +1 -0
  595. package/dist/src/onboarding/memory-scaffold.js +151 -0
  596. package/dist/src/onboarding/memory-scaffold.js.map +1 -0
  597. package/dist/src/onboarding/nested-agents-generate.d.ts +18 -0
  598. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -0
  599. package/dist/src/onboarding/nested-agents-generate.js +69 -0
  600. package/dist/src/onboarding/nested-agents-generate.js.map +1 -0
  601. package/dist/src/onboarding/nested-agents-templates.d.ts +26 -0
  602. package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -0
  603. package/dist/src/onboarding/nested-agents-templates.js +178 -0
  604. package/dist/src/onboarding/nested-agents-templates.js.map +1 -0
  605. package/dist/src/onboarding/profile-validate.d.ts +13 -0
  606. package/dist/src/onboarding/profile-validate.d.ts.map +1 -0
  607. package/dist/src/onboarding/profile-validate.js +109 -0
  608. package/dist/src/onboarding/profile-validate.js.map +1 -0
  609. package/dist/src/onboarding/scaffold-project.d.ts +12 -0
  610. package/dist/src/onboarding/scaffold-project.d.ts.map +1 -0
  611. package/dist/src/onboarding/scaffold-project.js +264 -0
  612. package/dist/src/onboarding/scaffold-project.js.map +1 -0
  613. package/dist/src/onboarding/scaffold.d.ts +15 -0
  614. package/dist/src/onboarding/scaffold.d.ts.map +1 -0
  615. package/dist/src/onboarding/scaffold.js +121 -0
  616. package/dist/src/onboarding/scaffold.js.map +1 -0
  617. package/dist/src/onboarding/upgrade.d.ts +27 -0
  618. package/dist/src/onboarding/upgrade.d.ts.map +1 -0
  619. package/dist/src/onboarding/upgrade.js +453 -0
  620. package/dist/src/onboarding/upgrade.js.map +1 -0
  621. package/dist/src/onboarding/workspace-discovery.d.ts +11 -0
  622. package/dist/src/onboarding/workspace-discovery.d.ts.map +1 -0
  623. package/dist/src/onboarding/workspace-discovery.js +138 -0
  624. package/dist/src/onboarding/workspace-discovery.js.map +1 -0
  625. package/dist/src/plugin/ForgePluginManifest.d.ts +38 -0
  626. package/dist/src/plugin/ForgePluginManifest.d.ts.map +1 -0
  627. package/dist/src/plugin/ForgePluginManifest.js +52 -0
  628. package/dist/src/plugin/ForgePluginManifest.js.map +1 -0
  629. package/dist/src/profiles/profile-schema.d.ts +361 -0
  630. package/dist/src/profiles/profile-schema.d.ts.map +1 -0
  631. package/dist/src/profiles/profile-schema.js +208 -0
  632. package/dist/src/profiles/profile-schema.js.map +1 -0
  633. package/dist/src/profiles/stack-profile.d.ts +173 -0
  634. package/dist/src/profiles/stack-profile.d.ts.map +1 -0
  635. package/dist/src/profiles/stack-profile.js +148 -0
  636. package/dist/src/profiles/stack-profile.js.map +1 -0
  637. package/dist/src/profiles/terminology-utils.d.ts +8 -0
  638. package/dist/src/profiles/terminology-utils.d.ts.map +1 -0
  639. package/dist/src/profiles/terminology-utils.js +31 -0
  640. package/dist/src/profiles/terminology-utils.js.map +1 -0
  641. package/dist/src/registry.d.ts +38 -0
  642. package/dist/src/registry.d.ts.map +1 -0
  643. package/dist/src/registry.js +174 -0
  644. package/dist/src/registry.js.map +1 -0
  645. package/dist/src/skill-schema.d.ts +30 -0
  646. package/dist/src/skill-schema.d.ts.map +1 -0
  647. package/dist/src/skill-schema.js +34 -0
  648. package/dist/src/skill-schema.js.map +1 -0
  649. package/dist/src/types.d.ts +154 -0
  650. package/dist/src/types.d.ts.map +1 -0
  651. package/dist/src/types.js +17 -0
  652. package/dist/src/types.js.map +1 -0
  653. package/dist/src/utils/fs-atomic.d.ts +7 -0
  654. package/dist/src/utils/fs-atomic.d.ts.map +1 -0
  655. package/dist/src/utils/fs-atomic.js +81 -0
  656. package/dist/src/utils/fs-atomic.js.map +1 -0
  657. package/dist/src/utils/fs-idempotent.d.ts +2 -0
  658. package/dist/src/utils/fs-idempotent.d.ts.map +1 -0
  659. package/dist/src/utils/fs-idempotent.js +39 -0
  660. package/dist/src/utils/fs-idempotent.js.map +1 -0
  661. package/dist/src/utils/fs-trash-sync.d.ts +2 -0
  662. package/dist/src/utils/fs-trash-sync.d.ts.map +1 -0
  663. package/dist/src/utils/fs-trash-sync.js +34 -0
  664. package/dist/src/utils/fs-trash-sync.js.map +1 -0
  665. package/dist/src/utils/fs-trash.d.ts +2 -0
  666. package/dist/src/utils/fs-trash.d.ts.map +1 -0
  667. package/dist/src/utils/fs-trash.js +24 -0
  668. package/dist/src/utils/fs-trash.js.map +1 -0
  669. package/dist/src/utils/fs.d.ts +8 -0
  670. package/dist/src/utils/fs.d.ts.map +1 -0
  671. package/dist/src/utils/fs.js +60 -0
  672. package/dist/src/utils/fs.js.map +1 -0
  673. package/dist/src/utils/generated-marker.d.ts +21 -0
  674. package/dist/src/utils/generated-marker.d.ts.map +1 -0
  675. package/dist/src/utils/generated-marker.js +128 -0
  676. package/dist/src/utils/generated-marker.js.map +1 -0
  677. package/dist/src/utils/hash.d.ts +2 -0
  678. package/dist/src/utils/hash.d.ts.map +1 -0
  679. package/dist/src/utils/hash.js +18 -0
  680. package/dist/src/utils/hash.js.map +1 -0
  681. package/dist/src/utils/index.d.ts +9 -0
  682. package/dist/src/utils/index.d.ts.map +1 -0
  683. package/dist/src/utils/index.js +21 -0
  684. package/dist/src/utils/index.js.map +1 -0
  685. package/dist/src/utils/string-utils.d.ts +2 -0
  686. package/dist/src/utils/string-utils.d.ts.map +1 -0
  687. package/dist/src/utils/string-utils.js +19 -0
  688. package/dist/src/utils/string-utils.js.map +1 -0
  689. package/dist/src/validators/note-frontmatter-validate.d.ts +20 -0
  690. package/dist/src/validators/note-frontmatter-validate.d.ts.map +1 -0
  691. package/dist/src/validators/note-frontmatter-validate.js +117 -0
  692. package/dist/src/validators/note-frontmatter-validate.js.map +1 -0
  693. package/dist/src/validators/note-link-validate.d.ts +21 -0
  694. package/dist/src/validators/note-link-validate.d.ts.map +1 -0
  695. package/dist/src/validators/note-link-validate.js +121 -0
  696. package/dist/src/validators/note-link-validate.js.map +1 -0
  697. package/dist/src/validators/note-orphan-detect.d.ts +19 -0
  698. package/dist/src/validators/note-orphan-detect.d.ts.map +1 -0
  699. package/dist/src/validators/note-orphan-detect.js +123 -0
  700. package/dist/src/validators/note-orphan-detect.js.map +1 -0
  701. package/dist/src/validators/port-validate.d.ts +12 -0
  702. package/dist/src/validators/port-validate.d.ts.map +1 -0
  703. package/dist/src/validators/port-validate.js +78 -0
  704. package/dist/src/validators/port-validate.js.map +1 -0
  705. package/dist/src/validators/skill-validate.d.ts +29 -0
  706. package/dist/src/validators/skill-validate.d.ts.map +1 -0
  707. package/dist/src/validators/skill-validate.js +689 -0
  708. package/dist/src/validators/skill-validate.js.map +1 -0
  709. package/os/adr/adr.module.ts +1 -0
  710. package/os/audit/audit.module.ts +1 -0
  711. package/os/compass/compass.module.ts +1 -0
  712. package/os/compass/handlers/compass-inventory-handler.ts +107 -1
  713. package/os/core/core.module.ts +18 -0
  714. package/os/core/handlers/assets-helpers.ts +1 -1
  715. package/os/core/handlers/determinism-check.ts +1 -1
  716. package/os/core/handlers/forge-autonomy-validate.ts +115 -0
  717. package/os/core/handlers/knowledge-compact.ts +6 -1
  718. package/os/core/handlers/release-prepare.ts +1 -1
  719. package/os/exploration/exploration.module.ts +1 -0
  720. package/os/mission/mission.module.ts +1 -0
  721. package/os/naming/naming.module.ts +1 -0
  722. package/os/notes/notes.module.ts +1 -0
  723. package/os/plan/plan.module.ts +1 -0
  724. package/os/plugin/plugin.module.ts +261 -0
  725. package/os/program/program.module.ts +1 -0
  726. package/os/rfc/rfc.module.ts +1 -0
  727. package/os/session/session.module.ts +1 -0
  728. package/os/spec/spec.module.ts +1 -0
  729. package/os/{core → werkstatt}/handlers/workspace-deps.ts +4 -3
  730. package/os/werkstatt/werkstatt.module.ts +1 -0
  731. package/os/workflow/workflow.module.ts +1 -0
  732. package/package.json +13 -3
  733. package/profiles/forge-shell.yaml +1 -1
  734. package/profiles/godot-csharp.yaml +13 -13
  735. package/profiles/knowledge-typescript-turborepo.yaml +1 -1
  736. package/profiles/phaser-turborepo.yaml +13 -13
  737. package/skills/fo/fo-add-tests/SKILL.md +54 -0
  738. package/skills/fo/fo-compass-annotate/SKILL.md +1 -0
  739. package/skills/fo/fo-idea-implement/SKILL.md +80 -0
  740. package/src/compass/contract-registry.ts +114 -0
  741. package/src/compass/types.ts +45 -0
  742. package/src/forge-module.ts +3 -1
  743. package/src/index.ts +17 -0
  744. package/src/onboarding/doctor.ts +89 -7
  745. package/src/onboarding/init.ts +20 -1
  746. package/src/onboarding/scaffold.ts +1 -0
  747. package/src/onboarding/templates/behavioral-layer-core.md +9 -0
  748. package/src/onboarding/upgrade.ts +6 -1
  749. package/src/plugin/ForgePluginManifest.ts +76 -0
  750. package/src/registry.ts +36 -0
  751. package/src/tests/contract-registry.test.ts +248 -0
  752. package/src/tests/discover-pack-skills.test.ts +112 -0
  753. package/src/tests/doctor-autonomy.test.ts +3 -3
  754. package/src/tests/fixtures/agents-generate-business-before.txt +9 -0
  755. package/src/tests/forge-autonomy-validate.test.ts +157 -0
  756. package/src/tests/plugin-manifest.test.ts +226 -0
  757. package/src/tests/upgrade.test.ts +5 -0
  758. package/src/validators/port-validate.ts +3 -3
  759. package/AGENTS.md +0 -397
@@ -0,0 +1,261 @@
1
+ /*
2
+ <MODULE_CONTRACT>
3
+ <purpose>forgePluginModule — registers forge.plugin.validate and forge.plugin.discover commands for pack manifest validation (RFC-0941).</purpose>
4
+ <non-goals>
5
+ <item>Do not implement skill discovery logic — delegate to discoverPackSkills in registry.ts.</item>
6
+ <item>Do not modify forge.yaml — this module reads config only.</item>
7
+ </non-goals>
8
+ </MODULE_CONTRACT>
9
+ <CHANGE_SUMMARY>
10
+ <item>RFC-0941: initial forgePluginModule with forge.plugin.validate and forge.plugin.discover commands.</item>
11
+ </CHANGE_SUMMARY>
12
+ */
13
+
14
+ import path from "node:path";
15
+ import fs from "node:fs";
16
+ import { parse as parseYaml } from "yaml";
17
+ import type { ForgeModule } from "../../src/forge-module.ts";
18
+ import type {
19
+ ForgeCommandInput,
20
+ ForgeCommandResult,
21
+ ForgeRuntimeContext,
22
+ } from "../../src/types.ts";
23
+ import { loadForgeConfig } from "../../src/config/forge-config.ts";
24
+ import { forgePluginManifestSchema } from "../../src/plugin/ForgePluginManifest.ts";
25
+
26
+ export interface PluginValidateResult {
27
+ command: "forge.plugin.validate";
28
+ status: "pass" | "fail";
29
+ packs: Array<{
30
+ prefix: string;
31
+ dir: string;
32
+ manifestPath: string;
33
+ valid: boolean;
34
+ errors: string[];
35
+ }>;
36
+ }
37
+
38
+ export interface PluginDiscoverResult {
39
+ command: "forge.plugin.discover";
40
+ packs: Array<{
41
+ prefix: string;
42
+ dir: string;
43
+ manifestPath: string;
44
+ id: string;
45
+ version: string;
46
+ }>;
47
+ count: number;
48
+ }
49
+
50
+ function runPluginValidate(
51
+ _input: ForgeCommandInput,
52
+ context: ForgeRuntimeContext,
53
+ ): ForgeCommandResult<PluginValidateResult> {
54
+ const workspaceRoot = context.workspaceRoot;
55
+ const packs: PluginValidateResult["packs"] = [];
56
+ let allValid = true;
57
+
58
+ try {
59
+ const config = loadForgeConfig(workspaceRoot);
60
+
61
+ if (!config.skillPacks || config.skillPacks.length === 0) {
62
+ return {
63
+ data: {
64
+ command: "forge.plugin.validate",
65
+ status: "pass",
66
+ packs: [],
67
+ },
68
+ summary: "[forge.plugin.validate] OK — 0 packs declared",
69
+ };
70
+ }
71
+
72
+ for (const pack of config.skillPacks) {
73
+ const packDir = path.resolve(workspaceRoot, pack.dir);
74
+ const manifestPath = path.join(packDir, "forge.plugin.yaml");
75
+
76
+ if (!fs.existsSync(manifestPath)) {
77
+ allValid = false;
78
+ packs.push({
79
+ prefix: pack.prefix,
80
+ dir: pack.dir,
81
+ manifestPath,
82
+ valid: false,
83
+ errors: ["forge.plugin.yaml not found at pack root"],
84
+ });
85
+ continue;
86
+ }
87
+
88
+ let raw: string;
89
+ try {
90
+ raw = fs.readFileSync(manifestPath, "utf-8");
91
+ } catch (err) {
92
+ allValid = false;
93
+ packs.push({
94
+ prefix: pack.prefix,
95
+ dir: pack.dir,
96
+ manifestPath,
97
+ valid: false,
98
+ errors: [`Failed to read manifest: ${(err as Error).message}`],
99
+ });
100
+ continue;
101
+ }
102
+
103
+ let parsed: unknown;
104
+ try {
105
+ parsed = parseYaml(raw);
106
+ } catch (err) {
107
+ allValid = false;
108
+ packs.push({
109
+ prefix: pack.prefix,
110
+ dir: pack.dir,
111
+ manifestPath,
112
+ valid: false,
113
+ errors: [`YAML parse error: ${(err as Error).message}`],
114
+ });
115
+ continue;
116
+ }
117
+
118
+ const result = forgePluginManifestSchema.safeParse(parsed);
119
+ if (!result.success) {
120
+ allValid = false;
121
+ packs.push({
122
+ prefix: pack.prefix,
123
+ dir: pack.dir,
124
+ manifestPath,
125
+ valid: false,
126
+ errors: result.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`),
127
+ });
128
+ continue;
129
+ }
130
+
131
+ packs.push({
132
+ prefix: pack.prefix,
133
+ dir: pack.dir,
134
+ manifestPath,
135
+ valid: true,
136
+ errors: [],
137
+ });
138
+ }
139
+ } catch (err) {
140
+ return {
141
+ data: {
142
+ command: "forge.plugin.validate",
143
+ status: "fail",
144
+ packs: [],
145
+ },
146
+ exitCode: 1,
147
+ summary: `[forge.plugin.validate] FAIL — ${(err as Error).message}`,
148
+ };
149
+ }
150
+
151
+ const status = allValid ? "pass" : "fail";
152
+ return {
153
+ data: {
154
+ command: "forge.plugin.validate",
155
+ status,
156
+ packs,
157
+ },
158
+ ...(status === "fail" ? { exitCode: 1 } : {}),
159
+ summary:
160
+ status === "pass"
161
+ ? `[forge.plugin.validate] OK — ${packs.length} pack(s) valid`
162
+ : `[forge.plugin.validate] FAIL — ${packs.filter((p) => !p.valid).length} pack(s) with errors`,
163
+ };
164
+ }
165
+
166
+ function runPluginDiscover(
167
+ _input: ForgeCommandInput,
168
+ context: ForgeRuntimeContext,
169
+ ): ForgeCommandResult<PluginDiscoverResult> {
170
+ const workspaceRoot = context.workspaceRoot;
171
+ const packs: PluginDiscoverResult["packs"] = [];
172
+
173
+ try {
174
+ const config = loadForgeConfig(workspaceRoot);
175
+
176
+ if (!config.skillPacks || config.skillPacks.length === 0) {
177
+ return {
178
+ data: {
179
+ command: "forge.plugin.discover",
180
+ packs: [],
181
+ count: 0,
182
+ },
183
+ summary: "[forge.plugin.discover] 0 packs discovered",
184
+ };
185
+ }
186
+
187
+ for (const pack of config.skillPacks) {
188
+ const packDir = path.resolve(workspaceRoot, pack.dir);
189
+ const manifestPath = path.join(packDir, "forge.plugin.yaml");
190
+
191
+ if (!fs.existsSync(manifestPath)) continue;
192
+
193
+ let raw: string;
194
+ try {
195
+ raw = fs.readFileSync(manifestPath, "utf-8");
196
+ } catch {
197
+ continue;
198
+ }
199
+
200
+ let parsed: unknown;
201
+ try {
202
+ parsed = parseYaml(raw);
203
+ } catch {
204
+ continue;
205
+ }
206
+
207
+ const result = forgePluginManifestSchema.safeParse(parsed);
208
+ if (!result.success) continue;
209
+
210
+ packs.push({
211
+ prefix: pack.prefix,
212
+ dir: pack.dir,
213
+ manifestPath,
214
+ id: result.data.id,
215
+ version: result.data.version,
216
+ });
217
+ }
218
+ } catch {
219
+ // Config not found or invalid — return empty
220
+ }
221
+
222
+ return {
223
+ data: {
224
+ command: "forge.plugin.discover",
225
+ packs,
226
+ count: packs.length,
227
+ },
228
+ summary: `[forge.plugin.discover] ${packs.length} pack(s) discovered`,
229
+ };
230
+ }
231
+
232
+ export const forgePluginModule: ForgeModule = {
233
+ name: "forge-plugin",
234
+ version: "0.1.0",
235
+ runtime: "autonomous",
236
+ async register(registry) {
237
+ registry.registerCommand({
238
+ name: "forge.plugin.validate",
239
+ description:
240
+ "Validate forge.plugin.yaml manifests for all declared skill packs (RFC-0941). Checks manifest schema (id: kebab-case, version: semver) and reports missing or invalid manifests.",
241
+ scope: "workspace",
242
+ supportsAllSites: false,
243
+ flags: {},
244
+ reads: ["forge.yaml", "**/forge.plugin.yaml"],
245
+ cacheable: false,
246
+ execute: runPluginValidate,
247
+ });
248
+
249
+ registry.registerCommand({
250
+ name: "forge.plugin.discover",
251
+ description:
252
+ "Enumerate all project-declared skill packs with valid forge.plugin.yaml manifests (RFC-0941). Returns pack id, version, prefix, and directory.",
253
+ scope: "workspace",
254
+ supportsAllSites: false,
255
+ flags: {},
256
+ reads: ["forge.yaml", "**/forge.plugin.yaml"],
257
+ cacheable: false,
258
+ execute: runPluginDiscover,
259
+ });
260
+ },
261
+ };
@@ -16,6 +16,7 @@ import type { ForgeModule } from "../../src/forge-module.ts";
16
16
  export const forgeProgramModule: ForgeModule = {
17
17
  name: "forge-program",
18
18
  version: "0.1.0",
19
+ runtime: "autonomous",
19
20
 
20
21
  async register(registry) {
21
22
  const { runValidate } = await import("./handlers/validate.ts");
@@ -18,6 +18,7 @@ import type { ForgeModule } from "../../src/forge-module.ts";
18
18
  export const forgeRfcModule: ForgeModule = {
19
19
  name: "rfc",
20
20
  version: "0.1.0",
21
+ runtime: "autonomous",
21
22
 
22
23
  async register(registry) {
23
24
  const {
@@ -15,6 +15,7 @@ import type { ForgeModule } from "../../src/forge-module.ts";
15
15
  export const forgeSessionModule: ForgeModule = {
16
16
  name: "forge-session",
17
17
  version: "0.1.0",
18
+ runtime: "autonomous",
18
19
  async register(registry) {
19
20
  const { runSessionSave } = await import("./handlers/save.ts");
20
21
  const { runSessionArchive } = await import("./handlers/archive.ts");
@@ -17,6 +17,7 @@ import type { ForgeModule } from "../../src/forge-module.ts";
17
17
  export const forgeSpecModule: ForgeModule = {
18
18
  name: "forge-spec",
19
19
  version: "0.2.0",
20
+ runtime: "autonomous",
20
21
  async register(registry) {
21
22
  const { runSpecValidate } = await import("./spec-validate.ts");
22
23
  const { runSpecStatus } = await import("./spec-status.ts");
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  <MODULE_CONTRACT>
3
- <purpose>Lazy dynamic-import bridge for @warpgogol/werkstatt/fingerprint and @warpgogol/werkstatt-shared/share/fs. These workspace packages are not published to npm — when forge is installed standalone from npm, they are unavailable and handlers that depend on them must degrade gracefully.</purpose>
3
+ <purpose>Lazy dynamic-import bridge for @warpgogol/werkstatt-engine/fingerprint and @warpgogol/werkstatt-shared/share/fs. These workspace packages are not published to npm — when forge is installed standalone from npm, they are unavailable and handlers that depend on them must degrade gracefully.</purpose>
4
4
  <non-goals>
5
5
  <item>Do not re-export types from @warpgogol/* — only runtime functions.</item>
6
6
  <item>Do not use static imports — that would break npm installs without workspace deps.</item>
@@ -8,6 +8,7 @@
8
8
  </MODULE_CONTRACT>
9
9
  <CHANGE_SUMMARY>
10
10
  <item>RFC-0682: extract dynamic-import helper so forge publishes without workspace:* deps.</item>
11
+ <item>RFC-0940: moved from os/core/handlers/ to os/werkstatt/handlers/ — this module imports @warpgogol/werkstatt-engine and belongs in the adapter directory.</item>
11
12
  </CHANGE_SUMMARY>
12
13
  */
13
14
 
@@ -39,7 +40,7 @@ export async function loadWorkspaceDeps(): Promise<WorkspaceDeps> {
39
40
  const shareMod = await import("@warpgogol/werkstatt-shared/share/fs");
40
41
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
41
42
  // @ts-ignore — workspace dep, may not be installed when forge is used standalone from npm
42
- const fpMod = await import("@warpgogol/werkstatt/fingerprint");
43
+ const fpMod = await import("@warpgogol/werkstatt-engine/fingerprint");
43
44
  cached = {
44
45
  collectFiles: shareMod.collectFiles as CollectFilesFn,
45
46
  byteHashFile: fpMod.byteHashFile as ByteHashFileFn,
@@ -47,7 +48,7 @@ export async function loadWorkspaceDeps(): Promise<WorkspaceDeps> {
47
48
  return cached;
48
49
  } catch (err) {
49
50
  loadError =
50
- `@warpgogol/werkstatt/fingerprint and @warpgogol/werkstatt-shared/share are required for this command but not installed. ` +
51
+ `@warpgogol/werkstatt-engine/fingerprint and @warpgogol/werkstatt-shared/share are required for this command but not installed. ` +
51
52
  `When using forge standalone from npm, install them separately or use forge within the warpgogol workspace. ` +
52
53
  `Error: ${(err as Error).message}`;
53
54
  throw new Error(loadError);
@@ -19,6 +19,7 @@ import { runWerkstattOperationValidate } from "./handlers/werkstatt-operation-va
19
19
  export const forgeWerkstattModule: ForgeModule = {
20
20
  name: "forge-werkstatt",
21
21
  version: "0.1.0",
22
+ runtime: "werkstatt-adapter",
22
23
  async register(registry) {
23
24
  registry.registerCommand({
24
25
  name: "werkstatt.lock.status",
@@ -16,6 +16,7 @@ import type { ForgeModule } from "../../src/forge-module.ts";
16
16
  export const forgeWorkflowModule: ForgeModule = {
17
17
  name: "workflow",
18
18
  version: "0.1.0",
19
+ runtime: "autonomous",
19
20
  async register(registry) {
20
21
  const { runWorkflowLint, runWorkflowList, runWorkflowAmendList } =
21
22
  await import("./handlers.ts");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warpgogol/forge",
3
- "version": "2.9.13",
3
+ "version": "2.9.23",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -140,6 +140,10 @@
140
140
  "./os/program": {
141
141
  "types": "./os/program/program.module.ts",
142
142
  "default": "./os/program/program.module.ts"
143
+ },
144
+ "./os/plugin": {
145
+ "types": "./os/plugin/plugin.module.ts",
146
+ "default": "./os/plugin/plugin.module.ts"
143
147
  }
144
148
  },
145
149
  "files": [
@@ -166,14 +170,16 @@
166
170
  },
167
171
  "dependencies": {
168
172
  "@aws-sdk/client-s3": "^3.700.0",
173
+ "picomatch": "^4.0.5",
169
174
  "trash": "^10.1.1",
170
175
  "yaml": "^2.9.0",
171
176
  "zod": "^4.4.3"
172
177
  },
173
178
  "devDependencies": {
174
179
  "@types/node": "^24.0.0",
175
- "@warpgogol/werkstatt": "*",
176
- "@warpgogol/werkstatt-shared": "*",
180
+ "@types/picomatch": "^4.0.2",
181
+ "@warpgogol/werkstatt-engine": "*",
182
+ "@warpgogol/werkstatt-shared": "^0.8.6",
177
183
  "eslint": "^10.8.0",
178
184
  "fast-check": "^4.9.0",
179
185
  "typescript": "^6.0.3",
@@ -303,6 +309,10 @@
303
309
  "./os/program": {
304
310
  "types": "./dist/os/program/program.module.d.ts",
305
311
  "default": "./dist/os/program/program.module.js"
312
+ },
313
+ "./os/plugin": {
314
+ "types": "./dist/os/plugin/plugin.module.d.ts",
315
+ "default": "./dist/os/plugin/plugin.module.js"
306
316
  }
307
317
  }
308
318
  },
@@ -165,7 +165,7 @@ workspace:
165
165
  console.log(`Cleaned ${toDelete.length} directories.`)
166
166
  - path: tools/kernel.config.ts
167
167
  content: |
168
- import { defineKernelConfig } from "@warpgogol/werkstatt/kernel/types";
168
+ import { defineKernelConfig } from "@warpgogol/werkstatt-engine/kernel/types";
169
169
 
170
170
  export default defineKernelConfig({
171
171
  name: "__PROJECT_NAME__",
@@ -374,7 +374,7 @@ workspace:
374
374
  "turbo": "^2.3.0",
375
375
  "prettier": "^3.4.0",
376
376
  "@warpgogol/forge": "^2.2.0",
377
- "@warpgogol/werkstatt": "^1.2.0",
377
+ "@warpgogol/werkstatt-engine": "^1.2.0",
378
378
  "@warpgogol/werkstatt-godot-game": "^0.6.0"
379
379
  }
380
380
  }
@@ -625,7 +625,7 @@ workspace:
625
625
  console.log(`Cleaned ${toDelete.length} directories.`);
626
626
  - path: tools/kernel.config.ts
627
627
  content: |
628
- import { defineKernelConfig } from "@warpgogol/werkstatt/kernel/types";
628
+ import { defineKernelConfig } from "@warpgogol/werkstatt-engine/kernel/types";
629
629
  import { werkstattGodotPlugin } from "@warpgogol/werkstatt-godot-game";
630
630
 
631
631
  export default defineKernelConfig({
@@ -646,16 +646,16 @@ workspace:
646
646
  "forge-exploration": async () => (await import("@warpgogol/forge/os/exploration")).forgeExplorationModule,
647
647
  "forge-program": async () => (await import("@warpgogol/forge/os/program")).forgeProgramModule,
648
648
  "forge-werkstatt": async () => (await import("@warpgogol/forge/os/werkstatt")).forgeWerkstattModule,
649
- mission: async () => (await import("@warpgogol/werkstatt/mission-module")).createMissionModule(),
650
- sternsystem: async () => (await import("@warpgogol/werkstatt/sternsystem-module")).createSternsystemModule(),
651
- bordbuch: async () => (await import("@warpgogol/werkstatt/bordbuch-module")).createBordbuchModule(),
652
- "artifact-store": async () => (await import("@warpgogol/werkstatt/artifact-store-module")).createArtifactStoreModule(),
653
- release: async () => (await import("@warpgogol/werkstatt/release-module")).createReleaseModule(),
654
- leitstand: async () => (await import("@warpgogol/werkstatt/leitstand-module")).createLeitstandModule(),
655
- notausgang: async () => (await import("@warpgogol/werkstatt/notausgang-module")).createNotausgangModule(),
656
- evidence: async () => (await import("@warpgogol/werkstatt/evidence-module")).createEvidenceModule(),
657
- "werkstatt-plugin": async () => (await import("@warpgogol/werkstatt/os/werkstatt-plugin-module")).forgeWerkstattPluginModule,
658
- "werkstatt-autonomy": async () => (await import("@warpgogol/werkstatt/os/werkstatt-autonomy-module")).werkstattAutonomyModule,
649
+ mission: async () => (await import("@warpgogol/werkstatt-engine/mission-module")).createMissionModule(),
650
+ sternsystem: async () => (await import("@warpgogol/werkstatt-engine/sternsystem-module")).createSternsystemModule(),
651
+ bordbuch: async () => (await import("@warpgogol/werkstatt-engine/bordbuch-module")).createBordbuchModule(),
652
+ "artifact-store": async () => (await import("@warpgogol/werkstatt-engine/artifact-store-module")).createArtifactStoreModule(),
653
+ release: async () => (await import("@warpgogol/werkstatt-engine/release-module")).createReleaseModule(),
654
+ leitstand: async () => (await import("@warpgogol/werkstatt-engine/leitstand-module")).createLeitstandModule(),
655
+ notausgang: async () => (await import("@warpgogol/werkstatt-engine/notausgang-module")).createNotausgangModule(),
656
+ evidence: async () => (await import("@warpgogol/werkstatt-engine/evidence-module")).createEvidenceModule(),
657
+ "werkstatt-plugin": async () => (await import("@warpgogol/werkstatt-engine/os/werkstatt-plugin-module")).forgeWerkstattPluginModule,
658
+ "werkstatt-autonomy": async () => (await import("@warpgogol/werkstatt-engine/os/werkstatt-autonomy-module")).werkstattAutonomyModule,
659
659
  "__PROJECT_NAME__-plugin": async () => werkstattGodotPlugin,
660
660
  },
661
661
  });
@@ -792,7 +792,7 @@ workspace:
792
792
 
793
793
  ## Stack
794
794
 
795
- - Engine: @warpgogol/werkstatt
795
+ - Engine: @warpgogol/werkstatt-engine
796
796
  - Plugin: @warpgogol/werkstatt-godot-game
797
797
  - Stack profile: godot-csharp
798
798
  install:
@@ -104,7 +104,7 @@ plugin:
104
104
  id: werkstatt-knowledge
105
105
  package: "@warpgogol/werkstatt-knowledge"
106
106
  install:
107
- - pnpm add -wD @warpgogol/forge @warpgogol/werkstatt @warpgogol/werkstatt-knowledge prettier
107
+ - pnpm add -wD @warpgogol/forge @warpgogol/werkstatt-engine @warpgogol/werkstatt-knowledge prettier
108
108
  agents:
109
109
  root: |
110
110
  # Knowledge Base Workshop
@@ -228,7 +228,7 @@ workspace:
228
228
  console.log(`Cleaned ${toDelete.length} directories.`);
229
229
  - path: tools/kernel.config.ts
230
230
  content: |
231
- import { defineKernelConfig } from "@warpgogol/werkstatt/kernel/types";
231
+ import { defineKernelConfig } from "@warpgogol/werkstatt-engine/kernel/types";
232
232
  import { werkstattPhaserPlugin } from "@warpgogol/werkstatt-phaser-game";
233
233
 
234
234
  export default defineKernelConfig({
@@ -249,16 +249,16 @@ workspace:
249
249
  "forge-exploration": async () => (await import("@warpgogol/forge/os/exploration")).forgeExplorationModule,
250
250
  "forge-program": async () => (await import("@warpgogol/forge/os/program")).forgeProgramModule,
251
251
  "forge-werkstatt": async () => (await import("@warpgogol/forge/os/werkstatt")).forgeWerkstattModule,
252
- mission: async () => (await import("@warpgogol/werkstatt/mission-module")).createMissionModule(),
253
- sternsystem: async () => (await import("@warpgogol/werkstatt/sternsystem-module")).createSternsystemModule(),
254
- bordbuch: async () => (await import("@warpgogol/werkstatt/bordbuch-module")).createBordbuchModule(),
255
- "artifact-store": async () => (await import("@warpgogol/werkstatt/artifact-store-module")).createArtifactStoreModule(),
256
- release: async () => (await import("@warpgogol/werkstatt/release-module")).createReleaseModule(),
257
- leitstand: async () => (await import("@warpgogol/werkstatt/leitstand-module")).createLeitstandModule(),
258
- notausgang: async () => (await import("@warpgogol/werkstatt/notausgang-module")).createNotausgangModule(),
259
- evidence: async () => (await import("@warpgogol/werkstatt/evidence-module")).createEvidenceModule(),
260
- "werkstatt-plugin": async () => (await import("@warpgogol/werkstatt/os/werkstatt-plugin-module")).forgeWerkstattPluginModule,
261
- "werkstatt-autonomy": async () => (await import("@warpgogol/werkstatt/os/werkstatt-autonomy-module")).werkstattAutonomyModule,
252
+ mission: async () => (await import("@warpgogol/werkstatt-engine/mission-module")).createMissionModule(),
253
+ sternsystem: async () => (await import("@warpgogol/werkstatt-engine/sternsystem-module")).createSternsystemModule(),
254
+ bordbuch: async () => (await import("@warpgogol/werkstatt-engine/bordbuch-module")).createBordbuchModule(),
255
+ "artifact-store": async () => (await import("@warpgogol/werkstatt-engine/artifact-store-module")).createArtifactStoreModule(),
256
+ release: async () => (await import("@warpgogol/werkstatt-engine/release-module")).createReleaseModule(),
257
+ leitstand: async () => (await import("@warpgogol/werkstatt-engine/leitstand-module")).createLeitstandModule(),
258
+ notausgang: async () => (await import("@warpgogol/werkstatt-engine/notausgang-module")).createNotausgangModule(),
259
+ evidence: async () => (await import("@warpgogol/werkstatt-engine/evidence-module")).createEvidenceModule(),
260
+ "werkstatt-plugin": async () => (await import("@warpgogol/werkstatt-engine/os/werkstatt-plugin-module")).forgeWerkstattPluginModule,
261
+ "werkstatt-autonomy": async () => (await import("@warpgogol/werkstatt-engine/os/werkstatt-autonomy-module")).werkstattAutonomyModule,
262
262
  "__PROJECT_NAME__-plugin": async () => werkstattPhaserPlugin,
263
263
  },
264
264
  });
@@ -360,11 +360,11 @@ workspace:
360
360
 
361
361
  ## Stack
362
362
 
363
- - Engine: @warpgogol/werkstatt
363
+ - Engine: @warpgogol/werkstatt-engine
364
364
  - Plugin: @warpgogol/werkstatt-phaser-game
365
365
  - Stack profile: phaser-turborepo
366
366
  install:
367
- - pnpm add -wD typescript turbo @warpgogol/forge @warpgogol/werkstatt @warpgogol/werkstatt-shared @warpgogol/werkstatt-phaser-game prettier
367
+ - pnpm add -wD typescript turbo @warpgogol/forge @warpgogol/werkstatt-engine @warpgogol/werkstatt-shared @warpgogol/werkstatt-phaser-game prettier
368
368
  firstWorkspace:
369
369
  path: apps/my-game
370
370
  files:
@@ -15,6 +15,60 @@ Before starting, read `PREFERENCES.md` at the repository root. If the file is mi
15
15
 
16
16
  Write tests for code that was produced in the current session, or for a file/module the operator points at. The skill decides per-function whether to write example-based tests, property based tests (PBT), or both — following the RFC-XXXX decision tree and the TDD discipline absorbed from the former `tdd` skill.
17
17
 
18
+ ## Tests are written for agents, not humans
19
+
20
+ The primary reader of test output is an **AI agent** looking at a console — not a human reading a test file. This changes how tests should be written:
21
+
22
+ ### Agent-readable failure messages
23
+
24
+ When a test fails, the agent reading the console output needs to know **what to fix and where**. Vitest's default output shows the assertion, the expected value, and the received value. For simple assertions this is enough — `expect(result).toBe(42)` failing with `received 41` makes the fix obvious.
25
+
26
+ For **non-obvious failures** — complex invariants, multi-step pipelines, domain-specific rules — add a failure message that tells the agent what went wrong and where to look:
27
+
28
+ ```ts
29
+ // Good: obvious failure — no message needed
30
+ expect(normalized).toBe("hello world");
31
+
32
+ // Good: non-obvious failure — message guides the agent
33
+ expect(
34
+ result.deduplicatedCount,
35
+ "Pipeline must skip already-validated entries. If count > 0, check the dedup guard in validateEntry() — entries with a matching hash in the seen-set should be skipped, not re-processed.",
36
+ ).toBe(0);
37
+
38
+ // Good: invariant failure — message explains the contract
39
+ expect(
40
+ manifest.entries.length,
41
+ "Every published Nachweis must produce exactly one manifest entry. Missing entries indicate nachweis-publish.ts skipped a record — check the bordbuch filter.",
42
+ ).toBe(publishedCount);
43
+ ```
44
+
45
+ ### When to add a message
46
+
47
+ - **Obvious from the assertion** (simple equality, type check, presence check) → no message needed. The assertion itself is the documentation.
48
+ - **Non-obvious invariant** (multi-step pipeline, domain rule, cross-module contract) → add a message explaining what the invariant is and where to look if it fails.
49
+ - **PBT property** → the comment above the property already explains the algebraic property. No additional failure message needed unless the property name is unclear.
50
+
51
+ ### What makes a good failure message
52
+
53
+ A good failure message answers two questions for the agent:
54
+
55
+ 1. **What is the invariant?** — state the contract in plain language.
56
+ 2. **Where to look** — name the function, file, or logic branch that is likely wrong.
57
+
58
+ Bad: `"test failed"` — tells the agent nothing. Bad: `"count should be zero"` — restates the assertion, adds no information. Good: `"Pipeline must skip already-validated entries — check the dedup guard in validateEntry()"` — states the invariant and points to the likely fix location.
59
+
60
+ ### Test naming
61
+
62
+ Test names are specifications — they describe behavior, not implementation. An agent scanning test names should understand what the system does without reading the test body.
63
+
64
+ ```ts
65
+ // Bad — describes implementation
66
+ test("calls validateEntry with correct args", () => { ... });
67
+
68
+ // Good — describes behavior
69
+ test("pipeline skips entries that were already validated in a previous run", () => { ... });
70
+ ```
71
+
18
72
  ## Preconditions
19
73
 
20
74
  - The code to test must exist in the workspace — either produced earlier in this session, or at a path the operator provides.
@@ -123,6 +123,7 @@ Output a summary:
123
123
  ## Completion criteria
124
124
 
125
125
  - All discovered files have `MODULE_CONTRACT` and `CHANGE_SUMMARY` blocks.
126
+ - Pack-declared Compass contract blocks (RFC-0943, if any are declared in `forge.plugin.yaml` `extensionPoints.compass.contract`) are present in matching files.
126
127
  - `compass.validate` passes with zero errors.
127
128
  - No `TODO(compass)` sentinels remain (if `--cleanup` was used).
128
129
  - All changes are committed with message `compass: update headers for changed files`.