@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.
- package/.agent-src/commands/bug-fix.md +1 -1
- package/.agent-src/commands/bug-investigate.md +2 -2
- package/.agent-src/commands/chat-history-checkpoint.md +1 -1
- package/.agent-src/commands/chat-history-clear.md +1 -1
- package/.agent-src/commands/chat-history.md +1 -1
- package/.agent-src/commands/check-current-md.md +1 -1
- package/.agent-src/commands/council-design.md +96 -0
- package/.agent-src/commands/council-optimize.md +115 -0
- package/.agent-src/commands/council-pr.md +123 -0
- package/.agent-src/commands/council.md +219 -0
- package/.agent-src/commands/create-pr.md +23 -0
- package/.agent-src/commands/do-and-judge.md +3 -3
- package/.agent-src/commands/do-in-steps.md +4 -4
- package/.agent-src/commands/e2e-heal.md +1 -1
- package/.agent-src/commands/e2e-plan.md +1 -1
- package/.agent-src/commands/feature-dev.md +8 -0
- package/.agent-src/commands/feature-explore.md +6 -1
- package/.agent-src/commands/feature-plan.md +33 -2
- package/.agent-src/commands/feature-refactor.md +5 -0
- package/.agent-src/commands/feature-roadmap.md +6 -1
- package/.agent-src/commands/feature.md +58 -0
- package/.agent-src/commands/fix-ci.md +5 -0
- package/.agent-src/commands/fix-portability.md +5 -0
- package/.agent-src/commands/fix-pr-bot-comments.md +5 -0
- package/.agent-src/commands/fix-pr-comments.md +5 -0
- package/.agent-src/commands/fix-pr-developer-comments.md +5 -0
- package/.agent-src/commands/fix-references.md +5 -0
- package/.agent-src/commands/fix-seeder.md +5 -0
- package/.agent-src/commands/fix.md +60 -0
- package/.agent-src/commands/jira-ticket.md +1 -1
- package/.agent-src/commands/judge.md +1 -1
- package/.agent-src/commands/memory-add.md +3 -3
- package/.agent-src/commands/memory-full.md +2 -2
- package/.agent-src/commands/memory-promote.md +2 -2
- package/.agent-src/commands/mode.md +5 -5
- package/.agent-src/commands/onboard.md +3 -3
- package/.agent-src/commands/optimize-agents.md +6 -1
- package/.agent-src/commands/optimize-augmentignore.md +5 -0
- package/.agent-src/commands/optimize-rtk-filters.md +5 -0
- package/.agent-src/commands/optimize-skills.md +6 -1
- package/.agent-src/commands/optimize.md +54 -0
- package/.agent-src/commands/propose-memory.md +2 -2
- package/.agent-src/commands/review-changes.md +26 -1
- package/.agent-src/commands/review-routing.md +1 -1
- package/.agent-src/commands/roadmap-create.md +29 -2
- package/.agent-src/commands/set-cost-profile.md +3 -3
- package/.agent-src/commands/sync-agent-settings.md +2 -2
- package/.agent-src/commands/tests-create.md +1 -1
- package/.agent-src/commands/upstream-contribute.md +1 -1
- package/.agent-src/contexts/authority/commit-mechanics.md +57 -0
- package/.agent-src/contexts/authority/destructive-mechanics.md +66 -0
- package/.agent-src/contexts/authority/scope-mechanics.md +87 -0
- package/.agent-src/contexts/execution/autonomy-detection.md +54 -0
- package/.agent-src/contexts/execution/autonomy-examples.md +90 -0
- package/.agent-src/contexts/execution/autonomy-mechanics.md +29 -0
- package/.agent-src/contexts/execution/verification-mechanics.md +80 -0
- package/.agent-src/personas/README.md +1 -1
- package/.agent-src/rules/agent-authority.md +24 -0
- package/.agent-src/rules/architecture.md +1 -1
- package/.agent-src/rules/artifact-drafting-protocol.md +1 -1
- package/.agent-src/rules/artifact-engagement-recording.md +1 -1
- package/.agent-src/rules/ask-when-uncertain.md +1 -1
- package/.agent-src/rules/autonomous-execution.md +78 -114
- package/.agent-src/rules/capture-learnings.md +1 -1
- package/.agent-src/rules/chat-history-cadence.md +3 -3
- package/.agent-src/rules/chat-history-ownership.md +3 -3
- package/.agent-src/rules/chat-history-visibility.md +3 -3
- package/.agent-src/rules/{command-suggestion.md → command-suggestion-policy.md} +7 -7
- package/.agent-src/rules/commit-conventions.md +1 -1
- package/.agent-src/rules/commit-policy.md +14 -42
- package/.agent-src/rules/context-hygiene.md +3 -3
- package/.agent-src/rules/direct-answers.md +1 -1
- package/.agent-src/rules/docs-sync.md +1 -1
- package/.agent-src/rules/e2e-testing.md +1 -1
- package/.agent-src/rules/guidelines.md +4 -4
- package/.agent-src/rules/improve-before-implement.md +2 -2
- package/.agent-src/rules/language-and-tone.md +37 -96
- package/.agent-src/rules/minimal-safe-diff.md +3 -3
- package/.agent-src/rules/model-recommendation.md +4 -4
- package/.agent-src/rules/no-cheap-questions.md +89 -0
- package/.agent-src/rules/non-destructive-by-default.md +15 -49
- package/.agent-src/rules/onboarding-gate.md +5 -5
- package/.agent-src/rules/review-routing-awareness.md +9 -9
- package/.agent-src/rules/roadmap-progress-sync.md +26 -33
- package/.agent-src/rules/role-mode-adherence.md +2 -2
- package/.agent-src/rules/scope-control.md +65 -46
- package/.agent-src/rules/security-sensitive-stop.md +2 -2
- package/.agent-src/rules/size-enforcement.md +1 -1
- package/.agent-src/rules/think-before-action.md +5 -5
- package/.agent-src/rules/token-efficiency.md +4 -4
- package/.agent-src/rules/{ui-audit-before-build.md → ui-audit-gate.md} +3 -3
- package/.agent-src/rules/user-interaction.md +3 -3
- package/.agent-src/rules/verify-before-complete.md +12 -67
- package/.agent-src/scripts/update_roadmap_progress.py +9 -4
- package/.agent-src/skills/ai-council/SKILL.md +333 -0
- package/.agent-src/skills/api-endpoint/SKILL.md +2 -2
- package/.agent-src/skills/blade-ui/SKILL.md +1 -1
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
- package/.agent-src/skills/bug-analyzer/SKILL.md +1 -1
- package/.agent-src/skills/command-routing/SKILL.md +1 -1
- package/.agent-src/skills/command-writing/SKILL.md +1 -1
- package/.agent-src/skills/conventional-commits-writing/SKILL.md +1 -1
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +2 -2
- package/.agent-src/skills/developer-like-execution/SKILL.md +2 -2
- package/.agent-src/skills/flux/SKILL.md +1 -1
- package/.agent-src/skills/git-workflow/SKILL.md +1 -1
- package/.agent-src/skills/guideline-writing/SKILL.md +11 -11
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
- package/.agent-src/skills/livewire/SKILL.md +1 -1
- package/.agent-src/skills/override-management/SKILL.md +2 -2
- package/.agent-src/skills/php-coder/SKILL.md +1 -1
- package/.agent-src/skills/playwright-testing/SKILL.md +2 -2
- package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
- package/.agent-src/skills/readme-writing/SKILL.md +1 -1
- package/.agent-src/skills/readme-writing-package/SKILL.md +1 -1
- package/.agent-src/skills/receiving-code-review/SKILL.md +1 -1
- package/.agent-src/skills/review-routing/SKILL.md +2 -2
- package/.agent-src/skills/rule-writing/SKILL.md +1 -1
- package/.agent-src/skills/skill-reviewer/SKILL.md +1 -1
- package/.agent-src/skills/skill-writing/SKILL.md +3 -3
- package/.agent-src/skills/subagent-orchestration/SKILL.md +1 -0
- package/.agent-src/skills/systematic-debugging/SKILL.md +1 -1
- package/.agent-src/skills/upstream-contribute/SKILL.md +1 -1
- package/.agent-src/skills/validate-feature-fit/SKILL.md +2 -2
- package/.agent-src/skills/{verify-before-complete → verify-completion-evidence}/SKILL.md +2 -2
- package/.agent-src/templates/agent-settings.md +8 -8
- package/.agent-src/templates/contexts/auth-model.md +1 -1
- package/.agent-src/templates/scripts/README.md +2 -2
- package/.agent-src/templates/scripts/telemetry/aggregator.py +16 -1
- package/.agent-src/templates/scripts/telemetry/engagement.py +59 -0
- package/.agent-src/templates/scripts/telemetry/report_renderer.py +28 -1
- package/.agent-src/templates/scripts/telemetry_record.py +14 -1
- package/.claude-plugin/marketplace.json +10 -2
- package/AGENTS.md +11 -9
- package/CHANGELOG.md +123 -1
- package/README.md +28 -30
- package/config/agent-settings.template.yml +58 -1
- package/config/gitignore-block.txt +3 -0
- package/docs/architecture.md +4 -4
- package/docs/catalog.md +331 -0
- package/docs/contracts/STABILITY.md +39 -0
- package/docs/contracts/adr-command-suggestion.md +3 -3
- package/docs/contracts/adr-product-ui-track.md +2 -2
- package/docs/contracts/agent-memory-contract.md +2 -2
- package/docs/contracts/artifact-engagement-flow.md +1 -1
- package/docs/contracts/command-clusters.md +2 -2
- package/docs/contracts/command-suggestion-flow.md +3 -3
- package/docs/contracts/implement-ticket-flow.md +2 -2
- package/docs/contracts/linear-ai-rules-inclusion.md +1 -1
- package/docs/contracts/load-context-schema.md +186 -0
- package/docs/contracts/rule-interactions.yml +96 -0
- package/docs/contracts/rule-priority-hierarchy.md +87 -0
- package/docs/contracts/ui-track-flow.md +1 -1
- package/docs/customization.md +14 -0
- package/docs/end-to-end-walkthroughs.md +165 -0
- package/docs/getting-started.md +26 -8
- package/docs/github-topics.md +12 -3
- package/docs/guidelines/agent-infra/language-and-tone-examples.md +79 -0
- package/{.agent-src → docs}/guidelines/docs/readme-size-and-splitting.md +26 -25
- package/docs/guidelines/php/git.md +164 -0
- package/docs/migrations/commands-1.15.0.md +1 -1
- package/docs/showcase.md +9 -4
- package/docs/skills-catalog.md +14 -8
- package/docs/ui-track-mental-model.md +2 -2
- package/llms.txt +13 -7
- package/package.json +1 -1
- package/scripts/agent-config +23 -0
- package/scripts/ai_council/__init__.py +39 -0
- package/scripts/ai_council/_default_prices.py +41 -0
- package/scripts/ai_council/_one_off_rebalancing_audit.py +149 -0
- package/scripts/ai_council/_one_off_roundtrip.py +106 -0
- package/scripts/ai_council/budget_guard.py +172 -0
- package/scripts/ai_council/bundler.py +261 -0
- package/scripts/ai_council/clients.py +381 -0
- package/scripts/ai_council/modes.py +127 -0
- package/scripts/ai_council/orchestrator.py +350 -0
- package/scripts/ai_council/pricing.py +213 -0
- package/scripts/ai_council/project_context.py +159 -0
- package/scripts/ai_council/prompts.py +232 -0
- package/scripts/ai_council/session.py +144 -0
- package/scripts/check_always_budget.py +126 -0
- package/scripts/check_augmentignore.py +69 -0
- package/scripts/check_command_count_messaging.py +120 -0
- package/scripts/check_portability.py +55 -0
- package/scripts/check_public_catalog_links.py +122 -0
- package/scripts/check_references.py +4 -1
- package/scripts/check_roadmap_trackable.py +111 -0
- package/scripts/command_suggester/cooldown.py +1 -1
- package/scripts/generate_index.py +266 -0
- package/scripts/install_anthropic_key.sh +5 -0
- package/scripts/install_openai_key.sh +106 -0
- package/scripts/lint_load_context.py +163 -0
- package/scripts/schemas/command.schema.json +20 -0
- package/scripts/schemas/rule.schema.json +10 -0
- package/scripts/skill_linter.py +12 -4
- package/scripts/sync_agent_settings.py +1 -1
- package/scripts/update_counts.py +9 -4
- package/scripts/update_prices.py +124 -0
- package/.agent-src/guidelines/php/git.md +0 -96
- /package/.agent-src/rules/{slash-commands.md → slash-command-routing-policy.md} +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/agent-interaction-and-decision-quality.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/break-glass-usage.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/developer-judgment.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/engineering-memory-data-format.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/layered-settings.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/memory-access.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/naming.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/output-patterns.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/review-routing-data-format.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/role-contracts.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/role-mode-router.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/runtime-layer.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/self-improvement-pipeline.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/size-and-scope.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/tool-integration.md +0 -0
- /package/{.agent-src → docs}/guidelines/e2e/playwright.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/api-design.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/artisan-commands.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/blade-ui.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/controllers.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/database.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/eloquent.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/flux.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/general.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/jobs.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/livewire.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/logging.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/naming.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/dependency-injection.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/dtos.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/events.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/factory.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/pipelines.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/policies.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/repositories.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/service-layer.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/strategy.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/performance.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/resources.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/security.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/sql.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/validations.md +0 -0
- /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)
|
|
24
|
-
> than the general "no git ops without permission"
|
|
25
|
-
>
|
|
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
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
|
35
|
-
any planning artifact. Roadmaps plan **work**; releases
|
|
36
|
-
separate
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
55
|
-
by a standing autonomy directive. Canonical rule:
|
|
56
|
-
[`non-destructive-by-default`](non-destructive-by-default.md).
|
|
57
|
-
|
|
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
|
-
|
|
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
|
-
|
|
65
|
-
|
|
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
|
-
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
|
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`](
|
|
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:
|
|
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: "
|
|
3
|
-
description: "
|
|
4
|
-
alwaysApply:
|
|
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`](
|
|
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`](
|
|
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: "
|
|
3
|
-
description: "
|
|
4
|
-
alwaysApply:
|
|
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: "
|
|
3
|
-
description: "
|
|
4
|
-
alwaysApply:
|
|
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: "
|
|
3
|
-
description: "
|
|
4
|
-
alwaysApply:
|
|
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-
|
|
53
|
+
inspection, end-of-work sequence) → see the `verify-completion-evidence`
|
|
71
54
|
skill.
|
|
72
55
|
|
|
73
|
-
##
|
|
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
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
|
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
|
|
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").
|
|
78
|
-
# non-numeric conventions survive round-tripping
|
|
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
|