@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
package/CHANGELOG.md CHANGED
@@ -32,6 +32,69 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
32
32
 
33
33
  ### Changed
34
34
 
35
+ - **46 settings keys are retired; an install that never changed them sees no
36
+ difference.** Each key's shipped default is now fixed behavior: every reader
37
+ of it — code, rule and command prose, the wizard — was rewritten to that
38
+ default in the same change. **If your `.agent-settings.yml` still sets one,
39
+ that value is ignored** and the loader prints one line per key —
40
+ `<key> was removed (<what decides instead>); ignored.` — so a non-default
41
+ value you chose is lost visibly, never silently. Delete the line to silence
42
+ it. The keys:
43
+ - Output and tone: `telegraph.speak`, `tokens.rich_skills`, `personal.minimal_output`, `personal.play_by_play`, `personal.pr_comment_bot_icon`, `verbosity.intent_announcements`, `verbosity.preview_artifacts`, `verbosity.routine_confirmations`, `verbosity.post_action_reports`.
44
+ - Reasoning protocol switches: `reasoning.auto_gate`, `reasoning.components.orchestrator`, `reasoning.components.notes_first`, `reasoning.components.grounding`, `reasoning.components.intent`, `reasoning.components.complexity_first`, `reasoning.components.verifier_default`, `reasoning.components.prediction_tracking`, `reasoning.components.decision_ledger`, `reasoning.components.uncertainty_budget`.
45
+ - Roadmap cadence: `roadmap.skip_pre_run_gate`, `roadmap.dashboard_regen_cadence`.
46
+ - Command suggestion and PR creation: `commands.auto_detect`, `commands.suggestion.enabled`, `commands.suggestion.confidence_floor`, `commands.suggestion.cooldown_seconds`, `commands.suggestion.max_options`, `commands.create_pr.api_examples`, `commands.create_pr.ui_paths`, `commands.create_pr.api_paths`.
47
+ - Memory and knowledge sharing: `memory.cadence`, `memory.review_threshold`, `knowledge.global_sharing.redaction.enabled`, `knowledge.global_sharing.redaction.halt_on_trigger`, `knowledge.global_sharing.auto_promote_threshold`, `knowledge.global_sharing.freshness.hypothesis_after_days`, `knowledge.global_sharing.freshness.stale_after_days`.
48
+ - Hooks and engine: `hooks.concern_budget.max_per_event`, `hooks.concern_budget.hard_fail`, `decision_engine.surface_traces`, `decision_engine.on_block_fallback`, `explain.enable_last`.
49
+ - Remaining: `project.pr_template`, `pipelines.skill_improvement`, `consistency.cross_source`, `subagents.downshift`, `ai_team.suppress_setup_hint`.
50
+ The reference page lists each key with the behavior that replaces it
51
+ (`templates/agent-settings.md` § Retired keys).
52
+
53
+ - **A medium security finding now needs a disposition before a release
54
+ ships.** `check_finding_dispositions` treats `security × medium` as blocking
55
+ for every release after 16.3.0 (council 2026-10-07, 2/2). Such a row must
56
+ carry `fixed` (with its commit), `false_positive` or `accepted_risk`, each
57
+ with a rationale and a `verified_by`, like any blocking row, and
58
+ `still_open` keeps the release red with a message saying so. On a release
59
+ pull request (`--pr`), a medium security finding the self-review reported
60
+ but the ledger lacks is red too. Releases up to 16.3.0 are judged as they
61
+ shipped. The merge gate (`self_review_gate.classifyBlocking`) is unchanged,
62
+ so on every other pull request the finding only advises. `claim × medium`
63
+ stays advisory in both.
64
+ - **No spend bound applies unless you set one.** Owner directive, 2026-10-05,
65
+ recorded as **ADR-279** and accepted on the owner's own answer (option (a))
66
+ on 2026-10-06. With nothing configured, no USD or token ceiling this package
67
+ defines stops a council run, a debate or a paid gate, and none of them asks —
68
+ because no ceiling exists to ask about. Every ceiling remains settable and
69
+ behaves exactly as its contract describes once set.
70
+ **Your own council file is not rewritten.** If you copied
71
+ `agents/templates/.ai-council.yml.example` before this release it carries
72
+ these lines explicitly, and they are your figures now:
73
+ `cost_budget.max_input_tokens: 500000`, `cost_budget.max_output_tokens:
74
+ 200000`, `cost_budget.max_total_usd: 20.0` and `debate.max_cost_usd: 5.00`.
75
+ Delete them to become unbounded; keep them to stay bounded. The shipped
76
+ defaults behind an absent key moved to `0` in all three layers — the loader,
77
+ the command's own fallback for a file with no `cost_budget` block, and the
78
+ `CostBudget` constructor.
79
+ **`max_calls` and the debate round limits did not move**: they bound call
80
+ count per invocation, not money. Nor did any of the controls listed under
81
+ § What stays in ADR-279 — provider refusals, the per-day plan-quota guards,
82
+ the `--confirm` a class-1 gate asks for, the debate's between-round
83
+ confirmation, or the budget an unattended run must still be given.
84
+ **Two defects were repaired in the same change, and both could bite a
85
+ configured install.** `0` was documented as disabling a token cap and did
86
+ not — the two token comparisons carried no zero guard while the two USD
87
+ comparisons beside them did, so a budget with every cap at zero breached on
88
+ a ten-token estimate. And the class-1 gate's two caps had to BOTH be set
89
+ before EITHER applied, so setting one left you bounded by neither. Each cap
90
+ now bounds alone.
91
+ **One optional hard stop now works for the first time.** With
92
+ `cost.enforcement: hard-stop` and a budget configured, the cost preflight
93
+ resolved its budget script relative to the working directory, read the
94
+ resulting empty output as "no budget configured", and exited `0` on a spent
95
+ budget from every working directory. It now resolves the script from its own
96
+ location and exits non-zero as its contract always said it would.
97
+
35
98
  - **`agent-config init` no longer overwrites a managed file you have edited.**
36
99
  Owner ruling, 2026-09-21, taken after an AI council split 1/1 on it. Until
37
100
  now the installer's `_resolve_file_conflict` returned `write` for every
@@ -125,6 +188,79 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
125
188
 
126
189
  ### Added
127
190
 
191
+ - **An old project keeps its real commit format — `agent-config git:convention
192
+ measure`.** A repository with no declared convention and no approved card is
193
+ now measured instead of silently given Conventional Commits: the verb samples
194
+ the non-merge history of the default branch, resolved as the carrier resolves
195
+ it (the server's symref, then `refs/remotes/origin/HEAD`) — with no default
196
+ branch it says so and exits `1` rather than sampling `main`, `master` or the
197
+ current branch in its place — drops bots, automation and bulk imports, caps
198
+ each author per half, and names the established subject family or — below the
199
+ bar — the two strongest. It also proposes a `branch_pattern` from the remote
200
+ branch names (or reports no clear pattern) and shows the observed update style,
201
+ which it never adopts. The thresholds are constants of the module the verb
202
+ runs and are rendered into the commit-subject reference, not restated by hand.
203
+ `show` and `subject` print `no convention established — run git:convention
204
+ measure` in that state (`convention_established` under `--json`; exit codes
205
+ unchanged). An interactive `/commit` asks once — the established family or the
206
+ two strongest against Conventional Commits — and writes the answer to the
207
+ approved convention card, also when the answer is Conventional, so the question
208
+ is never repeated; `/commit:in-chunks` never asks and reports the measurement.
209
+ Where the choice maps to a setting, `measure` prints the ready-to-commit
210
+ `.git-convention.yml` (`commit_format`, `branch_pattern`, never
211
+ `update_strategy`); a human creates and commits it, the agent never writes it.
212
+
213
+ - **A team's git convention can be declared instead of measured — the new
214
+ `git:` settings block.** Three Class-C keys, each defaulting to the
215
+ behaviour every install had before, so an install that sets nothing is
216
+ unchanged. `git.commit_format: ticket-conventional` writes
217
+ `DEV-1234 feat(exporter): …` instead of `feat(DEV-1234): …` and treats a
218
+ ticket in the scope as a wrong subject; `/commit` and `/commit:in-chunks`
219
+ validate against the regex for the configured format, and the
220
+ conventional-commits-writing classifier gains a `ticket-conventional` family
221
+ so such a history is no longer misread as free-text ticket prefixes.
222
+ `git.branch_pattern` (`{type}`, `{ticket}`, `{slug}`) shapes the branches
223
+ `/worktree:create` proposes; reading a ticket back out of a branch now takes
224
+ the first `[A-Z][A-Z0-9]+-[0-9]+` token that is not a standard name (`UTF`,
225
+ `ISO`, `SHA`, `RFC` prefixes), so `DEV-1234-device-export` yields its ticket.
226
+ Under `git.update_strategy: rebase`, `/create-pr` asks for
227
+ `git rebase origin/<base>` plus `--force-with-lease`, and `/pr:merge`,
228
+ `/prepare-for-review` and `/review:changes` report a behind branch instead of
229
+ updating it; none of them merges the base into a feature branch — one git-workflow reference
230
+ (`references/branch-update.md`) now owns that decision, and
231
+ `sync_pr_branch` exits `3` instead of merging when such a branch is behind
232
+ (a current branch still exits `0`). **What it does not do:** the setting picks the operation and never
233
+ authorises it; git-history-discipline still requires the user's request for
234
+ every rebase, fixup or autosquash. A team declares the keys in
235
+ `.git-convention.yml`, a tracked file at the repository root that overrides
236
+ every developer settings file and where either value is a declaration
237
+ (ADR-283): `git.update_strategy` is read from it at the commit a pull request
238
+ is judged against, so a worktree, a fresh clone and CI agree and a pull
239
+ request cannot change the strategy its own update is judged by;
240
+ `git.commit_format` and `git.branch_pattern` are read at `HEAD`. Without the
241
+ carrier the keys come from the project settings files as before; the
242
+ user-global file does not carry them, and the settings GUI no longer offers
243
+ them while it writes there. `agent-config git:convention show` prints the
244
+ value in force, the commit it was read at and a differing checkout value as
245
+ a candidate; `show --key` judges only the named keys. The commit is the
246
+ `--base` given — a pull request passes `--base origin/<its base>` — else the
247
+ default branch; nothing asks the forge. A carrier that does not parse makes
248
+ `sync_pr_branch` exit `4`, a target that names no commit exit `1`, and a named
249
+ commit that cannot be fetched is `unverified`; none of them merges. A target
250
+ that moves between the strategy read and the merge is read again at the
251
+ commit being merged, which is governed by the strategy it carries: the same
252
+ strategy goes on against it, another one exits `1` before anything is
253
+ merged. A blank `--base` is a usage error (exit `2`) in `sync_pr_branch`,
254
+ `git:convention show` and `sync`, and `check_branch_freshness`, never read
255
+ as no `--base`. A commit-linting config
256
+ in the repository still outranks `git.commit_format`. In a packed consumer
257
+ install `git:convention show` is the git surface that resolves, and the
258
+ consumer matrix proves it with a `git-convention` leg; `sync_pr_branch` and
259
+ `check_branch_freshness`, which `/pr:merge`, `/create-pr`, `/fix:ci` and
260
+ `/roadmap:next` run through `./scripts-run`, still need a source checkout of
261
+ this package.
262
+ The merge method is not a key: `/pr:merge` already reads it from the forge.
263
+
128
264
  - **A push no longer ships a branch whose tree contradicts its own commits.**
129
265
  `check_branch_work_committed` runs first in the pre-push hook, and it exists
130
266
  because this branch produced the defect it guards: a merge-reconciled baseline
@@ -726,266 +862,233 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
726
862
  > keeps the active era under the 250-line drift cap enforced by
727
863
  > `tests/test_changelog_eras.py`.
728
864
 
729
- # Era: 16.2.x — current
865
+ # Era: pre-16.3.0 — archived
866
+
867
+ > All entries before `16.3.0` live in
868
+ > [`docs/archive/CHANGELOG-pre-16.3.0.md`](docs/archive/CHANGELOG-pre-16.3.0.md).
869
+ > The archive is read-only; git tags remain the canonical
870
+ > source for what shipped. Splitting them out of the main file
871
+ > keeps the active era under the 250-line drift cap enforced by
872
+ > `tests/test_changelog_eras.py`.
873
+
874
+ # Era: 16.3.x — current
730
875
 
731
- > Started at `16.2.0`. Full entries live inline below.
876
+ > Started at `16.3.0`. Full entries live inline below.
732
877
  > The drift test caps this era at 250 lines of entry body; growth past
733
- > that forces a new era split (`# Era: 16.3.x`, etc.) — see
878
+ > that forces a new era split (`# Era: 16.4.x`, etc.) — see
734
879
  > [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
735
880
 
736
- ## [16.2.0](https://github.com/event4u-app/agent-config/compare/16.1.0...16.2.0) (2026-10-01)
881
+ ## [16.4.0](https://github.com/event4u-app/agent-config/compare/16.3.0...16.4.0) (2026-10-10)
737
882
 
738
883
  ### Release highlights
739
884
 
740
- - **Behaviour changes:** keep ui-audit-gate inside the measured per-spawn payload ceiling (bc499bf); record taxonomy detection and the fourth greenfield option (91d0c55); register the gates, and stop the reader guessing (8714a7a); declare inputs once, structurally (3cfaa6f); disprove a deletion claim against the tree before it blocks a release (c7f813f).
741
- - **Default changes + migration:** correct the blocker gate's own scope claims, and pin the widened default (5857ef1).
742
- - **Security and correctness:** enable auto-merge, fix the deploy-row checker, and withdraw an AC-5 close that did not hold (#2114) (52f2da9); re-derive the codex writer pin after install.ts shrank (3c2041a); an absent section must parse, and now a test says so (51c2bab); pay the read-surface declaration nothing (bfce3ac); a deterministic traversal test, and a claim I got wrong (b883d80); a canonical ASCII boundary, and the exploit that is not there (6281500); +31 more.
743
- - **Honest nulls:** The plumbing roadmap's last measurable gap, measured (#2135) (db000c5); a bytes row that exists, and a gate that refuses one without it (0863114); re-bind the skip to the post-fix scope, and record what the read returned (246d7ea).
744
- - **Known limitations:** ci_settle refuses an argument it does not honour, and the doc that taught a wrong one (#2130) (tests/scripts/memory_learn_hook.test.ts declares a residual) (dbbf470); A zero in the enforcement table becomes a fact with a date on it (#2141) (tests/install/global_install_hooks_smoke.test.ts declares a residual) (ab2c75d); The review of the stop gate, acted on (#2128) (tests/scripts/release.test.ts declares a residual) (5689c2d); an opt-in write of two size caps, and neither traffic variable (src/scripts/install.ts declares a residual) (74e21e2).
885
+ - **Behaviour changes:** retire 46 default-neutral derivable settings keys (#2274) (b35d432); A team's git convention can be declared: ticket-prefixed commits, branch shape, and rebase instead of merge (#2235) (0f9c32e); ADR-281 and the texts it corrects (partial, self-modification roadmap) (#2251) (82a131f); credit a gate with the obligations it refuses, not the whole rule (#2246) (93a192b); precedence rule, contradiction review, and a reachable MCP-use recorder (#2241) (a6e5942); repair signals that mean what they say (loop flag, cap comments, verify forms) (#2228) (7548bfc); +1 more.
886
+ - **Default changes + migration:** Correct AC-2 to 37: one of the 47 selected keys was not default-neutral (#2278) (e48f52c); doctor is offline by default; --online opts the forge read back in (#2277) (60c129b); retire 46 default-neutral derivable settings keys (#2274) (b35d432); Queue 47 default-neutral settings keys for retirement (#2272) (9582574); a default install is served each rule body once; report pending reinstall (#2238) (d7b0955).
887
+ - **Security and correctness:** Findings that get a disposition: medium security blocks a release, and every 16.3.0 row ends somewhere (#2266) (bf7ed4f); an ignored file is not a pass; a green row names the type checker that did not run (#2244) (3e00f5e); a default install is served each rule body once; report pending reinstall (#2238) (d7b0955); land the two review-round defects stranded when #2231 merged mid-lane (#2233) (4e19d06); repair signals that mean what they say (loop flag, cap comments, verify forms) (#2228) (7548bfc); round-3..7 review findings (follow-up to #2230) (#2232) (3e7baa1); +4 more.
888
+ - **Honest nulls:** round-3..7 review findings (follow-up to #2230) (#2232) (3e7baa1); refuse a triggerless routed rule; measure the real thinned total (#2226) (52b409e).
889
+ - **Known limitations:** Phase 2 waits on a cancelled instrument, not on a machine (#2282) (0f6209e); retire 46 default-neutral derivable settings keys (#2274) (src/scripts/install.ts declares a residual) (b35d432); release evidence that reproduces (#2250) (src/scripts/_lib/release_highlights.ts declares a residual) (35209c1); a default install is served each rule body once; report pending reinstall (#2238) (src/scripts/check_standing_rule_delivery.ts declares a residual) (d7b0955); land the two review-round defects stranded when #2231 merged mid-lane (#2233) (4e19d06); measure the thinned layer in one unit, and price what stands between it and the ceiling (#2231) (src/scripts/install.ts declares a residual) (96dff15).
745
890
 
746
- > **Governance mix:** governance-only 70 vs consumer-only 22 (taxonomy 1.1.0).
891
+ > **Governance mix:** governance-only 38 vs consumer-only 1 (taxonomy 1.1.0; range 5550dec9cf92..79e335f1c1b9).
747
892
 
748
893
  ### Features
749
894
 
750
- * **host-env:** an opt-in write of two size caps, and neither traffic variable ([74e21e2](https://github.com/event4u-app/agent-config/commit/74e21e2d4b81714e2721a31b9aea93455b85211d))
751
- * **retrieval-sanitize:** generate the read-surface list, close the two named gaps ([96c9b2a](https://github.com/event4u-app/agent-config/commit/96c9b2abcd4b9ed6f57db568f0c771f9ef36e9f6))
752
- * **retrieval-sanitize:** salvaged work from an interrupted run, unverified ([a175faf](https://github.com/event4u-app/agent-config/commit/a175fafedbcb4ea6a27924a77845d85d45bf16f6))
753
- * **settings-fence:** refuse a Class C key, leave every other key writable ([7d285e5](https://github.com/event4u-app/agent-config/commit/7d285e59840867b1faede405561407297d6ab551))
754
- * **exit-codes:** one table, and the gate that keeps it the only one ([7f4cbbb](https://github.com/event4u-app/agent-config/commit/7f4cbbbe177f990bb80f492bc4f3370011259d3f))
755
- * **work-engine:** wire the taxonomy into the audit, the schema and apply ([7f87162](https://github.com/event4u-app/agent-config/commit/7f8716240d557dc78a3d2ac25a783ac8ed4ca9ee))
756
- * **work-engine:** detect the component taxonomy a project already chose ([0772aaa](https://github.com/event4u-app/agent-config/commit/0772aaaa1c87ee633a943dc652613461926040a4))
757
- * **plumbing-guard:** salvaged work from an interrupted run, unverified ([b8a7037](https://github.com/event4u-app/agent-config/commit/b8a7037e37ed29f52fc169fbbf7821d7db281791))
758
- * **gates:** keep the kill-switch table equal to the tree it counts ([948f8f2](https://github.com/event4u-app/agent-config/commit/948f8f25bc342bb59d0f0715ac3da2caeed67def))
759
- * **host-format-gate:** generate the format cell instead of maintaining it ([86093ec](https://github.com/event4u-app/agent-config/commit/86093ec7dc499a6c77112fa82466e4a3f3c00e70))
760
- * **hooks:** a new test file clears detector F only with a red it passed ([04bb5ea](https://github.com/event4u-app/agent-config/commit/04bb5ea4a3982688e16afaf00713eb365d0d12da))
761
- * **hooks:** detector C reads the run record, and keeps a replay mode ([dcb07e0](https://github.com/event4u-app/agent-config/commit/dcb07e09b95379d1fedfeeb9783a3f7a3e4618c7))
762
- * **hooks:** record the verification runs a turn actually made ([99255cd](https://github.com/event4u-app/agent-config/commit/99255cd9fd2dcb328d40b2528167a2a8682b9c67))
763
- * **hooks:** classify a verification RUN, not the command text ([d638959](https://github.com/event4u-app/agent-config/commit/d638959550a7ab6bf65acf9939fbb8b5f3b708d9))
764
- * **metrics:** a bytes row that exists, and a gate that refuses one without it ([0863114](https://github.com/event4u-app/agent-config/commit/08631143754a53b6a4ad25296e573a4451fdbde6))
765
- * **report:** print menu bytes per install profile, and show them equal ([8ecb71c](https://github.com/event4u-app/agent-config/commit/8ecb71c3d66b7e67055355296786def48c0e8e87))
766
- * **gates:** fail a diff that changes a skill carrying no trigger corpus ([7539f7f](https://github.com/event4u-app/agent-config/commit/7539f7f4577d8ad2dcb6136c73572472307ae658))
767
- * **eval:** score the ranker with an interval, and refuse a verdict under n=100 ([f6a0608](https://github.com/event4u-app/agent-config/commit/f6a0608d198ca5255fd01aac7942d49f05b87c5d))
768
- * **eval:** give every routing-matrix case an expected-skills label ([06f8cb3](https://github.com/event4u-app/agent-config/commit/06f8cb3f543fd937728461758a89d0daa4dfc4c9))
769
- * **roadmap-template:** a verify clause may say what the command must produce ([8f60a26](https://github.com/event4u-app/agent-config/commit/8f60a269d1358f9b1981b66bd3d4a5c9fc9ac12f))
770
- * **roadmaps:** publish the runnable and falsifiable share, and refute a zero ([7e0fd6b](https://github.com/event4u-app/agent-config/commit/7e0fd6ba6c9b3dab62c3f3dbf3ff5a846515b0a4))
771
- * **closure-scan:** list the verify clauses whose oracle cannot say no ([86d2c07](https://github.com/event4u-app/agent-config/commit/86d2c07771c7c2a8000a63f46cd2de27b9d57c1c))
772
- * **run-continuation:** carry the expectation into the continuation message ([67fdd5b](https://github.com/event4u-app/agent-config/commit/67fdd5b0f1dfa743444930f591cb2a231a3bfe00))
773
- * **verify:** one parser for the verify clause, with an expectation half ([8b5a878](https://github.com/event4u-app/agent-config/commit/8b5a87881c1dea06b8c092d48dbac2991d3c5760))
774
- * **hooks:** carry the host lowering table further toward every host ([d28ce58](https://github.com/event4u-app/agent-config/commit/d28ce587ab6b3e3010aada63c59985d22d63c0dd))
775
- * **obligations:** name the writer on every obligation row ([46d3ebf](https://github.com/event4u-app/agent-config/commit/46d3ebf806f52cddec4e65913860b055ec869417))
776
- * **denylist:** give every external-source subject a registry entry ([bb1107d](https://github.com/event4u-app/agent-config/commit/bb1107d5a4b033021bf6c9d22f30c977b277150c))
777
- * **probe:** report a false green as a refusal, and archive the roadmap ([0eadd50](https://github.com/event4u-app/agent-config/commit/0eadd503f9f735162acc951d636987738f1d92f4))
778
- * **design-pass:** report stale, and stop reporting a count against inputs that moved ([4032b24](https://github.com/event4u-app/agent-config/commit/4032b24aea47144cf07fc51680a0b1d227660c71))
779
- * **probe:** record the inputs beside the timestamp, on every artefact ([c86ebad](https://github.com/event4u-app/agent-config/commit/c86ebad009fe41485f6e28ce8b4fa23ef9a5dbac))
780
- * **ui:** report a port that handed all its work back, in shadow ([55b4378](https://github.com/event4u-app/agent-config/commit/55b4378732b7601afbe37356c9e35dba7aac7c11))
781
- * **probe:** give the conformance artefact a vocabulary for what it read ([e07a896](https://github.com/event4u-app/agent-config/commit/e07a8967164e7d2c8409c91ec67b56dca12d52b0))
782
- * **reporter:** count the artifacts that carry one obligation ([cabc485](https://github.com/event4u-app/agent-config/commit/cabc48540c446dbc4138e00117aec49545d155d2))
783
- * **doctor:** report the host traffic environment, and never omit a row ([454e072](https://github.com/event4u-app/agent-config/commit/454e07223d5ba539bc341b802506eca282bd9122))
784
- * declare inputs on one command and one skill ([124dc5b](https://github.com/event4u-app/agent-config/commit/124dc5becdbab71993c7993eac6072265cd9d9fe))
785
- * **mcp:** derive the argument-hint and the wire arguments from the declaration ([15f1f66](https://github.com/event4u-app/agent-config/commit/15f1f665c082fa6fb74a11c91ac11e7e995afcdf))
786
- * **scripts:** fail an in-body reference no declaration backs ([c2a2d07](https://github.com/event4u-app/agent-config/commit/c2a2d07f3bb9d794aa9110aa2768ab48f84ba492))
787
- * **schemas:** declare inputs once, structurally ([3cfaa6f](https://github.com/event4u-app/agent-config/commit/3cfaa6f2183bd6f567a4ff0ebc2ead864ac1df82))
788
- * **scripts:** ratchet foreign placeholder syntaxes shrink-only ([d9c99ad](https://github.com/event4u-app/agent-config/commit/d9c99ad9a3a8d1f7d0d825109a59daaa17d45ba7))
789
- * **scripts:** census the invocation surface, with the unit defined first ([833e2f6](https://github.com/event4u-app/agent-config/commit/833e2f6f44cef9e7ebbd277ef4b5e7dee8744edd))
790
- * **scripts:** count which concerns sit on slots that cannot deny ([76811e9](https://github.com/event4u-app/agent-config/commit/76811e9653014adfea2f0f157733a2117f0af248))
791
- * **scripts:** add the body-portable eligibility predicate ([e0eb189](https://github.com/event4u-app/agent-config/commit/e0eb1892b91087afa673861b4b3df172d411e55d))
792
- * **scripts:** census which skill semantics the MCP-lite carrier drops ([88cff00](https://github.com/event4u-app/agent-config/commit/88cff0053daeb92c645673781094b0ca20b6517d))
793
- * **gates:** lint_roadmap_blockers scans agents/roadmaps/stubs/ ([a1e47cd](https://github.com/event4u-app/agent-config/commit/a1e47cd288ca00d18dbeb4e30d0b2f37b58ce886))
794
- * **design-review:** demote the screenshot to an appearance-only floor ([d7427f7](https://github.com/event4u-app/agent-config/commit/d7427f7bd16d8da0dca699cc5d03291059b0659d))
895
+ * **roadmaps:** 6.1's verdict lands, and two things it uncovered are held rather than worked around (#2294) ([79e335f](https://github.com/event4u-app/agent-config/commit/79e335f1c1b9c41d6ee75c6c38ef57eeeb63f010))
896
+ * **roadmaps:** Phase 7's population, measured — and the first sweep that was thrown away (#2293) ([7a7a55b](https://github.com/event4u-app/agent-config/commit/7a7a55b2d8947d2c2e26ff59862bc8e9fac3f573))
897
+ * **roadmaps:** the hold step 1.1 asked for is neither of the two shapes it offered (#2283) ([e90a478](https://github.com/event4u-app/agent-config/commit/e90a4788ec0d9afa07aaeeac00bf73b76ecc30f6))
898
+ * **gates:** bring later/*-carried.md into the blocker lint, and nothing else (#2280) ([11dc63f](https://github.com/event4u-app/agent-config/commit/11dc63fe8521a0f87fb5a72203453497aca04ccf))
899
+ * **settings:** retire 46 default-neutral derivable settings keys (#2274) ([b35d432](https://github.com/event4u-app/agent-config/commit/b35d432b11cc3328517c7963c570bb1a06b8dda7))
900
+ * cross-file blocker refs and declared snapshot exemption (authority-routing phases 4-5) (#2264) ([b01d71d](https://github.com/event4u-app/agent-config/commit/b01d71d94dd8e763d6c1d5f9fc6f7776beffde55))
901
+ * **merge:** auto-merge on the owner's word, with a council danger gate (ADR-282) (#2256) ([edd18fe](https://github.com/event4u-app/agent-config/commit/edd18fea6867255375dc3797121260e137322f26))
902
+ * **roadmaps:** a routed authority for dangerous-action decisions (#2254) ([4b54335](https://github.com/event4u-app/agent-config/commit/4b54335a6217e25ae9c6273b591ee0e2919683c5))
903
+ * **enforcement:** credit a gate with the obligations it refuses, not the whole rule (#2246) ([93a192b](https://github.com/event4u-app/agent-config/commit/93a192bbd36c051032e028a68fed7f8574908907))
904
+ * **probe:** blocking time by cause, the CI-and-subagent hypothesis refuted (#2248) ([179019f](https://github.com/event4u-app/agent-config/commit/179019fb3c310f9ad1226877b7f191ae30f9d394))
905
+ * **release:** release evidence that reproduces (#2250) ([35209c1](https://github.com/event4u-app/agent-config/commit/35209c1f5bd2c7cc2521693c58523402ad03618e))
906
+ * **gates:** a ratification fence that follows the dispatcher's imports (#2247) ([8fdb481](https://github.com/event4u-app/agent-config/commit/8fdb4816921e50fbcb78e70beb0c347bad11890f))
907
+ * **roadmaps:** parked blockers get counted, one owner question gets a blocker, two checks for ticks and citations (#2245) ([764fa4f](https://github.com/event4u-app/agent-config/commit/764fa4fa4c7d88d0214fea4409e234760889d545))
908
+ * **code-graph:** measure the graph feeder's cost on the stop slot (graph-that-feeds-the-gate 3.5) (#2239) ([8d91928](https://github.com/event4u-app/agent-config/commit/8d91928cbd6111293b8eca16fde1240651d853e7))
909
+ * **ci:** gates a pull request can hear (#2249) ([c4051c7](https://github.com/event4u-app/agent-config/commit/c4051c7ed34cd9209496205286af3c5a1ef2d89e))
910
+ * **doctor:** an offline flag, and the 16.3.0 findings' doc and test fixes (partial) (#2243) ([fc1bdec](https://github.com/event4u-app/agent-config/commit/fc1bdec4f4edcf9438d42388e252352617f257b6))
911
+ * **install:** count unresolved installed links per artefact kind (#2240) ([ef32868](https://github.com/event4u-app/agent-config/commit/ef328687cfff78efa57cc957d90344fae7b90979))
912
+ * **ranker:** opt-in unrounded tie-break, tie metrics, and the tuning reading (#2242) ([e92e9dc](https://github.com/event4u-app/agent-config/commit/e92e9dcdb23bb16d596252fdb7c21e51fe7ec64a))
913
+ * **neighbours:** precedence rule, contradiction review, and a reachable MCP-use recorder (#2241) ([a6e5942](https://github.com/event4u-app/agent-config/commit/a6e5942236858a85b01246c0b04345c6148075d7))
914
+ * **spend:** a spend bound applies only where one was set (#2234) ([e3c30fc](https://github.com/event4u-app/agent-config/commit/e3c30fc9d3af3121a03dbc420b4fbaa235993b46))
915
+ * **installed-layer:** measure the thinned layer in one unit, and price what stands between it and the ceiling (#2231) ([96dff15](https://github.com/event4u-app/agent-config/commit/96dff15dd9d5544641b54e5c729becbef6f57306))
916
+ * **reach:** close road-to-modules-that-something-calls — census, repairs, and the five reported counts (#2227) ([3dbb3f9](https://github.com/event4u-app/agent-config/commit/3dbb3f99da8c731a6ba6f34fef48ae90834fb1df))
795
917
 
796
918
  ### Bug Fixes
797
919
 
798
- * **release:** count tests by running files, not by static parse (#2145) ([396fbbc](https://github.com/event4u-app/agent-config/commit/396fbbc27f37147a2dad7757a69147b7e0d9a761))
799
- * **roadmap:** make the menu-precision path-scoping blocker machine-readable (#2119) ([016530f](https://github.com/event4u-app/agent-config/commit/016530fd099d74f48b4fb3346226fb48608597fa))
800
- * **adversarial-verification:** enable auto-merge, fix the deploy-row checker, and withdraw an AC-5 close that did not hold (#2114) ([52f2da9](https://github.com/event4u-app/agent-config/commit/52f2da946181ab0ab5437055ec55759f6e04fd92))
801
- * **roadmap:** make the obligation-writer corpus blocker machine-readable (#2117) ([9de3e0c](https://github.com/event4u-app/agent-config/commit/9de3e0cd3cf8a4ae08c9b809038f225e3750adef))
802
- * **citations:** re-derive the codex writer pin after install.ts shrank ([3c2041a](https://github.com/event4u-app/agent-config/commit/3c2041a152d77ad6799f0053eb8be509ec8824d4))
803
- * **host-env:** an absent section must parse, and now a test says so ([51c2bab](https://github.com/event4u-app/agent-config/commit/51c2bab3fda07042a643cd10ec26c04bd381349c))
804
- * **size-budget:** pay the read-surface declaration nothing ([bfce3ac](https://github.com/event4u-app/agent-config/commit/bfce3ac363c6e6013aad9829d7289ab388940c6e))
805
- * **read-surface:** a deterministic traversal test, and a claim I got wrong ([b883d80](https://github.com/event4u-app/agent-config/commit/b883d80cc0074381bbd5b91a52aebaeefa6b480f))
806
- * **update-prices:** a canonical ASCII boundary, and the exploit that is not there ([6281500](https://github.com/event4u-app/agent-config/commit/62815002af383bdb3655fb4d62956f69ef0397d9))
807
- * **read-surface:** four findings from the second review round ([1bd1f97](https://github.com/event4u-app/agent-config/commit/1bd1f9718d3d667c727a30197162005900a70d2e))
808
- * **rules:** keep ui-audit-gate inside the measured per-spawn payload ceiling ([bc499bf](https://github.com/event4u-app/agent-config/commit/bc499bf6c9e773800373a918966fed42530703ea))
809
- * **ci:** four gates this branch reds, each for a real reason ([6b9f886](https://github.com/event4u-app/agent-config/commit/6b9f886f6a269fed302b9e5b2bdee16c5cbf973b))
810
- * **work-engine:** close seven defects an independent review found ([3e83a51](https://github.com/event4u-app/agent-config/commit/3e83a513aeb8b15fd93f5dedcd8682471955a4cf))
811
- * **hooks:** use the shared session-stability predicate main brought in ([d229d1a](https://github.com/event4u-app/agent-config/commit/d229d1afde93903e42fad03f5bf95b5a5216af6e))
812
- * **plumbing-guards:** three defects an independent review found before merge ([afcd180](https://github.com/event4u-app/agent-config/commit/afcd180c0614f950d7ae58b361d0c3512aee891d))
813
- * **skills:** keep existing-ui-audit under its size budget and at dialect baseline ([876b045](https://github.com/event4u-app/agent-config/commit/876b04557a4da5932a2bc927c2d68d1fa256da71))
814
- * **work-engine:** make the taxonomy floors and the AC-2 guard testable alone ([0e30e4a](https://github.com/event4u-app/agent-config/commit/0e30e4ac9f9a7691d24d44a942a85c5e77272442))
815
- * **gates:** host the kill-switch step where its trigger paths already are ([2ffcd47](https://github.com/event4u-app/agent-config/commit/2ffcd4771ef14987a0f826a75c58c219aac9fdfa))
816
- * **hooks:** keep the settle concern's main() argv-shaped ([0a0a4d7](https://github.com/event4u-app/agent-config/commit/0a0a4d7ca49cd6b03c337024610b58dbff9d6147))
817
- * **hooks:** join the ledger on ONE root resolver, and make the reproduction reproduce ([27deeb0](https://github.com/event4u-app/agent-config/commit/27deeb0a365a011e269c91eec02bf6a31ca39274))
818
- * **hooks:** narrow detector F to a new test file, and label the evidence honestly ([285c51e](https://github.com/event4u-app/agent-config/commit/285c51ec3f2b0b2c97dffd25c159b86e87524f75))
819
- * **hooks:** read the exit code the host actually reports, not the one it does not ([7282593](https://github.com/event4u-app/agent-config/commit/7282593773a823f1021d18aad4c77f729601ffc3))
820
- * **hooks:** join the obligation reader to the key the writer used ([5c94152](https://github.com/event4u-app/agent-config/commit/5c94152581b44b6ec68f26201c45ca8cad6107f3))
821
- * **roadmap:** report against the acceptance criteria, do not rewrite them ([2bf7673](https://github.com/event4u-app/agent-config/commit/2bf7673fd2ff2c81603c953fe258ff102d6819ad))
822
- * **verify:** bound a clause to its own paragraph, not to the whole step ([55cf57c](https://github.com/event4u-app/agent-config/commit/55cf57ce2ee42b3ecfbfb11708353fee2028467b))
823
- * act on an independent review of this branch ([b5d2d8f](https://github.com/event4u-app/agent-config/commit/b5d2d8f4ecda62d9dbf34da5285b7620dd6eb839))
824
- * **verify:** keep the over-cap hook at its size, and stop F5 reading as a roadmap ([846d765](https://github.com/event4u-app/agent-config/commit/846d76502b7f870174c11ff3b5a62d4cefc57507))
825
- * **injection-budget:** meter only the hosts whose emission reaches them ([cde876e](https://github.com/event4u-app/agent-config/commit/cde876e7f7c2d34346a9e83fe7fd4750158a1dbc))
826
- * **host-lowering:** two defects the answered_at fixtures surfaced, and the tests that hold them ([5eadd50](https://github.com/event4u-app/agent-config/commit/5eadd507c1412c61904cab18b3970452b7229511))
827
- * **canonical-terms:** write the two new prose lines in house dialect ([21894c1](https://github.com/event4u-app/agent-config/commit/21894c16fa0a9e8b0753f9f21fc5b86db17ff13b))
828
- * **probe:** record inputs on the stopped path too ([952e616](https://github.com/event4u-app/agent-config/commit/952e6167dd21d7e0a38b93fa19703124704d7299))
829
- * **contexts:** keep the pointer, drop the argument for the pointer ([3d84ba0](https://github.com/event4u-app/agent-config/commit/3d84ba04d5daa2cf6a2ccc41fbcf2333bcebca10))
830
- * **ui:** match a declared item by id, and report the shadow outcome ([2b6a0f5](https://github.com/event4u-app/agent-config/commit/2b6a0f551278446aa839f1e0f6e79791ab0c8108))
831
- * **docs:** write the traffic doc in the house dialect ([10a9de9](https://github.com/event4u-app/agent-config/commit/10a9de902b2cc4e6761e2b156cde53476ac4deef))
832
- * **tests:** narrow the comparison union before reading its reason ([cc270c9](https://github.com/event4u-app/agent-config/commit/cc270c9e83517a4ca2c9ed96c0f1e87fca7b2986))
833
- * **ui:** account for a declared item by id, not by substring ([99933fa](https://github.com/event4u-app/agent-config/commit/99933fac372e2f2d37b18c83baf8d6c3a0555872))
834
- * **review:** stop a removal claim inside a modified file from disproving itself ([54c01ad](https://github.com/event4u-app/agent-config/commit/54c01ad156761c7a62c90029f40e453dab55d52d))
835
- * **config:** give the placeholder budget an owner and a review date ([cc28417](https://github.com/event4u-app/agent-config/commit/cc2841777e28b340f34d0385cd0d69dc56e3f42c))
836
- * **gates:** refuse an empty corpus, and record the ratification ([a9e7da2](https://github.com/event4u-app/agent-config/commit/a9e7da2150097f74d03f10467bd54c73ec9deef9))
837
- * register the gates, and stop the reader guessing ([8714a7a](https://github.com/event4u-app/agent-config/commit/8714a7a2724c15264bea3144e942dfa83785f4ab))
838
- * **scripts:** stop the audit failing open on a host with no slot rows ([074ae19](https://github.com/event4u-app/agent-config/commit/074ae19883ca19facc8588280ab74421095162a6))
839
- * **scripts:** bind the carrier constants to the carrier, and share one classifier ([828d384](https://github.com/event4u-app/agent-config/commit/828d384102755fade06a2632228242aedc9a5018))
840
- * **roadmaps:** close the three lint_decision_classes violations ([9b9f61b](https://github.com/event4u-app/agent-config/commit/9b9f61b7f77e814e3ee76fbb8bb384b02b5d900c))
841
- * **claims,roadmap:** six corrections from an independent read of this branch ([5169ced](https://github.com/event4u-app/agent-config/commit/5169cedaaafc9992ce2afb5cc27bd071d4f1a86f))
842
- * **claims:** correct the two ledger sentences that denied a shipped collector ([1ec20a6](https://github.com/event4u-app/agent-config/commit/1ec20a65887628c5b23312a0c35a3458209f82bd))
843
- * **review:** re-derive the manifest hashes after the roadmap's final edits ([319d35e](https://github.com/event4u-app/agent-config/commit/319d35edafe3f9ffc058d5def02b96c780a650e9))
844
- * **ci:** write the house dialect and refresh the routing-signal verdict ([91503fc](https://github.com/event4u-app/agent-config/commit/91503fc2b5ad28f5720d443fcfbfff3fe1242c77))
845
- * **gates:** correct the blocker gate's own scope claims, and pin the widened default ([5857ef1](https://github.com/event4u-app/agent-config/commit/5857ef107468f03561ea7e45ddafd2a613642acd))
846
- * **design-review:** drop the archived-roadmap path from the appearance floor ([26a2dbd](https://github.com/event4u-app/agent-config/commit/26a2dbd7b5a7ae39d7cc8d0b992782490a43853d))
847
- * **claims:** re-measure the artifact counts the claim had gone stale against ([1528325](https://github.com/event4u-app/agent-config/commit/15283253b24a875f6fe466b29e8ec8b40b6fdb91))
848
- * **review:** disprove a deletion claim against the tree before it blocks a release ([c7f813f](https://github.com/event4u-app/agent-config/commit/c7f813ffc39acc712ecb309f4c5f1df702e31ea1))
849
-
850
- ### Performance
851
-
852
- * **enforcement-coverage:** worklist the reachability fixed point (#2112) ([7090e82](https://github.com/event4u-app/agent-config/commit/7090e822e74fdb10295be2d652b572ccb0a28d5d))
853
- * **hooks:** compile the lowering table — 9 ms off every dispatch (#2110) ([4d60b86](https://github.com/event4u-app/agent-config/commit/4d60b866732808e3252336c26f198134d6ed0c34))
854
-
855
- ### Reverts
856
-
857
- * **structural-hiding:** hold the transform, land the inventory gate ([55dae10](https://github.com/event4u-app/agent-config/commit/55dae10e9aa9339b8f6180c0bfe7565fcaa02f65))
920
+ * **roadmaps:** dispose the two neighbours-carried steps (#2267) ([dc9f98a](https://github.com/event4u-app/agent-config/commit/dc9f98aa05c31fe20e52ec2a38f089771bbbea37))
921
+ * **roadmaps:** carry the archived AC-3 and close parked-blockers step 4.2 (#2262) ([6051d37](https://github.com/event4u-app/agent-config/commit/6051d3744ac67057d6fc9bc178af3d36060ff4c1))
922
+ * **release-findings:** close the ratification-fence roadmap's last step (#2261) ([6a1cb1a](https://github.com/event4u-app/agent-config/commit/6a1cb1a5cfbd9ca582152ea7f3022100d517abfa))
923
+ * **touched-file-quality:** an ignored file is not a pass; a green row names the type checker that did not run (#2244) ([3e00f5e](https://github.com/event4u-app/agent-config/commit/3e00f5e0fb424e6c925058a184ac6942eb8dee89))
924
+ * **rule-inject:** a default install is served each rule body once; report pending reinstall (#2238) ([d7b0955](https://github.com/event4u-app/agent-config/commit/d7b095551302e7dc215d6ac7b2a4191619eb0ed5))
925
+ * **installed-layer:** land the two review-round defects stranded when #2231 merged mid-lane (#2233) ([4e19d06](https://github.com/event4u-app/agent-config/commit/4e19d06651700573df2bf395536011c32381ffc1))
926
+ * **scripts:** repair signals that mean what they say (loop flag, cap comments, verify forms) (#2228) ([7548bfc](https://github.com/event4u-app/agent-config/commit/7548bfca437880a8a3a69b7ce608538ae757f303))
927
+ * **reach:** round-3..7 review findings (follow-up to #2230) (#2232) ([3e7baa1](https://github.com/event4u-app/agent-config/commit/3e7baa13cfe63febf1735be9b17b414d21aa8527))
928
+ * **reach:** three R2-review bugs in the module-reach report (follow-up to #2227) (#2230) ([31e3da5](https://github.com/event4u-app/agent-config/commit/31e3da5baf7aa7bc2a06b53335b18f1846912c3a))
929
+ * **rules:** refuse a triggerless routed rule; measure the real thinned total (#2226) ([52b409e](https://github.com/event4u-app/agent-config/commit/52b409e897e42ab00e7305a6f17e1e27a1a35072))
930
+ * **code-graph:** repair the gate feeder path shape, then publish what step 3.3 actually measures (#2216) ([1668731](https://github.com/event4u-app/agent-config/commit/166873158c1bcbe585a95654376ec021873a4107))
931
+ * **deps:** lift proxy-addr to 2.0.8 so the runtime audit gate can pass (#2219) ([26510a6](https://github.com/event4u-app/agent-config/commit/26510a6c2a0e5d2997d639d6e5f3e9e9bc9dc34f))
932
+ * **rules:** repair the docs/ link group, correct two stale blocker claims (#2213) ([c58d7ea](https://github.com/event4u-app/agent-config/commit/c58d7eae8d1aab76d37f9018a57c5047d4b957bc))
933
+ * **roadmaps:** register step 0.2 blockedness where the carrier reads it (#2212) ([6b79d06](https://github.com/event4u-app/agent-config/commit/6b79d06defecbb3d8bc16d44e41160e0d4e470a5))
858
934
 
859
935
  ### Documentation
860
936
 
861
- * **roadmap:** mark the bounded-approval-floor-waiver's owner-reserved step, and date M18 (#2116) ([0a462f2](https://github.com/event4u-app/agent-config/commit/0a462f29b37ccc5595b94f23808d3d2b421f3bd5))
862
- * **roadmap:** the 2026-09-30 window reading, and the reset three readings missed (#2115) ([e6b8ac3](https://github.com/event4u-app/agent-config/commit/e6b8ac3a6630015de2f84c0799fd15bc5687b9ad))
863
- * **roadmap:** correct the release-holds measurement-window record against the live tree (#2113) ([7c065c3](https://github.com/event4u-app/agent-config/commit/7c065c30464be92720a3ff41f45269b13c0db8d8))
864
- * **ratification:** record the five-round review that ratified this branch ([41f29b9](https://github.com/event4u-app/agent-config/commit/41f29b991676c747050747b976dcffce618358fa))
865
- * **evidence:** record the holdout-corpus growth and move the two counts ([ce90f34](https://github.com/event4u-app/agent-config/commit/ce90f34008e56ae47875ecad1e72d9ecb1819ac9))
866
- * **admissions:** record why block-plumbing-writes was admitted ([2203c9e](https://github.com/event4u-app/agent-config/commit/2203c9ed2c62b4cffee1edc405d5b6a28269c559))
867
- * **budget:** record that the pre_tool_use revisit-if fired, and what this branch cost ([724329f](https://github.com/event4u-app/agent-config/commit/724329fd410daada84347f7ec843434e8aa84fff))
868
- * **roadmaps:** record the review round and withdraw two false claims ([3947043](https://github.com/event4u-app/agent-config/commit/3947043b4cbbc789d7d0a39f3a4c140c993bb495))
869
- * **roadmap:** re-review the risk register against what actually landed ([5b89946](https://github.com/event4u-app/agent-config/commit/5b89946d5c44ad0d69121f6211d95e98d5276dfa))
870
- * **ratification:** record the ratified verdict and the three fixed blockers ([c6ad1bb](https://github.com/event4u-app/agent-config/commit/c6ad1bb23e4e6a5defc0450cf070bdaa67f443d7))
871
- * **roadmap:** close Phases 1, 2 and 4 with evidence; record the Phase 3 blocker ([8e6db5c](https://github.com/event4u-app/agent-config/commit/8e6db5cd36fa32ff881cc00636821bfe962e8fdc))
872
- * **roadmaps:** close the component-taxonomy roadmap and archive it ([6ae9804](https://github.com/event4u-app/agent-config/commit/6ae9804e9b42b4063c0d39f6033a0b12b4b695ec))
873
- * **ui-track:** record taxonomy detection and the fourth greenfield option ([91d0c55](https://github.com/event4u-app/agent-config/commit/91d0c55d7ec7f38840cc7062f74122589b53d7cc))
874
- * **roadmaps:** record the review round, and what it changed about the closed steps ([57bc4b1](https://github.com/event4u-app/agent-config/commit/57bc4b1312e0fb76239c10ca5848a849d6852cb8))
875
- * **evidence:** record the independent review of this branch ([c8e775b](https://github.com/event4u-app/agent-config/commit/c8e775b3d13d9bb2c9a4d5382ab88c262b977faf))
876
- * **ratification:** record the three-round review, and leave Phase 2 open ([0758dca](https://github.com/event4u-app/agent-config/commit/0758dcaf962b324f59c5628ba3e6fc12f85a7d99))
877
- * **enforcement-by-host:** state what the tree does, and what it does not record ([80f7cf0](https://github.com/event4u-app/agent-config/commit/80f7cf06853ba7a782813f4cc3488f774449da96))
878
- * **roadmaps:** close six steps of road-to-a-stop-that-holds, and name what stays open ([862227a](https://github.com/event4u-app/agent-config/commit/862227aa9c2becf1087cafeedce5d0fefbbfc69c))
879
- * **claims:** reset the obligation-settle bar window at the join fix ([ab59f86](https://github.com/event4u-app/agent-config/commit/ab59f866f5d337f30c9de8385f073790c7335c57))
880
- * **hooks:** inventory every AGENT_CONFIG kill switch the hook layer reads ([b9e9d9e](https://github.com/event4u-app/agent-config/commit/b9e9d9e34f205f17b30ad0b26fc632e9c201798c))
881
- * **closure-scan:** say that the unfalsifiable count is a lower bound ([e6fd3ee](https://github.com/event4u-app/agent-config/commit/e6fd3ee3e92fe24295dbad37613ec01723488b26))
882
- * **verify:** correct four refuted figures, and unship a dated number ([7f165fb](https://github.com/event4u-app/agent-config/commit/7f165fb1ee30a786eed89878f5a972f1ebcb0c28))
883
- * **evidence:** say which sha the reading was taken against, and that it held ([b9e3cbd](https://github.com/event4u-app/agent-config/commit/b9e3cbd993bf3ce65bc9a5ddd78cb310a72a4053))
884
- * **evidence:** record the measured routing precision and cite it in the register ([5feeba5](https://github.com/event4u-app/agent-config/commit/5feeba5f9d0da66d1193acccae07b647051f3ec2))
885
- * **roadmaps:** close the probe-inputs roadmap, and retract the claim it got wrong ([106e80f](https://github.com/event4u-app/agent-config/commit/106e80f2c73f8fe7b7d68da65870af5f1ce8ca8c))
886
- * **onboarding:** point the consumer tour at the traffic mapping, close phases 1-3 ([a2a7a43](https://github.com/event4u-app/agent-config/commit/a2a7a4388ddc37c4a6d5c350c053f923bc860add))
887
- * **setup:** map the host traffic variables against the shipped binary ([3428a55](https://github.com/event4u-app/agent-config/commit/3428a55924c426142b92a561d056d63913cc64e4))
888
- * **roadmaps:** close the fact-plane roadmap with its evidence and two findings ([0b10990](https://github.com/event4u-app/agent-config/commit/0b10990d21ccba680055c5a1d5f64a713bb8b6b1))
889
- * **roadmaps:** close road-to-an-invocation-contract-that-reaches-the-wire ([3c8fbd1](https://github.com/event4u-app/agent-config/commit/3c8fbd1fbd3d6fd88d17b44edd2473f977f3984b))
890
- * **roadmaps:** close road-to-a-content-scanner-on-a-slot-that-can-refuse ([43c717e](https://github.com/event4u-app/agent-config/commit/43c717e5a803cc2a327bd07133a83652dd21150a))
891
- * **enforcement:** say which concern sits on which slot, and why ([43c2c5b](https://github.com/event4u-app/agent-config/commit/43c2c5b526f152f6fbeb67c57ac8fdb2b27aa6e1))
892
- * **roadmaps:** byte-equality is necessary and not sufficient ([2bfb6cb](https://github.com/event4u-app/agent-config/commit/2bfb6cb2a839e18844bb01b829794571e379d47a))
893
- * **review:** declare the completion review skipped — this diff has no code surface ([549c3cc](https://github.com/event4u-app/agent-config/commit/549c3cc8e801d9315abd11e236791df69957691d))
894
- * **roadmaps:** state the measured growth figure in both claims ([2bb25fe](https://github.com/event4u-app/agent-config/commit/2bb25fe5138510e048383dbcb0a3c57495fde687))
895
- * **roadmaps:** make the two growth claims legible in the gate output ([01bb781](https://github.com/event4u-app/agent-config/commit/01bb781bdda772ae3f48dc051d66dcee794c3036))
896
- * **evidence:** record the inbox-2026-09-ab disposition ([6697f68](https://github.com/event4u-app/agent-config/commit/6697f68c6dc8a039fce80a788a866c1f800e9c01))
897
- * **roadmaps:** record arrival counts on 18 held objects ([3d2a99c](https://github.com/event4u-app/agent-config/commit/3d2a99c6ffe8fbb94004f226f6fb0f5a5e2c8aba))
898
- * **roadmaps:** land 22 roadmaps from inbox round inbox-2026-09-ab ([e0db0cc](https://github.com/event4u-app/agent-config/commit/e0db0cca23e56e18c9e122254fdfeab06a84b39f))
899
- * **review:** re-bind the skip to the post-fix scope, and record what the read returned ([246d7ea](https://github.com/event4u-app/agent-config/commit/246d7eab5bfdc2cb5bd298d0b705472f0ceb024d))
900
- * **roadmap:** record the per-track governance ruling as pending, and close its blocker ([464b1ab](https://github.com/event4u-app/agent-config/commit/464b1ab8f7f82eb54a4471a22252be7a14dd4314))
901
- * **review:** declare the completion-review skip for this closure ([755d616](https://github.com/event4u-app/agent-config/commit/755d616d9b7c9f207d21c865524da97c5ee9041f))
902
- * **roadmap:** record the owner ruling on the probe lane ([4bdc42d](https://github.com/event4u-app/agent-config/commit/4bdc42d78c38a575f4704f9a9cd153466411c32e))
903
- * **review:** re-point the findings artifact at the current review scope ([9b62299](https://github.com/event4u-app/agent-config/commit/9b6229945474441d0a724ff1d20a37111e118674))
904
- * **roadmap:** move the post-review AC-4 corrections out of the AC section ([74150a8](https://github.com/event4u-app/agent-config/commit/74150a8434f55dd3669c680e1d5d568575c6fbfc))
905
- * **roadmap:** second risk-register pass, after the independent review moved AC-4 ([81cc461](https://github.com/event4u-app/agent-config/commit/81cc46111b1a456b6ad900c4a1418b0de4a543da))
906
- * **review:** record the §2.5 ordering deviation on the review artifact ([3749d12](https://github.com/event4u-app/agent-config/commit/3749d12c868eb42e44204cd4363f0074c5d9e5b5))
907
- * **review:** land the independent completion review for the blocker-gate widening ([eb4c47f](https://github.com/event4u-app/agent-config/commit/eb4c47f5bb508ea4492cb336836599f2a6f7de7c))
908
- * **evidence:** re-scope the skip declaration and record the two CI catches ([4160717](https://github.com/event4u-app/agent-config/commit/41607171e9e40242944f667b7c58b7a3816361b8))
909
- * **roadmap:** record the archival deadlock AC-4's closure creates ([b4f1751](https://github.com/event4u-app/agent-config/commit/b4f175167550e2944de4e91b3cc4001f880054cb))
910
- * **stubs:** tell stub authors the blocker gate now reads this directory ([c7d5deb](https://github.com/event4u-app/agent-config/commit/c7d5debdc0d2263b0a8dc868213fe5edde54a416))
911
- * **roadmap:** re-review the substrate-stub risk register after AC-4 ([254bf55](https://github.com/event4u-app/agent-config/commit/254bf5596f00438b1cdbd2aeca1f0c533f6ac458))
912
- * **evidence:** declare the completion-review skip for Phase 4 ([f1b1545](https://github.com/event4u-app/agent-config/commit/f1b15458f5d2e7c8b11ab81c8c8dedb7260c1746))
913
- * **roadmap:** close AC-4 of the substrate-stub roadmap on the owner ruling ([4b5a23d](https://github.com/event4u-app/agent-config/commit/4b5a23dd74b37e3b4ad6d36b55a14c96beb12b67))
914
- * **roadmap:** re-review the risk register after Phase 4 landed ([144f209](https://github.com/event4u-app/agent-config/commit/144f209a98214b2568fbe1c51062c043a91b362b))
915
- * **roadmap:** record the owner ruling and close Phase 4 ([6f71003](https://github.com/event4u-app/agent-config/commit/6f71003642732c94eb518115415d2410e8d36f12))
916
-
917
- ### Refactoring
918
-
919
- * **hooks:** move the record reader to its producer, and the verdict prose to its vocabulary ([063197a](https://github.com/event4u-app/agent-config/commit/063197ae40b62d4a3c4d893186787206b2bd1145))
920
- * **contexts:** one carrier for the commit obligation, not three ([1a87d86](https://github.com/event4u-app/agent-config/commit/1a87d86502b922c74601295138374db8838fdc19))
921
- * **design-review:** fit the appearance floor under the 400-line skill cap ([6daa154](https://github.com/event4u-app/agent-config/commit/6daa154b59a699b369bd83e2fb3be03b8eb55105))
937
+ * **roadmaps:** close three prerequisites that were performed but never ticked (#2291) ([c393d6b](https://github.com/event4u-app/agent-config/commit/c393d6b244ff3031d46345ebb24b3fd2ffc6611e))
938
+ * **roadmaps:** mark the three Phase-3 steps that share one gate, and refuse to mark two that do not (#2290) ([05329ba](https://github.com/event4u-app/agent-config/commit/05329ba488e7fcf98a93bf2a2df4d4162d013d54))
939
+ * **roadmaps:** measure all five open acceptance criteria instead of assuming them (#2289) ([70bd51a](https://github.com/event4u-app/agent-config/commit/70bd51a8a1221e56cb8a15648282cb31b0b4ce97))
940
+ * **roadmaps:** a sixth reading of three stable negatives, and one rejected substitution (#2287) ([ebefcdc](https://github.com/event4u-app/agent-config/commit/ebefcdc1f0d35d0a7ca5044d33605d4b3247b679))
941
+ * **roadmaps:** the gate refused a comment, which answers the phase block (#2285) ([6715878](https://github.com/event4u-app/agent-config/commit/6715878859af7cd20fcac76855c4c4158b57edf3))
942
+ * **roadmaps:** Phase 1 was done except for three notes nobody wrote (#2284) ([5280e89](https://github.com/event4u-app/agent-config/commit/5280e8912ab480799e433d37df2d402b5b10b791))
943
+ * **roadmaps:** Phase 2 waits on a cancelled instrument, not on a machine (#2282) ([0f6209e](https://github.com/event4u-app/agent-config/commit/0f6209e8eb436f0ffcc679a34663dc6675c1bf8b))
944
+ * **roadmaps:** close 3.2 by council re-scope, and name the accrual trap I hit (#2281) ([d6e75f4](https://github.com/event4u-app/agent-config/commit/d6e75f45fa086dca62f953966479569fd54b93b2))
945
+ * **adr:** amend ADR-281 so a council recommends passage, never grants it (#2257) ([f76e83e](https://github.com/event4u-app/agent-config/commit/f76e83e47cdb823e37c96f4bbd16e53bc5c24c04))
946
+ * **governance:** ADR-281 and the texts it corrects (partial, self-modification roadmap) (#2251) ([82a131f](https://github.com/event4u-app/agent-config/commit/82a131feb5f6309365c962d272e9362ec9820c53))
947
+ * **council:** ADR-281 and the authority-routing decision cannot both stand (#2255) ([61cd5b7](https://github.com/event4u-app/agent-config/commit/61cd5b7ad6a6851f99e97405a20c1e8a9ea61607))
948
+ * **council:** record the authority-routing decision — ratified, 2 of 2 seats (#2253) ([0009ecd](https://github.com/event4u-app/agent-config/commit/0009ecd7c1f0d8f9659dd0ab249414879015b20e))
949
+ * **roadmaps:** close road-to-leading-every-row on the owner's answers and ADR-280 (#2237) ([adaad0a](https://github.com/event4u-app/agent-config/commit/adaad0aa2afd216767bf31404f533beb9393c5c8))
950
+ * **roadmap:** record that the two kernel-held rule links are human-gated (#2236) ([8510ebc](https://github.com/event4u-app/agent-config/commit/8510ebc995d224b1d353eb5042887905b7b16533))
951
+ * **roadmaps:** park the opencode probe and restore the risk-register gate on main (#2229) ([c267eae](https://github.com/event4u-app/agent-config/commit/c267eaef62b49abb38730734509d1a39f1a3d788))
952
+ * **roadmaps:** land inbox-2026-10-e as ten ready roadmaps (#2225) ([0c86ad9](https://github.com/event4u-app/agent-config/commit/0c86ad98fb540e3be196cdead4dcf98a49b03492))
953
+ * **roadmaps:** record the owner's answers to eleven open blockers (#2222) ([a75bb32](https://github.com/event4u-app/agent-config/commit/a75bb32106f695d006aa67f9ffc8185afb54faad))
954
+ * **evidence:** publish the shadow readings the release window opened, and carry 2.3 (#2217) ([2bb3a1a](https://github.com/event4u-app/agent-config/commit/2bb3a1a03d50a58a374f4f6d7600147e930a523e))
955
+ * **roadmaps:** park menu-precision on a two-branch wake after a fourth null probe (#2215) ([f3cc5db](https://github.com/event4u-app/agent-config/commit/f3cc5db98ae15c744a990731f19b88a2508a60a3))
956
+ * **roadmaps:** settle four of seven blockers on road-to-leading-every-row (#2214) ([2bf1067](https://github.com/event4u-app/agent-config/commit/2bf10671424cb09adb179c50512577d7b6b79a52))
922
957
 
923
958
  ### Tests
924
959
 
925
- * **read-surface:** type the fixture index accesses and the transport request ([e6983ed](https://github.com/event4u-app/agent-config/commit/e6983edf355433ad87cbc34bdba49ec1aca35131))
926
- * **routing:** hold the trigger corpus to the case-class discipline, and re-seed ([76cfda9](https://github.com/event4u-app/agent-config/commit/76cfda96b6c3ad464871e08badabf705f9066d93))
927
- * **routing:** add the trigger corpus for ui-component-architect ([2c567c3](https://github.com/event4u-app/agent-config/commit/2c567c30307c85ee67747296eefa7d496d14605f))
928
- * **work-engine:** make three weak assertions discriminate, and cover the new refusals ([48c8a88](https://github.com/event4u-app/agent-config/commit/48c8a885a855a38b79ca3b16c8ae823af398f3e9))
929
- * **golden:** re-capture GT-U9 and GT-U10 for the fourth greenfield option ([a993773](https://github.com/event4u-app/agent-config/commit/a9937736cf6de275a30cc02294e9f53308e37088))
930
- * **work-engine:** cover detection, placement and the greenfield offer ([e89d304](https://github.com/event4u-app/agent-config/commit/e89d30414b66472dc1bbf55591762e286883183f))
931
- * **transcript:** state the not-measured byte column on the token fixtures ([071d7dd](https://github.com/event4u-app/agent-config/commit/071d7dd3bbf7d254ae7174b18b3e69dbe972e648))
932
- * **fixtures:** capture the two inputs the conformance probe had never seen ([b7c3f57](https://github.com/event4u-app/agent-config/commit/b7c3f579026c0f75487ee3f6e920722f912659b2))
933
- * **ui:** plant three port losses and pre-register what today catches ([7b35b4c](https://github.com/event4u-app/agent-config/commit/7b35b4c5c42bde3997a936574735f2066b975f6e))
960
+ * **harvest:** re-derive the census pin after two sanctioned provenance tokens (#2224) ([d3973a8](https://github.com/event4u-app/agent-config/commit/d3973a86a13e3e101e3a018ae0567bf2099fd71d))
961
+
962
+ ### Chores
963
+
964
+ * **roadmaps:** park the rule-triggers roadmap on two human-gated events (#2276) ([9be2b6f](https://github.com/event4u-app/agent-config/commit/9be2b6fad97389eb29ad5f24f561d04e45dacf56))
965
+ * **roadmaps:** park the two owner-blocked drafts in later/ (#2271) ([717aba6](https://github.com/event4u-app/agent-config/commit/717aba62a59685eca54515221e6165bae743dc05))
966
+ * **roadmaps:** archive the settings-classes stagnation roadmap (#2270) ([dd80cbe](https://github.com/event4u-app/agent-config/commit/dd80cbe5ce2f5aa3bb3a833a1d21d1f12a898126))
967
+ * **gates:** reaffirm the derivable-settings baseline after a drain that found nothing (#2268) ([6d603d9](https://github.com/event4u-app/agent-config/commit/6d603d93ecff326e9fc5c49d97dcd3f878bfb4af))
968
+ * **roadmaps:** close and archive road-to-enforcement-per-obligation (#2263) ([ebd8adc](https://github.com/event4u-app/agent-config/commit/ebd8adc37fbcd9ca334f2930653460d26f86437c))
969
+ * **roadmaps:** close and archive road-to-signals-that-mean-what-they-say (#2260) ([bacc2a0](https://github.com/event4u-app/agent-config/commit/bacc2a0dcaee3cab3864b1bb3cd11cc8f6aad4cf))
970
+ * **roadmaps:** archive the neighbours lane and carry its two deferred steps (#2259) ([7dc88a6](https://github.com/event4u-app/agent-config/commit/7dc88a61aae1b75026c14640817f76d18f739fa2))
971
+ * **roadmaps:** park road-to-learning-you-can-see-carried, and publish the reading that moved it (#2221) ([fcd5b9e](https://github.com/event4u-app/agent-config/commit/fcd5b9e0b27307444c15140a6ac56a965654fe2c))
972
+ * **roadmaps:** park road-to-stacks-beyond-php behind owner blocker b5 (#2220) ([d47793a](https://github.com/event4u-app/agent-config/commit/d47793a787dd3c61c4287194be8138e6c624bf6f))
973
+ * **roadmaps:** settle producible-vs-elapsed for the user_prompt_submit timeout and park host-claims-carried (#2218) ([763bc12](https://github.com/event4u-app/agent-config/commit/763bc121c24615027a01811322b73590845a85ad))
974
+
975
+ ### Other
976
+
977
+ * The modification review — its questions, how a seat closes, how the verdict follows (#2292) ([bbe5b73](https://github.com/event4u-app/agent-config/commit/bbe5b73be4f06faa528d494a271d2c8b21e28bb2))
978
+ * Occasion 3 of 4 — one row corrected, one correction declined (#2288) ([0fd09eb](https://github.com/event4u-app/agent-config/commit/0fd09ebe3bc1ceb54fe06ea593addf609b46c3be))
979
+ * One step needed no council, the other split and found why (#2286) ([55360bb](https://github.com/event4u-app/agent-config/commit/55360bb87e794f8b8e6fd03134c05e1791aa2a66))
980
+ * Four law headings went to a council; one landed and three were refused (#2279) ([40b74b9](https://github.com/event4u-app/agent-config/commit/40b74b948f40e4875e9c9b4a72080cad04132532))
981
+ * Correct AC-2 to 37: one of the 47 selected keys was not default-neutral (#2278) ([e48f52c](https://github.com/event4u-app/agent-config/commit/e48f52cadf551e411aafdfc65d955d23a6bf8e1f))
982
+ * doctor is offline by default; --online opts the forge read back in (#2277) ([60c129b](https://github.com/event4u-app/agent-config/commit/60c129bfa74224abb86254f79909a715535522c6))
983
+ * Park the graph-feeder roadmap on an accrual wait its own repository cannot end (#2275) ([737f0d6](https://github.com/event4u-app/agent-config/commit/737f0d6633d52e51e3eb90115b17bfdc865eb43d))
984
+ * Close the pack-boundary base-into-narrow mismatch with an advisory edge the gate reads (#2273) ([9ecd663](https://github.com/event4u-app/agent-config/commit/9ecd6639fd8f4b2f02a277a8fe3f565d5783e792))
985
+ * Queue 47 default-neutral settings keys for retirement (#2272) ([9582574](https://github.com/event4u-app/agent-config/commit/958257418b9098ef37be6fc3118c7d4bcbc69861))
986
+ * Resolve 15 roadmap blockers, and run the council before any owner question (#2269) ([6d68417](https://github.com/event4u-app/agent-config/commit/6d6841712de38c4dcd8f5ff4c03bd5acc5b09cd3))
987
+ * Findings that get a disposition: medium security blocks a release, and every 16.3.0 row ends somewhere (#2266) ([bf7ed4f](https://github.com/event4u-app/agent-config/commit/bf7ed4f7559d8bd8827551bee21bf9b768262549))
988
+ * Harden the git convention from #2235: correct in a packed install, safe sync and rebase, and measure-and-propose for undeclared projects (#2258) ([b83bcb1](https://github.com/event4u-app/agent-config/commit/b83bcb19a7d5d649fbb8687c00a5327a2704febe))
989
+ * A team's git convention can be declared: ticket-prefixed commits, branch shape, and rebase instead of merge (#2235) ([0f9c32e](https://github.com/event4u-app/agent-config/commit/0f9c32e260c0e213273da9a448044e4403eac5a2))
990
+ * Re-price the neighbours lane on the tree it will be decided on, and stop its census caches leaking home paths (#2223) ([7cd6563](https://github.com/event4u-app/agent-config/commit/7cd6563a8c038b8bebe21f9b4dc6acda06ea5bc6))
991
+
992
+ Tests: 27198 (+1310 since 16.3.0)
993
+
994
+ ## [16.3.0](https://github.com/event4u-app/agent-config/compare/16.2.0...16.3.0) (2026-10-05)
995
+
996
+ ### Release highlights
997
+
998
+ - **Behaviour changes:** Rule links that name a path the repository actually has, and the blocker that held them (#2185) (8031e09); Rule laws that can stand, and the class whose law stands with them (#2177) (9e2fe18); 100 % roadmaps archive — bare deferrals carried, owner blockers ask step by step (#2167) (074eee6); make the two pack-boundary gates green on the trunk and run the workflow-security audit in CI (#2155) (90a0ad5); A release record that says what it reviewed, and an index with every major (#2157) (8e30a53).
999
+ - **Default changes + migration:** _none_
1000
+ - **Security and correctness:** 100 % roadmaps archive — bare deferrals carried, owner blockers ask step by step (#2167) (074eee6); make the two pack-boundary gates green on the trunk and run the workflow-security audit in CI (#2155) (90a0ad5).
1001
+ - **Honest nulls:** _none_
1002
+ - **Known limitations:** An installed layer measured against its limit, and the consent an installer must have before thinning (#2201) (src/scripts/install.ts declares a residual) (df7ea79); Two Phase-0 instruments closed against measurement, and the third blocked by a record rather than a ceiling (#2198) (src/scripts/check_standing_rule_delivery.ts declares a residual) (92027a2); A rule carrier that delivers what the install carries, in the host's form, in a string the host keeps (#2182) (src/scripts/install.ts declares a residual) (7fdfd0a); Rule triggers and installed links that hold (#2174) (src/scripts/install.ts declares a residual) (328a21b); A tree that keeps its neighbours (#2161) (src/scripts/install.ts declares a residual) (4399b5a); make the two pack-boundary gates green on the trunk and run the workflow-security audit in CI (#2155) (90a0ad5); +2 more.
1003
+
1004
+ > **Governance mix:** governance-only 23 vs consumer-only 1 (taxonomy 1.1.0).
1005
+ >
1006
+ > _Re-measured 2026-10-07:_ governance-only 83 vs consumer-only 3 (taxonomy 1.1.0) on `16.2.0..16.3.0` (`8d157f5e7..91aaf5e21`), via `./scripts-run src/scripts/measure_release_mix --from 16.2.0 --to 16.3.0`. The line above was measured to an unrecorded `HEAD` at write time.
1007
+
1008
+ ### Features
1009
+
1010
+ * **commands:** /roadmap:resolve-blockers — council first, owner one question at a time (#2204) ([5ddfc05](https://github.com/event4u-app/agent-config/commit/5ddfc05819a501b1066b713571e9073d1ce435c9))
1011
+ * **commands:** /roadmap:triage-parked — drain later/ and skipped/ (#2184) ([ab516fc](https://github.com/event4u-app/agent-config/commit/ab516fc19a420a7022eb7dc5f8b16f6d033fc6e8))
1012
+ * **evidence:** classify the evidence tree by reference, and rule out a cold location (#2153) ([590cebc](https://github.com/event4u-app/agent-config/commit/590cebc729a7a45fbe98e2ee55b8f231ac0329c2))
1013
+ * **hooks:** run the project's own quality tools over the files a turn edited (#2152) ([d4760bb](https://github.com/event4u-app/agent-config/commit/d4760bb4f47b7be902c9ec3b88c51d8aa818311e))
1014
+ * **memory-learn:** open the learning dogfood window and give it a screen (#2151) ([162889e](https://github.com/event4u-app/agent-config/commit/162889e8b16359904766927a7fbd896f961ed9b9))
1015
+ * **ui:** flip the carried-nothing shadow to a halt, closing road-to-a-ui-coverage-ledger-that-can-fail (#2149) ([cbd5d07](https://github.com/event4u-app/agent-config/commit/cbd5d07fe21af3a3de12e847b3b8da7f86f8bb81))
1016
+
1017
+ ### Bug Fixes
1018
+
1019
+ * **archival:** 100 % roadmaps archive — bare deferrals carried, owner blockers ask step by step (#2167) ([074eee6](https://github.com/event4u-app/agent-config/commit/074eee6881d19b5f6d7ec8574a83c26dffd25353))
1020
+ * **gates:** make the two pack-boundary gates green on the trunk and run the workflow-security audit in CI (#2155) ([90a0ad5](https://github.com/event4u-app/agent-config/commit/90a0ad522d49a853d30ffb6f1fec46e2b802ae35))
1021
+ * **hooks:** make the bundle ceiling describe the trunk it defends (#2165) ([c399d09](https://github.com/event4u-app/agent-config/commit/c399d097eea2f30676b36604a2514ff0e22cd46d))
1022
+
1023
+ ### Documentation
1024
+
1025
+ * **roadmaps:** drain road-to-leading-every-row — install above the fold, commit-mix baseline, seven owner questions put (#2148) ([8f32c31](https://github.com/event4u-app/agent-config/commit/8f32c316b489f6b8decfdacf57da72149e07dbd5))
1026
+ * **roadmaps:** land four roadmaps from inbox round inbox-2026-10-c (#2150) ([07f83a1](https://github.com/event4u-app/agent-config/commit/07f83a1f681869b9cea467f2ad88e5642ef55af9))
1027
+ * **roadmaps:** use the declared decision classes in the inbox-2026-10-a roadmaps ([ab5c92b](https://github.com/event4u-app/agent-config/commit/ab5c92b61936fdddfd5bb3e315d086b64bc1911e))
1028
+ * **roadmaps:** state the measured blocker growth in the round's claim ([2a52860](https://github.com/event4u-app/agent-config/commit/2a528602ea27b6407e9e999b8818f41ad1e9f0cb))
1029
+ * **evidence:** disposition for inbox round inbox-2026-10-a ([ea06fa1](https://github.com/event4u-app/agent-config/commit/ea06fa1fafe54db61b1313050c52d4c7497e799a))
1030
+ * **roadmaps:** record arrivals and owner questions on six held objects ([60f9e60](https://github.com/event4u-app/agent-config/commit/60f9e60f6d2940c49677479641a599d23cbd380b))
1031
+ * **roadmaps:** land eight roadmaps from inbox round inbox-2026-10-a ([2c34c3d](https://github.com/event4u-app/agent-config/commit/2c34c3d99b103bd704f917d1603e926f7dac3f0c))
1032
+ * **evidence:** declare the evidence type on the inbox-2026-10-b disposition ([8adf9ef](https://github.com/event4u-app/agent-config/commit/8adf9eff9b7908334ed29cb7ed4fbe48f2e05cda))
1033
+ * **evidence:** record the inbox-2026-10-b disposition ([a51740b](https://github.com/event4u-app/agent-config/commit/a51740b4b79d963af8ff2fd3551c26214430166e))
1034
+ * **stubs:** count the inbox-2026-10-b arrivals on four held stubs ([6f2bc0b](https://github.com/event4u-app/agent-config/commit/6f2bc0b116a78747bc98e1addfda25672ea76ed7))
1035
+ * **roadmaps:** land the leading-every-row programme and its lanes from inbox-2026-10-b ([6631412](https://github.com/event4u-app/agent-config/commit/6631412219157e4b26ee9f1eede6493ea38764c0))
934
1036
 
935
1037
  ### Chores
936
1038
 
937
- * **deps:** vitest 2 → 5, vite 5 → 8 (#2111) ([1f44215](https://github.com/event4u-app/agent-config/commit/1f442155ae679b38de1ea179ee85a133ce30a1d1))
938
- * **deps:** clear the production-dependency advisories the packed job flagged ([0f68f1a](https://github.com/event4u-app/agent-config/commit/0f68f1a45fcb06a7063f42aa8b843e0a93cbc62b))
939
- * **roadmaps:** archive two completed roadmaps, carry their three deferrals ([b29a75c](https://github.com/event4u-app/agent-config/commit/b29a75c6b51ca28b118a830f10c3cfd422380032))
940
- * **evidence:** re-emit the standing-payload census and the host cost table ([f8cea12](https://github.com/event4u-app/agent-config/commit/f8cea1246934fb3ddb8d729df637a49387336ee2))
941
- * **estate:** claim the one-concern growth where it happened ([028fc20](https://github.com/event4u-app/agent-config/commit/028fc202a7ba0a7d635883a30635a4e450487d25))
942
- * **roadmaps:** re-review the risk register on the five closed steps ([a4a5dee](https://github.com/event4u-app/agent-config/commit/a4a5dee30427779e2a0c7ed0f056cc7dfc76309a))
943
- * **roadmaps:** close five steps of road-to-a-menu-whose-precision-is-measured ([5ba60b9](https://github.com/event4u-app/agent-config/commit/5ba60b9d9c3d82229b6cac400ad6c18cf0f95ed7))
944
- * **roadmaps:** close six steps, and correct the roadmap own refuted figures ([2958ecc](https://github.com/event4u-app/agent-config/commit/2958ecc79e77387961f9cd86cc78958cd04b7dcf))
945
- * **dist:** rebuild the install bundle after the lowering-reader change ([a765c56](https://github.com/event4u-app/agent-config/commit/a765c569a511ab69e96278da230bcc9b84aebf82))
946
- * **roadmaps:** archive road-to-a-denylist-that-sees-every-subject ([ea6363f](https://github.com/event4u-app/agent-config/commit/ea6363f76b26cdbeb5da69d561c5f8bddd40c753))
947
- * **dist:** regenerate the ui apply directive after the merge ([d310aa6](https://github.com/event4u-app/agent-config/commit/d310aa61b082854f293f898befb94aab755eaf88))
948
- * **ratchet:** follow the source-size gain down to 17,748 ([e52a668](https://github.com/event4u-app/agent-config/commit/e52a668bda84201dbc20376056d2a9a22ddf3fc4))
949
- * **roadmaps:** archive road-to-probe-evidence-that-knows-its-inputs ([2c1e9e3](https://github.com/event4u-app/agent-config/commit/2c1e9e3fa6173359a3f6add4e880d47539d98a8b))
950
- * **roadmaps:** archive road-to-a-fact-plane-the-reviewer-cannot-invent ([e3dc42f](https://github.com/event4u-app/agent-config/commit/e3dc42fb9a21349146cbebf29cb6958123a59562))
951
- * **roadmaps:** archive road-to-an-invocation-contract-that-reaches-the-wire ([98da5a7](https://github.com/event4u-app/agent-config/commit/98da5a7ae5c95f6413fd0826734134116321ecc2))
952
- * **hooks:** recompile the manifest after the concern header edit ([319e43e](https://github.com/event4u-app/agent-config/commit/319e43eeba5b69fbb239d6fc0f694c3318dcdcc9))
953
- * **roadmaps:** archive road-to-a-content-scanner-on-a-slot-that-can-refuse ([f426526](https://github.com/event4u-app/agent-config/commit/f426526328ed48be0ad865f5df889fff639c7739))
954
- * **roadmaps:** archive road-to-semantic-parity-before-off-menu ([35e37a6](https://github.com/event4u-app/agent-config/commit/35e37a64d0236eb423f2a2c1c5869741c545b754))
955
- * **roadmap:** archive the substrate-stub roadmap now its last blocker is closed ([4865319](https://github.com/event4u-app/agent-config/commit/4865319602eea85a5052f62721c6f13023013cf0))
956
- * **roadmaps:** archive the behaviour-evidence-over-pixels roadmap ([88449ba](https://github.com/event4u-app/agent-config/commit/88449bac119738e75c2a3c2dfb4c94b000dd2ceb))
957
- * **gates:** reaffirm the lint_handoffs baseline, measured rather than waved through ([6d757a7](https://github.com/event4u-app/agent-config/commit/6d757a79356cd26545a9283b94ca24820ac474e5))
1039
+ * **deps:** bump the site group in /site with 4 updates (#2170) ([7464482](https://github.com/event4u-app/agent-config/commit/7464482550df64e24f101988086f9c6fb1bd7945))
1040
+ * **deps-dev:** bump the telemetry-worker group across 1 directory with 2 updates (#2163) ([11eb5d8](https://github.com/event4u-app/agent-config/commit/11eb5d813dc9057e9f475b7a827aa9730d688447))
958
1041
 
959
1042
  ### Other
960
1043
 
961
- * One corpus re-check that actually ran, and a repo-wide red due 2026-11-22 (#2137) ([d9ae1da](https://github.com/event4u-app/agent-config/commit/d9ae1da3f411d2905cbdca41a5f58b54bbbb4ed6))
962
- * Close AC-5 on the command it names, and hand AC-4 and AC-6 to their owners (#2143) ([4e803d6](https://github.com/event4u-app/agent-config/commit/4e803d6204906ce5357808ad2ec146e285249a0b))
963
- * The plumbing roadmap's last measurable gap, measured (#2135) ([db000c5](https://github.com/event4u-app/agent-config/commit/db000c50cd6dde87cd4e35b477a236aadcf9e797))
964
- * ci_settle refuses an argument it does not honour, and the doc that taught a wrong one (#2130) ([dbbf470](https://github.com/event4u-app/agent-config/commit/dbbf470b8acd15a523a8b2db85cda66e72bd5115))
965
- * A zero in the enforcement table becomes a fact with a date on it (#2141) ([ab2c75d](https://github.com/event4u-app/agent-config/commit/ab2c75dcbb31bb02bf16f4159c60ed8740fba58f))
966
- * The typed-grants roadmap, dispositioned: stop the ladder handing out the autonomy self-grant (#2140) ([5ade6a5](https://github.com/event4u-app/agent-config/commit/5ade6a5b88b3a55fcc697c45f585b149cd0c177c))
967
- * Decision closure: route its own ownership blocker to the council it specifies (#2139) ([405c5d8](https://github.com/event4u-app/agent-config/commit/405c5d82accf36c8f808c5fcfa8176db717cc4c2))
968
- * Re-probe the menu-precision E3 blocker and correct five stale figures (#2138) ([ad79f85](https://github.com/event4u-app/agent-config/commit/ad79f858af0ae102faef2f23f561283869e6b848))
969
- * Park the release-holds roadmap in later/, with a wake test a gate can read (#2136) ([d6e2e14](https://github.com/event4u-app/agent-config/commit/d6e2e1458529bc8c95622461c0542618598926b4))
970
- * Close what is agent-closable on trigger-eval freshness, and defer the owner-owned choice (#2134) ([5a4b897](https://github.com/event4u-app/agent-config/commit/5a4b8972102ab820bd451c7fd60ed6be189b4fec))
971
- * The obligation-row roadmap's last step, routed to its owner (#2133) ([fb915c0](https://github.com/event4u-app/agent-config/commit/fb915c08b73fd76574ad1ee15df9ba3ca15f4c57))
972
- * Close the ledger roadmap by carrying its one unreachable step to its live owner (#2132) ([1fd8f00](https://github.com/event4u-app/agent-config/commit/1fd8f006d6c0c7dd77666637f265ab3d690652dd))
973
- * Re-probe the shadow-release gate and re-verify the UI coverage ledger live (#2131) ([cdb16f7](https://github.com/event4u-app/agent-config/commit/cdb16f7f25d781a7f135d15d9b8a30d9af327639))
974
- * A reader for the shadow corpus, and the review that reopened a checkbox (#2142) ([e51a1df](https://github.com/event4u-app/agent-config/commit/e51a1dfda1585971872accc38e1ad43064a56eb3))
975
- * One verification classifier, anchored on the segment head (#2129) ([9f2b9fb](https://github.com/event4u-app/agent-config/commit/9f2b9fb4a78f2270eaa040513050e7a2d657879e))
976
- * The review of the stop gate, acted on (#2128) ([5689c2d](https://github.com/event4u-app/agent-config/commit/5689c2d1266560c187cb4df5bac73327d4dd71ed))
977
- * The stop gate measures the turns it lets through (#2127) ([ce923cc](https://github.com/event4u-app/agent-config/commit/ce923cce720bc84885ef24270a2e7dc9b197f09e))
978
- * Rotation coverage survives suite growth, and the freshness bill is priced (#2126) ([7178cdd](https://github.com/event4u-app/agent-config/commit/7178cdd1c3ca500bfb0507493329e4e461fff062))
979
- * Close the corpus stamp-edit ambiguity and structure the cadence hold (#2125) ([aae6467](https://github.com/event4u-app/agent-config/commit/aae6467510dfcb4bb7ce09bc0110b3fe57415439))
980
- * Phase 2 of road-to-host-claims closes: slot-failure rows from a pinnable source, and its blocker becomes machine-readable (#2124) ([14ff4a3](https://github.com/event4u-app/agent-config/commit/14ff4a3ca89bbd871305aac8294ea4753c245e88))
981
- * The dispatcher measures what it runs, per concern (#2121) ([a129277](https://github.com/event4u-app/agent-config/commit/a129277d510ba43baf627b9d649852bf21c03a58))
982
- * Close the UI coverage ledger's measurement half, and make 3.2's release gate machine-readable (#2122) ([99db452](https://github.com/event4u-app/agent-config/commit/99db452b9868d9af47381074d3abf8b5c64afc71))
983
- * The structural-hiding detector returns parser-backed, and Phase 3 closes (#2123) ([9b128df](https://github.com/event4u-app/agent-config/commit/9b128df1d1dd5362234c8185fb378bc82a1be627))
984
- * Mark decision-closure's blocked steps machine-readable, and re-verify its five open boxes (#2120) ([ebd31d9](https://github.com/event4u-app/agent-config/commit/ebd31d9482f7b299dee7ba0281f4eaf5cc1cbd33))
985
- * The lockout recovery procedure is rehearsed, and bounded-approval-floor-waiver closes (#2118) ([4429b1d](https://github.com/event4u-app/agent-config/commit/4429b1d3df9d7495d14f1ef61e356f5c5d0125d5))
986
- * **canonical-terms:** write the three new prose lines in house dialect ([c0a8c43](https://github.com/event4u-app/agent-config/commit/c0a8c437912f70cf807b4116e120aeea3fcd54b7))
987
-
988
- Tests: 24992 (+1020 since 16.1.0)
1044
+ * The intake rule was enforced and never written down, so git kept inviting the commit the gate refuses (#2206) ([975d03d](https://github.com/event4u-app/agent-config/commit/975d03d01cc549c297a7a8ea92134b08005eb333))
1045
+ * Two roadmaps that read finished, and the three gates that keep each of them where it is (#2205) ([df377ca](https://github.com/event4u-app/agent-config/commit/df377ca64d0333105ffd80813caa94e11805c30b))
1046
+ * An installed layer measured against its limit, and the consent an installer must have before thinning (#2201) ([df7ea79](https://github.com/event4u-app/agent-config/commit/df7ea7928c9d9fe5815978b689198b79fc8158d3))
1047
+ * Archive the kernel-plumbing roadmap, which finished and stayed in the active set (#2203) ([901e8bc](https://github.com/event4u-app/agent-config/commit/901e8bc4e848283327f5c6811e4e221246a41210))
1048
+ * A blocker citation pointing at a test fixture, and a step oracle that cannot reach its own exit (#2202) ([c04d74b](https://github.com/event4u-app/agent-config/commit/c04d74bea094071c72a1421fb013ee12e8200f2f))
1049
+ * The first observed structured-ask row, and the subagent leg the absent one was read from (#2199) ([f73e77d](https://github.com/event4u-app/agent-config/commit/f73e77d0f93f55ab76658d86b38dde00222d1246))
1050
+ * An acceptance criterion closed on measurement, a guard claim withdrawn, and the second obstacle under a blocked gate (#2200) ([e3e4774](https://github.com/event4u-app/agent-config/commit/e3e4774e2c6f6e2aa24d8720e6aff38c095d67f4))
1051
+ * A calendar hold whose date had already passed, and the gate standing behind the stamp (#2196) ([6aa3c36](https://github.com/event4u-app/agent-config/commit/6aa3c36f9cbd596a65cb5b2faafa71cdd240b8f5))
1052
+ * Two Phase-0 instruments closed against measurement, and the third blocked by a record rather than a ceiling (#2198) ([92027a2](https://github.com/event4u-app/agent-config/commit/92027a20c350f5b53625a1efbd3157aaf163b26b))
1053
+ * Two locks under one owner question, a bundle figure stale by 41 kB, and the oracle a blocked step is waiting for (#2197) ([24d6d5b](https://github.com/event4u-app/agent-config/commit/24d6d5b0d93852ee106dd1a1a7eda9bca9b2c249))
1054
+ * A blocker that held on its fourth reading, and the line it cited having moved (#2195) ([780c27e](https://github.com/event4u-app/agent-config/commit/780c27e1ed0f36edc6cd59883dce36230dfef9d4))
1055
+ * A payload total that drifted under a pin that never pinned it (#2194) ([e6b7193](https://github.com/event4u-app/agent-config/commit/e6b71933a84bb15e432e86aced4c848897498716))
1056
+ * A blocker that held on its sixth reading, and the four edits it is waiting on (#2193) ([fe0cff8](https://github.com/event4u-app/agent-config/commit/fe0cff8a558897a47caba9eb6d9dbe80e90e2d4b))
1057
+ * A blocker stated in prose, re-stated as the command that decides it (#2192) ([18ac6b2](https://github.com/event4u-app/agent-config/commit/18ac6b21ec35c4132958dc382349acc6af9a3b53))
1058
+ * A fifth reading of two blockers that held, and a second obstacle under the first (#2191) ([afad042](https://github.com/event4u-app/agent-config/commit/afad042bb39e24f3edf5dbbbfccabbda0f3ddb00))
1059
+ * A guard that permitted the call precisely when it broke, in six places and a seventh shape (#2189) ([51ee084](https://github.com/event4u-app/agent-config/commit/51ee0844b564f8863b753606f1758c9c0ef6dbd3))
1060
+ * An accrual figure that moved while the labelled corpus did not (#2190) ([30481f6](https://github.com/event4u-app/agent-config/commit/30481f6605ade9ff06bbc9ca300ab8614781321c))
1061
+ * A third reading of a blocker that has not moved, and a census nine units behind the tree (#2187) ([50bec97](https://github.com/event4u-app/agent-config/commit/50bec97430107d9fe73a6561a4fb986150c57ea8))
1062
+ * The fourth wake shape has no envelope tag, and the anchor is the whole guard (#2188) ([97a5a64](https://github.com/event4u-app/agent-config/commit/97a5a647412e376bf8ac12b9065706710c956831))
1063
+ * Rule links that name a path the repository actually has, and the blocker that held them (#2185) ([8031e09](https://github.com/event4u-app/agent-config/commit/8031e09d6ff6ecc61be329f2af4a904bcc7be18f))
1064
+ * The third wake shape: a subagent hand-back is a turn nobody typed, in two vocabularies that both missed it (#2186) ([0199fd0](https://github.com/event4u-app/agent-config/commit/0199fd0c0a448f3fdf262373cc30971213954168))
1065
+ * Twenty-eight boxes re-run rather than read, and the policy behind seven settled-looking cells (#2183) ([d6a2da7](https://github.com/event4u-app/agent-config/commit/d6a2da7bca601dbe9432b35c6fd76fddd63c80db))
1066
+ * A rule carrier that delivers what the install carries, in the host's form, in a string the host keeps (#2182) ([7fdfd0a](https://github.com/event4u-app/agent-config/commit/7fdfd0a4d59c616153ffaa283e265708b87b88ae))
1067
+ * A rule carrier that works outside the repo: resolution, one mode answer, and the matrix that proves both (#2181) ([95dc7bf](https://github.com/event4u-app/agent-config/commit/95dc7bfb1ba8c5dcb43ce7cfe3f8d271093eacf9))
1068
+ * The MCP recorder does not run, and what it would record was wrong in five ways (#2180) ([59824fd](https://github.com/event4u-app/agent-config/commit/59824fd95acfe5f6772f8da02e9f52a7896d593c))
1069
+ * Neighbours counted by use, and the link criterion measured rather than assumed (#2179) ([cd26c2e](https://github.com/event4u-app/agent-config/commit/cd26c2e177976d85644fbe8fd9c5a973418bfcdc))
1070
+ * Rule laws that can stand, and the class whose law stands with them (#2177) ([9e2fe18](https://github.com/event4u-app/agent-config/commit/9e2fe189e85d4b1feabb0bef55680e02097f0ac7))
1071
+ * A route line that says where the skill came from (#2178) ([6bdc2b2](https://github.com/event4u-app/agent-config/commit/6bdc2b25ba6c6d06b94a2137ccfd336efc8f60b0))
1072
+ * Stacks beyond PHP: the composition gate, the third binding site, and four resolver fixtures (#2173) ([a3c8393](https://github.com/event4u-app/agent-config/commit/a3c839340059ef68c8a37568685739bb9f8c7fe3))
1073
+ * Say which tree the reach numbers came from, and publish the per-prompt pair (#2176) ([4871260](https://github.com/event4u-app/agent-config/commit/48712607ad706c502cb44938a288a39b64d3f784))
1074
+ * Rule triggers and installed links that hold (#2174) ([328a21b](https://github.com/event4u-app/agent-config/commit/328a21bef2d8f6660227f4f9656d2043751ff7fc))
1075
+ * The stop gate records who set stop_hook_active, and the fingerprint store cannot be bound where its council chose (#2175) ([379cd53](https://github.com/event4u-app/agent-config/commit/379cd535c6618d8d514b78654eef8c59461dc0a1))
1076
+ * The advisories were already fixed; the record was not (#2171) ([30f7d21](https://github.com/event4u-app/agent-config/commit/30f7d21f65146fd348bc354b33093794ab500bcf))
1077
+ * Dispositions the carried roadmaps were missing (#2172) ([11726a9](https://github.com/event4u-app/agent-config/commit/11726a985ca8de0e183c14d643519d7aa5d77d0c))
1078
+ * archive the three roadmaps main still held at 100 % (#2168) ([21da719](https://github.com/event4u-app/agent-config/commit/21da71917d1ad685737b10196245c8d323bd21f4))
1079
+ * Let dependency PRs reach their required check (#2169) ([540ee7a](https://github.com/event4u-app/agent-config/commit/540ee7a0bed2bf327c971f204ab90a346a768250))
1080
+ * A tree that keeps its neighbours (#2161) ([4399b5a](https://github.com/event4u-app/agent-config/commit/4399b5a0d6395631d808f6bc5f75aaa7eed7e573))
1081
+ * A graph that reaches the search, sees the edit, and feeds the gate in shadow (#2159) ([4958809](https://github.com/event4u-app/agent-config/commit/495880908332d55c9a4069f7266dc19c99c83824))
1082
+ * A release record that says what it reviewed, and an index with every major (#2157) ([8e30a53](https://github.com/event4u-app/agent-config/commit/8e30a533124b1c85b011bb463a6bd63c3fc3c6e1))
1083
+ * Three claims a roadmap makes about itself, made checkable (#2156) ([3a8498c](https://github.com/event4u-app/agent-config/commit/3a8498c2c00fcff37970e2eeabd4ebe7b43f8b9e))
1084
+ * Blocking severities where a refusal can land (#2154) ([81d712f](https://github.com/event4u-app/agent-config/commit/81d712f2706ffe6fcdf98f2198a5607d7c6faf17))
1085
+ * Give the three spawn-bound test suites their own timeout (#2166) ([aead73d](https://github.com/event4u-app/agent-config/commit/aead73d280f8c61de7cf604ef39c06274fb6baf4))
1086
+ * A ranker that routes: the null, and the two premises it refuted (#2162) ([213d870](https://github.com/event4u-app/agent-config/commit/213d870558b7fbcdc033ac6f8f0ef4c1a43a5a80))
1087
+ * One YAML reader in the hook bundle, a ceiling on it, and a census that renders (#2158) ([22b19e5](https://github.com/event4u-app/agent-config/commit/22b19e520c198b6f0aec2cbf8cb2851818c11fcc))
1088
+ * Record a verification command that fails on claude (#2160) ([29b1832](https://github.com/event4u-app/agent-config/commit/29b183256155f9a3dea3d3351268b62b33628fde))
1089
+ * Three surfaces that said more than they did (#2144) ([00612c1](https://github.com/event4u-app/agent-config/commit/00612c1f27edafcfa6340b41c56a0da281d6ebc2))
1090
+
1091
+ Tests: 25888 (+896 since 16.2.0)
989
1092
 
990
1093
  # Era: pre-4.0.0 — archived
991
1094