@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
@@ -111,20 +111,6 @@ personal:
111
111
  # Detected and set by /onboard on first run.
112
112
  rtk_installed: false
113
113
 
114
- # Minimal output mode (true, false)
115
- # true = short bullet points during work, concise summary at the end
116
- # false = verbose explanations and reasoning
117
- minimal_output: true
118
-
119
- # Play-by-play mode (true, false)
120
- # true = briefly share intermediate findings as you go
121
- # false = silently investigate, only report the conclusion
122
- play_by_play: false
123
-
124
- # Prefix PR comment replies with a bot icon 🤖 (true, false)
125
- # Personal preference — each developer decides for themselves.
126
- pr_comment_bot_icon: false
127
-
128
114
  # Autonomous execution — suppress trivial workflow questions (on, off, auto)
129
115
  # on = act on the obvious next step; never ask "Step 2 or 3?", "should I commit?", etc.
130
116
  # off = ask trivial workflow questions (legacy behavior)
@@ -136,9 +122,6 @@ personal:
136
122
 
137
123
  # --- Project / team preferences ---
138
124
  project:
139
- # Path to the PR template file (relative to project root)
140
- pr_template: .github/pull_request_template.md
141
-
142
125
  # Target repository for universal improvement PRs (e.g. org/agent-config)
143
126
  upstream_repo: ""
144
127
 
@@ -224,14 +207,6 @@ hooks:
224
207
  # outside the standard location.
225
208
  # script: scripts/chat_history.ts
226
209
 
227
- # --- Optional pipelines ---
228
- pipelines:
229
- # Skill improvement pipeline (true, false)
230
- # true = after meaningful tasks, propose learning capture and improvements (default)
231
- # false = silent, no post-task analysis
232
- # Included by every rule_loading_tier except `custom`.
233
- skill_improvement: true
234
-
235
210
  # --- Roadmap execution ---
236
211
  #
237
212
  # Controls when /roadmap:process-* runs the project's quality pipeline.
@@ -239,22 +214,6 @@ pipelines:
239
214
  # response — that cadence is governed by `roadmap-progress-sync` and
240
215
  # is non-negotiable. This setting only governs *quality tool runs*.
241
216
  roadmap:
242
- # Skip the pre-run confirmation gate when /roadmap:process-step|phase|full
243
- # is invoked (true, false).
244
- # true = default. The command name itself names the scope; if a
245
- # single active roadmap is discoverable (or the user named
246
- # one), the loop starts immediately. The resolved roadmap /
247
- # cadence / council setting are surfaced inline as a one-shot
248
- # note so an unwanted pick can still be aborted mid-stream.
249
- # false = legacy. The loop shows the pre-run summary with numbered
250
- # options (Go / Different roadmap / Different scope / Toggle
251
- # council / Abort) and waits for input.
252
- # The gate is still shown — regardless of this flag — when the roadmap
253
- # is ambiguous (multiple active, none named) or a scope / cadence
254
- # conflict has no sensible default. The flag suppresses the
255
- # confirmation, never a genuine "which roadmap?" question.
256
- skip_pre_run_gate: true
257
-
258
217
  # When to run quality tools during /roadmap:process-step|phase|full.
259
218
  # end_of_roadmap = once, before archiving (default — fastest, fewest tokens)
260
219
  # per_phase = once after every completed phase
@@ -292,7 +251,8 @@ subagents:
292
251
  judge_model: ""
293
252
 
294
253
  # Maximum number of parallel subagent invocations (integer, default 3)
295
- # Set to 1 to serialize. Hard cap enforced by runtime.
254
+ # Set to 1 to serialize. A limit the model reads from settings — no
255
+ # code counts spawns against it.
296
256
  max_parallel: 3
297
257
 
298
258
  # --- Recursive self-verification (see skills/recursive-verification) ---
@@ -369,17 +329,8 @@ onboarding:
369
329
  # never auto-executes — the user picks. See `rules/command-suggestion-policy.md`.
370
330
  commands:
371
331
  suggestion:
372
- # Master switch (true, false). `false` = the layer is silent;
373
- # explicit `/commands` still work as today.
374
- enabled: true
375
- # Minimum match score (0.0–1.0) before a suggestion surfaces.
376
- confidence_floor: 0.6
377
- # Cooldown in seconds between re-suggestions of the same
378
- # (command, evidence) pair. Default 600 = 10m.
379
- cooldown_seconds: 600
380
- # Max number of command suggestions before the as-is option.
381
- # The as-is option is always extra (total rendered = max_options + 1).
382
- max_options: 4
332
+ # The layer is always on; floor 0.6, cooldown 600s and a cap of 4
333
+ # options (plus the as-is option) are fixed.
383
334
  # Commands to never suggest. Still work when typed explicitly.
384
335
  blocklist: []
385
336
 
@@ -398,23 +349,13 @@ commands:
398
349
  # Critical info (breaking changes, migrations, security, rollback) is
399
350
  # ALWAYS included at every tier — the tier governs explanatory depth only.
400
351
  #
401
- # api_examples (default true): add a fenced JSON example for API-endpoint
402
- # changes ONLY when grounded in a real source (DTO/resource, OpenAPI,
403
- # fixture, probe); else a one-line pointer, never an invented example.
404
- #
405
352
  # screenshots (default false): capability-gated frontend screenshots.
406
353
  # true attempts capture only when the host has browser/preview tooling;
407
354
  # emits a note and leaves the placeholder when absent — never blocks the PR.
408
- #
409
- # ui_paths / api_paths: optional globs to make frontend / API detection
410
- # explicit; empty = a light heuristic that fails open.
411
355
  create_pr:
412
356
  preview_description: false
413
357
  detail_level: min
414
- api_examples: true
415
358
  screenshots: false
416
- ui_paths: []
417
- api_paths: []
418
359
 
419
360
  # --- Telemetry (artefact engagement, default-off) ---
420
361
  #
@@ -426,36 +367,20 @@ commands:
426
367
  # (once Phase 3 of road-to-artifact-engagement-telemetry lands).
427
368
  # --- Verbosity (token frugality) ---
428
369
  #
429
- # Five toggles controlling what the agent shows after acting.
430
- # Default = terse. Flip to true to restore legacy verbose output.
370
+ # What the agent shows after acting. Default = terse. Four former toggles
371
+ # (preview_artifacts, routine_confirmations, post_action_reports,
372
+ # intent_announcements) were retired on 2026-10-09 with the terse default
373
+ # as fixed behavior.
431
374
  # See agents/roadmaps/road-to-token-frugality.md for the full rationale
432
375
  # and the contexts/contracts/frugality-charter.md for the writer-side
433
376
  # standard.
434
377
  verbosity:
435
- # Show generated commit messages, PR titles/bodies, branch names
436
- # before acting. false = use generated content directly.
437
- preview_artifacts: false
438
-
439
- # Confirmation prompts for routine workflow steps when there is
440
- # one obvious answer ("looks good — commit?"). Iron-Law gates
441
- # (commit-policy, scope-control git-ops, non-destructive) ALWAYS
442
- # ask regardless of this flag.
443
- routine_confirmations: false
444
-
445
378
  # Offer "run AI Council on this?" inside delivery commands
446
379
  # (/feature-plan, /review-changes, /roadmap-create). Council
447
380
  # commands themselves (/council, /create-pr → already excluded)
448
381
  # are unaffected.
449
382
  offer_council_in_delivery: false
450
383
 
451
- # Multi-line status / summary blocks after a successful action.
452
- # off | minimal | full — default minimal (one-line confirmation).
453
- post_action_reports: minimal
454
-
455
- # Intent announcements ("Let me check…", "Now I will…", "Found
456
- # it") in skill bodies. false = act and emit the result.
457
- intent_announcements: false
458
-
459
384
  # Script stdout chatter from `scripts/*.ts`, `scripts/*.sh`, and
460
385
  # `.augment/scripts/`. Read by the helper module
461
386
  # `scripts/_lib/script_output.ts`.
@@ -473,19 +398,6 @@ verbosity:
473
398
  # safe task per Phase 10.3.
474
399
  taskfile_command_echo: false
475
400
 
476
- # --- Telegraph condensation (output-side) ---
477
- #
478
- # One lever, deliberately: whether the telegraph-speak rule ships at all.
479
- # The rule body states its own grammar scope — which carve-outs (numbered
480
- # options, Iron-Law literals, code, paths) stay full prose — so there is no
481
- # separate scope key to pin.
482
- telegraph:
483
- # speak: false = DORMANT (the shipped default). The rule is omitted from
484
- # dist/router.json entirely, so its body never reaches a host. That
485
- # omission is what stops the cost. Set true only after an output-side
486
- # bench clears the kill-criterion bar.
487
- speak: false
488
-
489
401
  telemetry:
490
402
  artifact_engagement:
491
403
  # Master switch. `false` (default) produces zero file IO and zero
@@ -612,11 +524,7 @@ the canonical narrative lives in
612
524
  | `personal.open_edited_files` | `true`, `false` | `false` | Auto-open edited files in the IDE after edits |
613
525
  | `personal.canary_name` | first name | _(empty)_ | Per-project OVERRIDE of the name the agent addresses the user with (session-canary). The name itself lives user-globally: `identity.name` in the wizard's `settings/.agent-user.yml`, fallback `personal.canary_name` in the user-global settings. See `rules/session-canary.md`. |
614
526
  | `personal.rtk_installed` | `true`, `false` | `false` | Whether rtk (Rust Token Killer) is installed. Detected and set by `/onboard`. |
615
- | `personal.minimal_output` | `true`, `false` | `true` | When `true`: short bullet points during work, concise summary at end. When `false`: verbose explanations. |
616
- | `personal.play_by_play` | `true`, `false` | `false` | When `true`: share intermediate findings during investigation. When `false`: work silently, report only the conclusion. |
617
- | `personal.pr_comment_bot_icon` | `true`, `false` | `false` | Prefix PR comment replies with 🤖 to indicate bot-authored replies. Personal preference — each developer decides. |
618
527
  | `personal.autonomy` | `on`, `off`, `auto` | `auto` | Suppress trivial workflow questions and act on the obvious next step. `auto` (default) defaults to `off` but flips to `on` after a prose opt-in like "arbeite selbstständig". `on` suppresses trivial questions unconditionally. `off` is the legacy ask-everything mode. Blocking decisions (security, scope expansion, push/merge/branch/PR/tag) are never suppressed. See `rules/autonomous-execution.md`. |
619
- | `project.pr_template` | file path | `.github/pull_request_template.md` | Path to PR template file. Read this instead of searching for it. |
620
528
  | `project.upstream_repo` | `org/repo` | _(empty)_ | Target repository for universal improvement PRs (e.g., `org/agent-config`). |
621
529
  | `project.improvement_pr_branch_prefix` | string | `improve/agent-` | Branch prefix for agent improvement PRs. |
622
530
  | `github.pr_reply_method` | `replies_endpoint`, `create_review_comment`, `auto` | `create_review_comment` | GitHub API method for replying to PR review comments. `auto` detects on first use. |
@@ -625,12 +533,10 @@ the canonical narrative lives in
625
533
  | `chat_history.enabled` | `true`, `false` | `true` | Persist chat events to `agents/runtime/.agent-chat-history` (JSONL) for crash recovery. |
626
534
  | `chat_history.frequency` | `per_turn`, `per_phase`, `per_tool` | per profile | Logging granularity. Defaults: `minimal`→`per_turn`, `balanced`→`per_phase`, `full`→`per_tool`. |
627
535
  | `chat_history.text_limits.{user,agent,tool,phase}` | integer (chars) | `user=0`, `agent=5000`, `tool=200`, `phase=200` | Per-entry-type text-length cap. `0` = verbatim, no slice. `N > 0` = collapse whitespace, slice to N chars, append `" … [+K chars]"` so the log self-reports truncation. Defaults match `DEFAULT_TEXT_LIMITS` in `scripts/chat_history.ts`. |
628
- | `hooks.concern_budget.{max_per_event,tier1_concerns,hard_fail}` | integer / list / `true`,`false` | `8` / `[]` / `false` | Concern budget gate for the hook dispatcher (`lint_hook_concern_budget`): caps concerns per (platform, event) cell, restricts `fail_closed: true` to the `tier1_concerns` allowlist, and `hard_fail: false` keeps the gate warn-only. |
536
+ | `hooks.concern_budget.tier1_concerns` | list | `[]` | Concern budget gate for the hook dispatcher (`lint_hook_concern_budget`): restricts `fail_closed: true` to this allowlist. The per-cell cap (8) is fixed and the gate is warn-only unless run with `--strict`. |
629
537
  | `hooks.injection_scan.enabled` | `true`, `false` | `false` | PostToolUse prompt-injection scanner: scans tool output for injection signatures and warns in context (exit 2) — never blocks. |
630
538
  | `hooks.rtk_wrap.enabled` | `true`, `false` | `false` | PreToolUse RTK-wrap nudge: when `rtk` is on PATH, warns (exit 2, never blocks) to re-run a verbose CLI command wrapped with rtk. |
631
539
  | `hooks.design_slop.enabled` | `true`, `false` | `false` | PreToolUse anti-slop nudge: runs the `lint_design_slop` registry against about-to-be-written UI content and warns (exit 2, never blocks) on P0/P1 aesthetic tells. |
632
- | `pipelines.skill_improvement` | `true`, `false` | `true` | When `true`: propose learning capture after meaningful tasks. When `false`: silent. Included in every profile except `custom`. |
633
- | `roadmap.skip_pre_run_gate` | `true`, `false` | `true` | When `true` (default): `/roadmap:process-step\|phase\|full` skips the interactive pre-run summary and starts the loop immediately — the resolved roadmap, cadence, and council are surfaced inline so an unwanted pick can still be aborted. When `false`: the loop shows the pre-run summary with numbered options (Go / Different roadmap / Different scope / Toggle council / Abort) and waits. The gate is always shown — regardless of this flag — when the roadmap is ambiguous (multiple active, none named) or a scope / cadence conflict has no sensible default. |
634
540
  | `roadmap.quality_cadence` | `end_of_roadmap`, `per_phase`, `per_step` | `end_of_roadmap` | When `/roadmap:process-step|phase|full` runs the project's quality pipeline — only relevant when `quality.local_auto_run` is `true`; when it is `false` (the default) local pipeline runs are suppressed at every cadence and remote CI is the gate. Default skips per-step / per-phase runs and gates only the final archival. `per_phase` runs once after every phase; `per_step` is the legacy verbose mode. Step checkboxes and the dashboard are always updated regardless. |
635
541
  | `quality.local_auto_run` | `true`, `false` | `false` | When `false` (default): agent NEVER runs the project's quality pipeline (`task ci`, `make test`, `npm run check`, PHPStan, ECS, Rector, test suites) proactively — and does not ask. The user runs quality tools manually; remote CI is the authoritative gate. The agent runs one only on (1) an explicit ask this turn, (2) a concrete CI failure (run exactly that failing check), or (3) the new-gate carve-out. When `true`: opt-in legacy — agent runs the pipeline autonomously when work is ready for verification. **Carve-out**: NEW CI gates / smoke tests / test files MUST run locally regardless of this flag — without execution the new gate is unverified evidence. Iron Law `verify-before-complete` still applies; suppressed runs are surfaced ("quality gates delegated to remote CI"), never claimed as passing. |
636
542
  | `subagents.implementer_model` | model alias or empty | _(empty)_ | Model for implementer subagents. Empty = same tier as session model. See [subagent-configuration](../contexts/subagent-configuration.md). |
@@ -641,23 +547,11 @@ the canonical narrative lives in
641
547
  | `personas.override` | list of persona ids | `[]` | Developer-local override of the team default lens cast (not in the shipped personal template — add the block when needed). Empty = inherit `personas.default` from `.agent-project-settings.yml`. See [`layered-settings`](../guidelines/agent-infra/layered-settings.md). |
642
548
  | `personas.ignore` | list of persona ids | `[]` | Persona ids dropped from the default cast locally. Ignored personas stay invokable via `--personas=<id>`. |
643
549
  | `onboarding.onboarded` | `true`, `false` | `false` | Whether `/onboard` has run on this project. The `onboarding-gate` rule prompts for `/onboard` when this is `false`. Missing entirely = legacy project, treated as onboarded. |
644
- | `commands.suggestion.enabled` | `true`, `false` | `true` | Master switch for the command-suggestion layer. `false` = the layer is silent; explicit `/commands` still work. See `rules/command-suggestion-policy.md`. |
645
- | `commands.suggestion.confidence_floor` | `0.0`–`1.0` | `0.6` | Minimum match score before a suggestion surfaces. Per-command frontmatter (`suggestion.confidence_floor`) overrides this global floor. |
646
- | `commands.suggestion.cooldown_seconds` | integer | `600` | Cooldown between re-suggestions of the same `(command, evidence)` pair. `600` = 10m. |
647
- | `commands.suggestion.max_options` | integer | `4` | Max number of command suggestions before the always-present "run as-is" option (total rendered = `max_options + 1`). |
648
550
  | `commands.suggestion.blocklist` | list of command names | `[]` | Commands that never appear as a suggestion. They still work when typed explicitly. |
649
551
  | `commands.create_pr.preview_description` | `true`, `false` | `false` | When `false`: `/create-pr` skips the title/body preview + adjust loop and uses the generated content directly. Saves agent tokens. When `true`: show title and body before creating and ask for adjustments. `/create-pr:description-only` always previews regardless of this setting. |
650
552
  | `commands.create_pr.detail_level` | `min`, `med`, `max` | `min` | Verbosity tier of the PR Description body. `min` = title + 2-3 sentence what/why/impact + ticket; `med` = + grouped changes + tests note; `max` = + how-to-test + edge cases + reviewer guidance. Critical info (breaking / migration / security / rollback) is included at every tier. |
651
- | `commands.create_pr.api_examples` | `true`, `false` | `true` | Add a grounded JSON example for API-endpoint changes; `true` includes one only from a real source (DTO/OpenAPI/fixture/probe), else a pointer, never invented; `false` = never. |
652
553
  | `commands.create_pr.screenshots` | `true`, `false` | `false` | Capability-gated frontend screenshots. `true` attempts capture when browser/preview tooling is present; notes-and-skips otherwise, never blocks the PR. Before/after is best-effort. |
653
- | `commands.create_pr.ui_paths` | glob list | `[]` | Optional globs pinning frontend detection; empty = light heuristic, fail-open. |
654
- | `commands.create_pr.api_paths` | glob list | `[]` | Optional globs pinning API-endpoint detection; empty = light heuristic, fail-open. |
655
- | `verbosity.preview_artifacts` | `true`, `false` | `false` | Show generated commit messages, PR titles/bodies, branch names before acting. `false` = use generated content directly. See the token-frugality plate under `agents/roadmaps/` (Phase 2/3). |
656
- | `verbosity.routine_confirmations` | `true`, `false` | `false` | Confirmation prompts for routine workflow steps when there is one obvious answer ("looks good — commit?"). Iron-Law gates (`commit-policy`, `scope-control` git-ops, `non-destructive-by-default`) ALWAYS ask regardless. |
657
554
  | `verbosity.offer_council_in_delivery` | `true`, `false` | `false` | Offer "run AI Council on this?" inside delivery commands (`/feature-plan`, `/review-changes`). Council commands themselves are unaffected. `/roadmap:create` no longer reads it — under a mission the council is a step, resolved from `agent-config council:status`, never an offer. |
658
- | `verbosity.post_action_reports` | `off`, `minimal`, `full` | `minimal` | Multi-line status / summary blocks after a successful action. `off` = no report; `minimal` = one-line confirmation; `full` = bullet list. |
659
- | `verbosity.intent_announcements` | `true`, `false` | `false` | Intent announcements ("Let me check…", "Now I will…", "Found it") in skill bodies. `false` = act and emit the result. |
660
- | `telegraph.speak` | `true`, `false` | `false` | Whether the telegraph-speak rule ships at all. `false` (default) = dormant: the projector omits the rule from `dist/router.json`, so its body never reaches a host. The rule body states its own grammar scope and carve-outs (numbered options, Iron-Law literals, code, paths), so this is the only lever. |
661
555
  | `telemetry.artifact_engagement.enabled` | `true`, `false` | `false` | Master switch for the artefact engagement log. Not in the shipped template — a missing `telemetry:` section means disabled (the recording rule no-ops). Default-off; zero file IO and zero token cost when `false`. Maintainer-targeted; consumers leave it off. |
662
556
  | `telemetry.artifact_engagement.granularity` | `task`, `phase-step`, `tool-call` | `task` | Boundary at which events are recorded. `tool-call` is expensive — opt-in only. |
663
557
  | `telemetry.artifact_engagement.record.consulted` | `true`, `false` | `true` | When `true`: record artefacts loaded into context. |
@@ -675,11 +569,6 @@ the canonical narrative lives in
675
569
  | `linked_projects_max_files` | integer | `20000` | File-count ceiling above which a detected sibling is flagged `large` (awareness only). Never excludes. |
676
570
  | `knowledge.global_sharing.enabled` | `true`, `false` | `true` | **User-global** (keep in `~/.event4u/agent-config/agent-settings.yml`). Master switch for the file-first global knowledge-card store (ADR-100; default-ON per ADR-119, the council-validated bounded-downside flip superseding ADR-103 — adversarially spot-checked redaction incl. hidden-unicode hardening, narrowest tier default, pre-registered demotion trigger). `false` fully no-ops the layer (single-key revert); v1 project-local cards unaffected. |
677
571
  | `knowledge.global_sharing.allowed_tiers` | list of `public`,`vendor`,`proprietary` | `[public]` | Origin tiers auto-eligible to cross a project boundary. Narrowest default per ADR-119; `vendor` is a deliberate opt-in widening. `proprietary` is manual-only regardless (the gate hard-codes it). |
678
- | `knowledge.global_sharing.redaction.enabled` | `true`, `false` | `true` | Run the privacy-floor + source-confidentiality scan before any card goes global. |
679
- | `knowledge.global_sharing.redaction.halt_on_trigger` | `true`, `false` | `true` | Halt-and-surface on a confidential-pattern hit; never silent-share, never auto-rewrite. |
680
- | `knowledge.global_sharing.auto_promote_threshold` | integer | `2` | Distinct-repo count that triggers a promotion **suggestion** (never a silent write). |
681
- | `knowledge.global_sharing.freshness.hypothesis_after_days` | integer | `90` | Global card older than this is lead-only (positive structure re-confirmed before use). |
682
- | `knowledge.global_sharing.freshness.stale_after_days` | integer | `180` | Global card older than this is skipped until re-verified. |
683
572
 
684
573
  ### Rename-Map (migration)
685
574
 
@@ -693,15 +582,10 @@ Applied automatically when `scripts/install` finds a legacy `.agent-settings`
693
582
  | `open_edited_files` | `personal.open_edited_files` |
694
583
  | `user_name` | `personal.user_name` |
695
584
  | `rtk_installed` | `personal.rtk_installed` |
696
- | `minimal_output` | `personal.minimal_output` |
697
- | `play_by_play` | `personal.play_by_play` |
698
- | `pr_comment_bot_icon` | `personal.pr_comment_bot_icon` |
699
- | `pr_template` | `project.pr_template` |
700
585
  | `upstream_repo` | `project.upstream_repo` |
701
586
  | `improvement_pr_branch_prefix` | `project.improvement_pr_branch_prefix` |
702
587
  | `github_pr_reply_method` | `github.pr_reply_method` |
703
588
  | `eloquent_access_style` | `eloquent.access_style` |
704
- | `skill_improvement_pipeline` | `pipelines.skill_improvement` |
705
589
  | `subagent_implementer_model` | `subagents.implementer_model` |
706
590
  | `subagent_judge_model` | `subagents.judge_model` |
707
591
  | `subagent_max_parallel` | `subagents.max_parallel` |
@@ -709,6 +593,40 @@ Applied automatically when `scripts/install` finds a legacy `.agent-settings`
709
593
  Unknown keys in the legacy file are preserved under a `_legacy:` section
710
594
  so nothing is silently dropped; the migration log points them out.
711
595
 
596
+ ### Retired keys
597
+
598
+ These keys were removed because their shipped default is the only behavior
599
+ the package supports; the behavior they described is unchanged. A leftover
600
+ value in an older `.agent-settings.yml` is ignored with one stderr line per key
601
+ (`<key> was removed (<what decides instead>); ignored.`) — the registry is
602
+ `REMOVED_KEYS` in `scripts/_lib/settings_removed_keys.ts`. Delete the line to
603
+ silence it.
604
+
605
+ | Retired 2026-10-09 | Fixed behavior |
606
+ |---|---|
607
+ | `personal.minimal_output`, `personal.play_by_play`, `verbosity.preview_artifacts`, `verbosity.routine_confirmations`, `verbosity.post_action_reports`, `verbosity.intent_announcements` | terse replies, no narration, no preview, no routine confirmation, one-line post-action report (`direct-answers` Iron Law 3) |
608
+ | `personal.pr_comment_bot_icon` | no 🤖 prefix (`no-decorative-emojis-in-git-surfaces`) |
609
+ | `telegraph.speak` | the telegraph-speak rule does not ship (bench verdict, ADR telegraph/0002) |
610
+ | `tokens.rich_skills` | `token_budget_class: rich` skills load in full (`token-budget-discipline`) |
611
+ | `reasoning.auto_gate`, `reasoning.components.*` (nine switches) | every RDP component follows the gate's task and host signals (`rdp-gate`); `reasoning.enabled` stays the hard off |
612
+ | `roadmap.skip_pre_run_gate` | no pre-run confirmation; only an ambiguous roadmap or an unresolvable conflict shows the gate |
613
+ | `roadmap.dashboard_regen_cadence` | dashboard regen every 5th closed step, at phase boundaries, at reply end and on any file-shape touch |
614
+ | `commands.auto_detect` | orchestrators auto-detect; opt one out with `auto_detect: false` in its front-matter or one run with `--no-auto-detect` |
615
+ | `commands.suggestion.enabled`, `.confidence_floor`, `.cooldown_seconds`, `.max_options` | suggestion layer always on, floor 0.6, cooldown 600 s, at most 4 options; `blocklist` and per-command frontmatter still apply |
616
+ | `commands.create_pr.api_examples`, `.ui_paths`, `.api_paths` | grounded API examples always added; frontend / API detection by the light heuristic |
617
+ | `memory.cadence` | the 🧠 memory line renders whenever a memory type was asked; `memory.visibility: off` still silences it |
618
+ | `memory.review_threshold` | `/memory load` previews intake signals above a fixed 10 |
619
+ | `knowledge.global_sharing.redaction.*`, `.auto_promote_threshold`, `.freshness.*` | redaction always runs and halts on a hit; promotion suggested at 2 repos; lead-only after 90 days, skipped after 180 |
620
+ | `hooks.concern_budget.max_per_event`, `.hard_fail` | at most 8 concerns per (platform, event) cell; warn-only unless the gate runs with `--strict` |
621
+ | `decision_engine.surface_traces` | no per-phase decision-trace file (accepted in the `decision_engine:` block and ignored) |
622
+ | `decision_engine.on_block_fallback` | an `on_block: ask` that times out stops (accepted and ignored) |
623
+ | `explain.enable_last` | `agent-config explain last` always renders the trace |
624
+ | `project.pr_template` | `/create-pr` reads `.github/pull_request_template.md` |
625
+ | `pipelines.skill_improvement` | post-task learning capture is always proposed (`skill-improvement-trigger`) |
626
+ | `consistency.cross_source` | cross-source discrepancies are always surfaced and asked, batched into one question |
627
+ | `subagents.downshift` | delegable sub-tasks always run on the lowest-capable tier they declare |
628
+ | `ai_team.suppress_setup_hint` | the one-line team-mode setup hint is always shown (accepted and ignored in the `ai_team:` block) |
629
+
712
630
  ## Cost profiles
713
631
 
714
632
  The `rule_loading_tier` setting selects which agent surfaces are active. See
@@ -721,10 +639,9 @@ The `rule_loading_tier` setting selects which agent surfaces are active. See
721
639
  | `full` | `balanced` + Tool adapters (GitHub / Jira, read-only, opt-in). |
722
640
  | `custom` | Ignore profile — every matrix value must be set explicitly. |
723
641
 
724
- **Learning loop:** `pipelines.skill_improvement` is `true` by default and is
725
- included in every profile except `custom`. It triggers post-task learning
726
- capture via the `skill-improvement-trigger` rule. Flip to `false` in the
727
- settings file if you want a silent agent without touching the profile.
642
+ **Learning loop:** post-task learning capture runs in every profile via the
643
+ `skill-improvement-trigger` rule. It is a proposal the user confirms, not a
644
+ setting (`pipelines.skill_improvement` was retired on 2026-10-09).
728
645
 
729
646
  Other per-feature toggles may be added in future releases; when they land,
730
647
  they ship with a live consumer in code and get documented here, not before.
@@ -7,8 +7,8 @@
7
7
  # Precedence (lowest → highest):
8
8
  # 1. Package defaults (shipped by event4u/agent-config)
9
9
  # 2. ~/.event4u/agent-config/agent-settings.yml — user-global DX-comfort
10
- # defaults (whitelist: name, ide, rule_loading_tier, personal.bot_icon,
11
- # personal.autonomy, memory.cadence). Created on opt-in via
10
+ # defaults (whitelist: `MERGEABLE_KEYS` in scripts/_lib/agent_settings.ts,
11
+ # e.g. name, ide, rule_loading_tier, personal.autonomy). Created on opt-in via
12
12
  # /onboard; project-local files always win. Legacy
13
13
  # ~/.config/agent-config/agent-settings.yml is read as a fallback.
14
14
  # 3. This file (.agent-project-settings.yml) — team defaults
@@ -39,7 +39,7 @@ schema_version: 1
39
39
  # CI guard: a release bump of `package.json` must update this value
40
40
  # in lockstep — see scripts/check_template_pin_drift.ts (road-to-
41
41
  # portable-runtime-and-update-check P3.3).
42
- agent_config_version: "16.3.0"
42
+ agent_config_version: "16.5.0"
43
43
 
44
44
  # --- Project identity ---
45
45
  project:
@@ -74,8 +74,8 @@ suggestion:
74
74
  [Frugality Charter](../contexts/contracts/frugality-charter.md):
75
75
  no preview-then-confirm pair, no "Ready to proceed?" gate, no
76
76
  numbered options unless options differ in *consequence* (per
77
- `no-cheap-questions § Pre-Send Self-Check`). Routine confirmations
78
- are governed by `verbosity.routine_confirmations: false` (default).
77
+ `no-cheap-questions § Pre-Send Self-Check`). A routine step with one
78
+ obvious answer is never confirmed.
79
79
 
80
80
  Only emit a numbered-options block when ALL of:
81
81
  1. Two or more options carry distinct consequences (not sequencing/format),
@@ -335,7 +335,12 @@ that was never a judgement call.
335
335
  same reply as the checkbox flip that cleared it, per
336
336
  [`roadmap-progress-sync`](../rules/roadmap-progress-sync.md). A
337
337
  step gated by a specific blocker may cross-reference it inline:
338
- `- [ ] … <!-- blocked-by: <blocker-id> -->`.
338
+ `- [ ] … <!-- blocked-by: <blocker-id> -->`. A bare id resolves in the
339
+ same file only. A blocker declared in ANOTHER active roadmap or stub is
340
+ named `<!-- blocked-by: <roadmap-stem>#<blocker-id> -->`; a target found
341
+ only in `later/`, `archive/` or `skipped/` is not resolvable. The marker
342
+ must name an OPEN blocker — once it resolves, remove the marker — and
343
+ `lint_roadmap_blockers` reads it on a continuation line too.
339
344
 
340
345
  **A blocker stops execution; a hold stops publication.** The two are not
341
346
  interchangeable and never substitute for one another. A blocker says the work
@@ -207,7 +207,6 @@ export const MERGEABLE_KEYS: readonly string[] = [
207
207
  // weak-host-lift-tiering + token-program-integration verdicts; ADR
208
208
  // records the whitelist addition). Wins over rule_loading_tier.
209
209
  'discipline_profile',
210
- 'memory.cadence',
211
210
  'personal.bot_icon',
212
211
  'personal.autonomy',
213
212
  // Knowledge-card global cross-project sharing is a USER-GLOBAL setting
@@ -215,11 +214,6 @@ export const MERGEABLE_KEYS: readonly string[] = [
215
214
  // ~/.event4u/agent-config/agent-settings.yml values are honoured.
216
215
  'knowledge.global_sharing.enabled',
217
216
  'knowledge.global_sharing.allowed_tiers',
218
- 'knowledge.global_sharing.redaction.enabled',
219
- 'knowledge.global_sharing.redaction.halt_on_trigger',
220
- 'knowledge.global_sharing.auto_promote_threshold',
221
- 'knowledge.global_sharing.freshness.hypothesis_after_days',
222
- 'knowledge.global_sharing.freshness.stale_after_days',
223
217
  ];
224
218
 
225
219
  const _DEFAULTS: SettingsDict = {};
@@ -24,10 +24,13 @@
24
24
  *
25
25
  * Two floors, neither invented here:
26
26
  *
27
- * - **Ceiling** — {@link SELF_FIX_CEILING} attempts per lane, which is the
28
- * N=3 validation-loop budget from the `autonomous-execution` rule, applied
29
- * per validation target (that rule resets its counter on a different
30
- * target, so the counters below are per-lane rather than per-run).
27
+ * - **Ceiling** — {@link SELF_FIX_CEILING} attempts per lane. This is the
28
+ * engine's own number, independent of the `autonomous-execution` rule's
29
+ * `execution.fix_loop_max` budget (now a default-10 ladder) — a
30
+ * deterministic, critic-free retry on an already-known verdict has no
31
+ * judgement call for that ladder's escalation rungs to apply to. The
32
+ * counters below are per-lane rather than per-run; each lane is its own
33
+ * target.
31
34
  * - **No-progress** — two consecutive attempts producing an identical verdict
32
35
  * signature stop the loop immediately, budget remaining or not. This is the
33
36
  * floor the `recursive-verification` skill already stated in prose ("two
@@ -47,9 +50,10 @@ import { type Any, Outcome, StepResult, agent_directive } from '../../delivery_s
47
50
  /**
48
51
  * Attempts allowed per lane before the loop exits PARTIAL.
49
52
  *
50
- * Deliberately the `autonomous-execution` N=3 budget rather than a fresh
51
- * number: a second, differently-sized retry ceiling in the same package would
52
- * be a rule the tree contradicts.
53
+ * The engine's own number — not borrowed from `autonomous-execution`'s
54
+ * `execution.fix_loop_max` budget, which now defaults to 10 with a
55
+ * strategy-shift ladder. A deterministic, critic-free retry on an
56
+ * already-known verdict has no judgement call that ladder's rungs apply to.
53
57
  */
54
58
  export const SELF_FIX_CEILING = 3;
55
59
 
@@ -3,8 +3,9 @@
3
3
  *
4
4
  * TypeScript twin of `work_engine/hooks/builtin/decision_trace.py` (ADR-200
5
5
  * py2ts — work_engine.hooks.builtin subpackage). Implements the v1 envelope
6
- * from `docs/contracts/decision-trace-v1.md`. Default-off; opt-in via
7
- * `.agent-settings.yml` `decision_engine.surface_traces: true`.
6
+ * from `docs/contracts/decision-trace-v1.md`. Off: the settings key that
7
+ * registered it was retired, so only a caller that builds the registry
8
+ * directly enables it.
8
9
  *
9
10
  * The hook is purely observational — it never mutates `DeliveryState`, never
10
11
  * raises terminal errors. Stream / disk failures surface as {@link HookError}
@@ -31,7 +31,8 @@ type Any = unknown;
31
31
  /**
32
32
  * Thread the `🧠 Memory: <hits>/<asks> · ids=[…]` line into the report.
33
33
  *
34
- * `memory_cadence` is the `memory.cadence` cadence key. `visibility_off`
34
+ * `memory_cadence` is the cadence the hook was built with; settings always
35
+ * yield `always` since the `memory.cadence` key was retired. `visibility_off`
35
36
  * mirrors `memory.visibility: off`. `asked_types` overrides the list of
36
37
  * memory types treated as `asks` in the visibility line.
37
38
  */
@@ -157,7 +157,6 @@ function _settings_from_raw(data: SettingsDict): HookSettings {
157
157
 
158
158
  const memory_section = data['memory'];
159
159
  let visibility_off = false;
160
- let memory_cadence = 'always';
161
160
  if (_isPlainDict(memory_section)) {
162
161
  const ms = memory_section as Record<string, Any>;
163
162
  const rawVis = ms['visibility'];
@@ -166,10 +165,6 @@ function _settings_from_raw(data: SettingsDict): HookSettings {
166
165
  } else if (typeof rawVis === 'boolean' && rawVis === false) {
167
166
  visibility_off = true;
168
167
  }
169
- const cadence_raw = ms['cadence'];
170
- if (cadence_raw !== null && cadence_raw !== undefined) {
171
- memory_cadence = String(cadence_raw).trim().toLowerCase() || 'always';
172
- }
173
168
  }
174
169
 
175
170
  const memory_hooks = hooksDict['memory_visibility'];
@@ -192,7 +187,6 @@ function _settings_from_raw(data: SettingsDict): HookSettings {
192
187
  decision_trace: decision_trace_on,
193
188
  memory_visibility: memory_visibility_on,
194
189
  memory_visibility_off: visibility_off,
195
- memory_cadence,
196
190
  chat_history_enabled: chat_block_enabled && global_chat_on,
197
191
  chat_history_script: chat_script,
198
192
  decision_engine: decision_engine_settings,
@@ -11,9 +11,10 @@
11
11
  *
12
12
  * Schema (all keys optional; the parser rejects unknown keys hard):
13
13
  *
14
- * - `surface_traces` (bool, default `false`) — opt-in for
15
- * `DecisionTraceHook`. Predates the gates; lives here so the
16
- * `decision_engine:` block has one source-of-truth schema.
14
+ * - `surface_traces` — RETIRED, accepted and ignored. The trace hook stays
15
+ * off (the old default). Still in `ALLOWED_KEYS` so a block that carries
16
+ * the leftover key is not rejected wholesale, which would drop the gates
17
+ * it configures alongside it.
17
18
  * - `min_confidence` (`low`/`medium`/`high`/`off`, default
18
19
  * `off`) — confidence-band floor; Phase=Plan refuses to advance
19
20
  * when the band is below.
@@ -27,8 +28,9 @@
27
28
  * - `ask_timeout_seconds` (int, default `30`) — timeout when
28
29
  * `on_block=ask` runs in a non-interactive context (no TTY, or
29
30
  * `CI=true`).
30
- * - `on_block_fallback` (`stop`/`warn`, default `stop`) —
31
- * resolution after `ask_timeout` elapses.
31
+ * - `on_block_fallback` — RETIRED, accepted and ignored for the same
32
+ * reason; the resolution after `ask_timeout` is always `stop`, the
33
+ * fail-safe value.
32
34
  *
33
35
  * Gate-conflict resolution (first match wins, only one gate fires per
34
36
  * phase):
@@ -57,7 +59,6 @@ export const ALLOWED_KEYS: ReadonlySet<string> = new Set([
57
59
  const _LEVEL_VALUES: ReadonlySet<string> = new Set(['low', 'medium', 'high', 'off']);
58
60
  const _LEVEL_RANK: Record<string, number> = { low: 1, medium: 2, high: 3 };
59
61
  const _ON_BLOCK_VALUES: ReadonlySet<string> = new Set(['stop', 'ask', 'warn']);
60
- const _FALLBACK_VALUES: ReadonlySet<string> = new Set(['stop', 'warn']);
61
62
 
62
63
  /**
63
64
  * Conflict-resolution order. Highest-impact gate first; the first
@@ -177,17 +178,13 @@ export function parse(data: Any): DecisionEngineSettings {
177
178
  );
178
179
  }
179
180
  return new DecisionEngineSettings({
180
- surface_traces: _coerce_bool(_get(d, 'surface_traces', undefined), false),
181
+ surface_traces: false,
181
182
  min_confidence: _coerce_level(_get(d, 'min_confidence', 'off'), 'min_confidence'),
182
183
  block_on_risk: _coerce_level(_get(d, 'block_on_risk', 'off'), 'block_on_risk'),
183
184
  require_memory_hits: _coerce_bool(_get(d, 'require_memory_hits', undefined), false),
184
185
  on_block: _coerce_choice(_get(d, 'on_block', 'stop'), 'on_block', _ON_BLOCK_VALUES),
185
186
  ask_timeout_seconds: _coerce_int(_get(d, 'ask_timeout_seconds', 30), 'ask_timeout_seconds'),
186
- on_block_fallback: _coerce_choice(
187
- _get(d, 'on_block_fallback', 'stop'),
188
- 'on_block_fallback',
189
- _FALLBACK_VALUES,
190
- ),
187
+ on_block_fallback: 'stop',
191
188
  });
192
189
  }
193
190
 
@@ -284,7 +284,8 @@ export function format_changed_decisions_block(
284
284
  /**
285
285
  * Apply the cadence + opt-out gates from the contract.
286
286
  *
287
- * `memory_cadence` is the `memory.cadence` cadence key:
287
+ * `memory_cadence` is the cadence the hook was built with (the
288
+ * `memory.cadence` settings key is retired; settings always yield `always`):
288
289
  *
289
290
  * - `always` (default) — emit whenever `asks >= 1`.
290
291
  * - `auto` — emit only when `asks >= 3` (reduces noise on
@@ -163,7 +163,7 @@ Do NOT use when:
163
163
  2. Are numbered options absent unless options differ in *consequence*?
164
164
  3. Is every cited rule linked, not restated?
165
165
  4. {artifact-specific question — e.g., for `command-writing`:
166
- "Does the command honor `verbosity.routine_confirmations: false`?"}
166
+ "Does the command skip confirmation on routine one-answer steps?"}
167
167
  5. {artifact-specific question — e.g., for `rule-writing`:
168
168
  "Does the rule body open with the Iron Law, no preamble?"}
169
169
  -->