@event4u/agent-config 7.5.0 → 8.1.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 +317 -260
- 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 +18 -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/archive/CHANGELOG-pre-8.0.0.md +301 -0
- 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
|
@@ -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
|
|
|
@@ -92,7 +92,7 @@ trunk (that rot is exactly what the PR-gate replaces; see
|
|
|
92
92
|
Run the deterministic sweep:
|
|
93
93
|
|
|
94
94
|
```bash
|
|
95
|
-
|
|
95
|
+
./agent-config roadmap:archive # --changed-only (default)
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
It `git mv`s each completed roadmap (that this branch touched, per
|
|
@@ -178,7 +178,7 @@ github-api
|
|
|
178
178
|
|
|
179
179
|
**Hard prohibitions** (each one cost 3+ extra tool calls in past runs):
|
|
180
180
|
|
|
181
|
-
- ❌ `
|
|
181
|
+
- ❌ `node -e "..."` / shell heredoc hacks
|
|
182
182
|
to serialize the body or POST it.
|
|
183
183
|
- ❌ `save-file PR_BODY.md` → read back → `curl -d @PR_BODY.md`.
|
|
184
184
|
- ❌ `gh pr create --body-file …` shelling out when `github-api` is
|
|
@@ -252,24 +252,53 @@ Per `verbosity.post_action_reports` (default `minimal`):
|
|
|
252
252
|
\`gh pr ready N\` to flip` when silent-draft (rule 4); omit on ready.
|
|
253
253
|
- `full` → multi-line: PR number, URL, draft state, base/head, ready-reminder.
|
|
254
254
|
|
|
255
|
-
#### 4c.
|
|
255
|
+
#### 4c. Status claims — verified facts only (MANDATORY)
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
NEVER STATE CI, CHECK, MERGEABILITY, OR DRAFT STATUS FROM ASSUMPTION.
|
|
259
|
+
EVERY STATUS CLAIM IN THE REPLY CITES A COMMAND RUN THIS TURN.
|
|
260
|
+
"BLOCKED" IS NEVER PARAPHRASED AS "CI IS STILL RUNNING".
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Any statement about the PR's state — in the creation reply, after a
|
|
264
|
+
conflict-resolution push, after ANY push to the PR branch — must be
|
|
265
|
+
backed by fresh command output from the same reply:
|
|
266
|
+
|
|
267
|
+
| Claim | Required evidence |
|
|
268
|
+
|---|---|
|
|
269
|
+
| Draft / ready | `gh pr view <n> --json isDraft` — quote the value |
|
|
270
|
+
| CI green / red / running | `gh pr checks <n>` — report the actual fail list; a single `fail` row means FAIL, not "running" |
|
|
271
|
+
| Mergeable / conflicts | `gh pr view <n> --json mergeable,mergeStateStatus` |
|
|
272
|
+
|
|
273
|
+
`mergeStateStatus: BLOCKED` has several distinct causes (failing
|
|
274
|
+
checks, draft state, missing reviews, branch protection). Resolving
|
|
275
|
+
WHICH one requires `gh pr checks` — never guess the cause. If checks
|
|
276
|
+
are still pending, say "pending" and name the pending jobs; never
|
|
277
|
+
declare an outcome the output does not show.
|
|
278
|
+
|
|
279
|
+
This is the [`direct-answers` Iron Law 2](../rules/direct-answers.md)
|
|
280
|
+
live-state clause applied to the PR surface: git/PR/CI state decays
|
|
281
|
+
silently and is NEVER reported from memory or inference.
|
|
282
|
+
|
|
283
|
+
#### 4d. Jira transition (only when transitioned)
|
|
256
284
|
|
|
257
285
|
Linked ticket + `routine_confirmations: true` → ask `1. Yes / 2. No`.
|
|
258
286
|
Default (`false`) → skip silently. **Only emit a transition line when
|
|
259
287
|
an actual Jira API call succeeded** — never announce "skipped".
|
|
260
288
|
|
|
261
|
-
####
|
|
289
|
+
#### 4e. Settings short-circuit — single read per run
|
|
262
290
|
|
|
263
291
|
`verbosity.routine_confirmations`, `verbosity.post_action_reports`, and
|
|
264
292
|
`commands.create_pr.preview_description` are read **once** at the top
|
|
265
293
|
of the run and cached for the whole `/create-pr` invocation. Do **not**
|
|
266
|
-
re-read `.agent-settings.yml` in 4b /
|
|
294
|
+
re-read `.agent-settings.yml` in 4b / 4d — both branches resolve from
|
|
267
295
|
the cached values from step 1.
|
|
268
296
|
|
|
269
297
|
When all three resolve to their silent defaults (`false` / `minimal` /
|
|
270
|
-
`false`), steps 4b
|
|
271
|
-
from 4b and a silent
|
|
272
|
-
narration, no confirmation prompts.
|
|
298
|
+
`false`), steps 4b + 4d collapse to the single `→ #N opened: <url>` line
|
|
299
|
+
from 4b and a silent 4d. No extra file reads, no "checking settings…"
|
|
300
|
+
narration, no confirmation prompts. Step 4c is never collapsed — status
|
|
301
|
+
claims always carry evidence.
|
|
273
302
|
|
|
274
303
|
### Rules
|
|
275
304
|
|
|
@@ -79,7 +79,7 @@ no silent best-guess.
|
|
|
79
79
|
|
|
80
80
|
### 2. Resolve the per-event analysis (state ground-truth)
|
|
81
81
|
|
|
82
|
-
Look for `agents/tmp/prediction-pool/<slug>.md`.
|
|
82
|
+
Look for `agents/runtime/tmp/prediction-pool/<slug>.md`.
|
|
83
83
|
|
|
84
84
|
- **None →** start a new analysis (created at Step 9, never before).
|
|
85
85
|
- **Exists →** read it. Then:
|
|
@@ -178,7 +178,7 @@ pool / site. If yes, loop Steps 3–7 for that pool.
|
|
|
178
178
|
|
|
179
179
|
### 9. Persist / extend the analysis (only now)
|
|
180
180
|
|
|
181
|
-
Append a run-stamped section to `agents/tmp/prediction-pool/<slug>.md`: pool
|
|
181
|
+
Append a run-stamped section to `agents/runtime/tmp/prediction-pool/<slug>.md`: pool
|
|
182
182
|
URL(s), parsed rules, the entered tips with state `entered, not submitted`
|
|
183
183
|
(or `submitted` if Step 7 submitted), council verdicts if any, and
|
|
184
184
|
standing notes. Append-only — earlier runs stay as history. This is the
|
|
@@ -32,7 +32,7 @@ not-installed pack, expands the `requires_hint` closure, and writes the
|
|
|
32
32
|
overlay **atomically**):
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
|
|
35
|
+
./scripts-run src/scripts/config/session_profiles activate <name…> --json
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
- **Exit 0** → parse the JSON: `active_packs`, `closure_added`, `notes`.
|
|
@@ -49,7 +49,7 @@ Announce, using the helper's output:
|
|
|
49
49
|
> surfaced: {N} commands, {M} skills ({H} hidden behind inactive packs)
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
Get the counts from
|
|
52
|
+
Get the counts from `./scripts-run src/scripts/config/session_profiles show --json`.
|
|
53
53
|
|
|
54
54
|
### 3. Re-bias the surface for the rest of the session
|
|
55
55
|
|
|
@@ -58,7 +58,7 @@ From now until `/profile deactivate` (or a new session), when the user asks
|
|
|
58
58
|
set. Compute it with:
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
|
|
61
|
+
./scripts-run src/scripts/config/session_profiles surface --json
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
`shown` = surface these; `hidden` = do not list them proactively. Core /
|
|
@@ -30,14 +30,14 @@ no silent session reset.
|
|
|
30
30
|
- `/profile deactivate` (no args) → clear the whole overlay:
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
|
|
33
|
+
./scripts-run src/scripts/config/session_profiles deactivate --json
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
- `/profile deactivate <name…>` → remove only the **named packs** from the
|
|
37
37
|
active set (never their closure), so a shared dependency survives:
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
|
|
40
|
+
./scripts-run src/scripts/config/session_profiles deactivate <name…> --json
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
Parse `active_packs` from the JSON.
|
|
@@ -28,7 +28,7 @@ from its cause.
|
|
|
28
28
|
### 1. Read the state
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
|
|
31
|
+
./scripts-run src/scripts/config/session_profiles show --json
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Fields: `active_packs`, `commands_shown`, `skills_shown`, `hidden_total`.
|
|
@@ -37,7 +37,7 @@ For a **non-technical employee**, render plain language instead — deterministi
|
|
|
37
37
|
template (no LLM), the right content for an employee-facing surface:
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
|
|
40
|
+
./scripts-run src/scripts/config/session_profiles show --plain
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
Shape: [`session-profile-overlay` § Plain status surface](../../../../docs/contracts/session-profile-overlay.md#plain-status-surface).
|
|
@@ -64,7 +64,7 @@ Shape: [`session-profile-overlay` § Plain status surface](../../../../docs/cont
|
|
|
64
64
|
If the user asks *which* artefacts are hidden, run:
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
|
-
|
|
67
|
+
./scripts-run src/scripts/config/session_profiles surface --json
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
and list `hidden[]` (name + packs). Keep it scannable; group by pack if long.
|
|
@@ -87,6 +87,11 @@ Read {fields_path} to get all field definitions.
|
|
|
87
87
|
field names whose value contains `[uncertain]` or could not be
|
|
88
88
|
sourced.
|
|
89
89
|
4. All field values in English.
|
|
90
|
+
5. Cite claims from fetched sources by paraphrase; verbatim quoting
|
|
91
|
+
follows `content-quoting-floor` (≤15 words, one quote per source).
|
|
92
|
+
6. Fresh-lookup-class fields (current status, versions, prices, dates)
|
|
93
|
+
require a cited live source per `asking-and-brevity-examples § Volatile-fact
|
|
94
|
+
freshness` — never fill from model memory.
|
|
90
95
|
|
|
91
96
|
## Output path
|
|
92
97
|
{output_path}
|
|
@@ -80,7 +80,8 @@ script, no Python runtime.**
|
|
|
80
80
|
| **List of dicts** | One row per dict, `key:value` pairs joined with ` \| `. |
|
|
81
81
|
| **Plain list** | Short → comma-joined; long (> 5 items) → bullet list. |
|
|
82
82
|
| **Nested dict** | Recurse; render with `;` between sibling keys or hard-break on long values. |
|
|
83
|
-
| **Long text** | Strings > 100 chars → wrap in a blockquote or insert `<br>`. |
|
|
83
|
+
| **Long text** | Strings > 100 chars → wrap in a blockquote or insert `<br>`. Verbatim source excerpts follow `content-quoting-floor` (≤15 words, one quote per source) — paraphrase the rest. |
|
|
84
|
+
| **Freshness** | Fresh-lookup-class fields (status, version, price, date) render as reported by `/research:deep`, never re-derived from model memory at report time — see `asking-and-brevity-examples § Volatile-fact freshness`. |
|
|
84
85
|
| **Extra fields** | JSON keys not declared in `fields.yaml` → group under `### Other info`. Filter `_source_file`, `uncertain`, and category-container keys. |
|
|
85
86
|
| **`uncertain` array** | Render each entry on its own line under `### Uncertain fields`; never condense to a one-liner. |
|
|
86
87
|
| **Skip conditions** | Field value contains `[uncertain]` · field name in `uncertain` · value is `null` / empty string. |
|
|
@@ -139,7 +139,20 @@ and ask (in the user's language):
|
|
|
139
139
|
|
|
140
140
|
Only when the search is empty: save to the chosen location and show the final path.
|
|
141
141
|
|
|
142
|
-
### 7.
|
|
142
|
+
### 7. Move consumed inbox file (if applicable)
|
|
143
|
+
|
|
144
|
+
User pointed at a file in `agents/tmp/` as the roadmap source
|
|
145
|
+
(e.g. "create a roadmap from `agents/tmp/my-idea.md`") →
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
mv agents/tmp/<filename> agents/tmp.old/<filename>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Automatic, same reply as saving — no confirmation (gitignored, local-only,
|
|
152
|
+
reversible). Move ONLY files explicitly named as input. Never touch other
|
|
153
|
+
`agents/tmp/` files.
|
|
154
|
+
|
|
155
|
+
### 8. Update the progress dashboard
|
|
143
156
|
|
|
144
157
|
Regenerate `agents/roadmaps-progress.md` so the new roadmap shows up:
|
|
145
158
|
|
|
@@ -149,7 +162,7 @@ Regenerate `agents/roadmaps-progress.md` so the new roadmap shows up:
|
|
|
149
162
|
|
|
150
163
|
Mention the new overall count to the user.
|
|
151
164
|
|
|
152
|
-
###
|
|
165
|
+
### 9. Offer council review (B1 hook, verbosity-gated)
|
|
153
166
|
|
|
154
167
|
Read `verbosity.offer_council_in_delivery` from `.agent-settings.yml`
|
|
155
168
|
(default `false`):
|
|
@@ -181,21 +194,86 @@ If the user picks **1**:
|
|
|
181
194
|
|
|
182
195
|
If the user picks **2** → continue.
|
|
183
196
|
|
|
184
|
-
###
|
|
197
|
+
### 10. Ask the execution mode — ONE question, then write frontmatter
|
|
185
198
|
|
|
186
|
-
|
|
199
|
+
Ask (in the user's language) exactly one numbered-options question:
|
|
200
|
+
|
|
201
|
+
> How should this roadmap be executed later?
|
|
202
|
+
>
|
|
203
|
+
> 1. Fully autonomous — one run-start contract confirmation, then no
|
|
204
|
+
> interruptions except the safety floors
|
|
205
|
+
> 2. Checkpoint at phase boundaries — compact status + continue prompt
|
|
206
|
+
> per phase
|
|
207
|
+
> 3. Interactive — every gate fires as today
|
|
208
|
+
>
|
|
209
|
+
> **Recommendation:** 1
|
|
210
|
+
|
|
211
|
+
Write the pick to frontmatter as `execution.mode:`
|
|
212
|
+
(`autonomous` | `phase-checkpoints` | `interactive`). Rules:
|
|
213
|
+
|
|
214
|
+
- Pick 3 → omit the field entirely (`interactive` is the absent-field
|
|
215
|
+
default; don't write noise).
|
|
216
|
+
- Follow-up roadmaps (`parent_roadmap` set): pre-select the parent's
|
|
217
|
+
mode as the recommended option, but still ask — mode never inherits
|
|
218
|
+
silently (per template rule 18).
|
|
219
|
+
- This question is about a **future** run's interaction pattern. It is
|
|
220
|
+
a declaration of intent, never a permission grant, and it does NOT
|
|
221
|
+
soften the step-11 hard stop: asking it must not morph into offering
|
|
222
|
+
execution now.
|
|
223
|
+
- Semantics + contract mechanics:
|
|
224
|
+
[`templates/roadmaps.md` rule 18](../../templates/roadmaps.md) and
|
|
225
|
+
[`roadmap-execution-contract`](../../contexts/execution/roadmap-execution-contract.md).
|
|
226
|
+
- **Authoring check for pick 1 (`autonomous`):** scan the drafted steps
|
|
227
|
+
for vague phrasings (`improve/optimize` without a target, `make it
|
|
228
|
+
better/cleaner`, `clean up` without scope, `fix this` without a
|
|
229
|
+
symptom, `use best practices`, `handle errors properly`) and for
|
|
230
|
+
pre-existing `[~]` items. Surface each finding to the user for a
|
|
231
|
+
quick rephrase **before saving** — vagueness is cheap to resolve now
|
|
232
|
+
and expensive as a mid-run ambiguity halt; pre-existing `[~]` items
|
|
233
|
+
guarantee the archival gate interrupts the run.
|
|
234
|
+
`lint_roadmap_complexity` warns on the same patterns as a backstop.
|
|
235
|
+
|
|
236
|
+
### 11. Hand back — HARD STOP, never auto-offer execution
|
|
237
|
+
|
|
238
|
+
```
|
|
239
|
+
ROADMAP SAVED → STOP. NEVER ASK "READY TO START?" / "BEGIN PHASE 1?"
|
|
240
|
+
/ "SOFORT AUSFÜHREN?". CREATE = ARTIFACT ONLY. EXECUTION NEEDS A
|
|
241
|
+
FRESH, EXPLICIT EXECUTION VERB FROM THE USER.
|
|
242
|
+
```
|
|
187
243
|
|
|
188
|
-
|
|
189
|
-
the
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
244
|
+
Emit a single hand-back line citing the saved path and (if regenerated)
|
|
245
|
+
the new dashboard count. Then **stop the turn**.
|
|
246
|
+
|
|
247
|
+
- Do **not** present numbered options for "start execution / pick
|
|
248
|
+
process-phase / pick process-step / pick process-full". The user
|
|
249
|
+
picks the next move when they're ready — silence on execution.
|
|
250
|
+
- Do **not** soft-route ("*the roadmap is ready, kicking off E1.1…*").
|
|
251
|
+
That is a hand-off to execution disguised as a status line.
|
|
252
|
+
- Do **not** include "Recommended next step: `/roadmap:process-phase`"
|
|
253
|
+
in the hand-back. Mentioning the command back-channels the same
|
|
254
|
+
ask.
|
|
255
|
+
- The user resumes with an explicit execution verb (`implement`,
|
|
256
|
+
`build`, `start Phase A`, `arbeite die Roadmap ab`, `mach weiter
|
|
257
|
+
mit Phase 1`) on a **later turn**. That verb — not this command —
|
|
258
|
+
authorizes execution. See [`scope-mechanics § Post-artifact hard
|
|
259
|
+
stop`](../../contexts/authority/scope-mechanics.md).
|
|
260
|
+
|
|
261
|
+
Failure modes covered by this hard stop:
|
|
262
|
+
|
|
263
|
+
- Asking *"Soll ich jetzt mit Phase A anfangen?"* after the save line.
|
|
264
|
+
- Offering *"1. Start now / 2. Review first / 3. Cancel"* — the user
|
|
265
|
+
did not ask for an execution menu, the create verb covered authoring
|
|
266
|
+
only.
|
|
267
|
+
- Treating a thumbs-up / *"sieht gut aus"* / *"passt"* as authorization
|
|
268
|
+
to start. None of those are execution verbs.
|
|
194
269
|
|
|
195
270
|
### Rules
|
|
196
271
|
|
|
197
272
|
- **Do NOT auto-generate content** — always ask the user for input.
|
|
198
273
|
- **Do NOT commit or push.**
|
|
274
|
+
- **Do NOT offer execution after save** — Step 11 is a hard stop.
|
|
275
|
+
Execution starts on a later turn with an explicit execution verb
|
|
276
|
+
([`scope-control § Authoring vs. implementation`](../rules/scope-control.md#authoring-vs-implementation)).
|
|
199
277
|
- **Do NOT include commit steps in the roadmap** unless the user explicitly
|
|
200
278
|
requested them. See [`commit-policy`](../rules/commit-policy.md#never-write-commit-steps-into-roadmaps-unsolicited).
|
|
201
279
|
Roadmaps plan **work**; commits are a separate delivery decision.
|
|
@@ -47,7 +47,7 @@ roadmap, writes one ticket per materialisable step into
|
|
|
47
47
|
Run the build-readiness lint before handing back:
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
|
|
50
|
+
./scripts-run src/scripts/lint_ticket_buildable
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
A `lite` ticket that fails the self-containedness floor is rejected or escalated
|
|
@@ -34,16 +34,29 @@ with the **scope delta below**.
|
|
|
34
34
|
|
|
35
35
|
## Scope delta
|
|
36
36
|
|
|
37
|
+
- **Execution mode:** read `execution.mode` from frontmatter. Under
|
|
38
|
+
`autonomous` / `phase-checkpoints` the loop's § 3 pre-scan derives
|
|
39
|
+
the run-start **execution contract**
|
|
40
|
+
([`roadmap-execution-contract`](../../contexts/execution/roadmap-execution-contract.md));
|
|
41
|
+
ONE acceptance activates all run grants (feature branch, chunked
|
|
42
|
+
commits, push to that branch only, PR-open, batched artifact
|
|
43
|
+
drafting, council auto-enable) — no further asks until a safety
|
|
44
|
+
floor. `mode: autonomous` is the flagship pairing for this wrapper:
|
|
45
|
+
full working set + contract = uninterrupted run to the defined end
|
|
46
|
+
state.
|
|
37
47
|
- **Working set:** every open step across every phase, in document
|
|
38
48
|
order. Phase-internal annotations like `(deferred)` / `(optional)` /
|
|
39
49
|
"gated on Phase N" do not narrow the working set.
|
|
40
50
|
- **Stop after:** the entire roadmap reaches `count_open == 0`, or a
|
|
41
|
-
halt condition fires (Hard-Floor, council-off + ambiguity
|
|
51
|
+
halt condition fires (Hard-Floor, council-off + ambiguity — the
|
|
52
|
+
latter only outside an accepted contract with council available,
|
|
42
53
|
security-sensitive, scope-out-of-roadmap, test/quality red).
|
|
43
54
|
- **Phase boundary handling:** at every phase boundary, run the
|
|
44
55
|
per-phase quality pipeline when `quality_cadence: per_phase` (or
|
|
45
56
|
`per_step`). On red → stop, surface, do **not** silently roll into
|
|
46
|
-
the next phase.
|
|
57
|
+
the next phase. Under `mode: phase-checkpoints`, additionally emit
|
|
58
|
+
the compact status + continue prompt at every boundary; under
|
|
59
|
+
`autonomous`, boundaries are silent (quality pipeline aside).
|
|
47
60
|
- **Final archival:** when the roadmap is fully closed, run the
|
|
48
61
|
archival check from
|
|
49
62
|
[`roadmap-process-loop § 6`](../../contexts/execution/roadmap-process-loop.md#6-final-report-and-archival).
|