@event4u/agent-config 2.26.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 (771) 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/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 +12 -0
  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 +12 -0
  79. package/.agent-src/commands/module/explore.md +13 -1
  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 +12 -0
  83. package/.agent-src/commands/optimize/rtk.md +12 -0
  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 +12 -0
  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 +12 -0
  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 +12 -0
  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 +2 -2
  130. package/.agent-src/contexts/authority/scope-mechanics.md +11 -0
  131. package/.agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
  132. package/.agent-src/contexts/documentation-hierarchy.md +2 -2
  133. package/.agent-src/contexts/execution/roadmap-process-loop.md +19 -0
  134. package/.agent-src/ghostwriter/README.md +2 -2
  135. package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
  136. package/.agent-src/personas/README.md +1 -1
  137. package/.agent-src/personas/advisors/contrarian.md +1 -1
  138. package/.agent-src/personas/advisors/executor.md +1 -1
  139. package/.agent-src/personas/advisors/expansionist.md +1 -1
  140. package/.agent-src/personas/advisors/first-principles.md +1 -1
  141. package/.agent-src/personas/advisors/outsider.md +1 -1
  142. package/.agent-src/rules/agent-authority.md +12 -0
  143. package/.agent-src/rules/analysis-skill-routing.md +12 -0
  144. package/.agent-src/rules/architecture.md +13 -1
  145. package/.agent-src/rules/artifact-drafting-protocol.md +13 -1
  146. package/.agent-src/rules/artifact-engagement-recording.md +13 -1
  147. package/.agent-src/rules/ask-when-uncertain.md +12 -0
  148. package/.agent-src/rules/augment-edit-discipline.md +13 -1
  149. package/.agent-src/rules/augment-source-of-truth.md +13 -1
  150. package/.agent-src/rules/autonomous-execution.md +13 -1
  151. package/.agent-src/rules/caveman-speak.md +13 -1
  152. package/.agent-src/rules/cli-output-handling.md +13 -1
  153. package/.agent-src/rules/command-suggestion-policy.md +13 -1
  154. package/.agent-src/rules/commit-conventions.md +13 -1
  155. package/.agent-src/rules/commit-policy.md +12 -0
  156. package/.agent-src/rules/context-hygiene.md +15 -3
  157. package/.agent-src/rules/copilot-routing.md +13 -1
  158. package/.agent-src/rules/devcontainer-routing.md +13 -1
  159. package/.agent-src/rules/direct-answers.md +12 -0
  160. package/.agent-src/rules/docker-commands.md +13 -1
  161. package/.agent-src/rules/domain-adoption-policy.md +17 -5
  162. package/.agent-src/rules/domain-safety-disclaimer.md +13 -1
  163. package/.agent-src/rules/domain-safety-pii.md +13 -1
  164. package/.agent-src/rules/domain-safety-retention.md +13 -1
  165. package/.agent-src/rules/downstream-changes.md +13 -1
  166. package/.agent-src/rules/external-reference-deep-dive.md +13 -1
  167. package/.agent-src/rules/fast-path-marker-visibility.md +21 -1
  168. package/.agent-src/rules/framework-neutrality-in-generic-skills.md +13 -1
  169. package/.agent-src/rules/git-history-discipline.md +13 -1
  170. package/.agent-src/rules/guidelines.md +12 -0
  171. package/.agent-src/rules/improve-before-implement.md +13 -1
  172. package/.agent-src/rules/invite-challenge.md +13 -1
  173. package/.agent-src/rules/language-and-tone.md +12 -0
  174. package/.agent-src/rules/laravel-routing.md +13 -1
  175. package/.agent-src/rules/laravel-translations.md +13 -1
  176. package/.agent-src/rules/low-impact-corpus-privacy-floor.md +17 -5
  177. package/.agent-src/rules/markdown-safe-codeblocks.md +13 -1
  178. package/.agent-src/rules/media-governance-routing.md +27 -15
  179. package/.agent-src/rules/minimal-safe-diff.md +13 -1
  180. package/.agent-src/rules/missing-tool-handling.md +13 -1
  181. package/.agent-src/rules/model-recommendation.md +13 -1
  182. package/.agent-src/rules/no-attribution-footers.md +13 -1
  183. package/.agent-src/rules/no-cheap-questions.md +12 -0
  184. package/.agent-src/rules/no-roadmap-references.md +28 -16
  185. package/.agent-src/rules/non-destructive-by-default.md +12 -0
  186. package/.agent-src/rules/onboarding-gate.md +19 -6
  187. package/.agent-src/rules/package-ci-checks.md +12 -0
  188. package/.agent-src/rules/persona-governance.md +13 -1
  189. package/.agent-src/rules/php-coding.md +13 -1
  190. package/.agent-src/rules/preservation-guard.md +13 -1
  191. package/.agent-src/rules/provider-lifecycle-discipline.md +14 -2
  192. package/.agent-src/rules/reviewer-awareness.md +13 -1
  193. package/.agent-src/rules/roadmap-ci-steps-policy.md +13 -1
  194. package/.agent-src/rules/roadmap-progress-sync.md +18 -1
  195. package/.agent-src/rules/role-mode-adherence.md +13 -1
  196. package/.agent-src/rules/rule-type-governance.md +13 -1
  197. package/.agent-src/rules/runtime-safety.md +13 -1
  198. package/.agent-src/rules/scope-control.md +12 -0
  199. package/.agent-src/rules/security-sensitive-stop.md +13 -1
  200. package/.agent-src/rules/size-enforcement.md +12 -0
  201. package/.agent-src/rules/skill-improvement-trigger.md +13 -1
  202. package/.agent-src/rules/skill-quality.md +13 -1
  203. package/.agent-src/rules/slash-command-routing-policy.md +13 -1
  204. package/.agent-src/rules/symfony-routing.md +13 -1
  205. package/.agent-src/rules/think-before-action.md +13 -1
  206. package/.agent-src/rules/token-efficiency.md +13 -1
  207. package/.agent-src/rules/token-optimizer-maintenance.md +12 -0
  208. package/.agent-src/rules/tool-safety.md +13 -1
  209. package/.agent-src/rules/ui-audit-gate.md +13 -1
  210. package/.agent-src/rules/upstream-proposal.md +13 -1
  211. package/.agent-src/rules/user-interaction.md +13 -1
  212. package/.agent-src/rules/user-interrupt-priority.md +12 -0
  213. package/.agent-src/rules/verify-before-complete.md +12 -0
  214. package/.agent-src/skills/accessibility-auditor/SKILL.md +12 -0
  215. package/.agent-src/skills/activation-design/SKILL.md +12 -0
  216. package/.agent-src/skills/adr-create/SKILL.md +12 -0
  217. package/.agent-src/skills/adversarial-review/SKILL.md +12 -0
  218. package/.agent-src/skills/agent-docs-writing/SKILL.md +16 -4
  219. package/.agent-src/skills/agents-md-thin-root/SKILL.md +14 -2
  220. package/.agent-src/skills/ai-council/SKILL.md +28 -15
  221. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +12 -0
  222. package/.agent-src/skills/analysis-skill-router/SKILL.md +12 -0
  223. package/.agent-src/skills/api-design/SKILL.md +13 -3
  224. package/.agent-src/skills/api-endpoint/SKILL.md +12 -0
  225. package/.agent-src/skills/api-testing/SKILL.md +12 -0
  226. package/.agent-src/skills/architecture-review-lens/SKILL.md +12 -0
  227. package/.agent-src/skills/artisan-commands/SKILL.md +12 -0
  228. package/.agent-src/skills/async-python-patterns/SKILL.md +13 -1
  229. package/.agent-src/skills/authz-review/SKILL.md +12 -2
  230. package/.agent-src/skills/aws-infrastructure/SKILL.md +12 -0
  231. package/.agent-src/skills/blade-ui/SKILL.md +12 -0
  232. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +12 -0
  233. package/.agent-src/skills/bug-analyzer/SKILL.md +14 -2
  234. package/.agent-src/skills/build-buy-partner/SKILL.md +12 -0
  235. package/.agent-src/skills/canvas-design/SKILL.md +12 -0
  236. package/.agent-src/skills/character-consistency/SKILL.md +23 -11
  237. package/.agent-src/skills/check-refs/SKILL.md +12 -0
  238. package/.agent-src/skills/churn-prevention/SKILL.md +12 -0
  239. package/.agent-src/skills/code-refactoring/SKILL.md +16 -4
  240. package/.agent-src/skills/code-review/SKILL.md +12 -0
  241. package/.agent-src/skills/command-routing/SKILL.md +12 -0
  242. package/.agent-src/skills/command-writing/SKILL.md +14 -2
  243. package/.agent-src/skills/comp-banding/SKILL.md +12 -0
  244. package/.agent-src/skills/competitive-moat-analysis/SKILL.md +12 -2
  245. package/.agent-src/skills/competitive-positioning/SKILL.md +12 -2
  246. package/.agent-src/skills/composer-packages/SKILL.md +12 -0
  247. package/.agent-src/skills/compress-memory/SKILL.md +12 -0
  248. package/.agent-src/skills/content-funnel-design/SKILL.md +12 -2
  249. package/.agent-src/skills/context-authoring/SKILL.md +18 -6
  250. package/.agent-src/skills/context-document/SKILL.md +17 -5
  251. package/.agent-src/skills/contracts-cognition/SKILL.md +12 -2
  252. package/.agent-src/skills/conventional-commits-writing/SKILL.md +12 -0
  253. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +13 -1
  254. package/.agent-src/skills/copilot-config/SKILL.md +12 -0
  255. package/.agent-src/skills/customer-research/SKILL.md +12 -0
  256. package/.agent-src/skills/dashboard-design/SKILL.md +12 -0
  257. package/.agent-src/skills/data-flow-mapper/SKILL.md +12 -0
  258. package/.agent-src/skills/data-handling-judgment/SKILL.md +12 -2
  259. package/.agent-src/skills/database/SKILL.md +14 -2
  260. package/.agent-src/skills/dcf-modeling/SKILL.md +12 -2
  261. package/.agent-src/skills/deal-qualification-meddic/SKILL.md +12 -2
  262. package/.agent-src/skills/decision-record/SKILL.md +12 -0
  263. package/.agent-src/skills/deep-reading-analyst/SKILL.md +12 -0
  264. package/.agent-src/skills/defense-in-depth/SKILL.md +13 -1
  265. package/.agent-src/skills/dependency-upgrade/SKILL.md +12 -0
  266. package/.agent-src/skills/description-assist/SKILL.md +12 -0
  267. package/.agent-src/skills/design-review/SKILL.md +12 -0
  268. package/.agent-src/skills/devcontainer/SKILL.md +12 -0
  269. package/.agent-src/skills/developer-like-execution/SKILL.md +12 -0
  270. package/.agent-src/skills/discovery-interview/SKILL.md +12 -2
  271. package/.agent-src/skills/doc-coauthoring/SKILL.md +12 -0
  272. package/.agent-src/skills/docker/SKILL.md +12 -0
  273. package/.agent-src/skills/editorial-calendar/SKILL.md +12 -2
  274. package/.agent-src/skills/eloquent/SKILL.md +12 -0
  275. package/.agent-src/skills/eloquent/evals/triggers.json +1 -1
  276. package/.agent-src/skills/error-handling-patterns/SKILL.md +13 -1
  277. package/.agent-src/skills/estimate-ticket/SKILL.md +12 -0
  278. package/.agent-src/skills/existing-ui-audit/SKILL.md +12 -0
  279. package/.agent-src/skills/expansion-playbook/SKILL.md +12 -0
  280. package/.agent-src/skills/fe-design/SKILL.md +12 -0
  281. package/.agent-src/skills/feature-planning/SKILL.md +12 -0
  282. package/.agent-src/skills/file-editor/SKILL.md +12 -0
  283. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +12 -0
  284. package/.agent-src/skills/flux/SKILL.md +12 -0
  285. package/.agent-src/skills/forecast-accuracy/SKILL.md +12 -2
  286. package/.agent-src/skills/forecasting/SKILL.md +12 -2
  287. package/.agent-src/skills/form-handler/SKILL.md +12 -0
  288. package/.agent-src/skills/fundraising-narrative/SKILL.md +12 -2
  289. package/.agent-src/skills/funnel-analysis/SKILL.md +12 -0
  290. package/.agent-src/skills/git-workflow/SKILL.md +12 -0
  291. package/.agent-src/skills/github-ci/SKILL.md +12 -0
  292. package/.agent-src/skills/grafana/SKILL.md +12 -0
  293. package/.agent-src/skills/gtm-launch/SKILL.md +12 -2
  294. package/.agent-src/skills/guideline-writing/SKILL.md +12 -0
  295. package/.agent-src/skills/hiring-loop-design/SKILL.md +12 -0
  296. package/.agent-src/skills/incident-commander/SKILL.md +12 -2
  297. package/.agent-src/skills/jira-integration/SKILL.md +12 -0
  298. package/.agent-src/skills/jobs-events/SKILL.md +12 -0
  299. package/.agent-src/skills/judge-bug-hunter/SKILL.md +12 -0
  300. package/.agent-src/skills/judge-code-quality/SKILL.md +12 -0
  301. package/.agent-src/skills/judge-security-auditor/SKILL.md +12 -0
  302. package/.agent-src/skills/judge-test-coverage/SKILL.md +12 -0
  303. package/.agent-src/skills/laravel/SKILL.md +12 -0
  304. package/.agent-src/skills/laravel-api-endpoint/SKILL.md +15 -3
  305. package/.agent-src/skills/laravel-dto/SKILL.md +14 -2
  306. package/.agent-src/skills/laravel-horizon/SKILL.md +12 -0
  307. package/.agent-src/skills/laravel-mail/SKILL.md +12 -0
  308. package/.agent-src/skills/laravel-middleware/SKILL.md +12 -0
  309. package/.agent-src/skills/laravel-migration/SKILL.md +12 -0
  310. package/.agent-src/skills/laravel-notifications/SKILL.md +12 -0
  311. package/.agent-src/skills/laravel-pennant/SKILL.md +12 -0
  312. package/.agent-src/skills/laravel-pulse/SKILL.md +12 -0
  313. package/.agent-src/skills/laravel-reverb/SKILL.md +12 -0
  314. package/.agent-src/skills/laravel-scheduling/SKILL.md +12 -0
  315. package/.agent-src/skills/laravel-validation/SKILL.md +12 -0
  316. package/.agent-src/skills/laravel-websocket/SKILL.md +12 -0
  317. package/.agent-src/skills/launch-readiness/SKILL.md +12 -2
  318. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +15 -3
  319. package/.agent-src/skills/lint-skills/SKILL.md +12 -0
  320. package/.agent-src/skills/livewire/SKILL.md +12 -0
  321. package/.agent-src/skills/livewire-architect/SKILL.md +12 -0
  322. package/.agent-src/skills/logging-monitoring/SKILL.md +12 -0
  323. package/.agent-src/skills/market-entry-analysis/SKILL.md +12 -0
  324. package/.agent-src/skills/markitdown/SKILL.md +14 -2
  325. package/.agent-src/skills/mcp/SKILL.md +12 -0
  326. package/.agent-src/skills/mcp-builder/SKILL.md +14 -2
  327. package/.agent-src/skills/md-language-check/SKILL.md +13 -1
  328. package/.agent-src/skills/memory-consolidation/SKILL.md +12 -0
  329. package/.agent-src/skills/merge-conflicts/SKILL.md +12 -0
  330. package/.agent-src/skills/messaging-architecture/SKILL.md +12 -2
  331. package/.agent-src/skills/migration-architect/SKILL.md +12 -0
  332. package/.agent-src/skills/mobile-e2e-strategy/SKILL.md +12 -0
  333. package/.agent-src/skills/module-management/SKILL.md +12 -0
  334. package/.agent-src/skills/motion-choreographer/SKILL.md +16 -4
  335. package/.agent-src/skills/multi-tenancy/SKILL.md +14 -2
  336. package/.agent-src/skills/nextjs-patterns/SKILL.md +12 -0
  337. package/.agent-src/skills/okr-tree-modeling/SKILL.md +12 -2
  338. package/.agent-src/skills/onboarding-design/SKILL.md +12 -0
  339. package/.agent-src/skills/onboarding-program/SKILL.md +12 -0
  340. package/.agent-src/skills/one-on-one-cadence/SKILL.md +12 -0
  341. package/.agent-src/skills/openapi/SKILL.md +13 -1
  342. package/.agent-src/skills/org-design/SKILL.md +12 -0
  343. package/.agent-src/skills/override-management/SKILL.md +12 -0
  344. package/.agent-src/skills/perf-feedback-craft/SKILL.md +12 -0
  345. package/.agent-src/skills/performance/SKILL.md +12 -0
  346. package/.agent-src/skills/performance-analysis/SKILL.md +12 -0
  347. package/.agent-src/skills/persona-writing/SKILL.md +12 -0
  348. package/.agent-src/skills/pest-testing/SKILL.md +12 -0
  349. package/.agent-src/skills/php-coder/SKILL.md +12 -0
  350. package/.agent-src/skills/php-debugging/SKILL.md +12 -0
  351. package/.agent-src/skills/php-service/SKILL.md +12 -0
  352. package/.agent-src/skills/pipeline-strategy/SKILL.md +12 -2
  353. package/.agent-src/skills/pixar-storyteller/SKILL.md +17 -5
  354. package/.agent-src/skills/playwright-architect/SKILL.md +12 -2
  355. package/.agent-src/skills/playwright-testing/SKILL.md +12 -0
  356. package/.agent-src/skills/po-discovery/SKILL.md +12 -0
  357. package/.agent-src/skills/positioning-strategy/SKILL.md +12 -0
  358. package/.agent-src/skills/privacy-review/SKILL.md +12 -2
  359. package/.agent-src/skills/project-analysis-core/SKILL.md +12 -0
  360. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +12 -0
  361. package/.agent-src/skills/project-analysis-laravel/SKILL.md +12 -0
  362. package/.agent-src/skills/project-analysis-nextjs/SKILL.md +12 -0
  363. package/.agent-src/skills/project-analysis-node-express/SKILL.md +12 -0
  364. package/.agent-src/skills/project-analysis-react/SKILL.md +12 -0
  365. package/.agent-src/skills/project-analysis-symfony/SKILL.md +12 -0
  366. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +12 -0
  367. package/.agent-src/skills/project-analyzer/SKILL.md +30 -18
  368. package/.agent-src/skills/project-docs/SKILL.md +25 -13
  369. package/.agent-src/skills/prompt-engineering-patterns/SKILL.md +13 -1
  370. package/.agent-src/skills/prompt-optimizer/SKILL.md +13 -1
  371. package/.agent-src/skills/quality-tools/SKILL.md +12 -2
  372. package/.agent-src/skills/react-native-setup/SKILL.md +12 -0
  373. package/.agent-src/skills/react-shadcn-ui/SKILL.md +12 -0
  374. package/.agent-src/skills/readme-reviewer/SKILL.md +12 -0
  375. package/.agent-src/skills/readme-writing/SKILL.md +12 -0
  376. package/.agent-src/skills/readme-writing-package/SKILL.md +12 -0
  377. package/.agent-src/skills/receiving-code-review/SKILL.md +12 -0
  378. package/.agent-src/skills/refine-prompt/SKILL.md +13 -1
  379. package/.agent-src/skills/refine-ticket/SKILL.md +14 -2
  380. package/.agent-src/skills/refine-ticket/detection-map.yml +2 -2
  381. package/.agent-src/skills/release-comms/SKILL.md +12 -2
  382. package/.agent-src/skills/repomix-packer/SKILL.md +13 -1
  383. package/.agent-src/skills/requesting-code-review/SKILL.md +12 -0
  384. package/.agent-src/skills/retention-loops/SKILL.md +12 -0
  385. package/.agent-src/skills/review-routing/SKILL.md +12 -0
  386. package/.agent-src/skills/rice-prioritization/SKILL.md +12 -0
  387. package/.agent-src/skills/risk-officer/SKILL.md +12 -0
  388. package/.agent-src/skills/roadmap-management/SKILL.md +12 -0
  389. package/.agent-src/skills/roadmap-writing/SKILL.md +12 -0
  390. package/.agent-src/skills/rtk-output-filtering/SKILL.md +12 -0
  391. package/.agent-src/skills/rule-refactor/SKILL.md +15 -3
  392. package/.agent-src/skills/rule-writing/SKILL.md +13 -1
  393. package/.agent-src/skills/runway-cognition/SKILL.md +12 -2
  394. package/.agent-src/skills/scenario-modeling/SKILL.md +12 -2
  395. package/.agent-src/skills/scene-expander/SKILL.md +18 -6
  396. package/.agent-src/skills/script-writing/SKILL.md +13 -1
  397. package/.agent-src/skills/secrets-management/SKILL.md +13 -3
  398. package/.agent-src/skills/security/SKILL.md +12 -0
  399. package/.agent-src/skills/security-audit/SKILL.md +12 -0
  400. package/.agent-src/skills/sentry-integration/SKILL.md +12 -0
  401. package/.agent-src/skills/sequential-thinking/SKILL.md +12 -0
  402. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +12 -0
  403. package/.agent-src/skills/skill-management/SKILL.md +12 -0
  404. package/.agent-src/skills/skill-reviewer/SKILL.md +12 -0
  405. package/.agent-src/skills/skill-writing/SKILL.md +12 -0
  406. package/.agent-src/skills/sql-writing/SKILL.md +12 -0
  407. package/.agent-src/skills/stakeholder-tradeoff/SKILL.md +12 -0
  408. package/.agent-src/skills/subagent-orchestration/SKILL.md +13 -1
  409. package/.agent-src/skills/symfony-workflow/SKILL.md +12 -0
  410. package/.agent-src/skills/systematic-debugging/SKILL.md +12 -0
  411. package/.agent-src/skills/tailwind-engineer/SKILL.md +12 -0
  412. package/.agent-src/skills/tech-debt-tracker/SKILL.md +12 -2
  413. package/.agent-src/skills/technical-specification/SKILL.md +12 -0
  414. package/.agent-src/skills/terraform/SKILL.md +12 -0
  415. package/.agent-src/skills/terragrunt/SKILL.md +12 -0
  416. package/.agent-src/skills/test-driven-development/SKILL.md +12 -0
  417. package/.agent-src/skills/test-performance/SKILL.md +13 -1
  418. package/.agent-src/skills/testing-anti-patterns/SKILL.md +13 -1
  419. package/.agent-src/skills/threat-modeling/SKILL.md +12 -0
  420. package/.agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +12 -0
  421. package/.agent-src/skills/token-optimizer/SKILL.md +12 -0
  422. package/.agent-src/skills/traefik/SKILL.md +12 -0
  423. package/.agent-src/skills/ui-component-architect/SKILL.md +12 -0
  424. package/.agent-src/skills/unit-economics-modeling/SKILL.md +12 -2
  425. package/.agent-src/skills/universal-project-analysis/SKILL.md +12 -0
  426. package/.agent-src/skills/upstream-contribute/SKILL.md +12 -0
  427. package/.agent-src/skills/using-git-worktrees/SKILL.md +12 -0
  428. package/.agent-src/skills/validate-feature-fit/SKILL.md +12 -0
  429. package/.agent-src/skills/verify-completion-evidence/SKILL.md +12 -0
  430. package/.agent-src/skills/video-director/SKILL.md +18 -6
  431. package/.agent-src/skills/vision-articulation/SKILL.md +12 -0
  432. package/.agent-src/skills/voc-extract/SKILL.md +12 -2
  433. package/.agent-src/skills/voice-and-tone-design/SKILL.md +12 -2
  434. package/.agent-src/templates/agent-settings.md +5 -5
  435. package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  436. package/.agent-src/templates/agents/memory/ownership.example.yml +1 -1
  437. package/.agent-src/templates/agents/proposal.example.md +12 -0
  438. package/.agent-src/templates/command.md +1 -1
  439. package/.agent-src/templates/contexts/auth-model.md +2 -2
  440. package/.agent-src/templates/contexts/data-sensitivity.md +3 -3
  441. package/.agent-src/templates/contexts/deployment-order.md +2 -2
  442. package/.agent-src/templates/contexts/observability.md +3 -3
  443. package/.agent-src/templates/contexts/tenant-boundaries.md +3 -3
  444. package/.agent-src/templates/contexts.md +1 -1
  445. package/.agent-src/templates/rule.md +1 -1
  446. package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +3 -3
  447. package/.agent-src/templates/scripts/work_engine/cli.py +6 -6
  448. package/.agent-src/templates/scripts/work_engine/emitters.py +29 -4
  449. package/.agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.py +3 -3
  450. package/.agent-src/templates/scripts/work_engine/state.py +53 -0
  451. package/.agent-src/templates/skill-archive-note.md +4 -4
  452. package/.claude-plugin/marketplace.json +1 -2
  453. package/AGENTS.md +5 -4
  454. package/CHANGELOG.md +170 -90
  455. package/CONTRIBUTING.md +61 -0
  456. package/README.md +23 -20
  457. package/config/agent-settings.template.yml +11 -1
  458. package/config/discovery/packs.yml +142 -0
  459. package/config/discovery/unassigned-artefacts.yml +66 -0
  460. package/config/discovery/workspaces.yml +59 -0
  461. package/config/gitignore-block.txt +17 -20
  462. package/dist/cli/agent-config.js +199 -0
  463. package/dist/cli/agent-config.js.map +1 -0
  464. package/dist/cli/bash/runBash.js +40 -0
  465. package/dist/cli/bash/runBash.js.map +1 -0
  466. package/dist/cli/commands/doctorShell.js +91 -0
  467. package/dist/cli/commands/doctorShell.js.map +1 -0
  468. package/dist/cli/commands/packs.js +59 -0
  469. package/dist/cli/commands/packs.js.map +1 -0
  470. package/dist/cli/commands/settings.js +35 -0
  471. package/dist/cli/commands/settings.js.map +1 -0
  472. package/dist/cli/commands/uiServe.js +110 -0
  473. package/dist/cli/commands/uiServe.js.map +1 -0
  474. package/dist/cli/commands/versions.js +64 -0
  475. package/dist/cli/commands/versions.js.map +1 -0
  476. package/dist/cli/commands/workspaces.js +58 -0
  477. package/dist/cli/commands/workspaces.js.map +1 -0
  478. package/dist/cli/discovery/loadManifest.js +62 -0
  479. package/dist/cli/discovery/loadManifest.js.map +1 -0
  480. package/dist/cli/log/logger.js +41 -0
  481. package/dist/cli/log/logger.js.map +1 -0
  482. package/dist/cli/paths.js +60 -0
  483. package/dist/cli/paths.js.map +1 -0
  484. package/dist/cli/python/resolvePython.js +38 -0
  485. package/dist/cli/python/resolvePython.js.map +1 -0
  486. package/dist/cli/registry.js +75 -0
  487. package/dist/cli/registry.js.map +1 -0
  488. package/dist/discovery/discovery-manifest.json +9195 -0
  489. package/dist/discovery/discovery-manifest.json.sha256 +1 -0
  490. package/dist/discovery/discovery-manifest.summary.md +93 -0
  491. package/dist/mcp/awesome-mcp-servers.row.md +1 -0
  492. package/dist/mcp/mcp-cloudflare-catalogue.json +27 -0
  493. package/dist/mcp/registry-manifest.json +63 -0
  494. package/dist/server/app.js +117 -0
  495. package/dist/server/app.js.map +1 -0
  496. package/dist/server/io/atomicMultiWrite.js +202 -0
  497. package/dist/server/io/atomicMultiWrite.js.map +1 -0
  498. package/dist/server/io/atomicWrite.js +79 -0
  499. package/dist/server/io/atomicWrite.js.map +1 -0
  500. package/dist/server/io/substituteTemplate.js +87 -0
  501. package/dist/server/io/substituteTemplate.js.map +1 -0
  502. package/dist/server/io/yamlIO.js +140 -0
  503. package/dist/server/io/yamlIO.js.map +1 -0
  504. package/dist/server/port.js +97 -0
  505. package/dist/server/port.js.map +1 -0
  506. package/dist/server/routes/discovery.js +72 -0
  507. package/dist/server/routes/discovery.js.map +1 -0
  508. package/dist/server/routes/ping.js +49 -0
  509. package/dist/server/routes/ping.js.map +1 -0
  510. package/dist/server/routes/schema.js +41 -0
  511. package/dist/server/routes/schema.js.map +1 -0
  512. package/dist/server/routes/settings.js +155 -0
  513. package/dist/server/routes/settings.js.map +1 -0
  514. package/dist/server/routes/userMd.js +117 -0
  515. package/dist/server/routes/userMd.js.map +1 -0
  516. package/dist/server/routes/wizard.js +138 -0
  517. package/dist/server/routes/wizard.js.map +1 -0
  518. package/dist/server/schemas/settings.js +138 -0
  519. package/dist/server/schemas/settings.js.map +1 -0
  520. package/dist/server/token.js +68 -0
  521. package/dist/server/token.js.map +1 -0
  522. package/dist/server/writeRoot.js +67 -0
  523. package/dist/server/writeRoot.js.map +1 -0
  524. package/dist/server/writeRoot.test.js +73 -0
  525. package/dist/server/writeRoot.test.js.map +1 -0
  526. package/dist/shared/userMd/formAdapter.js +105 -0
  527. package/dist/shared/userMd/formAdapter.js.map +1 -0
  528. package/dist/shared/userMd/schema.js +118 -0
  529. package/dist/shared/userMd/schema.js.map +1 -0
  530. package/dist/shared/userMd/utils.js +74 -0
  531. package/dist/shared/userMd/utils.js.map +1 -0
  532. package/dist/ui/assets/index-BTRcKDlB.js +39 -0
  533. package/dist/ui/assets/index-BTRcKDlB.js.map +1 -0
  534. package/dist/ui/assets/index-Dqfhmg-d.css +1 -0
  535. package/dist/ui/index.html +14 -0
  536. package/docs/adrs/caveman/0001-default-off-until-bench.md +2 -2
  537. package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
  538. package/docs/adrs/schema/0001-json-schema-frontmatter.md +4 -4
  539. package/docs/adrs/schema/README.md +1 -1
  540. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +2 -2
  541. package/docs/architecture/setup-vs-settings-shared-surface.md +114 -0
  542. package/docs/architecture.md +2 -1
  543. package/docs/archive/CHANGELOG-pre-2.2.0.md +7 -7
  544. package/docs/archive/CHANGELOG-pre-3.0.0.md +130 -0
  545. package/docs/catalog.md +66 -78
  546. package/docs/contracts/STABILITY.md +1 -1
  547. package/docs/contracts/adr-architectural-consensus-mechanism.md +5 -5
  548. package/docs/contracts/adr-chat-history-split.md +1 -1
  549. package/docs/contracts/adr-implement-ticket-runtime.md +1 -1
  550. package/docs/contracts/adr-install-user-type-axis.md +1 -1
  551. package/docs/contracts/adr-mcp-runtime.md +2 -2
  552. package/docs/contracts/agent-user-schema.md +11 -2
  553. package/docs/contracts/ai-council-config.md +13 -13
  554. package/docs/contracts/audit-log-v1.md +2 -2
  555. package/docs/contracts/command-clusters.md +2 -2
  556. package/docs/contracts/compression-default-kill-criterion.md +3 -3
  557. package/docs/contracts/decision-trace-v1.md +5 -5
  558. package/docs/contracts/discovery-manifest.schema.json +146 -0
  559. package/docs/contracts/explain-trace.schema.json +144 -0
  560. package/docs/contracts/file-ownership-matrix.json +117 -341
  561. package/docs/contracts/file-ownership-matrix.md +1 -1
  562. package/docs/contracts/ghostwriter-schema.md +3 -3
  563. package/docs/contracts/hook-architecture-v1.md +10 -10
  564. package/docs/contracts/kernel-membership.md +4 -4
  565. package/docs/contracts/linter-structural-model.md +3 -3
  566. package/docs/contracts/load-context-schema.md +5 -5
  567. package/docs/contracts/local-server-api.md +134 -0
  568. package/docs/contracts/low-impact-corpus-format.md +1 -1
  569. package/docs/contracts/mcp-cloud-scope.md +2 -2
  570. package/docs/contracts/mcp-discovery-phase-notice.md +1 -1
  571. package/docs/contracts/mcp-phase-1-scope.md +5 -4
  572. package/docs/contracts/mcp-registry-manifest.schema.json +129 -0
  573. package/docs/contracts/mcp-tool-stub-envelope.md +1 -1
  574. package/docs/contracts/memory-visibility-v1.md +2 -2
  575. package/docs/contracts/multi-tool-projection-fidelity.md +3 -3
  576. package/docs/contracts/namespace.md +1 -1
  577. package/docs/contracts/one-off-script-lifecycle.md +1 -1
  578. package/docs/contracts/package-self-orientation.md +1 -1
  579. package/docs/contracts/provider-lifecycle.md +2 -2
  580. package/docs/contracts/router-blending.md +1 -1
  581. package/docs/contracts/rule-classification.md +2 -2
  582. package/docs/contracts/settings-api.md +160 -0
  583. package/docs/contracts/settings-gui-agent-mode.schema.json +128 -0
  584. package/docs/contracts/tier-3-contrib-plugin.md +1 -1
  585. package/docs/contracts/universal-skills.md +1 -1
  586. package/docs/contracts/write-engine.md +1 -1
  587. package/docs/customization.md +137 -11
  588. package/docs/decisions/ADR-001-kernel-swap-deferred.md +1 -1
  589. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +1 -1
  590. package/docs/decisions/ADR-004-rule-governance-pruning.md +8 -8
  591. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +5 -5
  592. package/docs/decisions/ADR-007-agent-discovery-scopes.md +4 -4
  593. package/docs/decisions/ADR-008-installed-tools-manifest.md +2 -2
  594. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +2 -2
  595. package/docs/decisions/ADR-011-domain-pack-readiness.md +4 -4
  596. package/docs/decisions/ADR-012-typescript-cli-shell.md +162 -0
  597. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +210 -0
  598. package/docs/decisions/ADR-014-gui-framework-choice.md +136 -0
  599. package/docs/decisions/ADR-rule-kernel-and-router.md +2 -2
  600. package/docs/decisions/INDEX.md +3 -0
  601. package/docs/distribution/mcp-submission-checklist.md +95 -0
  602. package/docs/distribution/topics-equivalents-decay-policy.md +51 -0
  603. package/docs/examples/agent-user.example.md +3 -1
  604. package/docs/getting-started.md +5 -4
  605. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
  606. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +10 -1
  607. package/docs/guidelines/agent-infra/rule-type-governance.md +2 -2
  608. package/docs/guidelines/agent-infra/tool-integration.md +1 -1
  609. package/docs/guidelines/php/api-design.md +1 -1
  610. package/docs/guidelines/prompt-templates.md +2 -2
  611. package/docs/hook-payload-capture.md +3 -3
  612. package/docs/installation.md +12 -4
  613. package/docs/migrations/commands-1.15.0.md +3 -3
  614. package/docs/parity/bench-ruflo.json +1 -1
  615. package/docs/parity/ruflo.md +3 -3
  616. package/docs/profiles.md +1 -1
  617. package/docs/quality.md +2 -2
  618. package/docs/recruits/_template.md +3 -3
  619. package/docs/setup/enterprise-and-offline.md +3 -3
  620. package/docs/setup/mcp-server-docker.md +5 -3
  621. package/docs/skills-catalog.md +62 -18
  622. package/docs/wizard.md +121 -0
  623. package/llms.txt +61 -17
  624. package/package.json +46 -3
  625. package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  626. package/scripts/_archive/README.md +2 -2
  627. package/scripts/_archive/_p4_migrate.py +1 -1
  628. package/scripts/_cli/cmd_doctor.py +5 -5
  629. package/scripts/_cli/cmd_explain.py +106 -2
  630. package/scripts/_cli/cmd_migrate.py +2 -2
  631. package/scripts/_cli/explain_last/__init__.py +122 -0
  632. package/scripts/_cli/explain_last/assumptions.py +59 -0
  633. package/scripts/_cli/explain_last/council.py +105 -0
  634. package/scripts/_cli/explain_last/halt.py +44 -0
  635. package/scripts/_cli/explain_last/inputs.py +125 -0
  636. package/scripts/_cli/explain_last/memory.py +94 -0
  637. package/scripts/_cli/explain_last/provider.py +52 -0
  638. package/scripts/_cli/explain_last/render.py +52 -0
  639. package/scripts/_cli/explain_last/route.py +58 -0
  640. package/scripts/_cli/explain_last/scrubber.py +105 -0
  641. package/scripts/_cli/explain_last/sections/__init__.py +35 -0
  642. package/scripts/_cli/explain_last/sections/assumptions.py +21 -0
  643. package/scripts/_cli/explain_last/sections/council.py +27 -0
  644. package/scripts/_cli/explain_last/sections/halt.py +31 -0
  645. package/scripts/_cli/explain_last/sections/header.py +24 -0
  646. package/scripts/_cli/explain_last/sections/inputs.py +27 -0
  647. package/scripts/_cli/explain_last/sections/memory.py +21 -0
  648. package/scripts/_cli/explain_last/sections/pack.py +16 -0
  649. package/scripts/_cli/explain_last/sections/provider.py +26 -0
  650. package/scripts/_cli/explain_last/sections/route.py +22 -0
  651. package/scripts/_cli/explain_last/state_loader.py +76 -0
  652. package/scripts/_dispatch.bash +954 -0
  653. package/scripts/_lib/agent_settings.py +3 -3
  654. package/scripts/_lib/agents_overlay.py +3 -3
  655. package/scripts/_phase4_bucket.py +210 -0
  656. package/scripts/agent-config +35 -943
  657. package/scripts/ai-video/adapters/higgsfield.sh +1 -1
  658. package/scripts/ai-video/adapters/sora.sh +1 -1
  659. package/scripts/ai-video/test-pipeline.sh +2 -2
  660. package/scripts/ai_council/_default_prices.py +5 -5
  661. package/scripts/ai_council/advisors.py +1 -1
  662. package/scripts/ai_council/clients.py +2 -2
  663. package/scripts/ai_council/compile_corpus.py +9 -8
  664. package/scripts/ai_council/config.py +3 -3
  665. package/scripts/ai_council/events_log.py +8 -4
  666. package/scripts/ai_council/low_impact_corpus.py +1 -1
  667. package/scripts/ai_council/low_impact_intake.py +1 -1
  668. package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +2 -2
  669. package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_optimization.py +1 -1
  670. package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +3 -3
  671. package/scripts/ai_council/pricing.py +8 -7
  672. package/scripts/ai_council/probation_gate.py +1 -1
  673. package/scripts/ai_council/redact_low_impact_entry.py +1 -1
  674. package/scripts/ai_council/session.py +13 -13
  675. package/scripts/ai_council/shadow_dispatch.py +2 -2
  676. package/scripts/annotate_discovery.py +149 -0
  677. package/scripts/audit_adr_coverage.py +1 -1
  678. package/scripts/audit_auto_rules.py +2 -2
  679. package/scripts/audit_cloud_compatibility.py +1 -1
  680. package/scripts/audit_command_surface.py +2 -2
  681. package/scripts/audit_likelihood.py +4 -4
  682. package/scripts/audit_overlap.py +3 -3
  683. package/scripts/audit_user_type_axis.py +1 -1
  684. package/scripts/build_discovery_manifest.py +302 -0
  685. package/scripts/build_mcp_registry_manifest.py +181 -0
  686. package/scripts/build_rule_trigger_matrix.py +2 -2
  687. package/scripts/capture_showcase_session.py +1 -1
  688. package/scripts/chat_history.py +5 -5
  689. package/scripts/check_always_budget.py +7 -2
  690. package/scripts/check_council_layout.py +26 -20
  691. package/scripts/check_council_references.py +10 -10
  692. package/scripts/check_discovery_determinism.py +70 -0
  693. package/scripts/check_kernel_rule_bundle.py +2 -2
  694. package/scripts/check_no_roadmap_refs.py +2 -2
  695. package/scripts/check_one_off_location.py +1 -1
  696. package/scripts/check_public_links.py +2 -2
  697. package/scripts/check_references.py +14 -21
  698. package/scripts/check_release_includes_discovery.py +61 -0
  699. package/scripts/ci_summary.py +2 -2
  700. package/scripts/ci_time_ratio.py +1 -1
  701. package/scripts/command_suggester/__init__.py +1 -1
  702. package/scripts/context_hygiene_hook.py +2 -2
  703. package/scripts/council_cli.py +22 -22
  704. package/scripts/council_prune.py +3 -3
  705. package/scripts/extract_audit_patterns.py +2 -2
  706. package/scripts/gen_discovery_baseline.py +127 -0
  707. package/scripts/generate_ownership_matrix.py +1 -1
  708. package/scripts/hook_manifest.yaml +5 -5
  709. package/scripts/hooks/cline-dispatcher.sh +1 -1
  710. package/scripts/hooks/cowork-dispatcher.sh +1 -1
  711. package/scripts/hooks/dispatch_hook.py +3 -3
  712. package/scripts/hooks/gemini-dispatcher.sh +1 -1
  713. package/scripts/hooks/replay_hook.py +1 -1
  714. package/scripts/hooks/state_io.py +5 -5
  715. package/scripts/hooks_doctor.py +4 -4
  716. package/scripts/install-hooks.sh +2 -2
  717. package/scripts/install.py +3 -3
  718. package/scripts/install.sh +120 -18
  719. package/scripts/inventory_frontmatter.py +1 -1
  720. package/scripts/lint_agents_layout.py +103 -0
  721. package/scripts/lint_archived_skills.py +3 -3
  722. package/scripts/lint_artefact_frontmatter.py +180 -0
  723. package/scripts/lint_discovery_manifest.py +136 -0
  724. package/scripts/lint_discovery_vocabulary.py +148 -0
  725. package/scripts/lint_explain_trace.py +80 -0
  726. package/scripts/lint_framework_leakage_allowlist.json +63 -62
  727. package/scripts/lint_ghostwriter_source.py +1 -1
  728. package/scripts/lint_load_context.py +3 -3
  729. package/scripts/lint_mcp_registry_manifest.py +69 -0
  730. package/scripts/lint_media_policy_linkage.py +6 -6
  731. package/scripts/lint_positioning.py +143 -0
  732. package/scripts/lint_rule_tiers.py +2 -2
  733. package/scripts/lint_skill_tools.py +1 -1
  734. package/scripts/lint_topics_yaml.py +89 -0
  735. package/scripts/mcp_server/consumer_tool_catalog.json +3 -3
  736. package/scripts/mcp_server/telemetry.py +2 -2
  737. package/scripts/mcp_server/tools.py +27 -11
  738. package/scripts/mcp_telemetry_health.py +2 -2
  739. package/scripts/mcp_telemetry_store.py +1 -1
  740. package/scripts/measure_augment_budget.py +3 -3
  741. package/scripts/measure_density.py +2 -2
  742. package/scripts/measure_frugality_savings.py +3 -3
  743. package/scripts/measure_roadmap_trajectory.py +1 -1
  744. package/scripts/measure_rule_budget.py +3 -3
  745. package/scripts/memory_report.py +1 -1
  746. package/scripts/migrate_command_suggestions.py +3 -3
  747. package/scripts/minimal_safe_diff_hook.py +1 -1
  748. package/scripts/onboarding_gate_hook.py +4 -4
  749. package/scripts/prepack-check.mjs +62 -0
  750. package/scripts/probe_projection_fidelity.py +2 -2
  751. package/scripts/refine_ticket_detect.py +1 -1
  752. package/scripts/schemas/command.schema.json +41 -1
  753. package/scripts/schemas/persona.schema.json +1 -1
  754. package/scripts/schemas/rule.schema.json +44 -4
  755. package/scripts/schemas/skill.schema.json +41 -1
  756. package/scripts/score_skill_selection.py +1 -1
  757. package/scripts/skill_collision_clusters.py +1 -1
  758. package/scripts/skill_linter.py +2 -2
  759. package/scripts/skill_overlap.py +1 -1
  760. package/scripts/skill_tools/run_block_d_eval.py +1 -1
  761. package/scripts/skill_usage_collect.py +3 -3
  762. package/scripts/skill_usage_report.py +3 -3
  763. package/scripts/smoke_quickstart.py +1 -1
  764. package/scripts/spotcheck_thin_root.py +1 -1
  765. package/scripts/sync_github_metadata.py +147 -0
  766. package/scripts/sync_gitignore.py +15 -5
  767. package/scripts/update_prices.py +4 -3
  768. package/scripts/verify_before_complete_hook.py +1 -1
  769. package/scripts/verify_roadmap_closure.py +1 -1
  770. package/templates/agent-user.md +35 -0
  771. package/.agent-src/commands/onboard.md +0 -467
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * prepack-check.mjs — guard the published artifact.
4
+ *
5
+ * Runs during `npm pack` and `npm publish`. Asserts the compiled TS
6
+ * CLI binary exists, is executable, and carries the Node shebang
7
+ * before the tarball is built. Otherwise a silently-broken `dist/`
8
+ * ships and every `npx @event4u/agent-config` greets the consumer
9
+ * with a cryptic `Cannot find module` panic.
10
+ *
11
+ * Folded from external council pass 2026-05-18 (Phase 1.3 acceptance).
12
+ *
13
+ * Skip with PREPACK_SKIP_BUILD_CHECK=1 only for local `npm pack` dry-runs
14
+ * that intentionally test the failure mode.
15
+ */
16
+ import { readFileSync, statSync } from 'node:fs';
17
+ import { resolve } from 'node:path';
18
+ import { argv, env, exit } from 'node:process';
19
+
20
+ const BIN = resolve('dist/cli/agent-config.js');
21
+ const SHEBANG = '#!/usr/bin/env node';
22
+
23
+ function die(msg) {
24
+ process.stderr.write(`prepack-check: ${msg}\n`);
25
+ exit(1);
26
+ }
27
+
28
+ if (env.PREPACK_SKIP_BUILD_CHECK === '1') {
29
+ process.stderr.write('prepack-check: skipped (PREPACK_SKIP_BUILD_CHECK=1)\n');
30
+ exit(0);
31
+ }
32
+
33
+ let st;
34
+ try {
35
+ st = statSync(BIN);
36
+ } catch {
37
+ die(`compiled CLI binary missing at ${BIN}. Run \`npm run build\` before \`npm pack\`.`);
38
+ }
39
+
40
+ if (!st.isFile()) {
41
+ die(`${BIN} is not a regular file.`);
42
+ }
43
+
44
+ // Executable bit check (skip on Windows where mode bits are unreliable).
45
+ if (process.platform !== 'win32') {
46
+ // 0o111 = any executable bit set
47
+ if ((st.mode & 0o111) === 0) {
48
+ die(`${BIN} is not executable. Build step must chmod +x the bin entry.`);
49
+ }
50
+ }
51
+
52
+ const head = readFileSync(BIN, 'utf8').slice(0, SHEBANG.length);
53
+ if (head !== SHEBANG) {
54
+ die(`${BIN} missing Node shebang. Expected "${SHEBANG}" as first line.`);
55
+ }
56
+
57
+ process.stderr.write(`prepack-check: ${BIN} OK\n`);
58
+
59
+ // Optional: invoked with --verbose dumps the size for tarball-budget bookkeeping.
60
+ if (argv.includes('--verbose')) {
61
+ process.stderr.write(`prepack-check: size=${st.size} bytes\n`);
62
+ }
@@ -5,7 +5,7 @@ Reads tests/fixtures/projection_fidelity/fixtures.yml, walks the
5
5
  projected trees (.augment/, .claude/, .cursor/, .clinerules/,
6
6
  .windsurfrules, .windsurf/), and records pass/fail/partial per check.
7
7
 
8
- Output: agents/reports/projection-fidelity.json + stdout summary.
8
+ Output: agents/runtime/reports/projection-fidelity.json + stdout summary.
9
9
 
10
10
  Pure stdlib (PyYAML reuse from scripts/_lib if installed; otherwise
11
11
  inline minimal YAML loader for the fixture's restricted shape).
@@ -172,7 +172,7 @@ def check_entry(entry: dict) -> dict:
172
172
  def main() -> int:
173
173
  ap = argparse.ArgumentParser()
174
174
  ap.add_argument("--fixture", default="tests/fixtures/projection_fidelity/fixtures.yml")
175
- ap.add_argument("--report", default="agents/reports/projection-fidelity.json")
175
+ ap.add_argument("--report", default="agents/runtime/reports/projection-fidelity.json")
176
176
  args = ap.parse_args()
177
177
 
178
178
  fixture = yaml.safe_load((ROOT / args.fixture).read_text(encoding="utf-8"))
@@ -94,7 +94,7 @@ class RepoContext:
94
94
 
95
95
  Feeds the skill's Top-5 risks with project-specific vocabulary —
96
96
  recent branch names (naming-convention signal), recent commit
97
- subjects (active modules signal), and on-disk `agents/contexts/`
97
+ subjects (active modules signal), and on-disk `agents/settings/contexts/`
98
98
  documents (domain-vocabulary signal).
99
99
 
100
100
  Empty when `repo_aware=False` — the skill still produces the same
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://github.com/event4u-app/agent-config/scripts/schemas/command.schema.json",
4
4
  "title": "Command frontmatter",
5
- "$comment": "Source: agents/docs/frontmatter-contract.md#commands. `description` is required at schema level because 66/67 commands declare it — the one exception is a known gap, not a supported shape.",
5
+ "$comment": "Source: agents/reference/docs/frontmatter-contract.md#commands. `description` is required at schema level because 66/67 commands declare it — the one exception is a known gap, not a supported shape.",
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
8
  "required": ["name", "description", "disable-model-invocation"],
@@ -117,6 +117,46 @@
117
117
  "description": "Optional per-command override of the global cooldown duration (e.g. '10m'). Defaults to settings."
118
118
  }
119
119
  }
120
+ },
121
+ "workspaces": {
122
+ "type": "array",
123
+ "minItems": 1,
124
+ "uniqueItems": true,
125
+ "items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
126
+ "description": "ADR-013 workspace ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/workspaces.yml."
127
+ },
128
+ "packs": {
129
+ "type": "array",
130
+ "minItems": 1,
131
+ "uniqueItems": true,
132
+ "items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
133
+ "description": "ADR-013 pack ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/packs.yml."
134
+ },
135
+ "lifecycle": {
136
+ "type": "string",
137
+ "enum": ["active", "deprecated", "experimental", "archived"],
138
+ "description": "ADR-013 lifecycle state."
139
+ },
140
+ "trust": {
141
+ "type": "object",
142
+ "additionalProperties": false,
143
+ "required": ["level", "confidence", "human_review_required"],
144
+ "properties": {
145
+ "level": {"type": "string", "enum": ["core", "professional", "experimental", "advisory", "restricted"]},
146
+ "confidence": {"type": "string", "enum": ["high", "medium", "low"]},
147
+ "human_review_required": {"type": "boolean"}
148
+ },
149
+ "description": "ADR-013 trust block. Vocabulary mirrored by scripts/lint_artefact_frontmatter.py."
150
+ },
151
+ "install": {
152
+ "type": "object",
153
+ "additionalProperties": false,
154
+ "required": ["default", "removable"],
155
+ "properties": {
156
+ "default": {"type": "boolean"},
157
+ "removable": {"type": "boolean"}
158
+ },
159
+ "description": "ADR-013 install hints (default-on at consumer install; user-removable)."
120
160
  }
121
161
  }
122
162
  }
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://github.com/event4u-app/agent-config/scripts/schemas/persona.schema.json",
4
4
  "title": "Persona frontmatter",
5
- "$comment": "Source: agents/docs/frontmatter-contract.md#personas. `mode` enum mirrors the values declared in personas/*.md plus the additional `incident` value from templates/persona.md.",
5
+ "$comment": "Source: agents/reference/docs/frontmatter-contract.md#personas. `mode` enum mirrors the values declared in personas/*.md plus the additional `incident` value from templates/persona.md.",
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
8
  "required": ["id", "role", "description", "tier", "mode", "version", "source"],
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://github.com/event4u-app/agent-config/scripts/schemas/rule.schema.json",
4
4
  "title": "Rule frontmatter",
5
- "$comment": "Source: agents/docs/frontmatter-contract.md#rules. `type` is authoritative; `alwaysApply` is a Cursor/Cline sidecar and accepted but not enforced.",
5
+ "$comment": "Source: agents/reference/docs/frontmatter-contract.md#rules. `type` is authoritative; `alwaysApply` is a Cursor/Cline sidecar and accepted but not enforced.",
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
8
  "required": ["type", "source", "description"],
@@ -29,8 +29,8 @@
29
29
  "type": "array",
30
30
  "items": {
31
31
  "type": "string",
32
- "pattern": "^((\\.\\./)*contexts/|agents/contexts/|\\.agent-src/contexts/)[^\\s]+\\.md$",
33
- "description": "Logical name (preferred — `contexts/<area>/<file>.md`) or project-local (`agents/contexts/<file>.md`). The `.agent-src.uncompressed/` prefix is rejected by the regex; the rewriter (`scripts/compress.py::_rewrite_paths`) resolves logical names at compress time. Rewritten relative forms (`../contexts/...`, `../../contexts/...`) are accepted so the linter passes on the compressed mirror in CI."
32
+ "pattern": "^((\\.\\./)*contexts/|agents/settings/contexts/|\\.agent-src/contexts/)[^\\s]+\\.md$",
33
+ "description": "Logical name (preferred — `contexts/<area>/<file>.md`) or project-local (`agents/settings/contexts/<file>.md`). The `.agent-src.uncompressed/` prefix is rejected by the regex; the rewriter (`scripts/compress.py::_rewrite_paths`) resolves logical names at compress time. Rewritten relative forms (`../contexts/...`, `../../contexts/...`) are accepted so the linter passes on the compressed mirror in CI."
34
34
  },
35
35
  "description": "Lazy on-demand context references. Use logical names rooted at the source (e.g. `contexts/execution/foo.md`); the `.agent-src.uncompressed/` prefix is forbidden by the regex (road-to-path-fixes.md P5.3). Path rules and budget caps enforced by scripts/lint_load_context.py. Contract: docs/contracts/load-context-schema.md."
36
36
  },
@@ -38,7 +38,7 @@
38
38
  "type": "array",
39
39
  "items": {
40
40
  "type": "string",
41
- "pattern": "^((\\.\\./)*contexts/|agents/contexts/|\\.agent-src/contexts/)[^\\s]+\\.md$",
41
+ "pattern": "^((\\.\\./)*contexts/|agents/settings/contexts/|\\.agent-src/contexts/)[^\\s]+\\.md$",
42
42
  "description": "Same logical-name rule as `load_context`."
43
43
  },
44
44
  "description": "Eager auto-loaded context references. Same logical-name rule as `load_context`. Counts against the per-rule char budget; enforced by scripts/lint_load_context.py."
@@ -98,6 +98,46 @@
98
98
  }
99
99
  },
100
100
  "description": "Per-rule allowlist consumed by the post-compression validator (scripts/check_compressed_paths.py). Rules that document forbidden path substrings as their subject matter (e.g. augment-portability, no-roadmap-references) declare the literal strings here so the gate does not flag itself. road-to-path-fixes.md P5.1."
101
+ },
102
+ "workspaces": {
103
+ "type": "array",
104
+ "minItems": 1,
105
+ "uniqueItems": true,
106
+ "items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
107
+ "description": "ADR-013 workspace ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/workspaces.yml."
108
+ },
109
+ "packs": {
110
+ "type": "array",
111
+ "minItems": 1,
112
+ "uniqueItems": true,
113
+ "items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
114
+ "description": "ADR-013 pack ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/packs.yml."
115
+ },
116
+ "lifecycle": {
117
+ "type": "string",
118
+ "enum": ["active", "deprecated", "experimental", "archived"],
119
+ "description": "ADR-013 lifecycle state."
120
+ },
121
+ "trust": {
122
+ "type": "object",
123
+ "additionalProperties": false,
124
+ "required": ["level", "confidence", "human_review_required"],
125
+ "properties": {
126
+ "level": {"type": "string", "enum": ["core", "professional", "experimental", "advisory", "restricted"]},
127
+ "confidence": {"type": "string", "enum": ["high", "medium", "low"]},
128
+ "human_review_required": {"type": "boolean"}
129
+ },
130
+ "description": "ADR-013 trust block. Vocabulary mirrored by scripts/lint_artefact_frontmatter.py."
131
+ },
132
+ "install": {
133
+ "type": "object",
134
+ "additionalProperties": false,
135
+ "required": ["default", "removable"],
136
+ "properties": {
137
+ "default": {"type": "boolean"},
138
+ "removable": {"type": "boolean"}
139
+ },
140
+ "description": "ADR-013 install hints (default-on at consumer install; user-removable)."
101
141
  }
102
142
  }
103
143
  }
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://github.com/event4u-app/agent-config/scripts/schemas/skill.schema.json",
4
4
  "title": "Skill frontmatter",
5
- "$comment": "Source: agents/docs/frontmatter-contract.md#skills. Keep in sync with inventory_frontmatter.py and the linter's lint_skill().",
5
+ "$comment": "Source: agents/reference/docs/frontmatter-contract.md#skills. Keep in sync with inventory_frontmatter.py and the linter's lint_skill().",
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
8
  "required": ["name", "description", "source", "domain"],
@@ -122,6 +122,46 @@
122
122
  "items": { "type": "string" }
123
123
  }
124
124
  }
125
+ },
126
+ "workspaces": {
127
+ "type": "array",
128
+ "minItems": 1,
129
+ "uniqueItems": true,
130
+ "items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
131
+ "description": "ADR-013 workspace ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/workspaces.yml."
132
+ },
133
+ "packs": {
134
+ "type": "array",
135
+ "minItems": 1,
136
+ "uniqueItems": true,
137
+ "items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
138
+ "description": "ADR-013 pack ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/packs.yml."
139
+ },
140
+ "lifecycle": {
141
+ "type": "string",
142
+ "enum": ["active", "deprecated", "experimental", "archived"],
143
+ "description": "ADR-013 lifecycle state."
144
+ },
145
+ "trust": {
146
+ "type": "object",
147
+ "additionalProperties": false,
148
+ "required": ["level", "confidence", "human_review_required"],
149
+ "properties": {
150
+ "level": {"type": "string", "enum": ["core", "professional", "experimental", "advisory", "restricted"]},
151
+ "confidence": {"type": "string", "enum": ["high", "medium", "low"]},
152
+ "human_review_required": {"type": "boolean"}
153
+ },
154
+ "description": "ADR-013 trust block. Vocabulary mirrored by scripts/lint_artefact_frontmatter.py."
155
+ },
156
+ "install": {
157
+ "type": "object",
158
+ "additionalProperties": false,
159
+ "required": ["default", "removable"],
160
+ "properties": {
161
+ "default": {"type": "boolean"},
162
+ "removable": {"type": "boolean"}
163
+ },
164
+ "description": "ADR-013 install hints (default-on at consumer install; user-removable)."
125
165
  }
126
166
  }
127
167
  }
@@ -18,7 +18,7 @@ Predictions source:
18
18
  pure description-matching would do and provides a numeric floor.
19
19
 
20
20
  Output: human-readable summary on stdout + machine JSON to
21
- `agents/reports/skill-selection-accuracy.json` (or `--out`).
21
+ `agents/runtime/reports/skill-selection-accuracy.json` (or `--out`).
22
22
  """
23
23
 
24
24
  from __future__ import annotations
@@ -7,7 +7,7 @@ high-overlap skill pairs into clusters. The output drives the
7
7
  selection-accuracy fixture set defined by council file 05 (Round-3
8
8
  protocol — ≥ 3 shared significant terms → collision cluster).
9
9
 
10
- Output: `agents/reports/skill-collision-clusters.json`
10
+ Output: `agents/runtime/reports/skill-collision-clusters.json`
11
11
 
12
12
  Schema:
13
13
  {
@@ -403,7 +403,7 @@ def _fenced_content_ratio(text: str) -> float:
403
403
  # --- Structural-density model (docs/contracts/linter-structural-model.md) ---
404
404
  # Replaces the raw line/word/fenced-ratio gates with four primitives that
405
405
  # distinguish complexity from bloat. Calibrated 2026-05-08 against the full
406
- # 310-artefact corpus (agents/.density-snapshot.jsonl).
406
+ # 310-artefact corpus (agents/runtime/density/snapshot.jsonl).
407
407
 
408
408
  PROCEDURE_HEADING_PATTERN = re.compile(
409
409
  r"^##\s+Procedure(\s*[:\u2014\-].*)?\s*$", re.MULTILINE
@@ -2972,7 +2972,7 @@ def lint_frontmatter_schema(path: Path, text: str, artifact_type: str) -> List[I
2972
2972
  """Validate the frontmatter of an artefact against its JSON-Schema.
2973
2973
 
2974
2974
  Schemas live in ``scripts/schemas/``. One schema per artefact type;
2975
- see ``agents/docs/frontmatter-contract.md`` for the human-readable
2975
+ see ``agents/reference/docs/frontmatter-contract.md`` for the human-readable
2976
2976
  contract the schemas encode. Guidelines have no frontmatter and are
2977
2977
  skipped.
2978
2978
  """
@@ -4,7 +4,7 @@
4
4
  Implements step-2-skill-inventory-rationalization.md Phase 2 Step 2.
5
5
  Mirrors `scripts/audit_overlap.py` (the rule-side analog) but reads
6
6
  `.agent-src.uncompressed/skills/<slug>/SKILL.md` frontmatter directly
7
- and emits `agents/metrics/skill-overlap.md` listing pairs scoring
7
+ and emits `agents/runtime/metrics/skill-overlap.md` listing pairs scoring
8
8
  ≥ 0.6 on either:
9
9
 
10
10
  - description-trigger Jaccard (tokenized union of `description` +
@@ -3,7 +3,7 @@
3
3
 
4
4
  Runs D2 (`score_skill_relevance`), D3 (`audit_persona_coverage`), and
5
5
  D4 (`suggest_skill_for_task`) against the corpora in
6
- `agents/eval-corpora/block-d/` and emits a pass/fail summary per the
6
+ `agents/evidence/eval-corpora/block-d/` and emits a pass/fail summary per the
7
7
  council verdict targets:
8
8
 
9
9
  - **D2**: ≥ 85 % of corpus tasks have an `expected_top3` skill in
@@ -14,12 +14,12 @@ parses each turn for two signals:
14
14
  `.agent-src/skills/<slug>/`.
15
15
 
16
16
  Emits one JSONL record per (session, turn, slug, kind) to
17
- `agents/metrics/skill-usage.jsonl` (append-only, deduped on the
17
+ `agents/runtime/metrics/skill-usage.jsonl` (append-only, deduped on the
18
18
  (session_id, turn_idx, slug, kind) tuple).
19
19
 
20
20
  Privacy: `prompt_excerpt_hash` = SHA-256 of the first 200 chars of the
21
21
  user prompt that opened the turn. No raw user or assistant bodies are
22
- persisted. See `agents/audit-2026-05-14-north-star/skill-usage-sources.md`.
22
+ persisted. See `agents/evidence/audits/2026-05-14-north-star/skill-usage-sources.md`.
23
23
  """
24
24
  from __future__ import annotations
25
25
 
@@ -153,7 +153,7 @@ def dedup_key(rec: dict) -> tuple:
153
153
  def main() -> int:
154
154
  ap = argparse.ArgumentParser(description=__doc__.splitlines()[0])
155
155
  ap.add_argument("--project-slug", help="Override the ~/.claude/projects slug (defaults to current repo)")
156
- ap.add_argument("--out", type=Path, default=OUT, help="Output jsonl (default: agents/metrics/skill-usage.jsonl)")
156
+ ap.add_argument("--out", type=Path, default=OUT, help="Output jsonl (default: agents/runtime/metrics/skill-usage.jsonl)")
157
157
  ap.add_argument("--quiet", action="store_true", help="Suppress non-error output")
158
158
  args = ap.parse_args()
159
159
 
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env python3
2
- """Aggregate `agents/metrics/skill-usage.jsonl` into a per-skill report.
2
+ """Aggregate `agents/runtime/metrics/skill-usage.jsonl` into a per-skill report.
3
3
 
4
4
  Implements step-2-skill-inventory-rationalization.md Phase 1 Step 3.
5
- Groups records by slug; emits `agents/metrics/skill-usage-report.md`
5
+ Groups records by slug; emits `agents/runtime/metrics/skill-usage-report.md`
6
6
  with columns:
7
7
 
8
8
  slug · exposures_total · mentions_total · exposures_30d · mentions_30d
@@ -112,7 +112,7 @@ def render(per: dict[str, dict], known: set[str]) -> str:
112
112
  "# Skill Usage Report (baseline)",
113
113
  "",
114
114
  "> Generated by `scripts/skill_usage_report.py`. Source:",
115
- "> `agents/metrics/skill-usage.jsonl` (collector emits per-turn",
115
+ "> `agents/runtime/metrics/skill-usage.jsonl` (collector emits per-turn",
116
116
  "> exposure/mention records). See",
117
117
  "> [`step-2-skill-inventory-rationalization.md`](../roadmaps/step-2-skill-inventory-rationalization.md)",
118
118
  "> Phase 1.",
@@ -7,7 +7,7 @@ Verifies the 3-step Quickstart from a fresh-project perspective:
7
7
  `.agent-settings.yml` with the documented default `cost_profile`.
8
8
  2. The decision_engine block (P2.x of road-to-productization) parses
9
9
  cleanly through the same engine parser the runtime uses.
10
- 3. The work-engine state-file format (`agents/state/<id>.json`) is
10
+ 3. The work-engine state-file format (`agents/runtime/state/<id>.json`) is
11
11
  emit-ready — schema for `decision_result` matches the contract.
12
12
 
13
13
  What it does NOT do:
@@ -4,7 +4,7 @@
4
4
  Sends the refactored package-root AGENTS.md and the consumer template
5
5
  to Sonnet 4.5 + gpt-4o, asks each member to answer five questions
6
6
  that simulate a fresh agent landing on the file. Records qualitative
7
- verdicts in agents/reports/thin-root-platform-spotcheck.md.
7
+ verdicts in agents/runtime/reports/thin-root-platform-spotcheck.md.
8
8
  """
9
9
  from __future__ import annotations
10
10
 
@@ -0,0 +1,147 @@
1
+ #!/usr/bin/env python3
2
+ """Sync `.github/topics.yml` + `.github/about.yml` to the GitHub repo.
3
+
4
+ Reads two on-disk manifests and pushes them via the REST API:
5
+ * `PUT /repos/{owner}/{repo}/topics` \u2014 topics list
6
+ * `PATCH /repos/{owner}/{repo}` \u2014 description + homepage
7
+
8
+ Default mode is `--dry-run`: fetches remote state, prints a unified
9
+ diff (remote \u2192 desired), exits 0 (or 2 if drift exists when
10
+ `--strict` is passed). `--apply` is required to mutate; it also
11
+ appends an audit row to `agents/evidence/notes/visibility-sync-audit.md`.
12
+
13
+ Auth: `GITHUB_TOKEN` env var. The repo slug is taken from
14
+ `package.json` `repository.url` (parsed) or `--repo owner/name`.
15
+
16
+ Stdlib only \u2014 `urllib.request` matches the convention in
17
+ `scripts/_lib/update_check.py`.
18
+
19
+ Roadmap: agents/roadmaps/strategic-visibility-mcp-topics-positioning.md Phase 1.
20
+ """
21
+ from __future__ import annotations
22
+
23
+ import argparse
24
+ import datetime as _dt
25
+ import difflib
26
+ import json
27
+ import os
28
+ import re
29
+ import sys
30
+ import urllib.error
31
+ import urllib.request
32
+ from pathlib import Path
33
+
34
+ import yaml
35
+
36
+ ROOT = Path(__file__).resolve().parents[1]
37
+ TOPICS_FILE = ROOT / ".github" / "topics.yml"
38
+ ABOUT_FILE = ROOT / ".github" / "about.yml"
39
+ AUDIT_FILE = ROOT / "agents" / "notes" / "visibility-sync-audit.md"
40
+ API = "https://api.github.com"
41
+
42
+
43
+ def _load_yaml(path: Path) -> dict:
44
+ return yaml.safe_load(path.read_text(encoding="utf-8")) or {}
45
+
46
+
47
+ def _resolve_repo(explicit: str | None) -> str:
48
+ if explicit:
49
+ return explicit
50
+ pkg = json.loads((ROOT / "package.json").read_text(encoding="utf-8"))
51
+ url = (pkg.get("repository") or {}).get("url") or ""
52
+ m = re.search(r"github\.com[:/]+([^/]+/[^/.]+)", url)
53
+ if not m:
54
+ sys.exit("ERROR: cannot resolve owner/repo from package.json; pass --repo")
55
+ return m.group(1)
56
+
57
+
58
+ def _request(method: str, url: str, token: str, body: dict | None = None) -> dict:
59
+ data = json.dumps(body).encode("utf-8") if body is not None else None
60
+ req = urllib.request.Request(url, data=data, method=method)
61
+ req.add_header("Authorization", f"Bearer {token}")
62
+ req.add_header("Accept", "application/vnd.github+json")
63
+ req.add_header("X-GitHub-Api-Version", "2022-11-28")
64
+ req.add_header("User-Agent", "event4u-agent-config-sync")
65
+ if body is not None:
66
+ req.add_header("Content-Type", "application/json")
67
+ try:
68
+ with urllib.request.urlopen(req, timeout=20) as resp: # noqa: S310
69
+ return json.loads(resp.read() or b"{}")
70
+ except urllib.error.HTTPError as e:
71
+ sys.exit(f"ERROR: {method} {url} \u2192 HTTP {e.code}: {e.read().decode('utf-8', 'replace')[:300]}")
72
+ except urllib.error.URLError as e:
73
+ sys.exit(f"ERROR: {method} {url} \u2192 {e.reason}")
74
+
75
+
76
+ def _diff(label: str, remote, desired) -> list[str]:
77
+ a = json.dumps(remote, indent=2, sort_keys=True).splitlines()
78
+ b = json.dumps(desired, indent=2, sort_keys=True).splitlines()
79
+ return list(difflib.unified_diff(a, b, fromfile=f"remote/{label}", tofile=f"desired/{label}", lineterm=""))
80
+
81
+
82
+ def _audit(repo: str, mutations: list[str]) -> None:
83
+ AUDIT_FILE.parent.mkdir(parents=True, exist_ok=True)
84
+ if not AUDIT_FILE.exists():
85
+ AUDIT_FILE.write_text("# Visibility sync audit log\n\nAppend-only. Every `--apply` run logs one block.\n", encoding="utf-8")
86
+ ts = _dt.datetime.now(_dt.timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
87
+ block = [f"\n## {ts} \u2014 {repo}\n"]
88
+ block.extend(f"- {m}\n" for m in mutations)
89
+ with AUDIT_FILE.open("a", encoding="utf-8") as f:
90
+ f.writelines(block)
91
+
92
+
93
+ def main() -> int:
94
+ ap = argparse.ArgumentParser(description=__doc__.splitlines()[0])
95
+ ap.add_argument("--apply", action="store_true", help="actually mutate the remote (default: dry-run)")
96
+ ap.add_argument("--strict", action="store_true", help="exit 2 if drift exists (dry-run only)")
97
+ ap.add_argument("--quiet", action="store_true")
98
+ ap.add_argument("--repo", help="owner/name (default: parsed from package.json)")
99
+ args = ap.parse_args()
100
+
101
+ repo = _resolve_repo(args.repo)
102
+ token = os.environ.get("GITHUB_TOKEN")
103
+ if not token:
104
+ sys.exit("ERROR: GITHUB_TOKEN not set")
105
+
106
+ topics_doc = _load_yaml(TOPICS_FILE)
107
+ about_doc = _load_yaml(ABOUT_FILE)
108
+ desired_topics = sorted(topics_doc.get("topics") or [])
109
+ desired_about = {"description": about_doc.get("description", ""), "homepage": about_doc.get("homepage", "")}
110
+
111
+ remote_topics = sorted((_request("GET", f"{API}/repos/{repo}/topics", token).get("names") or []))
112
+ repo_payload = _request("GET", f"{API}/repos/{repo}", token)
113
+ remote_about = {"description": repo_payload.get("description") or "", "homepage": repo_payload.get("homepage") or ""}
114
+
115
+ topic_diff = _diff("topics", remote_topics, desired_topics)
116
+ about_diff = _diff("about", remote_about, desired_about)
117
+ has_drift = bool(topic_diff or about_diff)
118
+
119
+ if not args.quiet:
120
+ if topic_diff:
121
+ print("\n".join(topic_diff))
122
+ if about_diff:
123
+ print("\n".join(about_diff))
124
+ if not has_drift:
125
+ print(f"\u2705 {repo}: topics + about already in sync")
126
+
127
+ if not args.apply:
128
+ return 2 if (has_drift and args.strict) else 0
129
+
130
+ mutations: list[str] = []
131
+ if topic_diff:
132
+ _request("PUT", f"{API}/repos/{repo}/topics", token, {"names": desired_topics})
133
+ mutations.append(f"topics \u2192 {desired_topics}")
134
+ if about_diff:
135
+ _request("PATCH", f"{API}/repos/{repo}", token, desired_about)
136
+ mutations.append(f"about \u2192 {desired_about}")
137
+ if mutations:
138
+ _audit(repo, mutations)
139
+ if not args.quiet:
140
+ print(f"\u2705 {repo}: applied {len(mutations)} mutation(s); audit appended")
141
+ elif not args.quiet:
142
+ print(f"\u2705 {repo}: nothing to apply")
143
+ return 0
144
+
145
+
146
+ if __name__ == "__main__":
147
+ raise SystemExit(main())
@@ -41,17 +41,27 @@ DEFAULT_GITIGNORE = ".gitignore"
41
41
  DEFAULT_TEMPLATE = Path(__file__).resolve().parent.parent / "config" / "gitignore-block.txt"
42
42
 
43
43
  # Legacy patterns that lived in older versions of config/gitignore-block.txt
44
- # before runtime artefacts moved under /agents/ (May 2026). They get stripped
45
- # wherever they appear in the consumer's .gitignore — inside the managed block
46
- # or outside (older installers / hand-edits). Current canonical equivalents
47
- # (e.g. /agents/.agent-chat-history) come from the template and are NOT
48
- # affected. Leading-slash variants are matched defensively.
44
+ # before runtime artefacts moved under /agents/runtime/ (May 2026). They get
45
+ # stripped wherever they appear in the consumer's .gitignore — inside the
46
+ # managed block or outside (older installers / hand-edits). Current canonical
47
+ # equivalents (e.g. /agents/runtime/.agent-prices.md) come from the template
48
+ # and are NOT affected. Leading-slash variants are matched defensively.
49
49
  LEGACY_PATTERNS: tuple[str, ...] = (
50
50
  ".agent-chat-history",
51
51
  ".agent-chat-history.bak",
52
52
  ".agent-chat-history.*.bak",
53
53
  ".agent-prices.md",
54
54
  ".council-tmp/",
55
+ # 2.x intermediate: prices cache lived directly under agents/ before
56
+ # consolidating under agents/runtime/.
57
+ "agents/.agent-prices.md",
58
+ # Budget history JSONLs — previously listed explicitly at project
59
+ # root or under agents/; now covered by the /agents/runtime/
60
+ # catch-all in the managed block.
61
+ ".augment-budget-history.jsonl",
62
+ ".rule-budget-history.jsonl",
63
+ "agents/.augment-budget-history.jsonl",
64
+ "agents/.rule-budget-history.jsonl",
55
65
  )
56
66
 
57
67
 
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env python3
2
- """Refresh `agents/.agent-prices.md` from the LiteLLM model-prices feed.
2
+ """Refresh `agents/runtime/.agent-prices.md` from the LiteLLM model-prices feed.
3
3
 
4
4
  Source: https://raw.githubusercontent.com/BerriAI/litellm/main/
5
5
  model_prices_and_context_window.json
@@ -9,7 +9,7 @@ Network failure or invalid response → fall back to
9
9
  always written. Stdlib only; no extra dependency.
10
10
 
11
11
  Usage:
12
- python3 scripts/update_prices.py # writes agents/.agent-prices.md
12
+ python3 scripts/update_prices.py # writes agents/runtime/.agent-prices.md
13
13
  python3 scripts/update_prices.py --check # exit 1 if file is stale
14
14
  """
15
15
 
@@ -81,7 +81,8 @@ def _to_rows_from_litellm(payload: dict[str, dict[str, object]]) -> list[tuple[s
81
81
 
82
82
 
83
83
  def refresh(path: Path = PRICES_FILE) -> str:
84
- """Write a fresh `agents/.agent-prices.md`. Returns the source label used."""
84
+ """Write a fresh `agents/runtime/.agent-prices.md`. Returns the source label used."""
85
+ path.parent.mkdir(parents=True, exist_ok=True)
85
86
  payload = _fetch_litellm()
86
87
  if payload is not None:
87
88
  rows = _to_rows_from_litellm(payload)
@@ -11,7 +11,7 @@ Wired to multiple events via the manifest:
11
11
  - post_tool_use → inspect tool + command, record verifications
12
12
  - stop → record stop fired (claim-done window)
13
13
 
14
- Output: `agents/state/verify-before-complete.json`
14
+ Output: `agents/runtime/state/verify-before-complete.json`
15
15
  {
16
16
  "schema_version": 1,
17
17
  "session_id": "<str>",
@@ -219,7 +219,7 @@ def verify_concept(name: str) -> bool:
219
219
  try:
220
220
  r = subprocess.run(
221
221
  ["git", "grep", "-l", "-w", name, "--",
222
- ".agent-src.uncompressed/", "docs/", "scripts/", "agents/contexts/"],
222
+ ".agent-src.uncompressed/", "docs/", "scripts/", "agents/settings/contexts/"],
223
223
  cwd=REPO, capture_output=True, text=True, timeout=15,
224
224
  )
225
225
  return bool(r.stdout.strip())