@event4u/agent-config 7.5.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 (428) hide show
  1. package/.claude-plugin/marketplace.json +8 -1
  2. package/AGENTS.md +9 -9
  3. package/CHANGELOG.md +325 -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/roadmap/create.md +88 -10
  34. package/dist/agent-src/commands/roadmap/materialize.md +1 -1
  35. package/dist/agent-src/commands/roadmap/process-full.md +15 -2
  36. package/dist/agent-src/commands/roadmap/process-phase.md +18 -6
  37. package/dist/agent-src/commands/roadmap/process-step.md +4 -0
  38. package/dist/agent-src/commands/roadmap.md +1 -1
  39. package/dist/agent-src/commands/security-audit-config.md +1 -1
  40. package/dist/agent-src/commands/sync-agent-settings.md +1 -1
  41. package/dist/agent-src/commands/sync-gitignore/fix.md +42 -6
  42. package/dist/agent-src/commands/team-knowledge/bootstrap.md +106 -0
  43. package/dist/agent-src/commands/team-knowledge/consolidate.md +105 -0
  44. package/dist/agent-src/commands/team-knowledge.md +64 -0
  45. package/dist/agent-src/contexts/authority/commit-mechanics.md +8 -0
  46. package/dist/agent-src/contexts/authority/destructive-mechanics.md +11 -0
  47. package/dist/agent-src/contexts/authority/scope-mechanics.md +25 -0
  48. package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +43 -0
  49. package/dist/agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
  50. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +2 -2
  51. package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -0
  52. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +14 -4
  53. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +11 -0
  54. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +32 -8
  55. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +107 -0
  56. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +71 -15
  57. package/dist/agent-src/contexts/execution/subagent-steering.md +41 -1
  58. package/dist/agent-src/contexts/override-system.md +1 -1
  59. package/dist/agent-src/personas/brand-strategist.md +0 -1
  60. package/dist/agent-src/personas/data-integrity.md +66 -0
  61. package/dist/agent-src/personas/design-director.md +0 -1
  62. package/dist/agent-src/personas/performance-engineer.md +66 -0
  63. package/dist/agent-src/personas/production-validator.md +73 -0
  64. package/dist/agent-src/rules/agent-authority.md +3 -4
  65. package/dist/agent-src/rules/analysis-skill-routing.md +3 -5
  66. package/dist/agent-src/rules/architecture.md +2 -4
  67. package/dist/agent-src/rules/artifact-drafting-protocol.md +35 -6
  68. package/dist/agent-src/rules/artifact-engagement-recording.md +2 -4
  69. package/dist/agent-src/rules/ask-when-uncertain.md +10 -14
  70. package/dist/agent-src/rules/augment-edit-discipline.md +3 -5
  71. package/dist/agent-src/rules/autonomous-execution.md +3 -5
  72. package/dist/agent-src/rules/brand-consistency.md +3 -5
  73. package/dist/agent-src/rules/brand-source-of-truth.md +3 -5
  74. package/dist/agent-src/rules/cli-output-handling.md +4 -6
  75. package/dist/agent-src/rules/command-suggestion-policy.md +3 -5
  76. package/dist/agent-src/rules/commit-conventions.md +3 -5
  77. package/dist/agent-src/rules/commit-policy.md +8 -10
  78. package/dist/agent-src/rules/content-quoting-floor.md +88 -0
  79. package/dist/agent-src/rules/context-hygiene.md +3 -5
  80. package/dist/agent-src/rules/copilot-routing.md +4 -6
  81. package/dist/agent-src/rules/decision-revisit-gate.md +120 -0
  82. package/dist/agent-src/rules/delegation-policy.md +10 -6
  83. package/dist/agent-src/rules/design-fidelity.md +3 -5
  84. package/dist/agent-src/rules/devcontainer-routing.md +4 -6
  85. package/dist/agent-src/rules/direct-answers.md +13 -17
  86. package/dist/agent-src/rules/docker-commands.md +3 -5
  87. package/dist/agent-src/rules/domain-adoption-policy.md +3 -5
  88. package/dist/agent-src/rules/domain-safety-disclaimer.md +3 -5
  89. package/dist/agent-src/rules/domain-safety-pii.md +3 -5
  90. package/dist/agent-src/rules/domain-safety-retention.md +3 -5
  91. package/dist/agent-src/rules/downstream-changes.md +3 -4
  92. package/dist/agent-src/rules/engineering-safety-floor.md +3 -5
  93. package/dist/agent-src/rules/external-reference-deep-dive.md +3 -5
  94. package/dist/agent-src/rules/fast-path-marker-visibility.md +3 -5
  95. package/dist/agent-src/rules/finance-safety-floor.md +3 -6
  96. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -5
  97. package/dist/agent-src/rules/git-history-discipline.md +3 -5
  98. package/dist/agent-src/rules/guidelines.md +2 -4
  99. package/dist/agent-src/rules/icon-consistency.md +3 -5
  100. package/dist/agent-src/rules/image-likeness-and-rights.md +3 -5
  101. package/dist/agent-src/rules/improve-before-implement.md +5 -5
  102. package/dist/agent-src/rules/invite-challenge.md +3 -5
  103. package/dist/agent-src/rules/language-and-tone.md +13 -15
  104. package/dist/agent-src/rules/laravel-routing.md +3 -5
  105. package/dist/agent-src/rules/laravel-translations.md +3 -5
  106. package/dist/agent-src/rules/legal-safety-floor.md +3 -5
  107. package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -5
  108. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +4 -7
  109. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -5
  110. package/dist/agent-src/rules/markdown-safe-codeblocks.md +2 -4
  111. package/dist/agent-src/rules/media-governance-routing.md +3 -5
  112. package/dist/agent-src/rules/media-sync-ground-truth.md +3 -5
  113. package/dist/agent-src/rules/minimal-safe-diff.md +5 -5
  114. package/dist/agent-src/rules/missing-tool-handling.md +3 -5
  115. package/dist/agent-src/rules/model-recommendation.md +4 -6
  116. package/dist/agent-src/rules/no-attribution-footers.md +3 -5
  117. package/dist/agent-src/rules/no-cheap-questions.md +5 -8
  118. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +3 -6
  119. package/dist/agent-src/rules/no-pr-progress-comments.md +3 -6
  120. package/dist/agent-src/rules/no-roadmap-references.md +3 -5
  121. package/dist/agent-src/rules/non-destructive-by-default.md +11 -13
  122. package/dist/agent-src/rules/notes-first-reasoning.md +3 -5
  123. package/dist/agent-src/rules/onboarding-gate.md +4 -6
  124. package/dist/agent-src/rules/output-discipline.md +3 -5
  125. package/dist/agent-src/rules/package-ci-checks.md +3 -5
  126. package/dist/agent-src/rules/persona-governance.md +2 -4
  127. package/dist/agent-src/rules/php-coding.md +3 -5
  128. package/dist/agent-src/rules/preservation-guard.md +2 -4
  129. package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -5
  130. package/dist/agent-src/rules/reviewer-awareness.md +5 -6
  131. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +3 -5
  132. package/dist/agent-src/rules/roadmap-progress-sync.md +5 -5
  133. package/dist/agent-src/rules/role-mode-adherence.md +2 -4
  134. package/dist/agent-src/rules/rule-type-governance.md +3 -5
  135. package/dist/agent-src/rules/runtime-safety.md +2 -4
  136. package/dist/agent-src/rules/scope-control.md +10 -11
  137. package/dist/agent-src/rules/security-sensitive-stop.md +4 -5
  138. package/dist/agent-src/rules/size-enforcement.md +2 -4
  139. package/dist/agent-src/rules/skill-improvement-trigger.md +3 -5
  140. package/dist/agent-src/rules/skill-quality.md +3 -5
  141. package/dist/agent-src/rules/slash-command-routing-policy.md +3 -5
  142. package/dist/agent-src/rules/source-confidentiality.md +3 -5
  143. package/dist/agent-src/rules/source-discovery-gate.md +3 -5
  144. package/dist/agent-src/rules/source-of-truth.md +3 -5
  145. package/dist/agent-src/rules/strategy-safety-floor.md +3 -5
  146. package/dist/agent-src/rules/symfony-routing.md +4 -6
  147. package/dist/agent-src/rules/telegraph-speak.md +4 -5
  148. package/dist/agent-src/rules/think-before-action.md +7 -4
  149. package/dist/agent-src/rules/token-budget-discipline.md +29 -5
  150. package/dist/agent-src/rules/token-efficiency.md +3 -5
  151. package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -5
  152. package/dist/agent-src/rules/tool-safety.md +2 -4
  153. package/dist/agent-src/rules/ui-audit-gate.md +3 -6
  154. package/dist/agent-src/rules/untrusted-input-defense.md +3 -5
  155. package/dist/agent-src/rules/upstream-proposal.md +4 -6
  156. package/dist/agent-src/rules/user-interaction.md +7 -5
  157. package/dist/agent-src/rules/user-interrupt-priority.md +17 -8
  158. package/dist/agent-src/rules/verify-before-complete.md +12 -22
  159. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +3 -3
  160. package/dist/agent-src/scripts/update_roadmap_progress.ts +197 -7
  161. package/dist/agent-src/skills/adr-create/SKILL.md +48 -42
  162. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +18 -0
  163. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  164. package/dist/agent-src/skills/ai-council/SKILL.md +14 -1
  165. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +0 -3
  166. package/dist/agent-src/skills/brand/SKILL.md +1 -1
  167. package/dist/agent-src/skills/brand-identity/SKILL.md +3 -3
  168. package/dist/agent-src/skills/brand-strategy/SKILL.md +1 -1
  169. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +3 -3
  170. package/dist/agent-src/skills/canvas-design/SKILL.md +6 -0
  171. package/dist/agent-src/skills/check-refs/SKILL.md +7 -4
  172. package/dist/agent-src/skills/code-review/SKILL.md +1 -0
  173. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +6 -5
  174. package/dist/agent-src/skills/condense-memory/SKILL.md +11 -11
  175. package/dist/agent-src/skills/context-document/SKILL.md +17 -0
  176. package/dist/agent-src/skills/corpus-grounding/SKILL.md +3 -3
  177. package/dist/agent-src/skills/decision-record/SKILL.md +6 -0
  178. package/dist/agent-src/skills/decision-review/SKILL.md +5 -3
  179. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +6 -1
  180. package/dist/agent-src/skills/design-intelligence/SKILL.md +5 -2
  181. package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
  182. package/dist/agent-src/skills/design-tokens/SKILL.md +10 -4
  183. package/dist/agent-src/skills/design-variations/SKILL.md +127 -0
  184. package/dist/agent-src/skills/design-variations/evals/triggers.json +17 -0
  185. package/dist/agent-src/skills/emit-tickets/SKILL.md +4 -4
  186. package/dist/agent-src/skills/fe-design/SKILL.md +20 -0
  187. package/dist/agent-src/skills/html-deck/SKILL.md +123 -0
  188. package/dist/agent-src/skills/html-deck/evals/triggers.json +17 -0
  189. package/dist/agent-src/skills/html-deck/templates/deck-shell.html +77 -0
  190. package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -0
  191. package/dist/agent-src/skills/laravel/SKILL.md +0 -1
  192. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +46 -0
  193. package/dist/agent-src/skills/lint-skills/SKILL.md +6 -6
  194. package/dist/agent-src/skills/md-language-check/SKILL.md +3 -3
  195. package/dist/agent-src/skills/memory-consolidation/SKILL.md +66 -1
  196. package/dist/agent-src/skills/migration-architect/SKILL.md +1 -0
  197. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +2 -2
  198. package/dist/agent-src/skills/performance-analysis/SKILL.md +2 -0
  199. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +4 -4
  200. package/dist/agent-src/skills/premortem/SKILL.md +0 -3
  201. package/dist/agent-src/skills/project-analysis-core/SKILL.md +16 -0
  202. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +3 -1
  203. package/dist/agent-src/skills/release-comms/SKILL.md +46 -45
  204. package/dist/agent-src/skills/roadmap-management/SKILL.md +21 -0
  205. package/dist/agent-src/skills/roadmap-writing/SKILL.md +32 -2
  206. package/dist/agent-src/skills/root-cause-frameworks/SKILL.md +0 -3
  207. package/dist/agent-src/skills/security-audit/SKILL.md +1 -0
  208. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -0
  209. package/dist/agent-src/skills/source-discovery/SKILL.md +22 -3
  210. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +33 -14
  211. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +11 -0
  212. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +8 -0
  213. package/dist/agent-src/skills/systematic-debugging/SKILL.md +29 -0
  214. package/dist/agent-src/skills/threat-modeling/SKILL.md +2 -2
  215. package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
  216. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +2 -0
  217. package/dist/agent-src/skills/wireframe/SKILL.md +118 -0
  218. package/dist/agent-src/skills/wireframe/evals/triggers.json +17 -0
  219. package/dist/agent-src/templates/agent-settings.md +22 -1
  220. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  221. package/dist/agent-src/templates/command.md +2 -2
  222. package/dist/agent-src/templates/contexts/knowledge-pages.md +116 -0
  223. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +1 -1
  224. package/dist/agent-src/templates/roadmaps.md +70 -2
  225. package/dist/agent-src/templates/rule.md +1 -1
  226. package/dist/agent-src/templates/scripts/README.md +3 -3
  227. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +109 -0
  228. package/dist/agent-src/templates/tickets.md +8 -8
  229. package/dist/cli/commands/recordTriggerEval.test.js +1 -1
  230. package/dist/cli/commands/recordTriggerEval.test.js.map +1 -1
  231. package/dist/cli/initRouting.js +4 -2
  232. package/dist/cli/initRouting.js.map +1 -1
  233. package/dist/cli/registry.js +1 -0
  234. package/dist/cli/registry.js.map +1 -1
  235. package/dist/discovery/deprecation-report.md +1 -1
  236. package/dist/discovery/discovery-manifest.json +718 -240
  237. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  238. package/dist/discovery/discovery-manifest.summary.md +8 -8
  239. package/dist/discovery/orphan-report.md +1 -1
  240. package/dist/discovery/packs.json +43 -28
  241. package/dist/discovery/trust-report.md +12 -11
  242. package/dist/discovery/workspaces.json +29 -18
  243. package/dist/install/preflight.js +173 -0
  244. package/dist/install/preflight.js.map +1 -0
  245. package/dist/mcp/registry-manifest.json +4 -4
  246. package/dist/router.json +1 -1
  247. package/dist/server/routes/settings.js +4 -0
  248. package/dist/server/routes/settings.js.map +1 -1
  249. package/dist/server/schemas/settings.js +3 -1
  250. package/dist/server/schemas/settings.js.map +1 -1
  251. package/docs/CLAIMS.md +108 -0
  252. package/docs/MIGRATION.md +3 -3
  253. package/docs/architecture.md +5 -5
  254. package/docs/benchmark.md +133 -2
  255. package/docs/benchmark.pinned.yml +31 -0
  256. package/docs/capability-matrix.md +1 -0
  257. package/docs/catalog.md +70 -60
  258. package/docs/command-flows.md +15 -3
  259. package/docs/comparison.yaml +35 -0
  260. package/docs/contracts/agents-layout.md +148 -0
  261. package/docs/contracts/brand-token-consumption.md +5 -0
  262. package/docs/contracts/capability-boundary.md +5 -0
  263. package/docs/contracts/command-category-governance.md +5 -0
  264. package/docs/contracts/command-clusters.md +1 -0
  265. package/docs/contracts/command-surface-tiers.md +1 -1
  266. package/docs/contracts/conformance.md +84 -0
  267. package/docs/contracts/creative-pack-boundary.md +5 -0
  268. package/docs/contracts/discovery-manifest.schema.json +5 -4
  269. package/docs/contracts/file-ownership-matrix.json +4605 -985
  270. package/docs/contracts/governance-enforcement-projection.md +5 -0
  271. package/docs/contracts/gui-wizard.md +1 -1
  272. package/docs/contracts/hook-architecture-v1.md +2 -2
  273. package/docs/contracts/implement-ticket-flow.md +1 -1
  274. package/docs/contracts/kernel-membership.md +13 -0
  275. package/docs/contracts/mcp-tool-inventory.md +23 -23
  276. package/docs/contracts/no-runtime-boundary.md +6 -1
  277. package/docs/contracts/review-lens-schema.md +5 -0
  278. package/docs/contracts/rule-router.md +102 -8
  279. package/docs/contracts/skill-bundled-assets.md +1 -1
  280. package/docs/contracts/skill-dry-run.md +1 -1
  281. package/docs/contracts/subagent-boundary.md +5 -0
  282. package/docs/contracts/ticket-bundle-format.md +9 -4
  283. package/docs/contracts/tier-3-contrib-plugin.md +2 -2
  284. package/docs/contracts/write-engine.md +3 -0
  285. package/docs/customization.md +87 -15
  286. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +1 -1
  287. package/docs/decisions/ADR-109-subagent-v1-contract.md +246 -0
  288. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +105 -0
  289. package/docs/decisions/INDEX.md +2 -0
  290. package/docs/distribution/awesome-list-submission.md +46 -0
  291. package/docs/distribution/launch-story-draft.md +58 -0
  292. package/docs/end-to-end-walkthroughs.md +2 -2
  293. package/docs/getting-started.md +2 -2
  294. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +24 -0
  295. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +1 -1
  296. package/docs/guidelines/agent-infra/linked-projects-onboarding-gate.md +2 -2
  297. package/docs/guidelines/agent-infra/missing-tool-handling.md +3 -3
  298. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +2 -2
  299. package/docs/guidelines/augment-portability-patterns.md +1 -1
  300. package/docs/guidelines/code-clarity.md +19 -0
  301. package/docs/guidelines/design-antipatterns-triggers.json +2 -1
  302. package/docs/guidelines/design-antipatterns.md +10 -1
  303. package/docs/guidelines/design-modes.md +6 -0
  304. package/docs/guidelines/php/general.md +9 -1
  305. package/docs/guidelines/php/php-coding-patterns.md +7 -0
  306. package/docs/guides/cross-repo-retrieval.md +1 -1
  307. package/docs/guides/frontend-design-corpus-refresh.md +2 -2
  308. package/docs/guides/local-analytics.md +4 -4
  309. package/docs/guides/skill-discovery.md +1 -1
  310. package/docs/guides/skill-preview.md +1 -1
  311. package/docs/hook-payload-capture.md +6 -6
  312. package/docs/install-friction-report.md +66 -0
  313. package/docs/installation.md +1 -1
  314. package/docs/maintainers/optional-media-deps.md +50 -0
  315. package/docs/mcp-server.md +11 -12
  316. package/docs/media/proof-demo.cast +14 -0
  317. package/docs/media/proof-demo.gif +0 -0
  318. package/docs/migration/consumer-template-consumption-model.md +1 -1
  319. package/docs/migration/divergences/bench-stats-float-precision.md +1 -1
  320. package/docs/migration/node-floor.md +1 -1
  321. package/docs/migration/yaml-roundtrip-spike.md +1 -1
  322. package/docs/personas.md +16 -5
  323. package/docs/positioning-evidence.md +86 -0
  324. package/docs/proof.md +86 -0
  325. package/docs/skills-catalog.md +1 -1
  326. package/docs/troubleshooting.md +8 -8
  327. package/docs/wedge/production-validator/README.md +57 -0
  328. package/docs/wedge/production-validator/production-validator.md +56 -0
  329. package/docs/wizard.md +2 -2
  330. package/package.json +1 -1
  331. package/src/config/agent-settings.template.yml +59 -4
  332. package/src/config/agents-paths.yml +254 -0
  333. package/src/config/budgets.yml +16 -0
  334. package/src/config/discovery/packs.yml +1 -0
  335. package/src/config/discovery/unassigned-artefacts.yml +2 -0
  336. package/src/config/gitignore-block.txt +25 -0
  337. package/src/config/host-capabilities.yml +31 -0
  338. package/src/config/profiles/balanced.ini +4 -0
  339. package/src/config/profiles/full.ini +4 -0
  340. package/src/config/profiles/minimal.ini +4 -0
  341. package/src/scripts/_cli/cmd_conformance.ts +716 -0
  342. package/src/scripts/_cli/cmd_doctor.ts +23 -2
  343. package/src/scripts/_cli/cmd_fleet.ts +401 -0
  344. package/src/scripts/_cli/cmd_preflight.ts +159 -0
  345. package/src/scripts/_dispatch.bash +10 -0
  346. package/src/scripts/_lib/knowledge_events.ts +193 -0
  347. package/src/scripts/_lib/subagent_steering.ts +115 -3
  348. package/src/scripts/_lib/text_similarity.ts +75 -0
  349. package/src/scripts/ai-video/test-pipeline.sh +1 -1
  350. package/src/scripts/ai_council/clients.ts +19 -3
  351. package/src/scripts/append_contested.ts +112 -0
  352. package/src/scripts/audit_auto_rules.ts +11 -1
  353. package/src/scripts/audit_mcp_tools.ts +25 -11
  354. package/src/scripts/bench_ab_v2_run.ts +527 -40
  355. package/src/scripts/bench_ab_v2_stats.ts +6 -0
  356. package/src/scripts/bench_matrix.ts +266 -0
  357. package/src/scripts/bootstrap_knowledge.ts +267 -0
  358. package/src/scripts/build_discovery_manifest.ts +42 -2
  359. package/src/scripts/build_proof.ts +214 -0
  360. package/src/scripts/check_always_budget.ts +3 -0
  361. package/src/scripts/check_augment_description_cap.ts +2 -2
  362. package/src/scripts/check_claims.ts +270 -0
  363. package/src/scripts/check_comparison.ts +79 -0
  364. package/src/scripts/check_generated_artefact_headers.ts +109 -0
  365. package/src/scripts/check_generator_output_coverage.ts +142 -0
  366. package/src/scripts/check_gitignore_freshness.ts +127 -0
  367. package/src/scripts/check_knowledge_pages.ts +210 -0
  368. package/src/scripts/check_knowledge_sharing.ts +162 -0
  369. package/src/scripts/check_media_deps.ts +91 -0
  370. package/src/scripts/check_memory_contradiction.ts +280 -0
  371. package/src/scripts/check_memory_similarity.ts +134 -0
  372. package/src/scripts/check_quality_regression.ts +56 -10
  373. package/src/scripts/check_references.ts +3 -1
  374. package/src/scripts/check_release_pr_shape.ts +4 -0
  375. package/src/scripts/check_site_links.ts +135 -0
  376. package/src/scripts/check_skill_gaps.ts +99 -0
  377. package/src/scripts/check_token_quality_golden.ts +197 -11
  378. package/src/scripts/check_tracked_but_ignored.ts +67 -0
  379. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  380. package/src/scripts/compile_router.ts +30 -3
  381. package/src/scripts/condense.ts +350 -14
  382. package/src/scripts/consolidate_knowledge_events.ts +192 -0
  383. package/src/scripts/degrade_to_pointer.ts +136 -0
  384. package/src/scripts/design_slop_rules.test.ts +15 -0
  385. package/src/scripts/design_slop_rules.ts +28 -0
  386. package/src/scripts/emit_knowledge_event.ts +158 -0
  387. package/src/scripts/export_replay_corpus.ts +187 -0
  388. package/src/scripts/external_sources_denylist.json +7 -2
  389. package/src/scripts/fold_intake.ts +281 -0
  390. package/src/scripts/generate_capability_matrix.ts +9 -1
  391. package/src/scripts/generate_knowledge_index.ts +222 -0
  392. package/src/scripts/hook_manifest.yaml +26 -14
  393. package/src/scripts/hooks/dispatch_hook.ts +18 -0
  394. package/src/scripts/hot_context_hook.ts +372 -0
  395. package/src/scripts/install +47 -0
  396. package/src/scripts/install-hooks.sh +17 -0
  397. package/src/scripts/inventory_meta_layers.ts +11 -0
  398. package/src/scripts/janitor.ts +258 -0
  399. package/src/scripts/lint_agents_layout.ts +74 -15
  400. package/src/scripts/lint_bench_ab.ts +4 -1
  401. package/src/scripts/lint_featured_skills.ts +0 -0
  402. package/src/scripts/lint_framework_leakage_allowlist.json +26 -3
  403. package/src/scripts/lint_knowledge_scale.ts +250 -0
  404. package/src/scripts/lint_legal_pack.ts +67 -0
  405. package/src/scripts/lint_persona_governance.ts +8 -3
  406. package/src/scripts/lint_regression.ts +15 -0
  407. package/src/scripts/lint_roadmap_blockers.ts +202 -0
  408. package/src/scripts/lint_roadmap_complexity.ts +81 -2
  409. package/src/scripts/lint_subagent_determinism.ts +125 -0
  410. package/src/scripts/measure_augment_budget.ts +46 -6
  411. package/src/scripts/measure_patterns.ts +4 -3
  412. package/src/scripts/measure_skill_reduction.ts +6 -6
  413. package/src/scripts/migration_status.ts +6 -2
  414. package/src/scripts/mine_missing_guardrails.ts +189 -0
  415. package/src/scripts/parity/phase_gate.ts +1 -1
  416. package/src/scripts/parity/replay.ts +21 -0
  417. package/src/scripts/project_thin_rules.ts +120 -16
  418. package/src/scripts/release.ts +39 -1
  419. package/src/scripts/render_benchmark_composite.ts +378 -0
  420. package/src/scripts/roadmap_progress_hook.ts +101 -43
  421. package/src/scripts/schemas/skill.schema.json +27 -0
  422. package/src/scripts/schemas/subagent.schema.json +106 -0
  423. package/src/scripts/skill_linter.ts +1 -0
  424. package/src/scripts/smoke/kernel.sh +5 -4
  425. package/src/scripts/surface-tiers.yml +1 -0
  426. package/src/scripts/sync_gitignore.ts +4 -0
  427. package/src/scripts/update_skill_candidates.ts +172 -0
  428. package/src/scripts/validate_frontmatter.ts +1 -0
@@ -39,7 +39,7 @@ The objective floors are cited from the linter, never re-eyeballed by an agent.
39
39
  runtime token cost): a pattern-detectable subset of these entries now has a
40
40
  deterministic rule that `design-review` cites instead of re-deriving — `V1`,
41
41
  `V3`, `V6`, `C2`, `C5`, `T4`, `T6`, `T7`, `L4`, `L8`, `M2`, `M4`, `CP1`, `CP2`,
42
- plus the **Consistency Locks & layout caps** `V8`, `C6`, `L9`, `L10`
42
+ `CP5`, plus the **Consistency Locks & layout caps** `V8`, `C6`, `L9`, `L10`
43
43
  (rule ids `slop-<id>-*`, registry in `src/scripts/design_slop_rules.ts`). These
44
44
  are **flags / rebuttable presumptions**, never hard blocks — a consumer
45
45
  `DESIGN.md` that declares the pattern as intentional suppresses the flag. The
@@ -140,6 +140,7 @@ Within-project invariants + repetition caps. Override = declare the value in
140
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 |
141
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 |
142
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) |
143
144
 
144
145
  ---
145
146
 
@@ -163,6 +164,14 @@ these. The rest are agent self-checks.
163
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 |
164
165
  | Q11 | Padding floors: ≥ 8px (inline elements), ≥ 16px (card/panel bodies) | Computed padding | Agent self-check |
165
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.
166
175
 
167
176
  ---
168
177
 
@@ -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
 
@@ -0,0 +1,86 @@
1
+ # Positioning evidence & decision (B0)
2
+
3
+ > Market-readiness roadmap B0. The evidenced differentiators the positioning
4
+ > rests on, the H1 options that were weighed, and the decision. Every
5
+ > differentiator below is **shipped and machine-checked**, not aspirational —
6
+ > each names the artifact that backs it.
7
+
8
+ ## The problem
9
+
10
+ External adoption is ≈0. The prior README H1 — *"Governed skills, rules & work
11
+ journeys for AI coding agents"* — was abstract and interchangeable: no single
12
+ uncopyable hook. This document fixes the one sentence that carries the
13
+ differentiator.
14
+
15
+ ## Evidenced differentiators
16
+
17
+ 1. **Machine-checked honest marketing (the Claims-Ledger).** Every public claim
18
+ that carries a `<!-- claim:ID -->` marker must bind to a resolvable evidence
19
+ pointer in [`CLAIMS.md`](CLAIMS.md), or CI fails. Unbacked claims are logged
20
+ as visible debt rather than hidden. Evidence:
21
+ [`src/scripts/check_claims.ts`](../src/scripts/check_claims.ts),
22
+ [`CLAIMS.md`](CLAIMS.md).
23
+ 2. **A self-verifying proof page.** [`proof.md`](proof.md) is generated from the
24
+ ledger (claim → evidence table) plus the honest-null benchmark runs
25
+ (*including the nulls*) plus a "verify it yourself" command block a skeptic
26
+ runs on a fresh checkout. Drift-gated in CI. Evidence:
27
+ [`src/scripts/build_proof.ts`](../src/scripts/build_proof.ts),
28
+ [`proof.md`](proof.md).
29
+ 3. **Published honest-nulls.** Measured null results ship rather than hide (e.g.
30
+ a recursive-verification wrapper measured for null lift; an orchestration
31
+ auto-flip held at a documented honest-null). Evidence:
32
+ [`benchmark.md`](benchmark.md).
33
+ 4. **No-runtime, host-agnostic governance.** Rules compile into each tool's
34
+ native format at projection time; the same governance rides on 7+ hosts with
35
+ no daemon. Surgical uninstall (JSON-pointer + SHA-256, never a neighbour
36
+ tool's keys). Evidence:
37
+ [`contracts/no-runtime-boundary.md`](contracts/no-runtime-boundary.md),
38
+ [`contracts/install-layout.md`](contracts/install-layout.md).
39
+ 5. **A 30-second wedge.** `production-validator` — a single self-contained Claude
40
+ Code subagent (one `curl` into `.claude/agents/`) that runs the last gate
41
+ before "done": no mock/stub on the shipped path, validated against real
42
+ systems. Evidence: [`wedge/production-validator/`](wedge/production-validator/).
43
+
44
+ ## Competitive frame
45
+
46
+ The dominant competitor wins on reach behind a loud, **unbacked** headline
47
+ performance number (present in several files, no reproducible methodology). The
48
+ only defensible, uncopyable inverse is **reproducible honesty**: they cannot
49
+ adopt a Claims-Ledger + proof page without exposing their own unbacked numbers.
50
+ "Honesty" alone can read as merely defensive, so the wedge and the governed
51
+ depth carry the offensive substance.
52
+
53
+ ## H1 options weighed
54
+
55
+ - **Option 1 — verifiability as frame.** *"Agent Config — every claim
56
+ machine-checked, including 'zero runtime'."* Subline: 261 skills, 93 rules,
57
+ 7 hosts; run the proof page yourself; no daemon, no lock-in, no unverifiable
58
+ promises.
59
+ - **Option 2 — architecture first.** *"Governed AI agents with zero runtime —
60
+ and a proof page you verify in 30 seconds."*
61
+ - **Option 3 — host-agnostic.** *"Write your agent governance once — run it in
62
+ 7 hosts, with a proof page that can't lie."*
63
+
64
+ ## Decision
65
+
66
+ **Adopted: Option 1** (verifiability as frame).
67
+
68
+ Council (claude-sonnet-4-5 + gpt-4o, 2026-07-04) split only on headline vs.
69
+ subline placement, and converged on the substance: the stateless / host-agnostic
70
+ / no-runtime architecture is the technical moat, and the Claims-Ledger + proof
71
+ page is the maximally-uncopyable trust bootstrap. The decisive argument: in a
72
+ low-trust market, "zero runtime" on its own is just another unverifiable
73
+ promise — making **verifiability the frame** and the architectural claims *what
74
+ you verify* is what makes "zero runtime" credible. The maintainer made the final
75
+ call per the B0 "human picks" gate.
76
+
77
+ **Biggest risk (tracked):** "machine-checked" can read as compliance-boring
78
+ rather than a competitive weapon — mitigated by framing it offensively
79
+ ("built to be checked, in a market that runs on unbacked headlines"), not
80
+ defensively.
81
+
82
+ ## Applied to
83
+
84
+ - README H1 + hero line (this repo).
85
+ - `distribution/launch-story-draft.md` headline placeholder (resolved).
86
+ - `distribution/awesome-list-submission.md` (already Option-1-aligned).