@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
@@ -16,17 +16,16 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
16
16
  packs: [meta]
17
17
  enforced_by:
18
18
  - "hook:context-hygiene"
19
- # obligation: line 67
20
19
  obligation_frequency: "per-turn"
21
20
  ---
22
21
 
23
22
  # Context Hygiene
24
23
 
25
- > **Enforced by:** [`scripts/context_hygiene_hook.ts`](../../scripts/context_hygiene_hook.ts)
24
+ > **Enforced by:** `src/scripts/context_hygiene_hook.ts`
26
25
  > on Augment + Claude Code (`PostToolUse`). Run `agent-config hooks:status` to
27
26
  > see whether that slot is actually bound on the host you are on — this line is
28
27
  > a statement about the manifest, not about your install. The hook maintains
29
- > `agents/state/context-hygiene.json` (tool-call count, loop signal,
28
+ > `agents/state/context-hygiene.json` (tool-call count,
30
29
  > freshness milestones at 20/40/60); the prose below is the spec the
31
30
  > hook implements and the agent-side fallback.
32
31
  >
@@ -53,9 +52,10 @@ topic · branch changed since start · ~24 hours passed.
53
52
 
54
53
  ## The 3-Failure Rule
55
54
 
56
- When **3 consecutive attempts** at the same task fail (code fix, test fix, config change, etc.):
55
+ Counts **strategies**, not attempts. 3 fail at the same task (code fix,
56
+ test fix, config change, etc.):
57
57
 
58
- 1. **STOP** — do not attempt a 4th fix.
58
+ 1. A 4th strategy is wrong — reassess.
59
59
  2. **State dump** — summarize what was tried, what failed, and what you know so far.
60
60
  3. **Recommend fresh start** — suggest a fresh session with the state dump as context, or ask for a different approach.
61
61
 
@@ -66,7 +66,7 @@ When **3 consecutive attempts** at the same task fail (code fix, test fix, confi
66
66
  - **Same failure signature twice → stop and pivot now.** Don't burn the third attempt on a near-identical retry of a fix that already failed the same way — a repeated identical signature means the hypothesis is wrong, not under-applied. Change strategy (re-read source, new hypothesis, ask).
67
67
  - **New error signature each attempt = progress.** Peeling one error to reveal a different one is forward motion; counter continues — learning, not looping.
68
68
 
69
- **Hard-blocker classes — skip retries, go straight to ask/surface.** On the **first** occurrence, do not count toward the 3 — stop and surface: missing credentials / unset secret · permission denied · spend / quota / rate limit reached · external-service 5xx / outage. Retrying a hard-blocker is the canonical wasted attempt; the fix is a decision or external change only the user/environment can make.
69
+ **Hard-blocker classes — skip retries, go straight to ask/surface.** On the **first** occurrence, do not count toward the 3 — halt and surface: missing credentials / unset secret · permission denied · spend / quota / rate limit reached · external-service 5xx / outage. Retrying a hard-blocker is the canonical wasted attempt; the fix is a decision or external change only the user/environment can make.
70
70
 
71
71
  ## Tool Loop Detection
72
72
 
@@ -10,7 +10,6 @@ routes_to:
10
10
  - "skill:copilot-config"
11
11
  workspaces: [agent-config-maintainer, engineering]
12
12
  packs: [meta]
13
- # obligation: line 19
14
13
  obligation_frequency: "none"
15
14
  ---
16
15
 
@@ -18,5 +17,5 @@ obligation_frequency: "none"
18
17
 
19
18
  **Iron Law.** Tuning the GitHub Copilot AI assistant itself (instructions, PR-review patterns, suggestion behavior) → load the `copilot-config` skill, not `devcontainer` (which covers the dev environment Copilot runs inside).
20
19
 
21
- Body migrated to `skill:copilot-config`. Disambiguates the copilot-config ↔ devcontainer cluster head per [`adr-architectural-consensus-mechanism`](../docs/contracts/adr-architectural-consensus-mechanism.md).
20
+ Body migrated to `skill:copilot-config`. Disambiguates the copilot-config ↔ devcontainer cluster head per `docs/contracts/adr-architectural-consensus-mechanism.md`.
22
21
  Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
@@ -14,7 +14,6 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
14
14
  packs: [meta]
15
15
  enforced_by:
16
16
  - "instruction-only: no gate reads a chat claim about availability; check_council_config_location covers the tree side only"
17
- # obligation: line 27
18
17
  obligation_frequency: "per-task"
19
18
  ---
20
19
 
@@ -68,9 +67,10 @@ the user-global config into the repo to "make it work".
68
67
 
69
68
  ## If the probe really says unavailable
70
69
 
71
- State the resolver's own message and stop. A subagent fan-out is a legitimate
72
- substitute **only when named as such** — never as "the council". Same honesty
73
- boundary as [`evaluator-independence`](evaluator-independence.md).
70
+ State the resolver's message and stop. A fan-out substitutes **only when named
71
+ as such**, never as "the council"
72
+ ([`evaluator-independence`](evaluator-independence.md)), nor in a
73
+ modification review (ADR-281).
74
74
 
75
75
  ## When NOT to fire
76
76
 
@@ -26,7 +26,6 @@ packs: [engineering-base, product-basic]
26
26
  collision_ok:
27
27
  "mockup": "a mockup is a second source — discrepancy check against the ticket text"
28
28
  "screenshot": "a screenshot is a second source — discrepancy check"
29
- # obligation: line 71
30
29
  obligation_frequency: "per-task"
31
30
  ---
32
31
 
@@ -59,11 +58,10 @@ OBVIOUS-TO-THE-AGENT ≠ IN-SCOPE.
59
58
 
60
59
  **Fires** while planning, refining, estimating, roadmapping, or implementing from
61
60
  a ticket/spec that carries a second source (an attachment, a code reality, or an
62
- internal contradiction), gated by `consistency.cross_source` in
63
- `.agent-settings.yml` (`on` default · `auto` = high-confidence only · `off` = inert).
64
- That file is the project layer of a cascade that starts user-global — never read
65
- the setting or its absence from it alone; `agent-config settings:get
66
- consistency.cross_source` reports the value and the file it came from.
61
+ internal contradiction). It is always on: the `consistency.cross_source` key that
62
+ offered `auto` (high-confidence only) and `off` was retired on 2026-10-09 with its
63
+ default, `on`, as the fixed behavior. The noise control is the batching and the
64
+ `no-cheap-questions` floor below, not a setting.
67
65
 
68
66
  **Does NOT fire** on a single clear source with no second source to compare
69
67
  against (that is plain vagueness — it belongs to `ask-when-uncertain`), on
@@ -1,9 +1,12 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "2b"
4
+ consequence_class: "authority-bypass"
4
5
  description: "Beneficial change blocked by a lock (honest-null, don't-relitigate memory, budget canon, ADR) — surface a council re-evaluation offer, never drop"
5
6
  alwaysApply: false
6
7
  council_depth: deep
8
+ load_context:
9
+ - ../contexts/authority/decision-revisit-gate-enforcement.md
7
10
  triggers:
8
11
  - keyword: "don't relitigate"
9
12
  - keyword: "honest null"
@@ -22,7 +25,6 @@ workspaces: [agent-config-maintainer, engineering]
22
25
  packs: [meta]
23
26
  collision_ok:
24
27
  "honest null": "this rule asks whether a recorded null may be REVISITED; evaluator-independence asks how one was PRODUCED — different decision points on the same artefact"
25
- # obligation: line 31
26
28
  enforced_by:
27
29
  - "instruction-only: no gate can observe an agent citing a decision it never opened; adr_cite_check is deterministic where it runs and nothing makes it run"
28
30
  obligation_frequency: "per-task"
@@ -51,11 +53,10 @@ what the package may ever become.
51
53
  **The default venue is the council, and this is a correction, not a new
52
54
  policy.** [`ai-council`](../skills/ai-council/SKILL.md)'s Iron Law already sends
53
55
  a decision the agent cannot settle from the tree to the council first, and its
54
- class table lists "reopening a recorded decision". The old "offers the user a
55
- path" wording made every lock an owner interrupt; measured across 26 days of
56
- transcripts, the agent reported a lock and waited while the owner voided the
57
- decision retroactively — twice with the lock report timestamped **before** the
58
- override demand. The ordering was the defect; the permission was never missing.
56
+ class table lists "reopening a recorded decision". The measurement behind that
57
+ correction, and why the five steps below are inlined rather than only routed, are
58
+ in
59
+ `contexts/authority/decision-revisit-gate-enforcement.md`.
59
60
 
60
61
  **Mechanism-match check comes FIRST**: a verdict settles the *mechanism it
61
62
  tested*, not every future proposal that resembles it — if the blocked change
@@ -79,16 +80,9 @@ distinction.
79
80
  4. **Route it** — council by default (below), user only for the reserved set.
80
81
  5. **Record** the outcome with scope and `revisit-if`.
81
82
 
82
- The five are stated here, not only behind a route, because the route was
83
- measurably unreachable: `decision-review` ships `install.default: false` in the
84
- non-default `analysis-workbench` pack, so a pack-legal install received the
85
- obligation and not the procedure. `routes_to` now names two always-on skills;
86
- the backward-audit depth in
87
- [`decision-review`](../skills/decision-review/SKILL.md) stays optional.
88
-
89
83
  Full catalog (honest nulls, don't-relitigate notes, budget-canon lines, ADRs,
90
84
  hard structural caps), the per-step detail, when-NOT-to-fire and the failure
91
- modes remain in [`skill:decision-review` § Decision-revisit gate — mechanics](../skills/decision-review/SKILL.md).
85
+ modes remain in `skill:decision-review` § Decision-revisit gate — mechanics.
92
86
  Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
93
87
 
94
88
  ## Reading a lock — the two descriptive axes
@@ -101,7 +95,7 @@ read 6 is the agent's, because reversibility belongs to the proposed transition
101
95
  and no tool reading one record supplies it. What each field means, and what a
102
96
  `[found]` basis ref does NOT claim, is in that script's module docstring. The
103
97
  evidence-priced burden table stays in
104
- [`adr-layout § The reopen record`](../docs/contracts/adr-layout.md).
98
+ `docs/contracts/adr-layout.md` § The reopen record.
105
99
 
106
100
  ```
107
101
  A GRADE IS A MEASUREMENT, NOT A PERMISSION — IT GRANTS NOTHING.
@@ -157,14 +151,14 @@ Field on the ADR: `reopen_policy: directional | owner | unclassified`, absent
157
151
  permitted; only execution of a reserved transition is gated. Absent is
158
152
  deliberately not `owner`: with 146 accepted ADRs that default would encode
159
153
  today's blockage into the new schema. Full contract, the reopen record and the
160
- precedent-creates-no-authority clause: [`adr-layout § Reopen authority`](../docs/contracts/adr-layout.md).
154
+ precedent-creates-no-authority clause: `docs/contracts/adr-layout.md` § Reopen authority.
161
155
 
162
156
  ## See also
163
157
 
164
158
  - [`recurring-criticism`](recurring-criticism.md) — the **other entrance**: this
165
159
  rule fires when a lock blocks a change, that one when the same criticism arrives
166
160
  again. It reuses the five steps and the owner-reserved table above.
167
- - [`decision-review`](../skills/decision-review/SKILL.md) — the backward-audit
161
+ - `decision-review` — the backward-audit
168
162
  procedure + the migrated gate mechanics.
169
163
  - [`ai-council`](../skills/ai-council/SKILL.md) — the re-evaluation mechanism;
170
164
  owns the convergence-summary scope + `revisit-if` contract.
@@ -180,21 +174,9 @@ precedent-creates-no-authority clause: [`adr-layout § Reopen authority`](../doc
180
174
 
181
175
  ## Honest enforcement — `instruction-only`
182
176
 
183
- `adr_cite_check` is deterministic where it runs, and nothing makes it run. No
184
- gate can observe an agent citing a decision it never opened, so step 2 above is
185
- model-carried — the same honesty boundary
186
- [`security-sensitive-stop`](security-sensitive-stop.md) and
187
- [`active-remediation`](active-remediation.md) state for their own obligations.
188
-
189
- Two reach limits, named rather than implied. The tool lives in this repository's
190
- `src/scripts/` and is **not** exposed as an `agent-config` verb, so a consumer
191
- install performs step 2 by hand; wiring the verb touches six further surfaces
192
- plus the curated `dist/agent-src/scripts/` list and is deliberately out of this
193
- change. And `docs/decisions/` is projected into no agent-visible tree at all —
194
- the agent sees ADR *numbers* cited across rules and skills, almost never ADR
195
- *text*. Until that changes, "evaluate before citing" means opening the file.
196
-
197
- `docs/contracts/` is unprojected on the same terms (`dist/agent-src/` carries no
198
- `docs/`), so the burden table this rule points at is maintainer-reachable only.
199
- That is why the reserved-set table above stays here rather than becoming a
200
- pointer: a consumer install receives these lines and not the contract.
177
+ Step 2 is model-carried: no gate can observe an agent citing a decision it
178
+ never opened. Why that is so, which two reach limits the tool has in a
179
+ consumer install, and why `docs/decisions/` is projected into no
180
+ agent-visible tree are recorded in
181
+ `contexts/authority/decision-revisit-gate-enforcement.md`,
182
+ named in `load_context` above.
@@ -20,7 +20,6 @@ routes_to:
20
20
  - "skill:subagent-orchestration"
21
21
  workspaces: [engineering]
22
22
  packs: [engineering-base]
23
- # obligation: line 35
24
23
  obligation_frequency: "per-task"
25
24
  ---
26
25
 
@@ -69,7 +68,7 @@ primitive → run in-session (clean no-op).
69
68
  `subagents.model_ceiling` caps the tier and the slice does not fit, the worker
70
69
  **escalates and never silently delivers the degraded result**; the
71
70
  orchestrator never raises the ceiling itself, and absent is *uncapped*.
72
- [`subagent-boundary § The model ceiling`](../docs/contracts/subagent-boundary.md).
71
+ `docs/contracts/subagent-boundary.md` § The model ceiling.
73
72
  3. **Dispatch** via the form gate + matching `subagent-orchestration` mode
74
73
  (independent → do-in-parallel; ordered → do-in-steps; risk/correctness →
75
74
  + judge; UI-heavy → live-app judge, efficacy-gated).
@@ -116,6 +115,6 @@ on hosts without hook slots. Per-carrier detail and what each one verifies:
116
115
  ## See also
117
116
 
118
117
  - [`subagent-orchestration`](../skills/subagent-orchestration/SKILL.md) — the form gate + 9 modes this selects.
119
- - [`subagent-boundary`](../docs/contracts/subagent-boundary.md) — what a subagent owns vs never owns (task-meaning, memory, pack-surface, safety-floor bypass).
118
+ - `docs/contracts/subagent-boundary.md` — what a subagent owns vs never owns (task-meaning, memory, pack-surface, safety-floor bypass).
120
119
  - [`auto-orchestration-activation`](../contexts/execution/auto-orchestration-activation.md) — the gate.
121
120
  - [`reasoning-orchestrator`](../skills/reasoning-orchestrator/SKILL.md) — RDP dispatch, now gated here.
@@ -2,6 +2,8 @@
2
2
  type: "auto"
3
3
  tier: "2a"
4
4
  description: "A provided prototype/mockup/design system is the spec — build 1:1; never swap fonts, controls, or layout unconfirmed"
5
+ load_context:
6
+ - ../contexts/communication/rules-auto/design-fidelity-enforcement.md
5
7
  triggers:
6
8
  - keyword: "prototype"
7
9
  - keyword: "mockup"
@@ -39,7 +41,6 @@ collision_ok:
39
41
  "mockup": "a provided mockup is the spec — 1:1 fidelity floor"
40
42
  enforced_by:
41
43
  - "instruction-only: no artifact in this tree records a fidelity comparison. lint_design_slop and lint_design_quality measure generic AI-aesthetic tells and accessibility; neither reads the handover, so a 1:1 claim is model-carried"
42
- # obligation: line 58
43
44
  obligation_frequency: "per-edit"
44
45
  ---
45
46
 
@@ -106,7 +107,7 @@ REPRODUCING A WIREFRAME'S GREYS 1:1 HONOURS THE WRONG HALF OF THE ARTEFACT.
106
107
  ```
107
108
 
108
109
  `strict` means *do not redesign*; never *reproduce a wireframe's placeholder grays*, which
109
- are **non-decisions** ([`wireframe`](../skills/wireframe/SKILL.md) § Gotchas).
110
+ are **non-decisions** (`wireframe` § Gotchas).
110
111
  **The discriminator reads the ARTEFACT, never the prose.** A finished comp whose prose
111
112
  mentions a wireframe it replaces routes **strictly** — a reference to a previous artefact,
112
113
  not a declaration about this one. **When the artefact does not declare its maturity,
@@ -155,26 +156,21 @@ a third-party builder's share link, need one word in the prompt — the
155
156
  builder-URL trigger was tried and **withdrawn** as over-broad, and stays pinned
156
157
  silent rather than merely absent.
157
158
 
158
- Every class carries its own near-miss row in `ROUTING_MATRIX`
159
- ([`design_fidelity_routing.test.ts`](../../tests/scripts/design_fidelity_routing.test.ts)),
160
- and the row must test the direction the NEW trigger opens, not one that was
161
- already closed — apply that before writing a trigger, not after. Why each class
162
- is shaped as it is, why `*.html` and a bare builder host are refused, and the
163
- worked example behind the direction rule:
164
- [`design-fidelity-routing`](../guidelines/design-fidelity-routing.md).
159
+ Each class carries a near-miss row in the routing matrix, and a new trigger's
160
+ row must test the direction that trigger opens. The matrix, the reasons behind
161
+ each class, and the worked example are in
162
+ `design-fidelity-enforcement`.
165
163
 
166
164
  Body migrated to [`guideline:design-fidelity-mechanics`](../guidelines/design-fidelity-mechanics.md) (per P4 of `road-to-kernel-and-router.md`) — URL / live-page handover (extraction into the `design-system.json` contract before the first UI write, the retrieval order, the lock boundary), surgical visual edits (targeted-edit vs redesign-trigger discipline, stable anchors), asset & imagery discipline (owned-asset path, third-party delivery is self-hosted by default, real-imagery-as-proof, iconography floor, no unrequested filler), deviation-surfacing shape, failure-mode catalog, `daf-*` fixtures.
167
165
  Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
168
166
 
169
167
  ## Honest enforcement — `instruction-only`
170
168
 
171
- Nothing records a fidelity comparison. The estate's two design linters measure
172
- generic AI-aesthetic tells (`lint_design_slop`) and accessibility
173
- (`lint_design_quality`); neither opens the handover, so nothing can tell a
174
- proven 1:1 from an asserted one. The proof clause in the Iron Law is therefore
175
- model-carried, and the committed matrix
176
- ([`design-review`](../skills/design-review/SKILL.md) § Fidelity proof) is the
177
- control — a reviewer can open it, which is more than any gate here does.
169
+ Nothing records a fidelity comparison, so the proof clause in the Iron Law is
170
+ model-carried and the committed matrix is the control. Which two linters exist,
171
+ what each measures and why neither can tell a proven 1:1 from an asserted one:
172
+ `design-fidelity-enforcement`,
173
+ named in `load_context` above.
178
174
 
179
175
  ## See also
180
176
 
@@ -45,7 +45,6 @@ collision_ok:
45
45
  "*.tsx": "one component file, two obligations: inventory before the write, review after it"
46
46
  "*.jsx": "one component file, two obligations: inventory before the write, review after it"
47
47
  "*.blade.php": "one template file, two obligations: inventory before the write, review after it"
48
- # obligation: line 39
49
48
  obligation_frequency: "per-edit"
50
49
  ---
51
50
 
@@ -74,7 +73,8 @@ STATICALLY CHECKED AND SAY SO. NEVER "LOOKS GOOD" WITH NOTHING BEHIND IT.
74
73
  The verdict is gated on evidence, not on having run a skill:
75
74
 
76
75
  - **Render capability present** (Playwright MCP, Chrome DevTools, or a live
77
- preview URL) → the [design-artifact verification checklist](../docs/contracts/design-artifact-verification.md#verification-checklist)
76
+ preview URL) → the design-artifact verification checklist
77
+ (`docs/contracts/design-artifact-verification.md` § Verification checklist)
78
78
  steps 1–5. A UI task does not pass without render evidence.
79
79
  - **Render capability absent** → the verdict is **scoped to the static checks
80
80
  that actually ran** and says which those were. This is not a downgrade to be
@@ -136,7 +136,7 @@ three `platforms:` rows that carry a `pre_tool_use` key — augment, claude,
136
136
  cowork (**clarified 2026-08-17**: "hosts carrying a slot" read as a host
137
137
  property and is a manifest one; three further hosts alias a native pre-tool
138
138
  event with no binding, and only claude honours a deny — see
139
- [`hook-architecture-v1 § Which hosts carry pre_tool_use`](../docs/contracts/hook-architecture-v1.md)).
139
+ `docs/contracts/hook-architecture-v1.md` § Which hosts carry pre_tool_use).
140
140
  The verdict is unchanged either way: a nudge that can be ignored is not
141
141
  enforcement, so `enforced_by:` stays `none` — it moves the day a mechanism can
142
142
  refuse, not the day a reminder appears. `agent-config hooks:status` answers
@@ -11,7 +11,6 @@ routes_to:
11
11
  - "skill:devcontainer"
12
12
  workspaces: [agent-config-maintainer, engineering]
13
13
  packs: [meta]
14
- # obligation: line 20
15
14
  obligation_frequency: "none"
16
15
  ---
17
16
 
@@ -19,5 +18,5 @@ obligation_frequency: "none"
19
18
 
20
19
  **Iron Law.** Wiring the dev environment itself (DevContainers, Codespaces, `devcontainer.json`, VS Code features) → load the `devcontainer` skill, not `copilot-config` (which tunes the Copilot AI on top).
21
20
 
22
- Body migrated to `skill:devcontainer`. Disambiguates the devcontainer ↔ copilot-config cluster head per [`adr-architectural-consensus-mechanism`](../docs/contracts/adr-architectural-consensus-mechanism.md).
21
+ Body migrated to `skill:devcontainer`. Disambiguates the devcontainer ↔ copilot-config cluster head per `docs/contracts/adr-architectural-consensus-mechanism.md`.
23
22
  Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "2a"
4
+ consequence_class: "irreversible-external"
4
5
  description: "Doc screenshots — anonymize sensitive data before shipping; data-bearing shots human-gated (published egress); terminal/CLI/IDE shots forbidden"
5
6
  triggers:
6
7
  - keyword: "screenshot"
@@ -27,7 +28,6 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
27
28
  packs: [meta]
28
29
  collision_ok:
29
30
  "screenshot": "a screenshot shipping into docs is the PII/anonymization gate"
30
- # obligation: line 49
31
31
  obligation_frequency: "per-event"
32
32
  ---
33
33
 
@@ -15,7 +15,6 @@ collision_ok:
15
15
  "artisan": "artisan runs inside the project container, never on the host"
16
16
  "composer": "composer runs inside the project container"
17
17
  "docker": "its own core subject"
18
- # obligation: line 22
19
18
  obligation_frequency: "per-edit"
20
19
  ---
21
20
 
@@ -18,7 +18,6 @@ workspaces: [agent-config-maintainer]
18
18
  packs: [meta]
19
19
  collision_ok:
20
20
  "src/skills/": "a skill in a fresh vertical is exactly the domain-gate surface"
21
- # obligation: line 38
22
21
  obligation_frequency: "per-task"
23
22
  ---
24
23
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "2a"
4
+ consequence_class: "authority-bypass"
4
5
  description: "Advisory content (legal, medical, financial, consulting) — matching 'not X advice' disclaimer; refuse diagnosis/dosage"
5
6
  triggers:
6
7
  - keyword: "legal brief"
@@ -42,7 +43,6 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
42
43
  packs: [meta]
43
44
  collision_ok:
44
45
  "review this contract": "contract review is advisory-shaped — the not-legal-advice footer floor"
45
- # obligation: line 52
46
46
  obligation_frequency: "per-task"
47
47
  ---
48
48
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "2a"
4
+ consequence_class: "security-boundary"
4
5
  description: "Drafts/logs/exports with real customer/candidate data — redact direct IDs, placeholders, flag quasi-ID re-identification"
5
6
  triggers:
6
7
  - keyword: "support macro"
@@ -42,7 +43,6 @@ applies_to_user_types:
42
43
  - "all"
43
44
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
44
45
  packs: [meta]
45
- # obligation: line 52
46
46
  obligation_frequency: "per-task"
47
47
  evidence:
48
48
  source_type: external-standard
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "2a"
4
+ consequence_class: "irreversible-external"
4
5
  description: "Data retention — jurisdiction gap, longest floor, honor DSR/audit holds; never delete under inquiry"
5
6
  triggers:
6
7
  - keyword: "retention policy"
@@ -27,7 +28,6 @@ applies_to_user_types:
27
28
  - "gtm"
28
29
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
29
30
  packs: [meta]
30
- # obligation: line 47
31
31
  obligation_frequency: "per-turn"
32
32
  evidence:
33
33
  source_type: external-standard
@@ -11,7 +11,6 @@ triggers:
11
11
  self_contained: true
12
12
  workspaces: [engineering]
13
13
  packs: [engineering-base]
14
- # obligation: line 30
15
14
  obligation_frequency: "per-edit"
16
15
  ---
17
16
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "2a"
4
+ consequence_class: "irreversible-external"
4
5
  description: "Production/infra/security/external-system output — blast radius + rollback; Hard-Floor never autonomous"
5
6
  triggers:
6
7
  - keyword: "production"
@@ -28,7 +29,6 @@ workspaces: [engineering]
28
29
  packs: [engineering-base]
29
30
  collision_ok:
30
31
  "migration": "a prod migration is a hard-floor evidence surface (rollback path, blast radius)"
31
- # obligation: line 49
32
32
  obligation_frequency: "per-commit"
33
33
  evidence:
34
34
  source_type: own-analysis
@@ -6,6 +6,7 @@ norm:
6
6
  tokens: 1500
7
7
  remainder:
8
8
  - "../docs/guidelines/agent-infra/evaluator-independence-mechanics.md"
9
+ consequence_class: "authority-bypass"
9
10
  description: "Commissioning a review/judge/blind-pass on your own work — never author the verdict, never narrow the scope, record the prompt with the result"
10
11
  triggers:
11
12
  - keyword: "blind review"
@@ -121,11 +122,11 @@ ITEM 1 IS ENFORCED. ITEMS 2, 3 AND 4 ARE NOT — 4 ONLY WARNS.
121
122
  NEVER CITE A GUARD THAT WARNS AS ONE THAT BLOCKS.
122
123
  ```
123
124
 
124
- [`evidence_independence.ts`](../scripts/hooks/evidence_independence.ts), a
125
+ `src/scripts/hooks/evidence_independence.ts`, a
125
126
  `pre_tool_use` concern, BLOCKS item 1 on the one host that honours a deny and
126
127
  only WARNS on item 4. Item 2 is enforced by nothing — a narrowed scope is not
127
128
  decidable from a prompt. Item 3 is enforced by
128
- [`check_review_prompt_binding.ts`](../../src/scripts/check_review_prompt_binding.ts),
129
+ `src/scripts/check_review_prompt_binding.ts`,
129
130
  where **omission beats substitution**: not committing the prompt package drops
130
131
  the round out of the checkable set with no finding.
131
132
 
@@ -17,7 +17,6 @@ applies_to_user_types:
17
17
  self_contained: true
18
18
  workspaces: [engineering]
19
19
  packs: [meta]
20
- # obligation: line 37
21
20
  obligation_frequency: "per-turn"
22
21
  ---
23
22
 
@@ -10,7 +10,6 @@ triggers:
10
10
  self_contained: true
11
11
  workspaces: [agent-config-maintainer, engineering]
12
12
  packs: [meta]
13
- # obligation: line 20
14
13
  obligation_frequency: "per-task"
15
14
  ---
16
15
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "1"
4
+ consequence_class: "authority-bypass"
4
5
  description: "Low-impact council fast-path — surface the transparency marker verbatim as the reply opener"
5
6
  triggers:
6
7
  - keyword: "low-impact council"
@@ -14,7 +15,6 @@ validator_ignore:
14
15
  self_contained: true
15
16
  workspaces: [agent-config-maintainer, engineering]
16
17
  packs: [meta]
17
- # obligation: line 30
18
18
  obligation_frequency: "per-turn"
19
19
  ---
20
20
 
@@ -80,6 +80,6 @@ this rule does not constrain their output.
80
80
 
81
81
  ## See also
82
82
 
83
- - [`ai-council-config § Low-impact council opt-in`](../docs/contracts/ai-council-config.md#low-impact-council-opt-in)
83
+ - `docs/contracts/ai-council-config.md` § Low-impact council opt-in
84
84
  - [`direct-answers`](direct-answers.md) — invented-facts Iron Law (provenance kin).
85
85
  - `scripts/ai_council/low_impact.ts` — marker source.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "2a"
4
+ consequence_class: "authority-bypass"
4
5
  description: "Finance-pack output (runway, valuation, DCF, scenarios, unit economics) — never a final invest/raise call; disclosure footer"
5
6
  triggers:
6
7
  - keyword: "runway"
@@ -33,7 +34,6 @@ packs: [finance-basic, finance-advanced]
33
34
  trust:
34
35
  level: advisory
35
36
  human_review_required: true
36
- # obligation: line 53
37
37
  obligation_frequency: "per-task"
38
38
  ---
39
39
  <!-- agent-config:human-review-banner -->
@@ -74,43 +74,17 @@ asks; the ask becomes the work, not the exit.
74
74
  **Does NOT fire:** user fenced the scope this turn · no falsifiable break (a
75
75
  preference, not a red) · already decided by the user.
76
76
 
77
- ## Why separate from `active-remediation`
77
+ ## Why a separate rule, and its activation gap
78
78
 
79
- That rule forbids ignoring a spotted issue and its ladder permits **note + ask**.
80
- Two properties made it insufficient, both measured 2026-08-20: it is `type: auto`
81
- on `refactor`/`legacy`/`cleanup` triggers — **none of which a failing CI job
82
- matches**, so it does not load when the obligation matters most — and its
83
- note-and-ask tier is what let a session name a red check's cause, name the
84
- file's author, and hand it back still red.
85
-
86
- Mechanics (fix-now size criteria, follow-up shape) stay there; this rule only
87
- deletes the two escapes.
88
-
89
- ## Honest activation gap — this rule is `auto`, and it wanted to be `always`
90
-
91
- It shipped `auto` for a budget reason, not a design one, and the gap that leaves
92
- is exactly the one it was written to close: **a red check the agent sees in tool
93
- output triggers nothing.** Keyword triggers match the PROMPT. So the rule loads
94
- when a human says "CI is red" or "not my test", and does NOT load when a test
95
- run comes back red and nobody has said a word.
96
-
97
- `check_always_budget` is the reason: the extended always-budget sat at
98
- 60,252 / 60,254 chars — **two characters of headroom** — and the cap is a
99
- ratchet that may only move down. The other nine always-rules are the kernel,
100
- which `block_kernel_rule_writes` denies agent writes to, so no room can be made
101
- from this side. A 2,332-char rule puts the total at 103.9 %.
102
-
103
- Closing the gap needs one of: the ext-cap ratchet opened deliberately (a
104
- maintainer decision, recorded), a kernel rule shortened to make room, or a
105
- `post_tool_use` carrier that notices a non-zero verification exit — the only
106
- option that would fire on tool output rather than on wording. Until then, `auto`
107
- plus this paragraph is the honest state: the obligation is real, its delivery is
108
- partial, and the partiality is named rather than implied away.
79
+ Why `active-remediation` alone was insufficient, and why this rule ships `auto`
80
+ although it wanted `always` — so a red check seen only in tool output triggers
81
+ nothing — are in
82
+ `guideline:agent-infra/active-remediation-mechanics` § fix-what-you-see.
109
83
 
110
84
  ## Honest enforcement — `instruction-only`
111
85
 
112
86
  Nothing observes a disposition. "I fixed it", "I landed a roadmap for it" and
113
87
  "I named the author and moved on" are the same prose to every gate in this tree,
114
88
  and the issue set is whatever the agent happened to see. So the two dispositions
115
- above are model-carried, and the activation gap named in the previous section
89
+ above are model-carried, and the activation gap named above
116
90
  sits on top of that rather than beside it.
@@ -43,7 +43,6 @@ collision_ok:
43
43
  "formrequest": "FormRequest named in a generic artifact is leakage — the lint surface"
44
44
  "phpstan": "phpstan named in a generic artifact is leakage — the lint surface"
45
45
  "rector": "rector named in a generic artifact is leakage — the lint surface"
46
- # obligation: line 65
47
46
  obligation_frequency: "per-edit"
48
47
  ---
49
48
 
@@ -2,6 +2,7 @@
2
2
  type: "auto"
3
3
  tier: "2a"
4
4
  alwaysApply: false
5
+ consequence_class: "irreversible-external"
5
6
  description: "Git history — no unasked rebase/squash/amend; never drop foreign commits; pushed rewrite → re-push same turn"
6
7
  triggers:
7
8
  - keyword: "git rebase"
@@ -23,7 +24,6 @@ workspaces: [engineering]
23
24
  packs: [engineering-base]
24
25
  enforced_by:
25
26
  - "hook:block-no-verify"
26
- # obligation: line 35
27
27
  obligation_frequency: "per-commit"
28
28
  ---
29
29
 
@@ -86,6 +86,6 @@ Trigger-set above activates this routing on demand, independent of the disciplin
86
86
  - [`skill:git-workflow`](../skills/git-workflow/SKILL.md) — Safe Squash-After-Push protocol and Divergent-State Recovery decision tree.
87
87
  - `git … --no-verify` / `core.hooksPath` overrides — deterministically blocked by the `block-no-verify` PreToolUse guard (`src/scripts/hooks/block_no_verify.ts`, registered in `hook_manifest.yaml`) **on `claude`, the one host that both binds `pre_tool_use` and honours a deny**. It is *bound* on augment and cowork too, and ignored there. Everywhere else the Iron Laws above are model-carried and "deterministically blocked" is not a claim this rule can make. To check the host you are on rather than trusting this sentence, run `agent-config hooks:status`.
88
88
 
89
- **Corrected 2026-08-17, in both directions, because this line was wrong on each side.** It read "the guard has nowhere to bind" on cursor, cline, windsurf, gemini and copilot — refuted for three of the five by the manifest's own `native_event_aliases` table, which already maps `preToolUse`, `PreToolUse` and `BeforeTool` onto `pre_tool_use`: there the guard is **unbound, not unbindable**, and only windsurf and copilot carry no pre-tool alias row here. And it certified augment, claude and cowork as the enforcing set — `host_semantics.ts` verifies **claude alone**, while the augment and cowork trampolines discard dispatcher output and `exit 0` unconditionally, so a guard bound there runs and is then ignored. Both halves are the same failure: a host-capability claim this tree never established. The four states are tabulated once in [`hook-architecture-v1 § Which hosts carry pre_tool_use`](../docs/contracts/hook-architecture-v1.md).
89
+ **Corrected 2026-08-17, in both directions, because this line was wrong on each side.** It read "the guard has nowhere to bind" on cursor, cline, windsurf, gemini and copilot — refuted for three of the five by the manifest's own `native_event_aliases` table, which already maps `preToolUse`, `PreToolUse` and `BeforeTool` onto `pre_tool_use`: there the guard is **unbound, not unbindable**, and only windsurf and copilot carry no pre-tool alias row here. And it certified augment, claude and cowork as the enforcing set — `host_semantics.ts` verifies **claude alone**, while the augment and cowork trampolines discard dispatcher output and `exit 0` unconditionally, so a guard bound there runs and is then ignored. Both halves are the same failure: a host-capability claim this tree never established. The four states are tabulated once in `docs/contracts/hook-architecture-v1.md` § Which hosts carry pre_tool_use.
90
90
 
91
91
  The frequency join in `check_enforcement_coverage.ts` reports this obligation uncovered on **four** platforms — cursor, cline, windsurf, gemini. It skips `fallback_only` platforms before computing, so copilot never appears in its output and must not be quoted as if it did; copilot is uncovered because this package binds nothing there.