@event4u/agent-config 7.4.0 → 8.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 (469) hide show
  1. package/.claude-plugin/marketplace.json +11 -1
  2. package/AGENTS.md +9 -9
  3. package/CHANGELOG.md +373 -0
  4. package/README.md +35 -5
  5. package/dist/agent-src/commands/analytics/prune.md +1 -1
  6. package/dist/agent-src/commands/analytics/show.md +1 -1
  7. package/dist/agent-src/commands/analyze/decision.md +2 -2
  8. package/dist/agent-src/commands/analyze/incident.md +2 -2
  9. package/dist/agent-src/commands/analyze/near-miss.md +2 -2
  10. package/dist/agent-src/commands/analyze/postmortem.md +2 -2
  11. package/dist/agent-src/commands/analyze/premortem.md +2 -2
  12. package/dist/agent-src/commands/cost-report.md +25 -0
  13. package/dist/agent-src/commands/evals/analyze.json +30 -0
  14. package/dist/agent-src/commands/evals/mission-upgrade.json +30 -0
  15. package/dist/agent-src/commands/implement-ticket.md +1 -1
  16. package/dist/agent-src/commands/knowledge/forget.md +1 -1
  17. package/dist/agent-src/commands/knowledge/ingest.md +1 -1
  18. package/dist/agent-src/commands/knowledge/list.md +1 -1
  19. package/dist/agent-src/commands/memory/load.md +12 -11
  20. package/dist/agent-src/commands/memory/promote.md +30 -0
  21. package/dist/agent-src/commands/memory/propose.md +16 -2
  22. package/dist/agent-src/commands/mission/upgrade.md +1 -1
  23. package/dist/agent-src/commands/module/explore.md +11 -7
  24. package/dist/agent-src/commands/optimize-project.md +243 -0
  25. package/dist/agent-src/commands/optimize.md +5 -0
  26. package/dist/agent-src/commands/pr/create.md +37 -8
  27. package/dist/agent-src/commands/prediction-pool.md +2 -2
  28. package/dist/agent-src/commands/profile/activate.md +3 -3
  29. package/dist/agent-src/commands/profile/deactivate.md +2 -2
  30. package/dist/agent-src/commands/profile/show.md +3 -3
  31. package/dist/agent-src/commands/research/deep.md +5 -0
  32. package/dist/agent-src/commands/research/report.md +2 -1
  33. package/dist/agent-src/commands/review-changes.md +14 -7
  34. package/dist/agent-src/commands/roadmap/create.md +88 -10
  35. package/dist/agent-src/commands/roadmap/materialize.md +1 -1
  36. package/dist/agent-src/commands/roadmap/process-full.md +15 -2
  37. package/dist/agent-src/commands/roadmap/process-phase.md +18 -6
  38. package/dist/agent-src/commands/roadmap/process-step.md +4 -0
  39. package/dist/agent-src/commands/roadmap.md +1 -1
  40. package/dist/agent-src/commands/security-audit-config.md +1 -1
  41. package/dist/agent-src/commands/sync-agent-settings.md +1 -1
  42. package/dist/agent-src/commands/sync-gitignore/fix.md +42 -6
  43. package/dist/agent-src/commands/team-knowledge/bootstrap.md +106 -0
  44. package/dist/agent-src/commands/team-knowledge/consolidate.md +105 -0
  45. package/dist/agent-src/commands/team-knowledge.md +64 -0
  46. package/dist/agent-src/contexts/authority/commit-mechanics.md +8 -0
  47. package/dist/agent-src/contexts/authority/destructive-mechanics.md +11 -0
  48. package/dist/agent-src/contexts/authority/scope-mechanics.md +25 -0
  49. package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +43 -0
  50. package/dist/agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
  51. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +2 -2
  52. package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -0
  53. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +14 -4
  54. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +11 -0
  55. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +32 -8
  56. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +107 -0
  57. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +71 -15
  58. package/dist/agent-src/contexts/execution/subagent-steering.md +41 -1
  59. package/dist/agent-src/contexts/override-system.md +1 -1
  60. package/dist/agent-src/personas/brand-strategist.md +0 -1
  61. package/dist/agent-src/personas/data-integrity.md +66 -0
  62. package/dist/agent-src/personas/design-director.md +0 -1
  63. package/dist/agent-src/personas/performance-engineer.md +66 -0
  64. package/dist/agent-src/personas/production-validator.md +73 -0
  65. package/dist/agent-src/rules/agent-authority.md +3 -4
  66. package/dist/agent-src/rules/analysis-skill-routing.md +3 -5
  67. package/dist/agent-src/rules/architecture.md +2 -4
  68. package/dist/agent-src/rules/artifact-drafting-protocol.md +35 -6
  69. package/dist/agent-src/rules/artifact-engagement-recording.md +11 -4
  70. package/dist/agent-src/rules/ask-when-uncertain.md +10 -14
  71. package/dist/agent-src/rules/augment-edit-discipline.md +3 -5
  72. package/dist/agent-src/rules/autonomous-execution.md +3 -5
  73. package/dist/agent-src/rules/brand-consistency.md +3 -5
  74. package/dist/agent-src/rules/brand-source-of-truth.md +3 -5
  75. package/dist/agent-src/rules/cli-output-handling.md +4 -6
  76. package/dist/agent-src/rules/command-suggestion-policy.md +3 -5
  77. package/dist/agent-src/rules/commit-conventions.md +3 -5
  78. package/dist/agent-src/rules/commit-policy.md +8 -10
  79. package/dist/agent-src/rules/content-quoting-floor.md +88 -0
  80. package/dist/agent-src/rules/context-hygiene.md +3 -5
  81. package/dist/agent-src/rules/copilot-routing.md +4 -6
  82. package/dist/agent-src/rules/decision-revisit-gate.md +120 -0
  83. package/dist/agent-src/rules/delegation-policy.md +10 -6
  84. package/dist/agent-src/rules/design-fidelity.md +3 -5
  85. package/dist/agent-src/rules/devcontainer-routing.md +4 -6
  86. package/dist/agent-src/rules/direct-answers.md +13 -17
  87. package/dist/agent-src/rules/docker-commands.md +3 -5
  88. package/dist/agent-src/rules/domain-adoption-policy.md +3 -5
  89. package/dist/agent-src/rules/domain-safety-disclaimer.md +3 -5
  90. package/dist/agent-src/rules/domain-safety-pii.md +7 -8
  91. package/dist/agent-src/rules/domain-safety-retention.md +3 -5
  92. package/dist/agent-src/rules/downstream-changes.md +3 -4
  93. package/dist/agent-src/rules/engineering-safety-floor.md +3 -5
  94. package/dist/agent-src/rules/external-reference-deep-dive.md +3 -5
  95. package/dist/agent-src/rules/fast-path-marker-visibility.md +3 -5
  96. package/dist/agent-src/rules/finance-safety-floor.md +3 -6
  97. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -5
  98. package/dist/agent-src/rules/git-history-discipline.md +3 -5
  99. package/dist/agent-src/rules/guidelines.md +2 -4
  100. package/dist/agent-src/rules/icon-consistency.md +4 -5
  101. package/dist/agent-src/rules/image-likeness-and-rights.md +3 -5
  102. package/dist/agent-src/rules/improve-before-implement.md +5 -5
  103. package/dist/agent-src/rules/invite-challenge.md +3 -5
  104. package/dist/agent-src/rules/language-and-tone.md +13 -15
  105. package/dist/agent-src/rules/laravel-routing.md +3 -5
  106. package/dist/agent-src/rules/laravel-translations.md +3 -5
  107. package/dist/agent-src/rules/legal-safety-floor.md +5 -7
  108. package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -5
  109. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +4 -7
  110. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -5
  111. package/dist/agent-src/rules/markdown-safe-codeblocks.md +2 -4
  112. package/dist/agent-src/rules/media-governance-routing.md +3 -5
  113. package/dist/agent-src/rules/media-sync-ground-truth.md +3 -5
  114. package/dist/agent-src/rules/minimal-safe-diff.md +5 -5
  115. package/dist/agent-src/rules/missing-tool-handling.md +3 -5
  116. package/dist/agent-src/rules/model-recommendation.md +4 -6
  117. package/dist/agent-src/rules/no-attribution-footers.md +3 -5
  118. package/dist/agent-src/rules/no-cheap-questions.md +5 -8
  119. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +3 -6
  120. package/dist/agent-src/rules/no-pr-progress-comments.md +3 -6
  121. package/dist/agent-src/rules/no-roadmap-references.md +3 -5
  122. package/dist/agent-src/rules/non-destructive-by-default.md +11 -13
  123. package/dist/agent-src/rules/notes-first-reasoning.md +3 -5
  124. package/dist/agent-src/rules/onboarding-gate.md +4 -6
  125. package/dist/agent-src/rules/output-discipline.md +3 -5
  126. package/dist/agent-src/rules/package-ci-checks.md +3 -5
  127. package/dist/agent-src/rules/persona-governance.md +2 -4
  128. package/dist/agent-src/rules/php-coding.md +3 -5
  129. package/dist/agent-src/rules/preservation-guard.md +2 -4
  130. package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -5
  131. package/dist/agent-src/rules/reviewer-awareness.md +5 -6
  132. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +3 -5
  133. package/dist/agent-src/rules/roadmap-progress-sync.md +5 -5
  134. package/dist/agent-src/rules/role-mode-adherence.md +2 -4
  135. package/dist/agent-src/rules/rule-type-governance.md +3 -5
  136. package/dist/agent-src/rules/runtime-safety.md +2 -4
  137. package/dist/agent-src/rules/scope-control.md +10 -11
  138. package/dist/agent-src/rules/security-sensitive-stop.md +4 -5
  139. package/dist/agent-src/rules/size-enforcement.md +2 -4
  140. package/dist/agent-src/rules/skill-improvement-trigger.md +3 -5
  141. package/dist/agent-src/rules/skill-quality.md +3 -5
  142. package/dist/agent-src/rules/slash-command-routing-policy.md +3 -5
  143. package/dist/agent-src/rules/source-confidentiality.md +3 -5
  144. package/dist/agent-src/rules/source-discovery-gate.md +3 -5
  145. package/dist/agent-src/rules/source-of-truth.md +3 -5
  146. package/dist/agent-src/rules/strategy-safety-floor.md +3 -5
  147. package/dist/agent-src/rules/symfony-routing.md +4 -6
  148. package/dist/agent-src/rules/telegraph-speak.md +4 -5
  149. package/dist/agent-src/rules/think-before-action.md +7 -4
  150. package/dist/agent-src/rules/token-budget-discipline.md +29 -5
  151. package/dist/agent-src/rules/token-efficiency.md +3 -5
  152. package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -5
  153. package/dist/agent-src/rules/tool-safety.md +2 -4
  154. package/dist/agent-src/rules/ui-audit-gate.md +3 -6
  155. package/dist/agent-src/rules/untrusted-input-defense.md +11 -10
  156. package/dist/agent-src/rules/upstream-proposal.md +4 -6
  157. package/dist/agent-src/rules/user-interaction.md +7 -5
  158. package/dist/agent-src/rules/user-interrupt-priority.md +17 -8
  159. package/dist/agent-src/rules/verify-before-complete.md +12 -22
  160. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +3 -3
  161. package/dist/agent-src/scripts/update_roadmap_progress.ts +197 -7
  162. package/dist/agent-src/skills/adr-create/SKILL.md +52 -42
  163. package/dist/agent-src/skills/adversarial-review/SKILL.md +1 -1
  164. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +18 -0
  165. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  166. package/dist/agent-src/skills/ai-council/SKILL.md +14 -1
  167. package/dist/agent-src/skills/blade-ui/SKILL.md +4 -0
  168. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +0 -3
  169. package/dist/agent-src/skills/brand/SKILL.md +1 -1
  170. package/dist/agent-src/skills/brand-identity/SKILL.md +3 -3
  171. package/dist/agent-src/skills/brand-strategy/SKILL.md +1 -1
  172. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +5 -4
  173. package/dist/agent-src/skills/canvas-design/SKILL.md +6 -0
  174. package/dist/agent-src/skills/check-refs/SKILL.md +7 -4
  175. package/dist/agent-src/skills/code-review/SKILL.md +5 -0
  176. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +6 -5
  177. package/dist/agent-src/skills/condense-memory/SKILL.md +11 -11
  178. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  179. package/dist/agent-src/skills/context-document/SKILL.md +17 -0
  180. package/dist/agent-src/skills/corpus-grounding/SKILL.md +3 -3
  181. package/dist/agent-src/skills/decision-record/SKILL.md +6 -0
  182. package/dist/agent-src/skills/decision-review/SKILL.md +5 -3
  183. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +6 -1
  184. package/dist/agent-src/skills/design-intelligence/SKILL.md +45 -2
  185. package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
  186. package/dist/agent-src/skills/design-review/SKILL.md +23 -11
  187. package/dist/agent-src/skills/design-system-capture/SKILL.md +41 -0
  188. package/dist/agent-src/skills/design-system-capture/reference/design-system-json.md +62 -0
  189. package/dist/agent-src/skills/design-tokens/SKILL.md +11 -4
  190. package/dist/agent-src/skills/design-variations/SKILL.md +127 -0
  191. package/dist/agent-src/skills/design-variations/evals/triggers.json +17 -0
  192. package/dist/agent-src/skills/emit-tickets/SKILL.md +4 -4
  193. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +6 -0
  194. package/dist/agent-src/skills/fe-design/SKILL.md +20 -0
  195. package/dist/agent-src/skills/flux/SKILL.md +4 -0
  196. package/dist/agent-src/skills/html-deck/SKILL.md +123 -0
  197. package/dist/agent-src/skills/html-deck/evals/triggers.json +17 -0
  198. package/dist/agent-src/skills/html-deck/templates/deck-shell.html +77 -0
  199. package/dist/agent-src/skills/iconography/SKILL.md +1 -0
  200. package/dist/agent-src/skills/image-editing/evals/triggers.json +13 -13
  201. package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +136 -0
  202. package/dist/agent-src/skills/judge-artifact-completeness/calibration/fixtures.json +149 -0
  203. package/dist/agent-src/skills/judge-artifact-completeness/evals/triggers.json +17 -0
  204. package/dist/agent-src/skills/judge-artifact-completeness/rubrics/architecture-score.json +73 -0
  205. package/dist/agent-src/skills/judge-artifact-completeness/rubrics/pr-review-score.json +65 -0
  206. package/dist/agent-src/skills/judge-artifact-completeness/rubrics/roadmap-score.json +73 -0
  207. package/dist/agent-src/skills/judge-artifact-completeness/rubrics/ticket-quality-score.json +73 -0
  208. package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -0
  209. package/dist/agent-src/skills/judge-injection-defense/SKILL.md +99 -0
  210. package/dist/agent-src/skills/judge-injection-defense/calibration/fixtures.json +24 -0
  211. package/dist/agent-src/skills/judge-injection-defense/evals/triggers.json +17 -0
  212. package/dist/agent-src/skills/judge-injection-defense/fixtures/behavioral-fixtures.json +63 -0
  213. package/dist/agent-src/skills/judge-injection-defense/fixtures/coverage-report.md +53 -0
  214. package/dist/agent-src/skills/judge-injection-defense/fixtures/perturbation-taxonomy.json +110 -0
  215. package/dist/agent-src/skills/judge-synthesis/SKILL.md +134 -0
  216. package/dist/agent-src/skills/judge-synthesis/evals/triggers.json +17 -0
  217. package/dist/agent-src/skills/laravel/SKILL.md +0 -1
  218. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +46 -0
  219. package/dist/agent-src/skills/lint-skills/SKILL.md +6 -6
  220. package/dist/agent-src/skills/logo-generation/SKILL.md +1 -1
  221. package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
  222. package/dist/agent-src/skills/md-language-check/SKILL.md +3 -3
  223. package/dist/agent-src/skills/memory-consolidation/SKILL.md +66 -1
  224. package/dist/agent-src/skills/migration-architect/SKILL.md +1 -0
  225. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +2 -2
  226. package/dist/agent-src/skills/performance-analysis/SKILL.md +2 -0
  227. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +4 -4
  228. package/dist/agent-src/skills/premortem/SKILL.md +0 -3
  229. package/dist/agent-src/skills/project-analysis-core/SKILL.md +16 -0
  230. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +18 -0
  231. package/dist/agent-src/skills/react-shadcn-ui/reference/registry.md +59 -0
  232. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +3 -1
  233. package/dist/agent-src/skills/refine-ticket/SKILL.md +5 -1
  234. package/dist/agent-src/skills/release-comms/SKILL.md +47 -46
  235. package/dist/agent-src/skills/roadmap-management/SKILL.md +25 -0
  236. package/dist/agent-src/skills/roadmap-writing/SKILL.md +33 -3
  237. package/dist/agent-src/skills/root-cause-frameworks/SKILL.md +0 -3
  238. package/dist/agent-src/skills/script-writing/SKILL.md +1 -1
  239. package/dist/agent-src/skills/security-audit/SKILL.md +1 -0
  240. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -0
  241. package/dist/agent-src/skills/source-discovery/SKILL.md +22 -3
  242. package/dist/agent-src/skills/sql-writing/SKILL.md +1 -1
  243. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +33 -14
  244. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +11 -0
  245. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +8 -0
  246. package/dist/agent-src/skills/systematic-debugging/SKILL.md +30 -1
  247. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +4 -0
  248. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
  249. package/dist/agent-src/skills/threat-modeling/SKILL.md +2 -2
  250. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  251. package/dist/agent-src/skills/typography-system/SKILL.md +4 -3
  252. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +2 -0
  253. package/dist/agent-src/skills/wireframe/SKILL.md +118 -0
  254. package/dist/agent-src/skills/wireframe/evals/triggers.json +17 -0
  255. package/dist/agent-src/templates/agent-settings.md +22 -1
  256. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  257. package/dist/agent-src/templates/command.md +2 -2
  258. package/dist/agent-src/templates/contexts/knowledge-pages.md +116 -0
  259. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +1 -1
  260. package/dist/agent-src/templates/roadmaps.md +70 -2
  261. package/dist/agent-src/templates/rule.md +1 -1
  262. package/dist/agent-src/templates/scripts/README.md +3 -3
  263. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +109 -0
  264. package/dist/agent-src/templates/tickets.md +8 -8
  265. package/dist/cli/commands/recordTriggerEval.test.js +1 -1
  266. package/dist/cli/commands/recordTriggerEval.test.js.map +1 -1
  267. package/dist/cli/initRouting.js +4 -2
  268. package/dist/cli/initRouting.js.map +1 -1
  269. package/dist/cli/registry.js +1 -0
  270. package/dist/cli/registry.js.map +1 -1
  271. package/dist/discovery/deprecation-report.md +1 -1
  272. package/dist/discovery/discovery-manifest.json +802 -258
  273. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  274. package/dist/discovery/discovery-manifest.summary.md +8 -8
  275. package/dist/discovery/orphan-report.md +1 -1
  276. package/dist/discovery/packs.json +46 -28
  277. package/dist/discovery/trust-report.md +12 -11
  278. package/dist/discovery/workspaces.json +32 -18
  279. package/dist/install/preflight.js +173 -0
  280. package/dist/install/preflight.js.map +1 -0
  281. package/dist/mcp/registry-manifest.json +4 -4
  282. package/dist/router.json +1 -1
  283. package/dist/server/routes/settings.js +4 -0
  284. package/dist/server/routes/settings.js.map +1 -1
  285. package/dist/server/schemas/settings.js +6 -1
  286. package/dist/server/schemas/settings.js.map +1 -1
  287. package/docs/CLAIMS.md +108 -0
  288. package/docs/MIGRATION.md +3 -3
  289. package/docs/architecture.md +6 -6
  290. package/docs/benchmark.md +133 -2
  291. package/docs/benchmark.pinned.yml +31 -0
  292. package/docs/capability-matrix.md +1 -0
  293. package/docs/catalog.md +92 -74
  294. package/docs/command-flows.md +16 -4
  295. package/docs/comparison.yaml +35 -0
  296. package/docs/contracts/agents-layout.md +148 -0
  297. package/docs/contracts/brand-token-consumption.md +5 -0
  298. package/docs/contracts/capability-boundary.md +5 -0
  299. package/docs/contracts/command-category-governance.md +5 -0
  300. package/docs/contracts/command-clusters.md +1 -0
  301. package/docs/contracts/command-surface-tiers.md +1 -1
  302. package/docs/contracts/conformance.md +84 -0
  303. package/docs/contracts/creative-pack-boundary.md +5 -0
  304. package/docs/contracts/discovery-manifest.schema.json +5 -4
  305. package/docs/contracts/file-ownership-matrix.json +4605 -985
  306. package/docs/contracts/governance-enforcement-projection.md +5 -0
  307. package/docs/contracts/gui-wizard.md +1 -1
  308. package/docs/contracts/hook-architecture-v1.md +2 -2
  309. package/docs/contracts/implement-ticket-flow.md +1 -1
  310. package/docs/contracts/kernel-membership.md +13 -0
  311. package/docs/contracts/mcp-tool-inventory.md +23 -23
  312. package/docs/contracts/no-runtime-boundary.md +6 -1
  313. package/docs/contracts/review-lens-schema.md +5 -0
  314. package/docs/contracts/rule-router.md +102 -8
  315. package/docs/contracts/skill-bundled-assets.md +1 -1
  316. package/docs/contracts/skill-dry-run.md +1 -1
  317. package/docs/contracts/subagent-boundary.md +5 -0
  318. package/docs/contracts/ticket-bundle-format.md +9 -4
  319. package/docs/contracts/tier-3-contrib-plugin.md +2 -2
  320. package/docs/contracts/write-engine.md +3 -0
  321. package/docs/customization.md +87 -15
  322. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +1 -1
  323. package/docs/decisions/ADR-109-subagent-v1-contract.md +246 -0
  324. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +105 -0
  325. package/docs/decisions/INDEX.md +2 -0
  326. package/docs/distribution/awesome-list-submission.md +46 -0
  327. package/docs/distribution/launch-story-draft.md +58 -0
  328. package/docs/end-to-end-walkthroughs.md +2 -2
  329. package/docs/getting-started.md +2 -2
  330. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +24 -0
  331. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +1 -1
  332. package/docs/guidelines/agent-infra/linked-projects-onboarding-gate.md +2 -2
  333. package/docs/guidelines/agent-infra/missing-tool-handling.md +3 -3
  334. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +2 -2
  335. package/docs/guidelines/augment-portability-patterns.md +1 -1
  336. package/docs/guidelines/code-clarity.md +19 -0
  337. package/docs/guidelines/design-antipatterns-triggers.json +2 -1
  338. package/docs/guidelines/design-antipatterns.md +35 -0
  339. package/docs/guidelines/design-canon.md +62 -0
  340. package/docs/guidelines/design-modes.md +6 -0
  341. package/docs/guidelines/php/general.md +9 -1
  342. package/docs/guidelines/php/php-coding-patterns.md +7 -0
  343. package/docs/guides/cross-repo-retrieval.md +1 -1
  344. package/docs/guides/frontend-design-corpus-refresh.md +2 -2
  345. package/docs/guides/local-analytics.md +4 -4
  346. package/docs/guides/skill-discovery.md +1 -1
  347. package/docs/guides/skill-preview.md +1 -1
  348. package/docs/hook-payload-capture.md +6 -6
  349. package/docs/install-friction-report.md +66 -0
  350. package/docs/installation.md +1 -1
  351. package/docs/maintainers/optional-media-deps.md +50 -0
  352. package/docs/mcp-server.md +11 -12
  353. package/docs/media/proof-demo.cast +14 -0
  354. package/docs/media/proof-demo.gif +0 -0
  355. package/docs/migration/consumer-template-consumption-model.md +1 -1
  356. package/docs/migration/divergences/bench-stats-float-precision.md +1 -1
  357. package/docs/migration/node-floor.md +1 -1
  358. package/docs/migration/yaml-roundtrip-spike.md +1 -1
  359. package/docs/personas.md +16 -5
  360. package/docs/positioning-evidence.md +86 -0
  361. package/docs/proof.md +86 -0
  362. package/docs/skills-catalog.md +1 -1
  363. package/docs/troubleshooting.md +8 -8
  364. package/docs/wedge/production-validator/README.md +57 -0
  365. package/docs/wedge/production-validator/production-validator.md +56 -0
  366. package/docs/wizard.md +2 -2
  367. package/package.json +1 -1
  368. package/src/config/agent-settings.template.yml +71 -4
  369. package/src/config/agents-paths.yml +254 -0
  370. package/src/config/budgets.yml +16 -0
  371. package/src/config/discovery/packs.yml +1 -0
  372. package/src/config/discovery/unassigned-artefacts.yml +2 -0
  373. package/src/config/gitignore-block.txt +25 -0
  374. package/src/config/host-capabilities.yml +31 -0
  375. package/src/config/profiles/balanced.ini +4 -0
  376. package/src/config/profiles/full.ini +4 -0
  377. package/src/config/profiles/minimal.ini +4 -0
  378. package/src/scripts/_cli/cmd_conformance.ts +716 -0
  379. package/src/scripts/_cli/cmd_doctor.ts +23 -2
  380. package/src/scripts/_cli/cmd_fleet.ts +401 -0
  381. package/src/scripts/_cli/cmd_preflight.ts +159 -0
  382. package/src/scripts/_dispatch.bash +10 -0
  383. package/src/scripts/_lib/knowledge_events.ts +193 -0
  384. package/src/scripts/_lib/subagent_steering.ts +115 -3
  385. package/src/scripts/_lib/text_similarity.ts +75 -0
  386. package/src/scripts/ai-video/test-pipeline.sh +1 -1
  387. package/src/scripts/ai_council/clients.ts +19 -3
  388. package/src/scripts/append_contested.ts +112 -0
  389. package/src/scripts/audit_auto_rules.ts +11 -1
  390. package/src/scripts/audit_mcp_tools.ts +25 -11
  391. package/src/scripts/bench_ab_v2_run.ts +527 -40
  392. package/src/scripts/bench_ab_v2_stats.ts +6 -0
  393. package/src/scripts/bench_matrix.ts +266 -0
  394. package/src/scripts/bootstrap_knowledge.ts +267 -0
  395. package/src/scripts/build_discovery_manifest.ts +42 -2
  396. package/src/scripts/build_proof.ts +214 -0
  397. package/src/scripts/check_always_budget.ts +3 -0
  398. package/src/scripts/check_augment_description_cap.ts +2 -2
  399. package/src/scripts/check_claims.ts +270 -0
  400. package/src/scripts/check_comparison.ts +79 -0
  401. package/src/scripts/check_generated_artefact_headers.ts +109 -0
  402. package/src/scripts/check_generator_output_coverage.ts +142 -0
  403. package/src/scripts/check_gitignore_freshness.ts +127 -0
  404. package/src/scripts/check_knowledge_pages.ts +210 -0
  405. package/src/scripts/check_knowledge_sharing.ts +162 -0
  406. package/src/scripts/check_media_deps.ts +91 -0
  407. package/src/scripts/check_memory_contradiction.ts +280 -0
  408. package/src/scripts/check_memory_similarity.ts +134 -0
  409. package/src/scripts/check_quality_regression.ts +56 -10
  410. package/src/scripts/check_references.ts +3 -1
  411. package/src/scripts/check_release_pr_shape.ts +4 -0
  412. package/src/scripts/check_site_links.ts +135 -0
  413. package/src/scripts/check_skill_gaps.ts +99 -0
  414. package/src/scripts/check_token_quality_golden.ts +197 -11
  415. package/src/scripts/check_tracked_but_ignored.ts +67 -0
  416. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  417. package/src/scripts/compile_router.ts +30 -3
  418. package/src/scripts/condense.ts +350 -14
  419. package/src/scripts/consolidate_knowledge_events.ts +192 -0
  420. package/src/scripts/degrade_to_pointer.ts +136 -0
  421. package/src/scripts/design_slop_rules.test.ts +208 -0
  422. package/src/scripts/design_slop_rules.ts +530 -0
  423. package/src/scripts/emit_knowledge_event.ts +158 -0
  424. package/src/scripts/export_replay_corpus.ts +187 -0
  425. package/src/scripts/external_sources_denylist.json +14 -3
  426. package/src/scripts/fold_intake.ts +281 -0
  427. package/src/scripts/generate_capability_matrix.ts +9 -1
  428. package/src/scripts/generate_knowledge_index.ts +222 -0
  429. package/src/scripts/hook_manifest.yaml +40 -17
  430. package/src/scripts/hooks/design_slop_hook.ts +181 -0
  431. package/src/scripts/hooks/dispatch_hook.ts +18 -0
  432. package/src/scripts/hot_context_hook.ts +372 -0
  433. package/src/scripts/install +47 -0
  434. package/src/scripts/install-hooks.sh +17 -0
  435. package/src/scripts/inventory_meta_layers.ts +11 -0
  436. package/src/scripts/janitor.ts +258 -0
  437. package/src/scripts/lint_agent_security.ts +1 -0
  438. package/src/scripts/lint_agents_layout.ts +74 -15
  439. package/src/scripts/lint_bench_ab.ts +4 -1
  440. package/src/scripts/lint_confusables.ts +197 -0
  441. package/src/scripts/lint_design_slop.ts +245 -0
  442. package/src/scripts/lint_featured_skills.ts +0 -0
  443. package/src/scripts/lint_framework_leakage_allowlist.json +26 -3
  444. package/src/scripts/lint_knowledge_scale.ts +250 -0
  445. package/src/scripts/lint_legal_pack.ts +67 -0
  446. package/src/scripts/lint_persona_governance.ts +8 -3
  447. package/src/scripts/lint_regression.ts +15 -0
  448. package/src/scripts/lint_roadmap_blockers.ts +202 -0
  449. package/src/scripts/lint_roadmap_complexity.ts +81 -2
  450. package/src/scripts/lint_subagent_determinism.ts +125 -0
  451. package/src/scripts/measure_augment_budget.ts +46 -6
  452. package/src/scripts/measure_patterns.ts +4 -3
  453. package/src/scripts/measure_skill_reduction.ts +6 -6
  454. package/src/scripts/migration_status.ts +6 -2
  455. package/src/scripts/mine_missing_guardrails.ts +189 -0
  456. package/src/scripts/parity/phase_gate.ts +1 -1
  457. package/src/scripts/parity/replay.ts +21 -0
  458. package/src/scripts/project_thin_rules.ts +120 -16
  459. package/src/scripts/release.ts +39 -1
  460. package/src/scripts/render_benchmark_composite.ts +378 -0
  461. package/src/scripts/roadmap_progress_hook.ts +101 -43
  462. package/src/scripts/schemas/skill.schema.json +27 -0
  463. package/src/scripts/schemas/subagent.schema.json +106 -0
  464. package/src/scripts/skill_linter.ts +1 -0
  465. package/src/scripts/smoke/kernel.sh +5 -4
  466. package/src/scripts/surface-tiers.yml +1 -0
  467. package/src/scripts/sync_gitignore.ts +4 -0
  468. package/src/scripts/update_skill_candidates.ts +172 -0
  469. package/src/scripts/validate_frontmatter.ts +1 -0
@@ -26,6 +26,7 @@ hierarchy, reduced-motion, focus indicator) is in `lint_design_quality`
26
26
  |---|---|---|
27
27
  | **Guidance** | Subjective taste — Visual / Typography / Color / Layout / Copy patterns, override judgment, the originality self-test | this catalog |
28
28
  | **Enforcement** | Objective floors — Q1–Q6 (WCAG contrast, font-size, line-length, reduced-motion, heading hierarchy, focus indicator) as exit-code-2 CI | `lint_design_quality` |
29
+ | **Detection** | Deterministic *aesthetic-tell* flags (P0–P3, rebuttable via DESIGN.md) — the pattern-detectable subset of the entries below | `lint_design_slop` |
29
30
  | **Audit method** | HOW to test WCAG (keyboard nav, ARIA, screen-reader procedures) | `accessibility-auditor` |
30
31
  | **Stack manifestation** | Concrete Tailwind class / hex bans, shadcn defaults | `tailwind-engineer`, `react-shadcn-ui` (per `framework-neutrality-in-generic-skills`) |
31
32
  | **Register** | Brand mode vs product mode — which patterns apply | `docs/guidelines/design-modes.md` |
@@ -34,6 +35,31 @@ This catalog is the canonical *index*; it states the pattern stack-agnostically.
34
35
  The stack-specific bans live in the apply skills and link back here by entry ID.
35
36
  The objective floors are cited from the linter, never re-eyeballed by an agent.
36
37
 
38
+ **Deterministic detector backing** (`lint_design_slop`, dependency-free, zero
39
+ runtime token cost): a pattern-detectable subset of these entries now has a
40
+ deterministic rule that `design-review` cites instead of re-deriving — `V1`,
41
+ `V3`, `V6`, `C2`, `C5`, `T4`, `T6`, `T7`, `L4`, `L8`, `M2`, `M4`, `CP1`, `CP2`,
42
+ `CP5`, plus the **Consistency Locks & layout caps** `V8`, `C6`, `L9`, `L10`
43
+ (rule ids `slop-<id>-*`, registry in `src/scripts/design_slop_rules.ts`). These
44
+ are **flags / rebuttable presumptions**, never hard blocks — a consumer
45
+ `DESIGN.md` that declares the pattern as intentional suppresses the flag. The
46
+ entries needing structural or aesthetic judgment (e.g. `T3` icon-tile stack,
47
+ `L2` three-identical-card grid, `V2` glassmorphism intent, `C7` theme-inversion)
48
+ stay agent-judgment-only and are deliberately **not** in the detector.
49
+
50
+ ### Consistency Locks & layout caps (taste-dials roadmap)
51
+
52
+ Within-project invariants + repetition caps. Override = declare the value in
53
+ `DESIGN.md` (`## Consistency Locks` / a brutalist or uniform-grid style note).
54
+
55
+ | # | Pattern | Why it reads as AI-generated | Override condition |
56
+ |---|---|---|---|
57
+ | V8 | Shape Lock — ≥ 4 distinct corner-radius scales in one surface | A fragmented radius system reads as no shape decision | Declare the radius scale in `DESIGN.md`; a genuine multi-tier scale documents each tier |
58
+ | C6 | Colour Lock — ≥ 3 distinct saturated accent hue families | No single accent identity; reads as default-palette sprawl | Brand genuinely uses a multi-accent system, declared in `DESIGN.md` / `brand-to-tokens` |
59
+ | C7 | Theme inversion — a light island mid-dark surface (or vice versa) not driven by the theme system | Mid-surface inversion breaks the theme rhythm | Intentional inverted callout with a documented reason — **judgment-only**, design-review calls it (deterministic detection is unreliable) |
60
+ | L9 | Section monotony — ≥ 8 sections, < 4 distinct layout families | Uniform section rhythm collapses scannability | Deliberately uniform grid (e.g. a gallery), declared as such |
61
+ | L10 | Zigzag — > 2 consecutive image-left/text-right two-column sections | The alternating-zigzag landing-page tell | A genuinely sequenced walkthrough where alternation aids comprehension |
62
+
37
63
  ---
38
64
 
39
65
  ## Visual
@@ -114,6 +140,7 @@ The objective floors are cited from the linter, never re-eyeballed by an agent.
114
140
  | CP2 | Marketing buzzwords: streamline, empower, supercharge, world-class, enterprise-grade, seamlessly, robust, leverage | These words carry no information; an AI-slop test: replace each with nothing — the sentence still communicates the same thing | No override; if a word can be deleted without loss, delete it |
115
141
  | CP3 | Aphoristic manufactured contrast ("We don't do X. We do Y." / "Not just A, but B.") | A generated sentence rhythm that sounds like brand writing but carries no specificity | Aphoristic copy is legitimate when the contrast reveals a genuine product distinction; test by asking whether the Y side says something concrete |
116
142
  | CP4 | "Theater" framing — copy that announces what the product does without saying how or why | "The platform for modern teams." communicates nothing; it is content-shaped noise | Every tagline must pass the "so what" test: can a skeptic follow it with "but how?" and get a concrete answer? |
143
+ | CP5 | Emoji-decoration in UI markup — 🚀/✅/🎉 prepending headings, buttons, list items, or CTAs (`🚀 Get Started`) | Performative-enthusiasm coating; the default-startup-template tell. No emoji is better than decorative emoji | Brand/`DESIGN.md` declares a systematic emoji strategy, or the emoji is functional (status indicator, category marker tied to real meaning) |
117
144
 
118
145
  ---
119
146
 
@@ -137,6 +164,14 @@ these. The rest are agent self-checks.
137
164
  | Q10 | Body background: avoid OKLCH L 0.84–0.97, C < 0.06 (cream/sand) unless brand-defined | Color space calculation | Agent self-check |
138
165
  | Q11 | Padding floors: ≥ 8px (inline elements), ≥ 16px (card/panel bodies) | Computed padding | Agent self-check |
139
166
  | Q12 | Justified text only with CSS hyphenation (`hyphens: auto`) | Presence of `text-align: justify` without `hyphens` | Agent self-check |
167
+ | Q13 | Outward-artifact hygiene: no system internals — absolute workspace paths, skill/tool names, generator traces, config keys — in comments, metadata, or EXIF of deliverables that leave the workspace (HTML decks, prototypes, exports), unless the user asks for build provenance | Comment/metadata scan of the emitted artifact | Agent self-check |
168
+
169
+ Q13 is **output hygiene only** — it never restricts chat-side transparency to
170
+ the operator (what skills/tools ran stays fully answerable in conversation).
171
+ Converged via council (claude-sonnet-4-5 + gpt-4o, 2026-07-06): shared floor
172
+ here, referenced by artifact-producing skills, deliberately not a PII-rule
173
+ extension. Deterministic detection in `lint_design_slop` (path/trace grep) is
174
+ possible but deferred until a real incident.
140
175
 
141
176
  ---
142
177
 
@@ -0,0 +1,62 @@
1
+ # Design Canon — named-systems grounding index
2
+
3
+ > Lazy-loaded reference. Pull this when a brief names (or a project's
4
+ > `components.json`/deps signal) a published design system, type, or colour
5
+ > reference — so the design is **grounded in named canon**, not improvised.
6
+ > Used by `design-intelligence`; cross-linked from `typography-system`,
7
+ > `iconography`, `design-tokens`, `brand-to-tokens`, `icon-consistency`.
8
+
9
+ This is a thin **index** — names, one-line summaries, and a "pull this when"
10
+ trigger. It deliberately does **not** bundle the multi-megabyte specs; fetch
11
+ the live spec only when the trigger fires (the canonical URLs below are the
12
+ fetch targets). Precedence (per `brand-source-of-truth`): **consumer brand
13
+ tokens > confirmed session decisions > named canon (this index) > generated
14
+ corpus.** Canon is a gap-filler, never an override of a registered brand value.
15
+
16
+ ## Design systems
17
+
18
+ | System | Signature traits (one-line) | Pull this when |
19
+ |---|---|---|
20
+ | **Material 3** (Google) | Dynamic colour from a seed (HCT), tonal palettes, elevation by tint not shadow, expressive motion (emphasized easing). | brief says "Material" / "Android"; deps `@mui/material`, `@angular/material`, `react-native-paper`. Spec: m3.material.io |
21
+ | **Apple HIG** | Platform-native clarity/deference/depth, SF type + Dynamic Type, system materials/vibrancy, restrained motion, large touch targets. | brief targets iOS/iPadOS/macOS/visionOS, "native Apple feel". Spec: developer.apple.com/design |
22
+ | **Fluent 2** (Microsoft) | Neutral-forward, acrylic/reveal materials, Segoe/Fluent type ramp, depth via subtle shadow, enterprise density. | brief says "Fluent"/"Windows"/"Office"; deps `@fluentui/*`. Spec: fluent2.microsoft.design |
23
+ | **Carbon** (IBM) | 2px grid, IBM Plex type, strong data-viz system, productive vs expressive themes, accessibility-first. | brief says "Carbon"/"IBM"/data-heavy enterprise; deps `@carbon/*`. Spec: carbondesignsystem.com |
24
+ | **Ant Design** | Dense enterprise/admin, comprehensive component set, token-based theming (v5), wireframe-driven. | brief says "Ant"/admin console/CRUD-heavy; deps `antd`. Spec: ant.design |
25
+ | **Atlassian** | Product-suite consistency, ADS tokens, calm neutral + bold primary, strong empty/loading patterns. | brief says "Atlassian"/Jira-like; deps `@atlaskit/*`. Spec: atlassian.design |
26
+
27
+ Grounding rule: surface the matching one-liner, then **offer to pull the live
28
+ spec** before committing to the system's conventions. Never reproduce a brand
29
+ book's marks; ground against the *system's* documented principles.
30
+
31
+ ## Typography craft (foundry + theory)
32
+
33
+ A one-line index — point `typography-system` here; do not inline the content.
34
+
35
+ - **Theory:** Butterick's *Practical Typography* (practicaltypography.com — line-length, measure, hierarchy rules), *Thinking with Type*.
36
+ - **Calibration / "in use":** Typewolf, Fonts In Use (real pairings, not defaults).
37
+ - **Quality foundries** (beyond the AI-default fonts the anti-slop catalog T7 flags): Klim, Lineto, Colophon, Commercial Type, Grilli Type; libre: League of Movable Type, Google Fonts (chosen deliberately, not reflexively).
38
+ - Pull when: a brief calls for a distinctive type voice, or to escape the Inter/Roboto/Geist default.
39
+
40
+ ## Colour references
41
+
42
+ Names + when-to-use — not the palettes themselves.
43
+
44
+ - **Accessibility / contrast:** WCAG contrast checkers (e.g. APCA, WebAIM) — verify text/non-text contrast (ties to `lint_design_quality` Q1 + anti-slop C4). Pull on any colour decision that must clear AA.
45
+ - **Culturally-specific palettes:** Nippon Colors (traditional Japanese), Chinese Colors — pull when the brand/audience is culturally situated and a Western default palette would read as generic.
46
+ - **Systematic palette tools:** the design systems above ship their own token palettes — prefer the system's palette over an ad-hoc picker when a system is in play.
47
+
48
+ ## Icon systems
49
+
50
+ Each design system ships a matching icon set — prefer it when that system is in
51
+ play (consistency over novelty, per `icon-consistency`): **Material Symbols**
52
+ (Material 3, variable weight/fill/grade), **SF Symbols** (Apple HIG, weight-
53
+ matched to SF text), **Fluent UI System Icons** (Fluent), **Carbon icons**
54
+ (Carbon). Outside a named system, the `iconography` skill resolves a single
55
+ Iconify set (Lucide / Phosphor / Heroicons / Tabler) — pick one and stay in it.
56
+ Pull when: choosing or auditing an icon library.
57
+
58
+ ## See also
59
+
60
+ - `docs/guidelines/design-antipatterns.md` — the anti-slop catalog (T7 default-font tell, C1/C5 palette tells) this canon helps you escape.
61
+ - `brand-source-of-truth` / `brand-consistency` — the precedence this index obeys.
62
+ - `design-intelligence` — the consumer that surfaces these on a brief signal.
@@ -89,6 +89,12 @@ not minimal white, not brutalist → everyone picks terminal dark").
89
89
 
90
90
  **Both modes:** `design-antipatterns` (always pull), `design-review` (with anti-slop check)
91
91
 
92
+ **Exploration front-ends (either mode, before committing):**
93
+ `wireframe` (lo-fi structure exploration, disposable greyscale) →
94
+ `design-variations` (3+ substantive hi-fi options, basic→bold, single file
95
+ with tweak controls). Decks are their own medium → `html-deck`
96
+ (fixed-canvas slides), not the responsive-UI routing above.
97
+
92
98
  ## See also
93
99
 
94
100
  - `docs/guidelines/design-antipatterns.md` — the slop-tell catalog; brand mode especially needs this
@@ -77,7 +77,15 @@ $data = ['id' => 1, 'name' => 'John'];
77
77
  createUser(...$data);
78
78
  ```
79
79
 
80
- ## DocBlocks
80
+ ## Comments and DocBlocks
81
+
82
+ A code comment earns its place only by stating a constraint the code
83
+ cannot show — a non-obvious invariant, a workaround for a known bug, a
84
+ hidden dependency. Never write comments that narrate ("added for X",
85
+ "this calls Y"), repeat the next line, or justify the change to the
86
+ reviewer. Full clause: [`code-clarity.md § Comment discipline`](../code-clarity.md#comment-discipline--state-a-constraint-not-a-narration).
87
+
88
+ DocBlocks:
81
89
 
82
90
  - **Only** use DocBlocks to explain complex logic or when type hints are insufficient
83
91
  - **Must** add DocBlock for iterable types: `@param array<int, MyObject> $items`
@@ -55,6 +55,13 @@ Default: `getters_setters`. See the `eloquent` skill for the full reference tabl
55
55
  - Always write tests in **Pest**, not PHPUnit class syntax — unless the user explicitly asks for PHPUnit.
56
56
  - Pest tests in `tests/Unit/` automatically use `UnitTestCase` as the base class (configured in `tests/Pest.php`).
57
57
 
58
+ ## Code comments
59
+
60
+ A code comment earns its place only by stating a constraint the code
61
+ cannot show. Never write comments that narrate, repeat the next line,
62
+ or justify the change to the reviewer. Full clause:
63
+ [`code-clarity.md § Comment discipline`](../code-clarity.md#comment-discipline--state-a-constraint-not-a-narration).
64
+
58
65
  ## PHPDoc
59
66
 
60
67
  - Only add PHPDoc when type hints are insufficient (e.g. generic arrays: `@param array<int, MyObject> $items`).
@@ -27,7 +27,7 @@ siblings you have not decided on yet. A sibling only becomes reachable once you
27
27
  Under the hood:
28
28
 
29
29
  ```bash
30
- python3 scripts/cross_repo_retrieve.py "OrderApiContract" [--path-scope 'src/*.ts'] [--max-chunks 8]
30
+ ./scripts-run src/scripts/cross_repo_retrieve "OrderApiContract" [--path-scope 'src/*.ts'] [--max-chunks 8]
31
31
  ```
32
32
 
33
33
  You get a bounded table — `source_repo · path · freshness · why` — drawn only from opted-in
@@ -28,9 +28,9 @@ recall/precision must be re-measured.
28
28
  2. **Run the live trigger-eval** (token spend — interactive, gated):
29
29
 
30
30
  ```bash
31
- task setup-evals # once: bootstrap .venv with the pinned anthropic SDK
31
+
32
32
  task install-anthropic-key # once: install ~/.event4u/agent-config/anthropic.key
33
- .venv/bin/python3 src/scripts/skill_trigger_eval.py \
33
+ ./scripts-run src/scripts/skill_trigger_eval \
34
34
  --skill <skill> --output /tmp/<skill>-eval.json
35
35
  ```
36
36
 
@@ -47,14 +47,14 @@ response bodies).
47
47
 
48
48
  ```bash
49
49
  # Render the last 30 days as markdown
50
- python3 packages/core/installer/python/workspace_analytics.py show
50
+ ./agent-config analytics show
51
51
 
52
52
  # Last 24 h, JSON
53
- python3 packages/core/installer/python/workspace_analytics.py show \
53
+ ./agent-config analytics show \
54
54
  --window 24h --format json
55
55
 
56
56
  # Filter to one role
57
- python3 packages/core/installer/python/workspace_analytics.py show \
57
+ ./agent-config analytics show \
58
58
  --role tradesperson --format csv
59
59
  ```
60
60
 
@@ -108,7 +108,7 @@ rm -rf ~/.event4u/agent-config/workspace/analytics/
108
108
  Or prune the rolling window manually:
109
109
 
110
110
  ```bash
111
- python3 packages/core/installer/python/workspace_analytics.py prune
111
+ ./agent-config analytics prune
112
112
  # → pruned 47 event(s)
113
113
  ```
114
114
 
@@ -19,7 +19,7 @@ up `roles.active_role` from `.agent-settings.yml`.
19
19
  Under the hood the command runs:
20
20
 
21
21
  ```bash
22
- python3 scripts/skill_discovery.py --role sales
22
+ ./scripts-run src/scripts/skill_discovery --role sales
23
23
  ```
24
24
 
25
25
  ## 2. Read the `why` column
@@ -48,7 +48,7 @@ This skill will walk these steps:
48
48
  - Write the standard template
49
49
  - Regenerate the index
50
50
 
51
- Declared command: `python3 scripts/adr/regenerate_index.py`
51
+ Declared command: `./scripts-run src/scripts/adr/regenerate_index`
52
52
  ```
53
53
 
54
54
  Add `--technical` for the raw frontmatter + numbered step list.
@@ -26,7 +26,7 @@ cd /path/to/agent-config
26
26
  # Confirm the dispatcher is wired in this project (idempotent — safe to rerun).
27
27
  # Replace <platform> with cursor / cline / windsurf / gemini as appropriate
28
28
  # when you reach that platform's section.
29
- python3 scripts/install.py --<platform>
29
+ npx @event4u/agent-config install --<platform>
30
30
 
31
31
  # Confirm the trampoline + project-scope hooks file landed.
32
32
  ./agent-config hooks:status | grep -E "^[ ✓✅⚠️❌·] (cursor|cline|windsurf|gemini)"
@@ -71,7 +71,7 @@ archive conversations.
71
71
 
72
72
  ### Cursor (~5 min)
73
73
 
74
- - **Install:** `python3 scripts/install.py --cursor` (project) or
74
+ - **Install:** `npx @event4u/agent-config install --cursor` (project) or
75
75
  `--cursor-user-hooks` (covers every project you open).
76
76
  - **Restart:** quit Cursor (Cmd+Q on macOS), then relaunch from the
77
77
  shell where you exported `AGENT_HOOK_CAPTURE_DIR` so the env var
@@ -89,7 +89,7 @@ archive conversations.
89
89
 
90
90
  ### Cline (~5 min)
91
91
 
92
- - **Install:** `python3 scripts/install.py --cline` (project) or
92
+ - **Install:** `npx @event4u/agent-config install --cline` (project) or
93
93
  `--cline-user-hooks` (user-scope, covers every workspace).
94
94
  - **Restart:** in VS Code or JetBrains, run "Developer: Reload
95
95
  Window" (Cmd+Shift+P) from a terminal where the env is exported.
@@ -108,7 +108,7 @@ archive conversations.
108
108
 
109
109
  ### Windsurf (~5 min)
110
110
 
111
- - **Install:** `python3 scripts/install.py --windsurf` (project) or
111
+ - **Install:** `npx @event4u/agent-config install --windsurf` (project) or
112
112
  `--windsurf-user-hooks` (user-scope at `~/.codeium/windsurf/hooks.json`).
113
113
  - **Restart:** quit Cascade fully, then relaunch from the shell with
114
114
  the env exported. The `pre_user_prompt` event fires on every turn —
@@ -126,7 +126,7 @@ archive conversations.
126
126
 
127
127
  ### Gemini CLI (~5 min)
128
128
 
129
- - **Install:** `python3 scripts/install.py --gemini` (project) or
129
+ - **Install:** `npx @event4u/agent-config install --gemini` (project) or
130
130
  `--gemini-user-hooks` (user-scope at `~/.gemini/settings.json`).
131
131
  - **Restart:** Gemini CLI is invoked per command — no daemon to
132
132
  restart. Just open a new shell with `AGENT_HOOK_CAPTURE_DIR`
@@ -179,7 +179,7 @@ After pasting and flipping the checkbox:
179
179
  ./scripts-run src/scripts/check_portability
180
180
 
181
181
  # Tests still green.
182
- python3 -m pytest tests/hooks/ -q
182
+ node node_modules/.bin/vitest run tests/scripts/hooks/ -q
183
183
 
184
184
  # Optional: regenerate the dashboard if the archived roadmap's
185
185
  # checkbox change should bubble up. Iron Law from
@@ -0,0 +1,66 @@
1
+ ---
2
+ status: template — awaiting sessions (no real data yet)
3
+ study: install-friction (B9)
4
+ recruits_target: 3
5
+ ---
6
+
7
+ # Install-friction report (B9)
8
+
9
+ > **Template — not yet run.** This file carries the Gate-C read for the wedge
10
+ > install. It holds **no real data** until ≥ 3 external Laravel/TS developers
11
+ > have completed the study per
12
+ > [`agents/recruit-sessions/_install-friction-runbook.md`](../agents/recruit-sessions/_install-friction-runbook.md).
13
+ > Do not cite the placeholder numbers below as findings.
14
+
15
+ ## What this measures
16
+
17
+ Can an external developer — not on the maintainer team, no prior exposure —
18
+ install the `production-validator` wedge and reach first value (a real verdict
19
+ on their own code) in **< 60 s**, unaided, without abandoning? That is the
20
+ Gate-C signal. Method: observed, timed, wedge-only (see the runbook).
21
+
22
+ ## Per-recruit results
23
+
24
+ > One row per recruit. `TTFV` = time-to-first-value in seconds ("—" if
25
+ > abandoned). `outcome` ∈ completed · completed-with-rescue · abandoned.
26
+ > Real names never appear (R1/R2/R3); raw notes stay private with the recording.
27
+
28
+ | recruit | stack | TTFV (s) | outcome | abandonment point | top friction |
29
+ |---|---|---|---|---|---|
30
+ | R1 | _tbd_ | _tbd_ | _tbd_ | _tbd_ | _tbd_ |
31
+ | R2 | _tbd_ | _tbd_ | _tbd_ | _tbd_ | _tbd_ |
32
+ | R3 | _tbd_ | _tbd_ | _tbd_ | _tbd_ | _tbd_ |
33
+
34
+ ## Aggregate
35
+
36
+ | metric | value | Gate-C threshold |
37
+ |---|---|---|
38
+ | Median TTFV | _tbd_ s | ≤ 60 s |
39
+ | Abandonment rate | _tbd_ % | ≤ 20 % |
40
+ | Clean completions (no rescue) | _tbd_ / _n_ | — |
41
+
42
+ ## Top-3 friction points
43
+
44
+ > Ranked by how many recruits hit each. Each cites the redacted verbatim moment
45
+ > that named it (timestamp against the private recording).
46
+
47
+ 1. _tbd_ — hit by _N_/_n_ recruits. Quote: _tbd_. Fix: _tbd_.
48
+ 2. _tbd_
49
+ 3. _tbd_
50
+
51
+ ## Gate-C verdict
52
+
53
+ ```
54
+ PASS ⇔ median TTFV ≤ 60 s AND abandonment rate ≤ 20 %.
55
+ FAIL → iterate on the wedge install before finalizing C2. Do not ship a failed wedge.
56
+ ```
57
+
58
+ - **Verdict:** _tbd (PASS / FAIL)_ — filled once the aggregate is real.
59
+ - On **FAIL**, the top-3 friction points above are the exact iteration targets;
60
+ re-run the study after the fix. A failed gate is a finding, not a stopper.
61
+
62
+ ## Provenance
63
+
64
+ - Protocol: [`agents/recruit-sessions/_install-friction-runbook.md`](../agents/recruit-sessions/_install-friction-runbook.md).
65
+ - Consent + redaction: [`agents/recruit-sessions/README.md`](../agents/recruit-sessions/README.md) § "Consent + redaction policy".
66
+ - Recordings + raw per-recruit notes: private (not in-repo), per the redaction policy.
@@ -681,7 +681,7 @@ Options:
681
681
  ```
682
682
 
683
683
  The underlying stages keep their own CLI surfaces:
684
- `bash scripts/install.sh --help` and `python3 scripts/install.py --help`.
684
+ `bash scripts/install.sh --help` and `npx @event4u/agent-config install --help`.
685
685
 
686
686
  ---
687
687
 
@@ -0,0 +1,50 @@
1
+ # Optional media tooling (B8 recorded demos)
2
+
3
+ The package ships **no bundled binaries** and never installs system tools
4
+ silently (`missing-tool-handling`). A small set of tools is *optional* — needed
5
+ only for the B8 recorded proof-page demos, not for day-to-day maintenance.
6
+ Install them **on demand**, when the check tells you to.
7
+
8
+ ## The tools
9
+
10
+ | Tool | What it does |
11
+ |---|---|
12
+ | `asciinema` | Records a terminal session to a compact `.cast` file (timestamped JSON of what was typed + printed). Replayable / embeddable — no backend, fits the no-runtime floor. |
13
+ | `agg` | Converts a `.cast` → animated GIF (asciinema's gif generator), for embedding a short run on the proof page. |
14
+
15
+ ## When you need them
16
+
17
+ - Only for **B8** — recording a real wedge / skill run for the proof page.
18
+ - Once B8 lands, its falsifiability lock regenerates each recording **in CI from
19
+ a real run**, so the CI job (and any maintainer refreshing a demo) needs them.
20
+ - Nothing else in the suite uses terminal recording — this is not a daily tool.
21
+
22
+ ## Check before recording (never a silent install)
23
+
24
+ ```bash
25
+ task check-media-deps
26
+ ```
27
+
28
+ It detects `asciinema` + `agg`, and if either is missing prints the exact
29
+ platform install command and exits non-zero — the same detect-and-instruct
30
+ shape as the docker check in `taskfiles/mcp.yml`. It never installs anything
31
+ for you.
32
+
33
+ ## Install (only when the check asks)
34
+
35
+ | Platform | Command |
36
+ |---|---|
37
+ | macOS | `brew install asciinema agg` |
38
+ | Linux | `pipx install asciinema` · `cargo install --locked agg` (or a release binary) |
39
+ | Other | see each tool's own install docs |
40
+
41
+ ## Why not auto-install with the maintainer package
42
+
43
+ Three reasons the base setup does **not** pull these in:
44
+
45
+ 1. **The suite's own floor** (`missing-tool-handling`) forbids silent system-binary installs — detect + prompt only.
46
+ 2. **Cross-platform fragility + surface** — `asciinema` (brew / pipx) and `agg` (brew / cargo / release binary) install differently per OS; a config package that brings in system binaries on setup is invasive.
47
+ 3. **YAGNI** — a single, gated feature does not justify a base-setup dependency.
48
+
49
+ The `check-media-deps` gate gives every maintainer the same on-demand path
50
+ without any of the above — which is exactly what "install on demand" means here.
@@ -44,7 +44,7 @@ task mcp:setup # maintainer / dev repo
44
44
  ./agent-config mcp:setup # consumer projects (uses the package CLI wrapper)
45
45
  ```
46
46
 
47
- Either form creates `.venv-mcp/` (Python 3.11+), installs the `mcp` SDK, and
47
+ Either form verifies that `tsx` + the server module are present and
48
48
  prints the client config snippet. Run once per checkout.
49
49
 
50
50
  If you do not have `task` or the CLI wrapper available:
@@ -60,8 +60,8 @@ task mcp:run # maintainer / dev repo
60
60
  ./agent-config mcp:run # consumer projects
61
61
  ```
62
62
 
63
- Both forms launch `python -m scripts.mcp_server` over stdio against the
64
- local `.venv-mcp/`. Use these for ad-hoc smoke tests; long-running clients
63
+ Both forms launch the TypeScript MCP server over stdio via `tsx`. Use these for
64
+
65
65
  (Claude Desktop, Cursor, Zed, Continue) launch the server themselves via
66
66
  the config snippets below.
67
67
 
@@ -76,8 +76,8 @@ or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
76
76
  {
77
77
  "mcpServers": {
78
78
  "agent-config": {
79
- "command": "/absolute/path/to/agent-config/.venv-mcp/bin/python",
80
- "args": ["-m", "scripts.mcp_server"],
79
+ "command": "/absolute/path/to/agent-config/node_modules/.bin/tsx",
80
+ "args": ["/absolute/path/to/agent-config/src/scripts/mcp_server/__main__.ts"],
81
81
  "cwd": "/absolute/path/to/agent-config"
82
82
  }
83
83
  }
@@ -95,8 +95,8 @@ appear under the connector dropdown.
95
95
  {
96
96
  "mcpServers": {
97
97
  "agent-config": {
98
- "command": "/absolute/path/to/agent-config/.venv-mcp/bin/python",
99
- "args": ["-m", "scripts.mcp_server"],
98
+ "command": "/absolute/path/to/agent-config/node_modules/.bin/tsx",
99
+ "args": ["/absolute/path/to/agent-config/src/scripts/mcp_server/__main__.ts"],
100
100
  "cwd": "/absolute/path/to/agent-config"
101
101
  }
102
102
  }
@@ -112,8 +112,8 @@ appear under the connector dropdown.
112
112
  "context_servers": {
113
113
  "agent-config": {
114
114
  "command": {
115
- "path": "/absolute/path/to/agent-config/.venv-mcp/bin/python",
116
- "args": ["-m", "scripts.mcp_server"]
115
+ "path": "/absolute/path/to/agent-config/node_modules/.bin/tsx",
116
+ "args": ["/absolute/path/to/agent-config/src/scripts/mcp_server/__main__.ts"]
117
117
  },
118
118
  "settings": {}
119
119
  }
@@ -128,8 +128,8 @@ appear under the connector dropdown.
128
128
  ```yaml
129
129
  mcpServers:
130
130
  - name: agent-config
131
- command: /absolute/path/to/agent-config/.venv-mcp/bin/python
132
- args: ["-m", "scripts.mcp_server"]
131
+ command: /absolute/path/to/agent-config/node_modules/.bin/tsx
132
+ args: [/absolute/path/to/agent-config/src/scripts/mcp_server/__main__.ts]
133
133
  cwd: /absolute/path/to/agent-config
134
134
  ```
135
135
 
@@ -149,7 +149,6 @@ boots cleanly:
149
149
  | Symptom | Fix |
150
150
  |---|---|
151
151
  | Client shows no prompts | Confirm the `cwd` points at the repo root (where `dist/agent-src/` lives), not at `scripts/`. |
152
- | `ModuleNotFoundError: mcp` | Re-run `task mcp:setup`. The MCP runtime is isolated in `.venv-mcp/` — the project's base Python 3.9 deliberately does not see it. |
153
152
  | Stale prompts after editing | Hot-reload triggers on mtime; touch the file or reissue `resources/list`. |
154
153
  | Client refuses to start the server | Check the client's log for the full command. Most clients require **absolute** paths in `command` and `cwd`. |
155
154
 
@@ -0,0 +1,14 @@
1
+ {"version":3,"term":{"cols":80,"rows":24},"timestamp":1783261474,"command":"bash internal/demo/proof-demo-commands.sh","env":{"SHELL":"/bin/zsh"}}
2
+ [0.007, "o", "\r\n\u001b[1;36m$ task check-claims # every public claim binds to resolvable evidence\u001b[0m\r\n"]
3
+ [0.360, "o", "\u001b[32m ✓ pass\u001b[0m\r\n\r\n"]
4
+ [0.000, "o", "\u001b[1;36m$ task check-refs # no broken internal references\u001b[0m\r\n"]
5
+ [0.445, "o", "\u001b[32m ✓ pass\u001b[0m\r\n"]
6
+ [0.000, "o", "\r\n\u001b[1;36m$ task check-skill-gaps # every known-limit cites a real witness test\u001b[0m\r\n"]
7
+ [0.399, "o", "\u001b[32m ✓ pass\u001b[0m\r\n"]
8
+ [0.000, "o", "\r\n\u001b[1;36m$ task check-comparison # every comparison-table pointer resolves\u001b[0m\r\n"]
9
+ [0.359, "o", "\u001b[32m ✓ pass\u001b[0m\r\n"]
10
+ [0.001, "o", "\r\n\u001b[1;36m$ task build-proof-check # the proof page is in sync with its sources\u001b[0m\r\n"]
11
+ [0.399, "o", "\u001b[32m ✓ pass\u001b[0m\r\n"]
12
+ [0.000, "o", "\r\n"]
13
+ [0.000, "o", "\u001b[1;32m✓ trust surface verified — reproduce any line on a fresh checkout.\u001b[0m\r\n"]
14
+ [0.000, "x", "0"]
Binary file
@@ -1,6 +1,6 @@
1
1
  # Consumer Template Consumption Model
2
2
 
3
- > Phase 1 Step 11 of `agents/roadmaps/road-to-typescript-only-scripts.md`.
3
+ > Phase 1 Step 11 of `agents/roadmaps/archive/road-to-typescript-only-scripts.md`.
4
4
  > Question: how does `dist/agent-src/templates/scripts/` content reach a consumer
5
5
  > project — copied, referenced in place, or symlinked — and what does that mean
6
6
  > for the Phase 9 TS migration of the consumer-shipped scripts?
@@ -52,7 +52,7 @@ to Python's exact-Fraction path.
52
52
  A full byte-identical fix requires replicating Python's `statistics._ss`
53
53
  exact-`Fraction` summation in TS (BigInt-rational arithmetic) across the
54
54
  shared bench-stats helpers. That is tracked as a follow-up
55
- (`agents/roadmaps/road-to-typescript-only-scripts.md`, bench-stats
55
+ (`agents/roadmaps/archive/road-to-typescript-only-scripts.md`, bench-stats
56
56
  exact-fraction parity); it is non-trivial and out of scope for the sync that
57
57
  surfaced it.
58
58
 
@@ -1,6 +1,6 @@
1
1
  # Node Floor Audit
2
2
 
3
- > Phase 1 Step 12 of `agents/roadmaps/road-to-typescript-only-scripts.md`.
3
+ > Phase 1 Step 12 of `agents/roadmaps/archive/road-to-typescript-only-scripts.md`.
4
4
  > Decision: which Node.js floor the TS-only script suite supports, where it is
5
5
  > enforced, and what CI tests.
6
6
 
@@ -1,6 +1,6 @@
1
1
  # YAML Round-Trip Spike — Verdict
2
2
 
3
- > Phase 1 Step 7 of `agents/roadmaps/road-to-typescript-only-scripts.md`.
3
+ > Phase 1 Step 7 of `agents/roadmaps/archive/road-to-typescript-only-scripts.md`.
4
4
  > Originally framed as a "ruamel.yaml → npm `yaml`" risk. The survey below
5
5
  > shows that framing was wrong: there is **no ruamel usage anywhere** — the
6
6
  > comment-preserving round-trip layer is `src/scripts/sync_yaml_rt.py`, a
package/docs/personas.md CHANGED
@@ -5,14 +5,14 @@ skill — not sub-agents, not execution modes. Each persona shapes
5
5
  *what* the agent looks for in a diff, plan, or artifact; the host
6
6
  identity, tools, and workflow stay the same.
7
7
 
8
- This page catalogs the **24 active personas** shipped with
9
- `event4u/agent-config` (6 core + 18 specialists), plus the 5
8
+ This page catalogs the **29 active personas** shipped with
9
+ `event4u/agent-config` (5 core + 24 specialists), plus the 5
10
10
  **advisor** personas in `personas/advisors/`. It also explains how
11
11
  `personas:` (lens axis) interacts with `/mode` (role-mode axis).
12
12
  Removed personas are deleted in-commit (no soak window) — see
13
13
  [`persona-governance § Deprecation path`](../dist/agent-src/rules/persona-governance.md).
14
14
 
15
- ## Catalog — Core (always-loaded, 6)
15
+ ## Catalog — Core (always-loaded, 5)
16
16
 
17
17
  | ID | Role | Wing | Owner | Lens summary |
18
18
  |---|---|---|---|---|
@@ -24,13 +24,16 @@ Removed personas are deleted in-commit (no soak window) — see
24
24
 
25
25
  Note: `product-owner` was reclassified to **specialist** at v2.0 — see below.
26
26
 
27
- ## Catalog — Specialists (opt-in, 20 active)
27
+ ## Catalog — Specialists (opt-in, 24 active)
28
28
 
29
29
  | ID | Role | Wing | Owner | Lens summary |
30
30
  |---|---|---|---|---|
31
31
  | `qa` | QA | — | package | Test coverage and regression gates. |
32
32
  | `backend-architect` | Backend Architect | — | package | Service-layer boundaries, transaction scope, contract changes. |
33
33
  | `eloquent-tamer` | Eloquent Tamer | — | package | N+1, query shape, ORM idioms that melt the database. |
34
+ | `performance-engineer` | Performance Engineer (`performance`) | — | package | Latency, allocations, hot-path cost, complexity class at 100× load. |
35
+ | `data-integrity` | Data Integrity Reviewer (`data`) | — | package | Migration reversibility, lock behavior under live traffic, data-loss on backfill. |
36
+ | `production-validator` | Production Validator | — | package | Last gate before done — no mock/stub remains; validated against real systems (ADR-098). |
34
37
  | `security-engineer` | Security Engineer | — | package | OWASP-shaped failure modes, secret leakage, trust boundaries. |
35
38
  | `frontend-engineer` | Frontend Engineer | — | package | Component lifecycle, reactive state, hydration boundaries. |
36
39
  | `product-owner` | Product Owner | — | package | Outcomes named, AC unfalsifiable, scope on record. |
@@ -59,8 +62,16 @@ Note: `product-owner` was reclassified to **specialist** at v2.0 — see below.
59
62
  | GTM (Wing 3) | `cmo`, `growth-pm`, `customer-success-lead`, `revops` | ✅ (wing, not domain) |
60
63
  | Ops / Money (Wing 4) | `engineering-manager`, `people-strategist`, `finance-partner`, `strategist` | ✅ (wing, not domain) |
61
64
  | Backend | `backend-architect`, `eloquent-tamer` | ✅ 2/2 |
65
+ | `performance` | `performance-engineer` | ✅ 1/2 |
66
+ | `data` | `data-integrity` | ✅ 1/2 |
62
67
 
63
- Per-domain count is enforced by `scripts/lint_persona_governance.py` (wired into `task ci`).
68
+ Cross-cutting quality lenses (`qa`, `tech-writer`, `revops-maintainer`,
69
+ `discovery-lead`, `production-validator`) are uncapped — they are not bound to a
70
+ single content domain.
71
+
72
+ Per-domain count is enforced by `src/scripts/lint_persona_governance.ts`
73
+ (wired into `task ci`), which scans `src/agent-src/personas/` (the source of
74
+ truth) and `src/skills/` + `src/rules/` for `personas:` citations.
64
75
 
65
76
  ## Advisors (`personas/advisors/`, 5)
66
77