@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
@@ -1 +1 @@
1
- 38c447e5eb2ba1a11c5087095ae79ae527b9142c5c7a1b56500d08e91850c0b9 discovery-manifest.json
1
+ c294e03afb8e14505ebe35d343aecf35093ab0698e434329e32e23096cc41140 discovery-manifest.json
@@ -1,8 +1,8 @@
1
1
  # Discovery Manifest — Summary
2
2
 
3
- - Generated: `2026-06-29T10:58:18Z`
4
- - Scanner: `47c9a32fb265`
5
- - Artefacts: **517**
3
+ - Generated: `2026-07-07T10:14:56Z`
4
+ - Scanner: `838b6c267ce3`
5
+ - Artefacts: **527**
6
6
  - Unassigned: **0**
7
7
 
8
8
  ## `engineering` — Engineering
@@ -11,7 +11,7 @@
11
11
 
12
12
  | Pack | Artefacts |
13
13
  |---|---|
14
- | `engineering-base` — Engineering Base | 96 |
14
+ | `engineering-base` — Engineering Base | 95 |
15
15
  | `git` — Git | 4 |
16
16
  | `php` — PHP | 6 |
17
17
  | `laravel` — Laravel | 25 |
@@ -21,7 +21,7 @@
21
21
  | `react` — React | 3 |
22
22
  | `nextjs` — Next.js | 2 |
23
23
  | `python` — Python | 1 |
24
- | `frontend-design` — Frontend Design | 6 |
24
+ | `frontend-design` — Frontend Design | 11 |
25
25
  | `brand` — Brand | 13 |
26
26
  | `analysis-workbench` — Analysis Workbench | 10 |
27
27
 
@@ -77,8 +77,8 @@
77
77
  | Pack | Artefacts |
78
78
  |---|---|
79
79
  | `small-business` — Small Business | 0 |
80
- | `ai-video` — AI Video | 10 |
81
- | `ai-image` — AI Image | 6 |
80
+ | `ai-video` — AI Video | 13 |
81
+ | `ai-image` — AI Image | 9 |
82
82
  | `fun` — Fun | 2 |
83
83
 
84
84
  ## `construction` — Construction
@@ -103,7 +103,7 @@
103
103
 
104
104
  | Pack | Artefacts |
105
105
  |---|---|
106
- | `meta` — Meta | 250 |
106
+ | `meta` — Meta | 251 |
107
107
  | `memory` — Memory | 9 |
108
108
  | `analytics` — Analytics | 4 |
109
109
  | `product-reasoning` — Product Reasoning | 11 |
@@ -1,6 +1,6 @@
1
1
  # Discovery — Orphan Report
2
2
 
3
- - Generated: `2026-06-29T10:58:18Z`
3
+ - Generated: `2026-07-07T10:14:56Z`
4
4
  - Orphan artefacts: **0**
5
5
 
6
6
  > An orphan is an artefact whose declared pack has no other members.
@@ -1,16 +1,15 @@
1
1
  {
2
- "checksum": "sha256:95fb347478a0850da1fe91c83fef82e3c165493947f9d9fbcb202f5288ed8b00",
3
- "generated_at": "2026-06-29T10:58:18Z",
2
+ "checksum": "sha256:e900a6fed0e0312f58115adfdb4d19431edef245ce557599759849bc08fd8e9b",
3
+ "generated_at": "2026-07-07T10:14:56Z",
4
4
  "packs": [
5
5
  {
6
6
  "always_on": false,
7
- "artefact_count": 96,
7
+ "artefact_count": 95,
8
8
  "artefacts": [
9
9
  "src/domains/engineering-base/mission/upgrade/command.md",
10
10
  "src/rules/commit-conventions.md",
11
11
  "src/rules/commit-policy.md",
12
12
  "src/rules/delegation-policy.md",
13
- "src/rules/design-fidelity.md",
14
13
  "src/rules/docker-commands.md",
15
14
  "src/rules/downstream-changes.md",
16
15
  "src/rules/engineering-safety-floor.md",
@@ -104,14 +103,14 @@
104
103
  "src/skills/verify-completion-evidence/SKILL.md"
105
104
  ],
106
105
  "by_lifecycle": {
107
- "active": 95,
106
+ "active": 94,
108
107
  "archived": 0,
109
108
  "deprecated": 0,
110
109
  "experimental": 1
111
110
  },
112
111
  "by_trust_level": {
113
112
  "advisory": 0,
114
- "core": 94,
113
+ "core": 93,
115
114
  "experimental": 1,
116
115
  "professional": 1,
117
116
  "restricted": 0
@@ -521,26 +520,31 @@
521
520
  },
522
521
  {
523
522
  "always_on": false,
524
- "artefact_count": 6,
523
+ "artefact_count": 11,
525
524
  "artefacts": [
525
+ "src/rules/design-fidelity.md",
526
526
  "src/rules/icon-consistency.md",
527
+ "src/rules/ui-audit-gate.md",
527
528
  "src/skills/design-intelligence/SKILL.md",
528
529
  "src/skills/design-system-capture/SKILL.md",
529
530
  "src/skills/design-tokens/SKILL.md",
531
+ "src/skills/design-variations/SKILL.md",
532
+ "src/skills/html-deck/SKILL.md",
530
533
  "src/skills/iconography/SKILL.md",
531
- "src/skills/typography-system/SKILL.md"
534
+ "src/skills/typography-system/SKILL.md",
535
+ "src/skills/wireframe/SKILL.md"
532
536
  ],
533
537
  "by_lifecycle": {
534
- "active": 6,
538
+ "active": 11,
535
539
  "archived": 0,
536
540
  "deprecated": 0,
537
541
  "experimental": 0
538
542
  },
539
543
  "by_trust_level": {
540
544
  "advisory": 0,
541
- "core": 2,
545
+ "core": 4,
542
546
  "experimental": 0,
543
- "professional": 4,
547
+ "professional": 7,
544
548
  "restricted": 0
545
549
  },
546
550
  "cluster": null,
@@ -1080,8 +1084,11 @@
1080
1084
  },
1081
1085
  {
1082
1086
  "always_on": false,
1083
- "artefact_count": 10,
1087
+ "artefact_count": 13,
1084
1088
  "artefacts": [
1089
+ "src/rules/media-governance-routing.md",
1090
+ "src/rules/media-sync-ground-truth.md",
1091
+ "src/rules/provider-lifecycle-discipline.md",
1085
1092
  "src/skills/canvas-design/SKILL.md",
1086
1093
  "src/skills/character-consistency/SKILL.md",
1087
1094
  "src/skills/image-analyser/SKILL.md",
@@ -1094,14 +1101,14 @@
1094
1101
  "src/skills/video-director/SKILL.md"
1095
1102
  ],
1096
1103
  "by_lifecycle": {
1097
- "active": 0,
1104
+ "active": 3,
1098
1105
  "archived": 0,
1099
1106
  "deprecated": 0,
1100
1107
  "experimental": 10
1101
1108
  },
1102
1109
  "by_trust_level": {
1103
1110
  "advisory": 0,
1104
- "core": 0,
1111
+ "core": 3,
1105
1112
  "experimental": 10,
1106
1113
  "professional": 0,
1107
1114
  "restricted": 0
@@ -1122,8 +1129,11 @@
1122
1129
  },
1123
1130
  {
1124
1131
  "always_on": false,
1125
- "artefact_count": 6,
1132
+ "artefact_count": 9,
1126
1133
  "artefacts": [
1134
+ "src/rules/image-likeness-and-rights.md",
1135
+ "src/rules/media-governance-routing.md",
1136
+ "src/rules/provider-lifecycle-discipline.md",
1127
1137
  "src/skills/brand-asset-generation/SKILL.md",
1128
1138
  "src/skills/image-editing/SKILL.md",
1129
1139
  "src/skills/image-generation/SKILL.md",
@@ -1132,14 +1142,14 @@
1132
1142
  "src/skills/prompt-engineering-image/SKILL.md"
1133
1143
  ],
1134
1144
  "by_lifecycle": {
1135
- "active": 6,
1145
+ "active": 9,
1136
1146
  "archived": 0,
1137
1147
  "deprecated": 0,
1138
1148
  "experimental": 0
1139
1149
  },
1140
1150
  "by_trust_level": {
1141
1151
  "advisory": 0,
1142
- "core": 0,
1152
+ "core": 3,
1143
1153
  "experimental": 6,
1144
1154
  "professional": 0,
1145
1155
  "restricted": 0
@@ -1196,7 +1206,7 @@
1196
1206
  },
1197
1207
  {
1198
1208
  "always_on": true,
1199
- "artefact_count": 250,
1209
+ "artefact_count": 251,
1200
1210
  "artefacts": [
1201
1211
  "src/agent-src/templates/agents/proposal.example.md",
1202
1212
  "src/domains/ai-video/image/analyse/command.md",
@@ -1235,6 +1245,7 @@
1235
1245
  "src/domains/engineering-base/module/command.md",
1236
1246
  "src/domains/engineering-base/module/create/command.md",
1237
1247
  "src/domains/engineering-base/module/explore/command.md",
1248
+ "src/domains/engineering-base/optimize-project/command.md",
1238
1249
  "src/domains/engineering-base/package-test/command.md",
1239
1250
  "src/domains/engineering-base/prepare-for-review/command.md",
1240
1251
  "src/domains/engineering-base/project-analyze/command.md",
@@ -1300,6 +1311,9 @@
1300
1311
  "src/domains/meta/skills/command.md",
1301
1312
  "src/domains/meta/skills/discover/command.md",
1302
1313
  "src/domains/meta/sync-agent-settings/command.md",
1314
+ "src/domains/meta/team-knowledge/bootstrap/command.md",
1315
+ "src/domains/meta/team-knowledge/command.md",
1316
+ "src/domains/meta/team-knowledge/consolidate/command.md",
1303
1317
  "src/domains/meta/upstream-contribute/command.md",
1304
1318
  "src/domains/product-basic/estimate-ticket/command.md",
1305
1319
  "src/domains/product-basic/jira-ticket/command.md",
@@ -1329,8 +1343,10 @@
1329
1343
  "src/rules/autonomous-execution.md",
1330
1344
  "src/rules/cli-output-handling.md",
1331
1345
  "src/rules/command-suggestion-policy.md",
1346
+ "src/rules/content-quoting-floor.md",
1332
1347
  "src/rules/context-hygiene.md",
1333
1348
  "src/rules/copilot-routing.md",
1349
+ "src/rules/decision-revisit-gate.md",
1334
1350
  "src/rules/devcontainer-routing.md",
1335
1351
  "src/rules/direct-answers.md",
1336
1352
  "src/rules/domain-adoption-policy.md",
@@ -1341,13 +1357,10 @@
1341
1357
  "src/rules/fast-path-marker-visibility.md",
1342
1358
  "src/rules/framework-neutrality-in-generic-skills.md",
1343
1359
  "src/rules/guidelines.md",
1344
- "src/rules/image-likeness-and-rights.md",
1345
1360
  "src/rules/invite-challenge.md",
1346
1361
  "src/rules/language-and-tone.md",
1347
1362
  "src/rules/low-impact-corpus-privacy-floor.md",
1348
1363
  "src/rules/markdown-safe-codeblocks.md",
1349
- "src/rules/media-governance-routing.md",
1350
- "src/rules/media-sync-ground-truth.md",
1351
1364
  "src/rules/missing-tool-handling.md",
1352
1365
  "src/rules/model-recommendation.md",
1353
1366
  "src/rules/no-attribution-footers.md",
@@ -1360,7 +1373,6 @@
1360
1373
  "src/rules/package-ci-checks.md",
1361
1374
  "src/rules/persona-governance.md",
1362
1375
  "src/rules/preservation-guard.md",
1363
- "src/rules/provider-lifecycle-discipline.md",
1364
1376
  "src/rules/reviewer-awareness.md",
1365
1377
  "src/rules/roadmap-ci-steps-policy.md",
1366
1378
  "src/rules/roadmap-progress-sync.md",
@@ -1378,7 +1390,6 @@
1378
1390
  "src/rules/token-efficiency.md",
1379
1391
  "src/rules/token-optimizer-maintenance.md",
1380
1392
  "src/rules/tool-safety.md",
1381
- "src/rules/ui-audit-gate.md",
1382
1393
  "src/rules/upstream-proposal.md",
1383
1394
  "src/rules/user-interaction.md",
1384
1395
  "src/rules/user-interrupt-priority.md",
@@ -1450,14 +1461,14 @@
1450
1461
  "src/skills/verify-repair-loop/SKILL.md"
1451
1462
  ],
1452
1463
  "by_lifecycle": {
1453
- "active": 249,
1464
+ "active": 250,
1454
1465
  "archived": 0,
1455
1466
  "deprecated": 0,
1456
1467
  "experimental": 1
1457
1468
  },
1458
1469
  "by_trust_level": {
1459
1470
  "advisory": 0,
1460
- "core": 249,
1471
+ "core": 250,
1461
1472
  "experimental": 1,
1462
1473
  "professional": 0,
1463
1474
  "restricted": 0
@@ -1467,8 +1478,12 @@
1467
1478
  "domain": "meta",
1468
1479
  "id": "meta",
1469
1480
  "label": "Meta",
1470
- "requires": [],
1471
- "requires_hint": [],
1481
+ "requires": [
1482
+ "engineering-base"
1483
+ ],
1484
+ "requires_hint": [
1485
+ "engineering-base"
1486
+ ],
1472
1487
  "size_class": "core",
1473
1488
  "suggests": [],
1474
1489
  "trust_level_default": "core",
@@ -1609,5 +1624,5 @@
1609
1624
  ]
1610
1625
  }
1611
1626
  ],
1612
- "scanner_version": "47c9a32fb265"
1627
+ "scanner_version": "838b6c267ce3"
1613
1628
  }
@@ -1,22 +1,23 @@
1
1
  # Discovery — Trust Report
2
2
 
3
- - Generated: `2026-06-29T10:58:18Z`
4
- - Workspaces tracked: **9**
3
+ - Generated: `2026-07-07T10:14:56Z`
4
+ - Workspaces tracked: **10**
5
5
  - Human-review-required artefacts: **3**
6
6
 
7
7
  ## Trust levels by workspace
8
8
 
9
9
  | Workspace | core | professional | experimental | advisory | restricted |
10
10
  |---|---|---|---|---|---|
11
- | `agent-config-maintainer` | 278 | 0 | 2 | 0 | 0 |
12
- | `engineering` | 105 | 55 | 1 | 0 | 0 |
13
- | `finance` | 2 | 3 | 0 | 1 | 0 |
14
- | `founder` | 7 | 0 | 0 | 1 | 0 |
15
- | `gtm` | 0 | 12 | 0 | 0 | 0 |
16
- | `legal-review-prep` | 0 | 0 | 0 | 6 | 0 |
17
- | `ops` | 0 | 8 | 0 | 0 | 0 |
18
- | `product` | 0 | 15 | 0 | 0 | 0 |
19
- | `small-business` | 6 | 0 | 18 | 0 | 0 |
11
+ | `agent-config-maintainer` | 284 | 0 | 2 | 0 | 0 |
12
+ | `construction` | 22 | 0 | 0 | 0 | 0 |
13
+ | `engineering` | 153 | 58 | 1 | 0 | 0 |
14
+ | `finance` | 24 | 3 | 0 | 1 | 0 |
15
+ | `founder` | 29 | 0 | 0 | 1 | 0 |
16
+ | `gtm` | 26 | 12 | 0 | 0 | 0 |
17
+ | `legal-review-prep` | 22 | 0 | 0 | 6 | 0 |
18
+ | `ops` | 22 | 8 | 0 | 0 | 0 |
19
+ | `product` | 22 | 15 | 0 | 0 | 0 |
20
+ | `small-business` | 28 | 0 | 18 | 0 | 0 |
20
21
 
21
22
  ## Human-review-required artefacts
22
23
 
@@ -1,10 +1,10 @@
1
1
  {
2
- "checksum": "sha256:95fb347478a0850da1fe91c83fef82e3c165493947f9d9fbcb202f5288ed8b00",
3
- "generated_at": "2026-06-29T10:58:18Z",
4
- "scanner_version": "47c9a32fb265",
2
+ "checksum": "sha256:e900a6fed0e0312f58115adfdb4d19431edef245ce557599759849bc08fd8e9b",
3
+ "generated_at": "2026-07-07T10:14:56Z",
4
+ "scanner_version": "838b6c267ce3",
5
5
  "workspaces": [
6
6
  {
7
- "artefact_count": 170,
7
+ "artefact_count": 174,
8
8
  "default_packs": [
9
9
  "engineering-base",
10
10
  "git"
@@ -27,13 +27,12 @@
27
27
  ],
28
28
  "packs": [
29
29
  {
30
- "artefact_count": 96,
30
+ "artefact_count": 95,
31
31
  "artefacts": [
32
32
  "src/domains/engineering-base/mission/upgrade/command.md",
33
33
  "src/rules/commit-conventions.md",
34
34
  "src/rules/commit-policy.md",
35
35
  "src/rules/delegation-policy.md",
36
- "src/rules/design-fidelity.md",
37
36
  "src/rules/docker-commands.md",
38
37
  "src/rules/downstream-changes.md",
39
38
  "src/rules/engineering-safety-floor.md",
@@ -227,14 +226,19 @@
227
226
  "id": "python"
228
227
  },
229
228
  {
230
- "artefact_count": 6,
229
+ "artefact_count": 11,
231
230
  "artefacts": [
231
+ "src/rules/design-fidelity.md",
232
232
  "src/rules/icon-consistency.md",
233
+ "src/rules/ui-audit-gate.md",
233
234
  "src/skills/design-intelligence/SKILL.md",
234
235
  "src/skills/design-system-capture/SKILL.md",
235
236
  "src/skills/design-tokens/SKILL.md",
237
+ "src/skills/design-variations/SKILL.md",
238
+ "src/skills/html-deck/SKILL.md",
236
239
  "src/skills/iconography/SKILL.md",
237
- "src/skills/typography-system/SKILL.md"
240
+ "src/skills/typography-system/SKILL.md",
241
+ "src/skills/wireframe/SKILL.md"
238
242
  ],
239
243
  "id": "frontend-design"
240
244
  },
@@ -466,7 +470,7 @@
466
470
  ]
467
471
  },
468
472
  {
469
- "artefact_count": 18,
473
+ "artefact_count": 22,
470
474
  "default_packs": [
471
475
  "small-business"
472
476
  ],
@@ -485,8 +489,11 @@
485
489
  "id": "small-business"
486
490
  },
487
491
  {
488
- "artefact_count": 10,
492
+ "artefact_count": 13,
489
493
  "artefacts": [
494
+ "src/rules/media-governance-routing.md",
495
+ "src/rules/media-sync-ground-truth.md",
496
+ "src/rules/provider-lifecycle-discipline.md",
490
497
  "src/skills/canvas-design/SKILL.md",
491
498
  "src/skills/character-consistency/SKILL.md",
492
499
  "src/skills/image-analyser/SKILL.md",
@@ -501,8 +508,11 @@
501
508
  "id": "ai-video"
502
509
  },
503
510
  {
504
- "artefact_count": 6,
511
+ "artefact_count": 9,
505
512
  "artefacts": [
513
+ "src/rules/image-likeness-and-rights.md",
514
+ "src/rules/media-governance-routing.md",
515
+ "src/rules/provider-lifecycle-discipline.md",
506
516
  "src/skills/brand-asset-generation/SKILL.md",
507
517
  "src/skills/image-editing/SKILL.md",
508
518
  "src/skills/image-generation/SKILL.md",
@@ -564,7 +574,7 @@
564
574
  ]
565
575
  },
566
576
  {
567
- "artefact_count": 274,
577
+ "artefact_count": 275,
568
578
  "default_packs": [
569
579
  "meta",
570
580
  "memory",
@@ -577,7 +587,7 @@
577
587
  "optional_packs": [],
578
588
  "packs": [
579
589
  {
580
- "artefact_count": 250,
590
+ "artefact_count": 251,
581
591
  "artefacts": [
582
592
  "src/agent-src/templates/agents/proposal.example.md",
583
593
  "src/domains/ai-video/image/analyse/command.md",
@@ -616,6 +626,7 @@
616
626
  "src/domains/engineering-base/module/command.md",
617
627
  "src/domains/engineering-base/module/create/command.md",
618
628
  "src/domains/engineering-base/module/explore/command.md",
629
+ "src/domains/engineering-base/optimize-project/command.md",
619
630
  "src/domains/engineering-base/package-test/command.md",
620
631
  "src/domains/engineering-base/prepare-for-review/command.md",
621
632
  "src/domains/engineering-base/project-analyze/command.md",
@@ -681,6 +692,9 @@
681
692
  "src/domains/meta/skills/command.md",
682
693
  "src/domains/meta/skills/discover/command.md",
683
694
  "src/domains/meta/sync-agent-settings/command.md",
695
+ "src/domains/meta/team-knowledge/bootstrap/command.md",
696
+ "src/domains/meta/team-knowledge/command.md",
697
+ "src/domains/meta/team-knowledge/consolidate/command.md",
684
698
  "src/domains/meta/upstream-contribute/command.md",
685
699
  "src/domains/product-basic/estimate-ticket/command.md",
686
700
  "src/domains/product-basic/jira-ticket/command.md",
@@ -710,8 +724,10 @@
710
724
  "src/rules/autonomous-execution.md",
711
725
  "src/rules/cli-output-handling.md",
712
726
  "src/rules/command-suggestion-policy.md",
727
+ "src/rules/content-quoting-floor.md",
713
728
  "src/rules/context-hygiene.md",
714
729
  "src/rules/copilot-routing.md",
730
+ "src/rules/decision-revisit-gate.md",
715
731
  "src/rules/devcontainer-routing.md",
716
732
  "src/rules/direct-answers.md",
717
733
  "src/rules/domain-adoption-policy.md",
@@ -722,13 +738,10 @@
722
738
  "src/rules/fast-path-marker-visibility.md",
723
739
  "src/rules/framework-neutrality-in-generic-skills.md",
724
740
  "src/rules/guidelines.md",
725
- "src/rules/image-likeness-and-rights.md",
726
741
  "src/rules/invite-challenge.md",
727
742
  "src/rules/language-and-tone.md",
728
743
  "src/rules/low-impact-corpus-privacy-floor.md",
729
744
  "src/rules/markdown-safe-codeblocks.md",
730
- "src/rules/media-governance-routing.md",
731
- "src/rules/media-sync-ground-truth.md",
732
745
  "src/rules/missing-tool-handling.md",
733
746
  "src/rules/model-recommendation.md",
734
747
  "src/rules/no-attribution-footers.md",
@@ -741,7 +754,6 @@
741
754
  "src/rules/package-ci-checks.md",
742
755
  "src/rules/persona-governance.md",
743
756
  "src/rules/preservation-guard.md",
744
- "src/rules/provider-lifecycle-discipline.md",
745
757
  "src/rules/reviewer-awareness.md",
746
758
  "src/rules/roadmap-ci-steps-policy.md",
747
759
  "src/rules/roadmap-progress-sync.md",
@@ -759,7 +771,6 @@
759
771
  "src/rules/token-efficiency.md",
760
772
  "src/rules/token-optimizer-maintenance.md",
761
773
  "src/rules/tool-safety.md",
762
- "src/rules/ui-audit-gate.md",
763
774
  "src/rules/upstream-proposal.md",
764
775
  "src/rules/user-interaction.md",
765
776
  "src/rules/user-interrupt-priority.md",
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Pre-flight validation stage — road-to-flow-learnings Phase 0.
3
+ *
4
+ * Pure-ish (read-only filesystem probes, no writes) validation that runs
5
+ * BEFORE {@link buildInstallPlan} output is applied. Each probe produces a
6
+ * typed {@link PreflightFinding} instead of crashing, so callers (the init
7
+ * CLI's `--validate-only`, the fleet runner, the wizard) can render the
8
+ * full finding list and decide.
9
+ *
10
+ * Severity contract:
11
+ * - `blocking` — the install would fail or corrupt state; `--validate-only`
12
+ * exits non-zero on any blocking finding.
13
+ * - `warning` — the install can proceed but the operator should look.
14
+ * - `info` — context surfaced for the report, never gating.
15
+ */
16
+ import { accessSync, constants, existsSync, statSync } from 'node:fs';
17
+ import * as fs from 'node:fs';
18
+ import { dirname } from 'node:path';
19
+ import { buildInstallPlan } from './plan.js';
20
+ import { computeConflicts } from './conflict.js';
21
+ import { detectToolPresence } from './detect.js';
22
+ /** Default free-disk floor: 50 MiB — far above any real payload size. */
23
+ export const DEFAULT_DISK_FLOOR_BYTES = 50 * 1024 * 1024;
24
+ /** Walk up from `p` to the nearest existing ancestor (inclusive). */
25
+ function nearestExistingAncestor(p) {
26
+ let cur = p;
27
+ while (!existsSync(cur)) {
28
+ const parent = dirname(cur);
29
+ if (parent === cur)
30
+ return cur;
31
+ cur = parent;
32
+ }
33
+ return cur;
34
+ }
35
+ /** Probe 1 — every distinct destination root must be writable (or creatable). */
36
+ export function checkPermissions(inputs) {
37
+ const out = [];
38
+ const roots = new Set([inputs.root, ...inputs.sources.map((s) => s.destDir)]);
39
+ for (const root of roots) {
40
+ const probe = nearestExistingAncestor(root);
41
+ try {
42
+ accessSync(probe, constants.W_OK);
43
+ }
44
+ catch {
45
+ out.push({
46
+ id: 'permissions',
47
+ severity: 'blocking',
48
+ path: root,
49
+ message: `target root is not writable (nearest existing ancestor: ${probe})`,
50
+ remedy: `fix permissions on ${probe} or choose a different target`,
51
+ });
52
+ }
53
+ if (existsSync(root)) {
54
+ try {
55
+ if (!statSync(root).isDirectory()) {
56
+ out.push({
57
+ id: 'permissions',
58
+ severity: 'blocking',
59
+ path: root,
60
+ message: 'target root exists but is not a directory',
61
+ remedy: `move or remove the file at ${root}`,
62
+ });
63
+ }
64
+ }
65
+ catch {
66
+ // statSync raced with a concurrent delete — treat as absent.
67
+ }
68
+ }
69
+ }
70
+ return out;
71
+ }
72
+ /** Probe 2 — free-disk floor on the volume holding the install root. */
73
+ export function checkDiskSpace(inputs, opts = {}) {
74
+ const floor = opts.diskFloorBytes ?? DEFAULT_DISK_FLOOR_BYTES;
75
+ const probe = nearestExistingAncestor(inputs.root);
76
+ // statfsSync is Node >= 18.15; treat absence as "check unavailable",
77
+ // never as a pass or a fail.
78
+ const statfsSync = fs.statfsSync;
79
+ if (typeof statfsSync !== 'function') {
80
+ return [
81
+ {
82
+ id: 'disk-space',
83
+ severity: 'info',
84
+ path: probe,
85
+ message: 'free-disk check unavailable on this Node runtime',
86
+ remedy: '',
87
+ },
88
+ ];
89
+ }
90
+ try {
91
+ const st = statfsSync(probe);
92
+ const free = st.bavail * st.bsize;
93
+ if (free < floor) {
94
+ return [
95
+ {
96
+ id: 'disk-space',
97
+ severity: 'blocking',
98
+ path: probe,
99
+ message: `free disk ${free} B is below the ${floor} B floor`,
100
+ remedy: 'free disk space on the target volume, then re-run',
101
+ },
102
+ ];
103
+ }
104
+ }
105
+ catch {
106
+ return [
107
+ {
108
+ id: 'disk-space',
109
+ severity: 'info',
110
+ path: probe,
111
+ message: 'free-disk probe failed (statfs error) — check skipped',
112
+ remedy: '',
113
+ },
114
+ ];
115
+ }
116
+ return [];
117
+ }
118
+ /** Probe 3 — surface plan conflicts as findings (reuses `computeConflicts`). */
119
+ export function checkConflicts(inputs) {
120
+ const plan = buildInstallPlan(inputs);
121
+ const conflicts = computeConflicts(plan);
122
+ return conflicts.map((c) => ({
123
+ id: 'conflicts',
124
+ severity: 'warning',
125
+ path: c.path,
126
+ message: `existing file conflicts with planned ${c.kind} content`,
127
+ remedy: 'resolve interactively, or pass --force to overwrite',
128
+ }));
129
+ }
130
+ /** Probe 4 — host-detection sanity: report what the target tree looks like. */
131
+ export function checkHostDetection(inputs) {
132
+ const presence = detectToolPresence(inputs.root);
133
+ const detected = Object.entries(presence)
134
+ .filter(([, v]) => v === true)
135
+ .map(([k]) => k);
136
+ if (detected.length === 0) {
137
+ return [
138
+ {
139
+ id: 'host-detection',
140
+ severity: 'info',
141
+ path: inputs.root,
142
+ message: 'no AI-tool directories detected at the target root',
143
+ remedy: 'expected for a first global install; verify the target path is right',
144
+ },
145
+ ];
146
+ }
147
+ return [
148
+ {
149
+ id: 'host-detection',
150
+ severity: 'info',
151
+ path: inputs.root,
152
+ message: `detected AI-tool surfaces: ${detected.join(', ')}`,
153
+ remedy: '',
154
+ },
155
+ ];
156
+ }
157
+ /**
158
+ * Run the full pre-flight suite. Never throws for probe-level problems —
159
+ * every issue is a typed finding. Ordering is stable (probe order above).
160
+ */
161
+ export function runPreflight(inputs, opts = {}) {
162
+ return [
163
+ ...checkPermissions(inputs),
164
+ ...checkDiskSpace(inputs, opts),
165
+ ...checkConflicts(inputs),
166
+ ...checkHostDetection(inputs),
167
+ ];
168
+ }
169
+ /** True when any finding blocks the install (`--validate-only` exit contract). */
170
+ export function hasBlockingFinding(findings) {
171
+ return findings.some((f) => f.severity === 'blocking');
172
+ }
173
+ //# sourceMappingURL=preflight.js.map