@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,317 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * CI ↔ local parity checker.
4
+ *
5
+ * A gate that exists on one side only drifts silently on the other, and both
6
+ * directions cost real defects (see `src/config/ci-local-parity.yml` for the
7
+ * measured cases). This checker DERIVES both sides rather than trusting a list:
8
+ *
9
+ * CI side every gate invocation in `.github/workflows/*.yml`
10
+ * local side the transitive closure of `task ci` / `task consistency` plus the
11
+ * pre-push hook, resolved through `Taskfile.yml` + `taskfiles/*.yml`
12
+ *
13
+ * Anything on one side and not the other must be declared in the manifest with a
14
+ * reason, or this fails. Drift stays allowed — but only on the record.
15
+ *
16
+ * Deriving beats listing because a hand-maintained list is exactly what goes stale:
17
+ * the first version of this analysis was done with a one-level grep and reported 71
18
+ * CI-only gates when the real number was 12. The closure is the whole point.
19
+ *
20
+ * Exit codes: 0 parity declared · 1 undeclared drift · 2 manifest/IO error.
21
+ *
22
+ * Usage:
23
+ * ./scripts-run src/scripts/check_ci_local_parity
24
+ * ./scripts-run src/scripts/check_ci_local_parity --format json
25
+ */
26
+
27
+ import * as fs from 'node:fs';
28
+ import * as path from 'node:path';
29
+ import { fileURLToPath, pathToFileURL } from 'node:url';
30
+
31
+ import { parse as parseYaml } from 'yaml';
32
+
33
+ const _FILE = fileURLToPath(import.meta.url);
34
+ export const REPO = path.resolve(path.dirname(_FILE), '..', '..');
35
+ const MANIFEST = path.join(REPO, 'src', 'config', 'ci-local-parity.yml');
36
+ const HOOK = path.join(REPO, 'src', 'scripts', 'install-hooks.sh');
37
+
38
+ /** Roots of the local closure. `ci` is the local mirror; the hook is what a push runs. */
39
+ const LOCAL_ROOTS = ['ci', 'consistency'] as const;
40
+
41
+ export interface Declared {
42
+ id: string;
43
+ class: string;
44
+ reason: string;
45
+ }
46
+
47
+ export interface Manifest {
48
+ pre_push_budget_seconds: number;
49
+ ci_only: Declared[];
50
+ local_only: Declared[];
51
+ }
52
+
53
+ export function load_manifest(file = MANIFEST): Manifest {
54
+ if (!fs.existsSync(file)) {
55
+ throw new Error(`manifest not found: ${path.relative(REPO, file)}`);
56
+ }
57
+ const doc = parseYaml(fs.readFileSync(file, 'utf-8')) as Record<string, unknown>;
58
+ const read = (key: string): Declared[] => {
59
+ const raw = doc[key];
60
+ if (raw === null || raw === undefined) return [];
61
+ if (!Array.isArray(raw)) throw new Error(`${key} must be a list`);
62
+ return raw.map((e, i) => {
63
+ const o = e as Record<string, unknown>;
64
+ const id = String(o['id'] ?? '');
65
+ if (id === '') throw new Error(`${key}[${String(i)}]: missing id`);
66
+ const reason = String(o['reason'] ?? '');
67
+ if (reason.trim() === '') {
68
+ // A declaration without a reason is the escape hatch that eats the
69
+ // gate: it looks reviewed and says nothing.
70
+ throw new Error(`${key} (${id}): reason must be non-empty`);
71
+ }
72
+ return { id, class: String(o['class'] ?? 'unclassified'), reason };
73
+ });
74
+ };
75
+ const budget = Number(doc['pre_push_budget_seconds']);
76
+ if (!Number.isFinite(budget) || budget <= 0) {
77
+ throw new Error('pre_push_budget_seconds must be a positive number');
78
+ }
79
+ return { pre_push_budget_seconds: budget, ci_only: read('ci_only'), local_only: read('local_only') };
80
+ }
81
+
82
+ /** Gate ids invoked anywhere in a blob of shell/YAML text. */
83
+ export function extract_gates(text: string): Set<string> {
84
+ const out = new Set<string>();
85
+ // ./scripts-run src/scripts/<name> | npx tsx src/scripts/<name>.ts | .sh
86
+ //
87
+ // The negative lookahead rejects a DIRECTORY segment: `src/scripts/_lib/x.ts`
88
+ // must not register `_lib` as a gate. Without it the first run reported 23
89
+ // CI-only gates, 10 of which were directory names (_cli, _lib, mcp_server, …) —
90
+ // a checker whose own extraction invents gates is worse than none, because every
91
+ // real finding then sits in a pile of noise. The backslash in the class is not
92
+ // decoration: the pre-push hook greps an escaped path (`pack_dependency_allowlist\.json`),
93
+ // and without it that JSON file registered as a local-only gate.
94
+ for (const m of text.matchAll(/src\/scripts\/([a-z0-9_]+)(?:\.(?:ts|sh))?(?![\w/.\\-])/g)) {
95
+ out.add(m[1] as string);
96
+ }
97
+ return out;
98
+ }
99
+
100
+ /** `task <name>` references in a blob of shell/YAML text. */
101
+ export function extract_tasks(text: string): Set<string> {
102
+ const out = new Set<string>();
103
+ for (const m of text.matchAll(/\btask\s+([a-z][a-z0-9:_-]*)/g)) {
104
+ out.add(m[1] as string);
105
+ }
106
+ return out;
107
+ }
108
+
109
+ interface TaskDef {
110
+ cmds: string[];
111
+ deps: string[];
112
+ }
113
+
114
+ /** Every task in Taskfile.yml + taskfiles/*.yml, flattened by name. */
115
+ export function load_tasks(repo = REPO): Map<string, TaskDef> {
116
+ const files = [path.join(repo, 'Taskfile.yml')];
117
+ const dir = path.join(repo, 'taskfiles');
118
+ if (fs.existsSync(dir)) {
119
+ for (const f of fs.readdirSync(dir).sort()) {
120
+ if (f.endsWith('.yml') || f.endsWith('.yaml')) files.push(path.join(dir, f));
121
+ }
122
+ }
123
+ const tasks = new Map<string, TaskDef>();
124
+ for (const file of files) {
125
+ if (!fs.existsSync(file)) continue;
126
+ let doc: Record<string, unknown>;
127
+ try {
128
+ doc = parseYaml(fs.readFileSync(file, 'utf-8')) as Record<string, unknown>;
129
+ } catch {
130
+ continue; // a malformed taskfile is another gate's verdict, not ours
131
+ }
132
+ const raw = doc['tasks'];
133
+ if (typeof raw !== 'object' || raw === null) continue;
134
+ for (const [name, body] of Object.entries(raw as Record<string, unknown>)) {
135
+ const def: TaskDef = { cmds: [], deps: [] };
136
+ const b = (typeof body === 'object' && body !== null ? body : {}) as Record<string, unknown>;
137
+ for (const key of ['cmd', 'cmds', 'deps']) {
138
+ const v = b[key];
139
+ if (typeof v === 'string') def.cmds.push(v);
140
+ else if (Array.isArray(v)) {
141
+ for (const item of v) {
142
+ if (typeof item === 'string') {
143
+ if (key === 'deps') def.deps.push(item);
144
+ else def.cmds.push(item);
145
+ } else if (typeof item === 'object' && item !== null) {
146
+ const o = item as Record<string, unknown>;
147
+ if (typeof o['task'] === 'string') def.deps.push(o['task']);
148
+ if (typeof o['cmd'] === 'string') def.cmds.push(o['cmd']);
149
+ if (typeof o['defer'] === 'object' && o['defer'] !== null) {
150
+ const d = o['defer'] as Record<string, unknown>;
151
+ if (typeof d['task'] === 'string') def.deps.push(d['task']);
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+ // Later files win only if the name is new — mirrors `flatten: true`.
158
+ if (!tasks.has(name)) tasks.set(name, def);
159
+ }
160
+ }
161
+ return tasks;
162
+ }
163
+
164
+ /** Transitive closure of gate ids reachable from a set of task roots. */
165
+ export function local_closure(roots: readonly string[], tasks: Map<string, TaskDef>): Set<string> {
166
+ const gates = new Set<string>();
167
+ const seen = new Set<string>();
168
+ const queue = [...roots];
169
+ while (queue.length > 0) {
170
+ const name = queue.shift() as string;
171
+ if (seen.has(name)) continue;
172
+ seen.add(name);
173
+ const def = tasks.get(name);
174
+ if (def === undefined) continue;
175
+ for (const blob of [...def.cmds]) {
176
+ for (const g of extract_gates(blob)) gates.add(g);
177
+ for (const t of extract_tasks(blob)) queue.push(t);
178
+ }
179
+ for (const d of def.deps) queue.push(d);
180
+ }
181
+ return gates;
182
+ }
183
+
184
+ function _read_all(dir: string): string {
185
+ if (!fs.existsSync(dir)) return '';
186
+ return fs
187
+ .readdirSync(dir)
188
+ .filter((f) => f.endsWith('.yml') || f.endsWith('.yaml'))
189
+ .sort()
190
+ .map((f) => fs.readFileSync(path.join(dir, f), 'utf-8'))
191
+ .join('\n');
192
+ }
193
+
194
+ export interface ParityReport {
195
+ ci_gates: string[];
196
+ local_gates: string[];
197
+ undeclared_ci_only: string[];
198
+ undeclared_local_only: string[];
199
+ stale_declarations: string[];
200
+ }
201
+
202
+ export function analyse(repo = REPO, manifest?: Manifest): ParityReport {
203
+ const mf = manifest ?? load_manifest();
204
+ const tasks = load_tasks(repo);
205
+
206
+ const ciText = _read_all(path.join(repo, '.github', 'workflows'));
207
+ const ciGates = new Set(extract_gates(ciText));
208
+ // A workflow may reach a gate through a task, so expand those too.
209
+ for (const t of extract_tasks(ciText)) {
210
+ for (const g of local_closure([t], tasks)) ciGates.add(g);
211
+ }
212
+
213
+ const localGates = local_closure(LOCAL_ROOTS, tasks);
214
+ if (fs.existsSync(HOOK)) {
215
+ const hook = fs.readFileSync(HOOK, 'utf-8');
216
+ for (const g of extract_gates(hook)) localGates.add(g);
217
+ for (const t of extract_tasks(hook)) {
218
+ for (const g of local_closure([t], tasks)) localGates.add(g);
219
+ }
220
+ }
221
+
222
+ const declaredCi = new Set(mf.ci_only.map((d) => d.id));
223
+ const declaredLocal = new Set(mf.local_only.map((d) => d.id));
224
+
225
+ const undeclared_ci_only = [...ciGates].filter((g) => !localGates.has(g) && !declaredCi.has(g)).sort();
226
+ const undeclared_local_only = [...localGates].filter((g) => !ciGates.has(g) && !declaredLocal.has(g)).sort();
227
+ // A declaration for a gate that is now on both sides is stale — it grants an
228
+ // exemption nothing needs, and the next reader trusts it.
229
+ const stale_declarations = [
230
+ ...[...declaredCi].filter((g) => localGates.has(g) && ciGates.has(g)),
231
+ ...[...declaredLocal].filter((g) => localGates.has(g) && ciGates.has(g)),
232
+ ].sort();
233
+
234
+ return {
235
+ ci_gates: [...ciGates].sort(),
236
+ local_gates: [...localGates].sort(),
237
+ undeclared_ci_only,
238
+ undeclared_local_only,
239
+ stale_declarations,
240
+ };
241
+ }
242
+
243
+ export function main(argv: readonly string[] = process.argv.slice(2)): number {
244
+ const wantJson = argv.includes('--format') && argv[argv.indexOf('--format') + 1] === 'json';
245
+ let mf: Manifest;
246
+ try {
247
+ mf = load_manifest();
248
+ } catch (e) {
249
+ process.stderr.write(`❌ ci-local-parity manifest: ${(e as Error).message}\n`);
250
+ return 2;
251
+ }
252
+ const r = analyse(REPO, mf);
253
+
254
+ if (wantJson) {
255
+ process.stdout.write(`${JSON.stringify({ generated_by: 'check_ci_local_parity', ...r }, null, 2)}\n`);
256
+ }
257
+
258
+ // Emitted on every path, including failure — a gate with findings must still
259
+ // report what it inspected.
260
+ process.stderr.write(`scanned: ${String(r.ci_gates.length + r.local_gates.length)}\n`);
261
+
262
+ let failed = false;
263
+ if (r.undeclared_ci_only.length > 0) {
264
+ failed = true;
265
+ process.stdout.write(
266
+ `❌ ${String(r.undeclared_ci_only.length)} gate(s) run in CI but are unreachable locally:\n`,
267
+ );
268
+ for (const g of r.undeclared_ci_only) process.stdout.write(` - ${g}\n`);
269
+ process.stdout.write(
270
+ "\n Either wire it into the `task ci` chain, or declare it under `ci_only:` in\n" +
271
+ ' src/config/ci-local-parity.yml with the reason it cannot run locally.\n' +
272
+ ' Undeclared, it means a contributor discovers this failure only after pushing.\n',
273
+ );
274
+ }
275
+ if (r.undeclared_local_only.length > 0) {
276
+ failed = true;
277
+ process.stdout.write(
278
+ `❌ ${String(r.undeclared_local_only.length)} gate(s) run locally but in no workflow:\n`,
279
+ );
280
+ for (const g of r.undeclared_local_only) process.stdout.write(` - ${g}\n`);
281
+ process.stdout.write(
282
+ '\n Prefer adding it to a workflow — this is the direction that let real defects\n' +
283
+ ' merge (16 stale index rows reached main behind a local-only check-index).\n' +
284
+ ' If remote enforcement is genuinely not wanted, declare it under `local_only:`.\n',
285
+ );
286
+ }
287
+ if (r.stale_declarations.length > 0) {
288
+ failed = true;
289
+ process.stdout.write(
290
+ `❌ ${String(r.stale_declarations.length)} stale declaration(s) — now on BOTH sides, so the exemption is dead:\n`,
291
+ );
292
+ for (const g of r.stale_declarations) process.stdout.write(` - ${g}\n`);
293
+ }
294
+
295
+ if (!failed) {
296
+ process.stdout.write(
297
+ `✅ CI ↔ local parity: ${String(r.ci_gates.length)} CI gate(s), ${String(r.local_gates.length)} local, ` +
298
+ `${String(mf.ci_only.length)} declared CI-only, ${String(mf.local_only.length)} declared local-only.\n`,
299
+ );
300
+ }
301
+ return failed ? 1 : 0;
302
+ }
303
+
304
+ function _isCliEntry(): boolean {
305
+ if (process.argv[1] === undefined) return false;
306
+ const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
307
+ if (import.meta.url === argvUrl) return true;
308
+ try {
309
+ return fs.realpathSync(fileURLToPath(import.meta.url)) === fs.realpathSync(path.resolve(process.argv[1]));
310
+ } catch {
311
+ return false;
312
+ }
313
+ }
314
+
315
+ if (_isCliEntry()) {
316
+ process.exit(main());
317
+ }
@@ -8,7 +8,7 @@
8
8
  * exit codes (0 = clean, 1 = issues found, 3 = internal error),
9
9
  * stdout/stderr split, and byte-identical finding messages.
10
10
  *
11
- * Compares .agent-src.uncondensed/ source files with their dist/agent-src/
11
+ * Compares src/ source files with their dist/agent-src/
12
12
  * condensed versions. Checks that condensation preserved structural
13
13
  * integrity:
14
14
  * - All headings from source present in condensed
@@ -33,7 +33,13 @@ import { fileURLToPath, pathToFileURL } from 'node:url';
33
33
 
34
34
  type Severity = 'error' | 'warning' | 'info';
35
35
 
36
- const SOURCE_DIR = '.agent-src.uncondensed';
36
+ // The authoring tree. Was `.agent-src.uncondensed` until 2026-07-29 — that tree
37
+ // has held ZERO files since the flat-`src/` migration (ADR-051), so this gate
38
+ // scanned nothing and exited 0 while wired into CI. `src/` is the single source
39
+ // of truth per `src/rules/source-of-truth.md`; pairs resolve for `rules/` and
40
+ // `skills/`, and any `src/` subtree without a `dist/agent-src/` counterpart is
41
+ // skipped by the missing-target guard in `scanAll`.
42
+ const SOURCE_DIR = 'src';
37
43
  const TARGET_DIR = 'dist/agent-src';
38
44
 
39
45
  interface Issue {
@@ -136,187 +142,19 @@ function pythonFormatFixed(x: number, n: number): string {
136
142
  }
137
143
 
138
144
  // ---------------------------------------------------------------------------
139
- // _rewrite_paths — faithful port of condense.py's path-rewriter chain.
140
- // `condense.py` is not yet migrated; this replicates _rewrite_paths and its
141
- // helpers byte-for-byte so the source side normalises identically.
145
+ // The path rewriter — imported, never re-implemented.
146
+ //
147
+ // This file used to carry its own 187-line copy of the rewriter chain, on the
148
+ // grounds that `condense.py` was not yet migrated to TS. It is (ADR-200), so the
149
+ // copy was a standing drift hazard: the invariant this gate asserts is
150
+ // `dist == rewrite(src)`, and a private copy means the gate compares dist against
151
+ // a *different* rewriter than the projector actually runs. Two implementations of
152
+ // the reference = two definitions of correct, which is the same blind-gate shape
153
+ // this gate exists to catch. Verified equivalent on all 556 real pairs before the
154
+ // copy was deleted.
142
155
  // ---------------------------------------------------------------------------
143
156
 
144
- const _LEGACY_SRC_PREFIX = '.agent-src.uncondensed/';
145
- const _PROJECTED_SRC_PREFIX = 'dist/agent-src/';
146
- const _LEGACY_PROJECTED_SRC_PREFIX = '.agent-src/';
147
-
148
- // A YAML list item under load_context*: ` - some/path.md` (optionally quoted)
149
- const _FM_LIST_ITEM_RE = /^(\s*-\s*)(["']?)([^"'\n]+?\.md)(["']?)\s*$/;
150
- // `path_prefix:` line — top-level or under `triggers:` (with leading dash)
151
- const _FM_PATH_PREFIX_RE = /^(\s*(?:-\s+)?path_prefix:\s*)(["']?)([^"'\n]+?)(["']?)\s*$/;
152
- // Body-link patterns (relative two-up to docs/) — capture the docs/... tail
153
- const _BODY_DOCS_RE = /\.\.\/\.\.\/(docs\/(?:guidelines|contracts)\/[^)\s]+\.md)/g;
154
- // Plain YAML list item — any scalar (packs: / workspaces: blocks)
155
- const _FM_PLAIN_LIST_RE = /^\s*-\s*(["']?)([^"'\n]+?)\1\s*$/;
156
-
157
- const _HRR_BANNER_MARKER = '<!-- agent-config:human-review-banner -->';
158
-
159
- function _depthPrefix(sourceRelativePath: string): string {
160
- // Python: Path(...).parts — split on path separators, drop empty parts.
161
- const parts = sourceRelativePath.split('/').filter((p) => p.length > 0);
162
- const depth = Math.max(parts.length - 1, 1);
163
- return '../'.repeat(depth);
164
- }
165
-
166
- function _splitFrontmatter(content: string): [string[] | null, string] {
167
- if (!content.startsWith('---\n')) return [null, content];
168
- const end = content.indexOf('\n---\n', 4);
169
- if (end === -1) return [null, content];
170
- const fmText = content.slice(4, end);
171
- const body = content.slice(end + '\n---\n'.length);
172
- return [fmText.split('\n'), body];
173
- }
174
-
175
- function _rewriteLoadContextValue(value: string, prefix: string): string {
176
- if (value.startsWith('../') || value.startsWith('./') || value.startsWith('/')) {
177
- return value;
178
- }
179
- if (value.startsWith(_LEGACY_SRC_PREFIX)) {
180
- return prefix + value.slice(_LEGACY_SRC_PREFIX.length);
181
- }
182
- if (value.startsWith(_PROJECTED_SRC_PREFIX)) {
183
- return prefix + value.slice(_PROJECTED_SRC_PREFIX.length);
184
- }
185
- if (value.startsWith(_LEGACY_PROJECTED_SRC_PREFIX)) {
186
- return prefix + value.slice(_LEGACY_PROJECTED_SRC_PREFIX.length);
187
- }
188
- return prefix + value;
189
- }
190
-
191
- function _rewritePathPrefixValue(value: string): string {
192
- // No-op — path_prefix: is a literal match pattern, not a file reference.
193
- return value;
194
- }
195
-
196
- function _lstrip(s: string): string {
197
- return s.replace(/^\s+/u, '');
198
- }
199
-
200
- function _rewriteFrontmatterLines(lines: string[], prefix: string): string[] {
201
- let inLoadContext = false;
202
- const out: string[] = [];
203
- for (const line of lines) {
204
- const bare = _lstrip(line);
205
- if (bare.startsWith('load_context:') || bare.startsWith('load_context_eager:')) {
206
- inLoadContext = true;
207
- out.push(line);
208
- continue;
209
- }
210
- if (inLoadContext) {
211
- const m = _FM_LIST_ITEM_RE.exec(line);
212
- if (m) {
213
- const indent = m[1] ?? '';
214
- const q1 = m[2] ?? '';
215
- const value = m[3] ?? '';
216
- const q2 = m[4] ?? '';
217
- const rewritten = _rewriteLoadContextValue(value, prefix);
218
- out.push(`${indent}${q1}${rewritten}${q2}`);
219
- continue;
220
- }
221
- inLoadContext = false;
222
- // fall through to path_prefix / passthrough
223
- }
224
- const pm = _FM_PATH_PREFIX_RE.exec(line);
225
- if (pm) {
226
- const head = pm[1] ?? '';
227
- const q1 = pm[2] ?? '';
228
- const value = pm[3] ?? '';
229
- const q2 = pm[4] ?? '';
230
- out.push(`${head}${q1}${_rewritePathPrefixValue(value)}${q2}`);
231
- continue;
232
- }
233
- out.push(line);
234
- }
235
- return out;
236
- }
237
-
238
- function _rewriteBodyLinks(body: string, prefix: string): string {
239
- return body.replace(_BODY_DOCS_RE, (_match, tail: string) => prefix + tail);
240
- }
241
-
242
- function _parseTrustAndOwner(fmLines: string[]): [string, boolean, string] {
243
- let level = 'core';
244
- let hrr = false;
245
- const packs: string[] = [];
246
- const workspaces: string[] = [];
247
- let inTrust = false;
248
- let inPacks = false;
249
- let inWorkspaces = false;
250
- for (const line of fmLines) {
251
- const stripped = _lstrip(line);
252
- const indent = line.length - stripped.length;
253
- if (indent === 0 && stripped.endsWith(':')) {
254
- const key = stripped.slice(0, -1);
255
- inTrust = key === 'trust';
256
- inPacks = key === 'packs';
257
- inWorkspaces = key === 'workspaces';
258
- continue;
259
- }
260
- if (inTrust && stripped.startsWith('level:')) {
261
- level = pyStrip(pyStrip(pyStrip(stripped.split(/:(.*)/s)[1] ?? '')).replace(/^"|"$/g, '')).replace(
262
- /^'|'$/g,
263
- '',
264
- );
265
- // Python: stripped.split(":", 1)[1].strip().strip('"').strip("'")
266
- const after = stripped.slice(stripped.indexOf(':') + 1);
267
- level = stripDoubleSingle(pyStrip(after));
268
- } else if (inTrust && stripped.startsWith('human_review_required:')) {
269
- const after = stripped.slice(stripped.indexOf(':') + 1);
270
- const val = pyStrip(after);
271
- hrr = val.toLowerCase() === 'true';
272
- } else if (inPacks || inWorkspaces) {
273
- const m = _FM_PLAIN_LIST_RE.exec(line);
274
- if (m) {
275
- const value = pyStrip(m[2] ?? '');
276
- (inPacks ? packs : workspaces).push(value);
277
- }
278
- }
279
- }
280
- let owner = 'unknown';
281
- if (packs.length > 0) {
282
- owner = (packs[0] ?? '').split('-')[0] ?? '';
283
- } else if (workspaces.length > 0) {
284
- owner = workspaces[0] ?? '';
285
- }
286
- return [level, hrr, owner];
287
- }
288
-
289
- /** Python `.strip('"').strip("'")` — strip leading/trailing chars from a set. */
290
- function stripChars(s: string, chars: string): string {
291
- let start = 0;
292
- let end = s.length;
293
- while (start < end && chars.includes(s[start] as string)) start += 1;
294
- while (end > start && chars.includes(s[end - 1] as string)) end -= 1;
295
- return s.slice(start, end);
296
- }
297
-
298
- function stripDoubleSingle(s: string): string {
299
- return stripChars(stripChars(s, '"'), "'");
300
- }
301
-
302
- function _injectHrrBanner(body: string, level: string, owner: string): string {
303
- if (body.includes(_HRR_BANNER_MARKER)) return body;
304
- const banner = `${_HRR_BANNER_MARKER}\n> HUMAN REVIEW REQUIRED · trust: ${level} · owner: ${owner}\n\n`;
305
- return banner + body.replace(/^\n+/, '');
306
- }
307
-
308
- function _rewritePaths(content: string, sourceRelativePath: string): string {
309
- const prefix = _depthPrefix(sourceRelativePath);
310
- const [fmLines, bodyInitial] = _splitFrontmatter(content);
311
- let body = _rewriteBodyLinks(bodyInitial, prefix);
312
- if (fmLines === null) return body;
313
- const newFm = _rewriteFrontmatterLines(fmLines, prefix);
314
- const [level, hrr, owner] = _parseTrustAndOwner(fmLines);
315
- if (hrr && level) {
316
- body = _injectHrrBanner(body, level, owner);
317
- }
318
- return `---\n${newFm.join('\n')}\n---\n${body}`;
319
- }
157
+ import { _rewrite_paths as _rewritePaths } from './condense.js';
320
158
 
321
159
  // ---------------------------------------------------------------------------
322
160
  // Extraction helpers (port of check_condensation.py)
@@ -454,6 +292,32 @@ function extractIronLawSections(text: string): Array<[string, number, string]> {
454
292
  function checkPair(relPath: string, source: string, condensed: string): Issue[] {
455
293
  const issues: Issue[] = [];
456
294
 
295
+ // ADR-201 + council verdict B: the PRIMARY invariant. `source` reaching this
296
+ // function has already had the deterministic path rewrite applied, so
297
+ // `source === condensed` is exactly `dist == rewrite(src)` — byte-for-byte.
298
+ //
299
+ // This assertion was IMPOSSIBLE before ADR-201: an LLM prose rewrite has no
300
+ // expected output, which is why the determinism sub-gate failed by construction
301
+ // and why the old source-keyed hash certified drift as clean (observed three
302
+ // times in one session). With the rewrite removed, the property the gate was
303
+ // always supposed to hold finally becomes checkable.
304
+ //
305
+ // The structural checks below are retained as DIAGNOSTICS: when bytes differ
306
+ // they name what differs (frontmatter, a lost Iron Law, a mangled code block)
307
+ // instead of leaving the operator with an opaque inequality. If bytes match,
308
+ // every structural check is trivially satisfied.
309
+ if (source !== condensed) {
310
+ issues.push({
311
+ file: relPath,
312
+ check: 'not_byte_exact',
313
+ severity: 'error',
314
+ message:
315
+ 'dist is not the byte-exact path-rewritten copy of src — either the ' +
316
+ 'projection is stale (run the sync) or dist was hand-edited. ' +
317
+ 'Diagnostics below name the difference.',
318
+ });
319
+ }
320
+
457
321
  // Frontmatter check
458
322
  const srcFm = extractFrontmatter(source);
459
323
  const cmpFm = extractFrontmatter(condensed);
@@ -567,7 +431,14 @@ function checkPair(relPath: string, source: string, condensed: string): Issue[]
567
431
  }
568
432
  }
569
433
 
570
- // Word count ratio
434
+ // Word-count ratio — kept ONLY as an excessive-reduction alarm.
435
+ //
436
+ // Post-ADR-201 the projection is a verbatim copy, so the expected reduction is
437
+ // 0% and the old `minimal_reduction` info fired on 413 of 428 files by design.
438
+ // A diagnostic that flags 96% of its inputs is not a diagnostic, it is noise
439
+ // that trains the reader to skip the output. The excessive-reduction warning
440
+ // stays: under byte-exactness it can only fire if something upstream mangled a
441
+ // file, which is exactly when a loud second signal earns its place.
571
442
  const srcWords = wordCount(source);
572
443
  const cmpWords = wordCount(condensed);
573
444
  if (srcWords > 0) {
@@ -578,16 +449,9 @@ function checkPair(relPath: string, source: string, condensed: string): Issue[]
578
449
  check: 'excessive_reduction',
579
450
  severity: 'warning',
580
451
  message:
581
- `Condensation reduced ${fmt0f(reduction)}% — possible content loss ` +
452
+ `Projection lost ${fmt0f(reduction)}% of the words — content loss ` +
582
453
  `(${srcWords} → ${cmpWords} words)`,
583
454
  });
584
- } else if (reduction < 5 && srcWords > 100) {
585
- issues.push({
586
- file: relPath,
587
- check: 'minimal_reduction',
588
- severity: 'info',
589
- message: `Condensation only reduced ${fmt0f(reduction)}% (${srcWords} → ${cmpWords} words)`,
590
- });
591
455
  }
592
456
  }
593
457
 
@@ -619,15 +483,31 @@ function rglobMdSorted(dir: string): string[] {
619
483
  return out;
620
484
  }
621
485
 
486
+ /** A gate that scans nothing must never report success. This fired for real:
487
+ * `SOURCE_DIR` pointed at a tree emptied by the ADR-051 migration, so the check
488
+ * ran in CI against 0 pairs and exited 0 for as long as the tree stayed dead.
489
+ * Zero findings over zero inputs is a broken gate, not a pass. */
490
+ function scannedNothing(sourceDir: string): Issue {
491
+ return {
492
+ file: SOURCE_DIR,
493
+ check: 'scanned_nothing',
494
+ severity: 'error',
495
+ message:
496
+ `scanned 0 source/target pairs under '${sourceDir}' — a gate that inspects ` +
497
+ `nothing cannot pass. Check SOURCE_DIR/TARGET_DIR against the real tree.`,
498
+ };
499
+ }
500
+
622
501
  function scanAll(root: string): Issue[] {
623
502
  const issues: Issue[] = [];
624
503
  const sourceDir = path.join(root, SOURCE_DIR);
625
504
  const targetDir = path.join(root, TARGET_DIR);
626
505
 
627
506
  if (!fs.existsSync(sourceDir) || !fs.existsSync(targetDir)) {
628
- return issues;
507
+ return [scannedNothing(sourceDir)];
629
508
  }
630
509
 
510
+ let scanned = 0;
631
511
  for (const sourceFile of rglobMdSorted(sourceDir)) {
632
512
  const rel = path.relative(sourceDir, sourceFile);
633
513
  const targetFile = path.join(targetDir, rel);
@@ -641,12 +521,37 @@ function scanAll(root: string): Issue[] {
641
521
  continue;
642
522
  }
643
523
 
524
+ // Pair via the projector's root PRECEDENCE, not by naive src/-relative
525
+ // pathing. `src/` and `src/agent-src/` are both artefact roots, so the same
526
+ // relative path can name two UNRELATED files — `profiles/README.md` exists
527
+ // under both, documenting different things (the CLI's profile YAMLs vs the
528
+ // agent-src seed profiles). Pairing them by string produced a byte-exactness
529
+ // failure that looked like a stale shadow file and was really a collision in
530
+ // this loop. `src/agent-src/<rel>` wins because that is the root the
531
+ // projector resolves first.
532
+ const agentSrcCandidate = path.join(sourceDir, 'agent-src', rel);
533
+ const effectiveSource =
534
+ !sourceFile.includes(`${path.sep}agent-src${path.sep}`) && fs.existsSync(agentSrcCandidate)
535
+ ? agentSrcCandidate
536
+ : sourceFile;
537
+ if (effectiveSource !== sourceFile) {
538
+ continue; // the agent-src copy is the real pair; it gets its own iteration
539
+ }
540
+
644
541
  let sourceText = fs.readFileSync(sourceFile, 'utf-8');
645
542
  const targetText = fs.readFileSync(targetFile, 'utf-8');
646
543
  sourceText = _rewritePaths(sourceText, relStr);
544
+ scanned += 1;
647
545
  issues.push(...checkPair(relStr, sourceText, targetText));
648
546
  }
649
547
 
548
+ if (scanned === 0) {
549
+ issues.push(scannedNothing(sourceDir));
550
+ }
551
+ // Gate-coverage contract (src/config/gate-coverage.yml): emit exactly one
552
+ // machine-readable count so `check_gate_coverage` never has to parse the
553
+ // human report. A guard that parses prose is the fragile thing it replaces.
554
+ process.stdout.write(`scanned: ${String(scanned)}\n`);
650
555
  return issues;
651
556
  }
652
557