@event4u/agent-config 16.3.0 → 16.5.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 (532) hide show
  1. package/.augment-plugin/marketplace.json +3 -3
  2. package/.augment-plugin/plugin.json +1 -1
  3. package/.claude-plugin/marketplace.json +1 -1
  4. package/CHANGELOG.md +178 -78
  5. package/README.md +2 -2
  6. package/agents/templates/.ai-council.yml.example +26 -8
  7. package/dist/agent-src/commands/analyze/inbox.md +10 -7
  8. package/dist/agent-src/commands/bug/investigate.md +1 -1
  9. package/dist/agent-src/commands/commit/in-chunks.md +40 -31
  10. package/dist/agent-src/commands/commit.md +72 -33
  11. package/dist/agent-src/commands/condense.md +2 -8
  12. package/dist/agent-src/commands/council/debate.md +11 -7
  13. package/dist/agent-src/commands/council/default.md +10 -9
  14. package/dist/agent-src/commands/council.md +1 -1
  15. package/dist/agent-src/commands/design.md +1 -1
  16. package/dist/agent-src/commands/estimate-ticket.md +1 -1
  17. package/dist/agent-src/commands/feature/explore.md +3 -3
  18. package/dist/agent-src/commands/feature/plan.md +1 -1
  19. package/dist/agent-src/commands/fix/ci.md +17 -3
  20. package/dist/agent-src/commands/fix/commit-messages.md +48 -23
  21. package/dist/agent-src/commands/fix/pr-comments.md +3 -6
  22. package/dist/agent-src/commands/implement-ticket.md +3 -3
  23. package/dist/agent-src/commands/memory/add.md +4 -16
  24. package/dist/agent-src/commands/memory/load.md +5 -6
  25. package/dist/agent-src/commands/memory/promote.md +3 -16
  26. package/dist/agent-src/commands/mission/upgrade.md +3 -2
  27. package/dist/agent-src/commands/optimize/agents-dir.md +2 -2
  28. package/dist/agent-src/commands/optimize/deep.md +4 -2
  29. package/dist/agent-src/commands/optimize/rtk.md +4 -26
  30. package/dist/agent-src/commands/pr/create/description-only.md +18 -15
  31. package/dist/agent-src/commands/pr/create.md +42 -34
  32. package/dist/agent-src/commands/pr/merge.md +136 -9
  33. package/dist/agent-src/commands/prepare-for-review.md +13 -11
  34. package/dist/agent-src/commands/project/analyze.md +7 -35
  35. package/dist/agent-src/commands/refine-ticket.md +1 -1
  36. package/dist/agent-src/commands/review/changes.md +14 -19
  37. package/dist/agent-src/commands/roadmap/next.md +10 -1
  38. package/dist/agent-src/commands/roadmap/process-full.md +52 -38
  39. package/dist/agent-src/commands/roadmap/resolve-blockers.md +64 -14
  40. package/dist/agent-src/commands/worktree/create.md +7 -3
  41. package/dist/agent-src/commands/worktree/verify.md +2 -1
  42. package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +5 -3
  43. package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +7 -9
  44. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -6
  45. package/dist/agent-src/contexts/contracts/frugality-charter.md +8 -5
  46. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +1 -1
  47. package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +0 -1
  48. package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
  49. package/dist/agent-src/contexts/execution/non-interactive-contract.md +5 -8
  50. package/dist/agent-src/contexts/execution/rdp-gate.md +4 -4
  51. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +9 -8
  52. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +67 -52
  53. package/dist/agent-src/contexts/execution/subagent-routing.md +8 -8
  54. package/dist/agent-src/contexts/execution/subagent-steering.md +6 -4
  55. package/dist/agent-src/contexts/execution/terminal-states.md +2 -2
  56. package/dist/agent-src/contexts/execution/toolchain-resolver.md +4 -10
  57. package/dist/agent-src/contexts/subagent-configuration.md +1 -1
  58. package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
  59. package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
  60. package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
  61. package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
  62. package/dist/agent-src/guidelines/agent-infra/layered-settings.md +13 -1
  63. package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  64. package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
  65. package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +36 -0
  66. package/dist/agent-src/guidelines/design-antipatterns.md +1 -1
  67. package/dist/agent-src/guidelines/php/git.md +15 -2
  68. package/dist/agent-src/rules/active-remediation.md +0 -1
  69. package/dist/agent-src/rules/analysis-skill-routing.md +0 -1
  70. package/dist/agent-src/rules/architecture.md +0 -1
  71. package/dist/agent-src/rules/artifact-drafting-protocol.md +0 -1
  72. package/dist/agent-src/rules/artifact-engagement-recording.md +0 -1
  73. package/dist/agent-src/rules/augment-edit-discipline.md +0 -1
  74. package/dist/agent-src/rules/autonomous-execution.md +0 -1
  75. package/dist/agent-src/rules/brand-consistency.md +0 -1
  76. package/dist/agent-src/rules/brand-source-of-truth.md +0 -1
  77. package/dist/agent-src/rules/broken-access-control.md +0 -1
  78. package/dist/agent-src/rules/cli-output-handling.md +0 -1
  79. package/dist/agent-src/rules/code-comment-discipline.md +0 -1
  80. package/dist/agent-src/rules/code-provenance.md +0 -1
  81. package/dist/agent-src/rules/command-suggestion-policy.md +0 -1
  82. package/dist/agent-src/rules/commit-conventions.md +1 -2
  83. package/dist/agent-src/rules/communication-through-line.md +1 -2
  84. package/dist/agent-src/rules/content-quoting-floor.md +1 -2
  85. package/dist/agent-src/rules/context-hygiene.md +5 -5
  86. package/dist/agent-src/rules/copilot-routing.md +1 -2
  87. package/dist/agent-src/rules/council-availability.md +4 -4
  88. package/dist/agent-src/rules/cross-source-consistency.md +4 -6
  89. package/dist/agent-src/rules/decision-revisit-gate.md +2 -3
  90. package/dist/agent-src/rules/delegation-policy.md +2 -3
  91. package/dist/agent-src/rules/design-fidelity.md +0 -1
  92. package/dist/agent-src/rules/design-review-after-ui-write.md +3 -3
  93. package/dist/agent-src/rules/devcontainer-routing.md +1 -2
  94. package/dist/agent-src/rules/doc-screenshot-hygiene.md +0 -1
  95. package/dist/agent-src/rules/docker-commands.md +0 -1
  96. package/dist/agent-src/rules/domain-adoption-policy.md +0 -1
  97. package/dist/agent-src/rules/domain-safety-disclaimer.md +0 -1
  98. package/dist/agent-src/rules/domain-safety-pii.md +0 -1
  99. package/dist/agent-src/rules/domain-safety-retention.md +0 -1
  100. package/dist/agent-src/rules/downstream-changes.md +0 -1
  101. package/dist/agent-src/rules/engineering-safety-floor.md +0 -1
  102. package/dist/agent-src/rules/external-code-graph-interop.md +0 -1
  103. package/dist/agent-src/rules/external-reference-deep-dive.md +0 -1
  104. package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -2
  105. package/dist/agent-src/rules/finance-safety-floor.md +0 -1
  106. package/dist/agent-src/rules/fix-what-you-see.md +6 -32
  107. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +0 -1
  108. package/dist/agent-src/rules/git-history-discipline.md +1 -2
  109. package/dist/agent-src/rules/guidelines.md +0 -1
  110. package/dist/agent-src/rules/history-discipline.md +0 -1
  111. package/dist/agent-src/rules/icon-consistency.md +0 -1
  112. package/dist/agent-src/rules/image-likeness-and-rights.md +0 -1
  113. package/dist/agent-src/rules/improve-before-implement.md +0 -1
  114. package/dist/agent-src/rules/invite-challenge.md +0 -1
  115. package/dist/agent-src/rules/laravel-routing.md +1 -2
  116. package/dist/agent-src/rules/laravel-translations.md +0 -1
  117. package/dist/agent-src/rules/legal-safety-floor.md +0 -1
  118. package/dist/agent-src/rules/lethal-trifecta-guard.md +0 -1
  119. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -1
  120. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +0 -1
  121. package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
  122. package/dist/agent-src/rules/media-governance-routing.md +1 -2
  123. package/dist/agent-src/rules/media-sync-ground-truth.md +0 -1
  124. package/dist/agent-src/rules/minimal-safe-diff.md +0 -1
  125. package/dist/agent-src/rules/missing-skill-recovery.md +0 -1
  126. package/dist/agent-src/rules/missing-tool-handling.md +0 -1
  127. package/dist/agent-src/rules/model-recommendation.md +0 -1
  128. package/dist/agent-src/rules/neighbour-precedence.md +64 -0
  129. package/dist/agent-src/rules/no-attribution-footers.md +0 -1
  130. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +0 -1
  131. package/dist/agent-src/rules/no-pr-progress-comments.md +0 -1
  132. package/dist/agent-src/rules/no-roadmap-references.md +0 -1
  133. package/dist/agent-src/rules/notes-first-reasoning.md +0 -1
  134. package/dist/agent-src/rules/onboarding-gate.md +0 -1
  135. package/dist/agent-src/rules/output-discipline.md +0 -1
  136. package/dist/agent-src/rules/package-ci-checks.md +0 -1
  137. package/dist/agent-src/rules/persona-governance.md +2 -3
  138. package/dist/agent-src/rules/php-coding.md +0 -1
  139. package/dist/agent-src/rules/prefer-enums-over-literals.md +0 -1
  140. package/dist/agent-src/rules/preservation-guard.md +0 -1
  141. package/dist/agent-src/rules/provider-lifecycle-discipline.md +2 -3
  142. package/dist/agent-src/rules/question-not-instruction.md +0 -1
  143. package/dist/agent-src/rules/reviewer-awareness.md +0 -1
  144. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -1
  145. package/dist/agent-src/rules/roadmap-progress-sync.md +3 -6
  146. package/dist/agent-src/rules/role-mode-adherence.md +0 -1
  147. package/dist/agent-src/rules/rule-type-governance.md +0 -1
  148. package/dist/agent-src/rules/runtime-safety.md +0 -1
  149. package/dist/agent-src/rules/scale-discipline.md +0 -1
  150. package/dist/agent-src/rules/secret-vcs-guard.md +0 -1
  151. package/dist/agent-src/rules/security-sensitive-stop.md +0 -1
  152. package/dist/agent-src/rules/self-repair-loop.md +0 -1
  153. package/dist/agent-src/rules/senior-engineering-discipline.md +0 -1
  154. package/dist/agent-src/rules/session-canary.md +0 -1
  155. package/dist/agent-src/rules/settings-ask-protocol.md +5 -6
  156. package/dist/agent-src/rules/size-enforcement.md +0 -1
  157. package/dist/agent-src/rules/skill-improvement-trigger.md +2 -3
  158. package/dist/agent-src/rules/skill-quality.md +0 -1
  159. package/dist/agent-src/rules/slash-command-routing-policy.md +0 -1
  160. package/dist/agent-src/rules/source-confidentiality.md +0 -1
  161. package/dist/agent-src/rules/source-discovery-gate.md +0 -1
  162. package/dist/agent-src/rules/source-of-truth.md +0 -1
  163. package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -2
  164. package/dist/agent-src/rules/strategy-safety-floor.md +0 -1
  165. package/dist/agent-src/rules/symfony-routing.md +1 -2
  166. package/dist/agent-src/rules/think-before-action.md +0 -1
  167. package/dist/agent-src/rules/token-budget-discipline.md +14 -48
  168. package/dist/agent-src/rules/token-efficiency.md +0 -1
  169. package/dist/agent-src/rules/token-optimizer-maintenance.md +0 -1
  170. package/dist/agent-src/rules/tool-safety.md +0 -1
  171. package/dist/agent-src/rules/ui-audit-gate.md +1 -2
  172. package/dist/agent-src/rules/untrusted-input-defense.md +0 -1
  173. package/dist/agent-src/rules/upstream-proposal.md +0 -1
  174. package/dist/agent-src/rules/user-interaction.md +0 -1
  175. package/dist/agent-src/rules/user-interrupt-priority.md +0 -1
  176. package/dist/agent-src/scripts/gate_budget.ts +47 -23
  177. package/dist/agent-src/scripts/gate_execute.ts +12 -4
  178. package/dist/agent-src/skills/accessibility-auditor/data/aria-patterns.csv +2 -0
  179. package/dist/agent-src/skills/accessibility-auditor/data/manifest.json +3 -3
  180. package/dist/agent-src/skills/ai-council/SKILL.md +7 -4
  181. package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +21 -11
  182. package/dist/agent-src/skills/ai-council/references/procedure.md +12 -6
  183. package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
  184. package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
  185. package/dist/agent-src/skills/canvas-design/SKILL.md +4 -2
  186. package/dist/agent-src/skills/command-routing/SKILL.md +3 -4
  187. package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +127 -139
  188. package/dist/agent-src/skills/corpus-grounding/ATTRIBUTION.md +39 -0
  189. package/dist/agent-src/skills/corpus-grounding/SKILL.md +8 -2
  190. package/dist/agent-src/skills/database/data/manifest.json +2 -2
  191. package/dist/agent-src/skills/database/data/query-tuning.csv +13 -13
  192. package/dist/agent-src/skills/design-intelligence/references/integration-mapping.md +13 -10
  193. package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
  194. package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
  195. package/dist/agent-src/skills/fe-design/references/design-patterns.md +49 -2
  196. package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
  197. package/dist/agent-src/skills/frontend-render-security/SKILL.md +9 -0
  198. package/dist/agent-src/skills/git-workflow/SKILL.md +44 -44
  199. package/dist/agent-src/skills/git-workflow/references/branch-update.md +312 -0
  200. package/dist/agent-src/skills/git-workflow/references/commit-subject.md +205 -0
  201. package/dist/agent-src/skills/iconography/SKILL.md +4 -2
  202. package/dist/agent-src/skills/image-provider-routing/SKILL.md +16 -5
  203. package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
  204. package/dist/agent-src/skills/logo-generation/SKILL.md +12 -8
  205. package/dist/agent-src/skills/merge-conflicts/SKILL.md +10 -4
  206. package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
  207. package/dist/agent-src/skills/refine-ticket/SKILL.md +4 -4
  208. package/dist/agent-src/skills/roadmap-writing/SKILL.md +2 -2
  209. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -2
  210. package/dist/agent-src/skills/source-discovery/SKILL.md +1 -1
  211. package/dist/agent-src/skills/svg-authoring/SKILL.md +318 -0
  212. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +3 -1
  213. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
  214. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -1
  215. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  216. package/dist/agent-src/skills/wireframe/SKILL.md +5 -2
  217. package/dist/agent-src/templates/AGENTS.md +1 -1
  218. package/dist/agent-src/templates/agent-settings.md +46 -129
  219. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
  220. package/dist/agent-src/templates/command.md +2 -2
  221. package/dist/agent-src/templates/roadmaps.md +6 -1
  222. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
  223. package/dist/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
  224. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
  225. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
  226. package/dist/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
  227. package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
  228. package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
  229. package/dist/agent-src/templates/skill.md +1 -1
  230. package/dist/cli/commands/uiRender.js +201 -4
  231. package/dist/cli/commands/uiRenderAsset.js +1308 -0
  232. package/dist/cli/commands/uiRenderAssetCompare.js +752 -0
  233. package/dist/cli/commands/uiRenderAssetGrid.js +265 -0
  234. package/dist/cli/commands/uiRenderAssetGrounds.js +323 -0
  235. package/dist/cli/commands/uiRenderAssetIsolation.js +85 -0
  236. package/dist/cli/commands/uiRenderAssetTypes.js +145 -0
  237. package/dist/cli/main.js +47 -1
  238. package/dist/cli/registry.js +2 -1
  239. package/dist/cli-delegate/check_update_banner.js +195 -119
  240. package/dist/cli-delegate/{chunk-S4UMZNES.js → chunk-4DBG5K7M.js} +5 -5
  241. package/dist/cli-delegate/{chunk-TRI6DQZ6.js → chunk-5GPULQBE.js} +60 -42
  242. package/dist/cli-delegate/{chunk-JQVYKIZA.js → chunk-6SRJTYJS.js} +33 -177
  243. package/dist/cli-delegate/chunk-6V5FMA3P.js +186 -0
  244. package/dist/cli-delegate/chunk-6YQC2HLF.js +415 -0
  245. package/dist/cli-delegate/{chunk-E4XIZDIB.js → chunk-7HKRE54K.js} +1 -64
  246. package/dist/cli-delegate/{chunk-7HQ52DHU.js → chunk-AL3RZ22D.js} +1 -1
  247. package/dist/cli-delegate/{chunk-DBH4AHDK.js → chunk-ED7KCMLB.js} +9 -11
  248. package/dist/cli-delegate/{chunk-NXEILF2K.js → chunk-F3QDG2GT.js} +481 -72
  249. package/dist/cli-delegate/{chunk-CQWX336L.js → chunk-G5VVIZRC.js} +3 -3
  250. package/dist/cli-delegate/{chunk-JY2I2DXV.js → chunk-H76PHZBI.js} +137 -60
  251. package/dist/cli-delegate/chunk-IAYTIIQW.js +67 -0
  252. package/dist/cli-delegate/{chunk-LIYTLH6O.js → chunk-KXXWJTDO.js} +5 -10
  253. package/dist/cli-delegate/{chunk-T7L2QK3K.js → chunk-LQOCRFWT.js} +1 -1
  254. package/dist/cli-delegate/{chunk-S4YWNRKO.js → chunk-MDPPKQCQ.js} +34 -1
  255. package/dist/cli-delegate/chunk-OAFSJBHH.js +272 -0
  256. package/dist/cli-delegate/{chunk-GKE7ZVFA.js → chunk-PWX7CKMD.js} +1 -1
  257. package/dist/cli-delegate/{chunk-NDJLNC6Q.js → chunk-T6BP34WI.js} +1 -0
  258. package/dist/cli-delegate/{chunk-RQNNW7IF.js → chunk-T7XSJSUQ.js} +433 -632
  259. package/dist/cli-delegate/{chunk-NQ7WT43P.js → chunk-TMWYUOK4.js} +75 -12
  260. package/dist/cli-delegate/{chunk-EEHDXSYD.js → chunk-WQWXGIWB.js} +12 -273
  261. package/dist/cli-delegate/{chunk-QLDHIPWR.js → chunk-XQTPXKFA.js} +1 -1
  262. package/dist/cli-delegate/cmd_analyze_session.js +223 -43
  263. package/dist/cli-delegate/cmd_brand_status.js +3 -2
  264. package/dist/cli-delegate/cmd_conformance.js +489 -238
  265. package/dist/cli-delegate/cmd_converge.js +3 -3
  266. package/dist/cli-delegate/cmd_doctor.js +15 -12
  267. package/dist/cli-delegate/cmd_doctor_neighbours.js +11 -4
  268. package/dist/cli-delegate/cmd_explain.js +43 -19
  269. package/dist/cli-delegate/cmd_export.js +10 -10
  270. package/dist/cli-delegate/cmd_git_convention.js +1851 -0
  271. package/dist/cli-delegate/cmd_handoff.js +40 -21
  272. package/dist/cli-delegate/cmd_mcp_available.js +3 -2
  273. package/dist/cli-delegate/cmd_migrate.js +3 -3
  274. package/dist/cli-delegate/cmd_packs_active.js +4 -3
  275. package/dist/cli-delegate/cmd_prune.js +10 -10
  276. package/dist/cli-delegate/cmd_route_audit.js +7 -7
  277. package/dist/cli-delegate/cmd_route_explain.js +5 -5
  278. package/dist/cli-delegate/cmd_session_recycle.js +9 -7
  279. package/dist/cli-delegate/cmd_settings_check.js +54 -7
  280. package/dist/cli-delegate/cmd_settings_get.js +18 -8
  281. package/dist/cli-delegate/cmd_settings_migrate.js +10 -10
  282. package/dist/cli-delegate/cmd_settings_set.js +1 -1
  283. package/dist/cli-delegate/cmd_sync.js +10 -10
  284. package/dist/cli-delegate/cmd_uninstall.js +10 -10
  285. package/dist/cli-delegate/cmd_update.js +7 -7
  286. package/dist/cli-delegate/cmd_upgrade.js +7 -7
  287. package/dist/cli-delegate/cmd_validate.js +10 -10
  288. package/dist/cli-delegate/cmd_versions.js +5 -5
  289. package/dist/cli-delegate/gate_budget.js +1 -1
  290. package/dist/cli-delegate/gate_execute.js +2 -2
  291. package/dist/cli-delegate/roadmap_gates.js +2 -2
  292. package/dist/discovery/deprecation-report.md +1 -1
  293. package/dist/discovery/discovery-manifest.json +171 -107
  294. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  295. package/dist/discovery/discovery-manifest.summary.md +7 -7
  296. package/dist/discovery/dormancy-report.md +1 -1
  297. package/dist/discovery/orphan-report.md +1 -1
  298. package/dist/discovery/packs.json +41 -22
  299. package/dist/discovery/trust-report.md +3 -3
  300. package/dist/discovery/workspaces.json +16 -11
  301. package/dist/hooks/dispatch.js +2520 -1924
  302. package/dist/hooks/dispatch.sha256 +1 -1
  303. package/dist/hooks/svg_rules.chunk.cjs +1626 -0
  304. package/dist/hooks/svg_rules.chunk.cjs.sha256 +1 -0
  305. package/dist/install/install.mjs +462 -431
  306. package/dist/install/installThinLayer.js +40 -12
  307. package/dist/install/installedRuleLinks.js +105 -19
  308. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  309. package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
  310. package/dist/mcp/registry-manifest.json +5 -5
  311. package/dist/mcp/server.json +2 -2
  312. package/dist/mcp/server.mjs +3063 -2160
  313. package/dist/router.json +1 -1
  314. package/dist/scripts/_lib/agent_settings.js +15 -120
  315. package/dist/scripts/_lib/compile_time_toggles.js +12 -21
  316. package/dist/scripts/_lib/git_convention.js +232 -0
  317. package/dist/scripts/_lib/global_deploy_inventory.js +730 -0
  318. package/dist/scripts/_lib/installed_layer.js +344 -18
  319. package/dist/scripts/_lib/package_root.js +68 -0
  320. package/dist/scripts/_lib/rule_law_section.js +1 -1
  321. package/dist/scripts/_lib/scan_scope.js +105 -0
  322. package/dist/scripts/_lib/settings_removed_keys.js +168 -0
  323. package/dist/scripts/_lib/svg_dom.js +284 -0
  324. package/dist/scripts/_lib/svg_geometry.js +477 -0
  325. package/dist/scripts/_lib/svg_motion.js +179 -0
  326. package/dist/scripts/_lib/svg_rules.js +1337 -0
  327. package/dist/scripts/_lib/svg_urls.js +67 -0
  328. package/dist/scripts/_lib/thin_rules.js +80 -3
  329. package/dist/scripts/lint_svg_asset.js +324 -0
  330. package/dist/server/app.js +2 -1
  331. package/dist/server/gitKeysGate.js +105 -0
  332. package/dist/server/routes/settings.js +67 -8
  333. package/dist/server/routes/wizard.js +4 -0
  334. package/dist/server/schemas/settings.js +23 -81
  335. package/dist/shared/skillRanking.js +30 -4
  336. package/dist/ui/assets/{index-Cwq4d0hX.js → index-C3djEJah.js} +2 -2
  337. package/dist/ui/index.html +1 -1
  338. package/docs/MIGRATION.md +72 -1
  339. package/docs/contracts/settings-classes.md +35 -65
  340. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
  341. package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
  342. package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
  343. package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
  344. package/docs/guidelines/agent-infra/layered-settings.md +13 -1
  345. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  346. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
  347. package/docs/guidelines/agent-infra/size-and-scope.md +36 -0
  348. package/docs/guidelines/design-antipatterns.md +1 -1
  349. package/docs/guidelines/php/git.md +15 -2
  350. package/package.json +4 -3
  351. package/src/agent-src/scripts/gate_budget.ts +47 -23
  352. package/src/agent-src/scripts/gate_execute.ts +12 -4
  353. package/src/agent-src/templates/AGENTS.md +1 -1
  354. package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
  355. package/src/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
  356. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
  357. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
  358. package/src/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
  359. package/src/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
  360. package/src/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
  361. package/src/config/agent-settings.template.yml +79 -312
  362. package/src/config/agents-paths.yml +16 -0
  363. package/src/config/assurance-capability-registry.json +7 -3
  364. package/src/config/ci-local-parity.yml +3 -0
  365. package/src/config/continuity-surface.json +3 -3
  366. package/src/config/discovery/packs.yml +17 -1
  367. package/src/config/evaluator-budgets.json +19 -6
  368. package/src/config/gate-coverage.yml +65 -23
  369. package/src/config/gate-violation-baselines.json +56 -16
  370. package/src/config/gitignore-block.txt +19 -0
  371. package/src/config/hook-bundle-budget.json +1 -1
  372. package/src/config/release-gate-locality.yml +2 -1
  373. package/src/config/routing-coverage-seed.json +55 -6
  374. package/src/config/rule-law-ceilings.json +12 -6
  375. package/src/config/rule-obligations.json +833 -0
  376. package/src/install/installThinLayer.ts +76 -10
  377. package/src/install/installedRuleLinks.ts +105 -17
  378. package/src/scripts/_cli/cmd_analyze_session.ts +9 -15
  379. package/src/scripts/_cli/cmd_conformance.ts +13 -2
  380. package/src/scripts/_cli/cmd_doctor.ts +10 -10
  381. package/src/scripts/_cli/cmd_doctor_neighbours.ts +133 -0
  382. package/src/scripts/_cli/cmd_explain.ts +72 -14
  383. package/src/scripts/_cli/cmd_git_convention.ts +637 -0
  384. package/src/scripts/_cli/cmd_settings_check.ts +66 -8
  385. package/src/scripts/_cli/cmd_settings_get.ts +18 -3
  386. package/src/scripts/_cli/doctor_execution.ts +72 -1
  387. package/src/scripts/_dispatch.bash +37 -2
  388. package/src/scripts/_lib/agent_settings.ts +15 -124
  389. package/src/scripts/_lib/blocked_by_marker.ts +1 -1
  390. package/src/scripts/_lib/compile_time_toggles.ts +12 -21
  391. package/src/scripts/_lib/dispatch_import_closure.ts +163 -0
  392. package/src/scripts/_lib/git_base_ref.ts +92 -0
  393. package/src/scripts/_lib/git_convention.ts +291 -0
  394. package/src/scripts/_lib/git_convention_carrier.ts +389 -0
  395. package/src/scripts/_lib/git_convention_grammar.ts +246 -0
  396. package/src/scripts/_lib/git_convention_measure.ts +344 -0
  397. package/src/scripts/_lib/global_deploy_inventory.ts +74 -0
  398. package/src/scripts/_lib/graph_feeder_record.ts +236 -13
  399. package/src/scripts/_lib/installed_layer.ts +448 -23
  400. package/src/scripts/_lib/knowledge_global.ts +14 -1
  401. package/src/scripts/_lib/module_reach.ts +456 -0
  402. package/src/scripts/_lib/neighbour_contradictions.ts +236 -0
  403. package/src/scripts/_lib/neighbour_tool_use.ts +8 -10
  404. package/src/scripts/_lib/ratification_artifact.ts +220 -1
  405. package/src/scripts/_lib/ratification_subject.ts +92 -0
  406. package/src/scripts/_lib/release_findings_ingest.ts +15 -7
  407. package/src/scripts/_lib/release_highlights.ts +5 -0
  408. package/src/scripts/_lib/rule_law_section.ts +1 -1
  409. package/src/scripts/_lib/rule_obligations.ts +205 -0
  410. package/src/scripts/_lib/self_repair.ts +1 -1
  411. package/src/scripts/_lib/settings_removed_keys.ts +173 -0
  412. package/src/scripts/_lib/svg_dom.ts +318 -0
  413. package/src/scripts/_lib/svg_geometry.ts +480 -0
  414. package/src/scripts/_lib/svg_motion.ts +208 -0
  415. package/src/scripts/_lib/svg_rules.ts +1453 -0
  416. package/src/scripts/_lib/svg_urls.ts +72 -0
  417. package/src/scripts/_lib/test_red_state.ts +5 -0
  418. package/src/scripts/_lib/thin_rules.ts +83 -3
  419. package/src/scripts/_lib/touched_file_quality.ts +142 -6
  420. package/src/scripts/_lib/verification_command.ts +59 -0
  421. package/src/scripts/_lib/verify_clause.ts +27 -17
  422. package/src/scripts/_lib/worker_budget.ts +1 -1
  423. package/src/scripts/adr/regenerate_index.ts +16 -1
  424. package/src/scripts/ai_council/config.ts +7 -7
  425. package/src/scripts/ai_council/modification_review.ts +100 -0
  426. package/src/scripts/ai_council/modification_review_questions.ts +90 -0
  427. package/src/scripts/ai_council/orchestrator.ts +5 -5
  428. package/src/scripts/ai_council/spend_gate.ts +18 -7
  429. package/src/scripts/ai_team/config.ts +11 -16
  430. package/src/scripts/audit_user_type_axis.ts +20 -8
  431. package/src/scripts/bench_ab_clone.ts +1 -2
  432. package/src/scripts/bench_concern_spawn_path.ts +129 -0
  433. package/src/scripts/bench_graph_feeder_latency.ts +584 -0
  434. package/src/scripts/check_agent_artifact_location.ts +36 -0
  435. package/src/scripts/check_branch_freshness.ts +147 -24
  436. package/src/scripts/check_enforcement_coverage.ts +130 -0
  437. package/src/scripts/check_evaluator_budgets.ts +4 -0
  438. package/src/scripts/check_finding_dispositions.ts +88 -25
  439. package/src/scripts/check_gate_coverage.ts +4 -3
  440. package/src/scripts/check_gate_reachability.ts +48 -1
  441. package/src/scripts/check_generator_sync.ts +48 -0
  442. package/src/scripts/check_hook_bundle_composition.ts +107 -0
  443. package/src/scripts/check_kernel_edit_ratified.ts +86 -6
  444. package/src/scripts/check_pack_size.ts +1 -1
  445. package/src/scripts/check_release_manifest_content.ts +189 -0
  446. package/src/scripts/check_standing_rule_delivery.ts +96 -0
  447. package/src/scripts/check_suppression_hygiene.ts +2 -5
  448. package/src/scripts/ci_settle.ts +42 -5
  449. package/src/scripts/classify_merge_risk.ts +320 -0
  450. package/src/scripts/closure_scan.ts +91 -1
  451. package/src/scripts/command_suggester/settings.ts +8 -108
  452. package/src/scripts/command_suggester/types.ts +4 -5
  453. package/src/scripts/consumer_matrix.ts +102 -0
  454. package/src/scripts/context_hygiene_hook.ts +13 -23
  455. package/src/scripts/cost/preflight.mjs +12 -1
  456. package/src/scripts/council_cli.ts +7 -7
  457. package/src/scripts/dispatch_r2_reviewer.ts +24 -11
  458. package/src/scripts/explain_run.ts +8 -13
  459. package/src/scripts/generate_git_convention_grammar.ts +127 -0
  460. package/src/scripts/generate_host_cost_table.ts +20 -3
  461. package/src/scripts/handoff_context_hook.ts +86 -37
  462. package/src/scripts/hook_manifest.json +1 -1
  463. package/src/scripts/hook_manifest.yaml +25 -6
  464. package/src/scripts/hooks/block_config_weakening.ts +48 -5
  465. package/src/scripts/hooks/block_plumbing_writes.ts +8 -4
  466. package/src/scripts/hooks/block_speaking_inbox_dir.ts +16 -1
  467. package/src/scripts/hooks/concern_registry.ts +2 -0
  468. package/src/scripts/hooks/delegation_nudge_hook.ts +2 -3
  469. package/src/scripts/hooks/design_pass_hook.ts +157 -3
  470. package/src/scripts/hooks/evidence_independence.ts +12 -4
  471. package/src/scripts/hooks/mcp_usage_observation_hook.ts +121 -0
  472. package/src/scripts/hooks/push_settle_hook.ts +4 -3
  473. package/src/scripts/hooks/rule_inject_hook.ts +44 -3
  474. package/src/scripts/hooks/state_io.ts +8 -4
  475. package/src/scripts/hooks/svg_obligation.ts +497 -0
  476. package/src/scripts/hooks/svg_rules_loader.ts +133 -0
  477. package/src/scripts/hooks/telemetry_usage_hook.ts +7 -46
  478. package/src/scripts/hooks/turn_end_gate_hook.ts +6 -3
  479. package/src/scripts/install-hooks.sh +42 -14
  480. package/src/scripts/install.ts +7 -31
  481. package/src/scripts/lint_blocker_citations.ts +198 -0
  482. package/src/scripts/lint_consolidation_lineage.ts +6 -3
  483. package/src/scripts/lint_design_quality.ts +60 -12
  484. package/src/scripts/lint_evidence_artifacts.ts +9 -0
  485. package/src/scripts/lint_hook_concern_budget.ts +10 -21
  486. package/src/scripts/lint_motion_authority_drift.ts +27 -0
  487. package/src/scripts/lint_pack_boundaries.ts +406 -28
  488. package/src/scripts/lint_roadmap_blockers.ts +282 -29
  489. package/src/scripts/lint_roadmap_complexity.ts +4 -2
  490. package/src/scripts/lint_rule_law_section.ts +151 -21
  491. package/src/scripts/lint_rule_skill_pack_reach.ts +17 -0
  492. package/src/scripts/lint_settings_classes.ts +1 -1
  493. package/src/scripts/lint_svg_asset.ts +365 -0
  494. package/src/scripts/lint_ticked_unmet_criteria.ts +165 -0
  495. package/src/scripts/lint_workflow_security.ts +12 -1
  496. package/src/scripts/measure_skill_ranker_baseline.ts +5 -0
  497. package/src/scripts/model_rule_injection.ts +3 -3
  498. package/src/scripts/onboarding_gate_hook.ts +7 -6
  499. package/src/scripts/print_required_checks.ts +15 -3
  500. package/src/scripts/probe_host_compliance.ts +33 -5
  501. package/src/scripts/probe_turnaround.ts +183 -3
  502. package/src/scripts/ratification_header.ts +77 -0
  503. package/src/scripts/refusal_envelope.ts +138 -0
  504. package/src/scripts/release_publication.ts +29 -3
  505. package/src/scripts/report_dispatch_import_closure.ts +76 -0
  506. package/src/scripts/report_installed_rule_links.ts +118 -1
  507. package/src/scripts/report_module_reach.ts +212 -0
  508. package/src/scripts/report_obligation_mechanism.ts +16 -18
  509. package/src/scripts/report_parked_blockers.ts +222 -0
  510. package/src/scripts/report_required_checks_drift.ts +196 -0
  511. package/src/scripts/report_skill_ranker_confusion.ts +103 -2
  512. package/src/scripts/report_standing_payload_by_host.ts +1 -1
  513. package/src/scripts/routing_doctor.ts +2 -2
  514. package/src/scripts/schemas/agent-settings.schema.json +17 -31
  515. package/src/scripts/schemas/command.schema.json +1 -1
  516. package/src/scripts/schemas/skill.schema.json +1 -1
  517. package/src/scripts/self_review_gate.ts +39 -2
  518. package/src/scripts/skill_tools/score_skill_relevance.ts +28 -19
  519. package/src/scripts/sync_pr_branch.ts +403 -132
  520. package/src/scripts/trigger_eval_grandfather.json +0 -16
  521. package/src/server/schemas/settings.ts +33 -177
  522. package/src/shared/skillRanking.ts +53 -4
  523. package/dist/cli-delegate/chunk-NYX3L2PZ.js +0 -99
  524. package/src/scripts/_lib/config_chain.ts +0 -477
  525. package/src/scripts/_lib/conformance_report.ts +0 -403
  526. package/src/scripts/_lib/eval_discrimination.ts +0 -95
  527. package/src/scripts/_lib/evaluator_promotion.ts +0 -225
  528. package/src/scripts/_lib/file_slicer.ts +0 -117
  529. package/src/scripts/_lib/legacy_boundary_map.ts +0 -228
  530. package/src/scripts/_lib/minimality_tiebreak.ts +0 -168
  531. package/src/scripts/_lib/overbuild_lens_contract.ts +0 -196
  532. package/src/scripts/_lib/role_split.ts +0 -338
@@ -39,10 +39,14 @@ to make sure the current branch is up to date with its base chain:
39
39
  - If exactly one open PR is found → invoke `/prepare-for-review`
40
40
  with that PR number. It will update `main`, fetch and merge the
41
41
  full branch chain into the current branch, and leave the current
42
- branch checked out.
42
+ branch checked out — under `git.update_strategy: rebase` it merges
43
+ nothing and reports the behind branches instead.
43
44
  - If no open PR is found → fall back to a minimal local update:
44
45
  `git fetch origin main` and `git merge origin/main --no-edit` on
45
- the current branch. Abort on conflict and report.
46
+ the current branch. Abort on conflict and report. Under
47
+ `git.update_strategy: rebase` skip the merge: `git fetch origin main`
48
+ only, review the diff against `git merge-base HEAD origin/main`, and say
49
+ the branch is behind.
46
50
  - If multiple PRs are found → ask the user which PR to use before
47
51
  proceeding.
48
52
  - If `/prepare-for-review` aborts (merge conflict, network error,
@@ -324,23 +328,12 @@ before re-review, hand off to
324
328
  generate→run→revise→re-run loop gated by a numeric threshold, then a judge
325
329
  confirms. Surface it as a single follow-up line; do not auto-invoke.
326
330
 
327
- ### 7. Quality tools (verbosity-gated)
331
+ ### 7. Quality tools
328
332
 
329
- Per `verbosity.routine_confirmations` (default `false`):
330
-
331
- - `false` (default) → emit `→ run /quality-fix to format + lint` as a
332
- single follow-up line; do not auto-invoke. User runs explicitly.
333
- - `true` → ask:
334
- ```
335
- > 1. Yes — run quality tools (formatter, static analyzer, linters)
336
- > 2. No — review done
337
- ```
338
- If yes, hand off to the project's quality workflow (e.g.
339
- `/quality-fix` or the equivalent configured command). The quality and
340
- test runners are resolved per-stack via the
341
- [`toolchain-resolver`](../../contexts/execution/toolchain-resolver.md), so
342
- the hand-off adapts to PHP / JS-TS / Python / Go / Rust rather than
343
- assuming one stack.
333
+ Emit `→ run /quality-fix to format + lint` as a single follow-up line; do not
334
+ auto-invoke and do not ask. The user runs it explicitly; its quality and test
335
+ runners are resolved per-stack via the
336
+ [`toolchain-resolver`](../../contexts/execution/toolchain-resolver.md).
344
337
 
345
338
  ## Backward compatibility
346
339
 
@@ -354,7 +347,9 @@ Per `verbosity.routine_confirmations` (default `false`):
354
347
  quality tools hand-off
355
348
  - The new step 1 (`/prepare-for-review`) is **best-effort**: if no
356
349
  open PR exists for the current branch, it falls back to a plain
357
- `git fetch && git merge origin/main`. Existing invocations that
350
+ `git fetch origin main` and, under the default `git.update_strategy:
351
+ merge`, `git merge origin/main --no-edit`; under `rebase` it merges
352
+ nothing and reports the branch as behind. Existing invocations that
358
353
  ran on a fully detached or pre-PR branch keep working
359
354
 
360
355
  ## Use this command when
@@ -280,7 +280,16 @@ was for a conflict whose entire existence is a remote fact. That is the friction
280
280
  this clause removes; the floor it keeps is the *unnamed* push.
281
281
 
282
282
  **Before every push to the open PR**, bring the branch up to its base with
283
- `./scripts-run src/scripts/sync_pr_branch` and regenerate afterwards. Measured on
283
+ `agent-config git:convention sync --base origin/<base>` (`<base>` is the
284
+ `baseRefName` of the branch's `OPEN` pull request, read with `gh pr view --json
285
+ state,baseRefName`; without an open one, and without `--base`, the target is the default branch) and regenerate afterwards (under
286
+ `git.update_strategy: rebase` it refuses a behind branch with exit 3 — rebase on request instead, per
287
+ [`branch-update`](../../../../skills/git-workflow/references/branch-update.md); an exit 3
288
+ reading `TARGET_POLICY_STALE` means the branch is current with its non-default
289
+ target and the target is itself behind its default branch — that is the target's update, reported, never a rebase of this
290
+ branch; on exit 4 the
291
+ strategy could not be read, the line names the reason code and the file, nothing
292
+ was merged, and the run stops before the push until that file is fixed). Measured on
284
293
  this run: the base moved three times, the push was rejected twice for it, and the
285
294
  PR reached `CONFLICTING` in between. Verify the result afterwards with
286
295
  `./scripts-run src/scripts/check_pr_ci_current` — a green local gate says nothing
@@ -7,7 +7,7 @@ cluster: roadmap
7
7
  sub: process-full
8
8
  skills: [agent-docs-writing, ai-council, roadmap-management]
9
9
  description: Autonomously process every open step across every phase of a roadmap until the file is fully closed. Largest execution scope of the /roadmap cluster — runs continuously across phase boundaries.
10
- argument-hint: "[roadmap] [--all] [--worktree]"
10
+ argument-hint: "[roadmap] [--all] [--merge] [--worktree]"
11
11
  suggestion:
12
12
  eligible: false
13
13
  rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
@@ -149,9 +149,9 @@ On outcome `complete`, open the PR as today, then run
149
149
  base in, resolve conflicts by that command's four enumerated classes, drive the
150
150
  required checks green on the pushed head. **This is unconditional** — a bare
151
151
  `/roadmap:process-full` delivers a mergeable PR, not merely an open one, and
152
- waiting on that remote CI is part of the run per the Iron Law below. It is
153
- the whole of what this command delivers: there is no flag that carries it
154
- further, and § Merging below says why.
152
+ waiting on that remote CI is part of the run per the Iron Law below. With an
153
+ owner auto-merge instruction the call is `/pr:merge <N> --merge` instead, which
154
+ merges through that command's danger gate — § Merging below.
155
155
 
156
156
  ### The six required layers, in order, each with the command that runs it
157
157
 
@@ -193,39 +193,31 @@ condition to test rather than assert: a PR whose required context is skipped has
193
193
  a green rollup and an unenforced gate, so a delivery-ready test that reads only
194
194
  the rollup passes exactly when it should fail.
195
195
 
196
- ### Merging — out of scope, cancelled rather than deferred
196
+ ### `--merge` — merging, on the owner's word only (ADR-282)
197
197
 
198
198
  ```
199
- THIS COMMAND NEVER MERGES. THERE IS NO FLAG THAT MAKES IT MERGE.
200
- THE RUN ENDS AT MERGEABLE-AND-OPEN, ALWAYS, AND SAYS SO.
201
- A FUTURE MERGE CAPABILITY NEEDS A NEW ROADMAP AND AN OWNER RULING —
202
- NOT A COMMAND EDIT, AND NOT A FLAG THAT ALREADY SITS HERE INERT.
199
+ THIS COMMAND MERGES ONLY ON AN EXPLICIT OWNER AUTO-MERGE INSTRUCTION:
200
+ `--merge`, OR THE OWNER'S OWN WORDS IN THE SESSION THAT RUNS THE WORK.
201
+ WITHOUT ONE, THE RUN ENDS AT MERGEABLE-AND-OPEN, AND SAYS SO.
202
+ A `needs-council` PR MERGES ONLY ON TWO CONVERGENT CLEARING SEATS;
203
+ DANGEROUS, SPLIT, DEGRADED OR UNAVAILABLE → THE OWNER DECIDES.
203
204
  ```
204
205
 
205
- A `--merge` flag was specified here and has been **removed**. The
206
- `merge-authority` blocker of `road-to-drain-commands` closed as *not authorized
207
- in this roadmap*: activating the flag would have lowered
208
- [`non-destructive-by-default`](../../../../rules/non-destructive-by-default.md)'s
209
- per-turn confirmation floor for a production-branch merge, which
210
- [`decision-revisit-gate`](../../../../rules/decision-revisit-gate.md)'s
211
- owner-reserved table reserves to the owner. No owner ruling was available to the
212
- run that closed the roadmap, and an AI-council pass (2/2 convergent, 2026-08-22)
213
- ruled that a council may cancel an unauthorized implementation but may not
214
- manufacture the owner decision. The policy question is therefore **undecided,
215
- not rejected** — see
206
+ The owner settled the half of
216
207
  [ADR-239](../../../../../docs/decisions/ADR-239-drain-command-surface-and-merge-authority.md)
217
- § Disposition.
218
-
219
- The flag was removed rather than left inert deliberately: an archived roadmap
220
- must not leave latent executable authority behind a documented switch.
221
-
222
- Three independent findings stand behind the safety requirement, and any future
223
- attempt starts from them rather than re-deriving them: the AI council's Q1
224
- verdict (2026-08-21 — mergeability-only until authorization is target-bound and
225
- tamper-resistant), the committed `road-to-gate-preauth-authorization` stub (an
226
- authorization the agent can write is not an authorization), and the runtime
227
- guard that refused this roadmap's own attempt to edit the canonical loop
228
- contract.
208
+ § Disposition that ADR-266 left open:
209
+ [ADR-282](../../../../../docs/decisions/ADR-282-auto-merge-authority-with-a-council-danger-gate.md).
210
+ An explicit auto-merge instruction is the this-turn confirmation
211
+ [`non-destructive-by-default`](../../../../rules/non-destructive-by-default.md)
212
+ requires for the production-branch merge of a **routine** PR. Delivery runs
213
+ `/pr:merge <N> --merge`, whose § 9a danger gate (`classify_merge_risk`) decides:
214
+ `routine` → squash-merge bound to the observed head; `needs-council` → a neutral
215
+ council review, merge only when both seats say *not dangerous, owner review
216
+ unnecessary*, otherwise hand the PR back with the seats' reasons.
217
+
218
+ ADR-268 § 3's object-bound `prod_merge` grant stays a separate, unchanged path.
219
+ A standing autonomy directive or momentum is **neither**. Deploy, release and
220
+ every other Hard-Floor action keep their own confirmation.
229
221
 
230
222
  **Mergeability is per-PR against a recorded base, never a queue property.**
231
223
  When every PR in the estate touches the same generated files — in this
@@ -481,7 +473,12 @@ A missing setting, a CI re-run, a protection flag, a rebase, a council call: do
481
473
  them, and say so in the PR body if it matters. The only mid-run interruptions
482
474
  that remain legitimate are a spend-ceiling crossing and an EXCLUDED-list action
483
475
  (production trunk, deploy, prod data/infra, an irreversible external action
484
- beyond the PR).
476
+ beyond the PR). One carve-out from "do them": a rebase of a branch that is
477
+ already pushed rewrites published history, and still needs the user's answer
478
+ this turn per `git-history-discipline` § When rewrite is allowed — the
479
+ invocation does not give it, and neither does `git.update_strategy: rebase`,
480
+ which picks the operation and never authorises it. Without that answer the
481
+ branch is left behind and the PR body says so.
485
482
 
486
483
  Report shape:
487
484
 
@@ -500,18 +497,35 @@ Hard external blocker: <specific reason>
500
497
  Attempted: <what was tried>
501
498
  ```
502
499
 
503
- ## Spend — USD 25 per run, pre-authorised
500
+ ## Spend — whatever ceiling was configured, and none when none was
504
501
 
505
502
  ```
506
- cost_so_far + reasonably_expected_remaining ≤ $25 → RUN IT, ASK NOTHING
507
- cost_so_far + reasonably_expected_remaining > $25 → OWNER APPROVAL BEFORE CROSSING
503
+ READ THE CONFIGURED cost.budgets WINDOWS (daily · weekly · monthly).
504
+ spend_so_far + reasonably_expected_remaining WITHIN EVERY CONFIGURED WINDOW
505
+ → RUN IT, ASK NOTHING
506
+ WOULD CROSS A CONFIGURED WINDOW → PAUSE AND REPORT BEFORE CROSSING.
507
+ NO WINDOW CONFIGURED → NONE APPLIES. RUN IT, ASK NOTHING.
508
508
  COST UNKNOWN → CONSERVATIVE ESTIMATE. UNCERTAINTY IS NOT A REASON TO ASK.
509
- SERVICE-ENFORCED LIMITS MAKE >$25 IMPOSSIBLE → AUTHORISED.
509
+ SERVICE-ENFORCED LIMITS MAKE A CROSSING IMPOSSIBLE → AUTHORISED.
510
510
  EXISTING SUBSCRIPTION → MARGINAL COST $0, NOT COUNTED.
511
511
  NEVER SPLIT SPEND ACROSS SERVICES, SUBAGENTS, COUNCIL ROUNDS OR CALLS
512
- TO KEEP EACH ITEM UNDER THE CEILING. THE CEILING IS CUMULATIVE, PER RUN.
512
+ TO KEEP EACH ITEM UNDER A CEILING. A CEILING IS CUMULATIVE, PER RUN.
513
513
  ```
514
514
 
515
+ **Who carries this, stated plainly: the model, not a gate.** Nothing on a
516
+ roadmap run reads a cumulative spend figure and compares it with anything —
517
+ ADR-237 said so of its own ceiling ("Nothing mechanical checks any of this")
518
+ and that has not changed. The optional `cost.enforcement: hard-stop` preflight
519
+ is a separate, deliberately-invoked control and is not called from a run. So
520
+ this block is an obligation the model carries, and a reader should not take it
521
+ for an enforced limit.
522
+
523
+ What used to sit here was a flat per-run USD constant that nobody configured.
524
+ ADR-279 replaced it with the windows a person actually set, which is the only
525
+ kind of ceiling this package now applies; that record names the old figure, and
526
+ this file deliberately does not, so no reader mistakes a historical number for
527
+ a live threshold. Set `cost.budgets.daily` / `weekly` / `monthly` to get one.
528
+
515
529
  The transport is not a governance boundary: a council invocation is the same
516
530
  authorised action whether it runs through the `council` CLI or a direct API call.
517
531
  There is deliberately **no allowlist** of blessed services — the general rule
@@ -36,6 +36,10 @@ AS A CHECK BEFORE TREATING IT AS OPEN.
36
36
  RESOLVE AT THE LOWEST RUNG THAT OWNS THE DECISION: EVIDENCE → RECORDED RULE →
37
37
  EXECUTION → AGENT → INDEPENDENT SESSION → COUNCIL → OWNER.
38
38
  THE OWNER IS THE LAST RUNG, NEVER THE FIRST, AND NEVER FOR A TECHNICAL DECISION.
39
+ NO OWNER QUESTION IS PUT BEFORE ONE BATCHED COUNCIL PASS HAS RUN OVER EVERY
40
+ UNDECIDED BLOCKER OF THE RUN — OWNER-LABELLED ONES INCLUDED. A BLOCKER'S
41
+ `Owner:`, `Ownership:` OR "YOURS TO SET" IS ITS AUTHOR'S GUESS; THE COUNCIL'S
42
+ OWNER-RESERVED TEST DECIDES WHO MUST ANSWER.
39
43
  NEVER PASS `--confirm` OR BUY METERED COUNCIL SPEND WITHOUT THE OWNER'S YES.
40
44
  THE OWNER IS ASKED ONE QUESTION PER TURN, WITH OPTIONS AND ONE RECOMMENDATION,
41
45
  AND THE ANSWER IS WRITTEN DOWN BEFORE THE NEXT QUESTION IS PUT.
@@ -87,7 +91,10 @@ at all. Re-classifying a technical `3` to `2` is a legitimate outcome of this
87
91
  run, recorded on the entry (`Class: 2 — council-decidable. Corrected from 3 on
88
92
  YYYY-MM-DD`), written as the bold field `- **Class:** 2 — …` the lint reads.
89
93
  Read each entry's `- **Ownership:**` too: `product-owned`, `business-owned` and
90
- `destructive-owned` are locked to the owner whatever the class says.
94
+ `destructive-owned` are the author's routing claim, written when nobody had run
95
+ the test. They mark a candidate for the owner, never a destination: the
96
+ blocker still goes into the council batch, whose owner-reserved test (§ Running
97
+ the council) decides whether it reaches the owner.
91
98
 
92
99
  `unblocksSteps` is the open-step count of the whole roadmap the blocker sits in,
93
100
  the same number for every blocker of that roadmap. Order by the steps a blocker
@@ -151,11 +158,14 @@ uses, with one blocker-specific rung added (execution):
151
158
  (`decision-revisit-gate` sends those council-first). See § Running the
152
159
  council. Where no council is available, the **team** rung (`ai_team`) takes
153
160
  its place.
154
- 7. **The owner** — **only** `product-owned`, `business-owned` and
155
- `destructive-owned` decisions, and the transitions `decision-revisit-gate`
156
- reserves (lowering a safety floor, an irreversible or external commitment,
157
- spend above a delegated threshold). A technical decision never reaches here
158
- by being hard. One exception, from the ownership contract: a
161
+ 7. **The owner** — **only** what the council's batch pass marked
162
+ owner-reserved (either seat), or split on with the split surviving a
163
+ measurement: `product-owned`, `business-owned` and `destructive-owned`
164
+ decisions, and the transitions `decision-revisit-gate` reserves (lowering a
165
+ safety floor, an irreversible or external commitment, spend above a
166
+ delegated threshold, governance self-amendment). A technical decision never
167
+ reaches here by being hard, and an owner-labelled one never reaches here
168
+ without the council's pass. One exception, from the ownership contract: a
159
169
  `critical-technical` question with a single provider present degrades to
160
170
  **owner-confirm of the agent's proposal**, never to one model reviewing
161
171
  itself. See § Asking the owner.
@@ -182,10 +192,31 @@ Council availability is the resolver's answer, never the project tree's:
182
192
  agent-config council:status
183
193
  ```
184
194
 
185
- 1. **Batch the questions.** All council-owned blockers of a run go into **one**
186
- question file under `agents/runtime/council/questions/` — one numbered
195
+ 1. **Batch the questions — all of them, before any owner question.** Every
196
+ blocker rungs 1–4 did not close goes into **one** question file under
197
+ `agents/runtime/council/questions/`, including those labelled `Owner: user`,
198
+ `product-owned`, `business-owned` or `destructive-owned` — one numbered
187
199
  section per blocker, each carrying the blocker's five fields, the Phase-2
188
- evidence and the candidate options. One run, not one per blocker.
200
+ evidence and the candidate options. One run, not one per blocker. The file
201
+ opens with the owner-reserved test, quoted from `decision-revisit-gate`'s
202
+ owner-reserved table: the chosen option would change the project's purpose
203
+ or a declared non-negotiable outcome; **lower** or remove a recorded
204
+ security / privacy / safety / data-handling floor; be irreversible or
205
+ materially destructive; spend or carry liability above a delegated
206
+ threshold; create, remove or weaken a legal, contractual, licensing,
207
+ compatibility or public commitment; or amend governance itself (reopening
208
+ authority, quorum, escalation, the owner-reserved set). Strengthening a
209
+ floor, or anything reversible inside these bounds, is council-decidable.
210
+ Each section then asks for three answers, in this order:
211
+ 1. **Owner-reserved?** — yes / no, naming the clause, per option where the
212
+ options differ (one option can be reserved while another is not);
213
+ 2. **Choice** — the option the seat takes if it is council-decidable, and
214
+ the option it would recommend to the owner if it is not;
215
+ 3. **The fact that would change the answer.**
216
+ A recorded decision that reserved the question to the owner (a `## Decisions`
217
+ row, an ADR) is put to the same test, as a reopening per
218
+ `decision-revisit-gate` — the council says whether the reservation still
219
+ holds; it never lifts one on its own authority.
189
220
  2. **Write the question neutrally** — scope, evidence, options. No
190
221
  recommendation and no expected verdict, in either direction: the council is
191
222
  judging a decision the agent would otherwise take, so the agent's lean stays
@@ -205,7 +236,13 @@ agent-config council:status
205
236
  checkout that has run a council first — without it every seat reads as
206
237
  unavailable. `--output` must sit under `agents/runtime/council/responses/`;
207
238
  any other directory is refused. A failed run still spends quota, so never
208
- re-run an unchanged question.
239
+ re-run an unchanged question — with one exception: a seat that is absent
240
+ for a **transport** reason (the response's `absent_members[].detail` names
241
+ an OS, network or process error, not a refusal or a verdict) allows **one**
242
+ transport retry of the unchanged file under a new `--output` name. The
243
+ retry is recorded as such, and if a seat that answered both times changed
244
+ its answer, both readings are reported. A second retry, or a retry after an
245
+ unwelcome verdict, is verdict shopping.
209
246
 
210
247
  **Exhausted quota is `spend-exhaustion`: pause and report** — which questions
211
248
  needed the council, the quota reading, `estimate --mode-override api`'s cost,
@@ -215,7 +252,10 @@ agent-config council:status
215
252
  owner has said yes to the metered rung, `agent-config council:grant-billing
216
253
  <run_id>` records that yes for one run, and only then does
217
254
  `--mode-override api` run.
218
- 4. **Read the verdict honestly.** 2/2 agreeing → decided. 1/2 present is a
255
+ 4. **Read the verdict honestly.** Route first: a blocker both seats call **not**
256
+ owner-reserved is decided by the council's choice and never reaches the
257
+ owner; one that either seat calls owner-reserved goes to the owner, carrying
258
+ the seats' recommended option. Then the choice: 2/2 agreeing → decided. 1/2 present is a
219
259
  single-seat reading (`DEGRADED`), never a convergence: accept it for a
220
260
  `reversible-technical` or `contested-technical` question and say so; for a
221
261
  `critical-technical` one it degrades to owner-confirm of the proposal.
@@ -239,12 +279,18 @@ EVERY QUESTION IS ANSWERABLE WITH ONE NUMBER.
239
279
  THE ANSWER IS RECORDED AND APPLIED BEFORE THE NEXT QUESTION IS PUT.
240
280
  ```
241
281
 
282
+ The queue holds only what the council's batch pass routed here (§ Running the
283
+ council, step 4) — never a blocker the pass did not see, and never one both
284
+ seats called council-decidable. With `--no-council`, or when no seat is
285
+ available, say so in the queue line: the routing is then the agent's, unchecked.
286
+
242
287
  Before the first question, one short line says how many owner questions the run
243
288
  has left after the council (`3 decisions need you — here is the first`), so the
244
289
  owner knows the length of the queue. Then, per question:
245
290
 
246
291
  - **Context in two sentences** — what is blocked and what it unblocks.
247
- - **What the council said**, if it ran: verdict or the split.
292
+ - **What the council said** — why it is owner-reserved (the clause each seat
293
+ named), and the option each seat would recommend, or the split.
248
294
  - **What exactly you do**, if the answer needs an act only the owner can
249
295
  perform — a repository setting, a ruleset toggle, a credential, a tag: the
250
296
  literal step (the page, the field, the command), so nothing has to be looked
@@ -345,11 +391,15 @@ council's to answer. The ledger and the inline council record are the control.
345
391
  - Mark a blocker resolved because its status is old, or because a sibling PR
346
392
  looks related. The condition, executed, is the only evidence.
347
393
  - Ask the owner what the tree, a recorded decision or the council can answer —
348
- *"Owner: user"* in the file is not a reason.
394
+ *"Owner: user"*, `Ownership: product-owned` or *"yours to set"* in the file
395
+ is not a reason.
396
+ - Put the first owner question before the council's batch pass has run over
397
+ every undecided blocker, or classify a blocker as owner-reserved yourself
398
+ when a council seat is available to run the test.
349
399
  - Ask more than one question per turn, or hand back *"four decisions are open in
350
400
  file X"*.
351
401
  - Run the council once per blocker, or re-run an unchanged question after a
352
- failure.
402
+ failure — beyond the single transport retry § Running the council allows.
353
403
  - Pass `--confirm` or switch to metered council spend without the owner's yes.
354
404
  - Cite `agents/runtime/council/` from a roadmap.
355
405
  - Execute the work a resolved blocker unblocks — this command authorizes
@@ -39,9 +39,13 @@ Without a primitive, the skill's plain `git worktree add` path applies.
39
39
 
40
40
  ### 2. Branch naming — propose once
41
41
 
42
- Derive ONE branch name from the task (`<type>/<short-slug>` per the
43
- `commit-conventions` rule), state it, and proceed. Do not present a
44
- naming menu; the user can override by naming a branch in the same turn.
42
+ Derive ONE type, slug and (if any) ticket from the task and render the name
43
+ through `git.branch_pattern`:
44
+ `agent-config git:convention branch --type <type> --slug <slug> [--ticket <ID>]`
45
+ prints the name; exit `1` names the value or pattern it refused — fix the input,
46
+ never hand-render ([`commit-subject`](../../../skills/git-workflow/references/commit-subject.md) § Rendering a branch name). State the name and proceed. It goes into every command
47
+ double-quoted (`-b "<branch>"`). Do not present a naming menu; the user can
48
+ override by naming a branch in the same turn.
45
49
 
46
50
  ### 3. Write the scope-lock note
47
51
 
@@ -66,4 +66,5 @@ whether checklist item 3 (evidence attached) now passes.
66
66
 
67
67
  - **Do NOT commit or push.** Evidence lives in the untracked scope note.
68
68
  - Red probe → report it plainly and stop; never downgrade to a weaker
69
- probe to get green (N=3 budget per `autonomous-execution`).
69
+ probe to get green (the `execution.fix_loop_max` budget and its ladder,
70
+ per `autonomous-execution`).
@@ -82,9 +82,11 @@ Never load full datasets into context. Extract what you need:
82
82
  - Do NOT loop through trial-and-error when one targeted inspection
83
83
  would reveal the cause.
84
84
  - Max 2 retries for the same approach — then stop and rethink. The 2
85
- retries plus the initial attempt ARE the three attempts of
86
- `autonomous-execution`'s N=3 stop: the 3rd consecutive failure on the
87
- same target escalates to stop-and-ask, then to `context-hygiene`'s
85
+ retries plus the initial attempt ARE the first three attempts of
86
+ `autonomous-execution`'s `execution.fix_loop_max` ladder: the 3rd
87
+ consecutive failure on the same target closes band 1 and triggers the
88
+ rule's mandatory strategy shift — never a halt, a count alone is
89
+ not a reason to ask — then, after repeated EPOCHS, to `context-hygiene`'s
88
90
  fresh-session recommendation — one ladder, not competing budgets
89
91
  ([`autonomy-mechanics § Retry-budget escalation ladder`](../../execution/autonomy-mechanics.md)).
90
92
 
@@ -54,23 +54,21 @@ command says "ask the user", you ask.
54
54
  - Max 3 diagnostic commands per error. Read the error, think, act.
55
55
  - One hypothesis at a time. Pick the most likely, try it. Fails →
56
56
  next hypothesis; failures on the same target accrue to the ONE
57
- retry ladder (2 retries per approach → N=3 stop-and-ask, per
57
+ retry ladder (2 retries per approach → the 3rd closes band 1 and
58
+ triggers a mandatory strategy shift, never a halt, per
58
59
  [`autonomy-mechanics § Retry-budget escalation ladder`](../../execution/autonomy-mechanics.md))
59
60
  — never a separate one-strike cap.
60
61
 
61
62
  ### Keep intermediate output minimal
62
63
 
63
- Read `personal.minimal_output` (default: `true`) and
64
- `personal.play_by_play` (default: `false`) from `.agent-settings.yml`.
65
-
66
- When `personal.minimal_output: true`:
64
+ Not a setting — this is the behavior
65
+ [`direct-answers`](../../../rules/direct-answers.md) Iron Law 3 already
66
+ mandates:
67
67
 
68
68
  - Multi-step work: short bullet points only, no paragraphs.
69
69
  - No thinking out loud — user doesn't need your reasoning.
70
- - `personal.play_by_play: false` → silently investigate, report
71
- conclusion only.
72
- - `personal.play_by_play: true` → briefly share intermediate
73
- findings.
70
+ - Silently investigate, report the conclusion only. Share intermediate
71
+ findings only when the user asks for them in the turn.
74
72
  - At the end: concise summary — what changed, what user needs to
75
73
  know.
76
74
 
@@ -36,7 +36,7 @@ match() → raw scored matches per eligible command
36
36
  │
37
37
  ▼
38
38
  rank() → apply floor, drop blocklisted, anti-noise heuristics,
39
- cap at max_options, stable tie-break
39
+ cap at 4 options, stable tie-break
40
40
  │
41
41
  ▼
42
42
  apply_cooldown() → drop (command, evidence) pairs shown in window
@@ -123,11 +123,13 @@ track separately.
123
123
 
124
124
  | Scope | Key | Effect |
125
125
  |---|---|---|
126
- | Whole project | `commands.suggestion.enabled: false` | Layer fully silent; explicit slashes still work |
127
126
  | Specific command | `commands.suggestion.blocklist: [cmd1, cmd2]` | Those commands never appear; still callable |
128
127
  | Specific conversation | User types `/command-suggestion-off` | Disabled until user types `/command-suggestion-on` or chat ends |
129
128
 
130
- Per-command frontmatter overrides the global floor and cooldown:
129
+ There is no project-wide off switch: `commands.suggestion.enabled` and the
130
+ global floor / cooldown / option-cap keys were retired on 2026-10-09 with their
131
+ defaults (on · `0.6` · 600 s · 4) as fixed behavior. Per-command frontmatter
132
+ still overrides the floor and cooldown for that command:
131
133
 
132
134
  ```yaml
133
135
  suggestion:
@@ -195,8 +197,8 @@ Together they enforce:
195
197
 
196
198
  On Claude.ai Web / Skills API, the suggester package is **not** part
197
199
  of the standard bundle (T2 ZIPs ship rules + skills, not Python
198
- helpers). Treat `commands.suggestion.enabled` as `false` — degrade
199
- silently, never crash the turn. Local agents (Augment, Claude Code,
200
+ helpers). Treat the layer as absent there — degrade silently, never crash
201
+ the turn. Local agents (Augment, Claude Code,
200
202
  Cursor, Cline, Windsurf) get the engine via `scripts/`.
201
203
 
202
204
  ## See also
@@ -204,4 +206,4 @@ Cursor, Cline, Windsurf) get the engine via `scripts/`.
204
206
  - [`command-suggestion`](../../rules/command-suggestion-policy.md) — runtime rule
205
207
  - [`adr-command-suggestion.md`](adr-command-suggestion.md) — architectural decision
206
208
  - [`command-suggestion-eligibility.md`](command-suggestion-eligibility.md) — locked eligibility table
207
- - [`agent-settings`](../../templates/agent-settings.md) — `commands.suggestion.*` reference
209
+ - [`agent-settings`](../../templates/agent-settings.md) — `commands.suggestion.blocklist` reference
@@ -33,12 +33,15 @@ Live Phase 1 schema (see [`templates/agent-settings.md`](../../templates/agent-s
33
33
 
34
34
  | Key | One-line semantics |
35
35
  |---|---|
36
- | `verbosity.preview_artifacts` | When `false`, skip generated commit messages / PR titles / branch names preview before acting. |
37
- | `verbosity.routine_confirmations` | When `false`, skip "looks good?" gates on routine workflow steps. Iron-Law gates always ask. |
38
36
  | `verbosity.offer_council_in_delivery` | When `false`, delivery commands skip the optional "run Council on this?" offer. |
39
- | `verbosity.post_action_reports` | `off` / `minimal` / `full` — multi-line status blocks after a successful action. |
40
- | `verbosity.intent_announcements` | When `false`, writers must not generate "Let me…", "Now I will…", "Found it" openers. |
41
- | `telegraph.speak` | When `false` (the shipped default) the telegraph-speak rule does not ship at all; when `true` its own carve-out list states the grammar's scope — options blocks, Iron-Law literals, code, and paths stay byte-stable. |
37
+
38
+ Five former hooks were retired on 2026-10-09 with their defaults as the fixed
39
+ behavior, so writers state the behavior instead of citing a key: no preview of
40
+ generated commit messages / PR titles / branch names before acting; no
41
+ "looks good?" gate on a routine step with one obvious answer (Iron-Law gates
42
+ always ask); after a successful action, a one-line confirmation, never a
43
+ multi-line status block; no "Let me…", "Now I will…", "Found it" openers; and
44
+ the telegraph-speak rule does not ship.
42
45
 
43
46
  Phase 10 adds `verbosity.script_output` (`silent` / `minimal` / `verbose`) and `verbosity.taskfile_command_echo` (`true` / `false`); writer artifacts cite this row when those land.
44
47
 
@@ -276,5 +276,5 @@ rung-3 degrade path, the recursive-dispatch guard and every ∅ case.
276
276
 
277
277
  - [`auto-orchestration-activation`](auto-orchestration-activation.md) — the enable/auto/manifest gate that runs before classification.
278
278
  - [`subagent-orchestration`](../../skills/subagent-orchestration/SKILL.md) — the modes this selects.
279
- - [`autonomous-execution`](../../rules/autonomous-execution.md) — the N=3 budget any LLM-classification v2 must respect.
279
+ - [`autonomous-execution`](../../rules/autonomous-execution.md) — the fix-loop budget v2 must respect.
280
280
  - [`orchestration-telemetry`](orchestration-telemetry.md) § Registered always-on metrics — the judgment-ladder precision metric this ladder feeds.
@@ -17,7 +17,6 @@ set, and what the host can physically do.
17
17
 
18
18
  | Key | Default | Purpose |
19
19
  |---|---|---|
20
- | `subagents.downshift` | `true` | Route delegable sub-tasks to the lowest-capable tier (Phase 2). |
21
20
  | `subagents.quota_arbitrage` | `true` | Prefer a separate-quota-pool model where the host manifest allows it (Phase 2 bonus). |
22
21
  | `subagents.model_map` | `{}` | Optional per-tier model override for downshift routing. |
23
22
  | `emergency.orchestration_halt` | `false` | The ONE audited incident switch — see [`settings-classes.md`](../../docs/contracts/settings-classes.md) § "The one exception". NOT an activation gate: on-by-default, ceremony-free to arm, requires a non-empty `orchestration_halt_justification` to disarm. |
@@ -164,8 +164,8 @@ explicitly and the default flips back only on a positive reuse signal).
164
164
  - **Redaction on write.** Promotion runs the `low-impact-corpus-privacy-floor`
165
165
  + `source-confidentiality` pattern set and **halts** on any hit — never
166
166
  silent-shares, never auto-rewrites.
167
- - **Promotion is hybrid.** A `public`/`vendor` card seen in ≥`auto_promote_threshold`
168
- distinct repos triggers a one-tap **suggestion**; never a silent write.
167
+ - **Promotion is hybrid.** A `public`/`vendor` card seen in ≥2 distinct repos
168
+ triggers a one-tap **suggestion**; never a silent write.
169
169
 
170
170
  ## Evidence v2 rollback target (Phase 0)
171
171
 
@@ -104,25 +104,22 @@ black box):
104
104
 
105
105
  ## 7. Kill-switch — disable auto-detection without a rollback
106
106
 
107
- Three override layers, narrowest wins:
107
+ Two override layers, narrowest wins:
108
108
 
109
109
  1. **Per-invocation:** `--no-auto-detect` → fall back to the menu
110
110
  (interactive) or `missing_sub_command` (CI).
111
111
  2. **Per-orchestrator:** `auto_detect: false` in the command's
112
112
  front-matter → that orchestrator always shows the menu.
113
- 3. **Global:** `commands.auto_detect: disabled | warn | enabled` in
114
- `.agent-settings.yml` (default `enabled`; `warn` = detect but always
115
- confirm).
116
113
 
117
- A misbehaving heuristic is disabled by config, not by reverting 6.1.0.
114
+ There is no global switch: the `commands.auto_detect` settings key was retired
115
+ on 2026-10-09 with its default (`enabled`) as the fixed behavior, so a
116
+ misbehaving heuristic is disabled per orchestrator, not by reverting 6.1.0.
118
117
 
119
118
  ## 8. Rollback procedure (every orchestrator references this)
120
119
 
121
120
  1. Re-run with the explicit sub-command (`/judge solo`) — detection is
122
121
  skipped.
123
- 2. Disable globally: `commands.auto_detect: disabled` in
124
- `.agent-settings.yml`.
125
- 3. Disable one orchestrator: set `auto_detect: false` in its
122
+ 2. Disable one orchestrator: set `auto_detect: false` in its
126
123
  front-matter — the change takes effect on the next projection/sync.
127
124
 
128
125
  ## See also
@@ -23,11 +23,11 @@ maintain a model list, and never ship heavy/light content variants (two variants
23
23
 
24
24
  ## Three signals (all table-free)
25
25
 
26
- 1. **User settings** — read the `reasoning:` block in `.agent-settings.yml`:
26
+ 1. **User settings** — read `reasoning.enabled` in `.agent-settings.yml`:
27
27
  - `enabled: false` → the whole layer is inert. Stop here.
28
- - per-component switch off (e.g. `components.verifier_default: false`) → that
29
- component never fires.
30
- - `auto_gate: false` → skip signal 3 (self-assessment); gate on signal 2 only.
28
+ - There is no per-component switch and no switch for signal 3: both were
29
+ retired on 2026-10-09 with their default (`true`) as the fixed behavior,
30
+ so every component follows signals 2 and 3 below.
31
31
  2. **Task signal** (knowable per turn, no model lookup):
32
32
  - **Skip** RDP when the task is trivial / short / fully-specified (rename,
33
33
  typo, format, one-line edit, list files, bump a version).