@event4u/agent-config 9.9.0 → 9.11.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 (479) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +212 -194
  3. package/README.md +13 -16
  4. package/agents/templates/.ai-council.yml.example +481 -0
  5. package/agents/templates/.ai-video.xml.example +247 -0
  6. package/dist/agent-src/commands/agent-status.md +12 -11
  7. package/dist/agent-src/commands/agents/user/accept.md +115 -30
  8. package/dist/agent-src/commands/agents/user/delete.md +147 -0
  9. package/dist/agent-src/commands/agents/user/review.md +65 -28
  10. package/dist/agent-src/commands/agents/user/show.md +82 -29
  11. package/dist/agent-src/commands/agents/user/update.md +2 -2
  12. package/dist/agent-src/commands/agents/user.md +16 -3
  13. package/dist/agent-src/commands/check-current-md.md +0 -10
  14. package/dist/agent-src/commands/condense.md +28 -97
  15. package/dist/agent-src/commands/cost/report.md +7 -0
  16. package/dist/agent-src/commands/fix/portability.md +0 -8
  17. package/dist/agent-src/commands/fix/refs.md +0 -8
  18. package/dist/agent-src/commands/humanize.md +2 -2
  19. package/dist/agent-src/commands/jira-ticket.md +1 -1
  20. package/dist/agent-src/commands/memory/load.md +11 -0
  21. package/dist/agent-src/commands/optimize/skills.md +1 -1
  22. package/dist/agent-src/commands/pr/create.md +4 -4
  23. package/dist/agent-src/commands/profile/show.md +3 -3
  24. package/dist/agent-src/commands/rule-compliance-audit.md +5 -4
  25. package/dist/agent-src/commands/security-audit-config.md +1 -1
  26. package/dist/agent-src/commands/sync/gitignore/fix.md +1 -1
  27. package/dist/agent-src/commands/tdd.md +21 -0
  28. package/dist/agent-src/commands/team/delegate.md +2 -2
  29. package/dist/agent-src/commands/team-knowledge/bootstrap.md +9 -8
  30. package/dist/agent-src/commands/team-knowledge/consolidate.md +8 -7
  31. package/dist/agent-src/commands/team.md +4 -1
  32. package/dist/agent-src/commands/upstream-contribute.md +0 -1
  33. package/dist/agent-src/contexts/authority/commit-mechanics.md +7 -0
  34. package/dist/agent-src/contexts/authority/destructive-mechanics.md +16 -0
  35. package/dist/agent-src/contexts/authority/scope-mechanics.md +61 -0
  36. package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +20 -18
  37. package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
  38. package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +1 -1
  39. package/dist/agent-src/contexts/communication/rules-auto/source-of-truth-mechanics.md +9 -10
  40. package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +1 -1
  41. package/dist/agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +11 -0
  42. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +26 -15
  43. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +3 -0
  44. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +67 -37
  45. package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +1 -1
  46. package/dist/agent-src/contexts/execution/autonomy-examples.md +1 -1
  47. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +7 -6
  48. package/dist/agent-src/contexts/execution/evidence-discipline.md +92 -77
  49. package/dist/agent-src/contexts/execution/orchestration-benchmark-gate.md +22 -21
  50. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +24 -0
  51. package/dist/agent-src/contexts/execution/project-intelligence.md +122 -103
  52. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +23 -21
  53. package/dist/agent-src/contexts/execution/subagent-response-contract.md +5 -5
  54. package/dist/agent-src/contexts/execution/subagent-routing.md +11 -0
  55. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +13 -13
  56. package/dist/agent-src/contexts/execution/subagent-steering.md +36 -34
  57. package/dist/agent-src/contexts/execution/toolchain-resolver.md +1 -1
  58. package/dist/agent-src/contexts/execution/user-memory-channels.md +189 -0
  59. package/dist/agent-src/contexts/execution/verification-mechanics.md +9 -0
  60. package/dist/agent-src/contexts/model-recommendations.md +3 -2
  61. package/dist/agent-src/contexts/subagent-configuration.md +3 -3
  62. package/dist/agent-src/ghostwriter/README.md +2 -2
  63. package/dist/agent-src/packs/README.md +1 -1
  64. package/dist/agent-src/personas/README.md +5 -5
  65. package/dist/agent-src/personas/_template-specialist/persona.md +3 -3
  66. package/dist/agent-src/personas/backend-architect.md +24 -23
  67. package/dist/agent-src/personas/eloquent-tamer.md +30 -30
  68. package/dist/agent-src/personas/frontend-engineer.md +30 -30
  69. package/dist/agent-src/personas/product-owner.md +41 -38
  70. package/dist/agent-src/personas/qa.md +13 -13
  71. package/dist/agent-src/personas/security-engineer.md +22 -22
  72. package/dist/agent-src/presets/README.md +3 -3
  73. package/dist/agent-src/profiles/README.md +3 -3
  74. package/dist/agent-src/rules/active-remediation.md +2 -2
  75. package/dist/agent-src/rules/artifact-engagement-recording.md +4 -4
  76. package/dist/agent-src/rules/ask-when-uncertain.md +0 -4
  77. package/dist/agent-src/rules/augment-edit-discipline.md +1 -1
  78. package/dist/agent-src/rules/broken-access-control.md +4 -4
  79. package/dist/agent-src/rules/code-comment-discipline.md +1 -1
  80. package/dist/agent-src/rules/code-provenance.md +2 -2
  81. package/dist/agent-src/rules/commit-policy.md +4 -9
  82. package/dist/agent-src/rules/communication-through-line.md +5 -5
  83. package/dist/agent-src/rules/decision-revisit-gate.md +1 -1
  84. package/dist/agent-src/rules/design-fidelity.md +1 -1
  85. package/dist/agent-src/rules/doc-screenshot-hygiene.md +1 -1
  86. package/dist/agent-src/rules/domain-adoption-policy.md +1 -1
  87. package/dist/agent-src/rules/domain-safety-pii.md +1 -1
  88. package/dist/agent-src/rules/external-code-graph-interop.md +1 -1
  89. package/dist/agent-src/rules/fast-path-marker-visibility.md +43 -7
  90. package/dist/agent-src/rules/finance-safety-floor.md +1 -1
  91. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -3
  92. package/dist/agent-src/rules/history-discipline.md +1 -1
  93. package/dist/agent-src/rules/legal-safety-floor.md +1 -1
  94. package/dist/agent-src/rules/lethal-trifecta-guard.md +5 -5
  95. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +10 -8
  96. package/dist/agent-src/rules/media-governance-routing.md +13 -13
  97. package/dist/agent-src/rules/media-sync-ground-truth.md +29 -11
  98. package/dist/agent-src/rules/no-cheap-questions.md +7 -7
  99. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +29 -18
  100. package/dist/agent-src/rules/non-destructive-by-default.md +5 -23
  101. package/dist/agent-src/rules/onboarding-gate.md +14 -4
  102. package/dist/agent-src/rules/persona-governance.md +2 -2
  103. package/dist/agent-src/rules/prefer-enums-over-literals.md +9 -9
  104. package/dist/agent-src/rules/preservation-guard.md +10 -2
  105. package/dist/agent-src/rules/question-not-instruction.md +1 -1
  106. package/dist/agent-src/rules/roadmap-progress-sync.md +6 -6
  107. package/dist/agent-src/rules/rule-type-governance.md +1 -1
  108. package/dist/agent-src/rules/scale-discipline.md +1 -1
  109. package/dist/agent-src/rules/scope-control.md +1 -1
  110. package/dist/agent-src/rules/secret-vcs-guard.md +1 -1
  111. package/dist/agent-src/rules/security-sensitive-stop.md +17 -11
  112. package/dist/agent-src/rules/senior-engineering-discipline.md +17 -17
  113. package/dist/agent-src/rules/session-canary.md +1 -1
  114. package/dist/agent-src/rules/skill-quality.md +1 -1
  115. package/dist/agent-src/rules/source-confidentiality.md +21 -19
  116. package/dist/agent-src/rules/source-of-truth.md +6 -5
  117. package/dist/agent-src/rules/spreadsheet-source-quality.md +2 -2
  118. package/dist/agent-src/rules/strategy-safety-floor.md +1 -1
  119. package/dist/agent-src/rules/think-before-action.md +5 -5
  120. package/dist/agent-src/rules/token-budget-discipline.md +5 -3
  121. package/dist/agent-src/rules/token-efficiency.md +2 -2
  122. package/dist/agent-src/rules/untrusted-input-defense.md +4 -4
  123. package/dist/agent-src/rules/user-interaction.md +12 -0
  124. package/dist/agent-src/rules/verify-before-complete.md +4 -24
  125. package/dist/agent-src/skills/adversarial-review/SKILL.md +2 -2
  126. package/dist/agent-src/skills/agent-security-review/SKILL.md +52 -45
  127. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
  128. package/dist/agent-src/skills/ai-code-blindspots/SKILL.md +20 -20
  129. package/dist/agent-src/skills/ai-council/SKILL.md +185 -128
  130. package/dist/agent-src/skills/analysis-skill-router/SKILL.md +3 -3
  131. package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -2
  132. package/dist/agent-src/skills/artisan-commands/SKILL.md +2 -2
  133. package/dist/agent-src/skills/async-python-patterns/SKILL.md +8 -7
  134. package/dist/agent-src/skills/authz-review/SKILL.md +16 -15
  135. package/dist/agent-src/skills/aws-infrastructure/SKILL.md +5 -5
  136. package/dist/agent-src/skills/blade-ui/SKILL.md +1 -1
  137. package/dist/agent-src/skills/bug-analyzer/SKILL.md +30 -12
  138. package/dist/agent-src/skills/code-intelligence/SKILL.md +0 -1
  139. package/dist/agent-src/skills/code-intelligence/evals/triggers.json +52 -0
  140. package/dist/agent-src/skills/code-review/SKILL.md +6 -6
  141. package/dist/agent-src/skills/command-routing/SKILL.md +5 -4
  142. package/dist/agent-src/skills/composer-packages/SKILL.md +2 -2
  143. package/dist/agent-src/skills/condense-memory/SKILL.md +43 -41
  144. package/dist/agent-src/skills/context-document/SKILL.md +23 -21
  145. package/dist/agent-src/skills/copilot-config/SKILL.md +6 -1
  146. package/dist/agent-src/skills/decision-record/SKILL.md +20 -18
  147. package/dist/agent-src/skills/design-intelligence/SKILL.md +4 -4
  148. package/dist/agent-src/skills/design-review/SKILL.md +15 -14
  149. package/dist/agent-src/skills/design-system-capture/reference/design-system-json.md +28 -25
  150. package/dist/agent-src/skills/devcontainer/SKILL.md +2 -2
  151. package/dist/agent-src/skills/docker/SKILL.md +1 -1
  152. package/dist/agent-src/skills/docx-authoring/evals/triggers.json +52 -0
  153. package/dist/agent-src/skills/emit-tickets/SKILL.md +2 -2
  154. package/dist/agent-src/skills/error-handling-patterns/SKILL.md +1 -1
  155. package/dist/agent-src/skills/estimate-ticket/SKILL.md +2 -2
  156. package/dist/agent-src/skills/evaluate-llm-feature/SKILL.md +0 -1
  157. package/dist/agent-src/skills/evaluate-llm-feature/evals/triggers.json +52 -0
  158. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +21 -7
  159. package/dist/agent-src/skills/fe-design/SKILL.md +10 -0
  160. package/dist/agent-src/skills/feature-planning/SKILL.md +2 -2
  161. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +3 -3
  162. package/dist/agent-src/skills/flux/SKILL.md +1 -1
  163. package/dist/agent-src/skills/frontend-render-security/SKILL.md +13 -13
  164. package/dist/agent-src/skills/git-workflow/SKILL.md +33 -33
  165. package/dist/agent-src/skills/grafana/SKILL.md +5 -0
  166. package/dist/agent-src/skills/humanizer/SKILL.md +83 -66
  167. package/dist/agent-src/skills/humanizer/data/patterns.md +14 -14
  168. package/dist/agent-src/skills/humanizer/references/anti-aiisms.md +4 -4
  169. package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +82 -37
  170. package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +17 -5
  171. package/dist/agent-src/skills/judge-injection-defense/SKILL.md +63 -25
  172. package/dist/agent-src/skills/judge-security-auditor/SKILL.md +2 -0
  173. package/dist/agent-src/skills/judge-synthesis/SKILL.md +72 -28
  174. package/dist/agent-src/skills/laravel-horizon/SKILL.md +5 -0
  175. package/dist/agent-src/skills/laravel-mail/SKILL.md +5 -4
  176. package/dist/agent-src/skills/laravel-middleware/SKILL.md +5 -4
  177. package/dist/agent-src/skills/laravel-notifications/SKILL.md +10 -9
  178. package/dist/agent-src/skills/laravel-pennant/SKILL.md +1 -1
  179. package/dist/agent-src/skills/laravel-pulse/SKILL.md +9 -8
  180. package/dist/agent-src/skills/laravel-reverb/SKILL.md +6 -5
  181. package/dist/agent-src/skills/laravel-scheduling/SKILL.md +6 -1
  182. package/dist/agent-src/skills/laravel-validation/SKILL.md +12 -0
  183. package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
  184. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +7 -7
  185. package/dist/agent-src/skills/learning-tutor/SKILL.md +44 -43
  186. package/dist/agent-src/skills/learning-tutor/evals/triggers.json +52 -0
  187. package/dist/agent-src/skills/license-compliance-audit/SKILL.md +7 -7
  188. package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +3 -3
  189. package/dist/agent-src/skills/license-compliance-credits/SKILL.md +4 -4
  190. package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +0 -1
  191. package/dist/agent-src/skills/memory-consolidation/SKILL.md +69 -64
  192. package/dist/agent-src/skills/motion-choreographer/SKILL.md +6 -6
  193. package/dist/agent-src/skills/pdf-tools/evals/triggers.json +52 -0
  194. package/dist/agent-src/skills/performance-analysis/SKILL.md +7 -3
  195. package/dist/agent-src/skills/persona-improvement/SKILL.md +0 -2
  196. package/dist/agent-src/skills/persona-improvement/evals/triggers.json +52 -0
  197. package/dist/agent-src/skills/php-coder/SKILL.md +10 -0
  198. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +129 -120
  199. package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +36 -35
  200. package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +45 -41
  201. package/dist/agent-src/skills/project-analysis-core/SKILL.md +4 -4
  202. package/dist/agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
  203. package/dist/agent-src/skills/project-analysis-react/SKILL.md +1 -1
  204. package/dist/agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
  205. package/dist/agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
  206. package/dist/agent-src/skills/prompt-engineering-patterns/SKILL.md +1 -1
  207. package/dist/agent-src/skills/prompt-validator/SKILL.md +39 -39
  208. package/dist/agent-src/skills/quality-tools/SKILL.md +15 -15
  209. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +55 -19
  210. package/dist/agent-src/skills/react-shadcn-ui/reference/registry.md +29 -27
  211. package/dist/agent-src/skills/readme-writing-package/SKILL.md +2 -2
  212. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +25 -25
  213. package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -5
  214. package/dist/agent-src/skills/refine-prompt/SKILL.md +1 -1
  215. package/dist/agent-src/skills/refine-ticket/SKILL.md +20 -2
  216. package/dist/agent-src/skills/repomix-packer/SKILL.md +1 -1
  217. package/dist/agent-src/skills/requesting-code-review/SKILL.md +2 -2
  218. package/dist/agent-src/skills/roadmap-management/SKILL.md +80 -66
  219. package/dist/agent-src/skills/roadmap-writing/SKILL.md +84 -77
  220. package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
  221. package/dist/agent-src/skills/screenshot-hygiene/evals/triggers.json +52 -0
  222. package/dist/agent-src/skills/security-audit/SKILL.md +26 -9
  223. package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +38 -16
  224. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +14 -11
  225. package/dist/agent-src/skills/skill-writing/SKILL.md +9 -8
  226. package/dist/agent-src/skills/song-to-script/SKILL.md +93 -85
  227. package/dist/agent-src/skills/sql-writing/SKILL.md +2 -2
  228. package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +4 -3
  229. package/dist/agent-src/skills/standards-from-config/SKILL.md +61 -43
  230. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +22 -8
  231. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +28 -2
  232. package/dist/agent-src/skills/supply-chain-intake/SKILL.md +13 -13
  233. package/dist/agent-src/skills/systematic-debugging/SKILL.md +22 -21
  234. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +1 -1
  235. package/dist/agent-src/skills/technical-specification/SKILL.md +5 -0
  236. package/dist/agent-src/skills/terraform/SKILL.md +2 -2
  237. package/dist/agent-src/skills/terragrunt/SKILL.md +8 -8
  238. package/dist/agent-src/skills/testing-anti-patterns/process-anti-patterns.md +1 -1
  239. package/dist/agent-src/skills/threat-modeling/SKILL.md +19 -13
  240. package/dist/agent-src/skills/universal-project-analysis/SKILL.md +1 -1
  241. package/dist/agent-src/skills/upstream-contribute/SKILL.md +0 -1
  242. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +9 -9
  243. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +3 -1
  244. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +4 -6
  245. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +67 -61
  246. package/dist/agent-src/skills/video-director/SKILL.md +7 -7
  247. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +3 -3
  248. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  249. package/dist/agent-src/templates/contexts/knowledge-pages.md +47 -45
  250. package/dist/agent-src/templates/contexts/lesson-card.md +2 -2
  251. package/dist/agent-src/templates/contexts/tenant-boundaries.md +2 -2
  252. package/dist/agent-src/templates/contexts.md +1 -1
  253. package/dist/agent-src/templates/features.md +1 -1
  254. package/dist/agent-src/templates/roadmaps.md +125 -116
  255. package/dist/agent-src/templates/rule.md +2 -1
  256. package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  257. package/dist/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
  258. package/dist/agent-src/templates/scripts/tier_usage_report.ts +2 -2
  259. package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +30 -30
  260. package/dist/agent-src/templates/scripts/work_engine/directives/ui/design.ts +88 -33
  261. package/dist/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +22 -2
  262. package/dist/agent-src/templates/scripts/work_engine/directives/ui/review.ts +21 -2
  263. package/dist/agent-src/templates/scripts/work_engine/directives/ui/stack_bundles.ts +179 -0
  264. package/dist/agent-src/templates/scripts/work_engine/stack/detect.ts +155 -4
  265. package/dist/agent-src/templates/scripts/work_engine/state.ts +21 -4
  266. package/dist/agent-src/user-types/README.md +8 -8
  267. package/dist/agent-src/user-types/galabau-field-crew.md +34 -33
  268. package/dist/agent-src/user-types/metalworking-shop.md +35 -34
  269. package/dist/agent-src/user-types/truck-driver.md +22 -20
  270. package/dist/cli/initRouting.js +74 -11
  271. package/dist/cli/initRouting.js.map +1 -1
  272. package/dist/cli/main.js +14 -3
  273. package/dist/cli/main.js.map +1 -1
  274. package/dist/cli/python/workspace_roles.js +2 -2
  275. package/dist/cli/python/workspace_roles.js.map +1 -1
  276. package/dist/cli-delegate/chunk-4SV3XGFA.js +6910 -0
  277. package/dist/cli-delegate/chunk-736JCWLM.js +1104 -0
  278. package/dist/cli-delegate/chunk-7DSAMZFU.js +356 -0
  279. package/dist/cli-delegate/chunk-7HQ52DHU.js +74 -0
  280. package/dist/cli-delegate/chunk-BJGXZNPM.js +266 -0
  281. package/dist/cli-delegate/chunk-FTAISGDQ.js +117 -0
  282. package/dist/cli-delegate/chunk-GME3Q44L.js +82 -0
  283. package/dist/cli-delegate/chunk-GRRPEPRN.js +336 -0
  284. package/dist/cli-delegate/chunk-HJ6DAJHR.js +502 -0
  285. package/dist/cli-delegate/chunk-IR7P7JWA.js +872 -0
  286. package/dist/cli-delegate/chunk-J55WI3RR.js +47 -0
  287. package/dist/cli-delegate/chunk-MCJYCQPF.js +35 -0
  288. package/dist/cli-delegate/chunk-NDJLNC6Q.js +169 -0
  289. package/dist/cli-delegate/chunk-OMIVVCG2.js +26 -0
  290. package/dist/cli-delegate/chunk-OY53J6II.js +7336 -0
  291. package/dist/cli-delegate/chunk-RDGRHAAB.js +259 -0
  292. package/dist/cli-delegate/chunk-TFG57JJM.js +1969 -0
  293. package/dist/cli-delegate/chunk-XX6TOPD7.js +715 -0
  294. package/dist/cli-delegate/chunk-YMFO6FDN.js +10603 -0
  295. package/dist/cli-delegate/cmd_analyze_session.js +294 -0
  296. package/dist/cli-delegate/cmd_conformance.js +646 -0
  297. package/dist/cli-delegate/cmd_converge.js +326 -0
  298. package/dist/cli-delegate/cmd_doctor.js +144 -0
  299. package/dist/cli-delegate/cmd_explain.js +2508 -0
  300. package/dist/cli-delegate/cmd_export.js +296 -0
  301. package/dist/cli-delegate/cmd_fleet.js +332 -0
  302. package/dist/cli-delegate/cmd_memory_get.js +3878 -0
  303. package/dist/cli-delegate/cmd_migrate.js +11 -0
  304. package/dist/cli-delegate/cmd_preflight.js +270 -0
  305. package/dist/cli-delegate/cmd_prune.js +444 -0
  306. package/dist/cli-delegate/cmd_refresh.js +28 -0
  307. package/dist/cli-delegate/cmd_settings_check.js +574 -0
  308. package/dist/cli-delegate/cmd_settings_migrate.js +223 -0
  309. package/dist/cli-delegate/cmd_sync.js +264 -0
  310. package/dist/cli-delegate/cmd_uninstall.js +656 -0
  311. package/dist/cli-delegate/cmd_update.js +425 -0
  312. package/dist/cli-delegate/cmd_upgrade.js +444 -0
  313. package/dist/cli-delegate/cmd_validate.js +305 -0
  314. package/dist/cli-delegate/cmd_versions.js +370 -0
  315. package/dist/discovery/deprecation-report.md +1 -1
  316. package/dist/discovery/discovery-manifest.json +100 -67
  317. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  318. package/dist/discovery/discovery-manifest.summary.md +4 -4
  319. package/dist/discovery/orphan-report.md +1 -1
  320. package/dist/discovery/packs.json +16 -10
  321. package/dist/discovery/trust-report.md +2 -2
  322. package/dist/discovery/workspaces.json +7 -5
  323. package/dist/hooks/dispatch.js +186 -12
  324. package/dist/install/emit_host_rules_cli.js +2 -1
  325. package/dist/install/emit_host_rules_cli.js.map +1 -1
  326. package/dist/install/install.mjs +418 -378
  327. package/dist/install/rule_scope.js +5 -1
  328. package/dist/install/rule_scope.js.map +1 -1
  329. package/dist/install/toolDetection.js +40 -12
  330. package/dist/install/toolDetection.js.map +1 -1
  331. package/dist/install/wizard-plan.js +2 -2
  332. package/dist/install/wizard-plan.js.map +1 -1
  333. package/dist/mcp/registry-manifest.json +3 -3
  334. package/dist/mcp/server.json +2 -2
  335. package/dist/mcp/server.mjs +2194 -1003
  336. package/dist/router.json +1 -1
  337. package/dist/scripts/_lib/compile_time_toggles.js +48 -0
  338. package/dist/scripts/_lib/compile_time_toggles.js.map +1 -0
  339. package/dist/scripts/condense.js +234 -217
  340. package/dist/scripts/condense.js.map +1 -1
  341. package/dist/server/schemas/settings.js +4 -0
  342. package/dist/server/schemas/settings.js.map +1 -1
  343. package/dist/shared/userMd/utils.js +30 -0
  344. package/dist/shared/userMd/utils.js.map +1 -1
  345. package/dist/ui/assets/index-BpSQt5vm.js.map +1 -1
  346. package/docs/guidelines/agent-infra/api-cost-levers.md +56 -5
  347. package/docs/guidelines/agent-infra/simplicity-and-goal-demos.md +93 -33
  348. package/package.json +4 -2
  349. package/src/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  350. package/src/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
  351. package/src/agent-src/templates/scripts/tier_usage_report.ts +2 -2
  352. package/src/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +30 -30
  353. package/src/agent-src/templates/scripts/work_engine/directives/ui/design.ts +88 -33
  354. package/src/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +22 -2
  355. package/src/agent-src/templates/scripts/work_engine/directives/ui/review.ts +21 -2
  356. package/src/agent-src/templates/scripts/work_engine/directives/ui/stack_bundles.ts +179 -0
  357. package/src/agent-src/templates/scripts/work_engine/stack/detect.ts +155 -4
  358. package/src/agent-src/templates/scripts/work_engine/state.ts +21 -4
  359. package/src/config/agent-settings.template.yml +32 -2
  360. package/src/config/ci-local-parity.yml +142 -0
  361. package/src/config/discovery/packs.yml +7 -0
  362. package/src/config/evaluator-budgets.json +1 -1
  363. package/src/config/gate-coverage.yml +127 -0
  364. package/src/config/pack-size-budget.json +27 -0
  365. package/src/config/preamble-payload-budget.json +44 -0
  366. package/src/install/emit_host_rules_cli.ts +2 -1
  367. package/src/install/rule_scope.ts +5 -1
  368. package/src/install/toolDetection.ts +39 -8
  369. package/src/install/wizard-plan.ts +2 -2
  370. package/src/scripts/_cli/cmd_conformance.ts +2 -1
  371. package/src/scripts/_cli/cmd_converge.ts +2 -1
  372. package/src/scripts/_cli/cmd_doctor.ts +292 -15
  373. package/src/scripts/_cli/cmd_export.ts +2 -1
  374. package/src/scripts/_cli/cmd_fleet.ts +2 -1
  375. package/src/scripts/_cli/cmd_migrate.ts +2 -1
  376. package/src/scripts/_cli/cmd_preflight.ts +2 -1
  377. package/src/scripts/_cli/cmd_refresh.ts +2 -1
  378. package/src/scripts/_cli/cmd_update.ts +2 -1
  379. package/src/scripts/_cli/cmd_upgrade.ts +2 -1
  380. package/src/scripts/_cli/cmd_versions.ts +2 -1
  381. package/src/scripts/_cli/detection_report.ts +480 -0
  382. package/src/scripts/_dispatch.bash +52 -14
  383. package/src/scripts/_lib/agent_user_profile.ts +381 -0
  384. package/src/scripts/_lib/agents_overlay.ts +9 -0
  385. package/src/scripts/_lib/anchor_eval.ts +311 -0
  386. package/src/scripts/_lib/cc_transcript.ts +316 -0
  387. package/src/scripts/_lib/changelog_eras.ts +103 -9
  388. package/src/scripts/_lib/compile_time_toggles.ts +79 -0
  389. package/src/scripts/_lib/confusables.ts +101 -0
  390. package/src/scripts/_lib/duplicate_scope_census.ts +77 -0
  391. package/src/scripts/_lib/environment_detector.ts +441 -0
  392. package/src/scripts/_lib/managed_agents_folder.ts +181 -0
  393. package/src/scripts/_lib/package_root.ts +72 -0
  394. package/src/scripts/_lib/payload_hash_drift.ts +126 -0
  395. package/src/scripts/_lib/preservation_migration.ts +291 -0
  396. package/src/scripts/_lib/retrieval_sanitize.ts +166 -2
  397. package/src/scripts/_lib/scan_scope.ts +115 -0
  398. package/src/scripts/_lib/user_global_memory_audit.ts +187 -0
  399. package/src/scripts/_lib/user_global_observations.ts +830 -0
  400. package/src/scripts/_lib/user_global_revocations.ts +110 -0
  401. package/src/scripts/_lib/user_memory_gate_counters.ts +291 -0
  402. package/src/scripts/ai_council/blind_review.ts +0 -0
  403. package/src/scripts/ai_council/budget_guard.ts +90 -11
  404. package/src/scripts/ai_council/bundler.ts +2 -2
  405. package/src/scripts/ai_council/clients.ts +59 -3
  406. package/src/scripts/ai_council/config.ts +53 -7
  407. package/src/scripts/ai_council/modes.ts +68 -2
  408. package/src/scripts/ai_council/orchestrator.ts +54 -9
  409. package/src/scripts/ai_council/transport_resolver.ts +331 -0
  410. package/src/scripts/ai_team/team_dispatch.ts +17 -6
  411. package/src/scripts/anchor_eval_falsify.ts +198 -0
  412. package/src/scripts/anchor_scoring_run.ts +239 -0
  413. package/src/scripts/annotate_discovery.ts +1 -65
  414. package/src/scripts/bench_quality_run.ts +168 -4
  415. package/src/scripts/cache_realization_report.ts +782 -0
  416. package/src/scripts/check_artefact_count_messaging.ts +5 -1
  417. package/src/scripts/check_augment_description_cap.ts +15 -4
  418. package/src/scripts/check_bundle_path_leakage.ts +10 -4
  419. package/src/scripts/check_ci_local_parity.ts +317 -0
  420. package/src/scripts/check_condensation.ts +96 -191
  421. package/src/scripts/check_context_paths.ts +38 -9
  422. package/src/scripts/check_dependency_floors.ts +153 -0
  423. package/src/scripts/check_gate_coverage.ts +299 -0
  424. package/src/scripts/check_iron_law_prominence.ts +22 -1
  425. package/src/scripts/check_kernel_prefix_stability.ts +0 -0
  426. package/src/scripts/check_no_new_legacy_path.ts +16 -6
  427. package/src/scripts/check_no_roadmap_refs.ts +22 -9
  428. package/src/scripts/check_originality_freshness.ts +167 -0
  429. package/src/scripts/check_pack_size.ts +188 -0
  430. package/src/scripts/check_preamble_payload_budget.ts +130 -0
  431. package/src/scripts/check_proposal.ts +0 -0
  432. package/src/scripts/check_references.ts +0 -1
  433. package/src/scripts/check_safety_floor_untouched.ts +171 -24
  434. package/src/scripts/check_site_links.ts +62 -3
  435. package/src/scripts/ci_status.ts +0 -0
  436. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  437. package/src/scripts/code_graph/build.ts +0 -0
  438. package/src/scripts/command_suggester/types.ts +0 -0
  439. package/src/scripts/compile_router.ts +10 -14
  440. package/src/scripts/condense.sh +3 -4
  441. package/src/scripts/condense.ts +247 -228
  442. package/src/scripts/cost/track.mjs +168 -33
  443. package/src/scripts/cost_summary.ts +33 -1
  444. package/src/scripts/council_cli.ts +51 -5
  445. package/src/scripts/discovery_graph.ts +0 -0
  446. package/src/scripts/encoding_corpus.ts +500 -0
  447. package/src/scripts/encoding_corpus_report.ts +216 -0
  448. package/src/scripts/evaluator_umbrella.sh +34 -1
  449. package/src/scripts/generate_index.ts +19 -2
  450. package/src/scripts/install-hooks.sh +2 -2
  451. package/src/scripts/learning_sidecar.ts +0 -0
  452. package/src/scripts/lint_confusables.ts +10 -72
  453. package/src/scripts/lint_eval_fixture_citations.ts +113 -0
  454. package/src/scripts/lint_featured_skills.ts +0 -0
  455. package/src/scripts/lint_hidden_unicode.ts +208 -0
  456. package/src/scripts/lint_load_context.ts +17 -5
  457. package/src/scripts/lint_new_skill_gate.ts +9 -3
  458. package/src/scripts/lint_no_python_twin_rationale.ts +17 -2
  459. package/src/scripts/lint_originality.ts +1 -1
  460. package/src/scripts/lint_skill_originality.ts +1 -1
  461. package/src/scripts/lint_ticket_buildable.ts +1 -1
  462. package/src/scripts/lint_ui_stack_bundles.ts +170 -0
  463. package/src/scripts/mcp_server/tools.ts +4 -4
  464. package/src/scripts/measure_scope_dedup.ts +224 -0
  465. package/src/scripts/memory_lookup.ts +0 -0
  466. package/src/scripts/mine_session.ts +98 -0
  467. package/src/scripts/orchestration_payload_hash_drift.ts +145 -0
  468. package/src/scripts/preamble_byte_census.ts +574 -0
  469. package/src/scripts/probe_skill_registration.ts +2 -2
  470. package/src/scripts/redact_hook_capture.ts +13 -0
  471. package/src/scripts/release.ts +65 -10
  472. package/src/scripts/router_telemetry.ts +1 -1
  473. package/src/scripts/second_brain_retrieval.ts +14 -4
  474. package/src/scripts/skill_linter.ts +5 -0
  475. package/src/scripts/surface-tiers.yml +2 -0
  476. package/src/scripts/validate_pack_yaml.ts +0 -0
  477. package/src/server/schemas/settings.ts +8 -0
  478. package/src/shared/userMd/utils.ts +31 -0
  479. package/dist/agent-src/rules/telegraph-speak.md +0 -87
@@ -2,8 +2,8 @@
2
2
 
3
3
  Templates for the four typed directories added beside the existing
4
4
  anti-hallucination knowledge cards (`agents/knowledge/<source>.md`,
5
- [`knowledge-card.md`](knowledge-card.md)). **Existing cards stay untouched
6
- by this template** — sibling addition, not a migration.
5
+ [`knowledge-card.md`](knowledge-card.md)). **Existing cards are untouched by
6
+ this template** — this is a sibling addition, not a migration.
7
7
 
8
8
  ## The four directories
9
9
 
@@ -11,48 +11,48 @@ by this template** — sibling addition, not a migration.
11
11
  |---|---|---|
12
12
  | `agents/knowledge/sessions/` | Episodic | What happened — consolidated session learnings, one file per topic or date |
13
13
  | `agents/knowledge/concepts/` | Semantic | What is true — project facts: coding standards, module structure, API shapes, domain terms |
14
- | `agents/knowledge/procedures/` | Procedural | How to — step-by-step knowledge on the way to becoming a skill (`skill-candidates.md` lives here) |
14
+ | `agents/knowledge/procedures/` | Procedural | How to — step-by-step knowledge on its way to becoming a skill (`skill-candidates.md` lives here) |
15
15
  | `agents/knowledge/decisions/` | Decision record | Small decisions not big enough for a full ADR |
16
16
 
17
17
  `agents/knowledge/INDEX.md` catalogs all five surfaces (cards + the four
18
- directories), one line per page — generated by
19
- `src/scripts/generate_knowledge_index.ts`. **Retrieval protocol: index
20
- first, `grep` keywords second, read the specific file third.** Never
21
- enumerate every knowledge file directly — no search infrastructure by
22
- design.
18
+ directories) with one line per page — generated by
19
+ `src/scripts/generate_knowledge_index.ts`. **Retrieval protocol: read the
20
+ index first, `grep` for keywords second, read the specific file third.**
21
+ Never enumerate every knowledge file directly; there is no search
22
+ infrastructure by design — index-first + grep only.
23
23
 
24
24
  ## Storage location IS the sharing policy
25
25
 
26
- Personal, cross-project knowledge → the ADR-100 user-global store
26
+ Personal, cross-project knowledge belongs in the ADR-100 user-global store
27
27
  (`~/.event4u/agent-config/knowledge/`, via `knowledge_global_cli.ts`) —
28
- never these project-local directories. Team knowledge → here, in the
29
- consumer repo, so the whole team benefits via git. Promotion to global
30
- requires cross-project evidence via the existing manual promotion path —
31
- never automatic.
28
+ never in these project-local directories. Team knowledge belongs here, in
29
+ the consumer repo, so the whole team benefits from it via git. Promotion
30
+ from project-local to global requires cross-project evidence and goes
31
+ through the existing manual global-store promotion path — never automatic.
32
32
 
33
33
  **Enforced at commit time.** A pre-commit gate
34
- (`src/scripts/check_knowledge_sharing.ts`) refuses a commit staging a
35
- `visibility: private` page under `agents/knowledge/` (belongs in the
36
- global store) or a gitignored `agents/memory/intake/` file staged by
37
- accident. Warns — never blocks — on 5+ new knowledge files in one
38
- commit, for a second look.
34
+ (`src/scripts/check_knowledge_sharing.ts`) refuses a commit that stages a
35
+ page with `visibility: private` under `agents/knowledge/` (it belongs in
36
+ the global store instead) or a gitignored `agents/memory/intake/` file
37
+ staged by accident. It warns — never blocks — when a commit adds 5+ new
38
+ knowledge files at once, so the batch gets a second look.
39
39
 
40
40
  ## Entry micro-schema — `date + what + why`
41
41
 
42
- Every entry (especially in `sessions/`) states, at minimum:
42
+ Every page entry (especially in `sessions/`) states, at minimum:
43
43
 
44
44
  ```markdown
45
45
  - 2026-07-05: <what happened / was learned> — <why it matters>
46
46
  ```
47
47
 
48
- Keep entries short; longer explanation goes in the page body below the
48
+ Keep entries short. Longer explanation belongs in the page body below the
49
49
  entry list, not stuffed into one line.
50
50
 
51
51
  ## Page frontmatter — optional, warn-linted only (v1)
52
52
 
53
- None of these fields are mandatory in v1 (schema-as-contract deferred
54
- until real team usage data exists). When present, warn-linted for shape
55
- only:
53
+ None of these fields are mandatory in v1 (schema-as-contract is explicitly
54
+ deferred until real team usage data exists). When present, they are
55
+ warn-linted for shape only:
56
56
 
57
57
  ```yaml
58
58
  ---
@@ -66,8 +66,9 @@ contested: [] # append-only array — see "Contested entries" below
66
66
 
67
67
  ## Contested entries — never silently resolved
68
68
 
69
- A live contradiction between documented and observed reality gets an
70
- **append-only** `contested:` entry, never a silent rewrite:
69
+ When a live contradiction is found between documented and observed
70
+ reality, the page gets an **append-only** `contested:` entry instead of a
71
+ silent rewrite:
71
72
 
72
73
  ```yaml
73
74
  contested:
@@ -77,10 +78,10 @@ contested:
77
78
  session: "<session id or chat-history pointer>"
78
79
  ```
79
80
 
80
- Resolution is always human — via the `team-knowledge:consolidate` gate,
81
- or an isolated, this-turn-approved fix commit. ≥2 unresolved `contested`
82
- entries on one page → flagged by the knowledge lint for consolidation
83
- attention.
81
+ Resolution is always human — either via the `team-knowledge:consolidate`
82
+ gate, or via an isolated, this-turn-approved fix commit. A page carrying
83
+ ≥2 unresolved `contested` entries is flagged by the knowledge lint for
84
+ consolidation attention.
84
85
 
85
86
  ## Page size budget
86
87
 
@@ -91,26 +92,27 @@ tiny pages do.
91
92
  ## What this substrate is — honest framing
92
93
 
93
94
  A **governed second-brain substrate**: working-memory continuity across
94
- compactions + sessions (hot-context cache, dispatcher-wide, 7 platforms),
95
- deterministic where safe (dedup, recurrence, index regen, fold rollups,
96
- scale tripwires), human-gated where meaning is at stake (consolidate
97
- gate, promotion, contested flow). It is **not** self-organizing
98
- intelligence — governed files; the learning loop is human-reviewed by
99
- design.
100
-
101
- **External viewers — read-only, on purpose.** Any Markdown tool (incl.
102
- Obsidian) can VIEW `agents/knowledge/` — but edits outside
103
- `/team-knowledge consolidate` silently desync `INDEX.md` + recurrence
104
- counters at next session start; exactly the failure the gate prevents.
105
- No `.obsidian/` config shipped, deliberately (council claude-sonnet-4-5
106
- + gpt-4o, 2026-07-07 — converged 2/2 reject: out-of-gate edits are an
107
- unguardable dual-write; an editable vault re-creates the
108
- knowledge-as-truth model the 2026-07-05 verdict rejected).
95
+ compactions and sessions (hot-context cache, dispatcher-wide on all 7
96
+ platforms), deterministic where safe (dedup, recurrence, index regen,
97
+ fold rollups, scale tripwires), human-gated where meaning is at stake
98
+ (consolidate gate, promotion, contested flow). It is **not**
99
+ self-organizing intelligence — the substrate is governed files, and the
100
+ learning loop is human-reviewed by design.
101
+
102
+ **External viewers — read-only, on purpose.** Any Markdown tool
103
+ (including Obsidian) can VIEW `agents/knowledge/` — but edits made
104
+ outside `/team-knowledge consolidate` silently desync `INDEX.md` and
105
+ the recurrence counters at the next session start, which is exactly the
106
+ failure the gate exists to prevent. No `.obsidian/` config is shipped,
107
+ deliberately (council claude-sonnet-4-5 + gpt-4o, 2026-07-07 —
108
+ converged 2/2 on reject: out-of-gate edits are an unguardable
109
+ dual-write; an editable vault re-creates the knowledge-as-truth model
110
+ the 2026-07-05 verdict rejected).
109
111
 
110
112
  ## See also
111
113
 
112
114
  - [`knowledge-card.md`](knowledge-card.md) — the existing anti-hallucination
113
115
  card template (unchanged, unaffected by this addition).
114
116
  - [`context-document`](../../../skills/context-document/SKILL.md) —
115
- structured, on-demand codebase-area documentation (different, manual
117
+ structured, on-demand codebase-area documentation (a different, manual
116
118
  surface; complements rather than duplicates these pages).
@@ -69,5 +69,5 @@ revalidate_if: "<condition that would invalidate — e.g. the endpoint gains a s
69
69
 
70
70
  ## See also
71
71
 
72
- - [`project-intelligence`](../contexts/execution/project-intelligence.md) — Class C safety spec, evidence/diagnosis split, decay rules, privacy floor.
73
- - [`evidence-discipline`](../contexts/execution/evidence-discipline.md) — v1 spine, trust tiers, the rollback target.
72
+ - [`project-intelligence`](dist/agent-src/contexts/execution/project-intelligence.md) — Class C safety spec, evidence/diagnosis split, decay rules, privacy floor.
73
+ - [`evidence-discipline`](dist/agent-src/contexts/execution/evidence-discipline.md) — v1 spine, trust tiers, the rollback target.
@@ -16,10 +16,10 @@
16
16
  - [ ] **Single-tenant** — one database per deployment. No cross-tenant
17
17
  leakage is possible at the infra layer. Delete this file if true
18
18
  and the app will never shard.
19
- - [ ] **Multi-tenant, shared DB** — one table with a tenant key
19
+ - [ ] **Multi-tenant, shared database** — one table with a tenant key
20
20
  column (e.g., `tenant_id`, `workspace_id`).
21
21
  - [ ] **Multi-tenant, schema per tenant** — one DB, one schema each.
22
- - [ ] **Multi-tenant, DB per tenant** — each tenant has its own
22
+ - [ ] **Multi-tenant, database per tenant** — each tenant has its own
23
23
  connection.
24
24
 
25
25
  ## Tenant identifier
@@ -24,7 +24,7 @@ agents (and developers) quickly orient themselves when working in that area.
24
24
  |---|---|---|
25
25
  | **Module** | Document a module's structure and purpose | `client-software.md` |
26
26
  | **Domain** | Document a business domain across modules | `import-pipeline.md` |
27
- | **Service** | Document a complex service and its deps | `customer-service.md` |
27
+ | **Service** | Document a complex service and its dependencies | `customer-service.md` |
28
28
  | **Integration** | Document an external API/system integration | `probaus-api.md` |
29
29
  | **Infrastructure** | Document infrastructure or DevOps concerns | `queue-system.md` |
30
30
 
@@ -22,7 +22,7 @@ Templates for feature plan files stored in `agents/features/` or `{module_root}/
22
22
  | 💡 | Idea | Rough concept, not yet validated |
23
23
  | 🔍 | Exploring | Being researched and brainstormed |
24
24
  | 📋 | Planned | Structured plan complete, ready for roadmap |
25
- | 🗺️ | Roadmapped | Roadmap(s) generated, ready for impl |
25
+ | 🗺️ | Roadmapped | Roadmap(s) generated, ready for implementation |
26
26
  | 🔄 | In Progress | Implementation started |
27
27
  | ✅ | Complete | Feature shipped |
28
28
  | ❌ | Rejected | Decided not to build |
@@ -8,7 +8,7 @@ Templates for roadmap files stored in `agents/roadmaps/` or `{module_root}/{Modu
8
8
 
9
9
  1. **Be precise and concise.** Aim for 500–1000 lines max. If larger, split into multiple files.
10
10
  2. **Checkboxes are mandatory, not decorative.** Every active roadmap MUST contain at least one `- [ ]` per non-intro phase. Decision tables, ICE matrices, and block-sequencing tables capture the *why*; checkboxes capture the *what to do next*. A roadmap without checkboxes is invisible to `agents/roadmaps-progress.md` — the dashboard cannot count it, the next reader thinks no work is planned. Enforced by [`roadmap-progress-sync`](../rules/roadmap-progress-sync.md) Iron Law #2.
11
- - **Glyph semantics:** `[ ]` open · `[x]` done · `[~]` **deferred** (planned for later — blocks silent archive per `roadmap-progress-sync` Iron Law 3) · `[-]` **cancelled** (won't do — explicit drop). Pick `[~]` vs `[-]` honestly; former carries follow-up-roadmap obligations, latter does not. Optional inline annotations: `<!-- deferred: reason -->` / `<!-- cancelled: reason -->` on same line.
11
+ - **Glyph semantics:** `[ ]` open · `[x]` done · `[~]` **deferred** (planned for later — blocks silent archive per `roadmap-progress-sync` Iron Law 3) · `[-]` **cancelled** (won't do — explicit drop). Pick `[~]` vs `[-]` honestly; the former carries follow-up-roadmap obligations, the latter does not. Optional inline annotations: `<!-- deferred: reason -->` / `<!-- cancelled: reason -->` on the same line.
12
12
  - **Status is binary: `ready` (default) or `draft`.** New roadmaps are created **ready** unless the user explicitly says draft — `ready` is implicit and need not be written. Drafts declare it via frontmatter at the top of the file (`---\nstatus: draft\n---`) and are hidden from the dashboard until the flag is removed or flipped to `ready`. Use `draft` while the roadmap is still being authored, while waiting for upstream decisions, as a capture-only synthesis that has not been promoted to executable phases, or as a follow-up roadmap (see rule 17 below) that is not yet ready to surface. There are no other status values; legacy banners like `**Status: directional**` are removed.
13
13
  3. **State the goal first.** One sentence at the top — what is the outcome?
14
14
  4. **List prerequisites** — what must exist or be running before starting.
@@ -60,10 +60,10 @@ Templates for roadmap files stored in `agents/roadmaps/` or `{module_root}/{Modu
60
60
  `task lint-roadmap-complexity` (plate-token detection skipped when
61
61
  `horizon_weeks > 0`).
62
62
  17. **Follow-up roadmaps from deferred items carry `parent_roadmap`.**
63
- When a roadmap closes with `[~]` deferred items,
63
+ When a roadmap closes with `[~]` deferred items, the
64
64
  [`roadmap-management`](../skills/roadmap-management/SKILL.md) skill
65
65
  spawns a follow-up under `agents/roadmaps/road-to-<parent>-followup.md`.
66
- Follow-up's frontmatter declares back-link:
66
+ The follow-up's frontmatter declares the back-link:
67
67
  ```yaml
68
68
  ---
69
69
  complexity: lightweight
@@ -71,51 +71,53 @@ Templates for roadmap files stored in `agents/roadmaps/` or `{module_root}/{Modu
71
71
  parent_roadmap: <parent-slug>
72
72
  ---
73
73
  ```
74
- Follow-up's body opens with `## Context` block citing
75
- `agents/roadmaps/archive/<parent>.md`. Deferred steps copied
76
- **verbatim** (with original phase context) so plan survives
77
- migration. If follow-up is "ready but blocked" rather than draft,
78
- omit `status:` and add body note `> Blocked until <condition>` —
79
- dashboard surfaces roadmap, readers honor body convention.
80
- Authoring contract: [`roadmap-writing § 7`](../skills/roadmap-writing/SKILL.md);
74
+ The follow-up's body opens with a `## Context` block citing
75
+ `agents/roadmaps/archive/<parent>.md`. Deferred steps are copied
76
+ **verbatim** (with their original phase context) so the plan
77
+ survives the migration. If the follow-up is "ready but blocked"
78
+ rather than draft, omit `status:` and add a body note
79
+ `> Blocked until <condition>` — the dashboard surfaces the
80
+ roadmap, readers honor the body convention. Authoring contract:
81
+ [`roadmap-writing § 7`](../skills/roadmap-writing/SKILL.md);
81
82
  spawn procedure: [`roadmap-management § Spawn follow-up`](../skills/roadmap-management/SKILL.md).
82
- 18. **Declare execution mode.** Every roadmap MAY declare how it
83
+ 18. **Declare the execution mode.** Every roadmap MAY declare how it
83
84
  should be executed by `/roadmap:process-*` via frontmatter:
84
85
  ```yaml
85
86
  execution:
86
87
  mode: autonomous # autonomous | phase-checkpoints | interactive
87
88
  ```
88
- - `interactive` (default when field absent) — today's behavior:
89
+ - `interactive` (default when the field is absent) — today's behavior:
89
90
  every gate fires as authored by its owning rule.
90
- - `phase-checkpoints` — run halts at each phase boundary with a
91
- compact status + continue prompt; inside a phase behaves like
91
+ - `phase-checkpoints` — the run halts at each phase boundary with a
92
+ compact status + continue prompt; inside a phase it behaves like
92
93
  `autonomous`.
93
- - `autonomous` — at run start loop derives an **execution
94
+ - `autonomous` — at run start the loop derives an **execution
94
95
  contract** (see
95
96
  [`roadmap-execution-contract`](../contexts/execution/roadmap-execution-contract.md))
96
- and ONE confirmation activates all run grants; run then proceeds
97
- without interruptions except safety floors.
98
-
99
- Field is a **declaration of intent, not a permission grant** —
100
- permissions granted only by user's this-turn acceptance of the
101
- run-start execution contract. Frontmatter never lifts a Hard
102
- Floor, never authorizes a merge, never substitutes for contract
103
- confirmation. Unknown values rejected by roadmap lint. Follow-up
104
- roadmaps (rule 17) inherit parent's mode as *suggested* option
105
- during creation but question always asked again.
97
+ and ONE confirmation activates all run grants; the run then
98
+ proceeds without interruptions except the safety floors.
99
+
100
+ The field is a **declaration of intent, not a permission grant** —
101
+ permissions are granted only by the user's this-turn acceptance of
102
+ the run-start execution contract. Frontmatter never lifts a Hard
103
+ Floor, never authorizes a merge, and never substitutes for the
104
+ contract confirmation. Unknown values are rejected by the roadmap
105
+ lint. Follow-up roadmaps (rule 17) inherit the parent's mode as the
106
+ *suggested* option during creation but the question is always asked
107
+ again.
106
108
  19. **Source-derived roadmaps carry a gap-table + provenance; internally
107
- originated roadmaps carry neither.** Fires **only** when a roadmap
108
- originates from an external input (suggestion, competitive/capability
109
- harvest, external LLM ideation thread) or adopts external capabilities
110
- into the suite. Does **not** fire for ordinary internally-originated
111
- roadmaps — those add no Provenance block, no gap-table ritual. When it
112
- fires:
109
+ originated roadmaps carry neither.** This rule fires **only** when a
110
+ roadmap originates from an external input (a suggestion, a competitive
111
+ or capability harvest, an external LLM ideation thread) or adopts
112
+ external capabilities into the suite. It does **not** fire for ordinary
113
+ internally-originated roadmaps — those add no Provenance block and no
114
+ gap-table ritual. When it fires:
113
115
  - **(a) Gap-table before drafting.** Audit each proposed item against
114
- the existing skill / command / rule surface; keep only verified gaps
115
- — `KEEP` (genuine gap) / `FOLD` (into existing artefact) / `CUT`
116
- (already covered). Plan integrates, doesn't dump.
117
- - **(b) `## Provenance` block** — source by a **neutral descriptor**
118
- (never the raw competitor / tool name, per
116
+ the existing skill / command / rule surface and keep only verified
117
+ gaps — `KEEP` (genuine gap) / `FOLD` (into an existing artefact) /
118
+ `CUT` (already covered). The plan integrates, it does not dump.
119
+ - **(b) `## Provenance` block** — source named by a **neutral
120
+ descriptor** (never the raw competitor / tool name, per
119
121
  [`source-confidentiality`](../rules/source-confidentiality.md));
120
122
  retain the real link as an `ENC1:` token via
121
123
  `src/scripts/_lib/link_crypto.ts encrypt --value <url>`.
@@ -123,10 +125,11 @@ Templates for roadmap files stored in `agents/roadmaps/` or `{module_root}/{Modu
123
125
  session filepath ([`no-roadmap-references`](../rules/no-roadmap-references.md)).
124
126
  Authoring contract:
125
127
  [`roadmap-writing § 8`](../skills/roadmap-writing/SKILL.md).
126
- 20. **Blockers are structured, not free prose.** A gate only user (or a
127
- maintainer) can clear — decision, external dependency, evidence
128
- threshold, kernel-budget soak window — records as a `## Blockers`
129
- entry, not a stray sentence. Shape (one entry per blocker):
128
+ 20. **Blockers are structured, not free prose.** When a roadmap has a
129
+ gate that only the user (or a maintainer) can clear — a decision,
130
+ an external dependency, an evidence threshold, a kernel-budget soak
131
+ window — record it as a `## Blockers` entry, not a stray sentence.
132
+ Shape (one entry per blocker):
130
133
  ```markdown
131
134
  ## Blockers
132
135
 
@@ -135,84 +138,88 @@ Templates for roadmap files stored in `agents/roadmaps/` or `{module_root}/{Modu
135
138
  - **Owner:** user <!-- user | maintainer | external -->
136
139
  - **Blocks:** Phase N — {phase name}
137
140
  - **What to do:**
138
- 1. {Concrete, copy-pasteable step owner must execute.}
139
- 2. {Include commands, file paths, expected outcomes.}
141
+ 1. {Concrete, copy-pasteable step the owner must execute.}
142
+ 2. {Include commands, file paths, and expected outcomes.}
140
143
  - **Resolved when:** {decidable signal, e.g. "task X exits 0"}
141
144
  ```
142
- `### blocker: <id>` is the parse anchor dashboard generator reads;
143
- ids unique within roadmap. All five fields required. A cleared
144
- blocker flips `Status: resolved` (kept for history) instead of
145
- deleted — resolve-flip runs in same reply as checkbox flip that
146
- cleared it, per
147
- [`roadmap-progress-sync`](../rules/roadmap-progress-sync.md). Step
148
- gated by a specific blocker may cross-reference inline:
145
+ `### blocker: <id>` is the parse anchor the dashboard generator
146
+ reads; ids are unique within the roadmap. All five fields are
147
+ required. A cleared blocker flips `Status: resolved` (kept for
148
+ history) instead of being deleted — the resolve-flip runs in the
149
+ same reply as the checkbox flip that cleared it, per
150
+ [`roadmap-progress-sync`](../rules/roadmap-progress-sync.md). A
151
+ step gated by a specific blocker may cross-reference it inline:
149
152
  `- [ ] … <!-- blocked-by: <blocker-id> -->`.
150
153
 
151
- **Legacy fallback.** Body-level `> Blocked until <condition>` note
152
- (follow-up-roadmap convention from rule 17) is parsed by dashboard
153
- generator as one implicit roadmap-level blocker (`Owner: user`,
154
- instructions = note text) — existing roadmaps surface in
155
- dashboard's `Blocker` column without retrofit. New roadmaps prefer
156
- structured form above; renders richer instructions in per-roadmap
157
- breakdown.
154
+ **Legacy fallback.** A body-level `> Blocked until <condition>`
155
+ note (the follow-up-roadmap convention from rule 17) is parsed by
156
+ the dashboard generator as one implicit roadmap-level blocker
157
+ (`Owner: user`, instructions = the note text) — existing roadmaps
158
+ surface in the dashboard's `Blocker` column without retrofit.
159
+ New roadmaps should prefer the structured form above; it renders
160
+ richer instructions in the per-roadmap breakdown.
158
161
 
159
162
  21. **Related roadmaps share a common filename prefix.** When you create
160
- more than one roadmap that belongs together — a follow-up, siblings
161
- split from one body of work in a single pass, or phases of one
162
- initiative in separate files — give them a shared `road-to-<family>-…`
163
- prefix so relatedness is visible in `agents/roadmaps/` and the
164
- dashboard groups them. `<family>` = short kebab slug for the shared
165
- initiative; the suffix distinguishes members:
163
+ more than one roadmap that belongs together — a follow-up, a set of
164
+ siblings split from one body of work in a single pass, or phases of
165
+ one initiative carved into separate files — give them a shared
166
+ `road-to-<family>-…` prefix so the relationship is visible on sight
167
+ in `agents/roadmaps/` and the dashboard groups them. `<family>` is a
168
+ short kebab slug naming the shared initiative; the suffix
169
+ distinguishes the members:
166
170
  - **Split-in-one-pass siblings** → `road-to-<family>-<part>.md`
167
171
  (e.g. `road-to-auth-hardening-backend.md`,
168
172
  `road-to-auth-hardening-frontend.md`,
169
173
  `road-to-auth-hardening-infra.md`).
170
- - **Follow-ups** → `road-to-<parent>-followup.md` (rule 17): the
174
+ - **Follow-ups** → `road-to-<parent>-followup.md` (rule 17) is the
171
175
  special case where `<parent>` is the family prefix; keep the
172
176
  `parent_roadmap:` back-link.
173
177
  - **Sibling (non-parent/child) roadmaps** carry no `parent_roadmap:`;
174
178
  the shared prefix is the only linkage — do **not** invent a new
175
- frontmatter field. Cross-link siblings by name in each `## Context`
176
- block when it helps a reader.
177
- Pick the `<family>` slug **once, up front**, before the first of the
178
- set — renaming a prefix later means migrating inbound references. A
179
- lone roadmap keeps plain `road-to-<slug>.md`; the convention fires
180
- only when ≥2 related roadmaps are created together or as a follow-up
181
- chain.
179
+ frontmatter field for it. Cross-link siblings by name in each
180
+ `## Context` block when it helps a reader.
181
+ Pick the `<family>` slug **once, up front**, before writing the first
182
+ of the set — renaming a prefix later means migrating inbound
183
+ references. A lone roadmap with no siblings keeps the plain
184
+ `road-to-<slug>.md` form; the convention fires only when ≥2 related
185
+ roadmaps are created together or as a follow-up chain.
182
186
 
183
187
  22. **Human gates are the exception — author for autonomous execution.**
184
- Roadmap exists to be worked through without stopping; every human
185
- checkpoint interrupts that. Default human-gate count: **zero**.
188
+ A roadmap exists to be worked through without stopping; every human
189
+ checkpoint interrupts that. Default number of human gates in a
190
+ roadmap: **zero**.
186
191
  - Every step is **agent-executable**. `- [ ] User verifies X`,
187
- `- [ ] Manually check Y`, dedicated "Review / Sign-off" phases =
188
- authoring bugs — replace with agent-verifiable check (command,
189
- targeted test, grep) or delete.
190
- - Exit + acceptance criteria are **agent-decidable** signals (command
191
- exit code, file exists, test passes) — never "user approves",
192
- "looks good", "sign-off".
193
- - **Human gate** allowed only when only a human can **decide or
194
- authorize**: Hard-Floor action (deploy, prod data/infra), billable
195
- spend, contested product / architecture decision. Record as
196
- structured `## Blockers` entry (rule 20) — never as inline checkbox
197
- step scattered through phases.
198
- - **External dependency = blocker, not human gate**, whenever agent
199
- can probe its status (CI run finished, package version published,
200
- upstream PR merged, API reachable, DNS propagated): record as
201
- blocker whose `Resolved when:` names the agent-checkable probe
202
- (command / URL / query) — do not assign to a human.
203
- - **Merge is never a completion requirement.** Roadmap is
204
- implementation-complete once checkboxes ticked and verification
205
- ran; delivery stays the user's call (no merge / push / commit
206
- steps, per `commit-policy`). Merge may appear as a blocker only
207
- when later roadmap work technically depends on the merged state.
192
+ `- [ ] Manually check Y`, and dedicated "Review / Sign-off" phases
193
+ are authoring bugs — replace them with an agent-verifiable check
194
+ (a command, a targeted test, a grep) or delete them.
195
+ - Exit and acceptance criteria are **agent-decidable** signals (a
196
+ command exit code, a file that exists, a test that passes) — never
197
+ "user approves", "looks good", or "sign-off".
198
+ - A **human gate** is allowed only when only a human can **decide or
199
+ authorize**: a Hard-Floor action (deploy, prod data/infra),
200
+ billable spend, or a contested product / architecture decision.
201
+ Record it as a structured `## Blockers` entry (rule 20) — never as
202
+ an inline checkbox step scattered through phases.
203
+ - An **external dependency is a blocker, not a human gate**, whenever
204
+ the agent can probe its status (CI run finished, package version
205
+ published, upstream PR merged, API reachable, DNS propagated):
206
+ record it as a blocker whose `Resolved when:` names the
207
+ agent-checkable probe (command / URL / query) — do not assign it
208
+ to a human.
209
+ - **Merge is never a completion requirement.** A roadmap is
210
+ implementation-complete once its checkboxes are ticked and
211
+ verification ran; delivery stays the user's call (no merge / push /
212
+ commit steps, per `commit-policy`). Merge may appear as a blocker
213
+ only when later roadmap work technically depends on the merged
214
+ state.
208
215
  - Do **not** restate safety floors as steps. `non-destructive-by-default`,
209
- `security-sensitive-stop`, `commit-policy` fire at run time on
210
- their own; authored "STOP: confirm with user before X" duplicates
211
- them → only adds interruptions.
212
- Gate-test before any checkpoint: *"Could the agent clear this with a
213
- tool or command during the run?"* Yes → step, not gate. No →
214
- structured blocker with decidable `Resolved when:`, owned by a human
215
- only when the blocker is a genuine human gate.
216
+ `security-sensitive-stop`, and `commit-policy` fire at run time on
217
+ their own; an authored "STOP: confirm with user before X" duplicates
218
+ them and only adds interruptions.
219
+ Gate-test before writing any checkpoint: *"Could the agent clear this
220
+ with a tool or command during the run?"* Yes → it is a step, not a
221
+ gate. No → structured blocker with a decidable `Resolved when:`,
222
+ owned by a human only when the blocker is a genuine human gate.
216
223
  `task lint-roadmap-complexity` warns on human-gate step patterns,
217
224
  human-gate phase headings, and human-approval exit criteria.
218
225
 
@@ -220,15 +227,17 @@ Templates for roadmap files stored in `agents/roadmaps/` or `{module_root}/{Modu
220
227
  behavior-changing step MAY carry a named verification command on its
221
228
  own inline-annotation line, e.g.
222
229
  `- [ ] Add the tenant-scope guard <!-- verify: task test -- --filter=TenantScopeTest -->`.
223
- When declared, `/roadmap:process-*` will not accept its `[x]` flip
224
- without a **fresh green run of that exact command** in the same run
225
- (flip-guard, see
230
+ When a step declares one, `/roadmap:process-*` will not accept its
231
+ `[x]` flip without a **fresh green run of that exact command** in the
232
+ same run (enforced by the flip-guard, see
226
233
  [`roadmap-process-loop § 5b`](../contexts/execution/roadmap-process-loop.md)).
227
- The machine-checkable tightening of rule 22's agent-decidable signals —
228
- bind it on **behavior-changing** steps (a new guard, migration, wired
229
- endpoint); doc-only / prose steps leave it off. Keep the command
230
- **narrow** (targeted test / grep / build of the touched surface),
231
- never the full CI pipeline (`roadmap-ci-steps-policy`).
234
+ This is the machine-checkable tightening of rule 22's agent-decidable
235
+ signals — bind it on **behavior-changing** steps (a new guard, a
236
+ migration, a wired endpoint); doc-only / prose steps leave it off and
237
+ stay governed by the ordinary flip-guard. Keep the command **narrow**
238
+ (a targeted test / grep / build of the touched surface), never the
239
+ full CI pipeline — per `roadmap-ci-steps-policy` a `verify:` must not
240
+ be a full-suite gate.
232
241
 
233
242
  ---
234
243
 
@@ -236,11 +245,11 @@ Templates for roadmap files stored in `agents/roadmaps/` or `{module_root}/{Modu
236
245
 
237
246
  Every roadmap must pass the project's quality pipeline before it is
238
247
  considered done. **Where** that gate runs depends on
239
- `quality.local_auto_run`: `false` or missing (default) → agent does NOT
240
- run the pipeline locally — user runs it manually, remote CI on the PR
241
- is the authoritative gate; run-end report says *"quality gates
242
- delegated to remote CI"*, never that the tools passed. When
243
- `local_auto_run: true`, **when** the local pipeline runs during
248
+ `quality.local_auto_run`: when `false` or missing (the default), the
249
+ agent does NOT run the pipeline locally — the user runs it manually and
250
+ remote CI on the PR is the authoritative gate; the run-end report says
251
+ *"quality gates delegated to remote CI"*, never that the tools passed.
252
+ When `local_auto_run: true`, **when** the local pipeline runs during
244
253
  `/roadmap:process-step|phase|full` is governed by
245
254
  `roadmap.quality_cadence` in `.agent-settings.yml`
246
255
  (`end_of_roadmap` default → once before archival; `per_phase` → after
@@ -320,10 +329,10 @@ complexity: lightweight
320
329
  - [ ] {Observable, testable criterion}
321
330
  - [ ] All quality gates pass (PHPStan, Rector, tests)
322
331
 
323
- <!-- ## Blockers — INCLUDE ONLY when a gate exists that only user /
332
+ <!-- ## Blockers — INCLUDE ONLY when a gate exists that only the user /
324
333
  a maintainer can clear (decision, external dependency, evidence
325
- threshold, soak window). OMIT entirely when none — see rule 20
326
- for full shape.
334
+ threshold, soak window). OMIT entirely when there are none — see
335
+ rule 20 for the full shape.
327
336
  ### blocker: <kebab-id>
328
337
  - **Status:** open
329
338
  - **Owner:** user
@@ -10,7 +10,8 @@
10
10
  2. Copy the template below into `src/rules/{rule-name}.md`.
11
11
  3. Replace placeholders, drop sections that don't apply.
12
12
  4. Run `task lint-skills` and `./scripts-run src/scripts/lint_load_context`.
13
- 5. Condense: `bash scripts/condense.sh --changed` then follow the agent flow.
13
+ 5. Project to `dist/agent-src/`: `task sync` (writes the projection, including the
14
+ path rewrite). Verify with `bash scripts/condense.sh --check`.
14
15
 
15
16
  ## Path conventions — load-bearing
16
17
 
@@ -234,7 +234,7 @@ function _within_window(ts_bucket: string, window_days: number | null): boolean
234
234
  return ms >= Date.now() - window_days * 24 * 60 * 60 * 1000;
235
235
  }
236
236
 
237
- type BucketKey = string; // `${tier}${command}` — composite (tier, command) key.
237
+ type BucketKey = string; // `${tier}\0${command}` — composite (tier, command) key.
238
238
  interface RowStats {
239
239
  count: number;
240
240
  distinct_users: number;
@@ -274,7 +274,7 @@ function aggregate(log_path: string, window_days: number): AggregateResult {
274
274
  }
275
275
  kept += 1;
276
276
  const tier = Math.trunc(rec.tier);
277
- const key = `${tier}${rec.command}`;
277
+ const key = `${tier}\0${rec.command}`;
278
278
  if (!keyMeta.has(key)) {
279
279
  keyMeta.set(key, { tier, command: rec.command });
280
280
  counts.set(key, 0);