@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,189 @@
1
+ ---
2
+ adr: 016
3
+ status: accepted
4
+ date: 2026-05-21
5
+ decision: installer-architecture
6
+ supersedes: —
7
+ superseded_by: —
8
+ phase: v2.x · monorepo-phase-3-typescript-installer
9
+ type: prospective
10
+ ---
11
+
12
+ # ADR-016 — TypeScript Installer Architecture
13
+
14
+ ## Status
15
+
16
+ **Accepted** · 2026-05-21 · external AI Council pass (`claude-sonnet-4-5`
17
+ + `gpt-4o`, 2 rounds, `design` lens, actual cost $0.13) on
18
+ [`agents/roadmaps/monorepo-phase-3-typescript-installer.md`](../../agents/roadmaps/monorepo-phase-3-typescript-installer.md).
19
+ Council issued **conditional approval** with five blockers; this ADR
20
+ folds each blocker into the design before Phase 3.1 starts.
21
+
22
+ Session: [`agents/runtime/council/responses/phase-3-installer-design.json`](../../agents/runtime/council/responses/phase-3-installer-design.json) <!-- council-ref-allowed: ADR decision-trace -->
23
+
24
+ ## Context
25
+
26
+ Phase 3 of the monorepo plan replaces the shell-based `install.sh` with
27
+ a TypeScript Core Installer that drives interactive TUI, non-interactive
28
+ CI flags, and a structured **agent-mode** JSON protocol over stdio. It
29
+ consumes [`dist/discovery/discovery-manifest.json`](../../dist/discovery/discovery-manifest.json)
30
+ (locked by [ADR-015](ADR-015-discovery-manifest-contract.md)) and
31
+ writes managed files into the consumer's `.augment/` and `.agent-src/`,
32
+ tracked in `agents/agent-config.lock.yml`.
33
+
34
+ The council raised five architectural risks that, left unaddressed,
35
+ would force post-merge rework in Phase 5 (trust) and Phase 6 (browser
36
+ wizard). This ADR locks the resolution of each.
37
+
38
+ ## Decision
39
+
40
+ ### 1. Lockfile schema v1 records provenance, not just paths
41
+
42
+ ```yaml
43
+ schema_version: 1
44
+ agent_config_version: 2.0.0
45
+ manifest_sha256: <hex> # sha256 of the consumed discovery-manifest.json
46
+ generated_at: 2026-05-21T12:00:00Z
47
+ workspaces: [engineering, governance]
48
+ packs:
49
+ - id: pack.laravel
50
+ version: 2.0.0
51
+ auto_selected: false
52
+ required_by: []
53
+ files:
54
+ - path: .augment/skills/laravel/SKILL.md
55
+ pack: pack.laravel
56
+ pack_version: 2.0.0
57
+ sha256: <hex>
58
+ manifest_sha256: <hex> # which manifest sourced this file
59
+ managed: true
60
+ ```
61
+
62
+ `manifest_sha256` is per-file (not just per-lockfile) so Phase 5 trust
63
+ gates can answer "which manifest claimed this artefact was safe?"
64
+ without needing a lockfile rewrite.
65
+
66
+ ### 2. Overrides live in a separate file the installer never writes
67
+
68
+ ```yaml
69
+ # agents/agent-config.overrides.yml — user-managed, installer reads but never writes
70
+ schema_version: 1
71
+ overrides:
72
+ - path: agents/overrides/skills/laravel/SKILL.md
73
+ shadows: .augment/skills/laravel/SKILL.md
74
+ reason: "Custom prompt for our team's Laravel style"
75
+ ```
76
+
77
+ The lockfile (`.lock.yml`) is **append-only by the installer**;
78
+ overrides (`.overrides.yml`) are **read-only to the installer**.
79
+ `validate` cross-references the two. This resolves the source-of-truth
80
+ ambiguity the council flagged on `managed: false`.
81
+
82
+ ### 3. Merge decision table replaces "three-way merge" handwaving
83
+
84
+ | Disk | Lock | Upstream | Override? | Action |
85
+ |---------|------|----------|-----------|--------------------------------------|
86
+ | A | A | A | — | no-op |
87
+ | A | A | B | no | write B, update lock |
88
+ | A | A | B | yes | write B to `.augment/`, leave override |
89
+ | A | A | absent | — | offer prune |
90
+ | X (drift) | A | A | — | warn, suggest `validate --fix` |
91
+ | X (drift) | A | B | no | error: manual merge required |
92
+ | X (drift) | A | B | yes | error: override may be stale |
93
+ | absent | A | B | — | write B (recreate) |
94
+
95
+ Encoded in `src/sync/merge-strategy.ts`; covered by
96
+ `tests/sync-algorithm.test.ts` with one case per row.
97
+
98
+ ### 4. Agent mode: strict question-ID validation (stateless)
99
+
100
+ Of the three options the council surfaced (session token, nonce,
101
+ strict sequencing) we adopt **strict sequencing**: the CLI tracks the
102
+ current question id in the manifest of expected answers; any
103
+ `--answer` that does not match the current question id returns:
104
+
105
+ ```json
106
+ { "status": "error", "protocol_version": 1, "reason": "out_of_order",
107
+ "expected_question_id": "q1.workspaces", "received": "q2.packs" }
108
+ ```
109
+
110
+ Stateless (no session file), enforceable, and easy to test. Nonces
111
+ can be added later under the same protocol version if the threat model
112
+ hardens.
113
+
114
+ ### 5. Atomic writes via staging directory
115
+
116
+ Every command that writes to `.augment/`, `.agent-src/`, or the
117
+ lockfile stages changes under `.augment/.agent-config-staging/<uuid>/`,
118
+ verifies sha256s against intended manifest entries, then performs:
119
+
120
+ 1. Atomic rename: `staging/.augment/foo.md` → `.augment/foo.md`
121
+ (per-file `fs.renameSync` is atomic on POSIX and Windows ≥ 10).
122
+ 2. Lockfile written last (so a mid-flight crash leaves the lockfile
123
+ pointing at the previous-good state, not the partial new state).
124
+ 3. Staging directory removed on success.
125
+
126
+ `init`, `sync`, and `prune` share the same `commitAtomic(staging)`
127
+ helper.
128
+
129
+ ### 6. `protocol_version` field on every agent-mode response
130
+
131
+ ```json
132
+ { "status": "question", "protocol_version": 1, "id": "q1.workspaces", ... }
133
+ ```
134
+
135
+ Pinned at 1 for Phase 3; bumped to 2 only on breaking change.
136
+ Versioning the schema (not just `next_call`) lets Phase 5 add trust
137
+ banners without breaking existing agents.
138
+
139
+ ## Consequences
140
+
141
+ **Positive**
142
+
143
+ - Phase 5 (trust) can add `trust_level` to lockfile packs without a
144
+ schema migration (already at `schema_version: 1`; trust fields
145
+ become optional v1 additions).
146
+ - Phase 6 (browser wizard) reuses the same agent-mode JSON shape over
147
+ a local HTTP server; the strict-sequencing model maps to HTTP
148
+ request/response naturally.
149
+ - `agents/agent-config.overrides.yml` becomes a Git-tracked
150
+ declaration of user intent — diffable, reviewable, and never
151
+ silently overwritten.
152
+ - Atomic writes give `sync` and `prune` crash safety without a
153
+ rollback subcommand.
154
+
155
+ **Negative**
156
+
157
+ - One extra YAML file in the consumer repo (overrides).
158
+ - Strict sequencing means agents must replay the conversation if they
159
+ lose state mid-call; this is the simplest threat-model resolution
160
+ but pushes complexity onto agent authors.
161
+ - Per-file `manifest_sha256` adds ~64 bytes per lockfile entry; for a
162
+ 500-file install that's 32 KB. Acceptable.
163
+
164
+ **Deferred to Phase 5**
165
+
166
+ - npm package signature verification (SLSA Level 3 / `npm
167
+ provenance`). Reviewer A's "sign the package, not just the
168
+ manifest" call. Phase 5 owns trust gates; Phase 3 only records
169
+ provenance.
170
+
171
+ ## Rejected alternatives
172
+
173
+ - **Single lockfile with `overrides:` section** — the original spec.
174
+ Rejected because the installer cannot detect untracked
175
+ user-authored overrides without either scanning `agents/overrides/`
176
+ (which a malicious agent could pollute) or trusting user edits to
177
+ the lockfile (which breaks "lockfile is installer-generated").
178
+ - **Nonce-based agent mode** — overkill for v1. Re-evaluate when
179
+ agent mode lands on a remote surface.
180
+ - **Rollback subcommand with lockfile history** — atomic writes
181
+ already give us crash safety; full version history is a Phase 6
182
+ concern (the browser wizard wants a timeline).
183
+
184
+ ## References
185
+
186
+ - Roadmap: [`agents/roadmaps/monorepo-phase-3-typescript-installer.md`](../../agents/roadmaps/monorepo-phase-3-typescript-installer.md)
187
+ - Discovery manifest: [ADR-015](ADR-015-discovery-manifest-contract.md)
188
+ - CLI shell precedent: [ADR-012](ADR-012-typescript-cli-shell.md)
189
+ - Council session: [`agents/runtime/council/responses/phase-3-installer-design.json`](../../agents/runtime/council/responses/phase-3-installer-design.json) <!-- council-ref-allowed: ADR decision-trace -->
@@ -0,0 +1,261 @@
1
+ ---
2
+ adr: 017
3
+ status: accepted
4
+ date: 2026-05-21
5
+ decision: monorepo-physical-layout
6
+ supersedes: —
7
+ superseded_by: —
8
+ phase: v2.x · monorepo-phase-4-physical-package-layout
9
+ type: prospective
10
+ ---
11
+
12
+ # ADR-017 — Monorepo Physical Package Layout
13
+
14
+ ## Status
15
+
16
+ **Accepted** · 2026-05-21 · external AI Council pass (`claude-sonnet-4-5`
17
+ + `gpt-4o`, 2 rounds, `design` lens, actual cost $0.0961) on the Phase 4
18
+ roadmap. Council issued **conditional approval** with four blockers and
19
+ two refinements; this revision folds each into the design before the
20
+ `--apply` step runs.
21
+
22
+ Session: [`agents/runtime/council/responses/phase-4-physical-layout.json`](../../agents/runtime/council/responses/phase-4-physical-layout.json) <!-- council-ref-allowed: ADR decision-trace -->
23
+
24
+ Companion artefacts:
25
+ - [`agents/roadmaps/monorepo-phase-4-physical-package-layout.md`](../../agents/roadmaps/monorepo-phase-4-physical-package-layout.md)
26
+ - [`dist/migration/move-plan.json`](../../dist/migration/move-plan.json) (94 moves, 432 core, 0 conflicts)
27
+ - [`dist/migration/pre-move-snapshot.json`](../../dist/migration/pre-move-snapshot.json) (744 files hashed)
28
+ - [`scripts/plan_physical_move.py`](../../scripts/plan_physical_move.py) (plan + apply)
29
+ - [`scripts/verify_physical_move.py`](../../scripts/verify_physical_move.py) (post-move diff vs. snapshot)
30
+
31
+ ## Context
32
+
33
+ Phases 1–3 produced the artefact metadata (`packs[]`, `workspaces[]`,
34
+ `trust.level`, `install.removable`), the discovery manifest, and the
35
+ TypeScript installer **without** moving a single file. The on-disk
36
+ source tree is still flat:
37
+
38
+ ```text
39
+ .agent-src.uncompressed/
40
+ rules/ # 72 entries
41
+ skills/ # 218 entries
42
+ commands/ # 129 entries
43
+ personas/ # 24 entries
44
+ contexts/ # 32 entries
45
+ templates/ # 24 scaffolds
46
+
47
+ ```
48
+
49
+ This means the metadata says "this skill belongs to `pack.laravel`" but
50
+ the file lives next to a Symfony skill and a finance persona. Consumers
51
+ of the npm release, the consumer-side `.augment/` overlay, and the
52
+ upcoming Phase 5 trust gates would all benefit from physical separation
53
+ that mirrors the manifest. Phase 4 introduces that separation in one PR
54
+ with a deterministic, history-preserving migration.
55
+
56
+ The four risks the council flagged on Phase 3 (history loss, stale path
57
+ refs, cross-pack drift, hand-edited paths) all bite hardest here.
58
+
59
+ ## Decision
60
+
61
+ ### 1. Layout — one core, one folder per pack
62
+
63
+ ```text
64
+ packages/
65
+ core/
66
+ installer/ # TS CLI (already there post-Phase 3)
67
+ .agent-src.uncompressed/ # rules + kernel skills + scaffolds
68
+ pack-php/.agent-src.uncompressed/
69
+ pack-laravel/.agent-src.uncompressed/
70
+
71
+ pack-ai-video/.agent-src.uncompressed/
72
+ ```
73
+
74
+ No flag day: every commit between "before" and "after" the move builds
75
+ and ships. The TS installer needs zero behavioural changes — only the
76
+ `manifest-loader.ts` path roots flip.
77
+
78
+ ### 2. Mapping rules (deterministic, lockfile-stable)
79
+
80
+ Implemented in [`scripts/plan_physical_move.py`](../../scripts/plan_physical_move.py):
81
+
82
+ 1. **Kernel rules** → `packages/core/` (allowlist, sanity-checked against
83
+ [`docs/contracts/kernel-membership.md`](../contracts/kernel-membership.md) §4).
84
+ The locked set is 10 entries; `user-interrupt-priority` was admitted
85
+ post-P2.2 and is included.
86
+ 2. **Core-trust artefacts** (`trust.level: core` AND
87
+ `install.removable: false`) → `packages/core/`.
88
+ 3. **Non-frontmatter trees** (`templates/`, `profiles/`, `presets/`,
89
+ `contexts/`, `user-types/`, `scripts/`, `ghostwriter/`, `packs/`,
90
+ `personas/`) → `packages/core/` verbatim. These are scaffolding and
91
+ product internals, not pack-routable artefacts.
92
+ 4. **Skill auxiliary files** (`prompts/*.md`, sub-pages inside a skill
93
+ directory) → inherit the destination of the nearest `SKILL.md` in
94
+ the parent directory tree. Codified to fix 9 false-positive conflicts
95
+ on Phase 4 dry-run.
96
+ 5. **Pack-routable artefacts** → `packages/pack-<id>/`, where `<id>` is
97
+ the first entry in `packs[]`. Tie-breaking by alphabetic pack id.
98
+ 6. **Quarantined scaffolds** (the 26 entries in
99
+ [`config/discovery/unassigned-artefacts.yml`](../../config/discovery/unassigned-artefacts.yml))
100
+ → `packages/core/` with `unassigned scaffold:` reason recorded in the
101
+ move plan. The top-level `.agent-src.uncompressed/README.md` was added
102
+ here during dry-run.
103
+ 7. **`primary pack: meta`** → `packages/core/` (package-internal
104
+ scaffolding, not a real pack).
105
+ 8. **Unknown / missing pack** → fall back to `packages/core/` AND emit
106
+ a conflict. `--apply` refuses to run if `conflicts > 0`.
107
+
108
+ ### 3. Mechanic — `git mv` only
109
+
110
+ Every move uses `git mv` so `git log --follow` keeps working on every
111
+ artefact post-move. The plan script's `--apply` mode is the only entry
112
+ point; it refuses if any conflict remains. No human-edited paths.
113
+
114
+ ### 4. Byte-identity contract
115
+
116
+ `task sync` + `task build-discovery` after the move must produce
117
+ `.agent-src/`, `.augment/`, and `dist/discovery/discovery-manifest.json`
118
+ byte-identical to the pre-move snapshot **except** for
119
+ `artefacts[].path` values. [`scripts/verify_physical_move.py`](../../scripts/verify_physical_move.py)
120
+ captures a post-move snapshot and diffs against
121
+ `dist/migration/pre-move-snapshot.json`; the only allowed delta is the
122
+ `path` field per artefact.
123
+
124
+ ### 5. Rollback
125
+
126
+ The whole move is a single PR. `git revert <merge-sha>` restores the
127
+ prior layout in one commit; the next `task sync` round-trip is back to
128
+ the pre-move snapshot. No data migration, no manifest schema change, no
129
+ installer behaviour change.
130
+
131
+ ## Consequences
132
+
133
+ ### Positive
134
+
135
+ - Metadata-to-disk parity: a consumer can now `cd packages/pack-laravel`
136
+ and see exactly what `pack.laravel` ships, no manifest indirection.
137
+ - Phase 5 (trust) lands cleanly inside `packages/core/installer/` and
138
+ reads per-pack metadata from `packages/pack-*/.agent-src.uncompressed/`.
139
+ - Phase 6 (browser wizard) maps packs 1:1 to its left-nav.
140
+ - Cross-pack drift is now lintable (`task lint-pack-boundaries` in
141
+ Phase 4.4 of the roadmap).
142
+ - `git log --follow` keeps working — no history loss.
143
+
144
+ ### Negative
145
+
146
+ - One large PR (~526 file moves). Reviewers need the move plan as the
147
+ primary review artefact, not per-file diff inspection.
148
+ - Editors with the old tree open will hit broken paths until they pull.
149
+ Mitigated by docs-update in the same PR (`AGENTS.md`, `README.md`,
150
+ `docs/architecture.md`).
151
+ - Path refs in CI workflows, Taskfile, and the discovery scanner need
152
+ one-line updates. The roadmap enumerates each.
153
+
154
+ ### Neutral
155
+
156
+ - The npm tarball shape changes (paths only). The installer copies
157
+ files by manifest entry, not by source path, so consumers see no
158
+ difference.
159
+
160
+ ## Alternatives considered
161
+
162
+ 1. **Phased move (one pack per PR).** Rejected: 16 PRs, partial states
163
+ on disk for weeks, `task sync` invariants harder to enforce.
164
+ 2. **Symlink farm.** Rejected: Windows support, npm tarball duplication,
165
+ and the installer would have to dereference paths.
166
+ 3. **Stay flat, lift packs into manifest-only.** Rejected: this is the
167
+ current state; it forfeits the metadata-to-disk parity that Phase 5
168
+ and Phase 6 depend on.
169
+
170
+ ## Council resolution (Round 2)
171
+
172
+ Four blocking items and two refinements raised by the council; each
173
+ resolved before `--apply` runs.
174
+
175
+ ### B1 — Final source location of `.agent-src.uncompressed/`
176
+
177
+ The council asked whether the source tree nests inside `packages/core/`
178
+ (current design) or becomes a peer `pack-core/`. **Decision: keep
179
+ `packages/core/.agent-src.uncompressed/`.** Three reasons:
180
+
181
+ 1. `packages/core/` is the engine + installer + kernel rules +
182
+ scaffolding (templates, profiles, presets, contexts, user-types).
183
+ None of that is pack-routable; making it a "pack" inverts the
184
+ product mental model.
185
+ 2. The installer in `packages/core/installer/` already lives next to
186
+ the manifest loader; co-locating the rules that bootstrap the
187
+ installer reduces cross-package import chains.
188
+ 3. The TS installer consumes `dist/discovery/discovery-manifest.json`,
189
+ not source paths, so the "location is privileged" critique does not
190
+ bite — the manifest is the API.
191
+
192
+ ### B2 — `git mv` rename detection at scale
193
+
194
+ Default `diff.renameLimit` since git 2.9 is 1000. Plan: 94 explicit
195
+ `git mv` operations + 1 directory rename for `core/`. Each move is
196
+ content-identical (no edits during move). Test gate: after `--apply`,
197
+ run `git diff --name-status HEAD~1` and assert `R100` (100 % rename
198
+ similarity) on every moved file. Verification script enforces this.
199
+
200
+ ### B3 — Consumer-facing output contract
201
+
202
+ `task sync` writes `.agent-src/` (compressed) and `.augment/` (overlay)
203
+ at repo root — **unchanged** location and structure. The byte-identity
204
+ contract covers exactly these two trees plus the discovery manifest.
205
+ What changes:
206
+
207
+ - `dist/discovery/discovery-manifest.json` `artefacts[].path` values
208
+ (path-only delta, enforced by `verify_physical_move.py`).
209
+ - npm tarball internal paths (consumers never touch these; installer
210
+ uses manifest entries).
211
+
212
+ What stays identical: `.agent-src/`, `.augment/`, manifest checksums
213
+ of non-path fields, lockfile schema, installer behaviour.
214
+
215
+ ### B4 — Installer dual-layout support
216
+
217
+ Not required. Consumers install via `npm install
218
+ @event4u/agent-config@<version>`; each version ships a self-consistent
219
+ tarball. There is no "consumer pulls mid-PR" scenario because consumers
220
+ do not consume the source repo — they consume the published tarball.
221
+ Source-tree contributors who pull the merge commit move atomically
222
+ with the layout. The "dual-layout" complexity the council proposed
223
+ exists in code-host-as-CDN ecosystems we do not target.
224
+
225
+ ### R1 — `primary_pack` frontmatter field
226
+
227
+ `scripts/plan_physical_move.py` already uses `packs[0]` as the
228
+ destination. Round-2 hardening: the plan also reads an explicit
229
+ `primary_pack:` frontmatter field when present and prefers it over
230
+ `packs[0]`. Lint that requires `primary_pack` on every pack-routable
231
+ artefact lands in Phase 4.4 (out of scope for the move itself; the
232
+ move uses today's data and the new fallback).
233
+
234
+ ### R2 — Pre-move pack-boundary lint
235
+
236
+ The current plan dry-run finds 0 conflicts after the auxiliary-file
237
+ inheritance rule landed. A cross-pack-reference lint (an artefact in
238
+ `pack.laravel` citing one in `pack.symfony` without a declared
239
+ dependency) is deferred to Phase 4.4 — the move itself does not edit
240
+ file contents, so cross-pack references survive the move byte-identical.
241
+
242
+ ## Compliance + verification
243
+
244
+ - `scripts/plan_physical_move.py` is the only mover. Hand-edited paths
245
+ fail `task verify-physical-move`.
246
+ - `scripts/verify_physical_move.py` enforces the byte-identity
247
+ contract.
248
+ - `task ci` runs both as a hard gate post-move.
249
+ - Per-pack lint matrix lands in Phase 4.4 of the roadmap.
250
+
251
+ ## Future work
252
+
253
+ - Phase 4.4 — per-pack `pack.yaml` + boundary lint.
254
+ - Phase 4.5 — contributor scaffolders (`task new-skill`,
255
+ `task move-artefact`).
256
+ - Phase 6 (optional) — split distribution per pack as separate npm
257
+ packages. Specification removed 2026-05-24 (drift audit, finding
258
+ F-1): the 150-line "documented-only" addendum had zero consumers
259
+ and ~6 months of unmaintained drift versus the bundled-tarball
260
+ model. Restore from git history at `d06af2c5` if a real consumer
261
+ ever asks for a single-pack install path.
@@ -0,0 +1,159 @@
1
+ ---
2
+ adr: 018
3
+ status: accepted
4
+ date: 2026-05-21
5
+ decision: trust-and-safety-layer
6
+ supersedes: —
7
+ superseded_by: —
8
+ phase: v2.x · monorepo-phase-5-trust-safety-layer
9
+ type: prospective
10
+ ---
11
+
12
+ # ADR-018 — Trust & Safety Layer
13
+
14
+ ## Status
15
+
16
+ **Accepted** · 2026-05-21 · external AI Council pass on the Phase 5
17
+ roadmap (`claude-sonnet-4-5` + `gpt-4o`, `design` lens). Council
18
+ confirmed the closed-enum trust ladder, the per-pack safety-floor
19
+ rule, and the compressor-injected HRR banner; refinement folded into
20
+ the lint script and the installer's confirm copy.
21
+
22
+ Session: [`agents/runtime/council/responses/phase-5-trust-safety.json`](../../agents/runtime/council/responses/phase-5-trust-safety.json) <!-- council-ref-allowed: ADR decision-trace -->
23
+
24
+ Companion artefacts:
25
+ - Contract: [`docs/contracts/trust-and-safety.md`](../contracts/trust-and-safety.md)
26
+ - Roadmap: [`agents/roadmaps/monorepo-phase-5-trust-safety-layer.md`](../../agents/roadmaps/monorepo-phase-5-trust-safety-layer.md)
27
+ - Lint: [`scripts/lint_trust_coherence.py`](../../scripts/lint_trust_coherence.py) + [`tests/test_lint_trust_coherence.py`](../../tests/test_lint_trust_coherence.py)
28
+ - Compressor: [`scripts/compress.py`](../../scripts/compress.py) (`_inject_hrr_banner`)
29
+ - Installer: [`packages/core/installer/src/trust-escalation.ts`](../../packages/core/installer/src/trust-escalation.ts)
30
+
31
+ ## Context
32
+
33
+ [`ADR-013`](ADR-013-discovery-frontmatter-contract.md) added the three
34
+ trust fields (`trust.level`, `trust.confidence`,
35
+ `trust.human_review_required`) as the discovery-frontmatter contract
36
+ in Phase 1 of the monorepo migration. Phase 2's discovery manifest
37
+ ([`ADR-015`](ADR-015-discovery-manifest-contract.md)) rolled them up
38
+ into `packs[].trust_summary`. Phases 3 and 4 wired the TypeScript
39
+ installer ([`ADR-016`](ADR-016-installer-architecture.md)) and moved
40
+ sources into `packages/` ([`ADR-017`](ADR-017-monorepo-physical-layout.md)).
41
+
42
+ After Phase 4 we had the **metadata** end-to-end but **no enforcement**:
43
+
44
+ - Installer treated all packs identically — no surface for advisory
45
+ content, no confirm step before opting into legally-flavoured
46
+ finance / strategy material.
47
+ - Compressor preserved frontmatter but did not propagate the
48
+ `human_review_required` signal into the compiled artefact, so the
49
+ runtime had no parser-stable hook to gate output on.
50
+ - Domain-specific safety floors (finance, founder-strategy,
51
+ engineering) existed only as drafts under
52
+ `agents/tmp/refactor-package.txt`; they were not first-class
53
+ artefacts shipped with their packs.
54
+ - No lint existed to catch drift between declared trust level and
55
+ the absence of the matching guardrail rule.
56
+
57
+ The existing universal floors (`non-destructive-by-default`,
58
+ `commit-policy`, `scope-control § git-ops`, `security-sensitive-stop`)
59
+ covered the **action** surface — destruction, push, secrets, prod —
60
+ but said nothing about **output** quality on advisory domains
61
+ (investment calls, valuation verdicts, strategic recommendations).
62
+ Without a Phase 5, a user installing `pack-finance-basic` could
63
+ receive a final "yes, invest" answer with no review banner and no
64
+ sensitivity required.
65
+
66
+ ## Decision
67
+
68
+ Ship a four-piece trust & safety layer:
69
+
70
+ 1. **Closed-enum trust ladder.** `core` · `professional` · `advisory`
71
+ · `restricted` · `experimental`. Authoritative table and meaning
72
+ live in [`trust-and-safety § 1`](../contracts/trust-and-safety.md#-1--trust-levels).
73
+ 2. **HRR banner injection.** The compressor scans frontmatter and
74
+ prepends `<!-- agent-config:human-review-banner -->\n> HUMAN REVIEW
75
+ REQUIRED · trust: <level> · owner: <domain>` to any artefact with
76
+ `trust.human_review_required: true`. Idempotent on re-compression.
77
+ 3. **Per-pack safety-floor rules.** `core` ships
78
+ `engineering-safety-floor.md`; `pack-finance-basic` ships
79
+ `finance-safety-floor.md`; `pack-founder-strategy` ships
80
+ `strategy-safety-floor.md`. Each is itself `advisory` +
81
+ `human_review_required: true`, so it carries the banner and loads
82
+ automatically with the pack.
83
+ 4. **Installer confirm + lockfile escalation.** The pack picker shows
84
+ the trust mix per pack; selecting an advisory/restricted pack
85
+ triggers a confirm prompt (or `--accept-advisory=<pack-id>` in
86
+ non-interactive mode). Accepted trust counts are recorded in
87
+ `.agent-config.lock.json`. Subsequent `sync` runs that find an
88
+ escalation re-confirm before applying.
89
+ 5. **Coherence lint.** `scripts/lint_trust_coherence.py` enforces:
90
+ (a) safety-floor presence per advisory/restricted pack;
91
+ (b) HRR banner presence in compiled output;
92
+ (c) kernel rules declare `trust.level: core`. Wired into
93
+ `ci-fast` and `ci-full`.
94
+
95
+ ## Consequences
96
+
97
+ ### Good
98
+
99
+ - **Single source of trust truth.** The frontmatter field is the
100
+ one input; the installer, compressor, lint, and runtime all read
101
+ it. No parallel registry, no duplicated copy.
102
+ - **Banner is parser-stable.** The HTML-comment marker survives every
103
+ downstream surface (Augment, Claude, Cursor, Windsurf) because it is
104
+ Markdown comment syntax, not prose. Runtime detection greps the
105
+ marker, never the human-readable line.
106
+ - **Coherence is enforceable in CI.** A pack that ships advisory
107
+ content without its safety-floor rule fails the build. A kernel
108
+ rule downgraded to advisory fails the build. A
109
+ `human_review_required` artefact whose compiled output drifted
110
+ fails the build.
111
+ - **Lockfile catches drift across releases.** An upgrade that
112
+ escalates a previously-`professional` artefact to `advisory`
113
+ re-confirms with the user instead of silently applying.
114
+
115
+ ### Trade-offs
116
+
117
+ - **One more lint** (~200 LOC + 7 tests) added to `ci-fast`. Live
118
+ manifest run is sub-second; budget impact negligible.
119
+ - **Closed enum** means new trust levels (e.g. a future `regulated`)
120
+ require a follow-on ADR. Accepted as the price for stable lint
121
+ invariants.
122
+ - **Banner is visible in compiled output**, so users browsing
123
+ `.agent-src/` will see "HUMAN REVIEW REQUIRED" on advisory rules.
124
+ Treated as a feature, not a leak: the banner is the gate.
125
+
126
+ ### Rejected alternatives
127
+
128
+ - **Per-user permission system.** Considered and rejected: trust is a
129
+ property of artefacts, not users. The installer's once-per-install
130
+ confirm is the gate; a runtime per-action authorisation would
131
+ duplicate the universal floors (`non-destructive-by-default` etc.)
132
+ without adding signal.
133
+ - **Re-declaring the Iron-Law floors here.** The four floors stay
134
+ where they live (`kernel-membership`, `safety-model`); this ADR
135
+ references them, never restates them. Avoids contradictory edits.
136
+ - **Open-ended trust enum.** A free-form string would let packs invent
137
+ their own levels and bypass the lint. Closed enum keeps the
138
+ contract enforceable.
139
+
140
+ ## Open questions
141
+
142
+ - A future `regulated` level for healthcare / regulated-finance content
143
+ is anticipated but not in scope; will follow `pack-healthcare` or
144
+ similar.
145
+ - Per-artefact `owner` field is currently derived (first pack id).
146
+ Future ADR may promote `trust.owner` to an explicit frontmatter
147
+ key when more than one pack ships the same artefact under different
148
+ ownership stories.
149
+
150
+ ## References
151
+
152
+ - Contract: [`docs/contracts/trust-and-safety.md`](../contracts/trust-and-safety.md)
153
+ - Roadmap: [`agents/roadmaps/monorepo-phase-5-trust-safety-layer.md`](../../agents/roadmaps/monorepo-phase-5-trust-safety-layer.md)
154
+ - Predecessors: [`ADR-013`](ADR-013-discovery-frontmatter-contract.md)
155
+ · [`ADR-015`](ADR-015-discovery-manifest-contract.md)
156
+ · [`ADR-016`](ADR-016-installer-architecture.md)
157
+ · [`ADR-017`](ADR-017-monorepo-physical-layout.md)
158
+ - Sibling: [`safety-model`](../contracts/safety-model.md) ·
159
+ [`kernel-membership`](../contracts/kernel-membership.md)