@event4u/agent-config 16.5.0 → 17.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/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/skills/install-agent-config/SKILL.md +4 -4
- package/CHANGELOG.md +463 -498
- package/CONTRIBUTING.md +47 -0
- package/README.md +25 -25
- package/dist/agent-src/commands/{design.md → agent-design.md} +10 -6
- package/dist/agent-src/commands/agents/init.md +66 -3
- package/dist/agent-src/commands/agents/user/init.md +3 -0
- package/dist/agent-src/commands/{optimize/deep.md → analyze/and-optimize.md} +72 -33
- package/dist/agent-src/commands/analyze/inbox.md +168 -37
- package/dist/agent-src/commands/analyze/pr.md +144 -0
- package/dist/agent-src/commands/analyze/{repo.md → reference.md} +85 -14
- package/dist/agent-src/commands/analyze/roadmap-repos.md +19 -10
- package/dist/agent-src/commands/analyze.md +28 -12
- package/dist/agent-src/commands/audit.md +115 -0
- package/dist/agent-src/commands/brand/review.md +13 -2
- package/dist/agent-src/commands/brand/tokens.md +3 -3
- package/dist/agent-src/commands/brand/voice.md +8 -5
- package/dist/agent-src/commands/brand.md +2 -2
- package/dist/agent-src/commands/challenge-me/closure.md +25 -0
- package/dist/agent-src/commands/design-system/import.md +8 -3
- package/dist/agent-src/commands/design-system/sync.md +98 -0
- package/dist/agent-src/commands/design-system.md +6 -1
- package/dist/agent-src/commands/evals/analyze.json +44 -0
- package/dist/agent-src/commands/evals/audit.json +12 -0
- package/dist/agent-src/commands/evals/retro.json +12 -0
- package/dist/agent-src/commands/fix/ci.md +10 -8
- package/dist/agent-src/commands/ghostwriter/write.md +22 -0
- package/dist/agent-src/commands/memory/learn-low-impact.md +70 -83
- package/dist/agent-src/commands/memory/propose.md +12 -0
- package/dist/agent-src/commands/memory.md +1 -1
- package/dist/agent-src/commands/optimize.md +4 -3
- package/dist/agent-src/commands/post-as/me.md +18 -0
- package/dist/agent-src/commands/pr/create.md +17 -342
- package/dist/agent-src/commands/pr/merge.md +129 -368
- package/dist/agent-src/commands/retro.md +121 -0
- package/dist/agent-src/commands/review/routing.md +1 -1
- package/dist/agent-src/commands/roadmap/next.md +4 -1
- package/dist/agent-src/commands/roadmap/process-full.md +46 -333
- package/dist/agent-src/commands/roadmap/triage-parked.md +6 -2
- package/dist/agent-src/commands/team-knowledge/consolidate.md +2 -2
- package/dist/agent-src/commands/team-knowledge.md +1 -1
- package/dist/agent-src/commands/threat-model.md +1 -1
- package/dist/agent-src/commands/upstream-contribute.md +91 -101
- package/dist/agent-src/commands/worktree/cleanup.md +18 -11
- package/dist/agent-src/contexts/contracts/consumer-agents-md-guide.md +54 -0
- package/dist/agent-src/contexts/execution/analysis-loop.md +137 -0
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +3 -3
- package/dist/agent-src/contexts/execution/decision-closure-execution.md +1 -1
- package/dist/agent-src/contexts/execution/host-capability-manifest.md +6 -0
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +11 -4
- package/dist/agent-src/contexts/execution/pr-create-branches-content.md +250 -0
- package/dist/agent-src/contexts/execution/pr-create-branches-freshness.md +150 -0
- package/dist/agent-src/contexts/execution/pr-merge-queue.md +287 -0
- package/dist/agent-src/contexts/execution/pr-merge-sync.md +276 -0
- package/dist/agent-src/contexts/execution/pr-merge-trust-boundary.md +69 -0
- package/dist/agent-src/contexts/execution/process-full-all.md +233 -0
- package/dist/agent-src/contexts/execution/process-full-delivery.md +231 -0
- package/dist/agent-src/contexts/execution/roadmap-execution-contract-branches.md +42 -0
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +1 -35
- package/dist/agent-src/contexts/execution/roadmap-process-loop-close.md +235 -0
- package/dist/agent-src/contexts/execution/roadmap-process-loop-prescan.md +216 -0
- package/dist/agent-src/contexts/execution/roadmap-process-loop-run.md +253 -0
- package/dist/agent-src/contexts/execution/roadmap-process-loop-set.md +212 -0
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +25 -864
- package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +14 -2
- package/dist/agent-src/contexts/execution/subagent-steering.md +65 -8
- package/dist/agent-src/contexts/model-recommendations.md +5 -5
- package/dist/agent-src/contexts/subagent-configuration.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/api-cost-levers.md +4 -3
- package/dist/agent-src/guidelines/agent-infra/model-recommendation.md +11 -5
- package/dist/agent-src/guidelines/agent-infra/rule-body-migration-inventory.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +47 -24
- package/dist/agent-src/guidelines/design-antipatterns.md +5 -0
- package/dist/agent-src/guidelines/design-asset-discipline.md +17 -0
- package/dist/agent-src/guidelines/design-fidelity-routing.md +1 -0
- package/dist/agent-src/guidelines/php/api-design.md +10 -1
- package/dist/agent-src/rules/brand-source-of-truth.md +7 -6
- package/dist/agent-src/rules/code-provenance.md +1 -1
- package/dist/agent-src/rules/context-hygiene.md +0 -1
- package/dist/agent-src/rules/design-fidelity.md +12 -13
- package/dist/agent-src/rules/external-reference-deep-dive.md +2 -2
- package/dist/agent-src/rules/fix-what-you-see.md +1 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +14 -15
- package/dist/agent-src/rules/missing-skill-recovery.md +12 -11
- package/dist/agent-src/rules/neighbour-precedence.md +1 -1
- package/dist/agent-src/rules/recurring-criticism.md +1 -1
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -2
- package/dist/agent-src/rules/self-repair-loop.md +2 -2
- package/dist/agent-src/rules/token-budget-discipline.md +1 -1
- package/dist/agent-src/scripts/dashboard_mode.ts +4 -1
- package/dist/agent-src/scripts/roadmap_age.ts +175 -0
- package/dist/agent-src/scripts/update_roadmap_progress.ts +10 -2
- package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -3
- package/dist/agent-src/skills/agent-security-review/SKILL.md +2 -2
- package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +12 -4
- package/dist/agent-src/skills/ai-code-blindspots/SKILL.md +7 -0
- package/dist/agent-src/skills/ai-council/references/advanced-modes.md +11 -1
- package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +7 -0
- package/dist/agent-src/skills/ai-council/references/execution-modes.md +7 -0
- package/dist/agent-src/skills/ai-council/references/output-and-synthesis.md +19 -0
- package/dist/agent-src/skills/ai-council/references/procedure.md +7 -0
- package/dist/agent-src/skills/api-design/SKILL.md +2 -2
- package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -2
- package/dist/agent-src/skills/authz-review/SKILL.md +5 -3
- package/dist/agent-src/skills/blade-ui/SKILL.md +2 -2
- package/dist/agent-src/skills/brand/SKILL.md +7 -3
- package/dist/agent-src/skills/brand-asset-generation/SKILL.md +13 -6
- package/dist/agent-src/skills/brand-audit/SKILL.md +2 -1
- package/dist/agent-src/skills/brand-identity/SKILL.md +5 -4
- package/dist/agent-src/skills/brand-strategy/SKILL.md +5 -4
- package/dist/agent-src/skills/brand-to-tokens/SKILL.md +18 -39
- package/dist/agent-src/skills/brand-to-tokens/templates/marp-brand-deck.md.example +2 -2
- package/dist/agent-src/skills/brand-to-tokens/templates/reveal-brand-deck.yaml +2 -2
- package/dist/agent-src/skills/canvas-design/SKILL.md +12 -2
- package/dist/agent-src/skills/competitive-positioning/SKILL.md +2 -2
- package/dist/agent-src/skills/composer-packages/SKILL.md +18 -0
- package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
- package/dist/agent-src/skills/content-funnel-design/SKILL.md +8 -1
- package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
- package/dist/agent-src/skills/context-document/SKILL.md +2 -2
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +6 -6
- package/dist/agent-src/skills/corpus-grounding/scripts/decision_engine.ts +13 -11
- package/dist/agent-src/skills/corpus-grounding/scripts/ground.mjs +1706 -0
- package/dist/agent-src/skills/corpus-grounding/scripts/schema_validator.ts +7 -1
- package/dist/agent-src/skills/dashboard-design/SKILL.md +1 -1
- package/dist/agent-src/skills/data-flow-mapper/SKILL.md +5 -2
- package/dist/agent-src/skills/database/SKILL.md +5 -4
- package/dist/agent-src/skills/decision-record/references/weighted-matrix.md +12 -0
- package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +1 -1
- package/dist/agent-src/skills/dependency-upgrade/SKILL.md +61 -11
- package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
- package/dist/agent-src/skills/design-intelligence/SKILL.md +1 -1
- package/dist/agent-src/skills/design-intelligence/data/landing.csv +1 -1
- package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +10 -2
- package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
- package/dist/agent-src/skills/design-intelligence/references/design-rules-checklist.md +4 -3
- package/dist/agent-src/skills/design-intelligence/references/integration-mapping.md +14 -14
- package/dist/agent-src/skills/{wireframe → design-review}/references/story-beat-ledger.schema.json +1 -1
- package/dist/agent-src/skills/design-review/references/verification-automation.md +11 -3
- package/dist/agent-src/skills/design-system-capture/SKILL.md +15 -10
- package/dist/agent-src/skills/design-system-capture/references/design-system-json.md +20 -5
- package/dist/agent-src/skills/design-system-capture/references/import-procedure.md +2 -2
- package/dist/agent-src/skills/design-tokens/SKILL.md +23 -23
- package/dist/agent-src/skills/design-tokens/scripts/tokens.mjs +1037 -0
- package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +336 -13
- package/dist/agent-src/skills/design-tokens/templates/design-tokens-starter.json +52 -53
- package/dist/agent-src/skills/docker/SKILL.md +1 -1
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +14 -276
- package/dist/agent-src/skills/existing-ui-audit/procedure.yaml +44 -0
- package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +1 -1
- package/dist/agent-src/skills/existing-ui-audit/references/steps/00-inspect-stack-and-input.md +4 -0
- package/dist/agent-src/skills/existing-ui-audit/references/steps/01-enumerate-components.md +26 -0
- package/dist/agent-src/skills/existing-ui-audit/references/steps/01b-detect-component-taxonomy.md +7 -0
- package/dist/agent-src/skills/existing-ui-audit/references/steps/02-identify-design-system.md +12 -0
- package/dist/agent-src/skills/existing-ui-audit/references/steps/03-detect-design-tokens.md +35 -0
- package/dist/agent-src/skills/existing-ui-audit/references/steps/04-detect-shadcn-inventory.md +13 -0
- package/dist/agent-src/skills/existing-ui-audit/references/steps/04b-live-storybook-read.md +26 -0
- package/dist/agent-src/skills/existing-ui-audit/references/steps/05-list-reusable-patterns.md +14 -0
- package/dist/agent-src/skills/existing-ui-audit/references/steps/06-match-candidates.md +52 -0
- package/dist/agent-src/skills/existing-ui-audit/references/steps/07-greenfield-branch.md +29 -0
- package/dist/agent-src/skills/existing-ui-audit/references/steps/08-a11y-baseline.md +40 -0
- package/dist/agent-src/skills/existing-ui-audit/references/steps/09-validate-and-write.md +5 -0
- package/dist/agent-src/skills/experiment-loop/SKILL.md +1 -1
- package/dist/agent-src/skills/fe-design/references/design-patterns.md +16 -2
- package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +1 -1
- package/dist/agent-src/skills/fe-design/references/source-led-port.md +1 -1
- package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +6 -6
- package/dist/agent-src/skills/flux/SKILL.md +1 -1
- package/dist/agent-src/skills/form-handler/SKILL.md +15 -2
- package/dist/agent-src/skills/git-workflow/SKILL.md +2 -2
- package/dist/agent-src/skills/git-workflow/references/branch-update.md +7 -0
- package/dist/agent-src/skills/git-workflow/references/commit-subject.md +12 -0
- package/dist/agent-src/skills/git-workflow/references/push-closes-its-loop.md +10 -0
- package/dist/agent-src/skills/gtm-launch/SKILL.md +8 -1
- package/dist/agent-src/skills/html-deck/SKILL.md +7 -2
- package/dist/agent-src/skills/humanizer/SKILL.md +16 -3
- package/dist/agent-src/skills/humanizer/references/anti-aiisms.md +13 -1
- package/dist/agent-src/skills/humanizer/references/fixtures.md +8 -0
- package/dist/agent-src/skills/js-library-packaging/SKILL.md +5 -4
- package/dist/agent-src/skills/js-library-packaging/scripts/check_package_surface.mjs +197 -0
- package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +1 -1
- package/dist/agent-src/skills/judge-security-auditor/SKILL.md +2 -2
- package/dist/agent-src/skills/launch-readiness/SKILL.md +18 -22
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +5 -5
- package/dist/agent-src/skills/livewire/SKILL.md +1 -1
- package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +18 -0
- package/dist/agent-src/skills/logo-generation/SKILL.md +9 -3
- package/dist/agent-src/skills/market-entry-analysis/SKILL.md +6 -1
- package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
- package/dist/agent-src/skills/messaging-architecture/SKILL.md +8 -1
- package/dist/agent-src/skills/motion-choreographer/SKILL.md +2 -2
- package/dist/agent-src/skills/playwright-testing/SKILL.md +2 -0
- package/dist/agent-src/skills/positioning-strategy/SKILL.md +10 -2
- package/dist/agent-src/skills/prediction-pool-optimizer/references/ev-fixtures.md +13 -0
- package/dist/agent-src/skills/prediction-pool-optimizer/references/odds-and-bonus.md +7 -0
- package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
- package/dist/agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +1 -1
- package/dist/agent-src/skills/project-analyzer/SKILL.md +14 -75
- package/dist/agent-src/skills/project-analyzer/procedure.yaml +39 -0
- package/dist/agent-src/skills/project-analyzer/references/steps/01-project-overview.md +9 -0
- package/dist/agent-src/skills/project-analyzer/references/steps/02-architecture.md +7 -0
- package/dist/agent-src/skills/project-analyzer/references/steps/03-data-layer.md +6 -0
- package/dist/agent-src/skills/project-analyzer/references/steps/04-business-domains.md +7 -0
- package/dist/agent-src/skills/project-analyzer/references/steps/05-api-surface.md +6 -0
- package/dist/agent-src/skills/project-analyzer/references/steps/06-service-map.md +6 -0
- package/dist/agent-src/skills/project-analyzer/references/steps/07-module-inventory.md +6 -0
- package/dist/agent-src/skills/project-analyzer/references/steps/08-infrastructure-and-testing.md +5 -0
- package/dist/agent-src/skills/project-analyzer/references/steps/09-agent-docs-audit.md +6 -0
- package/dist/agent-src/skills/project-analyzer/references/steps/10-gap-analysis.md +6 -0
- package/dist/agent-src/skills/quality-tools/references/js-ts-tools.md +10 -0
- package/dist/agent-src/skills/quality-tools/references/php-tools.md +13 -0
- package/dist/agent-src/skills/quality-tools/references/python-tools.md +11 -0
- package/dist/agent-src/skills/react-native-setup/SKILL.md +7 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +5 -1
- package/dist/agent-src/skills/react-shadcn-ui/references/registry.md +13 -0
- package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.mjs +315 -0
- package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +6 -6
- package/dist/agent-src/skills/receiving-code-review/SKILL.md +1 -1
- package/dist/agent-src/skills/refine-ticket/SKILL.md +2 -2
- package/dist/agent-src/skills/release-comms/SKILL.md +2 -1
- package/dist/agent-src/skills/repomix-packer/SKILL.md +2 -2
- package/dist/agent-src/skills/requesting-code-review/SKILL.md +3 -3
- package/dist/agent-src/skills/roadmap-management/references/archival.md +3 -3
- package/dist/agent-src/skills/roadmap-management/references/authoring.md +9 -2
- package/dist/agent-src/skills/roadmap-management/references/dashboard.md +3 -3
- package/dist/agent-src/skills/roadmap-management/references/lifecycle.md +3 -3
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -4
- package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +1 -1
- package/dist/agent-src/skills/rule-writing/SKILL.md +1 -2
- package/dist/agent-src/skills/security/SKILL.md +41 -5
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +5 -3
- package/dist/agent-src/skills/skill-reviewer/SKILL.md +1 -1
- package/dist/agent-src/skills/skill-writing/SKILL.md +23 -8
- package/dist/agent-src/skills/skill-writing/references/section-patterns.md +19 -1
- package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
- package/dist/agent-src/skills/sql-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/standards-from-config/SKILL.md +2 -2
- package/dist/agent-src/skills/storybook-workshop/SKILL.md +5 -0
- package/dist/agent-src/skills/storybook-workshop/scripts/story_contrast_floor.mjs +99 -0
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +13 -13
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +4 -3
- package/dist/agent-src/skills/svg-authoring/SKILL.md +7 -1
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +8 -3
- package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.mjs +482 -0
- package/dist/agent-src/skills/test-case-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/threat-modeling/SKILL.md +8 -1
- package/dist/agent-src/skills/threat-modeling/data/manifest.json +5 -2
- package/dist/agent-src/skills/threat-modeling/data/reasoning.csv +10 -10
- package/dist/agent-src/skills/threat-modeling/data/surfaces.csv +11 -10
- package/dist/agent-src/skills/threat-modeling/data/threats.csv +34 -20
- package/dist/agent-src/skills/type-design/SKILL.md +196 -0
- package/dist/agent-src/skills/type-design/references/font-spec.md +90 -0
- package/dist/agent-src/skills/type-design/references/gates.md +113 -0
- package/dist/agent-src/skills/type-design/references/toolchain.md +66 -0
- package/dist/agent-src/skills/typography-system/SKILL.md +21 -11
- package/dist/agent-src/skills/typography-system/references/worked-scales.md +85 -0
- package/dist/agent-src/skills/ui-apply-generic/SKILL.md +1 -1
- package/dist/agent-src/skills/universal-project-analysis/SKILL.md +1 -1
- package/dist/agent-src/skills/upstream-contribute/SKILL.md +120 -125
- package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -0
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +1 -1
- package/dist/agent-src/skills/voice-and-tone-design/SKILL.md +71 -2
- package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +16 -14
- package/dist/agent-src/templates/AGENTS.md +1 -1
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/agents/proposal.example.md +1 -1
- package/dist/agent-src/templates/github-workflows/advisories-daily.yml +85 -0
- package/dist/agent-src/templates/roadmaps.md +39 -1
- package/dist/agent-src/templates/scripts/check_memory.ts +2 -2
- package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +13 -1
- package/dist/agent-src/templates/scripts/work_engine/cli.ts +17 -0
- package/dist/agent-src/templates/scripts/work_engine/cli_args.ts +10 -0
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/scaffold.ts +22 -13
- package/dist/agent-src/templates/scripts/work_engine/dispatcher.ts +18 -4
- package/dist/agent-src/templates/scripts/work_engine/procedure/checks.ts +283 -0
- package/dist/agent-src/templates/scripts/work_engine/procedure/run.ts +432 -0
- package/dist/agent-src/templates/scripts/work_engine/procedure/sidecar.ts +185 -0
- package/dist/agent-src/templates/scripts/work_engine/state.ts +3 -0
- package/dist/cli/commands/uiRender.js +72 -17
- package/dist/cli/commands/uiRenderAsset.js +10 -2
- package/dist/cli/commands/uiRenderAssetFonts.js +158 -0
- package/dist/cli/commands/uiRenderAssetTypes.js +8 -20
- package/dist/cli/initRouting.js +1 -1
- package/dist/cli/mcp/dispatch.js +31 -9
- package/dist/cli/python/knowledge_ingest.js +7 -39
- package/dist/cli/python/workspace_secrets.js +4 -177
- package/dist/cli/registry.js +4 -1
- package/dist/cli-delegate/archive_completed_roadmaps.js +3 -2
- package/dist/cli-delegate/check_update_banner.js +635 -266
- package/dist/cli-delegate/{chunk-TMWYUOK4.js → chunk-2CX7NWRB.js} +224 -437
- package/dist/cli-delegate/{chunk-F3QDG2GT.js → chunk-2SFOOFJJ.js} +259 -159
- package/dist/cli-delegate/chunk-2Y5AMLMY.js +136 -0
- package/dist/cli-delegate/{chunk-OKJUIAPS.js → chunk-4E2W63DA.js} +1 -62
- package/dist/cli-delegate/{chunk-6SRJTYJS.js → chunk-4SHNERBL.js} +37 -16
- package/dist/cli-delegate/chunk-5VO3RTMV.js +208 -0
- package/dist/cli-delegate/chunk-6E2LDY4F.js +27 -0
- package/dist/cli-delegate/{chunk-XQTPXKFA.js → chunk-6ZD2QZMN.js} +8 -17
- package/dist/cli-delegate/{chunk-6V5FMA3P.js → chunk-7CEI2YPS.js} +1 -1
- package/dist/cli-delegate/{chunk-DMSZHXZS.js → chunk-7DRWULEQ.js} +80 -7
- package/dist/cli-delegate/chunk-7NXCZSDL.js +54 -0
- package/dist/cli-delegate/chunk-AX3U3UWJ.js +328 -0
- package/dist/cli-delegate/{chunk-WOKWX5PL.js → chunk-BKALSTBZ.js} +18 -3
- package/dist/cli-delegate/chunk-BMGUGSY6.js +103 -0
- package/dist/cli-delegate/chunk-BYV46VRM.js +3309 -0
- package/dist/cli-delegate/{chunk-5GPULQBE.js → chunk-CAL76ADI.js} +4215 -682
- package/dist/cli-delegate/chunk-DSY6LLCQ.js +127 -0
- package/dist/cli-delegate/chunk-E6XNBVE4.js +581 -0
- package/dist/cli-delegate/{chunk-ZUZKZYCN.js → chunk-ESUNQ5XR.js} +46 -10
- package/dist/cli-delegate/{chunk-G5VVIZRC.js → chunk-F7HLSW6P.js} +1 -1
- package/dist/cli-delegate/chunk-FIEEOH5C.js +133 -0
- package/dist/cli-delegate/chunk-FKYZOWVD.js +719 -0
- package/dist/cli-delegate/chunk-GOMILC3O.js +918 -0
- package/dist/cli-delegate/chunk-I4KJYVPB.js +69 -0
- package/dist/cli-delegate/{chunk-JQOM7TTM.js → chunk-IDAOTDPE.js} +1 -100
- package/dist/cli-delegate/chunk-IROAQ77A.js +137 -0
- package/dist/cli-delegate/chunk-J2SJZICO.js +698 -0
- package/dist/cli-delegate/{chunk-6YQC2HLF.js → chunk-JHMMWNJ2.js} +54 -40
- package/dist/cli-delegate/{chunk-WQWXGIWB.js → chunk-M6CRG5O6.js} +165 -15
- package/dist/cli-delegate/{chunk-PHD7OOLE.js → chunk-MQ2UDEGV.js} +14 -3
- package/dist/cli-delegate/chunk-NTM7G2V4.js +220 -0
- package/dist/cli-delegate/chunk-PV7S5DPJ.js +175 -0
- package/dist/cli-delegate/{chunk-F7DQWYR5.js → chunk-RAXQOETZ.js} +6 -2
- package/dist/cli-delegate/{chunk-T7XSJSUQ.js → chunk-SIOMDAKL.js} +980 -784
- package/dist/cli-delegate/{chunk-KR6EM23A.js → chunk-TULVDQ4L.js} +3 -48
- package/dist/cli-delegate/chunk-UUYEKXKR.js +20 -0
- package/dist/cli-delegate/{chunk-7XGD2OEU.js → chunk-UXWHY6CQ.js} +2 -1
- package/dist/cli-delegate/{chunk-PWX7CKMD.js → chunk-VC3ECUEK.js} +1 -1
- package/dist/cli-delegate/{chunk-KXXWJTDO.js → chunk-WMNYVIYX.js} +1 -1
- package/dist/cli-delegate/chunk-XCY5KKUC.js +181 -0
- package/dist/cli-delegate/{chunk-H76PHZBI.js → chunk-XLY5G3CM.js} +14 -19
- package/dist/cli-delegate/cmd_adr_effective.js +41 -2
- package/dist/cli-delegate/cmd_analyze_session.js +7 -7
- package/dist/cli-delegate/cmd_brand_status.js +1287 -10
- package/dist/cli-delegate/cmd_ci_settle.js +330 -0
- package/dist/cli-delegate/cmd_conformance.js +483 -817
- package/dist/cli-delegate/cmd_doctor.js +26 -16
- package/dist/cli-delegate/cmd_doctor_neighbours.js +10 -7
- package/dist/cli-delegate/cmd_explain.js +9 -24
- package/dist/cli-delegate/cmd_export.js +14 -11
- package/dist/cli-delegate/cmd_fleet.js +5 -3
- package/dist/cli-delegate/cmd_git_convention.js +8 -4
- package/dist/cli-delegate/cmd_handoff.js +79 -242
- package/dist/cli-delegate/cmd_mcp_available.js +1 -1
- package/dist/cli-delegate/cmd_memory_get.js +4 -2
- package/dist/cli-delegate/cmd_migrate.js +2 -2
- package/dist/cli-delegate/cmd_packs_active.js +2 -2
- package/dist/cli-delegate/cmd_preflight.js +7 -5
- package/dist/cli-delegate/cmd_prune.js +16 -13
- package/dist/cli-delegate/cmd_route_audit.js +11 -8
- package/dist/cli-delegate/cmd_route_explain.js +649 -16
- package/dist/cli-delegate/cmd_session_recycle.js +15 -6
- package/dist/cli-delegate/cmd_settings_check.js +2 -2
- package/dist/cli-delegate/cmd_settings_get.js +1 -1
- package/dist/cli-delegate/cmd_settings_migrate.js +14 -11
- package/dist/cli-delegate/cmd_settings_set.js +1 -1
- package/dist/cli-delegate/cmd_sync.js +16 -13
- package/dist/cli-delegate/cmd_uninstall.js +185 -31
- package/dist/cli-delegate/cmd_update.js +67 -3
- package/dist/cli-delegate/cmd_upgrade.js +38 -7
- package/dist/cli-delegate/cmd_validate.js +16 -13
- package/dist/cli-delegate/cmd_versions.js +1 -1
- package/dist/cli-delegate/dashboard_mode.js +1 -1
- package/dist/cli-delegate/gate_execute.js +4 -3
- package/dist/cli-delegate/roadmap_age.js +22 -0
- package/dist/cli-delegate/roadmap_gates.js +4 -3
- package/dist/cli-delegate/update_roadmap_progress.js +3 -2
- package/dist/cli-delegate/upgrade_unattended-VVL6JLSX.js +541 -0
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +373 -190
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +5 -5
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +21 -16
- package/dist/discovery/trust-report.md +3 -3
- package/dist/discovery/workspaces.json +16 -11
- package/dist/hooks/chat_history.chunk.cjs +6852 -0
- package/dist/hooks/chat_history.chunk.cjs.sha256 +1 -0
- package/dist/hooks/dispatch.js +17506 -18692
- package/dist/hooks/dispatch.sha256 +1 -1
- package/dist/hooks/egress_engine.chunk.cjs +915 -0
- package/dist/hooks/egress_engine.chunk.cjs.sha256 +1 -0
- package/dist/hooks/svg_rules.chunk.cjs +281 -49
- package/dist/hooks/svg_rules.chunk.cjs.sha256 +1 -1
- package/dist/install/conflict.js +36 -6
- package/dist/install/conflictTracker.js +81 -7
- package/dist/install/detect.js +3 -3
- package/dist/install/hostPermissionsAdapter.js +106 -0
- package/dist/install/install.mjs +3117 -1949
- package/dist/install/installThinLayer.js +1 -1
- package/dist/install/manifestFiles.js +21 -0
- package/dist/install/noGoDenyRows.js +300 -0
- package/dist/install/noGoRules.js +368 -0
- package/dist/install/ownershipLedger.js +133 -0
- package/dist/install/plan.js +1 -1
- package/dist/install/preflight.js +39 -8
- package/dist/install/preserve.js +74 -12
- package/dist/install/recordedOwnership.js +88 -5
- package/dist/install/rule_scope.js +20 -3
- package/dist/install/stagedRuntime.js +455 -0
- package/dist/install/toolsArg.js +19 -0
- package/dist/install/userPin.js +47 -0
- package/dist/install/wizard-plan.js +26 -4
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +3 -2
- package/dist/mcp/registry-manifest.json +6 -5
- package/dist/mcp/server.json +3 -3
- package/dist/mcp/server.mjs +9831 -5546
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +7 -12
- package/dist/scripts/_lib/asset_render_record.js +219 -0
- package/dist/scripts/_lib/claude_builtin_names.js +9 -4
- package/dist/scripts/_lib/claude_settings_hooks.js +102 -34
- package/dist/scripts/_lib/egress_rules.js +766 -0
- package/dist/scripts/_lib/environment_detector.js +24 -33
- package/dist/scripts/_lib/global_deploy_inventory.js +146 -9
- package/dist/scripts/_lib/guidelines_lane.js +10 -1
- package/dist/scripts/_lib/identifier_redaction.js +24 -0
- package/dist/scripts/_lib/installed_layer.js +17 -0
- package/dist/scripts/_lib/installed_layer_normalise.js +72 -0
- package/dist/scripts/_lib/lean_projection_mode.js +34 -152
- package/dist/scripts/_lib/project_tree_form.js +118 -0
- package/dist/scripts/_lib/scoped_projection.js +133 -3
- package/dist/scripts/_lib/settings_removed_keys.js +29 -0
- package/dist/scripts/_lib/settings_renamed_keys.js +17 -5
- package/dist/scripts/_lib/subagent_native_fields.js +35 -0
- package/dist/scripts/_lib/svg_filled_counter.js +285 -0
- package/dist/scripts/_lib/svg_rules.js +2 -0
- package/dist/scripts/_lib/ui_surface.js +19 -0
- package/dist/scripts/_lib/verification_command.js +364 -0
- package/dist/scripts/_lib/workspace_secrets.js +229 -0
- package/dist/scripts/ai_council/seat_policy.js +27 -0
- package/dist/scripts/ai_council/transport_resolver.js +9 -10
- package/dist/scripts/condense.js +25 -29
- package/dist/server/io/substituteTemplate.js +2 -2
- package/dist/server/io/yamlIO.js +2 -2
- package/dist/server/routes/install.js +5 -1
- package/dist/server/routes/settings.js +2 -2
- package/dist/server/routes/wizard.js +1 -1
- package/dist/server/schemas/settings.js +22 -16
- package/dist/server/serverInfo.js +1 -1
- package/dist/shared/brandTokenDocument.js +47 -0
- package/dist/shared/brandTokenPaths.js +43 -0
- package/dist/shared/settingsCarveOut.js +0 -7
- package/dist/shared/skillRanking.js +103 -5
- package/dist/shared/userMd/formAdapter.js +16 -0
- package/dist/shared/userMd/schema.js +17 -0
- package/dist/ui/assets/index-w70Ado09.js +23 -0
- package/dist/ui/index.html +1 -1
- package/docs/MIGRATION.md +89 -2
- package/docs/THIRD-PARTY-NOTICES.md +27 -0
- package/docs/contracts/settings-classes.md +27 -9
- package/docs/guidelines/agent-infra/api-cost-levers.md +4 -3
- package/docs/guidelines/agent-infra/model-recommendation.md +11 -5
- package/docs/guidelines/agent-infra/rule-body-migration-inventory.md +1 -1
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +47 -24
- package/docs/guidelines/design-antipatterns.md +5 -0
- package/docs/guidelines/design-asset-discipline.md +17 -0
- package/docs/guidelines/design-fidelity-routing.md +1 -0
- package/docs/guidelines/php/api-design.md +10 -1
- package/llms.txt +12 -10
- package/package.json +13 -4
- package/src/agent-src/scripts/dashboard_mode.ts +4 -1
- package/src/agent-src/scripts/roadmap_age.ts +175 -0
- package/src/agent-src/scripts/update_roadmap_progress.ts +10 -2
- package/src/agent-src/templates/AGENTS.md +1 -1
- package/src/agent-src/templates/scripts/check_memory.ts +2 -2
- package/src/agent-src/templates/scripts/historical-bug-patterns.example.yml +13 -1
- package/src/agent-src/templates/scripts/work_engine/cli.ts +17 -0
- package/src/agent-src/templates/scripts/work_engine/cli_args.ts +10 -0
- package/src/agent-src/templates/scripts/work_engine/directives/ui/scaffold.ts +22 -13
- package/src/agent-src/templates/scripts/work_engine/dispatcher.ts +18 -4
- package/src/agent-src/templates/scripts/work_engine/procedure/checks.ts +283 -0
- package/src/agent-src/templates/scripts/work_engine/procedure/run.ts +432 -0
- package/src/agent-src/templates/scripts/work_engine/procedure/sidecar.ts +185 -0
- package/src/agent-src/templates/scripts/work_engine/state.ts +3 -0
- package/src/config/agent-settings.template.yml +120 -57
- package/src/config/agents-paths.yml +13 -7
- package/src/config/ci-local-parity.yml +44 -0
- package/src/config/continuity-surface.json +51 -2
- package/src/config/depth-audit-samples.json +5 -0
- package/src/config/discovery/command-verbs.yml +1 -0
- package/src/config/dispatch-economy-metrics.json +1 -0
- package/src/config/egress-mutations/class-precedence-swapped.json +7 -0
- package/src/config/egress-mutations/credential-token-restores.json +7 -0
- package/src/config/egress-mutations/iban-checksum-disabled.json +7 -0
- package/src/config/egress-mutations/raw-value-in-the-count-record.json +7 -0
- package/src/config/evaluator-budgets.json +4 -4
- package/src/config/gate-coverage.yml +149 -3
- package/src/config/gate-reachability-exemptions.json +3 -5
- package/src/config/gate-violation-baselines.json +26 -22
- package/src/config/gitignore-block.txt +6 -3
- package/src/config/hook-bundle-budget.json +34 -3
- package/src/config/hook-carrier-probes.json +30 -0
- package/src/config/hook-latency-budget.json +4 -2
- package/src/config/host-injection-effect.json +8 -1
- package/src/config/host-skill-frontmatter-keys.json +56 -0
- package/src/config/layer-form-brakes.json +4 -0
- package/src/config/layer-form-comparison-corpus.json +42 -0
- package/src/config/loop-surfaces.yaml +28 -47
- package/src/config/memory-twin-verdicts.yml +9 -1
- package/src/config/metric-registry.yml +40 -3
- package/src/config/pack-size-budget.json +15 -0
- package/src/config/procedure-core-budget.json +21 -0
- package/src/config/profiles/minimal.ini +1 -1
- package/src/config/project-tree-form.json +24 -0
- package/src/config/reach-channels.yml +3 -3
- package/src/config/reach-prescriptions-intake.yml +1 -1
- package/src/config/roadmap-step-size-baseline.json +118 -0
- package/src/config/routing-coverage-seed.json +93 -2
- package/src/config/skill-body-budget.json +686 -0
- package/src/config/skill-fork-pilot.json +17 -0
- package/src/config/skill-lifecycle-probes-codex.json +57 -0
- package/src/config/skill-lifecycle-probes.json +57 -0
- package/src/config/skill-output-shape.json +316 -0
- package/src/config/step-depth-table.json +58 -0
- package/src/config/turnaround-budget.json +90 -0
- package/src/install/conflict.ts +38 -6
- package/src/install/conflictTracker.ts +126 -8
- package/src/install/detect.ts +3 -3
- package/src/install/hostPermissionsAdapter.ts +136 -0
- package/src/install/installThinLayer.ts +6 -1
- package/src/install/manifestFiles.ts +24 -0
- package/src/install/noGoDenyRows.ts +368 -0
- package/src/install/noGoRules.ts +438 -0
- package/src/install/ownershipLedger.ts +180 -0
- package/src/install/plan.ts +1 -1
- package/src/install/preflight.ts +42 -10
- package/src/install/preserve.ts +94 -12
- package/src/install/recordedOwnership.ts +121 -3
- package/src/install/rule_scope.ts +20 -3
- package/src/install/stagedRuntime.ts +528 -0
- package/src/install/toolsArg.ts +16 -0
- package/src/install/types.ts +23 -2
- package/src/install/userPin.ts +54 -0
- package/src/install/wizard-plan.ts +25 -4
- package/src/scripts/_cli/_doctor_emit.ts +24 -0
- package/src/scripts/_cli/cmd_brand_status.ts +223 -12
- package/src/scripts/_cli/cmd_ci_settle.ts +32 -0
- package/src/scripts/_cli/cmd_doctor.ts +23 -44
- package/src/scripts/_cli/cmd_route_explain.ts +176 -2
- package/src/scripts/_cli/cmd_uninstall.ts +270 -26
- package/src/scripts/_cli/cmd_update.ts +34 -1
- package/src/scripts/_cli/cmd_upgrade.ts +38 -2
- package/src/scripts/_cli/detection_report.ts +7 -0
- package/src/scripts/_cli/doctor_execution.ts +1 -2
- package/src/scripts/_cli/doctor_install_mode.ts +39 -0
- package/src/scripts/_cli/doctor_network_posture.ts +3 -3
- package/src/scripts/_cli/doctor_ownership_ledger.ts +126 -0
- package/src/scripts/_cli/doctor_update_verdict.ts +104 -0
- package/src/scripts/_cli/explain_last/scrubber.ts +9 -21
- package/src/scripts/_cli/upgrade_unattended.ts +548 -0
- package/src/scripts/_dispatch.bash +42 -9
- package/src/scripts/_lib/activation_ladder.ts +1 -1
- package/src/scripts/_lib/advisory_inventory.ts +405 -0
- package/src/scripts/_lib/advisory_notice.ts +270 -0
- package/src/scripts/_lib/advisory_sources.ts +752 -0
- package/src/scripts/_lib/advisory_verdicts.ts +363 -0
- package/src/scripts/_lib/agent_artifact_location.ts +177 -0
- package/src/scripts/_lib/agent_settings.ts +7 -12
- package/src/scripts/_lib/arrival_record.ts +217 -0
- package/src/scripts/_lib/asset_render_record.ts +247 -0
- package/src/scripts/_lib/billing_grant.ts +4 -2
- package/src/scripts/_lib/brand_voice_slot.ts +258 -0
- package/src/scripts/_lib/canary_status.ts +24 -0
- package/src/scripts/_lib/cc_transcript.ts +276 -0
- package/src/scripts/_lib/changelog_eras.ts +83 -0
- package/src/scripts/_lib/claim_phrases.ts +71 -0
- package/src/scripts/_lib/classify_update.ts +171 -0
- package/src/scripts/_lib/claude_builtin_names.ts +9 -4
- package/src/scripts/_lib/claude_hook_scope.ts +195 -0
- package/src/scripts/_lib/claude_settings_hooks.ts +118 -34
- package/src/scripts/_lib/codex_resident_set.ts +460 -0
- package/src/scripts/_lib/codex_skill_finder.ts +225 -0
- package/src/scripts/_lib/confusables.ts +19 -0
- package/src/scripts/_lib/consumer_impact.ts +199 -0
- package/src/scripts/_lib/content_class.ts +127 -0
- package/src/scripts/_lib/counted_probe.ts +68 -1
- package/src/scripts/_lib/credential_deny_rows.ts +151 -0
- package/src/scripts/_lib/credential_files.ts +367 -0
- package/src/scripts/_lib/delivery_arm_experiment.ts +2 -2
- package/src/scripts/_lib/depth_flip.ts +141 -0
- package/src/scripts/_lib/design_lock.ts +117 -0
- package/src/scripts/_lib/design_sync_ledger.ts +142 -0
- package/src/scripts/_lib/design_sync_plan.ts +177 -0
- package/src/scripts/_lib/design_sync_reconcile.ts +159 -0
- package/src/scripts/_lib/design_sync_verify.ts +99 -0
- package/src/scripts/_lib/design_system_claude_design.ts +323 -0
- package/src/scripts/_lib/design_system_import.ts +84 -6
- package/src/scripts/_lib/dispatch_import_closure.ts +42 -11
- package/src/scripts/_lib/egress_credential_env.ts +35 -0
- package/src/scripts/_lib/egress_engine.ts +22 -0
- package/src/scripts/_lib/egress_known_values.ts +223 -0
- package/src/scripts/_lib/egress_normalize.ts +67 -0
- package/src/scripts/_lib/egress_prefixes.ts +42 -0
- package/src/scripts/_lib/egress_rules.ts +896 -0
- package/src/scripts/_lib/egress_rules_linearity.ts +56 -0
- package/src/scripts/_lib/egress_sender_scan.ts +290 -0
- package/src/scripts/_lib/egress_session_table.ts +510 -0
- package/src/scripts/_lib/egress_text.ts +63 -0
- package/src/scripts/_lib/egress_token.ts +252 -0
- package/src/scripts/_lib/empty_cycles.ts +1 -1
- package/src/scripts/_lib/environment_detector.ts +45 -30
- package/src/scripts/_lib/exemption_shape.ts +75 -1
- package/src/scripts/_lib/floor_posture.ts +185 -0
- package/src/scripts/_lib/forge_protection.ts +140 -2
- package/src/scripts/_lib/global_deploy_inventory.ts +159 -6
- package/src/scripts/_lib/guidelines_lane.ts +12 -1
- package/src/scripts/_lib/hand_kinds.ts +65 -0
- package/src/scripts/_lib/headless_invocation.ts +3 -3
- package/src/scripts/_lib/host_capability.ts +34 -2
- package/src/scripts/_lib/host_env_write.ts +39 -18
- package/src/scripts/_lib/host_listing_model.ts +14 -7
- package/src/scripts/_lib/identifier_redaction.ts +26 -0
- package/src/scripts/_lib/impact_bump.ts +70 -0
- package/src/scripts/_lib/install_reach_checks.ts +53 -1
- package/src/scripts/_lib/installed_layer.ts +31 -0
- package/src/scripts/_lib/installed_layer_normalise.ts +75 -0
- package/src/scripts/_lib/instructions_loaded_classify.ts +75 -0
- package/src/scripts/_lib/instructions_loaded_event.ts +53 -0
- package/src/scripts/_lib/knowledge_global_redaction.ts +2 -2
- package/src/scripts/_lib/layer_form_corpus.ts +165 -0
- package/src/scripts/_lib/layer_form_decision.ts +248 -0
- package/src/scripts/_lib/layer_form_evidence.ts +112 -0
- package/src/scripts/_lib/lean_projection_mode.ts +32 -161
- package/src/scripts/_lib/llm_proposer_transport.ts +1 -0
- package/src/scripts/_lib/loop_guards.ts +8 -120
- package/src/scripts/_lib/major_surface.ts +207 -0
- package/src/scripts/_lib/mcp_bridge.ts +30 -69
- package/src/scripts/_lib/merge_clearance_record.ts +384 -0
- package/src/scripts/_lib/neighbour_census.ts +18 -1
- package/src/scripts/_lib/orchestration_record.ts +61 -0
- package/src/scripts/_lib/outcome_vocabularies.ts +15 -23
- package/src/scripts/_lib/pin_advice.ts +49 -0
- package/src/scripts/_lib/platform_anchor.ts +222 -0
- package/src/scripts/_lib/procedure_checks.ts +5 -0
- package/src/scripts/_lib/project_tree_form.ts +134 -0
- package/src/scripts/_lib/projection_key_migration.ts +122 -0
- package/src/scripts/_lib/prompt_shape.ts +13 -2
- package/src/scripts/_lib/provenance_verify.ts +272 -0
- package/src/scripts/_lib/quota_parked.ts +27 -1
- package/src/scripts/_lib/ratification_artifact.ts +64 -1
- package/src/scripts/_lib/ratification_subject.ts +508 -46
- package/src/scripts/_lib/release_findings_ingest.ts +52 -5
- package/src/scripts/_lib/release_highlights.ts +72 -2
- package/src/scripts/_lib/release_settings_surface.ts +392 -0
- package/src/scripts/_lib/review_round.ts +134 -0
- package/src/scripts/_lib/roadmap_checkboxes.ts +1 -1
- package/src/scripts/_lib/roadmap_slug_lock.ts +254 -0
- package/src/scripts/_lib/roadmap_step_size.ts +75 -0
- package/src/scripts/_lib/run_checkpoint.ts +60 -3
- package/src/scripts/_lib/runtime_wiring_checks.ts +15 -1
- package/src/scripts/_lib/scope_guard.sh +64 -5
- package/src/scripts/_lib/scoped_projection.ts +136 -3
- package/src/scripts/_lib/secret_detector.ts +24 -103
- package/src/scripts/_lib/security_fix.ts +429 -0
- package/src/scripts/_lib/security_fix_context.ts +133 -0
- package/src/scripts/_lib/self_repair.ts +69 -39
- package/src/scripts/_lib/self_repair_outgoing.ts +209 -0
- package/src/scripts/_lib/self_repair_payload.ts +86 -0
- package/src/scripts/_lib/session_eol.ts +3 -0
- package/src/scripts/_lib/session_pr_watch.ts +207 -0
- package/src/scripts/_lib/session_register.ts +51 -1
- package/src/scripts/_lib/session_tag.ts +51 -0
- package/src/scripts/_lib/settings_removed_keys.ts +30 -0
- package/src/scripts/_lib/settings_renamed_keys.ts +19 -5
- package/src/scripts/_lib/skill_catalogue.ts +66 -25
- package/src/scripts/_lib/skill_fork_pilot.ts +121 -0
- package/src/scripts/_lib/skill_leases.ts +203 -0
- package/src/scripts/_lib/skill_listing_overrides.ts +294 -0
- package/src/scripts/_lib/skill_materialisation.ts +388 -0
- package/src/scripts/_lib/skill_materialisation_gate.ts +210 -0
- package/src/scripts/_lib/skill_materialisation_lock.ts +149 -0
- package/src/scripts/_lib/skill_materialisation_triggers.ts +96 -0
- package/src/scripts/_lib/skill_origin.ts +21 -1
- package/src/scripts/_lib/skill_reach.ts +342 -0
- package/src/scripts/_lib/source_shape.ts +7 -2
- package/src/scripts/_lib/sqlite_guard.ts +1 -1
- package/src/scripts/_lib/step_anatomy.ts +330 -0
- package/src/scripts/_lib/subagent_capsule.ts +8 -2
- package/src/scripts/_lib/subagent_native_fields.ts +30 -0
- package/src/scripts/_lib/subagent_spawn.ts +36 -0
- package/src/scripts/_lib/subagent_steering.ts +367 -0
- package/src/scripts/_lib/svg_filled_counter.ts +287 -0
- package/src/scripts/_lib/svg_rules.ts +2 -0
- package/src/scripts/_lib/test_delta.ts +89 -6
- package/src/scripts/_lib/tier_downshift_verdict.ts +222 -0
- package/src/scripts/_lib/tool_result_census.ts +62 -0
- package/src/scripts/_lib/trigger_routers.ts +1 -0
- package/src/scripts/_lib/turnaround_throughput.ts +378 -0
- package/src/scripts/_lib/ui_surface.ts +22 -0
- package/src/scripts/_lib/unattended_gates.ts +100 -0
- package/src/scripts/_lib/undeployed_fixes.ts +34 -0
- package/src/scripts/_lib/update_check.ts +143 -12
- package/src/scripts/_lib/update_invite.ts +116 -0
- package/src/scripts/_lib/update_notice.ts +259 -0
- package/src/scripts/_lib/verify_clause.ts +4 -2
- package/src/scripts/_lib/version_order.ts +146 -0
- package/src/scripts/_lib/worker_reuse.ts +191 -0
- package/src/scripts/_lib/workspace_secrets.ts +273 -0
- package/src/scripts/_lib/worktree_git.ts +67 -0
- package/src/scripts/_lib/worktree_ignored.ts +116 -0
- package/src/scripts/adoption_status.ts +330 -3
- package/src/scripts/adr_cite_check.ts +93 -0
- package/src/scripts/advisories.ts +803 -0
- package/src/scripts/ai-image/adapters/flux.sh +1 -0
- package/src/scripts/ai-image/adapters/gemini-image.sh +1 -0
- package/src/scripts/ai-image/adapters/ideogram.sh +1 -0
- package/src/scripts/ai-image/adapters/recraft.sh +1 -0
- package/src/scripts/ai-video/adapters/comfyui.sh +1 -0
- package/src/scripts/ai-video/adapters/fal.sh +1 -0
- package/src/scripts/ai-video/adapters/gemini-veo.sh +1 -0
- package/src/scripts/ai-video/adapters/higgsfield.sh +1 -0
- package/src/scripts/ai-video/adapters/kling.sh +1 -0
- package/src/scripts/ai-video/adapters/musetalk.sh +1 -0
- package/src/scripts/ai-video/adapters/openai-images.sh +1 -0
- package/src/scripts/ai-video/adapters/replicate.sh +1 -0
- package/src/scripts/ai-video/adapters/sora.sh +1 -0
- package/src/scripts/ai-video/adapters/syncso.sh +1 -0
- package/src/scripts/ai-video/stitch.sh +115 -2
- package/src/scripts/ai_council/airgap.ts +1 -0
- package/src/scripts/ai_council/api_transport.ts +27 -4
- package/src/scripts/ai_council/budget_guard.ts +300 -11
- package/src/scripts/ai_council/bundler.ts +20 -29
- package/src/scripts/ai_council/chairman.ts +17 -2
- package/src/scripts/ai_council/cli_agency_bounds.ts +158 -0
- package/src/scripts/ai_council/cli_launch_env.ts +54 -0
- package/src/scripts/ai_council/cli_least_agency_canary.ts +18 -2
- package/src/scripts/ai_council/clients.ts +55 -73
- package/src/scripts/ai_council/config.ts +16 -22
- package/src/scripts/ai_council/council_egress.ts +167 -0
- package/src/scripts/ai_council/exposure_ledger.ts +117 -0
- package/src/scripts/ai_council/free_hand_shadow.ts +276 -0
- package/src/scripts/ai_council/free_route.ts +216 -0
- package/src/scripts/ai_council/free_route_catalog.ts +173 -0
- package/src/scripts/ai_council/free_route_client.ts +95 -0
- package/src/scripts/ai_council/free_rung.ts +61 -0
- package/src/scripts/ai_council/hand_payload.ts +230 -0
- package/src/scripts/ai_council/hand_schemas.ts +123 -0
- package/src/scripts/ai_council/jury_aggregate.ts +155 -1
- package/src/scripts/ai_council/kind_flip.ts +221 -0
- package/src/scripts/ai_council/kind_flip_state.ts +19 -0
- package/src/scripts/ai_council/learn_low_impact_preview.ts +50 -22
- package/src/scripts/ai_council/modification_review.ts +98 -5
- package/src/scripts/ai_council/necessity.ts +7 -0
- package/src/scripts/ai_council/orchestrator.ts +16 -16
- package/src/scripts/ai_council/pricing.ts +10 -0
- package/src/scripts/ai_council/redact_low_impact_entry.ts +5 -2
- package/src/scripts/ai_council/response_render.ts +27 -4
- package/src/scripts/ai_council/round_reservations.ts +119 -0
- package/src/scripts/ai_council/route_chooser.ts +161 -0
- package/src/scripts/ai_council/route_liveness.ts +152 -0
- package/src/scripts/ai_council/route_member.ts +52 -0
- package/src/scripts/ai_council/seat_policy.ts +40 -0
- package/src/scripts/ai_council/seat_resume.ts +40 -0
- package/src/scripts/ai_council/shadow_dispatch.ts +13 -3
- package/src/scripts/ai_council/spend_gate.ts +18 -2
- package/src/scripts/ai_council/status_surface.ts +37 -0
- package/src/scripts/ai_council/transport_resolver.ts +15 -18
- package/src/scripts/analysis_analysts.ts +226 -0
- package/src/scripts/analysis_anchors.ts +140 -0
- package/src/scripts/analysis_and_optimize.ts +44 -0
- package/src/scripts/analysis_emit.ts +150 -0
- package/src/scripts/analysis_exchange.ts +186 -0
- package/src/scripts/analysis_gate.ts +158 -0
- package/src/scripts/analysis_inbox_final.ts +173 -0
- package/src/scripts/analysis_ledger.ts +119 -0
- package/src/scripts/analysis_pr_optimize.ts +219 -0
- package/src/scripts/analysis_pr_review.ts +240 -0
- package/src/scripts/analysis_pr_target.ts +121 -0
- package/src/scripts/analysis_prompts.ts +130 -0
- package/src/scripts/analysis_publish.ts +358 -0
- package/src/scripts/analysis_questions.ts +78 -0
- package/src/scripts/analysis_run.ts +248 -0
- package/src/scripts/analysis_run_record.ts +210 -0
- package/src/scripts/analysis_target.ts +343 -0
- package/src/scripts/analysis_validate.ts +161 -0
- package/src/scripts/anchor_eval_falsify.ts +1 -1
- package/src/scripts/arrival_report.ts +115 -0
- package/src/scripts/ask_transport.ts +284 -35
- package/src/scripts/backfill_model_tier.ts +4 -5
- package/src/scripts/before_complete_hook.ts +48 -2
- package/src/scripts/bench_hook_latency.ts +3 -3
- package/src/scripts/bench_procedure_cursor.ts +440 -0
- package/src/scripts/bootstrap.sh +3 -3
- package/src/scripts/build_exit_code_register.ts +440 -0
- package/src/scripts/build_proof.ts +23 -1
- package/src/scripts/cache_realization_report.ts +155 -14
- package/src/scripts/canary_liveness.ts +117 -0
- package/src/scripts/chat_history.ts +12 -15
- package/src/scripts/check_account_surface.ts +318 -0
- package/src/scripts/check_agent_artifact_location.ts +17 -160
- package/src/scripts/check_bundle_path_leakage.ts +6 -0
- package/src/scripts/check_ci_local_parity.ts +21 -13
- package/src/scripts/check_claims.ts +77 -2
- package/src/scripts/check_completion_review.ts +34 -1
- package/src/scripts/check_concern_admissions.ts +41 -5
- package/src/scripts/check_consumer_scope_flip.ts +1 -1
- package/src/scripts/check_context_paths.ts +2 -0
- package/src/scripts/check_council_layout.ts +9 -0
- package/src/scripts/check_credential_spelling.ts +267 -0
- package/src/scripts/check_egress_mutations.ts +239 -0
- package/src/scripts/check_enforcement_coverage.ts +16 -3
- package/src/scripts/check_estate_count.ts +16 -1
- package/src/scripts/check_finding_dispositions.ts +147 -0
- package/src/scripts/check_gate_coverage.ts +123 -21
- package/src/scripts/check_gate_reachability.ts +16 -2
- package/src/scripts/check_generator_sync.ts +46 -0
- package/src/scripts/check_hook_bundle_composition.ts +139 -1
- package/src/scripts/check_host_docs_digest.ts +142 -5
- package/src/scripts/check_kernel_edit_ratified.ts +301 -76
- package/src/scripts/check_kernel_rule_bundle.ts +14 -10
- package/src/scripts/check_knowledge_cards.ts +83 -3
- package/src/scripts/check_memory.ts +13 -3
- package/src/scripts/check_pack_size.ts +1 -1
- package/src/scripts/check_permission_deny_syntax.ts +247 -0
- package/src/scripts/check_platform_anchor.ts +243 -0
- package/src/scripts/check_proposal.ts +183 -1
- package/src/scripts/check_reach_channels.ts +5 -3
- package/src/scripts/check_references.ts +5 -2
- package/src/scripts/check_release_manifest_content.ts +33 -0
- package/src/scripts/check_release_pr_shape.ts +5 -0
- package/src/scripts/check_rule_invariants.ts +9 -1
- package/src/scripts/check_skill_body_budget.ts +343 -0
- package/src/scripts/check_skill_requires.ts +137 -1
- package/src/scripts/check_step_receipts.ts +246 -0
- package/src/scripts/check_structural_breaking.ts +7 -1
- package/src/scripts/check_suppression_hygiene.ts +8 -0
- package/src/scripts/check_test_weakening.ts +14 -0
- package/src/scripts/check_token_quality_golden.ts +5 -1
- package/src/scripts/check_update_banner.ts +50 -3
- package/src/scripts/check_verify_expectation_delta.ts +2 -1
- package/src/scripts/check_voice_lexicon.ts +531 -0
- package/src/scripts/ci_os_attribution.ts +327 -0
- package/src/scripts/ci_platform_scope.ts +69 -0
- package/src/scripts/ci_settle.ts +4 -1
- package/src/scripts/ci_status.ts +0 -1
- package/src/scripts/ci_time_to_green.ts +748 -0
- package/src/scripts/classify_merge_risk.ts +407 -19
- package/src/scripts/code_graph/sqlite_store.ts +1 -1
- package/src/scripts/compile_trigger_evals.ts +353 -0
- package/src/scripts/condense.ts +25 -31
- package/src/scripts/consumer_matrix.ts +61 -3
- package/src/scripts/council_availability_hook.ts +12 -4
- package/src/scripts/council_cli.ts +48 -38
- package/src/scripts/cross_repo_retrieve.ts +9 -72
- package/src/scripts/design_lock.ts +106 -0
- package/src/scripts/design_slop_rules.ts +30 -0
- package/src/scripts/design_sync.ts +264 -0
- package/src/scripts/design_system_import.ts +30 -13
- package/src/scripts/dispatch_economy_report.ts +46 -1
- package/src/scripts/dispatch_r2_reviewer.ts +41 -5
- package/src/scripts/egress_canary.ts +166 -0
- package/src/scripts/egress_sender_census.ts +101 -0
- package/src/scripts/external_sources_denylist.json +94 -12
- package/src/scripts/generate_catalog.ts +6 -2
- package/src/scripts/generate_owned_digest.ts +163 -0
- package/src/scripts/generate_reference_toc.ts +143 -0
- package/src/scripts/generate_subagent_floor.ts +11 -1
- package/src/scripts/handoff_context_hook.ts +34 -0
- package/src/scripts/hook_carrier_census.ts +263 -0
- package/src/scripts/hook_chunks.d.mts +12 -0
- package/src/scripts/hook_chunks.mjs +114 -0
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +65 -42
- package/src/scripts/hooks/block_config_weakening.ts +127 -3
- package/src/scripts/hooks/block_credential_reads.ts +165 -0
- package/src/scripts/hooks/block_no_verify.ts +47 -23
- package/src/scripts/hooks/block_speaking_inbox_dir.ts +38 -7
- package/src/scripts/hooks/category_a.ts +202 -25
- package/src/scripts/hooks/concern_failure_policy.ts +6 -6
- package/src/scripts/hooks/concern_registry.ts +31 -6
- package/src/scripts/hooks/concern_registry_types.ts +11 -0
- package/src/scripts/hooks/delegation_nudge_hook.ts +105 -15
- package/src/scripts/hooks/design_pass_hook.ts +42 -10
- package/src/scripts/hooks/dispatch_hook.ts +13 -12
- package/src/scripts/hooks/egress_engine_loader.ts +125 -0
- package/src/scripts/hooks/egress_stage.ts +440 -0
- package/src/scripts/hooks/hook_stdin.ts +29 -4
- package/src/scripts/hooks/host_docs_pages.ts +194 -0
- package/src/scripts/hooks/host_docs_pages.yaml +75 -0
- package/src/scripts/hooks/host_lowering.json +1 -1
- package/src/scripts/hooks/host_lowering.yaml +22 -21
- package/src/scripts/hooks/host_rate_marker_hook.ts +73 -0
- package/src/scripts/hooks/instructions_observer_hook.ts +170 -0
- package/src/scripts/hooks/interruption_ledger_hook.ts +1 -1
- package/src/scripts/hooks/lazy_concern.ts +148 -0
- package/src/scripts/hooks/orchestration_record_hook.ts +80 -2
- package/src/scripts/hooks/payload_stub.ts +16 -6
- package/src/scripts/hooks/permission_gate.ts +7 -7
- package/src/scripts/hooks/push_settle_hook.ts +32 -3
- package/src/scripts/hooks/replay_hook.ts +43 -0
- package/src/scripts/hooks/reread_guard_hook.ts +87 -10
- package/src/scripts/hooks/rtk_wrap_hook.ts +4 -3
- package/src/scripts/hooks/rule_inject_hook.ts +8 -1
- package/src/scripts/hooks/session_eol_hook.ts +48 -1
- package/src/scripts/hooks/source_first_gate_hook.ts +6 -8
- package/src/scripts/hooks/spawn_guard_shadow_hook.ts +203 -10
- package/src/scripts/hooks/state_io.ts +2 -2
- package/src/scripts/hooks/svg_obligation.ts +75 -19
- package/src/scripts/hooks/tool_result_bytes_hook.ts +14 -5
- package/src/scripts/hooks/turn_end_gate_hook.ts +1 -1
- package/src/scripts/hooks/ui_route_nudge_hook.ts +2 -12
- package/src/scripts/hooks_doctor.ts +31 -0
- package/src/scripts/hooks_status.ts +58 -3
- package/src/scripts/inbox_source_census.ts +74 -13
- package/src/scripts/install +25 -3
- package/src/scripts/install.ts +60 -91
- package/src/scripts/interruption_report.ts +11 -1
- package/src/scripts/layer_baseline_report.ts +267 -0
- package/src/scripts/learning_sidecar.ts +1 -1
- package/src/scripts/lint_agents_layout.ts +3 -0
- package/src/scripts/lint_blocker_citations.ts +104 -0
- package/src/scripts/lint_breaking_changes_index.ts +40 -7
- package/src/scripts/lint_consolidation_lineage.ts +144 -16
- package/src/scripts/lint_consumer_internal_refs.ts +90 -42
- package/src/scripts/lint_context_spine_usage.ts +21 -0
- package/src/scripts/lint_design_antipattern_parity.ts +39 -7
- package/src/scripts/lint_evidence_artifacts.ts +31 -0
- package/src/scripts/lint_example_fences.ts +11 -2
- package/src/scripts/lint_ghostwriter_source.ts +42 -10
- package/src/scripts/lint_hook_manifest.ts +94 -0
- package/src/scripts/lint_marketplace_install_completeness.ts +4 -0
- package/src/scripts/lint_mcp_config_security.ts +9 -11
- package/src/scripts/lint_plan_risk_register.ts +28 -1
- package/src/scripts/lint_positioning.ts +4 -4
- package/src/scripts/lint_provenance.ts +1 -0
- package/src/scripts/lint_roadmap_blockers.ts +65 -4
- package/src/scripts/lint_roadmap_complexity.ts +98 -0
- package/src/scripts/lint_skill_link_reach.ts +251 -9
- package/src/scripts/lint_skill_procedures.ts +252 -0
- package/src/scripts/lint_skill_scripts_readonly.ts +12 -1
- package/src/scripts/lint_subagent_determinism.ts +14 -1
- package/src/scripts/lint_ticked_unmet_criteria.ts +300 -21
- package/src/scripts/mcp_registry_submit.sh +2 -2
- package/src/scripts/mcp_server/consumer_tool_catalog.json +4 -4
- package/src/scripts/mcp_server/suggest_skill.ts +89 -4
- package/src/scripts/mcp_server/tools.ts +2 -33
- package/src/scripts/measure_skill_ranker_baseline.ts +203 -5
- package/src/scripts/measure_turn_end_gate.ts +61 -1
- package/src/scripts/merge_clearance.ts +225 -0
- package/src/scripts/migrate_command_suggestions.ts +1 -1
- package/src/scripts/network_sources.ts +236 -0
- package/src/scripts/no_go_deny_rows.ts +225 -0
- package/src/scripts/orchestration_record.ts +15 -2
- package/src/scripts/plan_test_shards.ts +103 -0
- package/src/scripts/pr_url_reminder_hook.ts +10 -0
- package/src/scripts/print_required_checks.ts +5 -5
- package/src/scripts/probe_depth_shadow.ts +406 -0
- package/src/scripts/probe_turnaround.ts +342 -10
- package/src/scripts/ratification_subject.ts +176 -0
- package/src/scripts/rdp_gate_classify.ts +1 -0
- package/src/scripts/rdp_quality_eval.ts +1 -0
- package/src/scripts/release.ts +26 -55
- package/src/scripts/release_drill.ts +52 -23
- package/src/scripts/release_env.ts +37 -0
- package/src/scripts/release_publication.ts +11 -1
- package/src/scripts/report_consumer_gate_reach.ts +233 -0
- package/src/scripts/report_merge_gate_load.ts +295 -0
- package/src/scripts/report_project_contract.ts +123 -0
- package/src/scripts/report_reducible_classes.ts +342 -0
- package/src/scripts/report_required_checks_drift.ts +5 -3
- package/src/scripts/report_skill_host_census.ts +199 -0
- package/src/scripts/report_standing_payload_by_host.ts +7 -7
- package/src/scripts/retro.ts +758 -0
- package/src/scripts/retro_facts.ts +575 -0
- package/src/scripts/retro_queue.ts +739 -0
- package/src/scripts/retro_session_facts.ts +218 -0
- package/src/scripts/retro_sweep.ts +493 -0
- package/src/scripts/retro_triage.ts +126 -0
- package/src/scripts/roadmap_context.ts +2 -2
- package/src/scripts/roadmap_drain_queue.ts +601 -0
- package/src/scripts/run_supervise.ts +24 -2
- package/src/scripts/schemas/agent-settings.schema.json +0 -16
- package/src/scripts/schemas/command.schema.json +3 -3
- package/src/scripts/schemas/review-findings.schema.json +8 -0
- package/src/scripts/schemas/skill.schema.json +7 -6
- package/src/scripts/schemas/subagent.schema.json +33 -2
- package/src/scripts/score_skill_selection.ts +5 -2
- package/src/scripts/second_brain_retrieval.ts +1 -0
- package/src/scripts/second_brain_run.ts +1 -0
- package/src/scripts/self_repair_cli.ts +563 -87
- package/src/scripts/self_review_gate.ts +59 -4
- package/src/scripts/session_register_hook.ts +91 -4
- package/src/scripts/sessions_cli.ts +100 -5
- package/src/scripts/skill_collision_clusters.ts +1 -1
- package/src/scripts/skill_tools/score_skill_relevance.ts +31 -2
- package/src/scripts/skill_trigger_eval.ts +4 -2
- package/src/scripts/source_adapters.ts +183 -0
- package/src/scripts/step_receipt.ts +100 -0
- package/src/scripts/sync_pr_branch.ts +4 -0
- package/src/scripts/test_council_qualification.ts +1 -1
- package/src/scripts/trigger_eval_grandfather.json +3 -49
- package/src/scripts/trigger_eval_rotation.ts +31 -3
- package/src/scripts/ui_conformance_probe.ts +405 -1
- package/src/scripts/update_counts.ts +230 -11
- package/src/scripts/update_invite_hook.ts +245 -0
- package/src/scripts/update_notice_hook.ts +298 -0
- package/src/scripts/validate_frontmatter.ts +85 -0
- package/src/scripts/worker_reuse_shadow_report.ts +121 -0
- package/src/scripts/worktree_cleanup_check.ts +915 -121
- package/src/server/io/yamlIO.ts +2 -2
- package/src/server/schemas/settings.ts +37 -23
- package/src/shared/brandTokenDocument.ts +46 -0
- package/src/shared/brandTokenPaths.ts +43 -0
- package/src/shared/settingsCarveOut.ts +0 -8
- package/src/shared/skillRanking.ts +106 -5
- package/src/shared/userMd/formAdapter.ts +15 -1
- package/src/shared/userMd/schema.ts +22 -0
- package/src/templates/agent-user.md +4 -0
- package/src/templates/agent-user.yml +4 -0
- package/dist/cli-delegate/chunk-4DBG5K7M.js +0 -1123
- package/dist/cli-delegate/chunk-523HCFYO.js +0 -90
- package/dist/cli-delegate/chunk-AL3RZ22D.js +0 -74
- package/dist/cli-delegate/chunk-KB5FZ655.js +0 -208
- package/dist/cli-delegate/chunk-MDPPKQCQ.js +0 -875
- package/dist/cli-delegate/chunk-OAFSJBHH.js +0 -272
- package/dist/ui/assets/index-C3djEJah.js +0 -23
- package/src/scripts/_lib/continuation_ladder.ts +0 -335
- package/src/scripts/hooks/run_continuation_hook.ts +0 -1524
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# /roadmap:process-full — Branches
|
|
2
|
+
|
|
3
|
+
Branch-only body of the [`/roadmap:process-full`](../../commands/roadmap/process-full.md)
|
|
4
|
+
command. Each section is loaded from the command's pointer line only when the
|
|
5
|
+
run takes that branch — `--all` and its lanes, gated residue, the six-layer
|
|
6
|
+
detail, `--merge`, `--worktree`, the halt detail, terminal outcomes and the PR
|
|
7
|
+
body, the final report shape, spend, and the dashboard rationale. The Iron Laws
|
|
8
|
+
stay in the command; this file carries the moved explanatory text verbatim.
|
|
9
|
+
|
|
10
|
+
### `--all` — the estate, one roadmap at a time
|
|
11
|
+
|
|
12
|
+
`--all` changes **cardinality, not lifecycle**: the same single-roadmap loop,
|
|
13
|
+
iterated over the whole active estate. It is a flag rather than a
|
|
14
|
+
`/roadmap:process-all` command because
|
|
15
|
+
[`command-clusters`](../../docs/contracts/command-clusters.md) says
|
|
16
|
+
sibling variants become a flag, and a drain is a count of the thing this
|
|
17
|
+
command already does.
|
|
18
|
+
|
|
19
|
+
1. **Recompute the inventory live.** Never from memory, never from the
|
|
20
|
+
dashboard count — the same live-screen rule
|
|
21
|
+
[`/roadmap:next` § 1](../../commands/roadmap/next.md) already carries. The corpus is the
|
|
22
|
+
non-draft roadmaps directly under `agents/roadmaps/`; `later/`, `skipped/`,
|
|
23
|
+
`archive/` and `stubs/` are out of scope.
|
|
24
|
+
2. **Order the queue — finish before start.** Run
|
|
25
|
+
`./scripts-run src/scripts/roadmap_drain_queue` (`--json` for the record) and
|
|
26
|
+
take its order; never build the queue in prose. It answers *can this started
|
|
27
|
+
roadmap still move?*, not *how far along is it?*:
|
|
28
|
+
`resume` (a dead session's claimed roadmap — continue in its worktree) →
|
|
29
|
+
`continue` (started, at least one runnable open step, fewest runnable first)
|
|
30
|
+
→ `start` (unstarted, dispatchable **only** when no `resume` / `continue`
|
|
31
|
+
entry is left) → `decide` (no runnable step: never dispatched, its blockers go
|
|
32
|
+
to § Gated residue) → `claimed` (a live peer session holds it: skipped).
|
|
33
|
+
|
|
34
|
+
Percent-done was the old key and it was the defect: it put the gated tails of
|
|
35
|
+
nearly-finished roadmaps on top, the orchestrator screened them as blocked,
|
|
36
|
+
and the unstarted bucket won. Over 50 sessions read on 2026-10-19, roadmaps
|
|
37
|
+
under 25 % received 86 progress commits and those at 75 % or more received 12;
|
|
38
|
+
24 were started and none finished. `/roadmap:next` § 3's Goodhart warning
|
|
39
|
+
still holds — under a total drain the order decides only what finishes first,
|
|
40
|
+
never what gets done.
|
|
41
|
+
|
|
42
|
+
**An owner's quantity word widens how many roadmaps are FINISHED, never how
|
|
43
|
+
many are STARTED.** "As many roadmaps as possible" reads as "as many to
|
|
44
|
+
completion", in queue order.
|
|
45
|
+
3. **Claim, then loop.** Per roadmap: `agent-config sessions:claim <slug>`
|
|
46
|
+
first, so a later session's queue lists it as `claimed` and takes the next
|
|
47
|
+
started roadmap instead of this one or a new one; branch from the updated
|
|
48
|
+
default, run this command's normal single-roadmap loop, deliver per
|
|
49
|
+
§ Delivery, `sessions:claim --release <slug>`, then re-run the queue against
|
|
50
|
+
the default **as it stands at that moment** — re-fetched, never assumed. One
|
|
51
|
+
roadmap = one branch = one PR, the existing invariant iterated, not a new one.
|
|
52
|
+
|
|
53
|
+
**A refused claim is a stop for that roadmap, never a `--force`.** Every
|
|
54
|
+
claim takes a per-slug lock in the git common dir, which a session in any
|
|
55
|
+
worktree sees the moment it is written and which refuses a second live
|
|
56
|
+
holder. `REFUSED` means a peer is building it: take the next queue entry.
|
|
57
|
+
The single-roadmap path claims the same way before its first edit, so a
|
|
58
|
+
plain `/roadmap:process-full <slug>` in a second session refuses instead of
|
|
59
|
+
duplicating — the #2533 / #2534 failure, two sessions, one roadmap, ten
|
|
60
|
+
conflicting files.
|
|
61
|
+
|
|
62
|
+
### Lanes — at most two, each on the canonical brief
|
|
63
|
+
|
|
64
|
+
A lane is a subagent that drains ONE roadmap. **At most two lanes run at once**
|
|
65
|
+
(the cap recorded 2026-08-20); an owner's "max N" above two is reported in the
|
|
66
|
+
run's first line and not obeyed — one run on record started fourteen, saturated
|
|
67
|
+
CI and lost every lane to the spend limit together. A lane holds its roadmap
|
|
68
|
+
until it reports `complete` or a halt; it never receives a second roadmap, and
|
|
69
|
+
no lane is dispatched onto a `start` entry while a `continue` entry has no lane.
|
|
70
|
+
|
|
71
|
+
**Each lane is claimed for itself, before it spawns:**
|
|
72
|
+
`agent-config sessions:claim <slug> --lane --worktree <lane worktree>`. One
|
|
73
|
+
session holds one lock per lane, so the second lane no longer overwrites the
|
|
74
|
+
first lane's claim, and the queue lists every lane's roadmap as `claimed`.
|
|
75
|
+
|
|
76
|
+
**A lane that dies keeps its work.** A spend limit, a rate limit or a watchdog
|
|
77
|
+
stops the lane, not its worktree: the commits and the uncommitted edits stay on
|
|
78
|
+
disk. Before re-dispatching, read the queue — the lane's entry carries
|
|
79
|
+
`salvage: N commit(s) ahead, M uncommitted file(s)` — and send a FRESH lane
|
|
80
|
+
into the SAME worktree with the same brief; a resumed agent loses its isolated
|
|
81
|
+
worktree, a fresh one does not. The same holds when the orchestrator session
|
|
82
|
+
itself dies: its lane locks expire with its register record and the next
|
|
83
|
+
session's queue lists each roadmap as `resume` in the lane's worktree.
|
|
84
|
+
|
|
85
|
+
**The orchestrator sends this brief, filling only the two parameters, and adds
|
|
86
|
+
nothing that changes its finish line:**
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
Run /roadmap:process-full on <roadmap path>, in the worktree <absolute path>.
|
|
90
|
+
Your finish line is count_open == 0 for this roadmap and exactly ONE pull request.
|
|
91
|
+
Commit locally in logical chunks. Push and open the PR only after the last step
|
|
92
|
+
is done — no intermediate push, PR or merge; delivery fixes go to that same PR.
|
|
93
|
+
Do not flip checkboxes. For every step you finish, return the step id and its
|
|
94
|
+
evidence (the command you ran and its result). The orchestrator verifies and flips.
|
|
95
|
+
If a step needs a council or owner decision, do not stop and do not leave it with
|
|
96
|
+
a reason: return it as `gated: <step> — <blocker id> — <the question>` and keep
|
|
97
|
+
working the other steps. The orchestrator decides it and resumes you.
|
|
98
|
+
Never cut finished work out of the diff to avoid a gate; a gated part waits for
|
|
99
|
+
its decision inside this branch.
|
|
100
|
+
If the worktree already holds commits or uncommitted edits for this roadmap, a
|
|
101
|
+
previous lane was stopped: continue from them, never start over.
|
|
102
|
+
Report, every time: steps finished, steps gated, classifier_refusals (a list,
|
|
103
|
+
empty when none).
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Forbidden in a brief or in any addendum to it: an "open, green PR" as the finish
|
|
107
|
+
line; a sanctioned partial PR; a phase or step-range scope; "remove the part that
|
|
108
|
+
needs ratification"; "do not ask the owner". Each of these was in the improvised
|
|
109
|
+
briefs of the 2026-10-01..19 drains, and 17 of 207 drain lanes (8 %) reached
|
|
110
|
+
`count_open == 0` under them.
|
|
111
|
+
|
|
112
|
+
### Gated residue — decided in the run, not left in a report
|
|
113
|
+
|
|
114
|
+
The queue classifies every open step as runnable, council, owner or time
|
|
115
|
+
(`roadmap_drain_queue`, from `blocked-by` markers, blocker `Class` / `Owner` /
|
|
116
|
+
`Status`, and a dated wait). What it cannot run, the orchestrator settles before
|
|
117
|
+
the roadmap is dispatched again:
|
|
118
|
+
|
|
119
|
+
1. **Owner questions are asked once, at run start.** The queue's
|
|
120
|
+
`owner_questions` become ONE numbered block, one decision per number, before
|
|
121
|
+
any lane spawns. Each answer is recorded at its step. An unanswered step keeps
|
|
122
|
+
its roadmap in `decide` — it never licenses starting an unstarted roadmap in
|
|
123
|
+
its place.
|
|
124
|
+
2. **Council questions run in the run.** A lane's `gated:` return or a
|
|
125
|
+
`council_questions` entry goes to the council by the orchestrator, and the
|
|
126
|
+
verdict goes back to the SAME lane via its message channel. Ending the lane and
|
|
127
|
+
dispatching a fresh one later is how one roadmap received nine lanes in eight
|
|
128
|
+
sessions behind an unchanged blocker.
|
|
129
|
+
3. **A `decide` roadmap is never re-dispatched until its blocker changed** —
|
|
130
|
+
the queue reads `Status:` live, so a resolved blocker turns the step runnable
|
|
131
|
+
and nothing else does.
|
|
132
|
+
4. **A roadmap whose only open steps are time-gated is closed by carrying them**
|
|
133
|
+
into a named `-carried` follow-up in the same change (the council-routed
|
|
134
|
+
disposition of `roadmap-progress-sync` Iron Law 3), then archived. Never `[~]`
|
|
135
|
+
or `[-]` to reach zero.
|
|
136
|
+
|
|
137
|
+
### The orchestrator closes the boxes
|
|
138
|
+
|
|
139
|
+
A lane does not flip its own checkboxes: it returns each finished step with its
|
|
140
|
+
evidence, and the orchestrator verifies the return (per `delegation-policy`
|
|
141
|
+
item 4) and makes the bookkeeping commit on the lane's branch. A lane approving
|
|
142
|
+
its own work is one of the actions the host classifier refused as
|
|
143
|
+
"Self-Approval" among the 24 classifier stops in those drains; an orchestrator
|
|
144
|
+
verifying a return is the review the classifier was asking for.
|
|
145
|
+
|
|
146
|
+
**What `--all` can and cannot promise, stated plainly because the honest
|
|
147
|
+
version is weaker than the obvious one.** Nothing in the run
|
|
148
|
+
merges, so the default does not advance because of this run, and every PR after
|
|
149
|
+
the first is mergeable *against the base recorded when it was prepared* rather
|
|
150
|
+
than against the base after its predecessors land. In a repository where every
|
|
151
|
+
roadmap PR touches the same generated files, that means an `--all` hand-off is
|
|
152
|
+
**one immediately-mergeable PR plus N−1 prepared ones**, each needing a
|
|
153
|
+
re-sync at merge time. That is still the expensive half — conflicts classified,
|
|
154
|
+
CI green once, superseded PRs closed — but it is not "N mergeable PRs", and the
|
|
155
|
+
run reports it in those words.
|
|
156
|
+
|
|
157
|
+
**A blocked roadmap never stalls the estate queue.** Inside a roadmap the five
|
|
158
|
+
halt conditions and the terminal outcomes keep full authority. Between
|
|
159
|
+
roadmaps, the § Halt-conditions table below is the single statement of what
|
|
160
|
+
ends the roadmap and what ends the loop — including the two halts that are
|
|
161
|
+
safety floors and therefore end the run. A `blocked` roadmap is recorded and
|
|
162
|
+
the loop continues to the next one.
|
|
163
|
+
|
|
164
|
+
### `--worktree` — isolate the workspace
|
|
165
|
+
|
|
166
|
+
Route workspace creation through [`/worktree:create`](../../commands/worktree/create.md)
|
|
167
|
+
in full, including its
|
|
168
|
+
[§ 4b seeding allow/deny list](../../skills/using-git-worktrees/SKILL.md#4b-seed-the-worktree--allow--deny-list),
|
|
169
|
+
which is the authority on what may be copied and what must never be — not
|
|
170
|
+
restated here, because a second copy of a safety list is a copy that can
|
|
171
|
+
drift. Under `--all` the worktree is created
|
|
172
|
+
once and re-branched per roadmap; `/worktree:cleanup` runs at end of run.
|
|
173
|
+
Every lane worktree is registered when it is created —
|
|
174
|
+
`agent-config worktree:cleanup register <lane worktree> --purpose=lane` — so
|
|
175
|
+
the merge-time and daily removal reach it although it sits beside the
|
|
176
|
+
checkout rather than under a conventional root (ADR-295).
|
|
177
|
+
|
|
178
|
+
## Full is Full — halt detail
|
|
179
|
+
|
|
180
|
+
6. **RETIRED 2026-09-13** by `road-to-adversarial-verification-and-long-runs`
|
|
181
|
+
5.2. This read *a merge conflict outside the four enumerated classes of
|
|
182
|
+
`/pr:merge` § 3*. That section now ROUTES
|
|
183
|
+
an unenumerated conflict — understand both intents, inspect recency and
|
|
184
|
+
authorship, preserve both where compatible, independent review, council or
|
|
185
|
+
team, and the owner **only** for a product-semantic incompatibility — so
|
|
186
|
+
there is no longer a conflict class whose arrival ends a run. Numbered rather
|
|
187
|
+
than renumbered: the list is cited by index from several places, and silently
|
|
188
|
+
shifting five conditions up one is how a citation comes to name a different
|
|
189
|
+
halt. **Five live halt conditions, not six.**
|
|
190
|
+
|
|
191
|
+
What did NOT change: an unenumerated conflict may still never be resolved
|
|
192
|
+
silently. The ladder's own record — which rung settled it, both intents, why
|
|
193
|
+
the resolution preserves them — is the replacement for the stop, and the
|
|
194
|
+
reason the stop could be removed at all.
|
|
195
|
+
|
|
196
|
+
**Under `--all`, which of these end the roadmap and which end the loop.** Two
|
|
197
|
+
of the five are safety floors and they end the **whole run**, not the current
|
|
198
|
+
roadmap:
|
|
199
|
+
|
|
200
|
+
| Halt | Under `--all` |
|
|
201
|
+
|---|---|
|
|
202
|
+
| 1. Hard-Floor trigger | **Ends the run.** Stop and obtain this-turn confirmation. [`non-destructive-by-default`](../../rules/non-destructive-by-default.md) states that no roadmap authorization lifts the floor, and "record it and take the next roadmap" is exactly the roadmap-as-authorization bypass it names. |
|
|
203
|
+
| 3. Security-sensitive surface | **Ends the run**, same reasoning. |
|
|
204
|
+
| 2. Council-off + genuine ambiguity | Ends the roadmap; the loop records it and continues. |
|
|
205
|
+
| 4. Scope-out-of-roadmap work | Ends the roadmap; the loop records it and continues. |
|
|
206
|
+
| 5. Test / quality red past N=3 | Ends the roadmap; the loop records it and continues. |
|
|
207
|
+
| ~~6. Unenumerated merge conflict in delivery~~ | **RETIRED** — `/pr:merge` § 3 routes it instead of stopping. |
|
|
208
|
+
|
|
209
|
+
**And the conditions that end the loop without ending a roadmap:**
|
|
210
|
+
estate-queue exhaustion (always), a
|
|
211
|
+
`/pr:merge` § 8 kill switch (always — that
|
|
212
|
+
section arms its checks during **preparation**, not only before a merge, which
|
|
213
|
+
is what keeps them reachable while the merge step is gated), and
|
|
214
|
+
authorization-window expiry — which is **unreachable in this command**,
|
|
215
|
+
because it never performs a `BLOCK_OPS` operation for the window to govern. Three conditions, one of them currently inert, and this
|
|
216
|
+
table is the only place the set is stated.
|
|
217
|
+
|
|
218
|
+
Nothing here widens a run without `--all`: it still has exactly the five live
|
|
219
|
+
conditions above, all of them ending the run because there is no loop to
|
|
220
|
+
continue.
|
|
221
|
+
|
|
222
|
+
Phase-internal `(deferred)` / `(optional)` / `gated on Phase N` tags are
|
|
223
|
+
authoring annotations, not execution gates. `/roadmap:process-full`
|
|
224
|
+
ignores them by construction. If the user wants narrower execution they
|
|
225
|
+
invoke `/roadmap:process-phase` (scope = single phase) or
|
|
226
|
+
`/roadmap:process-step` (scope = single step) instead.
|
|
227
|
+
|
|
228
|
+
Time-boxed plate / horizon framing is opt-in via
|
|
229
|
+
`roadmap.horizon_weeks` in `.agent-settings.yml` (default `0` =
|
|
230
|
+
forbidden, per template rule 16 in `templates/roadmaps.md`). If a
|
|
231
|
+
roadmap carries such phrasing — whether by legacy or by an opt-in
|
|
232
|
+
setting — treat it as ordinary prose during execution, never as a
|
|
233
|
+
gate. Phase ordering and explicit dependency gates govern the loop.
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
# /roadmap:process-full — Branches
|
|
2
|
+
|
|
3
|
+
Branch-only body of the [`/roadmap:process-full`](../../commands/roadmap/process-full.md)
|
|
4
|
+
command. Each section is loaded from the command's pointer line only when the
|
|
5
|
+
run takes that branch — `--all` and its lanes, gated residue, the six-layer
|
|
6
|
+
detail, `--merge`, `--worktree`, the halt detail, terminal outcomes and the PR
|
|
7
|
+
body, the final report shape, spend, and the dashboard rationale. The Iron Laws
|
|
8
|
+
stay in the command; this file carries the moved explanatory text verbatim.
|
|
9
|
+
|
|
10
|
+
### The six required layers, in order, each with the command that runs it
|
|
11
|
+
|
|
12
|
+
`road-to-adversarial-verification-and-long-runs` 3.1. Correctness is owned by the
|
|
13
|
+
forge and CI, not by an owner reading a diff — so the layers are named, ordered,
|
|
14
|
+
and each one carries the command that produces its verdict. A layer with no
|
|
15
|
+
command is a claim; a layer with one is a check.
|
|
16
|
+
|
|
17
|
+
| # | Layer | Command that runs it |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| 1 | A targeted local RED, then GREEN | the test runner filtered to the failing name — `npm run test:ts -- <file>`, never the suite |
|
|
20
|
+
| 2 | Quality scoped to the changed surface | the type-checker and linter over the diff — `npm run typecheck`, the linter on changed files |
|
|
21
|
+
| 3 | Per-phase fast CI | `roadmap.quality_cadence: per_phase` (Phase 0.2) at each phase boundary |
|
|
22
|
+
| 4 | The final full required CI | `npm exec --no -- agent-config ci:settle <PR> --timeout-min 28`, run as a BACKGROUND job — its LAST OUTPUT LINE is the verdict |
|
|
23
|
+
| 5 | Forge branch protection | `agent-config doctor --json` → `forge_protection` (Phase 3.2), read from the forge |
|
|
24
|
+
| 6 | Final-head verification | `ci_settle`'s verdict line names the head; it must be the head that was pushed last |
|
|
25
|
+
|
|
26
|
+
**Layer 1 before layer 2 before layer 3, and the order is the substance.** Each
|
|
27
|
+
layer is cheaper and narrower than the one after it, so running them out of order
|
|
28
|
+
spends the expensive verdict on a failure the cheap one would have named. A run
|
|
29
|
+
that reaches layer 4 with layer 1 unrun has not saved a step; it has moved the
|
|
30
|
+
same failure to where it costs a CI cycle.
|
|
31
|
+
|
|
32
|
+
That last line is not a courtesy. Size is the one property of a diff that
|
|
33
|
+
correlates with nothing a reviewer can check mechanically, and gating on it is
|
|
34
|
+
how *ask the owner* re-enters through a door marked prudence — which is the loop
|
|
35
|
+
ADR-268 § 0 is trying to end. Gate on the five conditions above, which are
|
|
36
|
+
falsifiable, and never on how big the change looks.
|
|
37
|
+
|
|
38
|
+
**A disabled required check cannot reach delivery-ready**, and that is the
|
|
39
|
+
condition to test rather than assert: a PR whose required context is skipped has
|
|
40
|
+
a green rollup and an unenforced gate, so a delivery-ready test that reads only
|
|
41
|
+
the rollup passes exactly when it should fail.
|
|
42
|
+
|
|
43
|
+
### `--merge` — merging, on the owner's word only (ADR-282)
|
|
44
|
+
|
|
45
|
+
The owner settled the half of
|
|
46
|
+
[ADR-239](../../../../docs/decisions/ADR-239-drain-command-surface-and-merge-authority.md)
|
|
47
|
+
§ Disposition that ADR-266 left open:
|
|
48
|
+
[ADR-282](../../../../docs/decisions/ADR-282-auto-merge-authority-with-a-council-danger-gate.md).
|
|
49
|
+
An explicit auto-merge instruction is the this-turn confirmation
|
|
50
|
+
[`non-destructive-by-default`](../../rules/non-destructive-by-default.md)
|
|
51
|
+
requires for the production-branch merge of a **routine** PR. Delivery runs
|
|
52
|
+
`/pr:merge <N> --merge`, whose § 9a danger gate (`classify_merge_risk`) decides:
|
|
53
|
+
`routine` → squash-merge bound to the observed head; `needs-council` → a neutral
|
|
54
|
+
council review, merge only when both seats say *not dangerous, owner review
|
|
55
|
+
unnecessary*, otherwise hand the PR back with the seats' reasons; `needs-owner`
|
|
56
|
+
(the gated surface, the reviewer's trust chain, or an owner-reserved ADR) →
|
|
57
|
+
no council, hand it back
|
|
58
|
+
with its triggers. § 9a runs the base revision's classifier, never the head's.
|
|
59
|
+
|
|
60
|
+
ADR-268 § 3's object-bound `prod_merge` grant stays a separate, unchanged path.
|
|
61
|
+
A standing autonomy directive or momentum is **neither**. Deploy, release and
|
|
62
|
+
every other Hard-Floor action keep their own confirmation.
|
|
63
|
+
|
|
64
|
+
**Mergeability is per-PR against a recorded base, never a queue property.**
|
|
65
|
+
When every PR in the estate touches the same generated files — in this
|
|
66
|
+
repository `agents/roadmaps-progress.md` and the archive index — making PR *n*
|
|
67
|
+
mergeable against base
|
|
68
|
+
SHA `M` says nothing about its state once PR *n−1* advances the base to `M1`.
|
|
69
|
+
Report "mergeable against base `<SHA>`", never "the queue is mergeable".
|
|
70
|
+
|
|
71
|
+
## Terminal outcomes — `complete`, or a genuine external impossibility
|
|
72
|
+
|
|
73
|
+
**Rewritten by [ADR-237](../../../../docs/decisions/ADR-237-end-to-end-execution-authority.md),
|
|
74
|
+
which supersedes ADR-235.** The prior version measured twelve nearly-complete
|
|
75
|
+
roadmaps and found that **zero** could reach `count_open == 0` in one PR, because
|
|
76
|
+
every remaining step needed "a human action". That census was sound; the reading
|
|
77
|
+
of it was not. It counted actions a human *conventionally* performs without
|
|
78
|
+
asking, per action, whether a human was **necessary**. Most of that list — flip a
|
|
79
|
+
branch setting, push, open a PR, re-run CI, update a merge base, fix a failing
|
|
80
|
+
test, authorise spend inside a budget — is machine-executable by the agent, and
|
|
81
|
+
is therefore remediation work rather than a blocker.
|
|
82
|
+
|
|
83
|
+
### `complete` requires DELIVERY, not only checkboxes
|
|
84
|
+
|
|
85
|
+
`road-to-adversarial-verification-and-long-runs` 8.1. The delivery machine is
|
|
86
|
+
`working → local-green → pushed → pr-open → ci-pending → (red → the recovery
|
|
87
|
+
ladder → pushed | green) → target-sync-check → (moved → sync → tests → pushed |
|
|
88
|
+
current) → delivery-ready → (grant → merged | no grant → open-green)`.
|
|
89
|
+
|
|
90
|
+
`run_continuation_hook` read the position the run RECORDED — it did not probe
|
|
91
|
+
the forge, because a `gh` call on the stop path is the cost the premise rung
|
|
92
|
+
already declined — and any position that was not an ending kept the run engaged
|
|
93
|
+
at zero open steps. **That concern was withdrawn on its own pre-registered kill
|
|
94
|
+
date (`road-to-what-was-built-and-never-ran` Phase 4), so nothing re-engages a
|
|
95
|
+
run automatically any more.** Its termination ladder, `_lib/continuation_ladder.ts`,
|
|
96
|
+
was removed on 2026-10-14 by owner decision; what it encoded survives here as
|
|
97
|
+
the shape a successor inherits, not as a mechanism in the tree. Two bounds held a
|
|
98
|
+
delivery hold, and one was deliberately lifted: the iteration and wall-clock caps
|
|
99
|
+
still ended it, while the **stall** rung was skipped, because during delivery the
|
|
100
|
+
open-step count it measures cannot move and a metric that cannot move is not a
|
|
101
|
+
stall signal.
|
|
102
|
+
|
|
103
|
+
Said in a fence because the surrounding prose reads as a description of live
|
|
104
|
+
behavior and an independent review of the change that introduced it read it
|
|
105
|
+
exactly that way. The run that owes a delivery ending checks it itself before it
|
|
106
|
+
reports `complete`; nothing in the tree reads a recorded position any more.
|
|
107
|
+
|
|
108
|
+
**`open-green` is a success, not a shortfall.** A run with no merge grant is not
|
|
109
|
+
supposed to merge; what it owes is an open PR whose CI is green **on the head CI
|
|
110
|
+
actually observed**, and a report that says so.
|
|
111
|
+
|
|
112
|
+
### The PR body is one page for the owner's review
|
|
113
|
+
|
|
114
|
+
8.2. The end-of-run PR body carries these six, each as its own named section:
|
|
115
|
+
|
|
116
|
+
1. **Delivery target reached** — `merged` or `open-green`, and the head SHA CI observed.
|
|
117
|
+
2. **Decisions taken, and by whom** — agent, council, team or owner, per decision.
|
|
118
|
+
3. **Open owner-owned residue** — what is left that only the owner can settle, or *none*.
|
|
119
|
+
4. **Scope delta** — what the run added to or dropped from the roadmap's stated scope.
|
|
120
|
+
5. **Spend** — actual against the authorised ceiling.
|
|
121
|
+
6. **Fix-loop epochs** — how many strategies were opened, and what ended each.
|
|
122
|
+
|
|
123
|
+
Six sections because each answers a different question the owner would otherwise
|
|
124
|
+
have to ask, and a run that omits one has moved that question back into the
|
|
125
|
+
conversation this roadmap exists to end.
|
|
126
|
+
|
|
127
|
+
| Outcome | When | Success? | terminal state |
|
|
128
|
+
|---|---|---|---|
|
|
129
|
+
| `complete` | `count_open == 0`, the PR is open, and delivery reached an ending | yes — archival check runs | `success` |
|
|
130
|
+
| `blocked` | every remaining open step is **externally impossible** for the agent | **no** — partial progress, labelled as such | `blocked`, or `approval-required` where the work is finished and waiting on a human |
|
|
131
|
+
| a halt | one of the five conditions fired | **no** — the halt is reported | `exhausted` when a declared budget ran out; `stagnated` when the same failure signature repeated with budget left |
|
|
132
|
+
|
|
133
|
+
**The closing report names the terminal state by word**, from
|
|
134
|
+
[`terminal-states`](terminal-states.md).
|
|
135
|
+
The reason is the failure that vocabulary exists to stop: a run that stopped at
|
|
136
|
+
its iteration cap and one that finished both leave the roadmap looking the same,
|
|
137
|
+
because the checkbox glyphs cannot express `exhausted`, `stagnated` or
|
|
138
|
+
`approval-required` — they collapse into `[ ]` and `[~]`. Three of the six states
|
|
139
|
+
are therefore invisible in the dashboard and visible only in the report, which is
|
|
140
|
+
why the report has to say the word.
|
|
141
|
+
|
|
142
|
+
`exhausted` and `stagnated` are **never** reported as `complete`, whatever
|
|
143
|
+
partial progress exists, and they are kept apart on purpose: `exhausted` says the
|
|
144
|
+
budget may have been too small and raising it is a legitimate response;
|
|
145
|
+
`stagnated` says more of the same will not help and raising it is the wrong one.
|
|
146
|
+
|
|
147
|
+
`blocked-preflight` no longer exists. A run always starts.
|
|
148
|
+
|
|
149
|
+
**What counts as externally impossible** — the whole list:
|
|
150
|
+
|
|
151
|
+
- a required credential does not exist and the agent cannot create it;
|
|
152
|
+
- a purchase beyond the delegated budget (see § Spend below);
|
|
153
|
+
- physical access to hardware;
|
|
154
|
+
- another person or organisation must act;
|
|
155
|
+
- a wait that is factually mandatory and cannot be simulated or verified.
|
|
156
|
+
|
|
157
|
+
**What does NOT** — every one of these is work:
|
|
158
|
+
|
|
159
|
+
an unprotected branch · a branch to create · a PR to open · a repository or
|
|
160
|
+
branch setting the agent can change · a workflow to start · CI to re-run · a
|
|
161
|
+
merge base to update · conflicts · failing tests · local configuration · a paid
|
|
162
|
+
call under the ceiling · "this could be risky" · "a maintainer should do this".
|
|
163
|
+
|
|
164
|
+
**It is a terminal outcome, not a halt, and the separation still matters.** The
|
|
165
|
+
Iron Law above and its forbidden list keep their full authority over mid-run
|
|
166
|
+
stopping: an agent that may not stop for "this phase is large" may equally not
|
|
167
|
+
stop for "this step looks human-gated" — and under ADR-237 that phrase is no
|
|
168
|
+
longer even a candidate, because the test is capability, not convention.
|
|
169
|
+
|
|
170
|
+
## Final-PR-only — the UX invariant
|
|
171
|
+
|
|
172
|
+
A missing setting, a CI re-run, a protection flag, a rebase, a council call: do
|
|
173
|
+
them, and say so in the PR body if it matters. The only mid-run interruptions
|
|
174
|
+
that remain legitimate are a spend-ceiling crossing and an EXCLUDED-list action
|
|
175
|
+
(production trunk, deploy, prod data/infra, an irreversible external action
|
|
176
|
+
beyond the PR). One carve-out from "do them": a rebase of a branch that is
|
|
177
|
+
already pushed rewrites published history, and still needs the user's answer
|
|
178
|
+
this turn per `git-history-discipline` § When rewrite is allowed — the
|
|
179
|
+
invocation does not give it, and neither does `git.update_strategy: rebase`,
|
|
180
|
+
which picks the operation and never authorises it. Without that answer the
|
|
181
|
+
branch is left behind and the PR body says so.
|
|
182
|
+
|
|
183
|
+
Report shape:
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
PR #<n>
|
|
187
|
+
<url>
|
|
188
|
+
|
|
189
|
+
Roadmap fully implemented. CI <passed>/<total>.
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
or, in the genuine exception:
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
Unable to produce the final PR.
|
|
196
|
+
Hard external blocker: <specific reason>
|
|
197
|
+
Attempted: <what was tried>
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Spend — whatever ceiling was configured, and none when none was
|
|
201
|
+
|
|
202
|
+
**Who carries this, stated plainly: the model, not a gate.** Nothing on a
|
|
203
|
+
roadmap run reads a cumulative spend figure and compares it with anything —
|
|
204
|
+
ADR-237 said so of its own ceiling ("Nothing mechanical checks any of this")
|
|
205
|
+
and that has not changed. The optional `cost.enforcement: hard-stop` preflight
|
|
206
|
+
is a separate, deliberately-invoked control and is not called from a run. So
|
|
207
|
+
this block is an obligation the model carries, and a reader should not take it
|
|
208
|
+
for an enforced limit.
|
|
209
|
+
|
|
210
|
+
What used to sit here was a flat per-run USD constant that nobody configured.
|
|
211
|
+
ADR-279 replaced it with the windows a person actually set, which is the only
|
|
212
|
+
kind of ceiling this package now applies; that record names the old figure, and
|
|
213
|
+
this file deliberately does not, so no reader mistakes a historical number for
|
|
214
|
+
a live threshold. Set `cost.budgets.daily` / `weekly` / `monthly` to get one.
|
|
215
|
+
|
|
216
|
+
The transport is not a governance boundary: a council invocation is the same
|
|
217
|
+
authorised action whether it runs through the `council` CLI or a direct API call.
|
|
218
|
+
There is deliberately **no allowlist** of blessed services — the general rule
|
|
219
|
+
(machine-executable · in scope · under the ceiling) already contains every case,
|
|
220
|
+
and an allowlist would rot.
|
|
221
|
+
|
|
222
|
+
## Real-time dashboard
|
|
223
|
+
|
|
224
|
+
`/roadmap:process-full` is the worst offender for batching because it
|
|
225
|
+
runs continuously across many steps. Flipping all 13 boxes in the
|
|
226
|
+
single archive commit defeats the dashboard's purpose — the user
|
|
227
|
+
loses progress visibility for the entire run. Per Iron Law 2 of
|
|
228
|
+
[`roadmap-progress-sync`](../../rules/roadmap-progress-sync.md): the
|
|
229
|
+
flip + regen pair is atomic with the step's work, executed inside
|
|
230
|
+
[`roadmap-process-loop § 5`](roadmap-process-loop.md#5-step-loop)
|
|
231
|
+
step 5.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Roadmap Execution Contract — Branches
|
|
2
|
+
|
|
3
|
+
Branch-only body of [`roadmap-execution-contract`](roadmap-execution-contract.md),
|
|
4
|
+
moved verbatim for progressive disclosure. Loaded only when a run declares the
|
|
5
|
+
field below; the contract summary, every Iron Law and the § 2a / § 2b policies
|
|
6
|
+
stay in the core.
|
|
7
|
+
|
|
8
|
+
### 2c. `traceability` — requirement to acceptance to evidence, OPTIONAL
|
|
9
|
+
|
|
10
|
+
**Optional for every complexity, including `structural`.** Absent means *not
|
|
11
|
+
declared*, which is a different claim from "there is no requirement". Nothing
|
|
12
|
+
fails for omitting it, and no gate enforces it — the only consumer is a listing
|
|
13
|
+
inventory (`check_requirements_trace`) that exits 0 always. Requiredness is
|
|
14
|
+
deliberately **not** decided here (AI council 2/2, 2026-08-22): deciding it
|
|
15
|
+
before the listing phase has produced a count is deciding it on intuition.
|
|
16
|
+
|
|
17
|
+
A repeated **row**, not three flat fields:
|
|
18
|
+
|
|
19
|
+
```yaml
|
|
20
|
+
traceability:
|
|
21
|
+
- requirement_id: pointer-reaches-the-worker
|
|
22
|
+
acceptance_id: pointer-under-line-cap
|
|
23
|
+
evidence_refs:
|
|
24
|
+
- src/scripts/dispatch_r2_reviewer.ts
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Three flat top-level fields would be **countable but not traceable**: with more
|
|
28
|
+
than one requirement and a shared pool of refs the relation is an ambiguous
|
|
29
|
+
many-to-many, so a gate could report a populated count while providing no
|
|
30
|
+
dependable trace. The row carries the relation.
|
|
31
|
+
|
|
32
|
+
Both grammars are reused, never invented — the claim-ledger kebab slug
|
|
33
|
+
(`docs/CLAIMS.md` § Entry schema) for the two ids, and the envelope ref-token
|
|
34
|
+
rule (`_lib/subagent_response.ts`) for `evidence_refs`: ref tokens, never
|
|
35
|
+
bodies.
|
|
36
|
+
|
|
37
|
+
Identity semantics, revision semantics, the three senses of "gate" and the
|
|
38
|
+
`[AC:<id>]` convention — including the verified fact that nothing parses
|
|
39
|
+
`verify:` lines structurally today — are in
|
|
40
|
+
[`guideline:agent-infra/traceability-field-mechanics`](../../guidelines/agent-infra/traceability-field-mechanics.md).
|
|
41
|
+
They are not optional reading: a slug grammar does not imply a namespace, and
|
|
42
|
+
`evidence_refs` are syntactically safe tokens rather than verified evidence.
|
|
@@ -159,41 +159,7 @@ preservation test in that rule already splits them the same way:
|
|
|
159
159
|
use; the default stays `wait` either way. -->
|
|
160
160
|
|
|
161
161
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
**Optional for every complexity, including `structural`.** Absent means *not
|
|
165
|
-
declared*, which is a different claim from "there is no requirement". Nothing
|
|
166
|
-
fails for omitting it, and no gate enforces it — the only consumer is a listing
|
|
167
|
-
inventory (`check_requirements_trace`) that exits 0 always. Requiredness is
|
|
168
|
-
deliberately **not** decided here (AI council 2/2, 2026-08-22): deciding it
|
|
169
|
-
before the listing phase has produced a count is deciding it on intuition.
|
|
170
|
-
|
|
171
|
-
A repeated **row**, not three flat fields:
|
|
172
|
-
|
|
173
|
-
```yaml
|
|
174
|
-
traceability:
|
|
175
|
-
- requirement_id: pointer-reaches-the-worker
|
|
176
|
-
acceptance_id: pointer-under-line-cap
|
|
177
|
-
evidence_refs:
|
|
178
|
-
- src/scripts/dispatch_r2_reviewer.ts
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
Three flat top-level fields would be **countable but not traceable**: with more
|
|
182
|
-
than one requirement and a shared pool of refs the relation is an ambiguous
|
|
183
|
-
many-to-many, so a gate could report a populated count while providing no
|
|
184
|
-
dependable trace. The row carries the relation.
|
|
185
|
-
|
|
186
|
-
Both grammars are reused, never invented — the claim-ledger kebab slug
|
|
187
|
-
(`docs/CLAIMS.md` § Entry schema) for the two ids, and the envelope ref-token
|
|
188
|
-
rule (`_lib/subagent_response.ts`) for `evidence_refs`: ref tokens, never
|
|
189
|
-
bodies.
|
|
190
|
-
|
|
191
|
-
Identity semantics, revision semantics, the three senses of "gate" and the
|
|
192
|
-
`[AC:<id>]` convention — including the verified fact that nothing parses
|
|
193
|
-
`verify:` lines structurally today — are in
|
|
194
|
-
[`guideline:agent-infra/traceability-field-mechanics`](../../guidelines/agent-infra/traceability-field-mechanics.md).
|
|
195
|
-
They are not optional reading: a slug grammar does not imply a namespace, and
|
|
196
|
-
`evidence_refs` are syntactically safe tokens rather than verified evidence.
|
|
162
|
+
**2c. `traceability` — requirement to acceptance to evidence, OPTIONAL** — on that branch, read [`roadmap-execution-contract-branches § 2c. traceability`](roadmap-execution-contract-branches.md#2c-traceability--requirement-to-acceptance-to-evidence-optional).
|
|
197
163
|
|
|
198
164
|
## 3. Grants activated by acceptance
|
|
199
165
|
|