@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
|
@@ -5,12 +5,11 @@ stability: stable
|
|
|
5
5
|
# ADR — Prompt-Driven Execution: `/work` and the confidence-band gate
|
|
6
6
|
|
|
7
7
|
> **Status:** Decided · R2 Phases 1–6 shipped · 2026-04-28
|
|
8
|
-
> **Context:** [`implement-ticket-flow.md`](implement-ticket-flow.md)
|
|
9
|
-
> [`road-to-prompt-driven-execution.md`](../../agents/roadmaps/archive/road-to-prompt-driven-execution.md)
|
|
8
|
+
> **Context:** [`implement-ticket-flow.md`](implement-ticket-flow.md)
|
|
10
9
|
> **Builds on:** [`adr-work-engine-rename.md`](adr-work-engine-rename.md) —
|
|
11
10
|
> the universal-dispatcher refactor that this entrypoint slots into.
|
|
12
|
-
> **Defers to:**
|
|
13
|
-
> mixed-intent prompts; this ADR is backend-only.
|
|
11
|
+
> **Defers to:** [`adr-product-ui-track.md`](adr-product-ui-track.md) for
|
|
12
|
+
> UI- and mixed-intent prompts; this ADR is backend-only.
|
|
14
13
|
|
|
15
14
|
## Decision
|
|
16
15
|
|
|
@@ -20,16 +20,16 @@ Last refreshed: 2026-04-22.
|
|
|
20
20
|
|
|
21
21
|
## What this doc is *not*
|
|
22
22
|
|
|
23
|
-
- Not a replacement for
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
- Not a replacement for the agent-memory retrieval-contract spec —
|
|
24
|
+
that lives in the agent-memory package and is the spec we hand to
|
|
25
|
+
the implementer.
|
|
26
26
|
- Not a commitment that consumer code looks exactly like this forever
|
|
27
27
|
— it is a point-in-time pin.
|
|
28
28
|
- Not an agent-facing skill. Humans read this when the package lands.
|
|
29
29
|
|
|
30
30
|
## Expected backend states
|
|
31
31
|
|
|
32
|
-
Defined in [`memory-access.md`](
|
|
32
|
+
Defined in [`memory-access.md`](../../docs/guidelines/agent-infra/memory-access.md)
|
|
33
33
|
and `scripts/memory_status.py`:
|
|
34
34
|
|
|
35
35
|
| Status | Meaning | Agent-config behaviour |
|
|
@@ -64,9 +64,9 @@ If the released package diverges from these names, we update
|
|
|
64
64
|
|
|
65
65
|
## Expected retrieval shape (present path)
|
|
66
66
|
|
|
67
|
-
Source of truth:
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
Source of truth: the retrieval-contract spec in the agent-memory
|
|
68
|
+
package. Consumer skills call the shared abstraction, not the package
|
|
69
|
+
directly.
|
|
70
70
|
|
|
71
71
|
**Request** (Python):
|
|
72
72
|
|
|
@@ -139,11 +139,6 @@ holds:
|
|
|
139
139
|
|
|
140
140
|
## See also
|
|
141
141
|
|
|
142
|
-
- [`
|
|
143
|
-
- [`road-to-agent-memory-integration.md`](../../agents/roadmaps/road-to-agent-memory-integration.md)
|
|
144
|
-
- [`agent-memory/road-to-retrieval-contract.md`](../../agents/roadmaps/agent-memory/road-to-retrieval-contract.md)
|
|
145
|
-
- [`agent-memory/road-to-promotion-flow.md`](../../agents/roadmaps/agent-memory/road-to-promotion-flow.md)
|
|
146
|
-
- [`memory-access guideline`](../../.agent-src.uncompressed/guidelines/agent-infra/memory-access.md)
|
|
142
|
+
- [`memory-access guideline`](../../docs/guidelines/agent-infra/memory-access.md)
|
|
147
143
|
- [`scripts/memory_status.py`](../../.agent-src.uncompressed/templates/scripts/memory_status.py)
|
|
148
144
|
- [`scripts/memory_lookup.py`](../../.agent-src.uncompressed/templates/scripts/memory_lookup.py)
|
|
149
|
-
- [`open-questions-2.md`](../../agents/roadmaps/archive/open-questions-2.md) — Q29
|
|
@@ -4,15 +4,13 @@ stability: beta
|
|
|
4
4
|
|
|
5
5
|
# Artifact Engagement — Flow & Recording Contract
|
|
6
6
|
|
|
7
|
-
> Cross-cutting reference for the artifact-engagement telemetry system
|
|
8
|
-
>
|
|
9
|
-
>
|
|
10
|
-
> Phase 1 + 2 ship the schema, CLI, and engine. Phase 3 ships the
|
|
11
|
-
> agent-side hooks (this document).
|
|
7
|
+
> Cross-cutting reference for the artifact-engagement telemetry system.
|
|
8
|
+
> The schema, CLI, and engine ship first; the agent-side hooks (this
|
|
9
|
+
> document) ship after.
|
|
12
10
|
>
|
|
13
11
|
> - **Created:** 2026-04-30
|
|
14
|
-
> - **Status:**
|
|
15
|
-
>
|
|
12
|
+
> - **Status:** schema, engine, recording, aggregator, renderer, and
|
|
13
|
+
> redaction validator are in place. Dogfooding next.
|
|
16
14
|
|
|
17
15
|
This document is the stable reference for **what gets recorded, when, and
|
|
18
16
|
under which constraints**. The roadmap tracks phased delivery; the rule
|
|
@@ -118,7 +116,7 @@ The id namespaces are stable and bounded:
|
|
|
118
116
|
| `skills` | `.agent-src/skills/<id>/SKILL.md` | `php-coder`, `eloquent` |
|
|
119
117
|
| `rules` | `.agent-src/rules/<id>.md` | `scope-control`, `language-and-tone` |
|
|
120
118
|
| `commands` | `.agent-src/commands/<id>.md` | `commit`, `create-pr` |
|
|
121
|
-
| `guidelines` |
|
|
119
|
+
| `guidelines` | `docs/guidelines/<path>/<id>.md` | `agent-interaction-and-decision-quality` |
|
|
122
120
|
| `personas` | `.agent-src/personas/<id>.md` | `qa`, `senior-engineer` |
|
|
123
121
|
|
|
124
122
|
`task_id` is the ticket key (`PROJ-123`) for `/implement-ticket` or a
|
|
@@ -255,8 +253,7 @@ layers reject.
|
|
|
255
253
|
|
|
256
254
|
## See also
|
|
257
255
|
|
|
258
|
-
- [`road-to-artifact-engagement-telemetry`](../../agents/roadmaps/road-to-artifact-engagement-telemetry.md) — phased delivery
|
|
259
256
|
- [`artifact-engagement-recording`](../../.agent-src.uncompressed/rules/artifact-engagement-recording.md) — agent-side trigger
|
|
260
257
|
- [`implement-ticket-flow`](implement-ticket-flow.md) — the eight-step contract this rule observes
|
|
261
258
|
- [`scripts/telemetry/`](../../.agent-src.uncompressed/templates/scripts/telemetry/) — schema, boundary session, settings reader
|
|
262
|
-
- [`tests/telemetry/`](../../tests/telemetry/) — contract enforcement (
|
|
259
|
+
- [`tests/telemetry/`](../../tests/telemetry/) — contract enforcement (schema, settings, aggregator, renderer, CLI, cost-floor, redaction)
|
|
@@ -4,10 +4,9 @@ stability: beta
|
|
|
4
4
|
|
|
5
5
|
# Command-cluster contract
|
|
6
6
|
|
|
7
|
-
> **Status:** beta — locked for `1.15.0`
|
|
8
|
-
> Phase 2 (remaining 12 clusters)
|
|
9
|
-
>
|
|
10
|
-
> § F2.
|
|
7
|
+
> **Status:** beta — Phase 1 locked for `1.15.0` (top-3 clusters);
|
|
8
|
+
> Phase 2 locked for `1.17.0` (the remaining 12 clusters);
|
|
9
|
+
> Phase 3 locked for `1.17.0` (`council` cluster).
|
|
11
10
|
|
|
12
11
|
The agent-config command surface collapses related atomic commands
|
|
13
12
|
into **verb clusters**. A cluster is a single top-level command
|
|
@@ -21,35 +20,36 @@ linter (`scripts/lint_no_new_atomic_commands.py`) reads this file;
|
|
|
21
20
|
new atomic commands without a `cluster:` field pointing to an
|
|
22
21
|
entry below fail CI.
|
|
23
22
|
|
|
24
|
-
##
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
23
|
+
## Locked clusters
|
|
24
|
+
|
|
25
|
+
The full set, both phases. Linter parses every backticked name in
|
|
26
|
+
column 1 of this table.
|
|
27
|
+
|
|
28
|
+
| Cluster | Phase | Sub-commands | Replaces |
|
|
29
|
+
|---|:-:|---|---|
|
|
30
|
+
| `fix` | 1 | `ci` · `pr` · `pr-bots` · `pr-developers` · `portability` · `refs` · `seeder` | `fix-ci` · `fix-pr-comments` · `fix-pr-bot-comments` · `fix-pr-developer-comments` · `fix-portability` · `fix-references` · `fix-seeder` |
|
|
31
|
+
| `optimize` | 1 | `agents` · `augmentignore` · `rtk` · `skills` | `optimize-agents` · `optimize-augmentignore` · `optimize-rtk-filters` · `optimize-skills` |
|
|
32
|
+
| `feature` | 1 | `explore` · `plan` · `refactor` · `roadmap` · `dev` | `feature-explore` · `feature-plan` · `feature-refactor` · `feature-roadmap` · `feature-dev` |
|
|
33
|
+
| `chat-history` | 2 | `show` · `resume` · `clear` · `checkpoint` | `chat-history` (legacy status) · `chat-history-resume` · `chat-history-clear` · `chat-history-checkpoint` |
|
|
34
|
+
| `agents` | 2 | `audit` · `cleanup` · `prepare` | `agents-audit` · `agents-cleanup` · `agents-prepare` |
|
|
35
|
+
| `memory` | 2 | `add` · `load` · `promote` · `propose` | `memory-add` · `memory-full` · `memory-promote` · `propose-memory` |
|
|
36
|
+
| `roadmap` | 2 | `create` · `execute` | `roadmap-create` · `roadmap-execute` |
|
|
37
|
+
| `module` | 2 | `create` · `explore` | `module-create` · `module-explore` |
|
|
38
|
+
| `tests` | 2 | `create` · `execute` | `tests-create` · `tests-execute` |
|
|
39
|
+
| `context` | 2 | `create` · `refactor` | `context-create` · `context-refactor` |
|
|
40
|
+
| `override` | 2 | `create` · `manage` | `override-create` · `override-manage` |
|
|
41
|
+
| `copilot-agents` | 2 | `init` · `optimize` | `copilot-agents-init` · `copilot-agents-optimize` |
|
|
42
|
+
| `judge` | 2 | `solo` · `on-diff` · `steps` | `judge` (legacy standalone) · `do-and-judge` · `do-in-steps` |
|
|
43
|
+
| `commit` | 2 | `in-chunks` | `commit-in-chunks` |
|
|
44
|
+
| `create-pr` | 2 | `description-only` | `create-pr-description` |
|
|
45
|
+
| `council` | 3 | `default` · `pr` · `design` · `optimize` | `council` (legacy default lens) · `council-pr` · `council-design` · `council-optimize` |
|
|
46
|
+
|
|
47
|
+
**Net change:** Phase 1 collapsed 15 atomics → 3 clusters; Phase 2
|
|
48
|
+
collapses 26 atomics → 11 sub-command clusters. Sub-commands use
|
|
49
|
+
colon syntax (`/cluster:sub`) so Claude Code's command palette can
|
|
50
|
+
autocomplete them. The standalone `/review` surface that mirrors
|
|
51
|
+
`judge solo` lives at
|
|
52
|
+
[`commands/review-changes.md`](../../.agent-src.uncompressed/commands/review-changes.md).
|
|
53
53
|
|
|
54
54
|
## Frontmatter contract
|
|
55
55
|
|
|
@@ -70,7 +70,7 @@ The linter only flags **newly-added** files under `commands/`
|
|
|
70
70
|
(git status `A`). Pre-existing commands without `cluster:` are
|
|
71
71
|
grandfathered indefinitely; modifying them does NOT require adding
|
|
72
72
|
the field. The goal is to stop the atomic surface from growing,
|
|
73
|
-
not to retro-fit every legacy command into a
|
|
73
|
+
not to retro-fit every legacy command into a cluster.
|
|
74
74
|
|
|
75
75
|
## Deprecation shim contract
|
|
76
76
|
|
|
@@ -92,22 +92,24 @@ file with `superseded_by:` set.
|
|
|
92
92
|
|
|
93
93
|
## Removal cycle
|
|
94
94
|
|
|
95
|
-
| State |
|
|
96
|
-
|
|
97
|
-
| Cluster command shipped, shim active | `1.15.0` |
|
|
98
|
-
| Shim emits warning, both work | `1.15.x` (one minor cycle) |
|
|
99
|
-
| Shim removed, only cluster works | `1.
|
|
95
|
+
| State | Phase 1 | Phase 2 |
|
|
96
|
+
|---|---|---|
|
|
97
|
+
| Cluster command shipped, shim active | `1.15.0` | `1.17.0` |
|
|
98
|
+
| Shim emits warning, both work | `1.15.x` / `1.16.x` (≥ one minor cycle) | `1.17.x` (one minor cycle) |
|
|
99
|
+
| Shim removed, only cluster works | `1.17.0` (Phase 1 atomics removed alongside Phase 2 lock-in) | next minor after `1.17.x` |
|
|
100
100
|
|
|
101
|
-
No permanent aliases. Consumers who pin a 1.
|
|
102
|
-
release window of warnings; the
|
|
103
|
-
removal explicitly.
|
|
101
|
+
No permanent aliases. Consumers who pin a 1.17 minor get a full
|
|
102
|
+
release window of warnings; the next-minor release notes call out
|
|
103
|
+
the removal explicitly. The 1.17.0 release ships Phase 2 cluster
|
|
104
|
+
locks **and** drops the seven Phase 1 atomic shims at the end of
|
|
105
|
+
their deprecation cycle.
|
|
104
106
|
|
|
105
107
|
## Linter behavior
|
|
106
108
|
|
|
107
109
|
`scripts/lint_no_new_atomic_commands.py`:
|
|
108
110
|
|
|
109
111
|
- Reads the locked cluster names from this file (parsed from the
|
|
110
|
-
|
|
112
|
+
"Locked clusters" table above — column 1 backticks).
|
|
111
113
|
- Finds every command file **added** since `--baseline`
|
|
112
114
|
(default: `main`) — modifications to existing files are ignored.
|
|
113
115
|
- For each new file, requires `cluster:` to be set to one of the
|
|
@@ -116,11 +118,19 @@ removal explicitly.
|
|
|
116
118
|
|
|
117
119
|
`--all` mode (manual audit only, not in CI) lints every command
|
|
118
120
|
file and surfaces grandfathered ones — useful when planning a
|
|
119
|
-
|
|
121
|
+
future cluster expansion.
|
|
122
|
+
|
|
123
|
+
`scripts/check_cluster_patterns.py` (Phase 2 onward):
|
|
124
|
+
|
|
125
|
+
- Compares each cluster dispatcher's structure against the Phase 1
|
|
126
|
+
reference patterns (`commands/fix.md`, `commands/optimize.md`,
|
|
127
|
+
`commands/feature.md`).
|
|
128
|
+
- Required sections: top-of-file `# /<cluster>`, `## Sub-commands`
|
|
129
|
+
table with `Sub-command | Routes to | Purpose` columns, `## Dispatch`
|
|
130
|
+
steps, `## Migration` notice, `## Rules` block.
|
|
131
|
+
- Fails CI if a new cluster invents a different dispatch shape.
|
|
120
132
|
|
|
121
133
|
## See also
|
|
122
134
|
|
|
123
|
-
- [`agents/roadmaps/road-to-governance-cleanup.md`](../../agents/roadmaps/road-to-governance-cleanup.md) — F2 phased-collapse decision.
|
|
124
|
-
- [`agents/roadmaps/road-to-post-pr29-optimize.md`](../../agents/roadmaps/road-to-post-pr29-optimize.md) — P0.8 anchors this contract in 1.15.0.
|
|
125
135
|
- [`docs/migrations/commands-1.15.0.md`](../migrations/commands-1.15.0.md) — user-facing migration notes.
|
|
126
136
|
- [`docs/contracts/STABILITY.md`](STABILITY.md) — `beta` level rules apply.
|
|
@@ -4,9 +4,8 @@ stability: beta
|
|
|
4
4
|
|
|
5
5
|
# Command Suggestion — Flow & Scoring Contract
|
|
6
6
|
|
|
7
|
-
> Cross-cutting reference for the suggestion layer
|
|
8
|
-
> [`
|
|
9
|
-
> The runtime rule is [`command-suggestion`](../../.agent-src.uncompressed/rules/command-suggestion.md);
|
|
7
|
+
> Cross-cutting reference for the suggestion layer.
|
|
8
|
+
> The runtime rule is [`command-suggestion`](../../.agent-src.uncompressed/rules/command-suggestion-policy.md);
|
|
10
9
|
> the architectural decision lives in [`adr-command-suggestion.md`](adr-command-suggestion.md).
|
|
11
10
|
>
|
|
12
11
|
> - **Created:** 2026-04-30
|
|
@@ -22,7 +21,7 @@ delivery; this doc explains the contract every suggestion must honour.
|
|
|
22
21
|
```
|
|
23
22
|
user turn
|
|
24
23
|
│
|
|
25
|
-
├── starts with "/cmd" ──────────────► slash-
|
|
24
|
+
├── starts with "/cmd" ──────────────► slash-command-routing-policy handles it. STOP.
|
|
26
25
|
│
|
|
27
26
|
├── senior-rule active ► STOP. (clarification owed,
|
|
28
27
|
│ (ask-when-uncertain, scope gate, role-mode contract, engine
|
|
@@ -141,8 +140,7 @@ Cursor, Cline, Windsurf) get the engine via `scripts/`.
|
|
|
141
140
|
|
|
142
141
|
## See also
|
|
143
142
|
|
|
144
|
-
- [`command-suggestion`](../../.agent-src.uncompressed/rules/command-suggestion.md) — runtime rule
|
|
143
|
+
- [`command-suggestion`](../../.agent-src.uncompressed/rules/command-suggestion-policy.md) — runtime rule
|
|
145
144
|
- [`adr-command-suggestion.md`](adr-command-suggestion.md) — architectural decision
|
|
146
145
|
- [`command-suggestion-eligibility.md`](command-suggestion-eligibility.md) — locked eligibility table
|
|
147
|
-
- [`road-to-context-aware-command-suggestion.md`](../../agents/roadmaps/road-to-context-aware-command-suggestion.md) — phased delivery
|
|
148
146
|
- [`agent-settings`](../../.agent-src.uncompressed/templates/agent-settings.md) — `commands.suggestion.*` reference
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
stability: beta
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Context-file path conventions
|
|
6
|
+
|
|
7
|
+
> **Audience:** rule, skill, and command authors who need to extract
|
|
8
|
+
> reasoning material into a `contexts/` file.
|
|
9
|
+
> **Linter:** `scripts/check_context_paths.py`
|
|
10
|
+
> (run via `task check-context-paths`).
|
|
11
|
+
> **Companion:** [`load-context-schema.md`](load-context-schema.md) —
|
|
12
|
+
> frontmatter contract for citing a context from a rule.
|
|
13
|
+
|
|
14
|
+
This contract defines **where** a context file is allowed to live under
|
|
15
|
+
`.agent-src.uncompressed/contexts/` (the source-of-truth tree). It is the
|
|
16
|
+
DAG root of `road-to-structural-optimization` Phase 0: the file-ownership
|
|
17
|
+
matrix (Phase 0.1) greps for context-file fan-out at the locked tree, and
|
|
18
|
+
several later phases (2A, 2B, 3a/b/c, 6) extract material into specific
|
|
19
|
+
sub-trees named here. Locking the layout up-front keeps the matrix
|
|
20
|
+
deterministic and prevents naming drift across phases.
|
|
21
|
+
|
|
22
|
+
**Status:** internal-locked. Changes require a contract version bump and
|
|
23
|
+
a roadmap revision (per `road-to-structural-optimization.md` § Definitions).
|
|
24
|
+
|
|
25
|
+
## Locked path tree
|
|
26
|
+
|
|
27
|
+
| Sub-tree | Owner phase | Naming convention |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| `contexts/communication/rules-always/` | Phase 2A | `<rule-name>-mechanics.md` |
|
|
30
|
+
| `contexts/communication/rules-auto/` | Phase 2B | `<rule-name>-mechanics.md` |
|
|
31
|
+
| `contexts/judges/` | Phase 3a | `judge-shared-procedure.md`, `persona-voice-rubric.md`, `no-consolidate-rationale.md` |
|
|
32
|
+
| `contexts/analysis/` | Phase 3b | `project-analysis-core-procedure.md` (+ future siblings) |
|
|
33
|
+
| `contexts/skills/` | Phase 3c | `skill-quality-rules.md` (+ future siblings) |
|
|
34
|
+
| `contexts/chat-history/` | Phase 6 | `cadence.md`, `ownership.md`, `visibility.md` |
|
|
35
|
+
| `contexts/execution/` | PR #34 (existing) | `<topic>-mechanics.md`, `<topic>-detection.md`, `<topic>-examples.md` |
|
|
36
|
+
| `contexts/authority/` | PR #34 (existing) | `<topic>-mechanics.md` |
|
|
37
|
+
|
|
38
|
+
## Grandfathered files
|
|
39
|
+
|
|
40
|
+
The six root-level files below predate this contract and stay where they
|
|
41
|
+
are. **No new files at the contexts root** — every new context must live
|
|
42
|
+
in a sub-tree above.
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
contexts/augment-infrastructure.md
|
|
46
|
+
contexts/documentation-hierarchy.md
|
|
47
|
+
contexts/model-recommendations.md
|
|
48
|
+
contexts/override-system.md
|
|
49
|
+
contexts/skills-and-commands.md
|
|
50
|
+
contexts/subagent-configuration.md
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Rules enforced by `check_context_paths.py`
|
|
54
|
+
|
|
55
|
+
1. **Sub-tree allow-list.** Every `*.md` under
|
|
56
|
+
`.agent-src.uncompressed/contexts/` must be either (a) in one of the
|
|
57
|
+
eight locked sub-trees above, or (b) one of the six grandfathered
|
|
58
|
+
root-level files. Anything else fails CI.
|
|
59
|
+
2. **No collisions.** No two context files may share the same basename
|
|
60
|
+
across sub-trees. `judges/persona-voice-rubric.md` and
|
|
61
|
+
`analysis/persona-voice-rubric.md` are mutually exclusive.
|
|
62
|
+
3. **No orphans.** Every context file must be referenced from at least
|
|
63
|
+
one rule, skill, command, or other context. References count as either
|
|
64
|
+
a frontmatter `load_context:` / `load_context_eager:` entry, **or** a
|
|
65
|
+
markdown body mention of the relative path
|
|
66
|
+
(`contexts/<sub-tree>/<file>.md` or
|
|
67
|
+
`.agent-src.uncompressed/contexts/<sub-tree>/<file>.md`).
|
|
68
|
+
|
|
69
|
+
The linter exits non-zero on any violation and prints a one-line
|
|
70
|
+
diagnostic per offence.
|
|
71
|
+
|
|
72
|
+
## Adding a new sub-tree
|
|
73
|
+
|
|
74
|
+
1. Open a roadmap revision proposing the new sub-tree (owner phase,
|
|
75
|
+
naming convention, expected first-mover file).
|
|
76
|
+
2. Council-review under the same gate as a `load_context:` schema change.
|
|
77
|
+
3. Bump this contract's version line in the roadmap (G2 fan-out: the
|
|
78
|
+
ownership matrix re-runs after the bump and new cells must remain
|
|
79
|
+
`READ_ONLY` only).
|
|
80
|
+
4. Update `LOCKED_SUBTREES` in `scripts/check_context_paths.py` and
|
|
81
|
+
the table above in the same PR.
|
|
82
|
+
|
|
83
|
+
## Why `check_context_paths.py` carries the orphan check
|
|
84
|
+
|
|
85
|
+
`road-to-structural-optimization.md` 0.6.3 specified extending
|
|
86
|
+
`scripts/docs-sync.py` for the orphan check. That script does not exist
|
|
87
|
+
in this repo (the cross-reference checker lives in
|
|
88
|
+
`scripts/check_references.py`, scoped to broken refs rather than orphan
|
|
89
|
+
detection). Folding the orphan check into `check_context_paths.py` keeps
|
|
90
|
+
all context-file invariants in one linter and avoids inventing a new
|
|
91
|
+
sync tool. Functionally equivalent to the roadmap intent; the roadmap
|
|
92
|
+
itself is annotated with this deviation.
|
|
93
|
+
|
|
94
|
+
## See also
|
|
95
|
+
|
|
96
|
+
- [`load-context-schema.md`](load-context-schema.md) — how a rule cites
|
|
97
|
+
one of these paths in frontmatter.
|
|
98
|
+
- [`rule-priority-hierarchy.md`](rule-priority-hierarchy.md) — which rule
|
|
99
|
+
wins when several fire on the same turn (independent of context paths).
|