@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
@@ -3,6 +3,8 @@ type: "always"
3
3
  description: "Scope control — no unsolicited architectural changes, refactors, or library replacements"
4
4
  alwaysApply: true
5
5
  source: package
6
+ load_context:
7
+ - .agent-src.uncompressed/contexts/authority/scope-mechanics.md
6
8
  ---
7
9
 
8
10
  # Scope Control
@@ -20,62 +22,79 @@ source: package
20
22
 
21
23
  The user decides the git shape of the work. Never improvise.
22
24
 
23
- > **Commit specifics:** see [`commit-policy`](commit-policy.md) — narrower
24
- > than the general "no git ops without permission" below (never-ask
25
- > default + roadmap-authorized exception).
25
+ > **Commit specifics:** see the canonical [`commit-policy`](commit-policy.md)
26
+ > rule — narrower than the general "no git ops without permission"
27
+ > below (covers the never-ask-about-committing default and the
28
+ > roadmap-authorized exception).
26
29
 
27
30
  - NEVER commit, push, merge, rebase, or force-push without explicit user permission.
28
- - NEVER create, switch, or delete a branch without explicit user permission.
29
- Includes spike, scratch, throwaway, worktree branches.
30
- - NEVER create, close, reopen, or retarget a pull request without explicit
31
- user permission.
31
+ - NEVER create a new branch, switch to a different branch, or delete a
32
+ branch without explicit user permission. This includes spike, scratch,
33
+ throwaway, and worktree branches.
34
+ - NEVER create, close, reopen, or change the target of a pull request
35
+ without explicit user permission.
32
36
  - NEVER push a tag or create a release without explicit user permission.
33
- - NEVER include version numbers, releases, deprecation dates,
34
- release-tied milestones, or git tags in roadmaps, plans, tickets, or
35
- any planning artifact. Roadmaps plan **work**; releases are a
36
- separate user decision. Never surface "which release" as a numbered
37
- option, ADR field, or roadmap entry. If user wants a release pinned
38
- to a milestone, they say so explicitly.
37
+ - NEVER include version numbers, target releases, deprecation dates,
38
+ release-tied milestones, or git tags inside roadmaps, plans, tickets,
39
+ or any other planning artifact. Roadmaps plan **work**; releases and
40
+ tags are a separate decision the user makes outside the roadmap.
41
+ Never surface "which release should this ship in?" as an option in
42
+ numbered choices, ADRs, or roadmap text. If the user wants a release
43
+ pinned to a milestone, they will say so explicitly.
39
44
  - If a task seems to need a separate branch or PR, STOP and **brief
40
- first, ask second**. The brief MUST cover, in order:
41
- 1. **Why** — what the new branch solves that the current one cannot.
42
- 2. **What** files touched, experiments run, expected duration.
43
- 3. **How it continues** — merge back, cherry-pick, throwaway, PR
44
- target, how the current branch is protected meanwhile.
45
- Then present numbered options with "stay on current branch" as
46
- default. User decides. Do NOT branch first and explain later.
47
-
48
- "Explicit permission" = the user said so this turn or gave a standing
49
- instruction they have not revoked. Earlier permission for another op
50
- does not carry over.
45
+ the user before asking** see
46
+ [`scope-mechanics`](../contexts/authority/scope-mechanics.md)
47
+ § Brief-before-asking for the required Why / What / How sequence.
48
+
49
+ "Explicit permission" means the user said so **in this turn or in a
50
+ standing instruction they have not revoked**. Earlier permission for a
51
+ different operation does not carry over.
51
52
 
52
53
  ## Production, infrastructure, bulk-destructive — Hard Floor
53
54
 
54
- Subset of the above is **never** autonomous and never auto-permitted
55
- by a standing autonomy directive. Canonical rule:
56
- [`non-destructive-by-default`](non-destructive-by-default.md).
57
- Restated so this file remains the single read for git/scope concerns:
55
+ A subset of the operations above is **never** autonomous and never
56
+ auto-permitted by a standing autonomy directive. Canonical rule:
57
+ [`non-destructive-by-default`](non-destructive-by-default.md). The
58
+ trigger list (production-branch merges, deploys / releases, prod
59
+ data / infra, bulk-destructive ops) and the
60
+ "authorization is this turn, not earlier" clarification live in
61
+ [`scope-mechanics`](../contexts/authority/scope-mechanics.md)
62
+ § Production, infrastructure, bulk-destructive.
58
63
 
59
- - **Production-branch merges**`main`, `master`, `prod`, `production`, `release/*`, or any deployment-trunk branch. Always ask, even when the roadmap step says "merge".
60
- - **Deploys / releases** — `terraform apply` / `kubectl apply` on prod, deploy scripts, release commands, tag pushes that trigger CI deployment. Always ask.
61
- - **Production data / infrastructure** — prod DB writes / migrations, prod config edits, secrets rotation, IAM / role / policy, DNS, anything in a `prod`-scoped path or pipeline. Always ask.
62
- - **Bulk-destructive ops** — wildcard or directory deletion (`rm -rf <dir>`, `git rm -r`), `DROP TABLE`, `TRUNCATE`, `git reset --hard` past unpushed work, mass class / module / migration deletion. Always ask.
64
+ ## Decline = silence no re-asking on the same task
63
65
 
64
- A roadmap step or earlier turn does **not** count as authorization for
65
- these. Authorization is "the user said so on this turn".
66
+ After the user **declines** a proposal (branch switch, PR creation,
67
+ tag/release entry, separate worktree, version pinning in a roadmap),
68
+ do **not** raise the same proposal again on the same task. The decline
69
+ stands until the user reopens the topic themselves.
66
70
 
67
- ## Decline = silence no re-asking on the same task
71
+ Timing and "is this worth asking?" guidance lives in
72
+ [`scope-mechanics`](../contexts/authority/scope-mechanics.md)
73
+ § Decline = silence — context.
74
+
75
+ ## Fenced step — user-set review gates
76
+
77
+ When the user explicitly fences off the next step — *"don't implement
78
+ yet"*, *"plan only"*, *"just write the roadmap, I'll review"*,
79
+ *"review first"*, *"erst Roadmap, ich schau drüber"*, *"nichts
80
+ implementieren"*, *"nur planen"*, *"erstmal nur X, dann ich"* — the
81
+ agent's reply is **the deliverable plus a handoff**, never the
82
+ deliverable plus *"shall we start?"*.
68
83
 
69
- After a declined proposal (branch switch, PR, tag/release entry,
70
- worktree, version pinning in a roadmap), do **not** raise it again on
71
- the same task. Decline stands until user reopens it.
84
+ ```
85
+ USER FENCED OFF EXECUTION DELIVER + HAND BACK.
86
+ NO NUMBERED OPTION OFFERING TO BEGIN WORK.
87
+ NO "READY TO IMPLEMENT?" RE-ASK.
88
+ NO "STARTEN WIR MIT PHASE 1?" PIVOT.
89
+ ```
72
90
 
73
- Right moment to ask at most **once**, only when genuinely useful —
74
- is **before** work starts (writing roadmap, opening ticket), not
75
- mid-execution. During roadmap execution the branch question is
76
- settled; do not resurface it step by step.
91
+ The fence stands until the user reopens the topic themselves, exactly
92
+ like `Decline = silence` above. Permitted follow-up questions on the
93
+ same turn cover **the deliverable** (adjust scope, fix wording, add a
94
+ section), never **its execution**.
77
95
 
78
- A proposal that "might be sensible" is not enough reason to ask.
79
- Default: stay on current branch, no release language. Only ask with
80
- concrete evidence-based reason (e.g. risky migration spike branch).
81
- If in doubt, do not ask.
96
+ For the failure-mode catalog (Option 1 = "start now", re-asking after
97
+ delivery, hand-off-to-execution drift, inferring acceptance from a
98
+ thumbs-up) and the explicit bypass phrases that lift the fence, see
99
+ [`scope-mechanics`](../contexts/authority/scope-mechanics.md)
100
+ § Fenced step.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  type: "auto"
3
3
  alwaysApply: false
4
- description: "Security-sensitive code paths — authentication, authorization, billing, tenant boundaries, secrets, file uploads, external integrations, webhooks, public endpoints — stop and run threat analysis BEFORE editing"
4
+ description: "Security-sensitive paths — auth, billing, tenant boundaries, secrets, file uploads, external integrations, webhooks, public endpoints — stop and run threat analysis BEFORE editing"
5
5
  source: package
6
6
  ---
7
7
 
@@ -42,7 +42,7 @@ STOP writing code. Run the matching analysis skill first:
42
42
  | Wide refactor of security-sensitive code | `blast-radius-analyzer` |
43
43
 
44
44
  **Before the analysis, consult memory for prior incidents** on this
45
- surface. Via [`memory-access`](../guidelines/agent-infra/memory-access.md):
45
+ surface. Via [`memory-access`](../../docs/guidelines/agent-infra/memory-access.md):
46
46
 
47
47
  ```python
48
48
  from scripts.memory_lookup import retrieve
@@ -22,7 +22,7 @@ source: package
22
22
  - Rules and system instructions should stay well below 200 lines
23
23
  - Smaller (≈60 lines) is strongly preferred
24
24
 
25
- → Size limits and details: `.augment/guidelines/agent-infra/size-and-scope.md`
25
+ → Size limits and details: `../../docs/guidelines/agent-infra/size-and-scope.md`
26
26
 
27
27
  → Frontmatter contract: schemas live in `scripts/schemas/` and are enforced by
28
28
  `python3 scripts/validate_frontmatter.py`.
@@ -1,7 +1,7 @@
1
1
  ---
2
- type: "always"
3
- description: "Always analyze before acting. Prefer targeted inspection, tests, and real verification over guessing or trial-and-error."
4
- alwaysApply: true
2
+ type: "auto"
3
+ description: "Before coding, modifying, or debugging analyze first, verify with real tools, never guess or trial-and-error"
4
+ alwaysApply: false
5
5
  source: package
6
6
  ---
7
7
 
@@ -16,7 +16,7 @@ source: package
16
16
  - If requirements are unclear, ask a precise clarification question instead of making hidden assumptions
17
17
  - Refactors must preserve behavior, validation, examples, and anti-failure guidance unless there is an explicit reason to change them
18
18
  - Do NOT modify code you do not fully understand — read it first, trace the flow, then change it
19
- - Multiple valid frameworks/patterns already in the codebase (Tailwind + Flux, multiple form libs, competing state stores) → do NOT pick one silently, ask. See [`no blind implementation`](../guidelines/agent-infra/agent-interaction-and-decision-quality.md#2-no-blind-implementation)
19
+ - Multiple valid frameworks/patterns already in the codebase (Tailwind + Flux, multiple form libs, competing state stores) → do NOT pick one silently, ask. See [`no blind implementation`](../../docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md#2-no-blind-implementation)
20
20
 
21
21
  ## The Developer Workflow
22
22
 
@@ -33,7 +33,7 @@ Skipping steps 1-3 = #1 cause of wrong implementations and wasted retries.
33
33
  ## Consult memory before editing
34
34
 
35
35
  Before writing code for the touched paths, call
36
- [`memory-access`](../guidelines/agent-infra/memory-access.md):
36
+ [`memory-access`](../../docs/guidelines/agent-infra/memory-access.md):
37
37
 
38
38
  ```python
39
39
  from scripts.memory_lookup import retrieve
@@ -1,7 +1,7 @@
1
1
  ---
2
- type: "always"
3
- description: "Token efficiency — redirect output, minimize tool calls, keep responses concise"
4
- alwaysApply: true
2
+ type: "auto"
3
+ description: "When running CLI tools, fetching logs, or producing replies — redirect verbose output, minimize tool calls, keep replies concise"
4
+ alwaysApply: false
5
5
  source: package
6
6
  ---
7
7
 
@@ -96,4 +96,4 @@ When `personal.minimal_output: true`:
96
96
  - Debugging: OK to read more context around one error.
97
97
  - User explicitly asks for full output: show it.
98
98
 
99
- → Detailed patterns: `guidelines/agent-infra/output-patterns.md`
99
+ → Detailed patterns: `docs/guidelines/agent-infra/output-patterns.md`
@@ -1,7 +1,7 @@
1
1
  ---
2
- type: "always"
3
- description: "UI work never write a component, screen, or partial without existing-ui-audit findings populated in state.ui_audit; the audit is the gate, not a suggestion"
4
- alwaysApply: true
2
+ type: "auto"
3
+ description: "Writing or editing UI components, screens, partials, layouts, design tokens — require existing-ui-audit findings in state.ui_audit before non-trivial UI change; gate, not suggestion"
4
+ alwaysApply: false
5
5
  source: package
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
- type: "always"
3
- description: "User interaction — numbered options, progress indicators, summaries"
4
- alwaysApply: true
2
+ type: "auto"
3
+ description: "Asking the user a question, presenting options, or summarizing progress — numbered-options Iron Law, single-recommendation rule, progress indicators"
4
+ alwaysApply: false
5
5
  source: package
6
6
  ---
7
7
 
@@ -3,6 +3,8 @@ type: "always"
3
3
  description: "Verify before completion — run tests and quality tools before claiming done"
4
4
  alwaysApply: true
5
5
  source: package
6
+ load_context:
7
+ - .agent-src.uncompressed/contexts/execution/verification-mechanics.md
6
8
  ---
7
9
 
8
10
  # Verify Before Completion
@@ -15,25 +17,6 @@ NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
15
17
 
16
18
  If you haven't run the verification command **in this message**, you cannot claim it passes.
17
19
 
18
- ## When to run what — timing matters
19
-
20
- **Quality tools (PHPStan, Rector, ECS) run ONCE at the very end** — not after every edit.
21
- Do NOT run quality checks between tasks if you have more work to do.
22
- Only run the full quality pipeline when you are about to finish all work in the current conversation.
23
-
24
- **Tests: as targeted as possible, as little as necessary.**
25
- - During work: run ONLY the specific test class or test case affected by the change.
26
- Use `--filter=ClassName` or `--filter=test_name` — NEVER the full suite mid-work.
27
- - Only run tests when you genuinely need to verify behavior (not "just to be safe").
28
- - Full test suite: ONCE at the very end, before quality tools.
29
-
30
- **The sequence at the end:**
31
- 1. All code changes are done
32
- 2. Run tests — targeted first (`--filter`), full suite only if targeted passes
33
- 3. Run quality pipeline (PHPStan → Rector → ECS → PHPStan)
34
- 4. Fix any issues from step 2-3
35
- 5. ONLY THEN claim completion or suggest commit/push/PR
36
-
37
20
  ## The Gate
38
21
 
39
22
  Before claiming ANY work is complete:
@@ -67,54 +50,16 @@ Skip any step = the claim is unverified.
67
50
  For specific commands → see the `quality-tools` skill.
68
51
 
69
52
  For the detailed evidence-gate playbook (claim→command mapping, output
70
- inspection, end-of-work sequence) → see the `verify-before-complete`
53
+ inspection, end-of-work sequence) → see the `verify-completion-evidence`
71
54
  skill.
72
55
 
73
- ## Minimum verification per task type
74
-
75
- | Task | Required evidence |
76
- |---|---|
77
- | Code change | Tests + PHPStan |
78
- | New feature | Tests + PHPStan + smoke test |
79
- | Bug fix | Regression test + full suite |
80
- | Refactoring | Full suite + PHPStan + Rector |
81
- | Config/migration | Relevant tests or command output |
82
- | API endpoint | curl/HTTP response output |
83
- | Documentation only | No verification needed |
84
-
85
- **Never accept** as proof: "should work", "looks correct", "logic is sound".
86
- No captured output = not verified.
87
-
88
- ## Confidence gating
89
-
90
- State confidence explicitly before claiming completion on non-trivial work.
91
-
92
- - **High** — runtime path read end-to-end, relevant tests inspected or run,
93
- no hidden side-effects (queues/events/observers) unaccounted for.
94
- - **Medium** — main path verified but one gap remains; list the gap in the
95
- completion message.
96
- - **Low** — broad implementation NOT allowed; switch to analysis, narrow
97
- the scope, or ask the user before proceeding.
98
-
99
- For high-risk areas (auth, tenancy, migrations, queues, dependencies,
100
- external APIs, data exposure), "high" requires tests AND a cross-layer
101
- read — not inference from a single file.
102
-
103
- ## Break-glass reduction
104
-
105
- During a live production incident the verification gate is **narrowed**,
106
- never skipped. Break-glass requires explicit user invocation (e.g.
107
- `break-glass: true`, "this is a hotfix"). Never enter it unilaterally.
108
-
109
- Minimum evidence:
110
-
111
- - **Targeted test(s)** covering the exact regression — zero tests is not
112
- acceptable.
113
- - **Smoke check** of the fixed path (curl, manual trigger, log tail) with
114
- output captured in the message.
115
- - **Explicit list of skipped validations** and a **follow-up commitment**
116
- (ticket or PR line) to run them within 24h.
56
+ ## Mechanics when to run what, per-task evidence, confidence, break-glass
117
57
 
118
- Completion wording: _"hotfix applied, full verification deferred per
119
- break-glass"_ never _"done"_ or _"verified"_. The normal gate resumes
120
- on the follow-up PR.
58
+ The decision logic for **when** to run quality tools vs. tests, the
59
+ per-task-type minimum-evidence table, confidence gating (High /
60
+ Medium / Low), and the break-glass reduction during live incidents
61
+ all live in
62
+ [`verification-mechanics`](../contexts/execution/verification-mechanics.md).
63
+ The Iron Law and the Gate above are the obligation surface; the
64
+ mechanics context is the lookup material the agent pulls when the
65
+ gate fires.
@@ -44,17 +44,21 @@ from pathlib import Path
44
44
 
45
45
  CHECKBOX_RE = re.compile(r"^\s*[-*]\s+\[([ xX~\-])\]\s", re.MULTILINE)
46
46
  # H2 or H3 heading starting with "Phase <id>"; separator (colon, em-dash,
47
- # hyphen, or whitespace) and name are optional. The id supports three
47
+ # hyphen, or whitespace) and name are optional. The id supports four
48
48
  # project-level conventions:
49
49
  # - numeric `Phase 0`, `Phase 10`
50
+ # - numeric+sub `Phase 2a`, `Phase 10c` (digit run + single
51
+ # lowercase letter for sub-phases)
50
52
  # - roman I..XXXIX `Phase I`, `Phase III`
51
53
  # - letter track `Phase A`, `Phase B1` (single uppercase letter,
52
54
  # optional trailing digits for sub-track IDs)
53
55
  # Roman is capped at [IVX]+ (up to XXXIX) on purpose: the broader
54
56
  # [IVXLCDM]+ would also match all-caps words like `Phase LIVE`. Letter
55
57
  # is [A-Z] not [A-Za-z] so `## Phase overview` stays a non-phase anchor.
58
+ # The numeric+sub branch keeps the lowercase-letter restriction so
59
+ # `Phase abc` (no digits) still falls through to the rejection branch.
56
60
  PHASE_RE = re.compile(
57
- r"^(#{2,3})\s+Phase\s+(\d+|[IVX]+|[A-Z](?:\d+)?)"
61
+ r"^(#{2,3})\s+Phase\s+(\d+[a-z]?|[IVX]+|[A-Z](?:\d+)?)"
58
62
  r"(?:[\s:\u2014\-]+(.*?))?\s*$",
59
63
  re.MULTILINE,
60
64
  )
@@ -74,8 +78,9 @@ DRAFT_VALUES = frozenset({"draft"})
74
78
  @dataclass
75
79
  class PhaseStats:
76
80
  # Phase identifier as it appears in the heading: numeric ("0"),
77
- # roman ("III"), or letter-track ("A", "B1"). Kept as a string so
78
- # non-numeric conventions survive round-tripping through render().
81
+ # numeric+sub ("2a"), roman ("III"), or letter-track ("A", "B1").
82
+ # Kept as a string so non-numeric conventions survive round-tripping
83
+ # through render().
79
84
  id: str
80
85
  name: str
81
86
  done: int = 0