@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
|
@@ -3,11 +3,16 @@ type: "auto"
|
|
|
3
3
|
alwaysApply: false
|
|
4
4
|
description: "Before pushing to remote or creating a PR in the agent-config package — run all CI checks locally first"
|
|
5
5
|
source: package
|
|
6
|
+
load_context:
|
|
7
|
+
- .agent-src.uncompressed/contexts/communication/rules-auto/package-ci-checks-mechanics.md
|
|
6
8
|
---
|
|
7
9
|
|
|
8
10
|
# Package CI Checks
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
## When this applies
|
|
13
|
+
|
|
14
|
+
Before **any** push to remote or PR creation in the **agent-config** package.
|
|
15
|
+
This rule is specific to this package — it does NOT apply to consumer projects.
|
|
11
16
|
|
|
12
17
|
## The Iron Law
|
|
13
18
|
|
|
@@ -17,69 +22,24 @@ NEVER push without running ALL CI checks locally first.
|
|
|
17
22
|
|
|
18
23
|
Every CI pipeline failure is preventable by running these checks before pushing.
|
|
19
24
|
|
|
20
|
-
## Required checks
|
|
21
|
-
|
|
22
|
-
### 1. Sync
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
bash scripts/compress.sh --check # .agent-src/ matches .agent-src.uncompressed/
|
|
26
|
-
bash scripts/compress.sh --check-hashes # compression hashes are clean
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### 2. Consistency
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
python3 scripts/check_compression.py # compressed variants are valid
|
|
33
|
-
python3 scripts/check_references.py # no broken cross-references
|
|
34
|
-
python3 scripts/check_portability.py # no project-specific references in shared files
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### 3. Linter (0 FAIL required)
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
python3 scripts/skill_linter.py --all # 0 FAIL required
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### 4. Tests
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
python3 -m pytest tests/ --tb=short # all tests must pass
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### 5. README
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
python3 scripts/readme_linter.py README.md --root .
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Quick one-liner
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
bash scripts/compress.sh --check && \
|
|
59
|
-
bash scripts/compress.sh --check-hashes && \
|
|
60
|
-
python3 scripts/check_compression.py && \
|
|
61
|
-
python3 scripts/check_references.py && \
|
|
62
|
-
python3 scripts/check_portability.py && \
|
|
63
|
-
python3 scripts/skill_linter.py --all && \
|
|
64
|
-
python3 -m pytest tests/ --tb=short && \
|
|
65
|
-
python3 scripts/readme_linter.py README.md --root .
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## After editing skills/rules in .agent-src.uncompressed/
|
|
69
|
-
|
|
70
|
-
1. Edit uncompressed file
|
|
71
|
-
2. Edit compressed file in `.agent-src/` to match
|
|
72
|
-
3. `bash scripts/compress.sh --mark-done {relative-path}` — update hash
|
|
73
|
-
4. `bash scripts/compress.sh --check-hashes` — verify
|
|
25
|
+
## Required checks — see mechanics
|
|
74
26
|
|
|
75
|
-
|
|
27
|
+
Five checks must pass locally before push, in this order:
|
|
76
28
|
|
|
77
|
-
|
|
29
|
+
1. **Sync** — `compress.sh --check` and `--check-hashes`.
|
|
30
|
+
2. **Consistency** — `check_compression.py`, `check_references.py`, `check_portability.py`.
|
|
31
|
+
3. **Linter** — `skill_linter.py --all`, 0 FAIL required.
|
|
32
|
+
4. **Tests** — `pytest tests/`.
|
|
33
|
+
5. **README** — `readme_linter.py`.
|
|
78
34
|
|
|
79
|
-
|
|
35
|
+
The full command snippets, common-failure notes per step, the quick
|
|
36
|
+
chained one-liner, and the post-edit workflow ("after editing
|
|
37
|
+
skills/rules", "after editing `scripts/compress.py`") all live in
|
|
38
|
+
[`contexts/communication/rules-auto/package-ci-checks-mechanics.md`](../contexts/communication/rules-auto/package-ci-checks-mechanics.md).
|
|
39
|
+
Pull it whenever pre-push verification is needed.
|
|
80
40
|
|
|
81
41
|
## Do NOT
|
|
82
42
|
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
43
|
+
- Do NOT push "to see if CI passes" — that wastes pipeline minutes
|
|
44
|
+
- Do NOT skip hash checks because "I only changed one file"
|
|
45
|
+
- Do NOT assume tests pass because linter passes — they check different things
|
|
@@ -7,43 +7,78 @@ source: package
|
|
|
7
7
|
|
|
8
8
|
# Preservation Guard
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
When transforming any agent artifact (merge, refactor, compress, split, restructure),
|
|
11
|
+
the result must be **at least as strong** as the original.
|
|
11
12
|
|
|
12
13
|
## Iron Laws — every passage stays, caveman is fine
|
|
13
14
|
|
|
14
|
-
Sections marked **Iron Law** (heading
|
|
15
|
-
`# The Iron Law`, any level, numbered like
|
|
16
|
-
are **non-negotiable
|
|
15
|
+
Sections marked **Iron Law** (any heading matching `# Iron Law`, `# Iron Laws`,
|
|
16
|
+
`# The Iron Law`, at any heading level, including numbered variants like
|
|
17
|
+
`Iron Law 1`, `Iron Law 2`) are **non-negotiable** and require the strictest
|
|
18
|
+
preservation:
|
|
17
19
|
|
|
18
|
-
- [ ] **Heading verbatim** — exact text
|
|
19
|
-
|
|
20
|
-
- [ ] **
|
|
21
|
-
- [ ] **
|
|
22
|
-
|
|
20
|
+
- [ ] **Heading preserved verbatim** — exact text and exact heading level. Drop the
|
|
21
|
+
heading → the law is gone, even if the code block underneath survives.
|
|
22
|
+
- [ ] **Fenced code blocks preserved byte-for-byte** — the law itself.
|
|
23
|
+
- [ ] **Negation clauses preserved** — `NO X`, `NEVER Y`, `NOT Z` stay in. These
|
|
24
|
+
are the load-bearing exception denials, not filler.
|
|
25
|
+
- [ ] **Every passage stays** — every paragraph, every list item, and every
|
|
26
|
+
fenced code block from the source survives in the compressed output, in
|
|
27
|
+
order. One paragraph → one paragraph; one bullet → one bullet. Dropping
|
|
28
|
+
whole sentences, merging two paragraphs into one, or skipping a list item
|
|
29
|
+
is forbidden, even if the surviving prose still "makes the point".
|
|
30
|
+
- [ ] **No Iron Law downgrades** — `## Iron Law` MUST NOT become `### Iron Law`,
|
|
31
|
+
`**Iron Law:**`, or inline prose. Heading level is part of the prominence.
|
|
23
32
|
|
|
24
|
-
**Caveman style encouraged for Iron Law bodies** — drop articles ("the",
|
|
33
|
+
**Caveman style is encouraged for Iron Law bodies** — drop articles ("the",
|
|
34
|
+
"a"), shorten phrasing, primitive grammar, terse cave-speak. Word count is
|
|
35
|
+
not a budget; the structural unit count is. As long as every paragraph,
|
|
36
|
+
bullet, and code block from the source is present, compress as hard as you
|
|
37
|
+
want. What's forbidden is **deletion**: the rationale paragraph stays, the
|
|
38
|
+
canonical-failure example stays, every "NEVER X" bullet stays.
|
|
25
39
|
|
|
26
|
-
`scripts/check_compression.py` enforces mechanically — any violation is
|
|
40
|
+
`scripts/check_compression.py` enforces these mechanically — any violation is
|
|
41
|
+
an `error`, not a warning.
|
|
27
42
|
|
|
28
|
-
##
|
|
43
|
+
## Mandatory preservation checklist
|
|
29
44
|
|
|
30
|
-
|
|
31
|
-
- [ ] Strongest validation step preserved
|
|
32
|
-
- [ ] Strongest example preserved
|
|
33
|
-
- [ ] Strongest anti-pattern / "Do NOT" preserved
|
|
34
|
-
- [ ] Essential decision hints (if/when/unless) preserved
|
|
35
|
-
- [ ] Required sections preserved
|
|
36
|
-
- [ ] Single clear responsibility preserved
|
|
37
|
-
- [ ] Strong language ("MUST"/"NEVER") not weakened
|
|
45
|
+
Before completing any transformation, verify:
|
|
38
46
|
|
|
39
|
-
|
|
47
|
+
- [ ] **Iron Law sections** preserved per the rules above — heading, body, fenced blocks, rationale
|
|
48
|
+
- [ ] **Strongest validation step** preserved — concrete verify/confirm actions survive
|
|
49
|
+
- [ ] **Strongest example** preserved — the most illustrative code block or scenario stays
|
|
50
|
+
- [ ] **Strongest anti-pattern** preserved — the most important "Do NOT" or failure mode stays
|
|
51
|
+
- [ ] **Essential decision hints** preserved — if/when/unless logic that prevents mistakes
|
|
52
|
+
- [ ] **Required sections** preserved — When to use, Procedure, Output, Gotchas, Do NOT
|
|
53
|
+
- [ ] **Single clear responsibility** preserved — no scope creep from merging unrelated concerns
|
|
54
|
+
- [ ] **Strong language** preserved — "MUST", "NEVER", "Do NOT" not weakened to "should", "avoid"
|
|
40
55
|
|
|
41
|
-
|
|
42
|
-
- Paragraph, list item, or fenced code block dropped from Iron Law section
|
|
43
|
-
- Negation clauses or canonical-failure prose stripped from Iron Law
|
|
44
|
-
- Validation, example, or anti-pattern removed without replacement
|
|
45
|
-
- Decision logic weakened
|
|
46
|
-
- Scope broadened by merging unrelated concerns
|
|
47
|
-
- Strong language downgraded
|
|
56
|
+
## Reject criteria
|
|
48
57
|
|
|
49
|
-
|
|
58
|
+
**REJECT** the transformation if it:
|
|
59
|
+
|
|
60
|
+
- Removes or downgrades an Iron Law heading
|
|
61
|
+
- Drops a paragraph, list item, or fenced code block from an Iron Law section
|
|
62
|
+
- Strips negation clauses or canonical-failure prose from an Iron Law
|
|
63
|
+
- Removes a concrete validation step without equivalent replacement
|
|
64
|
+
- Removes the strongest example without equivalent replacement
|
|
65
|
+
- Removes the strongest anti-pattern without equivalent replacement
|
|
66
|
+
- Weakens routing or decision logic
|
|
67
|
+
- Broadens scope by merging unrelated workflows
|
|
68
|
+
- Weakens strong enforcement language
|
|
69
|
+
|
|
70
|
+
## Applies to
|
|
71
|
+
|
|
72
|
+
- Skill merges (combining two skills into one)
|
|
73
|
+
- Skill splits (extracting part of a skill)
|
|
74
|
+
- Refactoring (restructuring without behavior change)
|
|
75
|
+
- Compression (`.agent-src.uncompressed/` → `.agent-src/`)
|
|
76
|
+
- Rule consolidation
|
|
77
|
+
- Guideline restructuring
|
|
78
|
+
|
|
79
|
+
## References
|
|
80
|
+
|
|
81
|
+
- Skill: `skill-management` — compression/refactoring modes
|
|
82
|
+
- Skill: `skill-reviewer` — compression safety checks
|
|
83
|
+
- Command: `/compress` — compression quality checklist
|
|
84
|
+
- Linter: `scripts/skill_linter.py` — `check_compression_quality()`
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
type: "auto"
|
|
3
3
|
description: "When routing reviewers or flagging risk hotspots — consult ownership-map and historical-bug-patterns before suggesting reviewers or claiming a change is safe"
|
|
4
4
|
source: package
|
|
5
|
+
load_context:
|
|
6
|
+
- .agent-src.uncompressed/contexts/communication/rules-auto/review-routing-awareness-mechanics.md
|
|
5
7
|
---
|
|
6
8
|
|
|
7
9
|
# Review Routing Awareness
|
|
@@ -37,24 +39,13 @@ Look, in order, for:
|
|
|
37
39
|
- `.github/historical-bug-patterns.yml` (or
|
|
38
40
|
`agents/historical-bug-patterns.yml`)
|
|
39
41
|
|
|
40
|
-
If neither exists, fall back to engineering-memory
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
keys=<changed file paths>,
|
|
48
|
-
limit=5,
|
|
49
|
-
)
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Curated memory (`agents/memory/ownership.yml`,
|
|
53
|
-
`agents/memory/historical-patterns.yml`) shares the schema with the
|
|
54
|
-
project-local YAMLs and is merged into the routing output. If both
|
|
55
|
-
memory and project YAMLs are absent, skip this rule and rely on
|
|
56
|
-
[`reviewer-awareness`](reviewer-awareness.md) defaults. **Do not invent
|
|
57
|
-
owners or patterns** from context.
|
|
42
|
+
If neither file exists, fall back to the engineering-memory layer.
|
|
43
|
+
Memory-lookup snippet and merge semantics live in
|
|
44
|
+
[`contexts/communication/rules-auto/review-routing-awareness-mechanics.md`](../contexts/communication/rules-auto/review-routing-awareness-mechanics.md)
|
|
45
|
+
§ Memory-lookup fallback. If both memory and project YAMLs are absent,
|
|
46
|
+
skip this rule and rely on
|
|
47
|
+
[`reviewer-awareness`](reviewer-awareness.md) defaults. **Do not
|
|
48
|
+
invent owners or patterns** from context.
|
|
58
49
|
|
|
59
50
|
### 2. Match the diff
|
|
60
51
|
|
|
@@ -66,30 +57,24 @@ For every changed file, collect:
|
|
|
66
57
|
mode and the minimum control or test the project expects.
|
|
67
58
|
|
|
68
59
|
Matching uses glob patterns (see
|
|
69
|
-
[`review-routing-data-format`](
|
|
60
|
+
[`review-routing-data-format`](../../docs/guidelines/agent-infra/review-routing-data-format.md)
|
|
70
61
|
for the schema).
|
|
71
62
|
|
|
72
63
|
### 3. Surface findings
|
|
73
64
|
|
|
74
|
-
When producing a review plan, include
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
short label and the required control, e.g. _"Pattern: N+1 on tenant
|
|
81
|
-
listings → add an eager-load regression test"_.
|
|
82
|
-
- **Confidence note** — if the ownership map is stale (last updated > 6
|
|
83
|
-
months ago per the `updated` field), say so. Ownership maps rot.
|
|
65
|
+
When producing a review plan, include owner-mapped roles (preferred
|
|
66
|
+
over generic), historical-pattern warnings (with required control),
|
|
67
|
+
and a staleness note if the ownership map's `updated` field is older
|
|
68
|
+
than 6 months. Worked examples for each in
|
|
69
|
+
[`contexts/communication/rules-auto/review-routing-awareness-mechanics.md`](../contexts/communication/rules-auto/review-routing-awareness-mechanics.md)
|
|
70
|
+
§ Surface findings.
|
|
84
71
|
|
|
85
72
|
### 4. Do NOT overreach
|
|
86
73
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
-
|
|
91
|
-
- **Never copy historical-pattern names into the diff** as code comments
|
|
92
|
-
or commit messages — they are routing metadata, not commentary.
|
|
74
|
+
The "do NOT overreach" guardrails (no path renames as side effects, no
|
|
75
|
+
"safe because no match", no pattern names in diffs/commits) live in
|
|
76
|
+
[`contexts/communication/rules-auto/review-routing-awareness-mechanics.md`](../contexts/communication/rules-auto/review-routing-awareness-mechanics.md)
|
|
77
|
+
§ Do NOT overreach.
|
|
93
78
|
|
|
94
79
|
## Interaction with other rules
|
|
95
80
|
|
|
@@ -102,22 +87,18 @@ When producing a review plan, include:
|
|
|
102
87
|
matched pattern is a reason to **add a test**, never a reason to
|
|
103
88
|
expand scope into unrelated refactors.
|
|
104
89
|
|
|
105
|
-
## Anti-patterns
|
|
90
|
+
## Anti-patterns
|
|
106
91
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
-
|
|
110
|
-
|
|
111
|
-
- Downgrading a matched high-severity pattern because "the author said
|
|
112
|
-
it's fine" — the pattern was registered because it bit before.
|
|
113
|
-
- Treating an out-of-date map as absent. Flag staleness; do not silently
|
|
114
|
-
skip.
|
|
92
|
+
The four anti-pattern rejections (invented owners, invented patterns,
|
|
93
|
+
downgrading high-severity hits, treating stale maps as absent) live in
|
|
94
|
+
[`contexts/communication/rules-auto/review-routing-awareness-mechanics.md`](../contexts/communication/rules-auto/review-routing-awareness-mechanics.md)
|
|
95
|
+
§ Anti-patterns.
|
|
115
96
|
|
|
116
97
|
## See also
|
|
117
98
|
|
|
118
99
|
- [`reviewer-awareness`](reviewer-awareness.md) — formatting reviewer
|
|
119
100
|
suggestions.
|
|
120
|
-
- [`review-routing-data-format`](
|
|
101
|
+
- [`review-routing-data-format`](../../docs/guidelines/agent-infra/review-routing-data-format.md)
|
|
121
102
|
— YAML schemas for ownership-map and historical-bug-patterns.
|
|
122
103
|
- [`review-routing`](../skills/review-routing/SKILL.md) — the skill
|
|
123
104
|
that produces the merged routing report.
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
|
-
description: "Any touch to agents/roadmaps/ —
|
|
3
|
+
description: "Any touch to agents/roadmaps/ — create/rename/delete/move, edit checkboxes ([x]/[~]/[-]), add/rename/remove phases — must regenerate dashboard and archive if 0 open items, same response"
|
|
4
4
|
alwaysApply: false
|
|
5
5
|
source: package
|
|
6
|
+
load_context:
|
|
7
|
+
- .agent-src.uncompressed/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md
|
|
6
8
|
---
|
|
7
9
|
|
|
10
|
+
<!-- cloud_safe: degrade -->
|
|
11
|
+
<!-- Authoring discipline applies in cloud; local script + regen are no-ops there. -->
|
|
12
|
+
|
|
8
13
|
# Roadmap Progress Sync
|
|
9
14
|
|
|
10
15
|
## Iron Law — dashboard sync
|
|
@@ -30,6 +35,7 @@ without regenerating? The dashboard claims it does not exist. Marked
|
|
|
30
35
|
EVERY ACTIVE ROADMAP MUST CONTAIN AT LEAST ONE TRACKABLE CHECKBOX
|
|
31
36
|
(`- [ ]`) PER NON-INTRO PHASE. ROADMAPS WITHOUT EXECUTABLE STEPS
|
|
32
37
|
EITHER GET A CHECKLIST OR THE `status: draft` FLAG.
|
|
38
|
+
CI-ENFORCED: `scripts/check_roadmap_trackable.py` (CANNOT BE DEFERRED).
|
|
33
39
|
```
|
|
34
40
|
|
|
35
41
|
**Active roadmap =** any file in `agents/roadmaps/` (root, not
|
|
@@ -42,9 +48,16 @@ Tables of decisions, ICE matrices, ADR captures, and "block
|
|
|
42
48
|
sequencing" tables are valid **rationale**, but they do not satisfy
|
|
43
49
|
this rule on their own — they must be paired with at least one
|
|
44
50
|
`## Phase N` section whose checkboxes execute the decision.
|
|
45
|
-
Headings such as `## Phase steps`, `### Sequencing — Phase 1 …`,
|
|
46
|
-
`## Block A` do **not** count — only the
|
|
47
|
-
form parsed by the dashboard.
|
|
51
|
+
Headings such as `## Phase steps`, `### Sequencing — Phase 1 …`,
|
|
52
|
+
`### P0 #1 — …`, or `## Block A` do **not** count — only the
|
|
53
|
+
canonical `Phase <id>` form parsed by the dashboard.
|
|
54
|
+
|
|
55
|
+
**CI backstop.** `scripts/check_roadmap_trackable.py` (package-shipped,
|
|
56
|
+
wire into the consumer's pre-commit / pre-push / Actions gate) fails
|
|
57
|
+
when an active roadmap has zero canonical `Phase` headings or when
|
|
58
|
+
any parsed phase has zero checkboxes. Last line of defence — real-time
|
|
59
|
+
authoring still flips checkboxes and regenerates the dashboard the
|
|
60
|
+
same response.
|
|
48
61
|
|
|
49
62
|
## Status — binary `ready` (default) vs `draft`
|
|
50
63
|
|
|
@@ -69,11 +82,6 @@ in the dashboard.
|
|
|
69
82
|
executable phases. Flip to ready (or remove the field) the
|
|
70
83
|
moment the roadmap is ready to track.
|
|
71
84
|
|
|
72
|
-
A `## Decisions` or `## Block sequencing` table is **not** a roadmap
|
|
73
|
-
on its own. Either pair it with a `## Phase N: <name>` section whose
|
|
74
|
-
checkboxes execute the decision, or mark the file `status: draft`
|
|
75
|
-
until the executable phases land.
|
|
76
|
-
|
|
77
85
|
**Completion = archival, same response.** When the edit takes a
|
|
78
86
|
roadmap to `count_open == 0` (every item is `[x]`, `[~]`, or `[-]`),
|
|
79
87
|
`git mv` it into `agents/roadmaps/archive/` (or `skipped/` if no `[x]`
|
|
@@ -82,33 +90,6 @@ roadmap left under `agents/roadmaps/` is a rule violation, not an
|
|
|
82
90
|
optional cleanup. See `roadmap-management` skill for the archive vs
|
|
83
91
|
skipped decision table.
|
|
84
92
|
|
|
85
|
-
## How to regenerate
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
./agent-config roadmap:progress
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
The `./agent-config` wrapper is written into the project root by the
|
|
92
|
-
package installer and delegates to the master CLI inside
|
|
93
|
-
`node_modules/@event4u/agent-config/` or `vendor/event4u/agent-config/`.
|
|
94
|
-
No global tooling required.
|
|
95
|
-
|
|
96
|
-
## Triggers
|
|
97
|
-
|
|
98
|
-
| Edit | Must run, same response |
|
|
99
|
-
|---|---|
|
|
100
|
-
| **Create a new roadmap file** | regenerate dashboard |
|
|
101
|
-
| **Rename or delete a roadmap file** | regenerate dashboard |
|
|
102
|
-
| Mark step `[x]`, `[~]`, `[-]`, or unmark back to `[ ]` | regenerate dashboard |
|
|
103
|
-
| Add, rename, or remove a phase | regenerate dashboard |
|
|
104
|
-
| **Last `[ ]` flips** — roadmap reaches `count_open == 0` | `git mv` → `archive/` (or `skipped/`) **then** regenerate dashboard |
|
|
105
|
-
| Move roadmap between `roadmaps/` ↔ `archive/` ↔ `skipped/` | regenerate dashboard |
|
|
106
|
-
|
|
107
|
-
**Batching rule:** if you edit multiple checkboxes in one response, a
|
|
108
|
-
**single** regeneration at the end of that response is enough — but
|
|
109
|
-
the response must not end without it. If one of those edits closes a
|
|
110
|
-
roadmap, archive it first, then run the single regen.
|
|
111
|
-
|
|
112
93
|
## Autonomous execution — checkbox cadence
|
|
113
94
|
|
|
114
95
|
When executing a roadmap autonomously (multi-turn, no per-step user
|
|
@@ -130,20 +111,9 @@ Step counts as completed when:
|
|
|
130
111
|
Then in the **same reply**: flip the checkbox, regenerate the
|
|
131
112
|
dashboard, commit if commit policy allows.
|
|
132
113
|
|
|
133
|
-
**Forbidden
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
> implement Step 3. Turn 4: implement Step 4. Turn 5: "all done,
|
|
137
|
-
> let me update the roadmap and commit." → the user spent four turns
|
|
138
|
-
> without dashboard movement.
|
|
139
|
-
|
|
140
|
-
**Required pattern:**
|
|
141
|
-
|
|
142
|
-
> Turn 1: implement Step 1, flip `[x]`, regen, commit.
|
|
143
|
-
> Turn 2: implement Step 2, flip `[x]`, regen, commit. …
|
|
144
|
-
|
|
145
|
-
A reply that lands a verified step without flipping its checkbox
|
|
146
|
-
is a rule violation.
|
|
114
|
+
**Forbidden:** four turns of step work, dashboard flat, single regen at the end.
|
|
115
|
+
**Required:** each turn — implement step, flip `[x]`, regen, commit (if policy allows).
|
|
116
|
+
A reply that lands a verified step without flipping its checkbox is a rule violation.
|
|
147
117
|
|
|
148
118
|
**In-progress marker:** when a step takes more than one reply,
|
|
149
119
|
mark it `[~]` the moment work starts on it and regenerate. The
|
|
@@ -151,49 +121,11 @@ user sees one row move from `[ ]` to `[~]` to `[x]` instead of
|
|
|
151
121
|
silent rows. `[~]` is treated as open for `count_open` but moves
|
|
152
122
|
the phase percentage forward in the dashboard.
|
|
153
123
|
|
|
154
|
-
##
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
4. **Autonomous roadmap execution gate** — did this turn complete a roadmap step (code saved + verification passed) without flipping its checkbox? → flip `[x]` (or `[~]` if multi-turn) and regen before sending.
|
|
163
|
-
5. **Trackable-roadmap gate** — did this turn create or substantially edit a roadmap file? → does it now contain at least one `- [ ]` per non-intro phase, **or** carry `status: draft` in frontmatter? → if neither, add the checklist or the draft flag before sending.
|
|
164
|
-
|
|
165
|
-
Any "yes" + no regen run = rule violation. Rerun before sending.
|
|
166
|
-
|
|
167
|
-
## Failure modes
|
|
168
|
-
|
|
169
|
-
- **Created the roadmap, marked Phase 1 done across multiple turns,
|
|
170
|
-
never regenerated** — dashboard silently lies "this roadmap does
|
|
171
|
-
not exist" to the next reader. Canonical failure of this rule;
|
|
172
|
-
the rule was hardened in response to it.
|
|
173
|
-
- **Regenerated yesterday, edited today, "I'll regen at session
|
|
174
|
-
end"** — session ends from a crash, regen never lands.
|
|
175
|
-
- **Closed a roadmap (last `[ ]` → `[x]`) and regenerated before
|
|
176
|
-
`git mv`** — the closed roadmap reappears in "Open roadmaps".
|
|
177
|
-
- **Edited the dashboard by hand to "fix it quickly"** — next regen
|
|
178
|
-
overwrites the manual edit; no audit trail of why.
|
|
179
|
-
- **Autonomous run, four steps shipped across four turns, dashboard
|
|
180
|
-
flat the whole time, single regen at the end** — user lost
|
|
181
|
-
progress visibility for the entire run. Each completed step must
|
|
182
|
-
flip its checkbox in the reply that ships it.
|
|
183
|
-
- **Decision-only roadmap shipped without checkboxes** — the file
|
|
184
|
-
documents synthesized decisions, ICE matrices, or block sequencing
|
|
185
|
-
but contains zero `- [ ]` items. The dashboard regenerates with
|
|
186
|
-
`0/0 steps` for that file or omits it from the open set entirely.
|
|
187
|
-
The reader thinks no work is planned. Either pair the decisions
|
|
188
|
-
with a `## Phase N` / `## Implementation Checklist` section, or
|
|
189
|
-
mark the file `status: draft` so it is hidden until the executable
|
|
190
|
-
phases land.
|
|
191
|
-
|
|
192
|
-
## Do NOT
|
|
193
|
-
|
|
194
|
-
- Do NOT edit `agents/roadmaps-progress.md` by hand — always regenerate.
|
|
195
|
-
- Do NOT defer the regen to "next commit" or "before push" — same response.
|
|
196
|
-
- Do NOT rely on CI (`--check` mode) as the first line of defence — CI is last-line, not real-time.
|
|
197
|
-
- Do NOT skip the regen because "only one checkbox changed" — the dashboard aggregates counts and phase percentages that shift on single edits.
|
|
198
|
-
- Do NOT leave a 100%-complete roadmap in `agents/roadmaps/` "for review" — archive it in the same response, ask the user afterwards if needed, not before.
|
|
199
|
-
- Do NOT regenerate the dashboard before the `git mv` when a roadmap closes — otherwise the completed roadmap reappears in "Open roadmaps".
|
|
124
|
+
## Mechanics — triggers, regen command, self-check, failures
|
|
125
|
+
|
|
126
|
+
The triggers table, the regen command (`./agent-config roadmap:progress`),
|
|
127
|
+
the mandatory pre-send self-check, the failure-mode catalog, and the
|
|
128
|
+
`Do NOT` list live in
|
|
129
|
+
[`contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md`](../contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md).
|
|
130
|
+
Pull it whenever a trigger fires — the rule above is the obligation
|
|
131
|
+
surface; the mechanics file is the lookup material.
|
|
@@ -9,7 +9,7 @@ source: package
|
|
|
9
9
|
|
|
10
10
|
Auto-activates when `.agent-settings.yml` sets `roles.active_role` to
|
|
11
11
|
one of the six modes defined in
|
|
12
|
-
[`role-contracts`](
|
|
12
|
+
[`role-contracts`](../../docs/guidelines/agent-infra/role-contracts.md):
|
|
13
13
|
`developer`, `reviewer`, `tester`, `po`, `incident`, `planner`.
|
|
14
14
|
|
|
15
15
|
Read `roles.active_role` from `.agent-settings.yml` at session start.
|
|
@@ -47,7 +47,7 @@ Infer the mode (Phase-3 router does that). Touch `.agent-settings.yml`
|
|
|
47
47
|
|
|
48
48
|
## See also
|
|
49
49
|
|
|
50
|
-
- [`role-contracts`](
|
|
50
|
+
- [`role-contracts`](../../docs/guidelines/agent-infra/role-contracts.md)
|
|
51
51
|
- [`/mode`](../commands/mode.md)
|
|
52
52
|
- [`ask-when-uncertain`](ask-when-uncertain.md)
|
|
53
53
|
- [`scope-control`](scope-control.md)
|