@event4u/agent-config 1.19.0 → 1.21.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/agent-handoff.md +14 -10
- package/.agent-src/commands/agents.md +1 -1
- package/.agent-src/commands/bug-fix.md +1 -1
- package/.agent-src/commands/bug-investigate.md +2 -2
- package/.agent-src/commands/chat-history/import.md +166 -0
- package/.agent-src/commands/chat-history/learn.md +178 -0
- package/.agent-src/commands/chat-history/show.md +17 -18
- package/.agent-src/commands/chat-history.md +26 -25
- package/.agent-src/commands/compress.md +12 -0
- package/.agent-src/commands/context/create.md +2 -2
- package/.agent-src/commands/context.md +1 -1
- package/.agent-src/commands/copilot-agents.md +1 -1
- package/.agent-src/commands/council/default.md +21 -12
- package/.agent-src/commands/council.md +1 -1
- package/.agent-src/commands/create-pr.md +28 -8
- 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 +3 -3
- package/.agent-src/commands/feature.md +1 -1
- package/.agent-src/commands/fix/seeder.md +2 -2
- package/.agent-src/commands/fix.md +1 -1
- package/.agent-src/commands/jira-ticket.md +1 -1
- package/.agent-src/commands/judge.md +2 -2
- package/.agent-src/commands/memory.md +1 -1
- package/.agent-src/commands/mode.md +5 -5
- package/.agent-src/commands/module.md +1 -1
- package/.agent-src/commands/onboard.md +4 -4
- package/.agent-src/commands/optimize/augmentignore.md +1 -1
- package/.agent-src/commands/optimize-prompt.md +61 -0
- package/.agent-src/commands/optimize.md +1 -1
- package/.agent-src/commands/override.md +1 -1
- package/.agent-src/commands/review-changes.md +1 -1
- package/.agent-src/commands/review-routing.md +1 -1
- package/.agent-src/commands/roadmap.md +1 -1
- package/.agent-src/commands/set-cost-profile.md +3 -3
- package/.agent-src/commands/sync-agent-settings.md +2 -2
- package/.agent-src/commands/sync-gitignore.md +1 -1
- package/.agent-src/commands/tests/create.md +2 -2
- package/.agent-src/commands/tests.md +1 -1
- package/.agent-src/commands/threat-model.md +4 -4
- package/.agent-src/contexts/authority/commit-mechanics.md +14 -1
- package/.agent-src/contexts/authority/destructive-mechanics.md +14 -1
- package/.agent-src/contexts/authority/scope-mechanics.md +5 -0
- package/.agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +76 -0
- package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +76 -0
- package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +4 -4
- package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +98 -0
- package/.agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +93 -0
- package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +125 -9
- package/.agent-src/contexts/execution/autonomy-mechanics.md +44 -0
- package/.agent-src/contexts/model-recommendations.md +2 -2
- package/.agent-src/contexts/override-system.md +1 -1
- package/.agent-src/personas/product-owner.md +2 -2
- package/.agent-src/personas/qa.md +1 -1
- package/.agent-src/rules/agent-authority.md +5 -6
- package/.agent-src/rules/agent-docs.md +11 -53
- package/.agent-src/rules/analysis-skill-routing.md +10 -40
- package/.agent-src/rules/architecture.md +6 -1
- package/.agent-src/rules/artifact-drafting-protocol.md +5 -0
- package/.agent-src/rules/artifact-engagement-recording.md +23 -59
- package/.agent-src/rules/ask-when-uncertain.md +24 -47
- package/.agent-src/rules/augment-portability.md +14 -62
- package/.agent-src/rules/augment-source-of-truth.md +10 -1
- package/.agent-src/rules/autonomous-execution.md +17 -98
- package/.agent-src/rules/capture-learnings.md +9 -80
- package/.agent-src/rules/cli-output-handling.md +12 -42
- package/.agent-src/rules/command-suggestion-policy.md +25 -73
- package/.agent-src/rules/commit-conventions.md +9 -58
- package/.agent-src/rules/commit-policy.md +16 -47
- package/.agent-src/rules/context-hygiene.md +5 -0
- package/.agent-src/rules/direct-answers.md +21 -42
- package/.agent-src/rules/docker-commands.md +11 -45
- package/.agent-src/rules/docs-sync.md +10 -56
- package/.agent-src/rules/downstream-changes.md +5 -0
- package/.agent-src/rules/e2e-testing.md +9 -44
- package/.agent-src/rules/guidelines.md +13 -75
- package/.agent-src/rules/improve-before-implement.md +10 -2
- package/.agent-src/rules/language-and-tone.md +35 -69
- package/.agent-src/rules/laravel-translations.md +11 -40
- package/.agent-src/rules/markdown-safe-codeblocks.md +4 -0
- package/.agent-src/rules/minimal-safe-diff.md +4 -0
- package/.agent-src/rules/missing-tool-handling.md +4 -0
- package/.agent-src/rules/model-recommendation.md +9 -61
- package/.agent-src/rules/no-attribution-footers.md +53 -0
- package/.agent-src/rules/no-cheap-questions.md +11 -27
- package/.agent-src/rules/no-council-references.md +76 -0
- package/.agent-src/rules/no-roadmap-references.md +8 -1
- package/.agent-src/rules/non-destructive-by-default.md +13 -43
- package/.agent-src/rules/onboarding-gate.md +9 -117
- package/.agent-src/rules/package-ci-checks.md +10 -37
- package/.agent-src/rules/php-coding.md +10 -55
- package/.agent-src/rules/preservation-guard.md +9 -0
- package/.agent-src/rules/review-routing-awareness.md +9 -97
- package/.agent-src/rules/reviewer-awareness.md +8 -83
- package/.agent-src/rules/roadmap-progress-sync.md +7 -170
- package/.agent-src/rules/role-mode-adherence.md +6 -2
- package/.agent-src/rules/rule-type-governance.md +8 -66
- package/.agent-src/rules/runtime-safety.md +5 -0
- package/.agent-src/rules/scope-control.md +17 -62
- package/.agent-src/rules/security-sensitive-stop.md +7 -1
- package/.agent-src/rules/size-enforcement.md +6 -1
- package/.agent-src/rules/skill-improvement-trigger.md +9 -49
- package/.agent-src/rules/skill-quality.md +7 -64
- package/.agent-src/rules/slash-command-routing-policy.md +11 -63
- package/.agent-src/rules/think-before-action.md +22 -87
- package/.agent-src/rules/token-efficiency.md +10 -74
- package/.agent-src/rules/token-optimizer-maintenance.md +68 -0
- package/.agent-src/rules/tool-safety.md +4 -0
- package/.agent-src/rules/ui-audit-gate.md +25 -61
- package/.agent-src/rules/upstream-proposal.md +9 -67
- package/.agent-src/rules/user-interaction.md +25 -95
- package/.agent-src/rules/verify-before-complete.md +1 -1
- package/.agent-src/skills/agent-docs-writing/SKILL.md +1 -1
- package/.agent-src/skills/ai-council/SKILL.md +69 -5
- package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
- package/.agent-src/skills/analysis-skill-router/SKILL.md +3 -3
- package/.agent-src/skills/artisan-commands/SKILL.md +2 -2
- package/.agent-src/skills/authz-review/SKILL.md +1 -1
- package/.agent-src/skills/aws-infrastructure/SKILL.md +5 -5
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +8 -8
- package/.agent-src/skills/bug-analyzer/SKILL.md +5 -5
- package/.agent-src/skills/code-refactoring/SKILL.md +4 -4
- package/.agent-src/skills/code-review/SKILL.md +2 -2
- package/.agent-src/skills/command-writing/SKILL.md +11 -0
- package/.agent-src/skills/composer-packages/SKILL.md +2 -2
- package/.agent-src/skills/context-authoring/SKILL.md +11 -0
- package/.agent-src/skills/context-document/SKILL.md +1 -1
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +23 -0
- package/.agent-src/skills/copilot-config/SKILL.md +1 -1
- package/.agent-src/skills/dcf-modeling/SKILL.md +89 -0
- package/.agent-src/skills/dependency-upgrade/SKILL.md +2 -2
- package/.agent-src/skills/devcontainer/SKILL.md +2 -2
- package/.agent-src/skills/developer-like-execution/SKILL.md +1 -1
- package/.agent-src/skills/docker/SKILL.md +1 -1
- package/.agent-src/skills/dto-creator/SKILL.md +1 -1
- package/.agent-src/skills/estimate-ticket/SKILL.md +2 -2
- package/.agent-src/skills/fe-design/SKILL.md +4 -4
- package/.agent-src/skills/feature-planning/SKILL.md +5 -5
- package/.agent-src/skills/funnel-analysis/SKILL.md +100 -0
- package/.agent-src/skills/laravel/SKILL.md +1 -1
- package/.agent-src/skills/laravel-notifications/SKILL.md +5 -5
- package/.agent-src/skills/laravel-pennant/SKILL.md +1 -1
- package/.agent-src/skills/laravel-pulse/SKILL.md +4 -4
- package/.agent-src/skills/laravel-reverb/SKILL.md +2 -2
- package/.agent-src/skills/laravel-scheduling/SKILL.md +1 -1
- package/.agent-src/skills/md-language-check/SKILL.md +1 -1
- package/.agent-src/skills/migration-creator/SKILL.md +7 -7
- package/.agent-src/skills/multi-tenancy/SKILL.md +8 -8
- package/.agent-src/skills/okr-tree-modeling/SKILL.md +93 -0
- package/.agent-src/skills/performance-analysis/SKILL.md +3 -3
- package/.agent-src/skills/pest-testing/SKILL.md +6 -6
- package/.agent-src/skills/php-service/SKILL.md +2 -2
- package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
- package/.agent-src/skills/project-analysis-react/SKILL.md +1 -1
- package/.agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
- package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
- package/.agent-src/skills/project-analyzer/SKILL.md +4 -4
- package/.agent-src/skills/prompt-optimizer/SKILL.md +108 -0
- package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
- package/.agent-src/skills/rice-prioritization/SKILL.md +100 -0
- package/.agent-src/skills/rule-writing/SKILL.md +33 -0
- package/.agent-src/skills/sentry-integration/SKILL.md +1 -1
- package/.agent-src/skills/skill-writing/SKILL.md +14 -0
- package/.agent-src/skills/subagent-orchestration/SKILL.md +34 -2
- package/.agent-src/skills/terraform/SKILL.md +2 -2
- package/.agent-src/skills/terragrunt/SKILL.md +8 -8
- package/.agent-src/skills/test-performance/SKILL.md +5 -5
- package/.agent-src/skills/threat-modeling/SKILL.md +2 -2
- package/.agent-src/skills/token-optimizer/SKILL.md +110 -0
- package/.agent-src/skills/unit-economics-modeling/SKILL.md +104 -0
- package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -1
- package/.agent-src/skills/using-git-worktrees/SKILL.md +1 -0
- package/.agent-src/templates/AGENTS.md +1 -1
- package/.agent-src/templates/agent-settings.md +25 -41
- package/.agent-src/templates/contexts/tenant-boundaries.md +2 -2
- package/.agent-src/templates/contexts.md +1 -1
- package/.agent-src/templates/copilot-instructions.md +21 -0
- package/.agent-src/templates/copilot-review-instructions.md +76 -0
- package/.agent-src/templates/features.md +1 -1
- package/.agent-src/templates/rule.md +127 -0
- package/.agent-src/templates/scripts/work_engine/hook_bootstrap.py +7 -5
- package/.agent-src/templates/scripts/work_engine/hooks/__init__.py +0 -4
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/__init__.py +0 -4
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.py +7 -51
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_append.py +1 -2
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_halt_append.py +1 -2
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.py +2 -3
- package/.agent-src/templates/skill.md +30 -1
- package/.claude-plugin/marketplace.json +11 -4
- package/AGENTS.md +71 -3
- package/CHANGELOG.md +180 -3
- package/README.md +24 -23
- package/config/agent-settings.template.yml +63 -23
- package/config/gitignore-block.txt +11 -4
- package/docs/architecture.md +84 -3
- package/docs/catalog.md +23 -11
- package/docs/contracts/adr-chat-history-split.md +10 -1
- package/docs/contracts/agent-memory-contract.md +1 -1
- package/docs/contracts/command-clusters.md +1 -1
- package/docs/contracts/context-paths.md +2 -1
- package/docs/contracts/cross-wing-handoff.md +133 -0
- package/docs/contracts/file-ownership-matrix.json +678 -609
- package/docs/contracts/hook-architecture-v1.md +8 -1
- package/docs/contracts/iron-law-overrides.txt +25 -0
- package/docs/contracts/kernel-membership.md +273 -0
- package/docs/contracts/load-context-schema.md +26 -11
- package/docs/contracts/memory-visibility-v1.md +8 -24
- package/docs/contracts/pilot/agent-authority.md +24 -0
- package/docs/contracts/pilot/direct-answers.md +70 -0
- package/docs/contracts/pilot/language-and-tone.md +63 -0
- package/docs/contracts/rule-classification.md +170 -0
- package/docs/contracts/rule-router.md +153 -0
- package/docs/customization.md +18 -7
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +109 -0
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +124 -0
- package/docs/decisions/ADR-rule-kernel-and-router.md +122 -0
- package/docs/getting-started.md +19 -27
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +176 -0
- package/docs/guidelines/agent-infra/rule-type-governance.md +73 -0
- package/docs/guidelines/agent-infra/size-and-scope.md +13 -2
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +119 -0
- package/docs/guidelines/augment-portability-patterns.md +68 -0
- package/docs/guidelines/php/php-coding-patterns.md +62 -0
- package/docs/hook-payload-capture.md +221 -0
- package/docs/migrations/commands-1.15.0.md +17 -12
- package/docs/skills-catalog.md +5 -4
- package/llms.txt +4 -3
- package/package.json +1 -1
- package/scripts/_p43_bodies.py +235 -0
- package/scripts/_p43_compress.py +118 -0
- package/scripts/_p4_migrate.py +199 -0
- package/scripts/_pilot_council_question.py +57 -0
- package/scripts/_pilot_measure.py +53 -0
- package/scripts/agent-config +1 -1
- package/scripts/ai_council/_default_prices.py +4 -4
- package/scripts/ai_council/clients.py +1 -1
- package/scripts/ai_council/modes.py +3 -4
- package/scripts/ai_council/pricing.py +10 -9
- package/scripts/ai_council/session.py +107 -5
- package/scripts/build_linear_digest.py +3 -5
- package/scripts/build_rule_trigger_matrix.py +1 -9
- package/scripts/chat_history.py +952 -596
- package/scripts/check_always_budget.py +39 -6
- package/scripts/check_compressed_paths.py +213 -0
- package/scripts/check_compression.py +15 -0
- package/scripts/check_context_paths.py +1 -0
- package/scripts/check_council_layout.py +105 -0
- package/scripts/check_council_references.py +145 -0
- package/scripts/check_portability.py +2 -0
- package/scripts/check_references.py +14 -2
- package/scripts/check_token_optimizer_freshness.py +131 -0
- package/scripts/compile_router.py +148 -0
- package/scripts/compress.py +219 -11
- package/scripts/council_cli.py +63 -9
- package/scripts/council_prune.py +81 -0
- package/scripts/count_token_optimizer_usage.sh +54 -0
- package/scripts/hook_manifest.yaml +33 -0
- package/scripts/hooks/augment-chat-history.sh +10 -0
- package/scripts/hooks/cowork-dispatcher.sh +98 -0
- package/scripts/hooks/dispatch_hook.py +35 -0
- package/scripts/hooks_status.py +12 -1
- package/scripts/install-hooks.sh +2 -2
- package/scripts/install.sh +81 -2
- package/scripts/iron_law_sha.py +98 -0
- package/scripts/lint_handoffs.py +214 -0
- package/scripts/lint_hook_manifest.py +2 -1
- package/scripts/lint_load_context.py +35 -5
- package/scripts/measure_rule_budget.py +314 -0
- package/scripts/prototype_lint_contradictions.py +150 -0
- package/scripts/redact_hook_capture.py +148 -0
- package/scripts/schemas/rule.schema.json +55 -6
- package/scripts/schemas/skill.schema.json +5 -0
- package/scripts/skill_linter.py +359 -7
- package/scripts/smoke_path_resolution.py +93 -0
- package/scripts/update_prices.py +3 -3
- package/scripts/validate_frontmatter.py +41 -1
- package/.agent-src/commands/chat-history/checkpoint.md +0 -126
- package/.agent-src/commands/chat-history/clear.md +0 -103
- package/.agent-src/commands/chat-history/resume.md +0 -183
- package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +0 -72
- package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +0 -79
- package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +0 -87
- package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +0 -62
- package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +0 -78
- package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +0 -85
- package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +0 -65
- package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +0 -78
- package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +0 -53
- package/.agent-src/rules/chat-history-cadence.md +0 -143
- package/.agent-src/rules/chat-history-ownership.md +0 -124
- package/.agent-src/rules/chat-history-visibility.md +0 -97
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_heartbeat.py +0 -50
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_turn_check.py +0 -49
- package/scripts/check_phase_coupling.py +0 -148
- /package/{docs → .agent-src/contexts}/contracts/artifact-engagement-flow.md +0 -0
- /package/{docs → .agent-src/contexts}/contracts/command-suggestion-flow.md +0 -0
|
@@ -3,60 +3,18 @@ type: "auto"
|
|
|
3
3
|
tier: "2a"
|
|
4
4
|
description: "Reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md"
|
|
5
5
|
source: package
|
|
6
|
+
triggers:
|
|
7
|
+
- path_prefix: "agents/"
|
|
8
|
+
- path_prefix: ".github/copilot-instructions"
|
|
9
|
+
- keyword: "AGENTS.md"
|
|
10
|
+
- keyword: "roadmap"
|
|
11
|
+
routes_to:
|
|
12
|
+
- "skill:agent-docs-writing"
|
|
6
13
|
---
|
|
7
14
|
|
|
8
|
-
# Agent
|
|
15
|
+
# Agent Docs
|
|
9
16
|
|
|
10
|
-
|
|
17
|
+
**Iron Law.** Read agent docs (`AGENTS.md`, `agents/`, module `agents/`) before work; update them after structural changes.
|
|
11
18
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
1. **Always read** `AGENTS.md` (if it exists in the project root) for project-level setup and conventions.
|
|
15
|
-
2. **Always read** `./agents/` for project-specific architecture, guidelines, and domain docs.
|
|
16
|
-
3. **If domain contexts exist** (`agents/contexts/domain/`) → read any that are relevant to the current work area.
|
|
17
|
-
4. **If working on a module** → also read `app/Modules/{Module}/agents/` for module-specific docs,
|
|
18
|
-
including `agents/contexts/` within the module if it exists.
|
|
19
|
-
5. **If working on a package** → read the package's `./agents/` directory.
|
|
20
|
-
6. **If a roadmap exists** for the current work → read it first and follow its steps.
|
|
21
|
-
|
|
22
|
-
## When to update agent docs
|
|
23
|
-
|
|
24
|
-
After making changes, check if any agent docs need to be updated:
|
|
25
|
-
|
|
26
|
-
- **New module created** → create `app/Modules/{Module}/agents/` with at least a module description.
|
|
27
|
-
- **Database schema changed** → update `agents/docs/database-setup.md` or equivalent.
|
|
28
|
-
- **New service/pattern introduced** → update relevant guideline docs.
|
|
29
|
-
- **Roadmap step completed** → mark it as done in the roadmap file (`[x]`).
|
|
30
|
-
- **Structural changes** (new conventions, renamed classes, moved files) → update affected docs.
|
|
31
|
-
|
|
32
|
-
If unsure whether a doc needs updating, **ask the user**.
|
|
33
|
-
|
|
34
|
-
## When to create roadmaps
|
|
35
|
-
|
|
36
|
-
When working on a **significant change** that spans multiple steps or sessions:
|
|
37
|
-
|
|
38
|
-
- Ask the user whether to create a roadmap in `agents/roadmaps/`.
|
|
39
|
-
- Use the `roadmap-create` command if yes.
|
|
40
|
-
- This ensures future sessions (and other agents) can pick up the work.
|
|
41
|
-
|
|
42
|
-
## Roadmap lifecycle
|
|
43
|
-
|
|
44
|
-
Every roadmap ends in exactly one folder — never leave stale files in `agents/roadmaps/`:
|
|
45
|
-
|
|
46
|
-
- `agents/roadmaps/` — active (in progress or planned)
|
|
47
|
-
- `agents/roadmaps/archive/` — finished (work happened, fully or partially)
|
|
48
|
-
- `agents/roadmaps/skipped/` — not pursued (typically 0 items `[x]`, scope rejected or superseded)
|
|
49
|
-
|
|
50
|
-
The `roadmap-management` skill owns the trigger matrix and user-confirmation flow.
|
|
51
|
-
Never delete a roadmap — always move it.
|
|
52
|
-
|
|
53
|
-
## Documentation language
|
|
54
|
-
|
|
55
|
-
- All `.md` files must be written in **English**.
|
|
56
|
-
- If an existing file is in German or another language, translate it to English when you touch it.
|
|
57
|
-
|
|
58
|
-
## Do NOT
|
|
59
|
-
|
|
60
|
-
- Do NOT create docs unless there's a real need (new module, significant change, etc.).
|
|
61
|
-
- Do NOT duplicate information that's already in `AGENTS.md` or `.github/copilot-instructions.md`.
|
|
62
|
-
- Do NOT write docs just to document what you did — only document things others need to know.
|
|
19
|
+
Body migrated to `skill:agent-docs-writing` (per P4 of `road-to-kernel-and-router.md`).
|
|
20
|
+
Trigger-set above activates this routing under the `balanced` and `full` profiles.
|
|
@@ -1,49 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
type: auto
|
|
2
|
+
type: "auto"
|
|
3
3
|
tier: "3"
|
|
4
4
|
description: "When choosing an analysis skill, route to the narrowest matching skill instead of defaulting to broad analysis"
|
|
5
5
|
source: package
|
|
6
|
+
triggers:
|
|
7
|
+
- keyword: "analyze"
|
|
8
|
+
- keyword: "analysis"
|
|
9
|
+
- phrase: "dig into the codebase"
|
|
10
|
+
routes_to:
|
|
11
|
+
- "skill:analysis-skill-router"
|
|
6
12
|
---
|
|
7
13
|
|
|
8
14
|
# Analysis Skill Routing
|
|
9
15
|
|
|
10
|
-
|
|
16
|
+
**Iron Law.** Route analysis tasks to the narrowest matching `project-analysis-*` skill, not the broad fallback.
|
|
11
17
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* full project analysis
|
|
15
|
-
* deep architecture review
|
|
16
|
-
* broad multi-layer debugging
|
|
17
|
-
* unclear systems where the stack or boundaries must first be discovered
|
|
18
|
-
|
|
19
|
-
Use framework-specific project-analysis skills only after the framework is known.
|
|
20
|
-
|
|
21
|
-
Use root-cause analysis skills when the problem is concrete and hypothesis-driven.
|
|
22
|
-
|
|
23
|
-
Do not use broad analysis skills for:
|
|
24
|
-
|
|
25
|
-
* small isolated code questions
|
|
26
|
-
* normal feature work
|
|
27
|
-
* obvious local fixes
|
|
28
|
-
* framework-specific issues that already have a dedicated skill
|
|
29
|
-
|
|
30
|
-
Prefer:
|
|
31
|
-
|
|
32
|
-
* narrow specialist skill over broad analysis skill
|
|
33
|
-
* framework-specific skill over universal router when the framework is already explicit
|
|
34
|
-
* root-cause skill over full-project analysis when the issue is already localized
|
|
35
|
-
|
|
36
|
-
If the stack is unclear:
|
|
37
|
-
|
|
38
|
-
* start broad
|
|
39
|
-
* then narrow quickly
|
|
40
|
-
|
|
41
|
-
## Routing quality gate
|
|
42
|
-
|
|
43
|
-
Only route to the narrower skill if it still has:
|
|
44
|
-
|
|
45
|
-
* executable workflow (concrete procedure steps)
|
|
46
|
-
* concrete validation (specific checks, not "verify it works")
|
|
47
|
-
* real decision power (not just "read the guideline")
|
|
48
|
-
|
|
49
|
-
If the narrow skill is too weak or hollowed out, route through the broader skill and note the gap.
|
|
18
|
+
Body migrated to `skill:analysis-skill-router` (per P4 of `road-to-kernel-and-router.md`).
|
|
19
|
+
Trigger-set above activates this routing under the `balanced` and `full` profiles.
|
|
@@ -4,6 +4,11 @@ tier: "3"
|
|
|
4
4
|
alwaysApply: false
|
|
5
5
|
description: "Architecture rules for creating new files, classes, controllers, modules, or making structural decisions about project organization"
|
|
6
6
|
source: package
|
|
7
|
+
triggers:
|
|
8
|
+
- keyword: "controller"
|
|
9
|
+
- keyword: "service"
|
|
10
|
+
- keyword: "module"
|
|
11
|
+
- intent: "structural decision"
|
|
7
12
|
---
|
|
8
13
|
|
|
9
14
|
# Architecture Rules
|
|
@@ -11,7 +16,7 @@ source: package
|
|
|
11
16
|
## General Principles
|
|
12
17
|
|
|
13
18
|
- **Controllers are thin** — no business logic, delegate to services.
|
|
14
|
-
- **Only Single Action Controllers** — every new controller MUST use `__invoke()`. No multi-action / resource controllers. See
|
|
19
|
+
- **Only Single Action Controllers** — every new controller MUST use `__invoke()`. No multi-action / resource controllers. See `../docs/guidelines/php/controllers.md` for naming conventions.
|
|
15
20
|
- **Every controller needs a FormRequest** — never validate inline with `$request->validate()`. Use a dedicated `FormRequest` subclass.
|
|
16
21
|
- **Services contain business logic** — calculations, orchestration, validation.
|
|
17
22
|
- **Models have no business logic** — only relationships, scopes, accessors/mutators.
|
|
@@ -4,6 +4,11 @@ tier: "2a"
|
|
|
4
4
|
alwaysApply: false
|
|
5
5
|
description: "Creating a new skill, rule, command, or guideline, or significantly rewriting one — runs a mandatory Understand → Research → Draft sequence before any artifact content is written."
|
|
6
6
|
source: package
|
|
7
|
+
triggers:
|
|
8
|
+
- intent: "create new skill"
|
|
9
|
+
- intent: "create new rule"
|
|
10
|
+
- intent: "create new command"
|
|
11
|
+
- intent: "create new guideline"
|
|
7
12
|
---
|
|
8
13
|
|
|
9
14
|
# Artifact Drafting Protocol
|
|
@@ -4,75 +4,39 @@ tier: "mechanical-already"
|
|
|
4
4
|
alwaysApply: false
|
|
5
5
|
description: "After a /implement-ticket or /work phase-step (refine/memory/analyze/plan/implement/test/verify/report) or full task — emit one telemetry:record call with consulted+applied ids when enabled"
|
|
6
6
|
source: package
|
|
7
|
+
triggers:
|
|
8
|
+
- phrase: "/implement-ticket"
|
|
9
|
+
- phrase: "/work"
|
|
10
|
+
- keyword: "telemetry"
|
|
11
|
+
routes_to:
|
|
12
|
+
- "contract:artifact-engagement-flow"
|
|
7
13
|
load_context:
|
|
8
|
-
-
|
|
14
|
+
- "../contexts/contracts/artifact-engagement-flow.md"
|
|
9
15
|
---
|
|
10
16
|
|
|
11
17
|
<!-- cloud_safe: noop -->
|
|
12
18
|
|
|
13
19
|
# Artifact Engagement Recording
|
|
14
20
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
Default-off; opt-in via `.agent-settings.yml`. Zero overhead when
|
|
21
|
+
**Iron Law.** After a `/implement-ticket` or `/work` phase-step, emit one
|
|
22
|
+
`telemetry:record` call with consulted + applied ids when telemetry is
|
|
23
|
+
enabled. Default-off; opt-in via `.agent-settings.yml`. Zero overhead when
|
|
24
|
+
disabled. Recording contract + privacy floor:
|
|
25
|
+
[`contexts/contracts/artifact-engagement-flow.md`](../contexts/contracts/artifact-engagement-flow.md).
|
|
18
26
|
|
|
19
|
-
The schema, CLI, and storage layer are owned by
|
|
20
|
-
|
|
21
|
-
`./agent-config telemetry:record` / `telemetry:status` commands. The
|
|
22
|
-
recording contract lives in
|
|
23
|
-
[`docs/contracts/artifact-engagement-flow.md`](../../docs/contracts/artifact-engagement-flow.md).
|
|
24
|
-
This rule says **when** to call the CLI, not how the file is structured.
|
|
27
|
+
The schema, CLI, and storage layer are owned by `scripts/telemetry/` and
|
|
28
|
+
the `./agent-config telemetry:record` / `telemetry:status` commands.
|
|
25
29
|
|
|
26
|
-
## Activation gate — read settings ONCE per task
|
|
30
|
+
## Activation gate — read settings ONCE per task
|
|
27
31
|
|
|
28
|
-
Before the first
|
|
29
|
-
`telemetry.artifact_engagement.enabled
|
|
30
|
-
|
|
32
|
+
Before the first phase-step runs, read
|
|
33
|
+
`telemetry.artifact_engagement.enabled`. Cache the value (and
|
|
34
|
+
`granularity`) for the whole task.
|
|
31
35
|
|
|
32
|
-
- `enabled: false` or section missing → rule is a **no-op**.
|
|
33
|
-
|
|
34
|
-
of this rule.
|
|
35
|
-
- `enabled: true` → continue with the cadence below.
|
|
36
|
+
- `enabled: false` or section missing → rule is a **no-op**.
|
|
37
|
+
- `enabled: true` → continue with the cadence in the contract.
|
|
36
38
|
|
|
37
|
-
|
|
38
|
-
not already in working memory; the call is read-only and never touches
|
|
39
|
-
the log file.
|
|
39
|
+
## Cloud Behavior
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
| `granularity` | When to emit | Coalescing |
|
|
44
|
-
|---|---|---|
|
|
45
|
-
| `task` *(default)* | Once, when the eight-step flow ends (success, blocked, partial — any terminal state) | All consulted/applied artefacts from refine through report merged into a single event |
|
|
46
|
-
| `phase-step` | At the close of each phase-step (refine, memory, analyze, plan, implement, test, verify, report) | One event per step; per-step consulted/applied lists only |
|
|
47
|
-
|
|
48
|
-
Within a single boundary, **dedupe** consulted and applied lists. A skill
|
|
49
|
-
consulted three times in the same boundary records once.
|
|
50
|
-
|
|
51
|
-
## What counts as consulted vs applied
|
|
52
|
-
|
|
53
|
-
- **`consulted`** — the agent **read** the artefact this boundary: opened
|
|
54
|
-
its `SKILL.md`, scanned its rule body, viewed its frontmatter,
|
|
55
|
-
referenced its guideline, checked its persona contract, dispatched its
|
|
56
|
-
command. Reading does not imply behaviour change.
|
|
57
|
-
- **`applied`** — the artefact **influenced the output** this boundary:
|
|
58
|
-
its instructions changed how the agent answered, what code it wrote,
|
|
59
|
-
what tools it ran, or what halt surface it produced. Applied is a
|
|
60
|
-
strict subset of consulted.
|
|
61
|
-
|
|
62
|
-
When in doubt → record as `consulted` only. Over-recording `applied`
|
|
63
|
-
inflates the engagement signal and defeats the purpose.
|
|
64
|
-
|
|
65
|
-
## Mechanics — CLI invocation, privacy contract, failure handling
|
|
66
|
-
|
|
67
|
-
The exact `telemetry:record` call shape with all flags, the privacy
|
|
68
|
-
contract (what NEVER goes into a record), the failure-mode handling
|
|
69
|
-
(do NOT block the user's task), and the "what this rule does NOT do"
|
|
70
|
-
catalog live in
|
|
71
|
-
[`contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md`](../contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md).
|
|
72
|
-
|
|
73
|
-
## See also
|
|
74
|
-
|
|
75
|
-
- [`docs/contracts/artifact-engagement-flow.md`](../../docs/contracts/artifact-engagement-flow.md) — recording contract details
|
|
76
|
-
- [`/implement-ticket`](../commands/implement-ticket.md) and [`/work`](../commands/work.md) — boundary points where this rule fires
|
|
77
|
-
- [`scripts/telemetry/`](../../../scripts/telemetry/) — engine source
|
|
78
|
-
- [`agent-settings`](../templates/agent-settings.md) — `telemetry.artifact_engagement.*` reference
|
|
41
|
+
The `cloud_safe: noop` marker keeps this rule inert on cloud surfaces
|
|
42
|
+
(Claude.ai Web, Skills API). The cloud-bundle pipeline skips it.
|
|
@@ -8,8 +8,7 @@ source: package
|
|
|
8
8
|
|
|
9
9
|
# Ask When Uncertain
|
|
10
10
|
|
|
11
|
-
**When in doubt, ask
|
|
12
|
-
Asking one question too many is always better than a wrong assumption.
|
|
11
|
+
**When in doubt, ask.** Don't guess, assume, or improvise. One question too many beats one wrong assumption.
|
|
13
12
|
|
|
14
13
|
## Iron Law — one question per turn, ALWAYS
|
|
15
14
|
|
|
@@ -18,22 +17,19 @@ ONE QUESTION PER TURN. NO EXCEPTIONS.
|
|
|
18
17
|
ASK. WAIT FOR THE ANSWER. THEN ASK THE NEXT.
|
|
19
18
|
```
|
|
20
19
|
|
|
21
|
-
Absolute.
|
|
22
|
-
has **exactly one**. Even if trivial, independent, or batchable.
|
|
23
|
-
Self-check, ordering, handoff under [How to ask](#how-to-ask).
|
|
20
|
+
Absolute. Every turn with a question has **exactly one** — even if trivial, independent, or batchable.
|
|
24
21
|
|
|
25
22
|
## When to ask
|
|
26
23
|
|
|
27
|
-
- Requirement ambiguous or multi-interpretable
|
|
28
|
-
- Not 100% sure which approach is correct
|
|
29
|
-
- About to touch code you haven't fully understood
|
|
30
|
-
- Choosing between multiple valid approaches
|
|
31
|
-
- A fix "seems to work" but you can't explain why
|
|
24
|
+
- Requirement ambiguous or multi-interpretable.
|
|
25
|
+
- Not 100 % sure which approach is correct.
|
|
26
|
+
- About to touch code you haven't fully understood.
|
|
27
|
+
- Choosing between multiple valid approaches.
|
|
28
|
+
- A fix "seems to work" but you can't explain why.
|
|
32
29
|
|
|
33
30
|
## Vague-request triggers — MUST ask
|
|
34
31
|
|
|
35
|
-
|
|
36
|
-
context → ask **before** touching code:
|
|
32
|
+
Match without further context → ask **before** touching code:
|
|
37
33
|
|
|
38
34
|
- "improve / optimize this" — metric? speed, readability, memory?
|
|
39
35
|
- "add caching" — store? scope? invalidation?
|
|
@@ -45,52 +41,33 @@ context → ask **before** touching code:
|
|
|
45
41
|
- "handle errors properly" — which errors? log/retry/propagate?
|
|
46
42
|
- "add a UI/component/tile/page" in mixed-framework repo — which stack?
|
|
47
43
|
|
|
48
|
-
|
|
49
|
-
[`asking-and-brevity-examples`](../../docs/guidelines/agent-infra/asking-and-brevity-examples.md#vague-request-triggers--example-questions).
|
|
44
|
+
Examples: [`asking-and-brevity-examples § vague-triggers`](../docs/guidelines/agent-infra/asking-and-brevity-examples.md#vague-request-triggers--example-questions).
|
|
50
45
|
|
|
51
|
-
**Escape hatch:**
|
|
52
|
-
the answer unambiguous, proceed — but state the assumption.
|
|
46
|
+
**Escape hatch:** unambiguous from ticket / open file / prior turn → proceed, state the assumption.
|
|
53
47
|
|
|
54
48
|
## How to ask
|
|
55
49
|
|
|
56
|
-
Numbered options (per `user-interaction`). Short.
|
|
57
|
-
the top; this section adds self-check and ordering.
|
|
58
|
-
|
|
59
|
-
The user must never track sub-numbers, scroll stacked option blocks,
|
|
60
|
-
or split a reply across multiple questions. Rationale shorthand: if
|
|
61
|
-
the user has to *think* about an answer, that answer almost always
|
|
62
|
-
reframes the next question. Full rationale:
|
|
63
|
-
[`asking-and-brevity-examples`](../../docs/guidelines/agent-infra/asking-and-brevity-examples.md#one-question-per-turn--why-serial-always-wins).
|
|
50
|
+
Numbered options (per [`user-interaction`](user-interaction.md)). Short.
|
|
64
51
|
|
|
65
52
|
### Self-check before asking
|
|
66
53
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
2. Does this turn present two or more separate numbered-option blocks?
|
|
71
|
-
3. Would the user need to reply with a structured answer (`1a, 2b`)
|
|
72
|
-
instead of a single number or word?
|
|
54
|
+
1. More than one `?` directed at the user this turn?
|
|
55
|
+
2. Two or more separate numbered-option blocks?
|
|
56
|
+
3. User would need a structured reply (`1a, 2b`) instead of a single number?
|
|
73
57
|
|
|
74
|
-
|
|
75
|
-
every other question for its own turn. No exceptions, no "but these
|
|
76
|
-
are related".
|
|
58
|
+
Any "yes" → **collapse to ONE question**. Hold the rest for their own turn. Rationale: [`asking-and-brevity-examples § serial-wins`](../docs/guidelines/agent-infra/asking-and-brevity-examples.md#one-question-per-turn--why-serial-always-wins).
|
|
77
59
|
|
|
78
60
|
### Ordering & handoff
|
|
79
61
|
|
|
80
|
-
- **Session handoff** (`/agent-handoff`, fresh-chat
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
- **Model switch**: different phase — [`model-recommendation`](model-recommendation.md)
|
|
85
|
-
triggers at task start with its own STOP-AND-WAIT gate, standalone, not
|
|
86
|
-
appended to a Q&A block. Do not conflate the two.
|
|
87
|
-
- **Blocking clarification** (can't proceed without it): ask FIRST,
|
|
88
|
-
alone, before any research or planning output.
|
|
89
|
-
- **Optional refinement**: don't ask at all — state the assumption
|
|
90
|
-
and proceed.
|
|
62
|
+
- **Session handoff** (`/agent-handoff`, fresh-chat) — ask LAST, after domain / clarifying questions, so answers fold into the handoff. Full: [`agent-interaction-and-decision-quality § handoff`](../docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md#handoff--model-switch-questions).
|
|
63
|
+
- **Model switch** — [`model-recommendation`](model-recommendation.md) STOP-AND-WAIT gate is standalone, not appended.
|
|
64
|
+
- **Blocking clarification** — ask FIRST, alone, before any research or planning output.
|
|
65
|
+
- **Optional refinement** — don't ask; state the assumption, proceed.
|
|
91
66
|
|
|
92
67
|
## Creating new agent artifacts
|
|
93
68
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
69
|
+
Skill / rule / command / guideline creation or major rewrite → [`artifact-drafting-protocol`](artifact-drafting-protocol.md) (Understand → Research → Draft). Don't improvise questions.
|
|
70
|
+
|
|
71
|
+
## Examples
|
|
72
|
+
|
|
73
|
+
Pattern Memory (wrong / right / why): [`ask-when-uncertain-demos`](../docs/guidelines/agent-infra/ask-when-uncertain-demos.md). Outcome baseline: [`tests/golden/outcomes/ask_when_uncertain.json`](../../tests/golden/outcomes/ask_when_uncertain.json).
|
|
@@ -3,69 +3,21 @@ type: "auto"
|
|
|
3
3
|
tier: "mechanical-already"
|
|
4
4
|
description: "Editing or creating files inside .augment/ directory — skills, rules, commands, templates, contexts must be project-agnostic"
|
|
5
5
|
source: package
|
|
6
|
-
|
|
7
|
-
- .
|
|
6
|
+
triggers:
|
|
7
|
+
- path_prefix: ".augment/"
|
|
8
|
+
- path_prefix: ".agent-src.uncompressed/"
|
|
9
|
+
- keyword: "portable"
|
|
10
|
+
routes_to:
|
|
11
|
+
- "guideline:augment-portability-patterns"
|
|
12
|
+
validator_ignore:
|
|
13
|
+
- type: "substring"
|
|
14
|
+
pattern: ".agent-src.uncompressed/"
|
|
15
|
+
reason: "Rule scopes the portability gate to the uncompressed authoring tree."
|
|
8
16
|
---
|
|
9
17
|
|
|
10
|
-
#
|
|
18
|
+
# Augment Portability
|
|
11
19
|
|
|
12
|
-
|
|
13
|
-
**project-agnostic**. That includes:
|
|
20
|
+
**Iron Law.** Files inside `.augment/` and `.agent-src.uncompressed/` MUST stay project-agnostic — no project names, domains, stacks.
|
|
14
21
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- The package repo's own root `AGENTS.md`
|
|
18
|
-
- The package repo's own `.github/copilot-instructions.md`
|
|
19
|
-
|
|
20
|
-
All three are either installed into consumer projects (`.augment/` via
|
|
21
|
-
`install.sh`) or read by AI tools when working on the package itself
|
|
22
|
-
(`AGENTS.md`, `copilot-instructions.md`). Leaking consumer-specific
|
|
23
|
-
content into any of them pollutes downstream projects or misleads agents.
|
|
24
|
-
|
|
25
|
-
## Rules
|
|
26
|
-
|
|
27
|
-
- NEVER reference a specific consumer project, repo name, domain, or tech
|
|
28
|
-
stack directly. The package repo itself (`event4u/agent-config`) MAY be
|
|
29
|
-
named inside its own root `AGENTS.md` and `copilot-instructions.md` —
|
|
30
|
-
that is meta about the package, not a leak.
|
|
31
|
-
- NEVER hardcode consumer-project paths, class names, or conventions.
|
|
32
|
-
- Write content so it works as a **reusable package** across any project.
|
|
33
|
-
- Project-specific behavior belongs in the **consumer's** `.agent-settings.yml`,
|
|
34
|
-
`AGENTS.md`, or `agents/` — never in files shipped by this package.
|
|
35
|
-
- If a skill or rule needs project-specific input, read it from
|
|
36
|
-
`.agent-settings.yml` or accept it as a parameter.
|
|
37
|
-
- When reviewing or editing package files, always ask: "Would this still
|
|
38
|
-
make sense in a completely different project?"
|
|
39
|
-
|
|
40
|
-
## Runtime invocations — no `task` commands
|
|
41
|
-
|
|
42
|
-
Skills, rules, commands, guidelines, personas, and context docs run in
|
|
43
|
-
**consumer projects**, which may not have Task installed. **Never**
|
|
44
|
-
reference a `task <something>` invocation inside any artefact file
|
|
45
|
-
under `.agent-src.uncompressed/{skills,rules,commands,guidelines,personas,contexts}/`
|
|
46
|
-
(and therefore also not in the compressed mirror under `.agent-src/`).
|
|
47
|
-
Use direct script invocations instead.
|
|
48
|
-
|
|
49
|
-
## Consumer CLI — `./agent-config`
|
|
50
|
-
|
|
51
|
-
A subset of package scripts is exposed through a project-local CLI
|
|
52
|
-
wrapper `./agent-config` (written into the project root by the
|
|
53
|
-
installer, gitignored). Artefacts MUST prefer the CLI over raw
|
|
54
|
-
`python3 scripts/…` paths for every command the CLI already covers.
|
|
55
|
-
|
|
56
|
-
## Translation tables — see mechanics
|
|
57
|
-
|
|
58
|
-
The full `task`-to-script translation table, the `./agent-config`
|
|
59
|
-
CLI mapping, and the rationale (Task absence on consumers,
|
|
60
|
-
maintainer-vs-artefact split) all live in
|
|
61
|
-
[`contexts/communication/rules-auto/augment-portability-mechanics.md`](../contexts/communication/rules-auto/augment-portability-mechanics.md).
|
|
62
|
-
Pull it whenever an artefact is about to mention a runtime
|
|
63
|
-
invocation.
|
|
64
|
-
|
|
65
|
-
## Enforcement
|
|
66
|
-
|
|
67
|
-
`scripts/check_portability.py` scans `.augment/`, `.agent-src.uncompressed/`,
|
|
68
|
-
and the package repo's root `AGENTS.md` + `.github/copilot-instructions.md`
|
|
69
|
-
for forbidden identifiers, for any `task <name>` invocation inside
|
|
70
|
-
artefact files, and for direct script invocations that bypass the
|
|
71
|
-
`./agent-config` CLI. It runs in CI and must pass before any PR.
|
|
22
|
+
Body migrated to `guideline:augment-portability-patterns` (per P4 of `road-to-kernel-and-router.md`).
|
|
23
|
+
Trigger-set above activates this routing under the `balanced` and `full` profiles.
|
|
@@ -4,7 +4,16 @@ tier: "1"
|
|
|
4
4
|
description: "Creating, editing, or modifying files inside .agent-src/ or .augment/ — the source of truth is .agent-src.uncompressed/, never edit the generated directories directly"
|
|
5
5
|
source: package
|
|
6
6
|
load_context:
|
|
7
|
-
-
|
|
7
|
+
- ../contexts/communication/rules-auto/augment-source-of-truth-mechanics.md
|
|
8
|
+
triggers:
|
|
9
|
+
- path_prefix: ".agent-src/"
|
|
10
|
+
- path_prefix: ".augment/"
|
|
11
|
+
- path_prefix: ".claude/"
|
|
12
|
+
- path_prefix: ".cursor/"
|
|
13
|
+
validator_ignore:
|
|
14
|
+
- type: "substring"
|
|
15
|
+
pattern: ".agent-src.uncompressed/"
|
|
16
|
+
reason: "Rule documents the source-of-truth boundary; mentioning the path is its purpose."
|
|
8
17
|
---
|
|
9
18
|
|
|
10
19
|
# Source of Truth
|
|
@@ -5,119 +5,38 @@ description: "Deciding whether to ask the user or just act on a workflow step
|
|
|
5
5
|
alwaysApply: false
|
|
6
6
|
source: package
|
|
7
7
|
load_context:
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
8
|
+
- ../contexts/execution/autonomy-detection.md
|
|
9
|
+
- ../contexts/execution/autonomy-mechanics.md
|
|
10
|
+
- ../contexts/execution/autonomy-examples.md
|
|
11
|
+
triggers:
|
|
12
|
+
- intent: "trivial workflow question"
|
|
13
|
+
- intent: "autonomy mode"
|
|
14
|
+
- keyword: "personal.autonomy"
|
|
11
15
|
---
|
|
12
16
|
|
|
13
17
|
# Autonomous Execution
|
|
14
18
|
|
|
15
|
-
User's time is the scarce resource. Trivial workflow questions are
|
|
16
|
-
noise. This rule defines **trivial** (just act), **blocking** (still
|
|
17
|
-
ask), the **hard floor** (always ask, no override), and the **commit
|
|
18
|
-
default** (never commit, never ask — review-first by design).
|
|
19
|
+
User's time is the scarce resource. Trivial workflow questions are noise. This rule defines **trivial** (just act), **blocking** (still ask), the **hard floor** (always ask, no override), and the **commit default** (never commit, never ask — review-first by design).
|
|
19
20
|
|
|
20
21
|
## Hard Floor — see [`non-destructive-by-default`](non-destructive-by-default.md)
|
|
21
22
|
|
|
22
|
-
The universal safety floor (production-branch merges, deploys, pushes,
|
|
23
|
-
prod data/infra, whimsical bulk deletions, and commits containing
|
|
24
|
-
bulk deletions or infra changes) is governed by the canonical
|
|
25
|
-
[`non-destructive-by-default`](non-destructive-by-default.md) rule.
|
|
26
|
-
It applies regardless of `personal.autonomy`, a standing autonomy
|
|
27
|
-
directive, or any roadmap authorization. Nothing in **this** rule
|
|
28
|
-
lifts it. If a trigger fires, stop and ask — every other section
|
|
29
|
-
below assumes the floor has already been cleared.
|
|
23
|
+
The universal safety floor (production-branch merges, deploys, pushes, prod data/infra, whimsical bulk deletions, and commits containing bulk deletions or infra changes) is governed by the canonical [`non-destructive-by-default`](non-destructive-by-default.md) rule. It applies regardless of `personal.autonomy`, a standing autonomy directive, or any roadmap authorization. Nothing in **this** rule lifts it. If a trigger fires, stop and ask — every other section below assumes the floor has already been cleared.
|
|
30
24
|
|
|
31
25
|
## Setting — `personal.autonomy`
|
|
32
26
|
|
|
33
|
-
Three values: `on` (suppress trivial questions), `off` (ask trivial
|
|
34
|
-
questions too), `auto` (default — same as `off` until the user opts
|
|
35
|
-
in via a standing autonomy directive). Read once on the first turn
|
|
36
|
-
(per [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules))
|
|
37
|
-
and cache. Missing key → treat as `on`. Full table, semantics, and
|
|
38
|
-
cloud behavior:
|
|
39
|
-
[`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md).
|
|
27
|
+
Three values: `on` (suppress trivial questions), `off` (ask trivial questions too), `auto` (default — same as `off` until the user opts in via a standing autonomy directive). Read once on the first turn and cache. Missing key → treat as `on`. Full table, semantics, and cloud behavior: [`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md).
|
|
40
28
|
|
|
41
29
|
## Opt-in detection — match by intent, not exact string
|
|
42
30
|
|
|
43
|
-
In `auto` mode, flip to `on` for the rest of the conversation when
|
|
44
|
-
the user expresses **"stop asking on trivial steps, just work"**.
|
|
45
|
-
Recognize **intent**, not the literal substring. Opt-out (same intent,
|
|
46
|
-
reversed) flips back to `off`. Both directions are
|
|
47
|
-
**speech-act-checked**: the phrase must be a meta-instruction to the
|
|
48
|
-
agent, not content / quote / subject / code / third-party reference /
|
|
49
|
-
hypothetical. In doubt → keep current mode, no speculative flips.
|
|
31
|
+
In `auto` mode, flip to `on` for the rest of the conversation when the user expresses **"stop asking on trivial steps, just work"**. Recognize **intent**, not the literal substring. Opt-out (same intent, reversed) flips back to `off`. Both directions are **speech-act-checked**: the phrase must be a meta-instruction to the agent, not content / quote / subject / code / third-party reference / hypothetical. In doubt → keep current mode, no speculative flips.
|
|
50
32
|
|
|
51
|
-
Algorithm and speech-act heuristic:
|
|
52
|
-
[`contexts/execution/autonomy-detection.md`](../contexts/execution/autonomy-detection.md).
|
|
53
|
-
Anchor phrases (DE+EN), no-flip patterns, counter-examples:
|
|
54
|
-
[`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
|
|
55
|
-
|
|
56
|
-
## Trivial — JUST ACT, do not ask
|
|
57
|
-
|
|
58
|
-
In `personal.autonomy: on` or `auto`-after-opt-in, do not ask
|
|
59
|
-
trivial workflow questions — pick the obvious next step and proceed.
|
|
60
|
-
In `personal.autonomy: off`, ask them. Worked cases:
|
|
61
|
-
[`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
|
|
62
|
-
|
|
63
|
-
## Blocking — STILL ASK regardless of `personal.autonomy`
|
|
64
|
-
|
|
65
|
-
Beyond the Hard Floor above, the autonomy setting also never
|
|
66
|
-
overrides:
|
|
67
|
-
|
|
68
|
-
- **Vague-request triggers** in [`ask-when-uncertain`](ask-when-uncertain.md)
|
|
69
|
-
— ambiguous requirements stay ambiguous; pick-one-and-pray is wrong.
|
|
70
|
-
- **Architectural / structural choices** that the codebase doesn't
|
|
71
|
-
already settle (multi-stack picks, library introductions).
|
|
72
|
-
- **Security-sensitive paths** — see [`security-sensitive-stop`](security-sensitive-stop.md).
|
|
73
|
-
- **Scope expansion** beyond the stated task — see [`scope-control`](scope-control.md).
|
|
74
|
-
- **Remote-state operations** — push, merge, rebase, force-push,
|
|
75
|
-
branch create/delete/switch, PR create/close/retarget, tag/release.
|
|
76
|
-
Permission-gated by [`scope-control`](scope-control.md); the
|
|
77
|
-
prod-trunk and deploy-tied subset is governed by
|
|
78
|
-
[`non-destructive-by-default`](non-destructive-by-default.md).
|
|
79
|
-
- **Destructive ops** — see [`non-destructive-by-default`](non-destructive-by-default.md)
|
|
80
|
-
for the full taxonomy (whimsical bulk deletions, content
|
|
81
|
-
destruction, commits containing bulk deletions or infra changes).
|
|
82
|
-
|
|
83
|
-
When in doubt whether something is trivial or blocking → it is
|
|
84
|
-
blocking. Ask.
|
|
85
|
-
|
|
86
|
-
## Commit policy — see [`commit-policy`](commit-policy.md)
|
|
87
|
-
|
|
88
|
-
Committing is governed by the canonical [`commit-policy`](commit-policy.md)
|
|
89
|
-
rule, which applies regardless of `personal.autonomy`. Summary:
|
|
90
|
-
|
|
91
|
-
- NEVER commit unless user said so this turn, a commit command was
|
|
92
|
-
invoked, a standing instruction is active, or the roadmap authorizes it.
|
|
93
|
-
- NEVER ask about committing. The user invokes a command or says so.
|
|
94
|
-
- In autonomous mode, the **only** permitted commit-related question is
|
|
95
|
-
the one-shot pre-scan ask at the start of roadmap execution.
|
|
96
|
-
|
|
97
|
-
Push, merge, rebase, branch creation, PR operations, and tags remain
|
|
98
|
-
permission-gated by [`scope-control`](scope-control.md#git-operations--permission-gated).
|
|
99
|
-
|
|
100
|
-
## Failure modes
|
|
101
|
-
|
|
102
|
-
Autonomy-side wrong-behavior patterns (sequencing-only asks, CI-run
|
|
103
|
-
asks, commit asks, no-trade-off option blocks, re-asking after a
|
|
104
|
-
standing opt-in):
|
|
105
|
-
[`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
|
|
106
|
-
For Hard-Floor failure modes see
|
|
107
|
-
[`non-destructive-by-default`](non-destructive-by-default.md#failure-modes).
|
|
33
|
+
Algorithm and speech-act heuristic: [`contexts/execution/autonomy-detection.md`](../contexts/execution/autonomy-detection.md). Anchor phrases (DE+EN), no-flip patterns, counter-examples, trivial-vs-blocking taxonomy, commit-policy summary, and named failure modes: [`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md) + [`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
|
|
108
34
|
|
|
109
35
|
## See also
|
|
110
36
|
|
|
111
|
-
- [`non-destructive-by-default`](non-destructive-by-default.md) —
|
|
112
|
-
universal safety floor; never overridden by autonomy
|
|
37
|
+
- [`non-destructive-by-default`](non-destructive-by-default.md) — universal safety floor; never overridden by autonomy
|
|
113
38
|
- [`scope-control`](scope-control.md) — git-ops permission gate
|
|
114
|
-
|
|
115
|
-
- [`
|
|
116
|
-
|
|
117
|
-
- [
|
|
118
|
-
floor against context-derived, sequencing-only, and
|
|
119
|
-
Iron-Law-violating asks (applies in `off` and pre-opt-in `auto` too)
|
|
120
|
-
- [`direct-answers`](direct-answers.md) — Iron Laws on brevity and
|
|
121
|
-
no-flattery (this rule extends to no-trivial-questions)
|
|
122
|
-
- [`/commit-in-chunks`](../commands/commit-in-chunks.md) — auto-split and commit without confirmation
|
|
123
|
-
- [`/commit`](../commands/commit.md) — split and commit with confirmation
|
|
39
|
+
- [`ask-when-uncertain`](ask-when-uncertain.md) — vague-request triggers that always require asking
|
|
40
|
+
- [`no-cheap-questions`](no-cheap-questions.md) — mode-independent floor against context-derived asks
|
|
41
|
+
- [`commit-policy`](commit-policy.md) — never-commit / never-ask Iron Law
|
|
42
|
+
- [`/commit:in-chunks`](../commands/commit/in-chunks.md), [`/commit`](../commands/commit.md)
|