@event4u/agent-config 16.4.0 → 17.0.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 (1052) hide show
  1. package/.augment-plugin/marketplace.json +3 -3
  2. package/.augment-plugin/plugin.json +1 -1
  3. package/.claude-plugin/marketplace.json +2 -2
  4. package/.claude-plugin/skills/install-agent-config/SKILL.md +4 -4
  5. package/CHANGELOG.md +483 -669
  6. package/CONTRIBUTING.md +47 -0
  7. package/README.md +25 -25
  8. package/dist/agent-src/commands/{design.md → agent-design.md} +11 -7
  9. package/dist/agent-src/commands/agents/init.md +66 -3
  10. package/dist/agent-src/commands/agents/user/init.md +3 -0
  11. package/dist/agent-src/commands/{optimize/deep.md → analyze/and-optimize.md} +72 -33
  12. package/dist/agent-src/commands/analyze/inbox.md +168 -37
  13. package/dist/agent-src/commands/analyze/pr.md +144 -0
  14. package/dist/agent-src/commands/analyze/{repo.md → reference.md} +85 -14
  15. package/dist/agent-src/commands/analyze/roadmap-repos.md +19 -10
  16. package/dist/agent-src/commands/analyze.md +28 -12
  17. package/dist/agent-src/commands/audit.md +115 -0
  18. package/dist/agent-src/commands/brand/review.md +13 -2
  19. package/dist/agent-src/commands/brand/tokens.md +3 -3
  20. package/dist/agent-src/commands/brand/voice.md +8 -5
  21. package/dist/agent-src/commands/brand.md +2 -2
  22. package/dist/agent-src/commands/challenge-me/closure.md +25 -0
  23. package/dist/agent-src/commands/design-system/import.md +8 -3
  24. package/dist/agent-src/commands/design-system/sync.md +98 -0
  25. package/dist/agent-src/commands/design-system.md +6 -1
  26. package/dist/agent-src/commands/evals/analyze.json +44 -0
  27. package/dist/agent-src/commands/evals/audit.json +12 -0
  28. package/dist/agent-src/commands/evals/retro.json +12 -0
  29. package/dist/agent-src/commands/fix/ci.md +10 -8
  30. package/dist/agent-src/commands/ghostwriter/write.md +22 -0
  31. package/dist/agent-src/commands/memory/learn-low-impact.md +70 -83
  32. package/dist/agent-src/commands/memory/propose.md +12 -0
  33. package/dist/agent-src/commands/memory.md +1 -1
  34. package/dist/agent-src/commands/optimize.md +4 -3
  35. package/dist/agent-src/commands/post-as/me.md +18 -0
  36. package/dist/agent-src/commands/pr/create.md +17 -342
  37. package/dist/agent-src/commands/pr/merge.md +129 -368
  38. package/dist/agent-src/commands/retro.md +121 -0
  39. package/dist/agent-src/commands/review/routing.md +1 -1
  40. package/dist/agent-src/commands/roadmap/next.md +4 -1
  41. package/dist/agent-src/commands/roadmap/process-full.md +46 -333
  42. package/dist/agent-src/commands/roadmap/triage-parked.md +6 -2
  43. package/dist/agent-src/commands/team-knowledge/consolidate.md +2 -2
  44. package/dist/agent-src/commands/team-knowledge.md +1 -1
  45. package/dist/agent-src/commands/threat-model.md +1 -1
  46. package/dist/agent-src/commands/upstream-contribute.md +91 -101
  47. package/dist/agent-src/commands/worktree/cleanup.md +18 -11
  48. package/dist/agent-src/contexts/contracts/consumer-agents-md-guide.md +54 -0
  49. package/dist/agent-src/contexts/execution/analysis-loop.md +137 -0
  50. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +3 -3
  51. package/dist/agent-src/contexts/execution/decision-closure-execution.md +1 -1
  52. package/dist/agent-src/contexts/execution/host-capability-manifest.md +6 -0
  53. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +11 -4
  54. package/dist/agent-src/contexts/execution/pr-create-branches-content.md +250 -0
  55. package/dist/agent-src/contexts/execution/pr-create-branches-freshness.md +150 -0
  56. package/dist/agent-src/contexts/execution/pr-merge-queue.md +287 -0
  57. package/dist/agent-src/contexts/execution/pr-merge-sync.md +276 -0
  58. package/dist/agent-src/contexts/execution/pr-merge-trust-boundary.md +69 -0
  59. package/dist/agent-src/contexts/execution/process-full-all.md +233 -0
  60. package/dist/agent-src/contexts/execution/process-full-delivery.md +231 -0
  61. package/dist/agent-src/contexts/execution/roadmap-execution-contract-branches.md +42 -0
  62. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +1 -35
  63. package/dist/agent-src/contexts/execution/roadmap-process-loop-close.md +235 -0
  64. package/dist/agent-src/contexts/execution/roadmap-process-loop-prescan.md +216 -0
  65. package/dist/agent-src/contexts/execution/roadmap-process-loop-run.md +253 -0
  66. package/dist/agent-src/contexts/execution/roadmap-process-loop-set.md +212 -0
  67. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +25 -864
  68. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +14 -2
  69. package/dist/agent-src/contexts/execution/subagent-steering.md +65 -8
  70. package/dist/agent-src/contexts/model-recommendations.md +5 -5
  71. package/dist/agent-src/contexts/subagent-configuration.md +1 -1
  72. package/dist/agent-src/guidelines/agent-infra/api-cost-levers.md +4 -3
  73. package/dist/agent-src/guidelines/agent-infra/model-recommendation.md +11 -5
  74. package/dist/agent-src/guidelines/agent-infra/rule-body-migration-inventory.md +1 -1
  75. package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +47 -24
  76. package/dist/agent-src/guidelines/design-antipatterns.md +6 -1
  77. package/dist/agent-src/guidelines/design-asset-discipline.md +17 -0
  78. package/dist/agent-src/guidelines/design-fidelity-routing.md +1 -0
  79. package/dist/agent-src/guidelines/php/api-design.md +10 -1
  80. package/dist/agent-src/rules/brand-source-of-truth.md +7 -6
  81. package/dist/agent-src/rules/code-provenance.md +1 -1
  82. package/dist/agent-src/rules/context-hygiene.md +0 -1
  83. package/dist/agent-src/rules/design-fidelity.md +12 -13
  84. package/dist/agent-src/rules/external-reference-deep-dive.md +2 -2
  85. package/dist/agent-src/rules/fix-what-you-see.md +1 -1
  86. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +14 -15
  87. package/dist/agent-src/rules/missing-skill-recovery.md +12 -11
  88. package/dist/agent-src/rules/neighbour-precedence.md +1 -1
  89. package/dist/agent-src/rules/recurring-criticism.md +1 -1
  90. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -2
  91. package/dist/agent-src/rules/self-repair-loop.md +2 -2
  92. package/dist/agent-src/rules/token-budget-discipline.md +2 -2
  93. package/dist/agent-src/scripts/dashboard_mode.ts +4 -1
  94. package/dist/agent-src/scripts/roadmap_age.ts +175 -0
  95. package/dist/agent-src/scripts/update_roadmap_progress.ts +10 -2
  96. package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -3
  97. package/dist/agent-src/skills/accessibility-auditor/data/aria-patterns.csv +2 -0
  98. package/dist/agent-src/skills/accessibility-auditor/data/manifest.json +3 -3
  99. package/dist/agent-src/skills/agent-security-review/SKILL.md +2 -2
  100. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +12 -4
  101. package/dist/agent-src/skills/ai-code-blindspots/SKILL.md +7 -0
  102. package/dist/agent-src/skills/ai-council/references/advanced-modes.md +11 -1
  103. package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +7 -0
  104. package/dist/agent-src/skills/ai-council/references/execution-modes.md +7 -0
  105. package/dist/agent-src/skills/ai-council/references/output-and-synthesis.md +19 -0
  106. package/dist/agent-src/skills/ai-council/references/procedure.md +7 -0
  107. package/dist/agent-src/skills/api-design/SKILL.md +2 -2
  108. package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -2
  109. package/dist/agent-src/skills/authz-review/SKILL.md +5 -3
  110. package/dist/agent-src/skills/blade-ui/SKILL.md +2 -2
  111. package/dist/agent-src/skills/brand/SKILL.md +7 -3
  112. package/dist/agent-src/skills/brand-asset-generation/SKILL.md +13 -6
  113. package/dist/agent-src/skills/brand-audit/SKILL.md +2 -1
  114. package/dist/agent-src/skills/brand-identity/SKILL.md +5 -4
  115. package/dist/agent-src/skills/brand-strategy/SKILL.md +5 -4
  116. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +18 -39
  117. package/dist/agent-src/skills/brand-to-tokens/templates/marp-brand-deck.md.example +2 -2
  118. package/dist/agent-src/skills/brand-to-tokens/templates/reveal-brand-deck.yaml +2 -2
  119. package/dist/agent-src/skills/canvas-design/SKILL.md +16 -4
  120. package/dist/agent-src/skills/competitive-positioning/SKILL.md +2 -2
  121. package/dist/agent-src/skills/composer-packages/SKILL.md +18 -0
  122. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  123. package/dist/agent-src/skills/content-funnel-design/SKILL.md +8 -1
  124. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  125. package/dist/agent-src/skills/context-document/SKILL.md +2 -2
  126. package/dist/agent-src/skills/corpus-grounding/SKILL.md +6 -6
  127. package/dist/agent-src/skills/corpus-grounding/scripts/decision_engine.ts +13 -11
  128. package/dist/agent-src/skills/corpus-grounding/scripts/ground.mjs +1706 -0
  129. package/dist/agent-src/skills/corpus-grounding/scripts/schema_validator.ts +7 -1
  130. package/dist/agent-src/skills/dashboard-design/SKILL.md +1 -1
  131. package/dist/agent-src/skills/data-flow-mapper/SKILL.md +5 -2
  132. package/dist/agent-src/skills/database/SKILL.md +5 -4
  133. package/dist/agent-src/skills/decision-record/references/weighted-matrix.md +12 -0
  134. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +1 -1
  135. package/dist/agent-src/skills/dependency-upgrade/SKILL.md +61 -11
  136. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  137. package/dist/agent-src/skills/design-intelligence/SKILL.md +1 -1
  138. package/dist/agent-src/skills/design-intelligence/data/landing.csv +1 -1
  139. package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +10 -2
  140. package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
  141. package/dist/agent-src/skills/design-intelligence/references/design-rules-checklist.md +4 -3
  142. package/dist/agent-src/skills/design-intelligence/references/integration-mapping.md +25 -22
  143. package/dist/agent-src/skills/{wireframe → design-review}/references/story-beat-ledger.schema.json +1 -1
  144. package/dist/agent-src/skills/design-review/references/verification-automation.md +11 -3
  145. package/dist/agent-src/skills/design-system-capture/SKILL.md +15 -10
  146. package/dist/agent-src/skills/design-system-capture/references/design-system-json.md +20 -5
  147. package/dist/agent-src/skills/design-system-capture/references/import-procedure.md +2 -2
  148. package/dist/agent-src/skills/design-tokens/SKILL.md +23 -23
  149. package/dist/agent-src/skills/design-tokens/scripts/tokens.mjs +1037 -0
  150. package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +336 -13
  151. package/dist/agent-src/skills/design-tokens/templates/design-tokens-starter.json +52 -53
  152. package/dist/agent-src/skills/docker/SKILL.md +1 -1
  153. package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
  154. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +14 -276
  155. package/dist/agent-src/skills/existing-ui-audit/procedure.yaml +44 -0
  156. package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +1 -1
  157. package/dist/agent-src/skills/existing-ui-audit/references/steps/00-inspect-stack-and-input.md +4 -0
  158. package/dist/agent-src/skills/existing-ui-audit/references/steps/01-enumerate-components.md +26 -0
  159. package/dist/agent-src/skills/existing-ui-audit/references/steps/01b-detect-component-taxonomy.md +7 -0
  160. package/dist/agent-src/skills/existing-ui-audit/references/steps/02-identify-design-system.md +12 -0
  161. package/dist/agent-src/skills/existing-ui-audit/references/steps/03-detect-design-tokens.md +35 -0
  162. package/dist/agent-src/skills/existing-ui-audit/references/steps/04-detect-shadcn-inventory.md +13 -0
  163. package/dist/agent-src/skills/existing-ui-audit/references/steps/04b-live-storybook-read.md +26 -0
  164. package/dist/agent-src/skills/existing-ui-audit/references/steps/05-list-reusable-patterns.md +14 -0
  165. package/dist/agent-src/skills/existing-ui-audit/references/steps/06-match-candidates.md +52 -0
  166. package/dist/agent-src/skills/existing-ui-audit/references/steps/07-greenfield-branch.md +29 -0
  167. package/dist/agent-src/skills/existing-ui-audit/references/steps/08-a11y-baseline.md +40 -0
  168. package/dist/agent-src/skills/existing-ui-audit/references/steps/09-validate-and-write.md +5 -0
  169. package/dist/agent-src/skills/experiment-loop/SKILL.md +1 -1
  170. package/dist/agent-src/skills/fe-design/references/design-patterns.md +65 -4
  171. package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +1 -1
  172. package/dist/agent-src/skills/fe-design/references/source-led-port.md +1 -1
  173. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +6 -6
  174. package/dist/agent-src/skills/flux/SKILL.md +1 -1
  175. package/dist/agent-src/skills/form-handler/SKILL.md +15 -2
  176. package/dist/agent-src/skills/frontend-render-security/SKILL.md +9 -0
  177. package/dist/agent-src/skills/git-workflow/SKILL.md +2 -2
  178. package/dist/agent-src/skills/git-workflow/references/branch-update.md +7 -0
  179. package/dist/agent-src/skills/git-workflow/references/commit-subject.md +12 -0
  180. package/dist/agent-src/skills/git-workflow/references/push-closes-its-loop.md +10 -0
  181. package/dist/agent-src/skills/gtm-launch/SKILL.md +8 -1
  182. package/dist/agent-src/skills/html-deck/SKILL.md +7 -2
  183. package/dist/agent-src/skills/humanizer/SKILL.md +16 -3
  184. package/dist/agent-src/skills/humanizer/references/anti-aiisms.md +13 -1
  185. package/dist/agent-src/skills/humanizer/references/fixtures.md +8 -0
  186. package/dist/agent-src/skills/iconography/SKILL.md +4 -2
  187. package/dist/agent-src/skills/image-provider-routing/SKILL.md +16 -5
  188. package/dist/agent-src/skills/js-library-packaging/SKILL.md +5 -4
  189. package/dist/agent-src/skills/js-library-packaging/scripts/check_package_surface.mjs +197 -0
  190. package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +1 -1
  191. package/dist/agent-src/skills/judge-security-auditor/SKILL.md +2 -2
  192. package/dist/agent-src/skills/launch-readiness/SKILL.md +18 -22
  193. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +5 -5
  194. package/dist/agent-src/skills/livewire/SKILL.md +1 -1
  195. package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +18 -0
  196. package/dist/agent-src/skills/logo-generation/SKILL.md +21 -11
  197. package/dist/agent-src/skills/market-entry-analysis/SKILL.md +6 -1
  198. package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
  199. package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
  200. package/dist/agent-src/skills/messaging-architecture/SKILL.md +8 -1
  201. package/dist/agent-src/skills/motion-choreographer/SKILL.md +2 -2
  202. package/dist/agent-src/skills/playwright-testing/SKILL.md +2 -0
  203. package/dist/agent-src/skills/positioning-strategy/SKILL.md +10 -2
  204. package/dist/agent-src/skills/prediction-pool-optimizer/references/ev-fixtures.md +13 -0
  205. package/dist/agent-src/skills/prediction-pool-optimizer/references/odds-and-bonus.md +7 -0
  206. package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
  207. package/dist/agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +1 -1
  208. package/dist/agent-src/skills/project-analyzer/SKILL.md +14 -75
  209. package/dist/agent-src/skills/project-analyzer/procedure.yaml +39 -0
  210. package/dist/agent-src/skills/project-analyzer/references/steps/01-project-overview.md +9 -0
  211. package/dist/agent-src/skills/project-analyzer/references/steps/02-architecture.md +7 -0
  212. package/dist/agent-src/skills/project-analyzer/references/steps/03-data-layer.md +6 -0
  213. package/dist/agent-src/skills/project-analyzer/references/steps/04-business-domains.md +7 -0
  214. package/dist/agent-src/skills/project-analyzer/references/steps/05-api-surface.md +6 -0
  215. package/dist/agent-src/skills/project-analyzer/references/steps/06-service-map.md +6 -0
  216. package/dist/agent-src/skills/project-analyzer/references/steps/07-module-inventory.md +6 -0
  217. package/dist/agent-src/skills/project-analyzer/references/steps/08-infrastructure-and-testing.md +5 -0
  218. package/dist/agent-src/skills/project-analyzer/references/steps/09-agent-docs-audit.md +6 -0
  219. package/dist/agent-src/skills/project-analyzer/references/steps/10-gap-analysis.md +6 -0
  220. package/dist/agent-src/skills/quality-tools/references/js-ts-tools.md +10 -0
  221. package/dist/agent-src/skills/quality-tools/references/php-tools.md +13 -0
  222. package/dist/agent-src/skills/quality-tools/references/python-tools.md +11 -0
  223. package/dist/agent-src/skills/react-native-setup/SKILL.md +7 -2
  224. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +5 -1
  225. package/dist/agent-src/skills/react-shadcn-ui/references/registry.md +13 -0
  226. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.mjs +315 -0
  227. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +6 -6
  228. package/dist/agent-src/skills/receiving-code-review/SKILL.md +1 -1
  229. package/dist/agent-src/skills/refine-ticket/SKILL.md +2 -2
  230. package/dist/agent-src/skills/release-comms/SKILL.md +2 -1
  231. package/dist/agent-src/skills/repomix-packer/SKILL.md +2 -2
  232. package/dist/agent-src/skills/requesting-code-review/SKILL.md +3 -3
  233. package/dist/agent-src/skills/roadmap-management/references/archival.md +3 -3
  234. package/dist/agent-src/skills/roadmap-management/references/authoring.md +9 -2
  235. package/dist/agent-src/skills/roadmap-management/references/dashboard.md +3 -3
  236. package/dist/agent-src/skills/roadmap-management/references/lifecycle.md +3 -3
  237. package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -4
  238. package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +1 -1
  239. package/dist/agent-src/skills/rule-writing/SKILL.md +1 -2
  240. package/dist/agent-src/skills/security/SKILL.md +41 -5
  241. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +5 -3
  242. package/dist/agent-src/skills/skill-reviewer/SKILL.md +1 -1
  243. package/dist/agent-src/skills/skill-writing/SKILL.md +23 -8
  244. package/dist/agent-src/skills/skill-writing/references/section-patterns.md +19 -1
  245. package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
  246. package/dist/agent-src/skills/sql-writing/SKILL.md +2 -2
  247. package/dist/agent-src/skills/standards-from-config/SKILL.md +2 -2
  248. package/dist/agent-src/skills/storybook-workshop/SKILL.md +5 -0
  249. package/dist/agent-src/skills/storybook-workshop/scripts/story_contrast_floor.mjs +99 -0
  250. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +13 -13
  251. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +4 -3
  252. package/dist/agent-src/skills/svg-authoring/SKILL.md +324 -0
  253. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  254. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +8 -3
  255. package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.mjs +482 -0
  256. package/dist/agent-src/skills/test-case-discovery/SKILL.md +1 -1
  257. package/dist/agent-src/skills/threat-modeling/SKILL.md +8 -1
  258. package/dist/agent-src/skills/threat-modeling/data/manifest.json +5 -2
  259. package/dist/agent-src/skills/threat-modeling/data/reasoning.csv +10 -10
  260. package/dist/agent-src/skills/threat-modeling/data/surfaces.csv +11 -10
  261. package/dist/agent-src/skills/threat-modeling/data/threats.csv +34 -20
  262. package/dist/agent-src/skills/type-design/SKILL.md +196 -0
  263. package/dist/agent-src/skills/type-design/references/font-spec.md +90 -0
  264. package/dist/agent-src/skills/type-design/references/gates.md +113 -0
  265. package/dist/agent-src/skills/type-design/references/toolchain.md +66 -0
  266. package/dist/agent-src/skills/typography-system/SKILL.md +21 -11
  267. package/dist/agent-src/skills/typography-system/references/worked-scales.md +85 -0
  268. package/dist/agent-src/skills/ui-apply-generic/SKILL.md +1 -1
  269. package/dist/agent-src/skills/universal-project-analysis/SKILL.md +1 -1
  270. package/dist/agent-src/skills/upstream-contribute/SKILL.md +120 -125
  271. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -0
  272. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +1 -1
  273. package/dist/agent-src/skills/voice-and-tone-design/SKILL.md +71 -2
  274. package/dist/agent-src/skills/wireframe/SKILL.md +5 -2
  275. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +16 -14
  276. package/dist/agent-src/templates/AGENTS.md +1 -1
  277. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  278. package/dist/agent-src/templates/agents/proposal.example.md +1 -1
  279. package/dist/agent-src/templates/github-workflows/advisories-daily.yml +85 -0
  280. package/dist/agent-src/templates/roadmaps.md +39 -1
  281. package/dist/agent-src/templates/scripts/check_memory.ts +2 -2
  282. package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +13 -1
  283. package/dist/agent-src/templates/scripts/work_engine/cli.ts +17 -0
  284. package/dist/agent-src/templates/scripts/work_engine/cli_args.ts +10 -0
  285. package/dist/agent-src/templates/scripts/work_engine/directives/ui/scaffold.ts +22 -13
  286. package/dist/agent-src/templates/scripts/work_engine/dispatcher.ts +18 -4
  287. package/dist/agent-src/templates/scripts/work_engine/procedure/checks.ts +283 -0
  288. package/dist/agent-src/templates/scripts/work_engine/procedure/run.ts +432 -0
  289. package/dist/agent-src/templates/scripts/work_engine/procedure/sidecar.ts +185 -0
  290. package/dist/agent-src/templates/scripts/work_engine/state.ts +3 -0
  291. package/dist/cli/commands/uiRender.js +265 -13
  292. package/dist/cli/commands/uiRenderAsset.js +1316 -0
  293. package/dist/cli/commands/uiRenderAssetCompare.js +752 -0
  294. package/dist/cli/commands/uiRenderAssetFonts.js +158 -0
  295. package/dist/cli/commands/uiRenderAssetGrid.js +265 -0
  296. package/dist/cli/commands/uiRenderAssetGrounds.js +323 -0
  297. package/dist/cli/commands/uiRenderAssetIsolation.js +85 -0
  298. package/dist/cli/commands/uiRenderAssetTypes.js +133 -0
  299. package/dist/cli/initRouting.js +1 -1
  300. package/dist/cli/main.js +47 -1
  301. package/dist/cli/mcp/dispatch.js +31 -9
  302. package/dist/cli/python/knowledge_ingest.js +7 -39
  303. package/dist/cli/python/workspace_secrets.js +4 -177
  304. package/dist/cli/registry.js +5 -2
  305. package/dist/cli-delegate/archive_completed_roadmaps.js +3 -2
  306. package/dist/cli-delegate/check_update_banner.js +635 -266
  307. package/dist/cli-delegate/{chunk-AED2VQGM.js → chunk-2CX7NWRB.js} +233 -437
  308. package/dist/cli-delegate/{chunk-F3QDG2GT.js → chunk-2SFOOFJJ.js} +259 -159
  309. package/dist/cli-delegate/chunk-2Y5AMLMY.js +136 -0
  310. package/dist/cli-delegate/{chunk-OKJUIAPS.js → chunk-4E2W63DA.js} +1 -62
  311. package/dist/cli-delegate/{chunk-6SRJTYJS.js → chunk-4SHNERBL.js} +37 -16
  312. package/dist/cli-delegate/chunk-5VO3RTMV.js +208 -0
  313. package/dist/cli-delegate/chunk-6E2LDY4F.js +27 -0
  314. package/dist/cli-delegate/{chunk-XQTPXKFA.js → chunk-6ZD2QZMN.js} +8 -17
  315. package/dist/cli-delegate/{chunk-6V5FMA3P.js → chunk-7CEI2YPS.js} +1 -1
  316. package/dist/cli-delegate/{chunk-DMSZHXZS.js → chunk-7DRWULEQ.js} +80 -7
  317. package/dist/cli-delegate/chunk-7NXCZSDL.js +54 -0
  318. package/dist/cli-delegate/chunk-AX3U3UWJ.js +328 -0
  319. package/dist/cli-delegate/{chunk-WOKWX5PL.js → chunk-BKALSTBZ.js} +18 -3
  320. package/dist/cli-delegate/chunk-BMGUGSY6.js +103 -0
  321. package/dist/cli-delegate/chunk-BYV46VRM.js +3309 -0
  322. package/dist/cli-delegate/{chunk-5GPULQBE.js → chunk-CAL76ADI.js} +4215 -682
  323. package/dist/cli-delegate/chunk-DSY6LLCQ.js +127 -0
  324. package/dist/cli-delegate/chunk-E6XNBVE4.js +581 -0
  325. package/dist/cli-delegate/{chunk-ZUZKZYCN.js → chunk-ESUNQ5XR.js} +46 -10
  326. package/dist/cli-delegate/{chunk-G5VVIZRC.js → chunk-F7HLSW6P.js} +1 -1
  327. package/dist/cli-delegate/chunk-FIEEOH5C.js +133 -0
  328. package/dist/cli-delegate/chunk-FKYZOWVD.js +719 -0
  329. package/dist/cli-delegate/chunk-GOMILC3O.js +918 -0
  330. package/dist/cli-delegate/chunk-I4KJYVPB.js +69 -0
  331. package/dist/cli-delegate/{chunk-JQOM7TTM.js → chunk-IDAOTDPE.js} +1 -100
  332. package/dist/cli-delegate/chunk-IROAQ77A.js +137 -0
  333. package/dist/cli-delegate/chunk-J2SJZICO.js +698 -0
  334. package/dist/cli-delegate/{chunk-6YQC2HLF.js → chunk-JHMMWNJ2.js} +54 -40
  335. package/dist/cli-delegate/{chunk-WQWXGIWB.js → chunk-M6CRG5O6.js} +165 -15
  336. package/dist/cli-delegate/{chunk-PHD7OOLE.js → chunk-MQ2UDEGV.js} +14 -3
  337. package/dist/cli-delegate/chunk-NTM7G2V4.js +220 -0
  338. package/dist/cli-delegate/chunk-PV7S5DPJ.js +175 -0
  339. package/dist/cli-delegate/{chunk-F7DQWYR5.js → chunk-RAXQOETZ.js} +6 -2
  340. package/dist/cli-delegate/{chunk-T7XSJSUQ.js → chunk-SIOMDAKL.js} +980 -784
  341. package/dist/cli-delegate/{chunk-KR6EM23A.js → chunk-TULVDQ4L.js} +3 -48
  342. package/dist/cli-delegate/chunk-UUYEKXKR.js +20 -0
  343. package/dist/cli-delegate/{chunk-7XGD2OEU.js → chunk-UXWHY6CQ.js} +2 -1
  344. package/dist/cli-delegate/{chunk-PWX7CKMD.js → chunk-VC3ECUEK.js} +1 -1
  345. package/dist/cli-delegate/{chunk-KXXWJTDO.js → chunk-WMNYVIYX.js} +1 -1
  346. package/dist/cli-delegate/chunk-XCY5KKUC.js +181 -0
  347. package/dist/cli-delegate/{chunk-H76PHZBI.js → chunk-XLY5G3CM.js} +14 -19
  348. package/dist/cli-delegate/cmd_adr_effective.js +41 -2
  349. package/dist/cli-delegate/cmd_analyze_session.js +7 -7
  350. package/dist/cli-delegate/cmd_brand_status.js +1287 -10
  351. package/dist/cli-delegate/cmd_ci_settle.js +330 -0
  352. package/dist/cli-delegate/cmd_conformance.js +669 -822
  353. package/dist/cli-delegate/cmd_doctor.js +26 -16
  354. package/dist/cli-delegate/cmd_doctor_neighbours.js +10 -7
  355. package/dist/cli-delegate/cmd_explain.js +9 -24
  356. package/dist/cli-delegate/cmd_export.js +14 -11
  357. package/dist/cli-delegate/cmd_fleet.js +5 -3
  358. package/dist/cli-delegate/cmd_git_convention.js +8 -4
  359. package/dist/cli-delegate/cmd_handoff.js +79 -242
  360. package/dist/cli-delegate/cmd_mcp_available.js +1 -1
  361. package/dist/cli-delegate/cmd_memory_get.js +4 -2
  362. package/dist/cli-delegate/cmd_migrate.js +2 -2
  363. package/dist/cli-delegate/cmd_packs_active.js +2 -2
  364. package/dist/cli-delegate/cmd_preflight.js +7 -5
  365. package/dist/cli-delegate/cmd_prune.js +16 -13
  366. package/dist/cli-delegate/cmd_route_audit.js +11 -8
  367. package/dist/cli-delegate/cmd_route_explain.js +649 -16
  368. package/dist/cli-delegate/cmd_session_recycle.js +15 -6
  369. package/dist/cli-delegate/cmd_settings_check.js +2 -2
  370. package/dist/cli-delegate/cmd_settings_get.js +1 -1
  371. package/dist/cli-delegate/cmd_settings_migrate.js +14 -11
  372. package/dist/cli-delegate/cmd_settings_set.js +1 -1
  373. package/dist/cli-delegate/cmd_sync.js +16 -13
  374. package/dist/cli-delegate/cmd_uninstall.js +185 -31
  375. package/dist/cli-delegate/cmd_update.js +67 -3
  376. package/dist/cli-delegate/cmd_upgrade.js +38 -7
  377. package/dist/cli-delegate/cmd_validate.js +16 -13
  378. package/dist/cli-delegate/cmd_versions.js +1 -1
  379. package/dist/cli-delegate/dashboard_mode.js +1 -1
  380. package/dist/cli-delegate/gate_execute.js +4 -3
  381. package/dist/cli-delegate/roadmap_age.js +22 -0
  382. package/dist/cli-delegate/roadmap_gates.js +4 -3
  383. package/dist/cli-delegate/update_roadmap_progress.js +3 -2
  384. package/dist/cli-delegate/upgrade_unattended-VVL6JLSX.js +541 -0
  385. package/dist/discovery/deprecation-report.md +1 -1
  386. package/dist/discovery/discovery-manifest.json +409 -201
  387. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  388. package/dist/discovery/discovery-manifest.summary.md +8 -8
  389. package/dist/discovery/dormancy-report.md +1 -1
  390. package/dist/discovery/orphan-report.md +1 -1
  391. package/dist/discovery/packs.json +36 -27
  392. package/dist/discovery/trust-report.md +3 -3
  393. package/dist/discovery/workspaces.json +25 -16
  394. package/dist/hooks/chat_history.chunk.cjs +6852 -0
  395. package/dist/hooks/chat_history.chunk.cjs.sha256 +1 -0
  396. package/dist/hooks/dispatch.js +17706 -18627
  397. package/dist/hooks/dispatch.sha256 +1 -1
  398. package/dist/hooks/egress_engine.chunk.cjs +915 -0
  399. package/dist/hooks/egress_engine.chunk.cjs.sha256 +1 -0
  400. package/dist/hooks/svg_rules.chunk.cjs +1858 -0
  401. package/dist/hooks/svg_rules.chunk.cjs.sha256 +1 -0
  402. package/dist/install/conflict.js +36 -6
  403. package/dist/install/conflictTracker.js +81 -7
  404. package/dist/install/detect.js +3 -3
  405. package/dist/install/hostPermissionsAdapter.js +106 -0
  406. package/dist/install/install.mjs +3117 -1949
  407. package/dist/install/installThinLayer.js +1 -1
  408. package/dist/install/manifestFiles.js +21 -0
  409. package/dist/install/noGoDenyRows.js +300 -0
  410. package/dist/install/noGoRules.js +368 -0
  411. package/dist/install/ownershipLedger.js +133 -0
  412. package/dist/install/plan.js +1 -1
  413. package/dist/install/preflight.js +39 -8
  414. package/dist/install/preserve.js +74 -12
  415. package/dist/install/recordedOwnership.js +88 -5
  416. package/dist/install/rule_scope.js +20 -3
  417. package/dist/install/stagedRuntime.js +455 -0
  418. package/dist/install/toolsArg.js +19 -0
  419. package/dist/install/userPin.js +47 -0
  420. package/dist/install/wizard-plan.js +26 -4
  421. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  422. package/dist/mcp/mcp-cloudflare-catalogue.json +3 -2
  423. package/dist/mcp/registry-manifest.json +6 -5
  424. package/dist/mcp/server.json +3 -3
  425. package/dist/mcp/server.mjs +9814 -5333
  426. package/dist/router.json +1 -1
  427. package/dist/scripts/_lib/agent_settings.js +7 -12
  428. package/dist/scripts/_lib/asset_render_record.js +219 -0
  429. package/dist/scripts/_lib/claude_builtin_names.js +9 -4
  430. package/dist/scripts/_lib/claude_settings_hooks.js +102 -34
  431. package/dist/scripts/_lib/egress_rules.js +766 -0
  432. package/dist/scripts/_lib/environment_detector.js +24 -33
  433. package/dist/scripts/_lib/global_deploy_inventory.js +146 -9
  434. package/dist/scripts/_lib/guidelines_lane.js +10 -1
  435. package/dist/scripts/_lib/identifier_redaction.js +24 -0
  436. package/dist/scripts/_lib/installed_layer.js +17 -0
  437. package/dist/scripts/_lib/installed_layer_normalise.js +72 -0
  438. package/dist/scripts/_lib/lean_projection_mode.js +34 -152
  439. package/dist/scripts/_lib/project_tree_form.js +118 -0
  440. package/dist/scripts/_lib/scan_scope.js +105 -0
  441. package/dist/scripts/_lib/scoped_projection.js +133 -3
  442. package/dist/scripts/_lib/settings_removed_keys.js +29 -0
  443. package/dist/scripts/_lib/settings_renamed_keys.js +17 -5
  444. package/dist/scripts/_lib/subagent_native_fields.js +35 -0
  445. package/dist/scripts/_lib/svg_dom.js +284 -0
  446. package/dist/scripts/_lib/svg_filled_counter.js +285 -0
  447. package/dist/scripts/_lib/svg_geometry.js +477 -0
  448. package/dist/scripts/_lib/svg_motion.js +179 -0
  449. package/dist/scripts/_lib/svg_rules.js +1339 -0
  450. package/dist/scripts/_lib/svg_urls.js +67 -0
  451. package/dist/scripts/_lib/ui_surface.js +19 -0
  452. package/dist/scripts/_lib/verification_command.js +364 -0
  453. package/dist/scripts/_lib/workspace_secrets.js +229 -0
  454. package/dist/scripts/ai_council/seat_policy.js +27 -0
  455. package/dist/scripts/ai_council/transport_resolver.js +9 -10
  456. package/dist/scripts/condense.js +25 -29
  457. package/dist/scripts/lint_svg_asset.js +324 -0
  458. package/dist/server/io/substituteTemplate.js +2 -2
  459. package/dist/server/io/yamlIO.js +2 -2
  460. package/dist/server/routes/install.js +5 -1
  461. package/dist/server/routes/settings.js +2 -2
  462. package/dist/server/routes/wizard.js +1 -1
  463. package/dist/server/schemas/settings.js +22 -16
  464. package/dist/server/serverInfo.js +1 -1
  465. package/dist/shared/brandTokenDocument.js +47 -0
  466. package/dist/shared/brandTokenPaths.js +43 -0
  467. package/dist/shared/settingsCarveOut.js +0 -7
  468. package/dist/shared/skillRanking.js +103 -5
  469. package/dist/shared/userMd/formAdapter.js +16 -0
  470. package/dist/shared/userMd/schema.js +17 -0
  471. package/dist/ui/assets/index-w70Ado09.js +23 -0
  472. package/dist/ui/index.html +1 -1
  473. package/docs/MIGRATION.md +89 -2
  474. package/docs/THIRD-PARTY-NOTICES.md +27 -0
  475. package/docs/contracts/settings-classes.md +27 -9
  476. package/docs/guidelines/agent-infra/api-cost-levers.md +4 -3
  477. package/docs/guidelines/agent-infra/model-recommendation.md +11 -5
  478. package/docs/guidelines/agent-infra/rule-body-migration-inventory.md +1 -1
  479. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +47 -24
  480. package/docs/guidelines/design-antipatterns.md +6 -1
  481. package/docs/guidelines/design-asset-discipline.md +17 -0
  482. package/docs/guidelines/design-fidelity-routing.md +1 -0
  483. package/docs/guidelines/php/api-design.md +10 -1
  484. package/llms.txt +12 -10
  485. package/package.json +15 -5
  486. package/src/agent-src/scripts/dashboard_mode.ts +4 -1
  487. package/src/agent-src/scripts/roadmap_age.ts +175 -0
  488. package/src/agent-src/scripts/update_roadmap_progress.ts +10 -2
  489. package/src/agent-src/templates/AGENTS.md +1 -1
  490. package/src/agent-src/templates/scripts/check_memory.ts +2 -2
  491. package/src/agent-src/templates/scripts/historical-bug-patterns.example.yml +13 -1
  492. package/src/agent-src/templates/scripts/work_engine/cli.ts +17 -0
  493. package/src/agent-src/templates/scripts/work_engine/cli_args.ts +10 -0
  494. package/src/agent-src/templates/scripts/work_engine/directives/ui/scaffold.ts +22 -13
  495. package/src/agent-src/templates/scripts/work_engine/dispatcher.ts +18 -4
  496. package/src/agent-src/templates/scripts/work_engine/procedure/checks.ts +283 -0
  497. package/src/agent-src/templates/scripts/work_engine/procedure/run.ts +432 -0
  498. package/src/agent-src/templates/scripts/work_engine/procedure/sidecar.ts +185 -0
  499. package/src/agent-src/templates/scripts/work_engine/state.ts +3 -0
  500. package/src/config/agent-settings.template.yml +120 -57
  501. package/src/config/agents-paths.yml +13 -7
  502. package/src/config/ci-local-parity.yml +44 -0
  503. package/src/config/continuity-surface.json +51 -2
  504. package/src/config/depth-audit-samples.json +5 -0
  505. package/src/config/discovery/command-verbs.yml +1 -0
  506. package/src/config/dispatch-economy-metrics.json +1 -0
  507. package/src/config/egress-mutations/class-precedence-swapped.json +7 -0
  508. package/src/config/egress-mutations/credential-token-restores.json +7 -0
  509. package/src/config/egress-mutations/iban-checksum-disabled.json +7 -0
  510. package/src/config/egress-mutations/raw-value-in-the-count-record.json +7 -0
  511. package/src/config/evaluator-budgets.json +4 -4
  512. package/src/config/gate-coverage.yml +149 -3
  513. package/src/config/gate-reachability-exemptions.json +3 -5
  514. package/src/config/gate-violation-baselines.json +29 -25
  515. package/src/config/gitignore-block.txt +6 -3
  516. package/src/config/hook-bundle-budget.json +34 -3
  517. package/src/config/hook-carrier-probes.json +30 -0
  518. package/src/config/hook-latency-budget.json +4 -2
  519. package/src/config/host-injection-effect.json +8 -1
  520. package/src/config/host-skill-frontmatter-keys.json +56 -0
  521. package/src/config/layer-form-brakes.json +4 -0
  522. package/src/config/layer-form-comparison-corpus.json +42 -0
  523. package/src/config/loop-surfaces.yaml +28 -47
  524. package/src/config/memory-twin-verdicts.yml +9 -1
  525. package/src/config/metric-registry.yml +40 -3
  526. package/src/config/pack-size-budget.json +15 -0
  527. package/src/config/procedure-core-budget.json +21 -0
  528. package/src/config/profiles/minimal.ini +1 -1
  529. package/src/config/project-tree-form.json +24 -0
  530. package/src/config/reach-channels.yml +3 -3
  531. package/src/config/reach-prescriptions-intake.yml +1 -1
  532. package/src/config/roadmap-step-size-baseline.json +118 -0
  533. package/src/config/routing-coverage-seed.json +100 -2
  534. package/src/config/skill-body-budget.json +686 -0
  535. package/src/config/skill-fork-pilot.json +17 -0
  536. package/src/config/skill-lifecycle-probes-codex.json +57 -0
  537. package/src/config/skill-lifecycle-probes.json +57 -0
  538. package/src/config/skill-output-shape.json +316 -0
  539. package/src/config/step-depth-table.json +58 -0
  540. package/src/config/turnaround-budget.json +90 -0
  541. package/src/install/conflict.ts +38 -6
  542. package/src/install/conflictTracker.ts +126 -8
  543. package/src/install/detect.ts +3 -3
  544. package/src/install/hostPermissionsAdapter.ts +136 -0
  545. package/src/install/installThinLayer.ts +6 -1
  546. package/src/install/manifestFiles.ts +24 -0
  547. package/src/install/noGoDenyRows.ts +368 -0
  548. package/src/install/noGoRules.ts +438 -0
  549. package/src/install/ownershipLedger.ts +180 -0
  550. package/src/install/plan.ts +1 -1
  551. package/src/install/preflight.ts +42 -10
  552. package/src/install/preserve.ts +94 -12
  553. package/src/install/recordedOwnership.ts +121 -3
  554. package/src/install/rule_scope.ts +20 -3
  555. package/src/install/stagedRuntime.ts +528 -0
  556. package/src/install/toolsArg.ts +16 -0
  557. package/src/install/types.ts +23 -2
  558. package/src/install/userPin.ts +54 -0
  559. package/src/install/wizard-plan.ts +25 -4
  560. package/src/scripts/_cli/_doctor_emit.ts +24 -0
  561. package/src/scripts/_cli/cmd_brand_status.ts +223 -12
  562. package/src/scripts/_cli/cmd_ci_settle.ts +32 -0
  563. package/src/scripts/_cli/cmd_doctor.ts +23 -44
  564. package/src/scripts/_cli/cmd_route_explain.ts +176 -2
  565. package/src/scripts/_cli/cmd_uninstall.ts +270 -26
  566. package/src/scripts/_cli/cmd_update.ts +34 -1
  567. package/src/scripts/_cli/cmd_upgrade.ts +38 -2
  568. package/src/scripts/_cli/detection_report.ts +7 -0
  569. package/src/scripts/_cli/doctor_execution.ts +1 -2
  570. package/src/scripts/_cli/doctor_install_mode.ts +39 -0
  571. package/src/scripts/_cli/doctor_network_posture.ts +3 -3
  572. package/src/scripts/_cli/doctor_ownership_ledger.ts +126 -0
  573. package/src/scripts/_cli/doctor_update_verdict.ts +104 -0
  574. package/src/scripts/_cli/explain_last/scrubber.ts +9 -21
  575. package/src/scripts/_cli/upgrade_unattended.ts +548 -0
  576. package/src/scripts/_dispatch.bash +42 -9
  577. package/src/scripts/_lib/activation_ladder.ts +1 -1
  578. package/src/scripts/_lib/advisory_inventory.ts +405 -0
  579. package/src/scripts/_lib/advisory_notice.ts +270 -0
  580. package/src/scripts/_lib/advisory_sources.ts +752 -0
  581. package/src/scripts/_lib/advisory_verdicts.ts +363 -0
  582. package/src/scripts/_lib/agent_artifact_location.ts +177 -0
  583. package/src/scripts/_lib/agent_settings.ts +7 -12
  584. package/src/scripts/_lib/arrival_record.ts +217 -0
  585. package/src/scripts/_lib/asset_render_record.ts +247 -0
  586. package/src/scripts/_lib/billing_grant.ts +4 -2
  587. package/src/scripts/_lib/brand_voice_slot.ts +258 -0
  588. package/src/scripts/_lib/canary_status.ts +24 -0
  589. package/src/scripts/_lib/cc_transcript.ts +276 -0
  590. package/src/scripts/_lib/changelog_eras.ts +83 -0
  591. package/src/scripts/_lib/claim_phrases.ts +71 -0
  592. package/src/scripts/_lib/classify_update.ts +171 -0
  593. package/src/scripts/_lib/claude_builtin_names.ts +9 -4
  594. package/src/scripts/_lib/claude_hook_scope.ts +195 -0
  595. package/src/scripts/_lib/claude_settings_hooks.ts +118 -34
  596. package/src/scripts/_lib/codex_resident_set.ts +460 -0
  597. package/src/scripts/_lib/codex_skill_finder.ts +225 -0
  598. package/src/scripts/_lib/confusables.ts +19 -0
  599. package/src/scripts/_lib/consumer_impact.ts +199 -0
  600. package/src/scripts/_lib/content_class.ts +127 -0
  601. package/src/scripts/_lib/counted_probe.ts +68 -1
  602. package/src/scripts/_lib/credential_deny_rows.ts +151 -0
  603. package/src/scripts/_lib/credential_files.ts +367 -0
  604. package/src/scripts/_lib/delivery_arm_experiment.ts +2 -2
  605. package/src/scripts/_lib/depth_flip.ts +141 -0
  606. package/src/scripts/_lib/design_lock.ts +117 -0
  607. package/src/scripts/_lib/design_sync_ledger.ts +142 -0
  608. package/src/scripts/_lib/design_sync_plan.ts +177 -0
  609. package/src/scripts/_lib/design_sync_reconcile.ts +159 -0
  610. package/src/scripts/_lib/design_sync_verify.ts +99 -0
  611. package/src/scripts/_lib/design_system_claude_design.ts +323 -0
  612. package/src/scripts/_lib/design_system_import.ts +84 -6
  613. package/src/scripts/_lib/dispatch_import_closure.ts +42 -11
  614. package/src/scripts/_lib/egress_credential_env.ts +35 -0
  615. package/src/scripts/_lib/egress_engine.ts +22 -0
  616. package/src/scripts/_lib/egress_known_values.ts +223 -0
  617. package/src/scripts/_lib/egress_normalize.ts +67 -0
  618. package/src/scripts/_lib/egress_prefixes.ts +42 -0
  619. package/src/scripts/_lib/egress_rules.ts +896 -0
  620. package/src/scripts/_lib/egress_rules_linearity.ts +56 -0
  621. package/src/scripts/_lib/egress_sender_scan.ts +290 -0
  622. package/src/scripts/_lib/egress_session_table.ts +510 -0
  623. package/src/scripts/_lib/egress_text.ts +63 -0
  624. package/src/scripts/_lib/egress_token.ts +252 -0
  625. package/src/scripts/_lib/empty_cycles.ts +1 -1
  626. package/src/scripts/_lib/environment_detector.ts +45 -30
  627. package/src/scripts/_lib/exemption_shape.ts +75 -1
  628. package/src/scripts/_lib/floor_posture.ts +185 -0
  629. package/src/scripts/_lib/forge_protection.ts +140 -2
  630. package/src/scripts/_lib/global_deploy_inventory.ts +159 -6
  631. package/src/scripts/_lib/guidelines_lane.ts +12 -1
  632. package/src/scripts/_lib/hand_kinds.ts +65 -0
  633. package/src/scripts/_lib/headless_invocation.ts +3 -3
  634. package/src/scripts/_lib/host_capability.ts +34 -2
  635. package/src/scripts/_lib/host_env_write.ts +39 -18
  636. package/src/scripts/_lib/host_listing_model.ts +14 -7
  637. package/src/scripts/_lib/identifier_redaction.ts +26 -0
  638. package/src/scripts/_lib/impact_bump.ts +70 -0
  639. package/src/scripts/_lib/install_reach_checks.ts +53 -1
  640. package/src/scripts/_lib/installed_layer.ts +31 -0
  641. package/src/scripts/_lib/installed_layer_normalise.ts +75 -0
  642. package/src/scripts/_lib/instructions_loaded_classify.ts +75 -0
  643. package/src/scripts/_lib/instructions_loaded_event.ts +53 -0
  644. package/src/scripts/_lib/knowledge_global_redaction.ts +2 -2
  645. package/src/scripts/_lib/layer_form_corpus.ts +165 -0
  646. package/src/scripts/_lib/layer_form_decision.ts +248 -0
  647. package/src/scripts/_lib/layer_form_evidence.ts +112 -0
  648. package/src/scripts/_lib/lean_projection_mode.ts +32 -161
  649. package/src/scripts/_lib/llm_proposer_transport.ts +1 -0
  650. package/src/scripts/_lib/loop_guards.ts +8 -120
  651. package/src/scripts/_lib/major_surface.ts +207 -0
  652. package/src/scripts/_lib/mcp_bridge.ts +30 -69
  653. package/src/scripts/_lib/merge_clearance_record.ts +384 -0
  654. package/src/scripts/_lib/neighbour_census.ts +18 -1
  655. package/src/scripts/_lib/orchestration_record.ts +61 -0
  656. package/src/scripts/_lib/outcome_vocabularies.ts +15 -23
  657. package/src/scripts/_lib/pin_advice.ts +49 -0
  658. package/src/scripts/_lib/platform_anchor.ts +222 -0
  659. package/src/scripts/_lib/procedure_checks.ts +5 -0
  660. package/src/scripts/_lib/project_tree_form.ts +134 -0
  661. package/src/scripts/_lib/projection_key_migration.ts +122 -0
  662. package/src/scripts/_lib/prompt_shape.ts +13 -2
  663. package/src/scripts/_lib/provenance_verify.ts +272 -0
  664. package/src/scripts/_lib/quota_parked.ts +27 -1
  665. package/src/scripts/_lib/ratification_artifact.ts +64 -1
  666. package/src/scripts/_lib/ratification_subject.ts +508 -46
  667. package/src/scripts/_lib/release_findings_ingest.ts +52 -5
  668. package/src/scripts/_lib/release_highlights.ts +72 -2
  669. package/src/scripts/_lib/release_settings_surface.ts +392 -0
  670. package/src/scripts/_lib/review_round.ts +134 -0
  671. package/src/scripts/_lib/roadmap_checkboxes.ts +1 -1
  672. package/src/scripts/_lib/roadmap_slug_lock.ts +254 -0
  673. package/src/scripts/_lib/roadmap_step_size.ts +75 -0
  674. package/src/scripts/_lib/run_checkpoint.ts +60 -3
  675. package/src/scripts/_lib/runtime_wiring_checks.ts +15 -1
  676. package/src/scripts/_lib/scope_guard.sh +64 -5
  677. package/src/scripts/_lib/scoped_projection.ts +136 -3
  678. package/src/scripts/_lib/secret_detector.ts +24 -103
  679. package/src/scripts/_lib/security_fix.ts +429 -0
  680. package/src/scripts/_lib/security_fix_context.ts +133 -0
  681. package/src/scripts/_lib/self_repair.ts +69 -39
  682. package/src/scripts/_lib/self_repair_outgoing.ts +209 -0
  683. package/src/scripts/_lib/self_repair_payload.ts +86 -0
  684. package/src/scripts/_lib/session_eol.ts +3 -0
  685. package/src/scripts/_lib/session_pr_watch.ts +207 -0
  686. package/src/scripts/_lib/session_register.ts +51 -1
  687. package/src/scripts/_lib/session_tag.ts +51 -0
  688. package/src/scripts/_lib/settings_removed_keys.ts +30 -0
  689. package/src/scripts/_lib/settings_renamed_keys.ts +19 -5
  690. package/src/scripts/_lib/skill_catalogue.ts +66 -25
  691. package/src/scripts/_lib/skill_fork_pilot.ts +121 -0
  692. package/src/scripts/_lib/skill_leases.ts +203 -0
  693. package/src/scripts/_lib/skill_listing_overrides.ts +294 -0
  694. package/src/scripts/_lib/skill_materialisation.ts +388 -0
  695. package/src/scripts/_lib/skill_materialisation_gate.ts +210 -0
  696. package/src/scripts/_lib/skill_materialisation_lock.ts +149 -0
  697. package/src/scripts/_lib/skill_materialisation_triggers.ts +96 -0
  698. package/src/scripts/_lib/skill_origin.ts +21 -1
  699. package/src/scripts/_lib/skill_reach.ts +342 -0
  700. package/src/scripts/_lib/source_shape.ts +7 -2
  701. package/src/scripts/_lib/sqlite_guard.ts +1 -1
  702. package/src/scripts/_lib/step_anatomy.ts +330 -0
  703. package/src/scripts/_lib/subagent_capsule.ts +8 -2
  704. package/src/scripts/_lib/subagent_native_fields.ts +30 -0
  705. package/src/scripts/_lib/subagent_spawn.ts +36 -0
  706. package/src/scripts/_lib/subagent_steering.ts +367 -0
  707. package/src/scripts/_lib/svg_dom.ts +318 -0
  708. package/src/scripts/_lib/svg_filled_counter.ts +287 -0
  709. package/src/scripts/_lib/svg_geometry.ts +480 -0
  710. package/src/scripts/_lib/svg_motion.ts +208 -0
  711. package/src/scripts/_lib/svg_rules.ts +1455 -0
  712. package/src/scripts/_lib/svg_urls.ts +72 -0
  713. package/src/scripts/_lib/test_delta.ts +89 -6
  714. package/src/scripts/_lib/tier_downshift_verdict.ts +222 -0
  715. package/src/scripts/_lib/tool_result_census.ts +62 -0
  716. package/src/scripts/_lib/trigger_routers.ts +1 -0
  717. package/src/scripts/_lib/turnaround_throughput.ts +378 -0
  718. package/src/scripts/_lib/ui_surface.ts +22 -0
  719. package/src/scripts/_lib/unattended_gates.ts +100 -0
  720. package/src/scripts/_lib/undeployed_fixes.ts +34 -0
  721. package/src/scripts/_lib/update_check.ts +143 -12
  722. package/src/scripts/_lib/update_invite.ts +116 -0
  723. package/src/scripts/_lib/update_notice.ts +259 -0
  724. package/src/scripts/_lib/verification_command.ts +59 -0
  725. package/src/scripts/_lib/verify_clause.ts +31 -19
  726. package/src/scripts/_lib/version_order.ts +146 -0
  727. package/src/scripts/_lib/worker_reuse.ts +191 -0
  728. package/src/scripts/_lib/workspace_secrets.ts +273 -0
  729. package/src/scripts/_lib/worktree_git.ts +67 -0
  730. package/src/scripts/_lib/worktree_ignored.ts +116 -0
  731. package/src/scripts/adoption_status.ts +330 -3
  732. package/src/scripts/adr_cite_check.ts +93 -0
  733. package/src/scripts/advisories.ts +803 -0
  734. package/src/scripts/ai-image/adapters/flux.sh +1 -0
  735. package/src/scripts/ai-image/adapters/gemini-image.sh +1 -0
  736. package/src/scripts/ai-image/adapters/ideogram.sh +1 -0
  737. package/src/scripts/ai-image/adapters/recraft.sh +1 -0
  738. package/src/scripts/ai-video/adapters/comfyui.sh +1 -0
  739. package/src/scripts/ai-video/adapters/fal.sh +1 -0
  740. package/src/scripts/ai-video/adapters/gemini-veo.sh +1 -0
  741. package/src/scripts/ai-video/adapters/higgsfield.sh +1 -0
  742. package/src/scripts/ai-video/adapters/kling.sh +1 -0
  743. package/src/scripts/ai-video/adapters/musetalk.sh +1 -0
  744. package/src/scripts/ai-video/adapters/openai-images.sh +1 -0
  745. package/src/scripts/ai-video/adapters/replicate.sh +1 -0
  746. package/src/scripts/ai-video/adapters/sora.sh +1 -0
  747. package/src/scripts/ai-video/adapters/syncso.sh +1 -0
  748. package/src/scripts/ai-video/stitch.sh +115 -2
  749. package/src/scripts/ai_council/airgap.ts +1 -0
  750. package/src/scripts/ai_council/api_transport.ts +27 -4
  751. package/src/scripts/ai_council/budget_guard.ts +300 -11
  752. package/src/scripts/ai_council/bundler.ts +20 -29
  753. package/src/scripts/ai_council/chairman.ts +17 -2
  754. package/src/scripts/ai_council/cli_agency_bounds.ts +158 -0
  755. package/src/scripts/ai_council/cli_launch_env.ts +54 -0
  756. package/src/scripts/ai_council/cli_least_agency_canary.ts +18 -2
  757. package/src/scripts/ai_council/clients.ts +55 -73
  758. package/src/scripts/ai_council/config.ts +16 -22
  759. package/src/scripts/ai_council/council_egress.ts +167 -0
  760. package/src/scripts/ai_council/exposure_ledger.ts +117 -0
  761. package/src/scripts/ai_council/free_hand_shadow.ts +276 -0
  762. package/src/scripts/ai_council/free_route.ts +216 -0
  763. package/src/scripts/ai_council/free_route_catalog.ts +173 -0
  764. package/src/scripts/ai_council/free_route_client.ts +95 -0
  765. package/src/scripts/ai_council/free_rung.ts +61 -0
  766. package/src/scripts/ai_council/hand_payload.ts +230 -0
  767. package/src/scripts/ai_council/hand_schemas.ts +123 -0
  768. package/src/scripts/ai_council/jury_aggregate.ts +155 -1
  769. package/src/scripts/ai_council/kind_flip.ts +221 -0
  770. package/src/scripts/ai_council/kind_flip_state.ts +19 -0
  771. package/src/scripts/ai_council/learn_low_impact_preview.ts +50 -22
  772. package/src/scripts/ai_council/modification_review.ts +98 -5
  773. package/src/scripts/ai_council/necessity.ts +7 -0
  774. package/src/scripts/ai_council/orchestrator.ts +16 -16
  775. package/src/scripts/ai_council/pricing.ts +10 -0
  776. package/src/scripts/ai_council/redact_low_impact_entry.ts +5 -2
  777. package/src/scripts/ai_council/response_render.ts +27 -4
  778. package/src/scripts/ai_council/round_reservations.ts +119 -0
  779. package/src/scripts/ai_council/route_chooser.ts +161 -0
  780. package/src/scripts/ai_council/route_liveness.ts +152 -0
  781. package/src/scripts/ai_council/route_member.ts +52 -0
  782. package/src/scripts/ai_council/seat_policy.ts +40 -0
  783. package/src/scripts/ai_council/seat_resume.ts +40 -0
  784. package/src/scripts/ai_council/shadow_dispatch.ts +13 -3
  785. package/src/scripts/ai_council/spend_gate.ts +18 -2
  786. package/src/scripts/ai_council/status_surface.ts +37 -0
  787. package/src/scripts/ai_council/transport_resolver.ts +15 -18
  788. package/src/scripts/analysis_analysts.ts +226 -0
  789. package/src/scripts/analysis_anchors.ts +140 -0
  790. package/src/scripts/analysis_and_optimize.ts +44 -0
  791. package/src/scripts/analysis_emit.ts +150 -0
  792. package/src/scripts/analysis_exchange.ts +186 -0
  793. package/src/scripts/analysis_gate.ts +158 -0
  794. package/src/scripts/analysis_inbox_final.ts +173 -0
  795. package/src/scripts/analysis_ledger.ts +119 -0
  796. package/src/scripts/analysis_pr_optimize.ts +219 -0
  797. package/src/scripts/analysis_pr_review.ts +240 -0
  798. package/src/scripts/analysis_pr_target.ts +121 -0
  799. package/src/scripts/analysis_prompts.ts +130 -0
  800. package/src/scripts/analysis_publish.ts +358 -0
  801. package/src/scripts/analysis_questions.ts +78 -0
  802. package/src/scripts/analysis_run.ts +248 -0
  803. package/src/scripts/analysis_run_record.ts +210 -0
  804. package/src/scripts/analysis_target.ts +343 -0
  805. package/src/scripts/analysis_validate.ts +161 -0
  806. package/src/scripts/anchor_eval_falsify.ts +1 -1
  807. package/src/scripts/arrival_report.ts +115 -0
  808. package/src/scripts/ask_transport.ts +284 -35
  809. package/src/scripts/backfill_model_tier.ts +4 -5
  810. package/src/scripts/before_complete_hook.ts +48 -2
  811. package/src/scripts/bench_hook_latency.ts +3 -3
  812. package/src/scripts/bench_procedure_cursor.ts +440 -0
  813. package/src/scripts/bootstrap.sh +3 -3
  814. package/src/scripts/build_exit_code_register.ts +440 -0
  815. package/src/scripts/build_proof.ts +23 -1
  816. package/src/scripts/cache_realization_report.ts +155 -14
  817. package/src/scripts/canary_liveness.ts +117 -0
  818. package/src/scripts/chat_history.ts +12 -15
  819. package/src/scripts/check_account_surface.ts +318 -0
  820. package/src/scripts/check_agent_artifact_location.ts +17 -160
  821. package/src/scripts/check_bundle_path_leakage.ts +6 -0
  822. package/src/scripts/check_ci_local_parity.ts +21 -13
  823. package/src/scripts/check_claims.ts +77 -2
  824. package/src/scripts/check_completion_review.ts +34 -1
  825. package/src/scripts/check_concern_admissions.ts +41 -5
  826. package/src/scripts/check_consumer_scope_flip.ts +1 -1
  827. package/src/scripts/check_context_paths.ts +2 -0
  828. package/src/scripts/check_council_layout.ts +9 -0
  829. package/src/scripts/check_credential_spelling.ts +267 -0
  830. package/src/scripts/check_egress_mutations.ts +239 -0
  831. package/src/scripts/check_enforcement_coverage.ts +16 -3
  832. package/src/scripts/check_estate_count.ts +16 -1
  833. package/src/scripts/check_finding_dispositions.ts +147 -0
  834. package/src/scripts/check_gate_coverage.ts +123 -21
  835. package/src/scripts/check_gate_reachability.ts +16 -2
  836. package/src/scripts/check_generator_sync.ts +46 -0
  837. package/src/scripts/check_hook_bundle_composition.ts +139 -1
  838. package/src/scripts/check_host_docs_digest.ts +142 -5
  839. package/src/scripts/check_kernel_edit_ratified.ts +301 -76
  840. package/src/scripts/check_kernel_rule_bundle.ts +14 -10
  841. package/src/scripts/check_knowledge_cards.ts +83 -3
  842. package/src/scripts/check_memory.ts +13 -3
  843. package/src/scripts/check_pack_size.ts +1 -1
  844. package/src/scripts/check_permission_deny_syntax.ts +247 -0
  845. package/src/scripts/check_platform_anchor.ts +243 -0
  846. package/src/scripts/check_proposal.ts +183 -1
  847. package/src/scripts/check_reach_channels.ts +5 -3
  848. package/src/scripts/check_references.ts +5 -2
  849. package/src/scripts/check_release_manifest_content.ts +33 -0
  850. package/src/scripts/check_release_pr_shape.ts +5 -0
  851. package/src/scripts/check_rule_invariants.ts +9 -1
  852. package/src/scripts/check_skill_body_budget.ts +343 -0
  853. package/src/scripts/check_skill_requires.ts +137 -1
  854. package/src/scripts/check_step_receipts.ts +246 -0
  855. package/src/scripts/check_structural_breaking.ts +7 -1
  856. package/src/scripts/check_suppression_hygiene.ts +8 -0
  857. package/src/scripts/check_test_weakening.ts +14 -0
  858. package/src/scripts/check_token_quality_golden.ts +5 -1
  859. package/src/scripts/check_update_banner.ts +50 -3
  860. package/src/scripts/check_verify_expectation_delta.ts +2 -1
  861. package/src/scripts/check_voice_lexicon.ts +531 -0
  862. package/src/scripts/ci_os_attribution.ts +327 -0
  863. package/src/scripts/ci_platform_scope.ts +69 -0
  864. package/src/scripts/ci_settle.ts +4 -1
  865. package/src/scripts/ci_status.ts +0 -1
  866. package/src/scripts/ci_time_to_green.ts +748 -0
  867. package/src/scripts/classify_merge_risk.ts +407 -19
  868. package/src/scripts/code_graph/sqlite_store.ts +1 -1
  869. package/src/scripts/compile_trigger_evals.ts +353 -0
  870. package/src/scripts/condense.ts +25 -31
  871. package/src/scripts/consumer_matrix.ts +61 -3
  872. package/src/scripts/council_availability_hook.ts +12 -4
  873. package/src/scripts/council_cli.ts +48 -38
  874. package/src/scripts/cross_repo_retrieve.ts +9 -72
  875. package/src/scripts/design_lock.ts +106 -0
  876. package/src/scripts/design_slop_rules.ts +30 -0
  877. package/src/scripts/design_sync.ts +264 -0
  878. package/src/scripts/design_system_import.ts +30 -13
  879. package/src/scripts/dispatch_economy_report.ts +46 -1
  880. package/src/scripts/dispatch_r2_reviewer.ts +41 -5
  881. package/src/scripts/egress_canary.ts +166 -0
  882. package/src/scripts/egress_sender_census.ts +101 -0
  883. package/src/scripts/external_sources_denylist.json +94 -12
  884. package/src/scripts/generate_catalog.ts +6 -2
  885. package/src/scripts/generate_owned_digest.ts +163 -0
  886. package/src/scripts/generate_reference_toc.ts +143 -0
  887. package/src/scripts/generate_subagent_floor.ts +11 -1
  888. package/src/scripts/handoff_context_hook.ts +34 -0
  889. package/src/scripts/hook_carrier_census.ts +263 -0
  890. package/src/scripts/hook_chunks.d.mts +12 -0
  891. package/src/scripts/hook_chunks.mjs +114 -0
  892. package/src/scripts/hook_manifest.json +1 -1
  893. package/src/scripts/hook_manifest.yaml +65 -42
  894. package/src/scripts/hooks/block_config_weakening.ts +127 -3
  895. package/src/scripts/hooks/block_credential_reads.ts +165 -0
  896. package/src/scripts/hooks/block_no_verify.ts +47 -23
  897. package/src/scripts/hooks/block_speaking_inbox_dir.ts +54 -8
  898. package/src/scripts/hooks/category_a.ts +202 -25
  899. package/src/scripts/hooks/concern_failure_policy.ts +6 -6
  900. package/src/scripts/hooks/concern_registry.ts +31 -6
  901. package/src/scripts/hooks/concern_registry_types.ts +11 -0
  902. package/src/scripts/hooks/delegation_nudge_hook.ts +105 -15
  903. package/src/scripts/hooks/design_pass_hook.ts +199 -13
  904. package/src/scripts/hooks/dispatch_hook.ts +13 -12
  905. package/src/scripts/hooks/egress_engine_loader.ts +125 -0
  906. package/src/scripts/hooks/egress_stage.ts +440 -0
  907. package/src/scripts/hooks/hook_stdin.ts +29 -4
  908. package/src/scripts/hooks/host_docs_pages.ts +194 -0
  909. package/src/scripts/hooks/host_docs_pages.yaml +75 -0
  910. package/src/scripts/hooks/host_lowering.json +1 -1
  911. package/src/scripts/hooks/host_lowering.yaml +22 -21
  912. package/src/scripts/hooks/host_rate_marker_hook.ts +73 -0
  913. package/src/scripts/hooks/instructions_observer_hook.ts +170 -0
  914. package/src/scripts/hooks/interruption_ledger_hook.ts +1 -1
  915. package/src/scripts/hooks/lazy_concern.ts +148 -0
  916. package/src/scripts/hooks/orchestration_record_hook.ts +80 -2
  917. package/src/scripts/hooks/payload_stub.ts +16 -6
  918. package/src/scripts/hooks/permission_gate.ts +7 -7
  919. package/src/scripts/hooks/push_settle_hook.ts +32 -3
  920. package/src/scripts/hooks/replay_hook.ts +43 -0
  921. package/src/scripts/hooks/reread_guard_hook.ts +87 -10
  922. package/src/scripts/hooks/rtk_wrap_hook.ts +4 -3
  923. package/src/scripts/hooks/rule_inject_hook.ts +8 -1
  924. package/src/scripts/hooks/session_eol_hook.ts +48 -1
  925. package/src/scripts/hooks/source_first_gate_hook.ts +6 -8
  926. package/src/scripts/hooks/spawn_guard_shadow_hook.ts +203 -10
  927. package/src/scripts/hooks/state_io.ts +2 -2
  928. package/src/scripts/hooks/svg_obligation.ts +553 -0
  929. package/src/scripts/hooks/svg_rules_loader.ts +133 -0
  930. package/src/scripts/hooks/tool_result_bytes_hook.ts +14 -5
  931. package/src/scripts/hooks/turn_end_gate_hook.ts +5 -3
  932. package/src/scripts/hooks/ui_route_nudge_hook.ts +2 -12
  933. package/src/scripts/hooks_doctor.ts +31 -0
  934. package/src/scripts/hooks_status.ts +58 -3
  935. package/src/scripts/inbox_source_census.ts +74 -13
  936. package/src/scripts/install +25 -3
  937. package/src/scripts/install.ts +60 -91
  938. package/src/scripts/interruption_report.ts +11 -1
  939. package/src/scripts/layer_baseline_report.ts +267 -0
  940. package/src/scripts/learning_sidecar.ts +1 -1
  941. package/src/scripts/lint_agents_layout.ts +3 -0
  942. package/src/scripts/lint_blocker_citations.ts +104 -0
  943. package/src/scripts/lint_breaking_changes_index.ts +40 -7
  944. package/src/scripts/lint_consolidation_lineage.ts +150 -19
  945. package/src/scripts/lint_consumer_internal_refs.ts +90 -42
  946. package/src/scripts/lint_context_spine_usage.ts +21 -0
  947. package/src/scripts/lint_design_antipattern_parity.ts +39 -7
  948. package/src/scripts/lint_design_quality.ts +60 -12
  949. package/src/scripts/lint_evidence_artifacts.ts +31 -0
  950. package/src/scripts/lint_example_fences.ts +11 -2
  951. package/src/scripts/lint_ghostwriter_source.ts +42 -10
  952. package/src/scripts/lint_hook_manifest.ts +94 -0
  953. package/src/scripts/lint_marketplace_install_completeness.ts +4 -0
  954. package/src/scripts/lint_mcp_config_security.ts +9 -11
  955. package/src/scripts/lint_motion_authority_drift.ts +27 -0
  956. package/src/scripts/lint_plan_risk_register.ts +28 -1
  957. package/src/scripts/lint_positioning.ts +4 -4
  958. package/src/scripts/lint_provenance.ts +1 -0
  959. package/src/scripts/lint_roadmap_blockers.ts +65 -4
  960. package/src/scripts/lint_roadmap_complexity.ts +98 -0
  961. package/src/scripts/lint_skill_link_reach.ts +251 -9
  962. package/src/scripts/lint_skill_procedures.ts +252 -0
  963. package/src/scripts/lint_skill_scripts_readonly.ts +12 -1
  964. package/src/scripts/lint_subagent_determinism.ts +14 -1
  965. package/src/scripts/lint_svg_asset.ts +365 -0
  966. package/src/scripts/lint_ticked_unmet_criteria.ts +300 -21
  967. package/src/scripts/mcp_registry_submit.sh +2 -2
  968. package/src/scripts/mcp_server/consumer_tool_catalog.json +4 -4
  969. package/src/scripts/mcp_server/suggest_skill.ts +89 -4
  970. package/src/scripts/mcp_server/tools.ts +2 -33
  971. package/src/scripts/measure_skill_ranker_baseline.ts +203 -5
  972. package/src/scripts/measure_turn_end_gate.ts +61 -1
  973. package/src/scripts/merge_clearance.ts +225 -0
  974. package/src/scripts/migrate_command_suggestions.ts +1 -1
  975. package/src/scripts/network_sources.ts +236 -0
  976. package/src/scripts/no_go_deny_rows.ts +225 -0
  977. package/src/scripts/orchestration_record.ts +15 -2
  978. package/src/scripts/plan_test_shards.ts +103 -0
  979. package/src/scripts/pr_url_reminder_hook.ts +10 -0
  980. package/src/scripts/print_required_checks.ts +5 -5
  981. package/src/scripts/probe_depth_shadow.ts +406 -0
  982. package/src/scripts/probe_turnaround.ts +342 -10
  983. package/src/scripts/ratification_subject.ts +176 -0
  984. package/src/scripts/rdp_gate_classify.ts +1 -0
  985. package/src/scripts/rdp_quality_eval.ts +1 -0
  986. package/src/scripts/release.ts +26 -55
  987. package/src/scripts/release_drill.ts +52 -23
  988. package/src/scripts/release_env.ts +37 -0
  989. package/src/scripts/release_publication.ts +11 -1
  990. package/src/scripts/report_consumer_gate_reach.ts +233 -0
  991. package/src/scripts/report_merge_gate_load.ts +295 -0
  992. package/src/scripts/report_project_contract.ts +123 -0
  993. package/src/scripts/report_reducible_classes.ts +342 -0
  994. package/src/scripts/report_required_checks_drift.ts +5 -3
  995. package/src/scripts/report_skill_host_census.ts +199 -0
  996. package/src/scripts/report_standing_payload_by_host.ts +7 -7
  997. package/src/scripts/retro.ts +758 -0
  998. package/src/scripts/retro_facts.ts +575 -0
  999. package/src/scripts/retro_queue.ts +739 -0
  1000. package/src/scripts/retro_session_facts.ts +218 -0
  1001. package/src/scripts/retro_sweep.ts +493 -0
  1002. package/src/scripts/retro_triage.ts +126 -0
  1003. package/src/scripts/roadmap_context.ts +2 -2
  1004. package/src/scripts/roadmap_drain_queue.ts +601 -0
  1005. package/src/scripts/run_supervise.ts +24 -2
  1006. package/src/scripts/schemas/agent-settings.schema.json +0 -16
  1007. package/src/scripts/schemas/command.schema.json +3 -3
  1008. package/src/scripts/schemas/review-findings.schema.json +8 -0
  1009. package/src/scripts/schemas/skill.schema.json +7 -6
  1010. package/src/scripts/schemas/subagent.schema.json +33 -2
  1011. package/src/scripts/score_skill_selection.ts +5 -2
  1012. package/src/scripts/second_brain_retrieval.ts +1 -0
  1013. package/src/scripts/second_brain_run.ts +1 -0
  1014. package/src/scripts/self_repair_cli.ts +563 -87
  1015. package/src/scripts/self_review_gate.ts +59 -4
  1016. package/src/scripts/session_register_hook.ts +91 -4
  1017. package/src/scripts/sessions_cli.ts +100 -5
  1018. package/src/scripts/skill_collision_clusters.ts +1 -1
  1019. package/src/scripts/skill_tools/score_skill_relevance.ts +31 -2
  1020. package/src/scripts/skill_trigger_eval.ts +4 -2
  1021. package/src/scripts/source_adapters.ts +183 -0
  1022. package/src/scripts/step_receipt.ts +100 -0
  1023. package/src/scripts/sync_pr_branch.ts +4 -0
  1024. package/src/scripts/test_council_qualification.ts +1 -1
  1025. package/src/scripts/trigger_eval_grandfather.json +3 -49
  1026. package/src/scripts/trigger_eval_rotation.ts +31 -3
  1027. package/src/scripts/ui_conformance_probe.ts +405 -1
  1028. package/src/scripts/update_counts.ts +230 -11
  1029. package/src/scripts/update_invite_hook.ts +245 -0
  1030. package/src/scripts/update_notice_hook.ts +298 -0
  1031. package/src/scripts/validate_frontmatter.ts +85 -0
  1032. package/src/scripts/worker_reuse_shadow_report.ts +121 -0
  1033. package/src/scripts/worktree_cleanup_check.ts +915 -121
  1034. package/src/server/io/yamlIO.ts +2 -2
  1035. package/src/server/schemas/settings.ts +37 -23
  1036. package/src/shared/brandTokenDocument.ts +46 -0
  1037. package/src/shared/brandTokenPaths.ts +43 -0
  1038. package/src/shared/settingsCarveOut.ts +0 -8
  1039. package/src/shared/skillRanking.ts +106 -5
  1040. package/src/shared/userMd/formAdapter.ts +15 -1
  1041. package/src/shared/userMd/schema.ts +22 -0
  1042. package/src/templates/agent-user.md +4 -0
  1043. package/src/templates/agent-user.yml +4 -0
  1044. package/dist/cli-delegate/chunk-523HCFYO.js +0 -90
  1045. package/dist/cli-delegate/chunk-AL3RZ22D.js +0 -74
  1046. package/dist/cli-delegate/chunk-KB5FZ655.js +0 -208
  1047. package/dist/cli-delegate/chunk-MDPPKQCQ.js +0 -875
  1048. package/dist/cli-delegate/chunk-MSUL5NYP.js +0 -1123
  1049. package/dist/cli-delegate/chunk-OAFSJBHH.js +0 -272
  1050. package/dist/ui/assets/index-C3djEJah.js +0 -23
  1051. package/src/scripts/_lib/continuation_ladder.ts +0 -335
  1052. package/src/scripts/hooks/run_continuation_hook.ts +0 -1524
package/CHANGELOG.md CHANGED
@@ -30,504 +30,11 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
30
30
 
31
31
  ## [Unreleased]
32
32
 
33
- ### Changed
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
-
98
- - **`agent-config init` no longer overwrites a managed file you have edited.**
99
- Owner ruling, 2026-09-21, taken after an AI council split 1/1 on it. Until
100
- now the installer's `_resolve_file_conflict` returned `write` for every
101
- deployed file and its header recorded `--force` as an accepted no-op
102
- "because installs always overwrite" — while the planner had, since the
103
- preceding change, produced a list naming exactly the files you had edited.
104
- The report named the file and the next install replaced it.
105
- A managed file whose bytes diverge from the SHA-256 the install manifest
106
- recorded is now **preserved**, and the package content it would have been
107
- replaced with is staged beside it as `<path>.agent-config.new` — a
108
- tool-owned suffix, not a bare `.new`, so the installer never claims a
109
- namespace other tools already write into.
110
- **The staleness is deliberately loud, and that is the load-bearing half.**
111
- Preserving an edit leaves the active installation not-current, and a stale
112
- install exiting `0` would make that silent. So a run that preserved anything
113
- exits **`3`** (new, distinct from `0` success, `1` failure and `2` usage),
114
- names each preserved file on stderr with the sentence "the active
115
- installation is not current", and prints a count. Under `--progress-ndjson`
116
- the count also rides on the terminal `done` frame, which the wizard's apply
117
- route forwards as `summary.conflicts`; a zero-conflict run's frames are
118
- byte-identical to before. **`--force` is now a real escape hatch** — it
119
- replaces the managed file and exits `0`.
120
- Scripts that treat any non-zero exit from `init` as a failure will see `3`
121
- on a tree with local edits. That is the intended signal, not a regression:
122
- the install did complete, and the tree is not current.
123
- Three things are deliberately absent. There is **no semantic
124
- classification** — one byte of divergence from the recorded digest is the
125
- whole test, because a format-aware diff would pull per-format parsers into
126
- the installer's trusted computing base and a syntactically trivial edit can
127
- still be intentional. There is **no fallback to overwriting** under conflict
128
- volume or resource pressure, and no bulk accept flag. And an **existing
129
- sidecar is never clobbered**: identical bytes are a no-op, anything else
130
- fails the run with the package content staged nowhere, because a pathname
131
- matching the convention is not proof the installer wrote it.
132
- The verdict is computed from a re-hash of the destination **at the moment of
133
- the write**, not from the plan: the planner's conflict list is advisory
134
- state, and a plan-time verdict is blind to an edit made in between.
135
-
136
- ### Fixed
137
-
138
- - **The self-review gate reviews again — it had reviewed nothing for four
139
- consecutive releases.** 14.17.0, 14.18.0, 14.19.0 and 14.20.0 each returned
140
- `HTTP 400 prompt is too long` and each recorded an honest null in
141
- `agents/evidence/release-findings/`. The release path sets the analysis base
142
- to the previous tag, so the whole release span went into **one** request.
143
- **All four** recorded a figure against the 200000 cap — 235472 (14.17.0),
144
- 413191 (14.18.0), 450336 (14.19.0), 260998 (14.20.0) — and the smallest
145
- exceeded it by 17.7 %. (An earlier draft of this entry said three releases
146
- recorded a figure and put the smallest at 30 % over; both were wrong, and the
147
- omitted reading was the one nearest the cap — the one that most constrains
148
- the budget. The conclusion does not depend on the error: every span observed
149
- exceeds the cap.) `buildPlan` already computed `promptChars` and only
150
- *reported* it, so nothing consulted the number before spending the call.
151
- The diff is now partitioned **per file** into requests under a character
152
- budget, each is reviewed, and findings are merged and deduplicated on the
153
- finding id the ledger already uses. Verified against the live span that had
154
- been failing: 5 requests, no path left out.
155
- **Nothing is truncated**, and that is the load-bearing decision: a silently
156
- shortened diff yields findings about a fragment while reading as a review of
157
- the whole change, which is the false green this repository's honest-null
158
- discipline exists to prevent. So a single file larger than one request is
159
- **named as unreviewed** rather than cut mid-hunk, a per-run request ceiling
160
- bounds the spend and reports its remainder, a chunk whose call fails no longer
161
- discards the chunks that succeeded, and the rendered PR comment carries a
162
- **Coverage** block stating what was not read — including the sentence that
163
- absence of a finding for an unreviewed path is not evidence about that path.
164
- `--dry-run` now prints the request count rather than only a token estimate,
165
- because this gate spends per request, and warns when a span sits at the
166
- ceiling. The budget factor is a character proxy **derived from those four
167
- failures** (measured diff chars / reported tokens = 3.13 and 3.18) and set
168
- below them, because the ratio is content-dependent — cl100k over this repo's
169
- own diffs reads ~3.9 for `src/`, ~4.1 for prose and ~2.75 for a lockfile. A
170
- call that still overflows a budgeted chunk falsifies that number, not the
171
- partitioning.
172
- **A neutral reviewer on the first version found three defects that are fixed
173
- here rather than shipped.** The coverage line counted every file in a dropped
174
- chunk as reviewed — 59 of 60 for a run that read 4, because the partition
175
- packed to opaque strings and reported one aggregate row; it ignored chunks
176
- whose call had failed, computing the number before those were appended; and a
177
- non-ASCII filename was silently skipped **and** counted as read, because
178
- `git diff --name-only` renders it quoted and the quoted form then matches no
179
- pathspec. Coverage is now summed from the chunks that actually returned, every
180
- dropped chunk names its own files, and paths are read with
181
- `core.quotePath=false`. Correcting the budget ratio shrank each request, so
182
- the same span needed five: the request ceiling moved from four to six rather
183
- than paying for tokenizer safety with silent coverage loss.
184
- Known limits, stated rather than implied: coverage lives in prose, so an
185
- `--enforce` run over a partial review still returns 0, and
186
- `check_finding_dispositions --ingest` reads only `.findings`, so the durable
187
- ledger does not record the coverage the artifact now carries.
188
-
189
- ### Added
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
-
264
- - **A push no longer ships a branch whose tree contradicts its own commits.**
265
- `check_branch_work_committed` runs first in the pre-push hook, and it exists
266
- because this branch produced the defect it guards: a merge-reconciled baseline
267
- was written into `gate-violation-baselines.json` **after** `git add`, so
268
- `git commit --no-edit` captured the staged side, the reconciled number stayed
269
- in the working tree, and the push went out asserting a baseline the tree
270
- contradicted. The operator found it, not the pipeline — and **no CI gate
271
- could have**: CI checks out the pushed commit, and the working tree holding
272
- the lost edit does not exist there. That is why this gate is pre-push and
273
- local-only, the same reach `check_branch_freshness` has.
274
- It blocks by **authorship**, not on a dirty tree, because a blanket
275
- clean-tree rule would fire on every gate script's own report output and train
276
- the operator to set the skip variable: staged-and-changed-since (the measured
277
- shape), staged at all (`git add` is recorded intent, and a push carries
278
- commits rather than the index), and dirty files this branch's own commits
279
- touch. A parallel session's edit and a gate's report output are named and
280
- waved through. One residual limit is stated in the header rather than hidden:
281
- a file this branch created and neither staged nor committed cannot be told
282
- apart from a foreign untracked file; the staged rule closes it at the first
283
- `git add`, and that rule exists because testing the gate against the live
284
- tree put its own source file in the advisory class.
285
-
286
- ### Fixed
287
-
288
- - **`task release` no longer asks the releaser to write anything, and the
289
- written-answer obligation is deleted (ADR-261).** This entry replaces the one
290
- that stood here — *"the release's written obligation is now answerable, not
291
- only refusable"* — because that mechanism landed and was removed in the same
292
- cycle, and shipping its description would be a false claim about 14.21.0.
293
-
294
- The obligation: when governance-only commits outnumbered consumer-only ones
295
- over the release span, the section had to carry human prose naming the next
296
- cycle's consumer work, and the following release had to read that promise back
297
- as `shipped` / `did not ship` / `withdrawn`. Four refusal sites, two
298
- placeholder sentinels, a length floor, an outcome vocabulary, a
299
- `## [Unreleased]` staging channel and an interactive prompt stood behind two
300
- sentences. Across 14.18.0, 14.19.0 and 14.20.0 it was discharged **by hand,
301
- mid-release**, after the pipeline had bumped the version and aborted.
302
-
303
- The mechanism built to fix that ran for the first time on 14.21.0 and made it
304
- worse: `staged_response` located its markers with an unanchored
305
- `body.indexOf(marker)` over the whole `## [Unreleased]` body, so it matched
306
- the **prose of the changelog entry describing itself**, cut two sentences out
307
- of the middle of that entry, pasted them into the 14.21.0 release head as
308
- orphan fragments, and prompted for the answer anyway. A `task release` run
309
- corrupted both sections of the file it was governing. Both are repaired here.
310
-
311
- The owner removed the obligation rather than the bug: this package exists to
312
- make the maintainer's work cheaper, and a gate that halts a green pipeline
313
- until a human types prose about a cycle that has not happened yet moves cost
314
- onto the person the tool is for. `> **Governance mix:** …` stays as a
315
- one-line measurement the generator renders end to end.
316
-
317
- **Untouched:** every honesty control about a claim *this* release makes —
318
- `_auto-derived, rewrite before merge:_` still blocks, the authoring-instruction
319
- sentinel still blocks, the `_none_` contradiction check still blocks, the
320
- `Tests: N` footer is still required. Those refuse an unreviewed statement about
321
- the release being published; the deleted one refused the absence of a statement
322
- about a future one. ADR-253's actual decision — the decline of the per-PR
323
- user-artifact gate — stands.
324
-
325
- - **The 14.19.0 start-position fix shipped incomplete; this is its other half.**
326
- It taught `preflightPosition` to accept `release/{target}`, and 14.20.0 then
327
- failed with `release must run from 'main' or 'release/14.21.0', currently on
328
- 'release/14.20.0'`. Step 2 had already bumped `package.json`, so a plain
329
- re-run computed the bump from the **already bumped** version and asked the
330
- preflight about a version one higher than the one in flight — the start-position
331
- fix could not help, it was asked about the wrong target.
332
- `_detect_in_flight_target` needed no flag for either of its branches (HEAD on a
333
- release branch; a manifest version whose tag is not published), and the comment
334
- at the call site already stated that intent — the `args.resume ?` gate narrowed
335
- it to resumed runs. The probe now runs unconditionally, so an abandoned bump can
336
- no longer be silently released as the NEXT version either. A wiring assertion
337
- pins it, because the probe's own unit tests passed throughout: they never asked
338
- whether anything called it unconditionally.
339
-
340
- - **The curated-head refusal is recoverable again — its own remedy was refused
341
- by the preflight.** `guard_release_curation` stops between step 2 and step 3,
342
- leaving HEAD on the local `release/X.Y.Z` with the generated section
343
- uncommitted, and tells the operator to curate the head and re-run
344
- `task release`. Measured on 14.19.0, every spelling of that re-run died
345
- *before step 1*: a plain run on `release must run from 'main'`, and
346
- `--resume` on `working tree is not clean` — against the pipeline's own
347
- step-2 output. The only way through was to hand-craft the `release: X.Y.Z`
348
- commit the pipeline makes for itself one step later.
349
- `docs/release-runbook.md` claimed this had been closed on 2026-09-03; that
350
- fix landed in `checkout_release_branch`, which is step 1 and therefore
351
- unreachable from the position the guard creates — the claim was not wrong
352
- about step 1, it was wrong that step 1 was reachable. The start position is
353
- now one pure verdict, `preflightPosition`: `release/{target}` is legal with
354
- or without `--resume`, and a dirty tree is accepted **there only**, with the
355
- swept files printed. A dirty `main` still refuses, because there the same
356
- tree is an operator's unrelated work about to enter a release commit. Pinned
357
- by `tests/scripts/release.test.ts` § `preflightPosition`, including a wiring
358
- assertion so a pure verdict nobody calls cannot pass.
359
-
360
- - **Release gates now refuse before the push, not on the release PR.** 14.17.0
361
- (PR #1856) failed `check_release_highlights` on a missing
362
- `> **Governance mix:**` line — an assertion reproducible locally in under two
363
- seconds, discovered instead after a branch, a pull request and a CI run had
364
- been spent. It was the second instance of the shape in three releases
365
- (14.14.0 / PR #1812 was the first, on the curated head), and
366
- `docs/contracts/CHANGELOG-conventions.md` had **recorded** the gap rather than
367
- closed it. Three changes: `render_changelog_entry` now emits the response
368
- block with the measured level and a placeholder sentinel the guards refuse
369
- (never a finished answer — a generator that discharged a written-answer
370
- obligation for itself would make it a formality); one predicate
371
- (`mix_response_blockers`) is read by the CI gate and both local guards, so the
372
- two sides cannot drift; and the missing `Tests: N` footer joins it as a
373
- section-level publication blocker, which until now also existed only inside
374
- `release-validation.yml`.
375
-
376
- **Superseded within the same cycle — read the ADR-261 entry above.** The
377
- placeholder sentinel, `mix_response_blockers` and the whole written-answer
378
- obligation this entry describes are deleted; the `> **Governance mix:**` line
379
- survives as a pure measurement. What still holds from this entry: the
380
- locality registry, the `Tests: N` footer as a section-level blocker, and the
381
- push-time refusal for the curated head.
382
-
383
- ### Added
384
-
385
- - **A release-gate locality registry, so the next orphan cannot land silently.**
386
- `src/config/release-gate-locality.yml` relates every job in
387
- `release-validation.yml` to the command that reproduces it locally;
388
- `tests/scripts/release_gate_locality.test.ts` fails when a job has no row, or
389
- when a row claims a script that is not in the tree, or when a missing local
390
- command carries no classified `NEEDS_*` reason. `task release:verify` runs the
391
- reproducible set from that same registry — and `task release` now runs its
392
- `--cheap` subset itself, before the branch is pushed. Three jobs genuinely
393
- cannot run pre-PR; the registry names which and why, and a green run prints
394
- what it did not cover rather than reading as a clearance.
395
-
396
- ### Changed
397
-
398
- - **Docs hygiene — retired stale authoring-source pointers.** 43 stale
399
- "edit `.agent-src.uncondensed/`" *authoring* pointers across 28 `.md` files
400
- repointed at `src/` (the authoring source of truth per ADR-051); continues
401
- the #989 README/thin-root fixes. `check_source_pointer_freshness`'s allowlist
402
- broadened (2 → 16 files) to lock the cleaned files against regression. Live
403
- `.agent-src.uncondensed/` **code constants, pipeline descriptions, and
404
- catalog paths were deliberately left untouched** — that tree is a live
405
- generated intermediate, not dead debt; a blind sweep was explicitly rejected.
406
-
407
- ### Added
408
-
409
- - **Internet-reach operator tooling** — upstream-tool health and install-pinning
410
- discipline for the tools a reach recipe needs. The router skill this was
411
- scoped around was **cancelled pre-authoring by its own benchmark gate**: the
412
- pre-registered run returned 0/12 outright wins against the host's native web
413
- tools (`band: stop`), so no skill, no triggers, no capability-area claim. The
414
- null is published in [`docs/benchmark.md`](docs/benchmark.md) § internet-reach;
415
- the decision is [ADR-126](docs/decisions/ADR-126-internet-reach-operator-tooling.md).
416
- - `reach:doctor` — new read-only command: per-channel probe status,
417
- `active_backend`, tier, lifecycle, and the exact **pinned** fix command for
418
- the current platform when a backend is missing or broken. No writes, no
419
- installs, no network (`--deep` is the explicit opt-in that makes one real
420
- request per backend and still writes nothing).
421
- - `src/config/reach-channels.yml` + `reach-channels.schema.json` — ordered
422
- backend candidates per channel (swapping a backend is a config reorder, not
423
- a code edit), the four-value lifecycle vocabulary reused from
424
- `provider-lifecycle`, `last_verified` staleness metadata, and an install
425
- pattern that **rejects** unpinned versions, `latest`/`main`/`HEAD` refs and
426
- archive-URL install sources.
427
- - `tool_probe` — five-state probe taxonomy (`ok`/`missing`/`broken`/`timeout`/
428
- `error`) with stale-shim detection (resolvable shim, dead interpreter),
429
- exit-126/127 mapping, timeout-only single retry, and per-channel error
430
- isolation. Every spawn routes through `hardenedSpawnEnv()`.
431
- - `check-reach-channels` + `check-reach-prescriptions` CI gates — pinning and
432
- intake-record discipline is machine-checked, not an honour system; a
433
- prescription that cannot be pinned does not ship.
434
- - `check-reach-staleness` CI gate — offline: a channel unverified for >90 days,
435
- a `deprecated` channel with no `replacement`, or a channel past its
436
- `removal_after` date and still present fails the build.
437
- - Registry trust is enforced at runtime, not just in CI: `reach:doctor` (incl.
438
- `--registry <path>`) validates the registry against its schema and refuses to
439
- probe on any violation (exit 2). `probe_args` is a flag-shaped **allowlist**
440
- and `probe_cmd` must equal its backend `id`, so a registry entry can neither
441
- smuggle a shell payload nor label a row with a binary other than the one that
442
- ran — both closed by an adversarial pre-merge review, with permanent
443
- regression fixtures.
444
-
445
- - **Doc-follows-code discipline** — deterministic, framework-agnostic mechanism
446
- so documentation is updated when code changes.
447
- - `downstream-changes` rule gains a first-class **Doc-Impact** obligation:
448
- a change to a public surface (route, exported signature, CLI flag, config/
449
- settings key, env var, DB schema, event payload) is incomplete until the
450
- doc that describes it is updated in the same change; escape hatch for
451
- refactor-only / no-surface changes.
452
- - `agent-docs-writing` skill: the advisory doc-sync table becomes an
453
- actionable, cross-stack Doc-Impact procedure with a falsifiable-claim
454
- fire/no-fire test.
455
- - `check_source_pointer_freshness` CI gate — fails when an authoring file
456
- names the retired `.agent-src.uncondensed/` tree as source of truth.
457
- - Opt-in consumer CI template `github-workflows/doc-impact.yml` (warn-first,
458
- `[docs:not-needed]` / `refactor:` escape hatch, `STRICT` toggle).
459
-
460
- ### Fixed
461
-
462
- - **Every release PR was red on its first run — the generator and the
463
- highlight gate contradicted each other.** `release.ts` wrote `_none_` into
464
- all five curated-head fields; `check_release_highlights` (added 2026-08-03)
465
- fails a `_none_` the release span contradicts. Because every release of this
466
- package touches `src/rules/` or `src/scripts/schemas/`, "Behaviour changes"
467
- is *always* substantiated, so the gate reliably red-flagged the generator's
468
- own default — 9.17.0 (run 30871194277) and 9.18.0 (run 30909511315) both
469
- failed on that one step, and each release had to be unblocked by hand.
470
- - The span → category classifier now lives once, in
471
- `src/scripts/_lib/release_highlights.ts`, and is shared by the generator
472
- and the gate; the two duplicated label lists are gone with it.
473
- - `release.ts` **pre-fills** each substantiated label with the deriving
474
- reason plus its citing SHAs (capped at 6, remainder stated, never silently
475
- truncated). `_none_` is now a fallback for labels the span does not
476
- substantiate, not a blanket default — so the tool no longer asserts five
477
- things it never checked.
478
- - The gate keeps full teeth for the failure it was actually built for: a
479
- **human** editing a substantiated line back down to `_none_`, which is what
480
- produced the false 9.13.0 and 9.14.0 heads. An unrewritten auto-derived
481
- line is advisory (a prose gap, not a false claim) and never blocks.
482
- - Derivation is best-effort in the generator: a git failure degrades to the
483
- `_none_` skeleton with a warning instead of aborting a release.
484
-
485
- - **`/team delegate` double gate is now enforced in code, not only in prose**
486
- (team mode stays default-off; closing `road-to-team-mode`). The gate on the
487
- only write-access wrapper existed as agent-followed instructions in the
488
- command doc — nothing mechanical checked `ai_team.allow_delegate`, and no
489
- test covered any of the three flag combinations. Added
490
- `assert_delegate_allowed()` + `TeamDelegateDisabledError` in
491
- `src/scripts/ai_team/team_dispatch.ts` (mirroring the existing
492
- `run_team_review` fail-closed shape) plus a `--delegate-gate` CLI mode that
493
- exits non-zero with the opt-in pointer unless **both** `ai_team.enabled` and
494
- `ai_team.allow_delegate` are true; all three combinations are test-pinned.
495
- - **Default-off parity for team mode is now pinned where it was only
496
- claimed**: the Stop-hook E2E covered `enabled: true` + `managed: false`
497
- only, so the shipped default posture (`ai_team` absent, or
498
- `enabled: false`) was never exercised — two new pins assert a strict no-op
499
- (exit 0, no stdout, no state, no ledger). The command-suggestion surface
500
- gained its own pin (exactly one eligible team command, its
501
- `trigger_context` carrying the `ai_team.enabled is true` agent-side
502
- precondition, all sub-commands ineligible, and zero `ai_team` awareness in
503
- the deterministic suggester — so its output is invariant with respect to
504
- that config).
505
- - Stale `not yet manifest-wired` header comments in
506
- `src/scripts/ai_team/review_gate.ts` and
507
- `src/scripts/team_review_gate_hook.ts`: the Stop-concern registration
508
- landed with team-mode Phase 4 (`hook_manifest.yaml`, claude `stop` chain),
509
- so the comments told a reviewer auditing default-off that the hook was
510
- still inert.
511
- - Source-of-truth pointer drift: `src/agent-src/README.md` and the
512
- `agents-md-thin-root` skill named the retired `.agent-src.uncondensed/`
513
- tree; corrected to `src/`.
514
- - **Embed-contract docs completed + de-drifted**
515
- ([`docs/contracts/local-server-ports.md`](docs/contracts/local-server-ports.md),
516
- [`docs/contracts/local-server-api.md`](docs/contracts/local-server-api.md)):
517
- the host-facing contract now carries the framing-DENY council reasoning, the
518
- `local-server.json` discovery-file rules (`url` embeds `?token=` — hosts
519
- rebuild from `port` + a fresh token read; `0600` is a contract invariant),
520
- the `?token=` accepted-risk statement, the wizard-out-of-scope-for-embed-v1
521
- note, and a Host-lifecycle section (idle-shutdown watchdog + keepalive,
522
- headless refusal). `local-server-api.md` had three stale claims corrected:
523
- the token IS persisted (`local-server.token`, mode `0600`) — not
524
- "never written to disk"; headless `ui:serve` refuses with exit 2 — it does
525
- not silently boot browserless; the ping example now shows the
526
- `capabilities` block. Plus an explicit `capabilities.embed` assertion in
527
- `tests/server/app.test.ts`. Closes `road-to-ac-embeddable-gui`.
528
-
529
- > The former "6.0.0 at a glance" overview was drained on 2026-07-21 to
530
- > [`docs/archive/CHANGELOG-6.0.0-overview.md`](docs/archive/CHANGELOG-6.0.0-overview.md).
33
+ _Nothing staged._ Twenty entries that had accumulated here were drained to
34
+ [`docs/archive/CHANGELOG-unreleased-drain-2026-10.md`](docs/archive/CHANGELOG-unreleased-drain-2026-10.md)
35
+ on 2026-10-13; every one of them had already shipped, the oldest in 9.7.0.
36
+ An entry belongs under a dated release section, not here — see
37
+ [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts/CHANGELOG-conventions.md).
531
38
 
532
39
  # Era: pre-4.5.0 — archived
533
40
 
@@ -871,224 +378,531 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
871
378
  > keeps the active era under the 250-line drift cap enforced by
872
379
  > `tests/test_changelog_eras.py`.
873
380
 
874
- # Era: 16.3.x — current
381
+ # Era: pre-16.5.0 — archived
875
382
 
876
- > Started at `16.3.0`. Full entries live inline below.
383
+ > All entries before `16.5.0` live in
384
+ > [`docs/archive/CHANGELOG-pre-16.5.0.md`](docs/archive/CHANGELOG-pre-16.5.0.md).
385
+ > The archive is read-only; git tags remain the canonical
386
+ > source for what shipped. Splitting them out of the main file
387
+ > keeps the active era under the 250-line drift cap enforced by
388
+ > `tests/test_changelog_eras.py`.
389
+
390
+ # Era: 16.5.x — current
391
+
392
+ > Started at `16.5.0`. Full entries live inline below.
877
393
  > The drift test caps this era at 250 lines of entry body; growth past
878
- > that forces a new era split (`# Era: 16.4.x`, etc.) — see
394
+ > that forces a new era split (`# Era: 16.6.x`, etc.) — see
879
395
  > [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
880
396
 
881
- ## [16.4.0](https://github.com/event4u-app/agent-config/compare/16.3.0...16.4.0) (2026-10-10)
397
+ ## [17.0.0](https://github.com/event4u-app/agent-config/compare/16.5.0...17.0.0) (2026-10-22)
882
398
 
883
399
  ### Release highlights
884
400
 
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).
401
+ - **Behaviour changes:** run only package-owned dispatchers, and refuse PreToolUse when none is reachable (#2573) (0559570); raise the Node floor to 22 (ADR-290) — unblocks the 17.0.0 cut (#2565) (76f4136); A setup that decides itself: Phase 4 removes the keys, and nothing reads them (#2532) (d8f5590); The source door takes its decided name, the observation slots stay unspent, and the calibration reads zero (#2544) (32a66d7); Brand drain: lexicon and claim check on every finished draft, scenario fixtures, claims (5.3, 5.4, 7.2, 7.3) (#2486) (6c312e1); A canvas the code owns: claude-design lane, /design-system:sync, Lock carrier (#2470) (72f7580); +14 more.
402
+ - **Default changes + migration:** Steps the skill cannot skip: two pilots split, and a default-off procedure cursor (Phases 4-5) (#2466) (e3cf6dc); read member CLI output beyond the default spawn buffer (#2348) (2fa431c). Breaking, pending in `BREAKING_CHANGES.md` and shipped by this release: **Three `fail_closed` hook guards run where they were silent.** The installed claude hook command now reaches a dispatcher staged under `~/.event4u/agent-config/runtime/` after a project-local install and before `PATH` ([`3f8c98e`](https://github.com/event4u-app/agent-config/commit/3f8c98e74), #2455). On machines installed through `npx`, or hosts launched with a bare `PATH`, every hook command used to end in a silent `exit 0`; there `block-no-verify` (refuses `git … --no-verify` and `core.hooksPath` overrides), `block-kernel-rule-writes` and `block-plumbing-writes` (refuse agent writes to this package's kernel rules and hook plumbing) now run and may refuse a tool call for the first time. Classed breaking by the AI council, 2026-10-19 (`agents/evidence/council/hook-carrier-release-note-class-20261019.md`). **`uninstall --global --purge` stops being a recursive delete of the host anchor.** Old scope: `fs.rmSync(anchor, { recursive: true })` on whole host configuration roots — `~/.claude/`, `~/.codex/`, `~/.config/zed/` — so everything under them went, whoever wrote it. New scope: only the anchor-relative paths this package's own deploy inventory recorded writing; the anchor itself is never removed, directories are pruned only when left empty, a recorded symlink is unlinked rather than followed, and a purge with no readable inventory for that anchor exits 1 having deleted nothing. A second change in the same area: a plain `uninstall --global` now keeps the lockfile while recorded content is still on disk, where it used to delete it.
403
+ - **Security and correctness:** kind_flip binds isKindFlipped locally after the state split (f0348e9); a worker name reaches the ledger only as a session-bound digest (7d1db2e); a TokenScope that throws is withheld visibly too (9c2260c); name the free rung only for a kind that has flipped (2ace081); a throwing engine withholds injected text visibly instead of escaping (234581b); the codex seat records thread.started and keeps its sandbox bound on resume (defbc6f); +49 more.
404
+ - **Honest nulls:** a failed route hands the call down the chain once (free-hands 5.2) (a962afa); the advisor pairing run is a recorded null (tier 3.2) (23428d8); Blocker sweep follow-up: the three owner answers recorded (#2521) (221cd5d); Canvas 7.3: the taught baseline line, its corpus and the re-pinned routing measurements (#2502) (6c84bdf); A brand the tree can check: palette tags, voice slot, lexicon checker, zero brand bytes (#2433) (debb26d); A search answer a model can choose from (#2331) (b8f248b).
405
+ - **Known limitations:** base_url route members with proven billing class (src/scripts/_lib/environment_detector.ts declares a residual) (d0d9dd4); one provider table (free-hands 2.1) (src/scripts/_lib/environment_detector.ts declares a residual) (09507c1); the 17.0.0 self-review findings, second and third wave (#2580) (src/scripts/_lib/release_findings_ingest.ts declares a residual) (5d64cba); The update concerns' code, hardened and unregistered: eleven council rounds, two delivery gaps named (#2545) (src/scripts/_lib/update_notice.ts declares a residual) (7aa764a); A setup that decides itself: Phase 4 removes the keys, and nothing reads them (#2532) (src/scripts/install.ts declares a residual) (d8f5590); Install and hook runtime: foreign skills are not ours, a global dry run shows the global plan, and a fresh worktree's hooks run (#2553) (src/scripts/_cli/doctor_ownership_ledger.ts declares a residual) (4338b2e); +12 more.
406
+
407
+ > **Governance mix:** governance-only 117 vs consumer-only 16 (mixed 252, maintenance 28; taxonomy 1.1.0; range 17f028941037..e7d10fac5355).
890
408
 
891
- > **Governance mix:** governance-only 38 vs consumer-only 1 (taxonomy 1.1.0; range 5550dec9cf92..79e335f1c1b9).
409
+ ### BREAKING CHANGES
410
+
411
+ * **hooks:** run only package-owned dispatchers, and refuse PreToolUse when none is reachable (#2573) ([0559570](https://github.com/event4u-app/agent-config/commit/055957034474c04613f83f874e41ea53976a0bfb))
412
+ * raise the Node floor to 22 (ADR-290) — unblocks the 17.0.0 cut (#2565) ([76f4136](https://github.com/event4u-app/agent-config/commit/76f4136e110829316ad72f85a67d0d951c7f2ac9))
892
413
 
893
414
  ### Features
894
415
 
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))
416
+ * **ask:** a hand kind flips to the free route only on cleared shadow bars (free-hands 6.3) ([6fb2cb8](https://github.com/event4u-app/agent-config/commit/6fb2cb8e5b5fbac3ae17e660f3102e62feac76a9))
417
+ * **ask:** shadow mode ledgers a free and a paid answer per hand call (free-hands 6.2) ([e7f38f2](https://github.com/event4u-app/agent-config/commit/e7f38f239ad8cd7aac9924dcafeb1a2599ce3058))
418
+ * **canary:** a red streak of the scheduled canary surfaces in doctor and at session start (free-hands 5.3) ([bd113de](https://github.com/event4u-app/agent-config/commit/bd113de5334cb751de90b265e45d58a776a8e1e4))
419
+ * **ask:** a failed route hands the call down the chain once (free-hands 5.2) ([a962afa](https://github.com/event4u-app/agent-config/commit/a962afa732038407f0bd8f0e8dfaf349fee38a7b))
420
+ * **ask:** route liveness counts unservable streaks per route and model (free-hands 5.1) ([594698a](https://github.com/event4u-app/agent-config/commit/594698ab11bc3e2e6236a842c20df810f686c219))
421
+ * **council:** the stance repair continues the seat's own CLI session inside the cache TTL ([be6e3b3](https://github.com/event4u-app/agent-config/commit/be6e3b3a3df7aeaefad04976380b403693facbc7))
422
+ * **council:** the necessity gate applies the strict bar inside a host rate window ([604d512](https://github.com/event4u-app/agent-config/commit/604d512a3b630c25a8432e3d6d4188418fce8241))
423
+ * **delegation-nudge:** name the free rung only when the council config declares an unpaid route ([0358a03](https://github.com/event4u-app/agent-config/commit/0358a034ab26d7d13327579938af280933dc0687))
424
+ * **spawn-guard:** shadow line records whether a host rate marker would have held a spawn ([d4c716b](https://github.com/event4u-app/agent-config/commit/d4c716ba4d09504d06eb7ab45c625d7b0aa3b36e))
425
+ * **council:** chair candidates carry route billing, so a free route never chairs (free-hands 4.1) ([2bc7ce4](https://github.com/event4u-app/agent-config/commit/2bc7ce4980a47b86f51a57de430712a352a9e715))
426
+ * **ask:** an exposure ledger per hand route (free-hands 3.6) ([34a1ca4](https://github.com/event4u-app/agent-config/commit/34a1ca4623a3d63b96afd79561a9ef750460bb8a))
427
+ * **hooks:** the host's StopFailure(rate_limit) writes a host-sourced quota marker (cold-start 4.3) ([8dedad4](https://github.com/event4u-app/agent-config/commit/8dedad4f8a57ec2140e318ec7fe60de730f08ec2))
428
+ * **ask:** hands see fragments, never the project (free-hands 3.5) ([3064cf4](https://github.com/event4u-app/agent-config/commit/3064cf43945b7a73ed95469b91610287973b3ab0))
429
+ * **council:** ship route endpoints, discover route models live ([e750d31](https://github.com/event4u-app/agent-config/commit/e750d310834b3a5d05dba25200d7fd59d17a3fb5))
430
+ * **skills:** llm-provider-knowledge gains a free-tier class (free-hands 7.1) ([f89826b](https://github.com/event4u-app/agent-config/commit/f89826b92a9335b09162523ddb05c6b56d53d785))
431
+ * **council:** derive a route's identity from the served model id ([996fd9a](https://github.com/event4u-app/agent-config/commit/996fd9aa4eb59ccd74207c87e53de9b6f1f827fa))
432
+ * **nudge:** name the free rung for a typed hand slice (free-hands 3.4) ([7857d7f](https://github.com/event4u-app/agent-config/commit/7857d7fd868ea9b7a53d54618869e48e9b11babf))
433
+ * **council:** base_url route members with proven billing class ([d0d9dd4](https://github.com/event4u-app/agent-config/commit/d0d9dd44afba079e9102ae17aef0d72b5d2c5282))
434
+ * **economy:** ask_economy gains a billing-class axis (free-hands 6.1) ([449f03c](https://github.com/event4u-app/agent-config/commit/449f03cff02340cdfef46a797d13756fa0e76c02))
435
+ * **ask:** the head verifies every hand, and the line says so (free-hands 3.3) ([619b597](https://github.com/event4u-app/agent-config/commit/619b597a8e3de5c3182aa70bd51ca1bb4e21bce2))
436
+ * **subagents:** the reuse shadow window report and the four flip conditions as code (cold-start 3.5, 3.6) ([943c19a](https://github.com/event4u-app/agent-config/commit/943c19ad967ad9faed45481ac683edd963b60984))
437
+ * **hooks:** spawn-guard-shadow records reuse verdicts and resumes by name (cold-start 3.3) ([c3f7f1a](https://github.com/event4u-app/agent-config/commit/c3f7f1a1999aa42c8a2c5d58d6607cfc88ac1321))
438
+ * **council:** unpaid seats propose and judge, never chair; five-judge cap; n_eff beside kappa (free-hands 4.1-4.3) ([78f7126](https://github.com/event4u-app/agent-config/commit/78f7126f48c9357a7b8a01a6bb9d9ab37a303e91))
439
+ * **ask:** a route chooser replaces the first configured member (free-hands 3.2) ([177c6a8](https://github.com/event4u-app/agent-config/commit/177c6a89ebb63446380fbd577836d03dc1b84b9f))
440
+ * **ask:** typed hand kinds with a JSON output schema each (free-hands 3.1) ([550ac29](https://github.com/event4u-app/agent-config/commit/550ac29e615e855103da945d216ab2d0c84d462f))
441
+ * **egress:** invisible characters and lookalike letters do not hide a value ([2b758dc](https://github.com/event4u-app/agent-config/commit/2b758dcf56ec0530d377807e3f635d83be1e194d))
442
+ * **egress:** validated identifier rows in the one rule table ([40aa265](https://github.com/event4u-app/agent-config/commit/40aa265f1ed59512cf3b2c22d716762d7e04d8b6))
443
+ * **egress:** a loopback canary run through ask_transport (free-hands 1.3) ([ffb6a6b](https://github.com/event4u-app/agent-config/commit/ffb6a6b7226e4255ad6e27619dbb467e8fbd119d))
444
+ * **bench:** the advisor pairing run, advisor usage charged to its arm (tier 3.2) ([c4e4a37](https://github.com/event4u-app/agent-config/commit/c4e4a37e7b4401978f5e19e17e3ef96f3a38ef02))
445
+ * **subagents:** ac-researcher declares lite once both tier claims are backed (tier 2.3) ([5b84014](https://github.com/event4u-app/agent-config/commit/5b84014245fed5512650a775d063821e95fa4d5e))
446
+ * **bench:** paired tier-downshift run and its verdict as code (tier 2.2, 2.3) ([75da434](https://github.com/event4u-app/agent-config/commit/75da434d61417bb7b07971da1a00f38e39e54b7d))
447
+ * **steering:** a lite leg's escalation is a record, never a climb (tier 1.3) ([de939dd](https://github.com/event4u-app/agent-config/commit/de939ddb627fca4dd098aefcedaf8d872cfb4fd2))
448
+ * **hooks:** the delegation nudge names the model value the table earned (tier 1.2) ([1f48d0f](https://github.com/event4u-app/agent-config/commit/1f48d0ff15c1ea848377cdb0731066ebd4c05f33))
449
+ * **telemetry:** every recorded dispatch carries its tier fields (tier 1.1) ([aa74c70](https://github.com/event4u-app/agent-config/commit/aa74c70c5f36d548ed6cac4a134ba02f38b93631))
450
+ * **council:** the Anthropic seat launches light on a probed version ([b63871b](https://github.com/event4u-app/agent-config/commit/b63871b61f8576492470a4aa0d385e1e673c4bec))
451
+ * **council:** probe a lighter seat launch per CLI version (cold-start 5.1) ([eaf5811](https://github.com/event4u-app/agent-config/commit/eaf5811486e9c97891969b46cceae966c63dbb1a))
452
+ * **subagents:** package workers skip project instructions (cold-start 2.5) ([d5afdea](https://github.com/event4u-app/agent-config/commit/d5afdea316a0f816e601c8360fa8b71364a4821e))
453
+ * **release:** review credential-shaped fixtures redacted; replace a detected value everywhere (#2578) ([84beafc](https://github.com/event4u-app/agent-config/commit/84beafcfa099aa1991369e8821533478b3d36fa8))
454
+ * **release:** let a local self-review run be scoped and run to completion (#2575) ([66b8105](https://github.com/event4u-app/agent-config/commit/66b81058818d8a3c3bc4dfa2c7ee59c776fa0c63))
455
+ * **roadmaps:** route a human-owned blocker through the council before filing ([6bfd836](https://github.com/event4u-app/agent-config/commit/6bfd83679927e7d561e645cbaf93c9ad1c995617))
456
+ * **install:** keep every skill a surviving artefact declares in the scoped projection ([d3067c8](https://github.com/event4u-app/agent-config/commit/d3067c8dfa9b9006a6542e298c8b12a8c3e9081e))
457
+ * **retro:** read an analysis round as a retro unit, with adoption only once a roadmap is archived (#2489) ([6fd7c66](https://github.com/event4u-app/agent-config/commit/6fd7c66acc7f7d6d00b6c6a94dc200e4283eab73))
458
+ * **doctor:** report the update verdict read-only in doctor --json (release-impact 4.3) (#2483) ([3ec8d6b](https://github.com/event4u-app/agent-config/commit/3ec8d6b1ecce3dbaf9b9aa8531f7c9b4d017576c))
459
+ * **retro:** held, recurred, or first — and a revert reopens the record (#2453) ([e12c6ab](https://github.com/event4u-app/agent-config/commit/e12c6ab6385c3a31168801d9ff9c1b48e70687be))
460
+ * **release:** Consumer-Impact trailer, prerelease-aware comparator and a pure update classifier (#2421) ([a739e50](https://github.com/event4u-app/agent-config/commit/a739e508c90079f6794f4c6bbd24b39c197ffb40))
461
+ * **self-repair:** scan the pushed commits, name the account, cite one threshold (#2436) ([f147efd](https://github.com/event4u-app/agent-config/commit/f147efd948c21d50ef10c03a28075d64ba2e5fb5))
462
+ * **report:** build the content repeat-share instrument before its window closes (#2423) ([5a70acb](https://github.com/event4u-app/agent-config/commit/5a70acb8c64676b7b40069393fb6a6659580ed25))
463
+ * **install:** compute the rule-layer form from evidence, shadow-only (#2414) ([ee49fd8](https://github.com/event4u-app/agent-config/commit/ee49fd88839e037cd8ec17ee18625b1e40a41d5d))
464
+ * **skills:** resolve every reference link against its own file, one split canon (#2411) ([e1956ea](https://github.com/event4u-app/agent-config/commit/e1956ead7e4014aed572f257825db24874a9634c))
465
+ * **analysis:** scope resolver, run core and loop ledger for the analysis family (#2407) ([629b19d](https://github.com/event4u-app/agent-config/commit/629b19d04308529384578ee21faeeda28391ac59))
466
+ * **skills:** free the host's context key, reach uninstalled skills from the shell path (#2398) ([4b655be](https://github.com/event4u-app/agent-config/commit/4b655be8c045c9b64490144f2cebdfe24e2f1f5b))
467
+ * **cold-start:** runs per leg, reuse decision, capability atoms and baselines (#2403) ([7d9d4ca](https://github.com/event4u-app/agent-config/commit/7d9d4caf4522ff7822511f359b9257f3e5ca3c96))
468
+ * **turnaround:** throughput figures in the turnaround probe, correction and baseline (#2397) ([37d68ce](https://github.com/event4u-app/agent-config/commit/37d68ce64460c76cc22b934f69cb2684d6fd863c))
469
+ * **report:** classify content results exactly as the PREREG registers them (#2396) ([80f646d](https://github.com/event4u-app/agent-config/commit/80f646d34d5168259c5667b3bb0e94cc0b70b305))
470
+ * **egress:** generate the census of this package's own model senders (#2394) ([6e55ba4](https://github.com/event4u-app/agent-config/commit/6e55ba462f084c6691feddaff300a14f5f35ee74))
471
+ * **council:** an unpriced billable seat is a state, not a zero (#2392) ([0a4ffff](https://github.com/event4u-app/agent-config/commit/0a4ffff674d1830c97786c9206b7227b07e59674))
472
+ * **merge:** clearances name their head, a bypass has a closing, the owner's load is a number (#2381) ([73eb694](https://github.com/event4u-app/agent-config/commit/73eb69439b5b9169e9af9311bff69df0d102ace4))
473
+ * **merge:** a danger gate that sees what governs and runs from the base (#2375) ([85d00e5](https://github.com/event4u-app/agent-config/commit/85d00e56a74832f74b4d5c4817181b50ba166097))
474
+ * **hooks:** egress stage in the dispatcher, observe and protect views (placeholders Phase 1) (#2371) ([38542f8](https://github.com/event4u-app/agent-config/commit/38542f8eebaffd240b0e97b240884e72aec709c2))
475
+ * **egress:** contract, rule table and token grammar for egress placeholders (#2366) ([7cd7564](https://github.com/event4u-app/agent-config/commit/7cd7564ebcbd646205dc62e042032e998ecca213))
476
+ * **account-surface:** wire the detector into production-validator and launch-readiness (#2361) ([fd62723](https://github.com/event4u-app/agent-config/commit/fd62723872a1d7f0c4a645403328d6a4eba16dfc))
477
+ * **account-surface:** reconcile threat rows and add the lexical account-flow detector (#2356) ([6aa338f](https://github.com/event4u-app/agent-config/commit/6aa338fd4ae3c9db399b0b2e1ae1f73575a9f7fa))
478
+ * **svg:** discharge the SVG obligation only on a render the hook observed (#2355) ([7614604](https://github.com/event4u-app/agent-config/commit/7614604dc6e74ba63f24445e258f4c760e89b6f1))
479
+ * **release:** apply the owner answer on what a minor may remove (#2344) ([d23dcec](https://github.com/event4u-app/agent-config/commit/d23dcec562b8bc61c2966b3c3545c9ce5bd23b92))
917
480
 
918
481
  ### Bug Fixes
919
482
 
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))
483
+ * **ask:** kind_flip binds isKindFlipped locally after the state split ([f0348e9](https://github.com/event4u-app/agent-config/commit/f0348e97f6bf15efeabfd783dd5e5973825849bd))
484
+ * **spawn-guard:** a worker name reaches the ledger only as a session-bound digest ([7d1db2e](https://github.com/event4u-app/agent-config/commit/7d1db2e068569d8d2a5b0b4763a056d68c6c259e))
485
+ * **egress:** a TokenScope that throws is withheld visibly too ([9c2260c](https://github.com/event4u-app/agent-config/commit/9c2260c94000865ea16af84bf5cf6247bac04a16))
486
+ * **delegation-nudge:** name the free rung only for a kind that has flipped ([2ace081](https://github.com/event4u-app/agent-config/commit/2ace081b28e4521b84ee007bd3c9fcf415af6d8d))
487
+ * **egress:** a throwing engine withholds injected text visibly instead of escaping ([234581b](https://github.com/event4u-app/agent-config/commit/234581b6f79970b70ed5fc0e0bc26a1b4886facb))
488
+ * **council:** the codex seat records thread.started and keeps its sandbox bound on resume ([defbc6f](https://github.com/event4u-app/agent-config/commit/defbc6fdae0c2185e93b4713b9e1b8b98bd38f8d))
489
+ * **ask:** the route adapter reads a base_url member's billing field (free-hands 3.2) ([dde0284](https://github.com/event4u-app/agent-config/commit/dde028435e1b09b5928041a041324c9c696f8260))
490
+ * **egress:** every IBAN registry country masks; credential minimums exercised ([dc8648b](https://github.com/event4u-app/agent-config/commit/dc8648b9acb952c6917804c2223ebec1ad1e4661))
491
+ * **egress:** the canary runs in protect mode and spells no value the census counts (free-hands 1.3) ([61bb246](https://github.com/event4u-app/agent-config/commit/61bb2463f60887c409a6cf1ed2a55fcd6bffc55a))
492
+ * **egress:** the three free-tier rows join every per-row suite (free-hands 1.2) ([9725442](https://github.com/event4u-app/agent-config/commit/9725442e470687dc02a65bc00cfca750abe5de64))
493
+ * **egress:** NANP row matches every shape the stores' old phone regex tagged ([b7b88f3](https://github.com/event4u-app/agent-config/commit/b7b88f35e7c2857023aee57173d89748de963c22))
494
+ * **egress:** stores redact recall-first; balanced phone parentheses; .md domains ([db29db4](https://github.com/event4u-app/agent-config/commit/db29db4ccbe7586aec20fb69f36d4b8fed3ddedf))
495
+ * **egress:** mask bare Hugging Face, NVIDIA and Replicate keys (free-hands 1.2) ([0677711](https://github.com/event4u-app/agent-config/commit/06777113cca281f347328ba49c3ab4136af27cab))
496
+ * **council:** the content ceiling fails closed (free-hands 1.1) ([ec9df20](https://github.com/event4u-app/agent-config/commit/ec9df200789ad9a59e635ad0a105bc9ebf516db5))
497
+ * **claims:** a retired phrasing may not justify parked work either (free-hands 0.2) ([e7c2462](https://github.com/event4u-app/agent-config/commit/e7c2462d9f054da71bd3b3cf5de2a408837e3a36))
498
+ * **bench:** no discordant pair bounds the difference by the rule of three ([b1881b9](https://github.com/event4u-app/agent-config/commit/b1881b977dd527fb5acc915cda5be6f6ab28cb9b))
499
+ * **canary:** a suite whose router never answered is not a routing score ([40482d3](https://github.com/event4u-app/agent-config/commit/40482d31cbd05b583ffc8ed021b7ef99432cb81f))
500
+ * the 17.0.0 self-review findings, second and third wave (#2580) ([5d64cba](https://github.com/event4u-app/agent-config/commit/5d64cba1bde6eb32b9722f00e601a12ca9f947c5))
501
+ * **release:** take back the key 16.5.0 never shipped from the released surface (#2579) ([0a78c53](https://github.com/event4u-app/agent-config/commit/0a78c53e2f064bf276c4562bcfc8d271bcad5eda))
502
+ * the 17.0.0 self-review findings, first wave (#2576) ([816a98e](https://github.com/event4u-app/agent-config/commit/816a98e7381f0ea613e23652d5198cfde22a8a8d))
503
+ * **hooks:** refuse every abbreviation git reads as --no-verify, and scope short -n (#2572) ([feec560](https://github.com/event4u-app/agent-config/commit/feec560b54e2af4cf7caaf23b2f490a91a691ac4))
504
+ * three 17.0.0 self-review findings, and a roadmap for the three accepted as risk (#2571) ([369b8b4](https://github.com/event4u-app/agent-config/commit/369b8b4aac947479cec93e04e6d944142db4fb82))
505
+ * **release:** let the release-shape gate accept the impact-map entry the release writes (#2569) ([4123ea8](https://github.com/event4u-app/agent-config/commit/4123ea8f8ddae26b02a6620a5a35c5d14e85776d))
506
+ * **release:** stop refusing a breaking commit that lost its Consumer-Impact trailer (#2567) ([95dbe28](https://github.com/event4u-app/agent-config/commit/95dbe28f6eea722535bda769d08ad2c61f9f8a82))
507
+ * **ci:** let sync-visibility write metadata with RELEASE_PR_TOKEN (#2566) ([88df4bc](https://github.com/event4u-app/agent-config/commit/88df4bc75ee1a9c4c49d81b089a064f15c2c0fa1))
508
+ * **skill:** keep roadmap-writing within its body ceiling ([4c1cc58](https://github.com/event4u-app/agent-config/commit/4c1cc5822f3c31f91459a80f171d83af05c02071))
509
+ * **review:** R2 findings on the routing ratchet and the settled closures ([cc83373](https://github.com/event4u-app/agent-config/commit/cc83373eb90ff95b586d04bf5a3bb7a99398a738))
510
+ * **language-pin:** a host-wrapped agent message never sets the pin ([0c85ece](https://github.com/event4u-app/agent-config/commit/0c85ece41519d5855744f0f323af41b07f6afa84))
511
+ * **hooks:** re-establish the two drifted Claude Code doc pages (#2514) ([44253c1](https://github.com/event4u-app/agent-config/commit/44253c1027713205ad3c1ad308ee85389c492a8b))
512
+ * **docs:** write the claim's new clause in the house dialect ([620c51e](https://github.com/event4u-app/agent-config/commit/620c51eda9f1b13810acdb703f0df135b15c3be0))
513
+ * **ci:** hold the README word budget and lower the source-size baseline to the CI total ([74db765](https://github.com/event4u-app/agent-config/commit/74db765ef446c6b9b576d9b2bafb5b8684bbf250))
514
+ * **hooks:** judge an inbox path against the tree the command runs in, and let the guard's own remediation through ([2bf64f6](https://github.com/event4u-app/agent-config/commit/2bf64f69910c1a4adb1e38577fabd1f64aa555ec))
515
+ * **upgrade:** an installed package is not a source checkout, so --unattended stops refusing on every one (#2492) ([81a6e63](https://github.com/event4u-app/agent-config/commit/81a6e63fd8a7fcce9e7d837a45303281a9d3cd68))
516
+ * **gates:** retire the expired relates baseline instead of extending it (#2488) ([cf887ff](https://github.com/event4u-app/agent-config/commit/cf887ff746acd20519ce7293d793361dd29f9d8b))
517
+ * **skills:** every SKILL.md link resolves or is a named repo-only class (AC-1) (#2482) ([95b00b6](https://github.com/event4u-app/agent-config/commit/95b00b6569a53d6f0f49626b966278fdb8ff0109))
518
+ * **release:** read Consumer-Impact from every trailer block, not only the last (#2479) ([b2d7b41](https://github.com/event4u-app/agent-config/commit/b2d7b41ce58787e3d4a767d9d8ccc676f28351fd))
519
+ * **analysis:** validated publication target and redirect-free clone (#2477) ([504308f](https://github.com/event4u-app/agent-config/commit/504308ffaa0ef127b90d6837adbffd3ffbe1da48))
520
+ * **tests:** drop the removed linearity field from the session-table fixture (#2478) ([7106101](https://github.com/event4u-app/agent-config/commit/71061011717483a725e1c1fd86f6b423f26e7b45))
521
+ * **ci:** build before measuring the payload, and re-baseline the built surface (#2445) ([2884530](https://github.com/event4u-app/agent-config/commit/288453077e0f4485003c37182cd127c6c17c09ef))
522
+ * **lineage:** parse quoted parents and read direction before reporting (#2417) ([dc480bf](https://github.com/event4u-app/agent-config/commit/dc480bf90fe9b1bd2cac1407b69e0281ca2c114b))
523
+ * **design-fidelity:** one handover shape list, reserved host design names, DTCG alias record (#2412) ([a536e78](https://github.com/event4u-app/agent-config/commit/a536e787795f6744c3e87f682a00d7d5ed5889f2))
524
+ * **drain:** lower the parity baseline to CI's 25 after 2.2e (#2408) ([5fe028f](https://github.com/event4u-app/agent-config/commit/5fe028fd4b1dea233a46344b43ad3a3058f0d4c6))
525
+ * **uninstall:** what the end-to-end run found after #2399 (#2401) ([7af0039](https://github.com/event4u-app/agent-config/commit/7af00395b2d7f17caaa8e610c029e9b3aa2ee809))
526
+ * **uninstall:** purge only the files this package recorded writing (#2399) ([b352d9a](https://github.com/event4u-app/agent-config/commit/b352d9ab8d31a19fcedcd8dd4ed0d1d60f1e16b0))
527
+ * **test-gates:** close road-to-unknowns-that-say-so steps 5.1 and 5.4 (#2393) ([bbae275](https://github.com/event4u-app/agent-config/commit/bbae275b229eab9de799143cf07c2a4a84bac5ea))
528
+ * **ratification:** restore the strippable subject calculator and end the danger-gate window (#2387) ([5fa963c](https://github.com/event4u-app/agent-config/commit/5fa963cec5c9801c589d85990a96fc75b3dcc779))
529
+ * **ratification:** gate the subject calculator and retire its pin (stage 2 of 2) (#2386) ([a7de456](https://github.com/event4u-app/agent-config/commit/a7de45670676940d7675d818fdd6bcf45a4baefb))
530
+ * **ratification:** restore the subject calculator to its pinned blob (#2383) ([9a43fab](https://github.com/event4u-app/agent-config/commit/9a43fabe5fddfbd053811e39bd94844746bc6ace))
531
+ * **ratification:** gate the modules the kernel-edit gate's verdict runs through (stage 1 of 2) (#2379) ([a10aa16](https://github.com/event4u-app/agent-config/commit/a10aa16a1fe1a27b7ff54bcb564154a28877625f))
532
+ * **ratification:** classify the dispatcher closure's base side at the named base commit on every run (#2376) ([e789a13](https://github.com/event4u-app/agent-config/commit/e789a13f823ecc0e44ab180f31a694115d64f5a0))
533
+ * **tests:** deliver the stalled-stdout harness through the stream, not fs.writeSync (#2368) ([a139cd6](https://github.com/event4u-app/agent-config/commit/a139cd6bf273499c65695b38ac0843939a17e508))
534
+ * **hooks:** make the plugin's no-dispatcher branch say so (#2360) ([90ed4e6](https://github.com/event4u-app/agent-config/commit/90ed4e697b28a48c6b1ab80f288d9b3310aa36ed))
535
+ * **scripts:** let large-output gates drain stdout before exiting (#2357) ([555e50a](https://github.com/event4u-app/agent-config/commit/555e50a292eb70fa8beeb4b9fb555682f79a471a))
536
+ * **hooks:** re-establish six drifted vendor docs rows and route the next drift to an issue (#2353) ([7a31fa0](https://github.com/event4u-app/agent-config/commit/7a31fa0edeca93272abcf4e754a0b43a2dc25530))
537
+ * **council:** read member CLI output beyond the default spawn buffer (#2348) ([2fa431c](https://github.com/event4u-app/agent-config/commit/2fa431ccee78cc8f4f165a002b23ab464bb65887))
538
+ * **release-drill:** keep step-2 bump writes off the real tree (#2347) ([b75aaeb](https://github.com/event4u-app/agent-config/commit/b75aaeb39c7d2078642f172c65d0b70a226687a4))
539
+ * **closure:** council decides owner-labelled questions before the owner sees one (#2322) ([1a72534](https://github.com/event4u-app/agent-config/commit/1a725343aa47f13195303f9d5b306acd003ee3fb))
540
+
541
+ ### Reverts
542
+
543
+ * **skills:** keep llm-provider-knowledge triggers at the pinned corpus bytes ([78c0df7](https://github.com/event4u-app/agent-config/commit/78c0df72c14e5705fad228ecf041f8abb9abe706))
544
+ * **hooks:** withdraw the speaking-inbox guard change the council refused 2/2 ([37f0be5](https://github.com/event4u-app/agent-config/commit/37f0be502766f119eb964499c4d54309687e5007))
934
545
 
935
546
  ### Documentation
936
547
 
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))
548
+ * **decisions:** admit the host-rate-marker concern ([8bb61b5](https://github.com/event4u-app/agent-config/commit/8bb61b5e5d7c97379af412ba30bc9fccdabac36f))
549
+ * **roadmaps:** cold-start claims the one concern its step 4.3 adds ([053ac1e](https://github.com/event4u-app/agent-config/commit/053ac1e63ff6f6e7f5e2005dadd4bc05e76eb9fd))
550
+ * **roadmaps:** re-review the cold-start and one-detector risk registers ([7e786f5](https://github.com/event4u-app/agent-config/commit/7e786f5ee75cd845240b0fcd2677c266b20d86d7))
551
+ * **roadmaps:** close one-detector 2.3, 2.5, 2.6, 3.3, AC-1 and AC-2 ([c862ea4](https://github.com/event4u-app/agent-config/commit/c862ea4f420ceeb16b2545b5296cfe14d61a9913))
552
+ * **evidence:** ratification of the branch's gated hook plumbing, 2/2 after three rounds ([787f8a3](https://github.com/event4u-app/agent-config/commit/787f8a3ec0acda1a25e3ddbf7f46e720a8546074))
553
+ * **evidence:** commit the ratification round-3 prompt verbatim ([5f3c5be](https://github.com/event4u-app/agent-config/commit/5f3c5be58790db96b178c44fa67ab5fa200961f1))
554
+ * **roadmaps:** cold-start 3.6 note fits the complexity cap ([f3534c4](https://github.com/event4u-app/agent-config/commit/f3534c490aa977cff6d37f5be991be525ccc22d0))
555
+ * **roadmaps:** cold-start 3.3 records the name digest; 3.6 owes an indexed register before a flip ([166991b](https://github.com/event4u-app/agent-config/commit/166991b86be490ae600fab9bdbae8384d8d6f71b))
556
+ * **evidence:** commit the ratification round-2 prompt verbatim ([4719956](https://github.com/event4u-app/agent-config/commit/4719956bf4f908f8ee8cd756e6568012aef9510b))
557
+ * **hooks:** reconcile the engine chunk measurement and say rate_limit is unobserved ([be08dc0](https://github.com/event4u-app/agent-config/commit/be08dc0b678218b788cb72ce390b8ac19d0e6107))
558
+ * **evidence:** commit the ratification round-1 prompt verbatim ([cd57650](https://github.com/event4u-app/agent-config/commit/cd57650c3751559187435e6e8b53b06a5f3dabfd))
559
+ * **roadmaps:** free-hands 1.2 names egress_credential_env.ts ([e9e658c](https://github.com/event4u-app/agent-config/commit/e9e658cba69af2988d44db362ea5b8e603ec7516))
560
+ * **hosts:** Claude Code binds ten lifecycle slots since StopFailure ([835716a](https://github.com/event4u-app/agent-config/commit/835716a6d6ac645c4aeb1bc4c8cbf68ff06ad07e))
561
+ * **egress:** the route catalogue's /models discovery joins the sender census ([198e176](https://github.com/event4u-app/agent-config/commit/198e17629fe7be5d57a8803118fd8cf4b16c13cf))
562
+ * **evidence:** type the owner-blocker council question ([ae861da](https://github.com/event4u-app/agent-config/commit/ae861da112fe5c8189b981837df35e9edfdde8c8))
563
+ * **roadmaps:** close free-hands 5.1-5.3, 6.3 and AC-6; 6.2 built, waiting on its window ([d43c719](https://github.com/event4u-app/agent-config/commit/d43c719e7ccf38b9b962cdfc994072f06921cb85))
564
+ * **council:** route liveness streaks in the base_url route contract (free-hands 5.1) ([5518071](https://github.com/event4u-app/agent-config/commit/5518071217e56b8eb0866fa310c99f9fc277b6ad))
565
+ * **roadmaps:** step evidence fits the complexity cap ([3b1c434](https://github.com/event4u-app/agent-config/commit/3b1c434e27b08dc448de77c84700c5eb59a56f7d))
566
+ * **roadmaps:** free-hands 3.6 names the paid-route exposure question as an owner item ([9583254](https://github.com/event4u-app/agent-config/commit/9583254c5ed110c4828cd3495d70a4317c71d348))
567
+ * **roadmaps:** close free-hands 2.2-2.5, 3.1-3.6, 4.1-4.3, 6.1, 7.1 and five acceptance criteria ([c6f9eb2](https://github.com/event4u-app/agent-config/commit/c6f9eb2060386e3036ae7b9bf70eba018937c08e))
568
+ * **roadmaps:** close cold-start 3.3, 4.3, 4.5, 5.2, 5.3 and six acceptance criteria ([aaf8c99](https://github.com/event4u-app/agent-config/commit/aaf8c99cc1096ff60c5c043caea9ad1bdc545e40))
569
+ * **council:** describe base_url route members ([b64e3ef](https://github.com/event4u-app/agent-config/commit/b64e3ef140dc544b722536ad5a32b22cc02a3222))
570
+ * **claims:** pre-register free-jury-effective-independence, free-hands-limit-relief and free-hands-quality-held ([25df57a](https://github.com/event4u-app/agent-config/commit/25df57a81477eaf7455195cce98a8ca5a11e8cdb))
571
+ * **roadmaps:** cold-start 3.5 and 3.6 built, waiting on the shadow window ([9a613e4](https://github.com/event4u-app/agent-config/commit/9a613e4d35dbf35835ec03993a5e9401a6f4f508))
572
+ * **egress:** commit the round-6 ratification prompt verbatim ([c63c854](https://github.com/event4u-app/agent-config/commit/c63c85441eecacb4a0f9e05ad382e9e8cae90cda))
573
+ * **roadmaps:** close free-hands 2.1 ([458275c](https://github.com/event4u-app/agent-config/commit/458275c9608608b0c0556e0ceaf7428037a7709c))
574
+ * **roadmaps:** close free-hands 1.3 ([0a930e6](https://github.com/event4u-app/agent-config/commit/0a930e6c4703ed7dd4844d82b8322f51b62fcfde))
575
+ * **egress:** commit the round-5 ratification prompt verbatim ([c6d61d5](https://github.com/event4u-app/agent-config/commit/c6d61d589b191c2a63dedfdda4ec1b46df89f83b))
576
+ * **roadmaps:** close tier 3.2 and AC-1 to AC-6 ([25d323c](https://github.com/event4u-app/agent-config/commit/25d323c3b95969207ab325229416e2cb5354a6b2))
577
+ * **evidence:** the advisor pairing run is a recorded null (tier 3.2) ([23428d8](https://github.com/event4u-app/agent-config/commit/23428d8b20a84246c7897954f614f9bdf5cab149))
578
+ * **egress:** commit the round-4 ratification prompt verbatim ([ef09b25](https://github.com/event4u-app/agent-config/commit/ef09b25f20f14024acf943c8fc2b446f4af541b6))
579
+ * **egress:** commit the round-3 ratification prompt verbatim ([372cea3](https://github.com/event4u-app/agent-config/commit/372cea38223b0a4d0e67d98a48be27843e92de2c))
580
+ * **egress:** commit the round-2 ratification prompt verbatim ([3dc8350](https://github.com/event4u-app/agent-config/commit/3dc83504c55381bfc3ed185c636e511d210fce06))
581
+ * **egress:** name how each credential-only reader reads, and why 2.7 precedes 3.3 ([5f12233](https://github.com/event4u-app/agent-config/commit/5f1223392aef7a05466e716fd23b51764bab0381))
582
+ * **egress:** contract and roadmap for 1.2, 2.3, 2.4, 2.5 and 3.2 ([0721e39](https://github.com/event4u-app/agent-config/commit/0721e39091535e60b13c9b2457e9666c70af2819))
583
+ * **roadmaps:** close free-hands 1.2 ([0541883](https://github.com/event4u-app/agent-config/commit/054188396de723e649cdfb95499c00ccd45bc5d6))
584
+ * **roadmaps:** close free-hands 1.1 ([d811e5b](https://github.com/event4u-app/agent-config/commit/d811e5bc11022e1eb5710740bf4fd50b45e3aa72))
585
+ * **roadmaps:** close free-hands 0.2 ([88fd495](https://github.com/event4u-app/agent-config/commit/88fd49569b601d8f44dc9bc38a4aada45706713b))
586
+ * **roadmaps:** close free-hands 0.1 ([fe74027](https://github.com/event4u-app/agent-config/commit/fe740272fd98fb845f38dc82e0dd654097892ec3))
587
+ * **evidence:** classify the canary's uniform zero (free-hands 0.1) ([15d00c9](https://github.com/event4u-app/agent-config/commit/15d00c94204361ba41f0c9bb8601fe58971fbd0b))
588
+ * **roadmaps:** council defaults for the three owner blockers; close tier 2.2, 2.3, 4.4 ([4b00985](https://github.com/event4u-app/agent-config/commit/4b009857dc7d2c5fb0e777dacba1c3db399d39c5))
589
+ * **evidence:** the tier-downshift paired run, 60 pairs (tier 2.2) ([573393f](https://github.com/event4u-app/agent-config/commit/573393fd0fa5a8359bf98e5945451b0d879cdf2c))
590
+ * **claims:** pre-register the advisor pairing claim (tier 3.2) ([a8ac989](https://github.com/event4u-app/agent-config/commit/a8ac989ea3631e6f2864c3cd4f3f84aef0ea3654))
591
+ * **roadmaps:** close tier 3.1 ([c52d26f](https://github.com/event4u-app/agent-config/commit/c52d26fa854e970acc838fd8a7a26cd10127186f))
592
+ * **evidence:** a dispatched worker can run with an advisor on 2.1.308 (tier 3.1) ([f3a3b4d](https://github.com/event4u-app/agent-config/commit/f3a3b4dcc7a28f077a441d136d4cfa8276a5db25))
593
+ * **roadmaps:** close tier 2.1 ([f4e20ba](https://github.com/event4u-app/agent-config/commit/f4e20ba12f15afb11b3fee54a21a15fa64b738d6))
594
+ * **claims:** pre-register the two tier-downshift claims (tier 2.1) ([e61a0db](https://github.com/event4u-app/agent-config/commit/e61a0db79c926a7c381807ca0853b9419fe9dc72))
595
+ * **roadmaps:** close tier 1.3 ([c3bcf6d](https://github.com/event4u-app/agent-config/commit/c3bcf6d99f4aaa021bd44bca06d25f7bc053c913))
596
+ * **roadmaps:** close tier 1.2 ([48e6a34](https://github.com/event4u-app/agent-config/commit/48e6a343d8bd44ca5e8b932188adeb1d5b666e18))
597
+ * **roadmaps:** close tier 1.1 ([6c78380](https://github.com/event4u-app/agent-config/commit/6c783806b84cfa3485329034f5040328b05884a9))
598
+ * **roadmaps:** close tier 0.1 and 0.2 ([a2bc18e](https://github.com/event4u-app/agent-config/commit/a2bc18eb94669f783750e8169b7c435b9c115c75))
599
+ * **evidence:** tier realisation over 14 days and the per-call model probe (tier 0.1, 0.2) ([7042888](https://github.com/event4u-app/agent-config/commit/70428884f15a0cadc7d6846754d961fc01664481))
600
+ * **roadmaps:** close cold-start 5.1 ([5de4c73](https://github.com/event4u-app/agent-config/commit/5de4c73626e5fb6a91ecf5d58fc449a7efb274d5))
601
+ * **roadmaps:** close cold-start 2.5 and 6.5 ([fdc91fe](https://github.com/event4u-app/agent-config/commit/fdc91febe7f1cd8eb06350eba7b8773cc399a7d7))
602
+ * **evidence:** hand the skip reading to the per-spawn standing report (cold-start 6.5) ([5e390f6](https://github.com/event4u-app/agent-config/commit/5e390f63ab840bf3496123ae1f486e735aa8322e))
603
+ * **roadmaps:** loopback is a precondition, not proof; the canary may refuse (#2584) ([5653d32](https://github.com/event4u-app/agent-config/commit/5653d32f328a155710f49c364c1a8a9d1317b696))
604
+ * **roadmaps:** a tier the dispatch carries, folded into the #2582 free-hands plan (#2583) ([43a0cb2](https://github.com/event4u-app/agent-config/commit/43a0cb20ec3356ea00591ddc66f731d22d9b8cf7))
605
+ * **roadmaps:** free routes as bounded hands, seat failure classes, host inputs, workflow floors (#2582) ([01ae122](https://github.com/event4u-app/agent-config/commit/01ae122acbbaac8fdf11b968b59f9dbcb877e53e))
606
+ * **placeholders:** record three review rounds on the rewrite path and the reverted change (#2560) ([ee183b7](https://github.com/event4u-app/agent-config/commit/ee183b7a4804c359a2789030fde970cb32e7ba6e))
607
+ * **evidence:** observe resume admission, the skip flag and named spawns on 2.1.306 (#2554) ([3d3a357](https://github.com/event4u-app/agent-config/commit/3d3a3576fc1a0fd6eef18fb561b8937732e79c37))
608
+ * **evidence:** probe Claude Code 2.1.304 rewrite channels and record one release of observe readings (#2530) ([8e23f81](https://github.com/event4u-app/agent-config/commit/8e23f812572e5477d038a951a5369944473a2884))
609
+ * **review:** rebind the R2 findings after the verify-clause fix ([8d78347](https://github.com/event4u-app/agent-config/commit/8d78347cf87a04d0fced19cc558cb63d339d0bf1))
610
+ * **roadmap:** verify clauses state an oracle the gate can read ([6267d59](https://github.com/event4u-app/agent-config/commit/6267d594d39fd22b0adb108cf84286fdb6569fba))
611
+ * **review:** rebind the R2 findings after the skill-ceiling fix ([81a27c1](https://github.com/event4u-app/agent-config/commit/81a27c103ba8d86956e0b94e589a34317e63f511))
612
+ * **review:** bind the R2 findings to the re-applied fix commit ([abf07a5](https://github.com/event4u-app/agent-config/commit/abf07a5d81b8b4c41f1415a104c3ba9dda29d08d))
613
+ * **review:** R2 completion review for the blocker-routing change, nine findings dispositioned ([7929df8](https://github.com/event4u-app/agent-config/commit/7929df85836969d7555588e80a949432a6494295))
614
+ * **roadmap:** close two blockers the tree settled, archive the routing roadmap ([981b285](https://github.com/event4u-app/agent-config/commit/981b285139982bcb341a599d0e98f0490e586356))
615
+ * **roadmap:** close the replay blocker its own Resolved-when already settled (#2523) ([88efaa5](https://github.com/event4u-app/agent-config/commit/88efaa56822c821730931c9c1d0c9e703c9e949d))
616
+ * **roadmap:** blocker causes measured, plan to route blockers before filing ([f511892](https://github.com/event4u-app/agent-config/commit/f51189289124c7697bada6a2db07938a5a9e2261))
617
+ * **roadmap:** close 3.1 and 6.3, record the 0.2 and 0.3 probe rounds ([51cacf1](https://github.com/event4u-app/agent-config/commit/51cacf14c04990113c8e90d985a3d62928b4a6d9))
618
+ * **roadmap:** authority routing — classification taxonomy round and the owed AC-4 widening (#2511) ([97393d8](https://github.com/event4u-app/agent-config/commit/97393d8479972f60a024cdb30282f7d3e4e5b139))
619
+ * **roadmap:** reopen Phase 3 after the council refused the guard change ([6cfbfe3](https://github.com/event4u-app/agent-config/commit/6cfbfe32edffb83b552bbeb9d5668431cd73c6e7))
620
+ * **evidence:** record the speaking-inbox guard review, refused 2/2 — prompt, both seat texts, the record ([56ce772](https://github.com/event4u-app/agent-config/commit/56ce772f3dd245d6b57092997034248e416eed7e))
621
+ * **roadmap:** close Phase 3 of road-to-gates-that-read-what-was-written ([0c32dc7](https://github.com/event4u-app/agent-config/commit/0c32dc78dab4230eb1a59680eb9fe1db04881fc6))
622
+ * screen Phase 7 of the authority-routing roadmap (#2475) ([9f1abaf](https://github.com/event4u-app/agent-config/commit/9f1abaf577a1cf5c3396f3777245bfc26c89fcb5))
623
+ * record what Codex reads of the global install (#2474) ([ee1c771](https://github.com/event4u-app/agent-config/commit/ee1c77192d160fb61a7558c99d89cc179b3d7b87))
624
+ * **roadmap:** record the 2026-10-18 screen of tool results that leave a handle (#2456) ([324a230](https://github.com/event4u-app/agent-config/commit/324a230ade7cedb4955393152c2e4b86e987ad1e))
625
+ * **roadmap:** screen every open throughput step, and record 4.3's blocker (#2451) ([d4675ef](https://github.com/event4u-app/agent-config/commit/d4675ef29c5c3f2e7ac02f4cf4937069ada8d868))
626
+ * **roadmap:** route Phase 4 and 5 through the council and re-open the pilot pick (#2452) ([1600f78](https://github.com/event4u-app/agent-config/commit/1600f782d800e48a4c9568de8a31c65b3174a25e))
627
+ * **roadmap:** close AC-8 and archive road-to-truthful-surfaces (#2446) ([8d7d0d7](https://github.com/event4u-app/agent-config/commit/8d7d0d7e8341c1ff504d3d9af521560019d67fc2))
628
+ * **roadmap:** say why no agent lane can close the rest of self-modification (#2443) ([5cc0841](https://github.com/event4u-app/agent-config/commit/5cc0841dfa460a42a33e444ba8e17353b6e722e5))
629
+ * **roadmap:** re-measure the 16 live-tree checks for authority-routing 7.1 (#2437) ([5a9f563](https://github.com/event4u-app/agent-config/commit/5a9f563056840cb0384e01e5c801d04709a8b5f2))
630
+ * **retro:** file the owner directive and write the retro v1 contract (#2413) ([fe7a22c](https://github.com/event4u-app/agent-config/commit/fe7a22c6d6a36750e256e31748b0dc70e1b19d71))
631
+ * **adr:** ADR-287 — the estate shrinks by finishing, not by capping (#2405) ([d324067](https://github.com/event4u-app/agent-config/commit/d324067878cb33873d0c6c8c29542eff8bfe2ee6))
632
+ * **typography:** one value per question, font delivery mechanics, counter rule, registry intake (#2404) ([7686dbf](https://github.com/event4u-app/agent-config/commit/7686dbfa8a0b9b4948db2d33d6e2cd7736452538))
633
+ * **runtime-classes:** classify the request gateway before it is built (#2402) ([8f22f6b](https://github.com/event4u-app/agent-config/commit/8f22f6b7aad28b5559efc117fb1efbbec4c25e6f))
634
+ * **adr:** ADR-286 — discoverability is a goal, asking is not (#2395) ([26c06ae](https://github.com/event4u-app/agent-config/commit/26c06aef7fee1af9c8247b605b2744409313e367))
635
+ * **roadmaps:** seven plans from inbox round inbox-2026-10-t (#2391) ([0382c08](https://github.com/event4u-app/agent-config/commit/0382c08855a94f18308d5cbf6038c911a723bff8))
636
+ * **ratification:** the gate's header states which of its paths no hook denies (#2390) ([31a0c61](https://github.com/event4u-app/agent-config/commit/31a0c6181db578bd113abf86e5c382960cb13e9b))
637
+ * **roadmap:** re-screen the installed-layer roadmap with a fresh opt-in measurement (#2389) ([8d0fade](https://github.com/event4u-app/agent-config/commit/8d0fade11eda32aa8e3c8fe5dba430a212b71e3e))
638
+ * **ratification:** record the owner's after-the-fact decision on #2376 (#2380) ([fb5f199](https://github.com/event4u-app/agent-config/commit/fb5f199b82c7adb7b3ec328734be8f9a1e5bc4d8))
639
+ * **roadmaps:** record the owner's four decisions from inbox round inbox-2026-10-s (#2377) ([f998ea3](https://github.com/event4u-app/agent-config/commit/f998ea3b52d9c505f38a85dc235b46759ec4eabc))
640
+ * **roadmaps:** inbox round inbox-2026-10-s — three ready roadmaps (#2373) ([fd29490](https://github.com/event4u-app/agent-config/commit/fd29490204b9abcc097a0baa8dae881176bb57a1))
641
+ * **roadmap:** redesign tool results that leave a handle around a content profile (#2372) ([8716c22](https://github.com/event4u-app/agent-config/commit/8716c227665ecc4508879dde1c89b063c94522e3))
642
+ * **roadmaps:** record why placeholders-on-the-wire Phase 1 cannot start yet (#2364) ([be11ed6](https://github.com/event4u-app/agent-config/commit/be11ed686855e74d800c338619fe31e08cb49875))
643
+ * **roadmaps:** record why tool-results-handle cannot start yet (#2362) ([13c13e4](https://github.com/event4u-app/agent-config/commit/13c13e40031ee24c6a3b26e16d3fbfea02f74ba8))
644
+ * state the SKILL.md format instead of claiming standard conformance (#2350) ([0e0d95c](https://github.com/event4u-app/agent-config/commit/0e0d95c8481fb8cccba843e3b1a80ff056cfca36))
645
+ * **evidence:** a project skillOverrides value beats a user value (#2349) ([7b236a0](https://github.com/event4u-app/agent-config/commit/7b236a00f0e7166a31f69c8db446278e130bced5))
646
+ * **roadmaps:** close 6.1 on the calendar, and mark what shares the Phase 2-3 gate (#2314) ([5673eff](https://github.com/event4u-app/agent-config/commit/5673effeff9b4288444f1286a1327082ef352ca4))
647
+
648
+ ### Refactoring
649
+
650
+ * **council:** the seat launch environment moves out of clients.ts ([fb0a5e7](https://github.com/event4u-app/agent-config/commit/fb0a5e72cc3cb70efc31106829538a67bacb52f7))
651
+ * **council:** one provider table (free-hands 2.1) ([09507c1](https://github.com/event4u-app/agent-config/commit/09507c15103c7c4cf5582ad213555ec13f5f02f9))
957
652
 
958
653
  ### Tests
959
654
 
960
- * **harvest:** re-derive the census pin after two sanctioned provenance tokens (#2224) ([d3973a8](https://github.com/event4u-app/agent-config/commit/d3973a86a13e3e101e3a018ae0567bf2099fd71d))
655
+ * **egress:** the store-redaction test moves out of the shipped tree ([b48e33b](https://github.com/event4u-app/agent-config/commit/b48e33b53b7e52fc93b99b2b9333e0238e640c0b))
656
+ * **spawn-guard:** payload bodies and the raw agent id never reach the ledger ([ef3b951](https://github.com/event4u-app/agent-config/commit/ef3b951c2a7958c0e0d8b494b50f0f76243acc4e))
657
+ * **worker-reuse:** type the spawn helper's reuse as present ([38bbdf9](https://github.com/event4u-app/agent-config/commit/38bbdf919bd00926bc239fbd883137a4a6d47aa3))
658
+ * **council:** pin the self-hosted route's probe gate ([15d021b](https://github.com/event4u-app/agent-config/commit/15d021b4a28d49c9e1e948b5bddb0fee9cbe0b30))
659
+ * **egress:** the F1 sample leaves with five placeholders; the canary is shown sensitive (one-detector 3.3) ([34b0f37](https://github.com/event4u-app/agent-config/commit/34b0f37d698a345928463d04ad31042bf9f42392))
660
+ * **egress:** the IBAN checksum mutation joins the mutation suite (one-detector 2.6) ([8332c8b](https://github.com/event4u-app/agent-config/commit/8332c8be015a6869ba95ab2ea7f84aa9ba408659))
661
+ * **egress:** compact NANP and deliberate losses run through both stores ([925c4e1](https://github.com/event4u-app/agent-config/commit/925c4e19d53ecef464d24982196b47ff2565ba02))
662
+ * **subagents:** ac-researcher's tier follows the backed claims (tier 2.3 gate) ([6935b7a](https://github.com/event4u-app/agent-config/commit/6935b7ae51339709a1f2b29b46cdab6a7d3fd40f))
663
+ * **probes:** record the second host's skill-listing behaviour ([5378bdc](https://github.com/event4u-app/agent-config/commit/5378bdc6ff5243f88d768b3aefa0dfdb0fa9db3b))
664
+ * **install:** back hook-dispatch-latency with a real-install harness case (#2480) ([2950094](https://github.com/event4u-app/agent-config/commit/2950094566ea720cba6adc8929f705ffc3666f26))
665
+ * **install:** back two consumer claims with real-install harness cases (#2459) ([97421e8](https://github.com/event4u-app/agent-config/commit/97421e883caf74f163b0b4a892b96cac228132f8))
666
+ * **egress:** prove the stage counted the credential in the same dispatch (#2426) ([0122c02](https://github.com/event4u-app/agent-config/commit/0122c02f9aec04c1581bd3473faf94b25d312187))
667
+ * **merge:** skip the strip-types danger-gate test exactly while the pinned blob is in place (#2384) ([9b6ff1a](https://github.com/event4u-app/agent-config/commit/9b6ff1a5b3d1f5572670f4b1c1d091441065b9cd))
668
+ * ratchet consumer-fragile npx tsx invocations and pin the release-e2e selector refusal (#2369) ([94f9143](https://github.com/event4u-app/agent-config/commit/94f91431abaabae256b3ecbd616014449add99b0))
669
+
670
+ ### CI
671
+
672
+ * green in minutes — four CI-speed roadmaps, executed (#2577) ([e6d0652](https://github.com/event4u-app/agent-config/commit/e6d0652c4283596f33afed201b9d3a032373d430))
673
+ * **drain:** wire step 2.2's residue (2.2f) (#2410) ([4a5ac1a](https://github.com/event4u-app/agent-config/commit/4a5ac1a59c6bdccedd60b65583bd5bf8204e8bb7))
674
+ * **drain:** wire step 2.2's fifth batch, the last of the wire-class window (2.2e) (#2406) ([00b23ab](https://github.com/event4u-app/agent-config/commit/00b23aba3d1085620ad7fd8b4049161990eff21c))
675
+ * **drain:** wire step 2.2's fourth batch of local-only gates (2.2d) (#2400) ([a5cef31](https://github.com/event4u-app/agent-config/commit/a5cef31e1673842ee26ec4d0daf63dde60321b06))
676
+ * **drain:** wire step 2.2's third batch of local-only gates (2.2c) (#2388) ([b174141](https://github.com/event4u-app/agent-config/commit/b17414109f933d0d241c63e40f826dab5c517b4d))
677
+ * **drain:** wire step 2.2's second batch of local-only gates (2.2b) (#2385) ([433d3eb](https://github.com/event4u-app/agent-config/commit/433d3ebc5b578b7284eea2f1589d6b993ce30b35))
961
678
 
962
679
  ### Chores
963
680
 
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))
681
+ * **egress:** mark the canary's synthetic credentials as audited false positives ([85f74c9](https://github.com/event4u-app/agent-config/commit/85f74c9465ba2685ca9e2abb1135d5229e4f987f))
682
+ * **dist:** project the restored llm-provider-knowledge triggers ([88bd5ff](https://github.com/event4u-app/agent-config/commit/88bd5ffe33cd82ee77abf56acbc0b91da9450929))
683
+ * **budget:** source-size baseline lowered to the live total 17,358 ([9779d46](https://github.com/event4u-app/agent-config/commit/9779d460a169fa4bf9a8d0c60b32a6c2ca260008))
684
+ * **plugin:** regenerate hooks/hooks.json for the StopFailure binding ([5df71aa](https://github.com/event4u-app/agent-config/commit/5df71aacd6e8eb2eaf1c3cfb5fb0194e3e5cb0cd))
685
+ * **budget:** the egress engine chunk ceiling moves 28,000 -> 32,000 B ([11cc54f](https://github.com/event4u-app/agent-config/commit/11cc54fd4529bac9a59274c7944b0d3933032cb6))
686
+ * **roadmaps:** track the 17.0.0 follow-up findings (#2581) ([447f8fd](https://github.com/event4u-app/agent-config/commit/447f8fd289fc65a81a3e8715f514b2ec9ba1ee6c))
687
+ * **roadmaps:** park road-to-a-canvas-the-code-owns in later/ (#2535) ([6792887](https://github.com/event4u-app/agent-config/commit/67928878b24719d517473c286b449c763f30e476))
688
+ * **roadmap:** park road-to-an-intake-the-queue-can-carry until its window opens ([253793c](https://github.com/event4u-app/agent-config/commit/253793cad57a77e616372ce398a636a5c5744a94))
689
+ * **gates:** lower ci-parity local-only baseline to 104 after batch 2.2a (#2358) ([5a5a71f](https://github.com/event4u-app/agent-config/commit/5a5a71f30649d0b058d24bf835c9abbb0ebb3040))
690
+ * **deps:** bump the github-actions group across 1 directory with 2 updates (#2318) ([013e864](https://github.com/event4u-app/agent-config/commit/013e864cacd9ef5c4abf16839279115adbac57a7))
691
+ * **roadmap:** reopen three parked criteria whose ladder evidence was removed (#2351) ([55782c2](https://github.com/event4u-app/agent-config/commit/55782c2533da8a2b4bb11659404615c31b504806))
974
692
 
975
693
  ### Other
976
694
 
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)
695
+ * **tests:** type-only import in the self-hosted route test ([22dd596](https://github.com/event4u-app/agent-config/commit/22dd596af8eea429e4e6ff57556619e759750304))
696
+ * **egress:** PREREG (a) recall and (b) precision for the identifier rows ([1a0c081](https://github.com/event4u-app/agent-config/commit/1a0c081ac97736cb2e600f2133a60419e73664bc))
697
+ * redact the maintainer's home paths from evidence prose (17.0.0 roadmap 5.1, 5.2) (#2574) ([5dcfa13](https://github.com/event4u-app/agent-config/commit/5dcfa13a6c3f44ca19a55666807f16e260b8b02f))
698
+ * Advisories heard the same day, security fixes carried to the merge, worktrees that leave after it (#2568) ([8f47545](https://github.com/event4u-app/agent-config/commit/8f4754512d079796cbf8247c20f2aeb45cdf228c))
699
+ * The update concerns' code, hardened and unregistered: eleven council rounds, two delivery gaps named (#2545) ([7aa764a](https://github.com/event4u-app/agent-config/commit/7aa764a899e27f595cb74ae4baa2e74b61dd9ef5))
700
+ * The content classifier lands, the tool-output store waits for a real lock: eighteen refusals recorded (#2527) ([095e785](https://github.com/event4u-app/agent-config/commit/095e7855409cf4f564821933d6187dd6f6576b1b))
701
+ * Advisories heard the same day, fixes carried to the merge, worktrees that leave after it: three ready roadmaps (#2564) ([d02445d](https://github.com/event4u-app/agent-config/commit/d02445d1664d4c60a41d5250913a4fef5788996f))
702
+ * Self-modification: 6.1 landed; 5.2, 3.4 and 6.2 reviewed, refused by a split council, recorded for the owner (#2563) ([56395be](https://github.com/event4u-app/agent-config/commit/56395bebfab22e36019fb5961ec82762c5cbc86f))
703
+ * A review that ends after five passes, a depth flip on structurally safe paths: both owner decisions applied (#2557) ([324969e](https://github.com/event4u-app/agent-config/commit/324969e7ebe1eeda7c75fdc9c54a21b248c61781))
704
+ * One detector and the senders we own: concern injections pass the engine, and 21 commits that nearly went missing (#2550) ([ebf1b31](https://github.com/event4u-app/agent-config/commit/ebf1b313b2f09cad4a84ea9a7e96d29d6304b48c))
705
+ * A retro the merge runs: the daily probe at session start, and the switch ratified on its own (#2561) ([8a2c3b4](https://github.com/event4u-app/agent-config/commit/8a2c3b4168f0d33d74d61f5c38a9e948dfcad7b2))
706
+ * A setup that decides itself: Phase 4 removes the keys, and nothing reads them (#2532) ([d8f5590](https://github.com/event4u-app/agent-config/commit/d8f5590f3b6186810cd4f0702b17d1bed9b49e1e))
707
+ * Gates that read what was written: the speaking-inbox deny hint says what the guard recognizes (#2559) ([cbf2b77](https://github.com/event4u-app/agent-config/commit/cbf2b7762d031ef21b1b65eaf1b81913ad3441ee))
708
+ * Breadth with depth: the directive in the tree before the next release (#2562) ([42b70dc](https://github.com/event4u-app/agent-config/commit/42b70dca986103b3c0f390789d700a818c1032a7))
709
+ * Release-impact roadmap: drain re-screen, owner residue unchanged (#2558) ([dbe588f](https://github.com/event4u-app/agent-config/commit/dbe588f630f0f57176568a61a524b4ac25850a3d))
710
+ * Install and hook runtime: foreign skills are not ours, a global dry run shows the global plan, and a fresh worktree's hooks run (#2553) ([4338b2e](https://github.com/event4u-app/agent-config/commit/4338b2e3ab3a56f41721decf4452757f0a8be523))
711
+ * Cold start paid once: skip-flag brief fixture, cap docs for resumes, and the 3.3 council record (#2556) ([5200f6b](https://github.com/event4u-app/agent-config/commit/5200f6bdfe6cc0c53e8fdbadb57c20064641677a))
712
+ * Test runs that clean up after themselves: a run-scoped scratch root instead of a flooded $TMPDIR (#2552) ([aaaba3a](https://github.com/event4u-app/agent-config/commit/aaaba3a2f033e64320627ea46d701897365536a5))
713
+ * A review that ends, and a step that costs what it changes: two ready roadmaps for the slow-run subject (#2551) ([8d69dea](https://github.com/event4u-app/agent-config/commit/8d69deaf7e1a1edf9a700d71042fc0071c1e1077))
714
+ * Category A stops granting what it cannot prove: hard floor Phase 0, ratified (#2549) ([553e58d](https://github.com/event4u-app/agent-config/commit/553e58dfbbdb76620e427becc20c91f7c657f26e))
715
+ * The source door takes its decided name, the observation slots stay unspent, and the calibration reads zero (#2544) ([32a66d7](https://github.com/event4u-app/agent-config/commit/32a66d76584ac83e60f62e87f62ef9cbee8f7248))
716
+ * A retro the merge runs: one switch, /retro, the merge path and the stores (session-start probe held) (#2541) ([5100656](https://github.com/event4u-app/agent-config/commit/5100656c9ee754d95bffb333b5ce34a1644bf83e))
717
+ * Cold start paid once: the rate surfaces observed on 2.1.305, handed to billing-cliff detection (#2546) ([8905fe7](https://github.com/event4u-app/agent-config/commit/8905fe7ef1611514b56eedf38f39e2424710bef6))
718
+ * The release bump rule, scored on the window it was not written on (#2542) ([5ccee9c](https://github.com/event4u-app/agent-config/commit/5ccee9c232579674148c1093279c0fd5043d2bfa))
719
+ * Authority routing 7.1: a drafted truth table for what blocks, and a council round that reached no quorum (#2547) ([7e09579](https://github.com/event4u-app/agent-config/commit/7e09579cb38289642674302229db4c70f9041f02))
720
+ * A refusal that cannot ride its own branch: the tool-output store is recorded as refused (#2543) ([18f66f6](https://github.com/event4u-app/agent-config/commit/18f66f61dfcd52ce09f8ba30f6f8010f25f868a4))
721
+ * Gates that read what was written: quoted lineage parents, and a speaking-inbox guard that probes only what it can place (#2540) ([a2aa408](https://github.com/event4u-app/agent-config/commit/a2aa408abe677f543e84b24b0fe64d9621dc1676))
722
+ * A session learns its own PR merged: live PR state in every prompt (#2539) ([fba00aa](https://github.com/event4u-app/agent-config/commit/fba00aabf450b88fec691c38267e7f5f3557b3ce))
723
+ * Sessions that cannot build the same roadmap twice, a queue that stops counting held work, and lanes that resume where they died (#2538) ([6690d98](https://github.com/event4u-app/agent-config/commit/6690d9877649bef0fd56390b6abbfb1f961b5805))
724
+ * Self-modification 4.2 rebuilt and reviewed five rounds: not passed, reverted, recorded (#2537) ([418a093](https://github.com/event4u-app/agent-config/commit/418a09379d316b6da1dba3302b6d04c1115018a7))
725
+ * Skills that arrive when called: codex reaches every unlisted skill through a finder, and the roadmap closes (#2536) ([e64ecb7](https://github.com/event4u-app/agent-config/commit/e64ecb7b2e6d5f2eb3a11cf9df813ac93cc2c1c9))
726
+ * An update that installs itself only when it is safe: a machine-wide register, a provenance tie, and two concerns the council refused (#2534) ([2349b60](https://github.com/event4u-app/agent-config/commit/2349b605df0a15a3b1eb2d2a1ca3f0e128415aa9))
727
+ * Update that installs itself: a machine-wide session register, a consent key and the ring-0 record land; the session concerns wait on the council (#2533) ([ea1e201](https://github.com/event4u-app/agent-config/commit/ea1e2016327b6885b049a396cb8ed5726eeef748))
728
+ * Throughput recovery: 5.2 closes on its own gate, three holds become blockers, and two of the file's claims were wrong (#2531) ([a0bdb8f](https://github.com/event4u-app/agent-config/commit/a0bdb8f8ba2f491f2ae30117e3cfb078195d3f38))
729
+ * Skills that arrive when called: Phase 3 closes HARM, Phase 4 ships, and the effect read changed 4.1 twice (#2529) ([c43740e](https://github.com/event4u-app/agent-config/commit/c43740e6bd2e4d124f76a564c72b0dd100cfc452))
730
+ * Hook carrier roadmap closed: Pending breaking rows reach the release head (4.1) (#2524) ([5c4d546](https://github.com/event4u-app/agent-config/commit/5c4d546796b704fa5515971c2e6fd3d71a6def3e))
731
+ * Revert "Revert "fix(review): R2 findings on the routing ratchet and the settled closures"" ([1e79ede](https://github.com/event4u-app/agent-config/commit/1e79edea943076459c4c349b0c66443e72cd6dd1))
732
+ * Revert "fix(review): R2 findings on the routing ratchet and the settled closures" ([d536771](https://github.com/event4u-app/agent-config/commit/d536771e5c29f7e29c658e6110f1fb8d280c96a1))
733
+ * Brand the tree can check: 5.5 user style.avoid, roadmap archived (#2526) ([efa1cca](https://github.com/event4u-app/agent-config/commit/efa1cca339ac20c92c548fc6c6104912de3f1a1b))
734
+ * Upstream body from closed fields only; one-upstream roadmap archived (#2525) ([1e885a4](https://github.com/event4u-app/agent-config/commit/1e885a4a2b7038412760ac459d5a7f981719a267))
735
+ * Setup that decides itself: 0.1 per-host layer baseline as a reproducible fixture (#2522) ([220f8af](https://github.com/event4u-app/agent-config/commit/220f8af88d38cabc394da5c20ba16d74912a8147))
736
+ * Blocker sweep follow-up: the three owner answers recorded (#2521) ([221cd5d](https://github.com/event4u-app/agent-config/commit/221cd5ddb6408b7e150341ff34bf9e5132e96130))
737
+ * Setup that decides itself: AC-2 closed on the 3.1 table test, bundle headroom re-measured (#2520) ([61cdf6f](https://github.com/event4u-app/agent-config/commit/61cdf6febe78dd4d3f0e0f31a75406090c535e08))
738
+ * One detector: credential deny rows offered by hooks:doctor, known values, token variants (1.2, 2.4, 3.2) (#2517) ([499c4b4](https://github.com/event4u-app/agent-config/commit/499c4b44564954725ab8da11d13b741a92f384fa))
739
+ * Cold start: the fork premise from the host row, and the rate-limit retry split (ratified, round 10) (#2518) ([7ea8f70](https://github.com/event4u-app/agent-config/commit/7ea8f707d5cdd849ef4335713f864a31368b8789))
740
+ * Throughput recovery: 1.4 and 4.4 closed, the language-refusal split, a paused-night count for 2.1 (#2516) ([80809d5](https://github.com/event4u-app/agent-config/commit/80809d5a045ef4810fe5acd33daf8bd1ec5e21eb))
741
+ * Analysis family: 3.5 replayed and validated, AC-5, stage CLIs, D19 council split (#2512) ([355dbcc](https://github.com/event4u-app/agent-config/commit/355dbcc9f44f0fb99ef9e80ca0028823452fa3da))
742
+ * Blocker sweep 2026-10-19: three decided in council, four recorded, three for the owner (#2515) ([b2904b1](https://github.com/event4u-app/agent-config/commit/b2904b1edfdb86509bacb63fbf5dbe54363e7ba3))
743
+ * Analysis family: the fourth door's caps, the source door's scope, eight criteria closed and four prose holds registered (#2508) ([6a4a295](https://github.com/event4u-app/agent-config/commit/6a4a2956f66ce10b5ceca7c85e15952bbdd77a50))
744
+ * Snapshot fence: the update-snapshots warning reads shell words, not substrings (ratified) (#2509) ([c2cc924](https://github.com/event4u-app/agent-config/commit/c2cc9241a1c57866488ed7702c894abc94900840))
745
+ * The D1 helper-level hold is registered, so the drain screen stops handing out 1.1 and AC-1 (#2510) ([ac69800](https://github.com/event4u-app/agent-config/commit/ac698004da3e850e99939335fbfc9f31a822d483))
746
+ * Brand drain: the opt-in persisted-prose target (5.6), and the two owner decisions this roadmap was carrying as prose (#2503) ([a835846](https://github.com/event4u-app/agent-config/commit/a835846189ab8b868b78071fb76031565f2915cc))
747
+ * Canvas 7.3: the taught baseline line, its corpus and the re-pinned routing measurements (#2502) ([6c84bdf](https://github.com/event4u-app/agent-config/commit/6c84bdfd346717843d6d7452a21894f797fb45b2))
748
+ * The upstream roadmap says which of its open steps are held (#2504) ([c0a271c](https://github.com/event4u-app/agent-config/commit/c0a271cc03b22a59d008c9345333cac1c0f1bac4))
749
+ * Consumer gates 4.1: claims backed where the consumer stands, a measured-in-repo status, archived (#2498) ([4bd0e54](https://github.com/event4u-app/agent-config/commit/4bd0e544a15a799153297905a9f397e2769deeb3))
750
+ * Self-modification 3.4 (split half): the record's header and the run's disposition, from one call (#2499) ([e0df3e1](https://github.com/event4u-app/agent-config/commit/e0df3e1723db4f2d13c0b2d3e82179c304470a3f))
751
+ * Self-modification 4.1 and 4.2 reviewed and refused 2/2: the record, the prompt, both seat texts (#2501) ([d37689f](https://github.com/event4u-app/agent-config/commit/d37689f3f57f72a140b52f9e415fa0a911636486))
752
+ * Installed layer: an environment-independent total (D7), the thinned exposure state (2.4), and the 2026-10-19 re-screen (#2500) ([ca5f412](https://github.com/event4u-app/agent-config/commit/ca5f41246c8b9c42c7e48d163ac449d522eebc54))
753
+ * Brand drain: lexicon and claim check on every finished draft, scenario fixtures, claims (5.3, 5.4, 7.2, 7.3) (#2486) ([6c312e1](https://github.com/event4u-app/agent-config/commit/6c312e1b576cf7aadb68a84cb2ab8ab0899b4f12))
754
+ * Two-lane drains provisional, re-decided in throughput 2.3; a stricter complete; the CI waiter stub (#2497) ([d8c4ece](https://github.com/event4u-app/agent-config/commit/d8c4ece2dc1a1dece3434cd8880883c0f934c8ba))
755
+ * self-repair: optional claim fields a retro can write; upstream body and key left to the owner (3.1/3.2 half) (#2496) ([c0968e1](https://github.com/event4u-app/agent-config/commit/c0968e1f5ecf9c8e01d6cc04f2a9802beb913f04))
756
+ * Phase 6 pre-registered; the measurement spend waits on the owner (D18) (#2494) ([7ea90aa](https://github.com/event4u-app/agent-config/commit/7ea90aa82bfee5bc82eb65c1f44e5e228f5904d7))
757
+ * Finish roadmaps before starting new ones: one drain queue, one lane brief, one PR per roadmap (#2495) ([fa9290e](https://github.com/event4u-app/agent-config/commit/fa9290ef85b9c6405b60709f191f1463af59e9ed))
758
+ * Snapshot fence in block_config_weakening (canvas roadmap 7.1, ratified) (#2471) ([f7468c8](https://github.com/event4u-app/agent-config/commit/f7468c8e2d3e741e67f836ad4fb18021f744169a))
759
+ * Type with a witness: 5.8 benchmark verdict partial, 5.9/5.10/AC-5/AC-6 closed, archived (#2493) ([1086a84](https://github.com/event4u-app/agent-config/commit/1086a84cde1a639a0919d4634b741e3a968e470f))
760
+ * Analysis family: analyze:pr, analyze:and-optimize, inbox as final stage, router (1.3, 3.4, 4.5, 5.2, 5.3, 6.1, 6.2) (#2487) ([70cd4ce](https://github.com/event4u-app/agent-config/commit/70cd4cedf9286a084fbd09258df074fb6105aad8))
761
+ * Roadmaps: re-measure what blocks hook-carrier 4.1 and consumer-gates 4.1 (#2490) ([728d4b4](https://github.com/event4u-app/agent-config/commit/728d4b4c1c68d39105a2b2ad93dcdf96b07cb851))
762
+ * Hook carrier 4.1: the #2455 note placed as a breaking Pending row (#2491) ([e8b36d7](https://github.com/event4u-app/agent-config/commit/e8b36d7ce0f0847f3c67520ae9bdeb85a6e0d47b))
763
+ * One upstream: AC-1 and AC-5 closed, the producer/consumer wait recorded (#2485) ([aa4185a](https://github.com/event4u-app/agent-config/commit/aa4185a1f884e4948279d852165896cc67f5392b))
764
+ * Intake: a generated digest of what each roadmap owns, read before the recurrence grep (4.1, 4.2) (#2484) ([5f0bc8e](https://github.com/event4u-app/agent-config/commit/5f0bc8e13f946beba19e3bd1ddfb38d02cca7109))
765
+ * Consumer lock keeps global entries without their $HOME paths (ownership-record roadmap 3.3) (#2481) ([6a15bb3](https://github.com/event4u-app/agent-config/commit/6a15bb362b37de7688a7c588e2bb78c3664d0945))
766
+ * Council outcomes on eight owner decisions: four resolved, two decided without a blocker, two split (#2476) ([ce163bc](https://github.com/event4u-app/agent-config/commit/ce163bcf0cb52b637541668970e53cf08725fe3b))
767
+ * Analysis family: ADR-288, analyze:reference, cli analysts, publish, network sources, anchors, run.json (#2461) ([316e552](https://github.com/event4u-app/agent-config/commit/316e552c4b92e8fbef57692029fb36058daa1a8e))
768
+ * One detector: every credential consumer reads the rule table (2.2) (#2457) ([f974869](https://github.com/event4u-app/agent-config/commit/f974869fd28bf9cbe8b7c80a5d3c81483c1d085a))
769
+ * Egress session table: no value at rest, restores that fail closed (placeholders Phase 2) (#2473) ([f55e5a7](https://github.com/event4u-app/agent-config/commit/f55e5a7600bfe2f67bc5581f365af1d636fcd02c))
770
+ * Skills that arrive when called: probes on the first host, a reach report, every skill classified for forking (#2472) ([6194e27](https://github.com/event4u-app/agent-config/commit/6194e2769639d333fcf02fb1d29d031c5a79fe06))
771
+ * A canvas the code owns: claude-design lane, /design-system:sync, Lock carrier (#2470) ([72f7580](https://github.com/event4u-app/agent-config/commit/72f75809e2c1285b51d1866665a65a6357d261b5))
772
+ * Cold start: subagents.max_parallel becomes the host concurrency cap (#2464) ([f4fa037](https://github.com/event4u-app/agent-config/commit/f4fa037d047bf60a7d630377c615df915afa6bd4))
773
+ * Update that installs itself: measure the mid-session swap, an unattended envelope that refuses to swap yet, and a pin advisor (#2469) ([820e070](https://github.com/event4u-app/agent-config/commit/820e0706e066007859ec26e624ee2e1c80c27715))
774
+ * Hard floor: name which layer carries it per host, and let the doctor say when it is not running (#2467) ([fbc8e7c](https://github.com/event4u-app/agent-config/commit/fbc8e7c4221ddcd797ed3e389ca0891820969e48))
775
+ * Blocker screen: seven owner-labelled blockers re-checked, canvas 3.2 split by council (#2468) ([3a0ad04](https://github.com/event4u-app/agent-config/commit/3a0ad04beca18dd256d873dc4d5c3274e0cdf3a9))
776
+ * Steps the skill cannot skip: two pilots split, and a default-off procedure cursor (Phases 4-5) (#2466) ([e3cf6dc](https://github.com/event4u-app/agent-config/commit/e3cf6dc6827d9217f7d65d52ecfa47bee3d1ca37))
777
+ * Type design: an original font as a measured system, gated and witnessed (#2462) ([1876e18](https://github.com/event4u-app/agent-config/commit/1876e186047f0316972cb421f4c9f1bc508a29b6))
778
+ * Cold start: reuse fields in the subagent schema, two package workers, validators never reused (#2463) ([dba19d0](https://github.com/event4u-app/agent-config/commit/dba19d0f793e92f61dd2ae7baefbf1b1b64b868b))
779
+ * A setup that decides itself: arrival record, install --full, doctor declares the layer form (#2460) ([3245c7e](https://github.com/event4u-app/agent-config/commit/3245c7e7ca49f833a2f3585e430eb8e9dbebb9e4))
780
+ * Ownership record: close 3.4 on council verdict, escalate 3.3 as an owner blocker (#2458) ([2b05954](https://github.com/event4u-app/agent-config/commit/2b05954f7aed684ba61b780f89fdc46d68f4d538))
781
+ * One upstream that checks what leaves: a clean commit, a noreply identity, an approved digest (#2454) ([bf4e2d1](https://github.com/event4u-app/agent-config/commit/bf4e2d19ef6d70a63d6c7f30d3c7314a9421f683))
782
+ * Brand the tree can check: one resolver list, one voice slot, readers that ask (#2449) ([3a9b54d](https://github.com/event4u-app/agent-config/commit/3a9b54d4c7e20bee6476b2ca83e38949b93c779e))
783
+ * Hook carrier that is never silent: staged dispatcher ahead of PATH, dead-carrier fail-full (#2455) ([3f8c98e](https://github.com/event4u-app/agent-config/commit/3f8c98e7487c7c6dba67f19efe139fe4287fbaca))
784
+ * Intake: an archived depends row now fails the roadmap lint (#2448) ([a82598b](https://github.com/event4u-app/agent-config/commit/a82598bfa4f561e0ae0227c92c5b60fd494e0641))
785
+ * Uninstall: keep the record the purge needs, claim the containment, archive the roadmap (#2450) ([b5cc80a](https://github.com/event4u-app/agent-config/commit/b5cc80aab6c6b6e63872a7f0f5fbdda17091e175))
786
+ * Distribution ledger: every row on a live read, and the roadmap closes (#2447) ([6e94748](https://github.com/event4u-app/agent-config/commit/6e94748ea68c4470f0c09af1d0e36a273ef3235f))
787
+ * Steps the skill cannot skip: cross-pack reference links, reference indexes, procedure sidecar lint, dispatch order (#2425) ([48e0af2](https://github.com/event4u-app/agent-config/commit/48e0af261ab3646a926b8d2cd4cd7d16b005aaeb))
788
+ * Local gates: batch 2.2g wires the last five, and the residue gets its class (#2440) ([e9be773](https://github.com/event4u-app/agent-config/commit/e9be7731a571f94c40391bfc6d56b2822242fbbc))
789
+ * Unknowns that say so: a closed network, a stitch that was checked, and three wrong reasons (#2442) ([2dd2738](https://github.com/event4u-app/agent-config/commit/2dd27381afb807b17b93273fd7ccd648c4a55067))
790
+ * Ownership record: stop overwriting a file the ledger says we deployed (#2444) ([643f451](https://github.com/event4u-app/agent-config/commit/643f45147f30ae78bdbabf6cceb521b70848ef46))
791
+ * Exit-code register: publish the pairs two surfaces must agree on (#2441) ([19a4d54](https://github.com/event4u-app/agent-config/commit/19a4d54842c8c7c74996bc9efbeced6a1c6b32a9))
792
+ * Distribution ledger: a standing block recorded as a rule, not rediscovered (#2438) ([2ddb218](https://github.com/event4u-app/agent-config/commit/2ddb218c1310894b0e7964c5e903db8ad17630a7))
793
+ * Truthful surfaces: AC-8 measured, and the two trunk reds that hold it open (#2439) ([a8b8d55](https://github.com/event4u-app/agent-config/commit/a8b8d5505a0543d7dada6a769a4313b609bb5ddf))
794
+ * Ownership record that belongs to the user: a ledger for global deploys (#2422) ([8c90aad](https://github.com/event4u-app/agent-config/commit/8c90aad26ed9a3f220664c71a29a1f213c55e395))
795
+ * Unknowns that say so: a reserved ceiling, a recorded downgrade, a verifiable resume (#2431) ([c804bd8](https://github.com/event4u-app/agent-config/commit/c804bd849187035b841d69298ce9d7bc333c9875))
796
+ * Analysis family: analysts, exchange, gain gate, emit/validate, source adapters (2.4–2.7, 3.1–3.2, 4.1–4.2) (#2432) ([3c4b879](https://github.com/event4u-app/agent-config/commit/3c4b8792665dd49ceb059e4a6965387f9fb2476b))
797
+ * Throughput recovery: a red turnaround reading gets a reader, C split by path, asks counted, D7 re-decided (#2435) ([6abb887](https://github.com/event4u-app/agent-config/commit/6abb887d7625cda0932924bb195a9fbee785f468))
798
+ * Retro, the deterministic half: pre-registration, fact reader, composition, queue (steps 0.5, 1.x, 2.1-2.3, 3.1/3.5/3.6, 4.1/4.2) (#2434) ([8e90cb7](https://github.com/event4u-app/agent-config/commit/8e90cb743891ef09e7b559d9692609bf09abdb21))
799
+ * A brand the tree can check: palette tags, voice slot, lexicon checker, zero brand bytes (#2433) ([debb26d](https://github.com/event4u-app/agent-config/commit/debb26d180b366084412d8e818bedc90f49d6bc8))
800
+ * Cold start: observe resume and fork caching on Claude Code 2.1.302 (#2429) ([835660b](https://github.com/event4u-app/agent-config/commit/835660b0dfaa893c8ba0bdcba179aa35f3235dfa))
801
+ * Type with a witness: the face that painted, T11/T12, filled counters (#2430) ([52c0dcd](https://github.com/event4u-app/agent-config/commit/52c0dcd4ceb87e28bc0b7f8f97cfcb134305d0ee))
802
+ * Skills that arrive when called: census, projection snapshot, Codex page watch, skills: type check (#2427) ([2d7b4c0](https://github.com/event4u-app/agent-config/commit/2d7b4c090e0115487a882dd86d480e562158332e))
803
+ * Step 3.4 of the self-modification roadmap: two refused reviews, recorded (#2428) ([22e32dc](https://github.com/event4u-app/agent-config/commit/22e32dc285024e07b615a6d1b1b618dff7d4f47a))
804
+ * Egress: the three channels prevention cannot see, and why 2.2 waits on a ratification (#2424) ([87c4674](https://github.com/event4u-app/agent-config/commit/87c4674f16017a023105270f3911f3a6f0c42e8e))
805
+ * A distribution ledger that is true: reconcile with upstream, detect answers (#2420) ([b30932a](https://github.com/event4u-app/agent-config/commit/b30932a787d438cc4a74d69505a6dabadb8f9aab))
806
+ * Truthful surfaces: banner command, claim-row guard, pointers and metadata (#2416) ([7890bf3](https://github.com/event4u-app/agent-config/commit/7890bf3fe3aa3e3b70523ac74a8c5d68f4c51414))
807
+ * Thirteen council rounds over the blocker estate: seven closed, three stale records corrected (#2419) ([b8efdcf](https://github.com/event4u-app/agent-config/commit/b8efdcf45a6a6366264ba5af775f5098c178fce9))
808
+ * Gates that run where the consumer stands: consumer-gate count, harness contract, doctor artifact-location, exit-code register (#2418) ([c2e8082](https://github.com/event4u-app/agent-config/commit/c2e8082b2063ade053b7c4d0479b981068e69a3f))
809
+ * Intake the queue can carry: depends that hold, owner-search report, roadmap ages, two council rounds (#2415) ([675ba0a](https://github.com/event4u-app/agent-config/commit/675ba0ace3e69470bfa10e9e943dab087b8ffc1b))
810
+ * Brand the tree can check: profiles ignored, one token name, honest brand:status, DTCG 2025.10 (#2409) ([7559f13](https://github.com/event4u-app/agent-config/commit/7559f13630c41f346f421e21f3114024d262f5a4))
811
+ * A timeout stays a timeout, and a parse failure is not replayed (#2378) ([abb5eac](https://github.com/event4u-app/agent-config/commit/abb5eac6dabce6cb82429e7f7c5f8545868d5dee))
812
+ * **stub:** the visibility sync channel cannot write (#2374) ([d242548](https://github.com/event4u-app/agent-config/commit/d242548a76e442e3d72b404bddaa1b6a1f027f5e))
813
+ * Select reducible tool-result classes from the payload distribution (D6: none) (#2370) ([085ec41](https://github.com/event4u-app/agent-config/commit/085ec41ff661f61513e8590efa5a2d984ceb4504))
814
+ * Fix what the council found in the bytes-the-model-receives change (#2367) ([7c728f3](https://github.com/event4u-app/agent-config/commit/7c728f35b77c5b9eb96750b32b8e4ee950503a96))
815
+ * **review:** close the gap this review names in itself (#2365) ([0c2abb2](https://github.com/event4u-app/agent-config/commit/0c2abb2970d6b44011d9fbaa3942cc3abf128c18))
816
+ * Count the bytes that reached the model, and cut the package's own recurring traffic (#2363) ([26dd190](https://github.com/event4u-app/agent-config/commit/26dd1905ece77a4d7e48d0d51c5909a1414b06b1))
817
+ * Measure why night runs close fewer roadmaps, and plan the recovery (#2359) ([2ad637a](https://github.com/event4u-app/agent-config/commit/2ad637acb6793a1bed295fa36f0bd7638e60e1e3))
818
+ * Wire the first twenty of step 2.2's local-only gates (batch 2.2a) (#2354) ([4b8ec8c](https://github.com/event4u-app/agent-config/commit/4b8ec8c1fae13886bc2999187d64d9881bdb25d5))
819
+ * Say how the ceiling decision actually came about, and let the nightly commit run (#2345) ([6164d92](https://github.com/event4u-app/agent-config/commit/6164d92354180f1d5e3a06faa3a097e7c8e3b671))
820
+ * Close the never-ran roadmap on its CI reading and drain more local-only gates (#2352) ([144c0b2](https://github.com/event4u-app/agent-config/commit/144c0b20b492a1300744af9a85ba8f9019d3ee5d))
821
+ * Bind a ratification record to the content it reviewed (#2325) ([4a379af](https://github.com/event4u-app/agent-config/commit/4a379af12231dd63383f88d704b1cebdcb82dd9b))
822
+ * Write the Claude Code listing override for package-owned skills (#2346) ([af95015](https://github.com/event4u-app/agent-config/commit/af9501519b1f71414c3755ec997082217565e463))
823
+ * Account lifecycle gets its own threat rows, and a skill that reaches them (#2327) ([1696ac4](https://github.com/event4u-app/agent-config/commit/1696ac45bd3fe4d0775991a7949548a230ddcf63))
824
+ * Remove the continuation ladder the withdrawn concern left behind (#2343) ([3c65b5c](https://github.com/event4u-app/agent-config/commit/3c65b5cca9339f9584aaba6b20d585bcc36d10cf))
825
+ * Two lints that never ran, a classifier that read the wrong diff, and three sentences about another tree (#2336) ([b663b60](https://github.com/event4u-app/agent-config/commit/b663b60759781e4140a3e407c46e52ef2b6aef8c))
826
+ * A closing condition that moved, re-executed against build 2.1.299 (#2342) ([44a6a20](https://github.com/event4u-app/agent-config/commit/44a6a20d05551b5a9d155397371196241ae4cb0f))
827
+ * the settings-key rule step 5.1 must edit is stated in eight places (#2341) ([89be7c8](https://github.com/event4u-app/agent-config/commit/89be7c8a41e20848da1eec6d004018255f4b7add))
828
+ * owner and council answers on the inbox-2026-10-p/q/r residue (#2340) ([45de5b7](https://github.com/event4u-app/agent-config/commit/45de5b74365c2ecea9b4d4f41bb098cd186238ea))
829
+ * Sentences this tree states and could not back (#2339) ([c6c82bb](https://github.com/event4u-app/agent-config/commit/c6c82bb5d18b5d58d70aa243f41510a10b8decbe))
830
+ * A release that cannot be cut unreviewed, and a record that says what it carried (#2334) ([702d5e5](https://github.com/event4u-app/agent-config/commit/702d5e5f8bdf7f79167800660ff00a13e8c92e6a))
831
+ * land inbox-2026-10-p, -q and -r as five ready roadmaps (#2338) ([8ad243d](https://github.com/event4u-app/agent-config/commit/8ad243d435dc5295f86bca7bebd3ddf76b5ba60e))
832
+ * One upstream path, and the three documents that pointed away from it (#2337) ([52f2997](https://github.com/event4u-app/agent-config/commit/52f29970e5828061d8fb1887a57b2e4e330043fc))
833
+ * The line a skill teaches, started on a machine that has only node (#2335) ([503b4e9](https://github.com/event4u-app/agent-config/commit/503b4e9d6c3ffa41f7a2e07aa549f8474d72e5cc))
834
+ * A structure reading for the handover that carries no handles (#2332) ([9a943f3](https://github.com/event4u-app/agent-config/commit/9a943f30cc48e6565e9bdd6db9e9313718d7b20a))
835
+ * The cut reads the settings surface it is about to ship (#2333) ([e123e74](https://github.com/event4u-app/agent-config/commit/e123e74b0d47058de067a6c0df08b295373c99a5))
836
+ * A search answer a model can choose from (#2331) ([b8f248b](https://github.com/event4u-app/agent-config/commit/b8f248bd554002c80b351d1bd89f1d9729291bf7))
837
+ * Twenty local-only gates wired where a pull request can hear them, and the three reds that blocked them (#2330) ([46d2f0b](https://github.com/event4u-app/agent-config/commit/46d2f0b3c07d5b15e8486b7b9cfd00fdd3c12657))
838
+ * A frozen account-surface corpus and its claim, both before the detector (#2329) ([c107aaf](https://github.com/event4u-app/agent-config/commit/c107aaf0f15ff8d7f00ef4891d2df6e199597ff9))
839
+ * Four claims this roadmap carried, executed against the tree (#2328) ([257e87d](https://github.com/event4u-app/agent-config/commit/257e87de0a8982aa33a2cbb29b8d56d149f3d46e))
840
+ * A written no-go that names a path becomes a rule the host refuses on (#2326) ([8cd4c1e](https://github.com/event4u-app/agent-config/commit/8cd4c1e4d6e27579f9fc9e2078858e6d3d335f1e))
841
+ * The authority hold nobody could check, measured and made checkable (#2324) ([b9446c9](https://github.com/event4u-app/agent-config/commit/b9446c91b363f3aedad05e1d75b2a3f8601ee252))
842
+ * The installer's host axis, recorded; and three stuck steps re-screened against the tree (#2323) ([d68ce19](https://github.com/event4u-app/agent-config/commit/d68ce1943569bf82745ce9e0e8ac048fcf73f077))
843
+ * land inbox-2026-10-o as three ready roadmaps (#2321) ([7335a38](https://github.com/event4u-app/agent-config/commit/7335a38f1d38696e7e8559c87be1aa43262e87fd))
844
+ * Stop teaching the account-flow anti-patterns (#2319) ([2bc5715](https://github.com/event4u-app/agent-config/commit/2bc5715c70f79d32e2c36df8af37d792b6270bce))
845
+ * land inbox-2026-10-n as three ready roadmaps (#2320) ([82a450c](https://github.com/event4u-app/agent-config/commit/82a450c4e8e8a25589e920fba3286733df18b22a))
846
+ * A project contract written down: the goal and the no-gos init never asked for (#2317) ([d760ecb](https://github.com/event4u-app/agent-config/commit/d760ecbde5e1005674af0de6bc56aeff746ed171))
847
+ * Self-modification Phase 1: the council reviews, the owner approves (#2313) ([63407b6](https://github.com/event4u-app/agent-config/commit/63407b6353cb0d2ddc49ff99e4aa06a086e6d58b))
848
+ * Surfaces no gate reads: three numbers and a path, produced by the tree (#2316) ([4d2e042](https://github.com/event4u-app/agent-config/commit/4d2e0424fe4983860e313120e22adaf4c79ceeec))
849
+ * Close road-to-blocking-time-by-cause: the second window, read against its targets (#2312) ([7ecdca8](https://github.com/event4u-app/agent-config/commit/7ecdca8654c19b48de3b20bb9fba220388dda093))
850
+ * A trigger suite the host grades: compile, never run (#2315) ([1644355](https://github.com/event4u-app/agent-config/commit/16443553033d786b951aa51712cd50d0b4fbb0dc))
851
+ * land inbox-2026-10-m as six ready roadmaps (#2311) ([52d206d](https://github.com/event4u-app/agent-config/commit/52d206d9a211eaf0b22e59002692c00e3cdac30f))
852
+
853
+ Tests: 32002 (+4677 since 16.5.0)
854
+
855
+ ## [16.5.0](https://github.com/event4u-app/agent-config/compare/16.4.0...16.5.0) (2026-10-12)
995
856
 
996
857
  ### Release highlights
997
858
 
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).
859
+ - **Behaviour changes:** give hand-authored SVG a witness, an owner, and five recorded runs (#2300) (bdeb65c).
999
860
  - **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).
861
+ - **Security and correctness:** close the two real findings of the third 16.5.0 review, plus road-to-svg-witness-provenance (#2309) (d1f7c3b); close the security findings from the 16.5.0 re-cut review (#2307) (9904258); close the five medium-security findings from the 16.5.0 release review (#2305) (5593838); close the sixth review round of #2302 (#2303) (c88865f); strip only generic glob classes from an inbox name (fda00b3); admit a date suffix only on the families that are dated (fd5be56); +3 more.
1001
862
  - **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.
863
+ - **Known limitations:** _none_
1003
864
 
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.
865
+ > **Governance mix:** governance-only 6 vs consumer-only 1 (taxonomy 1.1.0; range d411219277ce..d1f7c3b834bb).
1007
866
 
1008
867
  ### Features
1009
868
 
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))
869
+ * **svg:** close all three SVG roadmaps — routing, review follow-ups and the live-session findings (#2302) ([5098697](https://github.com/event4u-app/agent-config/commit/50986972088029db18a90c6f7d198c5ab0e26da5))
870
+ * give hand-authored SVG a witness, an owner, and five recorded runs (#2300) ([bdeb65c](https://github.com/event4u-app/agent-config/commit/bdeb65c37533825c2a3061fb7a33ef5778454d11))
1016
871
 
1017
872
  ### Bug Fixes
1018
873
 
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))
874
+ * **svg:** close the two real findings of the third 16.5.0 review, plus road-to-svg-witness-provenance (#2309) ([d1f7c3b](https://github.com/event4u-app/agent-config/commit/d1f7c3b834bb43b8937dee44b7e38733d5eb70f2))
875
+ * **svg:** close the security findings from the 16.5.0 re-cut review (#2307) ([9904258](https://github.com/event4u-app/agent-config/commit/990425836285eded0a6cb4370f8ded95823dd6c8))
876
+ * **svg:** close the five medium-security findings from the 16.5.0 release review (#2305) ([5593838](https://github.com/event4u-app/agent-config/commit/5593838c01fab686e0856fba227ae4f37cd7b8f0))
877
+ * **svg-engine:** close the sixth review round of #2302 (#2303) ([c88865f](https://github.com/event4u-app/agent-config/commit/c88865fdc1aad9337b4f98a868483d571848d7ea))
878
+ * **hooks:** strip only generic glob classes from an inbox name ([fda00b3](https://github.com/event4u-app/agent-config/commit/fda00b35ef5a0d2b603b56511a986081a261dc11))
879
+ * **hooks:** admit a date suffix only on the families that are dated ([fd5be56](https://github.com/event4u-app/agent-config/commit/fd5be56f6f17ebe96b17579ffdd452cbef3dfc39))
880
+ * **hooks:** accept only wildcard-suffixed family heads and keep bracket payloads ([8446cc0](https://github.com/event4u-app/agent-config/commit/8446cc05e322c6d084df502319daff8c1bc79e63))
881
+ * **hooks:** let a glob over an opaque family prefix through block-speaking-inbox-dir ([22904a5](https://github.com/event4u-app/agent-config/commit/22904a51d58dd8d3bbed7a6db08b717b7336adb1))
882
+ * **lineage:** count a present non-road-to parent as present ([4b40ab6](https://github.com/event4u-app/agent-config/commit/4b40ab692f85bbc2b642f98603a9d601879cd5a1))
1022
883
 
1023
884
  ### Documentation
1024
885
 
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))
886
+ * **contracts:** point the hook-concern row at the manifest instead of a count ([3406ae5](https://github.com/event4u-app/agent-config/commit/3406ae53848f7cf2ca866c2d03d297ad549743d1))
887
+
888
+ ### Tests
889
+
890
+ * **hooks:** table-drive the opaque-family glob cases over all five heads ([52c9e0e](https://github.com/event4u-app/agent-config/commit/52c9e0e40ebd736aadcf8f37831f994ba1fe0dc6))
1036
891
 
1037
892
  ### Chores
1038
893
 
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))
894
+ * **ratification:** record the council review of the inbox-name guard change ([a03c9e9](https://github.com/event4u-app/agent-config/commit/a03c9e95a6b7cb58065fd9e9c30b104ebcb4911b))
1041
895
 
1042
896
  ### Other
1043
897
 
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)
898
+ * add road-to-svg-from-a-live-session from the continued raster-to-SVG session (#2301) ([a17bd4a](https://github.com/event4u-app/agent-config/commit/a17bd4aa2bcca14cc787096be644647be6188f2e))
899
+ * road-to-svg-review-followups from two reviews of the SVG roadmaps (#2299) ([b015b74](https://github.com/event4u-app/agent-config/commit/b015b747f7c2eea4a8206aba846b82dcc6e84f40))
900
+ * add two ready SVG roadmaps from inbox-2026-10-l (#2298) ([fd02787](https://github.com/event4u-app/agent-config/commit/fd02787ef8e0e9eb21e9a0256e5f3ea9bca21492))
901
+ * give six added verify clauses an expectation that can fail ([9a5338a](https://github.com/event4u-app/agent-config/commit/9a5338aebd49923a894e803b7e21f0d5dbb5d7d3))
902
+ * add thirteen ready roadmaps from inbox-2026-10-g..k ([d8a9e43](https://github.com/event4u-app/agent-config/commit/d8a9e43a881bcf6ad9a8a96c83a4e4958f321098))
903
+ * record inbox-2026-10-g..k arrivals on held stubs and parked roadmaps ([243b6f3](https://github.com/event4u-app/agent-config/commit/243b6f30251da478e03a5f9aa3d60636a14ea0e1))
904
+
905
+ Tests: 27325 (+127 since 16.4.0)
1092
906
 
1093
907
  # Era: pre-4.0.0 — archived
1094
908