@event4u/agent-config 7.5.0 โ 8.0.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/.claude-plugin/marketplace.json +8 -1
- package/AGENTS.md +9 -9
- package/CHANGELOG.md +325 -0
- package/README.md +35 -5
- package/dist/agent-src/commands/analytics/prune.md +1 -1
- package/dist/agent-src/commands/analytics/show.md +1 -1
- package/dist/agent-src/commands/analyze/decision.md +2 -2
- package/dist/agent-src/commands/analyze/incident.md +2 -2
- package/dist/agent-src/commands/analyze/near-miss.md +2 -2
- package/dist/agent-src/commands/analyze/postmortem.md +2 -2
- package/dist/agent-src/commands/analyze/premortem.md +2 -2
- package/dist/agent-src/commands/cost-report.md +25 -0
- package/dist/agent-src/commands/evals/analyze.json +30 -0
- package/dist/agent-src/commands/evals/mission-upgrade.json +30 -0
- package/dist/agent-src/commands/implement-ticket.md +1 -1
- package/dist/agent-src/commands/knowledge/forget.md +1 -1
- package/dist/agent-src/commands/knowledge/ingest.md +1 -1
- package/dist/agent-src/commands/knowledge/list.md +1 -1
- package/dist/agent-src/commands/memory/load.md +12 -11
- package/dist/agent-src/commands/memory/promote.md +30 -0
- package/dist/agent-src/commands/memory/propose.md +16 -2
- package/dist/agent-src/commands/mission/upgrade.md +1 -1
- package/dist/agent-src/commands/module/explore.md +11 -7
- package/dist/agent-src/commands/optimize-project.md +243 -0
- package/dist/agent-src/commands/optimize.md +5 -0
- package/dist/agent-src/commands/pr/create.md +37 -8
- package/dist/agent-src/commands/prediction-pool.md +2 -2
- package/dist/agent-src/commands/profile/activate.md +3 -3
- package/dist/agent-src/commands/profile/deactivate.md +2 -2
- package/dist/agent-src/commands/profile/show.md +3 -3
- package/dist/agent-src/commands/research/deep.md +5 -0
- package/dist/agent-src/commands/research/report.md +2 -1
- package/dist/agent-src/commands/roadmap/create.md +88 -10
- package/dist/agent-src/commands/roadmap/materialize.md +1 -1
- package/dist/agent-src/commands/roadmap/process-full.md +15 -2
- package/dist/agent-src/commands/roadmap/process-phase.md +18 -6
- package/dist/agent-src/commands/roadmap/process-step.md +4 -0
- package/dist/agent-src/commands/roadmap.md +1 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/sync-agent-settings.md +1 -1
- package/dist/agent-src/commands/sync-gitignore/fix.md +42 -6
- package/dist/agent-src/commands/team-knowledge/bootstrap.md +106 -0
- package/dist/agent-src/commands/team-knowledge/consolidate.md +105 -0
- package/dist/agent-src/commands/team-knowledge.md +64 -0
- package/dist/agent-src/contexts/authority/commit-mechanics.md +8 -0
- package/dist/agent-src/contexts/authority/destructive-mechanics.md +11 -0
- package/dist/agent-src/contexts/authority/scope-mechanics.md +25 -0
- package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +43 -0
- package/dist/agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
- package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +2 -2
- package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -0
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +14 -4
- package/dist/agent-src/contexts/execution/autonomy-mechanics.md +11 -0
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +32 -8
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +107 -0
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +71 -15
- package/dist/agent-src/contexts/execution/subagent-steering.md +41 -1
- package/dist/agent-src/contexts/override-system.md +1 -1
- package/dist/agent-src/personas/brand-strategist.md +0 -1
- package/dist/agent-src/personas/data-integrity.md +66 -0
- package/dist/agent-src/personas/design-director.md +0 -1
- package/dist/agent-src/personas/performance-engineer.md +66 -0
- package/dist/agent-src/personas/production-validator.md +73 -0
- package/dist/agent-src/rules/agent-authority.md +3 -4
- package/dist/agent-src/rules/analysis-skill-routing.md +3 -5
- package/dist/agent-src/rules/architecture.md +2 -4
- package/dist/agent-src/rules/artifact-drafting-protocol.md +35 -6
- package/dist/agent-src/rules/artifact-engagement-recording.md +2 -4
- package/dist/agent-src/rules/ask-when-uncertain.md +10 -14
- package/dist/agent-src/rules/augment-edit-discipline.md +3 -5
- package/dist/agent-src/rules/autonomous-execution.md +3 -5
- package/dist/agent-src/rules/brand-consistency.md +3 -5
- package/dist/agent-src/rules/brand-source-of-truth.md +3 -5
- package/dist/agent-src/rules/cli-output-handling.md +4 -6
- package/dist/agent-src/rules/command-suggestion-policy.md +3 -5
- package/dist/agent-src/rules/commit-conventions.md +3 -5
- package/dist/agent-src/rules/commit-policy.md +8 -10
- package/dist/agent-src/rules/content-quoting-floor.md +88 -0
- package/dist/agent-src/rules/context-hygiene.md +3 -5
- package/dist/agent-src/rules/copilot-routing.md +4 -6
- package/dist/agent-src/rules/decision-revisit-gate.md +120 -0
- package/dist/agent-src/rules/delegation-policy.md +10 -6
- package/dist/agent-src/rules/design-fidelity.md +3 -5
- package/dist/agent-src/rules/devcontainer-routing.md +4 -6
- package/dist/agent-src/rules/direct-answers.md +13 -17
- package/dist/agent-src/rules/docker-commands.md +3 -5
- package/dist/agent-src/rules/domain-adoption-policy.md +3 -5
- package/dist/agent-src/rules/domain-safety-disclaimer.md +3 -5
- package/dist/agent-src/rules/domain-safety-pii.md +3 -5
- package/dist/agent-src/rules/domain-safety-retention.md +3 -5
- package/dist/agent-src/rules/downstream-changes.md +3 -4
- package/dist/agent-src/rules/engineering-safety-floor.md +3 -5
- package/dist/agent-src/rules/external-reference-deep-dive.md +3 -5
- package/dist/agent-src/rules/fast-path-marker-visibility.md +3 -5
- package/dist/agent-src/rules/finance-safety-floor.md +3 -6
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -5
- package/dist/agent-src/rules/git-history-discipline.md +3 -5
- package/dist/agent-src/rules/guidelines.md +2 -4
- package/dist/agent-src/rules/icon-consistency.md +3 -5
- package/dist/agent-src/rules/image-likeness-and-rights.md +3 -5
- package/dist/agent-src/rules/improve-before-implement.md +5 -5
- package/dist/agent-src/rules/invite-challenge.md +3 -5
- package/dist/agent-src/rules/language-and-tone.md +13 -15
- package/dist/agent-src/rules/laravel-routing.md +3 -5
- package/dist/agent-src/rules/laravel-translations.md +3 -5
- package/dist/agent-src/rules/legal-safety-floor.md +3 -5
- package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -5
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +4 -7
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -5
- package/dist/agent-src/rules/markdown-safe-codeblocks.md +2 -4
- package/dist/agent-src/rules/media-governance-routing.md +3 -5
- package/dist/agent-src/rules/media-sync-ground-truth.md +3 -5
- package/dist/agent-src/rules/minimal-safe-diff.md +5 -5
- package/dist/agent-src/rules/missing-tool-handling.md +3 -5
- package/dist/agent-src/rules/model-recommendation.md +4 -6
- package/dist/agent-src/rules/no-attribution-footers.md +3 -5
- package/dist/agent-src/rules/no-cheap-questions.md +5 -8
- package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +3 -6
- package/dist/agent-src/rules/no-pr-progress-comments.md +3 -6
- package/dist/agent-src/rules/no-roadmap-references.md +3 -5
- package/dist/agent-src/rules/non-destructive-by-default.md +11 -13
- package/dist/agent-src/rules/notes-first-reasoning.md +3 -5
- package/dist/agent-src/rules/onboarding-gate.md +4 -6
- package/dist/agent-src/rules/output-discipline.md +3 -5
- package/dist/agent-src/rules/package-ci-checks.md +3 -5
- package/dist/agent-src/rules/persona-governance.md +2 -4
- package/dist/agent-src/rules/php-coding.md +3 -5
- package/dist/agent-src/rules/preservation-guard.md +2 -4
- package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -5
- package/dist/agent-src/rules/reviewer-awareness.md +5 -6
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +3 -5
- package/dist/agent-src/rules/roadmap-progress-sync.md +5 -5
- package/dist/agent-src/rules/role-mode-adherence.md +2 -4
- package/dist/agent-src/rules/rule-type-governance.md +3 -5
- package/dist/agent-src/rules/runtime-safety.md +2 -4
- package/dist/agent-src/rules/scope-control.md +10 -11
- package/dist/agent-src/rules/security-sensitive-stop.md +4 -5
- package/dist/agent-src/rules/size-enforcement.md +2 -4
- package/dist/agent-src/rules/skill-improvement-trigger.md +3 -5
- package/dist/agent-src/rules/skill-quality.md +3 -5
- package/dist/agent-src/rules/slash-command-routing-policy.md +3 -5
- package/dist/agent-src/rules/source-confidentiality.md +3 -5
- package/dist/agent-src/rules/source-discovery-gate.md +3 -5
- package/dist/agent-src/rules/source-of-truth.md +3 -5
- package/dist/agent-src/rules/strategy-safety-floor.md +3 -5
- package/dist/agent-src/rules/symfony-routing.md +4 -6
- package/dist/agent-src/rules/telegraph-speak.md +4 -5
- package/dist/agent-src/rules/think-before-action.md +7 -4
- package/dist/agent-src/rules/token-budget-discipline.md +29 -5
- package/dist/agent-src/rules/token-efficiency.md +3 -5
- package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -5
- package/dist/agent-src/rules/tool-safety.md +2 -4
- package/dist/agent-src/rules/ui-audit-gate.md +3 -6
- package/dist/agent-src/rules/untrusted-input-defense.md +3 -5
- package/dist/agent-src/rules/upstream-proposal.md +4 -6
- package/dist/agent-src/rules/user-interaction.md +7 -5
- package/dist/agent-src/rules/user-interrupt-priority.md +17 -8
- package/dist/agent-src/rules/verify-before-complete.md +12 -22
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +3 -3
- package/dist/agent-src/scripts/update_roadmap_progress.ts +197 -7
- package/dist/agent-src/skills/adr-create/SKILL.md +48 -42
- package/dist/agent-src/skills/agent-docs-writing/SKILL.md +18 -0
- package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
- package/dist/agent-src/skills/ai-council/SKILL.md +14 -1
- package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +0 -3
- package/dist/agent-src/skills/brand/SKILL.md +1 -1
- package/dist/agent-src/skills/brand-identity/SKILL.md +3 -3
- package/dist/agent-src/skills/brand-strategy/SKILL.md +1 -1
- package/dist/agent-src/skills/brand-to-tokens/SKILL.md +3 -3
- package/dist/agent-src/skills/canvas-design/SKILL.md +6 -0
- package/dist/agent-src/skills/check-refs/SKILL.md +7 -4
- package/dist/agent-src/skills/code-review/SKILL.md +1 -0
- package/dist/agent-src/skills/complexity-first-planning/SKILL.md +6 -5
- package/dist/agent-src/skills/condense-memory/SKILL.md +11 -11
- package/dist/agent-src/skills/context-document/SKILL.md +17 -0
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +3 -3
- package/dist/agent-src/skills/decision-record/SKILL.md +6 -0
- package/dist/agent-src/skills/decision-review/SKILL.md +5 -3
- package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +6 -1
- package/dist/agent-src/skills/design-intelligence/SKILL.md +5 -2
- package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
- package/dist/agent-src/skills/design-tokens/SKILL.md +10 -4
- package/dist/agent-src/skills/design-variations/SKILL.md +127 -0
- package/dist/agent-src/skills/design-variations/evals/triggers.json +17 -0
- package/dist/agent-src/skills/emit-tickets/SKILL.md +4 -4
- package/dist/agent-src/skills/fe-design/SKILL.md +20 -0
- package/dist/agent-src/skills/html-deck/SKILL.md +123 -0
- package/dist/agent-src/skills/html-deck/evals/triggers.json +17 -0
- package/dist/agent-src/skills/html-deck/templates/deck-shell.html +77 -0
- package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -0
- package/dist/agent-src/skills/laravel/SKILL.md +0 -1
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +46 -0
- package/dist/agent-src/skills/lint-skills/SKILL.md +6 -6
- package/dist/agent-src/skills/md-language-check/SKILL.md +3 -3
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +66 -1
- package/dist/agent-src/skills/migration-architect/SKILL.md +1 -0
- package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +2 -2
- package/dist/agent-src/skills/performance-analysis/SKILL.md +2 -0
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +4 -4
- package/dist/agent-src/skills/premortem/SKILL.md +0 -3
- package/dist/agent-src/skills/project-analysis-core/SKILL.md +16 -0
- package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +3 -1
- package/dist/agent-src/skills/release-comms/SKILL.md +46 -45
- package/dist/agent-src/skills/roadmap-management/SKILL.md +21 -0
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +32 -2
- package/dist/agent-src/skills/root-cause-frameworks/SKILL.md +0 -3
- package/dist/agent-src/skills/security-audit/SKILL.md +1 -0
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -0
- package/dist/agent-src/skills/source-discovery/SKILL.md +22 -3
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +33 -14
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +11 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +8 -0
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +29 -0
- package/dist/agent-src/skills/threat-modeling/SKILL.md +2 -2
- package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
- package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +2 -0
- package/dist/agent-src/skills/wireframe/SKILL.md +118 -0
- package/dist/agent-src/skills/wireframe/evals/triggers.json +17 -0
- package/dist/agent-src/templates/agent-settings.md +22 -1
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/command.md +2 -2
- package/dist/agent-src/templates/contexts/knowledge-pages.md +116 -0
- package/dist/agent-src/templates/hooks/pre-commit-frontmatter +1 -1
- package/dist/agent-src/templates/roadmaps.md +70 -2
- package/dist/agent-src/templates/rule.md +1 -1
- package/dist/agent-src/templates/scripts/README.md +3 -3
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +109 -0
- package/dist/agent-src/templates/tickets.md +8 -8
- package/dist/cli/commands/recordTriggerEval.test.js +1 -1
- package/dist/cli/commands/recordTriggerEval.test.js.map +1 -1
- package/dist/cli/initRouting.js +4 -2
- package/dist/cli/initRouting.js.map +1 -1
- package/dist/cli/registry.js +1 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +718 -240
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +8 -8
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +43 -28
- package/dist/discovery/trust-report.md +12 -11
- package/dist/discovery/workspaces.json +29 -18
- package/dist/install/preflight.js +173 -0
- package/dist/install/preflight.js.map +1 -0
- package/dist/mcp/registry-manifest.json +4 -4
- package/dist/router.json +1 -1
- package/dist/server/routes/settings.js +4 -0
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/schemas/settings.js +3 -1
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +108 -0
- package/docs/MIGRATION.md +3 -3
- package/docs/architecture.md +5 -5
- package/docs/benchmark.md +133 -2
- package/docs/benchmark.pinned.yml +31 -0
- package/docs/capability-matrix.md +1 -0
- package/docs/catalog.md +70 -60
- package/docs/command-flows.md +15 -3
- package/docs/comparison.yaml +35 -0
- package/docs/contracts/agents-layout.md +148 -0
- package/docs/contracts/brand-token-consumption.md +5 -0
- package/docs/contracts/capability-boundary.md +5 -0
- package/docs/contracts/command-category-governance.md +5 -0
- package/docs/contracts/command-clusters.md +1 -0
- package/docs/contracts/command-surface-tiers.md +1 -1
- package/docs/contracts/conformance.md +84 -0
- package/docs/contracts/creative-pack-boundary.md +5 -0
- package/docs/contracts/discovery-manifest.schema.json +5 -4
- package/docs/contracts/file-ownership-matrix.json +4605 -985
- package/docs/contracts/governance-enforcement-projection.md +5 -0
- package/docs/contracts/gui-wizard.md +1 -1
- package/docs/contracts/hook-architecture-v1.md +2 -2
- package/docs/contracts/implement-ticket-flow.md +1 -1
- package/docs/contracts/kernel-membership.md +13 -0
- package/docs/contracts/mcp-tool-inventory.md +23 -23
- package/docs/contracts/no-runtime-boundary.md +6 -1
- package/docs/contracts/review-lens-schema.md +5 -0
- package/docs/contracts/rule-router.md +102 -8
- package/docs/contracts/skill-bundled-assets.md +1 -1
- package/docs/contracts/skill-dry-run.md +1 -1
- package/docs/contracts/subagent-boundary.md +5 -0
- package/docs/contracts/ticket-bundle-format.md +9 -4
- package/docs/contracts/tier-3-contrib-plugin.md +2 -2
- package/docs/contracts/write-engine.md +3 -0
- package/docs/customization.md +87 -15
- package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +1 -1
- package/docs/decisions/ADR-109-subagent-v1-contract.md +246 -0
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +105 -0
- package/docs/decisions/INDEX.md +2 -0
- package/docs/distribution/awesome-list-submission.md +46 -0
- package/docs/distribution/launch-story-draft.md +58 -0
- package/docs/end-to-end-walkthroughs.md +2 -2
- package/docs/getting-started.md +2 -2
- package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +24 -0
- package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +1 -1
- package/docs/guidelines/agent-infra/linked-projects-onboarding-gate.md +2 -2
- package/docs/guidelines/agent-infra/missing-tool-handling.md +3 -3
- package/docs/guidelines/agent-infra/verify-before-complete-demos.md +2 -2
- package/docs/guidelines/augment-portability-patterns.md +1 -1
- package/docs/guidelines/code-clarity.md +19 -0
- package/docs/guidelines/design-antipatterns-triggers.json +2 -1
- package/docs/guidelines/design-antipatterns.md +10 -1
- package/docs/guidelines/design-modes.md +6 -0
- package/docs/guidelines/php/general.md +9 -1
- package/docs/guidelines/php/php-coding-patterns.md +7 -0
- package/docs/guides/cross-repo-retrieval.md +1 -1
- package/docs/guides/frontend-design-corpus-refresh.md +2 -2
- package/docs/guides/local-analytics.md +4 -4
- package/docs/guides/skill-discovery.md +1 -1
- package/docs/guides/skill-preview.md +1 -1
- package/docs/hook-payload-capture.md +6 -6
- package/docs/install-friction-report.md +66 -0
- package/docs/installation.md +1 -1
- package/docs/maintainers/optional-media-deps.md +50 -0
- package/docs/mcp-server.md +11 -12
- package/docs/media/proof-demo.cast +14 -0
- package/docs/media/proof-demo.gif +0 -0
- package/docs/migration/consumer-template-consumption-model.md +1 -1
- package/docs/migration/divergences/bench-stats-float-precision.md +1 -1
- package/docs/migration/node-floor.md +1 -1
- package/docs/migration/yaml-roundtrip-spike.md +1 -1
- package/docs/personas.md +16 -5
- package/docs/positioning-evidence.md +86 -0
- package/docs/proof.md +86 -0
- package/docs/skills-catalog.md +1 -1
- package/docs/troubleshooting.md +8 -8
- package/docs/wedge/production-validator/README.md +57 -0
- package/docs/wedge/production-validator/production-validator.md +56 -0
- package/docs/wizard.md +2 -2
- package/package.json +1 -1
- package/src/config/agent-settings.template.yml +59 -4
- package/src/config/agents-paths.yml +254 -0
- package/src/config/budgets.yml +16 -0
- package/src/config/discovery/packs.yml +1 -0
- package/src/config/discovery/unassigned-artefacts.yml +2 -0
- package/src/config/gitignore-block.txt +25 -0
- package/src/config/host-capabilities.yml +31 -0
- package/src/config/profiles/balanced.ini +4 -0
- package/src/config/profiles/full.ini +4 -0
- package/src/config/profiles/minimal.ini +4 -0
- package/src/scripts/_cli/cmd_conformance.ts +716 -0
- package/src/scripts/_cli/cmd_doctor.ts +23 -2
- package/src/scripts/_cli/cmd_fleet.ts +401 -0
- package/src/scripts/_cli/cmd_preflight.ts +159 -0
- package/src/scripts/_dispatch.bash +10 -0
- package/src/scripts/_lib/knowledge_events.ts +193 -0
- package/src/scripts/_lib/subagent_steering.ts +115 -3
- package/src/scripts/_lib/text_similarity.ts +75 -0
- package/src/scripts/ai-video/test-pipeline.sh +1 -1
- package/src/scripts/ai_council/clients.ts +19 -3
- package/src/scripts/append_contested.ts +112 -0
- package/src/scripts/audit_auto_rules.ts +11 -1
- package/src/scripts/audit_mcp_tools.ts +25 -11
- package/src/scripts/bench_ab_v2_run.ts +527 -40
- package/src/scripts/bench_ab_v2_stats.ts +6 -0
- package/src/scripts/bench_matrix.ts +266 -0
- package/src/scripts/bootstrap_knowledge.ts +267 -0
- package/src/scripts/build_discovery_manifest.ts +42 -2
- package/src/scripts/build_proof.ts +214 -0
- package/src/scripts/check_always_budget.ts +3 -0
- package/src/scripts/check_augment_description_cap.ts +2 -2
- package/src/scripts/check_claims.ts +270 -0
- package/src/scripts/check_comparison.ts +79 -0
- package/src/scripts/check_generated_artefact_headers.ts +109 -0
- package/src/scripts/check_generator_output_coverage.ts +142 -0
- package/src/scripts/check_gitignore_freshness.ts +127 -0
- package/src/scripts/check_knowledge_pages.ts +210 -0
- package/src/scripts/check_knowledge_sharing.ts +162 -0
- package/src/scripts/check_media_deps.ts +91 -0
- package/src/scripts/check_memory_contradiction.ts +280 -0
- package/src/scripts/check_memory_similarity.ts +134 -0
- package/src/scripts/check_quality_regression.ts +56 -10
- package/src/scripts/check_references.ts +3 -1
- package/src/scripts/check_release_pr_shape.ts +4 -0
- package/src/scripts/check_site_links.ts +135 -0
- package/src/scripts/check_skill_gaps.ts +99 -0
- package/src/scripts/check_token_quality_golden.ts +197 -11
- package/src/scripts/check_tracked_but_ignored.ts +67 -0
- package/src/scripts/cluster_near_miss_patterns.ts +0 -0
- package/src/scripts/compile_router.ts +30 -3
- package/src/scripts/condense.ts +350 -14
- package/src/scripts/consolidate_knowledge_events.ts +192 -0
- package/src/scripts/degrade_to_pointer.ts +136 -0
- package/src/scripts/design_slop_rules.test.ts +15 -0
- package/src/scripts/design_slop_rules.ts +28 -0
- package/src/scripts/emit_knowledge_event.ts +158 -0
- package/src/scripts/export_replay_corpus.ts +187 -0
- package/src/scripts/external_sources_denylist.json +7 -2
- package/src/scripts/fold_intake.ts +281 -0
- package/src/scripts/generate_capability_matrix.ts +9 -1
- package/src/scripts/generate_knowledge_index.ts +222 -0
- package/src/scripts/hook_manifest.yaml +26 -14
- package/src/scripts/hooks/dispatch_hook.ts +18 -0
- package/src/scripts/hot_context_hook.ts +372 -0
- package/src/scripts/install +47 -0
- package/src/scripts/install-hooks.sh +17 -0
- package/src/scripts/inventory_meta_layers.ts +11 -0
- package/src/scripts/janitor.ts +258 -0
- package/src/scripts/lint_agents_layout.ts +74 -15
- package/src/scripts/lint_bench_ab.ts +4 -1
- package/src/scripts/lint_featured_skills.ts +0 -0
- package/src/scripts/lint_framework_leakage_allowlist.json +26 -3
- package/src/scripts/lint_knowledge_scale.ts +250 -0
- package/src/scripts/lint_legal_pack.ts +67 -0
- package/src/scripts/lint_persona_governance.ts +8 -3
- package/src/scripts/lint_regression.ts +15 -0
- package/src/scripts/lint_roadmap_blockers.ts +202 -0
- package/src/scripts/lint_roadmap_complexity.ts +81 -2
- package/src/scripts/lint_subagent_determinism.ts +125 -0
- package/src/scripts/measure_augment_budget.ts +46 -6
- package/src/scripts/measure_patterns.ts +4 -3
- package/src/scripts/measure_skill_reduction.ts +6 -6
- package/src/scripts/migration_status.ts +6 -2
- package/src/scripts/mine_missing_guardrails.ts +189 -0
- package/src/scripts/parity/phase_gate.ts +1 -1
- package/src/scripts/parity/replay.ts +21 -0
- package/src/scripts/project_thin_rules.ts +120 -16
- package/src/scripts/release.ts +39 -1
- package/src/scripts/render_benchmark_composite.ts +378 -0
- package/src/scripts/roadmap_progress_hook.ts +101 -43
- package/src/scripts/schemas/skill.schema.json +27 -0
- package/src/scripts/schemas/subagent.schema.json +106 -0
- package/src/scripts/skill_linter.ts +1 -0
- package/src/scripts/smoke/kernel.sh +5 -4
- package/src/scripts/surface-tiers.yml +1 -0
- package/src/scripts/sync_gitignore.ts +4 -0
- package/src/scripts/update_skill_candidates.ts +172 -0
- package/src/scripts/validate_frontmatter.ts +1 -0
|
@@ -94,11 +94,11 @@ type, affected paths) per
|
|
|
94
94
|
|
|
95
95
|
Surface the draft and ask:
|
|
96
96
|
|
|
97
|
-
> 1. Propose this candidate to `/memory propose`
|
|
97
|
+
> 1. Propose this candidate to `/memory propose`
|
|
98
98
|
> 2. Refine before proposing โ suggest changes
|
|
99
99
|
> 3. Skip memory candidate for now
|
|
100
100
|
|
|
101
|
-
**
|
|
101
|
+
**Recommendation:** 1
|
|
102
102
|
|
|
103
103
|
### Rules
|
|
104
104
|
|
|
@@ -90,11 +90,11 @@ draft an `incident-learnings` candidate via `/memory propose`:
|
|
|
90
90
|
|
|
91
91
|
### 5. Surface the candidate to the user
|
|
92
92
|
|
|
93
|
-
> 1. Propose this candidate to `/memory propose`
|
|
93
|
+
> 1. Propose this candidate to `/memory propose`
|
|
94
94
|
> 2. Refine before proposing โ suggest changes
|
|
95
95
|
> 3. Skip memory candidate for now
|
|
96
96
|
|
|
97
|
-
**
|
|
97
|
+
**Recommendation:** 1
|
|
98
98
|
|
|
99
99
|
### Rules
|
|
100
100
|
|
|
@@ -108,11 +108,11 @@ update an existing one.
|
|
|
108
108
|
|
|
109
109
|
Present the draft candidate and ask:
|
|
110
110
|
|
|
111
|
-
> 1. Propose this candidate to `/memory propose`
|
|
111
|
+
> 1. Propose this candidate to `/memory propose`
|
|
112
112
|
> 2. Refine before proposing โ suggest changes
|
|
113
113
|
> 3. Skip memory candidate for now
|
|
114
114
|
|
|
115
|
-
**
|
|
115
|
+
**Recommendation:** 1
|
|
116
116
|
|
|
117
117
|
### Rules
|
|
118
118
|
|
|
@@ -82,11 +82,11 @@ If the analysis surfaces a pattern worth preserving for future plans:
|
|
|
82
82
|
|
|
83
83
|
3. Surface the candidate to the user and ask:
|
|
84
84
|
|
|
85
|
-
> 1. Propose this candidate to `/memory propose`
|
|
85
|
+
> 1. Propose this candidate to `/memory propose`
|
|
86
86
|
> 2. Refine before proposing โ suggest changes
|
|
87
87
|
> 3. Skip memory candidate for now
|
|
88
88
|
|
|
89
|
-
**
|
|
89
|
+
**Recommendation:** 1
|
|
90
90
|
|
|
91
91
|
### Rules
|
|
92
92
|
|
|
@@ -100,6 +100,31 @@ BUDGET_PERIOD=week node scripts/cost/budget.mjs check
|
|
|
100
100
|
|
|
101
101
|
Allowed values: `today`, `week`, `month`, `all` (default).
|
|
102
102
|
|
|
103
|
+
### 6. Orchestration telemetry summary (when telemetry exists)
|
|
104
|
+
|
|
105
|
+
Read the current-month JSONL from `agents/runtime/state/audit/YYYY-MM.jsonl`
|
|
106
|
+
(`YYYY-MM` = current UTC month). If it exists and has lines with `input_kind:
|
|
107
|
+
"orchestration"`, surface an orchestration summary via `readOrchestrationMetrics`
|
|
108
|
+
from `src/scripts/_lib/subagent_steering.ts`:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Orchestration telemetry (YYYY-MM, N dispatches):
|
|
112
|
+
avg token_delta: ยฑNNN (positive = cost more; negative = saved)
|
|
113
|
+
spawn_failure_rate: N.N% (threshold: 10%)
|
|
114
|
+
verify_skip_rate: N.N% (threshold: 1%)
|
|
115
|
+
guardrail breaches: [token_blowup | spawn_failure | verify_skip | none]
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
No orchestration lines yet (capture not running or no delegated dispatches this
|
|
119
|
+
month) โ surface:
|
|
120
|
+
|
|
121
|
+
> No orchestration telemetry yet โ subagent dispatches begin writing to
|
|
122
|
+
> `agents/runtime/state/audit/YYYY-MM.jsonl` once `subagents.enabled: true`
|
|
123
|
+
> and a dispatch runs.
|
|
124
|
+
|
|
125
|
+
Skip this step entirely if the user did not ask about orchestration telemetry and
|
|
126
|
+
there is no `agents/runtime/state/audit/` directory.
|
|
127
|
+
|
|
103
128
|
## Rules
|
|
104
129
|
|
|
105
130
|
- **Local-only.** Never persist cost data to remote stores. The
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"command": "analyze",
|
|
3
|
+
"intent": "Analysis dispatcher โ classify input by keywords, propose a weighted framework path, let the user pick",
|
|
4
|
+
"cases": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "analyze what went wrong in yesterday's deploy",
|
|
7
|
+
"expected": "analyze"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "run a post-mortem on the checkout outage",
|
|
11
|
+
"expected": "analyze"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "we're about to launch โ do a pre-mortem on the migration plan",
|
|
15
|
+
"expected": "analyze"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"prompt": "review the decision we made about the queue architecture last quarter",
|
|
19
|
+
"expected": "analyze"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"prompt": "that was almost a data-loss incident โ analyze the near miss",
|
|
23
|
+
"expected": "analyze"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"prompt": "walk me through a structured incident analysis for the API downtime",
|
|
27
|
+
"expected": "analyze"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"command": "mission-upgrade",
|
|
3
|
+
"intent": "Upgrade a Laravel application one major version (10โ11, 11โ12) via the gated /work engine with a structured breaking-change catalog",
|
|
4
|
+
"cases": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "upgrade our Laravel app from 10 to 11",
|
|
7
|
+
"expected": "mission-upgrade"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "bump laravel/framework to the next major version",
|
|
11
|
+
"expected": "mission-upgrade"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "run the Laravel 11 to 12 upgrade with the breaking-change catalog",
|
|
15
|
+
"expected": "mission-upgrade"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"prompt": "plan and execute the framework major-version upgrade for this Laravel project",
|
|
19
|
+
"expected": "mission-upgrade"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"prompt": "migrate this app to the new Laravel major release",
|
|
23
|
+
"expected": "mission-upgrade"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"prompt": "our composer.json pins laravel 10 โ take it to 11 safely",
|
|
27
|
+
"expected": "mission-upgrade"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -61,7 +61,7 @@ engine โ they make a `lite`-tier build safe (per
|
|
|
61
61
|
`done`. If a dependency is open, STOP and surface it โ never build
|
|
62
62
|
out of order.
|
|
63
63
|
- **Pre-build staleness gate.** Run
|
|
64
|
-
|
|
64
|
+
`./scripts-run src/scripts/lint_ticket_buildable` on the bundle. An
|
|
65
65
|
`adr_refs` SHA drift is a **hard** stop ("re-emit the bundle"); a
|
|
66
66
|
`source_refs` SHA drift only **warns** and proceeds (split severity).
|
|
67
67
|
- **Boundary guard.** Carry the ticket's `boundaries`
|
|
@@ -46,7 +46,7 @@ sorted by `created_at` ascending. Read-only by default; `--pin` and
|
|
|
46
46
|
### 2. Run the implementation
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
|
-
|
|
49
|
+
./agent-config knowledge \
|
|
50
50
|
list [--format=...] [--pin <id-prefix>] [--unpin <id-prefix>]
|
|
51
51
|
```
|
|
52
52
|
|
|
@@ -66,15 +66,16 @@ If the lookup helper does not yet support `--priority`, fall back to a
|
|
|
66
66
|
file-only sweep:
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
69
|
+
node -e '
|
|
70
|
+
const fs = require("fs"), path = require("path"), yaml = require("js-yaml");
|
|
71
|
+
const glob = (dir) => fs.readdirSync(dir, {recursive: true}).filter(f => f.endsWith(".yml")).map(f => path.join(dir, f));
|
|
72
|
+
for (const f of glob("agents/memory").sort()) {
|
|
73
|
+
const data = yaml.load(fs.readFileSync(f, "utf8")) || {};
|
|
74
|
+
for (const e of data.entries || [])
|
|
75
|
+
if (e.priority === "critical" && e.status === "active")
|
|
76
|
+
console.log("---", path.basename(path.dirname(f)) + "/" + e.id, "\n" + yaml.dump(e, {sortKeys: false}));
|
|
77
|
+
}
|
|
78
|
+
'
|
|
78
79
|
```
|
|
79
80
|
|
|
80
81
|
The Tier-0 slice is surfaced once per `/memory:load` invocation, even
|
|
@@ -88,7 +89,7 @@ Before loading, count the entries:
|
|
|
88
89
|
|
|
89
90
|
```bash
|
|
90
91
|
./agent-config memory:lookup --types <type> --format json | \
|
|
91
|
-
|
|
92
|
+
node -e "const d = []; process.stdin.on('data', c => d.push(c)); process.stdin.on('end', () => console.log(JSON.parse(d.join('')).length))"
|
|
92
93
|
```
|
|
93
94
|
|
|
94
95
|
If the count exceeds 25, warn:
|
|
@@ -131,7 +132,7 @@ After step 4, count unreviewed intake entries for the same type:
|
|
|
131
132
|
|
|
132
133
|
```bash
|
|
133
134
|
./agent-config memory:lookup --types <type> --intake-only --format json | \
|
|
134
|
-
|
|
135
|
+
node -e "const d = []; process.stdin.on('data', c => d.push(c)); process.stdin.on('end', () => console.log(JSON.parse(d.join('')).length))"
|
|
135
136
|
```
|
|
136
137
|
|
|
137
138
|
Read `memory.review_threshold` from `.agent-settings.yml` (default 10).
|
|
@@ -116,6 +116,36 @@ schema to write to and record the override in the `source:` block.
|
|
|
116
116
|
|
|
117
117
|
Show the YAML draft and ask for confirmation before writing.
|
|
118
118
|
|
|
119
|
+
### 3b. Contradiction check โ durable types only
|
|
120
|
+
|
|
121
|
+
For the behaviorally load-bearing durable types (`incident-learnings`,
|
|
122
|
+
`product-rules`, `domain-invariants`), run the mechanical contradiction
|
|
123
|
+
detector before writing (same primary key + Jaccard body similarity
|
|
124
|
+
< 0.3 โ same topic, different claim):
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
./scripts-run src/scripts/check_memory_contradiction \
|
|
128
|
+
--type <type> --key <curated id or key field> --body "<draft body>"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
- Exit `0` โ proceed to Step 4.
|
|
132
|
+
- Exit `1` โ a potential contradiction pair was surfaced. **Never
|
|
133
|
+
auto-resolve** (council REJECT list). Ask the human via the contested
|
|
134
|
+
flow:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
> โ ๏ธ The draft may contradict an existing durable entry (same key, low similarity).
|
|
138
|
+
>
|
|
139
|
+
> 1. Approve new + mark the existing entry `contested` (with provenance: what changed, which session)
|
|
140
|
+
> 2. Revise the new draft โ the existing entry stands
|
|
141
|
+
> 3. Both are valid in different scopes โ narrow the new entry's key and re-check
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Warning surface, not a gate โ the human's pick resolves it; the
|
|
145
|
+
detector never blocks a promote on its own. Non-durable types
|
|
146
|
+
(`sessions`-style exploratory content, `recurring-patterns`, โฆ) are
|
|
147
|
+
deliberately not checked โ they evolve legitimately.
|
|
148
|
+
|
|
119
149
|
### 4. Write the curated entry (content-addressed)
|
|
120
150
|
|
|
121
151
|
Compute the content hash and write a **one-entry file** at
|
|
@@ -75,7 +75,21 @@ Ask once, numbered. If the user picks `skip`, proceed without them:
|
|
|
75
75
|
primary tag picks the intake JSONL file, the promoter resolves the
|
|
76
76
|
curated target via tag intersection.
|
|
77
77
|
|
|
78
|
-
### 4.
|
|
78
|
+
### 4. Check for a near-duplicate (advisory)
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
./scripts-run src/scripts/check_memory_similarity --type <type> --body "<body>"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Token-Jaccard similarity against existing intake signals of the same
|
|
85
|
+
type โ advisory, additive, never touches the exact-match dedup in
|
|
86
|
+
Step 5. Exit 1 (โฅ 80% similar) โ surface the matched signal id and ask
|
|
87
|
+
whether to reuse/update it instead of creating a new one; proceed to
|
|
88
|
+
Step 5 only if the user confirms this is a genuinely distinct finding.
|
|
89
|
+
Exit 0 with a "nearest match" note (40โ79% similar) โ mention it, then
|
|
90
|
+
proceed. Exit 0 with no match โ proceed silently.
|
|
91
|
+
|
|
92
|
+
### 5. Emit via the shared helper
|
|
79
93
|
|
|
80
94
|
```bash
|
|
81
95
|
./agent-config memory:signal \
|
|
@@ -95,7 +109,7 @@ automatically โ re-running the command on the same finding will
|
|
|
95
109
|
silently skip the write. Add `--force` only when deliberate duplication
|
|
96
110
|
is intended (rarely).
|
|
97
111
|
|
|
98
|
-
###
|
|
112
|
+
### 6. Confirm and close
|
|
99
113
|
|
|
100
114
|
```
|
|
101
115
|
> โ
Signal queued as id=<sig-xxxxxx> in <file>.
|
|
@@ -42,7 +42,7 @@ Before starting, confirm:
|
|
|
42
42
|
Any fail โ surface the conflict and stop. Run:
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
|
-
|
|
45
|
+
./scripts-run src/scripts/lint_missions --check-precondition upgrade .
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
(Currently a documented stub โ full live-repo check lands in Phase 1 PoC.)
|
|
@@ -41,11 +41,15 @@ unset):
|
|
|
41
41
|
- **Node / TS monorepo**: Check `packages/`, `apps/`, or `modules/`.
|
|
42
42
|
- **Python**: Check top-level package dirs under `src/<package>/` or flat `<package>/`.
|
|
43
43
|
- **Go**: Check `internal/<domain>/` or `cmd/<service>/`.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
|
|
45
|
+
If both the `modules:` block and the fallback table yield nothing:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
โ ๏ธ No module system found (no Modules/, src/<Domain>/, packages/, internal/, or equivalent directory).
|
|
49
|
+
Run `./scripts-run src/scripts/propose_modules_config` to surface candidates.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Stop.
|
|
49
53
|
|
|
50
54
|
### 2. List available modules
|
|
51
55
|
|
|
@@ -82,8 +86,8 @@ Let `{module_dir}` be the selected module's `module_path` from
|
|
|
82
86
|
|
|
83
87
|
**Structure:**
|
|
84
88
|
- List all directories and files (2 levels deep)
|
|
85
|
-
- Count
|
|
86
|
-
- List route files and their contents
|
|
89
|
+
- Count source files per directory (Controllers, Services, Models, Jobs, Commands, etc. โ adapt to the configured stack)
|
|
90
|
+
- List route / entry-point files and their contents
|
|
87
91
|
|
|
88
92
|
**Code:**
|
|
89
93
|
- Use `codebase-retrieval` to understand the module's purpose and key classes
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
---
|
|
2
|
+
model_tier: high
|
|
3
|
+
name: optimize-project
|
|
4
|
+
pack: engineering-base
|
|
5
|
+
tier: 2
|
|
6
|
+
visibility: internal
|
|
7
|
+
skills: [project-analyzer, decision-review, roadmap-writing]
|
|
8
|
+
description: "Project-wide optimization sweep โ inventory roadmaps, ADRs, agent folders (incl. modules), challenge stale decisions with the user in the loop, emit new roadmap(s). E.g. 'optimize this project'."
|
|
9
|
+
suggestion:
|
|
10
|
+
eligible: true
|
|
11
|
+
trigger_description: "optimize this project, optimize the project, what should we improve based on current state, challenge our old decisions, are our roadmaps and ADRs still right, optimiere das Projekt, hinterfrag unsere alten Entscheidungen"
|
|
12
|
+
trigger_context: "user wants a project-wide review that questions existing state (roadmaps, ADRs, decisions, structures) and ends in new roadmap(s) โ NOT a bug fix, NOT a single-decision audit (/analyze:decision), NOT agent-layer tooling (/optimize)"
|
|
13
|
+
workspaces:
|
|
14
|
+
- engineering
|
|
15
|
+
- agent-config-maintainer
|
|
16
|
+
packs:
|
|
17
|
+
- meta
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# /optimize-project
|
|
21
|
+
|
|
22
|
+
Project-wide optimization loop: **inventory โ challenge โ interview โ
|
|
23
|
+
roadmap(s)**. Analyzes project it runs in (package or consumer),
|
|
24
|
+
questions existing state โ roadmaps, ADRs, decisions, structures, in
|
|
25
|
+
this package e.g. token consumption, memory, learnings โ asks user
|
|
26
|
+
when flipping old decision would be real improvement, ends by emitting
|
|
27
|
+
one or more NEW roadmaps via `/roadmap:create`.
|
|
28
|
+
|
|
29
|
+
**Coordinator** over existing primitives โ composes, never
|
|
30
|
+
reimplements: `/project-health`-style inventory, `/challenge-me`
|
|
31
|
+
interview mechanics, `/analyze:decision`-style decision challenge,
|
|
32
|
+
`/roadmap:create` output.
|
|
33
|
+
|
|
34
|
+
> Looking for agent-layer tooling (skills, agents-dir, augmentignore,
|
|
35
|
+
> rtk filters)? That is the [`/optimize`](optimize.md) cluster โ
|
|
36
|
+
> different surface. This command optimizes the **project**, not the
|
|
37
|
+
> agent layer.
|
|
38
|
+
|
|
39
|
+
## When to invoke
|
|
40
|
+
|
|
41
|
+
- "Optimize this project" / "optimiere das Projekt".
|
|
42
|
+
- "What should we improve based on the current state?"
|
|
43
|
+
- "Challenge our old decisions" / "are our roadmaps and ADRs still right?"
|
|
44
|
+
- Periodic hygiene: roadmaps accumulated, decisions feel stale,
|
|
45
|
+
structures grew organically, nobody questioned them.
|
|
46
|
+
|
|
47
|
+
Do NOT invoke for: single named bug ("fix this"), single decision
|
|
48
|
+
audit (route to `/analyze:decision`), code-only analysis
|
|
49
|
+
(`/project-analyze`), AGENTS.md / agent-layer work (`/agents`,
|
|
50
|
+
`/optimize`).
|
|
51
|
+
|
|
52
|
+
## Steps
|
|
53
|
+
|
|
54
|
+
### Step 0 โ Scope detection (read-only)
|
|
55
|
+
|
|
56
|
+
1. Detect target type:
|
|
57
|
+
- **Package mode** โ repo IS `event4u/agent-config` (marker:
|
|
58
|
+
`src/config/budgets.yml` + `dist/agent-src/` present). Optimization
|
|
59
|
+
surface additionally: token budget, memory index,
|
|
60
|
+
learnings/knowledge corpus, lint debt.
|
|
61
|
+
- **Consumer mode** โ any other project with `agents/` tree and/or
|
|
62
|
+
installed agent layer. Surface = workflows, structures, docs,
|
|
63
|
+
roadmaps, decisions.
|
|
64
|
+
2. Resolve module roots via
|
|
65
|
+
`scripts/_lib/agent_settings.py::enumerate_modules()` (Laravel shape:
|
|
66
|
+
`app/Modules/*/agents/`); fallback `modules.root_paths` in
|
|
67
|
+
`.agent-settings.yml`.
|
|
68
|
+
3. Exclusions hard: never analyze `vendor/`, `node_modules/`, `dist/`,
|
|
69
|
+
any generated projection (`.augment/`, `.claude/`, `.cursor/`).
|
|
70
|
+
|
|
71
|
+
### Step 1 โ Inventory (read-only, parallel)
|
|
72
|
+
|
|
73
|
+
Gather without creating or modifying anything:
|
|
74
|
+
|
|
75
|
+
- **Roadmaps** โ `agents/roadmaps/` (+ per-module roadmap dirs): counts
|
|
76
|
+
per disposition (active / `later/` / `skipped/` / `archive/`),
|
|
77
|
+
per-roadmap open/done/deferred checkbox counts, staleness
|
|
78
|
+
(mtime > 60 days with open items), complete-but-unarchived.
|
|
79
|
+
- **Decisions** โ ADR dirs (`docs/adr/`, `docs/decisions/`,
|
|
80
|
+
`agents/decisions/`): count, age distribution, `status:` fields,
|
|
81
|
+
superseded chains.
|
|
82
|
+
- **Agent folders** โ `agents/` root + every module `agents/` folder:
|
|
83
|
+
docs, features, contexts; orphaned or stale files (referencing
|
|
84
|
+
deleted code).
|
|
85
|
+
- **Memory / learnings** (if present) โ memory index size, knowledge
|
|
86
|
+
cards, low-impact decisions corpus; entries whose subject no longer
|
|
87
|
+
exists in repo.
|
|
88
|
+
- **Package mode only** โ budget usage vs cap
|
|
89
|
+
(`src/config/budgets.yml`), kernel share, corpus size trends, known
|
|
90
|
+
lint debt, honest-null / don't-relitigate lock inventory (memory
|
|
91
|
+
index + `agents/settings/contexts/`).
|
|
92
|
+
|
|
93
|
+
Emit compact inventory report (counts + flagged items), in user's
|
|
94
|
+
language. Present findings incrementally, not one dump.
|
|
95
|
+
|
|
96
|
+
### Step 2 โ Findings & challenge candidates
|
|
97
|
+
|
|
98
|
+
Classify everything flagged in Step 1 into three buckets:
|
|
99
|
+
|
|
100
|
+
1. **Mechanical optimizations** โ no decision needed, just work: stale
|
|
101
|
+
roadmap cleanup, complete-but-unarchived roadmaps, dead references,
|
|
102
|
+
missing module docs, memory entries pointing at deleted code.
|
|
103
|
+
2. **Decision-challenge candidates** โ existing decision (ADR, lock,
|
|
104
|
+
council verdict, structural convention) whose original assumptions
|
|
105
|
+
may no longer hold. Per candidate record: *the decision ยท original
|
|
106
|
+
assumption ยท what changed since ยท expected gain from flipping ยท flip
|
|
107
|
+
cost/blast radius*. Candidate without concrete "what changed" is not
|
|
108
|
+
a candidate โ drop it.
|
|
109
|
+
3. **Structural / process improvements** โ recurring friction visible
|
|
110
|
+
in inventory (e.g. roadmap sprawl, duplicate contexts, token
|
|
111
|
+
hot-spots in package mode).
|
|
112
|
+
|
|
113
|
+
Rank by expected impact vs. effort. **Cap decision-challenge list at
|
|
114
|
+
top 5** (override: `--max-questions=N`). Everything below cap carries
|
|
115
|
+
into Step 4 as "further candidates" โ never silently dropped.
|
|
116
|
+
|
|
117
|
+
Before a candidate built on a claim about current state enters the
|
|
118
|
+
interview, verify the claim against the real source (grep, file read,
|
|
119
|
+
live git/CI state) per
|
|
120
|
+
[`source-discovery-gate`](../rules/source-discovery-gate.md) โ
|
|
121
|
+
never challenge a decision from a remembered or assumed fact.
|
|
122
|
+
|
|
123
|
+
### Step 3 โ Challenge interview (user-gated, budgeted)
|
|
124
|
+
|
|
125
|
+
One question per turn, numbered options with recommendation โ
|
|
126
|
+
`/challenge-me` mechanics, per
|
|
127
|
+
[`ask-when-uncertain`](../rules/ask-when-uncertain.md) and
|
|
128
|
+
[`user-interaction`](../rules/user-interaction.md).
|
|
129
|
+
|
|
130
|
+
Per candidate, present:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
> **Decision:** <what was decided, where it is recorded>
|
|
134
|
+
> **Then:** <original assumption>
|
|
135
|
+
> **Now:** <what changed โ with evidence source>
|
|
136
|
+
> **Gain if flipped:** <expected improvement> ยท **Cost:** <blast radius>
|
|
137
|
+
>
|
|
138
|
+
> 1. Keep โ assumptions still hold
|
|
139
|
+
> 2. Flip โ schedule the change in the output roadmap
|
|
140
|
+
> 3. Re-evaluate via council โ genuinely contested, worth a multi-model pass
|
|
141
|
+
> 4. Defer โ park as "further candidate"
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Hard rules for this step:
|
|
145
|
+
|
|
146
|
+
- **Locked decisions are never silently flipped.** Honest-null verdict,
|
|
147
|
+
"don't relitigate" note, budget-canon line, or locked council
|
|
148
|
+
convergence follows
|
|
149
|
+
[`decision-revisit-gate`](../rules/decision-revisit-gate.md):
|
|
150
|
+
check the lock's mechanism/scope actually matches the proposed change
|
|
151
|
+
and its recorded revisit-conditions first; if it truly blocks, the
|
|
152
|
+
only flip path offered is option 3 (council re-eval) โ "Flip" is not
|
|
153
|
+
offered for locks.
|
|
154
|
+
- **Session budget:** max 5 interview questions by default
|
|
155
|
+
(`--max-questions=N` to override). Budget exhausted โ remaining
|
|
156
|
+
candidates go to Step 4 as "further candidates".
|
|
157
|
+
- Interview answers adopted immediately; never re-argue a settled
|
|
158
|
+
answer.
|
|
159
|
+
|
|
160
|
+
### Step 4 โ Synthesize โ roadmap(s)
|
|
161
|
+
|
|
162
|
+
1. Group accepted work โ mechanical optimizations + flipped decisions +
|
|
163
|
+
structural improvements โ into **one or more roadmaps by concern**
|
|
164
|
+
(keep k small; one roadmap per coherent theme, not one per finding).
|
|
165
|
+
2. For each group, route to [`/roadmap:create`](roadmap/create.md)
|
|
166
|
+
with structured seed: goal, findings (with evidence), accepted
|
|
167
|
+
interview decisions, "further candidates" section for uninterviewed
|
|
168
|
+
remainder.
|
|
169
|
+
3. Council re-evals chosen in interview (option 3) land as explicit
|
|
170
|
+
first step in the matching roadmap โ do NOT auto-run the council
|
|
171
|
+
from here.
|
|
172
|
+
4. Regenerate roadmap dashboard in same reply
|
|
173
|
+
(`./agent-config roadmap:progress`) per
|
|
174
|
+
[`roadmap-progress-sync`](../rules/roadmap-progress-sync.md).
|
|
175
|
+
5. **Hand back and stop.** Per
|
|
176
|
+
[`scope-control ยง Authoring vs. implementation`](../rules/scope-control.md)
|
|
177
|
+
the roadmap is the deliverable โ never auto-offer
|
|
178
|
+
`/roadmap:process-*` or start executing.
|
|
179
|
+
|
|
180
|
+
## Output
|
|
181
|
+
|
|
182
|
+
1. **Inventory report** (Step 1) โ compact counts + flagged items.
|
|
183
|
+
2. **Findings report** (Step 2) โ three buckets, ranked, with
|
|
184
|
+
challenge-candidate cards.
|
|
185
|
+
3. **Interview** (Step 3) โ one question per turn, โค budget.
|
|
186
|
+
4. **Roadmap file(s)** (Step 4) โ the only files this command creates,
|
|
187
|
+
via `/roadmap:create`, plus dashboard regen.
|
|
188
|
+
|
|
189
|
+
## Rules
|
|
190
|
+
|
|
191
|
+
- **Read-only until Step 4.** Only writes: new roadmap file(s) +
|
|
192
|
+
dashboard regen. No code edits, no doc rewrites, no deletion โ
|
|
193
|
+
cleanup work becomes roadmap steps, not inline actions.
|
|
194
|
+
- **Never edit or delete existing roadmaps / ADRs / decisions** โ
|
|
195
|
+
flipped decision becomes a roadmap step ("supersede ADR-NNN with โฆ"),
|
|
196
|
+
never an in-place edit from this command.
|
|
197
|
+
- **No commits, no push, no PR** โ [`commit-policy`](../rules/commit-policy.md).
|
|
198
|
+
- **Never silently flip a lock** โ [`decision-revisit-gate`](../rules/decision-revisit-gate.md).
|
|
199
|
+
- **One question per turn**, recommendation line under every options
|
|
200
|
+
block.
|
|
201
|
+
- Mirror user's language in all reports and questions.
|
|
202
|
+
|
|
203
|
+
## Gotchas
|
|
204
|
+
|
|
205
|
+
- **Unbounded interview** โ without question budget the decision-flip
|
|
206
|
+
loop can eat the session. Cap is load-bearing; don't lift silently.
|
|
207
|
+
- **Re-litigating without new evidence** โ challenge candidate needs
|
|
208
|
+
concrete "what changed". "I would decide differently today" is not
|
|
209
|
+
evidence; check the lock's recorded revisit-conditions first.
|
|
210
|
+
- **Scope bleed into `/optimize`** โ token/skill/agents-dir tooling
|
|
211
|
+
findings in package mode are reported, but their execution routes to
|
|
212
|
+
`/optimize` cluster sub-commands inside the output roadmap.
|
|
213
|
+
- **Roadmap sprawl as output** โ five roadmaps for one theme recreates
|
|
214
|
+
the problem this command fixes. Group by concern.
|
|
215
|
+
- **Vendor noise** โ module enumeration comes from
|
|
216
|
+
`enumerate_modules()`, never a bare glob that catches `vendor/`.
|
|
217
|
+
|
|
218
|
+
## Do NOT
|
|
219
|
+
|
|
220
|
+
- Do NOT execute any found optimization in this command's turn โ the
|
|
221
|
+
roadmap is the deliverable.
|
|
222
|
+
- Do NOT auto-run a council session; record it as a roadmap step.
|
|
223
|
+
- Do NOT offer "Flip" on locked decisions โ council re-eval only.
|
|
224
|
+
- Do NOT create analysis files (that is `/project-analyze`); this
|
|
225
|
+
command creates roadmaps only.
|
|
226
|
+
- Do NOT re-ask a settled interview answer.
|
|
227
|
+
|
|
228
|
+
## See also
|
|
229
|
+
|
|
230
|
+
- [`/optimize`](optimize.md) โ agent-layer tooling cluster (skills,
|
|
231
|
+
agents-dir, augmentignore, rtk); cross-linked on purpose โ closest
|
|
232
|
+
name, different surface.
|
|
233
|
+
- [`/project-analyze`](project-analyze.md) โ deep code/stack analysis
|
|
234
|
+
with analysis-file output.
|
|
235
|
+
- [`/project-health`](project-health.md) โ quick read-only counts, no
|
|
236
|
+
challenge loop.
|
|
237
|
+
- [`/analyze:decision`](analyze/decision.md) โ single-decision audit;
|
|
238
|
+
this command sweeps and hands hot ones to the interview.
|
|
239
|
+
- [`/challenge-me with-docs`](challenge-me/with-docs.md) โ interview
|
|
240
|
+
mechanics this command borrows, applied to a seed instead of the
|
|
241
|
+
project state.
|
|
242
|
+
- [`decision-revisit-gate`](../rules/decision-revisit-gate.md) โ
|
|
243
|
+
lock-flip discipline Step 3 enforces.
|
|
@@ -27,6 +27,11 @@ Top-level orchestrator for the `/optimize` family.
|
|
|
27
27
|
|
|
28
28
|
> Looking for `AGENTS.md` operations (init, refactor, audit)? Those
|
|
29
29
|
> live under [`/agents`](agents.md) (`init / optimize / audit`).
|
|
30
|
+
>
|
|
31
|
+
> Looking for **project-wide** optimization (roadmaps, ADRs, decisions,
|
|
32
|
+
> structures โ challenge-and-roadmap loop)? That is the standalone
|
|
33
|
+
> [`/optimize-project`](optimize-project.md) โ this cluster only covers
|
|
34
|
+
> the agent layer.
|
|
30
35
|
|
|
31
36
|
## Sub-commands
|
|
32
37
|
|