@event4u/agent-config 1.14.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 (293) hide show
  1. package/.agent-src/commands/agent-handoff.md +1 -1
  2. package/.agent-src/commands/bug-fix.md +3 -3
  3. package/.agent-src/commands/bug-investigate.md +2 -2
  4. package/.agent-src/commands/chat-history-checkpoint.md +3 -3
  5. package/.agent-src/commands/chat-history-clear.md +2 -2
  6. package/.agent-src/commands/chat-history-resume.md +2 -2
  7. package/.agent-src/commands/chat-history.md +3 -3
  8. package/.agent-src/commands/check-current-md.md +44 -33
  9. package/.agent-src/commands/commit-in-chunks.md +43 -23
  10. package/.agent-src/commands/compress.md +34 -2
  11. package/.agent-src/commands/council-design.md +96 -0
  12. package/.agent-src/commands/council-optimize.md +115 -0
  13. package/.agent-src/commands/council-pr.md +123 -0
  14. package/.agent-src/commands/council.md +219 -0
  15. package/.agent-src/commands/create-pr.md +23 -0
  16. package/.agent-src/commands/do-and-judge.md +3 -3
  17. package/.agent-src/commands/do-in-steps.md +4 -4
  18. package/.agent-src/commands/e2e-heal.md +1 -1
  19. package/.agent-src/commands/e2e-plan.md +1 -1
  20. package/.agent-src/commands/feature-dev.md +8 -0
  21. package/.agent-src/commands/feature-explore.md +6 -1
  22. package/.agent-src/commands/feature-plan.md +33 -2
  23. package/.agent-src/commands/feature-refactor.md +5 -0
  24. package/.agent-src/commands/feature-roadmap.md +8 -3
  25. package/.agent-src/commands/feature.md +58 -0
  26. package/.agent-src/commands/fix-ci.md +5 -0
  27. package/.agent-src/commands/fix-portability.md +7 -2
  28. package/.agent-src/commands/fix-pr-bot-comments.md +5 -0
  29. package/.agent-src/commands/fix-pr-comments.md +5 -0
  30. package/.agent-src/commands/fix-pr-developer-comments.md +5 -0
  31. package/.agent-src/commands/fix-references.md +5 -0
  32. package/.agent-src/commands/fix-seeder.md +5 -0
  33. package/.agent-src/commands/fix.md +60 -0
  34. package/.agent-src/commands/jira-ticket.md +1 -1
  35. package/.agent-src/commands/judge.md +1 -1
  36. package/.agent-src/commands/memory-add.md +3 -3
  37. package/.agent-src/commands/memory-full.md +2 -2
  38. package/.agent-src/commands/memory-promote.md +2 -2
  39. package/.agent-src/commands/mode.md +5 -5
  40. package/.agent-src/commands/onboard.md +17 -8
  41. package/.agent-src/commands/optimize-agents.md +6 -1
  42. package/.agent-src/commands/optimize-augmentignore.md +14 -0
  43. package/.agent-src/commands/optimize-rtk-filters.md +5 -0
  44. package/.agent-src/commands/optimize-skills.md +6 -1
  45. package/.agent-src/commands/optimize.md +54 -0
  46. package/.agent-src/commands/propose-memory.md +2 -2
  47. package/.agent-src/commands/refine-ticket.md +9 -7
  48. package/.agent-src/commands/review-changes.md +61 -9
  49. package/.agent-src/commands/review-routing.md +1 -1
  50. package/.agent-src/commands/roadmap-create.md +42 -4
  51. package/.agent-src/commands/roadmap-execute.md +9 -7
  52. package/.agent-src/commands/set-cost-profile.md +11 -3
  53. package/.agent-src/commands/sync-agent-settings.md +11 -2
  54. package/.agent-src/commands/tests-create.md +1 -1
  55. package/.agent-src/commands/tests-execute.md +2 -3
  56. package/.agent-src/commands/upstream-contribute.md +1 -1
  57. package/.agent-src/contexts/authority/commit-mechanics.md +57 -0
  58. package/.agent-src/contexts/authority/destructive-mechanics.md +66 -0
  59. package/.agent-src/contexts/authority/scope-mechanics.md +87 -0
  60. package/.agent-src/contexts/execution/autonomy-detection.md +54 -0
  61. package/.agent-src/contexts/execution/autonomy-examples.md +90 -0
  62. package/.agent-src/contexts/execution/autonomy-mechanics.md +29 -0
  63. package/.agent-src/contexts/execution/verification-mechanics.md +80 -0
  64. package/.agent-src/personas/README.md +1 -1
  65. package/.agent-src/rules/agent-authority.md +24 -0
  66. package/.agent-src/rules/architecture.md +1 -1
  67. package/.agent-src/rules/artifact-drafting-protocol.md +1 -1
  68. package/.agent-src/rules/artifact-engagement-recording.md +2 -2
  69. package/.agent-src/rules/ask-when-uncertain.md +1 -1
  70. package/.agent-src/rules/augment-portability.md +56 -37
  71. package/.agent-src/rules/autonomous-execution.md +78 -114
  72. package/.agent-src/rules/capture-learnings.md +1 -1
  73. package/.agent-src/rules/chat-history-cadence.md +109 -0
  74. package/.agent-src/rules/chat-history-ownership.md +123 -0
  75. package/.agent-src/rules/chat-history-visibility.md +96 -0
  76. package/.agent-src/rules/cli-output-handling.md +1 -1
  77. package/.agent-src/rules/{command-suggestion.md → command-suggestion-policy.md} +10 -9
  78. package/.agent-src/rules/commit-conventions.md +1 -1
  79. package/.agent-src/rules/commit-policy.md +43 -61
  80. package/.agent-src/rules/context-hygiene.md +3 -3
  81. package/.agent-src/rules/direct-answers.md +2 -2
  82. package/.agent-src/rules/docs-sync.md +1 -1
  83. package/.agent-src/rules/e2e-testing.md +1 -1
  84. package/.agent-src/rules/guidelines.md +4 -4
  85. package/.agent-src/rules/improve-before-implement.md +2 -2
  86. package/.agent-src/rules/language-and-tone.md +41 -96
  87. package/.agent-src/rules/minimal-safe-diff.md +3 -3
  88. package/.agent-src/rules/model-recommendation.md +4 -4
  89. package/.agent-src/rules/no-cheap-questions.md +89 -0
  90. package/.agent-src/rules/non-destructive-by-default.md +25 -59
  91. package/.agent-src/rules/onboarding-gate.md +5 -5
  92. package/.agent-src/rules/review-routing-awareness.md +9 -9
  93. package/.agent-src/rules/roadmap-progress-sync.md +132 -80
  94. package/.agent-src/rules/role-mode-adherence.md +3 -3
  95. package/.agent-src/rules/scope-control.md +65 -46
  96. package/.agent-src/rules/security-sensitive-stop.md +2 -2
  97. package/.agent-src/rules/size-enforcement.md +3 -2
  98. package/.agent-src/rules/think-before-action.md +5 -5
  99. package/.agent-src/rules/token-efficiency.md +4 -4
  100. package/.agent-src/rules/{ui-audit-before-build.md → ui-audit-gate.md} +3 -3
  101. package/.agent-src/rules/user-interaction.md +31 -7
  102. package/.agent-src/rules/verify-before-complete.md +12 -67
  103. package/.agent-src/scripts/update_roadmap_progress.py +65 -8
  104. package/.agent-src/skills/ai-council/SKILL.md +333 -0
  105. package/.agent-src/skills/api-endpoint/SKILL.md +2 -2
  106. package/.agent-src/skills/blade-ui/SKILL.md +30 -11
  107. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
  108. package/.agent-src/skills/bug-analyzer/SKILL.md +1 -1
  109. package/.agent-src/skills/command-routing/SKILL.md +1 -1
  110. package/.agent-src/skills/command-writing/SKILL.md +16 -5
  111. package/.agent-src/skills/conventional-commits-writing/SKILL.md +1 -1
  112. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +2 -2
  113. package/.agent-src/skills/developer-like-execution/SKILL.md +2 -2
  114. package/.agent-src/skills/existing-ui-audit/SKILL.md +24 -9
  115. package/.agent-src/skills/fe-design/SKILL.md +20 -15
  116. package/.agent-src/skills/file-editor/SKILL.md +9 -0
  117. package/.agent-src/skills/flux/SKILL.md +1 -1
  118. package/.agent-src/skills/git-workflow/SKILL.md +1 -1
  119. package/.agent-src/skills/guideline-writing/SKILL.md +11 -11
  120. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
  121. package/.agent-src/skills/livewire/SKILL.md +27 -8
  122. package/.agent-src/skills/override-management/SKILL.md +2 -2
  123. package/.agent-src/skills/php-coder/SKILL.md +1 -1
  124. package/.agent-src/skills/playwright-testing/SKILL.md +2 -2
  125. package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
  126. package/.agent-src/skills/readme-writing/SKILL.md +1 -1
  127. package/.agent-src/skills/readme-writing-package/SKILL.md +1 -1
  128. package/.agent-src/skills/receiving-code-review/SKILL.md +1 -1
  129. package/.agent-src/skills/refine-ticket/SKILL.md +30 -24
  130. package/.agent-src/skills/review-routing/SKILL.md +2 -2
  131. package/.agent-src/skills/roadmap-management/SKILL.md +22 -16
  132. package/.agent-src/skills/rule-writing/SKILL.md +1 -1
  133. package/.agent-src/skills/skill-reviewer/SKILL.md +1 -1
  134. package/.agent-src/skills/skill-writing/SKILL.md +6 -6
  135. package/.agent-src/skills/subagent-orchestration/SKILL.md +1 -0
  136. package/.agent-src/skills/systematic-debugging/SKILL.md +1 -1
  137. package/.agent-src/skills/upstream-contribute/SKILL.md +3 -3
  138. package/.agent-src/skills/validate-feature-fit/SKILL.md +2 -2
  139. package/.agent-src/skills/{verify-before-complete → verify-completion-evidence}/SKILL.md +2 -2
  140. package/.agent-src/templates/agent-settings.md +9 -9
  141. package/.agent-src/templates/contexts/auth-model.md +1 -1
  142. package/.agent-src/templates/roadmaps.md +9 -8
  143. package/.agent-src/templates/scripts/README.md +2 -2
  144. package/.agent-src/templates/scripts/memory_lookup.py +1 -1
  145. package/.agent-src/templates/scripts/telemetry/aggregator.py +16 -1
  146. package/.agent-src/templates/scripts/telemetry/engagement.py +59 -0
  147. package/.agent-src/templates/scripts/telemetry/report_renderer.py +28 -1
  148. package/.agent-src/templates/scripts/telemetry_record.py +14 -1
  149. package/.agent-src/templates/scripts/work_engine/__init__.py +2 -2
  150. package/.agent-src/templates/scripts/work_engine/cli.py +64 -461
  151. package/.agent-src/templates/scripts/work_engine/cli_args.py +116 -0
  152. package/.agent-src/templates/scripts/work_engine/delivery_state.py +3 -3
  153. package/.agent-src/templates/scripts/work_engine/directives/backend/__init__.py +1 -1
  154. package/.agent-src/templates/scripts/work_engine/directives/backend/implement.py +1 -1
  155. package/.agent-src/templates/scripts/work_engine/directives/backend/memory.py +1 -1
  156. package/.agent-src/templates/scripts/work_engine/directives/backend/plan.py +1 -1
  157. package/.agent-src/templates/scripts/work_engine/directives/backend/report.py +1 -1
  158. package/.agent-src/templates/scripts/work_engine/dispatcher.py +1 -1
  159. package/.agent-src/templates/scripts/work_engine/emitters.py +43 -0
  160. package/.agent-src/templates/scripts/work_engine/errors.py +19 -0
  161. package/.agent-src/templates/scripts/work_engine/hook_bootstrap.py +76 -0
  162. package/.agent-src/templates/scripts/work_engine/input_builders.py +163 -0
  163. package/.agent-src/templates/scripts/work_engine/migration/v0_to_v1.py +34 -2
  164. package/.agent-src/templates/scripts/work_engine/persona_policy.py +1 -1
  165. package/.agent-src/templates/scripts/work_engine/resolvers/prompt.py +1 -1
  166. package/.agent-src/templates/scripts/work_engine/state_io.py +202 -0
  167. package/.claude-plugin/marketplace.json +10 -2
  168. package/AGENTS.md +16 -12
  169. package/CHANGELOG.md +206 -9
  170. package/README.md +51 -52
  171. package/config/agent-settings.template.yml +58 -1
  172. package/config/gitignore-block.txt +3 -0
  173. package/docs/MIGRATION.md +122 -0
  174. package/docs/architecture.md +83 -34
  175. package/docs/catalog.md +331 -0
  176. package/docs/contracts/STABILITY.md +134 -0
  177. package/docs/contracts/adr-chat-history-split.md +132 -0
  178. package/docs/contracts/adr-command-suggestion.md +146 -0
  179. package/docs/contracts/adr-implement-ticket-runtime.md +122 -0
  180. package/docs/contracts/adr-product-ui-track.md +384 -0
  181. package/docs/contracts/adr-prompt-driven-execution.md +187 -0
  182. package/docs/contracts/agent-memory-contract.md +149 -0
  183. package/docs/contracts/artifact-engagement-flow.md +262 -0
  184. package/docs/contracts/command-clusters.md +126 -0
  185. package/docs/contracts/command-suggestion-flow.md +148 -0
  186. package/docs/contracts/implement-ticket-flow.md +628 -0
  187. package/docs/contracts/linear-ai-rules-inclusion.md +143 -0
  188. package/docs/contracts/linear-ai-three-layers.md +131 -0
  189. package/docs/contracts/load-context-schema.md +186 -0
  190. package/docs/contracts/rule-interactions.md +107 -0
  191. package/docs/contracts/rule-interactions.yml +238 -0
  192. package/docs/contracts/rule-priority-hierarchy.md +87 -0
  193. package/docs/contracts/ui-stack-extension.md +236 -0
  194. package/docs/contracts/ui-track-flow.md +338 -0
  195. package/docs/customization.md +14 -0
  196. package/docs/end-to-end-walkthroughs.md +165 -0
  197. package/docs/getting-started.md +27 -9
  198. package/docs/github-topics.md +12 -3
  199. package/docs/guidelines/agent-infra/language-and-tone-examples.md +79 -0
  200. package/{.agent-src → docs}/guidelines/docs/readme-size-and-splitting.md +26 -25
  201. package/docs/guidelines/php/git.md +164 -0
  202. package/docs/installation.md +42 -6
  203. package/docs/migrations/commands-1.15.0.md +112 -0
  204. package/docs/showcase.md +9 -4
  205. package/docs/skills-catalog.md +14 -8
  206. package/docs/ui-track-mental-model.md +121 -0
  207. package/llms.txt +13 -7
  208. package/package.json +1 -1
  209. package/scripts/agent-config +23 -0
  210. package/scripts/ai_council/__init__.py +39 -0
  211. package/scripts/ai_council/_default_prices.py +41 -0
  212. package/scripts/ai_council/_one_off_rebalancing_audit.py +149 -0
  213. package/scripts/ai_council/_one_off_roundtrip.py +106 -0
  214. package/scripts/ai_council/budget_guard.py +172 -0
  215. package/scripts/ai_council/bundler.py +261 -0
  216. package/scripts/ai_council/clients.py +381 -0
  217. package/scripts/ai_council/modes.py +127 -0
  218. package/scripts/ai_council/orchestrator.py +350 -0
  219. package/scripts/ai_council/pricing.py +213 -0
  220. package/scripts/ai_council/project_context.py +159 -0
  221. package/scripts/ai_council/prompts.py +232 -0
  222. package/scripts/ai_council/session.py +144 -0
  223. package/scripts/build_linear_digest.py +4 -4
  224. package/scripts/check_always_budget.py +126 -0
  225. package/scripts/check_augmentignore.py +69 -0
  226. package/scripts/check_command_count_messaging.py +120 -0
  227. package/scripts/check_portability.py +57 -0
  228. package/scripts/check_public_catalog_links.py +122 -0
  229. package/scripts/check_public_links.py +185 -0
  230. package/scripts/check_references.py +5 -1
  231. package/scripts/check_roadmap_trackable.py +111 -0
  232. package/scripts/command_suggester/cooldown.py +1 -1
  233. package/scripts/generate_index.py +266 -0
  234. package/scripts/install_anthropic_key.sh +5 -0
  235. package/scripts/install_openai_key.sh +106 -0
  236. package/scripts/lint_load_context.py +163 -0
  237. package/scripts/lint_no_new_atomic_commands.py +179 -0
  238. package/scripts/lint_rule_interactions.py +149 -0
  239. package/scripts/memory_lookup.py +1 -1
  240. package/scripts/release.py +297 -64
  241. package/scripts/schemas/command.schema.json +20 -0
  242. package/scripts/schemas/rule.schema.json +10 -0
  243. package/scripts/skill_linter.py +26 -4
  244. package/scripts/sync_agent_settings.py +1 -1
  245. package/scripts/update_counts.py +19 -4
  246. package/scripts/update_prices.py +124 -0
  247. package/.agent-src/guidelines/php/git.md +0 -96
  248. package/.agent-src/rules/chat-history.md +0 -200
  249. /package/.agent-src/rules/{slash-commands.md → slash-command-routing-policy.md} +0 -0
  250. /package/{.agent-src → docs}/guidelines/agent-infra/agent-interaction-and-decision-quality.md +0 -0
  251. /package/{.agent-src → docs}/guidelines/agent-infra/break-glass-usage.md +0 -0
  252. /package/{.agent-src → docs}/guidelines/agent-infra/developer-judgment.md +0 -0
  253. /package/{.agent-src → docs}/guidelines/agent-infra/engineering-memory-data-format.md +0 -0
  254. /package/{.agent-src → docs}/guidelines/agent-infra/layered-settings.md +0 -0
  255. /package/{.agent-src → docs}/guidelines/agent-infra/memory-access.md +0 -0
  256. /package/{.agent-src → docs}/guidelines/agent-infra/naming.md +0 -0
  257. /package/{.agent-src → docs}/guidelines/agent-infra/output-patterns.md +0 -0
  258. /package/{.agent-src → docs}/guidelines/agent-infra/review-routing-data-format.md +0 -0
  259. /package/{.agent-src → docs}/guidelines/agent-infra/role-contracts.md +0 -0
  260. /package/{.agent-src → docs}/guidelines/agent-infra/role-mode-router.md +0 -0
  261. /package/{.agent-src → docs}/guidelines/agent-infra/runtime-layer.md +0 -0
  262. /package/{.agent-src → docs}/guidelines/agent-infra/self-improvement-pipeline.md +0 -0
  263. /package/{.agent-src → docs}/guidelines/agent-infra/size-and-scope.md +0 -0
  264. /package/{.agent-src → docs}/guidelines/agent-infra/tool-integration.md +0 -0
  265. /package/{.agent-src → docs}/guidelines/e2e/playwright.md +0 -0
  266. /package/{.agent-src → docs}/guidelines/php/api-design.md +0 -0
  267. /package/{.agent-src → docs}/guidelines/php/artisan-commands.md +0 -0
  268. /package/{.agent-src → docs}/guidelines/php/blade-ui.md +0 -0
  269. /package/{.agent-src → docs}/guidelines/php/controllers.md +0 -0
  270. /package/{.agent-src → docs}/guidelines/php/database.md +0 -0
  271. /package/{.agent-src → docs}/guidelines/php/eloquent.md +0 -0
  272. /package/{.agent-src → docs}/guidelines/php/flux.md +0 -0
  273. /package/{.agent-src → docs}/guidelines/php/general.md +0 -0
  274. /package/{.agent-src → docs}/guidelines/php/jobs.md +0 -0
  275. /package/{.agent-src → docs}/guidelines/php/livewire.md +0 -0
  276. /package/{.agent-src → docs}/guidelines/php/logging.md +0 -0
  277. /package/{.agent-src → docs}/guidelines/php/naming.md +0 -0
  278. /package/{.agent-src → docs}/guidelines/php/patterns/dependency-injection.md +0 -0
  279. /package/{.agent-src → docs}/guidelines/php/patterns/dtos.md +0 -0
  280. /package/{.agent-src → docs}/guidelines/php/patterns/events.md +0 -0
  281. /package/{.agent-src → docs}/guidelines/php/patterns/factory.md +0 -0
  282. /package/{.agent-src → docs}/guidelines/php/patterns/pipelines.md +0 -0
  283. /package/{.agent-src → docs}/guidelines/php/patterns/policies.md +0 -0
  284. /package/{.agent-src → docs}/guidelines/php/patterns/repositories.md +0 -0
  285. /package/{.agent-src → docs}/guidelines/php/patterns/service-layer.md +0 -0
  286. /package/{.agent-src → docs}/guidelines/php/patterns/strategy.md +0 -0
  287. /package/{.agent-src → docs}/guidelines/php/patterns.md +0 -0
  288. /package/{.agent-src → docs}/guidelines/php/performance.md +0 -0
  289. /package/{.agent-src → docs}/guidelines/php/resources.md +0 -0
  290. /package/{.agent-src → docs}/guidelines/php/security.md +0 -0
  291. /package/{.agent-src → docs}/guidelines/php/sql.md +0 -0
  292. /package/{.agent-src → docs}/guidelines/php/validations.md +0 -0
  293. /package/{.agent-src → docs}/guidelines/php/websocket.md +0 -0
@@ -73,7 +73,7 @@ Show the handoff prompt in a fenced code block and say:
73
73
  and without any persistent file.
74
74
  - [`/chat-history-resume`](chat-history-resume.md) is **pull-based**: the
75
75
  new chat reads `.agent-chat-history` from disk (written by the
76
- [`chat-history`](../rules/chat-history.md) rule). Works only on the
76
+ [`chat-history`](../rules/chat-history-ownership.md) rule). Works only on the
77
77
  same machine and same repo, but captures more detail (every phase /
78
78
  tool call / decision the prior session logged).
79
79
 
@@ -75,8 +75,8 @@ RISIKO-CHECK:
75
75
  For each change:
76
76
 
77
77
  1. **Read the file** before modifying.
78
- 2. **Make the change** using `str-replace-editor`.
79
- 3. **Check for downstream effects** — use `codebase-retrieval` to find callers.
78
+ 2. **Make the change** with the file-edit tool available to the agent.
79
+ 3. **Check for downstream effects** — search the codebase for callers.
80
80
  4. **Update related code** if signatures or behavior changed.
81
81
 
82
82
  ### 4. Quality checks
@@ -182,4 +182,4 @@ What next?
182
182
 
183
183
  ## See also
184
184
 
185
- - [`role-contracts`](../guidelines/agent-infra/role-contracts.md#developer) — Developer mode output contract (Goal / Plan / Changes / Tests / Open questions)
185
+ - [`role-contracts`](../../docs/guidelines/agent-infra/role-contracts.md#developer) — Developer mode output contract (Goal / Plan / Changes / Tests / Open questions)
@@ -175,5 +175,5 @@ What's next?
175
175
 
176
176
  ## See also
177
177
 
178
- - [`role-contracts`](../guidelines/agent-infra/role-contracts.md#incident) — Incident mode output contract (Symptom / Reproduction / Minimal reversible change / Deferred verification / Follow-up commitment) — use when the bug is a live production issue with `break-glass: true`
179
- - [`role-contracts`](../guidelines/agent-infra/role-contracts.md#developer) — Developer mode output contract for non-incident bugs
178
+ - [`role-contracts`](../../docs/guidelines/agent-infra/role-contracts.md#incident) — Incident mode output contract (Symptom / Reproduction / Minimal reversible change / Deferred verification / Follow-up commitment) — use when the bug is a live production issue with `break-glass: true`
179
+ - [`role-contracts`](../../docs/guidelines/agent-infra/role-contracts.md#developer) — Developer mode output contract for non-incident bugs
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: chat-history-checkpoint
3
- description: Append a phase-boundary entry to .agent-chat-history — the CHECKPOINT fallback for platforms without a native hook surface (Augment Code IDE plugin, Cursor non-1.7+, Cline non-Mac/Linux). Cooperative gate, ~1 second to run.
3
+ description: Append a phase-boundary entry to .agent-chat-history — CHECKPOINT fallback for platforms without a native hook (Augment IDE, Cursor pre-1.7, Cline non-Mac/Linux). ~1s.
4
4
  disable-model-invocation: true
5
5
  suggestion:
6
6
  eligible: true
@@ -104,7 +104,7 @@ If the helper returned `skipped_cadence`, surface it:
104
104
 
105
105
  - The command writes through the same ownership-state machine as
106
106
  hooks — a `foreign` log triggers the
107
- [`chat-history`](../rules/chat-history.md) Foreign-Prompt before any
107
+ [`chat-history`](../rules/chat-history-ownership.md) Foreign-Prompt before any
108
108
  append. This is intentional; the checkpoint must not silently
109
109
  hijack another session's log.
110
110
  - The `phase` payload key is required. Other keys are accepted but
@@ -117,7 +117,7 @@ If the helper returned `skipped_cadence`, surface it:
117
117
 
118
118
  ## See also
119
119
 
120
- - [`chat-history`](../rules/chat-history.md) — the rule defining the
120
+ - [`chat-history`](../rules/chat-history-ownership.md) — the rule defining the
121
121
  conditional Iron Law (HOOK platforms vs CHECKPOINT/MANUAL platforms)
122
122
  - [`/chat-history`](chat-history.md) — read-only status display
123
123
  - [`/chat-history-resume`](chat-history-resume.md) — adopt + load
@@ -24,7 +24,7 @@ touching the file, unless the file does not exist in the first place.
24
24
  - Keep the entries but re-point the header → [`/chat-history-resume`](chat-history-resume.md).
25
25
  - Disable logging entirely → set `chat_history.enabled: false` in
26
26
  `.agent-settings.yml`; see
27
- [`layered-settings`](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
27
+ [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
28
28
  Disabling does not delete the existing file; run this command
29
29
  afterwards if you also want it gone.
30
30
 
@@ -96,7 +96,7 @@ effect — this command is scoped to the file on disk only.
96
96
 
97
97
  ## See also
98
98
 
99
- - [`chat-history`](../rules/chat-history.md) — the rule that writes the file
99
+ - [`chat-history`](../rules/chat-history-ownership.md) — the rule that writes the file
100
100
  - [`/chat-history`](chat-history.md) — status inspection
101
101
  - [`/chat-history-resume`](chat-history-resume.md) — load + adopt instead of wipe
102
102
  - [`agent-settings` template](../templates/agent-settings.md) — `chat_history.*` reference
@@ -17,7 +17,7 @@ flow: silent summarize, adopt, merge, or replace.
17
17
 
18
18
  Use after a crashed chat, after switching tools (Augment → Claude Code),
19
19
  or when the agent showed the foreign- or returning-session prompt from
20
- the [`chat-history`](../rules/chat-history.md) rule and the user picked
20
+ the [`chat-history`](../rules/chat-history-ownership.md) rule and the user picked
21
21
  "resume".
22
22
 
23
23
  ## When NOT to use
@@ -174,7 +174,7 @@ the user decides what to do next.
174
174
 
175
175
  ## See also
176
176
 
177
- - [`chat-history`](../rules/chat-history.md) — the rule that triggers
177
+ - [`chat-history`](../rules/chat-history-ownership.md) — the rule that triggers
178
178
  this command via the foreign- and returning-session prompts
179
179
  - [`/chat-history`](chat-history.md) — status inspection without adopting
180
180
  - [`/chat-history-clear`](chat-history-clear.md) — wipe instead of adopt
@@ -12,7 +12,7 @@ suggestion:
12
12
  # /chat-history
13
13
 
14
14
  Inspect `.agent-chat-history` — the JSONL log maintained by the
15
- [`chat-history`](../rules/chat-history.md) rule for crash recovery.
15
+ [`chat-history`](../rules/chat-history-ownership.md) rule for crash recovery.
16
16
 
17
17
  Shows:
18
18
 
@@ -31,7 +31,7 @@ Read-only — this command never writes to the file.
31
31
  - Wipe the file → [`/chat-history-clear`](chat-history-clear.md).
32
32
  - Configure logging behavior → edit `.agent-settings.yml` directly
33
33
  (`chat_history.*`); see
34
- [`layered-settings`](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
34
+ [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
35
35
 
36
36
  ## Steps
37
37
 
@@ -100,7 +100,7 @@ append may trigger overflow handling.
100
100
 
101
101
  ## See also
102
102
 
103
- - [`chat-history`](../rules/chat-history.md) — the rule that writes the file
103
+ - [`chat-history`](../rules/chat-history-ownership.md) — the rule that writes the file
104
104
  - [`/chat-history-resume`](chat-history-resume.md) — adopt + load
105
105
  - [`/chat-history-clear`](chat-history-clear.md) — wipe
106
106
  - [`agent-settings` template](../templates/agent-settings.md) — `chat_history.*` reference
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: check-current-md
3
- description: Check the currently open .md file (or a path you pass) for German content outside DE:/EN: anchor blocks — umlauts, German function words, untranslated quoted phrases. Reports findings and offers fixes.
3
+ description: Check the open .md file (or a passed path) for German outside DE:/EN: anchor blocks — umlauts, function words, untranslated quotes. Reports and offers fixes.
4
4
  disable-model-invocation: true
5
5
  suggestion:
6
6
  eligible: false
@@ -9,23 +9,23 @@ suggestion:
9
9
 
10
10
  # check-current-md
11
11
 
12
- Manual runner for [`md-language-check`](../skills/md-language-check/SKILL.md).
13
- Use to spot-check an `.md` file the agent did not just edit, or to audit
14
- before opening a PR.
12
+ Manual runner for the [`md-language-check`](../skills/md-language-check/SKILL.md)
13
+ skill. Use to spot-check an `.md` file the agent did not just edit, or to
14
+ audit a file before opening a PR.
15
15
 
16
16
  ## Instructions
17
17
 
18
18
  ### 1. Resolve target paths
19
19
 
20
- User passed paths use those. Else default to the file currently open
21
- in the editor (per `personal.ide` open-file context). No file open and
22
- no path passed:
20
+ If the user passed one or more paths, use those. Otherwise, default to
21
+ the file currently open in the editor (per `personal.ide` open-file
22
+ context). If no file is open and no path was passed:
23
23
 
24
24
  ```
25
25
  > ❌ No target file. Pass a path: /check-current-md path/to/file.md
26
26
  ```
27
27
 
28
- Stop.
28
+ Stop here.
29
29
 
30
30
  ### 2. Run the checker
31
31
 
@@ -33,8 +33,11 @@ Stop.
33
33
  python3 scripts/check_md_language.py <path> [<path> …] --format json
34
34
  ```
35
35
 
36
- Exit codes: `0` clean, `1` violations (continue to step 3), `3`
37
- internal error (surface stderr, stop).
36
+ Exit codes:
37
+
38
+ - `0` → no findings; report and stop
39
+ - `1` → findings present; continue to step 3
40
+ - `3` → internal error; surface stderr and stop
38
41
 
39
42
  ### 3. Display findings
40
43
 
@@ -46,7 +49,7 @@ internal error (surface stderr, stop).
46
49
  Found: {count} violation(s) across {files} file(s)
47
50
  ```
48
51
 
49
- Per violation:
52
+ For each violation:
50
53
 
51
54
  ```
52
55
  {file}:{line} — kind: {umlaut|de_word} — match: `{matched_text}`
@@ -57,14 +60,16 @@ Group by file when multiple files are scanned.
57
60
 
58
61
  ### 4. Classify and propose fixes
59
62
 
63
+ For each violation, propose one of:
64
+
60
65
  | Cause | Proposed fix |
61
66
  |---|---|
62
- | German sentence in body prose | Translate to English |
67
+ | German sentence in body prose | Translate the line to English |
63
68
  | Quoted German token used as example | Move into a labeled `DE: … · EN: …` block |
64
- | Meta-doc that documents trigger words | Append `<!-- md-language-check: ignore -->` to the line |
65
- | Intentionally bilingual but unlabeled | Reformat as labeled anchor block |
69
+ | Meta-documentation that documents trigger words | Append `<!-- md-language-check: ignore -->` to the line |
70
+ | Line is intentionally bilingual but unlabeled | Reformat as labeled anchor block |
66
71
 
67
- Summary:
72
+ Present a summary:
68
73
 
69
74
  ```
70
75
  Proposed fixes:
@@ -76,20 +81,21 @@ Summary:
76
81
  > 3. Skip — report only
77
82
  ```
78
83
 
79
- Recommendation: **2 — Apply interactively** when ≥3 findings,
80
- **1 — Apply all fixes** for ≤2 findings or all-translation diffs.
84
+ Recommendation: **2 — Apply interactively** when ≥3 findings, **1 —
85
+ Apply all fixes** for ≤2 findings or when all are pure translations.
81
86
 
82
87
  ### 5. Apply fixes
83
88
 
84
89
  Edit only the source-of-truth file:
85
90
 
86
- - `.agent-src.uncompressed/` → edit directly
87
- - `.agent-src/` → edit the matching `.agent-src.uncompressed/` file,
88
- then `bash scripts/compress.sh --sync`
89
- - `.augment/` → same as `.agent-src/` (it's a projection)
90
- - `agents/` → edit directly (no compression layer)
91
+ - Path under `.agent-src.uncompressed/` → edit there directly
92
+ - Path under `.agent-src/` → edit the matching
93
+ `.agent-src.uncompressed/` file instead, then run
94
+ `bash scripts/compress.sh --sync`
95
+ - Path under `.augment/` → same as `.agent-src/` (it's a projection)
96
+ - Path under `agents/` → edit directly (no compression layer)
91
97
 
92
- Re-run after fixes:
98
+ After all fixes, re-run:
93
99
 
94
100
  ```bash
95
101
  python3 scripts/check_md_language.py <path> [<path> …]
@@ -97,27 +103,32 @@ python3 scripts/check_md_language.py <path> [<path> …]
97
103
 
98
104
  ### 6. Mark hashes (only if `.agent-src.uncompressed/` was edited)
99
105
 
106
+ For each modified source file:
107
+
100
108
  ```bash
101
109
  python3 scripts/compress.py --mark-done "{relative_path}"
102
110
  ```
103
111
 
104
- Keeps `.compression-hashes.json` consistent.
112
+ This keeps `.compression-hashes.json` consistent with the new content.
105
113
 
106
114
  ## Rules
107
115
 
108
- - **Never edit `.augment/` directly** — it's a generated projection
109
- ([`augment-source-of-truth`](../rules/augment-source-of-truth.md))
110
- - **Per-line ignore marker** is reserved for meta-documentation that
111
- must quote German tokens; not a generic mute
112
- - **Frontmatter is exempt** checker skips it; don't try to "fix" it
113
- - **Do NOT commit or push** — leave the working tree to the user
116
+ - **Never edit `.augment/` directly** — it's a generated projection.
117
+ Per [`augment-source-of-truth`](../rules/augment-source-of-truth.md),
118
+ the source is `.agent-src.uncompressed/`.
119
+ - **Per-line ignore marker is reserved** for meta-documentation that
120
+ must quote German tokens; do NOT use it as a generic mute.
121
+ - **Frontmatter is exempt** — the checker skips YAML frontmatter at
122
+ the head of the file; do not try to "fix" frontmatter.
123
+ - **Do NOT commit or push** — finishing the check leaves the working
124
+ tree to the user.
114
125
 
115
126
  ## When NOT to use
116
127
 
117
128
  - Project content outside `.agent-src*/`, `.augment/`, or `agents/`
118
- follows a different language policy
119
- - During autonomous edits the [`md-language-check`](../skills/md-language-check/SKILL.md)
120
- skill already gates saves; this command is for **manual** spot-checks
129
+ follows a different language policy — do not enforce English there.
130
+ - During autonomous edits, the [`md-language-check`](../skills/md-language-check/SKILL.md)
131
+ skill already gates saves; this command is for **manual** spot-checks.
121
132
 
122
133
  ## See also
123
134
 
@@ -11,10 +11,10 @@ suggestion:
11
11
 
12
12
  # commit-in-chunks
13
13
 
14
- Auto-split and commit all local changes in one go. Use when you want
15
- commits made without being asked to confirm each batch. Sibling of
16
- [`/commit`](commit.md), which waits for approval; this command skips
17
- that step.
14
+ Auto-split and commit all local changes in one go. Use this when you
15
+ want commits made without being asked to confirm each batch. Sibling
16
+ of [`/commit`](commit.md), which presents the plan and waits for
17
+ approval. This command skips the approval step.
18
18
 
19
19
  Per [`autonomous-execution`](../rules/autonomous-execution.md), the
20
20
  agent does **not** commit on its own initiative — invoking this
@@ -30,29 +30,36 @@ git diff --stat
30
30
  git diff --cached --stat
31
31
  ```
32
32
 
33
- No uncommitted changes report "Nothing to commit." and stop.
33
+ If there are no uncommitted changes (staged or unstaged), report
34
+ "Nothing to commit." and stop.
34
35
 
35
36
  ### 2. Determine the ticket number
36
37
 
37
- - Extract ticket ID from current branch (e.g. `feat/DEV-1234/...` → `DEV-1234`).
38
- - No ticket ID omit scope: write `chore: ...` not `chore(): ...`. Do **not** ask the user.
38
+ - Extract the ticket ID from the current branch name (e.g. `feat/DEV-1234/...`
39
+ → `DEV-1234`).
40
+ - If no ticket ID is found, omit the scope from the messages — write
41
+ `chore: ...` not `chore(): ...`. Do **not** ask the user for one.
39
42
 
40
43
  ### 3. Analyze and split
41
44
 
42
- Group changed files into logical units per [`/commit`](commit.md) step 3:
45
+ Group changed files into logical units following [`/commit`](commit.md)
46
+ step 3 grouping rules:
43
47
 
44
48
  - Same feature / fix → one commit.
45
49
  - Migration + corresponding model/seeder → one commit.
46
- - Test + class under test → one commit.
47
- - Style-only (ECS/Rector/formatter) → separate `style:` / `chore:` commit when mixed with logic.
50
+ - Test + the class under test → one commit.
51
+ - Style-only changes (ECS/Rector/formatter) → separate `style:` /
52
+ `chore:` commit when mixed with logic changes.
48
53
  - Truly unrelated change → its own commit.
49
54
 
50
55
  Splitting rules:
51
- - **Do NOT split arbitrarily** — only when logically independent.
56
+ - **Do NOT split arbitrarily** — only when the changes are logically
57
+ independent.
52
58
  - **Prefer fewer, coherent commits** over many tiny ones.
53
- - **Tests go with the code they test** unless test-only changes are large and noisy.
59
+ - **Tests go with the code they test** unless test-only changes are
60
+ large and noisy.
54
61
 
55
- Generate messages per [`commit-conventions`](../rules/commit-conventions.md).
62
+ Generate commit messages per [`commit-conventions`](../rules/commit-conventions.md).
56
63
 
57
64
  ### 4. Commit immediately
58
65
 
@@ -63,10 +70,13 @@ git add {files...}
63
70
  git commit -m "{message}"
64
71
  ```
65
72
 
66
- No "looks good?" prompt. No confirmation. User invoked the command knowing the plan would execute.
73
+ No "looks good?" prompt. No confirmation step. The user invoked this
74
+ command knowing the plan would be executed.
67
75
 
68
76
  ### 5. Report
69
77
 
78
+ Show a summary:
79
+
70
80
  ```
71
81
  Created N commits:
72
82
  1. {sha1} feat(DEV-1234): {summary}
@@ -80,19 +90,29 @@ Include `git log --oneline -N` output for verification.
80
90
 
81
91
  - **Never push** — pushing remains explicit per [`scope-control`](../rules/scope-control.md#git-operations--permission-gated).
82
92
  - **Never modify files** — only stage and commit existing changes.
83
- - **Do NOT add untracked files** unless clearly part of the change (check `git status` first).
84
- - **Follow commit conventions** per [`commit-conventions`](../rules/commit-conventions.md).
85
- - **Stop on first failure** if `git commit` fails (hook rejection, pre-commit lint error), stop, report, leave staged files for the user. Do not continue with remaining commits.
86
- - **No interactive prompts** — fail fast over hanging on input.
93
+ - **Do NOT add untracked files** unless they are clearly part of the
94
+ change (check with `git status` first).
95
+ - **Follow commit conventions** as defined in [`commit-conventions`](../rules/commit-conventions.md).
96
+ - **Stop on first failure** — if `git commit` fails (hook rejection,
97
+ pre-commit lint error), stop, report the error, and do not continue
98
+ with the remaining planned commits. Leave staged files for the user
99
+ to inspect.
100
+ - **No interactive prompts** — fail fast over hanging waiting for
101
+ input.
87
102
 
88
103
  ## When NOT to use
89
104
 
90
- - User hasn't seen the diff and would benefit from review → use [`/commit`](commit.md).
91
- - Diff includes large unrelated changes the user might want to reorganise → use [`/commit`](commit.md).
92
- - Repo has a pre-commit hook requiring manual response → fix the hook or use `/commit`.
105
+ - The user has not seen the diff yet and would benefit from review →
106
+ use [`/commit`](commit.md) instead.
107
+ - The diff includes large unrelated changes the user might want to
108
+ reorganise → use [`/commit`](commit.md).
109
+ - The repo has a pre-commit hook that requires manual response → fix
110
+ the hook or use `/commit`.
93
111
 
94
112
  ## See also
95
113
 
96
114
  - [`/commit`](commit.md) — split + present plan + wait for approval
97
- - [`autonomous-execution`](../rules/autonomous-execution.md) — the rule that defines the no-ask commit default this command opts out of
98
- - [`commit-conventions`](../rules/commit-conventions.md) message format
115
+ - [`autonomous-execution`](../rules/autonomous-execution.md) — the
116
+ rule that defines the no-ask commit default this command opts out of
117
+ - [`commit-conventions`](../rules/commit-conventions.md) — message
118
+ format
@@ -34,7 +34,8 @@ bash scripts/compress.sh --changed
34
34
  This lists only `.md` files whose source has changed since the last compression (based on
35
35
  stored SHA-256 hashes). If no files changed → you're done.
36
36
 
37
- If you need to see ALL files regardless of change status: `bash scripts/compress.sh --list`.
37
+ If you need to see ALL files regardless of change status:
38
+ `bash scripts/compress.sh --list`.
38
39
 
39
40
  ## Step 3: Compress each changed .md file
40
41
 
@@ -71,6 +72,7 @@ For each changed `.md` file:
71
72
  - Concrete validation checks
72
73
  - Gotchas based on real failure patterns
73
74
  - Anti-patterns that prevent recurring failures
75
+ - **Iron Law sections** — see "Iron Laws — do not touch" below
74
76
  5. **Enrich (SKILL.md files only):** During compression, also improve agent-effectiveness:
75
77
  - **Validation steps:** If a Procedure ends with a vague validation ("check if it works"),
76
78
  replace with concrete checks (expected output, commands to verify, specific conditions)
@@ -140,9 +142,39 @@ Show a summary table with per-category stats (files compressed, avg savings).
140
142
  (useful after an initial full compression or when bootstrapping the hash file).
141
143
  - A file with no stored hash is always treated as "changed".
142
144
 
145
+ ## Iron Laws — do not touch
146
+
147
+ Sections under headings matching `Iron Law`, `Iron Laws`, or `The Iron Law` (any
148
+ heading level, numbered variants like `Iron Law 1` included) are **load-bearing
149
+ behavioral rules**. Compression rules above do **not** apply to them.
150
+
151
+ For every Iron Law section in a source file:
152
+
153
+ - **Copy the heading verbatim**, exact text, exact `#` level. NEVER downgrade
154
+ `## Iron Law` to `### Iron Law` or to inline `**Iron Law:**`.
155
+ - **Copy the fenced code block byte-for-byte**, including capitalization, line
156
+ breaks, and trailing punctuation.
157
+ - **Copy the negation clauses verbatim** — `NO X`, `NEVER Y`, `NOT Z`. These
158
+ are the law's exception denials; stripping them weakens the rule.
159
+ - **Caveman the prose, keep every passage** — every paragraph, every list
160
+ item, and every fenced code block from the source must appear in the
161
+ compressed output, in order. Drop articles, shorten phrasing, primitive
162
+ grammar, terse cave-speak — all encouraged. What's forbidden is dropping
163
+ whole sentences, merging two paragraphs into one, or skipping a bullet.
164
+ One paragraph → one paragraph; one bullet → one bullet.
165
+ - **No word-count budget** — compress the prose as hard as caveman style
166
+ allows. The check is structural (passage count), not quantitative.
167
+
168
+ `scripts/check_compression.py` enforces these mechanically — `iron_law_missing`,
169
+ `iron_law_passage_dropped`, and `iron_law_heading_downgrade` are `error`-level
170
+ and block CI.
171
+
172
+ If an Iron Law section genuinely contains filler (rare): edit the SOURCE in
173
+ `.agent-src.uncompressed/`, not the compressed copy. Source is the truth.
174
+
143
175
  ## Compression quality checklist
144
176
 
145
- **Also apply the `preservation-guard` rule** — strongest validation, example, anti-pattern, and decision hints must survive compression.
177
+ **Also apply the `preservation-guard` rule** — strongest validation, example, anti-pattern, and decision hints must survive compression. Iron Laws are non-negotiable.
146
178
 
147
179
  After compressing each file, verify:
148
180
 
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: council-design
3
+ cluster: optimize
4
+ skills: [ai-council]
5
+ description: Run the council on a design document, ADR, or architecture proposal — surfaces hidden coupling, missing rollback, and sequencing risk before commitment.
6
+ disable-model-invocation: true
7
+ suggestion:
8
+ eligible: true
9
+ trigger_description: "council on this design, second opinion on the ADR, external review of architecture proposal"
10
+ trigger_context: "user has a design doc / ADR / architecture proposal and wants an external review before commitment"
11
+ ---
12
+
13
+ # council-design
14
+
15
+ ## Instructions
16
+
17
+ Specialised council mode for **design documents, ADRs, and
18
+ architecture proposals**. Wraps `/council files:<paths>` (or
19
+ `/council prompt:"…"`) with the `design` mode neutrality preamble that
20
+ focuses members on architectural risk rather than line-level
21
+ correctness.
22
+
23
+ ### 1. Resolve the artefact
24
+
25
+ The user invoked `/council-design <path>` or `/council-design`. If no
26
+ path was supplied, ask (one question per turn):
27
+
28
+ > Which design artefact should the council review?
29
+ >
30
+ > 1. A file path (ADR, design doc, RFC)
31
+ > 2. Multiple files / a directory (the bundler will gather them)
32
+ > 3. A free-form proposal in the chat — paste it now
33
+
34
+ Pick **1** or **2** → use `files:` mode of `/council`.
35
+ Pick **3** → use `prompt:` mode of `/council`.
36
+
37
+ ### 2. Capture the originating ask
38
+
39
+ Look for the artefact's stated goal — the first paragraph after the
40
+ title, or a `## Goal` / `## Problem` section if present. That goal is
41
+ the `original_ask` for the handoff preamble. If the artefact has no
42
+ goal section, ask the user (one question per turn):
43
+
44
+ > What is the goal of this design? (one sentence — used as neutral
45
+ > framing for the council, not their analysis)
46
+
47
+ ### 3. Run /council with the design mode preamble
48
+
49
+ Invoke the matching `/council` form:
50
+
51
+ - `files:` → `/council files:<paths>` with `mode_override=design`.
52
+ - `prompt:` → `/council prompt:"<artefact text>"` with
53
+ `mode_override=design`.
54
+
55
+ The `design` mode addendum from `scripts/ai_council/prompts.py`
56
+ focuses council members on:
57
+
58
+ - Trust-boundary and module-coupling risk.
59
+ - Rollback / kill-switch criteria the design omits.
60
+ - Sequencing risk (does step N really not block step N+1?).
61
+ - Open questions disguised as decisions.
62
+
63
+ The cost gate from `/council` Step 3 still applies.
64
+
65
+ ### 4. Render the report
66
+
67
+ Use the standard stacked + Convergence/Divergence layout. Add a
68
+ one-line header at the top so reviewers know the lens:
69
+
70
+ ```
71
+ ## Council on <artefact path or "free-form proposal"> — design lens
72
+ ```
73
+
74
+ ### 5. Hand back to the user
75
+
76
+ The council is **advisory**. Do **not** rewrite the design based on
77
+ findings. Surface convergent + divergent points and let the user
78
+ decide which to fold in via `/feature plan` or `/feature refactor`.
79
+
80
+ ### Hard floor (restated)
81
+
82
+ `/council-design` produces **text only**. It does NOT edit the
83
+ design file, open ADR PRs, or modify the codebase.
84
+
85
+ ## Failure modes
86
+
87
+ - **No artefact resolvable** → ask once; if still empty, stop.
88
+ - **Artefact too large** → bundler raises `BundleTooLarge`; suggest
89
+ splitting (`/council files:<single-file>` per section).
90
+
91
+ ## See also
92
+
93
+ - `/council` — base orchestration entry point.
94
+ - `/feature plan` / `/feature refactor` — where design changes get
95
+ written, after the council surfaces issues.
96
+ - `ai-council` skill — neutrality guidelines.