@warpgogol/forge 4.2.4 → 5.1.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 (363) hide show
  1. package/AGENTS.md +14 -6
  2. package/CHANGELOG.md +72 -0
  3. package/README.md +8 -8
  4. package/README.uk.md +5 -5
  5. package/dist/os/adr/handlers/list-create.d.ts.map +1 -1
  6. package/dist/os/adr/handlers/list-create.js +4 -1
  7. package/dist/os/adr/handlers/list-create.js.map +1 -1
  8. package/dist/os/adr/handlers/validate.d.ts.map +1 -1
  9. package/dist/os/adr/handlers/validate.js +6 -1
  10. package/dist/os/adr/handlers/validate.js.map +1 -1
  11. package/dist/os/adr/types.d.ts.map +1 -1
  12. package/dist/os/adr/types.js +7 -3
  13. package/dist/os/adr/types.js.map +1 -1
  14. package/dist/os/compass/compass.module.d.ts.map +1 -1
  15. package/dist/os/compass/compass.module.js +76 -10
  16. package/dist/os/compass/compass.module.js.map +1 -1
  17. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -1
  18. package/dist/os/compass/handlers/compass-audit-handler.js +7 -3
  19. package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -1
  20. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +1 -9
  21. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -1
  22. package/dist/os/compass/handlers/compass-change-summary-handler.js +44 -186
  23. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -1
  24. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +2 -0
  25. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -1
  26. package/dist/os/compass/handlers/compass-inventory-handler.js +24 -12
  27. package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -1
  28. package/dist/os/compass/handlers/compass-inventory.d.ts +7 -5
  29. package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -1
  30. package/dist/os/compass/handlers/compass-inventory.js +84 -241
  31. package/dist/os/compass/handlers/compass-inventory.js.map +1 -1
  32. package/dist/os/compass/handlers/compass-migrate-handler.d.ts +4 -0
  33. package/dist/os/compass/handlers/compass-migrate-handler.d.ts.map +1 -0
  34. package/dist/os/compass/handlers/compass-migrate-handler.js +100 -0
  35. package/dist/os/compass/handlers/compass-migrate-handler.js.map +1 -0
  36. package/dist/os/compass/handlers/compass-migrate.d.ts +34 -0
  37. package/dist/os/compass/handlers/compass-migrate.d.ts.map +1 -0
  38. package/dist/os/compass/handlers/compass-migrate.js +273 -0
  39. package/dist/os/compass/handlers/compass-migrate.js.map +1 -0
  40. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -1
  41. package/dist/os/compass/handlers/resolve-scan-root.js +15 -8
  42. package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -1
  43. package/dist/os/compass/handlers/summary-record.d.ts +46 -0
  44. package/dist/os/compass/handlers/summary-record.d.ts.map +1 -0
  45. package/dist/os/compass/handlers/summary-record.js +233 -0
  46. package/dist/os/compass/handlers/summary-record.js.map +1 -0
  47. package/dist/os/compass/index.d.ts +4 -1
  48. package/dist/os/compass/index.d.ts.map +1 -1
  49. package/dist/os/compass/index.js +9 -1
  50. package/dist/os/compass/index.js.map +1 -1
  51. package/dist/os/compass/policy.d.ts +65 -0
  52. package/dist/os/compass/policy.d.ts.map +1 -0
  53. package/dist/os/compass/policy.js +241 -0
  54. package/dist/os/compass/policy.js.map +1 -0
  55. package/dist/os/core/core.module.d.ts.map +1 -1
  56. package/dist/os/core/core.module.js +11 -23
  57. package/dist/os/core/core.module.js.map +1 -1
  58. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +1 -1
  59. package/dist/os/core/handlers/forge-autonomy-validate.js +7 -1
  60. package/dist/os/core/handlers/forge-autonomy-validate.js.map +1 -1
  61. package/dist/os/core/handlers/package-health.d.ts.map +1 -1
  62. package/dist/os/core/handlers/package-health.js +6 -1
  63. package/dist/os/core/handlers/package-health.js.map +1 -1
  64. package/dist/os/core/handlers/pinned-check.d.ts.map +1 -1
  65. package/dist/os/core/handlers/pinned-check.js +6 -1
  66. package/dist/os/core/handlers/pinned-check.js.map +1 -1
  67. package/dist/os/core/handlers/pinned-validate.d.ts.map +1 -1
  68. package/dist/os/core/handlers/pinned-validate.js +6 -1
  69. package/dist/os/core/handlers/pinned-validate.js.map +1 -1
  70. package/dist/os/core/handlers/validate.d.ts.map +1 -1
  71. package/dist/os/core/handlers/validate.js +6 -1
  72. package/dist/os/core/handlers/validate.js.map +1 -1
  73. package/dist/os/exploration/exploration.module.d.ts.map +1 -1
  74. package/dist/os/exploration/exploration.module.js +6 -4
  75. package/dist/os/exploration/exploration.module.js.map +1 -1
  76. package/dist/os/exploration/handlers/list.d.ts.map +1 -1
  77. package/dist/os/exploration/handlers/list.js +4 -1
  78. package/dist/os/exploration/handlers/list.js.map +1 -1
  79. package/dist/os/mission/handlers/archive.d.ts.map +1 -1
  80. package/dist/os/mission/handlers/archive.js +7 -3
  81. package/dist/os/mission/handlers/archive.js.map +1 -1
  82. package/dist/os/mission/index.d.ts.map +1 -1
  83. package/dist/os/mission/index.js +13 -0
  84. package/dist/os/mission/index.js.map +1 -1
  85. package/dist/os/notes/index.d.ts.map +1 -1
  86. package/dist/os/notes/index.js +7 -1
  87. package/dist/os/notes/index.js.map +1 -1
  88. package/dist/os/rfc/frontmatter-io.d.ts.map +1 -1
  89. package/dist/os/rfc/frontmatter-io.js +6 -1
  90. package/dist/os/rfc/frontmatter-io.js.map +1 -1
  91. package/dist/os/rfc/handlers/archive.d.ts.map +1 -1
  92. package/dist/os/rfc/handlers/archive.js +6 -1
  93. package/dist/os/rfc/handlers/archive.js.map +1 -1
  94. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -1
  95. package/dist/os/rfc/handlers/implement-stamp.js +7 -3
  96. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -1
  97. package/dist/os/rfc/handlers/index-graph.d.ts.map +1 -1
  98. package/dist/os/rfc/handlers/index-graph.js +6 -1
  99. package/dist/os/rfc/handlers/index-graph.js.map +1 -1
  100. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -1
  101. package/dist/os/rfc/handlers/lifecycle.js +6 -1
  102. package/dist/os/rfc/handlers/lifecycle.js.map +1 -1
  103. package/dist/os/rfc/handlers/list-create.d.ts.map +1 -1
  104. package/dist/os/rfc/handlers/list-create.js +6 -1
  105. package/dist/os/rfc/handlers/list-create.js.map +1 -1
  106. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -1
  107. package/dist/os/rfc/handlers/pipeline-status.js +6 -1
  108. package/dist/os/rfc/handlers/pipeline-status.js.map +1 -1
  109. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -1
  110. package/dist/os/rfc/handlers/supersede-propose.js +6 -1
  111. package/dist/os/rfc/handlers/supersede-propose.js.map +1 -1
  112. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -1
  113. package/dist/os/rfc/handlers/validate-rules.js +7 -3
  114. package/dist/os/rfc/handlers/validate-rules.js.map +1 -1
  115. package/dist/os/rfc/handlers/validate.d.ts.map +1 -1
  116. package/dist/os/rfc/handlers/validate.js +6 -1
  117. package/dist/os/rfc/handlers/validate.js.map +1 -1
  118. package/dist/os/rfc/index.d.ts.map +1 -1
  119. package/dist/os/rfc/index.js +6 -1
  120. package/dist/os/rfc/index.js.map +1 -1
  121. package/dist/os/rfc/rfc.module.d.ts.map +1 -1
  122. package/dist/os/rfc/rfc.module.js +6 -1
  123. package/dist/os/rfc/rfc.module.js.map +1 -1
  124. package/dist/os/rfc/types.d.ts +7 -4
  125. package/dist/os/rfc/types.d.ts.map +1 -1
  126. package/dist/os/rfc/types.js +7 -4
  127. package/dist/os/rfc/types.js.map +1 -1
  128. package/dist/os/session/handlers/save.d.ts.map +1 -1
  129. package/dist/os/session/handlers/save.js +6 -1
  130. package/dist/os/session/handlers/save.js.map +1 -1
  131. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +1 -1
  132. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +6 -1
  133. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -1
  134. package/dist/os/werkstatt/handlers/workspace-deps.js +3 -3
  135. package/dist/os/werkstatt/handlers/workspace-deps.js.map +1 -1
  136. package/dist/os/workflow/index.d.ts.map +1 -1
  137. package/dist/os/workflow/index.js +6 -1
  138. package/dist/os/workflow/index.js.map +1 -1
  139. package/dist/src/config/forge-config.d.ts +62 -4
  140. package/dist/src/config/forge-config.d.ts.map +1 -1
  141. package/dist/src/config/forge-config.js +35 -19
  142. package/dist/src/config/forge-config.js.map +1 -1
  143. package/dist/src/forge-module.d.ts.map +1 -1
  144. package/dist/src/forge-module.js +6 -1
  145. package/dist/src/forge-module.js.map +1 -1
  146. package/dist/src/index.d.ts.map +1 -1
  147. package/dist/src/index.js +10 -2
  148. package/dist/src/index.js.map +1 -1
  149. package/dist/src/migration-adapters/git-utils.d.ts.map +1 -1
  150. package/dist/src/migration-adapters/git-utils.js +6 -2
  151. package/dist/src/migration-adapters/git-utils.js.map +1 -1
  152. package/dist/src/migration-adapters/ignored-files.d.ts.map +1 -1
  153. package/dist/src/migration-adapters/ignored-files.js +6 -1
  154. package/dist/src/migration-adapters/ignored-files.js.map +1 -1
  155. package/dist/src/migration-adapters/index.d.ts.map +1 -1
  156. package/dist/src/migration-adapters/index.js +4 -1
  157. package/dist/src/migration-adapters/index.js.map +1 -1
  158. package/dist/src/migration-adapters/types.d.ts.map +1 -1
  159. package/dist/src/migration-adapters/types.js +6 -2
  160. package/dist/src/migration-adapters/types.js.map +1 -1
  161. package/dist/src/onboarding/agents-generate.d.ts.map +1 -1
  162. package/dist/src/onboarding/agents-generate.js +18 -14
  163. package/dist/src/onboarding/agents-generate.js.map +1 -1
  164. package/dist/src/onboarding/create.d.ts.map +1 -1
  165. package/dist/src/onboarding/create.js +7 -6
  166. package/dist/src/onboarding/create.js.map +1 -1
  167. package/dist/src/onboarding/doctor.d.ts.map +1 -1
  168. package/dist/src/onboarding/doctor.js +7 -13
  169. package/dist/src/onboarding/doctor.js.map +1 -1
  170. package/dist/src/onboarding/init.d.ts.map +1 -1
  171. package/dist/src/onboarding/init.js +7 -12
  172. package/dist/src/onboarding/init.js.map +1 -1
  173. package/dist/src/onboarding/invariant-engine.d.ts.map +1 -1
  174. package/dist/src/onboarding/invariant-engine.js +7 -2
  175. package/dist/src/onboarding/invariant-engine.js.map +1 -1
  176. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -1
  177. package/dist/src/onboarding/nested-agents-generate.js +7 -2
  178. package/dist/src/onboarding/nested-agents-generate.js.map +1 -1
  179. package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -1
  180. package/dist/src/onboarding/nested-agents-templates.js +11 -3
  181. package/dist/src/onboarding/nested-agents-templates.js.map +1 -1
  182. package/dist/src/onboarding/scaffold-project.d.ts.map +1 -1
  183. package/dist/src/onboarding/scaffold-project.js +6 -1
  184. package/dist/src/onboarding/scaffold-project.js.map +1 -1
  185. package/dist/src/onboarding/upgrade.d.ts.map +1 -1
  186. package/dist/src/onboarding/upgrade.js +7 -3
  187. package/dist/src/onboarding/upgrade.js.map +1 -1
  188. package/dist/src/profiles/profile-schema.d.ts +54 -4
  189. package/dist/src/profiles/profile-schema.d.ts.map +1 -1
  190. package/dist/src/profiles/profile-schema.js +34 -14
  191. package/dist/src/profiles/profile-schema.js.map +1 -1
  192. package/dist/src/profiles/stack-profile.d.ts +24 -0
  193. package/dist/src/profiles/stack-profile.d.ts.map +1 -1
  194. package/dist/src/profiles/stack-profile.js +7 -3
  195. package/dist/src/profiles/stack-profile.js.map +1 -1
  196. package/dist/src/registry.d.ts.map +1 -1
  197. package/dist/src/registry.js +7 -9
  198. package/dist/src/registry.js.map +1 -1
  199. package/dist/src/types.d.ts.map +1 -1
  200. package/dist/src/types.js +6 -1
  201. package/dist/src/types.js.map +1 -1
  202. package/dist/src/utils/fs-atomic.d.ts.map +1 -1
  203. package/dist/src/utils/fs-atomic.js +13 -1
  204. package/dist/src/utils/fs-atomic.js.map +1 -1
  205. package/dist/src/utils/fs-idempotent.d.ts.map +1 -1
  206. package/dist/src/utils/fs-idempotent.js +13 -0
  207. package/dist/src/utils/fs-idempotent.js.map +1 -1
  208. package/dist/src/utils/fs-trash-sync.d.ts.map +1 -1
  209. package/dist/src/utils/fs-trash-sync.js +13 -1
  210. package/dist/src/utils/fs-trash-sync.js.map +1 -1
  211. package/dist/src/utils/fs-trash.d.ts.map +1 -1
  212. package/dist/src/utils/fs-trash.js +13 -1
  213. package/dist/src/utils/fs-trash.js.map +1 -1
  214. package/dist/src/utils/fs.d.ts.map +1 -1
  215. package/dist/src/utils/fs.js +14 -3
  216. package/dist/src/utils/fs.js.map +1 -1
  217. package/dist/src/utils/hash.d.ts.map +1 -1
  218. package/dist/src/utils/hash.js +12 -1
  219. package/dist/src/utils/hash.js.map +1 -1
  220. package/dist/src/utils/index.d.ts.map +1 -1
  221. package/dist/src/utils/index.js +13 -2
  222. package/dist/src/utils/index.js.map +1 -1
  223. package/dist/src/utils/string-utils.d.ts.map +1 -1
  224. package/dist/src/utils/string-utils.js +12 -1
  225. package/dist/src/utils/string-utils.js.map +1 -1
  226. package/dist/src/validators/port-validate.js +1 -1
  227. package/dist/src/validators/port-validate.js.map +1 -1
  228. package/dist/src/validators/skill-validate.d.ts.map +1 -1
  229. package/dist/src/validators/skill-validate.js +7 -8
  230. package/dist/src/validators/skill-validate.js.map +1 -1
  231. package/docs/getting-started.md +1 -1
  232. package/docs/reference/forge-yaml.md +38 -9
  233. package/docs/reference/profiles.md +8 -8
  234. package/os/adr/handlers/list-create.ts +4 -1
  235. package/os/adr/handlers/validate.ts +6 -1
  236. package/os/adr/types.ts +7 -3
  237. package/os/compass/compass.module.ts +79 -13
  238. package/os/compass/handlers/compass-audit-handler.ts +22 -3
  239. package/os/compass/handlers/compass-change-summary-handler.ts +55 -227
  240. package/os/compass/handlers/compass-inventory-handler.ts +30 -12
  241. package/os/compass/handlers/compass-inventory.ts +103 -240
  242. package/os/compass/handlers/compass-migrate-handler.ts +122 -0
  243. package/os/compass/handlers/compass-migrate.ts +361 -0
  244. package/os/compass/handlers/resolve-scan-root-package.test.ts +70 -0
  245. package/os/compass/handlers/resolve-scan-root.ts +15 -8
  246. package/os/compass/handlers/summary-record.ts +313 -0
  247. package/os/compass/handlers/tests/compass-migrate.test.ts +291 -0
  248. package/os/compass/handlers/tests/compass-policy.test.ts +249 -0
  249. package/os/compass/handlers/tests/compass-v2-contract.test.ts +9 -9
  250. package/os/compass/handlers/tests/summary-record.test.ts +224 -0
  251. package/os/compass/index.ts +23 -5
  252. package/os/compass/policy.ts +350 -0
  253. package/os/core/core.module.ts +11 -23
  254. package/os/core/handlers/forge-autonomy-validate.ts +7 -1
  255. package/os/core/handlers/package-health.ts +6 -1
  256. package/os/core/handlers/pinned-check.ts +6 -1
  257. package/os/core/handlers/pinned-validate.ts +6 -1
  258. package/os/core/handlers/validate.ts +6 -1
  259. package/os/exploration/exploration.module.ts +72 -71
  260. package/os/exploration/handlers/list.ts +4 -1
  261. package/os/mission/handlers/archive.ts +7 -3
  262. package/os/mission/index.ts +14 -0
  263. package/os/notes/index.ts +7 -1
  264. package/os/rfc/frontmatter-io.ts +6 -1
  265. package/os/rfc/handlers/archive.ts +6 -1
  266. package/os/rfc/handlers/implement-stamp.ts +7 -3
  267. package/os/rfc/handlers/index-graph.ts +6 -1
  268. package/os/rfc/handlers/lifecycle.ts +6 -1
  269. package/os/rfc/handlers/list-create.ts +6 -1
  270. package/os/rfc/handlers/pipeline-status.ts +6 -1
  271. package/os/rfc/handlers/supersede-propose.ts +6 -1
  272. package/os/rfc/handlers/validate-rules.ts +7 -3
  273. package/os/rfc/handlers/validate.ts +6 -1
  274. package/os/rfc/index.ts +6 -1
  275. package/os/rfc/rfc.module.ts +6 -1
  276. package/os/rfc/types.ts +7 -4
  277. package/os/session/handlers/save.ts +6 -1
  278. package/os/werkstatt/handlers/werkstatt-lock-recover.ts +6 -1
  279. package/os/werkstatt/handlers/workspace-deps.ts +3 -3
  280. package/os/workflow/index.ts +6 -1
  281. package/package.json +1 -1
  282. package/profiles/{godot-csharp.yaml → godot-game.yaml} +2 -2
  283. package/profiles/{knowledge-typescript-turborepo.yaml → knowledge.yaml} +1 -1
  284. package/profiles/{phaser-turborepo.yaml → phaser-game.yaml} +2 -2
  285. package/profiles/{typescript-turborepo.yaml → typescript.yaml} +2 -2
  286. package/skills/fo/fo-add-tests/SKILL.md +14 -0
  287. package/skills/fo/fo-architecture/SKILL.md +14 -0
  288. package/skills/fo/fo-compass-annotate/SKILL.md +14 -0
  289. package/skills/fo/fo-design-summit/SKILL.md +14 -0
  290. package/skills/fo/fo-doc-audit/SKILL.md +14 -0
  291. package/skills/fo/fo-explore/SKILL.md +14 -0
  292. package/skills/fo/fo-extract-dna/SKILL.md +14 -0
  293. package/skills/fo/fo-fix/SKILL.md +14 -0
  294. package/skills/fo/fo-handoff/SKILL.md +14 -0
  295. package/skills/fo/fo-harvest/SKILL.md +14 -0
  296. package/skills/fo/fo-idea/SKILL.md +14 -0
  297. package/skills/fo/fo-idea-audit/SKILL.md +14 -0
  298. package/skills/fo/fo-idea-create-adr/SKILL.md +14 -0
  299. package/skills/fo/fo-idea-create-rfc/SKILL.md +14 -0
  300. package/skills/fo/fo-idea-enhance/SKILL.md +14 -0
  301. package/skills/fo/fo-idea-i-just-want-to-see-the-plan/SKILL.md +14 -0
  302. package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +14 -0
  303. package/skills/fo/fo-idea-implement/SKILL.md +14 -0
  304. package/skills/fo/fo-idea-plan/SKILL.md +14 -0
  305. package/skills/fo/fo-idea-status/SKILL.md +14 -0
  306. package/skills/fo/fo-knowledge-distill/SKILL.md +14 -0
  307. package/skills/fo/fo-memory-sync/SKILL.md +14 -0
  308. package/skills/fo/fo-qa/SKILL.md +14 -0
  309. package/skills/fo/fo-review/SKILL.md +14 -0
  310. package/skills/fo/fo-session-retro/SKILL.md +14 -0
  311. package/skills/fo/fo-session-save/SKILL.md +14 -0
  312. package/skills/fo/fo-spec-ingest/SKILL.md +14 -0
  313. package/skills/fo/fo-step-commit/SKILL.md +14 -0
  314. package/skills/fo/fo-triage/SKILL.md +14 -0
  315. package/skills/meta/forge-bootstrap/SKILL.md +14 -0
  316. package/skills/meta/port-to-forge/SKILL.md +14 -0
  317. package/skills/meta/skill-create/SKILL.md +14 -0
  318. package/skills/shared/grilling/SKILL.md +14 -0
  319. package/skills/shared/my-preferences/SKILL.md +14 -0
  320. package/skills/shared/windows-ai-tooling/SKILL.md +14 -0
  321. package/skills/shared/writing-great-skills/SKILL.md +14 -0
  322. package/src/config/forge-config.ts +40 -23
  323. package/src/forge-module.ts +6 -1
  324. package/src/index.ts +10 -2
  325. package/src/migration-adapters/git-utils.ts +6 -2
  326. package/src/migration-adapters/ignored-files.ts +6 -1
  327. package/src/migration-adapters/index.ts +4 -1
  328. package/src/migration-adapters/types.ts +6 -2
  329. package/src/onboarding/agents-generate.ts +23 -14
  330. package/src/onboarding/create.ts +7 -6
  331. package/src/onboarding/doctor.ts +7 -13
  332. package/src/onboarding/init.ts +7 -12
  333. package/src/onboarding/invariant-engine.ts +7 -2
  334. package/src/onboarding/nested-agents-generate.ts +7 -2
  335. package/src/onboarding/nested-agents-templates.ts +11 -3
  336. package/src/onboarding/scaffold-project.ts +6 -1
  337. package/src/onboarding/upgrade.ts +7 -3
  338. package/src/profiles/profile-schema.ts +42 -18
  339. package/src/profiles/stack-profile.ts +7 -3
  340. package/src/registry.ts +7 -9
  341. package/src/tests/agents-generate-domain.test.ts +3 -3
  342. package/src/tests/agents-generate.test.ts +2 -2
  343. package/src/tests/create.test.ts +4 -4
  344. package/src/tests/forge-autonomy-validate.test.ts +1 -1
  345. package/src/tests/package-files.test.ts +53 -1
  346. package/src/tests/profile-schema.test.ts +4 -4
  347. package/src/tests/scaffold-project.test.ts +3 -3
  348. package/src/tests/stack-profile.test.ts +12 -12
  349. package/src/types.ts +6 -1
  350. package/src/utils/fs-atomic.ts +13 -1
  351. package/src/utils/fs-idempotent.ts +13 -0
  352. package/src/utils/fs-trash-sync.ts +13 -1
  353. package/src/utils/fs-trash.ts +13 -1
  354. package/src/utils/fs.ts +14 -3
  355. package/src/utils/hash.ts +12 -1
  356. package/src/utils/index.ts +13 -2
  357. package/src/utils/string-utils.ts +12 -1
  358. package/src/validators/port-validate.ts +1 -1
  359. package/src/validators/skill-validate.ts +7 -8
  360. package/skills/shared/extension-e2e-mitm/SKILL.md +0 -53
  361. package/skills/shared/extension-e2e-mitm/fixture-proxy.ts +0 -113
  362. package/src/types/werkstatt-engine-shims.d.ts +0 -1416
  363. package/src/types/werkstatt-shared-shims.d.ts +0 -5686
@@ -1 +1 @@
1
- {"version":3,"file":"compass-inventory-handler.js","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-inventory-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compass-inventory-handler.js","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-inventory-handler.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ForgeCommandInput } from "../../../src/types.ts";
2
- export declare const GOVERNANCE_ID_RE: RegExp;
2
+ import { type CompassPolicy, type CompassRiskClass, type CompassWorkspaceKind } from "../policy.ts";
3
3
  export type CompassValidationMode = "warning" | "error";
4
4
  export interface CompassV2Diagnostic {
5
5
  ruleId: string;
@@ -7,8 +7,6 @@ export interface CompassV2Diagnostic {
7
7
  fix: string;
8
8
  }
9
9
  export declare function resolveCompassMode(input: ForgeCommandInput): CompassValidationMode;
10
- type CompassWorkspaceKind = "app" | "package" | "service";
11
- type CompassRiskClass = "high" | "medium" | "low";
12
10
  type CompassComplexity = "non-trivial" | "trivial";
13
11
  type CompassScaffoldingMode = "standard" | "none";
14
12
  type CompassAuthoringStatus = "authored" | "excluded";
@@ -38,10 +36,14 @@ export interface CompassInventoryEntry {
38
36
  compliant: boolean;
39
37
  violations: string[];
40
38
  }
39
+ export declare function getRelativeSegments(filePath: string, workspaceRoot: string): string[];
40
+ export declare function getWorkspaceRelativeSegments(segments: string[], policy: CompassPolicy): string[];
41
+ export declare function detectLayer(relativePath: string, policy: CompassPolicy): string;
42
+ export declare function detectRiskClass(pathFromRoot: string, workspaceRelativePath: string, policy: CompassPolicy): CompassRiskClass;
41
43
  export declare function deriveFileTokens(pathFromRoot: string, source: string): Set<string>;
42
- export declare function evaluateV2Rules(entry: Pick<CompassInventoryEntry, "path" | "keyDecisionsRequired">, source: string): CompassV2Diagnostic[];
44
+ export declare function evaluateV2Rules(entry: Pick<CompassInventoryEntry, "path" | "keyDecisionsRequired">, source: string, policy: CompassPolicy): CompassV2Diagnostic[];
43
45
  /** Returns the source text captured during `createCompassInventoryEntries`, if still cached. */
44
46
  export declare function getEntrySource(entry: CompassInventoryEntry): string | undefined;
45
- export declare function createCompassInventoryEntries(workspaceRoot: string, input: ForgeCommandInput, scanRoot?: string): Promise<CompassInventoryEntry[]>;
47
+ export declare function createCompassInventoryEntries(workspaceRoot: string, input: ForgeCommandInput, scanRoot?: string, policy?: CompassPolicy): Promise<CompassInventoryEntry[]>;
46
48
  export {};
47
49
  //# sourceMappingURL=compass-inventory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compass-inventory.d.ts","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-inventory.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AA0E/D,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAgC5D,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,qBAAqB,CAKlF;AAED,KAAK,oBAAoB,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;AAC1D,KAAK,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAClD,KAAK,iBAAiB,GAAG,aAAa,GAAG,SAAS,CAAC;AACnD,KAAK,sBAAsB,GAAG,UAAU,GAAG,MAAM,CAAC;AAClD,KAAK,sBAAsB,GAAG,UAAU,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,oBAAoB,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,sBAAsB,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAobD,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CA4BlF;AAyBD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,sBAAsB,CAAC,EACnE,MAAM,EAAE,MAAM,GACb,mBAAmB,EAAE,CAwHvB;AA0CD,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,wBAAsB,6BAA6B,CACjD,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,iBAAiB,EACxB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAgElC"}
1
+ {"version":3,"file":"compass-inventory.d.ts","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-inventory.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AAoCtB,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,qBAAqB,CAKlF;AAED,KAAK,iBAAiB,GAAG,aAAa,GAAG,SAAS,CAAC;AACnD,KAAK,sBAAsB,GAAG,UAAU,GAAG,MAAM,CAAC;AAClD,KAAK,sBAAsB,GAAG,UAAU,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,oBAAoB,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,sBAAsB,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AA6ED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAErF;AAoBD,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAKhG;AAED,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,CAE/E;AAED,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,qBAAqB,EAAE,MAAM,EAC7B,MAAM,EAAE,aAAa,GACpB,gBAAgB,CAKlB;AA2OD,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CA4BlF;AAuBD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,sBAAsB,CAAC,EACnE,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,GACpB,mBAAmB,EAAE,CAwHvB;AA0CD,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,wBAAsB,6BAA6B,CACjD,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,iBAAiB,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAmElC"}
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  <MODULE_CONTRACT>
3
- <purpose>Canonical Compass inventory scanning logic. Moved from @warpgogol/site-kernel
4
- to @warpgogol/forge for full autonomous mode (RFC-0556). Provides file collection,
3
+ <purpose>Canonical Compass inventory scanning logic. Moved from the legacy site
4
+ kernel package to @warpgogol/forge for full autonomous mode (RFC-0556). Provides file collection,
5
5
  workspace detection, layer classification, risk assessment, and compliance checking
6
6
  for Compass source-file inventory.</purpose>
7
7
  <non-goals>
@@ -9,79 +9,28 @@ for Compass source-file inventory.</purpose>
9
9
  <item>Do not register commands — this is a pure utility module.</item>
10
10
  </non-goals>
11
11
  </MODULE_CONTRACT>
12
+ <KEY_DECISIONS>
13
+ <item>Authoring status is classified before compliance — generated, test, and excluded files never reach rule evaluation.</item>
14
+ <item>Risk class derives from layer rules plus high-risk globs — KEY_DECISIONS is required only on medium and high.</item>
15
+ <item>Policy literals come from resolveCompassPolicy — no stack- or consumer-specific values live in this module.</item>
16
+ </KEY_DECISIONS>
12
17
  <CHANGE_SUMMARY>
13
- <item>RFC-0348: collapsed to two-block contract (MODULE_CONTRACT + CHANGE_SUMMARY); removed MODULE_MAP, keywords, responsibilities, COMPASS_BLOCK anchors; coverage modes collapsed to standard/none.</item>
14
- <item>Post-refactor hardening: exclude src/templates generation inputs from authored Compass requirements.</item>
15
- <item>Post-refactor hardening: detect nested packages/os workspaces before deriving Compass layer and workspace name.</item>
16
- <item>RFC-0556: moved canonical implementation from @warpgogol/site-kernel to @warpgogol/forge for autonomous mode.</item>
17
- <item>Game extensions: added .cs, .tscn, .tres, .gd to SOURCE_EXTENSIONS; createCompassInventoryEntries now reads forge.yaml compass.fileExtensions at runtime and merges with hardcoded set.</item>
18
- <item>Added .md to SOURCE_EXTENSIONS for SKILL.md Compass coverage; detectAuthoringStatus excludes non-SKILL.md markdown files.</item>
19
18
  <item>RFC-1094: v2 contract — KEY_DECISIONS/history parsing, new inventory fields, evaluateV2Rules, deriveFileTokens, resolveCompassMode, shared GOVERNANCE_ID_RE.</item>
19
+ <item>RFC-1095: compass.summary.record, trim repair rewrite, commit integration</item>
20
+ <item>RFC-1096: all policy literals externalized to resolveCompassPolicy — scan roots, extensions, ignored dirs/paths, layer/risk rules, governance-ID and boilerplate patterns come from generic defaults + profile + bindings.compass.</item>
21
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
22
+
23
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
24
+ <item>RFC-1097: sweep — packages/forge + services clean
25
+
26
+ Sweep batch 2: real KEY_DECISIONS on 10 files, expanded purposes (CONTRACT-02/PURPOSE-02), headers on mission/index + gen-upstreams, sanitizeItemText in summary.record (literal Compass tags corrupted history), excludedPaths for wrangler types, test-fixtures testPattern. forge+services now 0 diagnostics under --mode error.</item>
27
+ <history>RFC-0348, RFC-0556</history>
20
28
  </CHANGE_SUMMARY>
21
29
  */
22
30
  import { readdir, readFile } from "node:fs/promises";
23
- import { readFileSync, existsSync } from "node:fs";
24
31
  import { join, relative, resolve } from "node:path";
25
- import { parse as parseYaml } from "yaml";
26
32
  import { hasGeneratedMarker } from "../../../src/utils/generated-marker.js";
27
- function loadCompassExtensionsFromForgeYaml(workspaceRoot) {
28
- const forgeYamlPath = join(workspaceRoot, "forge.yaml");
29
- if (!existsSync(forgeYamlPath)) {
30
- return new Set();
31
- }
32
- try {
33
- const raw = readFileSync(forgeYamlPath, "utf8");
34
- const parsed = parseYaml(raw);
35
- const bindings = parsed?.bindings;
36
- const compass = bindings?.compass;
37
- const extensions = compass?.fileExtensions;
38
- if (Array.isArray(extensions)) {
39
- return new Set(extensions.filter((e) => typeof e === "string"));
40
- }
41
- }
42
- catch {
43
- // forge.yaml not parseable or missing compass section — fall back to hardcoded set
44
- }
45
- return new Set();
46
- }
47
- const SOURCE_EXTENSIONS = new Set([
48
- ".ts",
49
- ".tsx",
50
- ".astro",
51
- ".js",
52
- ".jsx",
53
- ".mjs",
54
- ".mts",
55
- ".css",
56
- ".cs",
57
- ".tscn",
58
- ".tres",
59
- ".gd",
60
- ".md",
61
- ]);
62
- const IGNORED_DIRECTORY_NAMES = new Set([
63
- ".git",
64
- ".turbo",
65
- ".astro",
66
- ".wrangler",
67
- ".vscode",
68
- ".cache",
69
- "coverage",
70
- "dist",
71
- "node_modules",
72
- "spec",
73
- "todo",
74
- ]);
75
- const DEFAULT_SCAN_ROOTS = ["apps", "packages", "services"];
76
- const HIGH_RISK_EXACT_RELATIVE_PATHS = new Set([
77
- "apps/main/src/content/config.ts",
78
- "apps/main/src/middleware.ts",
79
- "packages/os/site-kernel/src/cli/index.ts",
80
- "packages/os/site-kernel/src/discovery.ts",
81
- "packages/os/site-kernel/src/registry.ts",
82
- "packages/os/site-kernel/src/runtime.ts",
83
- "packages/os/site-kernel/src/types.ts",
84
- ]);
33
+ import { parseGovernanceIdParts, resolveCompassPolicy, } from "../policy.js";
85
34
  function forbiddenMarkerPattern(tagName) {
86
35
  return new RegExp(`<${tagName}\\b`);
87
36
  }
@@ -91,12 +40,7 @@ const FORBIDDEN_PATTERNS = [
91
40
  { name: "responsibilities", regex: forbiddenMarkerPattern("responsibilities") },
92
41
  { name: "COMPASS_BLOCK", regex: new RegExp(`</?${"COMPASS_BLOCK"}\\b`) },
93
42
  ];
94
- // RFC-1094: v2 contract constants. GOVERNANCE_ID_RE is the canonical
95
- // governance-ID pattern shared with the change-summary handler.
96
- export const GOVERNANCE_ID_RE = /\b([A-Z][A-Z0-9]*-)+\d+\b/;
97
- const GOVERNANCE_ID_PREFIX_RE = /^([A-Z][A-Z0-9]*-)+\d+\b/;
98
- const HISTORY_ID_RE = /^([A-Z][A-Z0-9]*-)+\d+$/;
99
- const HISTORY_ID_PARTS_RE = /^(([A-Z][A-Z0-9]*-)+)(\d+)$/;
43
+ // RFC-1096: governance-ID regexes are policy-derived (policy.idPattern*).
100
44
  const TODO_PLACEHOLDER_RE = /^TODO\b/i;
101
45
  const GENERIC_STEMS = new Set([
102
46
  "index",
@@ -112,11 +56,6 @@ const GENERIC_STEMS = new Set([
112
56
  ]);
113
57
  const SYMBOL_EXTENSIONS = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".mts"]);
114
58
  const EXPORTED_SYMBOL_RE = /export\s+(?:async\s+)?(?:function|const|let|class|interface|type|enum)\s+(\w+)/g;
115
- const PURPOSE_BOILERPLATE_PATTERNS = [
116
- /^(this file|the file|a file|this module|a module)\b/i,
117
- /^(utility|utilities|helper|helpers|misc)\b/i,
118
- /^(todo|placeholder|fixme)\b/i,
119
- ];
120
59
  const KEY_DECISIONS_MAX_ITEMS = 7;
121
60
  const KEY_DECISIONS_MAX_WORDS = 20;
122
61
  const CHANGE_SUMMARY_MAX_ITEMS = 5;
@@ -135,39 +74,26 @@ function getFlagValues(input, key) {
135
74
  }
136
75
  return typeof value === "string" ? [value] : [];
137
76
  }
138
- function resolveScanRoots(workspaceRoot, input) {
77
+ function resolveScanRoots(workspaceRoot, input, policy) {
139
78
  const values = getFlagValues(input, "root");
140
- const roots = values.length > 0 ? values : DEFAULT_SCAN_ROOTS;
79
+ const roots = values.length > 0 ? values : policy.scanRoots;
141
80
  return roots.map((value) => resolve(workspaceRoot, value));
142
81
  }
143
- function shouldIgnoreDirectory(name) {
144
- if (IGNORED_DIRECTORY_NAMES.has(name)) {
82
+ function shouldIgnoreDirectory(name, policy) {
83
+ if (policy.ignoredDirs.has(name)) {
145
84
  return true;
146
85
  }
147
- if (name.startsWith("old-")) {
148
- return true;
149
- }
150
- if (name.startsWith("-")) {
151
- return true;
152
- }
153
- return false;
86
+ return policy.ignoredDirPrefixes.some((prefix) => name.startsWith(prefix));
154
87
  }
155
- function hasRelevantExtension(filePath, extraExtensions) {
156
- for (const extension of SOURCE_EXTENSIONS) {
88
+ function hasRelevantExtension(filePath, policy) {
89
+ for (const extension of policy.fileExtensions) {
157
90
  if (filePath.endsWith(extension)) {
158
91
  return true;
159
92
  }
160
93
  }
161
- if (extraExtensions) {
162
- for (const extension of extraExtensions) {
163
- if (filePath.endsWith(extension)) {
164
- return true;
165
- }
166
- }
167
- }
168
94
  return false;
169
95
  }
170
- async function collectSourceFiles(targetPath, extraExtensions) {
96
+ async function collectSourceFiles(targetPath, policy) {
171
97
  let stat;
172
98
  try {
173
99
  const { stat: fsStat } = await import("node:fs/promises");
@@ -177,7 +103,7 @@ async function collectSourceFiles(targetPath, extraExtensions) {
177
103
  return [];
178
104
  }
179
105
  if (stat.isFile()) {
180
- return hasRelevantExtension(targetPath, extraExtensions) ? [targetPath] : [];
106
+ return hasRelevantExtension(targetPath, policy) ? [targetPath] : [];
181
107
  }
182
108
  let entries;
183
109
  try {
@@ -190,107 +116,50 @@ async function collectSourceFiles(targetPath, extraExtensions) {
190
116
  for (const entry of entries) {
191
117
  const absolutePath = join(targetPath, entry.name);
192
118
  if (entry.isDirectory()) {
193
- if (shouldIgnoreDirectory(entry.name)) {
119
+ if (shouldIgnoreDirectory(entry.name, policy)) {
194
120
  continue;
195
121
  }
196
- const normalizedPath = absolutePath.replace(/\\/g, "/");
197
- if (normalizedPath.endsWith("/src/assets") ||
198
- normalizedPath.endsWith("/src/icons/gen") ||
199
- normalizedPath.includes("/public/_video") ||
200
- normalizedPath.includes("/public/_img")) {
201
- continue;
202
- }
203
- files.push(...(await collectSourceFiles(absolutePath, extraExtensions)));
122
+ files.push(...(await collectSourceFiles(absolutePath, policy)));
204
123
  continue;
205
124
  }
206
- if (entry.isFile() && hasRelevantExtension(absolutePath, extraExtensions)) {
125
+ if (entry.isFile() && hasRelevantExtension(absolutePath, policy)) {
207
126
  files.push(absolutePath);
208
127
  }
209
128
  }
210
129
  return files;
211
130
  }
212
- function getRelativeSegments(filePath, workspaceRoot) {
131
+ export function getRelativeSegments(filePath, workspaceRoot) {
213
132
  return relative(workspaceRoot, filePath).replace(/\\/g, "/").split("/").filter(Boolean);
214
133
  }
215
- function detectWorkspaceKind(segments) {
216
- if (segments[0] === "services")
217
- return "service";
218
- return segments[0] === "packages" ? "package" : "app";
134
+ function isWorkspaceDir(segment, policy) {
135
+ return segment !== undefined && segment in policy.workspaceKinds;
136
+ }
137
+ function detectWorkspaceKind(segments, policy) {
138
+ const first = segments[0];
139
+ return (first !== undefined && policy.workspaceKinds[first]) || "app";
219
140
  }
220
- function detectWorkspaceName(segments) {
221
- if (segments[0] === "packages" && segments[1] === "os") {
222
- return segments[2] ?? "unknown";
141
+ function detectWorkspaceName(segments, policy) {
142
+ if (isWorkspaceDir(segments[0], policy)) {
143
+ return segments[1] ?? "unknown";
223
144
  }
224
- return segments[1] ?? "unknown";
145
+ // Files outside any workspace dir (e.g. tools/*) report "root" rather than
146
+ // leaking a filename into the workspace-name slot.
147
+ return "root";
225
148
  }
226
- function getWorkspaceRelativeSegments(segments) {
227
- if (segments[0] === "packages" && segments[1] === "os") {
228
- return segments.slice(3);
149
+ export function getWorkspaceRelativeSegments(segments, policy) {
150
+ if (isWorkspaceDir(segments[0], policy)) {
151
+ return segments.slice(2);
229
152
  }
230
- return segments.slice(2);
153
+ return segments;
231
154
  }
232
- function detectLayer(relativePath) {
233
- if (relativePath.startsWith("bin/"))
234
- return "bin";
235
- if (relativePath === "tools/kernel.config.ts")
236
- return "tool-config";
237
- if (relativePath.startsWith("tools/modules/"))
238
- return "tool-module";
239
- if (relativePath.startsWith("tools/runtime/"))
240
- return "tool-runtime";
241
- if (relativePath.startsWith("src/middleware/"))
242
- return "middleware";
243
- if (relativePath === "src/middleware.ts")
244
- return "middleware";
245
- if (relativePath.startsWith("src/pages/"))
246
- return "page";
247
- if (relativePath.startsWith("src/components/"))
248
- return "component";
249
- if (relativePath.startsWith("src/content/schemas/"))
250
- return "schema";
251
- if (relativePath.startsWith("src/content/"))
252
- return "content";
253
- if (relativePath.startsWith("src/styles/"))
254
- return "style";
255
- if (relativePath.startsWith("src/scripts/"))
256
- return "script";
257
- if (relativePath.startsWith("src/layouts/"))
258
- return "layout";
259
- if (relativePath.startsWith("src/utils/"))
260
- return "utility";
261
- if (relativePath.startsWith("src/configure/"))
262
- return "config";
263
- if (relativePath.startsWith("test/") ||
264
- relativePath.startsWith("src/tests/") ||
265
- relativePath.endsWith(".test.ts") ||
266
- relativePath.endsWith(".spec.ts"))
267
- return "test";
268
- if (relativePath.startsWith("src/"))
269
- return "source";
270
- if (relativePath.endsWith("SKILL.md"))
271
- return "skill";
272
- return "other";
155
+ export function detectLayer(relativePath, policy) {
156
+ return policy.matchLayer(relativePath)?.layer ?? "other";
273
157
  }
274
- function detectRiskClass(pathFromRoot, layer) {
275
- if (HIGH_RISK_EXACT_RELATIVE_PATHS.has(pathFromRoot)) {
158
+ export function detectRiskClass(pathFromRoot, workspaceRelativePath, policy) {
159
+ if (policy.isHighRisk(pathFromRoot)) {
276
160
  return "high";
277
161
  }
278
- if (pathFromRoot.includes("/src/scripts/layout-scroll/")) {
279
- return "high";
280
- }
281
- if (pathFromRoot.includes("/src/layouts/")) {
282
- return "high";
283
- }
284
- if (pathFromRoot.includes("/src/middleware/")) {
285
- return "high";
286
- }
287
- if (layer === "tool-runtime" || layer === "tool-config" || layer === "schema") {
288
- return "medium";
289
- }
290
- if (layer === "page" || layer === "component" || layer === "utility" || layer === "script") {
291
- return "medium";
292
- }
293
- return "low";
162
+ return policy.matchLayer(workspaceRelativePath)?.risk ?? "low";
294
163
  }
295
164
  function detectComplexity(source) {
296
165
  const nonEmptyLineCount = source.split(/\r?\n/).filter((line) => line.trim().length > 0).length;
@@ -299,36 +168,18 @@ function detectComplexity(source) {
299
168
  }
300
169
  return "non-trivial";
301
170
  }
302
- function isSimpleSvgLogoComponent(segments) {
303
- return (segments.length >= 4 &&
304
- segments[0] === "apps" &&
305
- segments[2] === "src" &&
306
- segments[3] === "components" &&
307
- segments[4] === "logo");
308
- }
309
- function detectAuthoringStatus(segments, relativePath, source) {
171
+ function detectAuthoringStatus(segments, relativePath, source, policy) {
310
172
  if (hasGeneratedMarker(source)) {
311
173
  return {
312
174
  authoringStatus: "excluded",
313
175
  exclusionReason: "generated-marker",
314
176
  };
315
177
  }
316
- if (relativePath.startsWith("src/icons/gen/")) {
178
+ const policyExclusion = policy.excludedReason(relativePath);
179
+ if (policyExclusion !== undefined) {
317
180
  return {
318
181
  authoringStatus: "excluded",
319
- exclusionReason: "generated-icon-tree",
320
- };
321
- }
322
- if (relativePath.startsWith("src/assets/")) {
323
- return {
324
- authoringStatus: "excluded",
325
- exclusionReason: "assets-directory",
326
- };
327
- }
328
- if (isSimpleSvgLogoComponent(segments)) {
329
- return {
330
- authoringStatus: "excluded",
331
- exclusionReason: "svg-component",
182
+ exclusionReason: policyExclusion,
332
183
  };
333
184
  }
334
185
  if (relativePath.startsWith("dist/")) {
@@ -343,17 +194,7 @@ function detectAuthoringStatus(segments, relativePath, source) {
343
194
  exclusionReason: "generated-file",
344
195
  };
345
196
  }
346
- if (relativePath.startsWith("src/templates/")) {
347
- return {
348
- authoringStatus: "excluded",
349
- exclusionReason: "template-source",
350
- };
351
- }
352
- if (relativePath.startsWith("test/") ||
353
- relativePath.endsWith(".test.ts") ||
354
- relativePath.endsWith(".test.js") ||
355
- relativePath.endsWith(".spec.ts") ||
356
- relativePath.endsWith(".spec.js")) {
197
+ if (policy.isTestPath(relativePath)) {
357
198
  return {
358
199
  authoringStatus: "excluded",
359
200
  exclusionReason: "test-file",
@@ -365,7 +206,11 @@ function detectAuthoringStatus(segments, relativePath, source) {
365
206
  exclusionReason: "bin-entrypoint",
366
207
  };
367
208
  }
368
- if (relativePath.endsWith(".md") && !relativePath.endsWith("SKILL.md")) {
209
+ // Check the filename, not the workspace-relative path: files directly under
210
+ // a workspace dir (packages/AGENTS.md) get an empty workspace-relative path
211
+ // and would otherwise escape the markdown exclusion.
212
+ const fileName = segments[segments.length - 1] ?? relativePath;
213
+ if (fileName.endsWith(".md") && !fileName.endsWith("SKILL.md")) {
369
214
  return {
370
215
  authoringStatus: "excluded",
371
216
  exclusionReason: "non-skill-markdown",
@@ -507,9 +352,9 @@ export function deriveFileTokens(pathFromRoot, source) {
507
352
  }
508
353
  return tokens;
509
354
  }
510
- function validateHistoryIds(historyIds) {
355
+ function validateHistoryIds(historyIds, policy) {
511
356
  for (const token of historyIds) {
512
- if (!HISTORY_ID_RE.test(token)) {
357
+ if (!policy.idPatternFull.test(token)) {
513
358
  return `<history> contains a non-ID token: "${token}"`;
514
359
  }
515
360
  }
@@ -518,18 +363,16 @@ function validateHistoryIds(historyIds) {
518
363
  }
519
364
  const lastSeenByNamespace = new Map();
520
365
  for (const token of historyIds) {
521
- const parts = token.match(HISTORY_ID_PARTS_RE);
522
- const namespace = parts[1].replace(/-$/, "");
523
- const numeric = Number(parts[3]);
524
- const last = lastSeenByNamespace.get(namespace);
525
- if (last !== undefined && numeric <= last) {
526
- return `<history> IDs are not in per-namespace ascending numeric order (${token} after ${namespace}-${last})`;
366
+ const parts = parseGovernanceIdParts(token);
367
+ const last = lastSeenByNamespace.get(parts.namespace);
368
+ if (last !== undefined && parts.numeric <= last) {
369
+ return `<history> IDs are not in per-namespace ascending numeric order (${token} after ${parts.namespace}-${last})`;
527
370
  }
528
- lastSeenByNamespace.set(namespace, numeric);
371
+ lastSeenByNamespace.set(parts.namespace, parts.numeric);
529
372
  }
530
373
  return null;
531
374
  }
532
- export function evaluateV2Rules(entry, source) {
375
+ export function evaluateV2Rules(entry, source, policy) {
533
376
  const parse = parseCompassBlocks(source);
534
377
  const diagnostics = [];
535
378
  const orderedPositions = [
@@ -573,7 +416,7 @@ export function evaluateV2Rules(entry, source) {
573
416
  fix: "fix: compress the item to a single decision statement",
574
417
  });
575
418
  }
576
- if (GOVERNANCE_ID_PREFIX_RE.test(item)) {
419
+ if (policy.idPatternPrefix.test(item)) {
577
420
  diagnostics.push({
578
421
  ruleId: "COMPASS-KD-05",
579
422
  message: "KEY_DECISIONS item starts with a governance-ID prefix — history belongs in CHANGE_SUMMARY",
@@ -590,7 +433,7 @@ export function evaluateV2Rules(entry, source) {
590
433
  }
591
434
  }
592
435
  if (parse.purposeText.length > 0) {
593
- if (PURPOSE_BOILERPLATE_PATTERNS.some((pattern) => pattern.test(parse.purposeText))) {
436
+ if (policy.purposeBoilerplatePatterns.some((pattern) => pattern.test(parse.purposeText))) {
594
437
  diagnostics.push({
595
438
  ruleId: "COMPASS-PURPOSE-01",
596
439
  message: "<purpose> matches a boilerplate pattern",
@@ -620,7 +463,7 @@ export function evaluateV2Rules(entry, source) {
620
463
  });
621
464
  }
622
465
  for (const item of parse.changeSummaryItems) {
623
- if (!GOVERNANCE_ID_RE.test(item)) {
466
+ if (!policy.idPattern.test(item)) {
624
467
  diagnostics.push({
625
468
  ruleId: "COMPASS-CS-06",
626
469
  message: `CHANGE_SUMMARY item lacks a governance-ID reference: "${item.slice(0, 60)}"`,
@@ -629,7 +472,7 @@ export function evaluateV2Rules(entry, source) {
629
472
  }
630
473
  }
631
474
  if (parse.historyRaw !== null) {
632
- const historyError = validateHistoryIds(parse.historyIds);
475
+ const historyError = validateHistoryIds(parse.historyIds, policy);
633
476
  if (historyError) {
634
477
  diagnostics.push({
635
478
  ruleId: "COMPASS-CS-07",
@@ -679,20 +522,20 @@ const entrySources = new WeakMap();
679
522
  export function getEntrySource(entry) {
680
523
  return entrySources.get(entry);
681
524
  }
682
- export async function createCompassInventoryEntries(workspaceRoot, input, scanRoot) {
683
- const roots = scanRoot ? [scanRoot] : resolveScanRoots(workspaceRoot, input);
684
- const extraExtensions = loadCompassExtensionsFromForgeYaml(workspaceRoot);
685
- const files = (await Promise.all(roots.map((root) => collectSourceFiles(root, extraExtensions)))).flat();
525
+ export async function createCompassInventoryEntries(workspaceRoot, input, scanRoot, policy) {
526
+ const resolvedPolicy = policy ?? resolveCompassPolicy(workspaceRoot);
527
+ const roots = scanRoot ? [scanRoot] : resolveScanRoots(workspaceRoot, input, resolvedPolicy);
528
+ const files = (await Promise.all(roots.map((root) => collectSourceFiles(root, resolvedPolicy)))).flat();
686
529
  const entries = [];
687
530
  for (const filePath of files.sort()) {
688
531
  const source = await readFile(filePath, "utf8");
689
532
  const pathFromRoot = relative(workspaceRoot, filePath).replace(/\\/g, "/");
690
533
  const segments = getRelativeSegments(filePath, workspaceRoot);
691
- const relativePathWithinWorkspace = getWorkspaceRelativeSegments(segments).join("/");
692
- const layer = detectLayer(relativePathWithinWorkspace);
693
- const riskClass = detectRiskClass(pathFromRoot, layer);
534
+ const relativePathWithinWorkspace = getWorkspaceRelativeSegments(segments, resolvedPolicy).join("/");
535
+ const layer = detectLayer(relativePathWithinWorkspace, resolvedPolicy);
536
+ const riskClass = detectRiskClass(pathFromRoot, relativePathWithinWorkspace, resolvedPolicy);
694
537
  const complexity = detectComplexity(source);
695
- const { authoringStatus, exclusionReason } = detectAuthoringStatus(segments, relativePathWithinWorkspace, source);
538
+ const { authoringStatus, exclusionReason } = detectAuthoringStatus(segments, relativePathWithinWorkspace, source, resolvedPolicy);
696
539
  const requiredScaffolding = detectRequiredScaffolding(authoringStatus);
697
540
  const markup = detectMarkup(source);
698
541
  const keyDecisionsRequired = authoringStatus === "authored" &&
@@ -701,8 +544,8 @@ export async function createCompassInventoryEntries(workspaceRoot, input, scanRo
701
544
  const nonEmptyLineCount = source.split(/\r?\n/).filter((line) => line.trim().length > 0).length;
702
545
  const candidate = {
703
546
  path: pathFromRoot,
704
- workspaceKind: detectWorkspaceKind(segments),
705
- workspaceName: detectWorkspaceName(segments),
547
+ workspaceKind: detectWorkspaceKind(segments, resolvedPolicy),
548
+ workspaceName: detectWorkspaceName(segments, resolvedPolicy),
706
549
  layer,
707
550
  extension: segments.length > 0
708
551
  ? segments[segments.length - 1].slice(segments[segments.length - 1].lastIndexOf("."))