@event4u/agent-config 16.5.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1026) hide show
  1. package/.augment-plugin/marketplace.json +3 -3
  2. package/.augment-plugin/plugin.json +1 -1
  3. package/.claude-plugin/marketplace.json +2 -2
  4. package/.claude-plugin/skills/install-agent-config/SKILL.md +4 -4
  5. package/CHANGELOG.md +463 -498
  6. package/CONTRIBUTING.md +47 -0
  7. package/README.md +25 -25
  8. package/dist/agent-src/commands/{design.md → agent-design.md} +10 -6
  9. package/dist/agent-src/commands/agents/init.md +66 -3
  10. package/dist/agent-src/commands/agents/user/init.md +3 -0
  11. package/dist/agent-src/commands/{optimize/deep.md → analyze/and-optimize.md} +72 -33
  12. package/dist/agent-src/commands/analyze/inbox.md +168 -37
  13. package/dist/agent-src/commands/analyze/pr.md +144 -0
  14. package/dist/agent-src/commands/analyze/{repo.md → reference.md} +85 -14
  15. package/dist/agent-src/commands/analyze/roadmap-repos.md +19 -10
  16. package/dist/agent-src/commands/analyze.md +28 -12
  17. package/dist/agent-src/commands/audit.md +115 -0
  18. package/dist/agent-src/commands/brand/review.md +13 -2
  19. package/dist/agent-src/commands/brand/tokens.md +3 -3
  20. package/dist/agent-src/commands/brand/voice.md +8 -5
  21. package/dist/agent-src/commands/brand.md +2 -2
  22. package/dist/agent-src/commands/challenge-me/closure.md +25 -0
  23. package/dist/agent-src/commands/design-system/import.md +8 -3
  24. package/dist/agent-src/commands/design-system/sync.md +98 -0
  25. package/dist/agent-src/commands/design-system.md +6 -1
  26. package/dist/agent-src/commands/evals/analyze.json +44 -0
  27. package/dist/agent-src/commands/evals/audit.json +12 -0
  28. package/dist/agent-src/commands/evals/retro.json +12 -0
  29. package/dist/agent-src/commands/fix/ci.md +10 -8
  30. package/dist/agent-src/commands/ghostwriter/write.md +22 -0
  31. package/dist/agent-src/commands/memory/learn-low-impact.md +70 -83
  32. package/dist/agent-src/commands/memory/propose.md +12 -0
  33. package/dist/agent-src/commands/memory.md +1 -1
  34. package/dist/agent-src/commands/optimize.md +4 -3
  35. package/dist/agent-src/commands/post-as/me.md +18 -0
  36. package/dist/agent-src/commands/pr/create.md +17 -342
  37. package/dist/agent-src/commands/pr/merge.md +129 -368
  38. package/dist/agent-src/commands/retro.md +121 -0
  39. package/dist/agent-src/commands/review/routing.md +1 -1
  40. package/dist/agent-src/commands/roadmap/next.md +4 -1
  41. package/dist/agent-src/commands/roadmap/process-full.md +46 -333
  42. package/dist/agent-src/commands/roadmap/triage-parked.md +6 -2
  43. package/dist/agent-src/commands/team-knowledge/consolidate.md +2 -2
  44. package/dist/agent-src/commands/team-knowledge.md +1 -1
  45. package/dist/agent-src/commands/threat-model.md +1 -1
  46. package/dist/agent-src/commands/upstream-contribute.md +91 -101
  47. package/dist/agent-src/commands/worktree/cleanup.md +18 -11
  48. package/dist/agent-src/contexts/contracts/consumer-agents-md-guide.md +54 -0
  49. package/dist/agent-src/contexts/execution/analysis-loop.md +137 -0
  50. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +3 -3
  51. package/dist/agent-src/contexts/execution/decision-closure-execution.md +1 -1
  52. package/dist/agent-src/contexts/execution/host-capability-manifest.md +6 -0
  53. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +11 -4
  54. package/dist/agent-src/contexts/execution/pr-create-branches-content.md +250 -0
  55. package/dist/agent-src/contexts/execution/pr-create-branches-freshness.md +150 -0
  56. package/dist/agent-src/contexts/execution/pr-merge-queue.md +287 -0
  57. package/dist/agent-src/contexts/execution/pr-merge-sync.md +276 -0
  58. package/dist/agent-src/contexts/execution/pr-merge-trust-boundary.md +69 -0
  59. package/dist/agent-src/contexts/execution/process-full-all.md +233 -0
  60. package/dist/agent-src/contexts/execution/process-full-delivery.md +231 -0
  61. package/dist/agent-src/contexts/execution/roadmap-execution-contract-branches.md +42 -0
  62. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +1 -35
  63. package/dist/agent-src/contexts/execution/roadmap-process-loop-close.md +235 -0
  64. package/dist/agent-src/contexts/execution/roadmap-process-loop-prescan.md +216 -0
  65. package/dist/agent-src/contexts/execution/roadmap-process-loop-run.md +253 -0
  66. package/dist/agent-src/contexts/execution/roadmap-process-loop-set.md +212 -0
  67. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +25 -864
  68. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +14 -2
  69. package/dist/agent-src/contexts/execution/subagent-steering.md +65 -8
  70. package/dist/agent-src/contexts/model-recommendations.md +5 -5
  71. package/dist/agent-src/contexts/subagent-configuration.md +1 -1
  72. package/dist/agent-src/guidelines/agent-infra/api-cost-levers.md +4 -3
  73. package/dist/agent-src/guidelines/agent-infra/model-recommendation.md +11 -5
  74. package/dist/agent-src/guidelines/agent-infra/rule-body-migration-inventory.md +1 -1
  75. package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +47 -24
  76. package/dist/agent-src/guidelines/design-antipatterns.md +5 -0
  77. package/dist/agent-src/guidelines/design-asset-discipline.md +17 -0
  78. package/dist/agent-src/guidelines/design-fidelity-routing.md +1 -0
  79. package/dist/agent-src/guidelines/php/api-design.md +10 -1
  80. package/dist/agent-src/rules/brand-source-of-truth.md +7 -6
  81. package/dist/agent-src/rules/code-provenance.md +1 -1
  82. package/dist/agent-src/rules/context-hygiene.md +0 -1
  83. package/dist/agent-src/rules/design-fidelity.md +12 -13
  84. package/dist/agent-src/rules/external-reference-deep-dive.md +2 -2
  85. package/dist/agent-src/rules/fix-what-you-see.md +1 -1
  86. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +14 -15
  87. package/dist/agent-src/rules/missing-skill-recovery.md +12 -11
  88. package/dist/agent-src/rules/neighbour-precedence.md +1 -1
  89. package/dist/agent-src/rules/recurring-criticism.md +1 -1
  90. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -2
  91. package/dist/agent-src/rules/self-repair-loop.md +2 -2
  92. package/dist/agent-src/rules/token-budget-discipline.md +1 -1
  93. package/dist/agent-src/scripts/dashboard_mode.ts +4 -1
  94. package/dist/agent-src/scripts/roadmap_age.ts +175 -0
  95. package/dist/agent-src/scripts/update_roadmap_progress.ts +10 -2
  96. package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -3
  97. package/dist/agent-src/skills/agent-security-review/SKILL.md +2 -2
  98. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +12 -4
  99. package/dist/agent-src/skills/ai-code-blindspots/SKILL.md +7 -0
  100. package/dist/agent-src/skills/ai-council/references/advanced-modes.md +11 -1
  101. package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +7 -0
  102. package/dist/agent-src/skills/ai-council/references/execution-modes.md +7 -0
  103. package/dist/agent-src/skills/ai-council/references/output-and-synthesis.md +19 -0
  104. package/dist/agent-src/skills/ai-council/references/procedure.md +7 -0
  105. package/dist/agent-src/skills/api-design/SKILL.md +2 -2
  106. package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -2
  107. package/dist/agent-src/skills/authz-review/SKILL.md +5 -3
  108. package/dist/agent-src/skills/blade-ui/SKILL.md +2 -2
  109. package/dist/agent-src/skills/brand/SKILL.md +7 -3
  110. package/dist/agent-src/skills/brand-asset-generation/SKILL.md +13 -6
  111. package/dist/agent-src/skills/brand-audit/SKILL.md +2 -1
  112. package/dist/agent-src/skills/brand-identity/SKILL.md +5 -4
  113. package/dist/agent-src/skills/brand-strategy/SKILL.md +5 -4
  114. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +18 -39
  115. package/dist/agent-src/skills/brand-to-tokens/templates/marp-brand-deck.md.example +2 -2
  116. package/dist/agent-src/skills/brand-to-tokens/templates/reveal-brand-deck.yaml +2 -2
  117. package/dist/agent-src/skills/canvas-design/SKILL.md +12 -2
  118. package/dist/agent-src/skills/competitive-positioning/SKILL.md +2 -2
  119. package/dist/agent-src/skills/composer-packages/SKILL.md +18 -0
  120. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  121. package/dist/agent-src/skills/content-funnel-design/SKILL.md +8 -1
  122. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  123. package/dist/agent-src/skills/context-document/SKILL.md +2 -2
  124. package/dist/agent-src/skills/corpus-grounding/SKILL.md +6 -6
  125. package/dist/agent-src/skills/corpus-grounding/scripts/decision_engine.ts +13 -11
  126. package/dist/agent-src/skills/corpus-grounding/scripts/ground.mjs +1706 -0
  127. package/dist/agent-src/skills/corpus-grounding/scripts/schema_validator.ts +7 -1
  128. package/dist/agent-src/skills/dashboard-design/SKILL.md +1 -1
  129. package/dist/agent-src/skills/data-flow-mapper/SKILL.md +5 -2
  130. package/dist/agent-src/skills/database/SKILL.md +5 -4
  131. package/dist/agent-src/skills/decision-record/references/weighted-matrix.md +12 -0
  132. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +1 -1
  133. package/dist/agent-src/skills/dependency-upgrade/SKILL.md +61 -11
  134. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  135. package/dist/agent-src/skills/design-intelligence/SKILL.md +1 -1
  136. package/dist/agent-src/skills/design-intelligence/data/landing.csv +1 -1
  137. package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +10 -2
  138. package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
  139. package/dist/agent-src/skills/design-intelligence/references/design-rules-checklist.md +4 -3
  140. package/dist/agent-src/skills/design-intelligence/references/integration-mapping.md +14 -14
  141. package/dist/agent-src/skills/{wireframe → design-review}/references/story-beat-ledger.schema.json +1 -1
  142. package/dist/agent-src/skills/design-review/references/verification-automation.md +11 -3
  143. package/dist/agent-src/skills/design-system-capture/SKILL.md +15 -10
  144. package/dist/agent-src/skills/design-system-capture/references/design-system-json.md +20 -5
  145. package/dist/agent-src/skills/design-system-capture/references/import-procedure.md +2 -2
  146. package/dist/agent-src/skills/design-tokens/SKILL.md +23 -23
  147. package/dist/agent-src/skills/design-tokens/scripts/tokens.mjs +1037 -0
  148. package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +336 -13
  149. package/dist/agent-src/skills/design-tokens/templates/design-tokens-starter.json +52 -53
  150. package/dist/agent-src/skills/docker/SKILL.md +1 -1
  151. package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
  152. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +14 -276
  153. package/dist/agent-src/skills/existing-ui-audit/procedure.yaml +44 -0
  154. package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +1 -1
  155. package/dist/agent-src/skills/existing-ui-audit/references/steps/00-inspect-stack-and-input.md +4 -0
  156. package/dist/agent-src/skills/existing-ui-audit/references/steps/01-enumerate-components.md +26 -0
  157. package/dist/agent-src/skills/existing-ui-audit/references/steps/01b-detect-component-taxonomy.md +7 -0
  158. package/dist/agent-src/skills/existing-ui-audit/references/steps/02-identify-design-system.md +12 -0
  159. package/dist/agent-src/skills/existing-ui-audit/references/steps/03-detect-design-tokens.md +35 -0
  160. package/dist/agent-src/skills/existing-ui-audit/references/steps/04-detect-shadcn-inventory.md +13 -0
  161. package/dist/agent-src/skills/existing-ui-audit/references/steps/04b-live-storybook-read.md +26 -0
  162. package/dist/agent-src/skills/existing-ui-audit/references/steps/05-list-reusable-patterns.md +14 -0
  163. package/dist/agent-src/skills/existing-ui-audit/references/steps/06-match-candidates.md +52 -0
  164. package/dist/agent-src/skills/existing-ui-audit/references/steps/07-greenfield-branch.md +29 -0
  165. package/dist/agent-src/skills/existing-ui-audit/references/steps/08-a11y-baseline.md +40 -0
  166. package/dist/agent-src/skills/existing-ui-audit/references/steps/09-validate-and-write.md +5 -0
  167. package/dist/agent-src/skills/experiment-loop/SKILL.md +1 -1
  168. package/dist/agent-src/skills/fe-design/references/design-patterns.md +16 -2
  169. package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +1 -1
  170. package/dist/agent-src/skills/fe-design/references/source-led-port.md +1 -1
  171. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +6 -6
  172. package/dist/agent-src/skills/flux/SKILL.md +1 -1
  173. package/dist/agent-src/skills/form-handler/SKILL.md +15 -2
  174. package/dist/agent-src/skills/git-workflow/SKILL.md +2 -2
  175. package/dist/agent-src/skills/git-workflow/references/branch-update.md +7 -0
  176. package/dist/agent-src/skills/git-workflow/references/commit-subject.md +12 -0
  177. package/dist/agent-src/skills/git-workflow/references/push-closes-its-loop.md +10 -0
  178. package/dist/agent-src/skills/gtm-launch/SKILL.md +8 -1
  179. package/dist/agent-src/skills/html-deck/SKILL.md +7 -2
  180. package/dist/agent-src/skills/humanizer/SKILL.md +16 -3
  181. package/dist/agent-src/skills/humanizer/references/anti-aiisms.md +13 -1
  182. package/dist/agent-src/skills/humanizer/references/fixtures.md +8 -0
  183. package/dist/agent-src/skills/js-library-packaging/SKILL.md +5 -4
  184. package/dist/agent-src/skills/js-library-packaging/scripts/check_package_surface.mjs +197 -0
  185. package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +1 -1
  186. package/dist/agent-src/skills/judge-security-auditor/SKILL.md +2 -2
  187. package/dist/agent-src/skills/launch-readiness/SKILL.md +18 -22
  188. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +5 -5
  189. package/dist/agent-src/skills/livewire/SKILL.md +1 -1
  190. package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +18 -0
  191. package/dist/agent-src/skills/logo-generation/SKILL.md +9 -3
  192. package/dist/agent-src/skills/market-entry-analysis/SKILL.md +6 -1
  193. package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
  194. package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
  195. package/dist/agent-src/skills/messaging-architecture/SKILL.md +8 -1
  196. package/dist/agent-src/skills/motion-choreographer/SKILL.md +2 -2
  197. package/dist/agent-src/skills/playwright-testing/SKILL.md +2 -0
  198. package/dist/agent-src/skills/positioning-strategy/SKILL.md +10 -2
  199. package/dist/agent-src/skills/prediction-pool-optimizer/references/ev-fixtures.md +13 -0
  200. package/dist/agent-src/skills/prediction-pool-optimizer/references/odds-and-bonus.md +7 -0
  201. package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
  202. package/dist/agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +1 -1
  203. package/dist/agent-src/skills/project-analyzer/SKILL.md +14 -75
  204. package/dist/agent-src/skills/project-analyzer/procedure.yaml +39 -0
  205. package/dist/agent-src/skills/project-analyzer/references/steps/01-project-overview.md +9 -0
  206. package/dist/agent-src/skills/project-analyzer/references/steps/02-architecture.md +7 -0
  207. package/dist/agent-src/skills/project-analyzer/references/steps/03-data-layer.md +6 -0
  208. package/dist/agent-src/skills/project-analyzer/references/steps/04-business-domains.md +7 -0
  209. package/dist/agent-src/skills/project-analyzer/references/steps/05-api-surface.md +6 -0
  210. package/dist/agent-src/skills/project-analyzer/references/steps/06-service-map.md +6 -0
  211. package/dist/agent-src/skills/project-analyzer/references/steps/07-module-inventory.md +6 -0
  212. package/dist/agent-src/skills/project-analyzer/references/steps/08-infrastructure-and-testing.md +5 -0
  213. package/dist/agent-src/skills/project-analyzer/references/steps/09-agent-docs-audit.md +6 -0
  214. package/dist/agent-src/skills/project-analyzer/references/steps/10-gap-analysis.md +6 -0
  215. package/dist/agent-src/skills/quality-tools/references/js-ts-tools.md +10 -0
  216. package/dist/agent-src/skills/quality-tools/references/php-tools.md +13 -0
  217. package/dist/agent-src/skills/quality-tools/references/python-tools.md +11 -0
  218. package/dist/agent-src/skills/react-native-setup/SKILL.md +7 -2
  219. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +5 -1
  220. package/dist/agent-src/skills/react-shadcn-ui/references/registry.md +13 -0
  221. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.mjs +315 -0
  222. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +6 -6
  223. package/dist/agent-src/skills/receiving-code-review/SKILL.md +1 -1
  224. package/dist/agent-src/skills/refine-ticket/SKILL.md +2 -2
  225. package/dist/agent-src/skills/release-comms/SKILL.md +2 -1
  226. package/dist/agent-src/skills/repomix-packer/SKILL.md +2 -2
  227. package/dist/agent-src/skills/requesting-code-review/SKILL.md +3 -3
  228. package/dist/agent-src/skills/roadmap-management/references/archival.md +3 -3
  229. package/dist/agent-src/skills/roadmap-management/references/authoring.md +9 -2
  230. package/dist/agent-src/skills/roadmap-management/references/dashboard.md +3 -3
  231. package/dist/agent-src/skills/roadmap-management/references/lifecycle.md +3 -3
  232. package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -4
  233. package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +1 -1
  234. package/dist/agent-src/skills/rule-writing/SKILL.md +1 -2
  235. package/dist/agent-src/skills/security/SKILL.md +41 -5
  236. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +5 -3
  237. package/dist/agent-src/skills/skill-reviewer/SKILL.md +1 -1
  238. package/dist/agent-src/skills/skill-writing/SKILL.md +23 -8
  239. package/dist/agent-src/skills/skill-writing/references/section-patterns.md +19 -1
  240. package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
  241. package/dist/agent-src/skills/sql-writing/SKILL.md +2 -2
  242. package/dist/agent-src/skills/standards-from-config/SKILL.md +2 -2
  243. package/dist/agent-src/skills/storybook-workshop/SKILL.md +5 -0
  244. package/dist/agent-src/skills/storybook-workshop/scripts/story_contrast_floor.mjs +99 -0
  245. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +13 -13
  246. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +4 -3
  247. package/dist/agent-src/skills/svg-authoring/SKILL.md +7 -1
  248. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  249. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +8 -3
  250. package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.mjs +482 -0
  251. package/dist/agent-src/skills/test-case-discovery/SKILL.md +1 -1
  252. package/dist/agent-src/skills/threat-modeling/SKILL.md +8 -1
  253. package/dist/agent-src/skills/threat-modeling/data/manifest.json +5 -2
  254. package/dist/agent-src/skills/threat-modeling/data/reasoning.csv +10 -10
  255. package/dist/agent-src/skills/threat-modeling/data/surfaces.csv +11 -10
  256. package/dist/agent-src/skills/threat-modeling/data/threats.csv +34 -20
  257. package/dist/agent-src/skills/type-design/SKILL.md +196 -0
  258. package/dist/agent-src/skills/type-design/references/font-spec.md +90 -0
  259. package/dist/agent-src/skills/type-design/references/gates.md +113 -0
  260. package/dist/agent-src/skills/type-design/references/toolchain.md +66 -0
  261. package/dist/agent-src/skills/typography-system/SKILL.md +21 -11
  262. package/dist/agent-src/skills/typography-system/references/worked-scales.md +85 -0
  263. package/dist/agent-src/skills/ui-apply-generic/SKILL.md +1 -1
  264. package/dist/agent-src/skills/universal-project-analysis/SKILL.md +1 -1
  265. package/dist/agent-src/skills/upstream-contribute/SKILL.md +120 -125
  266. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -0
  267. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +1 -1
  268. package/dist/agent-src/skills/voice-and-tone-design/SKILL.md +71 -2
  269. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +16 -14
  270. package/dist/agent-src/templates/AGENTS.md +1 -1
  271. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  272. package/dist/agent-src/templates/agents/proposal.example.md +1 -1
  273. package/dist/agent-src/templates/github-workflows/advisories-daily.yml +85 -0
  274. package/dist/agent-src/templates/roadmaps.md +39 -1
  275. package/dist/agent-src/templates/scripts/check_memory.ts +2 -2
  276. package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +13 -1
  277. package/dist/agent-src/templates/scripts/work_engine/cli.ts +17 -0
  278. package/dist/agent-src/templates/scripts/work_engine/cli_args.ts +10 -0
  279. package/dist/agent-src/templates/scripts/work_engine/directives/ui/scaffold.ts +22 -13
  280. package/dist/agent-src/templates/scripts/work_engine/dispatcher.ts +18 -4
  281. package/dist/agent-src/templates/scripts/work_engine/procedure/checks.ts +283 -0
  282. package/dist/agent-src/templates/scripts/work_engine/procedure/run.ts +432 -0
  283. package/dist/agent-src/templates/scripts/work_engine/procedure/sidecar.ts +185 -0
  284. package/dist/agent-src/templates/scripts/work_engine/state.ts +3 -0
  285. package/dist/cli/commands/uiRender.js +72 -17
  286. package/dist/cli/commands/uiRenderAsset.js +10 -2
  287. package/dist/cli/commands/uiRenderAssetFonts.js +158 -0
  288. package/dist/cli/commands/uiRenderAssetTypes.js +8 -20
  289. package/dist/cli/initRouting.js +1 -1
  290. package/dist/cli/mcp/dispatch.js +31 -9
  291. package/dist/cli/python/knowledge_ingest.js +7 -39
  292. package/dist/cli/python/workspace_secrets.js +4 -177
  293. package/dist/cli/registry.js +4 -1
  294. package/dist/cli-delegate/archive_completed_roadmaps.js +3 -2
  295. package/dist/cli-delegate/check_update_banner.js +635 -266
  296. package/dist/cli-delegate/{chunk-TMWYUOK4.js → chunk-2CX7NWRB.js} +224 -437
  297. package/dist/cli-delegate/{chunk-F3QDG2GT.js → chunk-2SFOOFJJ.js} +259 -159
  298. package/dist/cli-delegate/chunk-2Y5AMLMY.js +136 -0
  299. package/dist/cli-delegate/{chunk-OKJUIAPS.js → chunk-4E2W63DA.js} +1 -62
  300. package/dist/cli-delegate/{chunk-6SRJTYJS.js → chunk-4SHNERBL.js} +37 -16
  301. package/dist/cli-delegate/chunk-5VO3RTMV.js +208 -0
  302. package/dist/cli-delegate/chunk-6E2LDY4F.js +27 -0
  303. package/dist/cli-delegate/{chunk-XQTPXKFA.js → chunk-6ZD2QZMN.js} +8 -17
  304. package/dist/cli-delegate/{chunk-6V5FMA3P.js → chunk-7CEI2YPS.js} +1 -1
  305. package/dist/cli-delegate/{chunk-DMSZHXZS.js → chunk-7DRWULEQ.js} +80 -7
  306. package/dist/cli-delegate/chunk-7NXCZSDL.js +54 -0
  307. package/dist/cli-delegate/chunk-AX3U3UWJ.js +328 -0
  308. package/dist/cli-delegate/{chunk-WOKWX5PL.js → chunk-BKALSTBZ.js} +18 -3
  309. package/dist/cli-delegate/chunk-BMGUGSY6.js +103 -0
  310. package/dist/cli-delegate/chunk-BYV46VRM.js +3309 -0
  311. package/dist/cli-delegate/{chunk-5GPULQBE.js → chunk-CAL76ADI.js} +4215 -682
  312. package/dist/cli-delegate/chunk-DSY6LLCQ.js +127 -0
  313. package/dist/cli-delegate/chunk-E6XNBVE4.js +581 -0
  314. package/dist/cli-delegate/{chunk-ZUZKZYCN.js → chunk-ESUNQ5XR.js} +46 -10
  315. package/dist/cli-delegate/{chunk-G5VVIZRC.js → chunk-F7HLSW6P.js} +1 -1
  316. package/dist/cli-delegate/chunk-FIEEOH5C.js +133 -0
  317. package/dist/cli-delegate/chunk-FKYZOWVD.js +719 -0
  318. package/dist/cli-delegate/chunk-GOMILC3O.js +918 -0
  319. package/dist/cli-delegate/chunk-I4KJYVPB.js +69 -0
  320. package/dist/cli-delegate/{chunk-JQOM7TTM.js → chunk-IDAOTDPE.js} +1 -100
  321. package/dist/cli-delegate/chunk-IROAQ77A.js +137 -0
  322. package/dist/cli-delegate/chunk-J2SJZICO.js +698 -0
  323. package/dist/cli-delegate/{chunk-6YQC2HLF.js → chunk-JHMMWNJ2.js} +54 -40
  324. package/dist/cli-delegate/{chunk-WQWXGIWB.js → chunk-M6CRG5O6.js} +165 -15
  325. package/dist/cli-delegate/{chunk-PHD7OOLE.js → chunk-MQ2UDEGV.js} +14 -3
  326. package/dist/cli-delegate/chunk-NTM7G2V4.js +220 -0
  327. package/dist/cli-delegate/chunk-PV7S5DPJ.js +175 -0
  328. package/dist/cli-delegate/{chunk-F7DQWYR5.js → chunk-RAXQOETZ.js} +6 -2
  329. package/dist/cli-delegate/{chunk-T7XSJSUQ.js → chunk-SIOMDAKL.js} +980 -784
  330. package/dist/cli-delegate/{chunk-KR6EM23A.js → chunk-TULVDQ4L.js} +3 -48
  331. package/dist/cli-delegate/chunk-UUYEKXKR.js +20 -0
  332. package/dist/cli-delegate/{chunk-7XGD2OEU.js → chunk-UXWHY6CQ.js} +2 -1
  333. package/dist/cli-delegate/{chunk-PWX7CKMD.js → chunk-VC3ECUEK.js} +1 -1
  334. package/dist/cli-delegate/{chunk-KXXWJTDO.js → chunk-WMNYVIYX.js} +1 -1
  335. package/dist/cli-delegate/chunk-XCY5KKUC.js +181 -0
  336. package/dist/cli-delegate/{chunk-H76PHZBI.js → chunk-XLY5G3CM.js} +14 -19
  337. package/dist/cli-delegate/cmd_adr_effective.js +41 -2
  338. package/dist/cli-delegate/cmd_analyze_session.js +7 -7
  339. package/dist/cli-delegate/cmd_brand_status.js +1287 -10
  340. package/dist/cli-delegate/cmd_ci_settle.js +330 -0
  341. package/dist/cli-delegate/cmd_conformance.js +483 -817
  342. package/dist/cli-delegate/cmd_doctor.js +26 -16
  343. package/dist/cli-delegate/cmd_doctor_neighbours.js +10 -7
  344. package/dist/cli-delegate/cmd_explain.js +9 -24
  345. package/dist/cli-delegate/cmd_export.js +14 -11
  346. package/dist/cli-delegate/cmd_fleet.js +5 -3
  347. package/dist/cli-delegate/cmd_git_convention.js +8 -4
  348. package/dist/cli-delegate/cmd_handoff.js +79 -242
  349. package/dist/cli-delegate/cmd_mcp_available.js +1 -1
  350. package/dist/cli-delegate/cmd_memory_get.js +4 -2
  351. package/dist/cli-delegate/cmd_migrate.js +2 -2
  352. package/dist/cli-delegate/cmd_packs_active.js +2 -2
  353. package/dist/cli-delegate/cmd_preflight.js +7 -5
  354. package/dist/cli-delegate/cmd_prune.js +16 -13
  355. package/dist/cli-delegate/cmd_route_audit.js +11 -8
  356. package/dist/cli-delegate/cmd_route_explain.js +649 -16
  357. package/dist/cli-delegate/cmd_session_recycle.js +15 -6
  358. package/dist/cli-delegate/cmd_settings_check.js +2 -2
  359. package/dist/cli-delegate/cmd_settings_get.js +1 -1
  360. package/dist/cli-delegate/cmd_settings_migrate.js +14 -11
  361. package/dist/cli-delegate/cmd_settings_set.js +1 -1
  362. package/dist/cli-delegate/cmd_sync.js +16 -13
  363. package/dist/cli-delegate/cmd_uninstall.js +185 -31
  364. package/dist/cli-delegate/cmd_update.js +67 -3
  365. package/dist/cli-delegate/cmd_upgrade.js +38 -7
  366. package/dist/cli-delegate/cmd_validate.js +16 -13
  367. package/dist/cli-delegate/cmd_versions.js +1 -1
  368. package/dist/cli-delegate/dashboard_mode.js +1 -1
  369. package/dist/cli-delegate/gate_execute.js +4 -3
  370. package/dist/cli-delegate/roadmap_age.js +22 -0
  371. package/dist/cli-delegate/roadmap_gates.js +4 -3
  372. package/dist/cli-delegate/update_roadmap_progress.js +3 -2
  373. package/dist/cli-delegate/upgrade_unattended-VVL6JLSX.js +541 -0
  374. package/dist/discovery/deprecation-report.md +1 -1
  375. package/dist/discovery/discovery-manifest.json +373 -190
  376. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  377. package/dist/discovery/discovery-manifest.summary.md +5 -5
  378. package/dist/discovery/dormancy-report.md +1 -1
  379. package/dist/discovery/orphan-report.md +1 -1
  380. package/dist/discovery/packs.json +21 -16
  381. package/dist/discovery/trust-report.md +3 -3
  382. package/dist/discovery/workspaces.json +16 -11
  383. package/dist/hooks/chat_history.chunk.cjs +6852 -0
  384. package/dist/hooks/chat_history.chunk.cjs.sha256 +1 -0
  385. package/dist/hooks/dispatch.js +17506 -18692
  386. package/dist/hooks/dispatch.sha256 +1 -1
  387. package/dist/hooks/egress_engine.chunk.cjs +915 -0
  388. package/dist/hooks/egress_engine.chunk.cjs.sha256 +1 -0
  389. package/dist/hooks/svg_rules.chunk.cjs +281 -49
  390. package/dist/hooks/svg_rules.chunk.cjs.sha256 +1 -1
  391. package/dist/install/conflict.js +36 -6
  392. package/dist/install/conflictTracker.js +81 -7
  393. package/dist/install/detect.js +3 -3
  394. package/dist/install/hostPermissionsAdapter.js +106 -0
  395. package/dist/install/install.mjs +3117 -1949
  396. package/dist/install/installThinLayer.js +1 -1
  397. package/dist/install/manifestFiles.js +21 -0
  398. package/dist/install/noGoDenyRows.js +300 -0
  399. package/dist/install/noGoRules.js +368 -0
  400. package/dist/install/ownershipLedger.js +133 -0
  401. package/dist/install/plan.js +1 -1
  402. package/dist/install/preflight.js +39 -8
  403. package/dist/install/preserve.js +74 -12
  404. package/dist/install/recordedOwnership.js +88 -5
  405. package/dist/install/rule_scope.js +20 -3
  406. package/dist/install/stagedRuntime.js +455 -0
  407. package/dist/install/toolsArg.js +19 -0
  408. package/dist/install/userPin.js +47 -0
  409. package/dist/install/wizard-plan.js +26 -4
  410. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  411. package/dist/mcp/mcp-cloudflare-catalogue.json +3 -2
  412. package/dist/mcp/registry-manifest.json +6 -5
  413. package/dist/mcp/server.json +3 -3
  414. package/dist/mcp/server.mjs +9831 -5546
  415. package/dist/router.json +1 -1
  416. package/dist/scripts/_lib/agent_settings.js +7 -12
  417. package/dist/scripts/_lib/asset_render_record.js +219 -0
  418. package/dist/scripts/_lib/claude_builtin_names.js +9 -4
  419. package/dist/scripts/_lib/claude_settings_hooks.js +102 -34
  420. package/dist/scripts/_lib/egress_rules.js +766 -0
  421. package/dist/scripts/_lib/environment_detector.js +24 -33
  422. package/dist/scripts/_lib/global_deploy_inventory.js +146 -9
  423. package/dist/scripts/_lib/guidelines_lane.js +10 -1
  424. package/dist/scripts/_lib/identifier_redaction.js +24 -0
  425. package/dist/scripts/_lib/installed_layer.js +17 -0
  426. package/dist/scripts/_lib/installed_layer_normalise.js +72 -0
  427. package/dist/scripts/_lib/lean_projection_mode.js +34 -152
  428. package/dist/scripts/_lib/project_tree_form.js +118 -0
  429. package/dist/scripts/_lib/scoped_projection.js +133 -3
  430. package/dist/scripts/_lib/settings_removed_keys.js +29 -0
  431. package/dist/scripts/_lib/settings_renamed_keys.js +17 -5
  432. package/dist/scripts/_lib/subagent_native_fields.js +35 -0
  433. package/dist/scripts/_lib/svg_filled_counter.js +285 -0
  434. package/dist/scripts/_lib/svg_rules.js +2 -0
  435. package/dist/scripts/_lib/ui_surface.js +19 -0
  436. package/dist/scripts/_lib/verification_command.js +364 -0
  437. package/dist/scripts/_lib/workspace_secrets.js +229 -0
  438. package/dist/scripts/ai_council/seat_policy.js +27 -0
  439. package/dist/scripts/ai_council/transport_resolver.js +9 -10
  440. package/dist/scripts/condense.js +25 -29
  441. package/dist/server/io/substituteTemplate.js +2 -2
  442. package/dist/server/io/yamlIO.js +2 -2
  443. package/dist/server/routes/install.js +5 -1
  444. package/dist/server/routes/settings.js +2 -2
  445. package/dist/server/routes/wizard.js +1 -1
  446. package/dist/server/schemas/settings.js +22 -16
  447. package/dist/server/serverInfo.js +1 -1
  448. package/dist/shared/brandTokenDocument.js +47 -0
  449. package/dist/shared/brandTokenPaths.js +43 -0
  450. package/dist/shared/settingsCarveOut.js +0 -7
  451. package/dist/shared/skillRanking.js +103 -5
  452. package/dist/shared/userMd/formAdapter.js +16 -0
  453. package/dist/shared/userMd/schema.js +17 -0
  454. package/dist/ui/assets/index-w70Ado09.js +23 -0
  455. package/dist/ui/index.html +1 -1
  456. package/docs/MIGRATION.md +89 -2
  457. package/docs/THIRD-PARTY-NOTICES.md +27 -0
  458. package/docs/contracts/settings-classes.md +27 -9
  459. package/docs/guidelines/agent-infra/api-cost-levers.md +4 -3
  460. package/docs/guidelines/agent-infra/model-recommendation.md +11 -5
  461. package/docs/guidelines/agent-infra/rule-body-migration-inventory.md +1 -1
  462. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +47 -24
  463. package/docs/guidelines/design-antipatterns.md +5 -0
  464. package/docs/guidelines/design-asset-discipline.md +17 -0
  465. package/docs/guidelines/design-fidelity-routing.md +1 -0
  466. package/docs/guidelines/php/api-design.md +10 -1
  467. package/llms.txt +12 -10
  468. package/package.json +13 -4
  469. package/src/agent-src/scripts/dashboard_mode.ts +4 -1
  470. package/src/agent-src/scripts/roadmap_age.ts +175 -0
  471. package/src/agent-src/scripts/update_roadmap_progress.ts +10 -2
  472. package/src/agent-src/templates/AGENTS.md +1 -1
  473. package/src/agent-src/templates/scripts/check_memory.ts +2 -2
  474. package/src/agent-src/templates/scripts/historical-bug-patterns.example.yml +13 -1
  475. package/src/agent-src/templates/scripts/work_engine/cli.ts +17 -0
  476. package/src/agent-src/templates/scripts/work_engine/cli_args.ts +10 -0
  477. package/src/agent-src/templates/scripts/work_engine/directives/ui/scaffold.ts +22 -13
  478. package/src/agent-src/templates/scripts/work_engine/dispatcher.ts +18 -4
  479. package/src/agent-src/templates/scripts/work_engine/procedure/checks.ts +283 -0
  480. package/src/agent-src/templates/scripts/work_engine/procedure/run.ts +432 -0
  481. package/src/agent-src/templates/scripts/work_engine/procedure/sidecar.ts +185 -0
  482. package/src/agent-src/templates/scripts/work_engine/state.ts +3 -0
  483. package/src/config/agent-settings.template.yml +120 -57
  484. package/src/config/agents-paths.yml +13 -7
  485. package/src/config/ci-local-parity.yml +44 -0
  486. package/src/config/continuity-surface.json +51 -2
  487. package/src/config/depth-audit-samples.json +5 -0
  488. package/src/config/discovery/command-verbs.yml +1 -0
  489. package/src/config/dispatch-economy-metrics.json +1 -0
  490. package/src/config/egress-mutations/class-precedence-swapped.json +7 -0
  491. package/src/config/egress-mutations/credential-token-restores.json +7 -0
  492. package/src/config/egress-mutations/iban-checksum-disabled.json +7 -0
  493. package/src/config/egress-mutations/raw-value-in-the-count-record.json +7 -0
  494. package/src/config/evaluator-budgets.json +4 -4
  495. package/src/config/gate-coverage.yml +149 -3
  496. package/src/config/gate-reachability-exemptions.json +3 -5
  497. package/src/config/gate-violation-baselines.json +26 -22
  498. package/src/config/gitignore-block.txt +6 -3
  499. package/src/config/hook-bundle-budget.json +34 -3
  500. package/src/config/hook-carrier-probes.json +30 -0
  501. package/src/config/hook-latency-budget.json +4 -2
  502. package/src/config/host-injection-effect.json +8 -1
  503. package/src/config/host-skill-frontmatter-keys.json +56 -0
  504. package/src/config/layer-form-brakes.json +4 -0
  505. package/src/config/layer-form-comparison-corpus.json +42 -0
  506. package/src/config/loop-surfaces.yaml +28 -47
  507. package/src/config/memory-twin-verdicts.yml +9 -1
  508. package/src/config/metric-registry.yml +40 -3
  509. package/src/config/pack-size-budget.json +15 -0
  510. package/src/config/procedure-core-budget.json +21 -0
  511. package/src/config/profiles/minimal.ini +1 -1
  512. package/src/config/project-tree-form.json +24 -0
  513. package/src/config/reach-channels.yml +3 -3
  514. package/src/config/reach-prescriptions-intake.yml +1 -1
  515. package/src/config/roadmap-step-size-baseline.json +118 -0
  516. package/src/config/routing-coverage-seed.json +93 -2
  517. package/src/config/skill-body-budget.json +686 -0
  518. package/src/config/skill-fork-pilot.json +17 -0
  519. package/src/config/skill-lifecycle-probes-codex.json +57 -0
  520. package/src/config/skill-lifecycle-probes.json +57 -0
  521. package/src/config/skill-output-shape.json +316 -0
  522. package/src/config/step-depth-table.json +58 -0
  523. package/src/config/turnaround-budget.json +90 -0
  524. package/src/install/conflict.ts +38 -6
  525. package/src/install/conflictTracker.ts +126 -8
  526. package/src/install/detect.ts +3 -3
  527. package/src/install/hostPermissionsAdapter.ts +136 -0
  528. package/src/install/installThinLayer.ts +6 -1
  529. package/src/install/manifestFiles.ts +24 -0
  530. package/src/install/noGoDenyRows.ts +368 -0
  531. package/src/install/noGoRules.ts +438 -0
  532. package/src/install/ownershipLedger.ts +180 -0
  533. package/src/install/plan.ts +1 -1
  534. package/src/install/preflight.ts +42 -10
  535. package/src/install/preserve.ts +94 -12
  536. package/src/install/recordedOwnership.ts +121 -3
  537. package/src/install/rule_scope.ts +20 -3
  538. package/src/install/stagedRuntime.ts +528 -0
  539. package/src/install/toolsArg.ts +16 -0
  540. package/src/install/types.ts +23 -2
  541. package/src/install/userPin.ts +54 -0
  542. package/src/install/wizard-plan.ts +25 -4
  543. package/src/scripts/_cli/_doctor_emit.ts +24 -0
  544. package/src/scripts/_cli/cmd_brand_status.ts +223 -12
  545. package/src/scripts/_cli/cmd_ci_settle.ts +32 -0
  546. package/src/scripts/_cli/cmd_doctor.ts +23 -44
  547. package/src/scripts/_cli/cmd_route_explain.ts +176 -2
  548. package/src/scripts/_cli/cmd_uninstall.ts +270 -26
  549. package/src/scripts/_cli/cmd_update.ts +34 -1
  550. package/src/scripts/_cli/cmd_upgrade.ts +38 -2
  551. package/src/scripts/_cli/detection_report.ts +7 -0
  552. package/src/scripts/_cli/doctor_execution.ts +1 -2
  553. package/src/scripts/_cli/doctor_install_mode.ts +39 -0
  554. package/src/scripts/_cli/doctor_network_posture.ts +3 -3
  555. package/src/scripts/_cli/doctor_ownership_ledger.ts +126 -0
  556. package/src/scripts/_cli/doctor_update_verdict.ts +104 -0
  557. package/src/scripts/_cli/explain_last/scrubber.ts +9 -21
  558. package/src/scripts/_cli/upgrade_unattended.ts +548 -0
  559. package/src/scripts/_dispatch.bash +42 -9
  560. package/src/scripts/_lib/activation_ladder.ts +1 -1
  561. package/src/scripts/_lib/advisory_inventory.ts +405 -0
  562. package/src/scripts/_lib/advisory_notice.ts +270 -0
  563. package/src/scripts/_lib/advisory_sources.ts +752 -0
  564. package/src/scripts/_lib/advisory_verdicts.ts +363 -0
  565. package/src/scripts/_lib/agent_artifact_location.ts +177 -0
  566. package/src/scripts/_lib/agent_settings.ts +7 -12
  567. package/src/scripts/_lib/arrival_record.ts +217 -0
  568. package/src/scripts/_lib/asset_render_record.ts +247 -0
  569. package/src/scripts/_lib/billing_grant.ts +4 -2
  570. package/src/scripts/_lib/brand_voice_slot.ts +258 -0
  571. package/src/scripts/_lib/canary_status.ts +24 -0
  572. package/src/scripts/_lib/cc_transcript.ts +276 -0
  573. package/src/scripts/_lib/changelog_eras.ts +83 -0
  574. package/src/scripts/_lib/claim_phrases.ts +71 -0
  575. package/src/scripts/_lib/classify_update.ts +171 -0
  576. package/src/scripts/_lib/claude_builtin_names.ts +9 -4
  577. package/src/scripts/_lib/claude_hook_scope.ts +195 -0
  578. package/src/scripts/_lib/claude_settings_hooks.ts +118 -34
  579. package/src/scripts/_lib/codex_resident_set.ts +460 -0
  580. package/src/scripts/_lib/codex_skill_finder.ts +225 -0
  581. package/src/scripts/_lib/confusables.ts +19 -0
  582. package/src/scripts/_lib/consumer_impact.ts +199 -0
  583. package/src/scripts/_lib/content_class.ts +127 -0
  584. package/src/scripts/_lib/counted_probe.ts +68 -1
  585. package/src/scripts/_lib/credential_deny_rows.ts +151 -0
  586. package/src/scripts/_lib/credential_files.ts +367 -0
  587. package/src/scripts/_lib/delivery_arm_experiment.ts +2 -2
  588. package/src/scripts/_lib/depth_flip.ts +141 -0
  589. package/src/scripts/_lib/design_lock.ts +117 -0
  590. package/src/scripts/_lib/design_sync_ledger.ts +142 -0
  591. package/src/scripts/_lib/design_sync_plan.ts +177 -0
  592. package/src/scripts/_lib/design_sync_reconcile.ts +159 -0
  593. package/src/scripts/_lib/design_sync_verify.ts +99 -0
  594. package/src/scripts/_lib/design_system_claude_design.ts +323 -0
  595. package/src/scripts/_lib/design_system_import.ts +84 -6
  596. package/src/scripts/_lib/dispatch_import_closure.ts +42 -11
  597. package/src/scripts/_lib/egress_credential_env.ts +35 -0
  598. package/src/scripts/_lib/egress_engine.ts +22 -0
  599. package/src/scripts/_lib/egress_known_values.ts +223 -0
  600. package/src/scripts/_lib/egress_normalize.ts +67 -0
  601. package/src/scripts/_lib/egress_prefixes.ts +42 -0
  602. package/src/scripts/_lib/egress_rules.ts +896 -0
  603. package/src/scripts/_lib/egress_rules_linearity.ts +56 -0
  604. package/src/scripts/_lib/egress_sender_scan.ts +290 -0
  605. package/src/scripts/_lib/egress_session_table.ts +510 -0
  606. package/src/scripts/_lib/egress_text.ts +63 -0
  607. package/src/scripts/_lib/egress_token.ts +252 -0
  608. package/src/scripts/_lib/empty_cycles.ts +1 -1
  609. package/src/scripts/_lib/environment_detector.ts +45 -30
  610. package/src/scripts/_lib/exemption_shape.ts +75 -1
  611. package/src/scripts/_lib/floor_posture.ts +185 -0
  612. package/src/scripts/_lib/forge_protection.ts +140 -2
  613. package/src/scripts/_lib/global_deploy_inventory.ts +159 -6
  614. package/src/scripts/_lib/guidelines_lane.ts +12 -1
  615. package/src/scripts/_lib/hand_kinds.ts +65 -0
  616. package/src/scripts/_lib/headless_invocation.ts +3 -3
  617. package/src/scripts/_lib/host_capability.ts +34 -2
  618. package/src/scripts/_lib/host_env_write.ts +39 -18
  619. package/src/scripts/_lib/host_listing_model.ts +14 -7
  620. package/src/scripts/_lib/identifier_redaction.ts +26 -0
  621. package/src/scripts/_lib/impact_bump.ts +70 -0
  622. package/src/scripts/_lib/install_reach_checks.ts +53 -1
  623. package/src/scripts/_lib/installed_layer.ts +31 -0
  624. package/src/scripts/_lib/installed_layer_normalise.ts +75 -0
  625. package/src/scripts/_lib/instructions_loaded_classify.ts +75 -0
  626. package/src/scripts/_lib/instructions_loaded_event.ts +53 -0
  627. package/src/scripts/_lib/knowledge_global_redaction.ts +2 -2
  628. package/src/scripts/_lib/layer_form_corpus.ts +165 -0
  629. package/src/scripts/_lib/layer_form_decision.ts +248 -0
  630. package/src/scripts/_lib/layer_form_evidence.ts +112 -0
  631. package/src/scripts/_lib/lean_projection_mode.ts +32 -161
  632. package/src/scripts/_lib/llm_proposer_transport.ts +1 -0
  633. package/src/scripts/_lib/loop_guards.ts +8 -120
  634. package/src/scripts/_lib/major_surface.ts +207 -0
  635. package/src/scripts/_lib/mcp_bridge.ts +30 -69
  636. package/src/scripts/_lib/merge_clearance_record.ts +384 -0
  637. package/src/scripts/_lib/neighbour_census.ts +18 -1
  638. package/src/scripts/_lib/orchestration_record.ts +61 -0
  639. package/src/scripts/_lib/outcome_vocabularies.ts +15 -23
  640. package/src/scripts/_lib/pin_advice.ts +49 -0
  641. package/src/scripts/_lib/platform_anchor.ts +222 -0
  642. package/src/scripts/_lib/procedure_checks.ts +5 -0
  643. package/src/scripts/_lib/project_tree_form.ts +134 -0
  644. package/src/scripts/_lib/projection_key_migration.ts +122 -0
  645. package/src/scripts/_lib/prompt_shape.ts +13 -2
  646. package/src/scripts/_lib/provenance_verify.ts +272 -0
  647. package/src/scripts/_lib/quota_parked.ts +27 -1
  648. package/src/scripts/_lib/ratification_artifact.ts +64 -1
  649. package/src/scripts/_lib/ratification_subject.ts +508 -46
  650. package/src/scripts/_lib/release_findings_ingest.ts +52 -5
  651. package/src/scripts/_lib/release_highlights.ts +72 -2
  652. package/src/scripts/_lib/release_settings_surface.ts +392 -0
  653. package/src/scripts/_lib/review_round.ts +134 -0
  654. package/src/scripts/_lib/roadmap_checkboxes.ts +1 -1
  655. package/src/scripts/_lib/roadmap_slug_lock.ts +254 -0
  656. package/src/scripts/_lib/roadmap_step_size.ts +75 -0
  657. package/src/scripts/_lib/run_checkpoint.ts +60 -3
  658. package/src/scripts/_lib/runtime_wiring_checks.ts +15 -1
  659. package/src/scripts/_lib/scope_guard.sh +64 -5
  660. package/src/scripts/_lib/scoped_projection.ts +136 -3
  661. package/src/scripts/_lib/secret_detector.ts +24 -103
  662. package/src/scripts/_lib/security_fix.ts +429 -0
  663. package/src/scripts/_lib/security_fix_context.ts +133 -0
  664. package/src/scripts/_lib/self_repair.ts +69 -39
  665. package/src/scripts/_lib/self_repair_outgoing.ts +209 -0
  666. package/src/scripts/_lib/self_repair_payload.ts +86 -0
  667. package/src/scripts/_lib/session_eol.ts +3 -0
  668. package/src/scripts/_lib/session_pr_watch.ts +207 -0
  669. package/src/scripts/_lib/session_register.ts +51 -1
  670. package/src/scripts/_lib/session_tag.ts +51 -0
  671. package/src/scripts/_lib/settings_removed_keys.ts +30 -0
  672. package/src/scripts/_lib/settings_renamed_keys.ts +19 -5
  673. package/src/scripts/_lib/skill_catalogue.ts +66 -25
  674. package/src/scripts/_lib/skill_fork_pilot.ts +121 -0
  675. package/src/scripts/_lib/skill_leases.ts +203 -0
  676. package/src/scripts/_lib/skill_listing_overrides.ts +294 -0
  677. package/src/scripts/_lib/skill_materialisation.ts +388 -0
  678. package/src/scripts/_lib/skill_materialisation_gate.ts +210 -0
  679. package/src/scripts/_lib/skill_materialisation_lock.ts +149 -0
  680. package/src/scripts/_lib/skill_materialisation_triggers.ts +96 -0
  681. package/src/scripts/_lib/skill_origin.ts +21 -1
  682. package/src/scripts/_lib/skill_reach.ts +342 -0
  683. package/src/scripts/_lib/source_shape.ts +7 -2
  684. package/src/scripts/_lib/sqlite_guard.ts +1 -1
  685. package/src/scripts/_lib/step_anatomy.ts +330 -0
  686. package/src/scripts/_lib/subagent_capsule.ts +8 -2
  687. package/src/scripts/_lib/subagent_native_fields.ts +30 -0
  688. package/src/scripts/_lib/subagent_spawn.ts +36 -0
  689. package/src/scripts/_lib/subagent_steering.ts +367 -0
  690. package/src/scripts/_lib/svg_filled_counter.ts +287 -0
  691. package/src/scripts/_lib/svg_rules.ts +2 -0
  692. package/src/scripts/_lib/test_delta.ts +89 -6
  693. package/src/scripts/_lib/tier_downshift_verdict.ts +222 -0
  694. package/src/scripts/_lib/tool_result_census.ts +62 -0
  695. package/src/scripts/_lib/trigger_routers.ts +1 -0
  696. package/src/scripts/_lib/turnaround_throughput.ts +378 -0
  697. package/src/scripts/_lib/ui_surface.ts +22 -0
  698. package/src/scripts/_lib/unattended_gates.ts +100 -0
  699. package/src/scripts/_lib/undeployed_fixes.ts +34 -0
  700. package/src/scripts/_lib/update_check.ts +143 -12
  701. package/src/scripts/_lib/update_invite.ts +116 -0
  702. package/src/scripts/_lib/update_notice.ts +259 -0
  703. package/src/scripts/_lib/verify_clause.ts +4 -2
  704. package/src/scripts/_lib/version_order.ts +146 -0
  705. package/src/scripts/_lib/worker_reuse.ts +191 -0
  706. package/src/scripts/_lib/workspace_secrets.ts +273 -0
  707. package/src/scripts/_lib/worktree_git.ts +67 -0
  708. package/src/scripts/_lib/worktree_ignored.ts +116 -0
  709. package/src/scripts/adoption_status.ts +330 -3
  710. package/src/scripts/adr_cite_check.ts +93 -0
  711. package/src/scripts/advisories.ts +803 -0
  712. package/src/scripts/ai-image/adapters/flux.sh +1 -0
  713. package/src/scripts/ai-image/adapters/gemini-image.sh +1 -0
  714. package/src/scripts/ai-image/adapters/ideogram.sh +1 -0
  715. package/src/scripts/ai-image/adapters/recraft.sh +1 -0
  716. package/src/scripts/ai-video/adapters/comfyui.sh +1 -0
  717. package/src/scripts/ai-video/adapters/fal.sh +1 -0
  718. package/src/scripts/ai-video/adapters/gemini-veo.sh +1 -0
  719. package/src/scripts/ai-video/adapters/higgsfield.sh +1 -0
  720. package/src/scripts/ai-video/adapters/kling.sh +1 -0
  721. package/src/scripts/ai-video/adapters/musetalk.sh +1 -0
  722. package/src/scripts/ai-video/adapters/openai-images.sh +1 -0
  723. package/src/scripts/ai-video/adapters/replicate.sh +1 -0
  724. package/src/scripts/ai-video/adapters/sora.sh +1 -0
  725. package/src/scripts/ai-video/adapters/syncso.sh +1 -0
  726. package/src/scripts/ai-video/stitch.sh +115 -2
  727. package/src/scripts/ai_council/airgap.ts +1 -0
  728. package/src/scripts/ai_council/api_transport.ts +27 -4
  729. package/src/scripts/ai_council/budget_guard.ts +300 -11
  730. package/src/scripts/ai_council/bundler.ts +20 -29
  731. package/src/scripts/ai_council/chairman.ts +17 -2
  732. package/src/scripts/ai_council/cli_agency_bounds.ts +158 -0
  733. package/src/scripts/ai_council/cli_launch_env.ts +54 -0
  734. package/src/scripts/ai_council/cli_least_agency_canary.ts +18 -2
  735. package/src/scripts/ai_council/clients.ts +55 -73
  736. package/src/scripts/ai_council/config.ts +16 -22
  737. package/src/scripts/ai_council/council_egress.ts +167 -0
  738. package/src/scripts/ai_council/exposure_ledger.ts +117 -0
  739. package/src/scripts/ai_council/free_hand_shadow.ts +276 -0
  740. package/src/scripts/ai_council/free_route.ts +216 -0
  741. package/src/scripts/ai_council/free_route_catalog.ts +173 -0
  742. package/src/scripts/ai_council/free_route_client.ts +95 -0
  743. package/src/scripts/ai_council/free_rung.ts +61 -0
  744. package/src/scripts/ai_council/hand_payload.ts +230 -0
  745. package/src/scripts/ai_council/hand_schemas.ts +123 -0
  746. package/src/scripts/ai_council/jury_aggregate.ts +155 -1
  747. package/src/scripts/ai_council/kind_flip.ts +221 -0
  748. package/src/scripts/ai_council/kind_flip_state.ts +19 -0
  749. package/src/scripts/ai_council/learn_low_impact_preview.ts +50 -22
  750. package/src/scripts/ai_council/modification_review.ts +98 -5
  751. package/src/scripts/ai_council/necessity.ts +7 -0
  752. package/src/scripts/ai_council/orchestrator.ts +16 -16
  753. package/src/scripts/ai_council/pricing.ts +10 -0
  754. package/src/scripts/ai_council/redact_low_impact_entry.ts +5 -2
  755. package/src/scripts/ai_council/response_render.ts +27 -4
  756. package/src/scripts/ai_council/round_reservations.ts +119 -0
  757. package/src/scripts/ai_council/route_chooser.ts +161 -0
  758. package/src/scripts/ai_council/route_liveness.ts +152 -0
  759. package/src/scripts/ai_council/route_member.ts +52 -0
  760. package/src/scripts/ai_council/seat_policy.ts +40 -0
  761. package/src/scripts/ai_council/seat_resume.ts +40 -0
  762. package/src/scripts/ai_council/shadow_dispatch.ts +13 -3
  763. package/src/scripts/ai_council/spend_gate.ts +18 -2
  764. package/src/scripts/ai_council/status_surface.ts +37 -0
  765. package/src/scripts/ai_council/transport_resolver.ts +15 -18
  766. package/src/scripts/analysis_analysts.ts +226 -0
  767. package/src/scripts/analysis_anchors.ts +140 -0
  768. package/src/scripts/analysis_and_optimize.ts +44 -0
  769. package/src/scripts/analysis_emit.ts +150 -0
  770. package/src/scripts/analysis_exchange.ts +186 -0
  771. package/src/scripts/analysis_gate.ts +158 -0
  772. package/src/scripts/analysis_inbox_final.ts +173 -0
  773. package/src/scripts/analysis_ledger.ts +119 -0
  774. package/src/scripts/analysis_pr_optimize.ts +219 -0
  775. package/src/scripts/analysis_pr_review.ts +240 -0
  776. package/src/scripts/analysis_pr_target.ts +121 -0
  777. package/src/scripts/analysis_prompts.ts +130 -0
  778. package/src/scripts/analysis_publish.ts +358 -0
  779. package/src/scripts/analysis_questions.ts +78 -0
  780. package/src/scripts/analysis_run.ts +248 -0
  781. package/src/scripts/analysis_run_record.ts +210 -0
  782. package/src/scripts/analysis_target.ts +343 -0
  783. package/src/scripts/analysis_validate.ts +161 -0
  784. package/src/scripts/anchor_eval_falsify.ts +1 -1
  785. package/src/scripts/arrival_report.ts +115 -0
  786. package/src/scripts/ask_transport.ts +284 -35
  787. package/src/scripts/backfill_model_tier.ts +4 -5
  788. package/src/scripts/before_complete_hook.ts +48 -2
  789. package/src/scripts/bench_hook_latency.ts +3 -3
  790. package/src/scripts/bench_procedure_cursor.ts +440 -0
  791. package/src/scripts/bootstrap.sh +3 -3
  792. package/src/scripts/build_exit_code_register.ts +440 -0
  793. package/src/scripts/build_proof.ts +23 -1
  794. package/src/scripts/cache_realization_report.ts +155 -14
  795. package/src/scripts/canary_liveness.ts +117 -0
  796. package/src/scripts/chat_history.ts +12 -15
  797. package/src/scripts/check_account_surface.ts +318 -0
  798. package/src/scripts/check_agent_artifact_location.ts +17 -160
  799. package/src/scripts/check_bundle_path_leakage.ts +6 -0
  800. package/src/scripts/check_ci_local_parity.ts +21 -13
  801. package/src/scripts/check_claims.ts +77 -2
  802. package/src/scripts/check_completion_review.ts +34 -1
  803. package/src/scripts/check_concern_admissions.ts +41 -5
  804. package/src/scripts/check_consumer_scope_flip.ts +1 -1
  805. package/src/scripts/check_context_paths.ts +2 -0
  806. package/src/scripts/check_council_layout.ts +9 -0
  807. package/src/scripts/check_credential_spelling.ts +267 -0
  808. package/src/scripts/check_egress_mutations.ts +239 -0
  809. package/src/scripts/check_enforcement_coverage.ts +16 -3
  810. package/src/scripts/check_estate_count.ts +16 -1
  811. package/src/scripts/check_finding_dispositions.ts +147 -0
  812. package/src/scripts/check_gate_coverage.ts +123 -21
  813. package/src/scripts/check_gate_reachability.ts +16 -2
  814. package/src/scripts/check_generator_sync.ts +46 -0
  815. package/src/scripts/check_hook_bundle_composition.ts +139 -1
  816. package/src/scripts/check_host_docs_digest.ts +142 -5
  817. package/src/scripts/check_kernel_edit_ratified.ts +301 -76
  818. package/src/scripts/check_kernel_rule_bundle.ts +14 -10
  819. package/src/scripts/check_knowledge_cards.ts +83 -3
  820. package/src/scripts/check_memory.ts +13 -3
  821. package/src/scripts/check_pack_size.ts +1 -1
  822. package/src/scripts/check_permission_deny_syntax.ts +247 -0
  823. package/src/scripts/check_platform_anchor.ts +243 -0
  824. package/src/scripts/check_proposal.ts +183 -1
  825. package/src/scripts/check_reach_channels.ts +5 -3
  826. package/src/scripts/check_references.ts +5 -2
  827. package/src/scripts/check_release_manifest_content.ts +33 -0
  828. package/src/scripts/check_release_pr_shape.ts +5 -0
  829. package/src/scripts/check_rule_invariants.ts +9 -1
  830. package/src/scripts/check_skill_body_budget.ts +343 -0
  831. package/src/scripts/check_skill_requires.ts +137 -1
  832. package/src/scripts/check_step_receipts.ts +246 -0
  833. package/src/scripts/check_structural_breaking.ts +7 -1
  834. package/src/scripts/check_suppression_hygiene.ts +8 -0
  835. package/src/scripts/check_test_weakening.ts +14 -0
  836. package/src/scripts/check_token_quality_golden.ts +5 -1
  837. package/src/scripts/check_update_banner.ts +50 -3
  838. package/src/scripts/check_verify_expectation_delta.ts +2 -1
  839. package/src/scripts/check_voice_lexicon.ts +531 -0
  840. package/src/scripts/ci_os_attribution.ts +327 -0
  841. package/src/scripts/ci_platform_scope.ts +69 -0
  842. package/src/scripts/ci_settle.ts +4 -1
  843. package/src/scripts/ci_status.ts +0 -1
  844. package/src/scripts/ci_time_to_green.ts +748 -0
  845. package/src/scripts/classify_merge_risk.ts +407 -19
  846. package/src/scripts/code_graph/sqlite_store.ts +1 -1
  847. package/src/scripts/compile_trigger_evals.ts +353 -0
  848. package/src/scripts/condense.ts +25 -31
  849. package/src/scripts/consumer_matrix.ts +61 -3
  850. package/src/scripts/council_availability_hook.ts +12 -4
  851. package/src/scripts/council_cli.ts +48 -38
  852. package/src/scripts/cross_repo_retrieve.ts +9 -72
  853. package/src/scripts/design_lock.ts +106 -0
  854. package/src/scripts/design_slop_rules.ts +30 -0
  855. package/src/scripts/design_sync.ts +264 -0
  856. package/src/scripts/design_system_import.ts +30 -13
  857. package/src/scripts/dispatch_economy_report.ts +46 -1
  858. package/src/scripts/dispatch_r2_reviewer.ts +41 -5
  859. package/src/scripts/egress_canary.ts +166 -0
  860. package/src/scripts/egress_sender_census.ts +101 -0
  861. package/src/scripts/external_sources_denylist.json +94 -12
  862. package/src/scripts/generate_catalog.ts +6 -2
  863. package/src/scripts/generate_owned_digest.ts +163 -0
  864. package/src/scripts/generate_reference_toc.ts +143 -0
  865. package/src/scripts/generate_subagent_floor.ts +11 -1
  866. package/src/scripts/handoff_context_hook.ts +34 -0
  867. package/src/scripts/hook_carrier_census.ts +263 -0
  868. package/src/scripts/hook_chunks.d.mts +12 -0
  869. package/src/scripts/hook_chunks.mjs +114 -0
  870. package/src/scripts/hook_manifest.json +1 -1
  871. package/src/scripts/hook_manifest.yaml +65 -42
  872. package/src/scripts/hooks/block_config_weakening.ts +127 -3
  873. package/src/scripts/hooks/block_credential_reads.ts +165 -0
  874. package/src/scripts/hooks/block_no_verify.ts +47 -23
  875. package/src/scripts/hooks/block_speaking_inbox_dir.ts +38 -7
  876. package/src/scripts/hooks/category_a.ts +202 -25
  877. package/src/scripts/hooks/concern_failure_policy.ts +6 -6
  878. package/src/scripts/hooks/concern_registry.ts +31 -6
  879. package/src/scripts/hooks/concern_registry_types.ts +11 -0
  880. package/src/scripts/hooks/delegation_nudge_hook.ts +105 -15
  881. package/src/scripts/hooks/design_pass_hook.ts +42 -10
  882. package/src/scripts/hooks/dispatch_hook.ts +13 -12
  883. package/src/scripts/hooks/egress_engine_loader.ts +125 -0
  884. package/src/scripts/hooks/egress_stage.ts +440 -0
  885. package/src/scripts/hooks/hook_stdin.ts +29 -4
  886. package/src/scripts/hooks/host_docs_pages.ts +194 -0
  887. package/src/scripts/hooks/host_docs_pages.yaml +75 -0
  888. package/src/scripts/hooks/host_lowering.json +1 -1
  889. package/src/scripts/hooks/host_lowering.yaml +22 -21
  890. package/src/scripts/hooks/host_rate_marker_hook.ts +73 -0
  891. package/src/scripts/hooks/instructions_observer_hook.ts +170 -0
  892. package/src/scripts/hooks/interruption_ledger_hook.ts +1 -1
  893. package/src/scripts/hooks/lazy_concern.ts +148 -0
  894. package/src/scripts/hooks/orchestration_record_hook.ts +80 -2
  895. package/src/scripts/hooks/payload_stub.ts +16 -6
  896. package/src/scripts/hooks/permission_gate.ts +7 -7
  897. package/src/scripts/hooks/push_settle_hook.ts +32 -3
  898. package/src/scripts/hooks/replay_hook.ts +43 -0
  899. package/src/scripts/hooks/reread_guard_hook.ts +87 -10
  900. package/src/scripts/hooks/rtk_wrap_hook.ts +4 -3
  901. package/src/scripts/hooks/rule_inject_hook.ts +8 -1
  902. package/src/scripts/hooks/session_eol_hook.ts +48 -1
  903. package/src/scripts/hooks/source_first_gate_hook.ts +6 -8
  904. package/src/scripts/hooks/spawn_guard_shadow_hook.ts +203 -10
  905. package/src/scripts/hooks/state_io.ts +2 -2
  906. package/src/scripts/hooks/svg_obligation.ts +75 -19
  907. package/src/scripts/hooks/tool_result_bytes_hook.ts +14 -5
  908. package/src/scripts/hooks/turn_end_gate_hook.ts +1 -1
  909. package/src/scripts/hooks/ui_route_nudge_hook.ts +2 -12
  910. package/src/scripts/hooks_doctor.ts +31 -0
  911. package/src/scripts/hooks_status.ts +58 -3
  912. package/src/scripts/inbox_source_census.ts +74 -13
  913. package/src/scripts/install +25 -3
  914. package/src/scripts/install.ts +60 -91
  915. package/src/scripts/interruption_report.ts +11 -1
  916. package/src/scripts/layer_baseline_report.ts +267 -0
  917. package/src/scripts/learning_sidecar.ts +1 -1
  918. package/src/scripts/lint_agents_layout.ts +3 -0
  919. package/src/scripts/lint_blocker_citations.ts +104 -0
  920. package/src/scripts/lint_breaking_changes_index.ts +40 -7
  921. package/src/scripts/lint_consolidation_lineage.ts +144 -16
  922. package/src/scripts/lint_consumer_internal_refs.ts +90 -42
  923. package/src/scripts/lint_context_spine_usage.ts +21 -0
  924. package/src/scripts/lint_design_antipattern_parity.ts +39 -7
  925. package/src/scripts/lint_evidence_artifacts.ts +31 -0
  926. package/src/scripts/lint_example_fences.ts +11 -2
  927. package/src/scripts/lint_ghostwriter_source.ts +42 -10
  928. package/src/scripts/lint_hook_manifest.ts +94 -0
  929. package/src/scripts/lint_marketplace_install_completeness.ts +4 -0
  930. package/src/scripts/lint_mcp_config_security.ts +9 -11
  931. package/src/scripts/lint_plan_risk_register.ts +28 -1
  932. package/src/scripts/lint_positioning.ts +4 -4
  933. package/src/scripts/lint_provenance.ts +1 -0
  934. package/src/scripts/lint_roadmap_blockers.ts +65 -4
  935. package/src/scripts/lint_roadmap_complexity.ts +98 -0
  936. package/src/scripts/lint_skill_link_reach.ts +251 -9
  937. package/src/scripts/lint_skill_procedures.ts +252 -0
  938. package/src/scripts/lint_skill_scripts_readonly.ts +12 -1
  939. package/src/scripts/lint_subagent_determinism.ts +14 -1
  940. package/src/scripts/lint_ticked_unmet_criteria.ts +300 -21
  941. package/src/scripts/mcp_registry_submit.sh +2 -2
  942. package/src/scripts/mcp_server/consumer_tool_catalog.json +4 -4
  943. package/src/scripts/mcp_server/suggest_skill.ts +89 -4
  944. package/src/scripts/mcp_server/tools.ts +2 -33
  945. package/src/scripts/measure_skill_ranker_baseline.ts +203 -5
  946. package/src/scripts/measure_turn_end_gate.ts +61 -1
  947. package/src/scripts/merge_clearance.ts +225 -0
  948. package/src/scripts/migrate_command_suggestions.ts +1 -1
  949. package/src/scripts/network_sources.ts +236 -0
  950. package/src/scripts/no_go_deny_rows.ts +225 -0
  951. package/src/scripts/orchestration_record.ts +15 -2
  952. package/src/scripts/plan_test_shards.ts +103 -0
  953. package/src/scripts/pr_url_reminder_hook.ts +10 -0
  954. package/src/scripts/print_required_checks.ts +5 -5
  955. package/src/scripts/probe_depth_shadow.ts +406 -0
  956. package/src/scripts/probe_turnaround.ts +342 -10
  957. package/src/scripts/ratification_subject.ts +176 -0
  958. package/src/scripts/rdp_gate_classify.ts +1 -0
  959. package/src/scripts/rdp_quality_eval.ts +1 -0
  960. package/src/scripts/release.ts +26 -55
  961. package/src/scripts/release_drill.ts +52 -23
  962. package/src/scripts/release_env.ts +37 -0
  963. package/src/scripts/release_publication.ts +11 -1
  964. package/src/scripts/report_consumer_gate_reach.ts +233 -0
  965. package/src/scripts/report_merge_gate_load.ts +295 -0
  966. package/src/scripts/report_project_contract.ts +123 -0
  967. package/src/scripts/report_reducible_classes.ts +342 -0
  968. package/src/scripts/report_required_checks_drift.ts +5 -3
  969. package/src/scripts/report_skill_host_census.ts +199 -0
  970. package/src/scripts/report_standing_payload_by_host.ts +7 -7
  971. package/src/scripts/retro.ts +758 -0
  972. package/src/scripts/retro_facts.ts +575 -0
  973. package/src/scripts/retro_queue.ts +739 -0
  974. package/src/scripts/retro_session_facts.ts +218 -0
  975. package/src/scripts/retro_sweep.ts +493 -0
  976. package/src/scripts/retro_triage.ts +126 -0
  977. package/src/scripts/roadmap_context.ts +2 -2
  978. package/src/scripts/roadmap_drain_queue.ts +601 -0
  979. package/src/scripts/run_supervise.ts +24 -2
  980. package/src/scripts/schemas/agent-settings.schema.json +0 -16
  981. package/src/scripts/schemas/command.schema.json +3 -3
  982. package/src/scripts/schemas/review-findings.schema.json +8 -0
  983. package/src/scripts/schemas/skill.schema.json +7 -6
  984. package/src/scripts/schemas/subagent.schema.json +33 -2
  985. package/src/scripts/score_skill_selection.ts +5 -2
  986. package/src/scripts/second_brain_retrieval.ts +1 -0
  987. package/src/scripts/second_brain_run.ts +1 -0
  988. package/src/scripts/self_repair_cli.ts +563 -87
  989. package/src/scripts/self_review_gate.ts +59 -4
  990. package/src/scripts/session_register_hook.ts +91 -4
  991. package/src/scripts/sessions_cli.ts +100 -5
  992. package/src/scripts/skill_collision_clusters.ts +1 -1
  993. package/src/scripts/skill_tools/score_skill_relevance.ts +31 -2
  994. package/src/scripts/skill_trigger_eval.ts +4 -2
  995. package/src/scripts/source_adapters.ts +183 -0
  996. package/src/scripts/step_receipt.ts +100 -0
  997. package/src/scripts/sync_pr_branch.ts +4 -0
  998. package/src/scripts/test_council_qualification.ts +1 -1
  999. package/src/scripts/trigger_eval_grandfather.json +3 -49
  1000. package/src/scripts/trigger_eval_rotation.ts +31 -3
  1001. package/src/scripts/ui_conformance_probe.ts +405 -1
  1002. package/src/scripts/update_counts.ts +230 -11
  1003. package/src/scripts/update_invite_hook.ts +245 -0
  1004. package/src/scripts/update_notice_hook.ts +298 -0
  1005. package/src/scripts/validate_frontmatter.ts +85 -0
  1006. package/src/scripts/worker_reuse_shadow_report.ts +121 -0
  1007. package/src/scripts/worktree_cleanup_check.ts +915 -121
  1008. package/src/server/io/yamlIO.ts +2 -2
  1009. package/src/server/schemas/settings.ts +37 -23
  1010. package/src/shared/brandTokenDocument.ts +46 -0
  1011. package/src/shared/brandTokenPaths.ts +43 -0
  1012. package/src/shared/settingsCarveOut.ts +0 -8
  1013. package/src/shared/skillRanking.ts +106 -5
  1014. package/src/shared/userMd/formAdapter.ts +15 -1
  1015. package/src/shared/userMd/schema.ts +22 -0
  1016. package/src/templates/agent-user.md +4 -0
  1017. package/src/templates/agent-user.yml +4 -0
  1018. package/dist/cli-delegate/chunk-4DBG5K7M.js +0 -1123
  1019. package/dist/cli-delegate/chunk-523HCFYO.js +0 -90
  1020. package/dist/cli-delegate/chunk-AL3RZ22D.js +0 -74
  1021. package/dist/cli-delegate/chunk-KB5FZ655.js +0 -208
  1022. package/dist/cli-delegate/chunk-MDPPKQCQ.js +0 -875
  1023. package/dist/cli-delegate/chunk-OAFSJBHH.js +0 -272
  1024. package/dist/ui/assets/index-C3djEJah.js +0 -23
  1025. package/src/scripts/_lib/continuation_ladder.ts +0 -335
  1026. package/src/scripts/hooks/run_continuation_hook.ts +0 -1524
@@ -155,7 +155,7 @@ gate fires later).
155
155
  ### 4c. Autonomy-first — zero human gates by default
156
156
 
157
157
  Canonical rule:
158
- [`templates/roadmaps.md` rule 22](../../agent-src/templates/roadmaps.md).
158
+ [`templates/roadmaps.md` rule 22](../../templates/roadmaps.md).
159
159
  Default human-checkpoint count: **zero**. Every step is
160
160
  agent-executable — `- [ ] User verifies X` steps and "Review /
161
161
  Sign-off" phases are authoring bugs; replace each with an
@@ -190,8 +190,8 @@ seven fields of rule 20), never a stray "blocked on X" sentence. Write it so
190
190
  the owner can decide in one sitting: one option named and why, what the delay
191
191
  costs, a command or path per option rather than prose, and an offer to walk
192
192
  them through it. Ratcheted by `lint_roadmap_blockers`. Full shape:
193
- [`templates/roadmaps.md` rule 20](../../agent-src/templates/roadmaps.md).
194
- Omit it entirely when there is no such gate; run the § 4c gate-test first. A **hold** is the publication-side twin — a blocker stops execution, a hold stops publication; ask once whether an intermediate tree state must stay unpublished (default **no**; roadmap incompleteness never is one), walk `re-sequence → guard → hold`, and record the avoided outcome as well as the taken one, per [`templates/roadmaps.md` rule 28](../../agent-src/templates/roadmaps.md) and the § 5c self-check in [`/roadmap:create`](../../domains/product-basic/roadmap/create/command.md).
193
+ [`templates/roadmaps.md` rule 20](../../templates/roadmaps.md).
194
+ Omit it entirely when there is no such gate; run the § 4c gate-test first. A **hold** is the publication-side twin — a blocker stops execution, a hold stops publication; ask once whether an intermediate tree state must stay unpublished (default **no**; roadmap incompleteness never is one), walk `re-sequence → guard → hold`, and record the avoided outcome as well as the taken one, per [`templates/roadmaps.md` rule 28](../../templates/roadmaps.md) and the § 5c self-check in [`/roadmap:create`](../../domains/product-basic/roadmap/create/command.md).
195
195
 
196
196
  ### 5c. Risk review (Gate R1) — after draft, before save
197
197
 
@@ -265,7 +265,7 @@ integrate don't dump), resolve contested design in the council *first*
265
265
  then author, encode the decision so it survives (Council notes +
266
266
  neutral-descriptor Provenance + memory lock), and make "integration, not
267
267
  dump" a testable acceptance criterion. Full four-move detail →
268
- [`roadmap-writing-source-derived`](../../agent-src/contexts/execution/roadmap-writing-source-derived.md).
268
+ [`roadmap-writing-source-derived`](../../contexts/execution/roadmap-writing-source-derived.md).
269
269
 
270
270
  ## Output format
271
271
 
@@ -83,7 +83,7 @@ rtk docker compose ps # compact container status
83
83
  completeness-critical commands).
84
84
 
85
85
  Installation and one-time setup are owned by
86
- [`/onboard`](../../commands/onboard.md). If the user asks to install rtk
86
+ the setup wizard (`agent-config setup`). If the user asks to install rtk
87
87
  outside onboarding, follow the Installation section below and set
88
88
  `personal.rtk_installed: true` on success.
89
89
 
@@ -150,8 +150,7 @@ invoke [`rule-refactor`](../rule-refactor/SKILL.md). Do NOT:
150
150
  do its job, the rule is right and the rule set around it is wrong.
151
151
  * Raise `FAIL_THRESHOLD` in `scripts/measure_augment_budget.ts` —
152
152
  threshold-lift is explicitly forbidden (see the
153
- [`validation-budget`](../../rules/validation-budget.md) rule and
154
- the `rule-refactor` Iron Law).
153
+ [`rule-refactor`](../rule-refactor/SKILL.md) Iron Law).
155
154
  * Promote an always-rule to auto to dodge the cap if the rule's
156
155
  semantics require always-on visibility — that breaks the rule, not
157
156
  the budget.
@@ -7,13 +7,26 @@ workspaces:
7
7
  - engineering
8
8
  packs:
9
9
  - engineering-base
10
+ triggers:
11
+ - phrase: "password reset"
12
+ - phrase: "email verification"
13
+ - phrase: "sign up"
14
+ - phrase: "social login"
15
+ - keyword: "login"
16
+ - keyword: "registration"
17
+ - phrase: "session id"
18
+ - phrase: "session cookie"
19
+ - keyword: "logout"
20
+ - keyword: "mfa"
21
+ - keyword: "passkey"
22
+ - keyword: "oauth"
10
23
  ---
11
24
 
12
25
  # security
13
26
 
14
27
  ## When to use
15
28
 
16
- Use when implementing authentication, authorization, or any security-sensitive functionality.
29
+ Use when implementing authentication, authorization, or other security-sensitive work.
17
30
 
18
31
  Do NOT use when:
19
32
 
@@ -55,18 +68,41 @@ The procedure below is stack-agnostic. For framework-specific primitives (Larave
55
68
  ### Step 3: Review for adversarial
56
69
 
57
70
  For security-sensitive changes, run [`adversarial-review`](../adversarial-review/SKILL.md).
58
- Focus on: attack surface, trusting user input, authorization gaps.
71
+ Focus: attack surface, trusted user input, authz gaps.
59
72
 
60
73
  ## Conventions
61
74
 
62
75
  → For PHP / Laravel specifics (auth helpers, mass assignment, Blade escaping, CSRF middleware): see guideline `docs/guidelines/php/security.md`.
63
76
  → For other stacks, follow the framework's hardening guide and the carve-outs above.
64
77
 
78
+ ### Account flows — the whole lifecycle, not just the login
79
+
80
+ Sign-up, verification, reset, credential and email change, MFA, federated
81
+ sign-in and logout are one surface. Before judging any of them, trace the path:
82
+ input → identity lookup → verification → secret handling → state change →
83
+ session → response.
84
+
85
+ - A public auth response is an **observable contract**, not an error string:
86
+ status, body category, redirect and cookies must not differ between a known
87
+ and an unknown identity, and the verifier path runs for both.
88
+ - Compare every secret with the library's constant-time primitive, and respect
89
+ that primitive's length precondition. Never a general-purpose fast hash for a
90
+ password. Never an invented token, one-time code or salt scheme.
91
+ - Changing an identity — address, phone, password, factor, passkey, recovery
92
+ codes, a linked provider — needs fresh re-authentication and a notice on the
93
+ channel that was already verified.
94
+
95
+ Ground the specifics before enumerating from memory: the account-lifecycle
96
+ failure classes, their required controls and their negative tests live in
97
+ [`threat-modeling`](../threat-modeling/SKILL.md)'s corpus under the
98
+ `authentication` surface class. Every numeric value in them defers to the
99
+ external authority named in the block below.
100
+
65
101
  ### Crypto, password storage, certificates — route, do not guess
66
102
 
67
103
  This skill carries no cryptographic parameter, key size, work factor, cipher
68
104
  suite, or TLS version floor: such a value is authoritative-looking long after it stops
69
- being true. Take it from <https://cheatsheetseries.owasp.org/> at the moment you
105
+ being true. Take it from <https://cheatsheetseries.owasp.org/> when you
70
106
  need it — never from memory, never from this file. Rationale and reopening
71
107
  condition: [ADR-238](../../../docs/decisions/ADR-238-security-content-routes-to-external-authority.md).
72
108
 
@@ -75,7 +111,7 @@ condition: [ADR-238](../../../docs/decisions/ADR-238-security-content-routes-to-
75
111
  - Verify all user input is validated at the boundary via the framework's primitive — never trust raw request data.
76
112
  - Confirm an authorization check exists for every state-changing action.
77
113
  - Check that no raw user input reaches SQL, HTML output, shell commands, or template renderers without escaping.
78
- - Run the project's type-checker — must pass (catches type-safety issues that enable injection).
114
+ - Run the project's type-checker — must pass (type errors can enable injection).
79
115
 
80
116
  ## Output format
81
117
 
@@ -85,7 +121,7 @@ condition: [ADR-238](../../../docs/decisions/ADR-238-security-content-routes-to-
85
121
  ## Gotcha
86
122
 
87
123
  - Validation ensures format, not intent — don't trust input after validation alone.
88
- - "Throw" vs "boolean" authz APIs behave differently (`Gate::authorize()` throws vs `Gate::allows()` returns bool in Laravel; `CanActivate` in NestJS throws; FastAPI dependencies throw `HTTPException`). Pick based on how the framework expects failure to surface.
124
+ - "Throw" vs "boolean" authz APIs behave differently (`Gate::authorize()` throws vs `Gate::allows()` returns bool in Laravel; `CanActivate` in NestJS throws; FastAPI dependencies throw `HTTPException`). Pick per how the framework surfaces failure.
89
125
  - Rate-limit ALL public endpoints, not just login.
90
126
  - Never log passwords, tokens, or API keys.
91
127
 
@@ -243,7 +243,9 @@ finding never silently becomes a hard gate. Both halves, specified in
243
243
  Language agents that reinforce from verbal self-reflection on past
244
244
  trials. This pipeline adapts Reflexion by gating promotion with a
245
245
  review step — learnings only harden into rules/skills after explicit
246
- approval, never auto-commit: for a proposal scoped to the package, on
247
- the AI council's ratification record (user as last rung, ADR-281); for
248
- a change a user asked for, on that user's approval.
246
+ approval, never auto-commit: for a proposal scoped to the package, a
247
+ digest-bound AI council record is the required **review** and the owner's
248
+ authenticated authorization is the **approval**, with a council refusal
249
+ failing closed (ADR-281 as amended 2026-10-07); for a change a user asked
250
+ for, on that user's approval.
249
251
 
@@ -93,7 +93,7 @@ The highest-signal content in a skill. Documents failure patterns.
93
93
 
94
94
  Skill exceeds size limits (see `docs/guidelines/agent-infra/size-and-scope.md`).
95
95
 
96
- **Check:** Review at >400 lines. Strongly consider split at >1200 words / >1500 words.
96
+ **Check:** Review at >400 lines. A word count alone is no split reason — split only material consulted on demand, or a procedure handed out in order (`skill-writing` § Progressive disclosure).
97
97
  **Fix:** Extract reference tables, templates, and examples into separate files
98
98
  in the skill folder, or split by responsibility.
99
99
 
@@ -101,7 +101,7 @@ Do NOT create a skill or rule for:
101
101
 
102
102
  → See `docs/guidelines/agent-infra/size-and-scope.md` for full limits.
103
103
 
104
- * Target: 300–900 words. Review for split above 1200 words. Strongly consider split above 1500 words.
104
+ * Target: 300–900 words. A word or line count is never by itself a reason to split — § Progressive disclosure says when to.
105
105
  * Over the 400-line K6 cap → the **router-head contract** in `templates/skill.md`
106
106
  applies: entry head (when-to-use · mode table · routing) plus one `tasks/` or
107
107
  `references/` file per mode, and the head never inlines more than one mode's
@@ -119,21 +119,36 @@ named one; the split cost a rename, not a decision.
119
119
 
120
120
  * **Body:** the trigger, the workflow, the ownership statement, and every
121
121
  heuristic that changes a write decision. A skill whose body is a map to its
122
- own content is loaded and not applied.
122
+ own content is loaded and not applied. So a split head keeps every such
123
+ heuristic and all five required sections (`When to use`, `Gotcha`,
124
+ `Procedure`, `Output format`, `Do NOT`); only step execution moves out.
123
125
  * **`references/`:** corpora, lookup tables, long schemas, worked examples —
124
126
  read on the path that needs them, never on every activation.
125
127
 
126
- Splitting is not a size escape hatch. The measured estate (n=289, 2026-08-12):
127
- median 1,077 words, p90 1,867, **only 6 skills above 2,500 and 4 above 3,000**.
128
- So a skill at 1,500 words is ordinary, and moving prose out of the body to hit
129
- a number makes it worse. Split when the material is genuinely
130
- consulted-on-demand; keep the load-bearing part in the body even when that
131
- leaves the file long.
128
+ Split for one of two reasons only: the material is genuinely consulted on
129
+ demand, or a procedure needs to be handed out in order. Never split to hit a
130
+ number. The measured estate (n=289, 2026-08-12): median 1,077 words, p90 1,867,
131
+ **only 6 skills above 2,500 and 4 above 3,000** — a skill at 1,500 words is
132
+ ordinary, and the load-bearing part stays in the body even when that leaves the
133
+ file long.
132
134
 
133
135
  A `references/` split does not change the gates that already apply: a
134
136
  `token_budget_class: rich` skill still meets its 3,500-token ceiling on the
135
137
  body alone.
136
138
 
139
+ ### Four words: reference, co-requirement, procedure, chain
140
+
141
+ * A **reference** is context loaded on demand from the skill's own
142
+ `references/`. It stays one level deep: a reference file links no sibling
143
+ reference of its own skill, so the head reaches every one.
144
+ `lint_skill_link_reach` holds today's sibling links as a shrink-only ratchet.
145
+ * **`requires_skills`** is co-availability — the named skill ships wherever this
146
+ one does. It states no order.
147
+ * A **procedure** is the ordered steps of one skill. Held as data, it is a
148
+ sidecar beside `SKILL.md` that names only files of the same skill.
149
+ * A **chain between skills** is not supported (the skill-DAG lock, ADR-263).
150
+ Prose such as "then invoke X" is a hint to the reader, not a chain link.
151
+
137
152
  ## Modes
138
153
 
139
154
  This skill is a router head. The decision layer above — what goes where, the
@@ -1,5 +1,23 @@
1
1
  # skill-writing — section patterns
2
2
 
3
+ <!-- reference-toc:start (generated by generate_reference_toc — do not edit) -->
4
+ **Contents**
5
+
6
+ - [Description-optimizer loop (U1 — held-out, not vibes)](#description-optimizer-loop-u1--held-out-not-vibes)
7
+ - [Self-QA loop for output-producing skills (optional pattern)](#self-qa-loop-for-output-producing-skills-optional-pattern)
8
+ - [Known-pitfalls section (optional pattern, tool skills)](#known-pitfalls-section-optional-pattern-tool-skills)
9
+ - [Rationalizations-to-reject section (recommended pattern, security-stop-routed skills)](#rationalizations-to-reject-section-recommended-pattern-security-stop-routed-skills)
10
+ - [Non-negotiable-deliverable section (recommended pattern, adjacent-technology clusters)](#non-negotiable-deliverable-section-recommended-pattern-adjacent-technology-clusters)
11
+ - [Destructive-operation gates belong in the description](#destructive-operation-gates-belong-in-the-description)
12
+ - [Upstream-version-notes section (optional pattern, wrapped fast-moving tools)](#upstream-version-notes-section-optional-pattern-wrapped-fast-moving-tools)
13
+ - [Security-constraints section (required pattern, script-bearing skills)](#security-constraints-section-required-pattern-script-bearing-skills)
14
+ - [Action-reference split (required pattern, safety_mode: strict skills)](#action-reference-split-required-pattern-safety_mode-strict-skills)
15
+ - [Mechanism-teaching section (optional pattern, skills whose subject has one)](#mechanism-teaching-section-optional-pattern-skills-whose-subject-has-one)
16
+ - [Illustrative-not-verbatim marker (optional pattern, reference code)](#illustrative-not-verbatim-marker-optional-pattern-reference-code)
17
+ - [Headline metric + closing report (optional pattern, optimization skills)](#headline-metric--closing-report-optional-pattern-optimization-skills)
18
+ - [Contrastive-example slot (optional pattern, authoring and behavior skills)](#contrastive-example-slot-optional-pattern-authoring-and-behavior-skills)
19
+ <!-- reference-toc:end -->
20
+
3
21
  > Mode body of the [`skill-writing`](../SKILL.md) skill (router-head
4
22
  > retrofit, 2026-08-20). Content moved VERBATIM from SKILL.md — load this
5
23
  > file when the mode table in SKILL.md routes here.
@@ -277,7 +295,7 @@ moves the headline number by degrading something it does not measure is the
277
295
  failure this pattern exists to make visible, and only the author knows where that
278
296
  edge is.
279
297
 
280
- ## Contrastive-example slot (optional pattern, authoring and behaviour skills)
298
+ ## Contrastive-example slot (optional pattern, authoring and behavior skills)
281
299
 
282
300
  Where a skill's guidance is easy to agree with and hard to apply — tone, phrasing,
283
301
  question shape, what counts as evidence — a wrong/right pair does what prose
@@ -16,7 +16,7 @@ rule. Hand-off target from [`think-before-action`](../../rules/think-before-acti
16
16
  when a task touches **external or expensive** structure. Definitions
17
17
  (Evidence Report buckets, provenance, trust tiers, the DB-not-in-codebase
18
18
  boundary, the card-worthiness threshold) live in
19
- [`evidence-discipline`](../../agent-src/contexts/execution/evidence-discipline.md) —
19
+ [`evidence-discipline`](../../contexts/execution/evidence-discipline.md) —
20
20
  read it once; this file is the executable procedure.
21
21
 
22
22
  ## When to use
@@ -165,7 +165,7 @@ bypasses a fresh structural read. A field/endpoint/column/value is still confirm
165
165
  against a live source this session. v2 capture is **write-only into gitignored
166
166
  intake** (the agent may *suggest* a signal, never silently commit); trust and
167
167
  commit are always human-gated. Full model + the three classes + memory tiers:
168
- [`project-intelligence`](../../agent-src/contexts/execution/project-intelligence.md).
168
+ [`project-intelligence`](../../contexts/execution/project-intelligence.md).
169
169
 
170
170
  ## Knowledge capture (`api_shape_learned` / `convention_detected` events)
171
171
 
@@ -184,7 +184,7 @@ npx tsx node_modules/@event4u/agent-config/src/scripts/emit_knowledge_event.ts -
184
184
 
185
185
  `/team-knowledge consolidate` turns accumulated events into
186
186
  `agents/knowledge/concepts/` pages as a reviewed batch — see
187
- [`knowledge-pages`](../../agent-src/templates/contexts/knowledge-pages.md).
187
+ [`knowledge-pages`](../../templates/contexts/knowledge-pages.md).
188
188
 
189
189
  ## Gotchas
190
190
 
@@ -14,8 +14,8 @@ packs:
14
14
 
15
15
  > **Grounded corpus:** tuning decisions (indexes, keyset pagination,
16
16
  > N+1, trigram search, lock contention) ground via the
17
- > [`database`](../database/SKILL.md) corpus — `./scripts-run
18
- > <skills-root>/corpus-grounding/scripts/ground search
17
+ > [`database`](../database/SKILL.md) corpus — `node
18
+ > <skills-root>/corpus-grounding/scripts/ground.mjs search
19
19
  > --manifest <skills-root>/database/data/manifest.json "<symptom>"`.
20
20
 
21
21
  ## When to use
@@ -20,7 +20,7 @@ the config file, and the card only points at it plus distils the 3–5 points an
20
20
  agent needs most while writing.
21
21
 
22
22
  Definitions (Class A/B/C, trust tiers, the v1↔v2 isolation contract) live in
23
- [`evidence-discipline`](../../agent-src/contexts/execution/evidence-discipline.md);
23
+ [`evidence-discipline`](../../contexts/execution/evidence-discipline.md);
24
24
  the parent context mechanism is [`context-document`](../context-document/SKILL.md).
25
25
 
26
26
  ## When to use
@@ -129,6 +129,6 @@ A Class-A standards card MUST contain, in order:
129
129
 
130
130
  ## See also
131
131
 
132
- - [`evidence-discipline`](../../agent-src/contexts/execution/evidence-discipline.md) — Class A/B/C, trust tiers, the isolation contract.
132
+ - [`evidence-discipline`](../../contexts/execution/evidence-discipline.md) — Class A/B/C, trust tiers, the isolation contract.
133
133
  - [`context-document`](../context-document/SKILL.md) — the parent context mechanism + storage locations.
134
134
  - [`source-discovery`](../source-discovery/SKILL.md) — v1 structural discovery (read fresh; Class A never bypasses it).
@@ -151,6 +151,11 @@ rather than reporting zero violations — an unrun check and a clean check produ
151
151
  number and mean opposite things.
152
152
 
153
153
  **One finding is decidable without a browser**, and it ships beside this skill:
154
+
155
+ ```bash
156
+ node <skills-root>/storybook-workshop/scripts/story_contrast_floor.mjs <story-file> […]
157
+ ```
158
+
154
159
  `scripts/story_contrast_floor.ts` computes the WCAG 2.1 contrast ratio between two colours a
155
160
  story *declares in its own args* and emits the same `(rule, selector, severity)` shape. It is
156
161
  **not axe** and not a substitute for § Validate — it sees no rendered page, so role, focus,
@@ -0,0 +1,99 @@
1
+ // src/skills/storybook-workshop/scripts/story_contrast_floor.ts
2
+ import * as fs from "node:fs";
3
+ var AA_NORMAL = 4.5;
4
+ var AA_LARGE = 3;
5
+ var clamp01 = (n) => n < 0 ? 0 : n > 1 ? 1 : n;
6
+ var luminance = (hex) => {
7
+ const m = /^#?([0-9a-f]{6}|[0-9a-f]{3})$/i.exec(hex.trim());
8
+ if (m === null) return null;
9
+ let h = m[1];
10
+ if (h.length === 3) h = h.split("").map((c) => `${c}${c}`).join("");
11
+ const channel = (pair) => {
12
+ const v = clamp01(parseInt(pair, 16) / 255);
13
+ return v <= 0.03928 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4;
14
+ };
15
+ const r = channel(h.slice(0, 2));
16
+ const g = channel(h.slice(2, 4));
17
+ const b = channel(h.slice(4, 6));
18
+ return 0.2126 * r + 0.7152 * g + 0.0722 * b;
19
+ };
20
+ var contrastRatio = (fg, bg) => {
21
+ const a = luminance(fg);
22
+ const b = luminance(bg);
23
+ if (a === null || b === null) return null;
24
+ const [hi, lo] = a >= b ? [a, b] : [b, a];
25
+ return (hi + 0.05) / (lo + 0.05);
26
+ };
27
+ var declaredPairs = (source) => {
28
+ const out = [];
29
+ const exportRe = /export\s+const\s+([A-Za-z0-9_]+)\s*:[^=]*=\s*\{([\s\S]*?)\n\};/g;
30
+ for (const m of source.matchAll(exportRe)) {
31
+ const story = m[1];
32
+ const body = m[2];
33
+ const fg = /(?:color|fg|foreground)\s*:\s*['"](#[0-9a-fA-F]{3,6})['"]/.exec(body);
34
+ const bg = /(?:background|bg|backgroundColor)\s*:\s*['"](#[0-9a-fA-F]{3,6})['"]/.exec(body);
35
+ if (fg?.[1] !== void 0 && bg?.[1] !== void 0) {
36
+ out.push({ story, fg: fg[1], bg: bg[1] });
37
+ }
38
+ }
39
+ return out;
40
+ };
41
+ var checkStoryFile = (file, floor = AA_NORMAL) => {
42
+ let source = "";
43
+ try {
44
+ source = fs.readFileSync(file, "utf8");
45
+ } catch {
46
+ return [];
47
+ }
48
+ const out = [];
49
+ for (const { story, fg, bg } of declaredPairs(source)) {
50
+ const ratio = contrastRatio(fg, bg);
51
+ if (ratio === null || ratio >= floor) continue;
52
+ out.push({
53
+ rule: "color-contrast",
54
+ // The story is the addressable unit here — there is no DOM to select into.
55
+ selector: `story:${story}`,
56
+ severity: "error",
57
+ ratio: Math.round(ratio * 100) / 100
58
+ });
59
+ }
60
+ return out;
61
+ };
62
+ var selfTest = () => {
63
+ let failed = 0;
64
+ const check = (label, cond) => {
65
+ if (!cond) {
66
+ process.stderr.write(`\u274C ${label}
67
+ `);
68
+ failed += 1;
69
+ }
70
+ };
71
+ const r = contrastRatio("#000000", "#ffffff");
72
+ check("black on white is the maximum 21:1", r !== null && Math.abs(r - 21) < 0.01);
73
+ check("a colour on itself is 1:1", Math.abs((contrastRatio("#777777", "#777777") ?? 0) - 1) < 0.01);
74
+ check("an unreadable colour is null, not 0", contrastRatio("nope", "#fff") === null);
75
+ check("shorthand hex is expanded", contrastRatio("#000", "#fff") !== null);
76
+ process.stdout.write(failed === 0 ? "\u2705 story_contrast_floor: self-test passed\n" : `\u274C ${String(failed)} failure(s)
77
+ `);
78
+ return failed === 0 ? 0 : 1;
79
+ };
80
+ var main = () => {
81
+ const argv = process.argv.slice(2);
82
+ if (argv.includes("--self-test")) return selfTest();
83
+ const files = argv.filter((a) => !a.startsWith("--"));
84
+ const violations = files.flatMap((f) => checkStoryFile(f));
85
+ process.stdout.write(`${JSON.stringify({ violations }, null, 2)}
86
+ `);
87
+ return violations.length > 0 ? 1 : 0;
88
+ };
89
+ if (process.argv[1] !== void 0 && process.argv[1].includes("story_contrast_floor")) {
90
+ process.exit(main());
91
+ }
92
+ export {
93
+ AA_LARGE,
94
+ AA_NORMAL,
95
+ checkStoryFile,
96
+ contrastRatio,
97
+ declaredPairs,
98
+ luminance
99
+ };
@@ -116,9 +116,9 @@ Rules:
116
116
  continues the parent's task under identical tools and constraints (it then
117
117
  reads the parent's cache on its first request); a named subagent is
118
118
  preferred the moment isolation, a different tool set, or nested dispatch is
119
- needed — a fork cannot nest, and forking forces background mode, which
120
- changes the tool set and invalidates the very prefix that motivated the
121
- fork. `do-in-parallel`-shaped fan-out from one parent has this shape by
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](../../agent-src/contexts/execution/subagent-modes-detail.md).
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`](../../agent-src/contexts/execution/subagent-topologies.md) —
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](../../agent-src/contexts/execution/subagent-modes-detail.md) —
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`](../../agent-src/contexts/execution/subagent-modes-detail.md) § Mode 7.
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`](../../agent-src/contexts/execution/subagent-modes-detail.md) § Mode 8.
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`](../../agent-src/contexts/execution/subagent-modes-detail.md) § Mode 9
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](../../agent-src/contexts/execution/subagent-modes-detail.md).
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](../../agent-src/contexts/execution/subagent-modes-detail.md));
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](../../agent-src/contexts/execution/orchestration-telemetry.md).
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`](../../agent-src/contexts/execution/subagent-configuration.md) |
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, and forking forces background mode, which
97
- changes the tool set and therefore invalidates the very prefix that
98
- motivated the fork in the first place. Never default to "always fork": that
96
+ dispatch — a fork cannot nest. Forking forces background mode, which does
97
+ not cost the prefix where the host row says `fork_shares_cache: true` (on
98
+ Claude Code 2.1.302 a background fork read 99.8 % of its first call from the
99
+ parent's cache and kept the parent's tool pool); elsewhere it is unobserved. Never default to "always fork": that
99
100
  option was considered and cut ([`../SKILL.md`](../SKILL.md) § Form gate)
100
101
  precisely because the cache-sharing benefit cannot be predicted before the
101
102
  fork happens, and background mode can erase it outright.
@@ -174,7 +174,11 @@ nobody is still trying to match. Stop reporting it as progress and say why.
174
174
  traced silhouette that clips everything, then named regions split along an
175
175
  edge map; smooth, resample and simplify each contour. The outer edge comes
176
176
  from one contour and the holes come from the source. That trace is the
177
- underlay; the shapes you ship are constructed on top of it.
177
+ underlay; the shapes you ship are constructed on top of it. **A shape with
178
+ counters** (o, e, a, B, 8, an O-ring mark) declares its `fill-rule`, winds
179
+ its outer and inner contours in opposite directions, and runs overlap removal
180
+ only after both are settled — two same-direction contours under the default
181
+ `nonzero` paint the counter solid.
178
182
  3. **Fit colour, do not pick it.** Least-squares per region against that region's
179
183
  own pixels; swap a linear gradient for a radial one only when the residual
180
184
  actually drops.
@@ -292,6 +296,8 @@ report a non-zero natural width.
292
296
  for the glyph it lacks.
293
297
  - `logo-generation` — the brand pipeline that
294
298
  routes a geometric mark here.
299
+ - `type-design` — "the rest of the alphabet" / "make this a font": a
300
+ wordmark extended into a constructed font, reusing the trace and counter rule.
295
301
  - `image-provider-routing` — illustrative
296
302
  vector art goes to a provider, not here.
297
303
  - `fe-design` § Motion — the motion authority, in
@@ -278,7 +278,7 @@ If the root cause traces to a `agents/knowledge/` page that was
278
278
  followed while implementing (a documented convention was wrong, an
279
279
  API shape page was stale, a procedure was incomplete), append a
280
280
  `mistake_made` event to the knowledge intake — never rewrite the page
281
- mid-task (see [`knowledge-pages`](../../agent-src/templates/contexts/knowledge-pages.md)):
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`](../../agent-src/templates/contexts/knowledge-pages.md)
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 system stack (`font-sans` fallback to Arial / Helvetica / Inter
205
- via system defaults) as the *visible* body face. If `tailwind.config`
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