@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
|
@@ -155,7 +155,7 @@ gate fires later).
|
|
|
155
155
|
### 4c. Autonomy-first — zero human gates by default
|
|
156
156
|
|
|
157
157
|
Canonical rule:
|
|
158
|
-
[`templates/roadmaps.md` rule 22](../../
|
|
158
|
+
[`templates/roadmaps.md` rule 22](../../templates/roadmaps.md).
|
|
159
159
|
Default human-checkpoint count: **zero**. Every step is
|
|
160
160
|
agent-executable — `- [ ] User verifies X` steps and "Review /
|
|
161
161
|
Sign-off" phases are authoring bugs; replace each with an
|
|
@@ -190,8 +190,8 @@ seven fields of rule 20), never a stray "blocked on X" sentence. Write it so
|
|
|
190
190
|
the owner can decide in one sitting: one option named and why, what the delay
|
|
191
191
|
costs, a command or path per option rather than prose, and an offer to walk
|
|
192
192
|
them through it. Ratcheted by `lint_roadmap_blockers`. Full shape:
|
|
193
|
-
[`templates/roadmaps.md` rule 20](../../
|
|
194
|
-
Omit it entirely when there is no such gate; run the § 4c gate-test first. A **hold** is the publication-side twin — a blocker stops execution, a hold stops publication; ask once whether an intermediate tree state must stay unpublished (default **no**; roadmap incompleteness never is one), walk `re-sequence → guard → hold`, and record the avoided outcome as well as the taken one, per [`templates/roadmaps.md` rule 28](../../
|
|
193
|
+
[`templates/roadmaps.md` rule 20](../../templates/roadmaps.md).
|
|
194
|
+
Omit it entirely when there is no such gate; run the § 4c gate-test first. A **hold** is the publication-side twin — a blocker stops execution, a hold stops publication; ask once whether an intermediate tree state must stay unpublished (default **no**; roadmap incompleteness never is one), walk `re-sequence → guard → hold`, and record the avoided outcome as well as the taken one, per [`templates/roadmaps.md` rule 28](../../templates/roadmaps.md) and the § 5c self-check in [`/roadmap:create`](../../domains/product-basic/roadmap/create/command.md).
|
|
195
195
|
|
|
196
196
|
### 5c. Risk review (Gate R1) — after draft, before save
|
|
197
197
|
|
|
@@ -265,7 +265,7 @@ integrate don't dump), resolve contested design in the council *first*
|
|
|
265
265
|
then author, encode the decision so it survives (Council notes +
|
|
266
266
|
neutral-descriptor Provenance + memory lock), and make "integration, not
|
|
267
267
|
dump" a testable acceptance criterion. Full four-move detail →
|
|
268
|
-
[`roadmap-writing-source-derived`](../../
|
|
268
|
+
[`roadmap-writing-source-derived`](../../contexts/execution/roadmap-writing-source-derived.md).
|
|
269
269
|
|
|
270
270
|
## Output format
|
|
271
271
|
|
|
@@ -83,7 +83,7 @@ rtk docker compose ps # compact container status
|
|
|
83
83
|
completeness-critical commands).
|
|
84
84
|
|
|
85
85
|
Installation and one-time setup are owned by
|
|
86
|
-
|
|
86
|
+
the setup wizard (`agent-config setup`). If the user asks to install rtk
|
|
87
87
|
outside onboarding, follow the Installation section below and set
|
|
88
88
|
`personal.rtk_installed: true` on success.
|
|
89
89
|
|
|
@@ -150,8 +150,7 @@ invoke [`rule-refactor`](../rule-refactor/SKILL.md). Do NOT:
|
|
|
150
150
|
do its job, the rule is right and the rule set around it is wrong.
|
|
151
151
|
* Raise `FAIL_THRESHOLD` in `scripts/measure_augment_budget.ts` —
|
|
152
152
|
threshold-lift is explicitly forbidden (see the
|
|
153
|
-
[`
|
|
154
|
-
the `rule-refactor` Iron Law).
|
|
153
|
+
[`rule-refactor`](../rule-refactor/SKILL.md) Iron Law).
|
|
155
154
|
* Promote an always-rule to auto to dodge the cap if the rule's
|
|
156
155
|
semantics require always-on visibility — that breaks the rule, not
|
|
157
156
|
the budget.
|
|
@@ -7,13 +7,26 @@ workspaces:
|
|
|
7
7
|
- engineering
|
|
8
8
|
packs:
|
|
9
9
|
- engineering-base
|
|
10
|
+
triggers:
|
|
11
|
+
- phrase: "password reset"
|
|
12
|
+
- phrase: "email verification"
|
|
13
|
+
- phrase: "sign up"
|
|
14
|
+
- phrase: "social login"
|
|
15
|
+
- keyword: "login"
|
|
16
|
+
- keyword: "registration"
|
|
17
|
+
- phrase: "session id"
|
|
18
|
+
- phrase: "session cookie"
|
|
19
|
+
- keyword: "logout"
|
|
20
|
+
- keyword: "mfa"
|
|
21
|
+
- keyword: "passkey"
|
|
22
|
+
- keyword: "oauth"
|
|
10
23
|
---
|
|
11
24
|
|
|
12
25
|
# security
|
|
13
26
|
|
|
14
27
|
## When to use
|
|
15
28
|
|
|
16
|
-
Use when implementing authentication, authorization, or
|
|
29
|
+
Use when implementing authentication, authorization, or other security-sensitive work.
|
|
17
30
|
|
|
18
31
|
Do NOT use when:
|
|
19
32
|
|
|
@@ -55,18 +68,41 @@ The procedure below is stack-agnostic. For framework-specific primitives (Larave
|
|
|
55
68
|
### Step 3: Review for adversarial
|
|
56
69
|
|
|
57
70
|
For security-sensitive changes, run [`adversarial-review`](../adversarial-review/SKILL.md).
|
|
58
|
-
Focus
|
|
71
|
+
Focus: attack surface, trusted user input, authz gaps.
|
|
59
72
|
|
|
60
73
|
## Conventions
|
|
61
74
|
|
|
62
75
|
→ For PHP / Laravel specifics (auth helpers, mass assignment, Blade escaping, CSRF middleware): see guideline `docs/guidelines/php/security.md`.
|
|
63
76
|
→ For other stacks, follow the framework's hardening guide and the carve-outs above.
|
|
64
77
|
|
|
78
|
+
### Account flows — the whole lifecycle, not just the login
|
|
79
|
+
|
|
80
|
+
Sign-up, verification, reset, credential and email change, MFA, federated
|
|
81
|
+
sign-in and logout are one surface. Before judging any of them, trace the path:
|
|
82
|
+
input → identity lookup → verification → secret handling → state change →
|
|
83
|
+
session → response.
|
|
84
|
+
|
|
85
|
+
- A public auth response is an **observable contract**, not an error string:
|
|
86
|
+
status, body category, redirect and cookies must not differ between a known
|
|
87
|
+
and an unknown identity, and the verifier path runs for both.
|
|
88
|
+
- Compare every secret with the library's constant-time primitive, and respect
|
|
89
|
+
that primitive's length precondition. Never a general-purpose fast hash for a
|
|
90
|
+
password. Never an invented token, one-time code or salt scheme.
|
|
91
|
+
- Changing an identity — address, phone, password, factor, passkey, recovery
|
|
92
|
+
codes, a linked provider — needs fresh re-authentication and a notice on the
|
|
93
|
+
channel that was already verified.
|
|
94
|
+
|
|
95
|
+
Ground the specifics before enumerating from memory: the account-lifecycle
|
|
96
|
+
failure classes, their required controls and their negative tests live in
|
|
97
|
+
[`threat-modeling`](../threat-modeling/SKILL.md)'s corpus under the
|
|
98
|
+
`authentication` surface class. Every numeric value in them defers to the
|
|
99
|
+
external authority named in the block below.
|
|
100
|
+
|
|
65
101
|
### Crypto, password storage, certificates — route, do not guess
|
|
66
102
|
|
|
67
103
|
This skill carries no cryptographic parameter, key size, work factor, cipher
|
|
68
104
|
suite, or TLS version floor: such a value is authoritative-looking long after it stops
|
|
69
|
-
being true. Take it from <https://cheatsheetseries.owasp.org/>
|
|
105
|
+
being true. Take it from <https://cheatsheetseries.owasp.org/> when you
|
|
70
106
|
need it — never from memory, never from this file. Rationale and reopening
|
|
71
107
|
condition: [ADR-238](../../../docs/decisions/ADR-238-security-content-routes-to-external-authority.md).
|
|
72
108
|
|
|
@@ -75,7 +111,7 @@ condition: [ADR-238](../../../docs/decisions/ADR-238-security-content-routes-to-
|
|
|
75
111
|
- Verify all user input is validated at the boundary via the framework's primitive — never trust raw request data.
|
|
76
112
|
- Confirm an authorization check exists for every state-changing action.
|
|
77
113
|
- Check that no raw user input reaches SQL, HTML output, shell commands, or template renderers without escaping.
|
|
78
|
-
- Run the project's type-checker — must pass (
|
|
114
|
+
- Run the project's type-checker — must pass (type errors can enable injection).
|
|
79
115
|
|
|
80
116
|
## Output format
|
|
81
117
|
|
|
@@ -85,7 +121,7 @@ condition: [ADR-238](../../../docs/decisions/ADR-238-security-content-routes-to-
|
|
|
85
121
|
## Gotcha
|
|
86
122
|
|
|
87
123
|
- Validation ensures format, not intent — don't trust input after validation alone.
|
|
88
|
-
- "Throw" vs "boolean" authz APIs behave differently (`Gate::authorize()` throws vs `Gate::allows()` returns bool in Laravel; `CanActivate` in NestJS throws; FastAPI dependencies throw `HTTPException`). Pick
|
|
124
|
+
- "Throw" vs "boolean" authz APIs behave differently (`Gate::authorize()` throws vs `Gate::allows()` returns bool in Laravel; `CanActivate` in NestJS throws; FastAPI dependencies throw `HTTPException`). Pick per how the framework surfaces failure.
|
|
89
125
|
- Rate-limit ALL public endpoints, not just login.
|
|
90
126
|
- Never log passwords, tokens, or API keys.
|
|
91
127
|
|
|
@@ -243,7 +243,9 @@ finding never silently becomes a hard gate. Both halves, specified in
|
|
|
243
243
|
Language agents that reinforce from verbal self-reflection on past
|
|
244
244
|
trials. This pipeline adapts Reflexion by gating promotion with a
|
|
245
245
|
review step — learnings only harden into rules/skills after explicit
|
|
246
|
-
approval, never auto-commit: for a proposal scoped to the package,
|
|
247
|
-
|
|
248
|
-
|
|
246
|
+
approval, never auto-commit: for a proposal scoped to the package, a
|
|
247
|
+
digest-bound AI council record is the required **review** and the owner's
|
|
248
|
+
authenticated authorization is the **approval**, with a council refusal
|
|
249
|
+
failing closed (ADR-281 as amended 2026-10-07); for a change a user asked
|
|
250
|
+
for, on that user's approval.
|
|
249
251
|
|
|
@@ -93,7 +93,7 @@ The highest-signal content in a skill. Documents failure patterns.
|
|
|
93
93
|
|
|
94
94
|
Skill exceeds size limits (see `docs/guidelines/agent-infra/size-and-scope.md`).
|
|
95
95
|
|
|
96
|
-
**Check:** Review at >400 lines.
|
|
96
|
+
**Check:** Review at >400 lines. A word count alone is no split reason — split only material consulted on demand, or a procedure handed out in order (`skill-writing` § Progressive disclosure).
|
|
97
97
|
**Fix:** Extract reference tables, templates, and examples into separate files
|
|
98
98
|
in the skill folder, or split by responsibility.
|
|
99
99
|
|
|
@@ -101,7 +101,7 @@ Do NOT create a skill or rule for:
|
|
|
101
101
|
|
|
102
102
|
→ See `docs/guidelines/agent-infra/size-and-scope.md` for full limits.
|
|
103
103
|
|
|
104
|
-
* Target: 300–900 words.
|
|
104
|
+
* Target: 300–900 words. A word or line count is never by itself a reason to split — § Progressive disclosure says when to.
|
|
105
105
|
* Over the 400-line K6 cap → the **router-head contract** in `templates/skill.md`
|
|
106
106
|
applies: entry head (when-to-use · mode table · routing) plus one `tasks/` or
|
|
107
107
|
`references/` file per mode, and the head never inlines more than one mode's
|
|
@@ -119,21 +119,36 @@ named one; the split cost a rename, not a decision.
|
|
|
119
119
|
|
|
120
120
|
* **Body:** the trigger, the workflow, the ownership statement, and every
|
|
121
121
|
heuristic that changes a write decision. A skill whose body is a map to its
|
|
122
|
-
own content is loaded and not applied.
|
|
122
|
+
own content is loaded and not applied. So a split head keeps every such
|
|
123
|
+
heuristic and all five required sections (`When to use`, `Gotcha`,
|
|
124
|
+
`Procedure`, `Output format`, `Do NOT`); only step execution moves out.
|
|
123
125
|
* **`references/`:** corpora, lookup tables, long schemas, worked examples —
|
|
124
126
|
read on the path that needs them, never on every activation.
|
|
125
127
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
128
|
+
Split for one of two reasons only: the material is genuinely consulted on
|
|
129
|
+
demand, or a procedure needs to be handed out in order. Never split to hit a
|
|
130
|
+
number. The measured estate (n=289, 2026-08-12): median 1,077 words, p90 1,867,
|
|
131
|
+
**only 6 skills above 2,500 and 4 above 3,000** — a skill at 1,500 words is
|
|
132
|
+
ordinary, and the load-bearing part stays in the body even when that leaves the
|
|
133
|
+
file long.
|
|
132
134
|
|
|
133
135
|
A `references/` split does not change the gates that already apply: a
|
|
134
136
|
`token_budget_class: rich` skill still meets its 3,500-token ceiling on the
|
|
135
137
|
body alone.
|
|
136
138
|
|
|
139
|
+
### Four words: reference, co-requirement, procedure, chain
|
|
140
|
+
|
|
141
|
+
* A **reference** is context loaded on demand from the skill's own
|
|
142
|
+
`references/`. It stays one level deep: a reference file links no sibling
|
|
143
|
+
reference of its own skill, so the head reaches every one.
|
|
144
|
+
`lint_skill_link_reach` holds today's sibling links as a shrink-only ratchet.
|
|
145
|
+
* **`requires_skills`** is co-availability — the named skill ships wherever this
|
|
146
|
+
one does. It states no order.
|
|
147
|
+
* A **procedure** is the ordered steps of one skill. Held as data, it is a
|
|
148
|
+
sidecar beside `SKILL.md` that names only files of the same skill.
|
|
149
|
+
* A **chain between skills** is not supported (the skill-DAG lock, ADR-263).
|
|
150
|
+
Prose such as "then invoke X" is a hint to the reader, not a chain link.
|
|
151
|
+
|
|
137
152
|
## Modes
|
|
138
153
|
|
|
139
154
|
This skill is a router head. The decision layer above — what goes where, the
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# skill-writing — section patterns
|
|
2
2
|
|
|
3
|
+
<!-- reference-toc:start (generated by generate_reference_toc — do not edit) -->
|
|
4
|
+
**Contents**
|
|
5
|
+
|
|
6
|
+
- [Description-optimizer loop (U1 — held-out, not vibes)](#description-optimizer-loop-u1--held-out-not-vibes)
|
|
7
|
+
- [Self-QA loop for output-producing skills (optional pattern)](#self-qa-loop-for-output-producing-skills-optional-pattern)
|
|
8
|
+
- [Known-pitfalls section (optional pattern, tool skills)](#known-pitfalls-section-optional-pattern-tool-skills)
|
|
9
|
+
- [Rationalizations-to-reject section (recommended pattern, security-stop-routed skills)](#rationalizations-to-reject-section-recommended-pattern-security-stop-routed-skills)
|
|
10
|
+
- [Non-negotiable-deliverable section (recommended pattern, adjacent-technology clusters)](#non-negotiable-deliverable-section-recommended-pattern-adjacent-technology-clusters)
|
|
11
|
+
- [Destructive-operation gates belong in the description](#destructive-operation-gates-belong-in-the-description)
|
|
12
|
+
- [Upstream-version-notes section (optional pattern, wrapped fast-moving tools)](#upstream-version-notes-section-optional-pattern-wrapped-fast-moving-tools)
|
|
13
|
+
- [Security-constraints section (required pattern, script-bearing skills)](#security-constraints-section-required-pattern-script-bearing-skills)
|
|
14
|
+
- [Action-reference split (required pattern, safety_mode: strict skills)](#action-reference-split-required-pattern-safety_mode-strict-skills)
|
|
15
|
+
- [Mechanism-teaching section (optional pattern, skills whose subject has one)](#mechanism-teaching-section-optional-pattern-skills-whose-subject-has-one)
|
|
16
|
+
- [Illustrative-not-verbatim marker (optional pattern, reference code)](#illustrative-not-verbatim-marker-optional-pattern-reference-code)
|
|
17
|
+
- [Headline metric + closing report (optional pattern, optimization skills)](#headline-metric--closing-report-optional-pattern-optimization-skills)
|
|
18
|
+
- [Contrastive-example slot (optional pattern, authoring and behavior skills)](#contrastive-example-slot-optional-pattern-authoring-and-behavior-skills)
|
|
19
|
+
<!-- reference-toc:end -->
|
|
20
|
+
|
|
3
21
|
> Mode body of the [`skill-writing`](../SKILL.md) skill (router-head
|
|
4
22
|
> retrofit, 2026-08-20). Content moved VERBATIM from SKILL.md — load this
|
|
5
23
|
> file when the mode table in SKILL.md routes here.
|
|
@@ -277,7 +295,7 @@ moves the headline number by degrading something it does not measure is the
|
|
|
277
295
|
failure this pattern exists to make visible, and only the author knows where that
|
|
278
296
|
edge is.
|
|
279
297
|
|
|
280
|
-
## Contrastive-example slot (optional pattern, authoring and
|
|
298
|
+
## Contrastive-example slot (optional pattern, authoring and behavior skills)
|
|
281
299
|
|
|
282
300
|
Where a skill's guidance is easy to agree with and hard to apply — tone, phrasing,
|
|
283
301
|
question shape, what counts as evidence — a wrong/right pair does what prose
|
|
@@ -16,7 +16,7 @@ rule. Hand-off target from [`think-before-action`](../../rules/think-before-acti
|
|
|
16
16
|
when a task touches **external or expensive** structure. Definitions
|
|
17
17
|
(Evidence Report buckets, provenance, trust tiers, the DB-not-in-codebase
|
|
18
18
|
boundary, the card-worthiness threshold) live in
|
|
19
|
-
[`evidence-discipline`](../../
|
|
19
|
+
[`evidence-discipline`](../../contexts/execution/evidence-discipline.md) —
|
|
20
20
|
read it once; this file is the executable procedure.
|
|
21
21
|
|
|
22
22
|
## When to use
|
|
@@ -165,7 +165,7 @@ bypasses a fresh structural read. A field/endpoint/column/value is still confirm
|
|
|
165
165
|
against a live source this session. v2 capture is **write-only into gitignored
|
|
166
166
|
intake** (the agent may *suggest* a signal, never silently commit); trust and
|
|
167
167
|
commit are always human-gated. Full model + the three classes + memory tiers:
|
|
168
|
-
[`project-intelligence`](../../
|
|
168
|
+
[`project-intelligence`](../../contexts/execution/project-intelligence.md).
|
|
169
169
|
|
|
170
170
|
## Knowledge capture (`api_shape_learned` / `convention_detected` events)
|
|
171
171
|
|
|
@@ -184,7 +184,7 @@ npx tsx node_modules/@event4u/agent-config/src/scripts/emit_knowledge_event.ts -
|
|
|
184
184
|
|
|
185
185
|
`/team-knowledge consolidate` turns accumulated events into
|
|
186
186
|
`agents/knowledge/concepts/` pages as a reviewed batch — see
|
|
187
|
-
[`knowledge-pages`](../../
|
|
187
|
+
[`knowledge-pages`](../../templates/contexts/knowledge-pages.md).
|
|
188
188
|
|
|
189
189
|
## Gotchas
|
|
190
190
|
|
|
@@ -14,8 +14,8 @@ packs:
|
|
|
14
14
|
|
|
15
15
|
> **Grounded corpus:** tuning decisions (indexes, keyset pagination,
|
|
16
16
|
> N+1, trigram search, lock contention) ground via the
|
|
17
|
-
> [`database`](../database/SKILL.md) corpus —
|
|
18
|
-
> <skills-root>/corpus-grounding/scripts/ground search
|
|
17
|
+
> [`database`](../database/SKILL.md) corpus — `node
|
|
18
|
+
> <skills-root>/corpus-grounding/scripts/ground.mjs search
|
|
19
19
|
> --manifest <skills-root>/database/data/manifest.json "<symptom>"`.
|
|
20
20
|
|
|
21
21
|
## When to use
|
|
@@ -20,7 +20,7 @@ the config file, and the card only points at it plus distils the 3–5 points an
|
|
|
20
20
|
agent needs most while writing.
|
|
21
21
|
|
|
22
22
|
Definitions (Class A/B/C, trust tiers, the v1↔v2 isolation contract) live in
|
|
23
|
-
[`evidence-discipline`](../../
|
|
23
|
+
[`evidence-discipline`](../../contexts/execution/evidence-discipline.md);
|
|
24
24
|
the parent context mechanism is [`context-document`](../context-document/SKILL.md).
|
|
25
25
|
|
|
26
26
|
## When to use
|
|
@@ -129,6 +129,6 @@ A Class-A standards card MUST contain, in order:
|
|
|
129
129
|
|
|
130
130
|
## See also
|
|
131
131
|
|
|
132
|
-
- [`evidence-discipline`](../../
|
|
132
|
+
- [`evidence-discipline`](../../contexts/execution/evidence-discipline.md) — Class A/B/C, trust tiers, the isolation contract.
|
|
133
133
|
- [`context-document`](../context-document/SKILL.md) — the parent context mechanism + storage locations.
|
|
134
134
|
- [`source-discovery`](../source-discovery/SKILL.md) — v1 structural discovery (read fresh; Class A never bypasses it).
|
|
@@ -151,6 +151,11 @@ rather than reporting zero violations — an unrun check and a clean check produ
|
|
|
151
151
|
number and mean opposite things.
|
|
152
152
|
|
|
153
153
|
**One finding is decidable without a browser**, and it ships beside this skill:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
node <skills-root>/storybook-workshop/scripts/story_contrast_floor.mjs <story-file> […]
|
|
157
|
+
```
|
|
158
|
+
|
|
154
159
|
`scripts/story_contrast_floor.ts` computes the WCAG 2.1 contrast ratio between two colours a
|
|
155
160
|
story *declares in its own args* and emits the same `(rule, selector, severity)` shape. It is
|
|
156
161
|
**not axe** and not a substitute for § Validate — it sees no rendered page, so role, focus,
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// src/skills/storybook-workshop/scripts/story_contrast_floor.ts
|
|
2
|
+
import * as fs from "node:fs";
|
|
3
|
+
var AA_NORMAL = 4.5;
|
|
4
|
+
var AA_LARGE = 3;
|
|
5
|
+
var clamp01 = (n) => n < 0 ? 0 : n > 1 ? 1 : n;
|
|
6
|
+
var luminance = (hex) => {
|
|
7
|
+
const m = /^#?([0-9a-f]{6}|[0-9a-f]{3})$/i.exec(hex.trim());
|
|
8
|
+
if (m === null) return null;
|
|
9
|
+
let h = m[1];
|
|
10
|
+
if (h.length === 3) h = h.split("").map((c) => `${c}${c}`).join("");
|
|
11
|
+
const channel = (pair) => {
|
|
12
|
+
const v = clamp01(parseInt(pair, 16) / 255);
|
|
13
|
+
return v <= 0.03928 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4;
|
|
14
|
+
};
|
|
15
|
+
const r = channel(h.slice(0, 2));
|
|
16
|
+
const g = channel(h.slice(2, 4));
|
|
17
|
+
const b = channel(h.slice(4, 6));
|
|
18
|
+
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
19
|
+
};
|
|
20
|
+
var contrastRatio = (fg, bg) => {
|
|
21
|
+
const a = luminance(fg);
|
|
22
|
+
const b = luminance(bg);
|
|
23
|
+
if (a === null || b === null) return null;
|
|
24
|
+
const [hi, lo] = a >= b ? [a, b] : [b, a];
|
|
25
|
+
return (hi + 0.05) / (lo + 0.05);
|
|
26
|
+
};
|
|
27
|
+
var declaredPairs = (source) => {
|
|
28
|
+
const out = [];
|
|
29
|
+
const exportRe = /export\s+const\s+([A-Za-z0-9_]+)\s*:[^=]*=\s*\{([\s\S]*?)\n\};/g;
|
|
30
|
+
for (const m of source.matchAll(exportRe)) {
|
|
31
|
+
const story = m[1];
|
|
32
|
+
const body = m[2];
|
|
33
|
+
const fg = /(?:color|fg|foreground)\s*:\s*['"](#[0-9a-fA-F]{3,6})['"]/.exec(body);
|
|
34
|
+
const bg = /(?:background|bg|backgroundColor)\s*:\s*['"](#[0-9a-fA-F]{3,6})['"]/.exec(body);
|
|
35
|
+
if (fg?.[1] !== void 0 && bg?.[1] !== void 0) {
|
|
36
|
+
out.push({ story, fg: fg[1], bg: bg[1] });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return out;
|
|
40
|
+
};
|
|
41
|
+
var checkStoryFile = (file, floor = AA_NORMAL) => {
|
|
42
|
+
let source = "";
|
|
43
|
+
try {
|
|
44
|
+
source = fs.readFileSync(file, "utf8");
|
|
45
|
+
} catch {
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
const out = [];
|
|
49
|
+
for (const { story, fg, bg } of declaredPairs(source)) {
|
|
50
|
+
const ratio = contrastRatio(fg, bg);
|
|
51
|
+
if (ratio === null || ratio >= floor) continue;
|
|
52
|
+
out.push({
|
|
53
|
+
rule: "color-contrast",
|
|
54
|
+
// The story is the addressable unit here — there is no DOM to select into.
|
|
55
|
+
selector: `story:${story}`,
|
|
56
|
+
severity: "error",
|
|
57
|
+
ratio: Math.round(ratio * 100) / 100
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return out;
|
|
61
|
+
};
|
|
62
|
+
var selfTest = () => {
|
|
63
|
+
let failed = 0;
|
|
64
|
+
const check = (label, cond) => {
|
|
65
|
+
if (!cond) {
|
|
66
|
+
process.stderr.write(`\u274C ${label}
|
|
67
|
+
`);
|
|
68
|
+
failed += 1;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const r = contrastRatio("#000000", "#ffffff");
|
|
72
|
+
check("black on white is the maximum 21:1", r !== null && Math.abs(r - 21) < 0.01);
|
|
73
|
+
check("a colour on itself is 1:1", Math.abs((contrastRatio("#777777", "#777777") ?? 0) - 1) < 0.01);
|
|
74
|
+
check("an unreadable colour is null, not 0", contrastRatio("nope", "#fff") === null);
|
|
75
|
+
check("shorthand hex is expanded", contrastRatio("#000", "#fff") !== null);
|
|
76
|
+
process.stdout.write(failed === 0 ? "\u2705 story_contrast_floor: self-test passed\n" : `\u274C ${String(failed)} failure(s)
|
|
77
|
+
`);
|
|
78
|
+
return failed === 0 ? 0 : 1;
|
|
79
|
+
};
|
|
80
|
+
var main = () => {
|
|
81
|
+
const argv = process.argv.slice(2);
|
|
82
|
+
if (argv.includes("--self-test")) return selfTest();
|
|
83
|
+
const files = argv.filter((a) => !a.startsWith("--"));
|
|
84
|
+
const violations = files.flatMap((f) => checkStoryFile(f));
|
|
85
|
+
process.stdout.write(`${JSON.stringify({ violations }, null, 2)}
|
|
86
|
+
`);
|
|
87
|
+
return violations.length > 0 ? 1 : 0;
|
|
88
|
+
};
|
|
89
|
+
if (process.argv[1] !== void 0 && process.argv[1].includes("story_contrast_floor")) {
|
|
90
|
+
process.exit(main());
|
|
91
|
+
}
|
|
92
|
+
export {
|
|
93
|
+
AA_LARGE,
|
|
94
|
+
AA_NORMAL,
|
|
95
|
+
checkStoryFile,
|
|
96
|
+
contrastRatio,
|
|
97
|
+
declaredPairs,
|
|
98
|
+
luminance
|
|
99
|
+
};
|
|
@@ -116,9 +116,9 @@ Rules:
|
|
|
116
116
|
continues the parent's task under identical tools and constraints (it then
|
|
117
117
|
reads the parent's cache on its first request); a named subagent is
|
|
118
118
|
preferred the moment isolation, a different tool set, or nested dispatch is
|
|
119
|
-
needed — a fork cannot nest
|
|
120
|
-
|
|
121
|
-
|
|
119
|
+
needed — a fork cannot nest. Where the host row says `fork_shares_cache:
|
|
120
|
+
true` a background fork keeps the parent's prefix and tools; elsewhere it
|
|
121
|
+
is unseen. `do-in-parallel`-shaped fan-out from one parent has this shape by
|
|
122
122
|
construction (a known, unfixable upstream cost — see
|
|
123
123
|
[`prompts/README.md`](prompts/README.md) § Prompt-cache discipline). NEVER
|
|
124
124
|
encode "always fork" — that was proposed and cut (council 2026-07-30):
|
|
@@ -134,7 +134,7 @@ composition and activation **within** the form the static gate already
|
|
|
134
134
|
picked — severity never overrides the form gate, the Iron Law, or any
|
|
135
135
|
safety floor. Guidance, not a new object class (persona-catalog
|
|
136
136
|
disposition). Severity→composition table + escalation rule →
|
|
137
|
-
[`subagent-modes-detail` § Severity-conditioned team composition](../../
|
|
137
|
+
[`subagent-modes-detail` § Severity-conditioned team composition](../../contexts/execution/subagent-modes-detail.md).
|
|
138
138
|
|
|
139
139
|
## The nine modes
|
|
140
140
|
|
|
@@ -146,12 +146,12 @@ model pairing. Defaults come from
|
|
|
146
146
|
|
|
147
147
|
Descriptive lookup material (per-mode topology table, anti-drift default,
|
|
148
148
|
glossary) lives in
|
|
149
|
-
[`subagent-topologies`](../../
|
|
149
|
+
[`subagent-topologies`](../../contexts/execution/subagent-topologies.md) —
|
|
150
150
|
pull it for capacity planning; it is metadata, not runtime-enforced.
|
|
151
151
|
|
|
152
152
|
Per-mode decision rows (when to use / when not / model pairing) and the
|
|
153
153
|
mode-2 stage-routing contract live in
|
|
154
|
-
[`subagent-modes-detail` § Modes 1–6](../../
|
|
154
|
+
[`subagent-modes-detail` § Modes 1–6](../../contexts/execution/subagent-modes-detail.md) —
|
|
155
155
|
pull them at dispatch time.
|
|
156
156
|
|
|
157
157
|
### 1. do-and-judge
|
|
@@ -202,7 +202,7 @@ leaks into the next. Use for a multi-step cross-wing chain (≥2 senior
|
|
|
202
202
|
skills, each ≥30 min); not for fast iteration under 30 min (overhead
|
|
203
203
|
dominates). Full handoff shape, example chain, competitive per-candidate
|
|
204
204
|
isolation, and the no-auto-merge Hard Floor →
|
|
205
|
-
[`subagent-modes-detail`](../../
|
|
205
|
+
[`subagent-modes-detail`](../../contexts/execution/subagent-modes-detail.md) § Mode 7.
|
|
206
206
|
|
|
207
207
|
### 8. do-with-live-app-judge (gated — UI-heavy tasks)
|
|
208
208
|
|
|
@@ -212,7 +212,7 @@ reading the diff. Use for UI-heavy change where "looks right in the diff"
|
|
|
212
212
|
≠ "works in the app"; not for backend/logic (a diff judge is cheaper).
|
|
213
213
|
Experimental until `verdict_changed_outcome` telemetry proves it. Rubric,
|
|
214
214
|
adoption gate, and the async-verifier future candidate →
|
|
215
|
-
[`subagent-modes-detail`](../../
|
|
215
|
+
[`subagent-modes-detail`](../../contexts/execution/subagent-modes-detail.md) § Mode 8.
|
|
216
216
|
|
|
217
217
|
### 9. adversarial-verification-council (gated — opt-in, advisory)
|
|
218
218
|
|
|
@@ -226,7 +226,7 @@ Mode 6 it emits a **findings-union**, not a go/no-go verdict. **Advisory only
|
|
|
226
226
|
never auto-gates (Hard Floor).** Default-off (`subagents.adversarial_council`);
|
|
227
227
|
opt-in high-risk changes only; registered claim + high-risk tier need
|
|
228
228
|
cross-*vendor* skeptics. Invariants, skeptic prompt, reconciliation, prove-or-drop
|
|
229
|
-
gate → [`subagent-modes-detail`](../../
|
|
229
|
+
gate → [`subagent-modes-detail`](../../contexts/execution/subagent-modes-detail.md) § Mode 9
|
|
230
230
|
+ [`prompts/adversarial-verification-council.md`](prompts/adversarial-verification-council.md)
|
|
231
231
|
|
|
232
232
|
> **Disposition (2026-07-28, honest null).** The adversarial-council finding-
|
|
@@ -246,7 +246,7 @@ four statuses — `DONE` · `DONE_WITH_CONCERNS` · `NEEDS_CONTEXT` ·
|
|
|
246
246
|
`BLOCKED` — no free-form alternatives; orchestrators route on status
|
|
247
247
|
mechanically. Meaning/required-keys table, why-fixed rationale, and the
|
|
248
248
|
`NEEDS_CONTEXT`-vs-`BLOCKED` distinction →
|
|
249
|
-
[`subagent-modes-detail` § Status taxonomy](../../
|
|
249
|
+
[`subagent-modes-detail` § Status taxonomy](../../contexts/execution/subagent-modes-detail.md).
|
|
250
250
|
|
|
251
251
|
**The envelope is the ONLY return channel** (token-economy-dispatch
|
|
252
252
|
Phase 6). A worker writes its full output to disk (runtime artifact dir,
|
|
@@ -267,7 +267,7 @@ Edits to a prompt do not bloat this skill against the 400-line sunset
|
|
|
267
267
|
trigger. Eight prompt files cover modes 1–7 and 9 (the standalone judge
|
|
268
268
|
reuses [`prompts/do-and-judge.md`](prompts/do-and-judge.md); mode 8's
|
|
269
269
|
live-app rubric lives in
|
|
270
|
-
[`subagent-modes-detail` § Mode 8](../../
|
|
270
|
+
[`subagent-modes-detail` § Mode 8](../../contexts/execution/subagent-modes-detail.md));
|
|
271
271
|
each prompt cites all four taxonomy statuses — see
|
|
272
272
|
[`prompts/README.md`](prompts/README.md).
|
|
273
273
|
|
|
@@ -340,7 +340,7 @@ After every auto-dispatched run, write one audit-log-v1 line
|
|
|
340
340
|
(`input_kind: "orchestration"`) via the `orchestration_record` recorder —
|
|
341
341
|
never hand-author the JSON. Line shape, field semantics, recorder
|
|
342
342
|
invocation, and `token_delta` sourcing priority →
|
|
343
|
-
[`orchestration-telemetry` § Emit procedure](../../
|
|
343
|
+
[`orchestration-telemetry` § Emit procedure](../../contexts/execution/orchestration-telemetry.md).
|
|
344
344
|
Skip emit when `emergency.orchestration_halt` is set or `spawn_count == 0`
|
|
345
345
|
(in-session run).
|
|
346
346
|
|
|
@@ -379,7 +379,7 @@ Skip emit when `emergency.orchestration_halt` is set or `spawn_count == 0`
|
|
|
379
379
|
|
|
380
380
|
| Task | Skill / command |
|
|
381
381
|
|--------------------------------------|--------------------------------------|
|
|
382
|
-
| Configuration reference | [`subagent-configuration`](../../
|
|
382
|
+
| Configuration reference | [`subagent-configuration`](../../contexts/subagent-configuration.md) |
|
|
383
383
|
| Do-and-judge loop | Inline — see [`prompts/do-and-judge.md`](prompts/do-and-judge.md) |
|
|
384
384
|
| Stepwise plan with judge gates | Inline — see [`prompts/do-in-steps.md`](prompts/do-in-steps.md) |
|
|
385
385
|
| Standalone judge on an existing diff | Inline — see judge prompt in [`prompts/do-and-judge.md`](prompts/do-and-judge.md) |
|
|
@@ -93,9 +93,10 @@ child continues the parent's task under identical tools and constraints (a
|
|
|
93
93
|
fork inherits the parent's system prompt, tools, and conversation history
|
|
94
94
|
exactly, so its first request reads the parent's cache). Prefer a **named
|
|
95
95
|
subagent** when the child needs isolation, a different tool set, or nested
|
|
96
|
-
dispatch — a fork cannot nest
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
dispatch — a fork cannot nest. Forking forces background mode, which does
|
|
97
|
+
not cost the prefix where the host row says `fork_shares_cache: true` (on
|
|
98
|
+
Claude Code 2.1.302 a background fork read 99.8 % of its first call from the
|
|
99
|
+
parent's cache and kept the parent's tool pool); elsewhere it is unobserved. Never default to "always fork": that
|
|
99
100
|
option was considered and cut ([`../SKILL.md`](../SKILL.md) § Form gate)
|
|
100
101
|
precisely because the cache-sharing benefit cannot be predicted before the
|
|
101
102
|
fork happens, and background mode can erase it outright.
|
|
@@ -174,7 +174,11 @@ nobody is still trying to match. Stop reporting it as progress and say why.
|
|
|
174
174
|
traced silhouette that clips everything, then named regions split along an
|
|
175
175
|
edge map; smooth, resample and simplify each contour. The outer edge comes
|
|
176
176
|
from one contour and the holes come from the source. That trace is the
|
|
177
|
-
underlay; the shapes you ship are constructed on top of it.
|
|
177
|
+
underlay; the shapes you ship are constructed on top of it. **A shape with
|
|
178
|
+
counters** (o, e, a, B, 8, an O-ring mark) declares its `fill-rule`, winds
|
|
179
|
+
its outer and inner contours in opposite directions, and runs overlap removal
|
|
180
|
+
only after both are settled — two same-direction contours under the default
|
|
181
|
+
`nonzero` paint the counter solid.
|
|
178
182
|
3. **Fit colour, do not pick it.** Least-squares per region against that region's
|
|
179
183
|
own pixels; swap a linear gradient for a radial one only when the residual
|
|
180
184
|
actually drops.
|
|
@@ -292,6 +296,8 @@ report a non-zero natural width.
|
|
|
292
296
|
for the glyph it lacks.
|
|
293
297
|
- `logo-generation` — the brand pipeline that
|
|
294
298
|
routes a geometric mark here.
|
|
299
|
+
- `type-design` — "the rest of the alphabet" / "make this a font": a
|
|
300
|
+
wordmark extended into a constructed font, reusing the trace and counter rule.
|
|
295
301
|
- `image-provider-routing` — illustrative
|
|
296
302
|
vector art goes to a provider, not here.
|
|
297
303
|
- `fe-design` § Motion — the motion authority, in
|
|
@@ -278,7 +278,7 @@ If the root cause traces to a `agents/knowledge/` page that was
|
|
|
278
278
|
followed while implementing (a documented convention was wrong, an
|
|
279
279
|
API shape page was stale, a procedure was incomplete), append a
|
|
280
280
|
`mistake_made` event to the knowledge intake — never rewrite the page
|
|
281
|
-
mid-task (see [`knowledge-pages`](../../
|
|
281
|
+
mid-task (see [`knowledge-pages`](../../templates/contexts/knowledge-pages.md)):
|
|
282
282
|
|
|
283
283
|
```bash
|
|
284
284
|
npx tsx node_modules/@event4u/agent-config/src/scripts/emit_knowledge_event.ts \
|
|
@@ -297,7 +297,7 @@ finds the new line.
|
|
|
297
297
|
wrong right now (observed reality ≠ documented claim, not a one-off),
|
|
298
298
|
this is the hybrid immediate-fix case instead — surface the proposed
|
|
299
299
|
correction and ask before continuing (see
|
|
300
|
-
[`knowledge-pages`](../../
|
|
300
|
+
[`knowledge-pages`](../../templates/contexts/knowledge-pages.md)
|
|
301
301
|
§ Contested entries). Approved → isolated fix commit. Declined →
|
|
302
302
|
`npx tsx node_modules/@event4u/agent-config/src/scripts/append_contested.ts` on that page, then still
|
|
303
303
|
emit the `context_stale` event above it for the consolidation pass.
|
|
@@ -201,8 +201,8 @@ Risks: <arbitrary values, !important, dark-mode gaps>
|
|
|
201
201
|
they read as auto-generated (catalog C1/C2). Reach for a single accent
|
|
202
202
|
from the token map, or a duotone built from configured tokens.
|
|
203
203
|
- **Anti-AI-slop: typography.** Unless audit-pinned, avoid surfacing
|
|
204
|
-
the
|
|
205
|
-
|
|
204
|
+
the default as the *visible* body face — Inter as a template webfont,
|
|
205
|
+
or `font-sans` (Arial / Helvetica). If `tailwind.config`
|
|
206
206
|
pins a font family, use it; if not, treat the missing token as a
|
|
207
207
|
gap to flag, not a license to ship the OS default.
|
|
208
208
|
- **Anti-AI-slop: layout.** Unless audit-pinned, the centered hero +
|
|
@@ -217,7 +217,12 @@ When `DESIGN.md` declares `## Taste Dials`, honour them: Variance → layout-fam
|
|
|
217
217
|
|
|
218
218
|
## Security constraints
|
|
219
219
|
|
|
220
|
-
`scripts/tailwind_config_gen.ts` is the only shipped script
|
|
220
|
+
`scripts/tailwind_config_gen.ts` is the only shipped script, started as:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
node <skills-root>/tailwind-engineer/scripts/tailwind_config_gen.mjs \
|
|
224
|
+
[--framework react|vue|svelte|nextjs] [--output PATH] [--validate-only]
|
|
225
|
+
```
|
|
221
226
|
|
|
222
227
|
- **What it may touch** — exactly one file: `--output PATH`, or
|
|
223
228
|
`tailwind.config.ts` / `.js` in the current working directory when no
|