@event4u/agent-config 1.15.0 → 1.16.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 (244) hide show
  1. package/.agent-src/commands/bug-fix.md +1 -1
  2. package/.agent-src/commands/bug-investigate.md +2 -2
  3. package/.agent-src/commands/chat-history-checkpoint.md +1 -1
  4. package/.agent-src/commands/chat-history-clear.md +1 -1
  5. package/.agent-src/commands/chat-history.md +1 -1
  6. package/.agent-src/commands/check-current-md.md +1 -1
  7. package/.agent-src/commands/council-design.md +96 -0
  8. package/.agent-src/commands/council-optimize.md +115 -0
  9. package/.agent-src/commands/council-pr.md +123 -0
  10. package/.agent-src/commands/council.md +219 -0
  11. package/.agent-src/commands/create-pr.md +23 -0
  12. package/.agent-src/commands/do-and-judge.md +3 -3
  13. package/.agent-src/commands/do-in-steps.md +4 -4
  14. package/.agent-src/commands/e2e-heal.md +1 -1
  15. package/.agent-src/commands/e2e-plan.md +1 -1
  16. package/.agent-src/commands/feature-dev.md +8 -0
  17. package/.agent-src/commands/feature-explore.md +6 -1
  18. package/.agent-src/commands/feature-plan.md +33 -2
  19. package/.agent-src/commands/feature-refactor.md +5 -0
  20. package/.agent-src/commands/feature-roadmap.md +6 -1
  21. package/.agent-src/commands/feature.md +58 -0
  22. package/.agent-src/commands/fix-ci.md +5 -0
  23. package/.agent-src/commands/fix-portability.md +5 -0
  24. package/.agent-src/commands/fix-pr-bot-comments.md +5 -0
  25. package/.agent-src/commands/fix-pr-comments.md +5 -0
  26. package/.agent-src/commands/fix-pr-developer-comments.md +5 -0
  27. package/.agent-src/commands/fix-references.md +5 -0
  28. package/.agent-src/commands/fix-seeder.md +5 -0
  29. package/.agent-src/commands/fix.md +60 -0
  30. package/.agent-src/commands/jira-ticket.md +1 -1
  31. package/.agent-src/commands/judge.md +1 -1
  32. package/.agent-src/commands/memory-add.md +3 -3
  33. package/.agent-src/commands/memory-full.md +2 -2
  34. package/.agent-src/commands/memory-promote.md +2 -2
  35. package/.agent-src/commands/mode.md +5 -5
  36. package/.agent-src/commands/onboard.md +3 -3
  37. package/.agent-src/commands/optimize-agents.md +6 -1
  38. package/.agent-src/commands/optimize-augmentignore.md +5 -0
  39. package/.agent-src/commands/optimize-rtk-filters.md +5 -0
  40. package/.agent-src/commands/optimize-skills.md +6 -1
  41. package/.agent-src/commands/optimize.md +54 -0
  42. package/.agent-src/commands/propose-memory.md +2 -2
  43. package/.agent-src/commands/review-changes.md +26 -1
  44. package/.agent-src/commands/review-routing.md +1 -1
  45. package/.agent-src/commands/roadmap-create.md +29 -2
  46. package/.agent-src/commands/set-cost-profile.md +3 -3
  47. package/.agent-src/commands/sync-agent-settings.md +2 -2
  48. package/.agent-src/commands/tests-create.md +1 -1
  49. package/.agent-src/commands/upstream-contribute.md +1 -1
  50. package/.agent-src/contexts/authority/commit-mechanics.md +57 -0
  51. package/.agent-src/contexts/authority/destructive-mechanics.md +66 -0
  52. package/.agent-src/contexts/authority/scope-mechanics.md +87 -0
  53. package/.agent-src/contexts/execution/autonomy-detection.md +54 -0
  54. package/.agent-src/contexts/execution/autonomy-examples.md +90 -0
  55. package/.agent-src/contexts/execution/autonomy-mechanics.md +29 -0
  56. package/.agent-src/contexts/execution/verification-mechanics.md +80 -0
  57. package/.agent-src/personas/README.md +1 -1
  58. package/.agent-src/rules/agent-authority.md +24 -0
  59. package/.agent-src/rules/architecture.md +1 -1
  60. package/.agent-src/rules/artifact-drafting-protocol.md +1 -1
  61. package/.agent-src/rules/artifact-engagement-recording.md +1 -1
  62. package/.agent-src/rules/ask-when-uncertain.md +1 -1
  63. package/.agent-src/rules/autonomous-execution.md +78 -114
  64. package/.agent-src/rules/capture-learnings.md +1 -1
  65. package/.agent-src/rules/chat-history-cadence.md +3 -3
  66. package/.agent-src/rules/chat-history-ownership.md +3 -3
  67. package/.agent-src/rules/chat-history-visibility.md +3 -3
  68. package/.agent-src/rules/{command-suggestion.md → command-suggestion-policy.md} +7 -7
  69. package/.agent-src/rules/commit-conventions.md +1 -1
  70. package/.agent-src/rules/commit-policy.md +14 -42
  71. package/.agent-src/rules/context-hygiene.md +3 -3
  72. package/.agent-src/rules/direct-answers.md +1 -1
  73. package/.agent-src/rules/docs-sync.md +1 -1
  74. package/.agent-src/rules/e2e-testing.md +1 -1
  75. package/.agent-src/rules/guidelines.md +4 -4
  76. package/.agent-src/rules/improve-before-implement.md +2 -2
  77. package/.agent-src/rules/language-and-tone.md +37 -96
  78. package/.agent-src/rules/minimal-safe-diff.md +3 -3
  79. package/.agent-src/rules/model-recommendation.md +4 -4
  80. package/.agent-src/rules/no-cheap-questions.md +89 -0
  81. package/.agent-src/rules/non-destructive-by-default.md +15 -49
  82. package/.agent-src/rules/onboarding-gate.md +5 -5
  83. package/.agent-src/rules/review-routing-awareness.md +9 -9
  84. package/.agent-src/rules/roadmap-progress-sync.md +26 -33
  85. package/.agent-src/rules/role-mode-adherence.md +2 -2
  86. package/.agent-src/rules/scope-control.md +65 -46
  87. package/.agent-src/rules/security-sensitive-stop.md +2 -2
  88. package/.agent-src/rules/size-enforcement.md +1 -1
  89. package/.agent-src/rules/think-before-action.md +5 -5
  90. package/.agent-src/rules/token-efficiency.md +4 -4
  91. package/.agent-src/rules/{ui-audit-before-build.md → ui-audit-gate.md} +3 -3
  92. package/.agent-src/rules/user-interaction.md +3 -3
  93. package/.agent-src/rules/verify-before-complete.md +12 -67
  94. package/.agent-src/scripts/update_roadmap_progress.py +9 -4
  95. package/.agent-src/skills/ai-council/SKILL.md +333 -0
  96. package/.agent-src/skills/api-endpoint/SKILL.md +2 -2
  97. package/.agent-src/skills/blade-ui/SKILL.md +1 -1
  98. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
  99. package/.agent-src/skills/bug-analyzer/SKILL.md +1 -1
  100. package/.agent-src/skills/command-routing/SKILL.md +1 -1
  101. package/.agent-src/skills/command-writing/SKILL.md +1 -1
  102. package/.agent-src/skills/conventional-commits-writing/SKILL.md +1 -1
  103. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +2 -2
  104. package/.agent-src/skills/developer-like-execution/SKILL.md +2 -2
  105. package/.agent-src/skills/flux/SKILL.md +1 -1
  106. package/.agent-src/skills/git-workflow/SKILL.md +1 -1
  107. package/.agent-src/skills/guideline-writing/SKILL.md +11 -11
  108. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
  109. package/.agent-src/skills/livewire/SKILL.md +1 -1
  110. package/.agent-src/skills/override-management/SKILL.md +2 -2
  111. package/.agent-src/skills/php-coder/SKILL.md +1 -1
  112. package/.agent-src/skills/playwright-testing/SKILL.md +2 -2
  113. package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
  114. package/.agent-src/skills/readme-writing/SKILL.md +1 -1
  115. package/.agent-src/skills/readme-writing-package/SKILL.md +1 -1
  116. package/.agent-src/skills/receiving-code-review/SKILL.md +1 -1
  117. package/.agent-src/skills/review-routing/SKILL.md +2 -2
  118. package/.agent-src/skills/rule-writing/SKILL.md +1 -1
  119. package/.agent-src/skills/skill-reviewer/SKILL.md +1 -1
  120. package/.agent-src/skills/skill-writing/SKILL.md +3 -3
  121. package/.agent-src/skills/subagent-orchestration/SKILL.md +1 -0
  122. package/.agent-src/skills/systematic-debugging/SKILL.md +1 -1
  123. package/.agent-src/skills/upstream-contribute/SKILL.md +1 -1
  124. package/.agent-src/skills/validate-feature-fit/SKILL.md +2 -2
  125. package/.agent-src/skills/{verify-before-complete → verify-completion-evidence}/SKILL.md +2 -2
  126. package/.agent-src/templates/agent-settings.md +8 -8
  127. package/.agent-src/templates/contexts/auth-model.md +1 -1
  128. package/.agent-src/templates/scripts/README.md +2 -2
  129. package/.agent-src/templates/scripts/telemetry/aggregator.py +16 -1
  130. package/.agent-src/templates/scripts/telemetry/engagement.py +59 -0
  131. package/.agent-src/templates/scripts/telemetry/report_renderer.py +28 -1
  132. package/.agent-src/templates/scripts/telemetry_record.py +14 -1
  133. package/.claude-plugin/marketplace.json +10 -2
  134. package/AGENTS.md +11 -9
  135. package/CHANGELOG.md +123 -1
  136. package/README.md +28 -30
  137. package/config/agent-settings.template.yml +58 -1
  138. package/config/gitignore-block.txt +3 -0
  139. package/docs/architecture.md +4 -4
  140. package/docs/catalog.md +331 -0
  141. package/docs/contracts/STABILITY.md +39 -0
  142. package/docs/contracts/adr-command-suggestion.md +3 -3
  143. package/docs/contracts/adr-product-ui-track.md +2 -2
  144. package/docs/contracts/agent-memory-contract.md +2 -2
  145. package/docs/contracts/artifact-engagement-flow.md +1 -1
  146. package/docs/contracts/command-clusters.md +2 -2
  147. package/docs/contracts/command-suggestion-flow.md +3 -3
  148. package/docs/contracts/implement-ticket-flow.md +2 -2
  149. package/docs/contracts/linear-ai-rules-inclusion.md +1 -1
  150. package/docs/contracts/load-context-schema.md +186 -0
  151. package/docs/contracts/rule-interactions.yml +96 -0
  152. package/docs/contracts/rule-priority-hierarchy.md +87 -0
  153. package/docs/contracts/ui-track-flow.md +1 -1
  154. package/docs/customization.md +14 -0
  155. package/docs/end-to-end-walkthroughs.md +165 -0
  156. package/docs/getting-started.md +26 -8
  157. package/docs/github-topics.md +12 -3
  158. package/docs/guidelines/agent-infra/language-and-tone-examples.md +79 -0
  159. package/{.agent-src → docs}/guidelines/docs/readme-size-and-splitting.md +26 -25
  160. package/docs/guidelines/php/git.md +164 -0
  161. package/docs/migrations/commands-1.15.0.md +1 -1
  162. package/docs/showcase.md +9 -4
  163. package/docs/skills-catalog.md +14 -8
  164. package/docs/ui-track-mental-model.md +2 -2
  165. package/llms.txt +13 -7
  166. package/package.json +1 -1
  167. package/scripts/agent-config +23 -0
  168. package/scripts/ai_council/__init__.py +39 -0
  169. package/scripts/ai_council/_default_prices.py +41 -0
  170. package/scripts/ai_council/_one_off_rebalancing_audit.py +149 -0
  171. package/scripts/ai_council/_one_off_roundtrip.py +106 -0
  172. package/scripts/ai_council/budget_guard.py +172 -0
  173. package/scripts/ai_council/bundler.py +261 -0
  174. package/scripts/ai_council/clients.py +381 -0
  175. package/scripts/ai_council/modes.py +127 -0
  176. package/scripts/ai_council/orchestrator.py +350 -0
  177. package/scripts/ai_council/pricing.py +213 -0
  178. package/scripts/ai_council/project_context.py +159 -0
  179. package/scripts/ai_council/prompts.py +232 -0
  180. package/scripts/ai_council/session.py +144 -0
  181. package/scripts/check_always_budget.py +126 -0
  182. package/scripts/check_augmentignore.py +69 -0
  183. package/scripts/check_command_count_messaging.py +120 -0
  184. package/scripts/check_portability.py +55 -0
  185. package/scripts/check_public_catalog_links.py +122 -0
  186. package/scripts/check_references.py +4 -1
  187. package/scripts/check_roadmap_trackable.py +111 -0
  188. package/scripts/command_suggester/cooldown.py +1 -1
  189. package/scripts/generate_index.py +266 -0
  190. package/scripts/install_anthropic_key.sh +5 -0
  191. package/scripts/install_openai_key.sh +106 -0
  192. package/scripts/lint_load_context.py +163 -0
  193. package/scripts/schemas/command.schema.json +20 -0
  194. package/scripts/schemas/rule.schema.json +10 -0
  195. package/scripts/skill_linter.py +12 -4
  196. package/scripts/sync_agent_settings.py +1 -1
  197. package/scripts/update_counts.py +9 -4
  198. package/scripts/update_prices.py +124 -0
  199. package/.agent-src/guidelines/php/git.md +0 -96
  200. /package/.agent-src/rules/{slash-commands.md → slash-command-routing-policy.md} +0 -0
  201. /package/{.agent-src → docs}/guidelines/agent-infra/agent-interaction-and-decision-quality.md +0 -0
  202. /package/{.agent-src → docs}/guidelines/agent-infra/break-glass-usage.md +0 -0
  203. /package/{.agent-src → docs}/guidelines/agent-infra/developer-judgment.md +0 -0
  204. /package/{.agent-src → docs}/guidelines/agent-infra/engineering-memory-data-format.md +0 -0
  205. /package/{.agent-src → docs}/guidelines/agent-infra/layered-settings.md +0 -0
  206. /package/{.agent-src → docs}/guidelines/agent-infra/memory-access.md +0 -0
  207. /package/{.agent-src → docs}/guidelines/agent-infra/naming.md +0 -0
  208. /package/{.agent-src → docs}/guidelines/agent-infra/output-patterns.md +0 -0
  209. /package/{.agent-src → docs}/guidelines/agent-infra/review-routing-data-format.md +0 -0
  210. /package/{.agent-src → docs}/guidelines/agent-infra/role-contracts.md +0 -0
  211. /package/{.agent-src → docs}/guidelines/agent-infra/role-mode-router.md +0 -0
  212. /package/{.agent-src → docs}/guidelines/agent-infra/runtime-layer.md +0 -0
  213. /package/{.agent-src → docs}/guidelines/agent-infra/self-improvement-pipeline.md +0 -0
  214. /package/{.agent-src → docs}/guidelines/agent-infra/size-and-scope.md +0 -0
  215. /package/{.agent-src → docs}/guidelines/agent-infra/tool-integration.md +0 -0
  216. /package/{.agent-src → docs}/guidelines/e2e/playwright.md +0 -0
  217. /package/{.agent-src → docs}/guidelines/php/api-design.md +0 -0
  218. /package/{.agent-src → docs}/guidelines/php/artisan-commands.md +0 -0
  219. /package/{.agent-src → docs}/guidelines/php/blade-ui.md +0 -0
  220. /package/{.agent-src → docs}/guidelines/php/controllers.md +0 -0
  221. /package/{.agent-src → docs}/guidelines/php/database.md +0 -0
  222. /package/{.agent-src → docs}/guidelines/php/eloquent.md +0 -0
  223. /package/{.agent-src → docs}/guidelines/php/flux.md +0 -0
  224. /package/{.agent-src → docs}/guidelines/php/general.md +0 -0
  225. /package/{.agent-src → docs}/guidelines/php/jobs.md +0 -0
  226. /package/{.agent-src → docs}/guidelines/php/livewire.md +0 -0
  227. /package/{.agent-src → docs}/guidelines/php/logging.md +0 -0
  228. /package/{.agent-src → docs}/guidelines/php/naming.md +0 -0
  229. /package/{.agent-src → docs}/guidelines/php/patterns/dependency-injection.md +0 -0
  230. /package/{.agent-src → docs}/guidelines/php/patterns/dtos.md +0 -0
  231. /package/{.agent-src → docs}/guidelines/php/patterns/events.md +0 -0
  232. /package/{.agent-src → docs}/guidelines/php/patterns/factory.md +0 -0
  233. /package/{.agent-src → docs}/guidelines/php/patterns/pipelines.md +0 -0
  234. /package/{.agent-src → docs}/guidelines/php/patterns/policies.md +0 -0
  235. /package/{.agent-src → docs}/guidelines/php/patterns/repositories.md +0 -0
  236. /package/{.agent-src → docs}/guidelines/php/patterns/service-layer.md +0 -0
  237. /package/{.agent-src → docs}/guidelines/php/patterns/strategy.md +0 -0
  238. /package/{.agent-src → docs}/guidelines/php/patterns.md +0 -0
  239. /package/{.agent-src → docs}/guidelines/php/performance.md +0 -0
  240. /package/{.agent-src → docs}/guidelines/php/resources.md +0 -0
  241. /package/{.agent-src → docs}/guidelines/php/security.md +0 -0
  242. /package/{.agent-src → docs}/guidelines/php/sql.md +0 -0
  243. /package/{.agent-src → docs}/guidelines/php/validations.md +0 -0
  244. /package/{.agent-src → docs}/guidelines/php/websocket.md +0 -0
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: optimize
3
+ description: Optimize orchestrator — routes to skills, agents, augmentignore, rtk-filters
4
+ cluster: optimize
5
+ disable-model-invocation: true
6
+ suggestion:
7
+ eligible: true
8
+ trigger_description: "optimize my skills, audit agents, tune augmentignore, optimize rtk filters"
9
+ trigger_context: "maintainer auditing or trimming agent infrastructure"
10
+ ---
11
+
12
+ # /optimize
13
+
14
+ Top-level orchestrator for the `/optimize` family. Replaces 4 standalone
15
+ commands with a single entry point + sub-command dispatch.
16
+
17
+ ## Sub-commands
18
+
19
+ | Sub-command | Routes to | Purpose |
20
+ |---|---|---|
21
+ | `/optimize skills` | `optimize-skills.md` | Audit skills — measure baseline, find duplicates, run linter |
22
+ | `/optimize agents` | `optimize-agents.md` | Audit agent infrastructure — token overhead, rule triggers, AGENTS.md |
23
+ | `/optimize augmentignore` | `optimize-augmentignore.md` | Create or refine `.augmentignore` based on actual stack |
24
+ | `/optimize rtk` | `optimize-rtk-filters.md` | Create or refine project-local rtk filters |
25
+
26
+ Sub-command names match the locked contract in
27
+ [`docs/contracts/command-clusters.md`](../../docs/contracts/command-clusters.md).
28
+
29
+ ## Dispatch
30
+
31
+ 1. Parse the user's argument: `/optimize <sub-command> [args]`.
32
+ 2. Look up the sub-command in the table above.
33
+ 3. Load the body of the corresponding `commands/optimize-<sub>.md` file and
34
+ follow its `## Steps` (or `## Instructions`) section verbatim.
35
+ 4. If the sub-command is unknown or missing, print the menu and ask:
36
+
37
+ > 1. skills — audit skills (find duplicates, run linter)
38
+ > 2. agents — audit agent infrastructure (token overhead, rule triggers)
39
+ > 3. augmentignore — create or refine `.augmentignore`
40
+ > 4. rtk — create or refine project-local rtk filters
41
+
42
+ ## Migration
43
+
44
+ The 4 standalone `/optimize-*` commands continue to work for one release
45
+ cycle as deprecation shims. They emit a notice and route to the same
46
+ content. New invocations should use `/optimize <sub>`.
47
+
48
+ ## Rules
49
+
50
+ - **Suggest only — never auto-apply.** All `/optimize` sub-commands are
51
+ audit-grade: they report and propose, but the user approves every change.
52
+ - **Do NOT chain sub-commands.** One `/optimize <sub>` per turn.
53
+ - If the user invokes `/optimize` with no argument, **show the menu** — do
54
+ not guess which sub-command they meant.
@@ -101,6 +101,6 @@ is intended (rarely).
101
101
  ## See also
102
102
 
103
103
  - [`/memory-add`](memory-add.md) — curated (reviewer-validated) entries.
104
- - [`engineering-memory-data-format`](../guidelines/agent-infra/engineering-memory-data-format.md)
105
- - [`memory-access`](../guidelines/agent-infra/memory-access.md) — the
104
+ - [`engineering-memory-data-format`](../../docs/guidelines/agent-infra/engineering-memory-data-format.md)
105
+ - [`memory-access`](../../docs/guidelines/agent-infra/memory-access.md) — the
106
106
  read-side contract that consumes what this command writes.
@@ -81,6 +81,31 @@ Pick dispatch mode based on diff size and environment:
81
81
  Each judge returns its own `Judge / Model / Target / Verdict /
82
82
  Issues` block in the format defined by that skill.
83
83
 
84
+ ### 4b. Optional external council (B3 hook)
85
+
86
+ If `.agent-settings.yml` has `ai_council.enabled: true` **and** at least
87
+ one member is enabled, ask (in the user's language):
88
+
89
+ > 1. Add an external council review alongside the four internal judges? (billable)
90
+ > 2. Skip — internal judges only
91
+
92
+ Suppress when `personal.autonomy: on` (council is billable).
93
+
94
+ If picked **1**:
95
+
96
+ - Run `/council diff:<base>..<head>` in parallel with the four
97
+ internal judges (or sequentially after them — whichever the
98
+ dispatch mode picked in step 4 supports).
99
+ - Treat each council member as one extra "judge" in the consolidated
100
+ report (step 5), but **mark them clearly as external** so the user
101
+ can weight them differently. Council verdicts are **advisory** —
102
+ they never block on their own; they augment the internal verdicts.
103
+ - The council's neutrality preamble already strips host-agent
104
+ identity; do **not** add the internal judges' verdicts to the
105
+ council prompt (would defeat the Iron Law of Neutrality).
106
+
107
+ If picked **2** → continue with internal judges only.
108
+
84
109
  ### 5. Consolidate
85
110
 
86
111
  Produce one combined report:
@@ -150,7 +175,7 @@ or the equivalent configured command).
150
175
  - [`/do-and-judge`](do-and-judge.md) — implementer + judge loop for a single change
151
176
  - [`/judge`](judge.md) — standalone judge, no review-changes dispatch
152
177
  - [`code-review`](../skills/code-review/SKILL.md) — human-oriented review patterns (tone, feedback handling)
153
- - [`role-contracts`](../guidelines/agent-infra/role-contracts.md#reviewer) — Reviewer mode output contract (Summary / Risks / Findings / Required actions / Verdict)
178
+ - [`role-contracts`](../../docs/guidelines/agent-infra/role-contracts.md#reviewer) — Reviewer mode output contract (Summary / Risks / Findings / Required actions / Verdict)
154
179
 
155
180
  ## References
156
181
 
@@ -107,7 +107,7 @@ After the block, ask:
107
107
  - [`reviewer-awareness`](../rules/reviewer-awareness.md) — role vocabulary
108
108
  - [`review-routing-awareness`](../rules/review-routing-awareness.md) —
109
109
  data-source rules
110
- - [`review-routing-data-format`](../guidelines/agent-infra/review-routing-data-format.md)
110
+ - [`review-routing-data-format`](../../docs/guidelines/agent-infra/review-routing-data-format.md)
111
111
  — YAML schemas
112
112
  - [`create-pr-description`](../skills/create-pr-description/SKILL.md) —
113
113
  consumes the routing block
@@ -104,9 +104,36 @@ Regenerate `agents/roadmaps-progress.md` so the new roadmap shows up:
104
104
 
105
105
  Mention the new overall count to the user.
106
106
 
107
- ### 8. Offer execution
107
+ ### 8. Offer council review (B1 hook)
108
108
 
109
- After saving, ask the user (in their language) whether to start executing the roadmap immediately.
109
+ If `.agent-settings.yml` has `ai_council.enabled: true` **and** at least
110
+ one member is enabled (`anthropic` or `openai`), ask the user (in their
111
+ language):
112
+
113
+ > 1. Run the council on this roadmap before execution? (billable)
114
+ > 2. Skip council review
115
+
116
+ Suppress this question entirely when `personal.autonomy: on` is set —
117
+ council is billable, autonomous mode must not silently spend tokens
118
+ (see `road-to-ai-council.md` Decision 3 / Q47).
119
+
120
+ If the user picks **1**:
121
+
122
+ - Run `/council roadmap:<path>` with the user's original ask captured
123
+ in step 1 as `original_ask` (the handoff preamble carries it
124
+ verbatim, see `scripts/ai_council/prompts.py`).
125
+ - Append the council findings as a `## Council review (<UTC date>)`
126
+ section at the bottom of the roadmap. Include the trace path to
127
+ `agents/council-sessions/<timestamp>/raw-text.md` so future readers
128
+ can audit.
129
+ - Do **not** rewrite the roadmap based on the findings — surface them,
130
+ let the user decide what to act on.
131
+
132
+ If the user picks **2** → continue.
133
+
134
+ ### 9. Offer execution
135
+
136
+ After saving (and any council review), ask the user (in their language) whether to start executing the roadmap immediately.
110
137
 
111
138
  If yes → switch to the `roadmap-execute` command workflow with the newly created file.
112
139
 
@@ -25,7 +25,7 @@ the [`agent-settings` template](../templates/agent-settings.md#cost-profiles):
25
25
  - For first-run setup use [`/onboard`](onboard.md).
26
26
  - For any other single-value change, edit `.agent-settings.yml`
27
27
  directly or ask the agent — the merge rules live in
28
- [`layered-settings`](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
28
+ [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
29
29
  - For role modes use [`/mode`](mode.md) — different concept (sets
30
30
  `roles.active_role`, not `cost_profile`).
31
31
 
@@ -73,7 +73,7 @@ value directly — still echo the old → new line in step 6.
73
73
  ### 5. Write the value
74
74
 
75
75
  Update `cost_profile` in `.agent-settings.yml` using the
76
- [section-aware merge rules](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
76
+ [section-aware merge rules](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
77
77
  (preserve comments, preserve key order, touch only the changed field).
78
78
 
79
79
  If the user picked "Keep current", do nothing and stop.
@@ -107,6 +107,6 @@ flip. Cost behaviour on those surfaces is governed by the platform itself.
107
107
  ## See also
108
108
 
109
109
  - [`agent-settings`](../templates/agent-settings.md) — profile matrix and settings reference
110
- - [`layered-settings`](../guidelines/agent-infra/layered-settings.md) — merge rules for settings edits
110
+ - [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md) — merge rules for settings edits
111
111
  - [`onboard`](onboard.md) — first-run setup (includes profile confirmation)
112
112
  - [`mode`](mode.md) — role-mode setter (different concept)
@@ -15,7 +15,7 @@ Reconciles `.agent-settings.yml` with the shipped template
15
15
  (`config/agent-settings.template.yml`) and the selected cost-profile
16
16
  preset (`config/profiles/{profile}.ini`). Applies the section-aware
17
17
  merge rules documented in
18
- [`layered-settings`](../guidelines/agent-infra/layered-settings.md):
18
+ [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md):
19
19
 
20
20
  - Template section order wins — keys reorder to match.
21
21
  - Existing user scalar values are preserved.
@@ -129,6 +129,6 @@ is a local-agent concern.
129
129
  - [`scripts/sync_agent_settings.py`](../../../scripts/sync_agent_settings.py) — the helper
130
130
  - [`config/agent-settings.template.yml`](../../../config/agent-settings.template.yml) — canonical template
131
131
  - [`config/profiles/`](../../../config/profiles/) — profile presets
132
- - [`layered-settings`](../guidelines/agent-infra/layered-settings.md) — the merge rules this command enforces
132
+ - [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md) — the merge rules this command enforces
133
133
  - [`scripts/install.py`](../../../scripts/install.py) — first-install path; this command handles the update path
134
134
  - [`/sync-gitignore`](sync-gitignore.md) — sibling command for the `.gitignore` block
@@ -74,4 +74,4 @@ suggestion:
74
74
 
75
75
  ## See also
76
76
 
77
- - [`role-contracts`](../guidelines/agent-infra/role-contracts.md#tester) — Tester mode output contract (Behaviour under test / Edge cases / Negative paths / Reproduction / Coverage gaps)
77
+ - [`role-contracts`](../../docs/guidelines/agent-infra/role-contracts.md#tester) — Tester mode output contract (Behaviour under test / Edge cases / Negative paths / Reproduction / Coverage gaps)
@@ -68,7 +68,7 @@ If project-specific content is found, ask:
68
68
  | **Skill** | `.agent-src.uncompressed/skills/{name}/SKILL.md` | `.agent-src/skills/{name}/SKILL.md` |
69
69
  | **Rule** | `.agent-src.uncompressed/rules/{name}.md` | `.agent-src/rules/{name}.md` |
70
70
  | **Command** | `.agent-src.uncompressed/commands/{name}.md` | `.agent-src/commands/{name}.md` |
71
- | **Guideline** | `.agent-src.uncompressed/guidelines/{cat}/{name}.md` | `.agent-src/guidelines/{cat}/{name}.md` |
71
+ | **Guideline** | `docs/guidelines/{cat}/{name}.md` | _(not compressed; reference-only)_ |
72
72
 
73
73
  ### 4. Get access to the package repo
74
74
 
@@ -0,0 +1,57 @@
1
+ # Commit Mechanics
2
+
3
+ Loaded by [`commit-policy`](../../rules/commit-policy.md). Holds the
4
+ detail behind the four commit exceptions, the Hard Floor that still
5
+ fires on top of any exception, and the roadmap-authorized-commit flow
6
+ in autonomous vs. non-autonomous mode.
7
+
8
+ **Size budget:** ≤ 3,000 chars. Tracked under Phase 6 of
9
+ `road-to-pr-34-followups`.
10
+
11
+ ## Hard Floor still applies — bulk deletions and infra changes
12
+
13
+ Even when one of the four `commit-policy` exceptions authorizes a
14
+ commit, the [`non-destructive-by-default`](../../rules/non-destructive-by-default.md)
15
+ Hard Floor still fires when the diff:
16
+
17
+ - Removes a directory
18
+ - Deletes ≥5 unrelated files
19
+ - Touches Terraform / Pulumi / k8s manifests / Ansible / cloud-config
20
+
21
+ In those cases, **surface the diff** (paths + counts) and confirm
22
+ this turn before committing — even under `/commit-in-chunks`,
23
+ roadmap pre-scan authorization, or an explicit "commit this now". The
24
+ four exceptions cover *whether* commits happen; the Hard Floor covers
25
+ *which diffs* still need a separate confirmation.
26
+
27
+ ## Roadmap-authorized commits
28
+
29
+ When **executing** a roadmap that contains commit steps:
30
+
31
+ - **Non-autonomous mode** (`personal.autonomy: off`, or `auto`
32
+ before opt-in) — agent may ask before each commit step. The user
33
+ authorized commits by writing them into the roadmap, but retains
34
+ step-level control.
35
+ - **Autonomous mode** (`personal.autonomy: on`, or `auto` after
36
+ opt-in) — agent does a quick pre-scan of the roadmap **before
37
+ starting execution**. If commit steps are found, ask **once** at
38
+ the very start: "Roadmap contains N commit steps — should they be
39
+ executed?". After that, honor or skip per the answer.
40
+ No re-asking per step.
41
+
42
+ The pre-scan ask is the **only** permitted commit-related question
43
+ in autonomous mode. Once answered, the decision is cached for the
44
+ rest of the roadmap execution.
45
+
46
+ ## Speech-act check on commit phrases
47
+
48
+ The same speech-act check from
49
+ [`autonomous-execution`](../../rules/autonomous-execution.md#speech-act-check--the-phrase-must-be-a-meta-instruction-to-the-agent)
50
+ applies in reverse: an explicit commit phrase inside a quote, code
51
+ block, or content (e.g. a copy-paste of a chat log) is **not** a
52
+ permission grant.
53
+
54
+ A "commit this now" phrase has to be a **meta-instruction directed
55
+ at the agent** in the current turn. Quoted text, log excerpts,
56
+ roadmap snippets, and content the user is asking the agent to *read*
57
+ or *summarize* never authorize a commit.
@@ -0,0 +1,66 @@
1
+ # Destructive-Operation Mechanics
2
+
3
+ Loaded by [`non-destructive-by-default`](../../rules/non-destructive-by-default.md).
4
+ Holds the bulk-deletion-during-WIP scope rule and the failure-mode
5
+ catalog. The rule keeps the Iron Law, the trigger table, the
6
+ deterministic-regeneration carve-out, and the cloud clause; this
7
+ context holds everything an agent reaches for once those have fired.
8
+
9
+ **Size budget:** ≤ 3,500 chars. Tracked under Phase 7.4 of
10
+ `road-to-pr-34-followups`.
11
+
12
+ ## Bulk deletions during WIP — allowed if task-connected
13
+
14
+ Deletions inside an **active, user-stated task** are allowed in the
15
+ working tree, **even multiple files or multiple folders**. The Hard
16
+ Floor moves to the **commit** (row 6 of the trigger table), not the
17
+ in-progress edit.
18
+
19
+ **Allowed during WIP (no floor on the edit):**
20
+
21
+ - A roadmap step or current task explicitly names the files / folders to remove
22
+ - Refactor naturally drops deprecated code the user already agreed is dead
23
+ - Cleanup of generated artifacts — `node_modules/`, `dist/`, `.next/`,
24
+ build caches, `vendor/` reinstall — never source code
25
+ - Single-file edits, single-class refactors, deleting **one** file the
26
+ user just named
27
+ - Renames and moves (technically delete + add)
28
+
29
+ **Floor fires on the edit when the deletion is:**
30
+
31
+ - Whimsical — "while I was in there", drive-by cleanup not part of the task
32
+ - Unnamed scope — "delete all the old tests" without a list, glob
33
+ across unrelated files, "clean up the legacy folder" with no inventory
34
+ - ≥5 unrelated files in one operation, outside the current task scope
35
+ - Content destruction — `DROP TABLE`, `TRUNCATE`, `git reset --hard`
36
+ past unpushed work, database wipes (destroys *content*, not just tree)
37
+
38
+ Ambiguous → floor wins. Ask.
39
+
40
+ **The commit of task-aligned bulk deletions still needs its own ask.**
41
+ A roadmap or task authorizes the *edit*; only the user-this-turn
42
+ authorizes the *commit* (row 6 of the rule's trigger table). Surface
43
+ the diff (paths + counts), get confirmation, then commit.
44
+
45
+ ## Failure modes
46
+
47
+ - Treating a standing autonomy directive as cover for a Hard-Floor
48
+ action. Standing autonomy never lifts the floor; merging to `main`,
49
+ deploying, pushing, prod-data edits, or whimsical `rm -rf <dir>`
50
+ always ask.
51
+ - Reading a roadmap step that says "deploy to staging" or
52
+ "merge into main" as authorization. The roadmap can sequence the
53
+ work; only the user-this-turn can authorize the floor crossing.
54
+ - Refusing to delete files the user already named because "the floor
55
+ fires on `rm`". It does not — task-aligned WIP deletions are
56
+ allowed, even multi-folder. The floor fires when the deletion is
57
+ whimsical, unscoped, or about to be committed.
58
+ - Committing a diff that removes a directory, deletes ≥5 unrelated
59
+ files, or touches Terraform / k8s manifests / Ansible without
60
+ surfacing the diff first — even when [`commit-policy`](../../rules/commit-policy.md)
61
+ otherwise authorizes commits (e.g. `/commit-in-chunks`, roadmap
62
+ pre-scan, an explicit "commit this now"). Bulk-deletion / infra
63
+ commits need their own ask, every time.
64
+ - Reading a roadmap step listing files to delete as authorization to
65
+ *commit* the deletion. The step authorizes the *edit*; the commit
66
+ is row 6 of the Hard Floor and needs its own confirmation.
@@ -0,0 +1,87 @@
1
+ # Scope Mechanics
2
+
3
+ Loaded by [`scope-control`](../../rules/scope-control.md). Holds the
4
+ detail behind the Hard Floor restatement, the brief-before-asking
5
+ flow for separate-branch proposals, and the failure modes / bypass
6
+ rules around fenced steps.
7
+
8
+ **Size budget:** ≤ 4,000 chars. Tracked under Phase 6 of
9
+ `road-to-pr-34-followups`.
10
+
11
+ ## Production, infrastructure, bulk-destructive — Hard Floor
12
+
13
+ A subset of the git-ops Iron Laws is **never** autonomous and never
14
+ auto-permitted by a standing autonomy directive. Canonical rule:
15
+ [`non-destructive-by-default`](../../rules/non-destructive-by-default.md).
16
+ Restated here so `scope-control` remains the single read for git/scope
17
+ concerns:
18
+
19
+ - **Production-branch merges** — `main`, `master`, `prod`,
20
+ `production`, `release/*`, or any branch the project marks as
21
+ deployment trunk. Always ask, even when the roadmap step says
22
+ "merge".
23
+ - **Deploys / releases** — `terraform apply` / `kubectl apply` on
24
+ prod, deploy scripts, release commands, tag pushes that trigger
25
+ CI deployment. Always ask.
26
+ - **Production data / infrastructure** — prod DB writes or
27
+ migrations, prod config edits, secrets rotation, IAM / role /
28
+ policy changes, DNS edits, anything in a `prod`-scoped path or
29
+ pipeline. Always ask.
30
+ - **Bulk-destructive ops** — wildcard or directory deletion
31
+ (`rm -rf <dir>`, `git rm -r`), `DROP TABLE`, `TRUNCATE`,
32
+ `git reset --hard` past unpushed work, mass class / module /
33
+ migration deletion, "delete everything matching X". Always ask.
34
+
35
+ A roadmap step or earlier turn does **not** count as authorization
36
+ for these. Authorization is "the user said so on this turn".
37
+
38
+ ## Brief-before-asking — separate branch / PR / worktree
39
+
40
+ If a task seems to need a separate branch or PR (spike, hotfix,
41
+ experiment, worktree), STOP and **brief the user before asking**. The
42
+ brief MUST cover, in this order:
43
+
44
+ 1. **Why** — what problem a separate branch solves that the current
45
+ branch cannot; why staying on the current branch would be worse.
46
+ 2. **What** — exactly what you plan to do on the new branch: files
47
+ touched, prototypes built, experiments run, expected duration.
48
+ 3. **How it continues** — the return path: merge back, cherry-pick,
49
+ throwaway delete, PR target, how the current branch's state is
50
+ protected while you work on the other one.
51
+
52
+ Then present numbered options (`user-interaction`) with "stay on the
53
+ current branch" as the default. The user decides. Do not branch
54
+ first and explain later.
55
+
56
+ ## Decline = silence — context
57
+
58
+ The right moment to ask is **before** the work starts (writing the
59
+ roadmap, opening the ticket), not mid-execution. During roadmap
60
+ execution the branch question is settled; do not resurface it step
61
+ by step.
62
+
63
+ A proposal that "might be sensible" is not enough reason to ask.
64
+ Default: stay on the current branch, no release language. Only ask
65
+ when there's a concrete, evidence-based reason (e.g. risky migration
66
+ benefits from a spike branch). If in doubt, do not ask.
67
+
68
+ ## Fenced step — failure modes
69
+
70
+ - Numbered-options block whose Option 1 is *"start with Phase 1 / E1.1
71
+ / step X"*. The fence makes execution off-limits; offering it as the
72
+ default choice violates the fence.
73
+ - Re-asking *"may I begin now?"* after delivering the plan. The user
74
+ said no execution; that decision is binding for the rest of the
75
+ task.
76
+ - Treating delivery as a hand-off **to execution** (*"roadmap is
77
+ ready, kicking off E1.1"*) instead of a hand-off **to review**
78
+ (*"roadmap is ready, over to you"*).
79
+ - Inferring *"plan accepted"* from a thumbs-up or short
80
+ acknowledgement. Acceptance of the plan is not authorization to
81
+ start; the user gives the green light explicitly when ready.
82
+
83
+ ## Fenced step — bypass
84
+
85
+ A clear *"go ahead"*, *"start now"*, *"mach weiter"*, or an explicit
86
+ *"approved, implement E1.1"* on a later turn lifts the fence. Until
87
+ then: silence on execution.
@@ -0,0 +1,54 @@
1
+ # Autonomy Detection — Logic
2
+
3
+ Loaded by the [`autonomous-execution`](../../rules/autonomous-execution.md)
4
+ rule when deciding whether a user message in `auto` mode flips standing
5
+ autonomy on (or off). Anchor phrases and worked cases live in
6
+ [`autonomy-examples.md`](autonomy-examples.md).
7
+
8
+ ## Recognize intent, not literal substring
9
+
10
+ In `auto` mode, the rule flips to `on` for the rest of the conversation
11
+ when the user expresses **"stop asking on trivial steps, just work"**.
12
+ The LLM recognizes the **intent**, not a literal substring, and
13
+ understands the semantic equivalent in either language.
14
+
15
+ ## Litmus test — standing permission vs single-decision delegation
16
+
17
+ | Question | Outcome |
18
+ |---|---|
19
+ | Would a reasonable reader interpret the message as **standing permission to skip trivial workflow questions**? | Yes → flip. |
20
+ | Is it a **single-decision delegation** ("you decide for this step", "for this one let me know what you'd pick")? | Handle that step autonomously, do **not** flip standing mode. |
21
+
22
+ The flip is sticky for the rest of the conversation; single-decision
23
+ delegation is one-shot.
24
+
25
+ ## Speech-act check — meta-instruction or content?
26
+
27
+ Before flipping, verify the phrase is **addressed to the agent as
28
+ guidance about how to work**, not a literal substring inside an
29
+ unrelated instruction. The same words can be content, data, quote,
30
+ copy, code, or subject matter — none of those flip.
31
+
32
+ Do **not** flip when the phrase is:
33
+
34
+ - **Content / copy** — "Put the slogan 'just do it' on the landing page."
35
+ - **Quote / reference** — "Nike's tagline is 'just do it' — write a blog post about it."
36
+ - **Subject of a request** — "Write docs about the 'work autonomously' modes."
37
+ - **Code / data** — string literals, test fixtures, translations, JSON.
38
+ - **About a third party** — "My colleague works autonomously."
39
+ - **A question or hypothetical** — "Should I set `don't ask` as the default?"
40
+
41
+ ## Heuristic — strip and read
42
+
43
+ Strip quotes, code blocks, and embedded content. Read what's **left**.
44
+ If the remainder is still a directive to the agent about its own
45
+ working style → flip. Otherwise → don't.
46
+
47
+ ## Opt-out is symmetric
48
+
49
+ The reverse intent ("ask me again", "stop being autonomous") flips
50
+ back to `off`. The same litmus test and speech-act check apply —
51
+ "ask me first" inside a quote, code, or third-party reference does
52
+ not flip.
53
+
54
+ In doubt → keep current mode. No speculative flips.
@@ -0,0 +1,90 @@
1
+ # Autonomy Examples — Anchors, Trivial Cases, Failure Modes
2
+
3
+ Loaded by the [`autonomous-execution`](../../rules/autonomous-execution.md)
4
+ rule when concrete examples sharpen a decision. The detection algorithm
5
+ lives in [`autonomy-detection.md`](autonomy-detection.md); the setting
6
+ semantics live in [`autonomy-mechanics.md`](autonomy-mechanics.md).
7
+
8
+ ## Opt-in anchors — flip `auto` → `on`
9
+
10
+ Multilingual phrases that, when spoken **as a meta-instruction to the
11
+ agent** (per the speech-act check in [`autonomy-detection.md`](autonomy-detection.md)),
12
+ flip standing autonomy on:
13
+
14
+ - DE: "arbeite selbstständig" · "frag nicht jedes Mal" · "tue es einfach"
15
+ - EN: "work autonomously" · "don't ask" · "just do it"
16
+
17
+ Illustrative, not exhaustive — recognition is intent-based, not
18
+ substring-based.
19
+
20
+ ## Opt-out anchors — flip back to `off`
21
+
22
+ Reverse-trigger phrases (same speech-act check applies):
23
+
24
+ - DE: "frag mich wieder" · "frag mich erst" · "stop autonomous mode"
25
+ - EN: "ask me first" · "ask me again" · "stop being autonomous"
26
+
27
+ ## Speech-act check — patterns that DO NOT flip
28
+
29
+ The same words can appear in many forms. None of these flip standing
30
+ autonomy:
31
+
32
+ - **Content / copy** — "Put the slogan 'just do it' on the landing page."
33
+ - **Quote / reference** — "Nike's tagline is 'just do it' — write a blog post about it."
34
+ - **Subject of a request** — "Write docs about the 'work autonomously' modes."
35
+ - **Code / data** — string literals, test fixtures, translations, JSON.
36
+ - **About a third party** — "My colleague works autonomously."
37
+ - **A question or hypothetical** — "Should I set `don't ask` as the default?"
38
+
39
+ Counter-examples — meta-questions, self-descriptions, or one-shot
40
+ delegations also do **not** flip:
41
+
42
+ - "Why don't you ask that yourself?"
43
+ - "I'm working autonomously right now."
44
+ - "Can you decide that yourself?"
45
+
46
+ ## Trivial — JUST ACT (in `on` or `auto`-after-opt-in)
47
+
48
+ Eight worked cases. In `personal.autonomy: off`, ask these. In `on`
49
+ or `auto`-after-opt-in, act on them.
50
+
51
+ - "Should I start with Step 2 or Step 3?" — pick the obvious next step
52
+ on the roadmap and proceed; if blocked, name the blocker, otherwise go.
53
+ - "Should we commit now or after the next change?" — answered by the
54
+ commit-default in [`commit-policy`](../../rules/commit-policy.md), no need to ask.
55
+ - "How should I split the commits?" — never asked; either you are
56
+ invoked via `/commit-in-chunks` (split and commit) or you are not
57
+ (don't commit at all).
58
+ - "Should I run the linter / tests now or after the change?" — run
59
+ what [`verify-before-complete`](../../rules/verify-before-complete.md)
60
+ requires; don't ask.
61
+ - "I found 3 follow-up issues — fix all or stop?" — if they are within
62
+ the stated task scope and minimal-safe-diff allows, fix them; if they
63
+ expand scope, stop and surface them as a list.
64
+ - "Filename should be `X.md` or `Y.md`?" when one matches the
65
+ surrounding convention — pick the convention-matching one.
66
+ - "Do you want a verification table or paragraph?" — pick whichever
67
+ fits the conversation style; format is not a decision worth a turn.
68
+ - "Show me a diff before regenerating output from a tracked source?"
69
+ — compression, code-gen, formatter passes, lock-file rebuilds — run
70
+ it and report the result. Reversibility comes from the source, not
71
+ from per-file confirmation. See [`non-destructive-by-default`](../../rules/non-destructive-by-default.md#not-in-scope--deterministic-regeneration)
72
+ § Not in scope.
73
+
74
+ ## Failure modes — autonomy side
75
+
76
+ Wrong-behavior patterns this rule prevents:
77
+
78
+ - Asking "Step 2 or Step 3?" when the roadmap orders them.
79
+ - "Should I run the CI checks?" — `verify-before-complete` decides; act.
80
+ - "Do we want to commit this?" — no, by default. Don't ask.
81
+ - Numbered-options block whose only choice differences are sequencing
82
+ ("do A then B" vs "do B then A") with no real trade-off.
83
+ - Asking after the user already issued a standing autonomy directive
84
+ earlier in the conversation (cache the opt-in for `auto`).
85
+
86
+ For Hard-Floor failure modes (treating autonomy as cover for a
87
+ floor-crossing action, reading a roadmap step as deploy authorization,
88
+ refusing task-aligned WIP deletions, committing bulk-deletion / infra
89
+ diffs without surfacing them) see
90
+ [`non-destructive-by-default`](../../rules/non-destructive-by-default.md#failure-modes).
@@ -0,0 +1,29 @@
1
+ # Autonomy Mechanics — Settings and Platform Behavior
2
+
3
+ Loaded by the [`autonomous-execution`](../../rules/autonomous-execution.md)
4
+ rule when settings semantics or platform-specific defaults are
5
+ relevant. Detection logic lives in [`autonomy-detection.md`](autonomy-detection.md).
6
+
7
+ ## `personal.autonomy` setting
8
+
9
+ | Value | Behavior |
10
+ |---|---|
11
+ | `on` | Suppress trivial questions. Act on the obvious next step. Still ask on blocking / critical decisions, and ALWAYS ask on Hard-Floor triggers. |
12
+ | `off` | Ask trivial questions too. Use this if you want the agent to check in on each workflow step. |
13
+ | `auto` (default) | Same as `off` by default. Flips to `on` for the rest of the conversation as soon as the user expresses the intent "stop asking, just work". See [detection logic](autonomy-detection.md) — match by **intent**, not exact string. The flip never lifts the Hard Floor. |
14
+
15
+ The value is read once on the first turn (per
16
+ [`layered-settings`](../../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules))
17
+ and cached. Missing key → treat as `on`.
18
+
19
+ ## Cloud platforms — settings degrade to `on`
20
+
21
+ Setting reads degrade gracefully on cloud platforms (no
22
+ `.agent-settings.yml` available). Treat as `personal.autonomy: on` —
23
+ the user had to deliberately ship a custom skill bundle to a cloud
24
+ agent and is unlikely to want trivial-question friction.
25
+
26
+ The Hard Floor still applies on every surface, including cloud. There
27
+ is no "cloud override" for production-branch merges, deploys, pushes,
28
+ prod data/infra, or whimsical bulk deletions — see
29
+ [`non-destructive-by-default`](../../rules/non-destructive-by-default.md#cloud-behavior).