@event4u/agent-config 2.26.0 → 3.1.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 (870) hide show
  1. package/.agent-src/commands/agent-handoff.md +15 -3
  2. package/.agent-src/commands/agent-status.md +12 -0
  3. package/.agent-src/commands/agents/audit.md +12 -0
  4. package/.agent-src/commands/agents/init.md +12 -0
  5. package/.agent-src/commands/agents/optimize.md +12 -0
  6. package/.agent-src/commands/agents/user/accept.md +12 -0
  7. package/.agent-src/commands/agents/user/init.md +12 -0
  8. package/.agent-src/commands/agents/user/review.md +12 -0
  9. package/.agent-src/commands/agents/user/show.md +12 -0
  10. package/.agent-src/commands/agents/user/update.md +12 -0
  11. package/.agent-src/commands/agents/user.md +12 -0
  12. package/.agent-src/commands/agents.md +12 -0
  13. package/.agent-src/commands/analyze-reference-repo.md +15 -3
  14. package/.agent-src/commands/bug-fix.md +12 -0
  15. package/.agent-src/commands/bug-investigate.md +13 -1
  16. package/.agent-src/commands/challenge-me/vision.md +12 -0
  17. package/.agent-src/commands/challenge-me/with-docs.md +12 -0
  18. package/.agent-src/commands/challenge-me.md +12 -0
  19. package/.agent-src/commands/chat-history/import.md +16 -4
  20. package/.agent-src/commands/chat-history/learn.md +15 -3
  21. package/.agent-src/commands/chat-history/show.md +17 -5
  22. package/.agent-src/commands/chat-history.md +14 -2
  23. package/.agent-src/commands/check-current-md.md +12 -0
  24. package/.agent-src/commands/commit/in-chunks.md +12 -0
  25. package/.agent-src/commands/commit.md +12 -0
  26. package/.agent-src/commands/compress.md +12 -0
  27. package/.agent-src/commands/context/create.md +17 -5
  28. package/.agent-src/commands/context/refactor.md +15 -3
  29. package/.agent-src/commands/context.md +12 -0
  30. package/.agent-src/commands/cost-report.md +12 -0
  31. package/.agent-src/commands/council/analysis.md +15 -3
  32. package/.agent-src/commands/council/debate.md +17 -5
  33. package/.agent-src/commands/council/default.md +17 -5
  34. package/.agent-src/commands/council/design.md +12 -0
  35. package/.agent-src/commands/council/optimize.md +12 -0
  36. package/.agent-src/commands/council/pr.md +12 -0
  37. package/.agent-src/commands/council.md +13 -1
  38. package/.agent-src/commands/create-pr/description-only.md +12 -0
  39. package/.agent-src/commands/create-pr.md +39 -0
  40. package/.agent-src/commands/e2e-heal.md +12 -0
  41. package/.agent-src/commands/e2e-plan.md +12 -0
  42. package/.agent-src/commands/estimate-ticket.md +12 -0
  43. package/.agent-src/commands/feature/dev.md +13 -1
  44. package/.agent-src/commands/feature/explore.md +12 -0
  45. package/.agent-src/commands/feature/plan.md +14 -2
  46. package/.agent-src/commands/feature/refactor.md +12 -0
  47. package/.agent-src/commands/feature/roadmap.md +12 -0
  48. package/.agent-src/commands/feature.md +12 -0
  49. package/.agent-src/commands/fix/ci.md +12 -0
  50. package/.agent-src/commands/fix/portability.md +12 -0
  51. package/.agent-src/commands/fix/pr-bot-comments.md +12 -0
  52. package/.agent-src/commands/fix/pr-comments.md +12 -0
  53. package/.agent-src/commands/fix/pr-developer-comments.md +12 -0
  54. package/.agent-src/commands/fix/refs.md +12 -0
  55. package/.agent-src/commands/fix/seeder.md +12 -0
  56. package/.agent-src/commands/fix.md +12 -0
  57. package/.agent-src/commands/ghostwriter/delete.md +20 -8
  58. package/.agent-src/commands/ghostwriter/fetch.md +19 -7
  59. package/.agent-src/commands/ghostwriter/list.md +19 -7
  60. package/.agent-src/commands/ghostwriter/show.md +14 -2
  61. package/.agent-src/commands/ghostwriter/write.md +15 -3
  62. package/.agent-src/commands/ghostwriter.md +14 -2
  63. package/.agent-src/commands/grill-me.md +12 -0
  64. package/.agent-src/commands/implement-ticket.md +12 -0
  65. package/.agent-src/commands/install-via-agent.md +129 -0
  66. package/.agent-src/commands/jira-ticket.md +12 -0
  67. package/.agent-src/commands/judge/on-diff.md +12 -0
  68. package/.agent-src/commands/judge/solo.md +12 -0
  69. package/.agent-src/commands/judge/steps.md +12 -0
  70. package/.agent-src/commands/judge.md +12 -0
  71. package/.agent-src/commands/memory/add.md +12 -0
  72. package/.agent-src/commands/memory/learn-low-impact.md +18 -6
  73. package/.agent-src/commands/memory/load.md +12 -0
  74. package/.agent-src/commands/memory/mine-session.md +12 -0
  75. package/.agent-src/commands/memory/promote.md +12 -0
  76. package/.agent-src/commands/memory/propose.md +12 -0
  77. package/.agent-src/commands/memory.md +12 -0
  78. package/.agent-src/commands/mode.md +12 -0
  79. package/.agent-src/commands/module/create.md +12 -0
  80. package/.agent-src/commands/module/explore.md +13 -1
  81. package/.agent-src/commands/module.md +12 -0
  82. package/.agent-src/commands/optimize/agents-dir.md +14 -2
  83. package/.agent-src/commands/optimize/augmentignore.md +12 -0
  84. package/.agent-src/commands/optimize/rtk.md +12 -0
  85. package/.agent-src/commands/optimize/skills.md +12 -0
  86. package/.agent-src/commands/optimize-prompt.md +12 -0
  87. package/.agent-src/commands/optimize.md +12 -0
  88. package/.agent-src/commands/orchestrate.md +13 -1
  89. package/.agent-src/commands/override/create.md +12 -0
  90. package/.agent-src/commands/override/manage.md +12 -0
  91. package/.agent-src/commands/override.md +12 -0
  92. package/.agent-src/commands/package-reset.md +12 -0
  93. package/.agent-src/commands/package-test.md +12 -0
  94. package/.agent-src/commands/post-as/ghostwriter.md +12 -0
  95. package/.agent-src/commands/post-as/me.md +13 -1
  96. package/.agent-src/commands/post-as.md +12 -0
  97. package/.agent-src/commands/prepare-for-review.md +12 -0
  98. package/.agent-src/commands/project-analyze.md +27 -15
  99. package/.agent-src/commands/project-health.md +13 -1
  100. package/.agent-src/commands/quality-fix.md +12 -0
  101. package/.agent-src/commands/refine-ticket.md +12 -0
  102. package/.agent-src/commands/research/deep.md +12 -0
  103. package/.agent-src/commands/research/report.md +12 -0
  104. package/.agent-src/commands/research.md +12 -0
  105. package/.agent-src/commands/review-changes.md +12 -0
  106. package/.agent-src/commands/review-routing.md +12 -0
  107. package/.agent-src/commands/roadmap/ai-council.md +15 -3
  108. package/.agent-src/commands/roadmap/create.md +13 -1
  109. package/.agent-src/commands/roadmap/process-full.md +12 -0
  110. package/.agent-src/commands/roadmap/process-phase.md +12 -0
  111. package/.agent-src/commands/roadmap/process-step.md +12 -0
  112. package/.agent-src/commands/roadmap.md +12 -0
  113. package/.agent-src/commands/rule-compliance-audit.md +12 -0
  114. package/.agent-src/commands/set-cost-profile.md +12 -0
  115. package/.agent-src/commands/sync-agent-settings.md +12 -0
  116. package/.agent-src/commands/sync-gitignore/fix.md +32 -13
  117. package/.agent-src/commands/sync-gitignore.md +13 -1
  118. package/.agent-src/commands/tests/create.md +12 -0
  119. package/.agent-src/commands/tests/execute.md +12 -0
  120. package/.agent-src/commands/tests.md +12 -0
  121. package/.agent-src/commands/threat-model.md +12 -0
  122. package/.agent-src/commands/update-form-request-messages.md +12 -0
  123. package/.agent-src/commands/upstream-contribute.md +12 -0
  124. package/.agent-src/commands/video/from-script.md +13 -1
  125. package/.agent-src/commands/video/scene.md +12 -0
  126. package/.agent-src/commands/video/stitch.md +13 -1
  127. package/.agent-src/commands/video/storyboard.md +12 -0
  128. package/.agent-src/commands/video.md +13 -1
  129. package/.agent-src/commands/work.md +12 -0
  130. package/.agent-src/contexts/augment-infrastructure.md +2 -2
  131. package/.agent-src/contexts/authority/scope-mechanics.md +11 -0
  132. package/.agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
  133. package/.agent-src/contexts/documentation-hierarchy.md +2 -2
  134. package/.agent-src/contexts/execution/cheap-question-mechanics.md +81 -0
  135. package/.agent-src/contexts/execution/roadmap-process-loop.md +19 -0
  136. package/.agent-src/ghostwriter/README.md +2 -2
  137. package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
  138. package/.agent-src/personas/README.md +1 -1
  139. package/.agent-src/personas/advisors/contrarian.md +1 -1
  140. package/.agent-src/personas/advisors/executor.md +1 -1
  141. package/.agent-src/personas/advisors/expansionist.md +1 -1
  142. package/.agent-src/personas/advisors/first-principles.md +1 -1
  143. package/.agent-src/personas/advisors/outsider.md +1 -1
  144. package/.agent-src/rules/agent-authority.md +12 -0
  145. package/.agent-src/rules/analysis-skill-routing.md +12 -0
  146. package/.agent-src/rules/architecture.md +13 -1
  147. package/.agent-src/rules/artifact-drafting-protocol.md +13 -1
  148. package/.agent-src/rules/artifact-engagement-recording.md +13 -1
  149. package/.agent-src/rules/ask-when-uncertain.md +12 -0
  150. package/.agent-src/rules/augment-edit-discipline.md +13 -1
  151. package/.agent-src/rules/augment-source-of-truth.md +13 -1
  152. package/.agent-src/rules/autonomous-execution.md +13 -1
  153. package/.agent-src/rules/caveman-speak.md +15 -3
  154. package/.agent-src/rules/cli-output-handling.md +13 -1
  155. package/.agent-src/rules/command-suggestion-policy.md +13 -1
  156. package/.agent-src/rules/commit-conventions.md +13 -1
  157. package/.agent-src/rules/commit-policy.md +12 -0
  158. package/.agent-src/rules/context-hygiene.md +51 -3
  159. package/.agent-src/rules/copilot-routing.md +13 -1
  160. package/.agent-src/rules/devcontainer-routing.md +13 -1
  161. package/.agent-src/rules/direct-answers.md +12 -0
  162. package/.agent-src/rules/docker-commands.md +13 -1
  163. package/.agent-src/rules/domain-adoption-policy.md +17 -5
  164. package/.agent-src/rules/domain-safety-disclaimer.md +13 -1
  165. package/.agent-src/rules/domain-safety-pii.md +13 -1
  166. package/.agent-src/rules/domain-safety-retention.md +13 -1
  167. package/.agent-src/rules/downstream-changes.md +13 -1
  168. package/.agent-src/rules/engineering-safety-floor.md +102 -0
  169. package/.agent-src/rules/external-reference-deep-dive.md +13 -1
  170. package/.agent-src/rules/fast-path-marker-visibility.md +21 -1
  171. package/.agent-src/rules/finance-safety-floor.md +114 -0
  172. package/.agent-src/rules/framework-neutrality-in-generic-skills.md +13 -1
  173. package/.agent-src/rules/git-history-discipline.md +14 -2
  174. package/.agent-src/rules/guidelines.md +12 -0
  175. package/.agent-src/rules/improve-before-implement.md +13 -1
  176. package/.agent-src/rules/invite-challenge.md +13 -1
  177. package/.agent-src/rules/language-and-tone.md +12 -0
  178. package/.agent-src/rules/laravel-routing.md +13 -1
  179. package/.agent-src/rules/laravel-translations.md +13 -1
  180. package/.agent-src/rules/low-impact-corpus-privacy-floor.md +17 -5
  181. package/.agent-src/rules/markdown-safe-codeblocks.md +13 -1
  182. package/.agent-src/rules/media-governance-routing.md +27 -15
  183. package/.agent-src/rules/minimal-safe-diff.md +13 -1
  184. package/.agent-src/rules/missing-tool-handling.md +13 -1
  185. package/.agent-src/rules/model-recommendation.md +13 -1
  186. package/.agent-src/rules/no-attribution-footers.md +13 -1
  187. package/.agent-src/rules/no-cheap-questions.md +46 -32
  188. package/.agent-src/rules/no-roadmap-references.md +28 -16
  189. package/.agent-src/rules/non-destructive-by-default.md +12 -0
  190. package/.agent-src/rules/onboarding-gate.md +19 -6
  191. package/.agent-src/rules/package-ci-checks.md +12 -0
  192. package/.agent-src/rules/persona-governance.md +13 -1
  193. package/.agent-src/rules/php-coding.md +13 -1
  194. package/.agent-src/rules/preservation-guard.md +13 -1
  195. package/.agent-src/rules/provider-lifecycle-discipline.md +18 -6
  196. package/.agent-src/rules/reviewer-awareness.md +13 -1
  197. package/.agent-src/rules/roadmap-ci-steps-policy.md +13 -1
  198. package/.agent-src/rules/roadmap-progress-sync.md +18 -1
  199. package/.agent-src/rules/role-mode-adherence.md +13 -1
  200. package/.agent-src/rules/rule-type-governance.md +13 -1
  201. package/.agent-src/rules/runtime-safety.md +13 -1
  202. package/.agent-src/rules/scope-control.md +12 -0
  203. package/.agent-src/rules/security-sensitive-stop.md +13 -1
  204. package/.agent-src/rules/size-enforcement.md +12 -0
  205. package/.agent-src/rules/skill-improvement-trigger.md +13 -1
  206. package/.agent-src/rules/skill-quality.md +13 -1
  207. package/.agent-src/rules/slash-command-routing-policy.md +13 -1
  208. package/.agent-src/rules/strategy-safety-floor.md +114 -0
  209. package/.agent-src/rules/symfony-routing.md +13 -1
  210. package/.agent-src/rules/think-before-action.md +13 -1
  211. package/.agent-src/rules/token-efficiency.md +13 -1
  212. package/.agent-src/rules/token-optimizer-maintenance.md +12 -0
  213. package/.agent-src/rules/tool-safety.md +13 -1
  214. package/.agent-src/rules/ui-audit-gate.md +13 -1
  215. package/.agent-src/rules/upstream-proposal.md +13 -1
  216. package/.agent-src/rules/user-interaction.md +13 -1
  217. package/.agent-src/rules/user-interrupt-priority.md +12 -0
  218. package/.agent-src/rules/verify-before-complete.md +12 -0
  219. package/.agent-src/skills/accessibility-auditor/SKILL.md +12 -0
  220. package/.agent-src/skills/activation-design/SKILL.md +12 -0
  221. package/.agent-src/skills/adr-create/SKILL.md +12 -0
  222. package/.agent-src/skills/adversarial-review/SKILL.md +12 -0
  223. package/.agent-src/skills/agent-docs-writing/SKILL.md +16 -4
  224. package/.agent-src/skills/agents-md-thin-root/SKILL.md +28 -10
  225. package/.agent-src/skills/ai-council/SKILL.md +28 -15
  226. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +12 -0
  227. package/.agent-src/skills/analysis-skill-router/SKILL.md +12 -0
  228. package/.agent-src/skills/api-design/SKILL.md +13 -3
  229. package/.agent-src/skills/api-endpoint/SKILL.md +12 -0
  230. package/.agent-src/skills/api-testing/SKILL.md +12 -0
  231. package/.agent-src/skills/architecture-review-lens/SKILL.md +12 -0
  232. package/.agent-src/skills/artisan-commands/SKILL.md +12 -0
  233. package/.agent-src/skills/async-python-patterns/SKILL.md +13 -1
  234. package/.agent-src/skills/authz-review/SKILL.md +12 -2
  235. package/.agent-src/skills/aws-infrastructure/SKILL.md +12 -0
  236. package/.agent-src/skills/blade-ui/SKILL.md +12 -0
  237. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +12 -0
  238. package/.agent-src/skills/bug-analyzer/SKILL.md +14 -2
  239. package/.agent-src/skills/build-buy-partner/SKILL.md +12 -0
  240. package/.agent-src/skills/canvas-design/SKILL.md +12 -0
  241. package/.agent-src/skills/character-consistency/SKILL.md +23 -11
  242. package/.agent-src/skills/check-refs/SKILL.md +12 -0
  243. package/.agent-src/skills/churn-prevention/SKILL.md +12 -0
  244. package/.agent-src/skills/code-refactoring/SKILL.md +16 -4
  245. package/.agent-src/skills/code-review/SKILL.md +12 -0
  246. package/.agent-src/skills/command-routing/SKILL.md +12 -0
  247. package/.agent-src/skills/command-writing/SKILL.md +14 -2
  248. package/.agent-src/skills/comp-banding/SKILL.md +12 -0
  249. package/.agent-src/skills/competitive-moat-analysis/SKILL.md +12 -2
  250. package/.agent-src/skills/competitive-positioning/SKILL.md +12 -2
  251. package/.agent-src/skills/composer-packages/SKILL.md +12 -0
  252. package/.agent-src/skills/compress-memory/SKILL.md +12 -0
  253. package/.agent-src/skills/content-funnel-design/SKILL.md +12 -2
  254. package/.agent-src/skills/context-authoring/SKILL.md +18 -6
  255. package/.agent-src/skills/context-document/SKILL.md +17 -5
  256. package/.agent-src/skills/contracts-cognition/SKILL.md +12 -2
  257. package/.agent-src/skills/conventional-commits-writing/SKILL.md +12 -0
  258. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +13 -1
  259. package/.agent-src/skills/copilot-config/SKILL.md +12 -0
  260. package/.agent-src/skills/customer-research/SKILL.md +12 -0
  261. package/.agent-src/skills/dashboard-design/SKILL.md +12 -0
  262. package/.agent-src/skills/data-flow-mapper/SKILL.md +12 -0
  263. package/.agent-src/skills/data-handling-judgment/SKILL.md +12 -2
  264. package/.agent-src/skills/database/SKILL.md +14 -2
  265. package/.agent-src/skills/dcf-modeling/SKILL.md +12 -2
  266. package/.agent-src/skills/deal-qualification-meddic/SKILL.md +12 -2
  267. package/.agent-src/skills/decision-record/SKILL.md +12 -0
  268. package/.agent-src/skills/deep-reading-analyst/SKILL.md +12 -0
  269. package/.agent-src/skills/defense-in-depth/SKILL.md +13 -1
  270. package/.agent-src/skills/dependency-upgrade/SKILL.md +12 -0
  271. package/.agent-src/skills/description-assist/SKILL.md +12 -0
  272. package/.agent-src/skills/design-review/SKILL.md +12 -0
  273. package/.agent-src/skills/devcontainer/SKILL.md +12 -0
  274. package/.agent-src/skills/developer-like-execution/SKILL.md +12 -0
  275. package/.agent-src/skills/discovery-interview/SKILL.md +12 -2
  276. package/.agent-src/skills/doc-coauthoring/SKILL.md +12 -0
  277. package/.agent-src/skills/docker/SKILL.md +12 -0
  278. package/.agent-src/skills/editorial-calendar/SKILL.md +12 -2
  279. package/.agent-src/skills/eloquent/SKILL.md +12 -0
  280. package/.agent-src/skills/eloquent/evals/triggers.json +1 -1
  281. package/.agent-src/skills/error-handling-patterns/SKILL.md +13 -1
  282. package/.agent-src/skills/estimate-ticket/SKILL.md +12 -0
  283. package/.agent-src/skills/existing-ui-audit/SKILL.md +12 -0
  284. package/.agent-src/skills/expansion-playbook/SKILL.md +12 -0
  285. package/.agent-src/skills/fe-design/SKILL.md +12 -0
  286. package/.agent-src/skills/feature-planning/SKILL.md +12 -0
  287. package/.agent-src/skills/file-editor/SKILL.md +12 -0
  288. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +12 -0
  289. package/.agent-src/skills/flux/SKILL.md +12 -0
  290. package/.agent-src/skills/forecast-accuracy/SKILL.md +12 -2
  291. package/.agent-src/skills/forecasting/SKILL.md +12 -2
  292. package/.agent-src/skills/form-handler/SKILL.md +12 -0
  293. package/.agent-src/skills/fundraising-narrative/SKILL.md +12 -2
  294. package/.agent-src/skills/funnel-analysis/SKILL.md +12 -0
  295. package/.agent-src/skills/git-workflow/SKILL.md +12 -0
  296. package/.agent-src/skills/github-ci/SKILL.md +12 -0
  297. package/.agent-src/skills/grafana/SKILL.md +12 -0
  298. package/.agent-src/skills/gtm-launch/SKILL.md +12 -2
  299. package/.agent-src/skills/guideline-writing/SKILL.md +12 -0
  300. package/.agent-src/skills/hiring-loop-design/SKILL.md +12 -0
  301. package/.agent-src/skills/incident-commander/SKILL.md +12 -2
  302. package/.agent-src/skills/jira-integration/SKILL.md +12 -0
  303. package/.agent-src/skills/jobs-events/SKILL.md +12 -0
  304. package/.agent-src/skills/judge-bug-hunter/SKILL.md +12 -0
  305. package/.agent-src/skills/judge-code-quality/SKILL.md +12 -0
  306. package/.agent-src/skills/judge-security-auditor/SKILL.md +12 -0
  307. package/.agent-src/skills/judge-test-coverage/SKILL.md +12 -0
  308. package/.agent-src/skills/laravel/SKILL.md +12 -0
  309. package/.agent-src/skills/laravel-api-endpoint/SKILL.md +15 -3
  310. package/.agent-src/skills/laravel-dto/SKILL.md +14 -2
  311. package/.agent-src/skills/laravel-horizon/SKILL.md +12 -0
  312. package/.agent-src/skills/laravel-mail/SKILL.md +12 -0
  313. package/.agent-src/skills/laravel-middleware/SKILL.md +12 -0
  314. package/.agent-src/skills/laravel-migration/SKILL.md +12 -0
  315. package/.agent-src/skills/laravel-notifications/SKILL.md +12 -0
  316. package/.agent-src/skills/laravel-pennant/SKILL.md +12 -0
  317. package/.agent-src/skills/laravel-pulse/SKILL.md +12 -0
  318. package/.agent-src/skills/laravel-reverb/SKILL.md +12 -0
  319. package/.agent-src/skills/laravel-scheduling/SKILL.md +12 -0
  320. package/.agent-src/skills/laravel-validation/SKILL.md +12 -0
  321. package/.agent-src/skills/laravel-websocket/SKILL.md +12 -0
  322. package/.agent-src/skills/launch-readiness/SKILL.md +12 -2
  323. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +15 -3
  324. package/.agent-src/skills/lint-skills/SKILL.md +12 -0
  325. package/.agent-src/skills/livewire/SKILL.md +12 -0
  326. package/.agent-src/skills/livewire-architect/SKILL.md +12 -0
  327. package/.agent-src/skills/logging-monitoring/SKILL.md +12 -0
  328. package/.agent-src/skills/market-entry-analysis/SKILL.md +12 -0
  329. package/.agent-src/skills/markitdown/SKILL.md +14 -2
  330. package/.agent-src/skills/mcp/SKILL.md +12 -0
  331. package/.agent-src/skills/mcp-builder/SKILL.md +14 -2
  332. package/.agent-src/skills/md-language-check/SKILL.md +13 -1
  333. package/.agent-src/skills/memory-consolidation/SKILL.md +12 -0
  334. package/.agent-src/skills/merge-conflicts/SKILL.md +12 -0
  335. package/.agent-src/skills/messaging-architecture/SKILL.md +12 -2
  336. package/.agent-src/skills/migration-architect/SKILL.md +12 -0
  337. package/.agent-src/skills/mobile-e2e-strategy/SKILL.md +12 -0
  338. package/.agent-src/skills/module-management/SKILL.md +12 -0
  339. package/.agent-src/skills/motion-choreographer/SKILL.md +16 -4
  340. package/.agent-src/skills/multi-tenancy/SKILL.md +14 -2
  341. package/.agent-src/skills/nextjs-patterns/SKILL.md +12 -0
  342. package/.agent-src/skills/okr-tree-modeling/SKILL.md +12 -2
  343. package/.agent-src/skills/onboarding-design/SKILL.md +12 -0
  344. package/.agent-src/skills/onboarding-program/SKILL.md +12 -0
  345. package/.agent-src/skills/one-on-one-cadence/SKILL.md +12 -0
  346. package/.agent-src/skills/openapi/SKILL.md +13 -1
  347. package/.agent-src/skills/org-design/SKILL.md +12 -0
  348. package/.agent-src/skills/override-management/SKILL.md +12 -0
  349. package/.agent-src/skills/perf-feedback-craft/SKILL.md +12 -0
  350. package/.agent-src/skills/performance/SKILL.md +12 -0
  351. package/.agent-src/skills/performance-analysis/SKILL.md +12 -0
  352. package/.agent-src/skills/persona-writing/SKILL.md +12 -0
  353. package/.agent-src/skills/pest-testing/SKILL.md +12 -0
  354. package/.agent-src/skills/php-coder/SKILL.md +12 -0
  355. package/.agent-src/skills/php-debugging/SKILL.md +12 -0
  356. package/.agent-src/skills/php-service/SKILL.md +12 -0
  357. package/.agent-src/skills/pipeline-strategy/SKILL.md +12 -2
  358. package/.agent-src/skills/pixar-storyteller/SKILL.md +17 -5
  359. package/.agent-src/skills/playwright-architect/SKILL.md +12 -2
  360. package/.agent-src/skills/playwright-testing/SKILL.md +12 -0
  361. package/.agent-src/skills/po-discovery/SKILL.md +12 -0
  362. package/.agent-src/skills/positioning-strategy/SKILL.md +12 -0
  363. package/.agent-src/skills/privacy-review/SKILL.md +12 -2
  364. package/.agent-src/skills/project-analysis-core/SKILL.md +12 -0
  365. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +12 -0
  366. package/.agent-src/skills/project-analysis-laravel/SKILL.md +12 -0
  367. package/.agent-src/skills/project-analysis-nextjs/SKILL.md +12 -0
  368. package/.agent-src/skills/project-analysis-node-express/SKILL.md +12 -0
  369. package/.agent-src/skills/project-analysis-react/SKILL.md +12 -0
  370. package/.agent-src/skills/project-analysis-symfony/SKILL.md +12 -0
  371. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +12 -0
  372. package/.agent-src/skills/project-analyzer/SKILL.md +30 -18
  373. package/.agent-src/skills/project-docs/SKILL.md +25 -13
  374. package/.agent-src/skills/prompt-engineering-patterns/SKILL.md +13 -1
  375. package/.agent-src/skills/prompt-optimizer/SKILL.md +13 -1
  376. package/.agent-src/skills/quality-tools/SKILL.md +12 -2
  377. package/.agent-src/skills/react-native-setup/SKILL.md +12 -0
  378. package/.agent-src/skills/react-shadcn-ui/SKILL.md +12 -0
  379. package/.agent-src/skills/readme-reviewer/SKILL.md +64 -3
  380. package/.agent-src/skills/readme-writing/SKILL.md +64 -4
  381. package/.agent-src/skills/readme-writing-package/SKILL.md +60 -5
  382. package/.agent-src/skills/receiving-code-review/SKILL.md +12 -0
  383. package/.agent-src/skills/refine-prompt/SKILL.md +13 -1
  384. package/.agent-src/skills/refine-ticket/SKILL.md +14 -2
  385. package/.agent-src/skills/refine-ticket/detection-map.yml +2 -2
  386. package/.agent-src/skills/release-comms/SKILL.md +12 -2
  387. package/.agent-src/skills/repomix-packer/SKILL.md +13 -1
  388. package/.agent-src/skills/requesting-code-review/SKILL.md +12 -0
  389. package/.agent-src/skills/retention-loops/SKILL.md +12 -0
  390. package/.agent-src/skills/review-routing/SKILL.md +12 -0
  391. package/.agent-src/skills/rice-prioritization/SKILL.md +12 -0
  392. package/.agent-src/skills/risk-officer/SKILL.md +12 -0
  393. package/.agent-src/skills/roadmap-management/SKILL.md +12 -0
  394. package/.agent-src/skills/roadmap-writing/SKILL.md +12 -0
  395. package/.agent-src/skills/rtk-output-filtering/SKILL.md +12 -0
  396. package/.agent-src/skills/rule-refactor/SKILL.md +15 -3
  397. package/.agent-src/skills/rule-writing/SKILL.md +13 -1
  398. package/.agent-src/skills/runway-cognition/SKILL.md +12 -2
  399. package/.agent-src/skills/scenario-modeling/SKILL.md +12 -2
  400. package/.agent-src/skills/scene-expander/SKILL.md +18 -6
  401. package/.agent-src/skills/script-writing/SKILL.md +13 -1
  402. package/.agent-src/skills/secrets-management/SKILL.md +13 -3
  403. package/.agent-src/skills/security/SKILL.md +12 -0
  404. package/.agent-src/skills/security-audit/SKILL.md +12 -0
  405. package/.agent-src/skills/sentry-integration/SKILL.md +12 -0
  406. package/.agent-src/skills/sequential-thinking/SKILL.md +12 -0
  407. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +12 -0
  408. package/.agent-src/skills/skill-management/SKILL.md +12 -0
  409. package/.agent-src/skills/skill-reviewer/SKILL.md +12 -0
  410. package/.agent-src/skills/skill-writing/SKILL.md +12 -0
  411. package/.agent-src/skills/sql-writing/SKILL.md +12 -0
  412. package/.agent-src/skills/stakeholder-tradeoff/SKILL.md +12 -0
  413. package/.agent-src/skills/subagent-orchestration/SKILL.md +13 -1
  414. package/.agent-src/skills/symfony-workflow/SKILL.md +12 -0
  415. package/.agent-src/skills/systematic-debugging/SKILL.md +53 -0
  416. package/.agent-src/skills/tailwind-engineer/SKILL.md +12 -0
  417. package/.agent-src/skills/tech-debt-tracker/SKILL.md +12 -2
  418. package/.agent-src/skills/technical-specification/SKILL.md +12 -0
  419. package/.agent-src/skills/terraform/SKILL.md +12 -0
  420. package/.agent-src/skills/terragrunt/SKILL.md +12 -0
  421. package/.agent-src/skills/test-driven-development/SKILL.md +12 -0
  422. package/.agent-src/skills/test-performance/SKILL.md +13 -1
  423. package/.agent-src/skills/testing-anti-patterns/SKILL.md +13 -1
  424. package/.agent-src/skills/threat-modeling/SKILL.md +12 -0
  425. package/.agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +12 -0
  426. package/.agent-src/skills/token-optimizer/SKILL.md +12 -0
  427. package/.agent-src/skills/traefik/SKILL.md +12 -0
  428. package/.agent-src/skills/ui-component-architect/SKILL.md +12 -0
  429. package/.agent-src/skills/unit-economics-modeling/SKILL.md +12 -2
  430. package/.agent-src/skills/universal-project-analysis/SKILL.md +12 -0
  431. package/.agent-src/skills/upstream-contribute/SKILL.md +12 -0
  432. package/.agent-src/skills/using-git-worktrees/SKILL.md +12 -0
  433. package/.agent-src/skills/validate-feature-fit/SKILL.md +12 -0
  434. package/.agent-src/skills/verify-completion-evidence/SKILL.md +12 -0
  435. package/.agent-src/skills/video-director/SKILL.md +18 -6
  436. package/.agent-src/skills/vision-articulation/SKILL.md +12 -0
  437. package/.agent-src/skills/voc-extract/SKILL.md +12 -2
  438. package/.agent-src/skills/voice-and-tone-design/SKILL.md +12 -2
  439. package/.agent-src/templates/agent-settings.md +5 -5
  440. package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  441. package/.agent-src/templates/agents/memory/ownership.example.yml +1 -1
  442. package/.agent-src/templates/agents/proposal.example.md +12 -0
  443. package/.agent-src/templates/command.md +1 -1
  444. package/.agent-src/templates/contexts/auth-model.md +2 -2
  445. package/.agent-src/templates/contexts/data-sensitivity.md +3 -3
  446. package/.agent-src/templates/contexts/deployment-order.md +2 -2
  447. package/.agent-src/templates/contexts/observability.md +3 -3
  448. package/.agent-src/templates/contexts/tenant-boundaries.md +3 -3
  449. package/.agent-src/templates/contexts.md +1 -1
  450. package/.agent-src/templates/hooks/pre-commit-frontmatter +66 -0
  451. package/.agent-src/templates/hooks/pre-commit-roadmap-progress +78 -39
  452. package/.agent-src/templates/rule.md +1 -1
  453. package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +7 -4
  454. package/.agent-src/templates/scripts/work_engine/cli.py +6 -6
  455. package/.agent-src/templates/scripts/work_engine/emitters.py +29 -4
  456. package/.agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.py +3 -3
  457. package/.agent-src/templates/scripts/work_engine/orchestration.py +25 -11
  458. package/.agent-src/templates/scripts/work_engine/state.py +53 -0
  459. package/.agent-src/templates/skill-archive-note.md +4 -4
  460. package/.claude-plugin/marketplace.json +2 -2
  461. package/AGENTS.md +12 -9
  462. package/CHANGELOG.md +268 -90
  463. package/CONTRIBUTING.md +61 -0
  464. package/README.md +173 -558
  465. package/config/agent-settings.template.yml +11 -8
  466. package/config/discovery/packs.yml +162 -0
  467. package/config/discovery/unassigned-artefacts.yml +68 -0
  468. package/config/discovery/workspaces.yml +59 -0
  469. package/config/gitignore-block.txt +36 -23
  470. package/dist/cli/agent-config.js +199 -0
  471. package/dist/cli/agent-config.js.map +1 -0
  472. package/dist/cli/bash/runBash.js +40 -0
  473. package/dist/cli/bash/runBash.js.map +1 -0
  474. package/dist/cli/commands/doctorShell.js +91 -0
  475. package/dist/cli/commands/doctorShell.js.map +1 -0
  476. package/dist/cli/commands/packs.js +59 -0
  477. package/dist/cli/commands/packs.js.map +1 -0
  478. package/dist/cli/commands/settings.js +35 -0
  479. package/dist/cli/commands/settings.js.map +1 -0
  480. package/dist/cli/commands/uiServe.js +119 -0
  481. package/dist/cli/commands/uiServe.js.map +1 -0
  482. package/dist/cli/commands/versions.js +64 -0
  483. package/dist/cli/commands/versions.js.map +1 -0
  484. package/dist/cli/commands/workspaces.js +58 -0
  485. package/dist/cli/commands/workspaces.js.map +1 -0
  486. package/dist/cli/discovery/loadManifest.js +62 -0
  487. package/dist/cli/discovery/loadManifest.js.map +1 -0
  488. package/dist/cli/log/logger.js +41 -0
  489. package/dist/cli/log/logger.js.map +1 -0
  490. package/dist/cli/paths.js +60 -0
  491. package/dist/cli/paths.js.map +1 -0
  492. package/dist/cli/python/resolvePython.js +38 -0
  493. package/dist/cli/python/resolvePython.js.map +1 -0
  494. package/dist/cli/registry.js +77 -0
  495. package/dist/cli/registry.js.map +1 -0
  496. package/dist/discovery/deprecation-report.md +7 -0
  497. package/dist/discovery/discovery-manifest.json +9893 -0
  498. package/dist/discovery/discovery-manifest.json.sha256 +1 -0
  499. package/dist/discovery/discovery-manifest.summary.md +93 -0
  500. package/dist/discovery/orphan-report.md +10 -0
  501. package/dist/discovery/packs.json +1002 -0
  502. package/dist/discovery/trust-report.md +26 -0
  503. package/dist/discovery/workspaces.json +705 -0
  504. package/dist/mcp/awesome-mcp-servers.row.md +1 -0
  505. package/dist/mcp/mcp-cloudflare-catalogue.json +27 -0
  506. package/dist/mcp/registry-manifest.json +63 -0
  507. package/dist/router.json +1623 -0
  508. package/dist/server/app.js +125 -0
  509. package/dist/server/app.js.map +1 -0
  510. package/dist/server/io/atomicMultiWrite.js +204 -0
  511. package/dist/server/io/atomicMultiWrite.js.map +1 -0
  512. package/dist/server/io/atomicWrite.js +79 -0
  513. package/dist/server/io/atomicWrite.js.map +1 -0
  514. package/dist/server/io/substituteTemplate.js +87 -0
  515. package/dist/server/io/substituteTemplate.js.map +1 -0
  516. package/dist/server/io/yamlIO.js +162 -0
  517. package/dist/server/io/yamlIO.js.map +1 -0
  518. package/dist/server/port.js +97 -0
  519. package/dist/server/port.js.map +1 -0
  520. package/dist/server/routes/discovery.js +72 -0
  521. package/dist/server/routes/discovery.js.map +1 -0
  522. package/dist/server/routes/ping.js +57 -0
  523. package/dist/server/routes/ping.js.map +1 -0
  524. package/dist/server/routes/schema.js +41 -0
  525. package/dist/server/routes/schema.js.map +1 -0
  526. package/dist/server/routes/settings.js +236 -0
  527. package/dist/server/routes/settings.js.map +1 -0
  528. package/dist/server/routes/userMd.js +127 -0
  529. package/dist/server/routes/userMd.js.map +1 -0
  530. package/dist/server/routes/wizard.js +374 -0
  531. package/dist/server/routes/wizard.js.map +1 -0
  532. package/dist/server/schemas/settings.js +137 -0
  533. package/dist/server/schemas/settings.js.map +1 -0
  534. package/dist/server/token.js +75 -0
  535. package/dist/server/token.js.map +1 -0
  536. package/dist/server/writeRoot.js +84 -0
  537. package/dist/server/writeRoot.js.map +1 -0
  538. package/dist/server/writeRoot.test.js +91 -0
  539. package/dist/server/writeRoot.test.js.map +1 -0
  540. package/dist/shared/userMd/formAdapter.js +83 -0
  541. package/dist/shared/userMd/formAdapter.js.map +1 -0
  542. package/dist/shared/userMd/schema.js +46 -0
  543. package/dist/shared/userMd/schema.js.map +1 -0
  544. package/dist/shared/userMd/utils.js +88 -0
  545. package/dist/shared/userMd/utils.js.map +1 -0
  546. package/dist/ui/assets/index-D-DY1ywI.js +35 -0
  547. package/dist/ui/assets/index-D-DY1ywI.js.map +1 -0
  548. package/dist/ui/assets/index-Dqfhmg-d.css +1 -0
  549. package/dist/ui/index.html +14 -0
  550. package/docs/adrs/caveman/0001-default-off-until-bench.md +2 -2
  551. package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
  552. package/docs/adrs/router/0001-three-tier-routing.md +5 -5
  553. package/docs/adrs/schema/0001-json-schema-frontmatter.md +4 -4
  554. package/docs/adrs/schema/README.md +1 -1
  555. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +3 -3
  556. package/docs/architecture/setup-vs-settings-shared-surface.md +114 -0
  557. package/docs/architecture.md +3 -2
  558. package/docs/archive/CHANGELOG-pre-2.2.0.md +7 -7
  559. package/docs/archive/CHANGELOG-pre-3.0.0.md +130 -0
  560. package/docs/archive/CHANGELOG-pre-3.1.0.md +167 -0
  561. package/docs/catalog.md +92 -100
  562. package/docs/contracts/CHANGELOG-conventions.md +1 -1
  563. package/docs/contracts/STABILITY.md +1 -1
  564. package/docs/contracts/adr-architectural-consensus-mechanism.md +5 -5
  565. package/docs/contracts/adr-chat-history-split.md +1 -1
  566. package/docs/contracts/adr-implement-ticket-runtime.md +1 -1
  567. package/docs/contracts/adr-install-user-type-axis.md +1 -1
  568. package/docs/contracts/adr-mcp-runtime.md +2 -2
  569. package/docs/contracts/agent-user-schema.md +17 -11
  570. package/docs/contracts/ai-council-config.md +13 -13
  571. package/docs/contracts/audit-log-v1.md +2 -2
  572. package/docs/contracts/command-clusters.md +2 -2
  573. package/docs/contracts/compression-default-kill-criterion.md +3 -3
  574. package/docs/contracts/consumer-bridge.md +79 -0
  575. package/docs/contracts/decision-trace-v1.md +5 -5
  576. package/docs/contracts/discovery-manifest.md +209 -0
  577. package/docs/contracts/discovery-manifest.schema.json +219 -0
  578. package/docs/contracts/explain-trace.schema.json +144 -0
  579. package/docs/contracts/file-ownership-matrix.json +288 -328
  580. package/docs/contracts/file-ownership-matrix.md +1 -1
  581. package/docs/contracts/frontmatter-contract.md +140 -0
  582. package/docs/contracts/ghostwriter-schema.md +3 -3
  583. package/docs/contracts/gui-wizard.md +223 -0
  584. package/docs/contracts/hook-architecture-v1.md +10 -10
  585. package/docs/contracts/installer-agent-mode.md +137 -0
  586. package/docs/contracts/kernel-membership.md +5 -5
  587. package/docs/contracts/linter-structural-model.md +3 -3
  588. package/docs/contracts/load-context-schema.md +5 -5
  589. package/docs/contracts/local-server-api.md +134 -0
  590. package/docs/contracts/low-impact-corpus-format.md +1 -1
  591. package/docs/contracts/mcp-cloud-scope.md +2 -2
  592. package/docs/contracts/mcp-discovery-phase-notice.md +1 -1
  593. package/docs/contracts/mcp-phase-1-scope.md +5 -4
  594. package/docs/contracts/mcp-registry-manifest.schema.json +129 -0
  595. package/docs/contracts/mcp-tool-inventory.md +9 -9
  596. package/docs/contracts/mcp-tool-stub-envelope.md +1 -1
  597. package/docs/contracts/memory-visibility-v1.md +2 -2
  598. package/docs/contracts/multi-tool-projection-fidelity.md +3 -3
  599. package/docs/contracts/namespace.md +7 -7
  600. package/docs/contracts/one-off-script-lifecycle.md +1 -1
  601. package/docs/contracts/package-self-orientation.md +1 -1
  602. package/docs/contracts/provider-lifecycle.md +7 -7
  603. package/docs/contracts/router-blending.md +1 -1
  604. package/docs/contracts/rule-classification.md +2 -2
  605. package/docs/contracts/rule-router.md +4 -4
  606. package/docs/contracts/settings-api.md +207 -0
  607. package/docs/contracts/settings-gui-agent-mode.schema.json +128 -0
  608. package/docs/contracts/smoke-contracts.md +3 -3
  609. package/docs/contracts/tier-3-contrib-plugin.md +1 -1
  610. package/docs/contracts/trust-and-safety.md +144 -0
  611. package/docs/contracts/universal-skills.md +1 -1
  612. package/docs/contracts/write-engine.md +1 -1
  613. package/docs/customization.md +139 -13
  614. package/docs/decisions/ADR-001-kernel-swap-deferred.md +1 -1
  615. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +1 -1
  616. package/docs/decisions/ADR-004-rule-governance-pruning.md +8 -8
  617. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +5 -5
  618. package/docs/decisions/ADR-007-agent-discovery-scopes.md +16 -4
  619. package/docs/decisions/ADR-008-installed-tools-manifest.md +2 -2
  620. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +2 -2
  621. package/docs/decisions/ADR-011-domain-pack-readiness.md +4 -4
  622. package/docs/decisions/ADR-012-typescript-cli-shell.md +162 -0
  623. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +234 -0
  624. package/docs/decisions/ADR-014-gui-framework-choice.md +136 -0
  625. package/docs/decisions/ADR-015-discovery-manifest-contract.md +146 -0
  626. package/docs/decisions/ADR-016-installer-architecture.md +189 -0
  627. package/docs/decisions/ADR-017-monorepo-physical-layout.md +261 -0
  628. package/docs/decisions/ADR-018-trust-and-safety-layer.md +159 -0
  629. package/docs/decisions/ADR-019-router-json-dist-location.md +124 -0
  630. package/docs/decisions/ADR-020-global-only-consumer-scope.md +123 -0
  631. package/docs/decisions/ADR-021-deployment-shape.md +153 -0
  632. package/docs/decisions/ADR-rule-kernel-and-router.md +2 -2
  633. package/docs/decisions/INDEX.md +10 -0
  634. package/docs/deploy/connector-setup.md +129 -0
  635. package/docs/deploy/env-vars.md +70 -0
  636. package/docs/deploy/policy-cookbook.md +130 -0
  637. package/docs/deploy/quickstart.md +112 -0
  638. package/docs/distribution/mcp-submission-checklist.md +95 -0
  639. package/docs/distribution/public-install-smoke.md +68 -0
  640. package/docs/distribution/registries.md +55 -0
  641. package/docs/distribution/telemetry-privacy.md +128 -0
  642. package/docs/distribution/telemetry-schema.md +174 -0
  643. package/docs/distribution/topics-equivalents-decay-policy.md +51 -0
  644. package/docs/examples/agent-user.example.md +3 -1
  645. package/docs/featured-skills.md +95 -0
  646. package/docs/getting-started-by-role.md +19 -1
  647. package/docs/getting-started.md +5 -4
  648. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
  649. package/docs/guidelines/agent-infra/installed-tools-manifest.md +11 -8
  650. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +10 -1
  651. package/docs/guidelines/agent-infra/rule-type-governance.md +2 -2
  652. package/docs/guidelines/agent-infra/tool-integration.md +1 -1
  653. package/docs/guidelines/docs/readme-size-and-splitting.md +53 -1
  654. package/docs/guidelines/php/api-design.md +1 -1
  655. package/docs/guidelines/prompt-templates.md +2 -2
  656. package/docs/hook-payload-capture.md +3 -3
  657. package/docs/installation.md +39 -18
  658. package/docs/maintainers/dev-mode.md +105 -0
  659. package/docs/migrations/commands-1.15.0.md +3 -3
  660. package/docs/parity/bench-ruflo.json +1 -1
  661. package/docs/parity/ruflo.md +3 -3
  662. package/docs/profiles.md +1 -1
  663. package/docs/quality.md +2 -2
  664. package/docs/recruits/_template.md +3 -3
  665. package/docs/setup/enterprise-and-offline.md +3 -3
  666. package/docs/setup/mcp-server-docker.md +5 -3
  667. package/docs/setup/per-ide/claude-desktop.md +3 -2
  668. package/docs/skills-catalog.md +62 -18
  669. package/docs/wizard.md +156 -0
  670. package/llms.txt +61 -17
  671. package/package.json +63 -3
  672. package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  673. package/scripts/_archive/README.md +2 -2
  674. package/scripts/_archive/_p4_migrate.py +1 -1
  675. package/scripts/_cli/cmd_doctor.py +155 -7
  676. package/scripts/_cli/cmd_explain.py +108 -3
  677. package/scripts/_cli/cmd_migrate.py +2 -2
  678. package/scripts/_cli/cmd_migrate_to_global.py +415 -0
  679. package/scripts/_cli/cmd_settings_migrate.py +146 -0
  680. package/scripts/_cli/explain_last/__init__.py +122 -0
  681. package/scripts/_cli/explain_last/assumptions.py +59 -0
  682. package/scripts/_cli/explain_last/council.py +105 -0
  683. package/scripts/_cli/explain_last/halt.py +44 -0
  684. package/scripts/_cli/explain_last/inputs.py +125 -0
  685. package/scripts/_cli/explain_last/memory.py +94 -0
  686. package/scripts/_cli/explain_last/provider.py +52 -0
  687. package/scripts/_cli/explain_last/render.py +52 -0
  688. package/scripts/_cli/explain_last/route.py +59 -0
  689. package/scripts/_cli/explain_last/scrubber.py +105 -0
  690. package/scripts/_cli/explain_last/sections/__init__.py +35 -0
  691. package/scripts/_cli/explain_last/sections/assumptions.py +21 -0
  692. package/scripts/_cli/explain_last/sections/council.py +27 -0
  693. package/scripts/_cli/explain_last/sections/halt.py +31 -0
  694. package/scripts/_cli/explain_last/sections/header.py +24 -0
  695. package/scripts/_cli/explain_last/sections/inputs.py +27 -0
  696. package/scripts/_cli/explain_last/sections/memory.py +21 -0
  697. package/scripts/_cli/explain_last/sections/pack.py +16 -0
  698. package/scripts/_cli/explain_last/sections/provider.py +26 -0
  699. package/scripts/_cli/explain_last/sections/route.py +22 -0
  700. package/scripts/_cli/explain_last/state_loader.py +76 -0
  701. package/scripts/_dispatch.bash +987 -0
  702. package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
  703. package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
  704. package/scripts/_lib/agent_settings.py +7 -4
  705. package/scripts/_lib/agent_src.py +157 -0
  706. package/scripts/_lib/agents_overlay.py +3 -3
  707. package/scripts/_phase4_bucket.py +210 -0
  708. package/scripts/agent-config +50 -947
  709. package/scripts/ai-video/adapters/higgsfield.sh +1 -1
  710. package/scripts/ai-video/adapters/sora.sh +1 -1
  711. package/scripts/ai-video/test-pipeline.sh +2 -2
  712. package/scripts/ai_council/_default_prices.py +5 -5
  713. package/scripts/ai_council/advisors.py +1 -1
  714. package/scripts/ai_council/clients.py +2 -2
  715. package/scripts/ai_council/compile_corpus.py +9 -8
  716. package/scripts/ai_council/config.py +3 -3
  717. package/scripts/ai_council/events_log.py +8 -4
  718. package/scripts/ai_council/low_impact_corpus.py +1 -1
  719. package/scripts/ai_council/low_impact_intake.py +1 -1
  720. package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +2 -2
  721. package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_optimization.py +1 -1
  722. package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +3 -3
  723. package/scripts/ai_council/pricing.py +8 -7
  724. package/scripts/ai_council/probation_gate.py +1 -1
  725. package/scripts/ai_council/redact_low_impact_entry.py +1 -1
  726. package/scripts/ai_council/session.py +13 -13
  727. package/scripts/ai_council/shadow_dispatch.py +2 -2
  728. package/scripts/annotate_discovery.py +149 -0
  729. package/scripts/audit_adr_coverage.py +1 -1
  730. package/scripts/audit_auto_rules.py +2 -2
  731. package/scripts/audit_cloud_compatibility.py +1 -1
  732. package/scripts/audit_command_surface.py +2 -2
  733. package/scripts/audit_likelihood.py +4 -4
  734. package/scripts/audit_overlap.py +3 -3
  735. package/scripts/audit_skill_descriptions.py +18 -6
  736. package/scripts/audit_user_type_axis.py +1 -1
  737. package/scripts/build_discovery_manifest.py +658 -0
  738. package/scripts/build_mcp_registry_manifest.py +181 -0
  739. package/scripts/build_rule_trigger_matrix.py +2 -2
  740. package/scripts/capture_showcase_session.py +1 -1
  741. package/scripts/chat_history.py +5 -5
  742. package/scripts/check_always_budget.py +7 -2
  743. package/scripts/check_artefact_checksums.py +104 -0
  744. package/scripts/check_cluster_patterns.py +20 -4
  745. package/scripts/check_command_count_messaging.py +33 -14
  746. package/scripts/check_council_layout.py +26 -20
  747. package/scripts/check_council_references.py +53 -14
  748. package/scripts/check_discovery_determinism.py +70 -0
  749. package/scripts/check_kernel_rule_bundle.py +2 -2
  750. package/scripts/check_no_roadmap_refs.py +2 -2
  751. package/scripts/check_one_off_location.py +1 -1
  752. package/scripts/check_overlay_cascade_subdirs.py +7 -3
  753. package/scripts/check_public_links.py +2 -2
  754. package/scripts/check_references.py +19 -23
  755. package/scripts/check_release_includes_discovery.py +61 -0
  756. package/scripts/check_reply_consistency.py +32 -9
  757. package/scripts/check_template_pin_drift.py +24 -7
  758. package/scripts/check_token_optimizer_freshness.py +18 -3
  759. package/scripts/ci_summary.py +2 -2
  760. package/scripts/ci_time_ratio.py +1 -1
  761. package/scripts/command_suggester/__init__.py +1 -1
  762. package/scripts/compile_router.py +34 -2
  763. package/scripts/compress.py +162 -44
  764. package/scripts/config/presets.py +19 -1
  765. package/scripts/config/profiles.py +16 -1
  766. package/scripts/context_hygiene_hook.py +2 -2
  767. package/scripts/council_cli.py +22 -22
  768. package/scripts/council_prune.py +3 -3
  769. package/scripts/discovery_stats.py +70 -0
  770. package/scripts/expected_perms.json +47 -0
  771. package/scripts/extract_audit_patterns.py +2 -2
  772. package/scripts/gen_discovery_baseline.py +127 -0
  773. package/scripts/generate_index.py +78 -46
  774. package/scripts/generate_ownership_matrix.py +99 -44
  775. package/scripts/generate_pack_manifests.py +183 -0
  776. package/scripts/hook_manifest.yaml +5 -5
  777. package/scripts/hooks/cline-dispatcher.sh +1 -1
  778. package/scripts/hooks/cowork-dispatcher.sh +1 -1
  779. package/scripts/hooks/dispatch_hook.py +3 -3
  780. package/scripts/hooks/gemini-dispatcher.sh +1 -1
  781. package/scripts/hooks/replay_hook.py +1 -1
  782. package/scripts/hooks/state_io.py +5 -5
  783. package/scripts/hooks_doctor.py +4 -4
  784. package/scripts/install +18 -1
  785. package/scripts/install-hooks.sh +2 -2
  786. package/scripts/install.py +937 -62
  787. package/scripts/install.sh +147 -27
  788. package/scripts/inventory_frontmatter.py +1 -1
  789. package/scripts/lint_agents_layout.py +183 -0
  790. package/scripts/lint_agents_md.py +1 -1
  791. package/scripts/lint_archived_skills.py +35 -19
  792. package/scripts/lint_artefact_frontmatter.py +180 -0
  793. package/scripts/lint_bench_corpus.py +14 -2
  794. package/scripts/lint_command_tiers.py +15 -2
  795. package/scripts/lint_discovery_manifest.py +136 -0
  796. package/scripts/lint_discovery_vocabulary.py +148 -0
  797. package/scripts/lint_explain_trace.py +80 -0
  798. package/scripts/lint_featured_skills.py +139 -0
  799. package/scripts/lint_framework_leakage.py +33 -6
  800. package/scripts/lint_framework_leakage_allowlist.json +63 -62
  801. package/scripts/lint_ghostwriter_source.py +1 -1
  802. package/scripts/lint_global_paths.py +147 -0
  803. package/scripts/lint_load_context.py +3 -3
  804. package/scripts/lint_mcp_registry_manifest.py +69 -0
  805. package/scripts/lint_media_policy_linkage.py +6 -6
  806. package/scripts/lint_orchestration_dsl.py +6 -3
  807. package/scripts/lint_pack_boundaries.py +147 -0
  808. package/scripts/lint_pack_first_win.py +103 -0
  809. package/scripts/lint_positioning.py +143 -0
  810. package/scripts/lint_readme_jargon.py +131 -0
  811. package/scripts/lint_readme_size.py +33 -0
  812. package/scripts/lint_rule_interactions.py +23 -5
  813. package/scripts/lint_rule_tiers.py +14 -5
  814. package/scripts/lint_skill_tools.py +1 -1
  815. package/scripts/lint_topics_yaml.py +89 -0
  816. package/scripts/lint_trust_coherence.py +212 -0
  817. package/scripts/mcp_server/consumer_tool_catalog.json +3 -3
  818. package/scripts/mcp_server/telemetry.py +2 -2
  819. package/scripts/mcp_server/tools.py +27 -11
  820. package/scripts/mcp_telemetry_health.py +2 -2
  821. package/scripts/mcp_telemetry_store.py +1 -1
  822. package/scripts/measure_augment_budget.py +3 -3
  823. package/scripts/measure_density.py +2 -2
  824. package/scripts/measure_frugality_savings.py +3 -3
  825. package/scripts/measure_roadmap_trajectory.py +1 -1
  826. package/scripts/measure_rule_budget.py +25 -7
  827. package/scripts/memory_report.py +1 -1
  828. package/scripts/migrate_command_suggestions.py +3 -3
  829. package/scripts/minimal_safe_diff_hook.py +1 -1
  830. package/scripts/move_artefact.py +143 -0
  831. package/scripts/new_skill.py +148 -0
  832. package/scripts/onboarding_gate_hook.py +4 -4
  833. package/scripts/plan_physical_move.py +353 -0
  834. package/scripts/prepack-check.mjs +62 -0
  835. package/scripts/probe_projection_fidelity.py +2 -2
  836. package/scripts/refine_ticket_detect.py +31 -8
  837. package/scripts/schemas/command.schema.json +45 -1
  838. package/scripts/schemas/persona.schema.json +1 -1
  839. package/scripts/schemas/rule.schema.json +44 -4
  840. package/scripts/schemas/skill.schema.json +41 -1
  841. package/scripts/score_skill_selection.py +1 -1
  842. package/scripts/skill_collision_clusters.py +1 -1
  843. package/scripts/skill_linter.py +250 -120
  844. package/scripts/skill_overlap.py +1 -1
  845. package/scripts/skill_tools/run_block_d_eval.py +1 -1
  846. package/scripts/skill_trigger_eval.py +28 -8
  847. package/scripts/skill_usage_collect.py +3 -3
  848. package/scripts/skill_usage_report.py +3 -3
  849. package/scripts/smoke/kernel.sh +1 -1
  850. package/scripts/smoke/router.sh +24 -5
  851. package/scripts/smoke/skills.sh +15 -7
  852. package/scripts/smoke_quickstart.py +12 -3
  853. package/scripts/snapshot_agent_outputs.py +144 -0
  854. package/scripts/spotcheck_thin_root.py +1 -1
  855. package/scripts/sync_github_metadata.py +147 -0
  856. package/scripts/sync_gitignore.py +15 -5
  857. package/scripts/update_counts.py +45 -17
  858. package/scripts/update_prices.py +4 -3
  859. package/scripts/validate_decision_engine.py +9 -1
  860. package/scripts/validate_discovery_manifest.py +94 -0
  861. package/scripts/validate_frontmatter.py +39 -20
  862. package/scripts/verify_before_complete_hook.py +1 -1
  863. package/scripts/verify_physical_move.py +185 -0
  864. package/scripts/verify_roadmap_closure.py +1 -1
  865. package/templates/agent-user.md +34 -0
  866. package/templates/agent-user.yml +21 -0
  867. package/templates/minimal/agents-overrides-readme.md +46 -0
  868. package/templates/minimal/overrides-gitkeep +2 -0
  869. package/.agent-src/commands/onboard.md +0 -467
  870. package/templates/minimal/agents-gitkeep +0 -2
@@ -0,0 +1,234 @@
1
+ ---
2
+ adr: 013
3
+ status: accepted
4
+ date: 2026-05-19
5
+ decision: discovery-frontmatter-contract
6
+ supersedes: —
7
+ superseded_by: —
8
+ phase: v2.x · automated-pack-workspace-and-skill-discovery Phase 0
9
+ type: prospective
10
+ ---
11
+
12
+ # ADR-013 — Discovery Frontmatter Contract
13
+
14
+ ## Status
15
+
16
+ **Accepted** · 2026-05-19 · in-session + external AI Council pass complete
17
+ (`agents/runtime/council/responses/2026-05-18T*-r3-automated-discovery/`). Cost: $0.19.
18
+ The 5 external CRITICAL/HIGH items have been folded into Phases 1, 2, 3, 5
19
+ of `agents/roadmaps/archive/automated-pack-workspace-and-skill-discovery.md`
20
+ (archived 2026-05-19, status: completed).
21
+
22
+ ## Context
23
+
24
+ `event4u/agent-config` ships 218 skills, 72 rules, 129 commands, and 141
25
+ templates as of `2.26.0`. Three downstream surfaces — the setup wizard
26
+ (`unified-setup-and-settings-gui`), the agent-mode installer (`--agent`),
27
+ and the strategic-visibility positioning lint
28
+ (`strategic-visibility-mcp-topics-positioning`) — need to know **which
29
+ workspaces and packs each artefact belongs to** without anyone manually
30
+ maintaining the list.
31
+
32
+ A release-time scan over artefact frontmatter is the cheapest source of
33
+ truth. The scan emits a single `dist/discovery/discovery-manifest.json`
34
+ shipped inside the npm tarball; every downstream surface reads from that
35
+ file and from nothing else. This ADR locks the **frontmatter shape**, the
36
+ **closed vocabularies**, and the **non-overlap rule** that keeps the new
37
+ keys from colliding with the existing `cost_profile` / `profile.id` axes
38
+ (ADR-010).
39
+
40
+ ### Why a closed vocabulary
41
+
42
+ Free-form `domain:` (existing today) has 6 distinct values across 218
43
+ skills — usable, but unenforced. Free-form `workspaces:` / `packs:`
44
+ would degenerate into 30+ near-duplicate strings within one release
45
+ cycle. The vocabulary is closed; amendments require an ADR-013
46
+ amendment and a `lint_discovery_vocabulary.py` update in the same PR.
47
+
48
+ ### Why additive, not renaming
49
+
50
+ `domain:` and `recommended_for_user_types:` exist on every annotated
51
+ skill today. Renaming would force every consumer (router, skill linter,
52
+ analysis pipeline) to retag at the same time. The new keys are
53
+ **additive**: `workspaces:` and `packs:` live alongside `domain:`,
54
+ the migration is mechanical (Phase 4 of the implementing roadmap), and
55
+ no existing reader breaks.
56
+
57
+ ## Decision
58
+
59
+ ### Frontmatter shape — additive block
60
+
61
+ ```yaml
62
+ # ── existing keys stay ──
63
+ name: <slug>
64
+ description: <one-liner>
65
+ source: package
66
+ domain: <existing free-form> # untouched
67
+
68
+ # ── new keys (additive; optional Phases 1–3, required Phase 4+) ──
69
+ workspaces:
70
+ - engineering
71
+ - product
72
+ packs:
73
+ - engineering-base
74
+ lifecycle: active # active | deprecated | experimental | archived
75
+ trust:
76
+ level: core # core | professional | experimental | advisory | restricted
77
+ confidence: high # high | medium | low
78
+ human_review_required: false
79
+ install:
80
+ default: true
81
+ removable: true
82
+ ```
83
+
84
+ ### Closed vocabulary — `workspaces:`
85
+
86
+ | id | label | one-line definition |
87
+ |---|---|---|
88
+ | `engineering` | Engineering | Code, tests, CI, reviews, architecture. |
89
+ | `product` | Product | Discovery, roadmaps, prioritisation, AC tightening. |
90
+ | `finance` | Finance / CFO | Cashflow, forecasting, DCF, board reporting. |
91
+ | `founder` | Founder | Strategy, fundraising, vision, board narrative. |
92
+ | `gtm` | Go-to-Market | Sales pipeline, marketing, positioning, launch. |
93
+ | `ops` | Operations | Hiring, comp, perf, org design, runbooks. |
94
+ | `small-business` | Small Business | Self-employed / SMB-shaped owner workflows. |
95
+ | `construction` | Construction | Trade-business workflows (planning, quotes). |
96
+ | `agent-config-maintainer` | Maintainer | Skills/rules/commands that maintain *this* package. |
97
+
98
+ Amendments to the workspace list require an ADR-013 amendment.
99
+
100
+ ### Closed vocabulary — `packs:`
101
+
102
+ | id | description |
103
+ |---|---|
104
+ | `engineering-base` | Framework-neutral engineering hygiene (git, tests, reviews). |
105
+ | `php` | PHP-language patterns (framework-free). |
106
+ | `laravel` | Laravel framework; advisory hint depends on `php`, `engineering-base`. |
107
+ | `symfony` | Symfony framework; advisory hint depends on `php`, `engineering-base`. |
108
+ | `javascript` | JavaScript-language patterns. |
109
+ | `typescript` | TypeScript-language patterns. |
110
+ | `react` | React framework patterns. |
111
+ | `nextjs` | Next.js framework patterns. |
112
+ | `python` | Python-language patterns. |
113
+ | `product-basic` | Core PO/PM artefacts (ticket refinement, AC, estimation). |
114
+ | `product-discovery` | JTBD, interviews, VoC, hypothesis testing. |
115
+ | `finance-basic` | Cashflow, runway, basic forecasting. |
116
+ | `finance-advanced` | DCF, scenario modelling, comp banding. |
117
+ | `gtm-sales` | Pipeline, MEDDIC, forecast accuracy. |
118
+ | `gtm-marketing` | Positioning, messaging, editorial, content funnel. |
119
+ | `ops-people` | Hiring loops, onboarding programs, comp banding. (Renamed from `ops` to honour the non-overlap rule against `profile.id: ops`.) |
120
+ | `founder-strategy` | Vision, fundraising narrative, competitive moat. (Renamed from `founder` to honour the non-overlap rule against `profile.id: founder`.) |
121
+ | `small-business` | SMB-shaped owner workflows. |
122
+ | `construction` | Trade-business workflows. |
123
+ | `ai-video` | AI video pipeline (per ADR-011, the only heavyweight domain). |
124
+ | `meta` | Artefacts that maintain *this* package (`agent-config` itself). |
125
+
126
+ Amendments to the pack list require an ADR-013 amendment and the
127
+ matching `config/discovery/packs.yml` row in the same PR.
128
+
129
+ ### Non-overlap rule (ADR-010 alignment)
130
+
131
+ - `cost_profile` values (`minimal`, `balanced`, `full`, `custom`) are
132
+ **not** pack ids. The scanner hard-fails on overlap.
133
+ - `profile.id` values (`founder`, `developer`, `content_creator`,
134
+ `agency`, `finance`, `ops`) are **not** pack ids. The scanner
135
+ hard-fails on overlap. (Note: `founder`, `finance`, `ops` are
136
+ **workspace ids**; the collision check is against pack ids.)
137
+ - `lint_discovery_vocabulary.py` enforces both checks at PR time.
138
+
139
+ ### Migration rule
140
+
141
+ - **Phases 1–3** (implementing roadmap): artefacts without the new keys
142
+ are accepted; the scanner emits `unassigned[]` warnings; CI logs but
143
+ does not fail.
144
+ - **Phase 4**: every artefact under
145
+ `.agent-src.uncompressed/{skills,rules,commands,templates}` either
146
+ declares the new keys, or sits in `config/discovery/unassigned-artefacts.yml`
147
+ with a one-line reason.
148
+ - **Phase 4+**: CI flips strict; missing annotation is a fail.
149
+
150
+ ### Trust-root allow-list (security-engineer council fold-in)
151
+
152
+ The scanner honours frontmatter only on files under the trusted roots:
153
+ `.augment/`, `.claude/`, `.agent-src.uncompressed/`, `.agent-src/`.
154
+ Files under `agents/`, `tmp/`, or any consumer-writable path **cannot**
155
+ claim ownership of a workspace or pack. Phase 2 enforces.
156
+
157
+ ### Release-only manifest (external council CRITICAL fold-in)
158
+
159
+ The manifest is built on `main` post-merge, never in PR CI. PR CI
160
+ asserts the manifest is **absent** from the working tree, preventing a
161
+ contributor from smuggling a pre-built manifest claiming
162
+ `trust.level: core`. Phase 5 enforces.
163
+
164
+ ### Signing (security-engineer council fold-in)
165
+
166
+ Phase 6 emits `discovery-manifest.json.sha256` alongside the manifest.
167
+ The CLI verifies on first read; verification failure aborts before any
168
+ discovery-driven action.
169
+
170
+ ## Consequences
171
+
172
+ ### Positive
173
+
174
+ - One source of truth for workspaces/packs across wizard, agent-mode,
175
+ CLI, server route, and positioning lint.
176
+ - Manifest extraction is mechanical when ADR-011's trigger flips; no
177
+ refactor of artefact bodies needed at that time.
178
+ - Vocabulary drift is caught by lint, not by review-by-eye.
179
+
180
+ ### Negative
181
+
182
+ - Every artefact author must learn 4 new keys (`workspaces`, `packs`,
183
+ `lifecycle`, `trust`, `install`). Mitigation: defaults documented in
184
+ Phase 4 mapping rules; one ADR amendment per new vocabulary entry.
185
+ - A future "extract video into its own npm package" decision (ADR-011
186
+ trigger flip) inherits the manifest as scaffolding. Mitigation: the
187
+ manifest declares *labels*, not directory boundaries; extraction is
188
+ still a separate roadmap.
189
+
190
+ ### Risks accepted
191
+
192
+ - **Free-form `domain:` stays alongside `workspaces:`.** Duplication
193
+ is intentional during the additive migration; a follow-up roadmap
194
+ may collapse them.
195
+ - **`requires_hint:` on packs is advisory only.** The runtime does
196
+ not act on it. Acceptable for v1 per the council's "MEDIUM" note.
197
+
198
+ ## Amendments
199
+
200
+ ### 2026-05-21 — Monorepo Phase 1 closure (enforcement live)
201
+
202
+ The five required keys (`workspaces`, `packs`, `lifecycle`, `trust`,
203
+ `install`) are now **strictly enforced** across every artefact under
204
+ `.agent-src.uncompressed/{skills,rules,commands,templates}` by
205
+ [`scripts/lint_artefact_frontmatter.py`](../../scripts/lint_artefact_frontmatter.py),
206
+ wired into `task lint-artefact-frontmatter`, `task ci`, and the opt-in
207
+ combined pre-commit hook (`./agent-config hooks:install`). The migration
208
+ rule's "Phase 4+" strict flip described above is therefore in effect.
209
+
210
+ Worked examples per artefact type live in
211
+ [`docs/contracts/frontmatter-contract.md`](../contracts/frontmatter-contract.md);
212
+ roundtrip stability across the `task sync` pipeline is guarded by
213
+ `tests/test_frontmatter_roundtrip.py`.
214
+
215
+ The Phase-1 roadmap initially proposed splitting the contract into a
216
+ separate `ADR-014-frontmatter-v2-contract.md`. That split was dropped —
217
+ this ADR remains the single source of truth and absorbed the worked
218
+ examples instead. No ADR-014 issued.
219
+
220
+ Driven by [`agents/roadmaps/monorepo-phase-1-frontmatter-metadata.md`](../../agents/roadmaps/monorepo-phase-1-frontmatter-metadata.md).
221
+
222
+ ## Cross-references
223
+
224
+ - [ADR-007 — Agent Discovery Scopes](ADR-007-agent-discovery-scopes.md):
225
+ the manifest path resolves against the **active scope** (project vs.
226
+ global), not against `cwd` alone.
227
+ - [ADR-010 — Profile / Pack / Preset Boundary](ADR-010-profile-pack-preset-boundary.md):
228
+ this ADR touches the **pack axis only**; the non-overlap rule keeps
229
+ the other three axes intact.
230
+ - [ADR-011 — Domain-Pack Readiness](ADR-011-domain-pack-readiness.md):
231
+ packs are **labels on in-repo artefacts**, not separately-installable
232
+ npm packages. Extraction stays blocked until ADR-011's trigger flips.
233
+ - [Implementing roadmap (archived, status: completed)](../../agents/roadmaps/archive/automated-pack-workspace-and-skill-discovery.md).
234
+ - Schema artefact: [`docs/contracts/discovery-manifest.schema.json`](../contracts/discovery-manifest.schema.json).
@@ -0,0 +1,136 @@
1
+ ---
2
+ adr: 014
3
+ status: accepted
4
+ date: 2026-05-20
5
+ decision: gui-framework-choice
6
+ supersedes: —
7
+ superseded_by: —
8
+ phase: v2.x · unified-setup-and-settings-gui Phase 0
9
+ type: prospective
10
+ ---
11
+
12
+ # ADR-014 — GUI Framework Choice (Preact + Signals)
13
+
14
+ ## Status
15
+
16
+ **Accepted** · 2026-05-20 · in-session council recommendation folded.
17
+ External AI Council pass on the implementing roadmap
18
+ (`agents/roadmaps/unified-setup-and-settings-gui.md`) did not contest
19
+ the framework choice; it focused on data integrity (atomic writes,
20
+ optimistic locking) which is orthogonal to the rendering layer.
21
+
22
+ ## Context
23
+
24
+ `unified-setup-and-settings-gui.md` introduces the first browser-facing
25
+ surface of `@event4u/agent-config` — a local UI that doubles as a
26
+ first-run wizard and a settings editor. The package is distributed via
27
+ `npx`, so every byte of UI ships in the npm tarball and re-downloads on
28
+ every fresh install. The wizard has **at most 8 screens**; the settings
29
+ editor renders **one zod-derived form tree**. There is no router-driven
30
+ deep navigation, no SSR, no SEO surface, no offline-first concern.
31
+
32
+ Picking a heavyweight framework here would inflate the tarball with no
33
+ proportional benefit and would make hand-off audits (a maintainer
34
+ opening `src/ui/` cold) substantially harder. The choice is locked
35
+ **now**, in this ADR, because Phase 2 onwards depends on the form
36
+ primitives being written against a stable rendering API.
37
+
38
+ ## Decision
39
+
40
+ **Preact 10 + `@preact/signals` for state.** Vite as the build tool
41
+ (already in `package.json`). No router beyond a 1 KB hash-route
42
+ helper. Plain CSS files with design tokens, no CSS-in-JS, no UI kit.
43
+
44
+ ### Decision matrix
45
+
46
+ | Framework | Hello-world + 5 fields + wizard (gzip) | Forms ecosystem | TS support | Mental model | Verdict |
47
+ |---|---|---|---|---|---|
48
+ | **Preact + signals** | **~6 KB** | Manual primitives, ergonomic | Excellent | React-compatible | **Chosen** |
49
+ | Svelte 5 (runes) | ~10 KB | Built-in form bindings | Good | Single-file components | Rejected: compiler magic harder to audit; smaller community for form libs vs Preact |
50
+ | lit-html / Lit | ~7 KB | None — manual | Good | Web Components, shadow DOM | Rejected: shadow DOM complicates token-driven styling and a11y |
51
+ | Vanilla + uhtml + mfsv | ~3 KB | None — bring your own | Manual | Tagged-template HTML | Rejected: 8 screens + multi-step form is the threshold where "bring your own" costs more than the saved KB |
52
+ | React 18 + RSC-disabled | ~45 KB | Best-in-class | Excellent | Industry default | Rejected: 7× the bundle for the same JSX surface; over-spec for an `npx`-shipped UI |
53
+
54
+ ### Forbidden adds
55
+
56
+ - **Routers heavier than `wouter-preact` / `preact-router`** (≤ 1 KB
57
+ gzipped). The UI has ≤ 8 screens; a 40 KB router is over-spec.
58
+ - **CSS frameworks** — Tailwind, MUI, Chakra, Mantine, shadcn-ui.
59
+ Shipping 50 KB+ of CSS into an `npx`-installed binary is poor
60
+ stewardship. We ship hand-written CSS using design tokens (see
61
+ `src/ui/tokens.css`).
62
+ - **State libraries beyond signals** — no Redux, no Zustand, no Jotai.
63
+ Signals are a built-in reactive primitive; the wizard's partial
64
+ state lives server-side in `wizard-state.json` anyway.
65
+ - **SSR / streaming frameworks** — Next.js, Remix, SolidStart, Astro.
66
+ The server is local Fastify; the UI is a static bundle mounted
67
+ under `/`. No SSR concern exists.
68
+
69
+ ### Reactive state pattern
70
+
71
+ ```ts
72
+ import { signal, computed } from '@preact/signals';
73
+
74
+ const settings = signal<SettingsValues | null>(null);
75
+ const isDirty = computed(() => /* compare against load-time snapshot */ false);
76
+ ```
77
+
78
+ - **`signal`** holds the editable form values; component subtrees
79
+ re-render only on the signals they read.
80
+ - **`computed`** derives the dirty flag, the diff preview, and the
81
+ per-field error map without prop-drilling.
82
+ - No `useState` for cross-component shared state; only for local
83
+ ephemera (open/closed of a single modal, focus rings).
84
+
85
+ ### Build target
86
+
87
+ - **ES2022**, native modules, no transpilation to ES5. The UI runs
88
+ in the developer's browser, which is always evergreen.
89
+ - Vite builds emit `dist/ui/assets/*.js` + `*.css`; the Fastify
90
+ static handler serves them under `/`.
91
+ - Bundle budget: **≤ 35 KB gzip** total (the wizard + the settings
92
+ editor combined). Enforced by `tests/ui/bundle-budget.test.ts` in
93
+ Phase 2. Breach is a CI fail, not a warning.
94
+
95
+ ### Testing stack
96
+
97
+ - **Vitest 2.x** (already in `package.json`) + **happy-dom** for UI
98
+ unit tests. No Jest. No React Testing Library (Preact has
99
+ `@testing-library/preact` but we keep the primitives small enough
100
+ that direct DOM assertions suffice).
101
+
102
+ ## Consequences
103
+
104
+ ### Positive
105
+
106
+ - Tarball stays under control: the entire GUI ships in < 50 KB gzip
107
+ of `dist/ui/` regardless of how many screens accumulate.
108
+ - React-shaped JSX means contributors familiar with React onboard in
109
+ hours, not weeks.
110
+ - Signals eliminate the prop-drilling overhead Form state would
111
+ otherwise require.
112
+ - Zero CSS-in-JS keeps Vite's output predictable and lets a maintainer
113
+ grep `.css` files for token usage at audit time.
114
+
115
+ ### Negative
116
+
117
+ - Preact's smaller ecosystem means **some** React-only libraries
118
+ (e.g. `react-hook-form`) cannot be reused without a shim. Mitigation:
119
+ we hand-write form primitives anyway per the "no UI kit" rule, so
120
+ the gap is theoretical for this scope.
121
+ - Contributors who only know Vue or Svelte must learn Preact's
122
+ JSX-flavoured API. Mitigation: documented in `docs/architecture.md`
123
+ alongside the existing TS-CLI onboarding notes.
124
+
125
+ ### Risks accepted
126
+
127
+ - **No React migration path is preserved**. If a future roadmap needs
128
+ RSC, streaming, or React-only libraries, the UI is rewritten end-to-
129
+ end. Acceptable because the UI is feature-bounded (wizard + settings)
130
+ and any RSC-shaped future is a different product.
131
+
132
+ ## Cross-references
133
+
134
+ - [Implementing roadmap](../../agents/roadmaps/unified-setup-and-settings-gui.md).
135
+ - [ADR-012 — TypeScript CLI Shell](ADR-012-typescript-cli-shell.md): the host server that mounts this UI.
136
+ - [ADR-013 — Discovery Frontmatter Contract](ADR-013-discovery-frontmatter-contract.md): the discovery manifest the GUI reads to render workspace / pack pickers in a future phase.
@@ -0,0 +1,146 @@
1
+ ---
2
+ adr: 015
3
+ status: accepted
4
+ date: 2026-05-21
5
+ decision: discovery-manifest-contract
6
+ supersedes: —
7
+ superseded_by: —
8
+ phase: v2.x · monorepo-phase-2-virtual-packs-discovery Phase 1
9
+ type: prospective
10
+ ---
11
+
12
+ # ADR-015 — Discovery Manifest Contract
13
+
14
+ ## Status
15
+
16
+ **Accepted** · 2026-05-21 · in-session AI Council pass. Folds the Phase-2
17
+ intake invariant (`agents/tmp/refactor-package.txt`, last paragraph) and
18
+ the additive-vs-rewrite call into the schema. Phase-1 prerequisite for
19
+ [`monorepo-phase-2-virtual-packs-discovery`](../../agents/roadmaps/monorepo-phase-2-virtual-packs-discovery.md).
20
+
21
+ ## Context
22
+
23
+ [ADR-013](ADR-013-discovery-frontmatter-contract.md) locked the five
24
+ per-artefact frontmatter keys. The release pipeline now needs a single
25
+ JSON contract — `dist/discovery/discovery-manifest.json` — that the
26
+ TypeScript installer (Phase 3), the browser wizard (Phase 6), the docs
27
+ site, and any third-party consumer read instead of walking the source
28
+ tree. The invariant from the founder intake:
29
+
30
+ > Beim Erstellen eines Releases müssen alle Skills, etc. nach Workspace
31
+ > und Pack untersucht werden, so dass das für den Installer gespeichert
32
+ > wird und zur Verfügung steht. Es soll keine manuelle Package &
33
+ > Workspace Liste gepflegt werden.
34
+
35
+ **No manual list. Ever.** The pack and workspace shape grows by stamping
36
+ frontmatter, not by editing a list.
37
+
38
+ A v1 manifest schema already lives at
39
+ [`docs/contracts/discovery-manifest.schema.json`](../contracts/discovery-manifest.schema.json)
40
+ (carried over from the archived R3 discovery roadmap). The Phase-2
41
+ roadmap §"Manifest shape" sketched an *ideal* shape that differs from
42
+ the on-disk schema in several places (per-artefact `checksum`,
43
+ optional `requires`, a `stats` block). The decision is whether to
44
+ rewrite the schema or extend it additively.
45
+
46
+ ## Decision
47
+
48
+ **Extend the v1 schema additively.** Three changes, no removals, no
49
+ field renames, version stays `1`:
50
+
51
+ 1. **`artefact.checksum`** — `sha256:<hex>`, REQUIRED. Computed over the
52
+ on-disk file bytes after frontmatter normalization (sorted keys,
53
+ trailing newline). Drift detector for the Phase-3 installer.
54
+ 2. **`artefact.requires`** — `array<pack_id>`, OPTIONAL. Pack-level
55
+ dependency edges resolved by the installer; empty/absent means the
56
+ artefact has no extra pack requirements beyond its own `packs[]`.
57
+ 3. **`stats`** — REQUIRED top-level object. `total_artefacts`,
58
+ `by_category`, `by_lifecycle`, `by_trust_level`. Cheap sanity surface
59
+ for `task discovery-stats` + downstream dashboards.
60
+
61
+ The Phase-2 roadmap's example also mentioned `id`, `owner`, and
62
+ `install.managed`. **Not adopted.** The path is the canonical artefact
63
+ identity (matches ADR-013), ownership is already encoded in
64
+ `workspaces[]` + `packs[]`, and `install.managed` adds a third
65
+ install-axis without a current consumer. Re-evaluate in Phase 5.
66
+
67
+ ### Source-of-truth tree
68
+
69
+ The generator walks `.agent-src.uncompressed/`, **not** `.agent-src/`.
70
+ The Phase-2 roadmap text §Phase 2 says "the compressed canonical tree"
71
+ — that is a documentation slip. `augment-source-of-truth` rule states
72
+ that uncompressed is canonical; the compressed tree is a build output
73
+ and may be regenerated. Manifest pipelines that read build outputs are
74
+ fragile to bootstrap order.
75
+
76
+ ### No git in the manifest
77
+
78
+ The roadmap example included `source_commit`. **Not adopted.** The
79
+ existing `scanner_version` (first 12 hex of `sha256(build_discovery_manifest.py)`)
80
+ already pins generator identity. Embedding `git rev-parse HEAD` breaks
81
+ hermetic determinism tests in environments without a git checkout
82
+ (CI shallow clones, vendor tarballs). A consumer that needs the commit
83
+ can pin from the surrounding release artefact (changelog, tag).
84
+
85
+ ## Consequences
86
+
87
+ ### Positive
88
+
89
+ - Existing consumers (the Phase-1 linter, the round-trip test, the
90
+ `lint_discovery_manifest.py` validator) keep working — top-level
91
+ `version` stays `1`, all v1 fields stay required.
92
+ - Per-artefact `checksum` makes the Phase-3 installer drift-detection
93
+ trivial — one hash compare per file.
94
+ - `requires` is opt-in: artefacts that don't need cross-pack deps cost
95
+ zero extra bytes.
96
+ - Stats are computed from the artefact list — no second walk of the
97
+ tree, no risk of stats/list desync.
98
+
99
+ ### Negative
100
+
101
+ - Every artefact entry grows by ~80 bytes (the checksum). For ~420
102
+ artefacts, the manifest grows ~33 KB. Acceptable.
103
+ - The first build after this ADR rewrites every artefact entry; the
104
+ diff is large. Reviewed once and committed.
105
+
106
+ ### Neutral
107
+
108
+ - `version` stays `1`. A future breaking change (rename `packs` to
109
+ `pack_ids`, drop `unassigned`, etc.) bumps to `2`. This ADR sets the
110
+ precedent that **additive** changes do not bump.
111
+
112
+ ## Determinism contract
113
+
114
+ Two builds of the same source tree MUST produce byte-identical JSON
115
+ when `generated_at` is normalized. Specifically:
116
+
117
+ - All arrays sorted (`artefacts` by `path`, `workspaces`/`packs` in
118
+ vocabulary order, `requires`/`workspaces[]`/`packs[]` per-entry sorted).
119
+ - JSON serialized with `sort_keys=True`, `indent=2`, trailing newline.
120
+ - The global `checksum` covers the manifest minus `generated_at` and
121
+ itself (zeroed during hash input).
122
+ - Per-artefact `checksum` covers the file content with frontmatter
123
+ normalized (sorted keys, trailing newline, no trailing whitespace).
124
+
125
+ ## Failure modes guarded against
126
+
127
+ - **Manual drift** — no pack list to hand-edit; new packs/workspaces
128
+ enter via frontmatter stamps on artefacts.
129
+ - **Stale manifest in release** — Phase 3 ships `task validate-discovery-manifest`
130
+ which re-builds to a tempdir and `diff`s against the committed file.
131
+ - **Checksum collision with content edits** — per-artefact `checksum`
132
+ surfaces any file mutation; the installer can refuse to overwrite a
133
+ user-modified artefact (Phase 3).
134
+ - **`version: 1` reused for breaking changes** — this ADR explicitly
135
+ scopes `version: 1` to additive evolutions; breaking → bump + new ADR.
136
+
137
+ ## References
138
+
139
+ - [ADR-013](ADR-013-discovery-frontmatter-contract.md) — frontmatter
140
+ contract (the input side of this manifest).
141
+ - [`docs/contracts/discovery-manifest.schema.json`](../contracts/discovery-manifest.schema.json)
142
+ — the locked schema.
143
+ - [`docs/contracts/discovery-manifest.md`](../contracts/discovery-manifest.md)
144
+ — worked examples + consumer guide.
145
+ - [`agents/roadmaps/monorepo-phase-2-virtual-packs-discovery.md`](../../agents/roadmaps/monorepo-phase-2-virtual-packs-discovery.md)
146
+ — the implementing roadmap.