@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
|
@@ -50,8 +50,9 @@ NEVER REBUILD A CAPABILITY BECAUSE ITS SKILL WAS NOT DELIVERED.
|
|
|
50
50
|
|
|
51
51
|
1. **Ask by task, not by name.** A name you cannot see is a name you cannot
|
|
52
52
|
type; a task description always works. The `suggest_skill_for_task` MCP tool
|
|
53
|
-
ranks `SKILL.md` frontmatter over the source tree and returns names, scores
|
|
54
|
-
and
|
|
53
|
+
ranks `SKILL.md` frontmatter over the source tree and returns names, scores,
|
|
54
|
+
personas and each row's description — no bodies. Choose by reading them; a
|
|
55
|
+
wrong rank costs one read, not five.
|
|
55
56
|
2. **Open the winner and check it yourself.** The ranker is deterministic
|
|
56
57
|
keyword scoring, not judgement. A high score is a pointer, not a verdict.
|
|
57
58
|
3. **Say which source answered.** "The catalogue had no entry, the ranker
|
|
@@ -61,15 +62,15 @@ NEVER REBUILD A CAPABILITY BECAUSE ITS SKILL WAS NOT DELIVERED.
|
|
|
61
62
|
inventing one. A ranked empty list and an unreachable catalogue are
|
|
62
63
|
different answers; the tool distinguishes them (`status: no_catalogue`) and
|
|
63
64
|
so should you.
|
|
64
|
-
5. **
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
5. **The tool is one rung, not the path.** This rule may never instruct a call
|
|
66
|
+
it cannot verify is possible, so step 1 is a LADDER, each rung named:
|
|
67
|
+
`suggest_skill_for_task`, which `agent-config install` wires into
|
|
68
|
+
`.mcp.json`; then
|
|
69
|
+
`agent-config route:explain --skills "<task>"`, the same rows from a shell,
|
|
70
|
+
no server, package skills as a last root. An unreachable rung is NAMED and
|
|
71
|
+
dropped — never retried, never answered from memory. Both gone: say which
|
|
72
|
+
failed, proceed without a skill, and `agent-config mcp:check` says if it is
|
|
73
|
+
wired. Never report "no skill covers this" when you learned "no rung
|
|
73
74
|
answered".
|
|
74
75
|
|
|
75
76
|
## When NOT to fire
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2b"
|
|
4
|
-
description: "A neighbour
|
|
4
|
+
description: "A neighbour skill, always-on or MCP tool text disagrees with this suite — follow the source order below the authority bands; name what you followed"
|
|
5
5
|
triggers:
|
|
6
6
|
- phrase: "neighbour skill"
|
|
7
7
|
- phrase: "neighbor skill"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2b"
|
|
4
|
-
description: "The same criticism arriving again indicts the system, not only the item — reopen the disposition
|
|
4
|
+
description: "The same criticism arriving again indicts the system, not only the item — reopen the dismissing disposition; resolve on evidence, never on the count"
|
|
5
5
|
alwaysApply: false
|
|
6
6
|
triggers:
|
|
7
7
|
- phrase: "schon mehrfach"
|
|
@@ -66,8 +66,6 @@ Trigger-set above activates this routing on demand, independent of the disciplin
|
|
|
66
66
|
|
|
67
67
|
## See also
|
|
68
68
|
|
|
69
|
-
- [`contexts/execution/roadmap-ci-steps-mechanics`](../contexts/execution/roadmap-ci-steps-mechanics.md)
|
|
70
|
-
— the migrated body.
|
|
71
69
|
- [`verify-before-complete`](verify-before-complete.md) — the
|
|
72
70
|
Iron Law this rule narrows; carve-out cites it.
|
|
73
71
|
- [`roadmap-progress-sync`](roadmap-progress-sync.md) — inline flip
|
|
@@ -46,8 +46,8 @@ work, not a notification:
|
|
|
46
46
|
3. **Author the fix against agent-config** — in a checkout if one exists, so
|
|
47
47
|
the release can be a pull request; otherwise the report alone becomes an
|
|
48
48
|
issue.
|
|
49
|
-
4. **Offer the release** — `
|
|
50
|
-
|
|
49
|
+
4. **Offer the release** — `self-repair:release <fingerprint> --dry-run`
|
|
50
|
+
shows payloads, target and digest; `--approve <digest>` then sends them. That is
|
|
51
51
|
the user's call, per
|
|
52
52
|
[`non-destructive-by-default`](non-destructive-by-default.md).
|
|
53
53
|
|
|
@@ -51,7 +51,7 @@ A skill claiming `rich` MUST satisfy ALL three:
|
|
|
51
51
|
carry a `load_context` pointer instead.
|
|
52
52
|
|
|
53
53
|
3. **≤ 15 % of the suite's skills may claim `rich`** — the CI linter counts
|
|
54
|
-
rich-tagged skills and hard-fails if the ratio is exceeded. With
|
|
54
|
+
rich-tagged skills and hard-fails if the ratio is exceeded. With 301 skills
|
|
55
55
|
the cap is ~45. Do not claim `rich` for convenience; claim it only for
|
|
56
56
|
irreducible-complexity skills.
|
|
57
57
|
|
|
@@ -136,13 +136,16 @@ export function evaluateDashboardOnDisk(opts: {
|
|
|
136
136
|
rel: string;
|
|
137
137
|
regen?: string;
|
|
138
138
|
noun?: string;
|
|
139
|
+
/** Applied to both sides before comparing — drops text that changes with the clock. */
|
|
140
|
+
normalize?: (text: string) => string;
|
|
139
141
|
}): DashboardStateVerdict {
|
|
140
142
|
const present = fs.existsSync(opts.target);
|
|
143
|
+
const norm = opts.normalize ?? ((t: string): string => t);
|
|
141
144
|
return evaluateDashboardState({
|
|
142
145
|
mode: opts.mode,
|
|
143
146
|
present,
|
|
144
147
|
trackedInGit: opts.mode === 'untracked' && isTrackedInGit(opts.target, opts.repo_root),
|
|
145
|
-
current: present && fs.readFileSync(opts.target, { encoding: 'utf-8' }) === opts.rendered,
|
|
148
|
+
current: present && norm(fs.readFileSync(opts.target, { encoding: 'utf-8' })) === norm(opts.rendered),
|
|
146
149
|
rel: opts.rel,
|
|
147
150
|
...(opts.regen === undefined ? {} : { regen: opts.regen }),
|
|
148
151
|
...(opts.noun === undefined ? {} : { noun: opts.noun }),
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How long each active roadmap has gone without a ticked step, read from git.
|
|
3
|
+
*
|
|
4
|
+
* The dashboard printed percentages and nothing about time, so a file that
|
|
5
|
+
* landed weeks ago with every box open looked the same as one that landed
|
|
6
|
+
* this morning. Two ages per file, both from `git log` and never from a field
|
|
7
|
+
* an author writes: days since the file landed at its current path, and days
|
|
8
|
+
* since the last commit that ticked a step in it — a commit that adds more
|
|
9
|
+
* `[x]` lines than it removes.
|
|
10
|
+
*
|
|
11
|
+
* A file with no ticked step 21 days after landing is listed as a PARK
|
|
12
|
+
* PROPOSAL. It is text: nothing here moves, archives or deletes a file, because
|
|
13
|
+
* parking is a disposition a person makes (`roadmap-progress-sync`). One
|
|
14
|
+
* frontmatter line `renewed: <YYYY-MM-DD> — <reason>` clears the proposal for
|
|
15
|
+
* 21 days from that date.
|
|
16
|
+
*
|
|
17
|
+
* No git, a shallow clone, or a path git does not know → the ages read `—` and
|
|
18
|
+
* no proposal is made; an unknown age is never reported as a stall.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import { spawnSync } from 'node:child_process';
|
|
22
|
+
import * as path from 'node:path';
|
|
23
|
+
|
|
24
|
+
export const STALL_DAYS = 21;
|
|
25
|
+
|
|
26
|
+
export interface RoadmapAge {
|
|
27
|
+
/** Date the file was added at its current path, `YYYY-MM-DD`, or null. */
|
|
28
|
+
readonly landed: string | null;
|
|
29
|
+
/** Date of the newest commit that ticked a step, or null. */
|
|
30
|
+
readonly last_tick: string | null;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const DONE_LINE_RE = /^[ \t]*[-*][ \t]+\[[xX]\][ \t]/;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Parse `git log -U0 -p --no-renames --format='@@C %as'` output into ages per
|
|
37
|
+
* repo-relative path. Pure, so the parser is testable without a repository.
|
|
38
|
+
*/
|
|
39
|
+
export function parse_age_log(log: string): Map<string, RoadmapAge> {
|
|
40
|
+
const landed = new Map<string, string>();
|
|
41
|
+
const ticked = new Map<string, string>();
|
|
42
|
+
let date: string | null = null;
|
|
43
|
+
let file: string | null = null;
|
|
44
|
+
let net = 0;
|
|
45
|
+
const flush = (): void => {
|
|
46
|
+
if (date !== null && file !== null && net > 0 && !ticked.has(file)) {
|
|
47
|
+
ticked.set(file, date);
|
|
48
|
+
}
|
|
49
|
+
net = 0;
|
|
50
|
+
};
|
|
51
|
+
for (const line of log.split('\n')) {
|
|
52
|
+
if (line.startsWith('@@C ')) {
|
|
53
|
+
flush();
|
|
54
|
+
date = line.slice(4).trim();
|
|
55
|
+
file = null;
|
|
56
|
+
} else if (line.startsWith('diff --git ')) {
|
|
57
|
+
flush();
|
|
58
|
+
const m = / b\/(.+)$/.exec(line);
|
|
59
|
+
file = m ? m[1]! : null;
|
|
60
|
+
} else if (line.startsWith('new file mode') && file !== null && date !== null) {
|
|
61
|
+
// newest first: the first add seen is the most recent landing
|
|
62
|
+
if (!landed.has(file)) landed.set(file, date);
|
|
63
|
+
} else if (line.startsWith('+') && !line.startsWith('+++')) {
|
|
64
|
+
if (DONE_LINE_RE.test(line.slice(1))) net++;
|
|
65
|
+
} else if (line.startsWith('-') && !line.startsWith('---')) {
|
|
66
|
+
if (DONE_LINE_RE.test(line.slice(1))) net--;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
flush();
|
|
70
|
+
const out = new Map<string, RoadmapAge>();
|
|
71
|
+
for (const f of new Set([...landed.keys(), ...ticked.keys()])) {
|
|
72
|
+
out.set(f, { landed: landed.get(f) ?? null, last_tick: ticked.get(f) ?? null });
|
|
73
|
+
}
|
|
74
|
+
return out;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** Ages for the given absolute roadmap paths, one `git log` call for all of them. */
|
|
78
|
+
export function collect_ages(repo_root: string, roadmap_paths: readonly string[]): Map<string, RoadmapAge> {
|
|
79
|
+
if (roadmap_paths.length === 0) return new Map();
|
|
80
|
+
// A shallow clone reports every file as added in its boundary commit, so its ages are invented.
|
|
81
|
+
const shallow = spawnSync('git', ['rev-parse', '--is-shallow-repository'], { cwd: repo_root, encoding: 'utf-8' });
|
|
82
|
+
if (shallow.status !== 0 || String(shallow.stdout).trim() !== 'false') return new Map();
|
|
83
|
+
const rels = roadmap_paths.map((p) => path.relative(repo_root, p).split(path.sep).join('/'));
|
|
84
|
+
const r = spawnSync('git', ['log', '-U0', '-p', '--no-renames', '--format=@@C %as', '--', ...rels], {
|
|
85
|
+
cwd: repo_root,
|
|
86
|
+
encoding: 'utf-8',
|
|
87
|
+
maxBuffer: 256 * 1024 * 1024,
|
|
88
|
+
});
|
|
89
|
+
if (r.status !== 0 || typeof r.stdout !== 'string') return new Map();
|
|
90
|
+
return parse_age_log(r.stdout);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export function days_between(from: string, to: Date): number {
|
|
94
|
+
const t = Date.parse(`${from}T00:00:00Z`);
|
|
95
|
+
if (Number.isNaN(t)) return NaN;
|
|
96
|
+
const today = Date.UTC(to.getUTCFullYear(), to.getUTCMonth(), to.getUTCDate());
|
|
97
|
+
return Math.floor((today - t) / 86_400_000);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const RENEWED_RE = /^renewed:[ \t]*['"]?(\d{4}-\d{2}-\d{2})[ \t]*(?:—|–|-{1,2})[ \t]*(\S[^\n]*?)['"]?[ \t]*$/m;
|
|
101
|
+
|
|
102
|
+
/** The renewal date in a frontmatter block, when it carries a reason. */
|
|
103
|
+
export function renewal_date(frontmatter: string): string | null {
|
|
104
|
+
const m = RENEWED_RE.exec(frontmatter);
|
|
105
|
+
return m ? m[1]! : null;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/** Is this file a park proposal today? Unknown ages never are. */
|
|
109
|
+
export function is_park_proposal(age: RoadmapAge | undefined, frontmatter: string, now: Date): boolean {
|
|
110
|
+
if (!age || age.landed === null) return false;
|
|
111
|
+
const since_landing = days_between(age.landed, now);
|
|
112
|
+
if (!(since_landing >= STALL_DAYS)) return false;
|
|
113
|
+
if (age.last_tick !== null && age.last_tick >= age.landed) return false;
|
|
114
|
+
const renewed = renewal_date(frontmatter);
|
|
115
|
+
const since_renewal = renewed === null ? NaN : days_between(renewed, now);
|
|
116
|
+
// A renewal dated in the future would clear the proposal forever, so it renews nothing.
|
|
117
|
+
if (since_renewal >= 0 && since_renewal < STALL_DAYS) return false;
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export interface AgeRow {
|
|
122
|
+
readonly rel: string;
|
|
123
|
+
readonly frontmatter: string;
|
|
124
|
+
readonly age: RoadmapAge | undefined;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/** The dashboard section: two ages per file, then the park proposals. */
|
|
128
|
+
export function render_age_section(rows: readonly AgeRow[], now: Date): string {
|
|
129
|
+
if (rows.length === 0) return '';
|
|
130
|
+
const cell = (d: string | null): string => (d === null ? '—' : String(days_between(d, now)));
|
|
131
|
+
const lines: string[] = [];
|
|
132
|
+
lines.push('## Age\n');
|
|
133
|
+
lines.push(
|
|
134
|
+
'Days since each active roadmap landed at its path and since its last ticked step, ' +
|
|
135
|
+
'read from `git log` (`—` = unknown, or never ticked).\n',
|
|
136
|
+
);
|
|
137
|
+
lines.push('| Roadmap | Days since landing | Days since last tick |');
|
|
138
|
+
lines.push('|---|---:|---:|');
|
|
139
|
+
for (const r of rows) {
|
|
140
|
+
lines.push(`| [${r.rel}](roadmaps/${r.rel}) | ${cell(r.age?.landed ?? null)} | ${cell(r.age?.last_tick ?? null)} |`);
|
|
141
|
+
}
|
|
142
|
+
lines.push('');
|
|
143
|
+
const proposals = rows.filter((r) => is_park_proposal(r.age, r.frontmatter, now));
|
|
144
|
+
if (proposals.length > 0) {
|
|
145
|
+
lines.push('## Park proposals\n');
|
|
146
|
+
lines.push(
|
|
147
|
+
`No ticked step ${String(STALL_DAYS)}+ days after landing. A proposal, never an action: ` +
|
|
148
|
+
'park it, or keep it and add `renewed: <YYYY-MM-DD> — <reason>` to its frontmatter, ' +
|
|
149
|
+
`which clears the proposal for ${String(STALL_DAYS)} days.\n`,
|
|
150
|
+
);
|
|
151
|
+
for (const r of proposals) {
|
|
152
|
+
lines.push(`- [${r.rel}](roadmaps/${r.rel}) — landed ${r.age?.landed ?? '?'}`);
|
|
153
|
+
}
|
|
154
|
+
lines.push('');
|
|
155
|
+
}
|
|
156
|
+
return lines.join('\n') + '\n';
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* The dashboard without its `## Age` and `## Park proposals` blocks. Ages are
|
|
161
|
+
* relative to today, so `--check` compares this view: a committed dashboard
|
|
162
|
+
* must not go stale at midnight with no commit.
|
|
163
|
+
*/
|
|
164
|
+
export function strip_age_section(text: string): string {
|
|
165
|
+
// Only lines render_age_section writes are skipped, so anything else beside the block still counts.
|
|
166
|
+
const AGE_LINE = /^(## Age|## Park proposals|Days since each |No ticked step |\| Roadmap \||\|---\||\| \[|- \[|$)/;
|
|
167
|
+
const out: string[] = [];
|
|
168
|
+
let skipping = false;
|
|
169
|
+
for (const line of text.split('\n')) {
|
|
170
|
+
if (line === '## Age' || line === '## Park proposals') skipping = true;
|
|
171
|
+
else if (skipping && !AGE_LINE.test(line)) skipping = false;
|
|
172
|
+
if (!skipping) out.push(line);
|
|
173
|
+
}
|
|
174
|
+
return out.join('\n');
|
|
175
|
+
}
|
|
@@ -75,6 +75,7 @@ import { headerFragment as stubHeaderFragment } from './stubs_due.js';
|
|
|
75
75
|
|
|
76
76
|
import { isCliEntry } from './_cli_entry.js';
|
|
77
77
|
import { reportGuardedBaselines } from './guarded_baseline.js'; // third step state; contract lives there
|
|
78
|
+
import { collect_ages, render_age_section, strip_age_section } from './roadmap_age.js';
|
|
78
79
|
|
|
79
80
|
const _HERE = fileURLToPath(import.meta.url);
|
|
80
81
|
const _require = createRequire(import.meta.url);
|
|
@@ -1374,7 +1375,14 @@ function main(argv?: readonly string[]): number {
|
|
|
1374
1375
|
}
|
|
1375
1376
|
}
|
|
1376
1377
|
const roadmaps = collect(roadmap_root), guarded = reportGuardedBaselines(roadmaps, repo_root);
|
|
1377
|
-
const
|
|
1378
|
+
const ages = collect_ages(repo_root, roadmaps.map((r) => r.path));
|
|
1379
|
+
const age_rows = roadmaps.map((r) => ({
|
|
1380
|
+
rel: r.rel,
|
|
1381
|
+
frontmatter: FRONTMATTER_RE.exec(fs.readFileSync(r.path, 'utf-8'))?.[1] ?? '',
|
|
1382
|
+
age: ages.get(_relPosix(repo_root, r.path)),
|
|
1383
|
+
}));
|
|
1384
|
+
const new_text =
|
|
1385
|
+
render(roadmaps, collect_bundles(repo_root), roadmap_root) + render_age_section(age_rows, new Date()) + guarded.section;
|
|
1378
1386
|
const complete = unarchived_complete(roadmaps);
|
|
1379
1387
|
const pending = pending_iron_law_3(roadmaps);
|
|
1380
1388
|
const gated = merge_gated_pending(roadmaps);
|
|
@@ -1397,7 +1405,7 @@ function main(argv?: readonly string[]): number {
|
|
|
1397
1405
|
if (args.check) {
|
|
1398
1406
|
const rel = _relPosix(repo_root, target);
|
|
1399
1407
|
const r = reportCheckVerdict({
|
|
1400
|
-
verdict: evaluateDashboardOnDisk({ mode: args.mode, target, repo_root, rendered: new_text, rel }),
|
|
1408
|
+
verdict: evaluateDashboardOnDisk({ mode: args.mode, target, repo_root, rendered: new_text, rel, normalize: strip_age_section }),
|
|
1401
1409
|
complete,
|
|
1402
1410
|
pending,
|
|
1403
1411
|
dashboardOnly: args.dashboard_only,
|
|
@@ -64,7 +64,7 @@ colorblind fallbacks (`--domain chart`), and mobile touch/a11y rules
|
|
|
64
64
|
corpus row; the WCAG 2.2 AA *method* stays this skill's own checklists.
|
|
65
65
|
Widget-pattern selection (dialog, combobox, tabs, toast, table, form
|
|
66
66
|
errors, drag-reorder …) grounds in the ARIA-APG corpus:
|
|
67
|
-
|
|
67
|
+
`node <skills-root>/corpus-grounding/scripts/ground.mjs search
|
|
68
68
|
--manifest <skills-root>/accessibility-auditor/data/manifest.json
|
|
69
69
|
"<component>"` →
|
|
70
70
|
pattern, implementation, WCAG refs, anti-patterns
|
|
@@ -177,8 +177,8 @@ upstream color ramp, they never vendor a hex table:
|
|
|
177
177
|
when the brief is light-only — dark mode arrives later.
|
|
178
178
|
|
|
179
179
|
The ramp itself is authoritative in [`design-tokens`](../design-tokens/SKILL.md)
|
|
180
|
-
(token derivation) and the consumer's
|
|
181
|
-
|
|
180
|
+
(token derivation) and the consumer's tokens (`brand-source-of-truth`
|
|
181
|
+
§ Iron Law 2) — this procedure sits beside that authority, it does not duplicate the
|
|
182
182
|
values.
|
|
183
183
|
|
|
184
184
|
## Gotcha
|
|
@@ -21,7 +21,7 @@ code vulnerabilities, this skill asks: *given this assembled agent config
|
|
|
21
21
|
(rules, skills, MCP servers, hooks, permissions, memory), how would an attacker
|
|
22
22
|
turn it against its owner, and what defensive gap lets them?*
|
|
23
23
|
|
|
24
|
-
Pairs the static signal from [`/security-audit-config`](../../
|
|
24
|
+
Pairs the static signal from [`/security-audit-config`](../../commands/) with an
|
|
25
25
|
adversarial three-lens pass. Output is **decision support** — surface the
|
|
26
26
|
trade-off, name the gap; the human decides.
|
|
27
27
|
|
|
@@ -126,6 +126,6 @@ Recommend controls; never auto-apply config changes (per
|
|
|
126
126
|
|
|
127
127
|
## See also
|
|
128
128
|
|
|
129
|
-
- [`/security-audit-config`](../../
|
|
129
|
+
- [`/security-audit-config`](../../commands/) — the static A–F counterpart.
|
|
130
130
|
- [`untrusted-input-defense`](../../rules/untrusted-input-defense.md), [`lethal-trifecta-guard`](../../rules/lethal-trifecta-guard.md) — the prevention rules.
|
|
131
131
|
- [`threat-modeling`](../threat-modeling/SKILL.md), [`judge-security-auditor`](../judge-security-auditor/SKILL.md), [`ai-council`](../ai-council/SKILL.md).
|
|
@@ -75,16 +75,24 @@ Every substantive pointer specifies, on the same line or the immediately followi
|
|
|
75
75
|
### Wrong vs. right
|
|
76
76
|
|
|
77
77
|
❌ **Wrong** — bare link, no *why*, no anchor:
|
|
78
|
-
|
|
78
|
+
```markdown
|
|
79
|
+
See [`commit-policy`](dist/agent-src/rules/commit-policy.md).
|
|
80
|
+
```
|
|
79
81
|
|
|
80
82
|
❌ **Wrong** — *why* present but < 60 chars:
|
|
81
|
-
|
|
83
|
+
```markdown
|
|
84
|
+
Commit rules: [`commit-policy`](dist/agent-src/rules/commit-policy.md).
|
|
85
|
+
```
|
|
82
86
|
|
|
83
87
|
✅ **Right** — full anatomy, anchor, *why* ≥ 60 chars:
|
|
84
|
-
|
|
88
|
+
```markdown
|
|
89
|
+
Commit policy — never auto-commit, four named exceptions, Hard Floor list of bulk-deletion / infra triggers: [`commit-policy § Iron Law`](dist/agent-src/rules/commit-policy.md#the-iron-law).
|
|
90
|
+
```
|
|
85
91
|
|
|
86
92
|
✅ **Right** — anchor optional when target is short:
|
|
87
|
-
|
|
93
|
+
```markdown
|
|
94
|
+
Mirror the user's language every reply, single Iron Law that overrides any momentum: [`language-and-tone`](dist/agent-src/rules/language-and-tone.md).
|
|
95
|
+
```
|
|
88
96
|
|
|
89
97
|
## Workspace files — `packages/<n>/AGENTS.md`
|
|
90
98
|
|
|
@@ -93,6 +93,13 @@ rg -n 'NEXT_PUBLIC_.*(SECRET|KEY|TOKEN)|VITE_.*(SECRET|KEY)|localStorage\.setIte
|
|
|
93
93
|
rg -n 'query\(.*(\+|\$\{|`).*\)|(SELECT|INSERT|UPDATE|DELETE).*(\+|\$\{)'
|
|
94
94
|
# Hardcoded secrets / weak hashing
|
|
95
95
|
rg -n 'AKIA[0-9A-Z]{16}|sk_live_|AIza[0-9A-Za-z_\-]{35}|password\s*=\s*["\x27]|md5\(|sha1\(' .
|
|
96
|
+
# A fast hash over a PASSWORD — any SHA-2 counts, and a hand-rolled salt is
|
|
97
|
+
# the same defect wearing a longer digest. `hash_file`/`hash('sha256', $blob)`
|
|
98
|
+
# over a file or a body is NOT this, which is why the pattern is password-scoped.
|
|
99
|
+
rg -n '(md5|sha1|sha224|sha256|sha384|sha512|hash|hashlib\.\w+)\s*\(\s*[^)]*(password|passwd|pwd)' .
|
|
100
|
+
# A raw comparison on a secret — token, OTP, signature, MAC. Needs a
|
|
101
|
+
# constant-time compare (hash_equals, crypto.timingSafeEqual).
|
|
102
|
+
rg -n '\$?(token|otp|signature|mac|hmac|digest)\s*===?\s*|===?\s*\$?(token|otp|signature|mac|hmac)' .
|
|
96
103
|
# Infra: wildcard IAM / open ingress / disabled TLS
|
|
97
104
|
rg -n '"Action"\s*:\s*"\*"|"Resource"\s*:\s*"\*"|0\.0\.0\.0/0|InsecureSkipVerify|verify=false|curl.*\| *bash' .
|
|
98
105
|
# Raw secret in an agent/MCP/CI config (should be an env-var reference, not a literal)
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# ai-council — advanced modes
|
|
2
2
|
|
|
3
|
+
<!-- reference-toc:start (generated by generate_reference_toc — do not edit) -->
|
|
4
|
+
**Contents**
|
|
5
|
+
|
|
6
|
+
- [Multi-round debate (rounds:N)](#multi-round-debate-roundsn)
|
|
7
|
+
- [Karpathy peer-review (opt-in)](#karpathy-peer-review-opt-in)
|
|
8
|
+
- [Thinking-style advisors (replace-mode)](#thinking-style-advisors-replace-mode)
|
|
9
|
+
- [Decision-replay artifact (Phase 9, audit trail)](#decision-replay-artifact-phase-9-audit-trail)
|
|
10
|
+
- [Lightweight-QA fast-path (Phase 11)](#lightweight-qa-fast-path-phase-11)
|
|
11
|
+
<!-- reference-toc:end -->
|
|
12
|
+
|
|
3
13
|
> Mode body of the [`ai-council`](../SKILL.md) skill (router-head retrofit,
|
|
4
14
|
> 2026-08-20). Content moved VERBATIM from SKILL.md — load this file when the
|
|
5
15
|
> mode table in SKILL.md routes here.
|
|
@@ -231,7 +241,7 @@ One-per-provider invariant — two enabled advisors targeting the same
|
|
|
231
241
|
member is a config error (replace-mode runs exactly one advisor per
|
|
232
242
|
provider; the call plan never doubles up by accident).
|
|
233
243
|
|
|
234
|
-
## Decision-replay
|
|
244
|
+
## Decision-replay artifact (Phase 9, audit trail)
|
|
235
245
|
|
|
236
246
|
Every session that runs consensus scoring drops a
|
|
237
247
|
`decision-replay.md` next to the saved `responses.json`. Pure
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# ai-council — cost awareness and redaction
|
|
2
2
|
|
|
3
|
+
<!-- reference-toc:start (generated by generate_reference_toc — do not edit) -->
|
|
4
|
+
**Contents**
|
|
5
|
+
|
|
6
|
+
- [Redaction expectations](#redaction-expectations)
|
|
7
|
+
- [Cost awareness](#cost-awareness)
|
|
8
|
+
<!-- reference-toc:end -->
|
|
9
|
+
|
|
3
10
|
> Mode body of the [`ai-council`](../SKILL.md) skill (router-head retrofit,
|
|
4
11
|
> 2026-08-20). Content moved VERBATIM from SKILL.md — load this file when the
|
|
5
12
|
> mode table in SKILL.md routes here.
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# ai-council — execution and degradation modes
|
|
2
2
|
|
|
3
|
+
<!-- reference-toc:start (generated by generate_reference_toc — do not edit) -->
|
|
4
|
+
**Contents**
|
|
5
|
+
|
|
6
|
+
- [Execution modes](#execution-modes)
|
|
7
|
+
- [Degradation modes](#degradation-modes)
|
|
8
|
+
<!-- reference-toc:end -->
|
|
9
|
+
|
|
3
10
|
> Mode body of the [`ai-council`](../SKILL.md) skill (router-head retrofit,
|
|
4
11
|
> 2026-08-20). Content moved VERBATIM from SKILL.md — load this file when the
|
|
5
12
|
> mode table in SKILL.md routes here.
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# ai-council — output path and synthesis
|
|
2
2
|
|
|
3
|
+
<!-- reference-toc:start (generated by generate_reference_toc — do not edit) -->
|
|
4
|
+
**Contents**
|
|
5
|
+
|
|
6
|
+
- [Output path convention](#output-path-convention)
|
|
7
|
+
- [Certainty vocabulary — one scale for evidence, and what the survivors measure](#certainty-vocabulary--one-scale-for-evidence-and-what-the-survivors-measure)
|
|
8
|
+
- [Synthesis templates (lens-aware)](#synthesis-templates-lens-aware)
|
|
9
|
+
<!-- reference-toc:end -->
|
|
10
|
+
|
|
3
11
|
> Mode body of the [`ai-council`](../SKILL.md) skill (router-head retrofit,
|
|
4
12
|
> 2026-08-20). Content moved VERBATIM from SKILL.md — load this file when the
|
|
5
13
|
> mode table in SKILL.md routes here.
|
|
@@ -54,6 +62,17 @@ matching `road-to-<topic-slug>` roadmap under `agents/roadmaps/`).
|
|
|
54
62
|
bundling its triggering question, raw responses, and synthesis
|
|
55
63
|
alongside the audit's findings). The layout linter
|
|
56
64
|
(`scripts/check_council_layout.ts`) skips this directory.
|
|
65
|
+
- `agents/evidence/council/` — a council record deliberately kept as
|
|
66
|
+
evidence (a verbatim transcription, a synthesis, an analysis of the
|
|
67
|
+
council subsystem). The runtime dirs are pruned, so a record meant to
|
|
68
|
+
last lives here, tracked.
|
|
69
|
+
- `agents/evidence/reviews/council-<branch-slug>.findings.md` — a
|
|
70
|
+
completion-review artefact, named after its branch by contract. Only
|
|
71
|
+
that shape; any other `council-*` file in `reviews/` is still a finding.
|
|
72
|
+
|
|
73
|
+
Everywhere else under `agents/evidence/` stays forbidden: `tracked-durable`
|
|
74
|
+
is a retention class, not a placement licence (AI council 2026-10-14,
|
|
75
|
+
anthropic + openai, 2/2).
|
|
57
76
|
|
|
58
77
|
`scripts/check_council_layout.ts` is the mechanical check for the
|
|
59
78
|
output path convention — wire it into the package's CI pipeline so
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# ai-council — procedure and critical evaluation
|
|
2
2
|
|
|
3
|
+
<!-- reference-toc:start (generated by generate_reference_toc — do not edit) -->
|
|
4
|
+
**Contents**
|
|
5
|
+
|
|
6
|
+
- [Procedure](#procedure)
|
|
7
|
+
- [Critical evaluation — convener-skeptic stance](#critical-evaluation--convener-skeptic-stance)
|
|
8
|
+
<!-- reference-toc:end -->
|
|
9
|
+
|
|
3
10
|
> Mode body of the [`ai-council`](../SKILL.md) skill (router-head retrofit,
|
|
4
11
|
> 2026-08-20). Content moved VERBATIM from SKILL.md — load this file when the
|
|
5
12
|
> mode table in SKILL.md routes here.
|
|
@@ -17,8 +17,8 @@ packs:
|
|
|
17
17
|
|
|
18
18
|
> **Grounded corpus (Tier-1 consultation):** pagination, versioning,
|
|
19
19
|
> error shape (RFC 9457), idempotency, async ops, rate limiting, bulk,
|
|
20
|
-
> naming, expansion, webhooks — query
|
|
21
|
-
> <skills-root>/corpus-grounding/scripts/ground search --manifest
|
|
20
|
+
> naming, expansion, webhooks — query `node
|
|
21
|
+
> <skills-root>/corpus-grounding/scripts/ground.mjs search --manifest
|
|
22
22
|
> <skills-root>/api-design/data/manifest.json "<concern>"` and propose
|
|
23
23
|
> the grounded pattern (+ hardening + anti-patterns + RFC link) before
|
|
24
24
|
> designing from memory. Corpus: [`data/api-patterns.csv`](data/api-patterns.csv).
|
|
@@ -14,8 +14,8 @@ packs:
|
|
|
14
14
|
|
|
15
15
|
> **Grounded corpus:** endpoint-shape decisions (pagination, error
|
|
16
16
|
> shape, idempotency, rate limits) are grounded via the
|
|
17
|
-
> [`api-design`](../api-design/SKILL.md) corpus —
|
|
18
|
-
> <skills-root>/corpus-grounding/scripts/ground search
|
|
17
|
+
> [`api-design`](../api-design/SKILL.md) corpus — `node
|
|
18
|
+
> <skills-root>/corpus-grounding/scripts/ground.mjs search
|
|
19
19
|
> --manifest <skills-root>/api-design/data/manifest.json "<concern>"`.
|
|
20
20
|
|
|
21
21
|
## When to use
|
|
@@ -23,7 +23,7 @@ triggers:
|
|
|
23
23
|
> **Grounded corpus (Tier-1 consultation):** the threat corpus's
|
|
24
24
|
> `authorization` + `tenancy` rows (IDOR, mass-assignment escalation,
|
|
25
25
|
> unscoped queries, sealed job context — each with negative tests) come
|
|
26
|
-
> from
|
|
26
|
+
> from `node <skills-root>/corpus-grounding/scripts/ground.mjs ground
|
|
27
27
|
> --manifest <skills-root>/threat-modeling/data/manifest.json "<the check
|
|
28
28
|
> being reviewed>"`. Cite corpus rows in findings instead of restating from
|
|
29
29
|
> memory; surface the evidence gap when the corpus has no row.
|
|
@@ -247,8 +247,10 @@ Runtime confirmation (e.g. *"reproduce the cross-tenant read against staging"*,
|
|
|
247
247
|
|
|
248
248
|
## References
|
|
249
249
|
|
|
250
|
-
- **OWASP ASVS
|
|
251
|
-
|
|
250
|
+
- **OWASP ASVS v5.0.0** — Chapter V8 Authorization. `threat-modeling`'s
|
|
251
|
+
References records the chapter renumbering and the migration guide it comes
|
|
252
|
+
from; the old numbering is deliberately not repeated here, so there is one
|
|
253
|
+
place to correct when the standard moves again.
|
|
252
254
|
[owasp.org/www-project-application-security-verification-standard/](https://owasp.org/www-project-application-security-verification-standard/)
|
|
253
255
|
- **OWASP Top 10 2021 — A01 Broken Access Control** — canonical failure modes
|
|
254
256
|
(IDOR, missing function-level checks, forced browsing, metadata tampering).
|
|
@@ -17,8 +17,8 @@ install:
|
|
|
17
17
|
# blade-ui
|
|
18
18
|
|
|
19
19
|
> **Grounded stack guidance:** pull idiomatic Do/Don't + docs URLs from the
|
|
20
|
-
> adopted stack corpus before improvising —
|
|
21
|
-
> <skills-root>/corpus-grounding/scripts/ground search --manifest
|
|
20
|
+
> adopted stack corpus before improvising — `node
|
|
21
|
+
> <skills-root>/corpus-grounding/scripts/ground.mjs search --manifest
|
|
22
22
|
> <skills-root>/design-intelligence/data/manifest.json --stack laravel "<topic>"`
|
|
23
23
|
> (the `laravel` stack file is Blade/UI-scoped, not general Laravel). See
|
|
24
24
|
> [`design-intelligence`](../design-intelligence/SKILL.md).
|
|
@@ -55,7 +55,7 @@ Provenance: [`ATTRIBUTION.md`](ATTRIBUTION.md); manifest:
|
|
|
55
55
|
1. **Ground or search** (paths resolve skill-relative; works from any cwd):
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
|
|
58
|
+
node <skills-root>/corpus-grounding/scripts/ground.mjs search \
|
|
59
59
|
--manifest <skills-root>/brand/data/manifest.json \
|
|
60
60
|
"<brand brief: sector + intent + audience>" \
|
|
61
61
|
[--domain archetype|voice|naming|color|logo|messaging|typography] \
|
|
@@ -69,7 +69,7 @@ Provenance: [`ATTRIBUTION.md`](ATTRIBUTION.md); manifest:
|
|
|
69
69
|
3. **Propose grounded options** (archetype + voice + colour + logo + messaging),
|
|
70
70
|
each cited per corpus row, with alternatives — the human confirms.
|
|
71
71
|
4. The confirmed selections become the **brand token + voice constraint set**
|
|
72
|
-
that `brand-to-tokens`, `brand-
|
|
72
|
+
that `brand-to-tokens`, `brand-source-of-truth` § Iron Law 2, and pack-ai-image's brand-asset
|
|
73
73
|
generation consume.
|
|
74
74
|
|
|
75
75
|
## Output format
|
|
@@ -82,6 +82,10 @@ Provenance: [`ATTRIBUTION.md`](ATTRIBUTION.md); manifest:
|
|
|
82
82
|
|
|
83
83
|
## Do NOT
|
|
84
84
|
|
|
85
|
+
- Do NOT report a trademark position from the corpus. `Trademark Risk` in
|
|
86
|
+
`data/naming-patterns.csv` rates the PATTERN, not the name on the table. A
|
|
87
|
+
candidate leaves with a check that was RUN — registry, date, result — or
|
|
88
|
+
with "not checked". The column alone reads as a clearance nobody performed.
|
|
85
89
|
- Do NOT let the corpus author final brand copy or names — it supplies
|
|
86
90
|
constraint sets and patterns; final strings are agent-written and
|
|
87
91
|
human-confirmed.
|
|
@@ -94,7 +98,7 @@ Provenance: [`ATTRIBUTION.md`](ATTRIBUTION.md); manifest:
|
|
|
94
98
|
## Gotchas
|
|
95
99
|
|
|
96
100
|
- Corpus grounds **pre-action selection** — not mid-task reference and not
|
|
97
|
-
output validation (
|
|
101
|
+
output validation (`brand-source-of-truth` § Iron Law 2
|
|
98
102
|
owns validation).
|
|
99
103
|
- Keep queries brand-shaped ("luxury law firm rebrand", "playful kids snack
|
|
100
104
|
brand") — generic words land on the default `archetype` domain.
|