@event4u/agent-config 16.4.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 +483 -669
- package/CONTRIBUTING.md +47 -0
- package/README.md +25 -25
- package/dist/agent-src/commands/{design.md → agent-design.md} +11 -7
- 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 +6 -1
- 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 +2 -2
- 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/accessibility-auditor/data/aria-patterns.csv +2 -0
- package/dist/agent-src/skills/accessibility-auditor/data/manifest.json +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 +16 -4
- 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 +25 -22
- 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 +65 -4
- 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/frontend-render-security/SKILL.md +9 -0
- 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/iconography/SKILL.md +4 -2
- package/dist/agent-src/skills/image-provider-routing/SKILL.md +16 -5
- 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 +21 -11
- 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 +324 -0
- 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/wireframe/SKILL.md +5 -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 +265 -13
- package/dist/cli/commands/uiRenderAsset.js +1316 -0
- package/dist/cli/commands/uiRenderAssetCompare.js +752 -0
- package/dist/cli/commands/uiRenderAssetFonts.js +158 -0
- package/dist/cli/commands/uiRenderAssetGrid.js +265 -0
- package/dist/cli/commands/uiRenderAssetGrounds.js +323 -0
- package/dist/cli/commands/uiRenderAssetIsolation.js +85 -0
- package/dist/cli/commands/uiRenderAssetTypes.js +133 -0
- package/dist/cli/initRouting.js +1 -1
- package/dist/cli/main.js +47 -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 +5 -2
- 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-AED2VQGM.js → chunk-2CX7NWRB.js} +233 -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 +669 -822
- 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 +409 -201
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +8 -8
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +36 -27
- package/dist/discovery/trust-report.md +3 -3
- package/dist/discovery/workspaces.json +25 -16
- package/dist/hooks/chat_history.chunk.cjs +6852 -0
- package/dist/hooks/chat_history.chunk.cjs.sha256 +1 -0
- package/dist/hooks/dispatch.js +17706 -18627
- 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 +1858 -0
- package/dist/hooks/svg_rules.chunk.cjs.sha256 +1 -0
- 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 +9814 -5333
- 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/scan_scope.js +105 -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_dom.js +284 -0
- package/dist/scripts/_lib/svg_filled_counter.js +285 -0
- package/dist/scripts/_lib/svg_geometry.js +477 -0
- package/dist/scripts/_lib/svg_motion.js +179 -0
- package/dist/scripts/_lib/svg_rules.js +1339 -0
- package/dist/scripts/_lib/svg_urls.js +67 -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/scripts/lint_svg_asset.js +324 -0
- 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 +6 -1
- 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 +15 -5
- 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 +29 -25
- 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 +100 -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_dom.ts +318 -0
- package/src/scripts/_lib/svg_filled_counter.ts +287 -0
- package/src/scripts/_lib/svg_geometry.ts +480 -0
- package/src/scripts/_lib/svg_motion.ts +208 -0
- package/src/scripts/_lib/svg_rules.ts +1455 -0
- package/src/scripts/_lib/svg_urls.ts +72 -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/verification_command.ts +59 -0
- package/src/scripts/_lib/verify_clause.ts +31 -19
- 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 +54 -8
- 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 +199 -13
- 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 +553 -0
- package/src/scripts/hooks/svg_rules_loader.ts +133 -0
- package/src/scripts/hooks/tool_result_bytes_hook.ts +14 -5
- package/src/scripts/hooks/turn_end_gate_hook.ts +5 -3
- 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 +150 -19
- 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_design_quality.ts +60 -12
- 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_motion_authority_drift.ts +27 -0
- 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_svg_asset.ts +365 -0
- 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-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-MSUL5NYP.js +0 -1123
- package/dist/cli-delegate/chunk-OAFSJBHH.js +0 -272
- package/dist/ui/assets/index-C3djEJah.js +0 -23
- package/src/scripts/_lib/continuation_ladder.ts +0 -335
- package/src/scripts/hooks/run_continuation_hook.ts +0 -1524
|
@@ -0,0 +1,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.
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
---
|
|
2
|
+
model_tier: inherit
|
|
3
|
+
name: svg-authoring
|
|
4
|
+
description: "Hand-author or edit an SVG — icon, mark, illustration, diagram, animation, raster-to-vector — checked and rendered."
|
|
5
|
+
domain: product
|
|
6
|
+
personas:
|
|
7
|
+
- design-director
|
|
8
|
+
workspaces:
|
|
9
|
+
- engineering
|
|
10
|
+
packs:
|
|
11
|
+
- frontend-design
|
|
12
|
+
- ai-image
|
|
13
|
+
- ai-video
|
|
14
|
+
- engineering-base
|
|
15
|
+
trust:
|
|
16
|
+
level: professional
|
|
17
|
+
install:
|
|
18
|
+
removable: true
|
|
19
|
+
scope:
|
|
20
|
+
write: []
|
|
21
|
+
verification_reason: "execution declares no handler, so this skill runs nothing of its own — every write is the calling agent's, under the rules that govern it. No command can prove a scope the skill never executes."
|
|
22
|
+
execution:
|
|
23
|
+
type: manual
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# svg-authoring
|
|
27
|
+
|
|
28
|
+
> The one owner for SVG an agent writes by hand. Six lanes produce one — a
|
|
29
|
+
> missing icon glyph, a geometric mark, an illustration, a diagram, an animated
|
|
30
|
+
> asset, a wireframe canvas — and until this skill existed none of them had a
|
|
31
|
+
> procedure or a check beyond the agent's own belief that the file looked right.
|
|
32
|
+
|
|
33
|
+
## When to use
|
|
34
|
+
|
|
35
|
+
- A glyph the incumbent icon set does not have (`iconography` first — the set wins).
|
|
36
|
+
- A simple geometric mark, when `logo-generation` takes the true-vector path.
|
|
37
|
+
- An illustration or a diagram authored as SVG rather than generated.
|
|
38
|
+
- An animated asset: SMIL, CSS or WAAPI inside an `.svg` or an inline graphic.
|
|
39
|
+
- A **surgical edit** to an existing SVG — "change only the hat", "remove the face".
|
|
40
|
+
- A **raster converted to a vector** — "turn the logo in this PNG into a real vector".
|
|
41
|
+
|
|
42
|
+
## When NOT to use
|
|
43
|
+
|
|
44
|
+
- The icon exists in the set → `iconography`, and stop there.
|
|
45
|
+
- A photoreal or illustrative raster → `image-generation`.
|
|
46
|
+
- A full brand pipeline → `logo-generation` (which routes back here for the mark).
|
|
47
|
+
- Motion design for video → `motion-choreographer`.
|
|
48
|
+
|
|
49
|
+
## Procedure
|
|
50
|
+
|
|
51
|
+
1. **Read the delivery mode first — it decides everything after it.** `inline`
|
|
52
|
+
in a host page, a standalone `document` opened directly, `img`, a CSS
|
|
53
|
+
background, or a deck. It decides what can animate, what can execute, and how
|
|
54
|
+
the graphic gets its accessible name. An **undeclared** mode is treated as
|
|
55
|
+
`inline`, the strictest.
|
|
56
|
+
2. **Classify the asset** — `icon`, `mark`, `illustration`, `diagram`,
|
|
57
|
+
`animated`. The class picks the fill-ratio threshold and the geometry
|
|
58
|
+
tolerance; there is no global threshold, because a 24-grid icon's designed
|
|
59
|
+
padding reads as an under-filled viewBox against one.
|
|
60
|
+
3. **Plan before attributes** — concept, then layout, then attributes.
|
|
61
|
+
Primitives before detail: a mark built from `rect`/`circle`/`polygon` is a
|
|
62
|
+
true vector and is often the right answer, not a lesser one.
|
|
63
|
+
4. **Write with the invariants.**
|
|
64
|
+
- ids namespaced to the graphic — a bare `id="title"` names the second
|
|
65
|
+
inline graphic on the page after the first.
|
|
66
|
+
- the accessible name comes from the ARIA corpus, not from here: ground
|
|
67
|
+
`meaningful standalone svg chart graphic accessible name` against
|
|
68
|
+
`accessibility-auditor`'s `aria-patterns.csv` and follow the
|
|
69
|
+
**Meaningful standalone graphic** or **Decorative graphic** row.
|
|
70
|
+
- colour from the project's tokens or `currentColor`, never a loose hex.
|
|
71
|
+
- an explicit `font-family` with a fallback the target actually ships; a
|
|
72
|
+
`<text>` with none resolves to the platform serif.
|
|
73
|
+
- no `<script>`, no `on*`, no `javascript:`, no `foreignObject`, no external
|
|
74
|
+
`href` or `url()`, no internal DTD subset or `<!ENTITY` (a bare public
|
|
75
|
+
DOCTYPE is fine).
|
|
76
|
+
5. **Run the static check** — `lint_svg_asset`, with the delivery mode declared:
|
|
77
|
+
```bash
|
|
78
|
+
npx tsx node_modules/@event4u/agent-config/src/scripts/lint_svg_asset.ts \
|
|
79
|
+
--file path/to/asset.svg --delivery inline
|
|
80
|
+
```
|
|
81
|
+
6. **Run the witness** — the asset profile, which opens the file in a real engine:
|
|
82
|
+
```bash
|
|
83
|
+
agent-config ui:render path/to/asset.svg --profile asset --class icon
|
|
84
|
+
```
|
|
85
|
+
7. **Look at the render.** Looking stays mandatory for *meaning*; it is never the
|
|
86
|
+
pass for *geometry*. Fix what both the checks and the look found.
|
|
87
|
+
8. **Stop** at a clean witness or after three render passes, whichever comes
|
|
88
|
+
first. A stop **at the cap with error findings still open** reports
|
|
89
|
+
`unverified` with the reason `pass-cap-reached` and lists what is open —
|
|
90
|
+
never `verified`, and never done. That reason is yours to report: the render
|
|
91
|
+
manifest never carries it, because one invocation of `ui:render` cannot see
|
|
92
|
+
how many passes you have made.
|
|
93
|
+
9. **Report** the renderer and the checks that actually ran — `verified`,
|
|
94
|
+
`static-only` or `unverified` — plus `goal: unassessed`, and name only
|
|
95
|
+
output files read back from disk. Where the renderer is **absent**, run the
|
|
96
|
+
static witness, report `static-only`, and name the missing capability in one
|
|
97
|
+
line; opening the file in a browser is never a step of this procedure or of
|
|
98
|
+
the user's.
|
|
99
|
+
|
|
100
|
+
## Status — what each word is allowed to mean
|
|
101
|
+
|
|
102
|
+
| Status | Allowed only when |
|
|
103
|
+
|---|---|
|
|
104
|
+
| `verified` | a render manifest from the asset profile exists **whose recorded file digest equals the delivered file's digest on disk**. A manifest from an earlier pass does not count. |
|
|
105
|
+
| `static-only` | the static check ran and no render did. A parser pass (`xmllint --noout`) is this, never `verified` — a file can parse and still be the wrong picture. |
|
|
106
|
+
| `unverified` | no browser resolved, or the pass cap was reached with error findings open (`pass-cap-reached`). Never a pass; never silently upgraded. |
|
|
107
|
+
|
|
108
|
+
**A second axis, and it is not this table's.** Every status above is about
|
|
109
|
+
whether a CHECK ran and what it found. Whether the graphic is *right* is a
|
|
110
|
+
different question, and `verified` was being read as an answer to it. So every
|
|
111
|
+
report carries `goal:` beside the status, and this skill writes exactly one
|
|
112
|
+
value into it:
|
|
113
|
+
|
|
114
|
+
| Goal | Written by |
|
|
115
|
+
|---|---|
|
|
116
|
+
| `unassessed` | **always, by this skill and by the renderer.** The default, and the only value either may write. |
|
|
117
|
+
| `accepted` / `rejected` | an owner statement, or a pre-registered scenario witness. Never derived from a digest match, a clean witness, or a score. |
|
|
118
|
+
|
|
119
|
+
## Editing an existing SVG — the baseline replaces the look
|
|
120
|
+
|
|
121
|
+
Declare the ids the edit is allowed to touch, then let the readout decide:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
npx tsx node_modules/@event4u/agent-config/src/scripts/lint_svg_asset.ts \
|
|
125
|
+
--file after.svg --baseline before.svg --allow hat,hat-band
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Every element outside the allowed set that changed is reported with the attribute
|
|
129
|
+
that changed, after number and whitespace canonicalisation. **No pixel diff
|
|
130
|
+
decides this** — anti-aliasing and font metrics would make it a per-machine
|
|
131
|
+
verdict.
|
|
132
|
+
|
|
133
|
+
This applies **between the owner's own passes** too. A part the user already
|
|
134
|
+
accepted joins the baseline and may not move by hand. A conversion pass that
|
|
135
|
+
re-derives that part from the source instead **re-measures** it and re-checks
|
|
136
|
+
the accepted property — a hole that was accepted as a hole stays a hole through
|
|
137
|
+
a full re-trace.
|
|
138
|
+
|
|
139
|
+
## Converting a raster to a vector — its own branch
|
|
140
|
+
|
|
141
|
+
Drawing it from a look fails, and it fails the same way every time: the outlines
|
|
142
|
+
"coincide within a few pixels" by eye and read 0.883 silhouette IoU when
|
|
143
|
+
measured. The procedure below reached 0.984 with the same tools.
|
|
144
|
+
|
|
145
|
+
### Trace to measure, construct to deliver
|
|
146
|
+
|
|
147
|
+
**The trace is the underlay by default, not the deliverable.** Trace the source
|
|
148
|
+
to measure and to align; then construct the deliverable over that underlay from
|
|
149
|
+
few points, palette colours and named shapes. Keep a trace AS the deliverable
|
|
150
|
+
only when the owner asks for maximum fidelity over editability, and say that is
|
|
151
|
+
what they are getting.
|
|
152
|
+
|
|
153
|
+
The reason is measured, not stylistic. In one session the traced mark scored
|
|
154
|
+
0.989 region IoU against the constructed one's 0.935 — and the trace was sent
|
|
155
|
+
back fifteen minutes after it was accepted, on criteria no score sees: a crown
|
|
156
|
+
cut at the crop edge, hairlines between segments, an off-palette spot, jagged
|
|
157
|
+
edges, 49 KB of edit-hostile points, and a face unreadable at 32 px. The
|
|
158
|
+
rebuild was 4.5 KB with 14 shapes and about 180 points. **The score is the
|
|
159
|
+
alignment check. It is never the acceptance.**
|
|
160
|
+
|
|
161
|
+
**When the score stops applying.** Once the owner's goal becomes a redesign
|
|
162
|
+
rather than a reproduction — different fingers, depth taken from a style
|
|
163
|
+
reference — the source-fidelity number measures agreement with something
|
|
164
|
+
nobody is still trying to match. Stop reporting it as progress and say why.
|
|
165
|
+
|
|
166
|
+
1. **Crop the source region with a margin, and make that crop the coordinate
|
|
167
|
+
system.** Write every vector coordinate in the crop's pixel units; fit the
|
|
168
|
+
viewBox to the content at the end, not at the start. **Widen the crop
|
|
169
|
+
whenever source content touches its edge** — a trace takes the crop border
|
|
170
|
+
for a contour, and a comparison against that same crop cannot see the cut.
|
|
171
|
+
One session lost a crown that way: the crop started five pixels below it.
|
|
172
|
+
The engine's `geometry/source-cut-by-frame` reading is the check.
|
|
173
|
+
2. **Derive geometry from the pixels, never by eye — then build over it.** One
|
|
174
|
+
traced silhouette that clips everything, then named regions split along an
|
|
175
|
+
edge map; smooth, resample and simplify each contour. The outer edge comes
|
|
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. **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.
|
|
182
|
+
3. **Fit colour, do not pick it.** Least-squares per region against that region's
|
|
183
|
+
own pixels; swap a linear gradient for a radial one only when the residual
|
|
184
|
+
actually drops.
|
|
185
|
+
4. **Classify near-white inside the mark as hole or paint from the source**, and
|
|
186
|
+
check it on a dark background **before** the first report. Near-white paint
|
|
187
|
+
where the source shows a hole is invisible on white and obvious on black.
|
|
188
|
+
5. **Keep text, wordmark and slogan out** unless they were asked for.
|
|
189
|
+
6. **Score every pass and every candidate change**, and keep a change only when
|
|
190
|
+
the score improves — a tried-and-worse idea is dropped by the number, not by
|
|
191
|
+
taste. Use the two readings the geometry comparison produces: silhouette IoU
|
|
192
|
+
over saturated regions, and mean colour error plus the share of pixels off by
|
|
193
|
+
more than 40/255 — broken down per region, so the worst region is named. The
|
|
194
|
+
score ranks passes against the source; it does not decide acceptance, and it
|
|
195
|
+
stops meaning anything once the goal becomes a redesign.
|
|
196
|
+
7. **Stop** at the declared tolerance, at the user's pass budget, or **on a
|
|
197
|
+
plateau** — whichever comes first. A plateau is two consecutive passes each
|
|
198
|
+
improving the score by less than 5 % relative: stop, report the residual's
|
|
199
|
+
cause, and offer the construct-or-redesign option instead of starting
|
|
200
|
+
another pass. An explicit pass budget from the user still wins when it is
|
|
201
|
+
smaller. Measured: twelve further scored passes took mean error 16.78 to
|
|
202
|
+
6.12 and the share off by 40 from 9.1 % to 1.5 %, and the owner said "still
|
|
203
|
+
unclean" twice; the plateau was named only after they brought a reference.
|
|
204
|
+
8. **Snapshot every delivered pass** as `<name>.pass-<n>.svg`, and diff the next
|
|
205
|
+
pass against the last accepted snapshot with `lint_svg_asset --baseline`.
|
|
206
|
+
Report which accepted properties carried forward. Restoring "version 4" is
|
|
207
|
+
then a copy, not a reconstruction — one session lost the same accepted
|
|
208
|
+
detail twice between hand edits, and the owner had to supply the file back
|
|
209
|
+
from their own downloads.
|
|
210
|
+
9. **Report the per-pass numbers, the cause of the remaining residual, and the
|
|
211
|
+
file size.** Fidelity costs bytes — one accepted conversion went 5.3 KB →
|
|
212
|
+
49.5 KB and nothing measured it. Each number carries the **registration**
|
|
213
|
+
it was taken against as `x,y,w,h` in the source's pixel frame, the
|
|
214
|
+
**scorer** that produced it (`ui:render`, or a named script) and the sample
|
|
215
|
+
resolution. Two scorers disagreed on one file by a factor of four and
|
|
216
|
+
neither number could be told from the other afterwards; a wordmark's frame
|
|
217
|
+
could not be recovered at all, and three plausible ones moved its IoU from
|
|
218
|
+
0.56 to 0.81.
|
|
219
|
+
|
|
220
|
+
Any tracing tool the host has may do the deriving, and a host with none can
|
|
221
|
+
write one. **The measurement is the procedure, not the tool.**
|
|
222
|
+
|
|
223
|
+
## Deliver, re-open, re-render
|
|
224
|
+
|
|
225
|
+
The last step reads every delivered file back **from its final path** in a fresh
|
|
226
|
+
browser context (`file://`, every other request aborted) and re-renders it from
|
|
227
|
+
there — not from the source text the agent wrote. Report path, byte size and
|
|
228
|
+
digest. An `img` delivery is additionally loaded through a host `<img>` and must
|
|
229
|
+
report a non-zero natural width.
|
|
230
|
+
|
|
231
|
+
**A file that does not re-open is not delivered.**
|
|
232
|
+
|
|
233
|
+
## Output format
|
|
234
|
+
|
|
235
|
+
1. **Delivery mode and asset class** — declared, not assumed.
|
|
236
|
+
2. **The file** — path, byte size, digest.
|
|
237
|
+
3. **Checks that ran** — the static check's finding count, the witness's
|
|
238
|
+
readings, and the status word from the table above.
|
|
239
|
+
4. **For a conversion** — the per-pass score table and the residual's cause,
|
|
240
|
+
each number carrying its **registration** (`x,y,w,h` in the source's pixel
|
|
241
|
+
frame), the scorer that produced it and the sample resolution, so a later
|
|
242
|
+
run can repeat the reading and no second scorer's number is quoted as the
|
|
243
|
+
first's.
|
|
244
|
+
5. **Variants** — for a `mark`, the small-size variant when the 16 and 32 px
|
|
245
|
+
captures lose the detail, and a light-on-dark variant when the contrast
|
|
246
|
+
reading is low on a capture's ground. Built, or named as missing. Never
|
|
247
|
+
silent: one wordmark shipped in a dark violet that is unreadable on a dark
|
|
248
|
+
ground, and the dark variant was simply not mentioned.
|
|
249
|
+
6. **Outlined lettering** — a word set from an installed font and converted to
|
|
250
|
+
outlines is reported with the font's name and whether its license allows
|
|
251
|
+
outlining into a distributed asset. An unknown license is reported as
|
|
252
|
+
unknown, never as permitted.
|
|
253
|
+
7. **Cost** — the reading the manifest carries (`bytes`, `elements`, `paths`,
|
|
254
|
+
`gradients`, `coordinates`), beside the fidelity numbers. No threshold: none
|
|
255
|
+
was measured, and a gate on bytes would have refused a 195 KB trace and a
|
|
256
|
+
59 KB accepted figure alike.
|
|
257
|
+
8. **What was looked at** — honestly, or nothing.
|
|
258
|
+
|
|
259
|
+
## Gotcha
|
|
260
|
+
|
|
261
|
+
- **A `<path>` is not evidence of a vector.** A raster embedded beside one dummy
|
|
262
|
+
path passes a presence-of-`<path>` check and is not a vector; a mark built
|
|
263
|
+
from `rect`/`circle` fails that check and is one.
|
|
264
|
+
- **CSS cannot stop SMIL.** `svg * { animation: none !important }` under an
|
|
265
|
+
emulated `reduce` leaves an `<animate>` running. Route the animation itself.
|
|
266
|
+
- **An `<img>`-delivered SVG never sees the OS motion preference.** The host
|
|
267
|
+
needs a `<picture>` with a `media="(prefers-reduced-motion: reduce)"` source
|
|
268
|
+
pointing at a static file.
|
|
269
|
+
- **`screenshot({ animations: 'disabled' })` does not freeze SMIL.** Use
|
|
270
|
+
`pauseAnimations()` + `setCurrentTime()`.
|
|
271
|
+
- **`transform-origin` without `transform-box` pivots against the view box**, not
|
|
272
|
+
the element — per element, so a correct sibling proves nothing about it.
|
|
273
|
+
- **`keySplines` outside [0,1] stops the animation outright** rather than
|
|
274
|
+
clamping it.
|
|
275
|
+
|
|
276
|
+
## Do NOT
|
|
277
|
+
|
|
278
|
+
- Do NOT report `verified` on a look, a parser pass, or a render of an earlier
|
|
279
|
+
draft.
|
|
280
|
+
- Do NOT say "matches" or "100 %" about a conversion without the two numbers and
|
|
281
|
+
the registration they were measured against.
|
|
282
|
+
- Do NOT rename ids or simplify paths as a side effect of a surgical edit.
|
|
283
|
+
- Do NOT restate motion, ARIA or render-security mechanism here — point at the
|
|
284
|
+
authority and let it own the rule.
|
|
285
|
+
- Do NOT add a rasteriser, a tracing dependency, or an optimiser to the write path.
|
|
286
|
+
|
|
287
|
+
## See also
|
|
288
|
+
|
|
289
|
+
> Named rather than linked, and that is a correctness property rather than a
|
|
290
|
+
> style one: this skill ships in four packs, so a relative link to an artifact
|
|
291
|
+
> that lives in only one of them resolves for a consumer who installed that pack
|
|
292
|
+
> and is dead for the other three. The names are stable; the paths are not
|
|
293
|
+
> promises this skill can keep.
|
|
294
|
+
|
|
295
|
+
- `iconography` — the set comes first; this skill is
|
|
296
|
+
for the glyph it lacks.
|
|
297
|
+
- `logo-generation` — the brand pipeline that
|
|
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.
|
|
301
|
+
- `image-provider-routing` — illustrative
|
|
302
|
+
vector art goes to a provider, not here.
|
|
303
|
+
- `fe-design` § Motion — the motion authority, in
|
|
304
|
+
`references/design-patterns.md` § *Motion — decision-tree and rationale*. The
|
|
305
|
+
SVG mechanism lines are step **6b, "Which mechanism carries it inside an
|
|
306
|
+
SVG?"** — `transform-box`, `pathLength`, the `keySplines` range, path-morph
|
|
307
|
+
command equality, and delivery mode picking the reduced-motion route. Cited
|
|
308
|
+
here and never restated.
|
|
309
|
+
- `frontend-render-security` § *The
|
|
310
|
+
patterns AI ships by default*, row **Untrusted SVG markup into an HTML sink**
|
|
311
|
+
— the sinks an SVG carries into a host origin, and what each delivery mode
|
|
312
|
+
can execute. Its § *Backstop greps* carries the grep that finds them.
|
|
313
|
+
- `design-intelligence` — diagram layout; its
|
|
314
|
+
geometric pre-checks are witnessed by the asset profile now.
|
|
315
|
+
- `accessibility-auditor` — the ARIA
|
|
316
|
+
corpus that answers what a graphic's accessible name has to be; its
|
|
317
|
+
`data/aria-patterns.csv` carries the **Meaningful standalone graphic** and
|
|
318
|
+
**Decorative graphic** rows this skill grounds against rather than copies.
|
|
319
|
+
- `canvas-design`, `wireframe`
|
|
320
|
+
— the two lanes that use SVG as an execution surface.
|
|
321
|
+
- `design-fidelity` — a provided artifact is
|
|
322
|
+
the spec; the baseline readout above is its surgical-edit witness.
|
|
323
|
+
- `docs/contracts/design-artifact-verification.md` — `frame_seek` and the other
|
|
324
|
+
primitives the witness depends on.
|
|
@@ -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
|