@warpgogol/forge 5.2.4 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (590) hide show
  1. package/README.md +1 -1
  2. package/README.uk.md +8 -8
  3. package/bin/cli.ts +25 -33
  4. package/dist/bin/cli.js +21 -32
  5. package/dist/bin/cli.js.map +1 -1
  6. package/dist/os/adr/adr.module.d.ts.map +1 -1
  7. package/dist/os/adr/adr.module.js +8 -3
  8. package/dist/os/adr/adr.module.js.map +1 -1
  9. package/dist/os/adr/frontmatter-io.js +5 -5
  10. package/dist/os/adr/frontmatter-io.js.map +1 -1
  11. package/dist/os/adr/handlers/archive.d.ts.map +1 -1
  12. package/dist/os/adr/handlers/archive.js +10 -4
  13. package/dist/os/adr/handlers/archive.js.map +1 -1
  14. package/dist/os/adr/handlers/implement-stamp.d.ts.map +1 -1
  15. package/dist/os/adr/handlers/implement-stamp.js +10 -10
  16. package/dist/os/adr/handlers/implement-stamp.js.map +1 -1
  17. package/dist/os/adr/handlers/list-create.js +5 -5
  18. package/dist/os/adr/handlers/list-create.js.map +1 -1
  19. package/dist/os/adr/handlers/validate.js +1 -1
  20. package/dist/os/adr/handlers/validate.js.map +1 -1
  21. package/dist/os/audit/audit.module.js +3 -3
  22. package/dist/os/audit/audit.module.js.map +1 -1
  23. package/dist/os/audit/frontmatter-io.js +5 -5
  24. package/dist/os/audit/frontmatter-io.js.map +1 -1
  25. package/dist/os/audit/handlers/archive.d.ts.map +1 -1
  26. package/dist/os/audit/handlers/archive.js +10 -4
  27. package/dist/os/audit/handlers/archive.js.map +1 -1
  28. package/dist/os/compass/compass.module.d.ts.map +1 -1
  29. package/dist/os/compass/compass.module.js +17 -1
  30. package/dist/os/compass/compass.module.js.map +1 -1
  31. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -1
  32. package/dist/os/compass/handlers/compass-audit-handler.js +12 -5
  33. package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -1
  34. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -1
  35. package/dist/os/compass/handlers/compass-change-summary-handler.js +3 -2
  36. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -1
  37. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -1
  38. package/dist/os/compass/handlers/compass-inventory-handler.js +6 -4
  39. package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -1
  40. package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -1
  41. package/dist/os/compass/handlers/compass-inventory.js +10 -8
  42. package/dist/os/compass/handlers/compass-inventory.js.map +1 -1
  43. package/dist/os/compass/handlers/compass-migrate-handler.js +1 -1
  44. package/dist/os/compass/handlers/compass-migrate-handler.js.map +1 -1
  45. package/dist/os/compass/handlers/compass-migrate.d.ts.map +1 -1
  46. package/dist/os/compass/handlers/compass-migrate.js +6 -3
  47. package/dist/os/compass/handlers/compass-migrate.js.map +1 -1
  48. package/dist/os/compass/handlers/git-revision.d.ts.map +1 -1
  49. package/dist/os/compass/handlers/git-revision.js +9 -6
  50. package/dist/os/compass/handlers/git-revision.js.map +1 -1
  51. package/dist/os/compass/handlers/resolve-scan-root.js +1 -1
  52. package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -1
  53. package/dist/os/compass/handlers/summary-record.d.ts.map +1 -1
  54. package/dist/os/compass/handlers/summary-record.js +8 -4
  55. package/dist/os/compass/handlers/summary-record.js.map +1 -1
  56. package/dist/os/core/core.module.d.ts.map +1 -1
  57. package/dist/os/core/core.module.js +43 -4
  58. package/dist/os/core/core.module.js.map +1 -1
  59. package/dist/os/core/handlers/assets-helpers.d.ts.map +1 -1
  60. package/dist/os/core/handlers/assets-helpers.js +6 -3
  61. package/dist/os/core/handlers/assets-helpers.js.map +1 -1
  62. package/dist/os/core/handlers/build.js +1 -1
  63. package/dist/os/core/handlers/build.js.map +1 -1
  64. package/dist/os/core/handlers/determinism-check.d.ts.map +1 -1
  65. package/dist/os/core/handlers/determinism-check.js +10 -6
  66. package/dist/os/core/handlers/determinism-check.js.map +1 -1
  67. package/dist/os/core/handlers/dev.js +1 -1
  68. package/dist/os/core/handlers/dev.js.map +1 -1
  69. package/dist/os/core/handlers/file-size-lint.d.ts.map +1 -1
  70. package/dist/os/core/handlers/file-size-lint.js +11 -7
  71. package/dist/os/core/handlers/file-size-lint.js.map +1 -1
  72. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +1 -1
  73. package/dist/os/core/handlers/forge-autonomy-validate.js +9 -5
  74. package/dist/os/core/handlers/forge-autonomy-validate.js.map +1 -1
  75. package/dist/os/core/handlers/knowledge-compact.js +1 -1
  76. package/dist/os/core/handlers/knowledge-compact.js.map +1 -1
  77. package/dist/os/core/handlers/package-health.js +1 -1
  78. package/dist/os/core/handlers/package-health.js.map +1 -1
  79. package/dist/os/core/handlers/pinned-check.js +2 -2
  80. package/dist/os/core/handlers/pinned-check.js.map +1 -1
  81. package/dist/os/core/handlers/pinned-init.d.ts.map +1 -1
  82. package/dist/os/core/handlers/pinned-init.js +9 -8
  83. package/dist/os/core/handlers/pinned-init.js.map +1 -1
  84. package/dist/os/core/handlers/pinned-validate.js +3 -3
  85. package/dist/os/core/handlers/pinned-validate.js.map +1 -1
  86. package/dist/os/core/handlers/profile-resolve.js +1 -1
  87. package/dist/os/core/handlers/profile-resolve.js.map +1 -1
  88. package/dist/os/core/handlers/public-surface.js +1 -1
  89. package/dist/os/core/handlers/public-surface.js.map +1 -1
  90. package/dist/os/core/handlers/release-prepare.d.ts.map +1 -1
  91. package/dist/os/core/handlers/release-prepare.js +10 -6
  92. package/dist/os/core/handlers/release-prepare.js.map +1 -1
  93. package/dist/os/core/handlers/release-publish.js +6 -6
  94. package/dist/os/core/handlers/release-publish.js.map +1 -1
  95. package/dist/os/core/handlers/validate.js +1 -1
  96. package/dist/os/core/handlers/validate.js.map +1 -1
  97. package/dist/os/exploration/exploration.module.d.ts.map +1 -1
  98. package/dist/os/exploration/exploration.module.js +1 -0
  99. package/dist/os/exploration/exploration.module.js.map +1 -1
  100. package/dist/os/exploration/frontmatter-io.js +4 -4
  101. package/dist/os/exploration/frontmatter-io.js.map +1 -1
  102. package/dist/os/exploration/handlers/archive.js +3 -3
  103. package/dist/os/exploration/handlers/archive.js.map +1 -1
  104. package/dist/os/mission/handlers/archive.d.ts.map +1 -1
  105. package/dist/os/mission/handlers/archive.js +44 -23
  106. package/dist/os/mission/handlers/archive.js.map +1 -1
  107. package/dist/os/mission/mission.module.js +3 -3
  108. package/dist/os/mission/mission.module.js.map +1 -1
  109. package/dist/os/naming/naming-convention.d.ts.map +1 -1
  110. package/dist/os/naming/naming-convention.js +7 -3
  111. package/dist/os/naming/naming-convention.js.map +1 -1
  112. package/dist/os/naming/naming.module.d.ts.map +1 -1
  113. package/dist/os/naming/naming.module.js +4 -3
  114. package/dist/os/naming/naming.module.js.map +1 -1
  115. package/dist/os/notes/notes.module.d.ts.map +1 -1
  116. package/dist/os/notes/notes.module.js +6 -3
  117. package/dist/os/notes/notes.module.js.map +1 -1
  118. package/dist/os/plan/frontmatter-io.js +5 -5
  119. package/dist/os/plan/frontmatter-io.js.map +1 -1
  120. package/dist/os/plan/handlers/archive.d.ts.map +1 -1
  121. package/dist/os/plan/handlers/archive.js +10 -4
  122. package/dist/os/plan/handlers/archive.js.map +1 -1
  123. package/dist/os/plan/plan.module.js +3 -3
  124. package/dist/os/plan/plan.module.js.map +1 -1
  125. package/dist/os/plugin/plugin.module.d.ts.map +1 -1
  126. package/dist/os/plugin/plugin.module.js +6 -3
  127. package/dist/os/plugin/plugin.module.js.map +1 -1
  128. package/dist/os/program/discovery.js +2 -2
  129. package/dist/os/program/discovery.js.map +1 -1
  130. package/dist/os/program/handlers/complete.js +1 -1
  131. package/dist/os/program/handlers/complete.js.map +1 -1
  132. package/dist/os/program/handlers/lease.js +1 -1
  133. package/dist/os/program/handlers/lease.js.map +1 -1
  134. package/dist/os/program/handlers/seal.js +1 -1
  135. package/dist/os/program/handlers/seal.js.map +1 -1
  136. package/dist/os/program/lease.js +1 -1
  137. package/dist/os/program/lease.js.map +1 -1
  138. package/dist/os/program/program.module.d.ts.map +1 -1
  139. package/dist/os/program/program.module.js +9 -3
  140. package/dist/os/program/program.module.js.map +1 -1
  141. package/dist/os/queue/index.js +1 -1
  142. package/dist/os/queue/manifest.d.ts.map +1 -1
  143. package/dist/os/queue/manifest.js +4 -8
  144. package/dist/os/queue/manifest.js.map +1 -1
  145. package/dist/os/rfc/acceptance.d.ts.map +1 -1
  146. package/dist/os/rfc/acceptance.js +10 -6
  147. package/dist/os/rfc/acceptance.js.map +1 -1
  148. package/dist/os/rfc/decision-log.d.ts.map +1 -1
  149. package/dist/os/rfc/decision-log.js +4 -3
  150. package/dist/os/rfc/decision-log.js.map +1 -1
  151. package/dist/os/rfc/dna-trace.d.ts.map +1 -1
  152. package/dist/os/rfc/dna-trace.js +7 -2
  153. package/dist/os/rfc/dna-trace.js.map +1 -1
  154. package/dist/os/rfc/frontmatter-io.js +5 -5
  155. package/dist/os/rfc/frontmatter-io.js.map +1 -1
  156. package/dist/os/rfc/handlers/archive.d.ts.map +1 -1
  157. package/dist/os/rfc/handlers/archive.js +11 -5
  158. package/dist/os/rfc/handlers/archive.js.map +1 -1
  159. package/dist/os/rfc/handlers/check.d.ts.map +1 -1
  160. package/dist/os/rfc/handlers/check.js +6 -3
  161. package/dist/os/rfc/handlers/check.js.map +1 -1
  162. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -1
  163. package/dist/os/rfc/handlers/implement-stamp.js +11 -10
  164. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -1
  165. package/dist/os/rfc/handlers/index-graph.js +3 -3
  166. package/dist/os/rfc/handlers/index-graph.js.map +1 -1
  167. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -1
  168. package/dist/os/rfc/handlers/lifecycle.js +6 -2
  169. package/dist/os/rfc/handlers/lifecycle.js.map +1 -1
  170. package/dist/os/rfc/handlers/list-create.d.ts.map +1 -1
  171. package/dist/os/rfc/handlers/list-create.js +7 -6
  172. package/dist/os/rfc/handlers/list-create.js.map +1 -1
  173. package/dist/os/rfc/handlers/shared.js +3 -3
  174. package/dist/os/rfc/handlers/shared.js.map +1 -1
  175. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -1
  176. package/dist/os/rfc/handlers/supersede-propose.js +7 -3
  177. package/dist/os/rfc/handlers/supersede-propose.js.map +1 -1
  178. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -1
  179. package/dist/os/rfc/handlers/validate-rules.js +8 -5
  180. package/dist/os/rfc/handlers/validate-rules.js.map +1 -1
  181. package/dist/os/rfc/handlers/validate.d.ts.map +1 -1
  182. package/dist/os/rfc/handlers/validate.js +6 -1
  183. package/dist/os/rfc/handlers/validate.js.map +1 -1
  184. package/dist/os/rfc/rfc.module.d.ts.map +1 -1
  185. package/dist/os/rfc/rfc.module.js +44 -4
  186. package/dist/os/rfc/rfc.module.js.map +1 -1
  187. package/dist/os/rfc/verification-evidence.d.ts.map +1 -1
  188. package/dist/os/rfc/verification-evidence.js +9 -5
  189. package/dist/os/rfc/verification-evidence.js.map +1 -1
  190. package/dist/os/rfc/verification-refresh.d.ts.map +1 -1
  191. package/dist/os/rfc/verification-refresh.js +4 -3
  192. package/dist/os/rfc/verification-refresh.js.map +1 -1
  193. package/dist/os/session/frontmatter-io.js +12 -12
  194. package/dist/os/session/frontmatter-io.js.map +1 -1
  195. package/dist/os/session/handlers/archive.d.ts.map +1 -1
  196. package/dist/os/session/handlers/archive.js +10 -4
  197. package/dist/os/session/handlers/archive.js.map +1 -1
  198. package/dist/os/session/handlers/metrics-aggregate.d.ts.map +1 -1
  199. package/dist/os/session/handlers/metrics-aggregate.js +9 -5
  200. package/dist/os/session/handlers/metrics-aggregate.js.map +1 -1
  201. package/dist/os/session/handlers/metrics-rfc.d.ts.map +1 -1
  202. package/dist/os/session/handlers/metrics-rfc.js +11 -8
  203. package/dist/os/session/handlers/metrics-rfc.js.map +1 -1
  204. package/dist/os/session/handlers/metrics-session.d.ts.map +1 -1
  205. package/dist/os/session/handlers/metrics-session.js +6 -3
  206. package/dist/os/session/handlers/metrics-session.js.map +1 -1
  207. package/dist/os/session/handlers/save.d.ts.map +1 -1
  208. package/dist/os/session/handlers/save.js +14 -8
  209. package/dist/os/session/handlers/save.js.map +1 -1
  210. package/dist/os/session/session.module.d.ts.map +1 -1
  211. package/dist/os/session/session.module.js +6 -0
  212. package/dist/os/session/session.module.js.map +1 -1
  213. package/dist/os/spec/live-spec-list.js +4 -4
  214. package/dist/os/spec/live-spec-list.js.map +1 -1
  215. package/dist/os/spec/live-spec-merge.js +5 -5
  216. package/dist/os/spec/live-spec-merge.js.map +1 -1
  217. package/dist/os/spec/live-spec-show.js +3 -3
  218. package/dist/os/spec/live-spec-show.js.map +1 -1
  219. package/dist/os/spec/live-spec-validate.js +4 -4
  220. package/dist/os/spec/live-spec-validate.js.map +1 -1
  221. package/dist/os/spec/spec-materialize.js +9 -9
  222. package/dist/os/spec/spec-materialize.js.map +1 -1
  223. package/dist/os/spec/spec-status.js +9 -9
  224. package/dist/os/spec/spec-status.js.map +1 -1
  225. package/dist/os/spec/spec-validate.js +7 -7
  226. package/dist/os/spec/spec-validate.js.map +1 -1
  227. package/dist/os/spec/spec.module.d.ts.map +1 -1
  228. package/dist/os/spec/spec.module.js +8 -0
  229. package/dist/os/spec/spec.module.js.map +1 -1
  230. package/dist/os/werkstatt/handlers/lock.js +16 -16
  231. package/dist/os/werkstatt/handlers/lock.js.map +1 -1
  232. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +3 -3
  233. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -1
  234. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +1 -1
  235. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +3 -2
  236. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +1 -1
  237. package/dist/os/werkstatt/handlers/workspace-deps.d.ts.map +1 -1
  238. package/dist/os/werkstatt/handlers/workspace-deps.js +0 -1
  239. package/dist/os/werkstatt/handlers/workspace-deps.js.map +1 -1
  240. package/dist/os/werkstatt/werkstatt.module.d.ts.map +1 -1
  241. package/dist/os/werkstatt/werkstatt.module.js +6 -2
  242. package/dist/os/werkstatt/werkstatt.module.js.map +1 -1
  243. package/dist/os/workflow/handlers.d.ts.map +1 -1
  244. package/dist/os/workflow/handlers.js +8 -5
  245. package/dist/os/workflow/handlers.js.map +1 -1
  246. package/dist/os/workflow/workflow.module.d.ts.map +1 -1
  247. package/dist/os/workflow/workflow.module.js +6 -3
  248. package/dist/os/workflow/workflow.module.js.map +1 -1
  249. package/dist/src/cli-flags.d.ts +28 -0
  250. package/dist/src/cli-flags.d.ts.map +1 -0
  251. package/dist/src/cli-flags.js +232 -0
  252. package/dist/src/cli-flags.js.map +1 -0
  253. package/dist/src/compass/contract-registry.js +1 -1
  254. package/dist/src/compass/contract-registry.js.map +1 -1
  255. package/dist/src/config/forge-config.d.ts +1 -1
  256. package/dist/src/config/forge-config.js +1 -1
  257. package/dist/src/config/forge-config.js.map +1 -1
  258. package/dist/src/knowledge/budgets.js +1 -1
  259. package/dist/src/knowledge/budgets.js.map +1 -1
  260. package/dist/src/knowledge/compact.js +1 -1
  261. package/dist/src/knowledge/compact.js.map +1 -1
  262. package/dist/src/knowledge/parse.js +1 -1
  263. package/dist/src/knowledge/parse.js.map +1 -1
  264. package/dist/src/knowledge/sync.d.ts.map +1 -1
  265. package/dist/src/knowledge/sync.js +3 -5
  266. package/dist/src/knowledge/sync.js.map +1 -1
  267. package/dist/src/migration-adapters/git-utils.js +2 -2
  268. package/dist/src/migration-adapters/git-utils.js.map +1 -1
  269. package/dist/src/migration-adapters/ignored-files.js +2 -2
  270. package/dist/src/migration-adapters/ignored-files.js.map +1 -1
  271. package/dist/src/migration-adapters/node-typescript-pnpm/index.js +1 -1
  272. package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +1 -1
  273. package/dist/src/migration-adapters/phaser-pnpm/index.js +1 -1
  274. package/dist/src/migration-adapters/phaser-pnpm/index.js.map +1 -1
  275. package/dist/src/onboarding/agents-generate.d.ts.map +1 -1
  276. package/dist/src/onboarding/agents-generate.js +76 -34
  277. package/dist/src/onboarding/agents-generate.js.map +1 -1
  278. package/dist/src/onboarding/create.d.ts.map +1 -1
  279. package/dist/src/onboarding/create.js +10 -10
  280. package/dist/src/onboarding/create.js.map +1 -1
  281. package/dist/src/onboarding/doctor.d.ts.map +1 -1
  282. package/dist/src/onboarding/doctor.js +68 -59
  283. package/dist/src/onboarding/doctor.js.map +1 -1
  284. package/dist/src/onboarding/init.d.ts.map +1 -1
  285. package/dist/src/onboarding/init.js +30 -1
  286. package/dist/src/onboarding/init.js.map +1 -1
  287. package/dist/src/onboarding/invariant-engine.js +1 -1
  288. package/dist/src/onboarding/invariant-engine.js.map +1 -1
  289. package/dist/src/onboarding/memory-compact.d.ts.map +1 -1
  290. package/dist/src/onboarding/memory-compact.js +5 -4
  291. package/dist/src/onboarding/memory-compact.js.map +1 -1
  292. package/dist/src/onboarding/memory-scaffold.js +1 -1
  293. package/dist/src/onboarding/memory-scaffold.js.map +1 -1
  294. package/dist/src/onboarding/nested-agents-generate.d.ts +4 -1
  295. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -1
  296. package/dist/src/onboarding/nested-agents-generate.js +34 -5
  297. package/dist/src/onboarding/nested-agents-generate.js.map +1 -1
  298. package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -1
  299. package/dist/src/onboarding/nested-agents-templates.js +8 -12
  300. package/dist/src/onboarding/nested-agents-templates.js.map +1 -1
  301. package/dist/src/onboarding/npm-token-check.js +2 -2
  302. package/dist/src/onboarding/npm-token-check.js.map +1 -1
  303. package/dist/src/onboarding/prettierignore.d.ts +29 -0
  304. package/dist/src/onboarding/prettierignore.d.ts.map +1 -0
  305. package/dist/src/onboarding/prettierignore.js +231 -0
  306. package/dist/src/onboarding/prettierignore.js.map +1 -0
  307. package/dist/src/onboarding/profile-validate.d.ts.map +1 -1
  308. package/dist/src/onboarding/profile-validate.js +5 -4
  309. package/dist/src/onboarding/profile-validate.js.map +1 -1
  310. package/dist/src/onboarding/scaffold-project.d.ts.map +1 -1
  311. package/dist/src/onboarding/scaffold-project.js +35 -27
  312. package/dist/src/onboarding/scaffold-project.js.map +1 -1
  313. package/dist/src/onboarding/scaffold.js +1 -1
  314. package/dist/src/onboarding/scaffold.js.map +1 -1
  315. package/dist/src/onboarding/skill-markers.d.ts +27 -0
  316. package/dist/src/onboarding/skill-markers.d.ts.map +1 -0
  317. package/dist/src/onboarding/skill-markers.js +131 -0
  318. package/dist/src/onboarding/skill-markers.js.map +1 -0
  319. package/dist/src/onboarding/upgrade.d.ts +10 -0
  320. package/dist/src/onboarding/upgrade.d.ts.map +1 -1
  321. package/dist/src/onboarding/upgrade.js +215 -74
  322. package/dist/src/onboarding/upgrade.js.map +1 -1
  323. package/dist/src/onboarding/workspace-discovery.js +1 -1
  324. package/dist/src/onboarding/workspace-discovery.js.map +1 -1
  325. package/dist/src/pipeline-status.d.ts +6 -5
  326. package/dist/src/pipeline-status.d.ts.map +1 -1
  327. package/dist/src/pipeline-status.js +24 -19
  328. package/dist/src/pipeline-status.js.map +1 -1
  329. package/dist/src/profiles/stack-profile.js +1 -1
  330. package/dist/src/profiles/stack-profile.js.map +1 -1
  331. package/dist/src/registry.d.ts +1 -1
  332. package/dist/src/registry.d.ts.map +1 -1
  333. package/dist/src/registry.js +3 -3
  334. package/dist/src/registry.js.map +1 -1
  335. package/dist/src/skill-schema.d.ts +1 -1
  336. package/dist/src/skill-schema.d.ts.map +1 -1
  337. package/dist/src/skill-schema.js +4 -1
  338. package/dist/src/skill-schema.js.map +1 -1
  339. package/dist/src/types.d.ts +116 -0
  340. package/dist/src/types.d.ts.map +1 -1
  341. package/dist/src/utils/editable-region.d.ts +46 -0
  342. package/dist/src/utils/editable-region.d.ts.map +1 -0
  343. package/dist/src/utils/editable-region.js +125 -0
  344. package/dist/src/utils/editable-region.js.map +1 -0
  345. package/dist/src/utils/fs-idempotent.d.ts +2 -1
  346. package/dist/src/utils/fs-idempotent.d.ts.map +1 -1
  347. package/dist/src/utils/fs-idempotent.js +11 -7
  348. package/dist/src/utils/fs-idempotent.js.map +1 -1
  349. package/dist/src/utils/generated-marker.d.ts +17 -0
  350. package/dist/src/utils/generated-marker.d.ts.map +1 -1
  351. package/dist/src/utils/generated-marker.js +29 -1
  352. package/dist/src/utils/generated-marker.js.map +1 -1
  353. package/dist/src/utils/index.d.ts +3 -1
  354. package/dist/src/utils/index.d.ts.map +1 -1
  355. package/dist/src/utils/index.js +3 -1
  356. package/dist/src/utils/index.js.map +1 -1
  357. package/dist/src/utils/io.d.ts +9 -0
  358. package/dist/src/utils/io.d.ts.map +1 -0
  359. package/dist/src/utils/io.js +130 -0
  360. package/dist/src/utils/io.js.map +1 -0
  361. package/dist/src/utils/markdown-table.d.ts +21 -0
  362. package/dist/src/utils/markdown-table.d.ts.map +1 -0
  363. package/dist/src/utils/markdown-table.js +116 -0
  364. package/dist/src/utils/markdown-table.js.map +1 -0
  365. package/dist/src/utils/sync-fs.d.ts +5 -0
  366. package/dist/src/utils/sync-fs.d.ts.map +1 -0
  367. package/dist/src/utils/sync-fs.js +26 -0
  368. package/dist/src/utils/sync-fs.js.map +1 -0
  369. package/dist/src/validators/note-frontmatter-validate.js +1 -1
  370. package/dist/src/validators/note-frontmatter-validate.js.map +1 -1
  371. package/dist/src/validators/note-link-validate.js +1 -1
  372. package/dist/src/validators/note-link-validate.js.map +1 -1
  373. package/dist/src/validators/note-orphan-detect.js +1 -1
  374. package/dist/src/validators/note-orphan-detect.js.map +1 -1
  375. package/dist/src/validators/port-validate.js +1 -1
  376. package/dist/src/validators/port-validate.js.map +1 -1
  377. package/dist/src/validators/skill-validate.d.ts.map +1 -1
  378. package/dist/src/validators/skill-validate.js +34 -13
  379. package/dist/src/validators/skill-validate.js.map +1 -1
  380. package/os/adr/adr.module.ts +136 -132
  381. package/os/adr/frontmatter-io.ts +5 -5
  382. package/os/adr/handlers/archive.ts +8 -4
  383. package/os/adr/handlers/implement-stamp.ts +14 -10
  384. package/os/adr/handlers/list-create.ts +5 -5
  385. package/os/adr/handlers/validate.ts +1 -1
  386. package/os/audit/audit.module.ts +33 -34
  387. package/os/audit/frontmatter-io.ts +5 -5
  388. package/os/audit/handlers/archive.ts +8 -4
  389. package/os/compass/compass.module.ts +17 -1
  390. package/os/compass/handlers/compass-audit-handler.ts +13 -5
  391. package/os/compass/handlers/compass-change-summary-handler.ts +4 -2
  392. package/os/compass/handlers/compass-inventory-handler.ts +7 -4
  393. package/os/compass/handlers/compass-inventory.ts +11 -8
  394. package/os/compass/handlers/compass-migrate-handler.ts +1 -1
  395. package/os/compass/handlers/compass-migrate.ts +7 -3
  396. package/os/compass/handlers/git-revision.ts +11 -6
  397. package/os/compass/handlers/resolve-scan-root.ts +1 -1
  398. package/os/compass/handlers/summary-record.ts +10 -4
  399. package/os/compass/handlers/tests/compass-audit-plan.test.ts +2 -1
  400. package/os/core/core.module.ts +43 -4
  401. package/os/core/handlers/assets-helpers.ts +7 -3
  402. package/os/core/handlers/build.ts +1 -1
  403. package/os/core/handlers/determinism-check.ts +12 -6
  404. package/os/core/handlers/dev.ts +1 -1
  405. package/os/core/handlers/file-size-lint.ts +16 -9
  406. package/os/core/handlers/forge-autonomy-validate.ts +10 -5
  407. package/os/core/handlers/knowledge-compact.ts +1 -1
  408. package/os/core/handlers/package-health.ts +1 -1
  409. package/os/core/handlers/pinned-check.ts +2 -2
  410. package/os/core/handlers/pinned-init.ts +9 -8
  411. package/os/core/handlers/pinned-validate.ts +3 -3
  412. package/os/core/handlers/profile-resolve.ts +1 -1
  413. package/os/core/handlers/public-surface.ts +1 -1
  414. package/os/core/handlers/release-prepare.ts +11 -6
  415. package/os/core/handlers/release-publish.ts +6 -6
  416. package/os/core/handlers/validate.ts +1 -1
  417. package/os/exploration/exploration.module.ts +1 -0
  418. package/os/exploration/frontmatter-io.ts +4 -4
  419. package/os/exploration/handlers/archive.ts +3 -3
  420. package/os/mission/handlers/archive.test.ts +38 -1
  421. package/os/mission/handlers/archive.ts +54 -23
  422. package/os/mission/mission.module.ts +38 -39
  423. package/os/naming/naming-convention.ts +9 -3
  424. package/os/naming/naming.module.ts +25 -25
  425. package/os/notes/notes.module.ts +87 -85
  426. package/os/plan/frontmatter-io.ts +5 -5
  427. package/os/plan/handlers/archive.ts +8 -4
  428. package/os/plan/plan.module.ts +33 -34
  429. package/os/plugin/plugin.module.ts +8 -6
  430. package/os/program/discovery.ts +2 -2
  431. package/os/program/handlers/complete.ts +1 -1
  432. package/os/program/handlers/lease.ts +1 -1
  433. package/os/program/handlers/seal.ts +1 -1
  434. package/os/program/lease.ts +1 -1
  435. package/os/program/program.module.ts +198 -193
  436. package/os/queue/index.ts +1 -1
  437. package/os/queue/manifest.ts +10 -9
  438. package/os/queue/queue-validate.test.ts +6 -15
  439. package/os/rfc/acceptance.ts +12 -6
  440. package/os/rfc/decision-log.ts +4 -3
  441. package/os/rfc/dna-trace.ts +8 -2
  442. package/os/rfc/frontmatter-io.ts +5 -5
  443. package/os/rfc/handlers/archive.ts +9 -5
  444. package/os/rfc/handlers/check.ts +5 -3
  445. package/os/rfc/handlers/implement-stamp.ts +15 -10
  446. package/os/rfc/handlers/index-graph.ts +3 -3
  447. package/os/rfc/handlers/lifecycle.ts +7 -2
  448. package/os/rfc/handlers/list-create.ts +7 -6
  449. package/os/rfc/handlers/shared.ts +3 -3
  450. package/os/rfc/handlers/supersede-propose.ts +8 -3
  451. package/os/rfc/handlers/validate-rules-rfc1006.test.ts +18 -6
  452. package/os/rfc/handlers/validate-rules.ts +10 -5
  453. package/os/rfc/handlers/validate.test.ts +71 -0
  454. package/os/rfc/handlers/validate.ts +6 -1
  455. package/os/rfc/rfc-create-concurrent.test.ts +11 -3
  456. package/os/rfc/rfc.module.ts +413 -374
  457. package/os/rfc/verification-evidence.ts +11 -5
  458. package/os/rfc/verification-refresh.ts +4 -3
  459. package/os/session/frontmatter-io.ts +14 -14
  460. package/os/session/handlers/archive.ts +8 -4
  461. package/os/session/handlers/metrics-aggregate.ts +34 -13
  462. package/os/session/handlers/metrics-rfc.ts +13 -8
  463. package/os/session/handlers/metrics-session.ts +7 -3
  464. package/os/session/handlers/save.ts +12 -8
  465. package/os/session/session.module.ts +6 -0
  466. package/os/spec/live-spec-list.ts +4 -4
  467. package/os/spec/live-spec-merge.ts +5 -5
  468. package/os/spec/live-spec-show.ts +3 -3
  469. package/os/spec/live-spec-validate.ts +4 -4
  470. package/os/spec/spec-materialize.ts +9 -9
  471. package/os/spec/spec-status.ts +9 -9
  472. package/os/spec/spec-validate.ts +7 -7
  473. package/os/spec/spec.module.ts +8 -0
  474. package/os/werkstatt/handlers/lock.ts +16 -16
  475. package/os/werkstatt/handlers/werkstatt-lock-recover.ts +3 -3
  476. package/os/werkstatt/handlers/werkstatt-operation-validate.ts +4 -2
  477. package/os/werkstatt/handlers/workspace-deps.ts +0 -1
  478. package/os/werkstatt/werkstatt.module.ts +8 -5
  479. package/os/workflow/handlers.ts +7 -5
  480. package/os/workflow/workflow.module.ts +45 -44
  481. package/package.json +1 -1
  482. package/profiles/forge-shell.yaml +1 -1
  483. package/profiles/godot-game.yaml +1 -1
  484. package/profiles/knowledge.yaml +1 -1
  485. package/profiles/phaser-game.yaml +1 -1
  486. package/profiles/site-workshop.yaml +1 -1
  487. package/profiles/typescript.yaml +1 -1
  488. package/skills/fo/fo-add-tests/SKILL.md +2 -2
  489. package/skills/fo/fo-architecture/SKILL.md +2 -2
  490. package/skills/fo/fo-compass-annotate/SKILL.md +2 -2
  491. package/skills/fo/fo-design-summit/SKILL.md +2 -2
  492. package/skills/fo/fo-doc-audit/SKILL.md +2 -2
  493. package/skills/fo/fo-explore/SKILL.md +2 -2
  494. package/skills/fo/fo-extract-dna/SKILL.md +2 -2
  495. package/skills/fo/fo-fix/SKILL.md +2 -2
  496. package/skills/fo/fo-handoff/SKILL.md +2 -2
  497. package/skills/fo/fo-harvest/SKILL.md +2 -2
  498. package/skills/fo/fo-idea/SKILL.md +2 -2
  499. package/skills/fo/fo-idea-audit/SKILL.md +2 -2
  500. package/skills/fo/fo-idea-create-adr/SKILL.md +3 -3
  501. package/skills/fo/fo-idea-create-rfc/SKILL.md +3 -3
  502. package/skills/fo/fo-idea-enhance/SKILL.md +2 -2
  503. package/skills/fo/fo-idea-i-just-want-to-see-the-plan/SKILL.md +2 -2
  504. package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +1 -1
  505. package/skills/fo/fo-idea-implement/SKILL.md +2 -2
  506. package/skills/fo/fo-idea-plan/SKILL.md +2 -2
  507. package/skills/fo/fo-idea-status/SKILL.md +2 -2
  508. package/skills/fo/fo-knowledge-distill/SKILL.md +2 -2
  509. package/skills/fo/fo-memory-sync/SKILL.md +2 -2
  510. package/skills/fo/fo-qa/SKILL.md +2 -2
  511. package/skills/fo/fo-review/SKILL.md +2 -2
  512. package/skills/fo/fo-session-retro/SKILL.md +2 -2
  513. package/skills/fo/fo-session-save/SKILL.md +2 -2
  514. package/skills/fo/fo-spec-ingest/SKILL.md +2 -2
  515. package/skills/fo/fo-step-commit/SKILL.md +1 -1
  516. package/skills/fo/fo-triage/SKILL.md +2 -2
  517. package/skills/meta/forge-bootstrap/SKILL.md +1 -1
  518. package/skills/meta/port-to-forge/SKILL.md +1 -1
  519. package/skills/meta/skill-create/SKILL.md +1 -1
  520. package/skills/shared/grilling/SKILL.md +1 -1
  521. package/skills/shared/grilling/learned-principles.archive.md +17 -0
  522. package/skills/shared/grilling/learned-principles.md +0 -1
  523. package/skills/shared/knowledge/learned-principles.md +6 -0
  524. package/skills/shared/my-preferences/SKILL.md +1 -1
  525. package/skills/shared/windows-ai-tooling/SKILL.md +1 -1
  526. package/skills/shared/writing-great-skills/SKILL.md +1 -1
  527. package/src/cli-flags.ts +285 -0
  528. package/src/compass/contract-registry.ts +1 -1
  529. package/src/config/forge-config.ts +1 -1
  530. package/src/knowledge/__tests__/sync.test.ts +2 -7
  531. package/src/knowledge/budgets.ts +1 -1
  532. package/src/knowledge/compact.ts +1 -1
  533. package/src/knowledge/parse.ts +1 -1
  534. package/src/knowledge/sync.ts +3 -5
  535. package/src/migration-adapters/git-utils.ts +2 -2
  536. package/src/migration-adapters/ignored-files.ts +2 -2
  537. package/src/migration-adapters/node-typescript-pnpm/index.ts +1 -1
  538. package/src/migration-adapters/phaser-pnpm/index.ts +1 -1
  539. package/src/onboarding/agents-generate.ts +92 -36
  540. package/src/onboarding/create.ts +10 -10
  541. package/src/onboarding/doctor.ts +70 -55
  542. package/src/onboarding/init.ts +38 -1
  543. package/src/onboarding/invariant-engine.ts +1 -1
  544. package/src/onboarding/memory-compact.ts +5 -4
  545. package/src/onboarding/memory-scaffold.ts +1 -1
  546. package/src/onboarding/nested-agents-generate.ts +45 -4
  547. package/src/onboarding/nested-agents-templates.ts +19 -13
  548. package/src/onboarding/npm-token-check.ts +2 -2
  549. package/src/onboarding/prettierignore.ts +263 -0
  550. package/src/onboarding/profile-validate.ts +5 -4
  551. package/src/onboarding/scaffold-project.ts +38 -27
  552. package/src/onboarding/scaffold.ts +1 -1
  553. package/src/onboarding/skill-markers.ts +162 -0
  554. package/src/onboarding/templates/behavioral-layer-core.md +2 -4
  555. package/src/onboarding/upgrade.ts +285 -89
  556. package/src/onboarding/workspace-discovery.ts +1 -1
  557. package/src/pipeline-status.test.ts +1 -4
  558. package/src/pipeline-status.ts +30 -13
  559. package/src/profiles/stack-profile.ts +1 -1
  560. package/src/registry.ts +4 -4
  561. package/src/skill-schema.ts +4 -1
  562. package/src/tests/acceptance-probe-kinds.test.ts +5 -15
  563. package/src/tests/agents-generate.test.ts +28 -5
  564. package/src/tests/cli-flags.test.ts +169 -0
  565. package/src/tests/contract-registry.test.ts +12 -6
  566. package/src/tests/doctor-fix.test.ts +1 -4
  567. package/src/tests/doctor-nested-agents.test.ts +53 -1
  568. package/src/tests/editable-generated-region.test.ts +231 -0
  569. package/src/tests/file-size-lint.test.ts +8 -12
  570. package/src/tests/fixtures/agents-generate-business-before.txt +85 -56
  571. package/src/tests/markdown-table.test.ts +107 -0
  572. package/src/tests/prettierignore-manage.test.ts +134 -0
  573. package/src/tests/skill-agents-sync.test.ts +168 -0
  574. package/src/tests/skill-sync-marker.test.ts +134 -0
  575. package/src/tests/skill-validate.test.ts +12 -5
  576. package/src/tests/upgrade.test.ts +87 -41
  577. package/src/types.ts +123 -0
  578. package/src/utils/editable-region.ts +156 -0
  579. package/src/utils/fs-idempotent.ts +12 -6
  580. package/src/utils/generated-marker.ts +36 -2
  581. package/src/utils/index.ts +17 -0
  582. package/src/utils/io.ts +143 -0
  583. package/src/utils/markdown-table.ts +121 -0
  584. package/src/utils/sync-fs.ts +43 -0
  585. package/src/validators/note-frontmatter-validate.ts +1 -1
  586. package/src/validators/note-link-validate.ts +1 -1
  587. package/src/validators/note-orphan-detect.ts +1 -1
  588. package/src/validators/port-validate.ts +1 -1
  589. package/src/validators/skill-validate.ts +38 -13
  590. package/AGENTS.md +0 -502
@@ -23,56 +23,59 @@ Sweep batch 4: 73 Compass headers on headerless engine files (certification, com
23
23
  <history>RFC-0543</history>
24
24
  </CHANGE_SUMMARY>
25
25
  */
26
- import fs from "node:fs";
26
+ import { resolveIo } from "../utils/io.js";
27
+ import { hasGeneratedMarker, mergeEditableGenerated } from "../utils/index.js";
27
28
  import path from "node:path";
28
- import { execSync } from "node:child_process";
29
29
  import { stringify as stringifyYaml, parse as parseYaml } from "yaml";
30
30
  import { FORGE_CLI_BINDING_DEFAULTS, resolveForgeRoot, loadForgeConfig, serializeForgeConfig, resolvePmRunner, resolvePmInstall, } from "../config/forge-config.js";
31
31
  import { FORGE_SKILLS, discoverPackSkills } from "../registry.js";
32
32
  import { syncKnowledgeFile } from "../knowledge/index.js";
33
+ import { writeFileIfChanged } from "../utils/fs-idempotent.js";
34
+ import { writeSkillMarker, pruneStaleSkillDirs } from "./skill-markers.js";
35
+ import { planPrettierignore, applyPrettierignore, } from "./prettierignore.js";
33
36
  import { generateNestedAgentsMd } from "./nested-agents-generate.js";
34
37
  import { scaffoldMemoryLayer } from "./memory-scaffold.js";
35
- function isMonorepoForge(workspaceRoot) {
36
- return fs.existsSync(path.join(workspaceRoot, "packages", "forge", "package.json"));
38
+ async function isMonorepoForge(workspaceRoot, io) {
39
+ return io.exists(path.join(workspaceRoot, "packages", "forge", "package.json"));
37
40
  }
38
- function updateNpmPackage(workspaceRoot, config, isDryRun) {
39
- if (isMonorepoForge(workspaceRoot)) {
41
+ async function updateNpmPackage(workspaceRoot, config, isDryRun, io) {
42
+ if (await isMonorepoForge(workspaceRoot, io)) {
40
43
  return { updated: false, skipped: "monorepo (local package, not npm-installed)" };
41
44
  }
42
45
  const pm = config.project.packageManager;
43
46
  const installCmd = resolvePmInstall(pm);
44
- const fullCmd = `${installCmd} @warpgogol/forge@latest`;
47
+ const installArgs = installCmd.split(/\s+/);
45
48
  if (isDryRun) {
46
49
  return { updated: false, skipped: "dry-run" };
47
50
  }
48
- try {
49
- execSync(fullCmd, {
50
- cwd: workspaceRoot,
51
- stdio: "pipe",
52
- timeout: 120_000,
53
- });
51
+ const result = await io
52
+ .exec(installArgs[0], [...installArgs.slice(1), "@warpgogol/forge@latest"], {
53
+ cwd: workspaceRoot,
54
+ timeoutMs: 120_000,
55
+ })
56
+ .catch(() => null);
57
+ if (result && result.exitCode === 0) {
54
58
  return { updated: true, skipped: null };
55
59
  }
56
- catch {
57
- return { updated: false, skipped: "install failed (network error or registry unavailable)" };
58
- }
60
+ return { updated: false, skipped: "install failed (network error or registry unavailable)" };
59
61
  }
60
- function readForgePackageVersion(forgeRoot) {
62
+ async function readForgePackageVersion(forgeRoot, io) {
61
63
  const pkgPath = path.join(forgeRoot, "package.json");
62
- const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
64
+ const pkg = JSON.parse(await io.readFile(pkgPath));
63
65
  return pkg.version ?? "0.0.0-unknown";
64
66
  }
65
- function checkLatestNpmVersion(workspaceRoot, installedVersion, isMonorepo) {
67
+ async function checkLatestNpmVersion(workspaceRoot, installedVersion, isMonorepo, io) {
66
68
  if (isMonorepo) {
67
69
  return { latest: null, warning: null };
68
70
  }
69
71
  try {
70
- const latest = execSync("npm view @warpgogol/forge version", {
72
+ const result = await io.exec("npm", ["view", "@warpgogol/forge", "version"], {
71
73
  cwd: workspaceRoot,
72
- stdio: "pipe",
73
- timeout: 15_000,
74
- encoding: "utf8",
75
- }).trim();
74
+ timeoutMs: 15_000,
75
+ });
76
+ if (result.exitCode !== 0)
77
+ throw new Error(result.stderr || "npm view failed");
78
+ const latest = result.stdout.trim();
76
79
  if (!latest || !/^\d+\.\d+\.\d+/.test(latest)) {
77
80
  return { latest: null, warning: null };
78
81
  }
@@ -97,21 +100,25 @@ function checkLatestNpmVersion(workspaceRoot, installedVersion, isMonorepo) {
97
100
  return { latest: null, warning: null };
98
101
  }
99
102
  }
100
- function syncForgeSkills(workspaceRoot, forgeRoot, skillsDir, dryRun) {
103
+ async function syncForgeSkills(workspaceRoot, forgeRoot, skillsDir, dryRun, io) {
101
104
  const updated = [];
102
105
  const knowledgeConflicts = [];
103
106
  const agentsSkillsDir = path.join(workspaceRoot, skillsDir);
104
107
  for (const skill of FORGE_SKILLS) {
105
108
  const srcPath = path.join(forgeRoot, skill.path);
106
- if (!fs.existsSync(srcPath))
109
+ if (!(await io.exists(srcPath)))
107
110
  continue;
108
111
  const skillName = skill.name;
109
112
  const destDir = path.join(agentsSkillsDir, skillName);
110
113
  const destPath = path.join(destDir, "SKILL.md");
111
114
  if (!dryRun) {
112
- fs.mkdirSync(destDir, { recursive: true });
113
- const content = fs.readFileSync(srcPath, "utf8");
114
- fs.writeFileSync(destPath, content, "utf8");
115
+ await io.mkdir(destDir);
116
+ const content = await io.readFile(srcPath);
117
+ await writeFileIfChanged(destPath, content, io);
118
+ // RFC-1154: marker manifest lists SKILL.md + knowledge files that carry
119
+ // pure forge content. Merged/skipped knowledge files hold consumer
120
+ // entries — excluded so a stale dir is kept rather than deleted.
121
+ const markerFiles = ["SKILL.md"];
115
122
  // Sync knowledge files (append-only — never overwrite local entries)
116
123
  const fmMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
117
124
  if (fmMatch) {
@@ -125,11 +132,14 @@ function syncForgeSkills(workspaceRoot, forgeRoot, skillsDir, dryRun) {
125
132
  continue;
126
133
  const kfSrcPath = path.join(skillSrcDir, kf);
127
134
  const kfDestPath = path.join(destDir, kf);
128
- if (fs.existsSync(kfSrcPath)) {
135
+ if (await io.exists(kfSrcPath)) {
129
136
  const syncResult = syncKnowledgeFile(kfSrcPath, kfDestPath);
130
137
  for (const id of syncResult.conflicts) {
131
138
  knowledgeConflicts.push(`${skillName}/${kf}#${id}`);
132
139
  }
140
+ if (syncResult.action === "copied" || syncResult.action === "unchanged") {
141
+ markerFiles.push(kf);
142
+ }
133
143
  }
134
144
  }
135
145
  }
@@ -138,30 +148,36 @@ function syncForgeSkills(workspaceRoot, forgeRoot, skillsDir, dryRun) {
138
148
  // Frontmatter parse error — SKILL-01 will catch in validation
139
149
  }
140
150
  }
151
+ await writeSkillMarker(destDir, markerFiles, io);
141
152
  }
142
153
  updated.push(skillName);
143
154
  }
144
155
  return { updated, knowledgeConflicts };
145
156
  }
146
- function syncSharedKnowledge(workspaceRoot, forgeRoot, skillsDir, dryRun) {
157
+ async function syncSharedKnowledge(workspaceRoot, forgeRoot, skillsDir, dryRun, io) {
147
158
  const updated = [];
148
159
  const knowledgeConflicts = [];
149
160
  const srcPath = path.join(forgeRoot, "skills", "shared", "knowledge", "learned-principles.md");
150
- if (!fs.existsSync(srcPath))
161
+ if (!(await io.exists(srcPath)))
151
162
  return { updated, knowledgeConflicts };
152
163
  const destDir = path.join(workspaceRoot, skillsDir, "shared-knowledge");
153
164
  const destPath = path.join(destDir, "learned-principles.md");
154
165
  if (!dryRun) {
155
- fs.mkdirSync(destDir, { recursive: true });
166
+ await io.mkdir(destDir);
156
167
  const syncResult = syncKnowledgeFile(srcPath, destPath);
157
168
  for (const id of syncResult.conflicts) {
158
169
  knowledgeConflicts.push(`shared-knowledge/learned-principles.md#${id}`);
159
170
  }
171
+ // RFC-1154: marker lists the file only when its content is purely forge's.
172
+ const markerFiles = syncResult.action === "copied" || syncResult.action === "unchanged"
173
+ ? ["learned-principles.md"]
174
+ : [];
175
+ await writeSkillMarker(destDir, markerFiles, io);
160
176
  }
161
177
  updated.push("shared-knowledge");
162
178
  return { updated, knowledgeConflicts };
163
179
  }
164
- function syncPackSkills(workspaceRoot, config, skillsDir, dryRun) {
180
+ async function syncPackSkills(workspaceRoot, config, skillsDir, dryRun, io) {
165
181
  const updated = [];
166
182
  const skipped = [];
167
183
  const knowledgeConflicts = [];
@@ -176,7 +192,7 @@ function syncPackSkills(workspaceRoot, config, skillsDir, dryRun) {
176
192
  const forgeSkillNames = new Set(FORGE_SKILLS.map((s) => s.name));
177
193
  for (const skill of packSkills) {
178
194
  const srcPath = path.join(workspaceRoot, skill.dir, skill.path);
179
- if (!fs.existsSync(srcPath))
195
+ if (!(await io.exists(srcPath)))
180
196
  continue;
181
197
  const skillName = skill.name;
182
198
  if (forgeSkillNames.has(skillName)) {
@@ -186,9 +202,12 @@ function syncPackSkills(workspaceRoot, config, skillsDir, dryRun) {
186
202
  const destDir = path.join(agentsSkillsDir, skillName);
187
203
  const destPath = path.join(destDir, "SKILL.md");
188
204
  if (!dryRun) {
189
- fs.mkdirSync(destDir, { recursive: true });
190
- const content = fs.readFileSync(srcPath, "utf8");
191
- fs.writeFileSync(destPath, content, "utf8");
205
+ await io.mkdir(destDir);
206
+ const content = await io.readFile(srcPath);
207
+ await writeFileIfChanged(destPath, content, io);
208
+ // RFC-1154: same marker rule as forge skills — merged/skipped knowledge
209
+ // files carry consumer entries and are excluded from the manifest.
210
+ const markerFiles = ["SKILL.md"];
192
211
  // Sync knowledge files (append-only — never overwrite local entries)
193
212
  const fmMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
194
213
  if (fmMatch) {
@@ -202,11 +221,14 @@ function syncPackSkills(workspaceRoot, config, skillsDir, dryRun) {
202
221
  continue;
203
222
  const kfSrcPath = path.join(skillSrcDir, kf);
204
223
  const kfDestPath = path.join(destDir, kf);
205
- if (fs.existsSync(kfSrcPath)) {
224
+ if (await io.exists(kfSrcPath)) {
206
225
  const syncResult = syncKnowledgeFile(kfSrcPath, kfDestPath);
207
226
  for (const id of syncResult.conflicts) {
208
227
  knowledgeConflicts.push(`${skillName}/${kf}#${id}`);
209
228
  }
229
+ if (syncResult.action === "copied" || syncResult.action === "unchanged") {
230
+ markerFiles.push(kf);
231
+ }
210
232
  }
211
233
  }
212
234
  }
@@ -215,11 +237,62 @@ function syncPackSkills(workspaceRoot, config, skillsDir, dryRun) {
215
237
  // Frontmatter parse error
216
238
  }
217
239
  }
240
+ await writeSkillMarker(destDir, markerFiles, io);
218
241
  }
219
242
  updated.push(skillName);
220
243
  }
221
244
  return { updated, skipped, knowledgeConflicts };
222
245
  }
246
+ /**
247
+ * RFC-1154 reconcile phase — runs on every forge upgrade, including the
248
+ * same-version noop path: markers for synced dirs, prune stale marked dirs,
249
+ * managed .prettierignore block. Idempotent; dry-run passes through.
250
+ */
251
+ async function reconcileGeneratedSurface(workspaceRoot, forgeRoot, config, dryRun, io) {
252
+ const forgeSkillsResult = await syncForgeSkills(workspaceRoot, forgeRoot, config.paths.skillsDir, dryRun, io);
253
+ const packResult = await syncPackSkills(workspaceRoot, config, config.paths.skillsDir, dryRun, io);
254
+ const sharedKnowledgeResult = await syncSharedKnowledge(workspaceRoot, forgeRoot, config.paths.skillsDir, dryRun, io);
255
+ const currentSyncSet = new Set([
256
+ ...forgeSkillsResult.updated,
257
+ ...packResult.updated,
258
+ ...sharedKnowledgeResult.updated,
259
+ ]);
260
+ const warnings = [];
261
+ let prune = { pruned: [], keptWithConsumerFiles: [] };
262
+ if (!dryRun) {
263
+ try {
264
+ prune = await pruneStaleSkillDirs(path.join(workspaceRoot, config.paths.skillsDir), currentSyncSet, io);
265
+ }
266
+ catch (err) {
267
+ warnings.push(`stale skill dir prune failed: ${err.message}`);
268
+ }
269
+ }
270
+ let prettierignore = "skipped";
271
+ if (!dryRun) {
272
+ try {
273
+ prettierignore = await applyPrettierignore(workspaceRoot, await planPrettierignore(workspaceRoot, config.paths.skillsDir, io), io);
274
+ }
275
+ catch (err) {
276
+ warnings.push(`.prettierignore reconcile failed: ${err.message}`);
277
+ }
278
+ }
279
+ return {
280
+ updated: [
281
+ ...forgeSkillsResult.updated,
282
+ ...packResult.updated,
283
+ ...sharedKnowledgeResult.updated,
284
+ ],
285
+ knowledgeConflicts: [
286
+ ...forgeSkillsResult.knowledgeConflicts,
287
+ ...packResult.knowledgeConflicts,
288
+ ...sharedKnowledgeResult.knowledgeConflicts,
289
+ ],
290
+ skipped: packResult.skipped,
291
+ prune,
292
+ prettierignore,
293
+ warnings,
294
+ };
295
+ }
223
296
  function addMissingBindingDefaults(config, dryRun) {
224
297
  if (!config.bindings)
225
298
  return [];
@@ -239,7 +312,7 @@ function addMissingBindingDefaults(config, dryRun) {
239
312
  }
240
313
  return added;
241
314
  }
242
- function updateSyncedVersion(workspaceRoot, config, version, dryRun) {
315
+ async function updateSyncedVersion(workspaceRoot, config, version, dryRun, io) {
243
316
  if (dryRun)
244
317
  return;
245
318
  // Set the syncedVersion on the in-memory config (bindings already updated)
@@ -248,15 +321,16 @@ function updateSyncedVersion(workspaceRoot, config, version, dryRun) {
248
321
  // RFC-1118: serializeForgeConfig writes the declared profile id verbatim —
249
322
  // never the resolved StackProfile object, never drops an unresolvable id.
250
323
  const forgeYamlPath = path.join(workspaceRoot, "forge.yaml");
251
- fs.writeFileSync(forgeYamlPath, stringifyYaml(serializeForgeConfig(config)), "utf8");
324
+ await io.writeFile(forgeYamlPath, stringifyYaml(serializeForgeConfig(config)));
252
325
  }
253
326
  export async function runUpgrade(input, context) {
254
327
  const { workspaceRoot, dryRun } = context;
328
+ const fio = resolveIo(context.io);
255
329
  const isDryRun = dryRun || input.flags["dry-run"] === true;
256
330
  const isUpdateNpm = input.flags["update-npm"] === true;
257
331
  // Step 0: Check forge.yaml exists
258
332
  const forgeYamlPath = path.join(workspaceRoot, "forge.yaml");
259
- if (!fs.existsSync(forgeYamlPath)) {
333
+ if (!(await fio.exists(forgeYamlPath))) {
260
334
  return {
261
335
  data: {
262
336
  command: "forge.upgrade",
@@ -267,12 +341,18 @@ export async function runUpgrade(input, context) {
267
341
  bindingsAdded: [],
268
342
  skippedSkills: [],
269
343
  nestedAgentsGenerated: [],
344
+ nestedAgentsPlanned: [],
345
+ nestedAgentsPreserved: [],
346
+ nestedAgentsSkipped: [],
270
347
  memoryScaffold: { created: [], gitignoreUpdated: false, skipped: [] },
271
348
  npmUpdated: false,
272
349
  npmUpdateSkipped: null,
273
350
  latestNpmVersion: null,
274
351
  npmVersionWarning: null,
275
352
  doctorReport: null,
353
+ skillsPruned: [],
354
+ skillsKeptWithConsumerFiles: [],
355
+ prettierignore: "skipped",
276
356
  },
277
357
  nextSteps: [{ action: "Run 'forge create' to create forge.yaml first", kind: "required" }],
278
358
  exitCode: 1,
@@ -290,7 +370,7 @@ export async function runUpgrade(input, context) {
290
370
  catch {
291
371
  configForNpm = { project: { packageManager: "npm" } };
292
372
  }
293
- const npmResult = updateNpmPackage(workspaceRoot, configForNpm, isDryRun);
373
+ const npmResult = await updateNpmPackage(workspaceRoot, configForNpm, isDryRun, fio);
294
374
  npmUpdated = npmResult.updated;
295
375
  npmUpdateSkipped = npmResult.skipped;
296
376
  }
@@ -299,7 +379,7 @@ export async function runUpgrade(input, context) {
299
379
  let toVersion;
300
380
  try {
301
381
  forgeRoot = context.forgeRoot ?? resolveForgeRoot(workspaceRoot);
302
- toVersion = readForgePackageVersion(forgeRoot);
382
+ toVersion = await readForgePackageVersion(forgeRoot, fio);
303
383
  }
304
384
  catch (err) {
305
385
  return {
@@ -312,12 +392,18 @@ export async function runUpgrade(input, context) {
312
392
  bindingsAdded: [],
313
393
  skippedSkills: [],
314
394
  nestedAgentsGenerated: [],
395
+ nestedAgentsPlanned: [],
396
+ nestedAgentsPreserved: [],
397
+ nestedAgentsSkipped: [],
315
398
  memoryScaffold: { created: [], gitignoreUpdated: false, skipped: [] },
316
399
  npmUpdated: false,
317
400
  npmUpdateSkipped: null,
318
401
  latestNpmVersion: null,
319
402
  npmVersionWarning: null,
320
403
  doctorReport: null,
404
+ skillsPruned: [],
405
+ skillsKeptWithConsumerFiles: [],
406
+ prettierignore: "skipped",
321
407
  },
322
408
  nextSteps: [
323
409
  { action: "Install @warpgogol/forge first: npm install @warpgogol/forge", kind: "required" },
@@ -327,7 +413,7 @@ export async function runUpgrade(input, context) {
327
413
  };
328
414
  }
329
415
  // Step 1.5: Check npm for newer version (non-fatal)
330
- const npmCheck = checkLatestNpmVersion(workspaceRoot, toVersion, isMonorepoForge(workspaceRoot));
416
+ const npmCheck = await checkLatestNpmVersion(workspaceRoot, toVersion, await isMonorepoForge(workspaceRoot, fio), fio);
331
417
  if (npmCheck.warning && context.outputFormat === "pretty") {
332
418
  context.logger.warn(`⚠ ${npmCheck.warning}`);
333
419
  }
@@ -347,12 +433,18 @@ export async function runUpgrade(input, context) {
347
433
  bindingsAdded: [],
348
434
  skippedSkills: [],
349
435
  nestedAgentsGenerated: [],
436
+ nestedAgentsPlanned: [],
437
+ nestedAgentsPreserved: [],
438
+ nestedAgentsSkipped: [],
350
439
  memoryScaffold: { created: [], gitignoreUpdated: false, skipped: [] },
351
440
  npmUpdated: false,
352
441
  npmUpdateSkipped: null,
353
442
  latestNpmVersion: npmCheck.latest,
354
443
  npmVersionWarning: npmCheck.warning,
355
444
  doctorReport: null,
445
+ skillsPruned: [],
446
+ skillsKeptWithConsumerFiles: [],
447
+ prettierignore: "skipped",
356
448
  },
357
449
  nextSteps: [
358
450
  { action: `Fix forge.yaml: ${err.message}`, kind: "required" },
@@ -363,23 +455,37 @@ export async function runUpgrade(input, context) {
363
455
  }
364
456
  const fromVersion = config.forge?.syncedVersion ?? null;
365
457
  if (fromVersion === toVersion) {
366
- // Noop — versions match
458
+ // Noop version-wise — but the RFC-1154 reconcile (markers, stale-dir prune,
459
+ // managed .prettierignore) still runs so a same-version upgrade fixes lint debt.
460
+ const reconcile = await reconcileGeneratedSurface(workspaceRoot, forgeRoot, config, isDryRun, fio);
461
+ for (const kept of reconcile.prune.keptWithConsumerFiles) {
462
+ context.logger.warn(`forge.upgrade: kept stale skill dir ${kept}`);
463
+ }
464
+ for (const warn of reconcile.warnings) {
465
+ context.logger.warn(`forge.upgrade: ${warn}`);
466
+ }
367
467
  return {
368
468
  data: {
369
469
  command: "forge.upgrade",
370
470
  status: "noop",
371
471
  fromVersion,
372
472
  toVersion,
373
- skillsUpdated: [],
473
+ skillsUpdated: reconcile.updated,
374
474
  bindingsAdded: [],
375
- skippedSkills: [],
475
+ skippedSkills: reconcile.skipped,
376
476
  nestedAgentsGenerated: [],
477
+ nestedAgentsPlanned: [],
478
+ nestedAgentsPreserved: [],
479
+ nestedAgentsSkipped: [],
377
480
  memoryScaffold: { created: [], gitignoreUpdated: false, skipped: [] },
378
481
  npmUpdated: npmUpdated,
379
482
  npmUpdateSkipped: npmUpdateSkipped,
380
483
  latestNpmVersion: npmCheck.latest,
381
484
  npmVersionWarning: npmCheck.warning,
382
485
  doctorReport: null,
486
+ skillsPruned: reconcile.prune.pruned,
487
+ skillsKeptWithConsumerFiles: reconcile.prune.keptWithConsumerFiles,
488
+ prettierignore: reconcile.prettierignore,
383
489
  },
384
490
  nextSteps: npmCheck.warning
385
491
  ? [{ action: npmCheck.warning, kind: "optional" }]
@@ -390,22 +496,19 @@ export async function runUpgrade(input, context) {
390
496
  : `[forge.upgrade] Already up to date (v${toVersion})`,
391
497
  };
392
498
  }
393
- // Step 3: Sync forge skills
394
- const forgeSkillsResult = syncForgeSkills(workspaceRoot, forgeRoot, config.paths.skillsDir, isDryRun);
395
- // Step 3b: Sync pack skills
396
- const packResult = syncPackSkills(workspaceRoot, config, config.paths.skillsDir, isDryRun);
397
- // Step 3c: Sync shared knowledge layer (RFC-0663)
398
- const sharedKnowledgeResult = syncSharedKnowledge(workspaceRoot, forgeRoot, config.paths.skillsDir, isDryRun);
399
- const skillsUpdated = [
400
- ...forgeSkillsResult.updated,
401
- ...packResult.updated,
402
- ...sharedKnowledgeResult.updated,
403
- ];
404
- const knowledgeConflicts = [
405
- ...forgeSkillsResult.knowledgeConflicts,
406
- ...packResult.knowledgeConflicts,
407
- ...sharedKnowledgeResult.knowledgeConflicts,
408
- ];
499
+ // Step 3: RFC-1154 reconcile — sync forge+pack skills + shared knowledge,
500
+ // write .forge-managed markers, prune stale marked dirs, reconcile the
501
+ // managed .prettierignore block.
502
+ const reconcile = await reconcileGeneratedSurface(workspaceRoot, forgeRoot, config, isDryRun, fio);
503
+ const skillsUpdated = reconcile.updated;
504
+ const knowledgeConflicts = reconcile.knowledgeConflicts;
505
+ const packSkipped = reconcile.skipped;
506
+ for (const kept of reconcile.prune.keptWithConsumerFiles) {
507
+ context.logger.warn(`forge.upgrade: kept stale skill dir ${kept}`);
508
+ }
509
+ for (const warn of reconcile.warnings) {
510
+ context.logger.warn(`forge.upgrade: ${warn}`);
511
+ }
409
512
  if (knowledgeConflicts.length > 0) {
410
513
  context.logger.warn(`forge.upgrade: ${knowledgeConflicts.length} knowledge entr${knowledgeConflicts.length === 1 ? "y" : "ies"} ` +
411
514
  `diverge between package and project — local versions kept: ${knowledgeConflicts.join(", ")}`);
@@ -416,19 +519,51 @@ export async function runUpgrade(input, context) {
416
519
  const bindingsAdded = addMissingBindingDefaults(config, isDryRun);
417
520
  // Step 5: Update forge.syncedVersion
418
521
  if (!isDryRun) {
419
- updateSyncedVersion(workspaceRoot, config, toVersion, false);
522
+ await updateSyncedVersion(workspaceRoot, config, toVersion, false, fio);
420
523
  }
421
- // Step 5b: Generate nested AGENTS.md (RFC-0611)
524
+ // Step 5b: Generate nested AGENTS.md (RFC-0611). RFC-1153: the write path
525
+ // merges at the forge:custom boundary, and --dry-run previews which guides
526
+ // would be rewritten vs. skipped (the destructive step is no longer silent).
422
527
  let nestedAgentsGenerated = [];
423
- if (!isDryRun) {
424
- try {
425
- const nestedResult = await generateNestedAgentsMd(workspaceRoot, config, false);
426
- nestedAgentsGenerated = nestedResult.generated;
528
+ const nestedAgentsPlanned = [];
529
+ let nestedAgentsPreserved = [];
530
+ const nestedAgentsSkipped = [];
531
+ try {
532
+ const nestedResult = await generateNestedAgentsMd(workspaceRoot, config, isDryRun, undefined, fio);
533
+ if (isDryRun) {
534
+ for (const [relPath, rendered] of Object.entries(nestedResult.renderedFiles)) {
535
+ const absPath = path.join(workspaceRoot, relPath);
536
+ let existing = null;
537
+ if (await fio.exists(absPath)) {
538
+ try {
539
+ existing = await fio.readFile(absPath);
540
+ }
541
+ catch {
542
+ // Unreadable — treat as absent; merge will emit a fresh file.
543
+ }
544
+ }
545
+ if (existing !== null && !hasGeneratedMarker(existing)) {
546
+ nestedAgentsSkipped.push(`${relPath} (hand-written)`);
547
+ continue;
548
+ }
549
+ const merged = mergeEditableGenerated(rendered, existing, relPath);
550
+ if (merged === null) {
551
+ nestedAgentsSkipped.push(`${relPath} (unmapped-customization)`);
552
+ }
553
+ else if (merged !== existing) {
554
+ nestedAgentsPlanned.push(relPath);
555
+ }
556
+ }
427
557
  }
428
- catch {
429
- // Nested generation failure is non-fatal
558
+ else {
559
+ nestedAgentsGenerated = nestedResult.generated;
560
+ nestedAgentsPreserved = nestedResult.preserved;
561
+ nestedAgentsSkipped.push(...nestedResult.skipped);
430
562
  }
431
563
  }
564
+ catch {
565
+ // Nested generation failure is non-fatal
566
+ }
432
567
  // Step 6: Run doctor
433
568
  let doctorReport = null;
434
569
  if (!isDryRun) {
@@ -464,19 +599,25 @@ export async function runUpgrade(input, context) {
464
599
  toVersion,
465
600
  skillsUpdated,
466
601
  bindingsAdded,
467
- skippedSkills: packResult.skipped,
602
+ skippedSkills: packSkipped,
468
603
  nestedAgentsGenerated,
604
+ nestedAgentsPlanned,
605
+ nestedAgentsPreserved,
606
+ nestedAgentsSkipped,
469
607
  memoryScaffold,
470
608
  npmUpdated,
471
609
  npmUpdateSkipped,
472
610
  latestNpmVersion: npmCheck.latest,
473
611
  npmVersionWarning: npmCheck.warning,
474
612
  doctorReport,
613
+ skillsPruned: reconcile.prune.pruned,
614
+ skillsKeptWithConsumerFiles: reconcile.prune.keptWithConsumerFiles,
615
+ prettierignore: reconcile.prettierignore,
475
616
  },
476
617
  nextSteps,
477
618
  exitCode: 0,
478
619
  summary: isDryRun
479
- ? `[dry-run] forge.upgrade: would sync ${skillsUpdated.length} skill(s), add ${bindingsAdded.length} binding(s), update syncedVersion to ${toVersion}`
620
+ ? `[dry-run] forge.upgrade: would sync ${skillsUpdated.length} skill(s), add ${bindingsAdded.length} binding(s), update syncedVersion to ${toVersion}, rewrite ${nestedAgentsPlanned.length} nested AGENTS.md file(s)`
480
621
  : npmCheck.warning
481
622
  ? `[forge.upgrade] OK — ${skillsUpdated.length} skill(s) synced, ${bindingsAdded.length} binding(s) added, syncedVersion → ${toVersion} — ⚠ ${npmCheck.warning}`
482
623
  : `[forge.upgrade] OK — ${skillsUpdated.length} skill(s) synced, ${bindingsAdded.length} binding(s) added, syncedVersion → ${toVersion}` +
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/onboarding/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/onboarding/upgrade.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ workspace type (app, service, package) by content markers.</purpose>
14
14
  <item>RFC-0640: accept optional workspaceTypes from profile for profile-driven detection, falling back to hardcoded detection when absent.</item>
15
15
  </CHANGE_SUMMARY>
16
16
  */
17
- import fs from "node:fs";
17
+ import * as fs from "../utils/sync-fs.js";
18
18
  import path from "node:path";
19
19
  import { hasGeneratedMarker } from "../utils/index.js";
20
20
  const SKIP_DIRS = new Set([