@event4u/agent-config 2.25.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (804) 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 +13 -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 +14 -2
  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 +15 -2
  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/jira-ticket.md +12 -0
  66. package/.agent-src/commands/judge/on-diff.md +12 -0
  67. package/.agent-src/commands/judge/solo.md +12 -0
  68. package/.agent-src/commands/judge/steps.md +12 -0
  69. package/.agent-src/commands/judge.md +12 -0
  70. package/.agent-src/commands/memory/add.md +15 -3
  71. package/.agent-src/commands/memory/learn-low-impact.md +18 -6
  72. package/.agent-src/commands/memory/load.md +12 -0
  73. package/.agent-src/commands/memory/mine-session.md +12 -0
  74. package/.agent-src/commands/memory/promote.md +12 -0
  75. package/.agent-src/commands/memory/propose.md +12 -0
  76. package/.agent-src/commands/memory.md +12 -0
  77. package/.agent-src/commands/mode.md +12 -0
  78. package/.agent-src/commands/module/create.md +13 -0
  79. package/.agent-src/commands/module/explore.md +23 -7
  80. package/.agent-src/commands/module.md +12 -0
  81. package/.agent-src/commands/optimize/agents-dir.md +14 -2
  82. package/.agent-src/commands/optimize/augmentignore.md +64 -20
  83. package/.agent-src/commands/optimize/rtk.md +68 -30
  84. package/.agent-src/commands/optimize/skills.md +12 -0
  85. package/.agent-src/commands/optimize-prompt.md +12 -0
  86. package/.agent-src/commands/optimize.md +12 -0
  87. package/.agent-src/commands/orchestrate.md +13 -1
  88. package/.agent-src/commands/override/create.md +12 -0
  89. package/.agent-src/commands/override/manage.md +12 -0
  90. package/.agent-src/commands/override.md +12 -0
  91. package/.agent-src/commands/package-reset.md +12 -0
  92. package/.agent-src/commands/package-test.md +98 -10
  93. package/.agent-src/commands/post-as/ghostwriter.md +12 -0
  94. package/.agent-src/commands/post-as/me.md +13 -1
  95. package/.agent-src/commands/post-as.md +12 -0
  96. package/.agent-src/commands/prepare-for-review.md +12 -0
  97. package/.agent-src/commands/project-analyze.md +27 -15
  98. package/.agent-src/commands/project-health.md +13 -1
  99. package/.agent-src/commands/quality-fix.md +61 -27
  100. package/.agent-src/commands/refine-ticket.md +12 -0
  101. package/.agent-src/commands/research/deep.md +12 -0
  102. package/.agent-src/commands/research/report.md +12 -0
  103. package/.agent-src/commands/research.md +12 -0
  104. package/.agent-src/commands/review-changes.md +12 -0
  105. package/.agent-src/commands/review-routing.md +12 -0
  106. package/.agent-src/commands/roadmap/ai-council.md +15 -3
  107. package/.agent-src/commands/roadmap/create.md +13 -1
  108. package/.agent-src/commands/roadmap/process-full.md +12 -0
  109. package/.agent-src/commands/roadmap/process-phase.md +12 -0
  110. package/.agent-src/commands/roadmap/process-step.md +12 -0
  111. package/.agent-src/commands/roadmap.md +12 -0
  112. package/.agent-src/commands/rule-compliance-audit.md +12 -0
  113. package/.agent-src/commands/set-cost-profile.md +12 -0
  114. package/.agent-src/commands/sync-agent-settings.md +12 -0
  115. package/.agent-src/commands/sync-gitignore/fix.md +32 -13
  116. package/.agent-src/commands/sync-gitignore.md +13 -1
  117. package/.agent-src/commands/tests/create.md +12 -0
  118. package/.agent-src/commands/tests/execute.md +12 -0
  119. package/.agent-src/commands/tests.md +12 -0
  120. package/.agent-src/commands/threat-model.md +12 -0
  121. package/.agent-src/commands/update-form-request-messages.md +14 -1
  122. package/.agent-src/commands/upstream-contribute.md +12 -0
  123. package/.agent-src/commands/video/from-script.md +12 -0
  124. package/.agent-src/commands/video/scene.md +12 -0
  125. package/.agent-src/commands/video/stitch.md +13 -1
  126. package/.agent-src/commands/video/storyboard.md +12 -0
  127. package/.agent-src/commands/video.md +12 -0
  128. package/.agent-src/commands/work.md +12 -0
  129. package/.agent-src/contexts/augment-infrastructure.md +6 -9
  130. package/.agent-src/contexts/authority/scope-mechanics.md +11 -0
  131. package/.agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +1 -1
  132. package/.agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
  133. package/.agent-src/contexts/contracts/research-schema.md +1 -1
  134. package/.agent-src/contexts/documentation-hierarchy.md +2 -2
  135. package/.agent-src/contexts/execution/interrupt-examples.md +34 -0
  136. package/.agent-src/contexts/execution/roadmap-process-loop.md +19 -0
  137. package/.agent-src/contexts/skills-and-commands.md +2 -2
  138. package/.agent-src/ghostwriter/README.md +2 -2
  139. package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
  140. package/.agent-src/personas/README.md +1 -1
  141. package/.agent-src/personas/advisors/contrarian.md +1 -1
  142. package/.agent-src/personas/advisors/executor.md +1 -1
  143. package/.agent-src/personas/advisors/expansionist.md +1 -1
  144. package/.agent-src/personas/advisors/first-principles.md +1 -1
  145. package/.agent-src/personas/advisors/outsider.md +1 -1
  146. package/.agent-src/rules/agent-authority.md +12 -0
  147. package/.agent-src/rules/analysis-skill-routing.md +12 -0
  148. package/.agent-src/rules/architecture.md +37 -11
  149. package/.agent-src/rules/artifact-drafting-protocol.md +19 -1
  150. package/.agent-src/rules/artifact-engagement-recording.md +13 -1
  151. package/.agent-src/rules/ask-when-uncertain.md +12 -0
  152. package/.agent-src/rules/augment-edit-discipline.md +40 -0
  153. package/.agent-src/rules/augment-source-of-truth.md +15 -3
  154. package/.agent-src/rules/autonomous-execution.md +44 -1
  155. package/.agent-src/rules/caveman-speak.md +13 -1
  156. package/.agent-src/rules/cli-output-handling.md +13 -1
  157. package/.agent-src/rules/command-suggestion-policy.md +13 -1
  158. package/.agent-src/rules/commit-conventions.md +13 -1
  159. package/.agent-src/rules/commit-policy.md +12 -0
  160. package/.agent-src/rules/context-hygiene.md +16 -4
  161. package/.agent-src/rules/copilot-routing.md +13 -1
  162. package/.agent-src/rules/devcontainer-routing.md +13 -1
  163. package/.agent-src/rules/direct-answers.md +12 -0
  164. package/.agent-src/rules/docker-commands.md +13 -1
  165. package/.agent-src/rules/domain-adoption-policy.md +21 -10
  166. package/.agent-src/rules/domain-safety-disclaimer.md +126 -0
  167. package/.agent-src/rules/domain-safety-pii.md +154 -0
  168. package/.agent-src/rules/domain-safety-retention.md +98 -0
  169. package/.agent-src/rules/downstream-changes.md +17 -5
  170. package/.agent-src/rules/external-reference-deep-dive.md +13 -1
  171. package/.agent-src/rules/fast-path-marker-visibility.md +21 -1
  172. package/.agent-src/rules/framework-neutrality-in-generic-skills.md +142 -0
  173. package/.agent-src/rules/git-history-discipline.md +111 -0
  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 +19 -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 +12 -0
  188. package/.agent-src/rules/no-roadmap-references.md +32 -18
  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 +14 -2
  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/symfony-routing.md +13 -1
  209. package/.agent-src/rules/think-before-action.md +13 -1
  210. package/.agent-src/rules/token-efficiency.md +13 -1
  211. package/.agent-src/rules/token-optimizer-maintenance.md +12 -0
  212. package/.agent-src/rules/tool-safety.md +13 -1
  213. package/.agent-src/rules/ui-audit-gate.md +13 -1
  214. package/.agent-src/rules/upstream-proposal.md +13 -1
  215. package/.agent-src/rules/user-interaction.md +13 -1
  216. package/.agent-src/rules/user-interrupt-priority.md +58 -0
  217. package/.agent-src/rules/verify-before-complete.md +23 -2
  218. package/.agent-src/skills/accessibility-auditor/SKILL.md +12 -0
  219. package/.agent-src/skills/activation-design/SKILL.md +12 -0
  220. package/.agent-src/skills/adr-create/SKILL.md +12 -0
  221. package/.agent-src/skills/adversarial-review/SKILL.md +13 -1
  222. package/.agent-src/skills/agent-docs-writing/SKILL.md +16 -4
  223. package/.agent-src/skills/agents-md-thin-root/SKILL.md +14 -2
  224. package/.agent-src/skills/ai-council/SKILL.md +29 -15
  225. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +12 -0
  226. package/.agent-src/skills/analysis-skill-router/SKILL.md +12 -0
  227. package/.agent-src/skills/api-design/SKILL.md +13 -3
  228. package/.agent-src/skills/api-endpoint/SKILL.md +70 -154
  229. package/.agent-src/skills/api-testing/SKILL.md +23 -0
  230. package/.agent-src/skills/architecture-review-lens/SKILL.md +12 -0
  231. package/.agent-src/skills/artisan-commands/SKILL.md +12 -0
  232. package/.agent-src/skills/async-python-patterns/SKILL.md +13 -1
  233. package/.agent-src/skills/authz-review/SKILL.md +12 -2
  234. package/.agent-src/skills/aws-infrastructure/SKILL.md +12 -0
  235. package/.agent-src/skills/blade-ui/SKILL.md +12 -0
  236. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +12 -0
  237. package/.agent-src/skills/bug-analyzer/SKILL.md +14 -2
  238. package/.agent-src/skills/build-buy-partner/SKILL.md +12 -0
  239. package/.agent-src/skills/canvas-design/SKILL.md +12 -0
  240. package/.agent-src/skills/character-consistency/SKILL.md +23 -11
  241. package/.agent-src/skills/check-refs/SKILL.md +12 -0
  242. package/.agent-src/skills/churn-prevention/SKILL.md +12 -0
  243. package/.agent-src/skills/code-refactoring/SKILL.md +52 -34
  244. package/.agent-src/skills/code-review/SKILL.md +53 -36
  245. package/.agent-src/skills/command-routing/SKILL.md +12 -0
  246. package/.agent-src/skills/command-writing/SKILL.md +14 -2
  247. package/.agent-src/skills/comp-banding/SKILL.md +12 -0
  248. package/.agent-src/skills/competitive-moat-analysis/SKILL.md +12 -2
  249. package/.agent-src/skills/competitive-positioning/SKILL.md +12 -2
  250. package/.agent-src/skills/composer-packages/SKILL.md +12 -0
  251. package/.agent-src/skills/compress-memory/SKILL.md +12 -0
  252. package/.agent-src/skills/content-funnel-design/SKILL.md +12 -2
  253. package/.agent-src/skills/context-authoring/SKILL.md +19 -7
  254. package/.agent-src/skills/context-document/SKILL.md +17 -5
  255. package/.agent-src/skills/contracts-cognition/SKILL.md +12 -2
  256. package/.agent-src/skills/conventional-commits-writing/SKILL.md +12 -0
  257. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +13 -1
  258. package/.agent-src/skills/copilot-config/SKILL.md +12 -0
  259. package/.agent-src/skills/customer-research/SKILL.md +12 -0
  260. package/.agent-src/skills/dashboard-design/SKILL.md +13 -2
  261. package/.agent-src/skills/data-flow-mapper/SKILL.md +12 -0
  262. package/.agent-src/skills/data-handling-judgment/SKILL.md +12 -2
  263. package/.agent-src/skills/database/SKILL.md +22 -5
  264. package/.agent-src/skills/dcf-modeling/SKILL.md +12 -2
  265. package/.agent-src/skills/deal-qualification-meddic/SKILL.md +12 -2
  266. package/.agent-src/skills/decision-record/SKILL.md +12 -0
  267. package/.agent-src/skills/deep-reading-analyst/SKILL.md +12 -0
  268. package/.agent-src/skills/defense-in-depth/SKILL.md +13 -1
  269. package/.agent-src/skills/dependency-upgrade/SKILL.md +77 -19
  270. package/.agent-src/skills/description-assist/SKILL.md +12 -0
  271. package/.agent-src/skills/design-review/SKILL.md +12 -0
  272. package/.agent-src/skills/devcontainer/SKILL.md +12 -0
  273. package/.agent-src/skills/developer-like-execution/SKILL.md +37 -14
  274. package/.agent-src/skills/discovery-interview/SKILL.md +12 -2
  275. package/.agent-src/skills/doc-coauthoring/SKILL.md +12 -0
  276. package/.agent-src/skills/docker/SKILL.md +12 -0
  277. package/.agent-src/skills/editorial-calendar/SKILL.md +12 -2
  278. package/.agent-src/skills/eloquent/SKILL.md +13 -1
  279. package/.agent-src/skills/eloquent/evals/triggers.json +1 -1
  280. package/.agent-src/skills/error-handling-patterns/SKILL.md +13 -1
  281. package/.agent-src/skills/estimate-ticket/SKILL.md +12 -0
  282. package/.agent-src/skills/existing-ui-audit/SKILL.md +12 -0
  283. package/.agent-src/skills/expansion-playbook/SKILL.md +12 -0
  284. package/.agent-src/skills/fe-design/SKILL.md +12 -0
  285. package/.agent-src/skills/feature-planning/SKILL.md +13 -1
  286. package/.agent-src/skills/file-editor/SKILL.md +57 -19
  287. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +14 -2
  288. package/.agent-src/skills/flux/SKILL.md +12 -0
  289. package/.agent-src/skills/forecast-accuracy/SKILL.md +12 -2
  290. package/.agent-src/skills/forecasting/SKILL.md +12 -2
  291. package/.agent-src/skills/form-handler/SKILL.md +12 -0
  292. package/.agent-src/skills/fundraising-narrative/SKILL.md +12 -2
  293. package/.agent-src/skills/funnel-analysis/SKILL.md +12 -0
  294. package/.agent-src/skills/git-workflow/SKILL.md +16 -4
  295. package/.agent-src/skills/github-ci/SKILL.md +12 -0
  296. package/.agent-src/skills/grafana/SKILL.md +12 -0
  297. package/.agent-src/skills/gtm-launch/SKILL.md +12 -2
  298. package/.agent-src/skills/guideline-writing/SKILL.md +12 -0
  299. package/.agent-src/skills/hiring-loop-design/SKILL.md +12 -0
  300. package/.agent-src/skills/incident-commander/SKILL.md +12 -2
  301. package/.agent-src/skills/jira-integration/SKILL.md +12 -0
  302. package/.agent-src/skills/jobs-events/SKILL.md +12 -0
  303. package/.agent-src/skills/judge-bug-hunter/SKILL.md +12 -0
  304. package/.agent-src/skills/judge-code-quality/SKILL.md +12 -0
  305. package/.agent-src/skills/judge-security-auditor/SKILL.md +12 -0
  306. package/.agent-src/skills/judge-test-coverage/SKILL.md +12 -0
  307. package/.agent-src/skills/laravel/SKILL.md +12 -0
  308. package/.agent-src/skills/laravel-api-endpoint/SKILL.md +199 -0
  309. package/.agent-src/skills/{dto-creator → laravel-dto}/SKILL.md +19 -6
  310. package/.agent-src/skills/laravel-horizon/SKILL.md +12 -0
  311. package/.agent-src/skills/laravel-mail/SKILL.md +12 -0
  312. package/.agent-src/skills/laravel-middleware/SKILL.md +12 -0
  313. package/.agent-src/skills/{migration-creator → laravel-migration}/SKILL.md +23 -10
  314. package/.agent-src/skills/laravel-notifications/SKILL.md +12 -0
  315. package/.agent-src/skills/laravel-pennant/SKILL.md +12 -0
  316. package/.agent-src/skills/laravel-pulse/SKILL.md +12 -0
  317. package/.agent-src/skills/laravel-reverb/SKILL.md +15 -3
  318. package/.agent-src/skills/laravel-scheduling/SKILL.md +12 -0
  319. package/.agent-src/skills/laravel-validation/SKILL.md +12 -0
  320. package/.agent-src/skills/{websocket → laravel-websocket}/SKILL.md +16 -3
  321. package/.agent-src/skills/launch-readiness/SKILL.md +12 -2
  322. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +16 -4
  323. package/.agent-src/skills/lint-skills/SKILL.md +12 -0
  324. package/.agent-src/skills/livewire/SKILL.md +12 -0
  325. package/.agent-src/skills/livewire-architect/SKILL.md +12 -0
  326. package/.agent-src/skills/logging-monitoring/SKILL.md +12 -0
  327. package/.agent-src/skills/market-entry-analysis/SKILL.md +12 -0
  328. package/.agent-src/skills/markitdown/SKILL.md +14 -2
  329. package/.agent-src/skills/mcp/SKILL.md +12 -0
  330. package/.agent-src/skills/mcp-builder/SKILL.md +14 -2
  331. package/.agent-src/skills/md-language-check/SKILL.md +13 -1
  332. package/.agent-src/skills/memory-consolidation/SKILL.md +12 -0
  333. package/.agent-src/skills/merge-conflicts/SKILL.md +61 -17
  334. package/.agent-src/skills/messaging-architecture/SKILL.md +12 -2
  335. package/.agent-src/skills/migration-architect/SKILL.md +18 -6
  336. package/.agent-src/skills/mobile-e2e-strategy/SKILL.md +12 -0
  337. package/.agent-src/skills/module-management/SKILL.md +13 -0
  338. package/.agent-src/skills/motion-choreographer/SKILL.md +16 -4
  339. package/.agent-src/skills/multi-tenancy/SKILL.md +29 -10
  340. package/.agent-src/skills/nextjs-patterns/SKILL.md +12 -0
  341. package/.agent-src/skills/okr-tree-modeling/SKILL.md +12 -2
  342. package/.agent-src/skills/onboarding-design/SKILL.md +12 -0
  343. package/.agent-src/skills/onboarding-program/SKILL.md +12 -0
  344. package/.agent-src/skills/one-on-one-cadence/SKILL.md +12 -0
  345. package/.agent-src/skills/openapi/SKILL.md +13 -1
  346. package/.agent-src/skills/org-design/SKILL.md +12 -0
  347. package/.agent-src/skills/override-management/SKILL.md +12 -0
  348. package/.agent-src/skills/perf-feedback-craft/SKILL.md +12 -0
  349. package/.agent-src/skills/performance/SKILL.md +12 -0
  350. package/.agent-src/skills/performance-analysis/SKILL.md +12 -0
  351. package/.agent-src/skills/persona-writing/SKILL.md +12 -0
  352. package/.agent-src/skills/pest-testing/SKILL.md +30 -0
  353. package/.agent-src/skills/php-coder/SKILL.md +12 -0
  354. package/.agent-src/skills/php-debugging/SKILL.md +40 -0
  355. package/.agent-src/skills/php-service/SKILL.md +15 -3
  356. package/.agent-src/skills/pipeline-strategy/SKILL.md +12 -2
  357. package/.agent-src/skills/pixar-storyteller/SKILL.md +17 -5
  358. package/.agent-src/skills/playwright-architect/SKILL.md +12 -2
  359. package/.agent-src/skills/playwright-testing/SKILL.md +28 -1
  360. package/.agent-src/skills/po-discovery/SKILL.md +12 -0
  361. package/.agent-src/skills/positioning-strategy/SKILL.md +12 -0
  362. package/.agent-src/skills/privacy-review/SKILL.md +12 -2
  363. package/.agent-src/skills/project-analysis-core/SKILL.md +12 -0
  364. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +12 -0
  365. package/.agent-src/skills/project-analysis-laravel/SKILL.md +12 -0
  366. package/.agent-src/skills/project-analysis-nextjs/SKILL.md +12 -0
  367. package/.agent-src/skills/project-analysis-node-express/SKILL.md +12 -0
  368. package/.agent-src/skills/project-analysis-react/SKILL.md +12 -0
  369. package/.agent-src/skills/project-analysis-symfony/SKILL.md +12 -0
  370. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +12 -0
  371. package/.agent-src/skills/project-analyzer/SKILL.md +98 -60
  372. package/.agent-src/skills/project-docs/SKILL.md +25 -13
  373. package/.agent-src/skills/prompt-engineering-patterns/SKILL.md +13 -1
  374. package/.agent-src/skills/prompt-optimizer/SKILL.md +13 -1
  375. package/.agent-src/skills/quality-tools/SKILL.md +12 -2
  376. package/.agent-src/skills/react-native-setup/SKILL.md +12 -0
  377. package/.agent-src/skills/react-shadcn-ui/SKILL.md +12 -0
  378. package/.agent-src/skills/readme-reviewer/SKILL.md +12 -0
  379. package/.agent-src/skills/readme-writing/SKILL.md +12 -0
  380. package/.agent-src/skills/readme-writing-package/SKILL.md +106 -23
  381. package/.agent-src/skills/receiving-code-review/SKILL.md +12 -0
  382. package/.agent-src/skills/refine-prompt/SKILL.md +13 -1
  383. package/.agent-src/skills/refine-ticket/SKILL.md +14 -2
  384. package/.agent-src/skills/refine-ticket/detection-map.yml +2 -2
  385. package/.agent-src/skills/release-comms/SKILL.md +12 -2
  386. package/.agent-src/skills/repomix-packer/SKILL.md +13 -1
  387. package/.agent-src/skills/requesting-code-review/SKILL.md +12 -0
  388. package/.agent-src/skills/retention-loops/SKILL.md +12 -0
  389. package/.agent-src/skills/review-routing/SKILL.md +12 -0
  390. package/.agent-src/skills/rice-prioritization/SKILL.md +12 -0
  391. package/.agent-src/skills/risk-officer/SKILL.md +12 -0
  392. package/.agent-src/skills/roadmap-management/SKILL.md +13 -1
  393. package/.agent-src/skills/roadmap-writing/SKILL.md +12 -0
  394. package/.agent-src/skills/rtk-output-filtering/SKILL.md +35 -8
  395. package/.agent-src/skills/rule-refactor/SKILL.md +157 -0
  396. package/.agent-src/skills/rule-writing/SKILL.md +46 -8
  397. package/.agent-src/skills/runway-cognition/SKILL.md +12 -2
  398. package/.agent-src/skills/scenario-modeling/SKILL.md +12 -2
  399. package/.agent-src/skills/scene-expander/SKILL.md +18 -6
  400. package/.agent-src/skills/script-writing/SKILL.md +13 -1
  401. package/.agent-src/skills/secrets-management/SKILL.md +13 -3
  402. package/.agent-src/skills/security/SKILL.md +50 -29
  403. package/.agent-src/skills/security-audit/SKILL.md +12 -0
  404. package/.agent-src/skills/sentry-integration/SKILL.md +12 -0
  405. package/.agent-src/skills/sequential-thinking/SKILL.md +12 -0
  406. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +12 -0
  407. package/.agent-src/skills/skill-management/SKILL.md +12 -0
  408. package/.agent-src/skills/skill-reviewer/SKILL.md +13 -1
  409. package/.agent-src/skills/skill-writing/SKILL.md +12 -0
  410. package/.agent-src/skills/sql-writing/SKILL.md +12 -0
  411. package/.agent-src/skills/stakeholder-tradeoff/SKILL.md +12 -0
  412. package/.agent-src/skills/subagent-orchestration/SKILL.md +13 -1
  413. package/.agent-src/skills/symfony-workflow/SKILL.md +12 -0
  414. package/.agent-src/skills/systematic-debugging/SKILL.md +12 -0
  415. package/.agent-src/skills/tailwind-engineer/SKILL.md +12 -0
  416. package/.agent-src/skills/tech-debt-tracker/SKILL.md +12 -2
  417. package/.agent-src/skills/technical-specification/SKILL.md +12 -0
  418. package/.agent-src/skills/terraform/SKILL.md +12 -0
  419. package/.agent-src/skills/terragrunt/SKILL.md +12 -0
  420. package/.agent-src/skills/test-driven-development/SKILL.md +16 -4
  421. package/.agent-src/skills/test-performance/SKILL.md +19 -6
  422. package/.agent-src/skills/testing-anti-patterns/SKILL.md +13 -1
  423. package/.agent-src/skills/threat-modeling/SKILL.md +12 -0
  424. package/.agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +12 -0
  425. package/.agent-src/skills/token-optimizer/SKILL.md +12 -0
  426. package/.agent-src/skills/traefik/SKILL.md +12 -0
  427. package/.agent-src/skills/ui-component-architect/SKILL.md +12 -0
  428. package/.agent-src/skills/unit-economics-modeling/SKILL.md +12 -2
  429. package/.agent-src/skills/universal-project-analysis/SKILL.md +12 -0
  430. package/.agent-src/skills/upstream-contribute/SKILL.md +12 -0
  431. package/.agent-src/skills/using-git-worktrees/SKILL.md +12 -0
  432. package/.agent-src/skills/validate-feature-fit/SKILL.md +12 -0
  433. package/.agent-src/skills/verify-completion-evidence/SKILL.md +36 -27
  434. package/.agent-src/skills/video-director/SKILL.md +18 -6
  435. package/.agent-src/skills/vision-articulation/SKILL.md +12 -0
  436. package/.agent-src/skills/voc-extract/SKILL.md +12 -2
  437. package/.agent-src/skills/voice-and-tone-design/SKILL.md +12 -2
  438. package/.agent-src/templates/agent-settings.md +5 -5
  439. package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  440. package/.agent-src/templates/agents/memory/ownership.example.yml +1 -1
  441. package/.agent-src/templates/agents/proposal.example.md +12 -0
  442. package/.agent-src/templates/command.md +1 -1
  443. package/.agent-src/templates/contexts/auth-model.md +2 -2
  444. package/.agent-src/templates/contexts/data-sensitivity.md +3 -3
  445. package/.agent-src/templates/contexts/deployment-order.md +2 -2
  446. package/.agent-src/templates/contexts/observability.md +3 -3
  447. package/.agent-src/templates/contexts/tenant-boundaries.md +3 -3
  448. package/.agent-src/templates/contexts.md +1 -1
  449. package/.agent-src/templates/copilot-instructions.md +2 -2
  450. package/.agent-src/templates/rule.md +3 -3
  451. package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +3 -3
  452. package/.agent-src/templates/scripts/work_engine/cli.py +6 -6
  453. package/.agent-src/templates/scripts/work_engine/emitters.py +29 -4
  454. package/.agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.py +3 -3
  455. package/.agent-src/templates/scripts/work_engine/state.py +53 -0
  456. package/.agent-src/templates/skill-archive-note.md +4 -4
  457. package/.claude-plugin/marketplace.json +6 -5
  458. package/AGENTS.md +5 -4
  459. package/CHANGELOG.md +178 -194
  460. package/CONTRIBUTING.md +61 -0
  461. package/README.md +23 -20
  462. package/config/agent-settings.template.yml +11 -1
  463. package/config/discovery/packs.yml +142 -0
  464. package/config/discovery/unassigned-artefacts.yml +66 -0
  465. package/config/discovery/workspaces.yml +59 -0
  466. package/config/gitignore-block.txt +17 -20
  467. package/dist/cli/agent-config.js +199 -0
  468. package/dist/cli/agent-config.js.map +1 -0
  469. package/dist/cli/bash/runBash.js +40 -0
  470. package/dist/cli/bash/runBash.js.map +1 -0
  471. package/dist/cli/commands/doctorShell.js +91 -0
  472. package/dist/cli/commands/doctorShell.js.map +1 -0
  473. package/dist/cli/commands/packs.js +59 -0
  474. package/dist/cli/commands/packs.js.map +1 -0
  475. package/dist/cli/commands/settings.js +35 -0
  476. package/dist/cli/commands/settings.js.map +1 -0
  477. package/dist/cli/commands/uiServe.js +110 -0
  478. package/dist/cli/commands/uiServe.js.map +1 -0
  479. package/dist/cli/commands/versions.js +64 -0
  480. package/dist/cli/commands/versions.js.map +1 -0
  481. package/dist/cli/commands/workspaces.js +58 -0
  482. package/dist/cli/commands/workspaces.js.map +1 -0
  483. package/dist/cli/discovery/loadManifest.js +62 -0
  484. package/dist/cli/discovery/loadManifest.js.map +1 -0
  485. package/dist/cli/log/logger.js +41 -0
  486. package/dist/cli/log/logger.js.map +1 -0
  487. package/dist/cli/paths.js +60 -0
  488. package/dist/cli/paths.js.map +1 -0
  489. package/dist/cli/python/resolvePython.js +38 -0
  490. package/dist/cli/python/resolvePython.js.map +1 -0
  491. package/dist/cli/registry.js +75 -0
  492. package/dist/cli/registry.js.map +1 -0
  493. package/dist/discovery/discovery-manifest.json +9195 -0
  494. package/dist/discovery/discovery-manifest.json.sha256 +1 -0
  495. package/dist/discovery/discovery-manifest.summary.md +93 -0
  496. package/dist/mcp/awesome-mcp-servers.row.md +1 -0
  497. package/dist/mcp/mcp-cloudflare-catalogue.json +27 -0
  498. package/dist/mcp/registry-manifest.json +63 -0
  499. package/dist/server/app.js +117 -0
  500. package/dist/server/app.js.map +1 -0
  501. package/dist/server/io/atomicMultiWrite.js +202 -0
  502. package/dist/server/io/atomicMultiWrite.js.map +1 -0
  503. package/dist/server/io/atomicWrite.js +79 -0
  504. package/dist/server/io/atomicWrite.js.map +1 -0
  505. package/dist/server/io/substituteTemplate.js +87 -0
  506. package/dist/server/io/substituteTemplate.js.map +1 -0
  507. package/dist/server/io/yamlIO.js +140 -0
  508. package/dist/server/io/yamlIO.js.map +1 -0
  509. package/dist/server/port.js +97 -0
  510. package/dist/server/port.js.map +1 -0
  511. package/dist/server/routes/discovery.js +72 -0
  512. package/dist/server/routes/discovery.js.map +1 -0
  513. package/dist/server/routes/ping.js +49 -0
  514. package/dist/server/routes/ping.js.map +1 -0
  515. package/dist/server/routes/schema.js +41 -0
  516. package/dist/server/routes/schema.js.map +1 -0
  517. package/dist/server/routes/settings.js +155 -0
  518. package/dist/server/routes/settings.js.map +1 -0
  519. package/dist/server/routes/userMd.js +117 -0
  520. package/dist/server/routes/userMd.js.map +1 -0
  521. package/dist/server/routes/wizard.js +138 -0
  522. package/dist/server/routes/wizard.js.map +1 -0
  523. package/dist/server/schemas/settings.js +138 -0
  524. package/dist/server/schemas/settings.js.map +1 -0
  525. package/dist/server/token.js +68 -0
  526. package/dist/server/token.js.map +1 -0
  527. package/dist/server/writeRoot.js +67 -0
  528. package/dist/server/writeRoot.js.map +1 -0
  529. package/dist/server/writeRoot.test.js +73 -0
  530. package/dist/server/writeRoot.test.js.map +1 -0
  531. package/dist/shared/userMd/formAdapter.js +105 -0
  532. package/dist/shared/userMd/formAdapter.js.map +1 -0
  533. package/dist/shared/userMd/schema.js +118 -0
  534. package/dist/shared/userMd/schema.js.map +1 -0
  535. package/dist/shared/userMd/utils.js +74 -0
  536. package/dist/shared/userMd/utils.js.map +1 -0
  537. package/dist/ui/assets/index-BTRcKDlB.js +39 -0
  538. package/dist/ui/assets/index-BTRcKDlB.js.map +1 -0
  539. package/dist/ui/assets/index-Dqfhmg-d.css +1 -0
  540. package/dist/ui/index.html +14 -0
  541. package/docs/adrs/caveman/0001-default-off-until-bench.md +2 -2
  542. package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
  543. package/docs/adrs/schema/0001-json-schema-frontmatter.md +4 -4
  544. package/docs/adrs/schema/README.md +1 -1
  545. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +2 -2
  546. package/docs/architecture/setup-vs-settings-shared-surface.md +114 -0
  547. package/docs/architecture.md +4 -3
  548. package/docs/archive/CHANGELOG-pre-2.2.0.md +7 -7
  549. package/docs/archive/CHANGELOG-pre-2.25.0.md +191 -0
  550. package/docs/archive/CHANGELOG-pre-3.0.0.md +130 -0
  551. package/docs/catalog.md +77 -84
  552. package/docs/contracts/STABILITY.md +1 -1
  553. package/docs/contracts/adr-architectural-consensus-mechanism.md +5 -5
  554. package/docs/contracts/adr-chat-history-split.md +1 -1
  555. package/docs/contracts/adr-implement-ticket-runtime.md +1 -1
  556. package/docs/contracts/adr-install-user-type-axis.md +1 -1
  557. package/docs/contracts/adr-mcp-runtime.md +2 -2
  558. package/docs/contracts/agent-user-schema.md +11 -2
  559. package/docs/contracts/ai-council-config.md +13 -13
  560. package/docs/contracts/audit-log-v1.md +2 -2
  561. package/docs/contracts/command-clusters.md +2 -2
  562. package/docs/contracts/compression-default-kill-criterion.md +3 -3
  563. package/docs/contracts/decision-trace-v1.md +5 -5
  564. package/docs/contracts/discovery-manifest.schema.json +146 -0
  565. package/docs/contracts/explain-trace.schema.json +144 -0
  566. package/docs/contracts/file-ownership-matrix.json +515 -309
  567. package/docs/contracts/file-ownership-matrix.md +1 -1
  568. package/docs/contracts/ghostwriter-schema.md +3 -3
  569. package/docs/contracts/hook-architecture-v1.md +10 -10
  570. package/docs/contracts/kernel-membership.md +21 -4
  571. package/docs/contracts/linter-structural-model.md +3 -3
  572. package/docs/contracts/load-context-schema.md +5 -5
  573. package/docs/contracts/local-server-api.md +134 -0
  574. package/docs/contracts/low-impact-corpus-format.md +1 -1
  575. package/docs/contracts/mcp-cloud-scope.md +2 -2
  576. package/docs/contracts/mcp-discovery-phase-notice.md +1 -1
  577. package/docs/contracts/mcp-phase-1-scope.md +5 -4
  578. package/docs/contracts/mcp-registry-manifest.schema.json +129 -0
  579. package/docs/contracts/mcp-tool-stub-envelope.md +1 -1
  580. package/docs/contracts/memory-visibility-v1.md +2 -2
  581. package/docs/contracts/multi-tool-projection-fidelity.md +3 -3
  582. package/docs/contracts/namespace.md +1 -1
  583. package/docs/contracts/one-off-script-lifecycle.md +1 -1
  584. package/docs/contracts/package-self-orientation.md +1 -1
  585. package/docs/contracts/provider-lifecycle.md +2 -2
  586. package/docs/contracts/router-blending.md +1 -1
  587. package/docs/contracts/rule-classification.md +2 -2
  588. package/docs/contracts/settings-api.md +160 -0
  589. package/docs/contracts/settings-gui-agent-mode.schema.json +128 -0
  590. package/docs/contracts/smoke-contracts.md +8 -8
  591. package/docs/contracts/tier-3-contrib-plugin.md +1 -1
  592. package/docs/contracts/universal-skills.md +1 -1
  593. package/docs/contracts/write-engine.md +1 -1
  594. package/docs/customization.md +137 -11
  595. package/docs/decisions/ADR-001-kernel-swap-deferred.md +1 -1
  596. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +1 -1
  597. package/docs/decisions/ADR-004-rule-governance-pruning.md +8 -8
  598. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +5 -5
  599. package/docs/decisions/ADR-007-agent-discovery-scopes.md +4 -4
  600. package/docs/decisions/ADR-008-installed-tools-manifest.md +2 -2
  601. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +2 -2
  602. package/docs/decisions/ADR-011-domain-pack-readiness.md +4 -4
  603. package/docs/decisions/ADR-012-typescript-cli-shell.md +162 -0
  604. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +210 -0
  605. package/docs/decisions/ADR-014-gui-framework-choice.md +136 -0
  606. package/docs/decisions/ADR-rule-kernel-and-router.md +2 -2
  607. package/docs/decisions/INDEX.md +3 -0
  608. package/docs/distribution/mcp-submission-checklist.md +95 -0
  609. package/docs/distribution/topics-equivalents-decay-policy.md +51 -0
  610. package/docs/examples/agent-user.example.md +3 -1
  611. package/docs/getting-started.md +6 -5
  612. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
  613. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +10 -1
  614. package/docs/guidelines/agent-infra/rule-type-governance.md +2 -2
  615. package/docs/guidelines/agent-infra/tool-integration.md +1 -1
  616. package/docs/guidelines/php/api-design.md +2 -2
  617. package/docs/guidelines/php/controllers.md +1 -1
  618. package/docs/guidelines/php/resources.md +1 -1
  619. package/docs/guidelines/php/validations.md +1 -1
  620. package/docs/guidelines/prompt-templates.md +2 -2
  621. package/docs/hook-payload-capture.md +3 -3
  622. package/docs/installation.md +12 -4
  623. package/docs/migrations/commands-1.15.0.md +3 -3
  624. package/docs/parity/bench-ruflo.json +1 -1
  625. package/docs/parity/ruflo.md +3 -3
  626. package/docs/profiles.md +1 -1
  627. package/docs/quality.md +2 -2
  628. package/docs/recruits/_template.md +3 -3
  629. package/docs/setup/enterprise-and-offline.md +3 -3
  630. package/docs/setup/mcp-server-docker.md +5 -3
  631. package/docs/skills-catalog.md +62 -18
  632. package/docs/wizard.md +121 -0
  633. package/llms.txt +61 -17
  634. package/package.json +46 -3
  635. package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  636. package/scripts/_archive/README.md +2 -2
  637. package/scripts/_archive/_p4_migrate.py +1 -1
  638. package/scripts/_cli/cmd_doctor.py +5 -5
  639. package/scripts/_cli/cmd_explain.py +106 -2
  640. package/scripts/_cli/cmd_migrate.py +2 -2
  641. package/scripts/_cli/explain_last/__init__.py +122 -0
  642. package/scripts/_cli/explain_last/assumptions.py +59 -0
  643. package/scripts/_cli/explain_last/council.py +105 -0
  644. package/scripts/_cli/explain_last/halt.py +44 -0
  645. package/scripts/_cli/explain_last/inputs.py +125 -0
  646. package/scripts/_cli/explain_last/memory.py +94 -0
  647. package/scripts/_cli/explain_last/provider.py +52 -0
  648. package/scripts/_cli/explain_last/render.py +52 -0
  649. package/scripts/_cli/explain_last/route.py +58 -0
  650. package/scripts/_cli/explain_last/scrubber.py +105 -0
  651. package/scripts/_cli/explain_last/sections/__init__.py +35 -0
  652. package/scripts/_cli/explain_last/sections/assumptions.py +21 -0
  653. package/scripts/_cli/explain_last/sections/council.py +27 -0
  654. package/scripts/_cli/explain_last/sections/halt.py +31 -0
  655. package/scripts/_cli/explain_last/sections/header.py +24 -0
  656. package/scripts/_cli/explain_last/sections/inputs.py +27 -0
  657. package/scripts/_cli/explain_last/sections/memory.py +21 -0
  658. package/scripts/_cli/explain_last/sections/pack.py +16 -0
  659. package/scripts/_cli/explain_last/sections/provider.py +26 -0
  660. package/scripts/_cli/explain_last/sections/route.py +22 -0
  661. package/scripts/_cli/explain_last/state_loader.py +76 -0
  662. package/scripts/_dispatch.bash +954 -0
  663. package/scripts/_lib/agent_settings.py +3 -3
  664. package/scripts/_lib/agents_overlay.py +3 -3
  665. package/scripts/_phase4_bucket.py +210 -0
  666. package/scripts/agent-config +35 -943
  667. package/scripts/ai-video/adapters/higgsfield.sh +1 -1
  668. package/scripts/ai-video/adapters/sora.sh +1 -1
  669. package/scripts/ai-video/test-pipeline.sh +2 -2
  670. package/scripts/ai_council/_default_prices.py +5 -5
  671. package/scripts/ai_council/advisors.py +1 -1
  672. package/scripts/ai_council/clients.py +2 -2
  673. package/scripts/ai_council/compile_corpus.py +9 -8
  674. package/scripts/ai_council/config.py +3 -3
  675. package/scripts/ai_council/events_log.py +8 -4
  676. package/scripts/ai_council/low_impact_corpus.py +1 -1
  677. package/scripts/ai_council/low_impact_intake.py +1 -1
  678. package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +2 -2
  679. package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_optimization.py +1 -1
  680. package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +3 -3
  681. package/scripts/ai_council/pricing.py +8 -7
  682. package/scripts/ai_council/probation_gate.py +1 -1
  683. package/scripts/ai_council/redact_low_impact_entry.py +1 -1
  684. package/scripts/ai_council/session.py +13 -13
  685. package/scripts/ai_council/shadow_dispatch.py +2 -2
  686. package/scripts/annotate_discovery.py +149 -0
  687. package/scripts/audit_adr_coverage.py +1 -1
  688. package/scripts/audit_auto_rules.py +2 -2
  689. package/scripts/audit_cloud_compatibility.py +1 -1
  690. package/scripts/audit_command_surface.py +2 -2
  691. package/scripts/audit_likelihood.py +4 -4
  692. package/scripts/audit_overlap.py +3 -3
  693. package/scripts/audit_user_type_axis.py +1 -1
  694. package/scripts/build_discovery_manifest.py +302 -0
  695. package/scripts/build_linear_digest.py +0 -1
  696. package/scripts/build_mcp_registry_manifest.py +181 -0
  697. package/scripts/build_rule_trigger_matrix.py +2 -2
  698. package/scripts/capture_showcase_session.py +1 -1
  699. package/scripts/chat_history.py +5 -5
  700. package/scripts/check_always_budget.py +7 -2
  701. package/scripts/check_council_layout.py +26 -20
  702. package/scripts/check_council_references.py +10 -10
  703. package/scripts/check_discovery_determinism.py +70 -0
  704. package/scripts/check_kernel_rule_bundle.py +2 -2
  705. package/scripts/check_no_roadmap_refs.py +2 -2
  706. package/scripts/check_one_off_location.py +1 -1
  707. package/scripts/check_public_links.py +2 -2
  708. package/scripts/check_references.py +14 -21
  709. package/scripts/check_release_includes_discovery.py +61 -0
  710. package/scripts/ci_summary.py +2 -2
  711. package/scripts/ci_time_ratio.py +1 -1
  712. package/scripts/command_suggester/__init__.py +1 -1
  713. package/scripts/context_hygiene_hook.py +2 -2
  714. package/scripts/council_cli.py +22 -22
  715. package/scripts/council_prune.py +3 -3
  716. package/scripts/extract_audit_patterns.py +2 -2
  717. package/scripts/gen_discovery_baseline.py +127 -0
  718. package/scripts/generate_ownership_matrix.py +1 -1
  719. package/scripts/hook_manifest.yaml +5 -5
  720. package/scripts/hooks/cline-dispatcher.sh +1 -1
  721. package/scripts/hooks/cowork-dispatcher.sh +1 -1
  722. package/scripts/hooks/dispatch_hook.py +3 -3
  723. package/scripts/hooks/gemini-dispatcher.sh +1 -1
  724. package/scripts/hooks/replay_hook.py +1 -1
  725. package/scripts/hooks/state_io.py +5 -5
  726. package/scripts/hooks_doctor.py +4 -4
  727. package/scripts/install-hooks.sh +2 -2
  728. package/scripts/install.py +3 -3
  729. package/scripts/install.sh +120 -18
  730. package/scripts/inventory_frontmatter.py +1 -1
  731. package/scripts/lint_agents_layout.py +103 -0
  732. package/scripts/lint_archived_skills.py +3 -3
  733. package/scripts/lint_artefact_frontmatter.py +180 -0
  734. package/scripts/lint_discovery_manifest.py +136 -0
  735. package/scripts/lint_discovery_vocabulary.py +148 -0
  736. package/scripts/lint_explain_trace.py +80 -0
  737. package/scripts/lint_framework_leakage.py +348 -0
  738. package/scripts/lint_framework_leakage_allowlist.json +477 -0
  739. package/scripts/lint_ghostwriter_source.py +1 -1
  740. package/scripts/lint_load_context.py +3 -3
  741. package/scripts/lint_mcp_registry_manifest.py +69 -0
  742. package/scripts/lint_media_policy_linkage.py +6 -6
  743. package/scripts/lint_positioning.py +143 -0
  744. package/scripts/lint_rule_tiers.py +2 -2
  745. package/scripts/lint_skill_tools.py +1 -1
  746. package/scripts/lint_topics_yaml.py +89 -0
  747. package/scripts/mcp_server/consumer_tool_catalog.json +3 -3
  748. package/scripts/mcp_server/telemetry.py +2 -2
  749. package/scripts/mcp_server/tools.py +27 -11
  750. package/scripts/mcp_telemetry_health.py +2 -2
  751. package/scripts/mcp_telemetry_store.py +1 -1
  752. package/scripts/measure_augment_budget.py +9 -3
  753. package/scripts/measure_density.py +2 -2
  754. package/scripts/measure_frugality_savings.py +3 -3
  755. package/scripts/measure_roadmap_trajectory.py +1 -1
  756. package/scripts/measure_rule_budget.py +3 -3
  757. package/scripts/memory_report.py +1 -1
  758. package/scripts/migrate_command_suggestions.py +3 -3
  759. package/scripts/minimal_safe_diff_hook.py +1 -1
  760. package/scripts/onboarding_gate_hook.py +4 -4
  761. package/scripts/prepack-check.mjs +62 -0
  762. package/scripts/probe_projection_fidelity.py +2 -2
  763. package/scripts/refine_ticket_detect.py +1 -1
  764. package/scripts/schemas/command.schema.json +46 -1
  765. package/scripts/schemas/persona.schema.json +1 -1
  766. package/scripts/schemas/rule.schema.json +44 -4
  767. package/scripts/schemas/skill.schema.json +46 -1
  768. package/scripts/score_skill_selection.py +1 -1
  769. package/scripts/skill_collision_clusters.py +1 -1
  770. package/scripts/skill_linter.py +62 -9
  771. package/scripts/skill_overlap.py +1 -1
  772. package/scripts/skill_tools/run_block_d_eval.py +1 -1
  773. package/scripts/skill_usage_collect.py +3 -3
  774. package/scripts/skill_usage_report.py +3 -3
  775. package/scripts/smoke/kernel.sh +4 -4
  776. package/scripts/smoke/router.sh +2 -2
  777. package/scripts/smoke_quickstart.py +1 -1
  778. package/scripts/spotcheck_thin_root.py +1 -1
  779. package/scripts/sync_github_metadata.py +147 -0
  780. package/scripts/sync_gitignore.py +15 -5
  781. package/scripts/update_prices.py +4 -3
  782. package/scripts/verify_before_complete_hook.py +1 -1
  783. package/scripts/verify_roadmap_closure.py +1 -1
  784. package/templates/agent-user.md +35 -0
  785. package/.agent-src/commands/onboard.md +0 -459
  786. package/.agent-src/rules/agent-docs.md +0 -20
  787. package/.agent-src/rules/augment-portability.md +0 -23
  788. package/.agent-src/rules/capture-learnings.md +0 -19
  789. package/.agent-src/rules/docs-sync.md +0 -20
  790. package/.agent-src/rules/domain-safety-disclaimer-consulting.md +0 -52
  791. package/.agent-src/rules/domain-safety-disclaimer-financial.md +0 -54
  792. package/.agent-src/rules/domain-safety-disclaimer-legal.md +0 -49
  793. package/.agent-src/rules/domain-safety-disclaimer-medical.md +0 -56
  794. package/.agent-src/rules/domain-safety-export-redact.md +0 -65
  795. package/.agent-src/rules/domain-safety-logging-pii-floor.md +0 -55
  796. package/.agent-src/rules/domain-safety-pii-finance.md +0 -57
  797. package/.agent-src/rules/domain-safety-pii-marketing.md +0 -60
  798. package/.agent-src/rules/domain-safety-pii-recruiting.md +0 -56
  799. package/.agent-src/rules/domain-safety-pii-support.md +0 -57
  800. package/.agent-src/rules/domain-safety-retention-finance.md +0 -48
  801. package/.agent-src/rules/domain-safety-retention-support.md +0 -55
  802. package/.agent-src/rules/e2e-testing.md +0 -19
  803. package/.agent-src/rules/no-unsolicited-rebase.md +0 -107
  804. package/.agent-src/rules/post-push-rewrite-discipline.md +0 -70
@@ -24,15 +24,15 @@ import yaml
24
24
 
25
25
  REPO_ROOT = Path(__file__).resolve().parents[1]
26
26
  SETTINGS_FILE = REPO_ROOT / ".agent-settings.yml"
27
- AI_COUNCIL_FILE = REPO_ROOT / "agents" / ".ai-council.yml"
27
+ AI_COUNCIL_FILE = REPO_ROOT / "agents" / "settings" / ".ai-council.yml"
28
28
 
29
29
  # Canonical output dirs per ai-council § "Output path convention".
30
30
  # Enforced at write-time by `_validate_council_output_path` so shell-side
31
31
  # `>` redirects and forgetful agents can't strand artefacts at agents/ root.
32
32
  COUNCIL_CANONICAL_DIRS: dict[str, str] = {
33
- "responses": "agents/council-responses",
34
- "sessions": "agents/council-sessions",
35
- "questions": "agents/council-questions",
33
+ "responses": "agents/runtime/council/responses",
34
+ "sessions": "agents/runtime/council/sessions",
35
+ "questions": "agents/runtime/council/questions",
36
36
  }
37
37
 
38
38
 
@@ -139,7 +139,7 @@ def load_settings(
139
139
  ``load_agent_settings``. ``ai_council.*`` keys are not whitelisted,
140
140
  so the project file remains authoritative for council config.
141
141
 
142
- Step-2 council-redesign overlay: when ``agents/.ai-council.yml``
142
+ Step-2 council-redesign overlay: when ``agents/settings/.ai-council.yml``
143
143
  exists it is the single source of truth — the validated config is
144
144
  synthesized back into ``settings['ai_council']`` and wins over any
145
145
  legacy block in ``.agent-settings.yml``. The pre-2 path stays alive
@@ -478,7 +478,7 @@ def _construct_api_member(
478
478
  """Build an api-mode client for a known provider name.
479
479
 
480
480
  ``api_key_ref`` carries the validated ``file:<path>`` / ``env:<VAR>``
481
- reference from ``agents/.ai-council.yml`` and is resolved lazily here
481
+ reference from ``agents/settings/.ai-council.yml`` and is resolved lazily here
482
482
  so the council does not require keys for disabled providers. When
483
483
  ``api_key_ref`` is ``None`` (no new config yet, or legacy code path),
484
484
  fall back to the per-provider loaders so the pre-step-2
@@ -500,7 +500,7 @@ def _construct_api_member(
500
500
  if name == "gemini":
501
501
  if not api_key_ref:
502
502
  raise CouncilDisabledError(
503
- "member 'gemini' requires api_key_ref in agents/.ai-council.yml "
503
+ "member 'gemini' requires api_key_ref in agents/settings/.ai-council.yml "
504
504
  "(e.g. `env:GEMINI_API_KEY`) — no legacy fallback."
505
505
  )
506
506
  api_key = resolve_api_key(api_key_ref, scope="ai_council.members.gemini")
@@ -508,7 +508,7 @@ def _construct_api_member(
508
508
  if name == "xai":
509
509
  if not api_key_ref:
510
510
  raise CouncilDisabledError(
511
- "member 'xai' requires api_key_ref in agents/.ai-council.yml "
511
+ "member 'xai' requires api_key_ref in agents/settings/.ai-council.yml "
512
512
  "(e.g. `env:XAI_API_KEY`) — no legacy fallback."
513
513
  )
514
514
  api_key = resolve_api_key(api_key_ref, scope="ai_council.members.xai")
@@ -516,7 +516,7 @@ def _construct_api_member(
516
516
  if name == "perplexity":
517
517
  if not api_key_ref:
518
518
  raise CouncilDisabledError(
519
- "member 'perplexity' requires api_key_ref in agents/.ai-council.yml "
519
+ "member 'perplexity' requires api_key_ref in agents/settings/.ai-council.yml "
520
520
  "(e.g. `env:PERPLEXITY_API_KEY`) — no legacy fallback."
521
521
  )
522
522
  api_key = resolve_api_key(api_key_ref, scope="ai_council.members.perplexity")
@@ -794,7 +794,7 @@ def _peer_review_active(ai_cfg: dict[str, Any], args: argparse.Namespace) -> boo
794
794
  Resolution chain (highest priority first):
795
795
  1. ``--peer-review`` CLI flag — explicit opt-in.
796
796
  2. ``ai_council.peer_review.enabled: true`` in
797
- ``agents/.ai-council.yml`` — opt-in via config.
797
+ ``agents/settings/.ai-council.yml`` — opt-in via config.
798
798
  Both default to false; peer-review is opt-in by R2 verdict.
799
799
  """
800
800
  if getattr(args, "peer_review", False):
@@ -1037,7 +1037,7 @@ def _emit_debate_estimate(
1037
1037
  if requested > max_rounds_cap:
1038
1038
  raise argparse.ArgumentTypeError(
1039
1039
  f"--rounds={requested} exceeds debate_max_rounds={max_rounds_cap}; "
1040
- f"raise the cap in agents/.ai-council.yml or lower --rounds."
1040
+ f"raise the cap in agents/settings/.ai-council.yml or lower --rounds."
1041
1041
  )
1042
1042
  rounds = requested
1043
1043
  per_round_usd = sum(e.total_usd for e in estimates)
@@ -1424,7 +1424,7 @@ def _debate_refusal_cap(
1424
1424
  def _emit_shadow_slo_banner() -> None:
1425
1425
  """Pre-flight SLO banner for solo-dispatch invocations (step-9 P10).
1426
1426
 
1427
- Reads ``agents/council-shadow-log.jsonl`` and prints the 7-day rolling
1427
+ Reads ``agents/runtime/council/shadow-log.jsonl`` and prints the 7-day rolling
1428
1428
  disagreement rate. ``OK``, ``WARN``, ``BREACH`` are all surfaced so the
1429
1429
  user can see when single-member quality is drifting. Never auto-flips
1430
1430
  back to full council \u2014 visibility-first, action-second (D10).
@@ -1444,7 +1444,7 @@ def _apply_solo_dispatch(
1444
1444
  ) -> tuple[list[ExternalAIClient], str | None]:
1445
1445
  """Filter ``members`` to a single solo-dispatch pick (step-9 P9).
1446
1446
 
1447
- Loads the routing chain from ``agents/.ai-council.yml`` and asks
1447
+ Loads the routing chain from ``agents/settings/.ai-council.yml`` and asks
1448
1448
  :func:`select_solo_member` for the first chain entry whose member
1449
1449
  is runtime-present. The probe is conservative: a member counts as
1450
1450
  auth-valid iff ``build_members`` returned a runtime client for it
@@ -1596,7 +1596,7 @@ def cmd_run(
1596
1596
  # Phase 8 step 5 — opt-in cost disclosure for non-debate lenses.
1597
1597
  # Default mode is "off" for analysis / default (cheap enough that
1598
1598
  # the disclosure is friction); users opt in by setting
1599
- # `lenses.<name>.cost_disclosure.mode` in agents/.ai-council.yml.
1599
+ # `lenses.<name>.cost_disclosure.mode` in agents/settings/.ai-council.yml.
1600
1600
  disc_mode, disc_threshold, disc_show = _resolve_cost_disclosure(
1601
1601
  ai_cfg, question.mode,
1602
1602
  )
@@ -1885,7 +1885,7 @@ def cmd_debate(
1885
1885
  if requested > max_rounds_cap:
1886
1886
  raise argparse.ArgumentTypeError(
1887
1887
  f"--rounds={requested} exceeds debate_max_rounds={max_rounds_cap}; "
1888
- f"raise the cap in agents/.ai-council.yml or lower --rounds."
1888
+ f"raise the cap in agents/settings/.ai-council.yml or lower --rounds."
1889
1889
  )
1890
1890
  rounds = requested
1891
1891
 
@@ -1942,7 +1942,7 @@ def cmd_debate(
1942
1942
  f"❌ council:debate refused · high-end estimate "
1943
1943
  f"${debate_estimate.high_usd:.4f} exceeds "
1944
1944
  f"debate.max_cost_usd=${cap:.2f}. Lower --rounds, drop "
1945
- f"members, or raise the cap in agents/.ai-council.yml.\n"
1945
+ f"members, or raise the cap in agents/settings/.ai-council.yml.\n"
1946
1946
  )
1947
1947
  return 4
1948
1948
 
@@ -2037,7 +2037,7 @@ def cmd_render(args: argparse.Namespace) -> int:
2037
2037
  Lens resolution order: explicit ``--prompt-mode`` > ``prompt_mode``
2038
2038
  in the payload > ``mode`` in the payload > ``None`` (default decision
2039
2039
  template). R4 Q4 escape hatch ``--prose-synthesis`` overrides the
2040
- table. ``--output`` writes to ``agents/council-sessions/`` (enforced);
2040
+ table. ``--output`` writes to ``agents/runtime/council/sessions/`` (enforced);
2041
2041
  omit it for stdout.
2042
2042
  """
2043
2043
  payload = json.loads(Path(args.responses).read_text(encoding="utf-8"))
@@ -2258,7 +2258,7 @@ def _add_common_input_args(p: argparse.ArgumentParser) -> None:
2258
2258
  "(anonymised) responses for blind spots before "
2259
2259
  "synthesis. Adds N extra API calls. Opt-in per the "
2260
2260
  "R2 verdict; also accepts ai_council.peer_review."
2261
- "enabled: true in agents/.ai-council.yml.")
2261
+ "enabled: true in agents/settings/.ai-council.yml.")
2262
2262
 
2263
2263
 
2264
2264
  def cmd_shadow_report(args: argparse.Namespace) -> int:
@@ -2405,7 +2405,7 @@ def build_parser() -> argparse.ArgumentParser:
2405
2405
  help="Required to actually start the debate.")
2406
2406
  p_deb.add_argument("--rounds", type=int, default=None,
2407
2407
  help="Number of debate rounds (default 2). Capped by "
2408
- "ai_council.debate_max_rounds in agents/.ai-council.yml.")
2408
+ "ai_council.debate_max_rounds in agents/settings/.ai-council.yml.")
2409
2409
  p_deb.add_argument("--auto-continue", action="store_true",
2410
2410
  default=False, dest="auto_continue",
2411
2411
  help="Skip the between-round y/N prompt. The hard cap "
@@ -2441,7 +2441,7 @@ def build_parser() -> argparse.ArgumentParser:
2441
2441
  "to the `mode` recorded in the responses JSON.")
2442
2442
  p_ren.add_argument("--output", default=None,
2443
2443
  help="Write the rendered markdown to a file under "
2444
- "agents/council-sessions/ (enforced). Omit for "
2444
+ "agents/runtime/council/sessions/ (enforced). Omit for "
2445
2445
  "stdout. Prefer this over shell redirects so "
2446
2446
  "the canonical-path check fires at write-time.")
2447
2447
  _add_prose_synthesis_arg(p_ren)
@@ -2483,12 +2483,12 @@ def build_parser() -> argparse.ArgumentParser:
2483
2483
 
2484
2484
  p_sha = sub.add_parser(
2485
2485
  "shadow-report",
2486
- help="Read agents/council-shadow-log.jsonl and print the 7-day "
2486
+ help="Read agents/runtime/council/shadow-log.jsonl and print the 7-day "
2487
2487
  "rolling disagreement rate + SLO status (step-9 P10).",
2488
2488
  )
2489
2489
  p_sha.add_argument("--log", default=None,
2490
2490
  help="Path to the shadow log (default: "
2491
- "agents/council-shadow-log.jsonl).")
2491
+ "agents/runtime/council/shadow-log.jsonl).")
2492
2492
  p_sha.add_argument("--window-days", type=int, default=7,
2493
2493
  help="Rolling window in days (default: 7).")
2494
2494
 
@@ -4,9 +4,9 @@
4
4
  Deletes council files older than `ai_council.session_retention_days`
5
5
  (default 7) across all four artefact directories:
6
6
 
7
- - agents/council-sessions/ (timestamp subdirs + root files)
8
- - agents/council-questions/ (mtime-based)
9
- - agents/council-responses/ (mtime-based)
7
+ - agents/runtime/council/sessions/ (timestamp subdirs + root files)
8
+ - agents/runtime/council/questions/ (mtime-based)
9
+ - agents/runtime/council/responses/ (mtime-based)
10
10
 
11
11
  Same logic as the auto-prune that runs on every `council save()`,
12
12
  exposed as a Task target so the user can sweep on demand.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env python3
2
- """Mine repeated phase patterns from ``agents/state/audit/*.jsonl``.
2
+ """Mine repeated phase patterns from ``agents/runtime/state/audit/*.jsonl``.
3
3
 
4
4
  Consumer side of `audit-log-v1` (see
5
5
  `docs/contracts/audit-log-v1.md`). Reads append-only JSONL audit
@@ -46,7 +46,7 @@ from pathlib import Path
46
46
  from typing import Iterable
47
47
 
48
48
  ROOT = Path(__file__).resolve().parent.parent
49
- DEFAULT_AUDIT_DIR = ROOT / "agents" / "state" / "audit"
49
+ DEFAULT_AUDIT_DIR = ROOT / "agents" / "runtime" / "state" / "audit"
50
50
  SCHEMA_VERSION = 1
51
51
 
52
52
 
@@ -0,0 +1,127 @@
1
+ #!/usr/bin/env python3
2
+ """Generate agents/evidence/notes/discovery-baseline.md for Phase 0.1."""
3
+ from __future__ import annotations
4
+
5
+ import datetime as _dt
6
+ import pathlib
7
+ import re
8
+ import sys
9
+ from collections import Counter
10
+
11
+ ROOT = pathlib.Path(__file__).resolve().parents[1]
12
+ SRC = ROOT / ".agent-src.uncompressed"
13
+
14
+
15
+ def _frontmatter(path: pathlib.Path) -> dict[str, str]:
16
+ text = path.read_text(encoding="utf-8", errors="replace")
17
+ m = re.match(r"^---\n(.*?)\n---\n", text, re.DOTALL)
18
+ if not m:
19
+ return {}
20
+ out: dict[str, str] = {}
21
+ for line in m.group(1).splitlines():
22
+ if ":" in line and not line.startswith(" "):
23
+ k, _, v = line.partition(":")
24
+ out[k.strip()] = v.strip().strip('"').strip("'")
25
+ return out
26
+
27
+
28
+ def main() -> int:
29
+ skills = sorted((SRC / "skills").rglob("SKILL.md"))
30
+ rules = sorted((SRC / "rules").rglob("*.md"))
31
+ commands = sorted((SRC / "commands").rglob("*.md"))
32
+ templates = sorted((SRC / "templates").rglob("*")) if (SRC / "templates").exists() else []
33
+ templates = [p for p in templates if p.is_file()]
34
+
35
+ domains: Counter[str] = Counter()
36
+ no_domain = 0
37
+ for s in skills:
38
+ fm = _frontmatter(s)
39
+ d = fm.get("domain")
40
+ if d:
41
+ domains[d] += 1
42
+ else:
43
+ no_domain += 1
44
+
45
+ out = []
46
+ out.append("# Discovery Baseline — Inventory (Phase 0.1)\n")
47
+ out.append(
48
+ f"> Generated by `scripts/gen_discovery_baseline.py` on "
49
+ f"{_dt.datetime.now(_dt.timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ')}.\n"
50
+ )
51
+ out.append(
52
+ "> Frozen reference for the Phase 2 scanner — the `no domain` tally below must match the\n"
53
+ "> first scanner run's `unassigned[]` count within ±5% (Phase 2.4 acceptance).\n"
54
+ )
55
+
56
+ out.append("## Counts by category\n")
57
+ out.append("| Category | Path | Count |")
58
+ out.append("|---|---|---|")
59
+ out.append(f"| Skills | `.agent-src.uncompressed/skills/*/SKILL.md` | {len(skills)} |")
60
+ out.append(f"| Rules | `.agent-src.uncompressed/rules/**/*.md` | {len(rules)} |")
61
+ out.append(f"| Commands | `.agent-src.uncompressed/commands/**/*.md` | {len(commands)} |")
62
+ out.append(f"| Templates | `.agent-src.uncompressed/templates/**/*` | {len(templates)} |")
63
+ out.append("")
64
+
65
+ out.append("## Distinct `domain:` values (skills)\n")
66
+ for d, n in domains.most_common():
67
+ out.append(f"- `{d}` — {n} skill(s)")
68
+ out.append("")
69
+
70
+ out.append("## Skills without `domain:` (Phase 0.1 baseline)\n")
71
+ out.append(
72
+ f"- Count: **{no_domain}** (target for Phase 2.4 `unassigned[]` tally ±5%)"
73
+ )
74
+ out.append("")
75
+
76
+ out.append("## Sample frontmatter keys (first 10 skills)\n")
77
+ out.append("| File | name | source | domain | other keys |")
78
+ out.append("|---|---|---|---|---|")
79
+ interesting = {"status", "tier", "recommended_for_user_types", "cluster", "skills"}
80
+ for s in skills[:10]:
81
+ fm = _frontmatter(s)
82
+ other = ",".join(sorted(k for k in fm if k in interesting))
83
+ rel = s.relative_to(SRC)
84
+ out.append(
85
+ f"| `{rel}` | {fm.get('name','')} | {fm.get('source','')} | "
86
+ f"{fm.get('domain','')} | {other} |"
87
+ )
88
+ out.append("")
89
+
90
+ out.append("## Sample rules (first 10)\n")
91
+ out.append("| File | type | tier | source |")
92
+ out.append("|---|---|---|---|")
93
+ for r in rules[:10]:
94
+ fm = _frontmatter(r)
95
+ rel = r.relative_to(SRC)
96
+ out.append(
97
+ f"| `{rel}` | {fm.get('type','')} | {fm.get('tier','')} | {fm.get('source','')} |"
98
+ )
99
+ out.append("")
100
+
101
+ out.append("## Sample commands (first 10)\n")
102
+ out.append("| File | name | tier | cluster |")
103
+ out.append("|---|---|---|---|")
104
+ for c in commands[:10]:
105
+ fm = _frontmatter(c)
106
+ rel = c.relative_to(SRC)
107
+ out.append(
108
+ f"| `{rel}` | {fm.get('name','')} | {fm.get('tier','')} | {fm.get('cluster','')} |"
109
+ )
110
+ out.append("")
111
+
112
+ out.append("## Notes\n")
113
+ out.append("- Every skill carries `domain:` today — Phase 4 mapping uses it as primary signal.")
114
+ out.append("- Rules use `type` (always | auto) + `tier` (safety-floor | kernel | …); no `domain:` today.")
115
+ out.append("- Commands use `tier` + `cluster`; no `domain:` today.")
116
+ out.append("- Templates have no consistent frontmatter; Phase 4 quarantines them in `unassigned-artefacts.yml`.")
117
+ out.append("")
118
+
119
+ dest = ROOT / "agents" / "notes" / "discovery-baseline.md"
120
+ dest.parent.mkdir(parents=True, exist_ok=True)
121
+ dest.write_text("\n".join(out), encoding="utf-8")
122
+ print(f"wrote {dest} — {len(out)} lines")
123
+ return 0
124
+
125
+
126
+ if __name__ == "__main__":
127
+ sys.exit(main())
@@ -4,7 +4,7 @@
4
4
  Produces:
5
5
 
6
6
  * docs/contracts/file-ownership-matrix.json (machine, internal-locked)
7
- * agents/contexts/structural/file-ownership-matrix.md (human-readable)
7
+ * agents/settings/contexts/structural/file-ownership-matrix.md (human-readable)
8
8
 
9
9
  Walks `.agent-src.uncompressed/{rules,skills,commands,contexts,personas}/`,
10
10
  parses frontmatter for `load_context:` / `load_context_eager:`, scans
@@ -5,7 +5,7 @@
5
5
  # - scripts/install.py (per-platform config writer)
6
6
  #
7
7
  # Schema and event vocabulary: docs/contracts/hook-architecture-v1.md.
8
- # Per-platform event-name mapping: agents/contexts/chat-history-platform-hooks.md.
8
+ # Per-platform event-name mapping: agents/settings/contexts/chat-history-platform-hooks.md.
9
9
  #
10
10
  # When you add or remove a concern, also update:
11
11
  # - scripts/agent-config (CLI subcommand wiring, if exposed)
@@ -32,14 +32,14 @@ concerns:
32
32
  fail_closed: false
33
33
  # Phase 5 — Tier-1 hook for the verify-before-complete rule. Records
34
34
  # observable evidence of verification commands (tests, quality tools,
35
- # builds) into agents/state/verify-before-complete.json. The rule body
35
+ # builds) into agents/runtime/state/verify-before-complete.json. The rule body
36
36
  # cites that file as the source of truth for "verified this turn?".
37
37
  verify-before-complete:
38
38
  script: scripts/verify_before_complete_hook.py
39
39
  args: []
40
40
  fail_closed: false
41
41
  # Phase 5 — Tier-1 hook for the minimal-safe-diff rule. Counts unique
42
- # files touched per turn into agents/state/minimal-safe-diff.json and
42
+ # files touched per turn into agents/runtime/state/minimal-safe-diff.json and
43
43
  # flips warning=true past hooks.minimal_safe_diff.threshold.
44
44
  minimal-safe-diff:
45
45
  script: scripts/minimal_safe_diff_hook.py
@@ -73,7 +73,7 @@ platforms:
73
73
  # plugin-scope hooks. Until those land, the dispatcher binding
74
74
  # below is structurally ready but lifecycle events do not fire.
75
75
  # Decision matrix + upstream blockers tracked in
76
- # agents/contexts/chat-history-platform-hooks.md § Cowork.
76
+ # agents/settings/contexts/chat-history-platform-hooks.md § Cowork.
77
77
  cowork:
78
78
  session_start: [chat-history, onboarding-gate, verify-before-complete, minimal-safe-diff]
79
79
  session_end: [chat-history]
@@ -87,7 +87,7 @@ platforms:
87
87
  # to route into the active workspace. UserPromptSubmit maps to
88
88
  # `beforeSubmitPrompt` (Cursor third-party-hooks table). Stop is
89
89
  # IDE-only — CLI-only users fall back to /checkpoint per
90
- # agents/contexts/chat-history-platform-hooks.md.
90
+ # agents/settings/contexts/chat-history-platform-hooks.md.
91
91
  cursor:
92
92
  session_start: [chat-history, onboarding-gate, verify-before-complete, minimal-safe-diff]
93
93
  session_end: [chat-history]
@@ -81,6 +81,6 @@ printf '%s' "$EVENT_DATA" \
81
81
 
82
82
  # Cline expects a JSON envelope on stdout; empty object = "no cancel,
83
83
  # no context modification, no error". Errors from concerns surface
84
- # through agents/state/.dispatcher/<session_id>/ per Phase 7.3.
84
+ # through agents/runtime/state/.dispatcher/<session_id>/ per Phase 7.3.
85
85
  printf '%s\n' '{}'
86
86
  exit 0
@@ -16,7 +16,7 @@
16
16
  # because Cowork spawns the CLI with `--setting-sources user`. The
17
17
  # trampoline is structurally ready; install plumbing is deferred
18
18
  # until upstream resolves the bugs and a stable settings location is
19
- # documented. See `agents/contexts/chat-history-platform-hooks.md`
19
+ # documented. See `agents/settings/contexts/chat-history-platform-hooks.md`
20
20
  # § Cowork.
21
21
  #
22
22
  # Behaviour mirrors cursor-dispatcher.sh:
@@ -226,7 +226,7 @@ def _run_concern(concern: dict, envelope: dict) -> tuple[int, str, str, int]:
226
226
  Returns (rc, stderr_text, stdout_text, duration_ms).
227
227
 
228
228
  Concerns run with CWD = consumer workspace (envelope.workspace_root),
229
- NOT the agent-config package root — concerns resolve `agents/state/`
229
+ NOT the agent-config package root — concerns resolve `agents/runtime/state/`
230
230
  and other consumer-local paths relative to CWD. The script *itself*
231
231
  lives in the package (REPO_ROOT), so we resolve it absolutely.
232
232
  """
@@ -273,11 +273,11 @@ def _write_feedback(envelope: dict, session_id: str, entries: list[dict],
273
273
  matches the dispatcher's overall posture.
274
274
  """
275
275
  # Replay mode skips feedback emission entirely so fixture replays
276
- # never create per-session dirs under agents/state/.dispatcher/.
276
+ # never create per-session dirs under agents/runtime/state/.dispatcher/.
277
277
  if is_replay_mode():
278
278
  return
279
279
  workspace = envelope.get("workspace_root") or str(Path.cwd())
280
- state_root = Path(workspace) / "agents" / "state"
280
+ state_root = Path(workspace) / "agents" / "runtime" / "state"
281
281
  fb_dir = feedback_dir(state_root, session_id)
282
282
  try:
283
283
  fb_dir.mkdir(parents=True, exist_ok=True)
@@ -27,7 +27,7 @@
27
27
  #
28
28
  # Output — none on stdout. Gemini consumes JSON on stdout for
29
29
  # context injection / decision; we don't inject anything from this
30
- # layer (concerns stream their own state via agents/state/.dispatcher/).
30
+ # layer (concerns stream their own state via agents/runtime/state/.dispatcher/).
31
31
  # SessionStart / SessionEnd are advisory in Gemini (continue/decision
32
32
  # ignored), so we always exit 0.
33
33
 
@@ -5,7 +5,7 @@ Reads a stdin payload fixture from `tests/fixtures/hooks/` (one file per
5
5
  event in `EVENT_VOCABULARY`), sets `AGENT_CONFIG_REPLAY=1`, and invokes
6
6
  the universal dispatcher with the platform / event / payload tuple. The
7
7
  replay flag tells `state_io` (and concerns that honour it) to skip every
8
- write under `agents/state/` so the replay never mutates real session
8
+ write under `agents/runtime/state/` so the replay never mutates real session
9
9
  state.
10
10
 
11
11
  Invocation:
@@ -1,9 +1,9 @@
1
1
  """Concurrency-safe state writes for hook concerns.
2
2
 
3
3
  Per `docs/contracts/hook-architecture-v1.md` § Concurrency, every concern
4
- that writes under `agents/state/` MUST:
4
+ that writes under `agents/runtime/state/` MUST:
5
5
 
6
- 1. Acquire `fcntl.flock(LOCK_EX)` on `agents/state/.dispatcher.lock`.
6
+ 1. Acquire `fcntl.flock(LOCK_EX)` on `agents/runtime/state/.dispatcher.lock`.
7
7
  2. Write to a sibling `<dest>.tmp.<pid>` file in the same directory.
8
8
  3. `os.replace(tmp, dest)` — POSIX-atomic on the same filesystem.
9
9
  4. Release the lock.
@@ -21,7 +21,7 @@ Cross-platform notes
21
21
  holds, and torn-write risk is accepted (Windows is not a primary
22
22
  agent-config platform — Cline tracks the upstream Windows-path issue
23
23
  separately).
24
- - The lock file lives under `agents/state/` which is gitignored.
24
+ - The lock file lives under `agents/runtime/state/` which is gitignored.
25
25
  - The lock is process-scoped, not session-scoped: each call opens,
26
26
  locks, writes, releases, closes. No long-lived file handles.
27
27
  """
@@ -47,7 +47,7 @@ def is_replay_mode() -> bool:
47
47
  """True when the caller signalled read-only fixture replay.
48
48
 
49
49
  Concerns and the dispatcher honour the flag by skipping side
50
- effects under `agents/state/` (and any other concern-owned state
50
+ effects under `agents/runtime/state/` (and any other concern-owned state
51
51
  surface). See `docs/contracts/hook-architecture-v1.md` § Replay mode.
52
52
  """
53
53
  return os.environ.get(REPLAY_ENV_VAR, "").strip() == "1"
@@ -60,7 +60,7 @@ def _lock_path(state_dir: Path) -> Path:
60
60
  def atomic_write_json(target: Path, payload: Any, *, indent: int = 2) -> None:
61
61
  """Write `payload` as JSON to `target` atomically and concurrency-safely.
62
62
 
63
- `target` MUST sit under an `agents/state/` directory (or any other
63
+ `target` MUST sit under an `agents/runtime/state/` directory (or any other
64
64
  directory the caller treats as the lock scope). The lock file is
65
65
  `<target.parent>/.dispatcher.lock`. Caller does not need to create
66
66
  the directory in advance — this function ensures it.
@@ -11,8 +11,8 @@ and adds three diagnostics the bare status table does not surface:
11
11
  `scripts/hooks/<platform>-dispatcher.sh`; flags any platform that
12
12
  has manifest bindings but no trampoline on disk.
13
13
  * **Last feedback** — for each concern, the most-recent dispatcher
14
- feedback file under `agents/state/.dispatcher/*/<concern>.json`,
15
- plus the per-rule state file under `agents/state/<concern>.json`
14
+ feedback file under `agents/runtime/state/.dispatcher/*/<concern>.json`,
15
+ plus the per-rule state file under `agents/runtime/state/<concern>.json`
16
16
  when one exists.
17
17
 
18
18
  This is a **read-only** report. It never installs, modifies, or runs
@@ -36,7 +36,7 @@ import dispatch_hook # noqa: E402
36
36
  import hooks_status # noqa: E402
37
37
 
38
38
  TRAMPOLINE_DIR = REPO_ROOT / "scripts" / "hooks"
39
- STATE_DIR_DEFAULT = "agents/state"
39
+ STATE_DIR_DEFAULT = "agents/runtime/state"
40
40
 
41
41
  # Platforms whose bridge file (settings.json) invokes the universal
42
42
  # dispatcher directly — no shell trampoline required. Excluded from the
@@ -55,7 +55,7 @@ def _concern_state_file(state_dir: Path, concern: str) -> Path | None:
55
55
 
56
56
  def _latest_feedback(state_dir: Path, concern: str) -> Path | None:
57
57
  """Return the most-recent dispatcher feedback file for the concern,
58
- walking `agents/state/.dispatcher/<session>/<concern>.json`."""
58
+ walking `agents/runtime/state/.dispatcher/<session>/<concern>.json`."""
59
59
  dispatcher_dir = state_dir / ".dispatcher"
60
60
  if not dispatcher_dir.is_dir():
61
61
  return None
@@ -98,7 +98,7 @@ echo "✅ Pre-commit hook installed."
98
98
  # lifecycle hooks) cannot fire SessionStart/Stop/PostToolUse. Git hooks
99
99
  # are the platform-agnostic lifecycle surface that fires regardless of
100
100
  # IDE — every commit, merge, checkout, and rewrite turns into a phase
101
- # boundary in agents/.agent-chat-history when an agent session is active.
101
+ # boundary in agents/runtime/.agent-chat-history when an agent session is active.
102
102
  #
103
103
  # The hooks are silent no-ops when no agent session is active (the
104
104
  # chat_history.py hook-append script returns "skipped_no_sidecar" with
@@ -110,7 +110,7 @@ write_chat_history_hook() {
110
110
  local phase_tag="$2"
111
111
  cat > "$HOOKS_DIR/$name" << EOF
112
112
  #!/usr/bin/env bash
113
- # $name: append a phase boundary to agents/.agent-chat-history when an agent
113
+ # $name: append a phase boundary to agents/runtime/.agent-chat-history when an agent
114
114
  # session is active. Silent no-op otherwise. Never blocks git.
115
115
 
116
116
  if [ -x ./agent-config ]; then
@@ -1009,7 +1009,7 @@ def ensure_augment_user_hooks(package_root: Path, force: bool) -> list[dict[str,
1009
1009
  # scripts/hook_manifest.yaml to resolve which concerns fire on each
1010
1010
  # (platform, event) tuple. Mirrors AUGMENT_DISPATCHER_BINDINGS so each
1011
1011
  # concern fires on the same logical surface across platforms — the
1012
- # contract from agents/contexts/hardening-pattern.md § Cross-platform
1012
+ # contract from agents/settings/contexts/hardening-pattern.md § Cross-platform
1013
1013
  # parity.
1014
1014
  CLAUDE_DISPATCHER_BINDINGS = (
1015
1015
  ("session_start", "SessionStart"),
@@ -1074,7 +1074,7 @@ def ensure_claude_bridge(project_root: Path, force: bool) -> list[dict[str, Any]
1074
1074
  # Native event names per https://cursor.com/docs/reference/third-party-hooks
1075
1075
  # (camelCase). UserPromptSubmit lives at `beforeSubmitPrompt`. Stop is
1076
1076
  # IDE-only — CLI-only Cursor users get the rule-only checkpoint
1077
- # fallback per agents/contexts/chat-history-platform-hooks.md.
1077
+ # fallback per agents/settings/contexts/chat-history-platform-hooks.md.
1078
1078
  CURSOR_DISPATCHER_BINDINGS = (
1079
1079
  ("session_start", "sessionStart"),
1080
1080
  ("session_end", "sessionEnd"),
@@ -1335,7 +1335,7 @@ def ensure_windsurf_bridge(project_root: Path, force: bool) -> list[dict[str, An
1335
1335
  scope. Idempotent via deep_merge — rerunning replaces hook arrays
1336
1336
  rather than appending duplicates. `show_output: false` keeps post
1337
1337
  hooks silent (per Windsurf docs); concerns stream their own output
1338
- via agents/state/.dispatcher/.
1338
+ via agents/runtime/state/.dispatcher/.
1339
1339
  """
1340
1340
  hooks: dict[str, list] = {}
1341
1341
  for ac_event, native in WINDSURF_DISPATCHER_BINDINGS: