@event4u/agent-config 9.8.0 → 9.10.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 (1115) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +234 -295
  3. package/CONTRIBUTING.md +23 -7
  4. package/MIGRATION.md +20 -0
  5. package/README.md +55 -9
  6. package/dist/agent-src/commands/agent-status.md +12 -11
  7. package/dist/agent-src/commands/agents/audit.md +1 -1
  8. package/dist/agent-src/commands/agents/optimize.md +2 -2
  9. package/dist/agent-src/commands/agents/user/accept.md +115 -30
  10. package/dist/agent-src/commands/agents/user/delete.md +147 -0
  11. package/dist/agent-src/commands/agents/user/review.md +65 -28
  12. package/dist/agent-src/commands/agents/user/show.md +82 -29
  13. package/dist/agent-src/commands/agents/user/update.md +2 -2
  14. package/dist/agent-src/commands/agents/user.md +17 -4
  15. package/dist/agent-src/commands/agents.md +1 -1
  16. package/dist/agent-src/commands/check-current-md.md +3 -13
  17. package/dist/agent-src/commands/condense.md +28 -97
  18. package/dist/agent-src/commands/cost/report.md +7 -0
  19. package/dist/agent-src/commands/fix/portability.md +2 -10
  20. package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
  21. package/dist/agent-src/commands/fix/refs.md +2 -10
  22. package/dist/agent-src/commands/fix/route.md +4 -3
  23. package/dist/agent-src/commands/fix.md +9 -6
  24. package/dist/agent-src/commands/ghostwriter.md +1 -1
  25. package/dist/agent-src/commands/humanize.md +2 -2
  26. package/dist/agent-src/commands/image.md +1 -1
  27. package/dist/agent-src/commands/jira-ticket.md +1 -1
  28. package/dist/agent-src/commands/memory/load.md +11 -0
  29. package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
  30. package/dist/agent-src/commands/optimize/skills.md +3 -3
  31. package/dist/agent-src/commands/post-as.md +1 -1
  32. package/dist/agent-src/commands/pr/create.md +4 -4
  33. package/dist/agent-src/commands/profile/show.md +3 -3
  34. package/dist/agent-src/commands/research.md +1 -1
  35. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  36. package/dist/agent-src/commands/rule-compliance-audit.md +5 -4
  37. package/dist/agent-src/commands/sync/gitignore/fix.md +1 -1
  38. package/dist/agent-src/commands/tdd.md +21 -0
  39. package/dist/agent-src/commands/team/delegate.md +4 -0
  40. package/dist/agent-src/commands/team-knowledge/bootstrap.md +9 -8
  41. package/dist/agent-src/commands/team-knowledge/consolidate.md +8 -7
  42. package/dist/agent-src/commands/team.md +4 -1
  43. package/dist/agent-src/commands/upstream-contribute.md +0 -1
  44. package/dist/agent-src/commands/video.md +1 -1
  45. package/dist/agent-src/contexts/authority/commit-mechanics.md +7 -0
  46. package/dist/agent-src/contexts/authority/destructive-mechanics.md +16 -0
  47. package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
  48. package/dist/agent-src/contexts/authority/scope-mechanics.md +61 -0
  49. package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +20 -18
  50. package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
  51. package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +1 -1
  52. package/dist/agent-src/contexts/communication/rules-auto/source-of-truth-mechanics.md +9 -10
  53. package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +1 -1
  54. package/dist/agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +11 -0
  55. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +26 -15
  56. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +3 -0
  57. package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
  58. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +99 -23
  59. package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +1 -1
  60. package/dist/agent-src/contexts/execution/autonomy-examples.md +1 -1
  61. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +7 -6
  62. package/dist/agent-src/contexts/execution/evidence-discipline.md +92 -77
  63. package/dist/agent-src/contexts/execution/orchestration-benchmark-gate.md +22 -21
  64. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +34 -0
  65. package/dist/agent-src/contexts/execution/project-intelligence.md +122 -103
  66. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +23 -21
  67. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
  68. package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
  69. package/dist/agent-src/contexts/execution/subagent-routing.md +11 -0
  70. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
  71. package/dist/agent-src/contexts/execution/subagent-steering.md +36 -34
  72. package/dist/agent-src/contexts/execution/toolchain-resolver.md +1 -1
  73. package/dist/agent-src/contexts/execution/user-memory-channels.md +189 -0
  74. package/dist/agent-src/contexts/execution/verification-mechanics.md +9 -0
  75. package/dist/agent-src/contexts/model-recommendations.md +3 -2
  76. package/dist/agent-src/contexts/subagent-configuration.md +3 -3
  77. package/dist/agent-src/ghostwriter/README.md +2 -2
  78. package/dist/agent-src/packs/README.md +1 -1
  79. package/dist/agent-src/personas/README.md +5 -5
  80. package/dist/agent-src/personas/_template-specialist/persona.md +3 -3
  81. package/dist/agent-src/personas/backend-architect.md +24 -23
  82. package/dist/agent-src/personas/eloquent-tamer.md +30 -30
  83. package/dist/agent-src/personas/frontend-engineer.md +30 -30
  84. package/dist/agent-src/personas/product-owner.md +41 -38
  85. package/dist/agent-src/personas/qa.md +13 -13
  86. package/dist/agent-src/personas/security-engineer.md +22 -22
  87. package/dist/agent-src/presets/README.md +3 -3
  88. package/dist/agent-src/profiles/README.md +3 -3
  89. package/dist/agent-src/rules/active-remediation.md +2 -2
  90. package/dist/agent-src/rules/artifact-engagement-recording.md +4 -4
  91. package/dist/agent-src/rules/ask-when-uncertain.md +0 -4
  92. package/dist/agent-src/rules/augment-edit-discipline.md +1 -1
  93. package/dist/agent-src/rules/broken-access-control.md +4 -4
  94. package/dist/agent-src/rules/code-comment-discipline.md +1 -1
  95. package/dist/agent-src/rules/code-provenance.md +112 -0
  96. package/dist/agent-src/rules/commit-policy.md +4 -9
  97. package/dist/agent-src/rules/communication-through-line.md +5 -5
  98. package/dist/agent-src/rules/decision-revisit-gate.md +1 -1
  99. package/dist/agent-src/rules/doc-screenshot-hygiene.md +1 -1
  100. package/dist/agent-src/rules/domain-adoption-policy.md +1 -1
  101. package/dist/agent-src/rules/domain-safety-pii.md +1 -1
  102. package/dist/agent-src/rules/external-code-graph-interop.md +5 -5
  103. package/dist/agent-src/rules/fast-path-marker-visibility.md +43 -7
  104. package/dist/agent-src/rules/finance-safety-floor.md +1 -1
  105. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -3
  106. package/dist/agent-src/rules/history-discipline.md +80 -0
  107. package/dist/agent-src/rules/legal-safety-floor.md +1 -1
  108. package/dist/agent-src/rules/lethal-trifecta-guard.md +5 -5
  109. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +10 -8
  110. package/dist/agent-src/rules/media-governance-routing.md +13 -13
  111. package/dist/agent-src/rules/media-sync-ground-truth.md +29 -11
  112. package/dist/agent-src/rules/no-cheap-questions.md +7 -7
  113. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +29 -18
  114. package/dist/agent-src/rules/no-roadmap-references.md +1 -1
  115. package/dist/agent-src/rules/non-destructive-by-default.md +5 -23
  116. package/dist/agent-src/rules/onboarding-gate.md +14 -4
  117. package/dist/agent-src/rules/persona-governance.md +2 -2
  118. package/dist/agent-src/rules/php-coding.md +1 -0
  119. package/dist/agent-src/rules/prefer-enums-over-literals.md +9 -9
  120. package/dist/agent-src/rules/preservation-guard.md +10 -2
  121. package/dist/agent-src/rules/question-not-instruction.md +1 -1
  122. package/dist/agent-src/rules/reviewer-awareness.md +1 -0
  123. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
  124. package/dist/agent-src/rules/roadmap-progress-sync.md +7 -0
  125. package/dist/agent-src/rules/rule-type-governance.md +1 -1
  126. package/dist/agent-src/rules/scale-discipline.md +92 -0
  127. package/dist/agent-src/rules/scope-control.md +1 -1
  128. package/dist/agent-src/rules/secret-vcs-guard.md +1 -1
  129. package/dist/agent-src/rules/security-sensitive-stop.md +24 -8
  130. package/dist/agent-src/rules/senior-engineering-discipline.md +17 -17
  131. package/dist/agent-src/rules/session-canary.md +77 -0
  132. package/dist/agent-src/rules/skill-quality.md +1 -1
  133. package/dist/agent-src/rules/source-confidentiality.md +21 -19
  134. package/dist/agent-src/rules/source-of-truth.md +6 -5
  135. package/dist/agent-src/rules/spreadsheet-source-quality.md +2 -2
  136. package/dist/agent-src/rules/strategy-safety-floor.md +1 -1
  137. package/dist/agent-src/rules/think-before-action.md +5 -5
  138. package/dist/agent-src/rules/token-budget-discipline.md +5 -3
  139. package/dist/agent-src/rules/token-efficiency.md +2 -2
  140. package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
  141. package/dist/agent-src/rules/tool-safety.md +3 -1
  142. package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
  143. package/dist/agent-src/rules/user-interaction.md +12 -0
  144. package/dist/agent-src/rules/verify-before-complete.md +4 -24
  145. package/dist/agent-src/skills/adversarial-review/SKILL.md +2 -2
  146. package/dist/agent-src/skills/agent-security-review/SKILL.md +53 -46
  147. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
  148. package/dist/agent-src/skills/ai-code-blindspots/SKILL.md +20 -20
  149. package/dist/agent-src/skills/ai-council/SKILL.md +185 -128
  150. package/dist/agent-src/skills/analysis-skill-router/SKILL.md +3 -3
  151. package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -2
  152. package/dist/agent-src/skills/artisan-commands/SKILL.md +2 -2
  153. package/dist/agent-src/skills/async-python-patterns/SKILL.md +8 -7
  154. package/dist/agent-src/skills/authz-review/SKILL.md +16 -15
  155. package/dist/agent-src/skills/aws-infrastructure/SKILL.md +5 -5
  156. package/dist/agent-src/skills/blade-ui/SKILL.md +1 -1
  157. package/dist/agent-src/skills/bug-analyzer/SKILL.md +30 -12
  158. package/dist/agent-src/skills/code-intelligence/SKILL.md +17 -15
  159. package/dist/agent-src/skills/code-intelligence/evals/triggers.json +52 -0
  160. package/dist/agent-src/skills/code-review/SKILL.md +6 -6
  161. package/dist/agent-src/skills/command-routing/SKILL.md +5 -4
  162. package/dist/agent-src/skills/composer-packages/SKILL.md +2 -2
  163. package/dist/agent-src/skills/condense-memory/SKILL.md +43 -41
  164. package/dist/agent-src/skills/context-document/SKILL.md +23 -21
  165. package/dist/agent-src/skills/copilot-config/SKILL.md +6 -1
  166. package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
  167. package/dist/agent-src/skills/decision-record/SKILL.md +20 -18
  168. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  169. package/dist/agent-src/skills/design-intelligence/SKILL.md +4 -4
  170. package/dist/agent-src/skills/design-review/SKILL.md +20 -20
  171. package/dist/agent-src/skills/design-system-capture/reference/design-system-json.md +28 -25
  172. package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
  173. package/dist/agent-src/skills/devcontainer/SKILL.md +2 -2
  174. package/dist/agent-src/skills/docker/SKILL.md +1 -1
  175. package/dist/agent-src/skills/docx-authoring/evals/triggers.json +52 -0
  176. package/dist/agent-src/skills/emit-tickets/SKILL.md +2 -2
  177. package/dist/agent-src/skills/error-handling-patterns/SKILL.md +1 -1
  178. package/dist/agent-src/skills/estimate-ticket/SKILL.md +2 -2
  179. package/dist/agent-src/skills/evaluate-llm-feature/SKILL.md +0 -1
  180. package/dist/agent-src/skills/evaluate-llm-feature/evals/triggers.json +52 -0
  181. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +6 -5
  182. package/dist/agent-src/skills/feature-planning/SKILL.md +2 -2
  183. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +3 -3
  184. package/dist/agent-src/skills/flux/SKILL.md +1 -1
  185. package/dist/agent-src/skills/frontend-render-security/SKILL.md +13 -13
  186. package/dist/agent-src/skills/git-workflow/SKILL.md +33 -33
  187. package/dist/agent-src/skills/grafana/SKILL.md +5 -0
  188. package/dist/agent-src/skills/history-design/SKILL.md +101 -0
  189. package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
  190. package/dist/agent-src/skills/humanizer/SKILL.md +84 -67
  191. package/dist/agent-src/skills/humanizer/data/patterns.md +14 -14
  192. package/dist/agent-src/skills/humanizer/references/anti-aiisms.md +4 -4
  193. package/dist/agent-src/skills/image-editing/SKILL.md +1 -1
  194. package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
  195. package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
  196. package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +82 -37
  197. package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +17 -5
  198. package/dist/agent-src/skills/judge-injection-defense/SKILL.md +63 -25
  199. package/dist/agent-src/skills/judge-security-auditor/SKILL.md +2 -0
  200. package/dist/agent-src/skills/judge-synthesis/SKILL.md +72 -28
  201. package/dist/agent-src/skills/laravel-horizon/SKILL.md +5 -0
  202. package/dist/agent-src/skills/laravel-mail/SKILL.md +5 -4
  203. package/dist/agent-src/skills/laravel-middleware/SKILL.md +5 -4
  204. package/dist/agent-src/skills/laravel-notifications/SKILL.md +10 -9
  205. package/dist/agent-src/skills/laravel-pennant/SKILL.md +1 -1
  206. package/dist/agent-src/skills/laravel-pulse/SKILL.md +9 -8
  207. package/dist/agent-src/skills/laravel-reverb/SKILL.md +6 -5
  208. package/dist/agent-src/skills/laravel-scheduling/SKILL.md +6 -1
  209. package/dist/agent-src/skills/laravel-validation/SKILL.md +12 -0
  210. package/dist/agent-src/skills/launch-readiness/SKILL.md +2 -2
  211. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +7 -7
  212. package/dist/agent-src/skills/learning-tutor/SKILL.md +44 -43
  213. package/dist/agent-src/skills/learning-tutor/evals/triggers.json +52 -0
  214. package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
  215. package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
  216. package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
  217. package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
  218. package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
  219. package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
  220. package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +0 -1
  221. package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
  222. package/dist/agent-src/skills/memory-consolidation/SKILL.md +69 -64
  223. package/dist/agent-src/skills/motion-choreographer/SKILL.md +6 -6
  224. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  225. package/dist/agent-src/skills/pdf-tools/evals/triggers.json +52 -0
  226. package/dist/agent-src/skills/performance-analysis/SKILL.md +7 -3
  227. package/dist/agent-src/skills/persona-improvement/SKILL.md +0 -2
  228. package/dist/agent-src/skills/persona-improvement/evals/triggers.json +52 -0
  229. package/dist/agent-src/skills/php-coder/SKILL.md +10 -0
  230. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +136 -127
  231. package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +36 -35
  232. package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +45 -41
  233. package/dist/agent-src/skills/project-analysis-core/SKILL.md +5 -5
  234. package/dist/agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
  235. package/dist/agent-src/skills/project-analysis-react/SKILL.md +1 -1
  236. package/dist/agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
  237. package/dist/agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
  238. package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
  239. package/dist/agent-src/skills/prompt-engineering-patterns/SKILL.md +1 -1
  240. package/dist/agent-src/skills/prompt-validator/SKILL.md +39 -39
  241. package/dist/agent-src/skills/quality-tools/SKILL.md +15 -15
  242. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +57 -21
  243. package/dist/agent-src/skills/react-shadcn-ui/reference/registry.md +29 -27
  244. package/dist/agent-src/skills/readme-writing-package/SKILL.md +2 -2
  245. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +25 -25
  246. package/dist/agent-src/skills/recursive-verification/SKILL.md +7 -0
  247. package/dist/agent-src/skills/refine-prompt/SKILL.md +1 -1
  248. package/dist/agent-src/skills/refine-ticket/SKILL.md +23 -5
  249. package/dist/agent-src/skills/repomix-packer/SKILL.md +1 -1
  250. package/dist/agent-src/skills/requesting-code-review/SKILL.md +2 -2
  251. package/dist/agent-src/skills/roadmap-management/SKILL.md +80 -66
  252. package/dist/agent-src/skills/roadmap-writing/SKILL.md +84 -73
  253. package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
  254. package/dist/agent-src/skills/rule-refactor/SKILL.md +4 -4
  255. package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
  256. package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
  257. package/dist/agent-src/skills/screenshot-hygiene/evals/triggers.json +52 -0
  258. package/dist/agent-src/skills/secrets-management/SKILL.md +3 -4
  259. package/dist/agent-src/skills/security-audit/SKILL.md +27 -10
  260. package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +39 -17
  261. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +17 -14
  262. package/dist/agent-src/skills/skill-writing/SKILL.md +11 -10
  263. package/dist/agent-src/skills/song-to-script/SKILL.md +93 -85
  264. package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
  265. package/dist/agent-src/skills/sql-writing/SKILL.md +2 -2
  266. package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +4 -3
  267. package/dist/agent-src/skills/standards-from-config/SKILL.md +61 -43
  268. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +60 -86
  269. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +33 -6
  270. package/dist/agent-src/skills/supply-chain-intake/SKILL.md +13 -13
  271. package/dist/agent-src/skills/systematic-debugging/SKILL.md +24 -23
  272. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +3 -4
  273. package/dist/agent-src/skills/technical-specification/SKILL.md +5 -0
  274. package/dist/agent-src/skills/terraform/SKILL.md +2 -2
  275. package/dist/agent-src/skills/terragrunt/SKILL.md +8 -8
  276. package/dist/agent-src/skills/testing-anti-patterns/process-anti-patterns.md +1 -1
  277. package/dist/agent-src/skills/threat-modeling/SKILL.md +19 -13
  278. package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
  279. package/dist/agent-src/skills/universal-project-analysis/SKILL.md +1 -1
  280. package/dist/agent-src/skills/upstream-contribute/SKILL.md +0 -1
  281. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +9 -9
  282. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +3 -1
  283. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +4 -6
  284. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +67 -61
  285. package/dist/agent-src/skills/video-director/SKILL.md +7 -7
  286. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +5 -6
  287. package/dist/agent-src/templates/AGENTS.md +1 -1
  288. package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
  289. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  290. package/dist/agent-src/templates/command.md +3 -3
  291. package/dist/agent-src/templates/contexts/knowledge-pages.md +47 -45
  292. package/dist/agent-src/templates/contexts/lesson-card.md +2 -2
  293. package/dist/agent-src/templates/contexts/tenant-boundaries.md +2 -2
  294. package/dist/agent-src/templates/contexts.md +1 -1
  295. package/dist/agent-src/templates/features.md +1 -1
  296. package/dist/agent-src/templates/persona.md +2 -2
  297. package/dist/agent-src/templates/roadmaps.md +125 -116
  298. package/dist/agent-src/templates/rule.md +4 -3
  299. package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  300. package/dist/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
  301. package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  302. package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
  303. package/dist/agent-src/templates/scripts/tier_usage_report.ts +2 -2
  304. package/dist/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +2 -2
  305. package/dist/agent-src/templates/scripts/work_engine/directives/ui/review.ts +1 -1
  306. package/dist/agent-src/user-types/README.md +8 -8
  307. package/dist/agent-src/user-types/galabau-field-crew.md +34 -33
  308. package/dist/agent-src/user-types/metalworking-shop.md +35 -34
  309. package/dist/agent-src/user-types/truck-driver.md +22 -20
  310. package/dist/cli/commands/doctorShell.js +20 -0
  311. package/dist/cli/commands/doctorShell.js.map +1 -1
  312. package/dist/cli/commands/rtkDetect.js +58 -0
  313. package/dist/cli/commands/rtkDetect.js.map +1 -0
  314. package/dist/cli/firstRunNotice.js +70 -0
  315. package/dist/cli/firstRunNotice.js.map +1 -0
  316. package/dist/cli/main.js +35 -3
  317. package/dist/cli/main.js.map +1 -1
  318. package/dist/cli/python/workspace_roles.js +2 -2
  319. package/dist/cli/python/workspace_roles.js.map +1 -1
  320. package/dist/cli/registry.js +7 -1
  321. package/dist/cli/registry.js.map +1 -1
  322. package/dist/discovery/deprecation-report.md +1 -1
  323. package/dist/discovery/discovery-manifest.json +429 -119
  324. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  325. package/dist/discovery/discovery-manifest.summary.md +6 -4
  326. package/dist/discovery/orphan-report.md +1 -1
  327. package/dist/discovery/packs.json +91 -8
  328. package/dist/discovery/trust-report.md +11 -11
  329. package/dist/discovery/workspaces.json +32 -7
  330. package/dist/hooks/dispatch.js +19649 -0
  331. package/dist/install/agentSwitchDetection.js +75 -0
  332. package/dist/install/agentSwitchDetection.js.map +1 -0
  333. package/dist/install/agentSwitchProfile.js +117 -0
  334. package/dist/install/agentSwitchProfile.js.map +1 -0
  335. package/dist/install/atomic.js +1 -1
  336. package/dist/install/detect.js +1 -1
  337. package/dist/install/install.mjs +783 -486
  338. package/dist/install/rtkDetection.js +213 -0
  339. package/dist/install/rtkDetection.js.map +1 -0
  340. package/dist/install/rule_scope.js +2 -1
  341. package/dist/install/rule_scope.js.map +1 -1
  342. package/dist/install/types.js +2 -2
  343. package/dist/install/wizard-plan.js +1 -1
  344. package/dist/install/wizardDismissals.js +58 -0
  345. package/dist/install/wizardDismissals.js.map +1 -0
  346. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  347. package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
  348. package/dist/mcp/registry-manifest.json +15 -4
  349. package/dist/mcp/server.json +20 -0
  350. package/dist/mcp/server.mjs +44634 -0
  351. package/dist/router.json +1 -1
  352. package/dist/scripts/_lib/compile_time_toggles.js +48 -0
  353. package/dist/scripts/_lib/compile_time_toggles.js.map +1 -0
  354. package/dist/scripts/condense.js +248 -224
  355. package/dist/scripts/condense.js.map +1 -1
  356. package/dist/server/app.js +4 -2
  357. package/dist/server/app.js.map +1 -1
  358. package/dist/server/io/sharedWriteCheck.js +101 -0
  359. package/dist/server/io/sharedWriteCheck.js.map +1 -0
  360. package/dist/server/routes/ping.js +14 -0
  361. package/dist/server/routes/ping.js.map +1 -1
  362. package/dist/server/routes/settings.js +21 -4
  363. package/dist/server/routes/settings.js.map +1 -1
  364. package/dist/server/routes/userMd.js +21 -4
  365. package/dist/server/routes/userMd.js.map +1 -1
  366. package/dist/server/routes/wizard.js +68 -25
  367. package/dist/server/routes/wizard.js.map +1 -1
  368. package/dist/server/schemas/settings.js +8 -2
  369. package/dist/server/schemas/settings.js.map +1 -1
  370. package/dist/shared/userMd/utils.js +30 -0
  371. package/dist/shared/userMd/utils.js.map +1 -1
  372. package/dist/ui/assets/index-BpSQt5vm.js +40 -0
  373. package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
  374. package/dist/ui/assets/index-jSfMW8_t.css +1 -0
  375. package/dist/ui/index.html +2 -2
  376. package/docs/MIGRATION.md +16 -0
  377. package/docs/guidelines/agent-infra/api-cost-levers.md +56 -5
  378. package/docs/guidelines/agent-infra/simplicity-and-goal-demos.md +93 -33
  379. package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
  380. package/package.json +21 -11
  381. package/src/agent-src/templates/AGENTS.md +1 -1
  382. package/src/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  383. package/src/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
  384. package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  385. package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
  386. package/src/agent-src/templates/scripts/tier_usage_report.ts +2 -2
  387. package/src/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +2 -2
  388. package/src/agent-src/templates/scripts/work_engine/directives/ui/review.ts +1 -1
  389. package/src/config/agent-settings.template.yml +84 -16
  390. package/src/config/ci-local-parity.yml +142 -0
  391. package/src/config/discovery/packs.yml +22 -0
  392. package/src/config/discovery/workspaces.yml +1 -1
  393. package/src/config/evaluator-budgets.json +47 -0
  394. package/src/config/gate-coverage.yml +127 -0
  395. package/src/config/hook-latency-budget.json +20 -0
  396. package/src/config/preamble-payload-budget.json +44 -0
  397. package/src/install/agentSwitchDetection.ts +90 -0
  398. package/src/install/agentSwitchProfile.ts +131 -0
  399. package/src/install/atomic.ts +1 -1
  400. package/src/install/detect.ts +1 -1
  401. package/src/install/rtkDetection.ts +274 -0
  402. package/src/install/rule_scope.ts +9 -2
  403. package/src/install/types.ts +2 -2
  404. package/src/install/wizard-plan.ts +1 -1
  405. package/src/install/wizardDismissals.ts +60 -0
  406. package/src/scripts/_cli/cmd_doctor.ts +139 -2
  407. package/src/scripts/_cli/cmd_memory_get.ts +197 -0
  408. package/src/scripts/_cli/cmd_refresh.ts +30 -0
  409. package/src/scripts/_dispatch.bash +81 -0
  410. package/src/scripts/_lib/agent_user_profile.ts +381 -0
  411. package/src/scripts/_lib/agents_overlay.ts +9 -0
  412. package/src/scripts/_lib/anchor_eval.ts +311 -0
  413. package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
  414. package/src/scripts/_lib/auto_dispatch.ts +76 -0
  415. package/src/scripts/_lib/cc_transcript.ts +316 -0
  416. package/src/scripts/_lib/compile_time_toggles.ts +79 -0
  417. package/src/scripts/_lib/confusables.ts +101 -0
  418. package/src/scripts/_lib/detect_target_license.ts +714 -0
  419. package/src/scripts/_lib/duplicate_scope_census.ts +77 -0
  420. package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +5 -0
  421. package/src/scripts/_lib/fixtures/secret-detector/positives.txt +4 -0
  422. package/src/scripts/_lib/install_drift.ts +194 -0
  423. package/src/scripts/_lib/managed_agents_folder.ts +181 -0
  424. package/src/scripts/_lib/memory_fts_index.ts +390 -0
  425. package/src/scripts/_lib/orchestration_record.ts +91 -2
  426. package/src/scripts/_lib/payload_hash_drift.ts +126 -0
  427. package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
  428. package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
  429. package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
  430. package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
  431. package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
  432. package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
  433. package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
  434. package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
  435. package/src/scripts/_lib/persistence/types.ts +109 -0
  436. package/src/scripts/_lib/preservation_migration.ts +291 -0
  437. package/src/scripts/_lib/retrieval_sanitize.ts +166 -2
  438. package/src/scripts/_lib/rtk_allowlist.ts +44 -0
  439. package/src/scripts/_lib/scan_scope.ts +115 -0
  440. package/src/scripts/_lib/secret_detector.test.ts +5 -0
  441. package/src/scripts/_lib/secret_detector.ts +9 -0
  442. package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
  443. package/src/scripts/_lib/spawn_env.ts +7 -0
  444. package/src/scripts/_lib/sqlite_guard.ts +191 -0
  445. package/src/scripts/_lib/subagent_spawn.ts +53 -0
  446. package/src/scripts/_lib/user_global_memory_audit.ts +187 -0
  447. package/src/scripts/_lib/user_global_observations.ts +830 -0
  448. package/src/scripts/_lib/user_global_revocations.ts +110 -0
  449. package/src/scripts/_lib/user_memory_gate_counters.ts +291 -0
  450. package/src/scripts/_lib/worker_budget.ts +107 -0
  451. package/src/scripts/ai_council/blind_review.ts +212 -0
  452. package/src/scripts/ai_council/budget_guard.ts +90 -11
  453. package/src/scripts/ai_council/bundler.ts +2 -2
  454. package/src/scripts/ai_council/clients.ts +59 -3
  455. package/src/scripts/ai_council/config.ts +50 -6
  456. package/src/scripts/ai_council/orchestrator.ts +127 -12
  457. package/src/scripts/ai_team/review_gate.ts +8 -10
  458. package/src/scripts/ai_team/team_dispatch.ts +65 -6
  459. package/src/scripts/anchor_eval_falsify.ts +198 -0
  460. package/src/scripts/anchor_scoring_run.ts +239 -0
  461. package/src/scripts/annotate_discovery.ts +1 -65
  462. package/src/scripts/audit_initial_context.ts +1 -1
  463. package/src/scripts/bench_cross_source_eval.ts +400 -0
  464. package/src/scripts/bench_honesty_score.ts +1093 -0
  465. package/src/scripts/bench_hook_latency.ts +218 -0
  466. package/src/scripts/bench_quality_run.ts +168 -4
  467. package/src/scripts/build_mcp_catalog.ts +275 -0
  468. package/src/scripts/build_mcp_registry_manifest.ts +46 -0
  469. package/src/scripts/build_proof.ts +45 -0
  470. package/src/scripts/cache_realization_report.ts +782 -0
  471. package/src/scripts/chat_history.ts +8 -5
  472. package/src/scripts/check_artefact_count_messaging.ts +5 -1
  473. package/src/scripts/check_augment_description_cap.ts +15 -4
  474. package/src/scripts/check_backstop_debt.ts +23 -13
  475. package/src/scripts/check_bundle_path_leakage.ts +343 -0
  476. package/src/scripts/check_ci_local_parity.ts +317 -0
  477. package/src/scripts/check_condensation.ts +96 -191
  478. package/src/scripts/check_context_paths.ts +38 -9
  479. package/src/scripts/check_evaluator_budgets.ts +99 -0
  480. package/src/scripts/check_gate_coverage.ts +299 -0
  481. package/src/scripts/check_iron_law_prominence.ts +22 -1
  482. package/src/scripts/check_kernel_prefix_stability.ts +0 -0
  483. package/src/scripts/check_knowledge_sharing.ts +12 -1
  484. package/src/scripts/check_no_external_sources.ts +2 -2
  485. package/src/scripts/check_no_new_legacy_path.ts +16 -6
  486. package/src/scripts/check_no_roadmap_refs.ts +22 -9
  487. package/src/scripts/check_originality_freshness.ts +167 -0
  488. package/src/scripts/check_preamble_payload_budget.ts +130 -0
  489. package/src/scripts/check_proposal.ts +0 -0
  490. package/src/scripts/check_references.ts +0 -1
  491. package/src/scripts/check_safety_floor_untouched.ts +171 -24
  492. package/src/scripts/check_site_links.ts +62 -3
  493. package/src/scripts/check_source_pointer_freshness.ts +28 -3
  494. package/src/scripts/ci_status.ts +0 -0
  495. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  496. package/src/scripts/code_graph/build.ts +0 -0
  497. package/src/scripts/code_graph/cli.ts +181 -9
  498. package/src/scripts/code_graph/detect.ts +52 -0
  499. package/src/scripts/code_graph/intent.ts +45 -0
  500. package/src/scripts/code_graph/query.ts +143 -29
  501. package/src/scripts/code_graph/sqlite_store.ts +174 -0
  502. package/src/scripts/command_suggester/types.ts +0 -0
  503. package/src/scripts/compile_router.ts +10 -14
  504. package/src/scripts/condense.sh +3 -4
  505. package/src/scripts/condense.ts +261 -234
  506. package/src/scripts/context_hygiene_hook.ts +8 -5
  507. package/src/scripts/cost/track.mjs +168 -33
  508. package/src/scripts/cost_summary.ts +33 -1
  509. package/src/scripts/council_cli.ts +171 -15
  510. package/src/scripts/detect_target_license.ts +203 -0
  511. package/src/scripts/discovery_graph.ts +0 -0
  512. package/src/scripts/encoding_corpus.ts +500 -0
  513. package/src/scripts/encoding_corpus_report.ts +216 -0
  514. package/src/scripts/evaluator_umbrella.sh +145 -0
  515. package/src/scripts/external_sources_denylist.json +5 -3
  516. package/src/scripts/first_run_gate_hook.ts +9 -5
  517. package/src/scripts/generate_index.ts +19 -2
  518. package/src/scripts/hermetic-install.sh +3 -3
  519. package/src/scripts/hook_manifest.yaml +55 -16
  520. package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
  521. package/src/scripts/hooks/block_no_verify.ts +9 -9
  522. package/src/scripts/hooks/code_graph_nudge_hook.ts +11 -4
  523. package/src/scripts/hooks/concern_registry.ts +75 -0
  524. package/src/scripts/hooks/design_slop_hook.ts +8 -5
  525. package/src/scripts/hooks/dispatch_entry.ts +37 -0
  526. package/src/scripts/hooks/dispatch_hook.ts +176 -3
  527. package/src/scripts/hooks/hook_stdin.ts +42 -0
  528. package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
  529. package/src/scripts/hot_context_hook.ts +7 -6
  530. package/src/scripts/injection_scan_hook.ts +9 -1
  531. package/src/scripts/install +6 -6
  532. package/src/scripts/install-hooks.sh +6 -6
  533. package/src/scripts/install.sh +5 -4
  534. package/src/scripts/install.ts +264 -23
  535. package/src/scripts/learning_sidecar.ts +0 -0
  536. package/src/scripts/lint_budget_ownership.ts +89 -0
  537. package/src/scripts/lint_command_routing.ts +35 -5
  538. package/src/scripts/lint_command_verbs.ts +42 -9
  539. package/src/scripts/lint_confusables.ts +10 -72
  540. package/src/scripts/lint_consumer_internal_refs.ts +211 -0
  541. package/src/scripts/lint_discovery_vocabulary.ts +2 -0
  542. package/src/scripts/lint_documented_commands.ts +670 -0
  543. package/src/scripts/lint_featured_skills.ts +0 -0
  544. package/src/scripts/lint_framework_leakage.ts +17 -3
  545. package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
  546. package/src/scripts/lint_governed_writes.ts +335 -0
  547. package/src/scripts/lint_hidden_unicode.ts +214 -0
  548. package/src/scripts/lint_load_context.ts +17 -5
  549. package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
  550. package/src/scripts/lint_memory_tripwire.ts +186 -0
  551. package/src/scripts/lint_new_skill_gate.ts +9 -3
  552. package/src/scripts/lint_no_python_twin_rationale.ts +17 -2
  553. package/src/scripts/lint_originality.ts +1 -1
  554. package/src/scripts/lint_override_kernel_guard.ts +74 -26
  555. package/src/scripts/lint_persistence.ts +171 -0
  556. package/src/scripts/lint_pre_migration_refs.ts +106 -0
  557. package/src/scripts/lint_provenance.ts +547 -0
  558. package/src/scripts/lint_provenance_vocabulary.ts +437 -0
  559. package/src/scripts/lint_skill_originality.ts +1 -1
  560. package/src/scripts/lint_spawn_payload.ts +283 -0
  561. package/src/scripts/lint_store_boundary.ts +152 -0
  562. package/src/scripts/lint_ticket_buildable.ts +1 -1
  563. package/src/scripts/lint_versioned_cache.ts +7 -1
  564. package/src/scripts/mcp_server/__main__.ts +7 -2
  565. package/src/scripts/mcp_server/catalog.ts +23 -1
  566. package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
  567. package/src/scripts/mcp_server/prompts.ts +6 -0
  568. package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
  569. package/src/scripts/mcp_server/tools.ts +57 -6
  570. package/src/scripts/mcp_telemetry_query.ts +2 -33
  571. package/src/scripts/mcp_telemetry_store.ts +64 -34
  572. package/src/scripts/measure_scope_dedup.ts +224 -0
  573. package/src/scripts/memory_learn_hook.ts +126 -0
  574. package/src/scripts/memory_lookup.ts +0 -0
  575. package/src/scripts/memory_replay_24.ts +312 -0
  576. package/src/scripts/memory_report.ts +16 -3
  577. package/src/scripts/memory_signal.ts +48 -0
  578. package/src/scripts/memory_status.ts +6 -0
  579. package/src/scripts/mine_session.ts +98 -0
  580. package/src/scripts/minimal_safe_diff_hook.ts +8 -5
  581. package/src/scripts/onboarding_gate_hook.ts +8 -5
  582. package/src/scripts/orchestration_payload_hash_drift.ts +145 -0
  583. package/src/scripts/orchestration_record.ts +16 -0
  584. package/src/scripts/pr_url_reminder_hook.ts +8 -1
  585. package/src/scripts/preamble_byte_census.ts +574 -0
  586. package/src/scripts/prepack-check.mjs +17 -0
  587. package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
  588. package/src/scripts/prepack_lifecycle_check.mjs +82 -0
  589. package/src/scripts/probe_skill_registration.ts +2 -2
  590. package/src/scripts/profile_staleness_hook.ts +8 -7
  591. package/src/scripts/redact_hook_capture.ts +13 -0
  592. package/src/scripts/release.ts +65 -10
  593. package/src/scripts/report_install_drift.ts +109 -0
  594. package/src/scripts/roadmap_progress_hook.ts +8 -5
  595. package/src/scripts/router_telemetry.ts +1 -1
  596. package/src/scripts/schemas/license-policy.schema.json +89 -0
  597. package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
  598. package/src/scripts/schemas/rule.schema.json +10 -0
  599. package/src/scripts/second_brain_retrieval.ts +14 -4
  600. package/src/scripts/self_review_gate.test.ts +173 -1
  601. package/src/scripts/self_review_gate.ts +155 -15
  602. package/src/scripts/session_canary_hook.ts +182 -0
  603. package/src/scripts/skill_linter.ts +5 -0
  604. package/src/scripts/smoke_quickstart.ts +2 -2
  605. package/src/scripts/surface-tiers.yml +2 -0
  606. package/src/scripts/surface_probe_hook.ts +8 -7
  607. package/src/scripts/sync_gitattributes.ts +310 -0
  608. package/src/scripts/team_review_gate_hook.ts +13 -16
  609. package/src/scripts/validate_pack_yaml.ts +0 -0
  610. package/src/scripts/verify_before_complete_hook.ts +8 -5
  611. package/src/scripts/wrapper_freshness_hook.ts +8 -7
  612. package/src/server/schemas/settings.ts +16 -2
  613. package/src/shared/userMd/utils.ts +31 -0
  614. package/dist/agent-src/rules/telegraph-speak.md +0 -87
  615. package/dist/ui/assets/index-BPFMZWUs.css +0 -1
  616. package/dist/ui/assets/index-CrmZ34Rg.js +0 -40
  617. package/dist/ui/assets/index-CrmZ34Rg.js.map +0 -1
  618. package/docs/CLAIMS.md +0 -286
  619. package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
  620. package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
  621. package/docs/SKILL_CENSUS.md +0 -352
  622. package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
  623. package/docs/adrs/cost/README.md +0 -9
  624. package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
  625. package/docs/adrs/memory/README.md +0 -10
  626. package/docs/adrs/router/0001-three-tier-routing.md +0 -119
  627. package/docs/adrs/router/README.md +0 -9
  628. package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
  629. package/docs/adrs/schema/README.md +0 -9
  630. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
  631. package/docs/adrs/smoke/README.md +0 -9
  632. package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
  633. package/docs/adrs/telegraph/README.md +0 -9
  634. package/docs/announcements/2026-05-non-dev-launch.md +0 -79
  635. package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
  636. package/docs/anti-reskin-gate.md +0 -60
  637. package/docs/architecture/augment-projection.md +0 -70
  638. package/docs/architecture/claude-bundle.md +0 -77
  639. package/docs/architecture/current-onboard-baseline.md +0 -126
  640. package/docs/architecture/current-safety-behavior.md +0 -137
  641. package/docs/architecture/multi-tool-projection.md +0 -125
  642. package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
  643. package/docs/architecture/source-projection.md +0 -85
  644. package/docs/architecture.md +0 -390
  645. package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
  646. package/docs/archive/CHANGELOG-7.0.0.md +0 -419
  647. package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
  648. package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
  649. package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
  650. package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
  651. package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
  652. package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
  653. package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
  654. package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
  655. package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
  656. package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
  657. package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
  658. package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
  659. package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
  660. package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
  661. package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
  662. package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
  663. package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
  664. package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
  665. package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
  666. package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
  667. package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
  668. package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
  669. package/docs/artefact-census.md +0 -71
  670. package/docs/benchmark.md +0 -785
  671. package/docs/benchmark.pinned.yml +0 -31
  672. package/docs/benchmarks.md +0 -85
  673. package/docs/capability-matrix.md +0 -33
  674. package/docs/case-studies/_template.md +0 -60
  675. package/docs/case-studies/frontend-design-positioning.md +0 -86
  676. package/docs/catalog.md +0 -726
  677. package/docs/command-flows.md +0 -272
  678. package/docs/command-naming-audit.md +0 -60
  679. package/docs/comparison.yaml +0 -87
  680. package/docs/contracts/CHANGELOG-conventions.md +0 -149
  681. package/docs/contracts/STABILITY.md +0 -188
  682. package/docs/contracts/adoption-signal-floor.md +0 -127
  683. package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
  684. package/docs/contracts/adr-chat-history-split.md +0 -140
  685. package/docs/contracts/adr-command-suggestion.md +0 -144
  686. package/docs/contracts/adr-forecast-construction-shape.md +0 -90
  687. package/docs/contracts/adr-gtm-context-spine.md +0 -116
  688. package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
  689. package/docs/contracts/adr-install-user-type-axis.md +0 -107
  690. package/docs/contracts/adr-layout.md +0 -107
  691. package/docs/contracts/adr-level-6-productization.md +0 -145
  692. package/docs/contracts/adr-mcp-runtime.md +0 -128
  693. package/docs/contracts/adr-product-ui-track.md +0 -381
  694. package/docs/contracts/adr-prompt-driven-execution.md +0 -186
  695. package/docs/contracts/adr-settings-sync-engine.md +0 -128
  696. package/docs/contracts/adr-user-types-axis.md +0 -127
  697. package/docs/contracts/adr-wing4-context-spine.md +0 -126
  698. package/docs/contracts/agent-user-schema.md +0 -170
  699. package/docs/contracts/agents-layout.md +0 -148
  700. package/docs/contracts/agents-md-tech-stack.md +0 -75
  701. package/docs/contracts/ai-council-config.md +0 -829
  702. package/docs/contracts/ai-team-config.md +0 -224
  703. package/docs/contracts/analysis-memory-loop.md +0 -149
  704. package/docs/contracts/at-rest-encryption.md +0 -191
  705. package/docs/contracts/audit-log-v1.md +0 -150
  706. package/docs/contracts/auto-orchestration-v1.md +0 -70
  707. package/docs/contracts/benchmark-ab-contract.md +0 -106
  708. package/docs/contracts/benchmark-corpus-spec.md +0 -125
  709. package/docs/contracts/benchmark-report-schema.md +0 -113
  710. package/docs/contracts/branch-protection-policy.md +0 -139
  711. package/docs/contracts/brand-token-consumption.md +0 -74
  712. package/docs/contracts/capability-boundary.md +0 -69
  713. package/docs/contracts/capability-packs.md +0 -217
  714. package/docs/contracts/ci-cost-budget.md +0 -111
  715. package/docs/contracts/ci-green-floor.md +0 -141
  716. package/docs/contracts/command-category-governance.md +0 -84
  717. package/docs/contracts/command-clusters.md +0 -399
  718. package/docs/contracts/command-surface-tiers.md +0 -176
  719. package/docs/contracts/command-taxonomy.md +0 -137
  720. package/docs/contracts/condensation-default-kill-criterion.md +0 -116
  721. package/docs/contracts/config-presets.md +0 -144
  722. package/docs/contracts/conformance.md +0 -84
  723. package/docs/contracts/consumer-bridge.md +0 -73
  724. package/docs/contracts/context-paths.md +0 -101
  725. package/docs/contracts/context-spine.md +0 -179
  726. package/docs/contracts/cost-dashboard.md +0 -143
  727. package/docs/contracts/cost-enforcement.md +0 -134
  728. package/docs/contracts/cost-profile-defaults.md +0 -110
  729. package/docs/contracts/cost-summary-schema.md +0 -107
  730. package/docs/contracts/creative-pack-boundary.md +0 -63
  731. package/docs/contracts/cross-repo-retrieval.md +0 -64
  732. package/docs/contracts/cross-wing-handoff.md +0 -134
  733. package/docs/contracts/daily-workspace.md +0 -147
  734. package/docs/contracts/decision-engine-gates.md +0 -120
  735. package/docs/contracts/decision-trace-v1.md +0 -177
  736. package/docs/contracts/design-artifact-lifecycle.md +0 -93
  737. package/docs/contracts/design-artifact-verification.md +0 -153
  738. package/docs/contracts/discovery-manifest.md +0 -209
  739. package/docs/contracts/discovery-manifest.schema.json +0 -254
  740. package/docs/contracts/evidence-based-pruning.md +0 -102
  741. package/docs/contracts/explain-modes.md +0 -187
  742. package/docs/contracts/explain-trace.schema.json +0 -144
  743. package/docs/contracts/file-ownership-matrix.json +0 -13941
  744. package/docs/contracts/file-ownership-matrix.md +0 -135
  745. package/docs/contracts/frontmatter-contract.md +0 -140
  746. package/docs/contracts/ghostwriter-schema.md +0 -337
  747. package/docs/contracts/governance-enforcement-projection.md +0 -159
  748. package/docs/contracts/gui-wizard.md +0 -350
  749. package/docs/contracts/harness-expectations.md +0 -128
  750. package/docs/contracts/hook-architecture-v1.md +0 -325
  751. package/docs/contracts/host-agent-protocol.md +0 -110
  752. package/docs/contracts/implement-ticket-flow.md +0 -625
  753. package/docs/contracts/init-telemetry.md +0 -132
  754. package/docs/contracts/injected-block-authenticity-model.md +0 -66
  755. package/docs/contracts/install-layout.md +0 -249
  756. package/docs/contracts/install-scopes.md +0 -82
  757. package/docs/contracts/installed-tools-lockfile.md +0 -144
  758. package/docs/contracts/installer-agent-mode.md +0 -137
  759. package/docs/contracts/iron-law-overrides.txt +0 -26
  760. package/docs/contracts/kernel-membership.md +0 -339
  761. package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
  762. package/docs/contracts/linear-ai-three-layers.md +0 -130
  763. package/docs/contracts/linter-structural-model.md +0 -181
  764. package/docs/contracts/load-context-budget-model.md +0 -259
  765. package/docs/contracts/load-context-schema.md +0 -220
  766. package/docs/contracts/local-analytics.md +0 -160
  767. package/docs/contracts/local-knowledge-ingestion.md +0 -96
  768. package/docs/contracts/local-server-api.md +0 -134
  769. package/docs/contracts/local-server-ports.md +0 -53
  770. package/docs/contracts/low-impact-corpus-format.md +0 -95
  771. package/docs/contracts/mcp-beta-criteria.md +0 -130
  772. package/docs/contracts/mcp-cloud-scope.md +0 -355
  773. package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
  774. package/docs/contracts/mcp-phase-1-scope.md +0 -272
  775. package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
  776. package/docs/contracts/mcp-tool-inventory.md +0 -64
  777. package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
  778. package/docs/contracts/measurement-baseline.md +0 -103
  779. package/docs/contracts/memory-visibility-v1.md +0 -160
  780. package/docs/contracts/mental-models.md +0 -336
  781. package/docs/contracts/migrate-command.md +0 -233
  782. package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
  783. package/docs/contracts/namespace.md +0 -125
  784. package/docs/contracts/no-runtime-boundary.md +0 -61
  785. package/docs/contracts/one-off-script-lifecycle.md +0 -110
  786. package/docs/contracts/orchestration-dsl-v1.md +0 -153
  787. package/docs/contracts/package-self-orientation.md +0 -163
  788. package/docs/contracts/pilot/agent-authority.md +0 -24
  789. package/docs/contracts/pilot/direct-answers.md +0 -70
  790. package/docs/contracts/pilot/language-and-tone.md +0 -63
  791. package/docs/contracts/plain-language-surface.md +0 -117
  792. package/docs/contracts/prelaunch-diagnostics.md +0 -151
  793. package/docs/contracts/profile-system.md +0 -167
  794. package/docs/contracts/reasoning-discipline-protocol.md +0 -83
  795. package/docs/contracts/release-pr-gating.md +0 -151
  796. package/docs/contracts/release-sizing.md +0 -107
  797. package/docs/contracts/release-trunk-sync.md +0 -105
  798. package/docs/contracts/review-lens-schema.md +0 -64
  799. package/docs/contracts/roadmap-complexity-standard.md +0 -138
  800. package/docs/contracts/role-experience.md +0 -125
  801. package/docs/contracts/router-blending.md +0 -71
  802. package/docs/contracts/rule-classification.md +0 -171
  803. package/docs/contracts/rule-interactions.md +0 -132
  804. package/docs/contracts/rule-interactions.yml +0 -260
  805. package/docs/contracts/rule-priority-hierarchy.md +0 -88
  806. package/docs/contracts/rule-router.md +0 -287
  807. package/docs/contracts/safety-model.md +0 -129
  808. package/docs/contracts/session-profile-overlay.md +0 -157
  809. package/docs/contracts/settings-api.md +0 -264
  810. package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
  811. package/docs/contracts/settings-sync-yaml-subset.md +0 -139
  812. package/docs/contracts/skill-bundled-assets.md +0 -62
  813. package/docs/contracts/skill-discovery.md +0 -80
  814. package/docs/contracts/skill-distribution-channels.md +0 -66
  815. package/docs/contracts/skill-domains.md +0 -144
  816. package/docs/contracts/skill-dry-run.md +0 -47
  817. package/docs/contracts/skill-family-map.yml +0 -915
  818. package/docs/contracts/smoke-contracts.md +0 -144
  819. package/docs/contracts/subagent-boundary.md +0 -74
  820. package/docs/contracts/surface-agent-contracts.md +0 -153
  821. package/docs/contracts/surface-matrix.md +0 -108
  822. package/docs/contracts/surface-tiers.md +0 -81
  823. package/docs/contracts/telegraph-telemetry.md +0 -83
  824. package/docs/contracts/ticket-bundle-format.md +0 -233
  825. package/docs/contracts/tier-3-contrib-plugin.md +0 -137
  826. package/docs/contracts/trust-and-safety.md +0 -144
  827. package/docs/contracts/ui-stack-extension.md +0 -237
  828. package/docs/contracts/ui-track-flow.md +0 -329
  829. package/docs/contracts/universal-skills.md +0 -91
  830. package/docs/contracts/user-type-schema.md +0 -146
  831. package/docs/contracts/value-dashboard-spec.md +0 -378
  832. package/docs/contracts/value-report-schema.md +0 -168
  833. package/docs/contracts/workflow-packs.md +0 -121
  834. package/docs/contracts/workspace-boundary.md +0 -84
  835. package/docs/contracts/workspace-documents.md +0 -144
  836. package/docs/contracts/write-engine.md +0 -182
  837. package/docs/cookbook.md +0 -152
  838. package/docs/customization.md +0 -696
  839. package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
  840. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
  841. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
  842. package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
  843. package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
  844. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
  845. package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
  846. package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
  847. package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
  848. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
  849. package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
  850. package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
  851. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
  852. package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
  853. package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
  854. package/docs/decisions/ADR-016-installer-architecture.md +0 -191
  855. package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
  856. package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
  857. package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
  858. package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
  859. package/docs/decisions/ADR-021-deployment-shape.md +0 -153
  860. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
  861. package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
  862. package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
  863. package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
  864. package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
  865. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
  866. package/docs/decisions/ADR-028-root-layout.md +0 -147
  867. package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
  868. package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
  869. package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
  870. package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
  871. package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
  872. package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
  873. package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
  874. package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
  875. package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
  876. package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
  877. package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
  878. package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
  879. package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
  880. package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
  881. package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
  882. package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
  883. package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
  884. package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
  885. package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
  886. package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
  887. package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
  888. package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
  889. package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
  890. package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
  891. package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
  892. package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
  893. package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
  894. package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
  895. package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
  896. package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
  897. package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
  898. package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
  899. package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
  900. package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
  901. package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
  902. package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
  903. package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
  904. package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
  905. package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
  906. package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
  907. package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
  908. package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
  909. package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
  910. package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
  911. package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
  912. package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
  913. package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
  914. package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
  915. package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
  916. package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
  917. package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
  918. package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
  919. package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
  920. package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
  921. package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
  922. package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
  923. package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
  924. package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
  925. package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
  926. package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
  927. package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
  928. package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
  929. package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
  930. package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
  931. package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
  932. package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
  933. package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
  934. package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
  935. package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
  936. package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
  937. package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
  938. package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
  939. package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
  940. package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
  941. package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
  942. package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
  943. package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
  944. package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
  945. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
  946. package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
  947. package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -248
  948. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -112
  949. package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
  950. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
  951. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -209
  952. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
  953. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
  954. package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
  955. package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
  956. package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
  957. package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
  958. package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
  959. package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
  960. package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
  961. package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
  962. package/docs/decisions/ADR-124-embedded-engine-doctrine.md +0 -255
  963. package/docs/decisions/ADR-125-doc-screenshot-anonymization.md +0 -131
  964. package/docs/decisions/ADR-126-internet-reach-operator-tooling.md +0 -254
  965. package/docs/decisions/ADR-127-enforcement-claims-must-resolve.md +0 -150
  966. package/docs/decisions/ADR-128-executable-evidence-and-measured-escalation.md +0 -201
  967. package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
  968. package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
  969. package/docs/decisions/INDEX.md +0 -157
  970. package/docs/decisions/engine-reclassification-2026-07.md +0 -104
  971. package/docs/deploy/connector-setup.md +0 -129
  972. package/docs/deploy/env-vars.md +0 -70
  973. package/docs/deploy/policy-cookbook.md +0 -130
  974. package/docs/deploy/quickstart.md +0 -112
  975. package/docs/deploy/small-team-recipe.md +0 -148
  976. package/docs/deploy/team-deployment-posture.md +0 -111
  977. package/docs/design/adversarial-council-eval.md +0 -106
  978. package/docs/design/council-vs-solo-baseline.md +0 -92
  979. package/docs/design/cross-model-parity-eval.md +0 -82
  980. package/docs/design/length-neutral-judge-rerun.md +0 -92
  981. package/docs/design/utilization-window-criteria.md +0 -51
  982. package/docs/development.md +0 -230
  983. package/docs/distribution/awesome-list-submission.md +0 -46
  984. package/docs/distribution/consumer-matrix.md +0 -96
  985. package/docs/distribution/launch-story-draft.md +0 -58
  986. package/docs/distribution/mcp-submission-checklist.md +0 -95
  987. package/docs/distribution/public-install-smoke.md +0 -68
  988. package/docs/distribution/registries.md +0 -126
  989. package/docs/distribution/registry-submissions.md +0 -85
  990. package/docs/distribution/telemetry-privacy.md +0 -128
  991. package/docs/distribution/telemetry-schema.md +0 -174
  992. package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
  993. package/docs/end-to-end-walkthroughs.md +0 -165
  994. package/docs/enforcement-by-host.md +0 -51
  995. package/docs/examples/agent-user.example.md +0 -22
  996. package/docs/experiences/agency.md +0 -49
  997. package/docs/experiences/content_creator.md +0 -49
  998. package/docs/experiences/developer.md +0 -49
  999. package/docs/experiences/finance.md +0 -50
  1000. package/docs/experiences/founder.md +0 -49
  1001. package/docs/experiences/ops.md +0 -49
  1002. package/docs/featured-commands.md +0 -27
  1003. package/docs/featured-skills.md +0 -95
  1004. package/docs/flows.md +0 -67
  1005. package/docs/getting-started-by-role.md +0 -190
  1006. package/docs/getting-started-laravel.md +0 -72
  1007. package/docs/getting-started-local-stdio.md +0 -77
  1008. package/docs/getting-started.md +0 -254
  1009. package/docs/github-topics.md +0 -93
  1010. package/docs/governance-advantage.md +0 -72
  1011. package/docs/governance.md +0 -96
  1012. package/docs/guides/cross-repo-linked-projects.md +0 -93
  1013. package/docs/guides/cross-repo-retrieval.md +0 -61
  1014. package/docs/guides/frontend-design-corpus-refresh.md +0 -83
  1015. package/docs/guides/gated-platform-reads.md +0 -221
  1016. package/docs/guides/local-analytics.md +0 -125
  1017. package/docs/guides/local-knowledge.md +0 -127
  1018. package/docs/guides/skill-discovery.md +0 -71
  1019. package/docs/guides/skill-preview.md +0 -71
  1020. package/docs/hook-payload-capture.md +0 -221
  1021. package/docs/install-friction-report.md +0 -66
  1022. package/docs/installation.md +0 -959
  1023. package/docs/maintainers/branch-protection.md +0 -105
  1024. package/docs/maintainers/dev-mode.md +0 -106
  1025. package/docs/maintainers/optional-media-deps.md +0 -50
  1026. package/docs/maintainers/system-map.md +0 -85
  1027. package/docs/mcp-registries.md +0 -94
  1028. package/docs/mcp-server.md +0 -175
  1029. package/docs/mcp.md +0 -147
  1030. package/docs/media/proof-demo.cast +0 -14
  1031. package/docs/media/proof-demo.gif +0 -0
  1032. package/docs/migration/consumer-template-consumption-model.md +0 -145
  1033. package/docs/migration/divergences/README.md +0 -55
  1034. package/docs/migration/divergences/_template.md +0 -50
  1035. package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
  1036. package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
  1037. package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
  1038. package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
  1039. package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
  1040. package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
  1041. package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
  1042. package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
  1043. package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
  1044. package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
  1045. package/docs/migration/node-floor.md +0 -86
  1046. package/docs/migration/v1-to-v2.md +0 -156
  1047. package/docs/migration/yaml-roundtrip-spike.md +0 -163
  1048. package/docs/migrations/commands-1.15.0.md +0 -117
  1049. package/docs/parity/bench-external.json +0 -58
  1050. package/docs/parity/bench.json +0 -41
  1051. package/docs/parity/command-frontmatter.md +0 -60
  1052. package/docs/parity/external-runtime.md +0 -46
  1053. package/docs/personas.md +0 -178
  1054. package/docs/positioning-evidence.md +0 -86
  1055. package/docs/profiles.md +0 -108
  1056. package/docs/proof.md +0 -252
  1057. package/docs/quality.md +0 -98
  1058. package/docs/readme-split-plan.md +0 -102
  1059. package/docs/recruits/_template.md +0 -81
  1060. package/docs/release-runbook.md +0 -141
  1061. package/docs/role-experiences.md +0 -19
  1062. package/docs/safety.md +0 -30
  1063. package/docs/second-brain-scope.md +0 -116
  1064. package/docs/self-review-gate.md +0 -65
  1065. package/docs/setup/enterprise-and-offline.md +0 -201
  1066. package/docs/setup/mcp-client-config.md +0 -358
  1067. package/docs/setup/mcp-cloud-endpoints.md +0 -116
  1068. package/docs/setup/mcp-cloud-registry-listing.md +0 -99
  1069. package/docs/setup/mcp-cloud-setup.md +0 -183
  1070. package/docs/setup/mcp-r2-bootstrap.md +0 -82
  1071. package/docs/setup/mcp-server-docker.md +0 -101
  1072. package/docs/setup/per-ide/aider.md +0 -48
  1073. package/docs/setup/per-ide/antigravity.md +0 -68
  1074. package/docs/setup/per-ide/augment.md +0 -89
  1075. package/docs/setup/per-ide/claude-code.md +0 -97
  1076. package/docs/setup/per-ide/claude-desktop.md +0 -207
  1077. package/docs/setup/per-ide/cline.md +0 -43
  1078. package/docs/setup/per-ide/codebuddy.md +0 -63
  1079. package/docs/setup/per-ide/codex.md +0 -46
  1080. package/docs/setup/per-ide/continue.md +0 -68
  1081. package/docs/setup/per-ide/copilot.md +0 -80
  1082. package/docs/setup/per-ide/cursor.md +0 -125
  1083. package/docs/setup/per-ide/droid.md +0 -65
  1084. package/docs/setup/per-ide/gemini-cli.md +0 -45
  1085. package/docs/setup/per-ide/jetbrains.md +0 -76
  1086. package/docs/setup/per-ide/kilocode.md +0 -66
  1087. package/docs/setup/per-ide/kiro.md +0 -72
  1088. package/docs/setup/per-ide/opencode.md +0 -62
  1089. package/docs/setup/per-ide/qoder.md +0 -63
  1090. package/docs/setup/per-ide/roocode.md +0 -68
  1091. package/docs/setup/per-ide/trae.md +0 -63
  1092. package/docs/setup/per-ide/warp.md +0 -63
  1093. package/docs/setup/per-ide/windsurf.md +0 -109
  1094. package/docs/setup/per-ide/zed.md +0 -73
  1095. package/docs/showcase.md +0 -209
  1096. package/docs/skill-duplication-findings.md +0 -91
  1097. package/docs/skills-catalog.md +0 -265
  1098. package/docs/skills-taxonomy.md +0 -90
  1099. package/docs/spawn-site-policy.md +0 -72
  1100. package/docs/succession.md +0 -80
  1101. package/docs/threat-model.md +0 -30
  1102. package/docs/troubleshooting.md +0 -155
  1103. package/docs/ui-track-mental-model.md +0 -121
  1104. package/docs/us-vs-the-category.md +0 -38
  1105. package/docs/value.md +0 -86
  1106. package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
  1107. package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
  1108. package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
  1109. package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
  1110. package/docs/walkthroughs/daily-workspace.md +0 -127
  1111. package/docs/wedge/production-validator/README.md +0 -81
  1112. package/docs/wedge/production-validator/first-run-check.sh +0 -42
  1113. package/docs/wedge/production-validator/production-validator.md +0 -83
  1114. package/docs/wizard.md +0 -173
  1115. package/src/scripts/postinstall_gui.ts +0 -129
@@ -0,0 +1,782 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cache-realization report — pre-registers and evaluates the five claims
4
+ * (C-1..C-5) from `road-to-cache-economy.md` Phase 2.
5
+ *
6
+ * Metric definition (load-bearing, restated from `_lib/cc_transcript.ts`):
7
+ *
8
+ * billable_input = input_tokens + cache_read_input_tokens
9
+ * + cache_creation_input_tokens
10
+ *
11
+ * Anthropic's `usage.input_tokens` field EXCLUDES cache tokens — a cost or
12
+ * volume figure built from `input_tokens` alone silently drops the
13
+ * cache-read and cache-write legs. Every number in this report is built
14
+ * from `billable_input`, never from `input_tokens` alone.
15
+ *
16
+ * Class A (per the ADR-124 no-runtime-boundary contract): in-process,
17
+ * per-invocation, no socket, no daemon, no network, no writes outside a
18
+ * stdout/JSON report. Reads local `~/.claude/projects/**\/*.jsonl`
19
+ * transcripts (via `_lib/cc_transcript.ts` — reused, not reimplemented),
20
+ * local rule directories, local council-response artefacts, and shells out
21
+ * to `claude --version` and `git worktree list` (both read-only, no network).
22
+ *
23
+ * Usage:
24
+ * ./scripts-run src/scripts/cache_realization_report [--format text|json]
25
+ * [--root <path>] [--max-age-days <n>] [--repo-root <path>]
26
+ * [--council-root <path>] [--user-rules-dir <path>] [--project-rules-dir <path>]
27
+ *
28
+ * Defaults: `--root` is `~/.claude/projects` (the full tree, matching the
29
+ * roadmap's own "First-party measurement" method — no per-project filter);
30
+ * `--max-age-days 14` matches that measurement's stated window;
31
+ * `--repo-root` / `--council-root` default to this file's own repo checkout.
32
+ */
33
+ import { execFileSync } from 'node:child_process';
34
+ import * as fs from 'node:fs';
35
+ import { homedir } from 'node:os';
36
+ import * as path from 'node:path';
37
+ import { fileURLToPath, pathToFileURL } from 'node:url';
38
+
39
+ import {
40
+ aggregateByBucket,
41
+ billableInputTokens,
42
+ DEFAULT_PROJECTS_ROOT,
43
+ scanTranscripts,
44
+ type BucketAggregate,
45
+ type TranscriptBucket,
46
+ type TranscriptRecord,
47
+ } from './_lib/cc_transcript.js';
48
+ import { censusDuplicateScope } from './_lib/duplicate_scope_census.js';
49
+ import { load_prices, reprice_with_cache } from './ai_council/pricing.js';
50
+
51
+ const _HERE = fileURLToPath(import.meta.url);
52
+ // src/scripts/cache_realization_report.ts → parents[1] is the repo root
53
+ // (mirrors the same 2-up resolution `cost_summary.ts` uses for a script at
54
+ // the same directory depth).
55
+ const REPO_ROOT = path.resolve(path.dirname(_HERE), '..', '..');
56
+
57
+ const C1_COLD_START_DOMINANCE_THRESHOLD = 0.5;
58
+ const C2_DUPLICATE_SCOPE_THRESHOLD = 0.25;
59
+ const C4_COUNCIL_MISPRICING_THRESHOLD = 0.05;
60
+ const C5_CONFIRM_RATIO = 0.1;
61
+ const C5_FALSIFY_RATIO = 0.5;
62
+
63
+ const DRIFT_READ_SHARE_FLOOR = 0.9;
64
+ const DRIFT_COLD_START_SHARE_FLOOR = 0.5;
65
+
66
+ // ── generic stats helpers ──────────────────────────────────────────────
67
+
68
+ export function median(nums: readonly number[]): number {
69
+ if (nums.length === 0) return 0;
70
+ const sorted = [...nums].sort((a, b) => a - b);
71
+ const mid = Math.floor(sorted.length / 2);
72
+ return sorted.length % 2 === 0 ? ((sorted[mid - 1] as number) + (sorted[mid] as number)) / 2 : (sorted[mid] as number);
73
+ }
74
+
75
+ export function mean(nums: readonly number[]): number {
76
+ if (nums.length === 0) return 0;
77
+ return nums.reduce((a, b) => a + b, 0) / nums.length;
78
+ }
79
+
80
+ // ── cold-start analysis (subagent legs only — a "leg" is one agentId) ──
81
+
82
+ export interface ColdStartStats {
83
+ /** Distinct subagent agentIds observed. */
84
+ legs: number;
85
+ median_first_call_written_or_uncached: number;
86
+ mean_first_call_written_or_uncached: number;
87
+ /** Σ(first-call cache_read) / Σ(first-call billable_input) across ALL legs — an aggregate share, not a per-leg median. */
88
+ first_call_cache_read_share: number;
89
+ /** Σ(first-call cache_creation_input_tokens) / Σ(all subagent cache_creation_input_tokens) — the C-1 metric. */
90
+ cold_start_share_of_write_volume: number;
91
+ }
92
+
93
+ /**
94
+ * The first record per subagent leg (agentId), ordered by the ISO-8601
95
+ * `timestamp` string (lexical order matches chronological order for that
96
+ * format). Records with a missing/tied timestamp fall back to scan order
97
+ * (the array's own push order), which is deterministic within one run.
98
+ */
99
+ function firstCallsByLeg(records: readonly TranscriptRecord[]): TranscriptRecord[] {
100
+ const byAgent = new Map<string, TranscriptRecord[]>();
101
+ for (const r of records) {
102
+ if (r.bucket !== 'subagent' || r.agentId === null) continue;
103
+ const arr = byAgent.get(r.agentId) ?? [];
104
+ arr.push(r);
105
+ byAgent.set(r.agentId, arr);
106
+ }
107
+ const firstCalls: TranscriptRecord[] = [];
108
+ for (const arr of byAgent.values()) {
109
+ const sorted = arr
110
+ .map((r, idx) => ({ r, idx }))
111
+ .sort((a, b) => {
112
+ const ta = a.r.timestamp;
113
+ const tb = b.r.timestamp;
114
+ if (ta !== null && tb !== null && ta !== tb) return ta < tb ? -1 : 1;
115
+ if (ta !== null && tb === null) return -1;
116
+ if (ta === null && tb !== null) return 1;
117
+ return a.idx - b.idx;
118
+ })
119
+ .map((x) => x.r);
120
+ firstCalls.push(sorted[0] as TranscriptRecord);
121
+ }
122
+ return firstCalls;
123
+ }
124
+
125
+ export function computeColdStarts(records: readonly TranscriptRecord[]): ColdStartStats {
126
+ const subagentRecords = records.filter((r) => r.bucket === 'subagent');
127
+ const totalWriteVolume = subagentRecords.reduce((s, r) => s + r.usage.cache_creation_input_tokens, 0);
128
+ const firstCalls = firstCallsByLeg(records);
129
+
130
+ const writtenOrUncached = firstCalls.map((r) => r.usage.cache_creation_input_tokens + r.usage.input_tokens);
131
+ const sumFirstCallRead = firstCalls.reduce((s, r) => s + r.usage.cache_read_input_tokens, 0);
132
+ const sumFirstCallBillable = firstCalls.reduce((s, r) => s + billableInputTokens(r.usage), 0);
133
+ const sumFirstCallWrite = firstCalls.reduce((s, r) => s + r.usage.cache_creation_input_tokens, 0);
134
+
135
+ return {
136
+ legs: firstCalls.length,
137
+ median_first_call_written_or_uncached: median(writtenOrUncached),
138
+ mean_first_call_written_or_uncached: mean(writtenOrUncached),
139
+ first_call_cache_read_share: sumFirstCallBillable > 0 ? sumFirstCallRead / sumFirstCallBillable : 0,
140
+ cold_start_share_of_write_volume: totalWriteVolume > 0 ? sumFirstCallWrite / totalWriteVolume : 0,
141
+ };
142
+ }
143
+
144
+ // ── per-agentId breakdown ───────────────────────────────────────────────
145
+
146
+ export interface AgentAggregate extends BucketAggregate {
147
+ agentId: string;
148
+ }
149
+
150
+ export function aggregateByAgent(records: readonly TranscriptRecord[]): AgentAggregate[] {
151
+ const byAgent = new Map<string, TranscriptRecord[]>();
152
+ for (const r of records) {
153
+ if (r.bucket !== 'subagent' || r.agentId === null) continue;
154
+ const arr = byAgent.get(r.agentId) ?? [];
155
+ arr.push(r);
156
+ byAgent.set(r.agentId, arr);
157
+ }
158
+ const out: AgentAggregate[] = [];
159
+ for (const [agentId, recs] of byAgent) {
160
+ // Every rec here is bucket==='subagent', so aggregateByBucket's
161
+ // `.subagent` slot carries this agent's aggregate; `.main` stays
162
+ // all-zero and is discarded. Reuses the shared aggregation math
163
+ // instead of re-summing the six counters by hand.
164
+ const agg = aggregateByBucket(recs).subagent;
165
+ out.push({ ...agg, agentId });
166
+ }
167
+ return out;
168
+ }
169
+
170
+ // ── C-2: duplicate-scope byte census ────────────────────────────────────
171
+
172
+ export interface DuplicateScopeResult {
173
+ evaluable: boolean;
174
+ reason?: string | undefined;
175
+ shared_filenames: number;
176
+ duplicate_tokens_per_spawn: number;
177
+ spawn_count: number;
178
+ duplicate_token_estimate_total: number;
179
+ share_of_subagent_write_volume: number;
180
+ }
181
+
182
+ /**
183
+ * For every `.md` filename present in BOTH `userRulesDir` and
184
+ * `projectRulesDir` — computed by the shared {@link censusDuplicateScope}
185
+ * primitive, reused (not reimplemented) so this and the `doctor`
186
+ * `duplicate-scope-rules` check can never disagree on what's shared — the
187
+ * redundant copy's byte estimate is converted to tokens at chars/4 (the same
188
+ * heuristic `pricing.ts#estimate_input_tokens` uses), then multiplied by
189
+ * `spawnCount` (the observed subagent leg count over the same measurement
190
+ * window) to get the total redundant-copy volume.
191
+ */
192
+ export function computeDuplicateScope(
193
+ userRulesDir: string,
194
+ projectRulesDir: string,
195
+ subagentWriteVolume: number,
196
+ spawnCount: number,
197
+ ): DuplicateScopeResult {
198
+ const census = censusDuplicateScope(userRulesDir, projectRulesDir);
199
+ if (!census.evaluable) {
200
+ return {
201
+ evaluable: false,
202
+ reason: census.reason,
203
+ shared_filenames: census.shared_filenames.length,
204
+ duplicate_tokens_per_spawn: 0,
205
+ spawn_count: spawnCount,
206
+ duplicate_token_estimate_total: 0,
207
+ share_of_subagent_write_volume: 0,
208
+ };
209
+ }
210
+
211
+ const duplicateTokensPerSpawn = census.duplicate_chars / 4;
212
+ const totalEstimate = duplicateTokensPerSpawn * spawnCount;
213
+ const evaluable = spawnCount > 0 && subagentWriteVolume > 0;
214
+
215
+ return {
216
+ evaluable,
217
+ reason: evaluable ? undefined : 'no subagent legs or no subagent write volume observed in the window',
218
+ shared_filenames: census.shared_filenames.length,
219
+ duplicate_tokens_per_spawn: duplicateTokensPerSpawn,
220
+ spawn_count: spawnCount,
221
+ duplicate_token_estimate_total: totalEstimate,
222
+ share_of_subagent_write_volume: subagentWriteVolume > 0 ? totalEstimate / subagentWriteVolume : 0,
223
+ };
224
+ }
225
+
226
+ // ── C-4: council mispricing ──────────────────────────────────────────────
227
+
228
+ export interface CouncilMispricingResult {
229
+ status: 'confirmed' | 'falsified' | 'pending';
230
+ reason?: string | undefined;
231
+ session?: string;
232
+ rounds?: number;
233
+ recorded_cost_usd?: number;
234
+ cache_aware_cost_usd?: number;
235
+ delta_pct?: number;
236
+ }
237
+
238
+ interface RawCouncilResponse {
239
+ provider?: unknown;
240
+ model?: unknown;
241
+ input_tokens?: unknown;
242
+ output_tokens?: unknown;
243
+ cache_read_input_tokens?: unknown;
244
+ cache_creation_input_tokens?: unknown;
245
+ error?: unknown;
246
+ }
247
+
248
+ interface RawDebateRound {
249
+ debate_total_rounds?: unknown;
250
+ cost_usd_actual?: unknown;
251
+ responses?: RawCouncilResponse[];
252
+ }
253
+
254
+ function findDebateRoundFiles(councilRoot: string): string[] {
255
+ const base = path.join(councilRoot, 'agents', 'runtime', 'council', 'responses');
256
+ if (!fs.existsSync(base)) return [];
257
+ const out: string[] = [];
258
+ const stack: string[] = [base];
259
+ while (stack.length > 0) {
260
+ const dir = stack.pop() as string;
261
+ let entries: fs.Dirent[];
262
+ try {
263
+ entries = fs.readdirSync(dir, { withFileTypes: true });
264
+ } catch {
265
+ continue;
266
+ }
267
+ for (const entry of entries) {
268
+ const full = path.join(dir, entry.name);
269
+ if (entry.isDirectory()) {
270
+ stack.push(full);
271
+ continue;
272
+ }
273
+ if (entry.isFile() && /^debate-round-\d+\.json$/.test(entry.name)) out.push(full);
274
+ }
275
+ }
276
+ return out;
277
+ }
278
+
279
+ function numOrUndef(v: unknown): number | undefined {
280
+ return typeof v === 'number' && Number.isFinite(v) ? v : undefined;
281
+ }
282
+
283
+ /**
284
+ * Finds the best available real multi-round debate artefact under
285
+ * `councilRoot/agents/runtime/council/responses/**\/debate-round-*.json`,
286
+ * reprices its recorded usage with `reprice_with_cache` (ttl='5m' — the only
287
+ * TTL the council's request builder currently emits, per
288
+ * `orchestrator.ts`'s own comment), and reports the delta against the
289
+ * originally recorded `cost_usd_actual` (the cache-blind figure the pre-fix
290
+ * `estimate_cost` call site produced, or whatever else was live at record
291
+ * time — the claim is about the DELTA cache-aware repricing produces, not
292
+ * about which historical code path wrote the recorded number).
293
+ *
294
+ * "Best" = the group (one directory of sibling `debate-round-N.json` files)
295
+ * with the LARGEST total cache-token volume (cache_read + cache_creation
296
+ * across all responses), requiring ≥2 rounds (a real debate, not a one-shot
297
+ * dispatch), non-error usage, and a non-zero recorded cost to divide by.
298
+ * Cache-token volume — not round count — is the right selection key: a
299
+ * 4-round debate with zero recorded cache activity can only ever show a 0%
300
+ * delta (there is nothing for `reprice_with_cache` to reprice), which would
301
+ * silently mask a real mispricing sitting in a session that actually used
302
+ * the cache. Ties break on rounds, then total token volume.
303
+ */
304
+ export function computeCouncilMispricing(councilRoot: string): CouncilMispricingResult {
305
+ const files = findDebateRoundFiles(councilRoot);
306
+ if (files.length === 0) {
307
+ return {
308
+ status: 'pending',
309
+ reason: 'no agents/runtime/council/responses/**/debate-round-*.json artefact found under this root',
310
+ };
311
+ }
312
+
313
+ const groups = new Map<string, string[]>();
314
+ for (const f of files) {
315
+ const dir = path.dirname(f);
316
+ const arr = groups.get(dir) ?? [];
317
+ arr.push(f);
318
+ groups.set(dir, arr);
319
+ }
320
+
321
+ let table;
322
+ try {
323
+ table = load_prices();
324
+ } catch {
325
+ return { status: 'pending', reason: 'could not load the local price table (.agent-prices.md)' };
326
+ }
327
+
328
+ let best: { dir: string; rounds: number; recorded: number; cacheAware: number; tokens: number; cacheVolume: number } | null = null;
329
+ for (const [dir, groupFiles] of groups) {
330
+ let rounds = 0;
331
+ let recorded = 0;
332
+ let cacheAware = 0;
333
+ let tokens = 0;
334
+ let cacheVolume = 0;
335
+ for (const f of groupFiles) {
336
+ let data: RawDebateRound;
337
+ try {
338
+ data = JSON.parse(fs.readFileSync(f, 'utf-8')) as RawDebateRound;
339
+ } catch {
340
+ continue;
341
+ }
342
+ rounds = Math.max(rounds, numOrUndef(data.debate_total_rounds) ?? 0);
343
+ recorded += numOrUndef(data.cost_usd_actual) ?? 0;
344
+ for (const r of data.responses ?? []) {
345
+ if (r.error) continue;
346
+ const input = numOrUndef(r.input_tokens) ?? 0;
347
+ const output = numOrUndef(r.output_tokens) ?? 0;
348
+ const read = numOrUndef(r.cache_read_input_tokens) ?? 0;
349
+ const write = numOrUndef(r.cache_creation_input_tokens) ?? 0;
350
+ tokens += input + read + write;
351
+ cacheVolume += read + write;
352
+ if (typeof r.provider !== 'string' || typeof r.model !== 'string') continue;
353
+ const est = reprice_with_cache(
354
+ r.provider,
355
+ r.model,
356
+ { input_tokens: input, cache_read_input_tokens: read, cache_creation_input_tokens: write, output_tokens: output },
357
+ table,
358
+ '5m',
359
+ );
360
+ cacheAware += est.input_usd + est.output_usd;
361
+ }
362
+ }
363
+ if (rounds < 2 || tokens === 0 || recorded === 0) continue;
364
+ if (
365
+ best === null ||
366
+ cacheVolume > best.cacheVolume ||
367
+ (cacheVolume === best.cacheVolume && rounds > best.rounds) ||
368
+ (cacheVolume === best.cacheVolume && rounds === best.rounds && tokens > best.tokens)
369
+ ) {
370
+ best = { dir, rounds, recorded, cacheAware, tokens, cacheVolume };
371
+ }
372
+ }
373
+
374
+ if (best === null) {
375
+ return {
376
+ status: 'pending',
377
+ reason: 'found debate-round artefacts, but none had ≥2 recorded rounds with non-error usage and a non-zero recorded cost',
378
+ };
379
+ }
380
+
381
+ const deltaPct = (best.cacheAware - best.recorded) / best.recorded;
382
+ const status: CouncilMispricingResult['status'] = Math.abs(deltaPct) >= C4_COUNCIL_MISPRICING_THRESHOLD ? 'confirmed' : 'falsified';
383
+ return {
384
+ status,
385
+ session: path.relative(councilRoot, best.dir) || '(top-level)',
386
+ rounds: best.rounds,
387
+ recorded_cost_usd: best.recorded,
388
+ cache_aware_cost_usd: best.cacheAware,
389
+ delta_pct: deltaPct,
390
+ };
391
+ }
392
+
393
+ // ── C-5: worktree fragmentation ──────────────────────────────────────────
394
+
395
+ export interface WorktreeFragmentationResult {
396
+ status: 'confirmed' | 'falsified' | 'pending';
397
+ reason?: string | undefined;
398
+ established_project_dir?: string;
399
+ worktree_project_dirs?: string[];
400
+ established_first_call_read_share?: number;
401
+ worktree_first_call_read_share?: number;
402
+ /** worktree_first_call_read_share / established_first_call_read_share. */
403
+ ratio?: number;
404
+ }
405
+
406
+ /** Mirrors `cost/track.mjs`'s `encodeProjectPath` — the CC project-dir naming convention. */
407
+ export function encodeProjectPath(cwd: string): string {
408
+ return cwd.replace(/[/.]/g, '-');
409
+ }
410
+
411
+ /**
412
+ * `git worktree list --porcelain`'s first entry is always the main/original
413
+ * working tree; every subsequent entry is a linked worktree of the same
414
+ * repo. Returns `[]` (never throws) when `git` is unavailable or `cwd` is
415
+ * not a git checkout — the caller treats that as "not evaluable".
416
+ */
417
+ export function listGitWorktrees(cwd: string): string[] {
418
+ try {
419
+ const out = execFileSync('git', ['worktree', 'list', '--porcelain'], { cwd, encoding: 'utf-8', timeout: 10_000 });
420
+ const paths: string[] = [];
421
+ for (const line of out.split('\n')) {
422
+ if (line.startsWith('worktree ')) paths.push(line.slice('worktree '.length).trim());
423
+ }
424
+ return paths;
425
+ } catch {
426
+ return [];
427
+ }
428
+ }
429
+
430
+ /**
431
+ * Compares the first-call `cache_read` share (see {@link computeColdStarts})
432
+ * between the repo's established (main) worktree and the pooled set of its
433
+ * linked worktrees, both scanned over the same `maxAgeDays` window used for
434
+ * the rest of the report. `worktreePaths` is injected (never calls `git`
435
+ * itself) so this stays a pure, easily-fixtured function — the CLI wrapper
436
+ * supplies the real list via {@link listGitWorktrees}.
437
+ */
438
+ export function computeWorktreeFragmentation(
439
+ projectsRoot: string,
440
+ worktreePaths: readonly string[],
441
+ maxAgeDays: number,
442
+ ): WorktreeFragmentationResult {
443
+ if (worktreePaths.length < 2) {
444
+ return { status: 'pending', reason: 'fewer than 2 git worktrees found for this repo — nothing to compare' };
445
+ }
446
+
447
+ const established = worktreePaths[0] as string; // git always lists the main worktree first
448
+ const encodedEstablished = encodeProjectPath(established);
449
+ const worktreeDirs = worktreePaths
450
+ .slice(1)
451
+ .map(encodeProjectPath)
452
+ .filter((d) => fs.existsSync(path.join(projectsRoot, d)));
453
+
454
+ if (!fs.existsSync(path.join(projectsRoot, encodedEstablished)) || worktreeDirs.length === 0) {
455
+ return {
456
+ status: 'pending',
457
+ reason: 'no transcript directory found for both an established and a fresh-worktree checkout of this repo',
458
+ };
459
+ }
460
+
461
+ const establishedScan = scanTranscripts({ root: projectsRoot, projectDir: encodedEstablished, maxAgeDays });
462
+ const establishedColdStart = computeColdStarts(establishedScan.records);
463
+
464
+ let worktreeRecords: TranscriptRecord[] = [];
465
+ for (const d of worktreeDirs) {
466
+ worktreeRecords = worktreeRecords.concat(scanTranscripts({ root: projectsRoot, projectDir: d, maxAgeDays }).records);
467
+ }
468
+ const worktreeColdStart = computeColdStarts(worktreeRecords);
469
+
470
+ if (establishedColdStart.legs === 0 || worktreeColdStart.legs === 0) {
471
+ return {
472
+ status: 'pending',
473
+ reason: `insufficient subagent legs in the ${maxAgeDays}-day window (established: ${establishedColdStart.legs}, worktrees: ${worktreeColdStart.legs})`,
474
+ established_project_dir: encodedEstablished,
475
+ worktree_project_dirs: worktreeDirs,
476
+ };
477
+ }
478
+
479
+ const establishedShare = establishedColdStart.first_call_cache_read_share;
480
+ const worktreeShare = worktreeColdStart.first_call_cache_read_share;
481
+ const ratio = establishedShare > 0 ? worktreeShare / establishedShare : worktreeShare === 0 ? 0 : Number.POSITIVE_INFINITY;
482
+
483
+ if (!Number.isFinite(ratio)) {
484
+ return {
485
+ status: 'pending',
486
+ reason: 'established directory shows a zero first-call cache-read share — the comparison ratio is undefined',
487
+ established_project_dir: encodedEstablished,
488
+ worktree_project_dirs: worktreeDirs,
489
+ established_first_call_read_share: establishedShare,
490
+ worktree_first_call_read_share: worktreeShare,
491
+ };
492
+ }
493
+
494
+ let status: WorktreeFragmentationResult['status'];
495
+ let reason: string | undefined;
496
+ if (ratio >= C5_FALSIFY_RATIO) {
497
+ status = 'falsified';
498
+ } else if (ratio < C5_CONFIRM_RATIO) {
499
+ status = 'confirmed';
500
+ } else {
501
+ status = 'pending';
502
+ reason = `ratio ${(ratio * 100).toFixed(1)}% falls between the confirm (<10%) and falsify (>=50%) thresholds`;
503
+ }
504
+
505
+ return {
506
+ status,
507
+ reason,
508
+ established_project_dir: encodedEstablished,
509
+ worktree_project_dirs: worktreeDirs,
510
+ established_first_call_read_share: establishedShare,
511
+ worktree_first_call_read_share: worktreeShare,
512
+ ratio,
513
+ };
514
+ }
515
+
516
+ // ── host version ─────────────────────────────────────────────────────────
517
+
518
+ /** Shells out to `claude --version`; `unknown` (never fabricated) on any failure. */
519
+ export function hostVersion(): string {
520
+ try {
521
+ const out = execFileSync('claude', ['--version'], { encoding: 'utf-8', timeout: 5_000 }).trim();
522
+ return out.length > 0 ? out : 'unknown';
523
+ } catch {
524
+ return 'unknown';
525
+ }
526
+ }
527
+
528
+ // ── claims ────────────────────────────────────────────────────────────────
529
+
530
+ export interface Claim {
531
+ id: 'C-1' | 'C-2' | 'C-3' | 'C-4' | 'C-5';
532
+ description: string;
533
+ threshold: string;
534
+ verdict: 'confirmed' | 'falsified' | 'pending';
535
+ measured?: number | undefined;
536
+ reason?: string | undefined;
537
+ }
538
+
539
+ export function buildClaims(opts: {
540
+ subagentColdStart: ColdStartStats;
541
+ duplicateScope: DuplicateScopeResult;
542
+ councilMispricing: CouncilMispricingResult;
543
+ worktreeFragmentation: WorktreeFragmentationResult;
544
+ }): Claim[] {
545
+ const claims: Claim[] = [];
546
+
547
+ const c1Value = opts.subagentColdStart.cold_start_share_of_write_volume;
548
+ claims.push({
549
+ id: 'C-1',
550
+ description: 'cold-start dominance: cold starts are ≥50% of subagent write volume (baseline 69.4%)',
551
+ threshold: '>= 0.50',
552
+ verdict: opts.subagentColdStart.legs === 0 ? 'pending' : c1Value >= C1_COLD_START_DOMINANCE_THRESHOLD ? 'confirmed' : 'falsified',
553
+ measured: opts.subagentColdStart.legs === 0 ? undefined : c1Value,
554
+ reason: opts.subagentColdStart.legs === 0 ? 'no subagent legs observed in the window' : undefined,
555
+ });
556
+
557
+ const d = opts.duplicateScope;
558
+ claims.push({
559
+ id: 'C-2',
560
+ description: 'duplicate-scope share: the redundant rule-set copy is ≥25% of subagent write volume (baseline ≈37%)',
561
+ threshold: '>= 0.25',
562
+ verdict: !d.evaluable ? 'pending' : d.share_of_subagent_write_volume >= C2_DUPLICATE_SCOPE_THRESHOLD ? 'confirmed' : 'falsified',
563
+ measured: d.evaluable ? d.share_of_subagent_write_volume : undefined,
564
+ reason: !d.evaluable ? d.reason : undefined,
565
+ });
566
+
567
+ claims.push({
568
+ id: 'C-3',
569
+ description: 'preamble reducibility: a shipped reduction moves median cold-start tokens by ≥15% with no eval regression',
570
+ threshold: '>= 0.15',
571
+ verdict: 'pending',
572
+ reason: 'requires an implemented preamble-reduction intervention (Phase 3) — none has landed yet',
573
+ });
574
+
575
+ const c = opts.councilMispricing;
576
+ claims.push({
577
+ id: 'C-4',
578
+ description: 'council mispricing magnitude: cache-aware repricing changes a real multi-round debate’s realized cost by ≥5%',
579
+ threshold: '>= 0.05 (absolute delta)',
580
+ verdict: c.status,
581
+ measured: c.delta_pct,
582
+ reason: c.reason,
583
+ });
584
+
585
+ const w = opts.worktreeFragmentation;
586
+ claims.push({
587
+ id: 'C-5',
588
+ description: "worktree fragmentation: a fresh worktree's first-call cache_read share is <10% of an established directory's (falsified at >=50%)",
589
+ threshold: '< 0.10 confirmed / >= 0.50 falsified',
590
+ verdict: w.status,
591
+ measured: w.ratio,
592
+ reason: w.reason,
593
+ });
594
+
595
+ return claims;
596
+ }
597
+
598
+ // ── CLI ───────────────────────────────────────────────────────────────────
599
+
600
+ export interface Options {
601
+ format: 'text' | 'json';
602
+ root: string;
603
+ maxAgeDays: number;
604
+ repoRoot: string;
605
+ councilRoot: string;
606
+ userRulesDir: string;
607
+ projectRulesDir: string;
608
+ }
609
+
610
+ function defaultOptions(): Options {
611
+ return {
612
+ format: 'text',
613
+ root: DEFAULT_PROJECTS_ROOT,
614
+ maxAgeDays: 14,
615
+ repoRoot: REPO_ROOT,
616
+ councilRoot: REPO_ROOT,
617
+ userRulesDir: path.join(homedir(), '.claude', 'rules'),
618
+ projectRulesDir: path.join(REPO_ROOT, 'dist', 'agent-src', 'rules'),
619
+ };
620
+ }
621
+
622
+ export function parseArgs(argv: string[]): Options {
623
+ const opts = defaultOptions();
624
+ for (let i = 0; i < argv.length; i++) {
625
+ const a = argv[i];
626
+ if (a === undefined) continue;
627
+ if (a === '--format') opts.format = (argv[++i] as Options['format']) ?? opts.format;
628
+ else if (a.startsWith('--format=')) opts.format = a.slice('--format='.length) as Options['format'];
629
+ else if (a === '--root') opts.root = argv[++i] ?? opts.root;
630
+ else if (a.startsWith('--root=')) opts.root = a.slice('--root='.length);
631
+ else if (a === '--max-age-days') opts.maxAgeDays = Number(argv[++i]) || opts.maxAgeDays;
632
+ else if (a.startsWith('--max-age-days=')) opts.maxAgeDays = Number(a.slice('--max-age-days='.length)) || opts.maxAgeDays;
633
+ else if (a === '--repo-root') opts.repoRoot = argv[++i] ?? opts.repoRoot;
634
+ else if (a.startsWith('--repo-root=')) opts.repoRoot = a.slice('--repo-root='.length);
635
+ else if (a === '--council-root') opts.councilRoot = argv[++i] ?? opts.councilRoot;
636
+ else if (a.startsWith('--council-root=')) opts.councilRoot = a.slice('--council-root='.length);
637
+ else if (a === '--user-rules-dir') opts.userRulesDir = argv[++i] ?? opts.userRulesDir;
638
+ else if (a.startsWith('--user-rules-dir=')) opts.userRulesDir = a.slice('--user-rules-dir='.length);
639
+ else if (a === '--project-rules-dir') opts.projectRulesDir = argv[++i] ?? opts.projectRulesDir;
640
+ else if (a.startsWith('--project-rules-dir=')) opts.projectRulesDir = a.slice('--project-rules-dir='.length);
641
+ }
642
+ if (opts.format !== 'text' && opts.format !== 'json') opts.format = 'text';
643
+ return opts;
644
+ }
645
+
646
+ export interface Report {
647
+ schema: 'cache-realization-report/v1';
648
+ host_version: string;
649
+ window_days: number;
650
+ root: string;
651
+ metric_definition: { billable_input: string; note: string };
652
+ dedup_ratio: number;
653
+ total_seen: number;
654
+ deduped_count: number;
655
+ buckets: Record<TranscriptBucket, BucketAggregate>;
656
+ subagent_cold_start: ColdStartStats;
657
+ by_agent: AgentAggregate[];
658
+ duplicate_scope: DuplicateScopeResult;
659
+ council_mispricing: CouncilMispricingResult;
660
+ worktree_fragmentation: WorktreeFragmentationResult;
661
+ claims: Claim[];
662
+ }
663
+
664
+ export function buildReport(opts: Options): Report {
665
+ const scan = scanTranscripts({ root: opts.root, maxAgeDays: opts.maxAgeDays });
666
+ const buckets = aggregateByBucket(scan.records);
667
+ const subagentColdStart = computeColdStarts(scan.records);
668
+ const byAgent = aggregateByAgent(scan.records);
669
+
670
+ const duplicateScope = computeDuplicateScope(
671
+ opts.userRulesDir,
672
+ opts.projectRulesDir,
673
+ buckets.subagent.cache_creation_input_tokens,
674
+ subagentColdStart.legs,
675
+ );
676
+
677
+ const councilMispricing = computeCouncilMispricing(opts.councilRoot);
678
+
679
+ const worktreePaths = listGitWorktrees(opts.repoRoot);
680
+ const worktreeFragmentation = computeWorktreeFragmentation(opts.root, worktreePaths, opts.maxAgeDays);
681
+
682
+ const claims = buildClaims({ subagentColdStart, duplicateScope, councilMispricing, worktreeFragmentation });
683
+
684
+ return {
685
+ schema: 'cache-realization-report/v1',
686
+ host_version: hostVersion(),
687
+ window_days: opts.maxAgeDays,
688
+ root: opts.root,
689
+ metric_definition: {
690
+ billable_input: 'input_tokens + cache_read_input_tokens + cache_creation_input_tokens',
691
+ note: "Anthropic's usage.input_tokens EXCLUDES cache tokens — it is only the uncached portion of the prompt.",
692
+ },
693
+ dedup_ratio: scan.dedup_ratio,
694
+ total_seen: scan.totalSeen,
695
+ deduped_count: scan.dedupedCount,
696
+ buckets,
697
+ subagent_cold_start: subagentColdStart,
698
+ by_agent: byAgent,
699
+ duplicate_scope: duplicateScope,
700
+ council_mispricing: councilMispricing,
701
+ worktree_fragmentation: worktreeFragmentation,
702
+ claims,
703
+ };
704
+ }
705
+
706
+ function pct(v: number): string {
707
+ return `${(v * 100).toFixed(1)}%`;
708
+ }
709
+
710
+ export function renderText(r: Report): string {
711
+ const out: string[] = [];
712
+ out.push('Cache-realization report');
713
+ out.push(` host_version: ${r.host_version}`);
714
+ out.push(` window: last ${r.window_days} days`);
715
+ out.push(` root: ${r.root}`);
716
+ out.push(` metric: billable_input = ${r.metric_definition.billable_input}`);
717
+ out.push(` ${r.metric_definition.note}`);
718
+ out.push(` dedup: ${r.deduped_count}/${r.total_seen} unique records kept (dedup_ratio ${pct(r.dedup_ratio)})`);
719
+ out.push('');
720
+
721
+ out.push('By bucket:');
722
+ for (const bucket of ['main', 'subagent'] as const) {
723
+ const b = r.buckets[bucket];
724
+ out.push(` ${bucket}: calls=${b.calls} read_share=${pct(b.read_share)} weighted_input_units=${Math.round(b.weighted_input_units)}`);
725
+ out.push(
726
+ ` input=${b.input_tokens} cache_read=${b.cache_read_input_tokens} cache_creation=${b.cache_creation_input_tokens}` +
727
+ ` (5m=${b.ephemeral_5m_input_tokens} 1h=${b.ephemeral_1h_input_tokens}) output=${b.output_tokens}`,
728
+ );
729
+ }
730
+ out.push('');
731
+
732
+ const cs = r.subagent_cold_start;
733
+ out.push('Subagent cold start (first call per leg):');
734
+ out.push(
735
+ ` legs=${cs.legs} median_written_or_uncached=${Math.round(cs.median_first_call_written_or_uncached)}` +
736
+ ` mean=${Math.round(cs.mean_first_call_written_or_uncached)}`,
737
+ );
738
+ out.push(` first_call_cache_read_share=${pct(cs.first_call_cache_read_share)}`);
739
+ out.push(` cold_start_share_of_subagent_write_volume=${pct(cs.cold_start_share_of_write_volume)}`);
740
+ out.push('');
741
+
742
+ out.push(`Per-agent breakdown: ${r.by_agent.length} distinct subagent legs (--format json carries all; top 10 by weighted_input_units below)`);
743
+ const top10 = [...r.by_agent].sort((a, b) => b.weighted_input_units - a.weighted_input_units).slice(0, 10);
744
+ for (const a of top10) {
745
+ out.push(` ${a.agentId}: calls=${a.calls} read_share=${pct(a.read_share)} weighted_input_units=${Math.round(a.weighted_input_units)}`);
746
+ }
747
+ out.push('');
748
+
749
+ out.push('Pre-registered claims:');
750
+ for (const c of r.claims) {
751
+ const measured = c.measured !== undefined ? ` (measured ${pct(c.measured)})` : '';
752
+ const reasonSuffix = c.verdict === 'pending' && c.reason ? ` — ${c.reason}` : '';
753
+ out.push(` ${c.id} [${c.verdict}]${measured}: ${c.description}${reasonSuffix}`);
754
+ }
755
+ out.push('');
756
+
757
+ out.push('Re-verification:');
758
+ out.push(' command: ./scripts-run src/scripts/cache_realization_report --format text');
759
+ out.push(` host_version at this run: ${r.host_version}`);
760
+ out.push(
761
+ ` re-run + restamp this report if: read_share drops below ${pct(DRIFT_READ_SHARE_FLOOR)}, OR` +
762
+ ` cold-start share drops below ${pct(DRIFT_COLD_START_SHARE_FLOOR)}`,
763
+ );
764
+
765
+ return out.join('\n');
766
+ }
767
+
768
+ export function main(argv: string[] = process.argv.slice(2)): number {
769
+ const opts = parseArgs(argv);
770
+ const report = buildReport(opts);
771
+ if (opts.format === 'json') {
772
+ process.stdout.write(JSON.stringify(report, null, 2) + '\n');
773
+ } else {
774
+ process.stdout.write(renderText(report) + '\n');
775
+ }
776
+ return 0;
777
+ }
778
+
779
+ if (process.argv[1] !== undefined) {
780
+ const invokedUrl = pathToFileURL(path.resolve(process.argv[1])).href;
781
+ if (import.meta.url === invokedUrl) process.exit(main());
782
+ }