@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
@@ -18,7 +18,7 @@ keep-beta-until: 2026-08-12
18
18
  This contract defines the **schema** of the file-ownership matrix: the
19
19
  machine-readable JSON at `docs/contracts/file-ownership-matrix.json` and
20
20
  the human-readable mirror at
21
- `agents/contexts/structural/file-ownership-matrix.md`. Both are
21
+ `agents/settings/contexts/structural/file-ownership-matrix.md`. Both are
22
22
  regenerated from `.agent-src.uncompressed/` by the generator and locked
23
23
  by CI.
24
24
 
@@ -0,0 +1,140 @@
1
+ ---
2
+ stability: beta
3
+ keep-beta-until: 2026-08-19
4
+ ---
5
+
6
+ # Per-artefact frontmatter contract
7
+
8
+ > Companion to [`ADR-013`](../decisions/ADR-013-discovery-frontmatter-contract.md)
9
+ > and [`discovery-manifest.schema.json`](discovery-manifest.schema.json). The
10
+ > ADR is the decision; this file is the worked-example reference linters,
11
+ > installer, and contributors cite at runtime.
12
+
13
+ Every `.md` artefact under `.agent-src.uncompressed/` MUST declare the five
14
+ ADR-013 discovery keys. The release-time manifest builder
15
+ (`scripts/build_discovery_manifest.py`) derives all workspace/pack assignment
16
+ from these alone — **no manual workspace or pack list is ever maintained**.
17
+
18
+ ## Required keys
19
+
20
+ | Key | Type | Vocabulary | Source |
21
+ |---|---|---|---|
22
+ | `workspaces` | `array<string>`, ≥1 | [`config/discovery/workspaces.yml`](../../config/discovery/workspaces.yml) | role-based axis |
23
+ | `packs` | `array<string>`, ≥1 | [`config/discovery/packs.yml`](../../config/discovery/packs.yml) | functional axis |
24
+ | `lifecycle` | enum | `active` · `experimental` · `deprecated` · `archived` | review cycle |
25
+ | `trust.level` | enum | `core` · `professional` · `experimental` · `advisory` · `restricted` | safety gate |
26
+ | `trust.confidence` | enum | `high` · `medium` · `low` | curator signal |
27
+ | `trust.human_review_required` | bool | — | reviewer routing |
28
+ | `install.default` | bool | — | ships-by-default toggle |
29
+ | `install.removable` | bool | — | core / removable axis |
30
+
31
+ Vocabularies are **closed**. New entries require an amendment to
32
+ [`ADR-013`](../decisions/ADR-013-discovery-frontmatter-contract.md) in the
33
+ same PR. The linter
34
+ ([`scripts/lint_artefact_frontmatter.py`](../../scripts/lint_artefact_frontmatter.py))
35
+ rejects free-text values.
36
+
37
+ ## Worked examples
38
+
39
+ ### Skill — `laravel/SKILL.md`
40
+
41
+ ```yaml
42
+ ---
43
+ name: laravel
44
+ description: "Writes Laravel PHP — Eloquent, Artisan, FormRequests, jobs, policies."
45
+ source: package
46
+ domain: engineering
47
+ workspaces:
48
+ - engineering
49
+ packs:
50
+ - laravel
51
+ lifecycle: active
52
+ trust:
53
+ level: professional
54
+ confidence: high
55
+ human_review_required: false
56
+ install:
57
+ default: false
58
+ removable: true
59
+ ---
60
+ ```
61
+
62
+ ### Rule — `rules/commit-policy.md`
63
+
64
+ ```yaml
65
+ ---
66
+ type: "always"
67
+ tier: "safety-floor"
68
+ description: "Commit policy — never commit unless explicitly authorized this turn."
69
+ alwaysApply: true
70
+ source: package
71
+ workspaces:
72
+ - engineering
73
+ packs:
74
+ - engineering-base
75
+ lifecycle: active
76
+ trust:
77
+ level: core
78
+ confidence: high
79
+ human_review_required: false
80
+ install:
81
+ default: true
82
+ removable: false
83
+ ---
84
+ ```
85
+
86
+ ### Command — `commands/cost-report.md`
87
+
88
+ ```yaml
89
+ ---
90
+ name: cost-report
91
+ tier: 2
92
+ description: "Capture token cost from the active session and surface the 50/75/90/100% budget ladder."
93
+ workspaces:
94
+ - agent-config-maintainer
95
+ packs:
96
+ - meta
97
+ lifecycle: active
98
+ trust:
99
+ level: core
100
+ confidence: high
101
+ human_review_required: false
102
+ install:
103
+ default: true
104
+ removable: false
105
+ ---
106
+ ```
107
+
108
+ ## Quarantine
109
+
110
+ Artefacts that genuinely cannot yet carry frontmatter (early scaffolds,
111
+ generated stubs) MUST be listed in
112
+ [`config/discovery/unassigned-artefacts.yml`](../../config/discovery/unassigned-artefacts.yml)
113
+ with a `reason`. A quarantined entry MUST NOT also carry the five keys —
114
+ the linter rejects that collision.
115
+
116
+ ## Enforcement
117
+
118
+ | Surface | What runs | When |
119
+ |---|---|---|
120
+ | Local | `task lint-artefact-frontmatter` | manual / pre-commit |
121
+ | Pre-commit | `pre-commit-roadmap-progress` template | when `.agent-src.uncompressed/*.md`, `config/discovery/*.yml`, or the linter itself is staged |
122
+ | CI | `task ci` → `lint-artefact-frontmatter` | every push / PR |
123
+
124
+ Install the pre-commit hook with:
125
+
126
+ ```bash
127
+ ./agent-config hooks:install # combined hook (roadmap + frontmatter)
128
+ ./agent-config hooks:install --print # dump to stdout for manual chaining
129
+ ```
130
+
131
+ The hook is opt-in per concern — it short-circuits when no relevant files
132
+ are staged.
133
+
134
+ ## Roundtrip invariant
135
+
136
+ Frontmatter survives the `task sync` compression pipeline. Path-bearing
137
+ keys (`load_context`) may be rewritten relative to the projected location,
138
+ but the five Phase-1 keys above are byte-stable between
139
+ `.agent-src.uncompressed/`, `.agent-src/`, and `.augment/`. Enforced by
140
+ `tests/test_frontmatter_roundtrip.py`.
@@ -21,7 +21,7 @@ explicit `accept` step on `/ghostwriter:fetch` re-runs.
21
21
 
22
22
  ## Storage model (dual)
23
23
 
24
- - **Consumer projects** — `agents/ghostwriter/<slug>.md`. Real-person
24
+ - **Consumer projects** — `agents/reference/ghostwriter/<slug>.md`. Real-person
25
25
  profiles live here. **Gitignored by default** via the package-managed
26
26
  `.gitignore` block. A `--shared` opt-in to commit profiles is
27
27
  deferred to v2; only the doc note lands in v1.
@@ -298,7 +298,7 @@ The lint runs in `task ci` and fails on:
298
298
  2. Any allowlisted file missing `fictional: true` in frontmatter.
299
299
  3. Any package-source file (`fictional: true`) carrying an `aliases:`
300
300
  field (aliases are a consumer-only feature; see [§ Aliases](#aliases)).
301
- 4. Any consumer-side file under `agents/ghostwriter/` with `fictional: true`
301
+ 4. Any consumer-side file under `agents/reference/ghostwriter/` with `fictional: true`
302
302
  (fictional profiles belong in the package source, not consumer trees).
303
303
  5. Any consumer-side `aliases:` entry that violates the storage rules:
304
304
  shorter than 2 characters, non-Latin scripts (homoglyph protection),
@@ -325,7 +325,7 @@ cluster registration.
325
325
 
326
326
  ## Gitignore
327
327
 
328
- `agents/ghostwriter/*.md` (except `README.md`) is added to the
328
+ `agents/reference/ghostwriter/*.md` (except `README.md`) is added to the
329
329
  package-managed `.gitignore` block ([`config/gitignore-block.txt`](../../config/gitignore-block.txt))
330
330
  and ignored by default. A `--shared` opt-in to commit profiles is
331
331
  deferred to v2.
@@ -0,0 +1,223 @@
1
+ ---
2
+ stability: beta
3
+ keep-beta-until: 2026-08-19
4
+ ---
5
+
6
+ # GUI wizard — local browser installer
7
+
8
+ > Companion to the agent-mode protocol
9
+ > ([`installer-agent-mode.md`](installer-agent-mode.md)) and the
10
+ > trust-and-safety layer ([`trust-and-safety.md`](trust-and-safety.md)).
11
+ > The wizard is a thin HTTP wrapper around the same install plan, the
12
+ > same lockfile, and the same atomic-write semantics as the CLI/TUI
13
+ > paths. It is **optional by design** — the CLI is the canonical entry
14
+ > point; the wizard exists for non-technical users who want a visual
15
+ > picker.
16
+
17
+ ## Source of truth
18
+
19
+ - Server: [`packages/core/installer/src/gui/server.ts`](../../packages/core/installer/src/gui/server.ts)
20
+ - Handlers: [`packages/core/installer/src/gui/handlers.ts`](../../packages/core/installer/src/gui/handlers.ts)
21
+ - Security primitives: [`packages/core/installer/src/gui/security.ts`](../../packages/core/installer/src/gui/security.ts)
22
+ - Inlined SPA: [`packages/core/installer/src/gui/static-assets.ts`](../../packages/core/installer/src/gui/static-assets.ts)
23
+ - Transaction log: [`packages/core/installer/src/gui/transaction-log.ts`](../../packages/core/installer/src/gui/transaction-log.ts)
24
+ - Tests: [`packages/core/installer/tests/gui-*.test.ts`](../../packages/core/installer/tests/)
25
+
26
+ ## Local-only invariant
27
+
28
+ The server **must** bind to `127.0.0.1` and reject any request whose
29
+ `Host` header is not in `{ "127.0.0.1:<port>", "localhost:<port>" }`.
30
+ `Origin` is additionally checked on every POST. No CDN, no analytics,
31
+ no cross-origin asset, no remote endpoint — CSP
32
+ `default-src 'self'` is set on every response.
33
+
34
+ ## Boot sequence
35
+
36
+ ```
37
+ npx @event4u/agent-config init --gui [--gui-port=<n>] [--no-open] [--gui-idle=<s>]
38
+
39
+ ├─► inspect agents/runtime/gui/server.pid → abort if live
40
+ ├─► load dist/discovery/discovery-manifest.json (walks up from CWD)
41
+ ├─► generate per-server CSRF token (64-hex)
42
+ ├─► http.createServer + listen({ host: '127.0.0.1', port: 0 })
43
+ ├─► write agents/runtime/gui/server.pid (POSIX pid, single line)
44
+ ├─► default-spawn the OS browser opener (skipped with --no-open)
45
+ └─► return GuiServerHandle { url, port, csrfToken, pidFile, close }
46
+ ```
47
+
48
+ Idle timeout (default 600 s, configurable via `--gui-idle`) is keyed on
49
+ the **last HTTP request timestamp**, not on SSE event activity.
50
+
51
+ ## Endpoints
52
+
53
+ | Method | Path | Purpose |
54
+ |--------|------------------|------------------------------------------------------|
55
+ | GET | `/` | SPA shell with CSRF token injected via `<meta>` |
56
+ | GET | `/app.css` | Static stylesheet |
57
+ | GET | `/app.js` | Inlined SPA logic |
58
+ | GET | `/api/manifest` | `{ manifest, sha256 }` — bytes-identical to disk |
59
+ | GET | `/api/auto-detect` | `{ signals: { composer, package, pyproject } }` |
60
+ | POST | `/api/preview` | `{ plan, lockfileSha256 }` for current selection |
61
+ | POST | `/api/apply` | SSE: `plan-file`, `progress`, `done`, `error` |
62
+ | POST | `/api/cancel` | Flush in-flight transaction log, close SSE stream |
63
+
64
+ All POSTs require:
65
+
66
+ 1. `Origin` header matching `http://127.0.0.1:<port>` or
67
+ `http://localhost:<port>`.
68
+ 2. Body field `csrf` matching the per-server token (timing-safe
69
+ compare in `security.ts`).
70
+
71
+ A bad CSRF returns `403` with no body. A bad Origin or Host returns
72
+ `403` with a short plaintext reason.
73
+
74
+ ## Transaction log + rollback
75
+
76
+ Every `POST /api/apply` writes append-only JSONL entries to
77
+ `<projectRoot>/agents/runtime/gui/install-<ts>.log`. Shapes are
78
+ declared in
79
+ [`types.ts § TransactionLogEntry`](../../packages/core/installer/src/gui/types.ts):
80
+
81
+ - `start` — workspaces + packs selected
82
+ - `plan` — one entry per planned write (`path`, `pack`)
83
+ - `commit` — `filesWritten`, `lockfileSha256`
84
+ - `cancel` — explicit `POST /api/cancel`
85
+ - `error` — terminating failure with `message`
86
+
87
+ The next `--gui` boot inspects the most recent log and offers to roll
88
+ back if it ended on `start`/`plan`/`error` without a matching
89
+ `commit`/`cancel`. The CLI path consumes the same log, so a mid-install
90
+ crash can be undone from either entry point.
91
+
92
+ ## SSE event framing
93
+
94
+ Every `POST /api/apply` event is `data: <json>\n\n`. The terminal event
95
+ is one of:
96
+
97
+ ```jsonc
98
+ { "type": "done", "filesWritten": 12, "lockfileSha256": "<64-hex>" }
99
+ { "type": "error", "message": "<reason>" }
100
+ ```
101
+
102
+ The browser closes the EventSource on either; the server flushes the
103
+ transaction log and unblocks the idle timer.
104
+
105
+ ## Tarball budget
106
+
107
+ GUI assets under `packages/core/installer/src/gui/` (inlined HTML +
108
+ CSS + JS in `static-assets.ts`) must stay **≤ 200 KB compiled**. The
109
+ constraint is enforced by reviewer judgment for now; a CI check is
110
+ tracked under the Phase 6 follow-ups.
111
+
112
+ ## Security failure modes covered
113
+
114
+ - **Remote exploitation** — loopback bind, Host allowlist, Origin
115
+ allowlist, CSRF token, CSP `default-src 'self'`.
116
+ - **DNS rebinding** — Host header check covers POSTs that omit
117
+ `Origin` (form posts).
118
+ - **Zombie servers** — ephemeral port + PID file + last-request idle
119
+ timer. Stale PIDs (process gone) are silently overwritten on next
120
+ boot; live PIDs block boot with a helpful message.
121
+ - **Mid-install crash** — transaction log + boot-time rollback prompt.
122
+ - **Hidden state** — closing the tab triggers idle timeout; no
123
+ cross-tab session.
124
+
125
+ ## Non-goals (documented contract)
126
+
127
+ - Not a hosted SaaS — no auth, no account model, no telemetry.
128
+ - Not a settings editor — read-only on the lockfile; writes go
129
+ through the same install plan as the CLI.
130
+ - Not a CI surface — every operation is reachable via `--gui-port=0
131
+ --no-open` is supported for headless smoke tests, but the canonical
132
+ CI path is the flag-driven non-interactive CLI.
133
+
134
+ ## Apply payload — versioning handshake (road-to-global-only-install Phase 0.4 · D12)
135
+
136
+ `/api/apply` accepts a discriminated-union body keyed on
137
+ `schema_version`. The full JSON Schema lives at
138
+ [`schemas/wizard-apply-payload.schema.json`](../../schemas/wizard-apply-payload.schema.json).
139
+
140
+ | `schema_version` | Variant | Shape |
141
+ |---|---|---|
142
+ | `"installer-v1"` | `InstallerPayloadV1` | `{ ai_tools[], configs{}, dry_run? }` — legacy Installer-GUI, AI tools only. |
143
+ | `"wizard-v2"` | `WizardPayloadV2` | `{ tools[], packs[], settings{}, scope_to_project_only?, dry_run? }` — unified 9-step wizard. |
144
+
145
+ **D12 (locked).** Single `/api/apply` endpoint with a `schema_version`
146
+ discriminator — **not** two endpoints with a shared Python backend.
147
+ Reasoning: one bind, one CSRF token, one transaction log; the
148
+ Python `scripts/install.py` payload-router branches on
149
+ `schema_version` before any disk write. The dual-endpoint variant was
150
+ considered and rejected for doubling the CSRF + idle-timer surface
151
+ with no observability gain.
152
+
153
+ `schema_version` is **required**. Servers MUST reject any body that
154
+ lacks it (HTTP 400, single-line error pointing at the schema). This
155
+ locks the contract before Phase 1 implementation so no implicit fork
156
+ can sneak in at Phase 1.5.
157
+
158
+ ## Unified 9-step flow (road-to-global-only-install § Phase 1.6)
159
+
160
+ The maintainer-facing wizard at `src/server/routes/wizard.ts` switches
161
+ between two step layouts based on the server-side `extendedSteps`
162
+ flag (default `false` for v2.x users; flipped to `true` by the
163
+ `agent-config setup` CLI when the npm-version kill-switch is in
164
+ effect):
165
+
166
+ | `extendedSteps` | Steps | Layout |
167
+ |---|---|---|
168
+ | `false` | 7 | `editor → personality → cost → roadmap-quality → memory → user-md → review` |
169
+ | `true` | 9 | `ai-tools → packs → editor → personality → cost → roadmap-quality → memory → user-md → review` |
170
+
171
+ The step shapes themselves are declared in
172
+ [`src/ui/wizard/steps.ts`](../../src/ui/wizard/steps.ts) — the two
173
+ prepended lead steps (`ai-tools`, `packs`) carry no `paths` and use
174
+ dedicated renderers in `WizardPage.tsx`. `getWizardSteps({ extended })`
175
+ is the single resolver; the UI consumes the active list via
176
+ `getActiveSteps()` / `activeTotalSteps()` so a server toggle takes
177
+ effect on the next reload without a code change.
178
+
179
+ ### `GET /api/v1/wizard/state` payload
180
+
181
+ ```jsonc
182
+ {
183
+ "step": 0,
184
+ "totalSteps": 9,
185
+ "partial": {},
186
+ "startedAt": null,
187
+ "extendedSteps": true
188
+ }
189
+ ```
190
+
191
+ `extendedSteps` is **advisory** — older server bundles MAY omit it,
192
+ and the UI treats `undefined` as `false`. `totalSteps` reflects the
193
+ flow that was active when the partial was written, which the UI uses
194
+ for resume continuity; the active step set is otherwise derived from
195
+ the current `extendedSteps` flag.
196
+
197
+ ### State persistence + recovery
198
+
199
+ Per-session state is written to `<writeRoot>/state/wizard-state.json`
200
+ (under the global config root, typically
201
+ `~/.event4u/agent-config/state/wizard-state.json`). If the file
202
+ becomes malformed — partial JSON write, orphaned session from a
203
+ previous npm version, manual edit gone wrong — the recovery path is:
204
+
205
+ ```
206
+ agent-config doctor --repair wizard-state
207
+ ```
208
+
209
+ The repair unlinks the file (idempotent; absent files are a no-op
210
+ success). The next `agent-config setup` boots from step 1 with a
211
+ fresh `startedAt`. A matching `wizard-state` health check is part of
212
+ the standard `agent-config doctor` run and surfaces malformed JSON or
213
+ schema-shape drift before the next setup attempt.
214
+
215
+ ### Extended-mode endpoints
216
+
217
+ `extendedSteps: true` activates two additional read-only endpoints:
218
+
219
+ | Method | Path | Purpose |
220
+ |--------|-------------------------------|---------|
221
+ | GET | `/api/v1/wizard/auto-detect` | Project-signal evidence (composer / package / pyproject / artisan / next.config) for the `ai-tools` step. 404 when extended-mode is off. |
222
+ | GET | `/api/v1/wizard/manifest` | Locked discovery-manifest (ADR-015) so the `packs` step can render supported AI IDs + every pack the manifest exposes. 404 when extended-mode is off. |
223
+
@@ -11,9 +11,9 @@ written, tested, and refactored against a stable surface.
11
11
 
12
12
  **Scope.** Defines the dispatcher's stdin/stdout shape, exit-code
13
13
  semantics, the `hook_manifest.yaml` schema, the concurrency contract
14
- for `agents/state/` writes, and the Copilot fallback pattern. Does
14
+ for `agents/runtime/state/` writes, and the Copilot fallback pattern. Does
15
15
  **not** specify per-platform install paths — those live in
16
- [`chat-history-platform-hooks.md`](../../agents/contexts/chat-history-platform-hooks.md).
16
+ [`chat-history-platform-hooks.md`](../../agents/settings/contexts/chat-history-platform-hooks.md).
17
17
 
18
18
  Last refreshed: 2026-05-04.
19
19
 
@@ -74,7 +74,7 @@ inferred from exit code only).
74
74
  "decision": "allow" | "block" | "warn",
75
75
  "reason": "human-readable, ≤ 200 chars",
76
76
  "additional_context": "optional — surfaces back to the model on platforms that support it",
77
- "state_writes": ["agents/state/chat-history.json", "…"]
77
+ "state_writes": ["agents/runtime/state/chat-history.json", "…"]
78
78
  }
79
79
  ```
80
80
 
@@ -103,7 +103,7 @@ runs them **sequentially** in manifest order and reduces:
103
103
  in manifest order. Concerns are never run in parallel — concurrency
104
104
  guarantees rely on serial state writes.
105
105
 
106
- ## Feedback channel — `agents/state/.dispatcher/<session_id>/`
106
+ ## Feedback channel — `agents/runtime/state/.dispatcher/<session_id>/`
107
107
 
108
108
  Exit-code reduction collapses the severity ladder to a single
109
109
  platform-native code, which can hide a `warn` behind a `block` or
@@ -112,7 +112,7 @@ without re-routing control flow, the dispatcher writes a feedback
112
112
  directory per invocation:
113
113
 
114
114
  ```
115
- agents/state/.dispatcher/<session_id>/
115
+ agents/runtime/state/.dispatcher/<session_id>/
116
116
  <concern>.json — one file per concern that ran
117
117
  summary.json — rollup written after the last concern
118
118
  ```
@@ -176,9 +176,9 @@ platform, every event key must be in the agent-config event vocabulary.
176
176
 
177
177
  ## Concurrency — atomic state writes
178
178
 
179
- Concerns that write under `agents/state/` MUST use the pattern:
179
+ Concerns that write under `agents/runtime/state/` MUST use the pattern:
180
180
 
181
- 1. Acquire `fcntl.flock(LOCK_EX)` on `agents/state/.dispatcher.lock`.
181
+ 1. Acquire `fcntl.flock(LOCK_EX)` on `agents/runtime/state/.dispatcher.lock`.
182
182
  2. Write to a sibling `<dest>.tmp.<pid>` file in the same directory.
183
183
  3. `os.replace(tmp, dest)` — POSIX-atomic on the same filesystem.
184
184
  4. Release the lock.
@@ -195,7 +195,7 @@ writes (file ends with valid JSON, last-writer-wins).
195
195
  ## Copilot fallback pattern
196
196
 
197
197
  Copilot has no hook surface. Concerns whose source rule cites
198
- `agents/state/<concern>.json` MUST gain a "Copilot fallback" section
198
+ `agents/runtime/state/<concern>.json` MUST gain a "Copilot fallback" section
199
199
  that:
200
200
 
201
201
  - Names the state file the concern would have written.
@@ -242,12 +242,12 @@ The corpus is platform-shape-representative, not platform-exhaustive
242
242
 
243
243
  ## Replay mode — `AGENT_CONFIG_REPLAY=1`
244
244
 
245
- Concerns that write under `agents/state/` MUST honor the
245
+ Concerns that write under `agents/runtime/state/` MUST honor the
246
246
  `AGENT_CONFIG_REPLAY` env var: when set to `1`, skip all state
247
247
  mutations and run as read-only. The dispatcher passes the env var
248
248
  through to subprocess concerns unchanged. Concerns that do not honor
249
249
  the flag are listed by `./agent-config hooks:doctor` as not
250
- replay-safe; replay tests assert no `agents/state/` mutation
250
+ replay-safe; replay tests assert no `agents/runtime/state/` mutation
251
251
  post-invocation.
252
252
 
253
253
  ## Stability
@@ -0,0 +1,137 @@
1
+ ---
2
+ stability: beta
3
+ keep-beta-until: 2026-08-19
4
+ ---
5
+
6
+ # Installer agent-mode protocol — JSON-over-stdio contract
7
+
8
+ > Companion to [ADR-016](../decisions/ADR-016-installer-architecture.md)
9
+ > § 4 and § 6. The ADR is the decision; this file is the worked-example
10
+ > reference that agents (Claude, Cursor, GPT, …) and the installer
11
+ > CLI share at runtime.
12
+
13
+ ## Source of truth
14
+
15
+ The agent-mode state machine lives in
16
+ [`packages/core/installer/src/agent-mode/machine.ts`](../../packages/core/installer/src/agent-mode/machine.ts).
17
+ Envelope construction and `--answer` parsing live in
18
+ [`protocol.ts`](../../packages/core/installer/src/agent-mode/protocol.ts).
19
+ Both are unit-tested under
20
+ [`packages/core/installer/tests/agent-mode-*.test.ts`](../../packages/core/installer/tests/).
21
+
22
+ ## Design constraints
23
+
24
+ - **Stateless across invocations** — the installer keeps no
25
+ server-side session. Every turn carries the full conversation as
26
+ repeated `--answer key=value` flags. An agent may re-issue from
27
+ scratch at any time.
28
+ - **Strict question-id sequencing** — answers must arrive in the
29
+ order the installer asks them (`q1.workspaces`, then `q2.packs`,
30
+ then optional `q3.confirm`). Out-of-order or unknown ids return
31
+ an `error` envelope, exit code 2.
32
+ - **Single-line JSON per turn** — stdout emits exactly one
33
+ newline-terminated JSON object per invocation; stderr is reserved
34
+ for diagnostics and is not part of the contract.
35
+ - **`protocol_version: 1`** — every envelope carries it; agents
36
+ refusing the version negotiate by aborting.
37
+
38
+ ## Envelope shapes
39
+
40
+ ### `question`
41
+
42
+ The installer is waiting for the next answer.
43
+
44
+ ```json
45
+ {
46
+ "status": "question",
47
+ "protocol_version": 1,
48
+ "id": "q1.workspaces",
49
+ "prompt": "Which workspaces does this project need? (multi, comma-separated)",
50
+ "choices": [
51
+ { "value": "engineering", "label": "Engineering" },
52
+ { "value": "product", "label": "Product" }
53
+ ],
54
+ "multi": true,
55
+ "next_call": "init --agent --answer q1.workspaces=<value>"
56
+ }
57
+ ```
58
+
59
+ - `id` — the canonical question identifier; the agent echoes it as
60
+ `--answer <id>=<value>`.
61
+ - `multi: true` — comma-separated values allowed; `multi: false` —
62
+ exactly one value.
63
+ - `next_call` — the literal command the agent should issue next,
64
+ with `<value>` (and prior answers) substituted in.
65
+
66
+ ### `done`
67
+
68
+ Terminal success; no further calls needed.
69
+
70
+ ```json
71
+ {
72
+ "status": "done",
73
+ "protocol_version": 1,
74
+ "summary": { "files_written": 83, "lockfile_sha256": "c45b3035…" }
75
+ }
76
+ ```
77
+
78
+ ### `error`
79
+
80
+ Terminal failure; exit code 2.
81
+
82
+ ```json
83
+ {
84
+ "status": "error",
85
+ "protocol_version": 1,
86
+ "reason": "out_of_order",
87
+ "expected_question_id": "q1.workspaces",
88
+ "received": "q2.packs"
89
+ }
90
+ ```
91
+
92
+ Defined `reason` values: `answer_malformed`, `out_of_order`,
93
+ `unknown_workspace`, `unknown_pack`, `aborted_by_agent`.
94
+
95
+ ## Turn-by-turn worked example
96
+
97
+ ```bash
98
+ # Turn 1 — discover workspaces
99
+ $ installer init --agent
100
+ {"status":"question","id":"q1.workspaces", … "next_call":"… --answer q1.workspaces=<value>"}
101
+
102
+ # Turn 2 — answer workspaces, discover packs
103
+ $ installer init --agent --answer q1.workspaces=engineering
104
+ {"status":"question","id":"q2.packs", … "next_call":"… --answer q1.workspaces=engineering --answer q2.packs=<value>"}
105
+
106
+ # Turn 3 — answer packs, install completes
107
+ $ installer init --agent --answer q1.workspaces=engineering --answer q2.packs=engineering-base
108
+ {"status":"done","summary":{"files_written":83,"lockfile_sha256":"c45b3035…"}}
109
+ ```
110
+
111
+ When the pack selection pulls in extras via `requires_hint`, the
112
+ installer inserts a `q3.confirm` turn before completing:
113
+
114
+ ```bash
115
+ $ installer init --agent --answer q1.workspaces=engineering --answer q2.packs=symfony
116
+ {"status":"question","id":"q3.confirm", "prompt":"Auto-added packs: php. Continue?", "choices":[{"value":"yes","label":"yes"},{"value":"no","label":"no"}], "multi":false, … }
117
+ ```
118
+
119
+ `q3.confirm=no` returns `reason: "aborted_by_agent"`.
120
+
121
+ ## Flags relevant to agent mode
122
+
123
+ - `--manifest <path>` — override the manifest location (defaults to
124
+ walking up for `dist/discovery/discovery-manifest.json`).
125
+ - `--project-root <path>` — destination project root.
126
+ - `--dry-run` — resolve and emit the `done` envelope without
127
+ touching disk; used by agents that want a plan preview.
128
+
129
+ ## Failure modes guarded against
130
+
131
+ - **Agent loops** — `protocol_version` mismatch on any side aborts
132
+ immediately; no implicit version negotiation.
133
+ - **State drift between turns** — the installer never reads
134
+ workdir state to recover answers; every fact must be carried in
135
+ `--answer` flags.
136
+ - **Silent partial install** — on any error after `q2.packs`,
137
+ exit code 2 with no disk writes (atomic via `StagingSession`).
@@ -47,7 +47,7 @@ skill / guideline per `rule-classification.md`.
47
47
  > the ask-policy floor that the original four-gate test left as an
48
48
  > implicit consequence of #1+#4. Both amendments preserve the
49
49
  > existing 9-rule kernel set. See
50
- > `agents/council-sessions/20260506T044941Z-phase1-cross-check-r2.json`. <!-- council-ref-allowed: contract decision trace -->
50
+ > `agents/runtime/council/sessions/20260506T044941Z-phase1-cross-check-r2.json`. <!-- council-ref-allowed: contract decision trace -->
51
51
 
52
52
  ## § 2 — Empirical compression rate (pilot)
53
53
 
@@ -76,7 +76,7 @@ outlier and sits inside the roadmap-stated 0.6–0.75 band. Risk
76
76
  asymmetry confirms the choice: under-estimating compressed size
77
77
  blows the 25k cap mid-P2.2 (no abort path); over-estimating just
78
78
  yields headroom. GPT-4o concurred. Source:
79
- `agents/council-sessions/20260506T044941Z-phase1-cross-check-r2.json`. <!-- council-ref-allowed: contract decision trace -->
79
+ `agents/runtime/council/sessions/20260506T044941Z-phase1-cross-check-r2.json`. <!-- council-ref-allowed: contract decision trace -->
80
80
 
81
81
  **Pilot caveat — already-lean floor.** `agent-authority` (1217 chars
82
82
  pre-pilot) yielded only `r = 0.838`. Pre-compressed rules give less
@@ -231,7 +231,7 @@ that fires on every action decision. Swap proposal: `agent-authority`
231
231
  the 9-rule set through P2.2. Re-evaluation trigger fires at P3.2
232
232
  once the router schema and compiler ship; at that point
233
233
  `agent-authority`'s routing role becomes redundant (each kernel rule
234
- carries its own band as frontmatter, compiled into `router.json`),
234
+ carries its own band as frontmatter, compiled into `dist/router.json`),
235
235
  clearing the way for the swap under a fresh ADR.
236
236
 
237
237
  ## § 6 — Abort criteria for P2.2
@@ -285,7 +285,7 @@ with the trigger-relaxed parameter, lock new value, re-attempt.
285
285
  |---|---|---|
286
286
  | 2026-05-06 | `scripts/measure_rule_budget.py` | baseline (32 403 chars across 9 always-rules) |
287
287
  | 2026-05-06 | `docs/contracts/pilot/*.md` + `scripts/_pilot_measure.py` | empirical r distribution (3 pilots) |
288
- | 2026-05-06 | `agents/council-sessions/20260506T044821Z-phase1-cross-check.json` | Council R1 (truncated at 1024 tokens) | <!-- council-ref-allowed: contract decision trace -->
289
- | 2026-05-06 | `agents/council-sessions/20260506T044941Z-phase1-cross-check-r2.json` | Council R2 (3500 tokens) — locks median r, splits criterion #3, adds criterion #5, raises per-rule cap to 2.5k, defines abort criteria | <!-- council-ref-allowed: contract decision trace -->
288
+ | 2026-05-06 | `agents/runtime/council/sessions/20260506T044821Z-phase1-cross-check.json` | Council R1 (truncated at 1024 tokens) | <!-- council-ref-allowed: contract decision trace -->
289
+ | 2026-05-06 | `agents/runtime/council/sessions/20260506T044941Z-phase1-cross-check-r2.json` | Council R2 (3500 tokens) — locks median r, splits criterion #3, adds criterion #5, raises per-rule cap to 2.5k, defines abort criteria | <!-- council-ref-allowed: contract decision trace -->
290
290
  | 2026-05-06 | this file | kernel set locked: 9 rules, projected 23 071 chars (median r = 0.712) |
291
291
  | 2026-05-06 | P2.2 compression + `scripts/iron_law_sha.py --all-kernel` | empirical: 25 590 chars (r_actual = 0.795 across kernel; longer rules compress less than the pilot median) — see `docs/decisions/ADR-002-kernel-bucket-overrides.md` (KERNEL_HARD raised 25k → 26k, 6 per-rule overrides ≤ 4k ceiling, all Iron-Law SHAs preserved) |
@@ -65,9 +65,9 @@ imperatives (`NEVER COMMIT.`).
65
65
 
66
66
  Sweep covered all 310 lintable artifacts via
67
67
  [`scripts/measure_density.py`](../../scripts/measure_density.py); raw
68
- data lives at `agents/.density-snapshot.jsonl` (local-only — re-run
68
+ data lives at `agents/runtime/density/snapshot.jsonl` (local-only — re-run
69
69
  `python3 scripts/measure_density.py --root .agent-src --jsonl
70
- agents/.density-snapshot.jsonl` to regenerate).
70
+ agents/runtime/density/snapshot.jsonl` to regenerate).
71
71
 
72
72
  | Type | Count | Avg density | Median | Bucket [0.4-0.6] | Bucket [0.6-1.0] |
73
73
  |---|---|---|---|---|---|
@@ -172,7 +172,7 @@ keys** — the structural primitives are the contract.
172
172
  ## References
173
173
 
174
174
  - `scripts/measure_density.py` — Phase 1.1 measurement tool.
175
- - `agents/.density-snapshot.jsonl` — full per-artifact metrics
175
+ - `agents/runtime/density/snapshot.jsonl` — full per-artifact metrics
176
176
  (gitignored, re-run the measurement script to regenerate).
177
177
  - `scripts/skill_linter.py` — structural-model implementation
178
178
  (`_density_score`, `_count_procedure_sections`,