@event4u/agent-config 1.15.0 → 1.17.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/{agents-audit.md → agents/audit.md} +4 -3
- package/.agent-src/commands/{agents-cleanup.md → agents/cleanup.md} +12 -6
- package/.agent-src/commands/{agents-prepare.md → agents/prepare.md} +4 -3
- package/.agent-src/commands/agents.md +46 -0
- 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 → chat-history/checkpoint.md} +5 -5
- package/.agent-src/commands/{chat-history-clear.md → chat-history/clear.md} +5 -5
- package/.agent-src/commands/{chat-history-resume.md → chat-history/resume.md} +4 -4
- package/.agent-src/commands/chat-history/show.md +107 -0
- package/.agent-src/commands/chat-history.md +33 -89
- package/.agent-src/commands/check-current-md.md +1 -1
- package/.agent-src/commands/{commit-in-chunks.md → commit/in-chunks.md} +15 -13
- package/.agent-src/commands/commit.md +22 -2
- package/.agent-src/commands/{context-create.md → context/create.md} +4 -3
- package/.agent-src/commands/{context-refactor.md → context/refactor.md} +4 -3
- package/.agent-src/commands/context.md +44 -0
- package/.agent-src/commands/{copilot-agents-init.md → copilot-agents/init.md} +4 -3
- package/.agent-src/commands/{copilot-agents-optimize.md → copilot-agents/optimize.md} +4 -3
- package/.agent-src/commands/copilot-agents.md +44 -0
- package/.agent-src/commands/council/default.md +221 -0
- package/.agent-src/commands/council/design.md +97 -0
- package/.agent-src/commands/council/optimize.md +116 -0
- package/.agent-src/commands/council/pr.md +124 -0
- package/.agent-src/commands/council.md +54 -0
- package/.agent-src/commands/{create-pr-description.md → create-pr/description-only.md} +4 -2
- package/.agent-src/commands/create-pr.md +49 -5
- 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 → feature/dev.md} +6 -3
- package/.agent-src/commands/{feature-explore.md → feature/explore.md} +5 -4
- package/.agent-src/commands/{feature-plan.md → feature/plan.md} +32 -5
- package/.agent-src/commands/{feature-refactor.md → feature/refactor.md} +4 -3
- package/.agent-src/commands/{feature-roadmap.md → feature/roadmap.md} +7 -6
- package/.agent-src/commands/feature.md +52 -0
- package/.agent-src/commands/{fix-ci.md → fix/ci.md} +4 -3
- package/.agent-src/commands/{fix-portability.md → fix/portability.md} +4 -3
- package/.agent-src/commands/{fix-pr-bot-comments.md → fix/pr-bots.md} +4 -3
- package/.agent-src/commands/{fix-pr-developer-comments.md → fix/pr-developers.md} +4 -3
- package/.agent-src/commands/{fix-pr-comments.md → fix/pr.md} +7 -6
- package/.agent-src/commands/{fix-references.md → fix/refs.md} +4 -3
- package/.agent-src/commands/{fix-seeder.md → fix/seeder.md} +4 -3
- package/.agent-src/commands/fix.md +54 -0
- package/.agent-src/commands/jira-ticket.md +1 -1
- package/.agent-src/commands/{do-and-judge.md → judge/on-diff.md} +7 -6
- package/.agent-src/commands/judge/solo.md +90 -0
- package/.agent-src/commands/{do-in-steps.md → judge/steps.md} +8 -7
- package/.agent-src/commands/judge.md +35 -70
- package/.agent-src/commands/{memory-add.md → memory/add.md} +7 -6
- package/.agent-src/commands/{memory-full.md → memory/load.md} +6 -5
- package/.agent-src/commands/{memory-promote.md → memory/promote.md} +6 -5
- package/.agent-src/commands/{propose-memory.md → memory/propose.md} +6 -5
- package/.agent-src/commands/memory.md +48 -0
- package/.agent-src/commands/mode.md +5 -5
- package/.agent-src/commands/{module-create.md → module/create.md} +4 -3
- package/.agent-src/commands/{module-explore.md → module/explore.md} +4 -3
- package/.agent-src/commands/module.md +44 -0
- package/.agent-src/commands/onboard.md +3 -3
- package/.agent-src/commands/{optimize-agents.md → optimize/agents.md} +5 -4
- package/.agent-src/commands/{optimize-augmentignore.md → optimize/augmentignore.md} +4 -4
- package/.agent-src/commands/{optimize-rtk-filters.md → optimize/rtk.md} +4 -3
- package/.agent-src/commands/{optimize-skills.md → optimize/skills.md} +5 -4
- package/.agent-src/commands/optimize.md +48 -0
- package/.agent-src/commands/{override-create.md → override/create.md} +4 -3
- package/.agent-src/commands/{override-manage.md → override/manage.md} +4 -3
- package/.agent-src/commands/override.md +44 -0
- 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 → roadmap/create.md} +33 -5
- package/.agent-src/commands/{roadmap-execute.md → roadmap/execute.md} +4 -3
- package/.agent-src/commands/roadmap.md +44 -0
- 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 → tests/create.md} +5 -4
- package/.agent-src/commands/{tests-execute.md → tests/execute.md} +4 -3
- package/.agent-src/commands/tests.md +44 -0
- 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/communication/rules-auto/artifact-engagement-recording-mechanics.md +72 -0
- package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +79 -0
- package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +98 -0
- package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +87 -0
- package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +62 -0
- package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +78 -0
- package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +85 -0
- package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +65 -0
- package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +78 -0
- package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +62 -0
- package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +55 -0
- package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +53 -0
- package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +77 -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/contexts/judges/no-consolidate-rationale.md +102 -0
- package/.agent-src/contexts/judges/persona-voice-rubric.md +140 -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 +14 -70
- package/.agent-src/rules/ask-when-uncertain.md +28 -43
- package/.agent-src/rules/augment-portability.md +15 -61
- package/.agent-src/rules/augment-source-of-truth.md +27 -93
- 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/cli-output-handling.md +10 -76
- package/.agent-src/rules/command-suggestion-policy.md +93 -0
- package/.agent-src/rules/commit-conventions.md +17 -14
- 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 +34 -49
- package/.agent-src/rules/docker-commands.md +5 -5
- package/.agent-src/rules/docs-sync.md +16 -70
- 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 +50 -133
- package/.agent-src/rules/minimal-safe-diff.md +3 -3
- package/.agent-src/rules/missing-tool-handling.md +28 -22
- package/.agent-src/rules/model-recommendation.md +4 -4
- package/.agent-src/rules/no-cheap-questions.md +82 -0
- package/.agent-src/rules/no-roadmap-references.md +73 -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/package-ci-checks.md +21 -61
- package/.agent-src/rules/preservation-guard.md +64 -29
- package/.agent-src/rules/review-routing-awareness.md +26 -45
- package/.agent-src/rules/roadmap-progress-sync.md +28 -96
- 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 +9 -9
- package/.agent-src/rules/size-enforcement.md +1 -1
- package/.agent-src/rules/skill-quality.md +16 -48
- package/.agent-src/rules/{slash-commands.md → slash-command-routing-policy.md} +7 -4
- package/.agent-src/rules/think-before-action.md +55 -45
- package/.agent-src/rules/token-efficiency.md +4 -4
- package/.agent-src/rules/tool-safety.md +19 -16
- package/.agent-src/rules/{ui-audit-before-build.md → ui-audit-gate.md} +27 -41
- package/.agent-src/rules/user-interaction.md +16 -71
- 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 +335 -0
- package/.agent-src/skills/api-endpoint/SKILL.md +2 -2
- package/.agent-src/skills/api-testing/SKILL.md +1 -1
- 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/check-refs/SKILL.md +59 -40
- 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 +86 -28
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +7 -7
- package/.agent-src/skills/developer-like-execution/SKILL.md +6 -6
- package/.agent-src/skills/finishing-a-development-branch/SKILL.md +101 -65
- package/.agent-src/skills/flux/SKILL.md +31 -11
- package/.agent-src/skills/git-workflow/SKILL.md +1 -1
- package/.agent-src/skills/github-ci/SKILL.md +2 -2
- package/.agent-src/skills/guideline-writing/SKILL.md +11 -11
- package/.agent-src/skills/judge-code-quality/SKILL.md +7 -8
- package/.agent-src/skills/judge-security-auditor/SKILL.md +4 -5
- package/.agent-src/skills/judge-test-coverage/SKILL.md +3 -4
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
- package/.agent-src/skills/lint-skills/SKILL.md +57 -39
- package/.agent-src/skills/livewire/SKILL.md +1 -1
- package/.agent-src/skills/md-language-check/SKILL.md +61 -39
- package/.agent-src/skills/override-management/SKILL.md +7 -7
- package/.agent-src/skills/php-coder/SKILL.md +1 -1
- package/.agent-src/skills/playwright-testing/SKILL.md +2 -2
- package/.agent-src/skills/quality-tools/SKILL.md +2 -2
- package/.agent-src/skills/react-shadcn-ui/SKILL.md +116 -43
- package/.agent-src/skills/readme-reviewer/SKILL.md +31 -30
- package/.agent-src/skills/readme-writing/SKILL.md +79 -54
- package/.agent-src/skills/readme-writing-package/SKILL.md +51 -48
- package/.agent-src/skills/receiving-code-review/SKILL.md +53 -48
- package/.agent-src/skills/refine-prompt/SKILL.md +0 -1
- package/.agent-src/skills/requesting-code-review/SKILL.md +35 -30
- package/.agent-src/skills/review-routing/SKILL.md +2 -2
- package/.agent-src/skills/rule-writing/SKILL.md +1 -1
- package/.agent-src/skills/security/SKILL.md +7 -2
- package/.agent-src/skills/security-audit/SKILL.md +7 -3
- 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 +69 -61
- package/.agent-src/skills/test-driven-development/SKILL.md +59 -57
- package/.agent-src/skills/test-performance/SKILL.md +0 -1
- package/.agent-src/skills/traefik/SKILL.md +4 -4
- 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 +30 -28
- 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 +31 -12
- package/AGENTS.md +11 -9
- package/CHANGELOG.md +213 -2
- package/README.md +43 -44
- package/config/agent-settings.template.yml +58 -1
- package/config/gitignore-block.txt +3 -0
- package/docs/architecture.md +5 -7
- package/docs/catalog.md +359 -0
- package/docs/contracts/STABILITY.md +46 -1
- package/docs/contracts/adr-chat-history-split.md +1 -3
- package/docs/contracts/adr-command-suggestion.md +3 -5
- package/docs/contracts/adr-implement-ticket-runtime.md +1 -2
- package/docs/contracts/adr-product-ui-track.md +5 -8
- package/docs/contracts/adr-prompt-driven-execution.md +3 -4
- package/docs/contracts/agent-memory-contract.md +8 -13
- package/docs/contracts/artifact-engagement-flow.md +7 -10
- package/docs/contracts/command-clusters.md +56 -46
- package/docs/contracts/command-suggestion-flow.md +4 -6
- package/docs/contracts/context-paths.md +99 -0
- package/docs/contracts/file-ownership-matrix.json +6722 -0
- package/docs/contracts/file-ownership-matrix.md +134 -0
- package/docs/contracts/implement-ticket-flow.md +8 -11
- package/docs/contracts/linear-ai-rules-inclusion.md +1 -2
- package/docs/contracts/linear-ai-three-layers.md +0 -2
- package/docs/contracts/load-context-budget-model.md +178 -0
- package/docs/contracts/load-context-schema.md +184 -0
- package/docs/contracts/rule-interactions.md +0 -1
- package/docs/contracts/rule-interactions.yml +96 -0
- package/docs/contracts/rule-priority-hierarchy.md +87 -0
- package/docs/contracts/ui-track-flow.md +8 -18
- package/docs/customization.md +16 -0
- package/docs/end-to-end-walkthroughs.md +165 -0
- package/docs/getting-started.md +29 -10
- package/docs/github-topics.md +12 -3
- package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +100 -0
- 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/_one_off_phase4_dispatch_latency.py +108 -0
- package/scripts/_one_off_phase6_trigger_jaccard.py +92 -0
- package/scripts/_phase2_shim_helper.py +109 -0
- package/scripts/agent-config +33 -0
- package/scripts/ai_council/__init__.py +39 -0
- package/scripts/ai_council/_default_prices.py +41 -0
- package/scripts/ai_council/_one_off_2a4_acceptance.py +208 -0
- package/scripts/ai_council/_one_off_context_layer_v1_estimate.py +67 -0
- package/scripts/ai_council/_one_off_context_layer_v1_review.py +292 -0
- package/scripts/ai_council/_one_off_followups_review.py +259 -0
- package/scripts/ai_council/_one_off_nondestructive_inline_audit.py +209 -0
- package/scripts/ai_council/_one_off_phase_2a_budget_rebalance.py +257 -0
- package/scripts/ai_council/_one_off_phase_2a_post_revert.py +197 -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/_one_off_rule_hardening_v1.py +251 -0
- package/scripts/ai_council/_one_off_structural_open_questions.py +232 -0
- package/scripts/ai_council/_one_off_structural_optimization.py +144 -0
- package/scripts/ai_council/_one_off_structural_v3_gaps.py +252 -0
- package/scripts/ai_council/_one_off_structural_v3_review.py +240 -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 +444 -0
- package/scripts/check_augmentignore.py +69 -0
- package/scripts/check_cluster_patterns.py +159 -0
- package/scripts/check_command_count_messaging.py +127 -0
- package/scripts/check_context_paths.py +201 -0
- package/scripts/check_no_roadmap_refs.py +155 -0
- package/scripts/check_phase_coupling.py +148 -0
- package/scripts/check_portability.py +57 -0
- package/scripts/check_public_catalog_links.py +122 -0
- package/scripts/check_references.py +33 -3
- package/scripts/check_roadmap_trackable.py +111 -0
- package/scripts/check_safety_floor_untouched.py +125 -0
- package/scripts/command_suggester/cooldown.py +1 -1
- package/scripts/command_suggester/loader.py +4 -1
- package/scripts/compress.py +59 -13
- package/scripts/generate_index.py +270 -0
- package/scripts/generate_ownership_matrix.py +323 -0
- package/scripts/hooks/augment-roadmap-progress.sh +57 -0
- package/scripts/install.py +49 -28
- 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/lint_no_new_atomic_commands.py +12 -11
- package/scripts/requirements-evals.txt +1 -0
- package/scripts/roadmap_progress_hook.py +159 -0
- package/scripts/schemas/command.schema.json +22 -1
- package/scripts/schemas/rule.schema.json +10 -0
- package/scripts/skill_linter.py +13 -4
- package/scripts/sync_agent_settings.py +26 -3
- package/scripts/update_counts.py +16 -4
- package/scripts/update_prices.py +124 -0
- package/.agent-src/guidelines/php/git.md +0 -96
- package/.agent-src/rules/command-suggestion.md +0 -134
- /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
|
@@ -2,19 +2,22 @@
|
|
|
2
2
|
type: "auto"
|
|
3
3
|
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"
|
|
4
4
|
source: package
|
|
5
|
+
load_context:
|
|
6
|
+
- .agent-src.uncompressed/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md
|
|
5
7
|
---
|
|
6
8
|
|
|
7
9
|
# Source of Truth
|
|
8
10
|
|
|
9
|
-
`.agent-src.uncompressed/` is the **single source of truth**.
|
|
10
|
-
ships as `.agent-src/`. In the package repo, `.augment/` is a local
|
|
11
|
-
of `.agent-src/` for Augment Code (rules copied, rest symlinked).
|
|
12
|
-
projects still see `.augment/` as the installed runtime tree.
|
|
11
|
+
`.agent-src.uncompressed/` is the **single source of truth**. The compressed
|
|
12
|
+
output ships as `.agent-src/`. In the package repo, `.augment/` is a local
|
|
13
|
+
projection of `.agent-src/` for Augment Code (rules copied, rest symlinked).
|
|
14
|
+
Consumer projects still see `.augment/` as the installed runtime tree.
|
|
13
15
|
|
|
14
|
-
Never edit any generated
|
|
16
|
+
Never edit any of these generated layers directly:
|
|
15
17
|
|
|
16
18
|
- `.agent-src/` — compressed output shipped in the package
|
|
17
|
-
- `.augment/` — local projection (gitignored in package; installer
|
|
19
|
+
- `.augment/` — local projection (gitignored in the package repo; installer
|
|
20
|
+
output in consumer projects)
|
|
18
21
|
- `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules` — tool projections
|
|
19
22
|
|
|
20
23
|
## The Iron Rule
|
|
@@ -24,73 +27,20 @@ NEVER create or edit files in .agent-src/ or .augment/ directly — not even "ju
|
|
|
24
27
|
ALWAYS work in .agent-src.uncompressed/ — then compress via /compress command.
|
|
25
28
|
```
|
|
26
29
|
|
|
27
|
-
**ZERO exceptions.** Even if
|
|
28
|
-
Edit `.agent-src.uncompressed/` first. Always.
|
|
30
|
+
**There are ZERO exceptions to this rule.** Even if:
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
- You "know" the compressed content is correct
|
|
33
|
+
- It's "just adding a missing section"
|
|
34
|
+
- It's "faster to edit the compressed file directly"
|
|
35
|
+
- The fix is "trivially obvious"
|
|
31
36
|
|
|
32
|
-
**
|
|
37
|
+
**STOP. Edit `.agent-src.uncompressed/` first. Always.**
|
|
33
38
|
|
|
34
|
-
|
|
39
|
+
Direct edits to `.agent-src/` break compression hashes, cause CI failures
|
|
40
|
+
("Verify compression hashes" step), and create drift between source and output.
|
|
35
41
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
3. **Before commit/push:** Check if compression is needed (`bash scripts/compress.sh --changed`).
|
|
39
|
-
If files need compression, ask the user:
|
|
40
|
-
```
|
|
41
|
-
> 📦 {N} .agent-src files need compression before commit.
|
|
42
|
-
>
|
|
43
|
-
> 1. Compress now — run /compress
|
|
44
|
-
> 2. Later — commit without compression
|
|
45
|
-
```
|
|
46
|
-
4. If compressing: run `/compress` command, then `bash scripts/compress.sh --mark-done {path}`
|
|
47
|
-
|
|
48
|
-
For new non-.md files (`.php`, configs): `bash scripts/compress.sh --sync` copies them automatically.
|
|
49
|
-
|
|
50
|
-
**Key change:** Compression happens once before commit/push — not after every edit.
|
|
51
|
-
This avoids interruptions when work is still in progress.
|
|
52
|
-
|
|
53
|
-
## What "compress" means
|
|
54
|
-
|
|
55
|
-
- Remove articles (a, an, the), filler, hedging, connective fluff
|
|
56
|
-
- Shorten phrases: "in order to" → "to", "make sure to" → "ensure"
|
|
57
|
-
- Fragments OK: "Run tests before commit" not "You should always run tests before committing"
|
|
58
|
-
- Merge redundant bullets
|
|
59
|
-
|
|
60
|
-
## What NEVER changes during compression
|
|
61
|
-
|
|
62
|
-
- Code blocks, inline code, URLs, file paths, commands
|
|
63
|
-
- Headings (exact text preserved)
|
|
64
|
-
- Tables (structure preserved, compress cell text only)
|
|
65
|
-
- YAML frontmatter
|
|
66
|
-
- Technical terms, library names, API names
|
|
67
|
-
- Strong language: "NEVER", "MUST", "Do NOT" — these are load-bearing
|
|
68
|
-
|
|
69
|
-
## Commands workflow
|
|
70
|
-
|
|
71
|
-
Commands live in `.agent-src.uncompressed/commands/{name}.md` (single source of truth).
|
|
72
|
-
Claude Code reads them via symlinks in `.claude/skills/{name}/SKILL.md`.
|
|
73
|
-
|
|
74
|
-
**Required frontmatter for commands:**
|
|
75
|
-
|
|
76
|
-
```yaml
|
|
77
|
-
name: {command-name}
|
|
78
|
-
description: {what it does}
|
|
79
|
-
disable-model-invocation: true
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
- `name` and `disable-model-invocation: true` are required for Claude Code compatibility
|
|
83
|
-
- Augment ignores unknown frontmatter fields — no conflict
|
|
84
|
-
- Template: `.agent-src.uncompressed/templates/command.md`
|
|
85
|
-
|
|
86
|
-
**Creating a new command:**
|
|
87
|
-
|
|
88
|
-
1. Create `.agent-src.uncompressed/commands/{name}.md` (use template)
|
|
89
|
-
2. Run `python3 scripts/skill_linter.py` — must be 0 FAIL
|
|
90
|
-
3. Compress via `/compress`, which writes to `.agent-src/commands/`
|
|
91
|
-
4. Run `python3 scripts/compress.py --generate-tools` — creates Claude symlink automatically
|
|
92
|
-
|
|
93
|
-
**Never** create `.claude/skills/{name}/SKILL.md` manually for commands — always use the symlink workflow.
|
|
42
|
+
**Compression is ONLY done via the `/compress` command.** The command handles
|
|
43
|
+
hashing, sync verification, and quality checks automatically.
|
|
94
44
|
|
|
95
45
|
## Pre-review consistency checkpoints
|
|
96
46
|
|
|
@@ -101,28 +51,12 @@ Before asking for review or creating a PR, verify derived outputs are not stale:
|
|
|
101
51
|
3. Before merge: verify derived outputs (`.agent-src/`, `.augment/`, `.claude/skills/`) are regenerated
|
|
102
52
|
4. Do NOT leave `.agent-src/` stale across review cycles
|
|
103
53
|
|
|
104
|
-
##
|
|
105
|
-
|
|
106
|
-
`.claude/skills/` contains symlinks to **both** `.agent-src/skills/` and `.agent-src/commands/`.
|
|
107
|
-
Claude Code treats both as "skills" — but they are different artifact types in our taxonomy.
|
|
108
|
-
|
|
109
|
-
| `.claude/skills/{name}/SKILL.md` points to... | Actual type |
|
|
110
|
-
|---|---|
|
|
111
|
-
| `.agent-src/skills/{name}/SKILL.md` | **Skill** (workflow) |
|
|
112
|
-
| `.agent-src/commands/{name}.md` | **Command** (slash-invoked procedure) |
|
|
113
|
-
|
|
114
|
-
Always check the symlink target to determine the actual artifact type.
|
|
115
|
-
Commands have `disable-model-invocation: true` in their frontmatter.
|
|
116
|
-
|
|
117
|
-
## Quick reference
|
|
54
|
+
## Mechanics — workflow, compression rules, commands, symlinks, quick reference
|
|
118
55
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
| Check what needs compression | `bash scripts/compress.sh --changed` |
|
|
127
|
-
| Mark file as compressed | `bash scripts/compress.sh --mark-done {path}` |
|
|
128
|
-
| Verify everything is in sync | `bash scripts/compress.sh --check` |
|
|
56
|
+
The authoring workflow, what compression does (and never touches), the
|
|
57
|
+
commands workflow with required frontmatter, the multi-agent symlink
|
|
58
|
+
mapping, and the per-task quick-reference table live in
|
|
59
|
+
[`contexts/communication/rules-auto/augment-source-of-truth-mechanics.md`](../contexts/communication/rules-auto/augment-source-of-truth-mechanics.md).
|
|
60
|
+
Pull it whenever an edit, new file, new command, or sync question
|
|
61
|
+
fires — the rule above is the obligation surface; the mechanics file
|
|
62
|
+
is the lookup material.
|
|
@@ -1,158 +1,122 @@
|
|
|
1
1
|
---
|
|
2
|
-
type: "
|
|
3
|
-
description: "
|
|
4
|
-
alwaysApply:
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "Deciding whether to ask the user or just act on a workflow step — trivial-vs-blocking classification, autonomy opt-in detection, commit default; defers to non-destructive-by-default for the Hard Floor"
|
|
4
|
+
alwaysApply: false
|
|
5
5
|
source: package
|
|
6
|
+
load_context:
|
|
7
|
+
- .agent-src.uncompressed/contexts/execution/autonomy-detection.md
|
|
8
|
+
- .agent-src.uncompressed/contexts/execution/autonomy-mechanics.md
|
|
9
|
+
- .agent-src.uncompressed/contexts/execution/autonomy-examples.md
|
|
6
10
|
---
|
|
7
11
|
|
|
8
12
|
# Autonomous Execution
|
|
9
13
|
|
|
10
14
|
User's time is the scarce resource. Trivial workflow questions are
|
|
11
|
-
noise.
|
|
12
|
-
**hard floor** (always ask, no override), and the **commit
|
|
13
|
-
(never commit, never ask — review-first by design).
|
|
15
|
+
noise. This rule defines **trivial** (just act), **blocking** (still
|
|
16
|
+
ask), the **hard floor** (always ask, no override), and the **commit
|
|
17
|
+
default** (never commit, never ask — review-first by design).
|
|
14
18
|
|
|
15
19
|
## Hard Floor — see [`non-destructive-by-default`](non-destructive-by-default.md)
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
The universal safety floor (production-branch merges, deploys, pushes,
|
|
18
22
|
prod data/infra, whimsical bulk deletions, and commits containing
|
|
19
23
|
bulk deletions or infra changes) is governed by the canonical
|
|
20
24
|
[`non-destructive-by-default`](non-destructive-by-default.md) rule.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
trigger from that rule fires, stop and ask — every section below
|
|
26
|
-
assumes the floor has cleared.
|
|
25
|
+
It applies regardless of `personal.autonomy`, a standing autonomy
|
|
26
|
+
directive, or any roadmap authorization. Nothing in **this** rule
|
|
27
|
+
lifts it. If a trigger fires, stop and ask — every other section
|
|
28
|
+
below assumes the floor has already been cleared.
|
|
27
29
|
|
|
28
30
|
## Setting — `personal.autonomy`
|
|
29
31
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
and cache. Missing key → treat as `on`.
|
|
32
|
+
Three values: `on` (suppress trivial questions), `off` (ask trivial
|
|
33
|
+
questions too), `auto` (default — same as `off` until the user opts
|
|
34
|
+
in via a standing autonomy directive). Read once on the first turn
|
|
35
|
+
(per [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules))
|
|
36
|
+
and cache. Missing key → treat as `on`. Full table, semantics, and
|
|
37
|
+
cloud behavior:
|
|
38
|
+
[`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md).
|
|
38
39
|
|
|
39
40
|
## Opt-in detection — match by intent, not exact string
|
|
40
41
|
|
|
41
|
-
In `auto
|
|
42
|
-
**"stop asking on trivial steps, just work"**.
|
|
43
|
-
not the literal substring
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
- EN: "work autonomously" · "don't ask" · "just do it"
|
|
49
|
-
|
|
50
|
-
Litmus test: standing permission to skip trivial questions? → flip.
|
|
51
|
-
Single-decision delegation ("you decide for this step") → handle that
|
|
52
|
-
step, do **not** flip standing mode.
|
|
53
|
-
|
|
54
|
-
### Speech-act check — meta-instruction, not content
|
|
55
|
-
|
|
56
|
-
Before flipping, verify the phrase is **addressed to the agent as
|
|
57
|
-
guidance about how to work**, not a literal substring inside another
|
|
58
|
-
instruction. Do **not** flip when the phrase is:
|
|
59
|
-
|
|
60
|
-
- **Content / copy** — "Put the slogan 'just do it' on the landing page."
|
|
61
|
-
- **Quote / reference** — "Nike's tagline is 'just do it' — write a blog post."
|
|
62
|
-
- **Subject of a request** — "Write docs about the 'work autonomously' modes."
|
|
63
|
-
- **Code / data** — string literals, fixtures, translations, JSON.
|
|
64
|
-
- **About a third party** — "My colleague works autonomously."
|
|
65
|
-
- **Question / hypothetical** — "Should I set `don't ask` as the default?"
|
|
66
|
-
|
|
67
|
-
Heuristic: strip quotes, code blocks, embedded content. Read what's
|
|
68
|
-
**left**. Still a directive to the agent about its working style →
|
|
69
|
-
flip. Otherwise → don't.
|
|
70
|
-
|
|
71
|
-
Opt-out (reversed intent) flips back to `off`:
|
|
42
|
+
In `auto` mode, flip to `on` for the rest of the conversation when
|
|
43
|
+
the user expresses **"stop asking on trivial steps, just work"**.
|
|
44
|
+
Recognize **intent**, not the literal substring. Opt-out (same intent,
|
|
45
|
+
reversed) flips back to `off`. Both directions are
|
|
46
|
+
**speech-act-checked**: the phrase must be a meta-instruction to the
|
|
47
|
+
agent, not content / quote / subject / code / third-party reference /
|
|
48
|
+
hypothetical. In doubt → keep current mode, no speculative flips.
|
|
72
49
|
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
Counter-examples — do **not** flip on meta-questions, self-descriptions,
|
|
79
|
-
or one-shot delegations: "why don't you ask that yourself?", "I'm
|
|
80
|
-
working autonomously right now", "can you decide that yourself?".
|
|
81
|
-
|
|
82
|
-
In doubt → keep current mode, no speculative flips.
|
|
50
|
+
Algorithm and speech-act heuristic:
|
|
51
|
+
[`contexts/execution/autonomy-detection.md`](../contexts/execution/autonomy-detection.md).
|
|
52
|
+
Anchor phrases (DE+EN), no-flip patterns, counter-examples:
|
|
53
|
+
[`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
|
|
83
54
|
|
|
84
55
|
## Trivial — JUST ACT, do not ask
|
|
85
56
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
-
- "How should I split the commits?" — never asked; either `/commit-in-chunks` was invoked (split + commit) or it wasn't (don't commit).
|
|
91
|
-
- "Run linter / tests now or later?" — `verify-before-complete` decides; act.
|
|
92
|
-
- "Found 3 follow-ups — fix all or stop?" — if within scope and minimal-safe-diff allows, fix; if scope expands, stop and surface as list.
|
|
93
|
-
- "Filename `X.md` or `Y.md`?" when one matches convention — pick convention-matching one.
|
|
94
|
-
- "Verification table or paragraph?" — pick whichever fits; format isn't a decision worth a turn.
|
|
95
|
-
- "Show me a diff before regenerating output from a tracked source?"
|
|
96
|
-
— compression, code-gen, formatter passes, lock-file rebuilds — run
|
|
97
|
-
it and report the result. Reversibility comes from the source, not
|
|
98
|
-
from per-file confirmation. See [`non-destructive-by-default`](non-destructive-by-default.md#not-in-scope--deterministic-regeneration)
|
|
99
|
-
§ Not in scope.
|
|
100
|
-
|
|
101
|
-
`personal.autonomy: off`: ask these. `on` or `auto`-after-opt-in: act.
|
|
57
|
+
In `personal.autonomy: on` or `auto`-after-opt-in, do not ask
|
|
58
|
+
trivial workflow questions — pick the obvious next step and proceed.
|
|
59
|
+
In `personal.autonomy: off`, ask them. Worked cases:
|
|
60
|
+
[`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
|
|
102
61
|
|
|
103
62
|
## Blocking — STILL ASK regardless of `personal.autonomy`
|
|
104
63
|
|
|
105
|
-
Beyond the Hard Floor, the autonomy setting also never
|
|
64
|
+
Beyond the Hard Floor above, the autonomy setting also never
|
|
65
|
+
overrides:
|
|
106
66
|
|
|
107
|
-
- **Vague-request triggers** in [`ask-when-uncertain`](ask-when-uncertain.md)
|
|
108
|
-
|
|
67
|
+
- **Vague-request triggers** in [`ask-when-uncertain`](ask-when-uncertain.md)
|
|
68
|
+
— ambiguous requirements stay ambiguous; pick-one-and-pray is wrong.
|
|
69
|
+
- **Architectural / structural choices** that the codebase doesn't
|
|
70
|
+
already settle (multi-stack picks, library introductions).
|
|
109
71
|
- **Security-sensitive paths** — see [`security-sensitive-stop`](security-sensitive-stop.md).
|
|
110
|
-
- **Scope expansion** beyond stated task — see [`scope-control`](scope-control.md).
|
|
111
|
-
- **Remote-state
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
72
|
+
- **Scope expansion** beyond the stated task — see [`scope-control`](scope-control.md).
|
|
73
|
+
- **Remote-state operations** — push, merge, rebase, force-push,
|
|
74
|
+
branch create/delete/switch, PR create/close/retarget, tag/release.
|
|
75
|
+
Permission-gated by [`scope-control`](scope-control.md); the
|
|
76
|
+
prod-trunk and deploy-tied subset is governed by
|
|
77
|
+
[`non-destructive-by-default`](non-destructive-by-default.md).
|
|
78
|
+
- **Destructive ops** — see [`non-destructive-by-default`](non-destructive-by-default.md)
|
|
79
|
+
for the full taxonomy (whimsical bulk deletions, content
|
|
80
|
+
destruction, commits containing bulk deletions or infra changes).
|
|
81
|
+
|
|
82
|
+
When in doubt whether something is trivial or blocking → it is
|
|
83
|
+
blocking. Ask.
|
|
115
84
|
|
|
116
85
|
## Commit policy — see [`commit-policy`](commit-policy.md)
|
|
117
86
|
|
|
118
|
-
Committing is governed by [`commit-policy`](commit-policy.md)
|
|
119
|
-
applies regardless of `personal.autonomy`. Summary:
|
|
87
|
+
Committing is governed by the canonical [`commit-policy`](commit-policy.md)
|
|
88
|
+
rule, which applies regardless of `personal.autonomy`. Summary:
|
|
120
89
|
|
|
121
90
|
- NEVER commit unless user said so this turn, a commit command was
|
|
122
91
|
invoked, a standing instruction is active, or the roadmap authorizes it.
|
|
123
|
-
- NEVER ask about committing.
|
|
124
|
-
- In autonomous mode, the **only** permitted commit-related question
|
|
125
|
-
|
|
92
|
+
- NEVER ask about committing. The user invokes a command or says so.
|
|
93
|
+
- In autonomous mode, the **only** permitted commit-related question is
|
|
94
|
+
the one-shot pre-scan ask at the start of roadmap execution.
|
|
126
95
|
|
|
127
|
-
Push, merge, rebase, branch creation, PR
|
|
128
|
-
permission-gated
|
|
96
|
+
Push, merge, rebase, branch creation, PR operations, and tags remain
|
|
97
|
+
permission-gated by [`scope-control`](scope-control.md#git-operations--permission-gated).
|
|
129
98
|
|
|
130
99
|
## Failure modes
|
|
131
100
|
|
|
132
|
-
-
|
|
133
|
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
|
|
138
|
-
For Hard-Floor failure modes (treating autonomy as cover for a
|
|
139
|
-
floor-crossing action, reading a roadmap step as deploy authorization,
|
|
140
|
-
refusing task-aligned WIP deletions, committing bulk-deletion / infra
|
|
141
|
-
diffs without surfacing them) see
|
|
101
|
+
Autonomy-side wrong-behavior patterns (sequencing-only asks, CI-run
|
|
102
|
+
asks, commit asks, no-trade-off option blocks, re-asking after a
|
|
103
|
+
standing opt-in):
|
|
104
|
+
[`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
|
|
105
|
+
For Hard-Floor failure modes see
|
|
142
106
|
[`non-destructive-by-default`](non-destructive-by-default.md#failure-modes).
|
|
143
107
|
|
|
144
|
-
## Cloud Behavior
|
|
145
|
-
|
|
146
|
-
Settings reads degrade gracefully on cloud platforms (no
|
|
147
|
-
`.agent-settings.yml`). Treat as `personal.autonomy: on` — user had to
|
|
148
|
-
deliberately ship a custom skill bundle and is unlikely to want
|
|
149
|
-
trivial-question friction.
|
|
150
|
-
|
|
151
108
|
## See also
|
|
152
109
|
|
|
153
|
-
- [`non-destructive-by-default`](non-destructive-by-default.md) —
|
|
154
|
-
|
|
155
|
-
- [`
|
|
156
|
-
|
|
110
|
+
- [`non-destructive-by-default`](non-destructive-by-default.md) —
|
|
111
|
+
universal safety floor; never overridden by autonomy
|
|
112
|
+
- [`scope-control`](scope-control.md) — git-ops permission gate
|
|
113
|
+
(push/merge/branch/PR/tag stays explicit)
|
|
114
|
+
- [`ask-when-uncertain`](ask-when-uncertain.md) — vague-request
|
|
115
|
+
triggers that always require asking
|
|
116
|
+
- [`no-cheap-questions`](no-cheap-questions.md) — mode-independent
|
|
117
|
+
floor against context-derived, sequencing-only, and
|
|
118
|
+
Iron-Law-violating asks (applies in `off` and pre-opt-in `auto` too)
|
|
119
|
+
- [`direct-answers`](direct-answers.md) — Iron Laws on brevity and
|
|
120
|
+
no-flattery (this rule extends to no-trivial-questions)
|
|
157
121
|
- [`/commit-in-chunks`](../commands/commit-in-chunks.md) — auto-split and commit without confirmation
|
|
158
122
|
- [`/commit`](../commands/commit.md) — split and commit with confirmation
|
|
@@ -82,7 +82,7 @@ Body: 1-paragraph **pattern** (not anecdote) + 1 concrete example.
|
|
|
82
82
|
A learning file is the input to `learning-to-rule-or-skill`, which
|
|
83
83
|
produces a proposal draft under `agents/proposals/`. The proposal is
|
|
84
84
|
then gated by `scripts/check_proposal.py`; see
|
|
85
|
-
[`self-improvement-pipeline`](
|
|
85
|
+
[`self-improvement-pipeline`](../../docs/guidelines/agent-infra/self-improvement-pipeline.md).
|
|
86
86
|
|
|
87
87
|
The `agents/learnings/` and `agents/proposals/` directories are
|
|
88
88
|
consumer-owned — the package ships templates and schemas, never the
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
type: "
|
|
3
|
-
description: "
|
|
4
|
-
alwaysApply:
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "Appending to .agent-chat-history — cadence boundaries (per_turn/per_phase/per_tool), turn-check ownership refusal handling, never writing the file directly; cadence is the trigger, not reply length"
|
|
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: "First turn or reference to .agent-chat-history — detects ownership (match/returning/foreign/missing) and HOOK/ENGINE/CHECKPOINT/MANUAL path classification with numbered-options prompt"
|
|
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: "Emitting the chat-history heartbeat marker — paste subprocess stdout verbatim or nothing, never type from memory, hybrid mode prints on drift only, slip handling per language-and-tone"
|
|
4
|
+
alwaysApply: false
|
|
5
5
|
source: package
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -3,6 +3,8 @@ type: "auto"
|
|
|
3
3
|
alwaysApply: false
|
|
4
4
|
description: "Running CLI commands that produce verbose output — git, tests, linters, docker, build tools, artisan, npm, composer. Wrap with rtk when installed; tail/grep is fallback."
|
|
5
5
|
source: package
|
|
6
|
+
load_context:
|
|
7
|
+
- .agent-src.uncompressed/contexts/communication/rules-auto/cli-output-handling-mechanics.md
|
|
6
8
|
---
|
|
7
9
|
|
|
8
10
|
# Development Efficiency
|
|
@@ -32,83 +34,15 @@ exits 0. Caching the result for the session is fine.
|
|
|
32
34
|
For the full rtk subcommand catalog and project-local filter setup → see
|
|
33
35
|
the `rtk-output-filtering` skill.
|
|
34
36
|
|
|
35
|
-
##
|
|
37
|
+
## Lookup material — see mechanics
|
|
36
38
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
### Search before reading
|
|
45
|
-
|
|
46
|
-
- **Search first** — `codebase-retrieval`, `search_query_regex`, or `grep`.
|
|
47
|
-
- **Load only what you need** — use `view_range` or `search_query_regex`, not full files.
|
|
48
|
-
- **Small files** (< 50 lines) — OK to read fully.
|
|
49
|
-
|
|
50
|
-
### Ignored files (`.augmentignore`)
|
|
51
|
-
|
|
52
|
-
- `vendor/`, `node_modules/`, lock files, and generated files are excluded from `codebase-retrieval`.
|
|
53
|
-
- When you need to understand a vendor package (base class, interface, API), **read the specific file** with `view`. This bypasses the ignore.
|
|
54
|
-
- Load only the file you need — never browse entire vendor directories.
|
|
55
|
-
|
|
56
|
-
### Minimize tool calls
|
|
57
|
-
|
|
58
|
-
- **Parallel reads** — read multiple files in one batch, not sequentially.
|
|
59
|
-
- **`search_query_regex`** over full file reads.
|
|
60
|
-
- **`view_range`** when you know the exact lines.
|
|
61
|
-
- **One `codebase-retrieval` call** with all symbols — batch, not 5 separate calls.
|
|
62
|
-
|
|
63
|
-
## Fallback Pattern: Redirect, Summarize, Target
|
|
64
|
-
|
|
65
|
-
When `rtk` has no matching subcommand for the tool at hand, fall back to
|
|
66
|
-
this pattern. Every command that MAY produce more than ~30 lines of output:
|
|
67
|
-
|
|
68
|
-
### Step 1: Redirect to file
|
|
69
|
-
```bash
|
|
70
|
-
docker compose exec -T <service> <command> 2>&1 > /tmp/<tool>-output.txt
|
|
71
|
-
echo "EXIT=$?"
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Step 2: Read ONLY the summary
|
|
75
|
-
```bash
|
|
76
|
-
tail -5 /tmp/<tool>-output.txt
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Step 3: If errors exist, read ONLY what you need to fix
|
|
80
|
-
```bash
|
|
81
|
-
grep "ERROR\|error\|✏️" /tmp/<tool>-output.txt | head -20
|
|
82
|
-
grep "app/Services/MyService.php" /tmp/<tool>-output.txt
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
**NEVER** do:
|
|
86
|
-
- `cat /tmp/<tool>-output.txt` (loads everything)
|
|
87
|
-
- Read the full output of a passing command (waste)
|
|
88
|
-
- Read diffs you don't plan to act on
|
|
89
|
-
|
|
90
|
-
## General Rules
|
|
91
|
-
|
|
92
|
-
For tool-specific commands → see the `quality-tools` skill.
|
|
93
|
-
|
|
94
|
-
1. **Exit code first**: Check `$?` before reading ANY output. If 0, you're done — skip reading.
|
|
95
|
-
2. **Summary line**: Most tools print a summary as the last few lines. That's all you need.
|
|
96
|
-
3. **Targeted grep**: When you need details, `grep` for the specific file or error type.
|
|
97
|
-
4. **Read once, act, move on**: Once you've read output and acted on it, skip re-reading.
|
|
98
|
-
5. **Iterative fixing**: Fix one error at a time, re-run, check exit code.
|
|
99
|
-
Output becomes stale after each fix — always re-run before reading again.
|
|
100
|
-
|
|
101
|
-
## CLI Over MCP
|
|
102
|
-
|
|
103
|
-
MCP servers are **significantly more token-expensive** than CLI equivalents.
|
|
104
|
-
When both options exist, prefer the CLI tool.
|
|
105
|
-
|
|
106
|
-
- **Git**: `git` CLI, not Git MCP
|
|
107
|
-
- **Files**: shell commands, not filesystem MCP
|
|
108
|
-
- **APIs**: `curl`/`httpie`, not HTTP MCP
|
|
109
|
-
- **Database**: `mysql`/`psql` CLI, not DB MCP
|
|
110
|
-
|
|
111
|
-
Exception: MCPs with **unique capabilities** (Sentry, Playwright, Jira).
|
|
39
|
+
Codebase-navigation tips, the redirect-summarize-target fallback
|
|
40
|
+
pattern (with the three-step `tail`/`grep` recipe), the general rules
|
|
41
|
+
(exit code first, summary line, targeted `grep`, read-once-act-move-on,
|
|
42
|
+
iterative fixing), and the CLI-over-MCP catalog all live in
|
|
43
|
+
[`contexts/communication/rules-auto/cli-output-handling-mechanics.md`](../contexts/communication/rules-auto/cli-output-handling-mechanics.md).
|
|
44
|
+
Pull it whenever a verbose command is about to run without an `rtk`
|
|
45
|
+
match.
|
|
112
46
|
|
|
113
47
|
## Exceptions
|
|
114
48
|
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "User prompt without /command but matching an eligible slash command — surface matches as numbered options with as-is escape hatch; never auto-executes, user always picks"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
source: package
|
|
6
|
+
load_context:
|
|
7
|
+
- .agent-src.uncompressed/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Command Suggestion
|
|
11
|
+
|
|
12
|
+
When the user's prompt matches an eligible slash command, surface it
|
|
13
|
+
as a **numbered option** alongside an "as-is" escape hatch — the
|
|
14
|
+
"run prompt as-is" option is **always last** and **always present**,
|
|
15
|
+
never omitted. The user always picks. **Nothing auto-executes.** The
|
|
16
|
+
suggestion layer is a read-only shortcut *finder*, not an invocation
|
|
17
|
+
path.
|
|
18
|
+
|
|
19
|
+
The deterministic engine lives in `scripts/command_suggester/`. The
|
|
20
|
+
locked eligibility table lives in
|
|
21
|
+
[`agents/contexts/command-suggestion-eligibility.md`](../../agents/contexts/command-suggestion-eligibility.md).
|
|
22
|
+
The scoring contract and hardening list live in
|
|
23
|
+
[`docs/contracts/adr-command-suggestion.md`](../../docs/contracts/adr-command-suggestion.md)
|
|
24
|
+
and
|
|
25
|
+
[`docs/contracts/command-suggestion-flow.md`](../../docs/contracts/command-suggestion-flow.md).
|
|
26
|
+
|
|
27
|
+
## Iron Law — never auto-execute
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
SUGGEST. NEVER INVOKE. THE USER PICKS, ALWAYS.
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
A suggestion block emits options. It does **not** start a command
|
|
34
|
+
flow. The user picking option N triggers `slash-command-routing-policy` on the
|
|
35
|
+
**next** turn — with all the command's own halts intact.
|
|
36
|
+
|
|
37
|
+
## When to fire
|
|
38
|
+
|
|
39
|
+
On a user turn that matches **all** of the following:
|
|
40
|
+
|
|
41
|
+
1. The message does **not** start with an explicit `/command` (those
|
|
42
|
+
bypass suggestion entirely — see `slash-command-routing-policy`).
|
|
43
|
+
2. `commands.suggestion.enabled` is `true` (default).
|
|
44
|
+
3. The user has not issued `/command-suggestion-off` in this conversation.
|
|
45
|
+
4. No clarification is owed for the same turn (per
|
|
46
|
+
`ask-when-uncertain` — clarification wins; suggestion can fire next turn).
|
|
47
|
+
5. No active engine flow is mid-halt (e.g. an `/implement-ticket`
|
|
48
|
+
step waiting on the user — the active flow has the floor).
|
|
49
|
+
6. The matcher returns at least one match above the effective
|
|
50
|
+
`confidence_floor` after rank + cooldown + anti-noise.
|
|
51
|
+
|
|
52
|
+
When all six hold, the suggestion block is the **first and only**
|
|
53
|
+
thing the agent emits that turn. No tools, no edits, no other prose.
|
|
54
|
+
|
|
55
|
+
## Subordination — when to stay silent
|
|
56
|
+
|
|
57
|
+
The suggestion rule is **junior** to:
|
|
58
|
+
|
|
59
|
+
- `scope-control` — never surfaces a git-op command behind a
|
|
60
|
+
permission gate the user already declined this turn.
|
|
61
|
+
- `ask-when-uncertain` — if a clarification is owed, the
|
|
62
|
+
clarification is the only question; suggestion suppresses for
|
|
63
|
+
that turn.
|
|
64
|
+
- `verify-before-complete` — suggestion does not interrupt an
|
|
65
|
+
evidence-gate verification that's already running.
|
|
66
|
+
- Any active role-mode contract (`role-mode-adherence`).
|
|
67
|
+
- Any active engine halt (`/implement-ticket`, `/work`, etc.).
|
|
68
|
+
|
|
69
|
+
On any conflict → suggestion stays silent. Zero output. The user's
|
|
70
|
+
prompt is processed as it would be without this rule.
|
|
71
|
+
|
|
72
|
+
## Cloud Behavior
|
|
73
|
+
|
|
74
|
+
On cloud surfaces (Claude.ai Web, Skills API) the rule is **inert**
|
|
75
|
+
unless the suggester package is shipped in the bundle. Treat
|
|
76
|
+
`commands.suggestion.enabled` as `false` when the engine is not
|
|
77
|
+
available — degrade silently, never crash the turn.
|
|
78
|
+
|
|
79
|
+
## Mechanics — output format, anti-noise, what this rule does NOT do
|
|
80
|
+
|
|
81
|
+
The exact rendered options block, the `Recommendation:` rules, the
|
|
82
|
+
`max_options` cap, the `rank.py` anti-noise filters, and the
|
|
83
|
+
"what this rule does NOT do" catalog live in
|
|
84
|
+
[`contexts/communication/rules-auto/command-suggestion-policy-mechanics.md`](../contexts/communication/rules-auto/command-suggestion-policy-mechanics.md).
|
|
85
|
+
|
|
86
|
+
## Interactions
|
|
87
|
+
|
|
88
|
+
- [`slash-command-routing-policy`](slash-command-routing-policy.md) — explicit `/command` skips suggestion entirely.
|
|
89
|
+
- [`user-interaction`](user-interaction.md) — numbered-options Iron Law and single-source recommendation.
|
|
90
|
+
- [`ask-when-uncertain`](ask-when-uncertain.md) — clarification wins on conflict.
|
|
91
|
+
- [`scope-control`](scope-control.md) — git-op gates outrank suggestion.
|
|
92
|
+
- [`role-mode-adherence`](role-mode-adherence.md) — active mode contract outranks suggestion.
|
|
93
|
+
- [`agents/contexts/command-suggestion-eligibility.md`](../../agents/contexts/command-suggestion-eligibility.md) — locked eligibility table.
|