@event4u/agent-config 16.2.0 → 16.4.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 (651) hide show
  1. package/.augment-plugin/marketplace.json +3 -3
  2. package/.augment-plugin/plugin.json +1 -1
  3. package/.claude-plugin/marketplace.json +1 -1
  4. package/CHANGELOG.md +337 -234
  5. package/README.md +15 -13
  6. package/agents/templates/.ai-council.yml.example +26 -8
  7. package/dist/agent-src/commands/analyze/inbox.md +11 -8
  8. package/dist/agent-src/commands/analyze/roadmap-repos.md +1 -1
  9. package/dist/agent-src/commands/bug/fix.md +17 -2
  10. package/dist/agent-src/commands/bug/investigate.md +1 -1
  11. package/dist/agent-src/commands/commit/in-chunks.md +40 -31
  12. package/dist/agent-src/commands/commit.md +72 -33
  13. package/dist/agent-src/commands/condense.md +2 -8
  14. package/dist/agent-src/commands/council/debate.md +11 -7
  15. package/dist/agent-src/commands/council/default.md +10 -9
  16. package/dist/agent-src/commands/council.md +1 -1
  17. package/dist/agent-src/commands/estimate-ticket.md +1 -1
  18. package/dist/agent-src/commands/feature/explore.md +3 -3
  19. package/dist/agent-src/commands/feature/plan.md +2 -2
  20. package/dist/agent-src/commands/feature/roadmap.md +1 -1
  21. package/dist/agent-src/commands/fix/ci.md +18 -4
  22. package/dist/agent-src/commands/fix/commit-messages.md +48 -23
  23. package/dist/agent-src/commands/fix/pr-comments.md +3 -6
  24. package/dist/agent-src/commands/implement-ticket.md +4 -4
  25. package/dist/agent-src/commands/jira-ticket.md +1 -1
  26. package/dist/agent-src/commands/memory/add.md +4 -16
  27. package/dist/agent-src/commands/memory/load.md +5 -6
  28. package/dist/agent-src/commands/memory/promote.md +3 -16
  29. package/dist/agent-src/commands/mission/upgrade.md +3 -2
  30. package/dist/agent-src/commands/optimize/agents-dir.md +2 -2
  31. package/dist/agent-src/commands/optimize/deep.md +4 -2
  32. package/dist/agent-src/commands/optimize/rtk.md +4 -26
  33. package/dist/agent-src/commands/pr/create/description-only.md +18 -15
  34. package/dist/agent-src/commands/pr/create.md +42 -34
  35. package/dist/agent-src/commands/pr/merge.md +136 -9
  36. package/dist/agent-src/commands/prepare-for-review.md +13 -11
  37. package/dist/agent-src/commands/project/analyze.md +7 -35
  38. package/dist/agent-src/commands/refine-ticket.md +1 -1
  39. package/dist/agent-src/commands/review/changes.md +14 -19
  40. package/dist/agent-src/commands/roadmap/create.md +1 -1
  41. package/dist/agent-src/commands/roadmap/materialize.md +1 -1
  42. package/dist/agent-src/commands/roadmap/next.md +10 -1
  43. package/dist/agent-src/commands/roadmap/process-full.md +56 -42
  44. package/dist/agent-src/commands/roadmap/resolve-blockers.md +411 -0
  45. package/dist/agent-src/commands/roadmap/triage-parked.md +325 -0
  46. package/dist/agent-src/commands/roadmap.md +18 -4
  47. package/dist/agent-src/commands/tests/create.md +17 -3
  48. package/dist/agent-src/commands/tests/execute.md +22 -5
  49. package/dist/agent-src/commands/worktree/create.md +7 -3
  50. package/dist/agent-src/commands/worktree/verify.md +2 -1
  51. package/dist/agent-src/contexts/authority/decision-revisit-gate-enforcement.md +43 -0
  52. package/dist/agent-src/contexts/communication/rules-auto/design-fidelity-enforcement.md +24 -0
  53. package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +5 -3
  54. package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +7 -9
  55. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -6
  56. package/dist/agent-src/contexts/contracts/frugality-charter.md +8 -5
  57. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +7 -7
  58. package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +0 -1
  59. package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
  60. package/dist/agent-src/contexts/execution/non-interactive-contract.md +5 -8
  61. package/dist/agent-src/contexts/execution/rdp-gate.md +4 -4
  62. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +9 -8
  63. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +99 -54
  64. package/dist/agent-src/contexts/execution/session-canary-enforcement-history.md +67 -0
  65. package/dist/agent-src/contexts/execution/subagent-routing.md +8 -8
  66. package/dist/agent-src/contexts/execution/subagent-steering.md +6 -4
  67. package/dist/agent-src/contexts/execution/terminal-states.md +2 -2
  68. package/dist/agent-src/contexts/execution/toolchain-resolver.md +95 -7
  69. package/dist/agent-src/contexts/subagent-configuration.md +1 -1
  70. package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
  71. package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
  72. package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
  73. package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
  74. package/dist/agent-src/guidelines/agent-infra/layered-settings.md +13 -1
  75. package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  76. package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
  77. package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +36 -0
  78. package/dist/agent-src/guidelines/php/git.md +15 -2
  79. package/dist/agent-src/rules/active-remediation.md +1 -2
  80. package/dist/agent-src/rules/analysis-skill-routing.md +0 -1
  81. package/dist/agent-src/rules/architecture.md +0 -1
  82. package/dist/agent-src/rules/artifact-drafting-protocol.md +0 -1
  83. package/dist/agent-src/rules/artifact-engagement-recording.md +0 -1
  84. package/dist/agent-src/rules/augment-edit-discipline.md +0 -1
  85. package/dist/agent-src/rules/autonomous-execution.md +1 -1
  86. package/dist/agent-src/rules/brand-consistency.md +0 -1
  87. package/dist/agent-src/rules/brand-source-of-truth.md +0 -1
  88. package/dist/agent-src/rules/broken-access-control.md +1 -1
  89. package/dist/agent-src/rules/cli-output-handling.md +0 -1
  90. package/dist/agent-src/rules/code-comment-discipline.md +0 -1
  91. package/dist/agent-src/rules/code-provenance.md +0 -1
  92. package/dist/agent-src/rules/command-suggestion-policy.md +1 -1
  93. package/dist/agent-src/rules/commit-conventions.md +1 -2
  94. package/dist/agent-src/rules/communication-through-line.md +1 -2
  95. package/dist/agent-src/rules/content-quoting-floor.md +1 -2
  96. package/dist/agent-src/rules/context-hygiene.md +6 -6
  97. package/dist/agent-src/rules/copilot-routing.md +1 -2
  98. package/dist/agent-src/rules/council-availability.md +4 -4
  99. package/dist/agent-src/rules/cross-source-consistency.md +4 -6
  100. package/dist/agent-src/rules/decision-revisit-gate.md +17 -35
  101. package/dist/agent-src/rules/delegation-policy.md +2 -3
  102. package/dist/agent-src/rules/design-fidelity.md +12 -16
  103. package/dist/agent-src/rules/design-review-after-ui-write.md +3 -3
  104. package/dist/agent-src/rules/devcontainer-routing.md +1 -2
  105. package/dist/agent-src/rules/doc-screenshot-hygiene.md +1 -1
  106. package/dist/agent-src/rules/docker-commands.md +0 -1
  107. package/dist/agent-src/rules/domain-adoption-policy.md +0 -1
  108. package/dist/agent-src/rules/domain-safety-disclaimer.md +1 -1
  109. package/dist/agent-src/rules/domain-safety-pii.md +1 -1
  110. package/dist/agent-src/rules/domain-safety-retention.md +1 -1
  111. package/dist/agent-src/rules/downstream-changes.md +0 -1
  112. package/dist/agent-src/rules/engineering-safety-floor.md +1 -1
  113. package/dist/agent-src/rules/evaluator-independence.md +3 -2
  114. package/dist/agent-src/rules/external-code-graph-interop.md +0 -1
  115. package/dist/agent-src/rules/external-reference-deep-dive.md +0 -1
  116. package/dist/agent-src/rules/fast-path-marker-visibility.md +2 -2
  117. package/dist/agent-src/rules/finance-safety-floor.md +1 -1
  118. package/dist/agent-src/rules/fix-what-you-see.md +6 -32
  119. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +0 -1
  120. package/dist/agent-src/rules/git-history-discipline.md +2 -2
  121. package/dist/agent-src/rules/guidelines.md +0 -1
  122. package/dist/agent-src/rules/history-discipline.md +0 -1
  123. package/dist/agent-src/rules/icon-consistency.md +0 -1
  124. package/dist/agent-src/rules/image-likeness-and-rights.md +1 -1
  125. package/dist/agent-src/rules/improve-before-implement.md +0 -1
  126. package/dist/agent-src/rules/invite-challenge.md +0 -1
  127. package/dist/agent-src/rules/laravel-routing.md +1 -2
  128. package/dist/agent-src/rules/laravel-translations.md +0 -1
  129. package/dist/agent-src/rules/legal-safety-floor.md +3 -3
  130. package/dist/agent-src/rules/lethal-trifecta-guard.md +1 -1
  131. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -1
  132. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +1 -1
  133. package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
  134. package/dist/agent-src/rules/media-governance-routing.md +13 -17
  135. package/dist/agent-src/rules/media-sync-ground-truth.md +0 -1
  136. package/dist/agent-src/rules/minimal-safe-diff.md +0 -1
  137. package/dist/agent-src/rules/missing-skill-recovery.md +0 -1
  138. package/dist/agent-src/rules/missing-tool-handling.md +0 -1
  139. package/dist/agent-src/rules/model-recommendation.md +0 -1
  140. package/dist/agent-src/rules/neighbour-precedence.md +64 -0
  141. package/dist/agent-src/rules/no-attribution-footers.md +0 -1
  142. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +0 -1
  143. package/dist/agent-src/rules/no-pr-progress-comments.md +0 -1
  144. package/dist/agent-src/rules/no-roadmap-references.md +0 -1
  145. package/dist/agent-src/rules/notes-first-reasoning.md +0 -1
  146. package/dist/agent-src/rules/onboarding-gate.md +0 -1
  147. package/dist/agent-src/rules/output-discipline.md +0 -1
  148. package/dist/agent-src/rules/package-ci-checks.md +0 -1
  149. package/dist/agent-src/rules/persona-governance.md +4 -5
  150. package/dist/agent-src/rules/php-coding.md +0 -1
  151. package/dist/agent-src/rules/prefer-enums-over-literals.md +0 -1
  152. package/dist/agent-src/rules/preservation-guard.md +0 -1
  153. package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -4
  154. package/dist/agent-src/rules/question-not-instruction.md +1 -1
  155. package/dist/agent-src/rules/reviewer-awareness.md +0 -1
  156. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -1
  157. package/dist/agent-src/rules/roadmap-progress-sync.md +4 -7
  158. package/dist/agent-src/rules/role-mode-adherence.md +0 -1
  159. package/dist/agent-src/rules/rule-type-governance.md +0 -1
  160. package/dist/agent-src/rules/runtime-safety.md +1 -1
  161. package/dist/agent-src/rules/scale-discipline.md +0 -1
  162. package/dist/agent-src/rules/secret-vcs-guard.md +1 -1
  163. package/dist/agent-src/rules/security-sensitive-stop.md +3 -3
  164. package/dist/agent-src/rules/self-repair-loop.md +0 -1
  165. package/dist/agent-src/rules/senior-engineering-discipline.md +0 -1
  166. package/dist/agent-src/rules/session-canary.md +7 -62
  167. package/dist/agent-src/rules/settings-ask-protocol.md +6 -6
  168. package/dist/agent-src/rules/size-enforcement.md +0 -1
  169. package/dist/agent-src/rules/skill-improvement-trigger.md +2 -3
  170. package/dist/agent-src/rules/skill-quality.md +0 -1
  171. package/dist/agent-src/rules/slash-command-routing-policy.md +0 -1
  172. package/dist/agent-src/rules/source-confidentiality.md +1 -1
  173. package/dist/agent-src/rules/source-discovery-gate.md +0 -1
  174. package/dist/agent-src/rules/source-of-truth.md +0 -1
  175. package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -2
  176. package/dist/agent-src/rules/strategy-safety-floor.md +1 -1
  177. package/dist/agent-src/rules/symfony-routing.md +1 -2
  178. package/dist/agent-src/rules/think-before-action.md +0 -1
  179. package/dist/agent-src/rules/token-budget-discipline.md +12 -46
  180. package/dist/agent-src/rules/token-efficiency.md +0 -1
  181. package/dist/agent-src/rules/token-optimizer-maintenance.md +0 -1
  182. package/dist/agent-src/rules/tool-safety.md +1 -1
  183. package/dist/agent-src/rules/ui-audit-gate.md +1 -2
  184. package/dist/agent-src/rules/untrusted-input-defense.md +1 -1
  185. package/dist/agent-src/rules/upstream-proposal.md +0 -1
  186. package/dist/agent-src/rules/user-interaction.md +0 -1
  187. package/dist/agent-src/rules/user-interrupt-priority.md +1 -1
  188. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +115 -20
  189. package/dist/agent-src/scripts/deferral_carry.ts +339 -0
  190. package/dist/agent-src/scripts/gate_budget.ts +47 -23
  191. package/dist/agent-src/scripts/gate_execute.ts +12 -4
  192. package/dist/agent-src/scripts/update_roadmap_progress.ts +4 -1
  193. package/dist/agent-src/skills/ai-council/SKILL.md +7 -4
  194. package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +21 -11
  195. package/dist/agent-src/skills/ai-council/references/procedure.md +12 -6
  196. package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
  197. package/dist/agent-src/skills/api-design/data/manifest.json +2 -2
  198. package/dist/agent-src/skills/api-testing/SKILL.md +17 -0
  199. package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
  200. package/dist/agent-src/skills/code-intelligence/SKILL.md +14 -2
  201. package/dist/agent-src/skills/command-routing/SKILL.md +3 -4
  202. package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +127 -139
  203. package/dist/agent-src/skills/corpus-grounding/ATTRIBUTION.md +39 -0
  204. package/dist/agent-src/skills/corpus-grounding/SKILL.md +8 -2
  205. package/dist/agent-src/skills/database/data/manifest.json +2 -2
  206. package/dist/agent-src/skills/database/data/query-tuning.csv +13 -13
  207. package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
  208. package/dist/agent-src/skills/design-system-capture/references/import-procedure.md +1 -1
  209. package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
  210. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +2 -2
  211. package/dist/agent-src/skills/fe-design/SKILL.md +1 -1
  212. package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
  213. package/dist/agent-src/skills/git-workflow/SKILL.md +44 -44
  214. package/dist/agent-src/skills/git-workflow/references/branch-update.md +312 -0
  215. package/dist/agent-src/skills/git-workflow/references/commit-subject.md +205 -0
  216. package/dist/agent-src/skills/iconography/SKILL.md +1 -1
  217. package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
  218. package/dist/agent-src/skills/js-library-packaging/SKILL.md +2 -2
  219. package/dist/agent-src/skills/merge-conflicts/SKILL.md +10 -4
  220. package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
  221. package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
  222. package/dist/agent-src/skills/quality-tools/SKILL.md +11 -1
  223. package/dist/agent-src/skills/quality-tools/references/go-tools.md +76 -0
  224. package/dist/agent-src/skills/quality-tools/references/python-tools.md +104 -0
  225. package/dist/agent-src/skills/refine-ticket/SKILL.md +4 -4
  226. package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
  227. package/dist/agent-src/skills/roadmap-writing/SKILL.md +2 -2
  228. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +5 -3
  229. package/dist/agent-src/skills/source-discovery/SKILL.md +1 -1
  230. package/dist/agent-src/skills/storybook-workshop/SKILL.md +3 -3
  231. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +4 -2
  232. package/dist/agent-src/skills/test-case-discovery/SKILL.md +7 -0
  233. package/dist/agent-src/skills/test-driven-development/SKILL.md +17 -0
  234. package/dist/agent-src/skills/test-performance/SKILL.md +19 -1
  235. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
  236. package/dist/agent-src/skills/ui-component-architect/SKILL.md +2 -2
  237. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -1
  238. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  239. package/dist/agent-src/templates/AGENTS.md +1 -1
  240. package/dist/agent-src/templates/agent-settings.md +46 -129
  241. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
  242. package/dist/agent-src/templates/command.md +2 -2
  243. package/dist/agent-src/templates/roadmaps.md +6 -1
  244. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
  245. package/dist/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
  246. package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +48 -6
  247. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
  248. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
  249. package/dist/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
  250. package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
  251. package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
  252. package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +774 -109
  253. package/dist/agent-src/templates/skill.md +1 -1
  254. package/dist/cli/registry.js +2 -1
  255. package/dist/cli-delegate/archive_completed_roadmaps.js +92 -12
  256. package/dist/cli-delegate/check_update_banner.js +207 -120
  257. package/dist/cli-delegate/chunk-523HCFYO.js +90 -0
  258. package/dist/cli-delegate/{chunk-FP36SWJD.js → chunk-5GPULQBE.js} +2797 -338
  259. package/dist/cli-delegate/{chunk-IGD6ERX6.js → chunk-6SRJTYJS.js} +42 -176
  260. package/dist/cli-delegate/chunk-6V5FMA3P.js +186 -0
  261. package/dist/cli-delegate/{chunk-M2DPGFZ4.js → chunk-6V6TA25H.js} +22 -152
  262. package/dist/cli-delegate/chunk-6YQC2HLF.js +415 -0
  263. package/dist/cli-delegate/{chunk-E4XIZDIB.js → chunk-7HKRE54K.js} +1 -64
  264. package/dist/cli-delegate/chunk-7IQE3D5S.js +191 -0
  265. package/dist/cli-delegate/{chunk-YJ72UIAK.js → chunk-AED2VQGM.js} +1245 -249
  266. package/dist/cli-delegate/{chunk-7HQ52DHU.js → chunk-AL3RZ22D.js} +1 -1
  267. package/dist/cli-delegate/chunk-DEIV7XP7.js +108 -0
  268. package/dist/cli-delegate/{chunk-DBH4AHDK.js → chunk-ED7KCMLB.js} +9 -11
  269. package/dist/cli-delegate/chunk-F3QDG2GT.js +2569 -0
  270. package/dist/cli-delegate/{chunk-6KFEC3G7.js → chunk-G5VVIZRC.js} +3 -3
  271. package/dist/cli-delegate/{chunk-FC75PGJE.js → chunk-H76PHZBI.js} +149 -61
  272. package/dist/cli-delegate/chunk-IAYTIIQW.js +67 -0
  273. package/dist/cli-delegate/chunk-JQOM7TTM.js +1201 -0
  274. package/dist/cli-delegate/chunk-KB5FZ655.js +208 -0
  275. package/dist/cli-delegate/{chunk-7RQP4UDH.js → chunk-KR6EM23A.js} +235 -1455
  276. package/dist/cli-delegate/{chunk-LTYVIY76.js → chunk-KXXWJTDO.js} +6 -11
  277. package/dist/cli-delegate/{chunk-T7L2QK3K.js → chunk-LQOCRFWT.js} +1 -1
  278. package/dist/cli-delegate/{chunk-6KM6ORRY.js → chunk-MDPPKQCQ.js} +58 -9
  279. package/dist/cli-delegate/{chunk-4XFP2Y3E.js → chunk-MSUL5NYP.js} +5 -5
  280. package/dist/cli-delegate/chunk-OAFSJBHH.js +272 -0
  281. package/dist/cli-delegate/{chunk-4E2W63DA.js → chunk-OKJUIAPS.js} +62 -1
  282. package/dist/cli-delegate/{chunk-QAJS5YWY.js → chunk-PHD7OOLE.js} +2 -1
  283. package/dist/cli-delegate/{chunk-P6ZHP5W2.js → chunk-PWX7CKMD.js} +4 -4
  284. package/dist/cli-delegate/{chunk-NDJLNC6Q.js → chunk-T6BP34WI.js} +1 -0
  285. package/dist/cli-delegate/{chunk-7XGBX6ZH.js → chunk-T7XSJSUQ.js} +1144 -589
  286. package/dist/cli-delegate/chunk-ULQRUR23.js +208 -0
  287. package/dist/cli-delegate/chunk-WQWXGIWB.js +1779 -0
  288. package/dist/cli-delegate/{chunk-RGNIWTEA.js → chunk-XQTPXKFA.js} +1 -1
  289. package/dist/cli-delegate/{chunk-NUHLI2RX.js → chunk-YCU3TIXH.js} +2 -0
  290. package/dist/cli-delegate/chunk-ZBZV2G5R.js +210 -0
  291. package/dist/cli-delegate/{chunk-WGXTVKCQ.js → chunk-ZUZKZYCN.js} +5 -3
  292. package/dist/cli-delegate/cmd_analyze_session.js +223 -43
  293. package/dist/cli-delegate/cmd_brand_status.js +3 -2
  294. package/dist/cli-delegate/cmd_conformance.js +1252 -249
  295. package/dist/cli-delegate/cmd_converge.js +3 -3
  296. package/dist/cli-delegate/cmd_doctor.js +19 -9
  297. package/dist/cli-delegate/cmd_doctor_neighbours.js +30 -0
  298. package/dist/cli-delegate/cmd_explain.js +45 -21
  299. package/dist/cli-delegate/cmd_export.js +13 -10
  300. package/dist/cli-delegate/cmd_fleet.js +3 -3
  301. package/dist/cli-delegate/cmd_git_convention.js +1851 -0
  302. package/dist/cli-delegate/cmd_handoff.js +44 -22
  303. package/dist/cli-delegate/cmd_mcp_available.js +3 -2
  304. package/dist/cli-delegate/cmd_memory_get.js +3 -1
  305. package/dist/cli-delegate/cmd_migrate.js +3 -3
  306. package/dist/cli-delegate/cmd_packs_active.js +5 -4
  307. package/dist/cli-delegate/cmd_preflight.js +6 -6
  308. package/dist/cli-delegate/cmd_prune.js +14 -11
  309. package/dist/cli-delegate/cmd_refresh.js +2 -1
  310. package/dist/cli-delegate/cmd_route_audit.js +10 -8
  311. package/dist/cli-delegate/cmd_route_explain.js +4 -4
  312. package/dist/cli-delegate/cmd_session_recycle.js +10 -7
  313. package/dist/cli-delegate/cmd_settings_check.js +54 -7
  314. package/dist/cli-delegate/cmd_settings_get.js +18 -8
  315. package/dist/cli-delegate/cmd_settings_migrate.js +13 -10
  316. package/dist/cli-delegate/cmd_settings_set.js +4 -4
  317. package/dist/cli-delegate/cmd_sync.js +14 -11
  318. package/dist/cli-delegate/cmd_uninstall.js +15 -12
  319. package/dist/cli-delegate/cmd_update.js +7 -7
  320. package/dist/cli-delegate/cmd_upgrade.js +9 -8
  321. package/dist/cli-delegate/cmd_validate.js +15 -12
  322. package/dist/cli-delegate/cmd_versions.js +5 -5
  323. package/dist/cli-delegate/deferral_carry.js +16 -0
  324. package/dist/cli-delegate/gate_budget.js +1 -1
  325. package/dist/cli-delegate/gate_execute.js +3 -3
  326. package/dist/cli-delegate/roadmap_gates.js +6 -6
  327. package/dist/cli-delegate/update_roadmap_progress.js +1 -1
  328. package/dist/discovery/deprecation-report.md +1 -1
  329. package/dist/discovery/discovery-manifest.json +232 -141
  330. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  331. package/dist/discovery/discovery-manifest.summary.md +3 -3
  332. package/dist/discovery/dormancy-report.md +1 -1
  333. package/dist/discovery/orphan-report.md +1 -1
  334. package/dist/discovery/packs.json +26 -9
  335. package/dist/discovery/trust-report.md +3 -3
  336. package/dist/discovery/workspaces.json +7 -4
  337. package/dist/hooks/dispatch.js +5655 -6623
  338. package/dist/hooks/dispatch.sha256 +1 -1
  339. package/dist/install/claudePathsPlan.js +47 -6
  340. package/dist/install/claudeRuleRewrite.js +7 -0
  341. package/dist/install/emit_host_rules_cli.js +39 -36
  342. package/dist/install/globalRuleScope.js +87 -0
  343. package/dist/install/host_rule_ownership.js +160 -0
  344. package/dist/install/install.mjs +2336 -1249
  345. package/dist/install/installThinLayer.js +289 -0
  346. package/dist/install/installedRuleLinks.js +262 -0
  347. package/dist/install/wizard-plan.js +24 -0
  348. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  349. package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
  350. package/dist/mcp/registry-manifest.json +5 -5
  351. package/dist/mcp/server.json +2 -2
  352. package/dist/mcp/server.mjs +36504 -30986
  353. package/dist/router.json +1 -1
  354. package/dist/scripts/_lib/agent_settings.js +26 -120
  355. package/dist/scripts/_lib/claude_settings_hooks.js +10 -8
  356. package/dist/scripts/_lib/compile_time_toggles.js +12 -21
  357. package/dist/scripts/_lib/git_convention.js +232 -0
  358. package/dist/scripts/_lib/global_deploy_inventory.js +730 -0
  359. package/dist/scripts/_lib/installed_layer.js +704 -0
  360. package/dist/scripts/_lib/lean_projection_mode.js +218 -15
  361. package/dist/scripts/_lib/package_root.js +68 -0
  362. package/dist/scripts/_lib/rule_consequence_class.js +45 -0
  363. package/dist/scripts/_lib/rule_injection.js +67 -10
  364. package/dist/scripts/_lib/rule_law_section.js +122 -0
  365. package/dist/scripts/_lib/settings_removed_keys.js +168 -0
  366. package/dist/scripts/_lib/thin_rules.js +535 -0
  367. package/dist/scripts/_lib/windsurf_render.js +60 -0
  368. package/dist/scripts/condense.js +14 -26
  369. package/dist/scripts/project_thin_rules.js +14 -294
  370. package/dist/server/app.js +2 -1
  371. package/dist/server/gitKeysGate.js +105 -0
  372. package/dist/server/routes/settings.js +67 -8
  373. package/dist/server/routes/wizard.js +4 -0
  374. package/dist/server/schemas/settings.js +29 -81
  375. package/dist/shared/skillRanking.js +103 -16
  376. package/dist/ui/assets/{index-Cwq4d0hX.js → index-C3djEJah.js} +2 -2
  377. package/dist/ui/index.html +1 -1
  378. package/docs/MIGRATION.md +72 -1
  379. package/docs/contracts/settings-classes.md +39 -67
  380. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
  381. package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
  382. package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
  383. package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
  384. package/docs/guidelines/agent-infra/layered-settings.md +13 -1
  385. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  386. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
  387. package/docs/guidelines/agent-infra/size-and-scope.md +36 -0
  388. package/docs/guidelines/php/git.md +15 -2
  389. package/package.json +1 -1
  390. package/src/agent-src/scripts/archive_completed_roadmaps.ts +115 -20
  391. package/src/agent-src/scripts/deferral_carry.ts +339 -0
  392. package/src/agent-src/scripts/gate_budget.ts +47 -23
  393. package/src/agent-src/scripts/gate_execute.ts +12 -4
  394. package/src/agent-src/scripts/update_roadmap_progress.ts +4 -1
  395. package/src/agent-src/templates/AGENTS.md +1 -1
  396. package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
  397. package/src/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
  398. package/src/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +48 -6
  399. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
  400. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
  401. package/src/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
  402. package/src/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
  403. package/src/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
  404. package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +774 -109
  405. package/src/config/agent-settings.template.yml +141 -334
  406. package/src/config/agents-paths.yml +16 -0
  407. package/src/config/assurance-capability-registry.json +7 -3
  408. package/src/config/ci-local-parity.yml +3 -0
  409. package/src/config/continuity-surface.json +10 -3
  410. package/src/config/discovery/packs.yml +17 -1
  411. package/src/config/evaluator-budgets.json +23 -10
  412. package/src/config/gate-coverage.yml +138 -3
  413. package/src/config/gate-violation-baselines.json +64 -16
  414. package/src/config/gitignore-block.txt +19 -0
  415. package/src/config/hook-bundle-budget.json +25 -0
  416. package/src/config/hook-token-budget.json +6 -1
  417. package/src/config/host-instruction-limits.json +33 -0
  418. package/src/config/release-gate-locality.yml +2 -1
  419. package/src/config/routing-coverage-seed.json +67 -4
  420. package/src/config/rule-activation-census.json +7 -3
  421. package/src/config/rule-consequence-class.json +161 -0
  422. package/src/config/rule-law-ceilings.json +105 -0
  423. package/src/config/rule-obligations.json +833 -0
  424. package/src/install/claudePathsPlan.ts +46 -4
  425. package/src/install/claudeRuleRewrite.ts +10 -1
  426. package/src/install/emit_host_rules_cli.ts +43 -34
  427. package/src/install/globalRuleScope.ts +109 -0
  428. package/src/install/host_rule_ownership.ts +170 -0
  429. package/src/install/installThinLayer.ts +378 -0
  430. package/src/install/installedRuleLinks.ts +308 -0
  431. package/src/install/wizard-plan.ts +24 -0
  432. package/src/scripts/_cli/cmd_analyze_session.ts +9 -15
  433. package/src/scripts/_cli/cmd_conformance.ts +13 -2
  434. package/src/scripts/_cli/cmd_doctor.ts +33 -81
  435. package/src/scripts/_cli/cmd_doctor_neighbours.ts +426 -0
  436. package/src/scripts/_cli/cmd_explain.ts +72 -14
  437. package/src/scripts/_cli/cmd_git_convention.ts +637 -0
  438. package/src/scripts/_cli/cmd_settings_check.ts +66 -8
  439. package/src/scripts/_cli/cmd_settings_get.ts +18 -3
  440. package/src/scripts/_cli/doctor_execution.ts +72 -1
  441. package/src/scripts/_dispatch.bash +53 -4
  442. package/src/scripts/_lib/agent_settings.ts +26 -124
  443. package/src/scripts/_lib/blocked_by_marker.ts +1 -1
  444. package/src/scripts/_lib/claude_settings_hooks.ts +10 -8
  445. package/src/scripts/_lib/compile_time_toggles.ts +12 -21
  446. package/src/scripts/_lib/dispatch_import_closure.ts +163 -0
  447. package/src/scripts/_lib/estate_offsets.ts +241 -0
  448. package/src/scripts/_lib/exemption_shape.ts +143 -0
  449. package/src/scripts/_lib/fnv.ts +23 -0
  450. package/src/scripts/_lib/foreign_scan.ts +106 -0
  451. package/src/scripts/_lib/git_base_ref.ts +92 -0
  452. package/src/scripts/_lib/git_convention.ts +291 -0
  453. package/src/scripts/_lib/git_convention_carrier.ts +389 -0
  454. package/src/scripts/_lib/git_convention_grammar.ts +246 -0
  455. package/src/scripts/_lib/git_convention_measure.ts +344 -0
  456. package/src/scripts/_lib/gitignore_block.ts +314 -0
  457. package/src/scripts/_lib/global_deploy_inventory.ts +106 -0
  458. package/src/scripts/_lib/graph_feeder_record.ts +437 -0
  459. package/src/scripts/_lib/hook_settings.ts +73 -0
  460. package/src/scripts/_lib/host_capability.ts +40 -19
  461. package/src/scripts/_lib/host_hook_merge.ts +165 -0
  462. package/src/scripts/_lib/installed_layer.ts +963 -0
  463. package/src/scripts/_lib/json_merge.ts +82 -0
  464. package/src/scripts/_lib/json_pointers.ts +93 -11
  465. package/src/scripts/_lib/knowledge_global.ts +14 -1
  466. package/src/scripts/_lib/lean_projection_mode.ts +275 -15
  467. package/src/scripts/_lib/machine_wake.ts +16 -3
  468. package/src/scripts/_lib/module_reach.ts +456 -0
  469. package/src/scripts/_lib/neighbour_census.ts +760 -0
  470. package/src/scripts/_lib/neighbour_contradictions.ts +236 -0
  471. package/src/scripts/_lib/neighbour_scan.ts +122 -0
  472. package/src/scripts/_lib/neighbour_tool_use.ts +187 -0
  473. package/src/scripts/_lib/prompt_shape.ts +46 -0
  474. package/src/scripts/_lib/ratification_artifact.ts +220 -1
  475. package/src/scripts/_lib/ratification_subject.ts +92 -0
  476. package/src/scripts/_lib/release_findings_ingest.ts +15 -7
  477. package/src/scripts/_lib/release_highlights.ts +5 -0
  478. package/src/scripts/_lib/release_migration_gate.ts +19 -3
  479. package/src/scripts/_lib/reserved_name_sweep.ts +73 -0
  480. package/src/scripts/_lib/review_coverage.ts +134 -0
  481. package/src/scripts/_lib/rule_consequence_class.ts +71 -0
  482. package/src/scripts/_lib/rule_injection.ts +130 -10
  483. package/src/scripts/_lib/rule_law_section.ts +147 -0
  484. package/src/scripts/_lib/rule_layer_overlap.ts +58 -0
  485. package/src/scripts/_lib/rule_obligations.ts +205 -0
  486. package/src/scripts/_lib/self_repair.ts +1 -1
  487. package/src/scripts/_lib/settings_removed_keys.ts +173 -0
  488. package/src/scripts/_lib/skill_origin.ts +254 -0
  489. package/src/scripts/_lib/structured_ask.ts +64 -21
  490. package/src/scripts/_lib/test_red_state.ts +5 -0
  491. package/src/scripts/_lib/thin_rules.ts +620 -0
  492. package/src/scripts/_lib/touched_file_quality.ts +570 -0
  493. package/src/scripts/_lib/turn_end_refusals.ts +77 -2
  494. package/src/scripts/_lib/windsurf_render.ts +63 -0
  495. package/src/scripts/_lib/worker_budget.ts +1 -1
  496. package/src/scripts/adr/regenerate_index.ts +16 -1
  497. package/src/scripts/ai_council/cli_call_budget.ts +13 -5
  498. package/src/scripts/ai_council/clients.ts +26 -57
  499. package/src/scripts/ai_council/config.ts +8 -8
  500. package/src/scripts/ai_council/modification_review.ts +100 -0
  501. package/src/scripts/ai_council/modification_review_questions.ts +90 -0
  502. package/src/scripts/ai_council/orchestrator.ts +5 -5
  503. package/src/scripts/ai_council/spend_gate.ts +18 -7
  504. package/src/scripts/ai_council/vendor_defaults.ts +45 -0
  505. package/src/scripts/ai_team/config.ts +11 -16
  506. package/src/scripts/audit_skill_overlap.ts +261 -0
  507. package/src/scripts/audit_user_type_axis.ts +20 -8
  508. package/src/scripts/before_complete_hook.ts +243 -12
  509. package/src/scripts/bench_ab_clone.ts +1 -2
  510. package/src/scripts/bench_concern_spawn_path.ts +129 -0
  511. package/src/scripts/bench_graph_feeder_latency.ts +584 -0
  512. package/src/scripts/bench_touched_file_quality.ts +238 -0
  513. package/src/scripts/check_agent_artifact_location.ts +36 -0
  514. package/src/scripts/check_branch_freshness.ts +147 -24
  515. package/src/scripts/check_enforcement_coverage.ts +130 -0
  516. package/src/scripts/check_enforcement_matrix.ts +377 -20
  517. package/src/scripts/check_estate_count.ts +130 -153
  518. package/src/scripts/check_evaluator_budgets.ts +4 -0
  519. package/src/scripts/check_finding_dispositions.ts +196 -21
  520. package/src/scripts/check_gate_coverage.ts +4 -3
  521. package/src/scripts/check_gate_reachability.ts +48 -1
  522. package/src/scripts/check_generator_sync.ts +48 -0
  523. package/src/scripts/check_hook_bundle_composition.ts +477 -0
  524. package/src/scripts/check_kernel_edit_ratified.ts +132 -14
  525. package/src/scripts/check_memory.ts +7 -1
  526. package/src/scripts/check_pack_size.ts +1 -1
  527. package/src/scripts/check_release_highlights.ts +10 -0
  528. package/src/scripts/check_release_manifest_content.ts +189 -0
  529. package/src/scripts/check_release_pr_shape.ts +38 -15
  530. package/src/scripts/check_standing_rule_delivery.ts +129 -13
  531. package/src/scripts/check_suppression_hygiene.ts +2 -5
  532. package/src/scripts/check_verify_expectation_delta.ts +521 -0
  533. package/src/scripts/ci_settle.ts +42 -5
  534. package/src/scripts/classify_merge_risk.ts +320 -0
  535. package/src/scripts/closure_scan.ts +91 -1
  536. package/src/scripts/code_graph/detect.ts +127 -7
  537. package/src/scripts/code_graph/foreign.ts +194 -0
  538. package/src/scripts/code_graph/query.ts +217 -4
  539. package/src/scripts/code_graph/types.ts +26 -2
  540. package/src/scripts/code_graph/validate.ts +3 -1
  541. package/src/scripts/code_graph/verbs.ts +103 -0
  542. package/src/scripts/command_suggester/settings.ts +8 -108
  543. package/src/scripts/command_suggester/types.ts +4 -5
  544. package/src/scripts/compile_hook_manifest.ts +33 -1
  545. package/src/scripts/condense.ts +14 -27
  546. package/src/scripts/consumer_matrix.ts +102 -0
  547. package/src/scripts/context_hygiene_hook.ts +13 -23
  548. package/src/scripts/cost/preflight.mjs +12 -1
  549. package/src/scripts/council_cli.ts +7 -7
  550. package/src/scripts/dispatch_r2_reviewer.ts +24 -11
  551. package/src/scripts/estate_exemption_shape.ts +202 -0
  552. package/src/scripts/explain_run.ts +8 -13
  553. package/src/scripts/generate_git_convention_grammar.ts +127 -0
  554. package/src/scripts/generate_host_cost_table.ts +21 -4
  555. package/src/scripts/handoff_context_hook.ts +86 -37
  556. package/src/scripts/hook_manifest.json +1 -1
  557. package/src/scripts/hook_manifest.yaml +175 -15
  558. package/src/scripts/hooks/block_config_weakening.ts +115 -7
  559. package/src/scripts/hooks/block_plumbing_writes.ts +37 -5
  560. package/src/scripts/hooks/code_graph_context_hook.ts +252 -23
  561. package/src/scripts/hooks/concern_failure_policy.ts +280 -0
  562. package/src/scripts/hooks/concern_registry.ts +2 -0
  563. package/src/scripts/hooks/delegation_nudge_hook.ts +2 -3
  564. package/src/scripts/hooks/dispatch_hook.ts +52 -52
  565. package/src/scripts/hooks/evidence_independence.ts +12 -4
  566. package/src/scripts/hooks/exit_codes.ts +2 -1
  567. package/src/scripts/hooks/host_lowering.json +1 -1
  568. package/src/scripts/hooks/host_lowering.ts +19 -1
  569. package/src/scripts/hooks/mcp_usage_observation_hook.ts +121 -0
  570. package/src/scripts/hooks/one_question_per_ask_hook.ts +41 -25
  571. package/src/scripts/hooks/payload_stub.ts +10 -1
  572. package/src/scripts/hooks/push_settle_hook.ts +4 -3
  573. package/src/scripts/hooks/rule_inject_hook.ts +795 -60
  574. package/src/scripts/hooks/state_io.ts +8 -4
  575. package/src/scripts/hooks/table_fingerprint.ts +21 -0
  576. package/src/scripts/hooks/telemetry_usage_hook.ts +24 -7
  577. package/src/scripts/hooks/turn_end_gate_hook.ts +85 -0
  578. package/src/scripts/hooks_status.ts +112 -0
  579. package/src/scripts/injection_scan_hook.ts +7 -0
  580. package/src/scripts/install-hooks.sh +42 -14
  581. package/src/scripts/install.ts +78 -215
  582. package/src/scripts/installed_layer_report.ts +103 -0
  583. package/src/scripts/language_mirror_hook.ts +15 -6
  584. package/src/scripts/learning_sidecar.ts +119 -8
  585. package/src/scripts/lint_blocker_citations.ts +198 -0
  586. package/src/scripts/lint_evidence_artifacts.ts +9 -0
  587. package/src/scripts/lint_hook_concern_budget.ts +10 -21
  588. package/src/scripts/lint_hook_manifest.ts +53 -0
  589. package/src/scripts/lint_major_migration_sections.ts +156 -26
  590. package/src/scripts/lint_pack_boundaries.ts +465 -29
  591. package/src/scripts/lint_roadmap_blockers.ts +282 -29
  592. package/src/scripts/lint_roadmap_complexity.ts +4 -2
  593. package/src/scripts/lint_rule_law_section.ts +647 -0
  594. package/src/scripts/lint_rule_skill_pack_reach.ts +17 -0
  595. package/src/scripts/lint_settings_classes.ts +1 -1
  596. package/src/scripts/lint_ticked_unmet_criteria.ts +165 -0
  597. package/src/scripts/lint_workflow_security.ts +173 -6
  598. package/src/scripts/mcp_server/consumer_tool_catalog.json +53 -0
  599. package/src/scripts/mcp_server/graph_tools.ts +72 -3
  600. package/src/scripts/measure_routing_signal.ts +54 -16
  601. package/src/scripts/measure_skill_ranker_baseline.ts +221 -8
  602. package/src/scripts/memory_learn_hook.ts +91 -6
  603. package/src/scripts/model_rule_injection.ts +55 -8
  604. package/src/scripts/onboarding_gate_hook.ts +7 -6
  605. package/src/scripts/print_required_checks.ts +15 -3
  606. package/src/scripts/probe_host_compliance.ts +33 -5
  607. package/src/scripts/probe_turnaround.ts +183 -3
  608. package/src/scripts/project_thin_rules.ts +34 -327
  609. package/src/scripts/ratification_header.ts +77 -0
  610. package/src/scripts/refusal_envelope.ts +138 -0
  611. package/src/scripts/release_publication.ts +29 -3
  612. package/src/scripts/report_dispatch_import_closure.ts +76 -0
  613. package/src/scripts/report_evidence_temperature.ts +657 -0
  614. package/src/scripts/report_installed_rule_links.ts +274 -0
  615. package/src/scripts/report_label_agreement.ts +233 -0
  616. package/src/scripts/report_module_reach.ts +212 -0
  617. package/src/scripts/report_obligation_mechanism.ts +228 -0
  618. package/src/scripts/report_parked_blockers.ts +222 -0
  619. package/src/scripts/report_required_checks_drift.ts +196 -0
  620. package/src/scripts/report_single_token_triggers.ts +277 -0
  621. package/src/scripts/report_skill_ranker_confusion.ts +543 -0
  622. package/src/scripts/report_standing_payload_by_host.ts +188 -15
  623. package/src/scripts/report_verification_record_coverage.ts +306 -0
  624. package/src/scripts/routing_doctor.ts +2 -2
  625. package/src/scripts/rule_activation_census.ts +5 -2
  626. package/src/scripts/rule_trigger_eval.ts +9 -9
  627. package/src/scripts/schemas/agent-settings.schema.json +17 -31
  628. package/src/scripts/schemas/command.schema.json +1 -1
  629. package/src/scripts/schemas/review-findings.schema.json +3 -2
  630. package/src/scripts/schemas/rule.schema.json +5 -0
  631. package/src/scripts/schemas/skill.schema.json +1 -1
  632. package/src/scripts/self_review_gate.ts +101 -9
  633. package/src/scripts/skill_tools/score_skill_relevance.ts +314 -40
  634. package/src/scripts/sweep_skill_ranker_signals.ts +129 -0
  635. package/src/scripts/sync_gitignore.ts +29 -235
  636. package/src/scripts/sync_pr_branch.ts +403 -132
  637. package/src/scripts/trigger_eval_grandfather.json +0 -21
  638. package/src/server/schemas/settings.ts +42 -176
  639. package/src/shared/skillRanking.ts +169 -14
  640. package/dist/cli-delegate/chunk-5R7HOLAF.js +0 -99
  641. package/dist/cli-delegate/chunk-JNMVLWLR.js +0 -4457
  642. package/dist/cli-delegate/chunk-YDPILCOL.js +0 -152
  643. package/src/scripts/_lib/config_chain.ts +0 -477
  644. package/src/scripts/_lib/conformance_report.ts +0 -403
  645. package/src/scripts/_lib/eval_discrimination.ts +0 -95
  646. package/src/scripts/_lib/evaluator_promotion.ts +0 -225
  647. package/src/scripts/_lib/file_slicer.ts +0 -117
  648. package/src/scripts/_lib/legacy_boundary_map.ts +0 -228
  649. package/src/scripts/_lib/minimality_tiebreak.ts +0 -168
  650. package/src/scripts/_lib/overbuild_lens_contract.ts +0 -196
  651. package/src/scripts/_lib/role_split.ts +0 -338
@@ -2,29 +2,58 @@
2
2
  import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
3
3
 
4
4
  // src/scripts/check_update_banner.ts
5
- import * as fs5 from "node:fs";
6
- import * as path5 from "node:path";
5
+ import * as fs6 from "node:fs";
6
+ import * as path6 from "node:path";
7
7
  import { fileURLToPath as fileURLToPath2, pathToFileURL } from "node:url";
8
8
 
9
9
  // src/scripts/_lib/agent_settings.ts
10
10
  import { createRequire } from "node:module";
11
- import * as fs2 from "node:fs";
12
- import * as path2 from "node:path";
11
+ import * as fs3 from "node:fs";
12
+ import * as path3 from "node:path";
13
+
14
+ // src/scripts/_lib/package_root.ts
15
+ import * as fs from "node:fs";
16
+ import * as path from "node:path";
13
17
  import { fileURLToPath } from "node:url";
18
+ var PACKAGE_NAME = "@event4u/agent-config";
19
+ var MAX_ASCENT = 16;
20
+ function resolvePackageRoot(fromUrlOrPath, legacyHops = 3) {
21
+ const start = fromUrlOrPath.startsWith("file:") ? fileURLToPath(fromUrlOrPath) : fromUrlOrPath;
22
+ const startDir = path.dirname(start);
23
+ let dir = startDir;
24
+ for (let i = 0; i < MAX_ASCENT; i++) {
25
+ const manifest = path.join(dir, "package.json");
26
+ if (fs.existsSync(manifest)) {
27
+ try {
28
+ const parsed = JSON.parse(fs.readFileSync(manifest, "utf8"));
29
+ if (parsed.name === PACKAGE_NAME) {
30
+ return dir;
31
+ }
32
+ } catch {
33
+ }
34
+ }
35
+ const parent = path.dirname(dir);
36
+ if (parent === dir) {
37
+ break;
38
+ }
39
+ dir = parent;
40
+ }
41
+ return path.resolve(startDir, ...Array.from({ length: legacyHops }, () => ".."));
42
+ }
14
43
 
15
44
  // src/scripts/_lib/user_global_paths.ts
16
- import * as fs from "node:fs";
45
+ import * as fs2 from "node:fs";
17
46
  import * as os from "node:os";
18
- import * as path from "node:path";
47
+ import * as path2 from "node:path";
19
48
  var EVENT4U_HOME_ENV = "EVENT4U_CONFIG_HOME";
20
- var DEFAULT_EVENT4U_ROOT_RELATIVE = path.join(".event4u", "agent-config");
21
- var LEGACY_XDG_ROOT_RELATIVE = path.join(".config", "agent-config");
49
+ var DEFAULT_EVENT4U_ROOT_RELATIVE = path2.join(".event4u", "agent-config");
50
+ var LEGACY_XDG_ROOT_RELATIVE = path2.join(".config", "agent-config");
22
51
  function expanduser(p) {
23
52
  if (p === "~") {
24
53
  return os.homedir();
25
54
  }
26
55
  if (p.startsWith("~/") || process.platform === "win32" && p.startsWith("~\\")) {
27
- return path.join(os.homedir(), p.slice(2));
56
+ return path2.join(os.homedir(), p.slice(2));
28
57
  }
29
58
  return p;
30
59
  }
@@ -40,10 +69,10 @@ function event4u_root(env) {
40
69
  if (override) {
41
70
  return expanduser(override);
42
71
  }
43
- return path.join(os.homedir(), DEFAULT_EVENT4U_ROOT_RELATIVE);
72
+ return path2.join(os.homedir(), DEFAULT_EVENT4U_ROOT_RELATIVE);
44
73
  }
45
74
  function legacy_xdg_root() {
46
- return path.join(os.homedir(), LEGACY_XDG_ROOT_RELATIVE);
75
+ return path2.join(os.homedir(), LEGACY_XDG_ROOT_RELATIVE);
47
76
  }
48
77
  function resolve_with_fallback(relative_name, options = {}) {
49
78
  if (is_absolute_like_python(relative_name)) {
@@ -51,12 +80,12 @@ function resolve_with_fallback(relative_name, options = {}) {
51
80
  `resolve_with_fallback expects a relative path, got '${relative_name}'`
52
81
  );
53
82
  }
54
- const new_path = path.join(event4u_root(options.env ?? null), relative_name);
55
- if (fs.existsSync(new_path)) {
83
+ const new_path = path2.join(event4u_root(options.env ?? null), relative_name);
84
+ if (fs2.existsSync(new_path)) {
56
85
  return new_path;
57
86
  }
58
- const legacy_path = path.join(legacy_xdg_root(), relative_name);
59
- if (fs.existsSync(legacy_path)) {
87
+ const legacy_path = path2.join(legacy_xdg_root(), relative_name);
88
+ if (fs2.existsSync(legacy_path)) {
60
89
  return legacy_path;
61
90
  }
62
91
  return null;
@@ -65,7 +94,7 @@ function write_target(relative_name, options = {}) {
65
94
  if (is_absolute_like_python(relative_name)) {
66
95
  throw new Error(`write_target expects a relative path, got '${relative_name}'`);
67
96
  }
68
- return path.join(event4u_root(options.env ?? null), relative_name);
97
+ return path2.join(event4u_root(options.env ?? null), relative_name);
69
98
  }
70
99
 
71
100
  // src/shared/settingsCarveOut.ts
@@ -161,6 +190,102 @@ function applyRenamedKeys(layer) {
161
190
  return layer;
162
191
  }
163
192
 
193
+ // src/scripts/_lib/settings_removed_keys.ts
194
+ var REMOVED_KEYS = /* @__PURE__ */ new Map([
195
+ ["subagents.enabled", "always-on orchestration"],
196
+ ["subagents.auto", "always-on orchestration"],
197
+ ["subagents.host_capabilities", "always-on orchestration"],
198
+ ["subagents.budget_routing", "always-on orchestration"],
199
+ ["ai_team.enabled", "always-on orchestration"],
200
+ ["hooks.turn_end_gate.enabled", "the turn-end gate is always armed"],
201
+ ["hooks.turn_end_gate.promissory", "the turn-end gate is always armed"],
202
+ ["hooks.turn_end_gate.language", "the turn-end gate is always armed"],
203
+ ["hooks.turn_end_gate.verification", "the turn-end gate is always armed"],
204
+ ["telegraph.speak_scope", "the rule body states its own scope; compile_time_toggles decides whether the rule ships"],
205
+ ["chat_history.max_size_kb", "the rotate command takes --max-kb from argv; session-count pruning bounds the file"],
206
+ ["chat_history.on_overflow", "the overflow mode comes from the rotate command --mode argv"],
207
+ ["quality.wait_for_remote_ci", "whether to poll follows from the push plus a detectable remote pipeline"],
208
+ ["legal_review_prep.consented_at", "the provenance sidecar settings:set writes and consentVerdict reads"],
209
+ ["worktrees.mode", "the user asking for a worktree in the chat; creation is instruction-only and hardcoded"],
210
+ // 2026-10-09 — output and tone
211
+ ["personal.minimal_output", "direct-answers Iron Law 3 mandates terse replies; there is no verbose mode"],
212
+ ["personal.play_by_play", "direct-answers: no narration unless the user asks for it in the turn"],
213
+ ["personal.pr_comment_bot_icon", "no-decorative-emojis-in-git-surfaces forbids the \u{1F916} prefix"],
214
+ ["verbosity.intent_announcements", 'direct-answers: act and emit the result, no "Let me\u2026" openers'],
215
+ ["verbosity.preview_artifacts", "generated content is used directly; preview-on-error and the Iron-Law gates decide when a preview shows"],
216
+ ["verbosity.routine_confirmations", "the no-cheap-questions Pre-Send Self-Check; Iron-Law gates always ask"],
217
+ ["verbosity.post_action_reports", "direct-answers Iron Law 3: a one-line confirmation and one end-summary"],
218
+ ["telegraph.speak", "the telegraph-speak predicate in compile_time_toggles.ts; the bench verdict is package-level (ADR telegraph/0002)"],
219
+ ["tokens.rich_skills", "the skill's own token_budget_class: rich plus the lint_token_budget_discipline ceiling"],
220
+ // 2026-10-09 — reasoning protocol switches
221
+ ["reasoning.auto_gate", "the RDP gate task signal plus the host self-assessment in rdp-gate.md"],
222
+ ["reasoning.components.orchestrator", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
223
+ ["reasoning.components.notes_first", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
224
+ ["reasoning.components.grounding", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
225
+ ["reasoning.components.intent", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
226
+ ["reasoning.components.complexity_first", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
227
+ ["reasoning.components.verifier_default", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
228
+ ["reasoning.components.prediction_tracking", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
229
+ ["reasoning.components.decision_ledger", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
230
+ ["reasoning.components.uncertainty_budget", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
231
+ // 2026-10-09 — roadmap cadence
232
+ ["roadmap.skip_pre_run_gate", "the command name names the scope; only an ambiguous roadmap or an unresolvable conflict shows the gate"],
233
+ ["roadmap.dashboard_regen_cadence", "a fixed cadence: every 5th closed step, every phase boundary, reply end and any file-shape touch"],
234
+ // 2026-10-09 — command suggestion and PR creation
235
+ ["commands.auto_detect", "an orchestrator's own auto_detect front-matter and the --no-auto-detect flag"],
236
+ ["commands.suggestion.enabled", "the suggester match-score floor and cooldown; /command-suggestion-off silences one conversation"],
237
+ ["commands.suggestion.confidence_floor", "the suggester's fixed 0.6 floor; a command's own suggestion frontmatter can tighten it"],
238
+ ["commands.suggestion.cooldown_seconds", "the suggester's fixed 600-second cooldown; a command's own suggestion frontmatter can lengthen it"],
239
+ ["commands.suggestion.max_options", "the fixed cap of 4 suggestions plus the always-present as-is option"],
240
+ ["commands.create_pr.api_examples", "/create-pr's grounding rule: an example only from a real source, otherwise a one-line pointer"],
241
+ ["commands.create_pr.ui_paths", "/create-pr's light frontend heuristic, which fails open"],
242
+ ["commands.create_pr.api_paths", "/create-pr's light API-endpoint heuristic, which fails open"],
243
+ // 2026-10-09 — memory and knowledge sharing
244
+ ["memory.cadence", "a fixed cadence: the memory line renders whenever a memory type was asked; memory.visibility: off still silences it"],
245
+ ["memory.review_threshold", "/memory load's fixed preview threshold of 10 unreviewed intake signals"],
246
+ ["knowledge.global_sharing.redaction.enabled", "the write-time redaction scan, which always runs before a card goes global"],
247
+ ["knowledge.global_sharing.redaction.halt_on_trigger", "the redaction gate, which always halts on a confidential-pattern hit"],
248
+ ["knowledge.global_sharing.auto_promote_threshold", "the fixed two-repo sighting count that triggers a promotion suggestion"],
249
+ ["knowledge.global_sharing.freshness.hypothesis_after_days", "the card's age over last_verified against the fixed 90-day lead-only window"],
250
+ ["knowledge.global_sharing.freshness.stale_after_days", "the card's age over last_verified against the fixed 180-day skip window"],
251
+ // 2026-10-09 — hooks and engine
252
+ ["hooks.concern_budget.max_per_event", "the concern-budget gate's own constant of 8 per (platform, event) cell"],
253
+ ["hooks.concern_budget.hard_fail", "the concern-budget gate's --strict argv; without it the gate warns"],
254
+ ["decision_engine.surface_traces", "nothing: the per-phase decision trace stays off, the old default"],
255
+ ["decision_engine.on_block_fallback", "the fail-safe: an on_block ask that times out always stops"],
256
+ ["explain.enable_last", "the presence of a work-state trace; explain last always renders it"],
257
+ // 2026-10-09 — remaining
258
+ ["project.pr_template", "/create-pr, which reads .github/pull_request_template.md"],
259
+ ["pipelines.skill_improvement", "the skill-improvement-trigger rule; the capture is a proposal the user confirms"],
260
+ ["consistency.cross_source", "the cross-source-consistency rule, always on; batching and the no-cheap-questions floor bound the noise"],
261
+ ["subagents.downshift", "the model_tier each sub-task declares; downshift is always on"],
262
+ ["ai_team.suppress_setup_hint", "nothing: the one-line team-mode setup hint is always shown"]
263
+ ]);
264
+ var _warnedRemovedKeys = /* @__PURE__ */ new Set();
265
+ function _readDotted(root, dotted) {
266
+ let node = root;
267
+ for (const part of dotted.split(".")) {
268
+ if (typeof node !== "object" || node === null || Array.isArray(node)) {
269
+ return void 0;
270
+ }
271
+ node = node[part];
272
+ }
273
+ return node;
274
+ }
275
+ function warnRemovedKeys(merged) {
276
+ for (const [key, reason] of REMOVED_KEYS) {
277
+ if (_warnedRemovedKeys.has(key)) {
278
+ continue;
279
+ }
280
+ if (_readDotted(merged, key) === void 0) {
281
+ continue;
282
+ }
283
+ _warnedRemovedKeys.add(key);
284
+ process.stderr.write(`${key} was removed (${reason}); ignored.
285
+ `);
286
+ }
287
+ }
288
+
164
289
  // src/scripts/_lib/agent_settings.ts
165
290
  var _require = createRequire(import.meta.url);
166
291
  var Logger = class {
@@ -201,10 +326,10 @@ var DEFAULT_PROJECT_FILE = ".agent-settings.yml";
201
326
  var LOCAL_PROJECT_FILE = ".agent-settings.local.yml";
202
327
  var LOCAL_PROJECT_SUBDIR = ["agents", "settings"];
203
328
  function _local_settings_path(project_root) {
204
- return path2.join(project_root, ...LOCAL_PROJECT_SUBDIR, LOCAL_PROJECT_FILE);
329
+ return path3.join(project_root, ...LOCAL_PROJECT_SUBDIR, LOCAL_PROJECT_FILE);
205
330
  }
206
331
  function _canonical_settings_path(project_root) {
207
- return path2.join(project_root, ...LOCAL_PROJECT_SUBDIR, DEFAULT_PROJECT_FILE);
332
+ return path3.join(project_root, ...LOCAL_PROJECT_SUBDIR, DEFAULT_PROJECT_FILE);
208
333
  }
209
334
  var USER_GLOBAL_FILENAME = "agent-settings.yml";
210
335
  function DEFAULT_USER_GLOBAL_FILE() {
@@ -227,13 +352,13 @@ function user_global_settings_paths() {
227
352
  return paths;
228
353
  }
229
354
  var MERGEABLE_KEYS = [
230
- // `name`, `ide` and `personal.bot_icon` are the PRE-MIGRATION spellings.
231
- // `install.ts` migrates `ide` → `personal.ide` and `pr_comment_bot_icon`
232
- // into its `personal.` home, and this list was never moved with them — so
233
- // the whitelist named keys the template does not have while the keys it
234
- // does have were filtered out silently. A user setting either preference
235
- // user-globally got no error, no warning, and no effect
236
- // (road-to-capability-answerability 4.3, ADR-219).
355
+ // `name` and `ide` are the PRE-MIGRATION spellings. `install.ts` migrates
356
+ // `ide` → `personal.ide`, and this list was never moved with it — so the
357
+ // whitelist named a key the template does not have while the key it does
358
+ // have was filtered out silently (road-to-capability-answerability 4.3,
359
+ // ADR-219). `personal.bot_icon` / `personal.pr_comment_bot_icon` left with
360
+ // the key itself (2026-10-09): a whitelisted key nothing reads would carry a
361
+ // user-global value into a tree that ignores it.
237
362
  //
238
363
  // Both spellings are listed rather than replaced: a legacy file that still
239
364
  // uses the old name keeps working, and nothing that resolved before
@@ -243,20 +368,12 @@ var MERGEABLE_KEYS = [
243
368
  "ide",
244
369
  "personal.ide",
245
370
  "rule_loading_tier",
246
- "memory.cadence",
247
- "personal.bot_icon",
248
- "personal.pr_comment_bot_icon",
249
371
  "personal.autonomy",
250
372
  // Knowledge-card global cross-project sharing is a USER-GLOBAL setting
251
373
  // (ADR-100 / road-to-structure-grounding-v2). Whitelisted so the
252
374
  // ~/.event4u/agent-config/agent-settings.yml values are honoured.
253
375
  "knowledge.global_sharing.enabled",
254
376
  "knowledge.global_sharing.allowed_tiers",
255
- "knowledge.global_sharing.redaction.enabled",
256
- "knowledge.global_sharing.redaction.halt_on_trigger",
257
- "knowledge.global_sharing.auto_promote_threshold",
258
- "knowledge.global_sharing.freshness.hypothesis_after_days",
259
- "knowledge.global_sharing.freshness.stale_after_days",
260
377
  // `design.fidelity_mode` is a per-DEVELOPER working preference, not a
261
378
  // per-project one: whether an agent may deviate from a handed-over design
262
379
  // is a property of how that person works, and a designer who sets it once
@@ -267,12 +384,23 @@ var MERGEABLE_KEYS = [
267
384
  // be followed. Class C, so a user still sets it by hand or through the
268
385
  // GUI; whitelisting decides only whether the value SURVIVES the merge
269
386
  // (ADR-271, road-to-design-intent-conformance 2.3).
270
- "design.fidelity_mode"
387
+ "design.fidelity_mode",
388
+ // `lean_projection.*` is a per-MACHINE setting and the install it governs is
389
+ // a user-scope one: the layer being thinned is `~/.claude/rules`, which
390
+ // belongs to the machine and not to any checkout. Without these two rows a
391
+ // consumer who wrote the opt-in into the user-global file got no error, no
392
+ // warning and no effect — the same silent-filter defect the two entries
393
+ // above repair, reaching a third key, and unsatisfiable-by-construction on
394
+ // an ADR-020 global-only install, where no project layer exists to carry it.
395
+ // Whitelisting decides only whether a value SURVIVES the merge: it sets
396
+ // nothing, and `installerThinsHost` still refuses a template-only value.
397
+ "lean_projection.mode",
398
+ "lean_projection.hosts"
271
399
  ];
272
- var TEMPLATE_RELATIVE = path2.join("src", "config", "agent-settings.template.yml");
273
- var _PACKAGE_ROOT = path2.resolve(path2.dirname(fileURLToPath(import.meta.url)), "..", "..", "..");
400
+ var TEMPLATE_RELATIVE = path3.join("src", "config", "agent-settings.template.yml");
401
+ var _PACKAGE_ROOT = resolvePackageRoot(import.meta.url);
274
402
  function default_template_path() {
275
- return path2.join(_PACKAGE_ROOT, TEMPLATE_RELATIVE);
403
+ return path3.join(_PACKAGE_ROOT, TEMPLATE_RELATIVE);
276
404
  }
277
405
  function _is_placeholder(value) {
278
406
  return typeof value === "string" && /^__[A-Z0-9_]+__$/.test(value);
@@ -323,8 +451,8 @@ var _AGENTS_DIR_MARKERS = [
323
451
  var _LEGACY_ANCHOR_ENV = "AGENT_CONFIG_LEGACY_ANCHOR";
324
452
  function _exists(p) {
325
453
  try {
326
- fs2.lstatSync(p);
327
- fs2.statSync(p);
454
+ fs3.lstatSync(p);
455
+ fs3.statSync(p);
328
456
  return true;
329
457
  } catch {
330
458
  return false;
@@ -332,22 +460,22 @@ function _exists(p) {
332
460
  }
333
461
  function _is_dir(p) {
334
462
  try {
335
- return fs2.statSync(p).isDirectory();
463
+ return fs3.statSync(p).isDirectory();
336
464
  } catch {
337
465
  return false;
338
466
  }
339
467
  }
340
468
  function _is_file(p) {
341
469
  try {
342
- return fs2.statSync(p).isFile();
470
+ return fs3.statSync(p).isFile();
343
471
  } catch {
344
472
  return false;
345
473
  }
346
474
  }
347
475
  function _resolve(p) {
348
- const absolute = path2.resolve(p);
476
+ const absolute = path3.resolve(p);
349
477
  try {
350
- return fs2.realpathSync(absolute);
478
+ return fs3.realpathSync(absolute);
351
479
  } catch {
352
480
  return absolute;
353
481
  }
@@ -357,7 +485,7 @@ function _ancestor_chain(start) {
357
485
  let cursor = start;
358
486
  for (; ; ) {
359
487
  chain.push(cursor);
360
- const parent = path2.dirname(cursor);
488
+ const parent = path3.dirname(cursor);
361
489
  if (parent === cursor) {
362
490
  break;
363
491
  }
@@ -366,15 +494,15 @@ function _ancestor_chain(start) {
366
494
  return chain;
367
495
  }
368
496
  function _boundary_anchor_at(dir) {
369
- const agents_dir = path2.join(dir, "agents");
497
+ const agents_dir = path3.join(dir, "agents");
370
498
  if (_is_dir(agents_dir)) {
371
499
  for (const marker of _AGENTS_DIR_MARKERS) {
372
- if (_exists(path2.join(agents_dir, marker))) {
500
+ if (_exists(path3.join(agents_dir, marker))) {
373
501
  return ANCHOR_AGENTS_DIR;
374
502
  }
375
503
  }
376
504
  }
377
- if (_exists(path2.join(dir, ".git"))) {
505
+ if (_exists(path3.join(dir, ".git"))) {
378
506
  return ANCHOR_GIT;
379
507
  }
380
508
  return null;
@@ -385,7 +513,7 @@ function find_project_root_with_anchor(start) {
385
513
  const chain = _ancestor_chain(current);
386
514
  if (legacy) {
387
515
  for (const candidate of chain) {
388
- if (_exists(path2.join(candidate, ".git"))) {
516
+ if (_exists(path3.join(candidate, ".git"))) {
389
517
  return [candidate, ANCHOR_GIT];
390
518
  }
391
519
  }
@@ -399,7 +527,7 @@ function find_project_root_with_anchor(start) {
399
527
  }
400
528
  let outermost = null;
401
529
  for (const candidate of chain) {
402
- if (_exists(path2.join(candidate, DEFAULT_PROJECT_FILE))) {
530
+ if (_exists(path3.join(candidate, DEFAULT_PROJECT_FILE))) {
403
531
  outermost = candidate;
404
532
  }
405
533
  }
@@ -415,13 +543,13 @@ function find_project_root(start) {
415
543
  function _resolve_cascade_paths(cwd, project_path) {
416
544
  if (cwd === null) {
417
545
  const legacy = project_path ? project_path : DEFAULT_PROJECT_FILE;
418
- const parent = path2.dirname(legacy);
546
+ const parent = path3.dirname(legacy);
419
547
  return [legacy, _canonical_settings_path(parent), _local_settings_path(parent)];
420
548
  }
421
549
  const root = find_project_root(cwd);
422
550
  if (root === null) {
423
551
  const legacy = project_path ? project_path : DEFAULT_PROJECT_FILE;
424
- const parent = path2.dirname(legacy);
552
+ const parent = path3.dirname(legacy);
425
553
  return [legacy, _canonical_settings_path(parent), _local_settings_path(parent)];
426
554
  }
427
555
  const cwd_resolved = _resolve(cwd);
@@ -432,7 +560,7 @@ function _resolve_cascade_paths(cwd, project_path) {
432
560
  if (cursor === root) {
433
561
  break;
434
562
  }
435
- const parent = path2.dirname(cursor);
563
+ const parent = path3.dirname(cursor);
436
564
  if (parent === cursor) {
437
565
  break;
438
566
  }
@@ -440,7 +568,7 @@ function _resolve_cascade_paths(cwd, project_path) {
440
568
  }
441
569
  chain.reverse();
442
570
  return [
443
- ...chain.map((d) => path2.join(d, DEFAULT_PROJECT_FILE)),
571
+ ...chain.map((d) => path3.join(d, DEFAULT_PROJECT_FILE)),
444
572
  _canonical_settings_path(root),
445
573
  _local_settings_path(root)
446
574
  ];
@@ -471,50 +599,9 @@ function load_agent_settings(options = {}) {
471
599
  _deep_merge(merged, layer);
472
600
  }
473
601
  }
474
- _warn_removed_always_on_keys(merged);
602
+ warnRemovedKeys(merged);
475
603
  return merged;
476
604
  }
477
- var REMOVED_KEYS = /* @__PURE__ */ new Map([
478
- ["subagents.enabled", "always-on orchestration"],
479
- ["subagents.auto", "always-on orchestration"],
480
- ["subagents.host_capabilities", "always-on orchestration"],
481
- ["subagents.budget_routing", "always-on orchestration"],
482
- ["ai_team.enabled", "always-on orchestration"],
483
- ["hooks.turn_end_gate.enabled", "the turn-end gate is always armed"],
484
- ["hooks.turn_end_gate.promissory", "the turn-end gate is always armed"],
485
- ["hooks.turn_end_gate.language", "the turn-end gate is always armed"],
486
- ["hooks.turn_end_gate.verification", "the turn-end gate is always armed"],
487
- ["telegraph.speak_scope", "the rule body states its own scope; compile_router gates on telegraph.speak alone"],
488
- ["chat_history.max_size_kb", "the rotate command takes --max-kb from argv; session-count pruning bounds the file"],
489
- ["chat_history.on_overflow", "the overflow mode comes from the rotate command --mode argv"],
490
- ["quality.wait_for_remote_ci", "whether to poll follows from the push plus a detectable remote pipeline"],
491
- ["legal_review_prep.consented_at", "the provenance sidecar settings:set writes and consentVerdict reads"],
492
- ["worktrees.mode", "the user asking for a worktree in the chat; creation is instruction-only and hardcoded"]
493
- ]);
494
- var _warnedRemovedKeys = /* @__PURE__ */ new Set();
495
- function _readDottedSettingsPath(root, dotted) {
496
- let node = root;
497
- for (const part of dotted.split(".")) {
498
- if (typeof node !== "object" || node === null || Array.isArray(node)) {
499
- return void 0;
500
- }
501
- node = node[part];
502
- }
503
- return node;
504
- }
505
- function _warn_removed_always_on_keys(merged) {
506
- for (const [key, reason] of REMOVED_KEYS) {
507
- if (_warnedRemovedKeys.has(key)) {
508
- continue;
509
- }
510
- if (_readDottedSettingsPath(merged, key) === void 0) {
511
- continue;
512
- }
513
- _warnedRemovedKeys.add(key);
514
- process.stderr.write(`${key} was removed (${reason}); ignored.
515
- `);
516
- }
517
- }
518
605
  function _read_yaml(p) {
519
606
  if (!_is_file(p)) {
520
607
  return null;
@@ -527,7 +614,7 @@ function _read_yaml(p) {
527
614
  }
528
615
  let data;
529
616
  try {
530
- const text = fs2.readFileSync(p, "utf-8");
617
+ const text = fs3.readFileSync(p, "utf-8");
531
618
  data = YAML.parse(text, { version: "1.1" });
532
619
  if (data === null || data === void 0) {
533
620
  data = {};
@@ -627,8 +714,8 @@ function _is_plain_dict(value) {
627
714
  }
628
715
 
629
716
  // src/scripts/_lib/scan_scope.ts
630
- import * as fs3 from "node:fs";
631
- import * as path3 from "node:path";
717
+ import * as fs4 from "node:fs";
718
+ import * as path4 from "node:path";
632
719
  var DeadScopeError = class extends Error {
633
720
  gate;
634
721
  constructor(gate, message) {
@@ -640,7 +727,7 @@ var DeadScopeError = class extends Error {
640
727
  function assertWatchlistResolves(opts) {
641
728
  const resolved = opts.candidates.filter((rel) => {
642
729
  try {
643
- return fs3.statSync(path3.join(opts.repoRoot, rel)).isFile();
730
+ return fs4.statSync(path4.join(opts.repoRoot, rel)).isFile();
644
731
  } catch {
645
732
  return false;
646
733
  }
@@ -656,10 +743,10 @@ function assertWatchlistResolves(opts) {
656
743
 
657
744
  // src/scripts/_lib/update_check.ts
658
745
  import { randomBytes } from "node:crypto";
659
- import * as fs4 from "node:fs";
660
- import * as path4 from "node:path";
661
- var PACKAGE_NAME = "@event4u/agent-config";
662
- var NPM_REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME}/latest`;
746
+ import * as fs5 from "node:fs";
747
+ import * as path5 from "node:path";
748
+ var PACKAGE_NAME2 = "@event4u/agent-config";
749
+ var NPM_REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME2}/latest`;
663
750
  var FETCH_TIMEOUT_S = 1;
664
751
  var CHECK_WINDOW_MS = 24 * 60 * 60 * 1e3;
665
752
  var STATE_FILENAME = "update-check.json";
@@ -697,7 +784,7 @@ async function fetch_latest_from_npm(options = {}) {
697
784
  }
698
785
  function _read_state(state_path) {
699
786
  try {
700
- const raw = fs4.readFileSync(state_path, "utf-8");
787
+ const raw = fs5.readFileSync(state_path, "utf-8");
701
788
  const data = JSON.parse(raw);
702
789
  if (data !== null && typeof data === "object" && !Array.isArray(data)) {
703
790
  return data;
@@ -707,20 +794,20 @@ function _read_state(state_path) {
707
794
  return {};
708
795
  }
709
796
  function _write_state(state_path, payload) {
710
- const parent = path4.dirname(state_path);
711
- fs4.mkdirSync(parent, { recursive: true });
712
- const tmp = path4.join(parent, `.update-check-${randomBytes(8).toString("hex")}`);
797
+ const parent = path5.dirname(state_path);
798
+ fs5.mkdirSync(parent, { recursive: true });
799
+ const tmp = path5.join(parent, `.update-check-${randomBytes(8).toString("hex")}`);
713
800
  try {
714
801
  const sorted = {};
715
802
  for (const key of Object.keys(payload).sort()) {
716
803
  sorted[key] = payload[key];
717
804
  }
718
- fs4.writeFileSync(tmp, JSON.stringify(sorted, null, 2), { encoding: "utf-8", mode: 384 });
719
- fs4.chmodSync(tmp, 384);
720
- fs4.renameSync(tmp, state_path);
805
+ fs5.writeFileSync(tmp, JSON.stringify(sorted, null, 2), { encoding: "utf-8", mode: 384 });
806
+ fs5.chmodSync(tmp, 384);
807
+ fs5.renameSync(tmp, state_path);
721
808
  } catch (err) {
722
809
  try {
723
- fs4.unlinkSync(tmp);
810
+ fs5.unlinkSync(tmp);
724
811
  } catch {
725
812
  }
726
813
  throw err;
@@ -743,7 +830,7 @@ function _should_check(state, now) {
743
830
  }
744
831
  function _format_banner(latest, installed) {
745
832
  return `\u2139\uFE0F agent-config ${latest} available (you have ${installed}).
746
- Update: npx ${PACKAGE_NAME} update`;
833
+ Update: npx ${PACKAGE_NAME2} update`;
747
834
  }
748
835
  function _int_or_zero(part) {
749
836
  const trimmed = part.trim();
@@ -835,7 +922,7 @@ async function check_for_update(installed_version, options = {}) {
835
922
 
836
923
  // src/scripts/check_update_banner.ts
837
924
  var _HERE = fileURLToPath2(import.meta.url);
838
- var ROOT = path5.resolve(path5.dirname(_HERE), "..", "..");
925
+ var ROOT = path6.resolve(path6.dirname(_HERE), "..", "..");
839
926
  var DOC = `Thin CLI wrapper: emit the daily update-check banner to stderr.
840
927
 
841
928
  Invoked by the \`scripts/agent-config\` dispatcher **after** a
@@ -849,9 +936,9 @@ Usage:
849
936
  When \`--installed-version\` is omitted, reads \`package.json\` next to
850
937
  the package root (\`$PACKAGE_ROOT/package.json\`).`;
851
938
  function _read_installed_version(package_root) {
852
- const candidate = path5.join(package_root, "package.json");
939
+ const candidate = path6.join(package_root, "package.json");
853
940
  try {
854
- const data = JSON.parse(fs5.readFileSync(candidate, "utf-8"));
941
+ const data = JSON.parse(fs6.readFileSync(candidate, "utf-8"));
855
942
  const version = data["version"];
856
943
  if (typeof version === "string" && version.trim()) {
857
944
  return version.trim();
@@ -923,7 +1010,7 @@ async function main(argv = process.argv.slice(2)) {
923
1010
  }
924
1011
  let cwd;
925
1012
  try {
926
- cwd = path5.resolve(args.cwd);
1013
+ cwd = path6.resolve(args.cwd);
927
1014
  } catch {
928
1015
  cwd = ROOT;
929
1016
  }
@@ -944,17 +1031,17 @@ function _isCliEntry() {
944
1031
  return false;
945
1032
  }
946
1033
  if (true) {
947
- if (path5.basename(process.argv[1], ".js") === "check_update_banner") {
1034
+ if (path6.basename(process.argv[1], ".js") === "check_update_banner") {
948
1035
  return true;
949
1036
  }
950
1037
  }
951
- const argvUrl = pathToFileURL(path5.resolve(process.argv[1])).href;
1038
+ const argvUrl = pathToFileURL(path6.resolve(process.argv[1])).href;
952
1039
  if (import.meta.url === argvUrl) {
953
1040
  return true;
954
1041
  }
955
1042
  try {
956
- const here = fs5.realpathSync(fileURLToPath2(import.meta.url));
957
- const argv = fs5.realpathSync(path5.resolve(process.argv[1]));
1043
+ const here = fs6.realpathSync(fileURLToPath2(import.meta.url));
1044
+ const argv = fs6.realpathSync(path6.resolve(process.argv[1]));
958
1045
  return here === argv;
959
1046
  } catch {
960
1047
  return false;