@warpgogol/forge 4.2.4 → 5.1.0

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 (346) hide show
  1. package/AGENTS.md +13 -5
  2. package/dist/os/adr/handlers/list-create.d.ts.map +1 -1
  3. package/dist/os/adr/handlers/list-create.js +4 -1
  4. package/dist/os/adr/handlers/list-create.js.map +1 -1
  5. package/dist/os/adr/handlers/validate.d.ts.map +1 -1
  6. package/dist/os/adr/handlers/validate.js +6 -1
  7. package/dist/os/adr/handlers/validate.js.map +1 -1
  8. package/dist/os/adr/types.d.ts.map +1 -1
  9. package/dist/os/adr/types.js +7 -3
  10. package/dist/os/adr/types.js.map +1 -1
  11. package/dist/os/compass/compass.module.d.ts.map +1 -1
  12. package/dist/os/compass/compass.module.js +76 -10
  13. package/dist/os/compass/compass.module.js.map +1 -1
  14. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -1
  15. package/dist/os/compass/handlers/compass-audit-handler.js +7 -3
  16. package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -1
  17. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +1 -9
  18. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -1
  19. package/dist/os/compass/handlers/compass-change-summary-handler.js +44 -186
  20. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -1
  21. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +2 -0
  22. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -1
  23. package/dist/os/compass/handlers/compass-inventory-handler.js +24 -12
  24. package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -1
  25. package/dist/os/compass/handlers/compass-inventory.d.ts +7 -5
  26. package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -1
  27. package/dist/os/compass/handlers/compass-inventory.js +84 -241
  28. package/dist/os/compass/handlers/compass-inventory.js.map +1 -1
  29. package/dist/os/compass/handlers/compass-migrate-handler.d.ts +4 -0
  30. package/dist/os/compass/handlers/compass-migrate-handler.d.ts.map +1 -0
  31. package/dist/os/compass/handlers/compass-migrate-handler.js +100 -0
  32. package/dist/os/compass/handlers/compass-migrate-handler.js.map +1 -0
  33. package/dist/os/compass/handlers/compass-migrate.d.ts +34 -0
  34. package/dist/os/compass/handlers/compass-migrate.d.ts.map +1 -0
  35. package/dist/os/compass/handlers/compass-migrate.js +273 -0
  36. package/dist/os/compass/handlers/compass-migrate.js.map +1 -0
  37. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -1
  38. package/dist/os/compass/handlers/resolve-scan-root.js +15 -8
  39. package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -1
  40. package/dist/os/compass/handlers/summary-record.d.ts +46 -0
  41. package/dist/os/compass/handlers/summary-record.d.ts.map +1 -0
  42. package/dist/os/compass/handlers/summary-record.js +233 -0
  43. package/dist/os/compass/handlers/summary-record.js.map +1 -0
  44. package/dist/os/compass/index.d.ts +4 -1
  45. package/dist/os/compass/index.d.ts.map +1 -1
  46. package/dist/os/compass/index.js +9 -1
  47. package/dist/os/compass/index.js.map +1 -1
  48. package/dist/os/compass/policy.d.ts +65 -0
  49. package/dist/os/compass/policy.d.ts.map +1 -0
  50. package/dist/os/compass/policy.js +241 -0
  51. package/dist/os/compass/policy.js.map +1 -0
  52. package/dist/os/core/core.module.d.ts.map +1 -1
  53. package/dist/os/core/core.module.js +9 -21
  54. package/dist/os/core/core.module.js.map +1 -1
  55. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +1 -1
  56. package/dist/os/core/handlers/forge-autonomy-validate.js +7 -1
  57. package/dist/os/core/handlers/forge-autonomy-validate.js.map +1 -1
  58. package/dist/os/core/handlers/package-health.d.ts.map +1 -1
  59. package/dist/os/core/handlers/package-health.js +6 -1
  60. package/dist/os/core/handlers/package-health.js.map +1 -1
  61. package/dist/os/core/handlers/pinned-check.d.ts.map +1 -1
  62. package/dist/os/core/handlers/pinned-check.js +6 -1
  63. package/dist/os/core/handlers/pinned-check.js.map +1 -1
  64. package/dist/os/core/handlers/pinned-validate.d.ts.map +1 -1
  65. package/dist/os/core/handlers/pinned-validate.js +6 -1
  66. package/dist/os/core/handlers/pinned-validate.js.map +1 -1
  67. package/dist/os/core/handlers/validate.d.ts.map +1 -1
  68. package/dist/os/core/handlers/validate.js +6 -1
  69. package/dist/os/core/handlers/validate.js.map +1 -1
  70. package/dist/os/exploration/exploration.module.d.ts.map +1 -1
  71. package/dist/os/exploration/exploration.module.js +6 -4
  72. package/dist/os/exploration/exploration.module.js.map +1 -1
  73. package/dist/os/exploration/handlers/list.d.ts.map +1 -1
  74. package/dist/os/exploration/handlers/list.js +4 -1
  75. package/dist/os/exploration/handlers/list.js.map +1 -1
  76. package/dist/os/mission/handlers/archive.d.ts.map +1 -1
  77. package/dist/os/mission/handlers/archive.js +7 -3
  78. package/dist/os/mission/handlers/archive.js.map +1 -1
  79. package/dist/os/mission/index.d.ts.map +1 -1
  80. package/dist/os/mission/index.js +13 -0
  81. package/dist/os/mission/index.js.map +1 -1
  82. package/dist/os/notes/index.d.ts.map +1 -1
  83. package/dist/os/notes/index.js +7 -1
  84. package/dist/os/notes/index.js.map +1 -1
  85. package/dist/os/rfc/frontmatter-io.d.ts.map +1 -1
  86. package/dist/os/rfc/frontmatter-io.js +6 -1
  87. package/dist/os/rfc/frontmatter-io.js.map +1 -1
  88. package/dist/os/rfc/handlers/archive.d.ts.map +1 -1
  89. package/dist/os/rfc/handlers/archive.js +6 -1
  90. package/dist/os/rfc/handlers/archive.js.map +1 -1
  91. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -1
  92. package/dist/os/rfc/handlers/implement-stamp.js +7 -3
  93. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -1
  94. package/dist/os/rfc/handlers/index-graph.d.ts.map +1 -1
  95. package/dist/os/rfc/handlers/index-graph.js +6 -1
  96. package/dist/os/rfc/handlers/index-graph.js.map +1 -1
  97. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -1
  98. package/dist/os/rfc/handlers/lifecycle.js +6 -1
  99. package/dist/os/rfc/handlers/lifecycle.js.map +1 -1
  100. package/dist/os/rfc/handlers/list-create.d.ts.map +1 -1
  101. package/dist/os/rfc/handlers/list-create.js +6 -1
  102. package/dist/os/rfc/handlers/list-create.js.map +1 -1
  103. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -1
  104. package/dist/os/rfc/handlers/pipeline-status.js +6 -1
  105. package/dist/os/rfc/handlers/pipeline-status.js.map +1 -1
  106. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -1
  107. package/dist/os/rfc/handlers/supersede-propose.js +6 -1
  108. package/dist/os/rfc/handlers/supersede-propose.js.map +1 -1
  109. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -1
  110. package/dist/os/rfc/handlers/validate-rules.js +7 -3
  111. package/dist/os/rfc/handlers/validate-rules.js.map +1 -1
  112. package/dist/os/rfc/handlers/validate.d.ts.map +1 -1
  113. package/dist/os/rfc/handlers/validate.js +6 -1
  114. package/dist/os/rfc/handlers/validate.js.map +1 -1
  115. package/dist/os/rfc/index.d.ts.map +1 -1
  116. package/dist/os/rfc/index.js +6 -1
  117. package/dist/os/rfc/index.js.map +1 -1
  118. package/dist/os/rfc/rfc.module.d.ts.map +1 -1
  119. package/dist/os/rfc/rfc.module.js +6 -1
  120. package/dist/os/rfc/rfc.module.js.map +1 -1
  121. package/dist/os/rfc/types.d.ts +7 -4
  122. package/dist/os/rfc/types.d.ts.map +1 -1
  123. package/dist/os/rfc/types.js +7 -4
  124. package/dist/os/rfc/types.js.map +1 -1
  125. package/dist/os/session/handlers/save.d.ts.map +1 -1
  126. package/dist/os/session/handlers/save.js +6 -1
  127. package/dist/os/session/handlers/save.js.map +1 -1
  128. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +1 -1
  129. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +6 -1
  130. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -1
  131. package/dist/os/werkstatt/handlers/workspace-deps.js +3 -3
  132. package/dist/os/werkstatt/handlers/workspace-deps.js.map +1 -1
  133. package/dist/os/workflow/index.d.ts.map +1 -1
  134. package/dist/os/workflow/index.js +6 -1
  135. package/dist/os/workflow/index.js.map +1 -1
  136. package/dist/src/config/forge-config.d.ts +50 -4
  137. package/dist/src/config/forge-config.d.ts.map +1 -1
  138. package/dist/src/config/forge-config.js +11 -19
  139. package/dist/src/config/forge-config.js.map +1 -1
  140. package/dist/src/forge-module.d.ts.map +1 -1
  141. package/dist/src/forge-module.js +6 -1
  142. package/dist/src/forge-module.js.map +1 -1
  143. package/dist/src/index.d.ts.map +1 -1
  144. package/dist/src/index.js +10 -2
  145. package/dist/src/index.js.map +1 -1
  146. package/dist/src/migration-adapters/git-utils.d.ts.map +1 -1
  147. package/dist/src/migration-adapters/git-utils.js +6 -2
  148. package/dist/src/migration-adapters/git-utils.js.map +1 -1
  149. package/dist/src/migration-adapters/ignored-files.d.ts.map +1 -1
  150. package/dist/src/migration-adapters/ignored-files.js +6 -1
  151. package/dist/src/migration-adapters/ignored-files.js.map +1 -1
  152. package/dist/src/migration-adapters/index.d.ts.map +1 -1
  153. package/dist/src/migration-adapters/index.js +4 -1
  154. package/dist/src/migration-adapters/index.js.map +1 -1
  155. package/dist/src/migration-adapters/types.d.ts.map +1 -1
  156. package/dist/src/migration-adapters/types.js +6 -2
  157. package/dist/src/migration-adapters/types.js.map +1 -1
  158. package/dist/src/onboarding/agents-generate.js +7 -7
  159. package/dist/src/onboarding/create.d.ts.map +1 -1
  160. package/dist/src/onboarding/create.js +7 -6
  161. package/dist/src/onboarding/create.js.map +1 -1
  162. package/dist/src/onboarding/doctor.d.ts.map +1 -1
  163. package/dist/src/onboarding/doctor.js +7 -13
  164. package/dist/src/onboarding/doctor.js.map +1 -1
  165. package/dist/src/onboarding/init.d.ts.map +1 -1
  166. package/dist/src/onboarding/init.js +7 -12
  167. package/dist/src/onboarding/init.js.map +1 -1
  168. package/dist/src/onboarding/invariant-engine.d.ts.map +1 -1
  169. package/dist/src/onboarding/invariant-engine.js +7 -2
  170. package/dist/src/onboarding/invariant-engine.js.map +1 -1
  171. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -1
  172. package/dist/src/onboarding/nested-agents-generate.js +7 -2
  173. package/dist/src/onboarding/nested-agents-generate.js.map +1 -1
  174. package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -1
  175. package/dist/src/onboarding/nested-agents-templates.js +6 -1
  176. package/dist/src/onboarding/nested-agents-templates.js.map +1 -1
  177. package/dist/src/onboarding/scaffold-project.d.ts.map +1 -1
  178. package/dist/src/onboarding/scaffold-project.js +6 -1
  179. package/dist/src/onboarding/scaffold-project.js.map +1 -1
  180. package/dist/src/onboarding/upgrade.d.ts.map +1 -1
  181. package/dist/src/onboarding/upgrade.js +7 -3
  182. package/dist/src/onboarding/upgrade.js.map +1 -1
  183. package/dist/src/profiles/profile-schema.d.ts +54 -4
  184. package/dist/src/profiles/profile-schema.d.ts.map +1 -1
  185. package/dist/src/profiles/profile-schema.js +34 -14
  186. package/dist/src/profiles/profile-schema.js.map +1 -1
  187. package/dist/src/profiles/stack-profile.d.ts +24 -0
  188. package/dist/src/profiles/stack-profile.d.ts.map +1 -1
  189. package/dist/src/profiles/stack-profile.js +7 -3
  190. package/dist/src/profiles/stack-profile.js.map +1 -1
  191. package/dist/src/registry.d.ts.map +1 -1
  192. package/dist/src/registry.js +7 -9
  193. package/dist/src/registry.js.map +1 -1
  194. package/dist/src/types.d.ts.map +1 -1
  195. package/dist/src/types.js +6 -1
  196. package/dist/src/types.js.map +1 -1
  197. package/dist/src/utils/fs-atomic.d.ts.map +1 -1
  198. package/dist/src/utils/fs-atomic.js +13 -1
  199. package/dist/src/utils/fs-atomic.js.map +1 -1
  200. package/dist/src/utils/fs-idempotent.d.ts.map +1 -1
  201. package/dist/src/utils/fs-idempotent.js +13 -0
  202. package/dist/src/utils/fs-idempotent.js.map +1 -1
  203. package/dist/src/utils/fs-trash-sync.d.ts.map +1 -1
  204. package/dist/src/utils/fs-trash-sync.js +13 -1
  205. package/dist/src/utils/fs-trash-sync.js.map +1 -1
  206. package/dist/src/utils/fs-trash.d.ts.map +1 -1
  207. package/dist/src/utils/fs-trash.js +13 -1
  208. package/dist/src/utils/fs-trash.js.map +1 -1
  209. package/dist/src/utils/fs.d.ts.map +1 -1
  210. package/dist/src/utils/fs.js +14 -3
  211. package/dist/src/utils/fs.js.map +1 -1
  212. package/dist/src/utils/hash.d.ts.map +1 -1
  213. package/dist/src/utils/hash.js +12 -1
  214. package/dist/src/utils/hash.js.map +1 -1
  215. package/dist/src/utils/index.d.ts.map +1 -1
  216. package/dist/src/utils/index.js +13 -2
  217. package/dist/src/utils/index.js.map +1 -1
  218. package/dist/src/utils/string-utils.d.ts.map +1 -1
  219. package/dist/src/utils/string-utils.js +12 -1
  220. package/dist/src/utils/string-utils.js.map +1 -1
  221. package/dist/src/validators/port-validate.js +1 -1
  222. package/dist/src/validators/port-validate.js.map +1 -1
  223. package/dist/src/validators/skill-validate.d.ts.map +1 -1
  224. package/dist/src/validators/skill-validate.js +7 -8
  225. package/dist/src/validators/skill-validate.js.map +1 -1
  226. package/docs/reference/forge-yaml.md +38 -9
  227. package/os/adr/handlers/list-create.ts +4 -1
  228. package/os/adr/handlers/validate.ts +6 -1
  229. package/os/adr/types.ts +7 -3
  230. package/os/compass/compass.module.ts +79 -13
  231. package/os/compass/handlers/compass-audit-handler.ts +22 -3
  232. package/os/compass/handlers/compass-change-summary-handler.ts +55 -227
  233. package/os/compass/handlers/compass-inventory-handler.ts +30 -12
  234. package/os/compass/handlers/compass-inventory.ts +103 -240
  235. package/os/compass/handlers/compass-migrate-handler.ts +122 -0
  236. package/os/compass/handlers/compass-migrate.ts +361 -0
  237. package/os/compass/handlers/resolve-scan-root-package.test.ts +70 -0
  238. package/os/compass/handlers/resolve-scan-root.ts +15 -8
  239. package/os/compass/handlers/summary-record.ts +313 -0
  240. package/os/compass/handlers/tests/compass-migrate.test.ts +291 -0
  241. package/os/compass/handlers/tests/compass-policy.test.ts +249 -0
  242. package/os/compass/handlers/tests/compass-v2-contract.test.ts +9 -9
  243. package/os/compass/handlers/tests/summary-record.test.ts +224 -0
  244. package/os/compass/index.ts +23 -5
  245. package/os/compass/policy.ts +350 -0
  246. package/os/core/core.module.ts +9 -21
  247. package/os/core/handlers/forge-autonomy-validate.ts +7 -1
  248. package/os/core/handlers/package-health.ts +6 -1
  249. package/os/core/handlers/pinned-check.ts +6 -1
  250. package/os/core/handlers/pinned-validate.ts +6 -1
  251. package/os/core/handlers/validate.ts +6 -1
  252. package/os/exploration/exploration.module.ts +72 -71
  253. package/os/exploration/handlers/list.ts +4 -1
  254. package/os/mission/handlers/archive.ts +7 -3
  255. package/os/mission/index.ts +14 -0
  256. package/os/notes/index.ts +7 -1
  257. package/os/rfc/frontmatter-io.ts +6 -1
  258. package/os/rfc/handlers/archive.ts +6 -1
  259. package/os/rfc/handlers/implement-stamp.ts +7 -3
  260. package/os/rfc/handlers/index-graph.ts +6 -1
  261. package/os/rfc/handlers/lifecycle.ts +6 -1
  262. package/os/rfc/handlers/list-create.ts +6 -1
  263. package/os/rfc/handlers/pipeline-status.ts +6 -1
  264. package/os/rfc/handlers/supersede-propose.ts +6 -1
  265. package/os/rfc/handlers/validate-rules.ts +7 -3
  266. package/os/rfc/handlers/validate.ts +6 -1
  267. package/os/rfc/index.ts +6 -1
  268. package/os/rfc/rfc.module.ts +6 -1
  269. package/os/rfc/types.ts +7 -4
  270. package/os/session/handlers/save.ts +6 -1
  271. package/os/werkstatt/handlers/werkstatt-lock-recover.ts +6 -1
  272. package/os/werkstatt/handlers/workspace-deps.ts +3 -3
  273. package/os/workflow/index.ts +6 -1
  274. package/package.json +1 -1
  275. package/skills/fo/fo-add-tests/SKILL.md +14 -0
  276. package/skills/fo/fo-architecture/SKILL.md +14 -0
  277. package/skills/fo/fo-compass-annotate/SKILL.md +14 -0
  278. package/skills/fo/fo-design-summit/SKILL.md +14 -0
  279. package/skills/fo/fo-doc-audit/SKILL.md +14 -0
  280. package/skills/fo/fo-explore/SKILL.md +14 -0
  281. package/skills/fo/fo-extract-dna/SKILL.md +14 -0
  282. package/skills/fo/fo-fix/SKILL.md +14 -0
  283. package/skills/fo/fo-handoff/SKILL.md +14 -0
  284. package/skills/fo/fo-harvest/SKILL.md +14 -0
  285. package/skills/fo/fo-idea/SKILL.md +14 -0
  286. package/skills/fo/fo-idea-audit/SKILL.md +14 -0
  287. package/skills/fo/fo-idea-create-adr/SKILL.md +14 -0
  288. package/skills/fo/fo-idea-create-rfc/SKILL.md +14 -0
  289. package/skills/fo/fo-idea-enhance/SKILL.md +14 -0
  290. package/skills/fo/fo-idea-i-just-want-to-see-the-plan/SKILL.md +14 -0
  291. package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +14 -0
  292. package/skills/fo/fo-idea-implement/SKILL.md +14 -0
  293. package/skills/fo/fo-idea-plan/SKILL.md +14 -0
  294. package/skills/fo/fo-idea-status/SKILL.md +14 -0
  295. package/skills/fo/fo-knowledge-distill/SKILL.md +14 -0
  296. package/skills/fo/fo-memory-sync/SKILL.md +14 -0
  297. package/skills/fo/fo-qa/SKILL.md +14 -0
  298. package/skills/fo/fo-review/SKILL.md +14 -0
  299. package/skills/fo/fo-session-retro/SKILL.md +14 -0
  300. package/skills/fo/fo-session-save/SKILL.md +14 -0
  301. package/skills/fo/fo-spec-ingest/SKILL.md +14 -0
  302. package/skills/fo/fo-step-commit/SKILL.md +14 -0
  303. package/skills/fo/fo-triage/SKILL.md +14 -0
  304. package/skills/meta/forge-bootstrap/SKILL.md +14 -0
  305. package/skills/meta/port-to-forge/SKILL.md +14 -0
  306. package/skills/meta/skill-create/SKILL.md +14 -0
  307. package/skills/shared/grilling/SKILL.md +14 -0
  308. package/skills/shared/my-preferences/SKILL.md +14 -0
  309. package/skills/shared/windows-ai-tooling/SKILL.md +14 -0
  310. package/skills/shared/writing-great-skills/SKILL.md +14 -0
  311. package/src/config/forge-config.ts +16 -23
  312. package/src/forge-module.ts +6 -1
  313. package/src/index.ts +10 -2
  314. package/src/migration-adapters/git-utils.ts +6 -2
  315. package/src/migration-adapters/ignored-files.ts +6 -1
  316. package/src/migration-adapters/index.ts +4 -1
  317. package/src/migration-adapters/types.ts +6 -2
  318. package/src/onboarding/agents-generate.ts +7 -7
  319. package/src/onboarding/create.ts +7 -6
  320. package/src/onboarding/doctor.ts +7 -13
  321. package/src/onboarding/init.ts +7 -12
  322. package/src/onboarding/invariant-engine.ts +7 -2
  323. package/src/onboarding/nested-agents-generate.ts +7 -2
  324. package/src/onboarding/nested-agents-templates.ts +6 -1
  325. package/src/onboarding/scaffold-project.ts +6 -1
  326. package/src/onboarding/upgrade.ts +7 -3
  327. package/src/profiles/profile-schema.ts +42 -18
  328. package/src/profiles/stack-profile.ts +7 -3
  329. package/src/registry.ts +7 -9
  330. package/src/tests/agents-generate.test.ts +2 -2
  331. package/src/tests/forge-autonomy-validate.test.ts +1 -1
  332. package/src/types.ts +6 -1
  333. package/src/utils/fs-atomic.ts +13 -1
  334. package/src/utils/fs-idempotent.ts +13 -0
  335. package/src/utils/fs-trash-sync.ts +13 -1
  336. package/src/utils/fs-trash.ts +13 -1
  337. package/src/utils/fs.ts +14 -3
  338. package/src/utils/hash.ts +12 -1
  339. package/src/utils/index.ts +13 -2
  340. package/src/utils/string-utils.ts +12 -1
  341. package/src/validators/port-validate.ts +1 -1
  342. package/src/validators/skill-validate.ts +7 -8
  343. package/skills/shared/extension-e2e-mitm/SKILL.md +0 -53
  344. package/skills/shared/extension-e2e-mitm/fixture-proxy.ts +0 -113
  345. package/src/types/werkstatt-engine-shims.d.ts +0 -1416
  346. package/src/types/werkstatt-shared-shims.d.ts +0 -5686
@@ -1,171 +1,43 @@
1
1
  /*
2
2
  <MODULE_CONTRACT>
3
- <purpose>CHANGE_SUMMARY classification, validation, and deterministic tidy logic
4
- per RFC-0349. Moved from @warpgogol/site-kernel-checks to @warpgogol/forge for full
5
- autonomous mode (RFC-0556). Provides compass.changesummary.validate and compass.summary.trim.</purpose>
3
+ <purpose>CHANGE_SUMMARY v2 repair logic per RFC-1095. Moved from
4
+ @warpgogol/site-kernel-checks to @warpgogol/forge for full autonomous mode
5
+ (RFC-0556). Provides compass.summary.trim --mode repair.</purpose>
6
6
  <non-goals>
7
7
  <item>Do not audit truthfulness of CHANGE_SUMMARY items against code — that is RFC-0352.</item>
8
- <item>Do not delete protected (RFC/code-referencing) items under any circumstance.</item>
9
- <item>Do not use an LLM — classification and tidy are purely deterministic.</item>
8
+ <item>Do not use an LLM — repair is purely deterministic.</item>
9
+ <item>Do not classify items — under the v2 contract every item carries a governance ID; ID-less items are removed, not classified.</item>
10
10
  </non-goals>
11
11
  </MODULE_CONTRACT>
12
12
  <CHANGE_SUMMARY>
13
- <item>RFC-0349: initial implementation of classifyChangeSummaryItem, compass.changesummary.validate, and compass.changesummary.tidy.</item>
14
13
  <item>RFC-0538: renamed compass.changesummary.tidy to compass.summary.trim, raised cap from 3 unprotected to 30 total items, aligned validate cap to 30 total.</item>
15
14
  <item>RFC-0556: moved from @warpgogol/site-kernel-checks to @warpgogol/forge for autonomous mode.</item>
16
15
  <item>RFC-1094: --mode flag; mode-aware COMPASS-CS-05/06/07 diagnostics via shared evaluateV2Rules; PROTECTED_RE now aliases GOVERNANCE_ID_RE.</item>
16
+ <item>RFC-1095: rewrote trim as v2 repair (collapse >5 described items into history, remove ID-less items, normalize history); removed compass.changesummary.validate and the classify machinery (classifyChangeSummaryItem, PROTECTED_RE, BOILERPLATE_RE).</item>
17
+ <item>RFC-1095: compass.summary.record, trim repair rewrite, commit integration</item>
18
+ <history>RFC-0349</history>
17
19
  </CHANGE_SUMMARY>
18
20
  */
19
21
  import { resolve } from "node:path";
20
22
  import { readFile } from "node:fs/promises";
21
- import { createCompassInventoryEntries, evaluateV2Rules, getEntrySource, resolveCompassMode, GOVERNANCE_ID_RE, } from "./compass-inventory.js";
23
+ import { createCompassInventoryEntries } from "./compass-inventory.js";
24
+ import { resolveCompassPolicy } from "../policy.js";
22
25
  import { resolveCompassScanRoot } from "./resolve-scan-root.js";
23
26
  import { writeFileIfChanged } from "../../../src/utils/fs-idempotent.js";
24
- const PROTECTED_RE = GOVERNANCE_ID_RE;
25
- const BOILERPLATE_RE = /^(Wave\s+\d|Backfill\b|Annotate Compass|Annotation revision|Initial creation|Compass scaffolding|Created as part of|Enhance .* with Compass)/i;
26
- export function classifyChangeSummaryItem(text) {
27
- if (PROTECTED_RE.test(text))
28
- return "protected";
29
- if (BOILERPLATE_RE.test(text.trim()))
30
- return "boilerplate";
31
- return "unprotected";
32
- }
33
- function extractChangeSummaryBlock(source) {
34
- const match = source.match(/<CHANGE_SUMMARY>[\s\S]*?<\/CHANGE_SUMMARY>/);
35
- return match?.[0] ?? null;
36
- }
37
- function extractItems(block) {
38
- const items = [];
39
- const re = /<item>([\s\S]*?)<\/item>/g;
40
- let m;
41
- while ((m = re.exec(block)) !== null) {
42
- items.push(m[1].trim());
43
- }
44
- return items;
45
- }
46
- function getLineCommentPrefix(filePath) {
47
- if (filePath.endsWith(".gd"))
48
- return "# ";
49
- if (filePath.endsWith(".tscn") || filePath.endsWith(".tres"))
50
- return "; ";
51
- return null;
52
- }
53
- function rebuildChangeSummaryBlock(items, filePath) {
54
- const prefix = getLineCommentPrefix(filePath);
55
- const lines = ["<CHANGE_SUMMARY>"];
56
- for (const item of items) {
57
- lines.push(` <item>${item}</item>`);
58
- }
59
- lines.push("</CHANGE_SUMMARY>");
60
- if (prefix) {
61
- return lines.map((line, i) => (i === 0 ? line : prefix + line)).join("\n");
62
- }
63
- return lines.join("\n");
64
- }
65
- function replaceChangeSummaryBlock(source, newBlock) {
66
- return source.replace(/<CHANGE_SUMMARY>[\s\S]*?<\/CHANGE_SUMMARY>/, newBlock);
67
- }
68
- const MAX_TOTAL_ITEMS = 30;
69
- export async function runCompassChangeSummaryValidate(input, context) {
70
- const scanRoot = resolveCompassScanRoot(input, context);
71
- let mode;
72
- try {
73
- mode = resolveCompassMode(input);
74
- }
75
- catch {
76
- context.logger.error(`[compass.changesummary.validate] invalid --mode value: ${String(input.flags["mode"])} (expected warning|error)`);
27
+ import { buildChangeSummaryBlock, CHANGE_SUMMARY_WINDOW, mergeHistoryIds, parseChangeSummary, } from "./summary-record.js";
28
+ const CHANGE_SUMMARY_BLOCK_RE = /<CHANGE_SUMMARY>[\s\S]*?<\/CHANGE_SUMMARY>/;
29
+ export async function runCompassSummaryTrim(input, context) {
30
+ const mode = input.flags["mode"];
31
+ if (mode !== undefined && mode !== "repair") {
32
+ context.logger.error(`[compass.summary.trim] invalid --mode value: ${String(mode)} (expected "repair")`);
77
33
  return { exitCode: 1, summary: "invalid --mode value" };
78
34
  }
79
- const entries = await createCompassInventoryEntries(context.workspaceRoot, input, scanRoot);
80
- const diagnostics = [];
81
- let checkedFiles = 0;
82
- // RFC-1094: v2 CS rules (CS-05/06/07) are mode-aware; v1 rules (CS-01/02)
83
- // stay at error severity in both modes until the sibling lifecycle RFC lands.
84
- const v2Severity = mode === "error" ? "error" : "warning";
85
- for (const entry of entries) {
86
- if (entry.authoringStatus !== "authored" || entry.requiredScaffolding === "none") {
87
- continue;
88
- }
89
- checkedFiles++;
90
- const absPath = resolve(context.workspaceRoot, entry.path);
91
- const source = getEntrySource(entry) ?? (await readFile(absPath, "utf8"));
92
- for (const v2 of evaluateV2Rules(entry, source)) {
93
- if (!v2.ruleId.startsWith("COMPASS-CS-")) {
94
- continue;
95
- }
96
- diagnostics.push({
97
- ruleId: v2.ruleId,
98
- severity: v2Severity,
99
- file: entry.path,
100
- message: v2.message,
101
- fixHint: v2.fix,
102
- });
103
- }
104
- if (!entry.hasChangeSummary) {
105
- continue;
106
- }
107
- const block = extractChangeSummaryBlock(source);
108
- if (!block)
109
- continue;
110
- const items = extractItems(block);
111
- let hasBoilerplate = false;
112
- let totalItems = 0;
113
- for (const item of items) {
114
- const cls = classifyChangeSummaryItem(item);
115
- if (cls === "boilerplate") {
116
- hasBoilerplate = true;
117
- }
118
- totalItems++;
119
- }
120
- if (hasBoilerplate) {
121
- diagnostics.push({
122
- ruleId: "COMPASS-CS-01",
123
- severity: "error",
124
- file: entry.path,
125
- message: "CHANGE_SUMMARY contains a boilerplate item",
126
- fixHint: "fix: run compass.summary.trim",
127
- });
128
- }
129
- if (totalItems > MAX_TOTAL_ITEMS) {
130
- diagnostics.push({
131
- ruleId: "COMPASS-CS-02",
132
- severity: "error",
133
- file: entry.path,
134
- message: `CHANGE_SUMMARY has ${totalItems} total items (cap is ${MAX_TOTAL_ITEMS})`,
135
- fixHint: `fix: run compass.summary.trim (cap is ${MAX_TOTAL_ITEMS} total items)`,
136
- });
137
- }
138
- }
139
- const failed = diagnostics.some((d) => d.severity === "error");
140
- for (const d of diagnostics) {
141
- const log = `[compass.changesummary.validate] ${d.ruleId}: ${d.file}: ${d.message}`;
142
- if (d.severity === "error") {
143
- context.logger.error(log);
144
- }
145
- else {
146
- context.logger.warn(log);
147
- }
148
- }
149
- return {
150
- data: {
151
- command: "compass.changesummary.validate",
152
- status: failed ? "fail" : "pass",
153
- diagnostics,
154
- checkedFiles,
155
- },
156
- exitCode: failed ? 1 : 0,
157
- summary: failed
158
- ? undefined
159
- : `[compass.changesummary.validate] OK (${checkedFiles} authored files checked)`,
160
- };
161
- }
162
- const TRIM_FALLBACK_ITEM = "Tidied by compass.summary.trim; see git history for prior entries.";
163
- export async function runCompassSummaryTrim(input, context) {
164
35
  if (context.dryRun) {
165
36
  context.logger.info(`[compass.summary.trim] dry-run active — will not apply changes`);
166
37
  }
167
38
  const scanRoot = resolveCompassScanRoot(input, context);
168
- const entries = await createCompassInventoryEntries(context.workspaceRoot, input, scanRoot);
39
+ const policy = resolveCompassPolicy(context.workspaceRoot, context.forgeRoot);
40
+ const entries = await createCompassInventoryEntries(context.workspaceRoot, input, scanRoot, policy);
169
41
  const results = [];
170
42
  for (const entry of entries) {
171
43
  if (entry.authoringStatus !== "authored" || entry.requiredScaffolding === "none") {
@@ -176,61 +48,47 @@ export async function runCompassSummaryTrim(input, context) {
176
48
  }
177
49
  const absPath = resolve(context.workspaceRoot, entry.path);
178
50
  const source = await readFile(absPath, "utf8");
179
- const block = extractChangeSummaryBlock(source);
180
- if (!block)
51
+ const blockMatch = source.match(CHANGE_SUMMARY_BLOCK_RE);
52
+ if (!blockMatch)
181
53
  continue;
182
- const items = extractItems(block);
183
- const keptItems = [];
54
+ const { items, historyIds } = parseChangeSummary(blockMatch[0]);
184
55
  const removedItems = [];
185
- const unprotectedItems = [];
186
- for (let i = 0; i < items.length; i++) {
187
- const text = items[i];
188
- const cls = classifyChangeSummaryItem(text);
189
- if (cls === "protected") {
190
- keptItems.push(text);
191
- }
192
- else if (cls === "boilerplate") {
193
- removedItems.push(text);
56
+ // v2 repair: drop ID-less items, collapse described items past the window.
57
+ const idItems = [];
58
+ for (const item of items) {
59
+ if (policy.idPatternPrefix.test(item)) {
60
+ idItems.push(item);
194
61
  }
195
62
  else {
196
- unprotectedItems.push({ index: i, text });
63
+ removedItems.push(item);
197
64
  }
198
65
  }
199
- const protectedCount = keptItems.length;
200
- const maxUnprotectedToKeep = Math.max(0, MAX_TOTAL_ITEMS - protectedCount);
201
- const unprotectedToKeep = unprotectedItems.slice(-maxUnprotectedToKeep);
202
- const unprotectedToRemove = unprotectedItems.slice(0, -maxUnprotectedToKeep);
203
- for (const item of unprotectedToRemove) {
204
- removedItems.push(item.text);
205
- }
206
- const keepSet = new Set();
207
- for (const item of unprotectedToKeep) {
208
- keepSet.add(item.text);
209
- }
210
- const finalItems = [];
211
- const protectedTexts = new Set(keptItems);
212
- const unprotectedTexts = new Set(unprotectedToKeep.map((u) => u.text));
213
- for (const originalItem of items) {
214
- if (protectedTexts.has(originalItem) || unprotectedTexts.has(originalItem)) {
215
- finalItems.push(originalItem);
216
- }
217
- }
218
- if (finalItems.length === 0) {
219
- finalItems.push(TRIM_FALLBACK_ITEM);
66
+ const collapsedIds = [];
67
+ while (idItems.length > CHANGE_SUMMARY_WINDOW) {
68
+ const oldest = idItems.shift();
69
+ const idMatch = oldest.match(policy.idPatternPrefix);
70
+ if (idMatch)
71
+ collapsedIds.push(idMatch[0]);
72
+ removedItems.push(oldest);
73
+ }
74
+ const nextHistory = mergeHistoryIds(historyIds, collapsedIds, policy);
75
+ const historyChanged = nextHistory.length !== historyIds.length || nextHistory.some((id, i) => id !== historyIds[i]);
76
+ if (removedItems.length === 0 && !historyChanged) {
77
+ continue;
220
78
  }
221
- const newBlock = rebuildChangeSummaryBlock(finalItems, entry.path);
222
- const transformed = replaceChangeSummaryBlock(source, newBlock);
79
+ const newBlock = buildChangeSummaryBlock(idItems, nextHistory, entry.path);
80
+ const transformed = source.replace(CHANGE_SUMMARY_BLOCK_RE, newBlock);
223
81
  if (transformed === source) {
224
82
  continue;
225
83
  }
226
84
  if (!context.dryRun) {
227
85
  await writeFileIfChanged(absPath, transformed);
228
86
  }
229
- context.logger.info(`[compass.summary.trim] trimmed: ${entry.path} (removed ${removedItems.length}, kept ${finalItems.length})`);
87
+ context.logger.info(`[compass.summary.trim] repaired: ${entry.path} (removed ${removedItems.length}, kept ${idItems.length})`);
230
88
  results.push({
231
89
  path: entry.path,
232
90
  removed: removedItems,
233
- kept: finalItems.length,
91
+ kept: idItems.length,
234
92
  });
235
93
  }
236
94
  return {
@@ -243,7 +101,7 @@ export async function runCompassSummaryTrim(input, context) {
243
101
  summary: `[compass.summary.trim] files=${results.length}, removed=${results.reduce((sum, r) => sum + r.removed.length, 0)}`,
244
102
  nextSteps: [
245
103
  {
246
- action: `Commit the trimmed headers: pnpm exec forge run ecosystem.commit`,
104
+ action: `Commit the repaired headers: pnpm exec forge run ecosystem.commit`,
247
105
  kind: "optional",
248
106
  },
249
107
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"compass-change-summary-handler.js","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-change-summary-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compass-change-summary-handler.js","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-change-summary-handler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type CompassInventoryEntry } from "./compass-inventory.ts";
2
+ import { type CompassPolicySource } from "../policy.ts";
2
3
  import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../../src/types.ts";
3
4
  interface CompassInventorySummary {
4
5
  scannedFiles: number;
@@ -12,6 +13,7 @@ export declare function runCompassInventory(input: ForgeCommandInput, context: F
12
13
  entries: CompassInventoryEntry[];
13
14
  outputPath: string;
14
15
  summary: CompassInventorySummary;
16
+ policySource: CompassPolicySource;
15
17
  }>>;
16
18
  export declare function runCompassValidation(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<{
17
19
  checkedFiles: number;
@@ -1 +1 @@
1
- {"version":3,"file":"compass-inventory-handler.d.ts","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-inventory-handler.ts"],"names":[],"mappings":"AAyBA,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAYhC,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAwE/B,UAAU,uBAAuB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AA+HD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CACR,kBAAkB,CAAC;IACjB,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,uBAAuB,CAAC;CAClC,CAAC,CACH,CA8CA;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CACR,kBAAkB,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,uBAAuB,CAAC;IACjC,WAAW,EAAE,KAAK,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;CACJ,CAAC,CACH,CA4OA"}
1
+ {"version":3,"file":"compass-inventory-handler.d.ts","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-inventory-handler.ts"],"names":[],"mappings":"AA6BA,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAW9E,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAwE/B,UAAU,uBAAuB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AA+HD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CACR,kBAAkB,CAAC;IACjB,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,uBAAuB,CAAC;IACjC,YAAY,EAAE,mBAAmB,CAAC;CACnC,CAAC,CACH,CA+CA;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CACR,kBAAkB,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,uBAAuB,CAAC;IACjC,WAAW,EAAE,KAAK,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;CACJ,CAAC,CACH,CAuPA"}
@@ -12,18 +12,23 @@ contract block specs alongside built-in MODULE_CONTRACT and CHANGE_SUMMARY check
12
12
  </non-goals>
13
13
  </MODULE_CONTRACT>
14
14
  <CHANGE_SUMMARY>
15
- <item>RFC-0348: v2 two-block contract — XML output updated, compass.validate emits COMPASS-* diagnostics, summary uses standard-required-files.</item>
16
- <item>RFC-0350: added COMPASS-TODO-01 diagnostic for unfilled Compass TODO sentinels.</item>
17
- <item>RFC-0556: moved from @warpgogol/site-kernel-checks to @warpgogol/forge for autonomous mode.</item>
18
- <item>Game extensions: added COMPASS-SYNTAX-01 diagnostic validating comment syntax per file type (.gd needs # prefix, .tscn/.tres need ; prefix, .ts/.cs need block comment).</item>
19
15
  <item>RFC-0943: added COMPASS-PLUGIN-01/02/03 diagnostics for pack-declared contract block specs from forge.plugin.yaml extensionPoints.</item>
20
16
  <item>RFC-1094: --mode warning|error on compass.validate; mode-aware v2 diagnostics (KD/ORDER/PURPOSE) with severity field; inventory data.entries now carries full entries and XML gains v2 fields.</item>
17
+ <item>RFC-1095: summary-record unit tests, commit integration tests, CS rules into compass.validate</item>
18
+ <item>RFC-1097: step 6 — compass.migrate codemod run
19
+
20
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
21
+ <item>RFC-1097: sweep — packages/forge + services clean
22
+
23
+ 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>
24
+ <history>RFC-0348, RFC-0350, RFC-0556</history>
21
25
  </CHANGE_SUMMARY>
22
26
  */
23
27
  import { resolve } from "node:path";
24
28
  import { readFile } from "node:fs/promises";
25
29
  import { createCompassInventoryEntries, evaluateV2Rules, getEntrySource, resolveCompassMode, } from "./compass-inventory.js";
26
30
  import { resolveCompassScanRoot } from "./resolve-scan-root.js";
31
+ import { resolveCompassPolicy } from "../policy.js";
27
32
  import { writeFileIfChanged } from "../../../src/utils/fs-idempotent.js";
28
33
  import { loadForgeConfig } from "../../../src/config/forge-config.js";
29
34
  import { loadContractRegistry, findApplicablePackSpecs, } from "../../../src/compass/contract-registry.js";
@@ -194,13 +199,14 @@ function renderInventoryXml(entries, summary) {
194
199
  }
195
200
  export async function runCompassInventory(input, context) {
196
201
  const scanRoot = resolveCompassScanRoot(input, context) ?? context.workspaceRoot;
197
- const entries = await createCompassInventoryEntries(scanRoot, input);
202
+ const policy = resolveCompassPolicy(scanRoot, context.forgeRoot);
203
+ const entries = await createCompassInventoryEntries(scanRoot, input, undefined, policy);
198
204
  const summary = summarizeInventory(entries);
199
205
  context.logger.info(`[compass.inventory] scanned=${summary.scannedFiles} authored=${summary.authoredFiles} excluded=${summary.excludedFiles} standard=${summary.standardRequiredFiles}`);
200
206
  if (context.dryRun) {
201
207
  context.logger.warn(`[compass.inventory] dry-run active — skipped writing ${INVENTORY_OUTPUT_PATH}`);
202
208
  return {
203
- data: { entries, outputPath: INVENTORY_OUTPUT_PATH, summary },
209
+ data: { entries, outputPath: INVENTORY_OUTPUT_PATH, summary, policySource: policy.source },
204
210
  summary: `[compass.inventory] previewed ${INVENTORY_OUTPUT_PATH}`,
205
211
  nextSteps: [
206
212
  {
@@ -214,7 +220,7 @@ export async function runCompassInventory(input, context) {
214
220
  const outputPath = resolve(context.workspaceRoot, INVENTORY_OUTPUT_PATH);
215
221
  await writeFileIfChanged(outputPath, xml);
216
222
  return {
217
- data: { entries, outputPath, summary },
223
+ data: { entries, outputPath, summary, policySource: policy.source },
218
224
  summary: `[compass.inventory] ${context.dryRun ? "previewed" : "wrote"} ${INVENTORY_OUTPUT_PATH}`,
219
225
  nextSteps: context.dryRun
220
226
  ? [
@@ -241,7 +247,8 @@ export async function runCompassValidation(input, context) {
241
247
  context.logger.error(`[compass.validate] invalid --mode value: ${String(input.flags["mode"])} (expected warning|error)`);
242
248
  return { exitCode: 1, summary: "invalid --mode value" };
243
249
  }
244
- const entries = await createCompassInventoryEntries(context.workspaceRoot, input, scanRoot);
250
+ const policy = resolveCompassPolicy(context.workspaceRoot, context.forgeRoot);
251
+ const entries = await createCompassInventoryEntries(context.workspaceRoot, input, scanRoot, policy);
245
252
  const summary = summarizeInventory(entries);
246
253
  const failures = entries.filter((entry) => entry.authoringStatus === "authored" &&
247
254
  entry.requiredScaffolding !== "none" &&
@@ -249,15 +256,20 @@ export async function runCompassValidation(input, context) {
249
256
  const diagnostics = [];
250
257
  // RFC-1094: v2 rules are mode-aware — warnings in `warning` mode (default
251
258
  // during the migration window), errors in `error` mode. Owned subset:
252
- // COMPASS-KD-*, COMPASS-ORDER-01, COMPASS-PURPOSE-*. CS-* rules are emitted
253
- // by compass.changesummary.validate.
254
- const V2_VALIDATE_RULE_PREFIXES = ["COMPASS-KD-", "COMPASS-ORDER-", "COMPASS-PURPOSE-"];
259
+ // COMPASS-KD-*, COMPASS-ORDER-01, COMPASS-PURPOSE-*, COMPASS-CS-*.
260
+ // RFC-1095: CS-* rules moved here — compass.changesummary.validate is removed.
261
+ const V2_VALIDATE_RULE_PREFIXES = [
262
+ "COMPASS-KD-",
263
+ "COMPASS-ORDER-",
264
+ "COMPASS-PURPOSE-",
265
+ "COMPASS-CS-",
266
+ ];
255
267
  const v2Severity = mode === "error" ? "error" : "warning";
256
268
  const authoredEntries = entries.filter((entry) => entry.authoringStatus === "authored" && entry.requiredScaffolding !== "none");
257
269
  for (const entry of authoredEntries) {
258
270
  const absPath = resolve(context.workspaceRoot, entry.path);
259
271
  const source = getEntrySource(entry) ?? (await readFile(absPath, "utf8"));
260
- for (const v2 of evaluateV2Rules(entry, source)) {
272
+ for (const v2 of evaluateV2Rules(entry, source, policy)) {
261
273
  if (!V2_VALIDATE_RULE_PREFIXES.some((prefix) => v2.ruleId.startsWith(prefix))) {
262
274
  continue;
263
275
  }
@@ -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"}