@event4u/agent-config 6.1.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1537) hide show
  1. package/.claude-plugin/marketplace.json +35 -3
  2. package/AGENTS.md +8 -7
  3. package/CHANGELOG.md +408 -0
  4. package/CONTRIBUTING.md +1 -1
  5. package/README.md +17 -15
  6. package/dist/agent-src/commands/agent-status.md +2 -2
  7. package/dist/agent-src/commands/agents/audit.md +3 -3
  8. package/dist/agent-src/commands/agents/init.md +1 -1
  9. package/dist/agent-src/commands/agents/optimize.md +4 -4
  10. package/dist/agent-src/commands/analyze/decision.md +108 -0
  11. package/dist/agent-src/commands/analyze/incident.md +120 -0
  12. package/dist/agent-src/commands/analyze/near-miss.md +113 -0
  13. package/dist/agent-src/commands/analyze/postmortem.md +130 -0
  14. package/dist/agent-src/commands/analyze/premortem.md +104 -0
  15. package/dist/agent-src/commands/analyze.md +124 -0
  16. package/dist/agent-src/commands/brand/identity.md +27 -0
  17. package/dist/agent-src/commands/brand/review.md +27 -0
  18. package/dist/agent-src/commands/brand/strategy.md +27 -0
  19. package/dist/agent-src/commands/brand/tokens.md +28 -0
  20. package/dist/agent-src/commands/brand/voice.md +27 -0
  21. package/dist/agent-src/commands/brand.md +58 -0
  22. package/dist/agent-src/commands/check-current-md.md +3 -3
  23. package/dist/agent-src/commands/condense.md +2 -2
  24. package/dist/agent-src/commands/council/debate.md +2 -2
  25. package/dist/agent-src/commands/council/default.md +45 -18
  26. package/dist/agent-src/commands/fix/portability.md +3 -3
  27. package/dist/agent-src/commands/fix/refs.md +3 -3
  28. package/dist/agent-src/commands/implement-ticket.md +36 -6
  29. package/dist/agent-src/commands/knowledge/cross-repo.md +1 -1
  30. package/dist/agent-src/commands/memory/add.md +1 -1
  31. package/dist/agent-src/commands/mission/upgrade.md +182 -0
  32. package/dist/agent-src/commands/optimize/skills.md +2 -2
  33. package/dist/agent-src/commands/orchestrate.md +1 -1
  34. package/dist/agent-src/commands/pr/create.md +6 -4
  35. package/dist/agent-src/commands/review-changes.md +8 -0
  36. package/dist/agent-src/commands/roadmap/materialize.md +73 -0
  37. package/dist/agent-src/commands/skill/preview.md +1 -1
  38. package/dist/agent-src/commands/skills/discover.md +1 -1
  39. package/dist/agent-src/commands/threat-model.md +4 -4
  40. package/dist/agent-src/commands/upstream-contribute.md +3 -3
  41. package/dist/agent-src/commands/video/from-script.md +2 -2
  42. package/dist/agent-src/commands/video/from-song.md +3 -3
  43. package/dist/agent-src/commands/video/scene.md +1 -1
  44. package/dist/agent-src/commands/video/storyboard.md +1 -1
  45. package/dist/agent-src/commands/video.md +3 -3
  46. package/dist/agent-src/contexts/communication/rules-auto/source-of-truth-mechanics.md +3 -3
  47. package/dist/agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +1 -1
  48. package/dist/agent-src/contexts/execution/evidence-discipline.md +153 -0
  49. package/dist/agent-src/contexts/execution/project-intelligence.md +264 -0
  50. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +2 -1
  51. package/dist/agent-src/personas/ai-video-technical-director.md +1 -1
  52. package/dist/agent-src/personas/brand-strategist.md +74 -0
  53. package/dist/agent-src/personas/design-director.md +74 -0
  54. package/dist/agent-src/rules/brand-consistency.md +77 -0
  55. package/dist/agent-src/rules/brand-source-of-truth.md +57 -0
  56. package/dist/agent-src/rules/direct-answers.md +2 -0
  57. package/dist/agent-src/rules/domain-safety-disclaimer.md +2 -0
  58. package/dist/agent-src/rules/git-history-discipline.md +1 -0
  59. package/dist/agent-src/rules/icon-consistency.md +53 -0
  60. package/dist/agent-src/rules/image-likeness-and-rights.md +67 -0
  61. package/dist/agent-src/rules/lethal-trifecta-guard.md +1 -1
  62. package/dist/agent-src/rules/persona-governance.md +2 -2
  63. package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -1
  64. package/dist/agent-src/rules/roadmap-progress-sync.md +10 -0
  65. package/dist/agent-src/rules/security-sensitive-stop.md +9 -3
  66. package/dist/agent-src/rules/size-enforcement.md +1 -1
  67. package/dist/agent-src/rules/source-confidentiality.md +3 -3
  68. package/dist/agent-src/rules/source-discovery-gate.md +98 -0
  69. package/dist/agent-src/rules/think-before-action.md +1 -0
  70. package/dist/agent-src/rules/ui-audit-gate.md +2 -0
  71. package/dist/agent-src/rules/untrusted-input-defense.md +1 -1
  72. package/dist/agent-src/rules/user-interaction.md +1 -1
  73. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +392 -0
  74. package/dist/agent-src/scripts/update_roadmap_progress.ts +824 -0
  75. package/dist/agent-src/skills/adr-create/SKILL.md +5 -5
  76. package/dist/agent-src/skills/agent-security-review/evals/triggers.json +1 -0
  77. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +1 -1
  78. package/dist/agent-src/skills/ai-council/SKILL.md +1 -1
  79. package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +9 -13
  80. package/dist/agent-src/skills/blade-ui/SKILL.md +12 -5
  81. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +199 -0
  82. package/dist/agent-src/skills/brand/ATTRIBUTION.md +38 -0
  83. package/dist/agent-src/skills/brand/SKILL.md +115 -0
  84. package/dist/agent-src/skills/brand/data/archetypes.csv +13 -0
  85. package/dist/agent-src/skills/brand/data/color-psychology.csv +14 -0
  86. package/dist/agent-src/skills/brand/data/logo-style-fit.csv +13 -0
  87. package/dist/agent-src/skills/brand/data/manifest.json +226 -0
  88. package/dist/agent-src/skills/brand/data/messaging-frameworks.csv +13 -0
  89. package/dist/agent-src/skills/brand/data/naming-patterns.csv +13 -0
  90. package/dist/agent-src/skills/brand/data/typography-principles.csv +13 -0
  91. package/dist/agent-src/skills/brand/data/voice-tone.csv +13 -0
  92. package/dist/agent-src/skills/brand/evals/triggers.json +17 -0
  93. package/dist/agent-src/skills/brand-asset-generation/SKILL.md +89 -0
  94. package/dist/agent-src/skills/brand-asset-generation/evals/triggers.json +17 -0
  95. package/dist/agent-src/skills/brand-audit/SKILL.md +67 -0
  96. package/dist/agent-src/skills/brand-audit/evals/triggers.json +17 -0
  97. package/dist/agent-src/skills/brand-identity/SKILL.md +101 -0
  98. package/dist/agent-src/skills/brand-identity/evals/triggers.json +17 -0
  99. package/dist/agent-src/skills/brand-strategy/SKILL.md +83 -0
  100. package/dist/agent-src/skills/brand-strategy/evals/triggers.json +17 -0
  101. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +102 -0
  102. package/dist/agent-src/skills/brand-to-tokens/evals/triggers.json +17 -0
  103. package/dist/agent-src/skills/brand-to-tokens/templates/marp-brand-deck.md.example +46 -0
  104. package/dist/agent-src/skills/brand-to-tokens/templates/reveal-brand-deck.yaml +32 -0
  105. package/dist/agent-src/skills/canvas-design/evals/triggers.json +1 -0
  106. package/dist/agent-src/skills/check-refs/SKILL.md +5 -5
  107. package/dist/agent-src/skills/code-review/SKILL.md +6 -15
  108. package/dist/agent-src/skills/command-writing/SKILL.md +2 -2
  109. package/dist/agent-src/skills/complexity-first-planning/evals/triggers.json +1 -0
  110. package/dist/agent-src/skills/context-authoring/SKILL.md +2 -2
  111. package/dist/agent-src/skills/context-document/SKILL.md +35 -2
  112. package/dist/agent-src/skills/corpus-grounding/evals/triggers.json +1 -0
  113. package/dist/agent-src/skills/corpus-grounding/scripts/bm25_search.ts +482 -0
  114. package/dist/agent-src/skills/corpus-grounding/scripts/decision_engine.ts +803 -0
  115. package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +541 -0
  116. package/dist/agent-src/skills/corpus-grounding/scripts/schema_validator.ts +309 -0
  117. package/dist/agent-src/skills/database/SKILL.md +26 -4
  118. package/dist/agent-src/skills/decision-record/SKILL.md +1 -1
  119. package/dist/agent-src/skills/decision-record/evals/triggers.json +17 -0
  120. package/dist/agent-src/skills/decision-review/SKILL.md +179 -0
  121. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  122. package/dist/agent-src/skills/design-intelligence/SKILL.md +1 -1
  123. package/dist/agent-src/skills/design-intelligence/data/manifest.json +23 -6
  124. package/dist/agent-src/skills/design-intelligence/evals/triggers.json +1 -0
  125. package/dist/agent-src/skills/design-tokens/evals/triggers.json +1 -0
  126. package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +888 -0
  127. package/dist/agent-src/skills/doc-coauthoring/evals/triggers.json +1 -0
  128. package/dist/agent-src/skills/eloquent/evals/triggers.json +1 -0
  129. package/dist/agent-src/skills/emit-tickets/SKILL.md +198 -0
  130. package/dist/agent-src/skills/estimate-ticket/evals/triggers.json +1 -0
  131. package/dist/agent-src/skills/git-workflow/SKILL.md +33 -0
  132. package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
  133. package/dist/agent-src/skills/iconography/SKILL.md +88 -0
  134. package/dist/agent-src/skills/iconography/evals/triggers.json +17 -0
  135. package/dist/agent-src/skills/image-analyser/evals/triggers.json +1 -0
  136. package/dist/agent-src/skills/image-creator/evals/triggers.json +1 -0
  137. package/dist/agent-src/skills/image-editing/SKILL.md +100 -0
  138. package/dist/agent-src/skills/image-editing/evals/triggers.json +17 -0
  139. package/dist/agent-src/skills/image-generation/SKILL.md +95 -0
  140. package/dist/agent-src/skills/image-generation/evals/triggers.json +17 -0
  141. package/dist/agent-src/skills/image-provider-routing/SKILL.md +96 -0
  142. package/dist/agent-src/skills/image-provider-routing/evals/triggers.json +17 -0
  143. package/dist/agent-src/skills/launch-readiness/SKILL.md +21 -0
  144. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +12 -8
  145. package/dist/agent-src/skills/lint-skills/SKILL.md +5 -5
  146. package/dist/agent-src/skills/logo-generation/SKILL.md +98 -0
  147. package/dist/agent-src/skills/logo-generation/evals/triggers.json +17 -0
  148. package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
  149. package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
  150. package/dist/agent-src/skills/motion-choreographer/SKILL.md +1 -1
  151. package/dist/agent-src/skills/php-coder/evals/triggers.json +1 -0
  152. package/dist/agent-src/skills/prediction-pool-optimizer/evals/triggers.json +1 -0
  153. package/dist/agent-src/skills/premortem/SKILL.md +137 -0
  154. package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +115 -0
  155. package/dist/agent-src/skills/prompt-engineering-image/evals/triggers.json +17 -0
  156. package/dist/agent-src/skills/prompt-validator/evals/triggers.json +1 -0
  157. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +12 -5
  158. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +388 -0
  159. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +1 -1
  160. package/dist/agent-src/skills/reasoning-orchestrator/evals/triggers.json +1 -0
  161. package/dist/agent-src/skills/refine-ticket/evals/triggers.json +1 -0
  162. package/dist/agent-src/skills/roadmap-management/SKILL.md +16 -3
  163. package/dist/agent-src/skills/roadmap-writing/SKILL.md +76 -0
  164. package/dist/agent-src/skills/root-cause-frameworks/SKILL.md +146 -0
  165. package/dist/agent-src/skills/rule-refactor/SKILL.md +9 -9
  166. package/dist/agent-src/skills/rule-writing/SKILL.md +7 -7
  167. package/dist/agent-src/skills/script-writing/SKILL.md +2 -2
  168. package/dist/agent-src/skills/security-audit/SKILL.md +5 -0
  169. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +19 -3
  170. package/dist/agent-src/skills/skill-management/SKILL.md +3 -3
  171. package/dist/agent-src/skills/skill-reviewer/SKILL.md +1 -1
  172. package/dist/agent-src/skills/skill-writing/SKILL.md +5 -5
  173. package/dist/agent-src/skills/skill-writing/evals/triggers.json +1 -0
  174. package/dist/agent-src/skills/source-discovery/SKILL.md +182 -0
  175. package/dist/agent-src/skills/standards-from-config/SKILL.md +93 -0
  176. package/dist/agent-src/skills/systematic-debugging/SKILL.md +7 -0
  177. package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +561 -0
  178. package/dist/agent-src/skills/threat-modeling/SKILL.md +1 -0
  179. package/dist/agent-src/skills/typography-system/SKILL.md +138 -0
  180. package/dist/agent-src/skills/typography-system/evals/triggers.json +17 -0
  181. package/dist/agent-src/skills/upstream-contribute/SKILL.md +3 -3
  182. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +209 -0
  183. package/dist/agent-src/skills/verify-repair-loop/evals/output-schema.yml +20 -0
  184. package/dist/agent-src/skills/verify-repair-loop/evals/triggers.json +17 -0
  185. package/dist/agent-src/templates/agent-settings.md +7 -0
  186. package/dist/agent-src/templates/contexts/knowledge-card.md +69 -0
  187. package/dist/agent-src/templates/contexts/lesson-card.md +73 -0
  188. package/dist/agent-src/templates/roadmaps.md +29 -1
  189. package/dist/agent-src/templates/scripts/README.md +6 -6
  190. package/dist/agent-src/templates/scripts/check_memory.ts +640 -0
  191. package/dist/agent-src/templates/scripts/check_memory_proposal.ts +351 -0
  192. package/dist/agent-src/templates/scripts/implement_ticket/__main__.ts +27 -0
  193. package/dist/agent-src/templates/scripts/memory_hash.ts +333 -0
  194. package/dist/agent-src/templates/scripts/memory_lookup.ts +1067 -0
  195. package/dist/agent-src/templates/scripts/memory_report.ts +846 -0
  196. package/dist/agent-src/templates/scripts/memory_signal.ts +422 -0
  197. package/dist/agent-src/templates/scripts/memory_status.ts +191 -0
  198. package/dist/agent-src/templates/scripts/pr_review_routing.ts +523 -0
  199. package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  200. package/dist/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
  201. package/dist/agent-src/templates/scripts/telemetry/boundary.ts +164 -0
  202. package/dist/agent-src/templates/scripts/telemetry/engagement.ts +479 -0
  203. package/dist/agent-src/templates/scripts/telemetry/report_renderer.ts +394 -0
  204. package/dist/agent-src/templates/scripts/telemetry/settings.ts +210 -0
  205. package/dist/agent-src/templates/scripts/telemetry_record.ts +255 -0
  206. package/dist/agent-src/templates/scripts/telemetry_report.ts +189 -0
  207. package/dist/agent-src/templates/scripts/telemetry_status.ts +312 -0
  208. package/dist/agent-src/templates/scripts/tier_usage_report.ts +597 -0
  209. package/dist/agent-src/templates/scripts/work_engine/__main__.ts +14 -0
  210. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +1118 -0
  211. package/dist/agent-src/templates/scripts/work_engine/_lib/user_global_paths.ts +329 -0
  212. package/dist/agent-src/templates/scripts/work_engine/cli.ts +206 -0
  213. package/dist/agent-src/templates/scripts/work_engine/cli_args.ts +249 -0
  214. package/dist/agent-src/templates/scripts/work_engine/delivery_state.ts +225 -0
  215. package/dist/agent-src/templates/scripts/work_engine/directives/backend/analyze.ts +125 -0
  216. package/dist/agent-src/templates/scripts/work_engine/directives/backend/implement.ts +189 -0
  217. package/dist/agent-src/templates/scripts/work_engine/directives/backend/index.ts +94 -0
  218. package/dist/agent-src/templates/scripts/work_engine/directives/backend/memory.ts +193 -0
  219. package/dist/agent-src/templates/scripts/work_engine/directives/backend/plan.ts +267 -0
  220. package/dist/agent-src/templates/scripts/work_engine/directives/backend/refine.ts +518 -0
  221. package/dist/agent-src/templates/scripts/work_engine/directives/backend/report.ts +379 -0
  222. package/dist/agent-src/templates/scripts/work_engine/directives/backend/test.ts +268 -0
  223. package/dist/agent-src/templates/scripts/work_engine/directives/backend/verify.ts +258 -0
  224. package/dist/agent-src/templates/scripts/work_engine/directives/index.ts +32 -0
  225. package/dist/agent-src/templates/scripts/work_engine/directives/mixed/contract.ts +243 -0
  226. package/dist/agent-src/templates/scripts/work_engine/directives/mixed/index.ts +108 -0
  227. package/dist/agent-src/templates/scripts/work_engine/directives/mixed/stitch.ts +259 -0
  228. package/dist/agent-src/templates/scripts/work_engine/directives/mixed/ui.ts +216 -0
  229. package/dist/agent-src/templates/scripts/work_engine/directives/ui/_passthrough.ts +40 -0
  230. package/dist/agent-src/templates/scripts/work_engine/directives/ui/app_spec.ts +241 -0
  231. package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +216 -0
  232. package/dist/agent-src/templates/scripts/work_engine/directives/ui/audit.ts +506 -0
  233. package/dist/agent-src/templates/scripts/work_engine/directives/ui/design.ts +325 -0
  234. package/dist/agent-src/templates/scripts/work_engine/directives/ui/index.ts +102 -0
  235. package/dist/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +462 -0
  236. package/dist/agent-src/templates/scripts/work_engine/directives/ui/review.ts +474 -0
  237. package/dist/agent-src/templates/scripts/work_engine/directives/ui/scaffold.ts +352 -0
  238. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/_skipped.ts +33 -0
  239. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/apply.ts +213 -0
  240. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/index.ts +111 -0
  241. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/refine.ts +126 -0
  242. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/report.ts +112 -0
  243. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/test.ts +164 -0
  244. package/dist/agent-src/templates/scripts/work_engine/dispatcher.ts +515 -0
  245. package/dist/agent-src/templates/scripts/work_engine/emitters.ts +119 -0
  246. package/dist/agent-src/templates/scripts/work_engine/errors.ts +24 -0
  247. package/dist/agent-src/templates/scripts/work_engine/hook_bootstrap.ts +104 -0
  248. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +176 -0
  249. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_append.ts +41 -0
  250. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_halt_append.ts +89 -0
  251. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_gate.ts +193 -0
  252. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +304 -0
  253. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/directive_set_guard.ts +110 -0
  254. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/halt_surface_audit.ts +118 -0
  255. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/index.ts +17 -0
  256. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +161 -0
  257. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/state_shape_validation.ts +45 -0
  258. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/trace.ts +134 -0
  259. package/dist/agent-src/templates/scripts/work_engine/hooks/context.ts +94 -0
  260. package/dist/agent-src/templates/scripts/work_engine/hooks/events.ts +58 -0
  261. package/dist/agent-src/templates/scripts/work_engine/hooks/exceptions.ts +85 -0
  262. package/dist/agent-src/templates/scripts/work_engine/hooks/index.ts +27 -0
  263. package/dist/agent-src/templates/scripts/work_engine/hooks/registry.ts +66 -0
  264. package/dist/agent-src/templates/scripts/work_engine/hooks/runner.ts +90 -0
  265. package/dist/agent-src/templates/scripts/work_engine/hooks/settings.ts +260 -0
  266. package/dist/agent-src/templates/scripts/work_engine/input_builders.ts +260 -0
  267. package/dist/agent-src/templates/scripts/work_engine/intent/classify.ts +466 -0
  268. package/dist/agent-src/templates/scripts/work_engine/migration/v0_to_v1.ts +531 -0
  269. package/dist/agent-src/templates/scripts/work_engine/orchestration.ts +366 -0
  270. package/dist/agent-src/templates/scripts/work_engine/persona_policy.ts +97 -0
  271. package/dist/agent-src/templates/scripts/work_engine/resolvers/diff.ts +135 -0
  272. package/dist/agent-src/templates/scripts/work_engine/resolvers/file.ts +175 -0
  273. package/dist/agent-src/templates/scripts/work_engine/resolvers/prompt.ts +115 -0
  274. package/dist/agent-src/templates/scripts/work_engine/scoring/confidence.ts +415 -0
  275. package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +466 -0
  276. package/dist/agent-src/templates/scripts/work_engine/scoring/decision_trace.ts +298 -0
  277. package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +444 -0
  278. package/dist/agent-src/templates/scripts/work_engine/stack/detect.ts +252 -0
  279. package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +745 -0
  280. package/dist/agent-src/templates/scripts/work_engine/state.ts +1151 -0
  281. package/dist/agent-src/templates/scripts/work_engine/state_io.ts +413 -0
  282. package/dist/agent-src/templates/tickets.md +120 -0
  283. package/dist/cli/commands/commands.js +2 -2
  284. package/dist/cli/commands/commands.js.map +1 -1
  285. package/dist/cli/commands/doctorShell.js +4 -22
  286. package/dist/cli/commands/doctorShell.js.map +1 -1
  287. package/dist/cli/commands/packs.js +1 -1
  288. package/dist/cli/commands/packs.js.map +1 -1
  289. package/dist/cli/commands/recordTriggerEval.js +179 -0
  290. package/dist/cli/commands/recordTriggerEval.js.map +1 -0
  291. package/dist/cli/commands/recordTriggerEval.test.js +113 -0
  292. package/dist/cli/commands/recordTriggerEval.test.js.map +1 -0
  293. package/dist/cli/commands/workspaces.js +1 -1
  294. package/dist/cli/commands/workspaces.js.map +1 -1
  295. package/dist/cli/main.js +22 -1
  296. package/dist/cli/main.js.map +1 -1
  297. package/dist/cli/python/knowledge_ingest.js +1048 -0
  298. package/dist/cli/python/knowledge_ingest.js.map +1 -0
  299. package/dist/cli/python/workspace_analytics.js +1085 -0
  300. package/dist/cli/python/workspace_analytics.js.map +1 -0
  301. package/dist/cli/python/workspace_crypto.js +544 -0
  302. package/dist/cli/python/workspace_crypto.js.map +1 -0
  303. package/dist/cli/python/workspace_documents.js +1216 -0
  304. package/dist/cli/python/workspace_documents.js.map +1 -0
  305. package/dist/cli/python/workspace_drive.js +574 -0
  306. package/dist/cli/python/workspace_drive.js.map +1 -0
  307. package/dist/cli/python/workspace_drive_health.js +628 -0
  308. package/dist/cli/python/workspace_drive_health.js.map +1 -0
  309. package/dist/cli/python/workspace_explain.js +765 -0
  310. package/dist/cli/python/workspace_explain.js.map +1 -0
  311. package/dist/cli/python/workspace_hosts.js +349 -0
  312. package/dist/cli/python/workspace_hosts.js.map +1 -0
  313. package/dist/cli/python/workspace_inbox.js +692 -0
  314. package/dist/cli/python/workspace_inbox.js.map +1 -0
  315. package/dist/cli/python/workspace_render.js +816 -0
  316. package/dist/cli/python/workspace_render.js.map +1 -0
  317. package/dist/cli/python/workspace_roles.js +487 -0
  318. package/dist/cli/python/workspace_roles.js.map +1 -0
  319. package/dist/cli/python/workspace_secrets.js +180 -0
  320. package/dist/cli/python/workspace_secrets.js.map +1 -0
  321. package/dist/cli/python/workspace_sessions.js +1079 -0
  322. package/dist/cli/python/workspace_sessions.js.map +1 -0
  323. package/dist/cli/python/workspace_skills.js +417 -0
  324. package/dist/cli/python/workspace_skills.js.map +1 -0
  325. package/dist/cli/registry.js +2 -0
  326. package/dist/cli/registry.js.map +1 -1
  327. package/dist/discovery/deprecation-report.md +1 -1
  328. package/dist/discovery/discovery-manifest.json +1174 -123
  329. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  330. package/dist/discovery/discovery-manifest.summary.md +9 -6
  331. package/dist/discovery/orphan-report.md +1 -1
  332. package/dist/discovery/packs.json +163 -15
  333. package/dist/discovery/trust-report.md +4 -4
  334. package/dist/discovery/workspaces.json +73 -12
  335. package/dist/install/install.mjs +13934 -0
  336. package/dist/mcp/registry-manifest.json +4 -4
  337. package/dist/router.json +1 -1
  338. package/dist/server/routes/wizard.js +50 -21
  339. package/dist/server/routes/wizard.js.map +1 -1
  340. package/dist/server/routes/workspace.js +44 -25
  341. package/dist/server/routes/workspace.js.map +1 -1
  342. package/dist/server/schemas/settings.js +15 -0
  343. package/dist/server/schemas/settings.js.map +1 -1
  344. package/docs/SKILL_CENSUS.md +344 -0
  345. package/docs/architecture/augment-projection.md +1 -1
  346. package/docs/architecture/multi-tool-projection.md +3 -3
  347. package/docs/architecture.md +37 -6
  348. package/docs/benchmark.md +24 -27
  349. package/docs/capability-matrix.md +32 -0
  350. package/docs/catalog.md +50 -9
  351. package/docs/command-naming-audit.md +60 -0
  352. package/docs/contracts/STABILITY.md +32 -0
  353. package/docs/contracts/agents-md-tech-stack.md +1 -1
  354. package/docs/contracts/ai-council-config.md +22 -22
  355. package/docs/contracts/analysis-memory-loop.md +149 -0
  356. package/docs/contracts/benchmark-ab-contract.md +3 -3
  357. package/docs/contracts/branch-protection-policy.md +27 -0
  358. package/docs/contracts/brand-token-consumption.md +69 -0
  359. package/docs/contracts/command-clusters.md +2 -1
  360. package/docs/contracts/command-surface-tiers.md +13 -0
  361. package/docs/contracts/discovery-manifest.schema.json +24 -5
  362. package/docs/contracts/implement-ticket-flow.md +9 -9
  363. package/docs/contracts/install-layout.md +249 -0
  364. package/docs/contracts/kernel-membership.md +1 -1
  365. package/docs/contracts/linear-ai-rules-inclusion.md +2 -2
  366. package/docs/contracts/linter-structural-model.md +1 -1
  367. package/docs/contracts/mcp-discovery-phase-notice.md +1 -1
  368. package/docs/contracts/multi-tool-projection-fidelity.md +1 -1
  369. package/docs/contracts/namespace.md +2 -2
  370. package/docs/contracts/no-runtime-boundary.md +56 -0
  371. package/docs/contracts/package-self-orientation.md +24 -0
  372. package/docs/contracts/provider-lifecycle.md +3 -3
  373. package/docs/contracts/reasoning-discipline-protocol.md +83 -0
  374. package/docs/contracts/rule-classification.md +3 -3
  375. package/docs/contracts/skill-domains.md +1 -1
  376. package/docs/contracts/smoke-contracts.md +1 -1
  377. package/docs/contracts/surface-tiers.md +81 -0
  378. package/docs/contracts/ticket-bundle-format.md +228 -0
  379. package/docs/cookbook.md +152 -0
  380. package/docs/customization.md +12 -1
  381. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +16 -0
  382. package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +1 -1
  383. package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +1 -1
  384. package/docs/decisions/ADR-060-comfyui-sandbox-model.md +1 -1
  385. package/docs/decisions/ADR-061-corpus-grounding-layer.md +48 -1
  386. package/docs/decisions/ADR-096-analysis-workbench.md +110 -0
  387. package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +121 -0
  388. package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +154 -0
  389. package/docs/decisions/ADR-099-file-first-pattern-library.md +87 -0
  390. package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +133 -0
  391. package/docs/decisions/ADR-101-ticket-bundle-emission.md +109 -0
  392. package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +72 -0
  393. package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +92 -0
  394. package/docs/decisions/ADR-200-python-to-typescript-migration.md +193 -0
  395. package/docs/decisions/INDEX.md +9 -0
  396. package/docs/distribution/mcp-submission-checklist.md +3 -3
  397. package/docs/featured-commands.md +1 -1
  398. package/docs/featured-skills.md +1 -1
  399. package/docs/getting-started-by-role.md +2 -0
  400. package/docs/getting-started.md +2 -2
  401. package/docs/guidelines/agent-infra/failure-signatures.md +35 -0
  402. package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +5 -0
  403. package/docs/guidelines/agent-infra/size-and-scope.md +17 -0
  404. package/docs/guidelines/agent-infra/skill-quality-checklist.md +2 -2
  405. package/docs/guides/frontend-design-corpus-refresh.md +83 -0
  406. package/docs/guides/skill-preview.md +1 -1
  407. package/docs/hook-payload-capture.md +4 -4
  408. package/docs/mcp.md +1 -1
  409. package/docs/migration/consumer-template-consumption-model.md +145 -0
  410. package/docs/migration/divergences/README.md +55 -0
  411. package/docs/migration/divergences/_template.md +50 -0
  412. package/docs/migration/divergences/bench-stats-float-precision.md +72 -0
  413. package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +61 -0
  414. package/docs/migration/divergences/pack-mcp-content-gzip-body.md +53 -0
  415. package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +63 -0
  416. package/docs/migration/divergences/src-scripts-check_memory.md +91 -0
  417. package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +65 -0
  418. package/docs/migration/divergences/src-scripts-lint_marketplace.md +57 -0
  419. package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +70 -0
  420. package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +60 -0
  421. package/docs/migration/divergences/src-scripts-validate_agent_settings.md +58 -0
  422. package/docs/migration/node-floor.md +86 -0
  423. package/docs/migration/yaml-roundtrip-spike.md +163 -0
  424. package/docs/personas.md +6 -1
  425. package/docs/role-experiences.md +19 -0
  426. package/docs/setup/per-ide/windsurf.md +1 -1
  427. package/docs/skills-catalog.md +24 -3
  428. package/docs/threat-model.md +28 -0
  429. package/llms.txt +23 -2
  430. package/package.json +10 -15
  431. package/src/config/agent-settings.template.yml +64 -1
  432. package/src/config/discovery/packs.yml +31 -0
  433. package/src/config/discovery/unassigned-artefacts.yml +6 -0
  434. package/src/config/discovery/workspaces.yml +2 -2
  435. package/src/config/gitignore-block.txt +7 -0
  436. package/src/scripts/_cli/cmd_doctor.ts +2306 -0
  437. package/src/scripts/_cli/cmd_explain.ts +748 -0
  438. package/src/scripts/_cli/cmd_export.ts +375 -0
  439. package/src/scripts/_cli/cmd_migrate.ts +951 -0
  440. package/src/scripts/_cli/cmd_prune.ts +610 -0
  441. package/src/scripts/_cli/cmd_refresh.ts +530 -0
  442. package/src/scripts/_cli/cmd_settings_check.ts +407 -0
  443. package/src/scripts/_cli/cmd_settings_migrate.ts +344 -0
  444. package/src/scripts/_cli/cmd_sync.ts +381 -0
  445. package/src/scripts/_cli/cmd_uninstall.ts +833 -0
  446. package/src/scripts/_cli/cmd_update.ts +585 -0
  447. package/src/scripts/_cli/cmd_upgrade.ts +390 -0
  448. package/src/scripts/_cli/cmd_validate.ts +394 -0
  449. package/src/scripts/_cli/cmd_versions.ts +492 -0
  450. package/src/scripts/_cli/explain_last/assumptions.ts +114 -0
  451. package/src/scripts/_cli/explain_last/council.ts +197 -0
  452. package/src/scripts/_cli/explain_last/halt.ts +73 -0
  453. package/src/scripts/_cli/explain_last/index.ts +155 -0
  454. package/src/scripts/_cli/explain_last/inputs.ts +211 -0
  455. package/src/scripts/_cli/explain_last/memory.ts +231 -0
  456. package/src/scripts/_cli/explain_last/provider.ts +82 -0
  457. package/src/scripts/_cli/explain_last/render.ts +54 -0
  458. package/src/scripts/_cli/explain_last/route.ts +70 -0
  459. package/src/scripts/_cli/explain_last/scrubber.ts +138 -0
  460. package/src/scripts/_cli/explain_last/sections/assumptions.ts +51 -0
  461. package/src/scripts/_cli/explain_last/sections/council.ts +56 -0
  462. package/src/scripts/_cli/explain_last/sections/halt.ts +60 -0
  463. package/src/scripts/_cli/explain_last/sections/header.ts +50 -0
  464. package/src/scripts/_cli/explain_last/sections/index.ts +21 -0
  465. package/src/scripts/_cli/explain_last/sections/inputs.ts +63 -0
  466. package/src/scripts/_cli/explain_last/sections/memory.ts +124 -0
  467. package/src/scripts/_cli/explain_last/sections/pack.ts +42 -0
  468. package/src/scripts/_cli/explain_last/sections/provider.ts +51 -0
  469. package/src/scripts/_cli/explain_last/sections/route.ts +48 -0
  470. package/src/scripts/_cli/explain_last/state_loader.ts +119 -0
  471. package/src/scripts/_dispatch.bash +179 -163
  472. package/src/scripts/_lib/agent_settings.ts +1123 -0
  473. package/src/scripts/_lib/agent_src.ts +654 -0
  474. package/src/scripts/_lib/agents_overlay.ts +183 -0
  475. package/src/scripts/_lib/bench_ab_cache.ts +399 -0
  476. package/src/scripts/_lib/bench_ab_scoring.ts +352 -0
  477. package/src/scripts/_lib/bench_ab_scoring_v2.ts +751 -0
  478. package/src/scripts/_lib/bench_cost.ts +396 -0
  479. package/src/scripts/_lib/bench_quality.ts +237 -0
  480. package/src/scripts/_lib/bench_report.ts +255 -0
  481. package/src/scripts/_lib/bench_telegraph.ts +516 -0
  482. package/src/scripts/_lib/bench_telegraph_report.ts +272 -0
  483. package/src/scripts/_lib/changelog_eras.ts +398 -0
  484. package/src/scripts/_lib/claude_desktop_bundler.ts +324 -0
  485. package/src/scripts/_lib/cli_wrapper.ts +89 -0
  486. package/src/scripts/_lib/fs_atomic.ts +172 -0
  487. package/src/scripts/_lib/global_deploy_inventory.ts +639 -0
  488. package/src/scripts/_lib/install_layout.ts +87 -0
  489. package/src/scripts/_lib/install_regenerator.ts +157 -0
  490. package/src/scripts/_lib/installed_lock.ts +451 -0
  491. package/src/scripts/_lib/installed_tools.ts +518 -0
  492. package/src/scripts/_lib/json_pointers.ts +388 -0
  493. package/src/scripts/_lib/knowledge_global.ts +770 -0
  494. package/src/scripts/_lib/knowledge_global_promote.ts +453 -0
  495. package/src/scripts/_lib/knowledge_global_redaction.ts +448 -0
  496. package/src/scripts/_lib/link_crypto.ts +325 -0
  497. package/src/scripts/_lib/linked_projects.ts +613 -0
  498. package/src/scripts/_lib/model_tier.ts +65 -0
  499. package/src/scripts/_lib/module_detection.ts +275 -0
  500. package/src/scripts/_lib/node_sqlite.d.ts +32 -0
  501. package/src/scripts/_lib/pin_resolver.ts +264 -0
  502. package/src/scripts/_lib/py_random.ts +212 -0
  503. package/src/scripts/_lib/script_output.ts +147 -0
  504. package/src/scripts/_lib/security_lint.ts +623 -0
  505. package/src/scripts/_lib/surface_tiers.ts +127 -0
  506. package/src/scripts/_lib/token_count.ts +126 -0
  507. package/src/scripts/_lib/update_check.ts +297 -0
  508. package/src/scripts/_lib/user_global_paths.ts +329 -0
  509. package/src/scripts/_lib/value_ladder.ts +882 -0
  510. package/src/scripts/_lib/value_report.ts +617 -0
  511. package/src/scripts/_lib/zip_min.ts +175 -0
  512. package/src/scripts/adoption_report.ts +357 -0
  513. package/src/scripts/adoption_snapshot.ts +392 -0
  514. package/src/scripts/adoption_status.ts +424 -0
  515. package/src/scripts/adr/regenerate_index.ts +257 -0
  516. package/src/scripts/ai-image/adapters/flux.sh +45 -0
  517. package/src/scripts/ai-image/adapters/gemini-image.sh +45 -0
  518. package/src/scripts/ai-image/adapters/ideogram.sh +45 -0
  519. package/src/scripts/ai-image/adapters/recraft.sh +47 -0
  520. package/src/scripts/ai-video/adapters/comfyui.sh +3 -3
  521. package/src/scripts/ai-video/adapters/fal.sh +3 -3
  522. package/src/scripts/ai-video/adapters/gemini-veo.sh +3 -3
  523. package/src/scripts/ai-video/adapters/higgsfield.sh +3 -3
  524. package/src/scripts/ai-video/adapters/kling.sh +3 -3
  525. package/src/scripts/ai-video/adapters/musetalk.sh +2 -2
  526. package/src/scripts/ai-video/adapters/openai-images.sh +3 -3
  527. package/src/scripts/ai-video/adapters/replicate.sh +3 -3
  528. package/src/scripts/ai-video/adapters/sora.sh +3 -3
  529. package/src/scripts/ai-video/adapters/syncso.sh +3 -3
  530. package/src/scripts/ai-video/audio-adapters/allin1.sh +2 -2
  531. package/src/scripts/ai-video/audio-adapters/whisperx.sh +2 -2
  532. package/src/scripts/ai-video/lib/audio-adapter-contract.md +1 -1
  533. package/src/scripts/ai-video/lib/embed-provenance.sh +2 -2
  534. package/src/scripts/ai-video/lib/ingest-song.sh +2 -2
  535. package/src/scripts/ai-video/lib/parse-blueprint.sh +1 -1
  536. package/src/scripts/ai-video/lib/resume-scan.sh +2 -2
  537. package/src/scripts/ai-video/smoke-trace.sh +16 -7
  538. package/src/scripts/ai-video/stitch.sh +2 -2
  539. package/src/scripts/ai_council/_default_prices.ts +73 -0
  540. package/src/scripts/ai_council/advisors.ts +244 -0
  541. package/src/scripts/ai_council/airgap.ts +249 -0
  542. package/src/scripts/ai_council/budget_guard.ts +492 -0
  543. package/src/scripts/ai_council/bundler.ts +376 -0
  544. package/src/scripts/ai_council/cli_hints.ts +120 -0
  545. package/src/scripts/ai_council/clients.ts +2214 -0
  546. package/src/scripts/ai_council/compile_corpus.ts +681 -0
  547. package/src/scripts/ai_council/confidence_gate.ts +230 -0
  548. package/src/scripts/ai_council/config.ts +1729 -0
  549. package/src/scripts/ai_council/consensus.ts +551 -0
  550. package/src/scripts/ai_council/events_log.ts +327 -0
  551. package/src/scripts/ai_council/learn_low_impact_preview.ts +317 -0
  552. package/src/scripts/ai_council/low_impact.ts +1069 -0
  553. package/src/scripts/ai_council/low_impact_corpus.ts +662 -0
  554. package/src/scripts/ai_council/low_impact_intake.ts +222 -0
  555. package/src/scripts/ai_council/modes.ts +169 -0
  556. package/src/scripts/ai_council/necessity.ts +933 -0
  557. package/src/scripts/ai_council/orchestrator.ts +1689 -0
  558. package/src/scripts/ai_council/pricing.ts +267 -0
  559. package/src/scripts/ai_council/probation_gate.ts +282 -0
  560. package/src/scripts/ai_council/project_context.ts +308 -0
  561. package/src/scripts/ai_council/prompts.ts +600 -0
  562. package/src/scripts/ai_council/redact_low_impact_entry.ts +291 -0
  563. package/src/scripts/ai_council/replay.ts +314 -0
  564. package/src/scripts/ai_council/session.ts +558 -0
  565. package/src/scripts/ai_council/shadow_dispatch.ts +509 -0
  566. package/src/scripts/ai_council/solo_dispatch.ts +281 -0
  567. package/src/scripts/analysis_freshness.ts +343 -0
  568. package/src/scripts/annotate_discovery.ts +288 -0
  569. package/src/scripts/apply_modules_config.ts +537 -0
  570. package/src/scripts/audit_adr_coverage.ts +357 -0
  571. package/src/scripts/audit_auto_rules.ts +415 -0
  572. package/src/scripts/audit_cloud_compatibility.ts +608 -0
  573. package/src/scripts/audit_command_surface.ts +1227 -0
  574. package/src/scripts/audit_initial_context.ts +694 -0
  575. package/src/scripts/audit_likelihood.ts +434 -0
  576. package/src/scripts/audit_mcp_tools.ts +252 -0
  577. package/src/scripts/audit_overlap.ts +421 -0
  578. package/src/scripts/audit_skill_descriptions.ts +402 -0
  579. package/src/scripts/audit_skill_overlap.ts +576 -0
  580. package/src/scripts/audit_user_type_axis.ts +264 -0
  581. package/src/scripts/backfill_model_tier.ts +349 -0
  582. package/src/scripts/bench_ab_cache_dispatch.ts +126 -0
  583. package/src/scripts/bench_ab_clone.ts +610 -0
  584. package/src/scripts/bench_ab_diff.ts +609 -0
  585. package/src/scripts/bench_ab_integrity.ts +261 -0
  586. package/src/scripts/bench_ab_run.ts +417 -0
  587. package/src/scripts/bench_ab_task_runner.ts +1382 -0
  588. package/src/scripts/bench_ab_tracka_run.ts +436 -0
  589. package/src/scripts/bench_ab_v2_run.ts +585 -0
  590. package/src/scripts/bench_ab_v2_stats.ts +1018 -0
  591. package/src/scripts/bench_baseline_ready.ts +326 -0
  592. package/src/scripts/bench_condense_memory.ts +479 -0
  593. package/src/scripts/bench_drift_check.ts +503 -0
  594. package/src/scripts/bench_per_tool.ts +591 -0
  595. package/src/scripts/bench_rtk_savings.ts +710 -0
  596. package/src/scripts/bench_run.ts +509 -0
  597. package/src/scripts/bench_runner.ts +519 -0
  598. package/src/scripts/build_cloud_bundle.ts +692 -0
  599. package/src/scripts/build_discovery_manifest.ts +1371 -0
  600. package/src/scripts/build_linear_digest.ts +368 -0
  601. package/src/scripts/build_mcp_registry_manifest.ts +351 -0
  602. package/src/scripts/build_rule_trigger_matrix.ts +469 -0
  603. package/src/scripts/capture_showcase_session.ts +735 -0
  604. package/src/scripts/chat_history.ts +2301 -0
  605. package/src/scripts/check_always_budget.ts +694 -0
  606. package/src/scripts/check_artefact_checksums.ts +281 -0
  607. package/src/scripts/check_augment_description_cap.ts +133 -0
  608. package/src/scripts/check_augmentignore.ts +108 -0
  609. package/src/scripts/check_beta_review_markers.ts +234 -0
  610. package/src/scripts/check_bite_sized_granularity.ts +116 -0
  611. package/src/scripts/check_cluster_patterns.ts +285 -0
  612. package/src/scripts/check_command_count_messaging.ts +224 -0
  613. package/src/scripts/check_condensation.ts +900 -0
  614. package/src/scripts/check_condensed_paths.ts +414 -0
  615. package/src/scripts/check_context_paths.ts +388 -0
  616. package/src/scripts/check_council_config_location.ts +260 -0
  617. package/src/scripts/check_council_layout.ts +180 -0
  618. package/src/scripts/check_council_references.ts +345 -0
  619. package/src/scripts/check_discovery_determinism.ts +124 -0
  620. package/src/scripts/check_gate_paths.ts +230 -0
  621. package/src/scripts/check_iron_law_prominence.ts +298 -0
  622. package/src/scripts/check_kernel_rule_bundle.ts +242 -0
  623. package/src/scripts/check_knowledge_cards.ts +759 -0
  624. package/src/scripts/check_md_language.ts +291 -0
  625. package/src/scripts/check_memory.ts +845 -0
  626. package/src/scripts/check_memory_proposal.ts +351 -0
  627. package/src/scripts/check_module_management_neutral.ts +238 -0
  628. package/src/scripts/check_no_conflict_markers.ts +298 -0
  629. package/src/scripts/check_no_conflict_markers_allowlist.json +4 -0
  630. package/src/scripts/check_no_external_sources.ts +351 -0
  631. package/src/scripts/check_no_local_settings_committed.ts +69 -0
  632. package/src/scripts/check_no_new_legacy_path.ts +188 -0
  633. package/src/scripts/check_no_roadmap_refs.ts +304 -0
  634. package/src/scripts/check_one_off_location.ts +165 -0
  635. package/src/scripts/check_overlay_cascade_subdirs.ts +188 -0
  636. package/src/scripts/check_portability.ts +860 -0
  637. package/src/scripts/check_proposal.ts +0 -0
  638. package/src/scripts/check_public_catalog_links.ts +204 -0
  639. package/src/scripts/check_public_links.ts +357 -0
  640. package/src/scripts/check_references.ts +963 -0
  641. package/src/scripts/check_release_includes_discovery.ts +94 -0
  642. package/src/scripts/check_release_pr_shape.ts +222 -0
  643. package/src/scripts/check_release_published.ts +235 -0
  644. package/src/scripts/check_release_trunk_sync.ts +203 -0
  645. package/src/scripts/check_reply_consistency.ts +359 -0
  646. package/src/scripts/check_roadmap_trackable.ts +268 -0
  647. package/src/scripts/check_role_doc_links.ts +187 -0
  648. package/src/scripts/check_safety_floor_untouched.ts +160 -0
  649. package/src/scripts/check_skill_requires.ts +205 -0
  650. package/src/scripts/check_structural_breaking.ts +170 -0
  651. package/src/scripts/check_surface_tiers.ts +567 -0
  652. package/src/scripts/check_template_pin_drift.ts +222 -0
  653. package/src/scripts/check_test_coverage_diff.ts +235 -0
  654. package/src/scripts/check_token_optimizer_freshness.ts +183 -0
  655. package/src/scripts/check_trigger_evals.ts +375 -0
  656. package/src/scripts/check_update_banner.ts +143 -0
  657. package/src/scripts/ci_status.ts +0 -0
  658. package/src/scripts/ci_summary.ts +235 -0
  659. package/src/scripts/ci_time_ratio.ts +526 -0
  660. package/src/scripts/command_suggester/cooldown.ts +176 -0
  661. package/src/scripts/command_suggester/index.ts +41 -0
  662. package/src/scripts/command_suggester/loader.ts +205 -0
  663. package/src/scripts/command_suggester/match.ts +294 -0
  664. package/src/scripts/command_suggester/rank.ts +201 -0
  665. package/src/scripts/command_suggester/render.ts +122 -0
  666. package/src/scripts/command_suggester/sanitize.ts +114 -0
  667. package/src/scripts/command_suggester/settings.ts +186 -0
  668. package/src/scripts/command_suggester/types.ts +0 -0
  669. package/src/scripts/compile_router.ts +297 -0
  670. package/src/scripts/condense.sh +7 -1
  671. package/src/scripts/condense.ts +2035 -0
  672. package/src/scripts/condense_memory.ts +334 -0
  673. package/src/scripts/config/index.ts +15 -0
  674. package/src/scripts/config/packs.ts +310 -0
  675. package/src/scripts/config/presets.ts +369 -0
  676. package/src/scripts/config/profile_explain.ts +114 -0
  677. package/src/scripts/config/profiles.ts +277 -0
  678. package/src/scripts/config/session_profiles.ts +1064 -0
  679. package/src/scripts/context_hygiene_hook.ts +272 -0
  680. package/src/scripts/cost_by_conversation.ts +444 -0
  681. package/src/scripts/cost_summary.ts +407 -0
  682. package/src/scripts/council_cli.ts +2827 -0
  683. package/src/scripts/council_prune.ts +153 -0
  684. package/src/scripts/cross_repo_retrieve.ts +694 -0
  685. package/src/scripts/discovery_stats.ts +218 -0
  686. package/src/scripts/evidence_report.ts +580 -0
  687. package/src/scripts/external_sources_denylist.json +1 -0
  688. package/src/scripts/extract_audit_patterns.ts +394 -0
  689. package/src/scripts/first_run_gate_hook.ts +246 -0
  690. package/src/scripts/gen_discovery_baseline.ts +297 -0
  691. package/src/scripts/generate_capabilities_index.ts +496 -0
  692. package/src/scripts/generate_capability_matrix.ts +430 -0
  693. package/src/scripts/generate_catalog.ts +178 -0
  694. package/src/scripts/generate_command_flows.ts +316 -0
  695. package/src/scripts/generate_cookbook.ts +302 -0
  696. package/src/scripts/generate_index.ts +500 -0
  697. package/src/scripts/generate_ownership_matrix.ts +646 -0
  698. package/src/scripts/generate_pack_manifests.ts +1025 -0
  699. package/src/scripts/generate_role_experiences_catalog.ts +265 -0
  700. package/src/scripts/hermetic-install.sh +22 -11
  701. package/src/scripts/hook_manifest.yaml +24 -10
  702. package/src/scripts/hooks/augment-chat-history.sh +3 -10
  703. package/src/scripts/hooks/augment-context-hygiene.sh +3 -10
  704. package/src/scripts/hooks/augment-dispatcher.sh +3 -10
  705. package/src/scripts/hooks/augment-onboarding-gate.sh +3 -10
  706. package/src/scripts/hooks/augment-roadmap-progress.sh +3 -10
  707. package/src/scripts/hooks/block_no_verify.ts +413 -0
  708. package/src/scripts/hooks/cline-dispatcher.sh +3 -10
  709. package/src/scripts/hooks/cowork-dispatcher.sh +3 -14
  710. package/src/scripts/hooks/cursor-dispatcher.sh +3 -10
  711. package/src/scripts/hooks/dispatch_hook.ts +851 -0
  712. package/src/scripts/hooks/dispatch_issues.ts +226 -0
  713. package/src/scripts/hooks/envelope.ts +140 -0
  714. package/src/scripts/hooks/gemini-dispatcher.sh +3 -8
  715. package/src/scripts/hooks/replay_hook.ts +364 -0
  716. package/src/scripts/hooks/state_io.ts +293 -0
  717. package/src/scripts/hooks/windsurf-dispatcher.sh +3 -9
  718. package/src/scripts/hooks_doctor.ts +418 -0
  719. package/src/scripts/hooks_status.ts +292 -0
  720. package/src/scripts/injection_scan_hook.ts +285 -0
  721. package/src/scripts/install +36 -22
  722. package/src/scripts/install-hooks.sh +20 -14
  723. package/src/scripts/install.sh +38 -14
  724. package/src/scripts/install.ts +4515 -0
  725. package/src/scripts/inventory_abstraction_budget.ts +1104 -0
  726. package/src/scripts/inventory_frontmatter.ts +320 -0
  727. package/src/scripts/inventory_meta_layers.ts +516 -0
  728. package/src/scripts/iron_law_sha.ts +233 -0
  729. package/src/scripts/knowledge_global_cli.ts +1105 -0
  730. package/src/scripts/linked_projects_list.ts +310 -0
  731. package/src/scripts/lint_agent_security.ts +224 -0
  732. package/src/scripts/lint_agent_skill_names.ts +241 -0
  733. package/src/scripts/lint_agents_layout.ts +205 -0
  734. package/src/scripts/lint_agents_md.ts +294 -0
  735. package/src/scripts/lint_archived_skills.ts +309 -0
  736. package/src/scripts/lint_artefact_frontmatter.ts +359 -0
  737. package/src/scripts/lint_bench_ab.ts +319 -0
  738. package/src/scripts/lint_bench_corpus.ts +421 -0
  739. package/src/scripts/lint_command_flow_coverage.ts +231 -0
  740. package/src/scripts/lint_command_routing.ts +377 -0
  741. package/src/scripts/lint_command_tiers.ts +345 -0
  742. package/src/scripts/lint_command_verbs.ts +379 -0
  743. package/src/scripts/lint_commit_subjects.ts +243 -0
  744. package/src/scripts/lint_context_spine_usage.ts +198 -0
  745. package/src/scripts/lint_discovery_manifest.ts +540 -0
  746. package/src/scripts/lint_discovery_vocabulary.ts +393 -0
  747. package/src/scripts/lint_empty_roadmaps.ts +147 -0
  748. package/src/scripts/lint_eval_freshness.ts +335 -0
  749. package/src/scripts/lint_examples.ts +183 -0
  750. package/src/scripts/lint_explain_trace.ts +381 -0
  751. package/src/scripts/lint_featured_skills.ts +0 -0
  752. package/src/scripts/lint_flows.ts +701 -0
  753. package/src/scripts/lint_framework_leakage.ts +497 -0
  754. package/src/scripts/lint_framework_leakage_allowlist.json +8 -1
  755. package/src/scripts/lint_frontmatter_boilerplate.ts +356 -0
  756. package/src/scripts/lint_ghostwriter_source.ts +389 -0
  757. package/src/scripts/lint_global_paths.ts +420 -0
  758. package/src/scripts/lint_handoffs.ts +362 -0
  759. package/src/scripts/lint_hidden_unicode.ts +350 -0
  760. package/src/scripts/lint_hook_concern_budget.ts +319 -0
  761. package/src/scripts/lint_hook_manifest.ts +354 -0
  762. package/src/scripts/lint_instruction_smuggling.ts +173 -0
  763. package/src/scripts/lint_load_context.ts +371 -0
  764. package/src/scripts/lint_marketplace.ts +286 -0
  765. package/src/scripts/lint_marketplace_install_completeness.ts +309 -0
  766. package/src/scripts/lint_mcp_config_security.ts +225 -0
  767. package/src/scripts/lint_mcp_registry_manifest.ts +350 -0
  768. package/src/scripts/lint_media_policy_linkage.ts +224 -0
  769. package/src/scripts/lint_missions.ts +774 -0
  770. package/src/scripts/lint_model_tier_coverage.ts +151 -0
  771. package/src/scripts/lint_namespace.ts +295 -0
  772. package/src/scripts/lint_namespace_collisions.ts +203 -0
  773. package/src/scripts/lint_new_skill_gate.ts +462 -0
  774. package/src/scripts/lint_no_new_atomic_commands.ts +342 -0
  775. package/src/scripts/lint_one_off_age.ts +348 -0
  776. package/src/scripts/lint_orchestration_dsl.ts +377 -0
  777. package/src/scripts/lint_orchestrator_auto_detect.ts +177 -0
  778. package/src/scripts/lint_pack_boundaries.ts +366 -0
  779. package/src/scripts/lint_pack_dependencies.ts +541 -0
  780. package/src/scripts/lint_pack_first_win.ts +202 -0
  781. package/src/scripts/lint_persona_governance.ts +292 -0
  782. package/src/scripts/lint_positioning.ts +257 -0
  783. package/src/scripts/lint_profile_overlay_set_only.ts +324 -0
  784. package/src/scripts/lint_readme_jargon.ts +189 -0
  785. package/src/scripts/lint_readme_size.ts +73 -0
  786. package/src/scripts/lint_regression.ts +497 -0
  787. package/src/scripts/lint_roadmap_ci_steps.ts +252 -0
  788. package/src/scripts/lint_roadmap_complexity.ts +295 -0
  789. package/src/scripts/lint_roadmap_later_disposition.ts +357 -0
  790. package/src/scripts/lint_role_experiences.ts +410 -0
  791. package/src/scripts/lint_rule_interactions.ts +281 -0
  792. package/src/scripts/lint_rule_tiers.ts +169 -0
  793. package/src/scripts/lint_showcase_sessions.ts +254 -0
  794. package/src/scripts/lint_skill_frontmatter_safety.ts +279 -0
  795. package/src/scripts/lint_skill_originality.ts +586 -0
  796. package/src/scripts/lint_skill_originality_allowlist.json +20 -0
  797. package/src/scripts/lint_skill_tools.ts +320 -0
  798. package/src/scripts/lint_ticket_buildable.ts +1027 -0
  799. package/src/scripts/lint_topics_yaml.ts +203 -0
  800. package/src/scripts/lint_trust_coherence.ts +377 -0
  801. package/src/scripts/lint_value_dashboard.ts +314 -0
  802. package/src/scripts/lint_workflow_security.ts +637 -0
  803. package/src/scripts/lint_workflow_security_allowlist.json +20 -0
  804. package/src/scripts/lint_workspace_boundary.ts +248 -0
  805. package/src/scripts/mcp_parity_smoke.ts +638 -0
  806. package/src/scripts/mcp_render.ts +346 -0
  807. package/src/scripts/mcp_server/__main__.ts +28 -0
  808. package/src/scripts/mcp_server/catalog.ts +154 -0
  809. package/src/scripts/mcp_server/index.ts +24 -0
  810. package/src/scripts/mcp_server/metadata.ts +83 -0
  811. package/src/scripts/mcp_server/prompts.ts +711 -0
  812. package/src/scripts/mcp_server/resources.ts +343 -0
  813. package/src/scripts/mcp_server/server.ts +439 -0
  814. package/src/scripts/mcp_server/telemetry.ts +154 -0
  815. package/src/scripts/mcp_server/tools.ts +1031 -0
  816. package/src/scripts/mcp_setup.sh +25 -52
  817. package/src/scripts/mcp_telemetry_health.ts +362 -0
  818. package/src/scripts/mcp_telemetry_query.ts +371 -0
  819. package/src/scripts/mcp_telemetry_store.ts +422 -0
  820. package/src/scripts/measure_augment_budget.ts +453 -0
  821. package/src/scripts/measure_density.ts +618 -0
  822. package/src/scripts/measure_frugality_savings.ts +353 -0
  823. package/src/scripts/measure_markitdown_lift.ts +299 -0
  824. package/src/scripts/measure_patterns.ts +682 -0
  825. package/src/scripts/measure_projection_bytes.ts +425 -0
  826. package/src/scripts/measure_rule_budget.ts +627 -0
  827. package/src/scripts/measure_skill_reduction.ts +442 -0
  828. package/src/scripts/media/lib/adapter-common.sh +247 -0
  829. package/src/scripts/media/lib/adapter-contract.md +329 -0
  830. package/src/scripts/media/lib/fixtures/comfyui/result.json +1 -0
  831. package/src/scripts/media/lib/fixtures/fal/result.json +1 -0
  832. package/src/scripts/media/lib/fixtures/flux/asset-0001.png +0 -0
  833. package/src/scripts/media/lib/fixtures/flux/result.json +1 -0
  834. package/src/scripts/media/lib/fixtures/gemini-image/asset-0001.png +0 -0
  835. package/src/scripts/media/lib/fixtures/gemini-image/result.json +1 -0
  836. package/src/scripts/media/lib/fixtures/gemini-veo/result.json +1 -0
  837. package/src/scripts/media/lib/fixtures/higgsfield/result.json +1 -0
  838. package/src/scripts/media/lib/fixtures/ideogram/asset-0001.png +0 -0
  839. package/src/scripts/media/lib/fixtures/ideogram/result.json +1 -0
  840. package/src/scripts/media/lib/fixtures/kling/result.json +1 -0
  841. package/src/scripts/media/lib/fixtures/musetalk/result.json +1 -0
  842. package/src/scripts/media/lib/fixtures/openai-images/result.json +1 -0
  843. package/src/scripts/media/lib/fixtures/recraft/asset-0001.svg +1 -0
  844. package/src/scripts/media/lib/fixtures/recraft/result.json +1 -0
  845. package/src/scripts/media/lib/fixtures/replicate/result.json +1 -0
  846. package/src/scripts/media/lib/fixtures/sora/result.json +1 -0
  847. package/src/scripts/media/lib/fixtures/syncso/result.json +1 -0
  848. package/src/scripts/media/lib/load-config.sh +180 -0
  849. package/src/scripts/media/lib/redact.sh +85 -0
  850. package/src/scripts/memory_hash.ts +331 -0
  851. package/src/scripts/memory_lookup.ts +1278 -0
  852. package/src/scripts/memory_report.ts +845 -0
  853. package/src/scripts/memory_signal.ts +417 -0
  854. package/src/scripts/memory_status.ts +189 -0
  855. package/src/scripts/migrate_command_suggestions.ts +341 -0
  856. package/src/scripts/migrate_frontmatter_defaults.ts +539 -0
  857. package/src/scripts/migration_status.ts +301 -0
  858. package/src/scripts/mine_session.ts +645 -0
  859. package/src/scripts/minimal_safe_diff_hook.ts +355 -0
  860. package/src/scripts/move_artefact.ts +869 -0
  861. package/src/scripts/new_skill.ts +404 -0
  862. package/src/scripts/onboarding_gate_hook.ts +224 -0
  863. package/src/scripts/pack_dependency_allowlist.json +1 -1
  864. package/src/scripts/pack_mcp_content.ts +552 -0
  865. package/src/scripts/parity/README.md +140 -0
  866. package/src/scripts/parity/compare.ts +189 -0
  867. package/src/scripts/parity/coverage_diff.ts +199 -0
  868. package/src/scripts/parity/phase-manifest.json +93 -0
  869. package/src/scripts/parity/phase_gate.ts +270 -0
  870. package/src/scripts/parity/replay.ts +320 -0
  871. package/src/scripts/pattern_share.ts +363 -0
  872. package/src/scripts/plan_physical_move.ts +605 -0
  873. package/src/scripts/prediction-pool/poisson_sim.ts +537 -0
  874. package/src/scripts/prediction-pool/pool_winsim.ts +677 -0
  875. package/src/scripts/prediction-pool/score_ev.ts +546 -0
  876. package/src/scripts/print_required_checks.ts +249 -0
  877. package/src/scripts/probe_projection_fidelity.ts +468 -0
  878. package/src/scripts/probe_skill_registration.ts +787 -0
  879. package/src/scripts/profile_staleness_hook.ts +169 -0
  880. package/src/scripts/profile_use.ts +227 -0
  881. package/src/scripts/project_thin_rules.ts +387 -0
  882. package/src/scripts/propose_modules_config.ts +311 -0
  883. package/src/scripts/prototype_lint_contradictions.ts +414 -0
  884. package/src/scripts/prove_pack_extractable.ts +388 -0
  885. package/src/scripts/readme_linter.ts +913 -0
  886. package/src/scripts/redact_hook_capture.ts +325 -0
  887. package/src/scripts/refine_ticket_detect.ts +703 -0
  888. package/src/scripts/release.ts +1697 -0
  889. package/src/scripts/render_benchmark_md.ts +664 -0
  890. package/src/scripts/render_value_md.ts +506 -0
  891. package/src/scripts/repro/repro_marketplace_install_gap.sh +1 -1
  892. package/src/scripts/roadmap_progress_hook.ts +410 -0
  893. package/src/scripts/router_telemetry.ts +972 -0
  894. package/src/scripts/run.ts +98 -0
  895. package/src/scripts/run_skill_evals.ts +477 -0
  896. package/src/scripts/runtime_dispatcher.ts +586 -0
  897. package/src/scripts/runtime_handler.ts +231 -0
  898. package/src/scripts/runtime_registry.ts +394 -0
  899. package/src/scripts/schemas/command.schema.json +3 -2
  900. package/src/scripts/schemas/mission-catalog.schema.json +112 -0
  901. package/src/scripts/schemas/mission.schema.json +87 -0
  902. package/src/scripts/schemas/pack.schema.json +6 -0
  903. package/src/scripts/schemas/rule.schema.json +1 -0
  904. package/src/scripts/schemas/skill.schema.json +1 -0
  905. package/src/scripts/schemas/ticket-manifest.schema.json +35 -0
  906. package/src/scripts/schemas/ticket.schema.json +60 -0
  907. package/src/scripts/score_skill_selection.ts +570 -0
  908. package/src/scripts/security_audit_config.ts +423 -0
  909. package/src/scripts/skill_collision_clusters.ts +448 -0
  910. package/src/scripts/skill_discovery.ts +690 -0
  911. package/src/scripts/skill_linter.ts +4276 -0
  912. package/src/scripts/skill_overlap.ts +414 -0
  913. package/src/scripts/skill_preview.ts +548 -0
  914. package/src/scripts/skill_tools/audit_persona_coverage.ts +427 -0
  915. package/src/scripts/skill_tools/audit_user_type_coverage.ts +507 -0
  916. package/src/scripts/skill_tools/index.ts +28 -0
  917. package/src/scripts/skill_tools/run_block_d_eval.ts +373 -0
  918. package/src/scripts/skill_tools/score_skill_relevance.ts +475 -0
  919. package/src/scripts/skill_tools/suggest_skill_for_task.ts +288 -0
  920. package/src/scripts/skill_trigger_eval.ts +1046 -0
  921. package/src/scripts/skill_usage_collect.ts +465 -0
  922. package/src/scripts/skill_usage_report.ts +364 -0
  923. package/src/scripts/smoke/kernel.sh +4 -5
  924. package/src/scripts/smoke/router.sh +76 -76
  925. package/src/scripts/smoke/schema.sh +2 -2
  926. package/src/scripts/smoke/skills.sh +73 -52
  927. package/src/scripts/smoke_path_resolution.ts +194 -0
  928. package/src/scripts/smoke_quickstart.ts +224 -0
  929. package/src/scripts/snapshot_agent_outputs.ts +375 -0
  930. package/src/scripts/spotcheck_thin_root.ts +247 -0
  931. package/src/scripts/surface-tiers.yml +68 -0
  932. package/src/scripts/sync_agent_settings.ts +763 -0
  933. package/src/scripts/sync_github_metadata.ts +550 -0
  934. package/src/scripts/sync_gitignore.ts +630 -0
  935. package/src/scripts/sync_yaml_rt.ts +910 -0
  936. package/src/scripts/telegraph_stats.ts +447 -0
  937. package/src/scripts/tool_registry.ts +330 -0
  938. package/src/scripts/tools/adapter_errors.ts +93 -0
  939. package/src/scripts/tools/base_adapter.ts +147 -0
  940. package/src/scripts/tools/github_adapter.ts +229 -0
  941. package/src/scripts/tools/jira_adapter.ts +196 -0
  942. package/src/scripts/trigger_coverage.ts +251 -0
  943. package/src/scripts/update_counts.ts +284 -0
  944. package/src/scripts/update_prices.ts +219 -0
  945. package/src/scripts/validate_agent_settings.ts +265 -0
  946. package/src/scripts/validate_decision_engine.ts +366 -0
  947. package/src/scripts/validate_discovery_manifest.ts +160 -0
  948. package/src/scripts/validate_frontmatter.ts +1030 -0
  949. package/src/scripts/validate_pack_yaml.ts +0 -0
  950. package/src/scripts/validate_safe_paths.ts +164 -0
  951. package/src/scripts/validate_telegraph_carveouts.ts +485 -0
  952. package/src/scripts/verify_before_complete_hook.ts +306 -0
  953. package/src/scripts/verify_physical_move.ts +411 -0
  954. package/src/scripts/wrapper_freshness_hook.ts +179 -0
  955. package/dist/agent-src/scripts/archive_completed_roadmaps.py +0 -171
  956. package/dist/agent-src/scripts/update_roadmap_progress.py +0 -537
  957. package/dist/agent-src/skills/corpus-grounding/scripts/bm25_search.py +0 -212
  958. package/dist/agent-src/skills/corpus-grounding/scripts/decision_engine.py +0 -438
  959. package/dist/agent-src/skills/corpus-grounding/scripts/ground.py +0 -166
  960. package/dist/agent-src/skills/corpus-grounding/scripts/schema_validator.py +0 -160
  961. package/dist/agent-src/skills/design-tokens/scripts/tokens.py +0 -296
  962. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.py +0 -299
  963. package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.py +0 -463
  964. package/dist/agent-src/templates/scripts/check_memory.py +0 -282
  965. package/dist/agent-src/templates/scripts/check_memory_proposal.py +0 -180
  966. package/dist/agent-src/templates/scripts/implement_ticket/__init__.py +0 -94
  967. package/dist/agent-src/templates/scripts/implement_ticket/__main__.py +0 -15
  968. package/dist/agent-src/templates/scripts/memory_hash.py +0 -75
  969. package/dist/agent-src/templates/scripts/memory_lookup.py +0 -436
  970. package/dist/agent-src/templates/scripts/memory_report.py +0 -314
  971. package/dist/agent-src/templates/scripts/memory_signal.py +0 -165
  972. package/dist/agent-src/templates/scripts/memory_status.py +0 -76
  973. package/dist/agent-src/templates/scripts/pr_review_routing.py +0 -340
  974. package/dist/agent-src/templates/scripts/pr_risk_review.py +0 -211
  975. package/dist/agent-src/templates/scripts/telemetry/__init__.py +0 -42
  976. package/dist/agent-src/templates/scripts/telemetry/aggregator.py +0 -169
  977. package/dist/agent-src/templates/scripts/telemetry/boundary.py +0 -171
  978. package/dist/agent-src/templates/scripts/telemetry/engagement.py +0 -297
  979. package/dist/agent-src/templates/scripts/telemetry/report_renderer.py +0 -197
  980. package/dist/agent-src/templates/scripts/telemetry/settings.py +0 -177
  981. package/dist/agent-src/templates/scripts/telemetry_record.py +0 -179
  982. package/dist/agent-src/templates/scripts/telemetry_report.py +0 -161
  983. package/dist/agent-src/templates/scripts/telemetry_status.py +0 -142
  984. package/dist/agent-src/templates/scripts/tier_usage_report.py +0 -183
  985. package/dist/agent-src/templates/scripts/work_engine/__init__.py +0 -58
  986. package/dist/agent-src/templates/scripts/work_engine/__main__.py +0 -9
  987. package/dist/agent-src/templates/scripts/work_engine/_lib/__init__.py +0 -7
  988. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.py +0 -840
  989. package/dist/agent-src/templates/scripts/work_engine/_lib/user_global_paths.py +0 -249
  990. package/dist/agent-src/templates/scripts/work_engine/cli.py +0 -195
  991. package/dist/agent-src/templates/scripts/work_engine/cli_args.py +0 -116
  992. package/dist/agent-src/templates/scripts/work_engine/delivery_state.py +0 -137
  993. package/dist/agent-src/templates/scripts/work_engine/directives/__init__.py +0 -33
  994. package/dist/agent-src/templates/scripts/work_engine/directives/backend/__init__.py +0 -98
  995. package/dist/agent-src/templates/scripts/work_engine/directives/backend/analyze.py +0 -98
  996. package/dist/agent-src/templates/scripts/work_engine/directives/backend/implement.py +0 -145
  997. package/dist/agent-src/templates/scripts/work_engine/directives/backend/memory.py +0 -136
  998. package/dist/agent-src/templates/scripts/work_engine/directives/backend/plan.py +0 -175
  999. package/dist/agent-src/templates/scripts/work_engine/directives/backend/refine.py +0 -396
  1000. package/dist/agent-src/templates/scripts/work_engine/directives/backend/report.py +0 -227
  1001. package/dist/agent-src/templates/scripts/work_engine/directives/backend/test.py +0 -180
  1002. package/dist/agent-src/templates/scripts/work_engine/directives/backend/verify.py +0 -170
  1003. package/dist/agent-src/templates/scripts/work_engine/directives/mixed/__init__.py +0 -116
  1004. package/dist/agent-src/templates/scripts/work_engine/directives/mixed/contract.py +0 -254
  1005. package/dist/agent-src/templates/scripts/work_engine/directives/mixed/stitch.py +0 -229
  1006. package/dist/agent-src/templates/scripts/work_engine/directives/mixed/ui.py +0 -231
  1007. package/dist/agent-src/templates/scripts/work_engine/directives/ui/__init__.py +0 -113
  1008. package/dist/agent-src/templates/scripts/work_engine/directives/ui/_passthrough.py +0 -44
  1009. package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.py +0 -241
  1010. package/dist/agent-src/templates/scripts/work_engine/directives/ui/audit.py +0 -414
  1011. package/dist/agent-src/templates/scripts/work_engine/directives/ui/design.py +0 -335
  1012. package/dist/agent-src/templates/scripts/work_engine/directives/ui/polish.py +0 -513
  1013. package/dist/agent-src/templates/scripts/work_engine/directives/ui/review.py +0 -471
  1014. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/__init__.py +0 -119
  1015. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/_skipped.py +0 -37
  1016. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/apply.py +0 -165
  1017. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/refine.py +0 -66
  1018. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/report.py +0 -62
  1019. package/dist/agent-src/templates/scripts/work_engine/directives/ui_trivial/test.py +0 -115
  1020. package/dist/agent-src/templates/scripts/work_engine/dispatcher.py +0 -331
  1021. package/dist/agent-src/templates/scripts/work_engine/emitters.py +0 -68
  1022. package/dist/agent-src/templates/scripts/work_engine/errors.py +0 -19
  1023. package/dist/agent-src/templates/scripts/work_engine/hook_bootstrap.py +0 -91
  1024. package/dist/agent-src/templates/scripts/work_engine/hooks/__init__.py +0 -54
  1025. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/__init__.py +0 -35
  1026. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.py +0 -59
  1027. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_append.py +0 -43
  1028. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_halt_append.py +0 -41
  1029. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_gate.py +0 -162
  1030. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.py +0 -163
  1031. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/directive_set_guard.py +0 -53
  1032. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/halt_surface_audit.py +0 -50
  1033. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.py +0 -141
  1034. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/state_shape_validation.py +0 -52
  1035. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/trace.py +0 -84
  1036. package/dist/agent-src/templates/scripts/work_engine/hooks/context.py +0 -66
  1037. package/dist/agent-src/templates/scripts/work_engine/hooks/events.py +0 -44
  1038. package/dist/agent-src/templates/scripts/work_engine/hooks/exceptions.py +0 -79
  1039. package/dist/agent-src/templates/scripts/work_engine/hooks/registry.py +0 -60
  1040. package/dist/agent-src/templates/scripts/work_engine/hooks/runner.py +0 -73
  1041. package/dist/agent-src/templates/scripts/work_engine/hooks/settings.py +0 -196
  1042. package/dist/agent-src/templates/scripts/work_engine/input_builders.py +0 -163
  1043. package/dist/agent-src/templates/scripts/work_engine/intent/__init__.py +0 -47
  1044. package/dist/agent-src/templates/scripts/work_engine/intent/classify.py +0 -280
  1045. package/dist/agent-src/templates/scripts/work_engine/migration/__init__.py +0 -8
  1046. package/dist/agent-src/templates/scripts/work_engine/migration/v0_to_v1.py +0 -231
  1047. package/dist/agent-src/templates/scripts/work_engine/orchestration.py +0 -193
  1048. package/dist/agent-src/templates/scripts/work_engine/persona_policy.py +0 -85
  1049. package/dist/agent-src/templates/scripts/work_engine/resolvers/__init__.py +0 -22
  1050. package/dist/agent-src/templates/scripts/work_engine/resolvers/diff.py +0 -106
  1051. package/dist/agent-src/templates/scripts/work_engine/resolvers/file.py +0 -113
  1052. package/dist/agent-src/templates/scripts/work_engine/resolvers/prompt.py +0 -90
  1053. package/dist/agent-src/templates/scripts/work_engine/scoring/__init__.py +0 -14
  1054. package/dist/agent-src/templates/scripts/work_engine/scoring/confidence.py +0 -300
  1055. package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.py +0 -351
  1056. package/dist/agent-src/templates/scripts/work_engine/scoring/decision_trace.py +0 -141
  1057. package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.py +0 -283
  1058. package/dist/agent-src/templates/scripts/work_engine/stack/__init__.py +0 -31
  1059. package/dist/agent-src/templates/scripts/work_engine/stack/detect.py +0 -187
  1060. package/dist/agent-src/templates/scripts/work_engine/stack/runner.py +0 -481
  1061. package/dist/agent-src/templates/scripts/work_engine/state.py +0 -694
  1062. package/dist/agent-src/templates/scripts/work_engine/state_io.py +0 -202
  1063. package/dist/cli/python/resolvePython.js +0 -38
  1064. package/dist/cli/python/resolvePython.js.map +0 -1
  1065. package/src/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  1066. package/src/scripts/_archive/_backfill_skill_domains.py +0 -140
  1067. package/src/scripts/_archive/_bootstrap_tier_frontmatter.py +0 -151
  1068. package/src/scripts/_archive/_p43_bodies.py +0 -235
  1069. package/src/scripts/_archive/_p43_condense.py +0 -118
  1070. package/src/scripts/_archive/_p4_migrate.py +0 -199
  1071. package/src/scripts/_archive/_phase2_shim_helper.py +0 -109
  1072. package/src/scripts/_archive/_pilot_council_question.py +0 -57
  1073. package/src/scripts/_cli/__init__.py +0 -0
  1074. package/src/scripts/_cli/cmd_doctor.py +0 -1669
  1075. package/src/scripts/_cli/cmd_explain.py +0 -355
  1076. package/src/scripts/_cli/cmd_export.py +0 -157
  1077. package/src/scripts/_cli/cmd_migrate.py +0 -524
  1078. package/src/scripts/_cli/cmd_prune.py +0 -322
  1079. package/src/scripts/_cli/cmd_refresh.py +0 -179
  1080. package/src/scripts/_cli/cmd_settings_check.py +0 -171
  1081. package/src/scripts/_cli/cmd_settings_migrate.py +0 -147
  1082. package/src/scripts/_cli/cmd_sync.py +0 -166
  1083. package/src/scripts/_cli/cmd_uninstall.py +0 -476
  1084. package/src/scripts/_cli/cmd_update.py +0 -279
  1085. package/src/scripts/_cli/cmd_upgrade.py +0 -172
  1086. package/src/scripts/_cli/cmd_validate.py +0 -177
  1087. package/src/scripts/_cli/cmd_versions.py +0 -160
  1088. package/src/scripts/_cli/explain_last/__init__.py +0 -122
  1089. package/src/scripts/_cli/explain_last/assumptions.py +0 -59
  1090. package/src/scripts/_cli/explain_last/council.py +0 -105
  1091. package/src/scripts/_cli/explain_last/halt.py +0 -44
  1092. package/src/scripts/_cli/explain_last/inputs.py +0 -128
  1093. package/src/scripts/_cli/explain_last/memory.py +0 -94
  1094. package/src/scripts/_cli/explain_last/provider.py +0 -52
  1095. package/src/scripts/_cli/explain_last/render.py +0 -52
  1096. package/src/scripts/_cli/explain_last/route.py +0 -59
  1097. package/src/scripts/_cli/explain_last/scrubber.py +0 -105
  1098. package/src/scripts/_cli/explain_last/sections/__init__.py +0 -35
  1099. package/src/scripts/_cli/explain_last/sections/assumptions.py +0 -21
  1100. package/src/scripts/_cli/explain_last/sections/council.py +0 -27
  1101. package/src/scripts/_cli/explain_last/sections/halt.py +0 -31
  1102. package/src/scripts/_cli/explain_last/sections/header.py +0 -24
  1103. package/src/scripts/_cli/explain_last/sections/inputs.py +0 -27
  1104. package/src/scripts/_cli/explain_last/sections/memory.py +0 -21
  1105. package/src/scripts/_cli/explain_last/sections/pack.py +0 -16
  1106. package/src/scripts/_cli/explain_last/sections/provider.py +0 -26
  1107. package/src/scripts/_cli/explain_last/sections/route.py +0 -22
  1108. package/src/scripts/_cli/explain_last/state_loader.py +0 -76
  1109. package/src/scripts/_emit_domain_table.py +0 -35
  1110. package/src/scripts/_lib/__init__.py +0 -5
  1111. package/src/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
  1112. package/src/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
  1113. package/src/scripts/_lib/agent_settings.py +0 -840
  1114. package/src/scripts/_lib/agent_src.py +0 -491
  1115. package/src/scripts/_lib/agents_overlay.py +0 -120
  1116. package/src/scripts/_lib/bench_ab_cache.py +0 -162
  1117. package/src/scripts/_lib/bench_ab_scoring.py +0 -209
  1118. package/src/scripts/_lib/bench_ab_scoring_v2.py +0 -227
  1119. package/src/scripts/_lib/bench_cost.py +0 -138
  1120. package/src/scripts/_lib/bench_quality.py +0 -118
  1121. package/src/scripts/_lib/bench_report.py +0 -149
  1122. package/src/scripts/_lib/bench_telegraph.py +0 -273
  1123. package/src/scripts/_lib/bench_telegraph_report.py +0 -151
  1124. package/src/scripts/_lib/changelog_eras.py +0 -330
  1125. package/src/scripts/_lib/claude_desktop_bundler.py +0 -238
  1126. package/src/scripts/_lib/cli_wrapper.py +0 -64
  1127. package/src/scripts/_lib/fs_atomic.py +0 -116
  1128. package/src/scripts/_lib/global_deploy_inventory.py +0 -312
  1129. package/src/scripts/_lib/install_regenerator.py +0 -134
  1130. package/src/scripts/_lib/installed_lock.py +0 -256
  1131. package/src/scripts/_lib/installed_tools.py +0 -381
  1132. package/src/scripts/_lib/json_pointers.py +0 -260
  1133. package/src/scripts/_lib/link_crypto.py +0 -206
  1134. package/src/scripts/_lib/linked_projects.py +0 -238
  1135. package/src/scripts/_lib/model_tier.py +0 -52
  1136. package/src/scripts/_lib/module_detection.py +0 -223
  1137. package/src/scripts/_lib/pin_resolver.py +0 -152
  1138. package/src/scripts/_lib/script_output.py +0 -144
  1139. package/src/scripts/_lib/security_lint.py +0 -228
  1140. package/src/scripts/_lib/token_count.py +0 -95
  1141. package/src/scripts/_lib/update_check.py +0 -207
  1142. package/src/scripts/_lib/user_global_paths.py +0 -249
  1143. package/src/scripts/_lib/value_ladder.py +0 -696
  1144. package/src/scripts/_lib/value_report.py +0 -455
  1145. package/src/scripts/_phase4_bucket.py +0 -210
  1146. package/src/scripts/_pilot_measure.py +0 -53
  1147. package/src/scripts/_tmp_scan_framework_leakage.py +0 -119
  1148. package/src/scripts/adoption_report.py +0 -195
  1149. package/src/scripts/adoption_snapshot.py +0 -219
  1150. package/src/scripts/adoption_status.py +0 -166
  1151. package/src/scripts/adr/regenerate_index.py +0 -79
  1152. package/src/scripts/ai-video/lib/adapter-common.sh +0 -231
  1153. package/src/scripts/ai-video/lib/adapter-contract.md +0 -329
  1154. package/src/scripts/ai-video/lib/fixtures/comfyui/result.json +0 -1
  1155. package/src/scripts/ai-video/lib/fixtures/fal/result.json +0 -1
  1156. package/src/scripts/ai-video/lib/fixtures/gemini-veo/result.json +0 -1
  1157. package/src/scripts/ai-video/lib/fixtures/higgsfield/result.json +0 -1
  1158. package/src/scripts/ai-video/lib/fixtures/kling/result.json +0 -1
  1159. package/src/scripts/ai-video/lib/fixtures/musetalk/result.json +0 -1
  1160. package/src/scripts/ai-video/lib/fixtures/openai-images/result.json +0 -1
  1161. package/src/scripts/ai-video/lib/fixtures/replicate/result.json +0 -1
  1162. package/src/scripts/ai-video/lib/fixtures/sora/result.json +0 -1
  1163. package/src/scripts/ai-video/lib/fixtures/syncso/result.json +0 -1
  1164. package/src/scripts/ai-video/lib/load-config.sh +0 -180
  1165. package/src/scripts/ai-video/lib/redact.sh +0 -85
  1166. package/src/scripts/ai_council/__init__.py +0 -40
  1167. package/src/scripts/ai_council/_default_prices.py +0 -50
  1168. package/src/scripts/ai_council/advisors.py +0 -148
  1169. package/src/scripts/ai_council/airgap.py +0 -165
  1170. package/src/scripts/ai_council/budget_guard.py +0 -202
  1171. package/src/scripts/ai_council/bundler.py +0 -263
  1172. package/src/scripts/ai_council/cli_hints.py +0 -123
  1173. package/src/scripts/ai_council/clients.py +0 -1385
  1174. package/src/scripts/ai_council/compile_corpus.py +0 -179
  1175. package/src/scripts/ai_council/confidence_gate.py +0 -156
  1176. package/src/scripts/ai_council/config.py +0 -1419
  1177. package/src/scripts/ai_council/consensus.py +0 -329
  1178. package/src/scripts/ai_council/events_log.py +0 -141
  1179. package/src/scripts/ai_council/learn_low_impact_preview.py +0 -252
  1180. package/src/scripts/ai_council/low_impact.py +0 -714
  1181. package/src/scripts/ai_council/low_impact_corpus.py +0 -466
  1182. package/src/scripts/ai_council/low_impact_intake.py +0 -163
  1183. package/src/scripts/ai_council/modes.py +0 -131
  1184. package/src/scripts/ai_council/necessity.py +0 -782
  1185. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_2a4_acceptance.py +0 -208
  1186. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_add_quiet.py +0 -149
  1187. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +0 -206
  1188. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_estimate.py +0 -67
  1189. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_review.py +0 -292
  1190. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_followups_review.py +0 -259
  1191. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_inject_quiet_flag.py +0 -33
  1192. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_v2.sh +0 -36
  1193. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_verbosity.sh +0 -26
  1194. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_nondestructive_inline_audit.py +0 -209
  1195. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_per_task.sh +0 -41
  1196. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_phase4_dispatch_latency.py +0 -108
  1197. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_phase6_trigger_jaccard.py +0 -92
  1198. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_budget_rebalance.py +0 -257
  1199. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_post_revert.py +0 -197
  1200. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_rebalancing_audit.py +0 -149
  1201. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_roundtrip.py +0 -111
  1202. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_rule_hardening_v1.py +0 -251
  1203. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_silent_taskfiles.py +0 -98
  1204. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_open_questions.py +0 -232
  1205. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_optimization.py +0 -144
  1206. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_v3_gaps.py +0 -252
  1207. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_v3_review.py +0 -240
  1208. package/src/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +0 -180
  1209. package/src/scripts/ai_council/orchestrator.py +0 -1206
  1210. package/src/scripts/ai_council/pricing.py +0 -215
  1211. package/src/scripts/ai_council/probation_gate.py +0 -152
  1212. package/src/scripts/ai_council/project_context.py +0 -159
  1213. package/src/scripts/ai_council/prompts.py +0 -567
  1214. package/src/scripts/ai_council/redact_low_impact_entry.py +0 -155
  1215. package/src/scripts/ai_council/replay.py +0 -155
  1216. package/src/scripts/ai_council/session.py +0 -366
  1217. package/src/scripts/ai_council/shadow_dispatch.py +0 -235
  1218. package/src/scripts/ai_council/solo_dispatch.py +0 -226
  1219. package/src/scripts/annotate_discovery.py +0 -149
  1220. package/src/scripts/apply_modules_config.py +0 -290
  1221. package/src/scripts/audit_adr_coverage.py +0 -173
  1222. package/src/scripts/audit_auto_rules.py +0 -175
  1223. package/src/scripts/audit_cloud_compatibility.py +0 -362
  1224. package/src/scripts/audit_command_surface.py +0 -682
  1225. package/src/scripts/audit_initial_context.py +0 -237
  1226. package/src/scripts/audit_likelihood.py +0 -148
  1227. package/src/scripts/audit_mcp_tools.py +0 -146
  1228. package/src/scripts/audit_overlap.py +0 -145
  1229. package/src/scripts/audit_skill_descriptions.py +0 -180
  1230. package/src/scripts/audit_skill_overlap.py +0 -207
  1231. package/src/scripts/audit_user_type_axis.py +0 -140
  1232. package/src/scripts/backfill_model_tier.py +0 -184
  1233. package/src/scripts/bench_ab_cache_dispatch.py +0 -68
  1234. package/src/scripts/bench_ab_clone.py +0 -220
  1235. package/src/scripts/bench_ab_diff.py +0 -220
  1236. package/src/scripts/bench_ab_integrity.py +0 -143
  1237. package/src/scripts/bench_ab_run.py +0 -235
  1238. package/src/scripts/bench_ab_task_runner.py +0 -814
  1239. package/src/scripts/bench_ab_tracka_run.py +0 -202
  1240. package/src/scripts/bench_ab_v2_run.py +0 -247
  1241. package/src/scripts/bench_ab_v2_stats.py +0 -347
  1242. package/src/scripts/bench_baseline_ready.py +0 -108
  1243. package/src/scripts/bench_condense_memory.py +0 -168
  1244. package/src/scripts/bench_drift_check.py +0 -151
  1245. package/src/scripts/bench_per_tool.py +0 -216
  1246. package/src/scripts/bench_rtk_savings.py +0 -320
  1247. package/src/scripts/bench_run.py +0 -272
  1248. package/src/scripts/bench_runner.py +0 -158
  1249. package/src/scripts/build_cloud_bundle.py +0 -458
  1250. package/src/scripts/build_discovery_manifest.py +0 -757
  1251. package/src/scripts/build_linear_digest.py +0 -260
  1252. package/src/scripts/build_mcp_registry_manifest.py +0 -181
  1253. package/src/scripts/build_rule_trigger_matrix.py +0 -350
  1254. package/src/scripts/capture_showcase_session.py +0 -361
  1255. package/src/scripts/chat_history.py +0 -1799
  1256. package/src/scripts/check_always_budget.py +0 -532
  1257. package/src/scripts/check_artefact_checksums.py +0 -111
  1258. package/src/scripts/check_augment_description_cap.py +0 -79
  1259. package/src/scripts/check_augmentignore.py +0 -72
  1260. package/src/scripts/check_beta_review_markers.py +0 -127
  1261. package/src/scripts/check_bite_sized_granularity.py +0 -98
  1262. package/src/scripts/check_cluster_patterns.py +0 -206
  1263. package/src/scripts/check_command_count_messaging.py +0 -152
  1264. package/src/scripts/check_condensation.py +0 -375
  1265. package/src/scripts/check_condensed_paths.py +0 -231
  1266. package/src/scripts/check_context_paths.py +0 -202
  1267. package/src/scripts/check_council_layout.py +0 -125
  1268. package/src/scripts/check_council_references.py +0 -228
  1269. package/src/scripts/check_discovery_determinism.py +0 -70
  1270. package/src/scripts/check_gate_paths.py +0 -128
  1271. package/src/scripts/check_iron_law_prominence.py +0 -145
  1272. package/src/scripts/check_kernel_rule_bundle.py +0 -151
  1273. package/src/scripts/check_md_language.py +0 -161
  1274. package/src/scripts/check_memory.py +0 -429
  1275. package/src/scripts/check_memory_proposal.py +0 -182
  1276. package/src/scripts/check_module_management_neutral.py +0 -147
  1277. package/src/scripts/check_no_external_sources.py +0 -101
  1278. package/src/scripts/check_no_local_settings_committed.py +0 -51
  1279. package/src/scripts/check_no_new_legacy_path.py +0 -100
  1280. package/src/scripts/check_no_roadmap_refs.py +0 -155
  1281. package/src/scripts/check_one_off_location.py +0 -81
  1282. package/src/scripts/check_overlay_cascade_subdirs.py +0 -129
  1283. package/src/scripts/check_portability.py +0 -574
  1284. package/src/scripts/check_proposal.py +0 -269
  1285. package/src/scripts/check_public_catalog_links.py +0 -125
  1286. package/src/scripts/check_public_links.py +0 -185
  1287. package/src/scripts/check_references.py +0 -559
  1288. package/src/scripts/check_release_includes_discovery.py +0 -61
  1289. package/src/scripts/check_release_pr_shape.py +0 -123
  1290. package/src/scripts/check_release_published.py +0 -145
  1291. package/src/scripts/check_release_trunk_sync.py +0 -152
  1292. package/src/scripts/check_reply_consistency.py +0 -169
  1293. package/src/scripts/check_roadmap_trackable.py +0 -114
  1294. package/src/scripts/check_role_doc_links.py +0 -110
  1295. package/src/scripts/check_safety_floor_untouched.py +0 -125
  1296. package/src/scripts/check_skill_requires.py +0 -147
  1297. package/src/scripts/check_template_pin_drift.py +0 -129
  1298. package/src/scripts/check_test_coverage_diff.py +0 -180
  1299. package/src/scripts/check_token_optimizer_freshness.py +0 -146
  1300. package/src/scripts/check_update_banner.py +0 -86
  1301. package/src/scripts/ci_status.py +0 -301
  1302. package/src/scripts/ci_summary.py +0 -131
  1303. package/src/scripts/ci_time_ratio.py +0 -168
  1304. package/src/scripts/command_suggester/__init__.py +0 -51
  1305. package/src/scripts/command_suggester/cooldown.py +0 -132
  1306. package/src/scripts/command_suggester/loader.py +0 -73
  1307. package/src/scripts/command_suggester/match.py +0 -180
  1308. package/src/scripts/command_suggester/rank.py +0 -120
  1309. package/src/scripts/command_suggester/render.py +0 -86
  1310. package/src/scripts/command_suggester/sanitize.py +0 -113
  1311. package/src/scripts/command_suggester/settings.py +0 -127
  1312. package/src/scripts/command_suggester/types.py +0 -78
  1313. package/src/scripts/compile_router.py +0 -232
  1314. package/src/scripts/condense.py +0 -1919
  1315. package/src/scripts/condense_memory.py +0 -178
  1316. package/src/scripts/config/__init__.py +0 -9
  1317. package/src/scripts/config/packs.py +0 -157
  1318. package/src/scripts/config/presets.py +0 -224
  1319. package/src/scripts/config/profile_explain.py +0 -89
  1320. package/src/scripts/config/profiles.py +0 -191
  1321. package/src/scripts/config/session_profiles.py +0 -542
  1322. package/src/scripts/context_hygiene_hook.py +0 -181
  1323. package/src/scripts/cost_by_conversation.py +0 -78
  1324. package/src/scripts/cost_summary.py +0 -97
  1325. package/src/scripts/council_cli.py +0 -2571
  1326. package/src/scripts/council_prune.py +0 -81
  1327. package/src/scripts/cross_repo_retrieve.py +0 -172
  1328. package/src/scripts/discovery_stats.py +0 -70
  1329. package/src/scripts/extract_audit_patterns.py +0 -202
  1330. package/src/scripts/first_run_gate_hook.py +0 -179
  1331. package/src/scripts/gen_discovery_baseline.py +0 -127
  1332. package/src/scripts/generate_catalog.py +0 -116
  1333. package/src/scripts/generate_command_flows.py +0 -191
  1334. package/src/scripts/generate_index.py +0 -303
  1335. package/src/scripts/generate_ownership_matrix.py +0 -378
  1336. package/src/scripts/generate_pack_manifests.py +0 -340
  1337. package/src/scripts/hooks/__init__.py +0 -1
  1338. package/src/scripts/hooks/dispatch_hook.py +0 -461
  1339. package/src/scripts/hooks/dispatch_issues.py +0 -136
  1340. package/src/scripts/hooks/envelope.py +0 -98
  1341. package/src/scripts/hooks/replay_hook.py +0 -144
  1342. package/src/scripts/hooks/state_io.py +0 -145
  1343. package/src/scripts/hooks_doctor.py +0 -223
  1344. package/src/scripts/hooks_status.py +0 -157
  1345. package/src/scripts/injection_scan_hook.py +0 -145
  1346. package/src/scripts/install.py +0 -5258
  1347. package/src/scripts/inventory_abstraction_budget.py +0 -622
  1348. package/src/scripts/inventory_frontmatter.py +0 -164
  1349. package/src/scripts/inventory_meta_layers.py +0 -288
  1350. package/src/scripts/iron_law_sha.py +0 -107
  1351. package/src/scripts/linked_projects_list.py +0 -91
  1352. package/src/scripts/lint_agent_security.py +0 -112
  1353. package/src/scripts/lint_agent_skill_names.py +0 -150
  1354. package/src/scripts/lint_agents_layout.py +0 -197
  1355. package/src/scripts/lint_agents_md.py +0 -210
  1356. package/src/scripts/lint_archived_skills.py +0 -159
  1357. package/src/scripts/lint_artefact_frontmatter.py +0 -188
  1358. package/src/scripts/lint_bench_ab.py +0 -173
  1359. package/src/scripts/lint_bench_corpus.py +0 -255
  1360. package/src/scripts/lint_command_flow_coverage.py +0 -132
  1361. package/src/scripts/lint_command_routing.py +0 -160
  1362. package/src/scripts/lint_command_tiers.py +0 -216
  1363. package/src/scripts/lint_command_verbs.py +0 -206
  1364. package/src/scripts/lint_commit_subjects.py +0 -139
  1365. package/src/scripts/lint_context_spine_usage.py +0 -137
  1366. package/src/scripts/lint_discovery_manifest.py +0 -176
  1367. package/src/scripts/lint_discovery_vocabulary.py +0 -222
  1368. package/src/scripts/lint_empty_roadmaps.py +0 -80
  1369. package/src/scripts/lint_examples.py +0 -102
  1370. package/src/scripts/lint_explain_trace.py +0 -80
  1371. package/src/scripts/lint_featured_skills.py +0 -144
  1372. package/src/scripts/lint_flows.py +0 -215
  1373. package/src/scripts/lint_framework_leakage.py +0 -375
  1374. package/src/scripts/lint_frontmatter_boilerplate.py +0 -77
  1375. package/src/scripts/lint_ghostwriter_source.py +0 -242
  1376. package/src/scripts/lint_global_paths.py +0 -148
  1377. package/src/scripts/lint_handoffs.py +0 -217
  1378. package/src/scripts/lint_hidden_unicode.py +0 -132
  1379. package/src/scripts/lint_hook_concern_budget.py +0 -207
  1380. package/src/scripts/lint_hook_manifest.py +0 -217
  1381. package/src/scripts/lint_instruction_smuggling.py +0 -107
  1382. package/src/scripts/lint_load_context.py +0 -196
  1383. package/src/scripts/lint_marketplace.py +0 -180
  1384. package/src/scripts/lint_marketplace_install_completeness.py +0 -198
  1385. package/src/scripts/lint_mcp_config_security.py +0 -124
  1386. package/src/scripts/lint_mcp_registry_manifest.py +0 -69
  1387. package/src/scripts/lint_media_policy_linkage.py +0 -140
  1388. package/src/scripts/lint_model_tier_coverage.py +0 -73
  1389. package/src/scripts/lint_namespace.py +0 -135
  1390. package/src/scripts/lint_namespace_collisions.py +0 -103
  1391. package/src/scripts/lint_new_skill_gate.py +0 -144
  1392. package/src/scripts/lint_no_new_atomic_commands.py +0 -180
  1393. package/src/scripts/lint_one_off_age.py +0 -184
  1394. package/src/scripts/lint_orchestration_dsl.py +0 -217
  1395. package/src/scripts/lint_orchestrator_auto_detect.py +0 -111
  1396. package/src/scripts/lint_pack_boundaries.py +0 -147
  1397. package/src/scripts/lint_pack_dependencies.py +0 -137
  1398. package/src/scripts/lint_pack_first_win.py +0 -121
  1399. package/src/scripts/lint_persona_governance.py +0 -164
  1400. package/src/scripts/lint_positioning.py +0 -143
  1401. package/src/scripts/lint_profile_overlay_set_only.py +0 -179
  1402. package/src/scripts/lint_readme_jargon.py +0 -131
  1403. package/src/scripts/lint_readme_size.py +0 -33
  1404. package/src/scripts/lint_regression.py +0 -251
  1405. package/src/scripts/lint_roadmap_ci_steps.py +0 -186
  1406. package/src/scripts/lint_roadmap_complexity.py +0 -220
  1407. package/src/scripts/lint_role_experiences.py +0 -255
  1408. package/src/scripts/lint_rule_interactions.py +0 -170
  1409. package/src/scripts/lint_rule_tiers.py +0 -90
  1410. package/src/scripts/lint_showcase_sessions.py +0 -148
  1411. package/src/scripts/lint_skill_frontmatter_safety.py +0 -144
  1412. package/src/scripts/lint_skill_tools.py +0 -168
  1413. package/src/scripts/lint_topics_yaml.py +0 -89
  1414. package/src/scripts/lint_trust_coherence.py +0 -212
  1415. package/src/scripts/lint_value_dashboard.py +0 -218
  1416. package/src/scripts/lint_workspace_boundary.py +0 -122
  1417. package/src/scripts/mcp_parity_smoke.py +0 -316
  1418. package/src/scripts/mcp_render.py +0 -173
  1419. package/src/scripts/mcp_server/__init__.py +0 -19
  1420. package/src/scripts/mcp_server/__main__.py +0 -12
  1421. package/src/scripts/mcp_server/catalog.py +0 -125
  1422. package/src/scripts/mcp_server/metadata.py +0 -75
  1423. package/src/scripts/mcp_server/prompts.py +0 -442
  1424. package/src/scripts/mcp_server/requirements.txt +0 -4
  1425. package/src/scripts/mcp_server/resources.py +0 -201
  1426. package/src/scripts/mcp_server/server.py +0 -270
  1427. package/src/scripts/mcp_server/telemetry.py +0 -128
  1428. package/src/scripts/mcp_server/tools.py +0 -926
  1429. package/src/scripts/mcp_telemetry_health.py +0 -214
  1430. package/src/scripts/mcp_telemetry_query.py +0 -203
  1431. package/src/scripts/mcp_telemetry_store.py +0 -211
  1432. package/src/scripts/measure_augment_budget.py +0 -214
  1433. package/src/scripts/measure_density.py +0 -232
  1434. package/src/scripts/measure_frugality_savings.py +0 -164
  1435. package/src/scripts/measure_markitdown_lift.py +0 -127
  1436. package/src/scripts/measure_patterns.py +0 -376
  1437. package/src/scripts/measure_projection_bytes.py +0 -159
  1438. package/src/scripts/measure_rule_budget.py +0 -347
  1439. package/src/scripts/measure_skill_reduction.py +0 -102
  1440. package/src/scripts/memory_hash.py +0 -75
  1441. package/src/scripts/memory_lookup.py +0 -436
  1442. package/src/scripts/memory_report.py +0 -314
  1443. package/src/scripts/memory_signal.py +0 -165
  1444. package/src/scripts/memory_status.py +0 -76
  1445. package/src/scripts/migrate_command_suggestions.py +0 -151
  1446. package/src/scripts/migrate_frontmatter_defaults.py +0 -245
  1447. package/src/scripts/mine_session.py +0 -356
  1448. package/src/scripts/minimal_safe_diff_hook.py +0 -245
  1449. package/src/scripts/move_artefact.py +0 -143
  1450. package/src/scripts/new_skill.py +0 -148
  1451. package/src/scripts/onboarding_gate_hook.py +0 -142
  1452. package/src/scripts/pack_mcp_content.py +0 -293
  1453. package/src/scripts/plan_physical_move.py +0 -353
  1454. package/src/scripts/prediction-pool/poisson_sim.py +0 -167
  1455. package/src/scripts/prediction-pool/pool_winsim.py +0 -236
  1456. package/src/scripts/prediction-pool/score_ev.py +0 -188
  1457. package/src/scripts/print_required_checks.py +0 -196
  1458. package/src/scripts/probe_projection_fidelity.py +0 -202
  1459. package/src/scripts/probe_skill_registration.py +0 -413
  1460. package/src/scripts/profile_staleness_hook.py +0 -69
  1461. package/src/scripts/profile_use.py +0 -164
  1462. package/src/scripts/project_thin_rules.py +0 -168
  1463. package/src/scripts/propose_modules_config.py +0 -145
  1464. package/src/scripts/prototype_lint_contradictions.py +0 -150
  1465. package/src/scripts/prove_pack_extractable.py +0 -187
  1466. package/src/scripts/readme_linter.py +0 -589
  1467. package/src/scripts/redact_hook_capture.py +0 -148
  1468. package/src/scripts/refine_ticket_detect.py +0 -646
  1469. package/src/scripts/release.py +0 -1091
  1470. package/src/scripts/render_benchmark_md.py +0 -401
  1471. package/src/scripts/render_value_md.py +0 -347
  1472. package/src/scripts/requirements-evals.txt +0 -8
  1473. package/src/scripts/roadmap_progress_hook.py +0 -274
  1474. package/src/scripts/router_telemetry.py +0 -470
  1475. package/src/scripts/run_skill_evals.py +0 -185
  1476. package/src/scripts/runtime_dispatcher.py +0 -276
  1477. package/src/scripts/runtime_handler.py +0 -148
  1478. package/src/scripts/runtime_registry.py +0 -166
  1479. package/src/scripts/score_skill_selection.py +0 -198
  1480. package/src/scripts/security_audit_config.py +0 -153
  1481. package/src/scripts/setup_eval_venv.sh +0 -58
  1482. package/src/scripts/skill_collision_clusters.py +0 -162
  1483. package/src/scripts/skill_discovery.py +0 -254
  1484. package/src/scripts/skill_linter.py +0 -3694
  1485. package/src/scripts/skill_overlap.py +0 -204
  1486. package/src/scripts/skill_preview.py +0 -179
  1487. package/src/scripts/skill_tools/__init__.py +0 -22
  1488. package/src/scripts/skill_tools/audit_persona_coverage.py +0 -147
  1489. package/src/scripts/skill_tools/audit_user_type_coverage.py +0 -148
  1490. package/src/scripts/skill_tools/run_block_d_eval.py +0 -129
  1491. package/src/scripts/skill_tools/score_skill_relevance.py +0 -169
  1492. package/src/scripts/skill_tools/suggest_skill_for_task.py +0 -113
  1493. package/src/scripts/skill_trigger_eval.py +0 -682
  1494. package/src/scripts/skill_usage_collect.py +0 -191
  1495. package/src/scripts/skill_usage_report.py +0 -162
  1496. package/src/scripts/smoke_path_resolution.py +0 -93
  1497. package/src/scripts/smoke_quickstart.py +0 -144
  1498. package/src/scripts/snapshot_agent_outputs.py +0 -144
  1499. package/src/scripts/spotcheck_thin_root.py +0 -134
  1500. package/src/scripts/sync_agent_settings.py +0 -180
  1501. package/src/scripts/sync_github_metadata.py +0 -147
  1502. package/src/scripts/sync_gitignore.py +0 -291
  1503. package/src/scripts/sync_yaml_rt.py +0 -734
  1504. package/src/scripts/telegraph_stats.py +0 -119
  1505. package/src/scripts/tool_registry.py +0 -146
  1506. package/src/scripts/tools/__init__.py +0 -1
  1507. package/src/scripts/tools/adapter_errors.py +0 -63
  1508. package/src/scripts/tools/base_adapter.py +0 -91
  1509. package/src/scripts/tools/github_adapter.py +0 -128
  1510. package/src/scripts/tools/jira_adapter.py +0 -115
  1511. package/src/scripts/trigger_coverage.py +0 -129
  1512. package/src/scripts/update_counts.py +0 -199
  1513. package/src/scripts/update_prices.py +0 -125
  1514. package/src/scripts/validate_agent_settings.py +0 -124
  1515. package/src/scripts/validate_decision_engine.py +0 -136
  1516. package/src/scripts/validate_discovery_manifest.py +0 -94
  1517. package/src/scripts/validate_frontmatter.py +0 -647
  1518. package/src/scripts/validate_pack_yaml.py +0 -179
  1519. package/src/scripts/validate_safe_paths.py +0 -118
  1520. package/src/scripts/validate_telegraph_carveouts.py +0 -129
  1521. package/src/scripts/verify_before_complete_hook.py +0 -216
  1522. package/src/scripts/verify_physical_move.py +0 -185
  1523. package/src/scripts/wrapper_freshness_hook.py +0 -86
  1524. /package/dist/agent-src/skills/design-intelligence/data/{typography.csv → font-pairings-reference.csv} +0 -0
  1525. /package/src/scripts/{ai-video → media}/lib/fixtures/allin1/analysis.json +0 -0
  1526. /package/src/scripts/{ai-video → media}/lib/fixtures/comfyui/scene-0001.mp4 +0 -0
  1527. /package/src/scripts/{ai-video → media}/lib/fixtures/fal/scene-0001.mp4 +0 -0
  1528. /package/src/scripts/{ai-video → media}/lib/fixtures/gemini-veo/scene-0001.mp4 +0 -0
  1529. /package/src/scripts/{ai-video → media}/lib/fixtures/higgsfield/scene-0001.mp4 +0 -0
  1530. /package/src/scripts/{ai-video → media}/lib/fixtures/kling/scene-0001.mp4 +0 -0
  1531. /package/src/scripts/{ai-video → media}/lib/fixtures/musetalk/lipsync-0001.mp4 +0 -0
  1532. /package/src/scripts/{ai-video → media}/lib/fixtures/openai-images/scene-0001.png +0 -0
  1533. /package/src/scripts/{ai-video → media}/lib/fixtures/replicate/scene-0001.mp4 +0 -0
  1534. /package/src/scripts/{ai-video → media}/lib/fixtures/sora/scene-0001.mp4 +0 -0
  1535. /package/src/scripts/{ai-video → media}/lib/fixtures/syncso/lipsync-0001.mp4 +0 -0
  1536. /package/src/scripts/{ai-video → media}/lib/fixtures/whisperx/transcript.json +0 -0
  1537. /package/src/scripts/{ai-video → media}/lib/telemetry.sh +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace_analytics.js","sourceRoot":"","sources":["../../../src/cli/python/workspace_analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,544 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * Workspace encryption-at-rest — Phase 8 of `road-to-employee-product`
4
+ * (TypeScript twin).
5
+ *
6
+ * TypeScript twin of `src/cli/python/workspace_crypto.py` (ADR-200, py2ts
7
+ * migration). Byte-for-byte behavioral parity with the Python original — same
8
+ * subcommands, same exit codes, same `json.dumps(..., sort_keys=True)` output,
9
+ * same `AC1\0` envelope so a ciphertext written by one language decrypts in the
10
+ * other. No behaviour changes — latent quirks are replicated, not fixed.
11
+ *
12
+ * Implements `docs/contracts/at-rest-encryption.md`. Local-only **AES-256-GCM**
13
+ * with the contract's `AC1\0` envelope. Cipher choice + architecture locked in
14
+ * `docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md` (Part A: the
15
+ * prior Fernet implementation drifted from the spec — this aligns the code to
16
+ * the contract so the same envelope is byte-reproducible across Python's
17
+ * `cryptography` and Node's `node:crypto`).
18
+ *
19
+ * The feature is **opt-in** via `.agent-settings.yml → workspace.encrypt_at_rest`.
20
+ * When disabled, callers write plaintext; `decryptBytes` passes plaintext
21
+ * through unchanged (no magic prefix), so reads stay back-compatible.
22
+ *
23
+ * DOCUMENTED DIVERGENCE — master-key resolution. Python's order is
24
+ * override → env → keyring → file. Node has no OS-keyring binding, so the
25
+ * keyring branch is unavailable here (treated as the Python `ImportError`
26
+ * fall-through to the file path). With an explicit override or the
27
+ * `AGENT_CONFIG_WORKSPACE_KEY` env var, both languages resolve the SAME key and
28
+ * the envelopes interoperate; the divergence is confined to the no-key path
29
+ * where Python may use the OS keyring while Node always uses the keyfile.
30
+ *
31
+ * Envelope (per the contract):
32
+ *
33
+ * | 4 bytes | magic "AC1\0" (0x41 0x43 0x31 0x00)
34
+ * | 1 byte | version 0x01
35
+ * | 12 bytes | GCM nonce
36
+ * | 16 bytes | GCM auth tag
37
+ * | N bytes | ciphertext
38
+ *
39
+ * Note: Node's `createCipheriv` returns the ciphertext via update+final and the
40
+ * 16-byte tag separately via `getAuthTag()`; Python's `AESGCM.encrypt` returns
41
+ * `ciphertext || tag`. Both produce the identical envelope `MAGIC + version +
42
+ * nonce + tag + ciphertext` (tag BEFORE ciphertext, per the contract).
43
+ *
44
+ * CLI:
45
+ *
46
+ * workspace_crypto.ts encrypt --in <p> --out <p>
47
+ * workspace_crypto.ts decrypt --in <p> --out <p>
48
+ * workspace_crypto.ts status
49
+ * workspace_crypto.ts rotate-key
50
+ */
51
+ import * as crypto from 'node:crypto';
52
+ import * as fs from 'node:fs';
53
+ import * as os from 'node:os';
54
+ import * as path from 'node:path';
55
+ import process from 'node:process';
56
+ import { fileURLToPath, pathToFileURL } from 'node:url';
57
+ const _HERE = fileURLToPath(import.meta.url);
58
+ const WORKSPACE_HOME = path.join(os.homedir(), '.event4u', 'agent-config', 'workspace');
59
+ const KEYRING_SERVICE = 'event4u-agent-config-workspace';
60
+ const KEYRING_USER = 'master-key';
61
+ const ENV_OVERRIDE_KEY = 'AGENT_CONFIG_WORKSPACE_KEY';
62
+ const ENV_FORCE_DISABLE = 'AGENT_CONFIG_NO_ENCRYPTION';
63
+ // Reference the keyring identifiers so the (intentionally-unused under Node)
64
+ // constants stay in sync with the Python source without tripping noUnusedLocals.
65
+ void KEYRING_SERVICE;
66
+ void KEYRING_USER;
67
+ // Envelope constants (docs/contracts/at-rest-encryption.md).
68
+ const MAGIC = Buffer.from([0x41, 0x43, 0x31, 0x00]); // "AC1\0"
69
+ const VERSION = 1;
70
+ const _NONCE_LEN = 12;
71
+ const _TAG_LEN = 16;
72
+ const _KEY_LEN = 32;
73
+ const _HEADER_LEN = MAGIC.length + 1; // magic + version byte
74
+ /** argparse usage-error / help exit (code 2 / 0). Caught at the CLI entry. */
75
+ class ArgparseExit extends Error {
76
+ code;
77
+ constructor(code) {
78
+ super(`argparse-exit-${code}`);
79
+ this.code = code;
80
+ }
81
+ }
82
+ // --- JSON byte-parity (compact, ensure_ascii=True, sort_keys=True) ----------
83
+ //
84
+ // `json.dumps(obj, sort_keys=True)` (no indent) → default separators
85
+ // `(", ", ": ")`, every non-ASCII code point escaped to `\uXXXX`, keys sorted.
86
+ function _jsonStrAscii(s) {
87
+ let out = '"';
88
+ for (const ch of s) {
89
+ const code = ch.codePointAt(0);
90
+ switch (ch) {
91
+ case '"':
92
+ out += '\\"';
93
+ break;
94
+ case '\\':
95
+ out += '\\\\';
96
+ break;
97
+ case '\n':
98
+ out += '\\n';
99
+ break;
100
+ case '\r':
101
+ out += '\\r';
102
+ break;
103
+ case '\t':
104
+ out += '\\t';
105
+ break;
106
+ case '\b':
107
+ out += '\\b';
108
+ break;
109
+ case '\f':
110
+ out += '\\f';
111
+ break;
112
+ default:
113
+ if (code < 0x20) {
114
+ out += '\\u' + code.toString(16).padStart(4, '0');
115
+ }
116
+ else if (code < 0x7f) {
117
+ out += ch;
118
+ }
119
+ else if (code <= 0xffff) {
120
+ out += '\\u' + code.toString(16).padStart(4, '0');
121
+ }
122
+ else {
123
+ const v = code - 0x10000;
124
+ const hi = 0xd800 + (v >> 10);
125
+ const lo = 0xdc00 + (v & 0x3ff);
126
+ out +=
127
+ '\\u' +
128
+ hi.toString(16).padStart(4, '0') +
129
+ '\\u' +
130
+ lo.toString(16).padStart(4, '0');
131
+ }
132
+ }
133
+ }
134
+ return out + '"';
135
+ }
136
+ function _jsonScalarSorted(value) {
137
+ if (value === null || value === undefined)
138
+ return 'null';
139
+ if (typeof value === 'boolean')
140
+ return value ? 'true' : 'false';
141
+ if (typeof value === 'number')
142
+ return String(value);
143
+ if (typeof value === 'string')
144
+ return _jsonStrAscii(value);
145
+ return null;
146
+ }
147
+ function _dumpSorted(value) {
148
+ const scalar = _jsonScalarSorted(value);
149
+ if (scalar !== null)
150
+ return scalar;
151
+ if (Array.isArray(value)) {
152
+ return '[' + value.map((v) => _dumpSorted(v)).join(', ') + ']';
153
+ }
154
+ if (typeof value === 'object' && value !== null) {
155
+ const obj = value;
156
+ const keys = Object.keys(obj).sort();
157
+ return ('{' +
158
+ keys.map((k) => `${_jsonStrAscii(k)}: ${_dumpSorted(obj[k])}`).join(', ') +
159
+ '}');
160
+ }
161
+ return _jsonStrAscii(String(value));
162
+ }
163
+ /** `json.dumps(value, sort_keys=True)` (compact, ensure_ascii=True). */
164
+ function jsonDumpsSorted(value) {
165
+ return _dumpSorted(value);
166
+ }
167
+ function print(line = '') {
168
+ process.stdout.write(line + '\n');
169
+ }
170
+ // ---------------------------------------------------------------------------
171
+ // Module body (workspace_crypto.py).
172
+ // ---------------------------------------------------------------------------
173
+ /**
174
+ * `str.rstrip()` — strip trailing ASCII whitespace (matches Python's default
175
+ * whitespace set for the line scanner: space, \t, \n, \r, \f, \v).
176
+ */
177
+ function _rstrip(s) {
178
+ return s.replace(/[ \t\n\r\f\v]+$/, '');
179
+ }
180
+ /** `str.lstrip()` — strip leading whitespace. */
181
+ function _lstrip(s) {
182
+ return s.replace(/^[ \t\n\r\f\v]+/, '');
183
+ }
184
+ /** `str.strip()` — strip both ends. */
185
+ function _strip(s) {
186
+ return s.replace(/^[ \t\n\r\f\v]+/, '').replace(/[ \t\n\r\f\v]+$/, '');
187
+ }
188
+ /** Default OFF in v0 — opt-in via `.agent-settings.yml`. */
189
+ export function isEnabled(settingsPath) {
190
+ const forceDisable = _strip(process.env[ENV_FORCE_DISABLE] ?? '');
191
+ if (forceDisable !== '' && forceDisable !== '0') {
192
+ return false;
193
+ }
194
+ const p = settingsPath !== undefined ? settingsPath : '.agent-settings.yml';
195
+ if (!fs.existsSync(p)) {
196
+ return false;
197
+ }
198
+ let text;
199
+ try {
200
+ text = fs.readFileSync(p, 'utf-8');
201
+ }
202
+ catch {
203
+ return false;
204
+ }
205
+ let inBlock = false;
206
+ // Python `str.splitlines()` splits on universal newlines without a trailing
207
+ // empty element. `\n`/`\r\n`/`\r` are handled; mirror it.
208
+ for (const raw of text.split(/\r\n|\r|\n/)) {
209
+ const line = _rstrip(raw);
210
+ if (!line || _lstrip(line).startsWith('#')) {
211
+ continue;
212
+ }
213
+ if (!line.startsWith(' ') && line.endsWith(':')) {
214
+ inBlock = _strip(line) === 'workspace:';
215
+ continue;
216
+ }
217
+ if (inBlock && _lstrip(line).startsWith('encrypt_at_rest:')) {
218
+ const idx = line.indexOf(':');
219
+ const rawValue = line.slice(idx + 1);
220
+ const value = _strip(_strip(rawValue).toLowerCase()).replace(/^['"]+|['"]+$/g, '');
221
+ return value === 'on' || value === 'true' || value === 'yes' || value === '1';
222
+ }
223
+ }
224
+ return false;
225
+ }
226
+ /**
227
+ * Accept a raw 32-byte key or its base64 encoding; return raw 32 bytes.
228
+ *
229
+ * Mirrors `base64.b64decode(material, validate=True)` — STRICT base64: the
230
+ * input must contain only the base64 alphabet (`A-Za-z0-9+/`) plus `=` padding.
231
+ * Node's `Buffer.from(s, 'base64')` is lenient (silently drops invalid chars),
232
+ * so we validate strictly first and raise the Python ValueError messages.
233
+ */
234
+ function _coerceKey(material) {
235
+ if (material.length === _KEY_LEN) {
236
+ return material;
237
+ }
238
+ let decoded;
239
+ try {
240
+ decoded = _b64decodeStrict(material);
241
+ }
242
+ catch {
243
+ throw new Error('workspace_crypto: master key is not 32 bytes or valid base64');
244
+ }
245
+ if (decoded.length !== _KEY_LEN) {
246
+ throw new Error(`workspace_crypto: master key must be ${_KEY_LEN} bytes, got ${decoded.length}`);
247
+ }
248
+ return decoded;
249
+ }
250
+ /**
251
+ * Strict base64 decode matching `base64.b64decode(..., validate=True)`:
252
+ * reject any byte outside the base64 alphabet, require a length that is a
253
+ * multiple of 4 and valid padding. Operates on the latin-1 view of the bytes
254
+ * (CPython rejects non-base64 chars before decoding).
255
+ */
256
+ function _b64decodeStrict(material) {
257
+ const s = material.toString('latin1');
258
+ // CPython's binascii rejects any character not in the standard alphabet
259
+ // or padding. `=` may only appear as trailing padding.
260
+ if (!/^[A-Za-z0-9+/]*={0,2}$/.test(s)) {
261
+ throw new Error('invalid base64');
262
+ }
263
+ if (s.length % 4 !== 0) {
264
+ throw new Error('invalid base64 padding');
265
+ }
266
+ const decoded = Buffer.from(s, 'base64');
267
+ // Round-trip guard: Node re-encodes canonically; if the canonical form
268
+ // differs from the (validated) input, the input had non-canonical bytes.
269
+ if (decoded.toString('base64') !== s) {
270
+ throw new Error('non-canonical base64');
271
+ }
272
+ return decoded;
273
+ }
274
+ function _generateKeyB64() {
275
+ return crypto.randomBytes(_KEY_LEN).toString('base64');
276
+ }
277
+ /**
278
+ * Resolve the 32-byte master key. Order: override → env → keyring → file.
279
+ *
280
+ * The keyring branch is unavailable in Node (no OS-keyring binding) — treated
281
+ * as the Python `ImportError` fall-through to the keyfile path.
282
+ */
283
+ function _getOrCreateMasterKey(override) {
284
+ if (override !== undefined) {
285
+ return _coerceKey(Buffer.from(override, 'ascii'));
286
+ }
287
+ const envKey = process.env[ENV_OVERRIDE_KEY];
288
+ if (envKey) {
289
+ return _coerceKey(Buffer.from(envKey, 'ascii'));
290
+ }
291
+ // No keyring backend in Node — fall back to a file under the workspace home,
292
+ // mode 0o600. Documented in the contract as the recovery path.
293
+ fs.mkdirSync(WORKSPACE_HOME, { recursive: true });
294
+ const keyfile = path.join(WORKSPACE_HOME, '.master-key');
295
+ if (fs.existsSync(keyfile)) {
296
+ return _coerceKey(_stripBytes(fs.readFileSync(keyfile)));
297
+ }
298
+ const keyB64 = _generateKeyB64();
299
+ fs.writeFileSync(keyfile, Buffer.from(keyB64, 'ascii'));
300
+ try {
301
+ fs.chmodSync(keyfile, 0o600);
302
+ }
303
+ catch {
304
+ /* OSError → pass */
305
+ }
306
+ return _coerceKey(Buffer.from(keyB64, 'ascii'));
307
+ }
308
+ /** `bytes.strip()` — strip leading/trailing ASCII whitespace bytes. */
309
+ function _stripBytes(b) {
310
+ let start = 0;
311
+ let end = b.length;
312
+ const isWs = (c) => c === 0x20 || c === 0x09 || c === 0x0a || c === 0x0d || c === 0x0b || c === 0x0c;
313
+ while (start < end && isWs(b[start]))
314
+ start += 1;
315
+ while (end > start && isWs(b[end - 1]))
316
+ end -= 1;
317
+ return b.subarray(start, end);
318
+ }
319
+ /** AES-256-GCM encrypt. `key` is 32 raw bytes (or base64); undefined → master. */
320
+ export function encryptBytes(payload, key) {
321
+ const k = key !== undefined ? _coerceKey(key) : _getOrCreateMasterKey();
322
+ const nonce = crypto.randomBytes(_NONCE_LEN);
323
+ const cipher = crypto.createCipheriv('aes-256-gcm', k, nonce);
324
+ const ciphertext = Buffer.concat([cipher.update(payload), cipher.final()]);
325
+ const tag = cipher.getAuthTag();
326
+ return Buffer.concat([MAGIC, Buffer.from([VERSION]), nonce, tag, ciphertext]);
327
+ }
328
+ export function decryptBytes(payload, key) {
329
+ if (!_startsWith(payload, MAGIC)) {
330
+ // Plaintext payload — feature flag was off at write time.
331
+ return payload;
332
+ }
333
+ const version = payload[MAGIC.length];
334
+ if (version !== VERSION) {
335
+ throw new Error(`workspace_crypto: unsupported envelope version ${version}`);
336
+ }
337
+ const body = payload.subarray(_HEADER_LEN);
338
+ const nonce = body.subarray(0, _NONCE_LEN);
339
+ const tag = body.subarray(_NONCE_LEN, _NONCE_LEN + _TAG_LEN);
340
+ const ciphertext = body.subarray(_NONCE_LEN + _TAG_LEN);
341
+ const k = key !== undefined ? _coerceKey(key) : _getOrCreateMasterKey();
342
+ const decipher = crypto.createDecipheriv('aes-256-gcm', k, nonce);
343
+ decipher.setAuthTag(tag);
344
+ return Buffer.concat([decipher.update(ciphertext), decipher.final()]);
345
+ }
346
+ function _startsWith(buf, prefix) {
347
+ if (buf.length < prefix.length)
348
+ return false;
349
+ return buf.subarray(0, prefix.length).equals(prefix);
350
+ }
351
+ export function encryptFile(src, dst, key) {
352
+ fs.mkdirSync(path.dirname(dst), { recursive: true });
353
+ fs.writeFileSync(dst, encryptBytes(fs.readFileSync(src), key));
354
+ }
355
+ export function decryptFile(src, dst, key) {
356
+ fs.mkdirSync(path.dirname(dst), { recursive: true });
357
+ fs.writeFileSync(dst, decryptBytes(fs.readFileSync(src), key));
358
+ }
359
+ // --- per-record encryption for append-JSONL stores (ADR-064) -------------
360
+ //
361
+ // AES-GCM can't append to a blob, so each JSONL record becomes its own
362
+ // self-contained envelope, base64-encoded as one line. Each line carries a
363
+ // fresh random 96-bit nonce in its own `AC1\0` envelope. A torn final line
364
+ // fails base64/GCM and is skipped by the reader.
365
+ /** Encrypt one record's text → a single base64 line (no trailing newline). */
366
+ export function encryptLine(text, key) {
367
+ return encryptBytes(Buffer.from(text, 'utf-8'), key).toString('base64');
368
+ }
369
+ /**
370
+ * Decrypt a base64 record line; pass a plaintext JSON line through.
371
+ *
372
+ * A plaintext record (flag was off at write) is raw JSON starting with `{`/`[`;
373
+ * an encrypted record is base64 of the `AC1\0` envelope. The first-char check
374
+ * distinguishes them without ambiguity.
375
+ */
376
+ export function decryptLine(line, key) {
377
+ const s = _strip(line);
378
+ if (!s || s[0] === '{' || s[0] === '[') {
379
+ return s;
380
+ }
381
+ const raw = _b64decodeStrict(Buffer.from(s, 'latin1'));
382
+ return decryptBytes(raw, key).toString('utf-8');
383
+ }
384
+ /** Generate a new master key, replace the keyfile entry. Returns raw key. */
385
+ export function rotateKey() {
386
+ const keyB64 = _generateKeyB64();
387
+ // No keyring backend in Node — fall through to the keyfile path (matches
388
+ // the Python `except ImportError` branch).
389
+ const keyfile = path.join(WORKSPACE_HOME, '.master-key');
390
+ fs.mkdirSync(WORKSPACE_HOME, { recursive: true });
391
+ fs.writeFileSync(keyfile, Buffer.from(keyB64, 'ascii'));
392
+ try {
393
+ fs.chmodSync(keyfile, 0o600);
394
+ }
395
+ catch {
396
+ /* OSError → pass */
397
+ }
398
+ return _coerceKey(Buffer.from(keyB64, 'ascii'));
399
+ }
400
+ const PROG = 'workspace_crypto';
401
+ const USAGE = `usage: ${PROG} [-h] {encrypt,decrypt,status,rotate-key} ...\n`;
402
+ const USAGE_ENCRYPT = `usage: ${PROG} encrypt [-h] --in SRC --out DST\n`;
403
+ const USAGE_DECRYPT = `usage: ${PROG} decrypt [-h] --in SRC --out DST\n`;
404
+ const USAGE_STATUS = `usage: ${PROG} status [-h]\n`;
405
+ const USAGE_ROTATE = `usage: ${PROG} rotate-key [-h]\n`;
406
+ const SUB_USAGE = {
407
+ encrypt: USAGE_ENCRYPT,
408
+ decrypt: USAGE_DECRYPT,
409
+ status: USAGE_STATUS,
410
+ 'rotate-key': USAGE_ROTATE,
411
+ };
412
+ function _argError(usage, prog, msg) {
413
+ process.stderr.write(usage);
414
+ process.stderr.write(`${prog}: error: ${msg}\n`);
415
+ throw new ArgparseExit(2);
416
+ }
417
+ function _parse(argv) {
418
+ let i = 0;
419
+ // Top-level -h/--help before the subcommand.
420
+ if (i < argv.length && (argv[i] === '-h' || argv[i] === '--help')) {
421
+ process.stdout.write(USAGE);
422
+ throw new ArgparseExit(0);
423
+ }
424
+ if (i >= argv.length) {
425
+ _argError(USAGE, PROG, 'the following arguments are required: cmd');
426
+ }
427
+ const cmd = argv[i];
428
+ i += 1;
429
+ const choices = ['encrypt', 'decrypt', 'status', 'rotate-key'];
430
+ if (!choices.includes(cmd)) {
431
+ _argError(USAGE, PROG, `argument cmd: invalid choice: '${cmd}' (choose from 'encrypt', 'decrypt', 'status', 'rotate-key')`);
432
+ }
433
+ const subUsage = SUB_USAGE[cmd];
434
+ const subProg = `${PROG} ${cmd}`;
435
+ const out = { cmd };
436
+ const takesIo = cmd === 'encrypt' || cmd === 'decrypt';
437
+ const positionals = [];
438
+ // argparse collects every arg the subparser cannot consume and reports the
439
+ // whole leftover list against the TOP-LEVEL parser as "unrecognized
440
+ // arguments". Order is preserved.
441
+ const unrecognized = [];
442
+ while (i < argv.length) {
443
+ const a = argv[i];
444
+ if (a === '-h' || a === '--help') {
445
+ process.stdout.write(subUsage);
446
+ throw new ArgparseExit(0);
447
+ }
448
+ if (takesIo && (a === '--in' || a.startsWith('--in='))) {
449
+ const [val, next] = _optValue(argv, i, a, '--in', subUsage, subProg);
450
+ out.src = val;
451
+ i = next;
452
+ continue;
453
+ }
454
+ if (takesIo && (a === '--out' || a.startsWith('--out='))) {
455
+ const [val, next] = _optValue(argv, i, a, '--out', subUsage, subProg);
456
+ out.dst = val;
457
+ i = next;
458
+ continue;
459
+ }
460
+ if (a.startsWith('-') && a !== '-') {
461
+ unrecognized.push(a);
462
+ i += 1;
463
+ continue;
464
+ }
465
+ positionals.push(a);
466
+ i += 1;
467
+ }
468
+ if (takesIo) {
469
+ // argparse reports missing required options against the sub-parser,
470
+ // before reporting unrecognized arguments to the top-level parser.
471
+ const missing = [];
472
+ if (out.src === undefined)
473
+ missing.push('--in');
474
+ if (out.dst === undefined)
475
+ missing.push('--out');
476
+ if (missing.length > 0) {
477
+ _argError(subUsage, subProg, `the following arguments are required: ${missing.join(', ')}`);
478
+ }
479
+ const extra = [...positionals, ...unrecognized];
480
+ if (extra.length > 0) {
481
+ _argError(USAGE, PROG, `unrecognized arguments: ${extra.join(' ')}`);
482
+ }
483
+ }
484
+ else {
485
+ const extra = [...positionals, ...unrecognized];
486
+ if (extra.length > 0) {
487
+ _argError(USAGE, PROG, `unrecognized arguments: ${extra.join(' ')}`);
488
+ }
489
+ }
490
+ return out;
491
+ }
492
+ /**
493
+ * Consume an option value for `--in`/`--out`. Supports `--opt val` and
494
+ * `--opt=val`. Missing value → argparse sub-parser error.
495
+ */
496
+ function _optValue(argv, i, a, opt, subUsage, subProg) {
497
+ const eq = `${opt}=`;
498
+ if (a.startsWith(eq)) {
499
+ return [a.slice(eq.length), i + 1];
500
+ }
501
+ if (i + 1 >= argv.length) {
502
+ _argError(subUsage, subProg, `argument ${opt}: expected one argument`);
503
+ }
504
+ return [argv[i + 1], i + 2];
505
+ }
506
+ export function main(argv) {
507
+ const args = _parse(argv);
508
+ if (args.cmd === 'encrypt') {
509
+ encryptFile(args.src, args.dst);
510
+ return 0;
511
+ }
512
+ if (args.cmd === 'decrypt') {
513
+ decryptFile(args.src, args.dst);
514
+ return 0;
515
+ }
516
+ if (args.cmd === 'status') {
517
+ print(jsonDumpsSorted({ enabled: isEnabled() }));
518
+ return 0;
519
+ }
520
+ if (args.cmd === 'rotate-key') {
521
+ rotateKey();
522
+ print(jsonDumpsSorted({ rotated: true }));
523
+ return 0;
524
+ }
525
+ return 2;
526
+ }
527
+ // --- CLI entry ---
528
+ const _isCliEntry = process.argv[1] !== undefined &&
529
+ import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
530
+ if (_isCliEntry || process.argv[1] === _HERE) {
531
+ try {
532
+ process.exitCode = main(process.argv.slice(2));
533
+ }
534
+ catch (e) {
535
+ if (e instanceof ArgparseExit) {
536
+ process.exitCode = e.code;
537
+ }
538
+ else {
539
+ throw e;
540
+ }
541
+ }
542
+ }
543
+ export { ArgparseExit, jsonDumpsSorted };
544
+ //# sourceMappingURL=workspace_crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace_crypto.js","sourceRoot":"","sources":["../../../src/cli/python/workspace_crypto.ts"],"names":[],"mappings":"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"}