session-orchestrator 3.24.0 → 4.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 (350) hide show
  1. package/.agents/skills/architecture/SKILL.md +18 -0
  2. package/.agents/skills/autopilot/SKILL.md +17 -0
  3. package/.agents/skills/bootstrap/SKILL.md +20 -0
  4. package/.agents/skills/brainstorm/SKILL.md +22 -0
  5. package/.agents/skills/claude-md-drift-check/SKILL.md +15 -0
  6. package/.agents/skills/convergence-monitoring/SKILL.md +22 -0
  7. package/.agents/skills/debug/SKILL.md +22 -0
  8. package/.agents/skills/discovery/SKILL.md +20 -0
  9. package/.agents/skills/dispatcher/SKILL.md +15 -0
  10. package/.agents/skills/docs-orchestrator/SKILL.md +18 -0
  11. package/.agents/skills/ecosystem-health/SKILL.md +20 -0
  12. package/.agents/skills/eli5/SKILL.md +20 -0
  13. package/.agents/skills/eval/SKILL.md +21 -0
  14. package/.agents/skills/evolve/SKILL.md +21 -0
  15. package/.agents/skills/frontmatter-guard/SKILL.md +15 -0
  16. package/.agents/skills/gitlab-ops/SKILL.md +20 -0
  17. package/.agents/skills/gitlab-portfolio/SKILL.md +15 -0
  18. package/.agents/skills/grill/SKILL.md +22 -0
  19. package/.agents/skills/hook-development/SKILL.md +15 -0
  20. package/.agents/skills/mcp-builder/SKILL.md +15 -0
  21. package/.agents/skills/memory-cleanup/SKILL.md +21 -0
  22. package/.agents/skills/mode-selector/SKILL.md +17 -0
  23. package/.agents/skills/npm-publish/SKILL.md +16 -0
  24. package/.agents/skills/peekaboo-driver/SKILL.md +18 -0
  25. package/.agents/skills/persona-panel/SKILL.md +17 -0
  26. package/.agents/skills/plan/SKILL.md +20 -0
  27. package/.agents/skills/playwright-driver/SKILL.md +20 -0
  28. package/.agents/skills/quality-gates/SKILL.md +20 -0
  29. package/.agents/skills/reconcile/SKILL.md +21 -0
  30. package/.agents/skills/remote-offload/SKILL.md +20 -0
  31. package/.agents/skills/repo-audit/SKILL.md +16 -0
  32. package/.agents/skills/session-end/SKILL.md +20 -0
  33. package/.agents/skills/session-plan/SKILL.md +20 -0
  34. package/.agents/skills/session-start/SKILL.md +20 -0
  35. package/.agents/skills/spinout/SKILL.md +16 -0
  36. package/.agents/skills/sunset-review/SKILL.md +16 -0
  37. package/.agents/skills/test-runner/SKILL.md +20 -0
  38. package/.agents/skills/tmux-layout/SKILL.md +21 -0
  39. package/.agents/skills/using-orchestrator/SKILL.md +17 -0
  40. package/.agents/skills/vault-mirror/SKILL.md +15 -0
  41. package/.agents/skills/vault-sync/SKILL.md +15 -0
  42. package/.agents/skills/wave-executor/SKILL.md +20 -0
  43. package/.agents/skills/write-executable-plan/SKILL.md +22 -0
  44. package/.claude-plugin/marketplace.json +1 -1
  45. package/.claude-plugin/plugin.json +1 -1
  46. package/.codex-plugin/plugin.json +1 -1
  47. package/.cursor/commands/autopilot.md +2 -2
  48. package/.cursor/commands/bootstrap.md +1 -1
  49. package/.cursor/commands/brainstorm.md +1 -1
  50. package/.cursor/commands/debug.md +1 -1
  51. package/.cursor/commands/discovery.md +1 -1
  52. package/.cursor/commands/dispatcher.md +2 -2
  53. package/.cursor/commands/eli5.md +2 -2
  54. package/.cursor/commands/eval.md +2 -2
  55. package/.cursor/commands/evolve.md +1 -1
  56. package/.cursor/commands/go.md +1 -1
  57. package/.cursor/commands/grill.md +2 -2
  58. package/.cursor/commands/memory-cleanup.md +2 -2
  59. package/.cursor/commands/persona-panel.md +1 -1
  60. package/.cursor/commands/plan.md +1 -1
  61. package/.cursor/commands/portfolio.md +1 -1
  62. package/.cursor/commands/reconcile.md +2 -2
  63. package/.cursor/commands/release.md +2 -2
  64. package/.cursor/commands/session.md +2 -2
  65. package/.cursor/commands/spinout.md +2 -2
  66. package/.cursor/commands/sunset-review.md +2 -2
  67. package/.cursor/commands/templates-ack.md +2 -2
  68. package/.cursor/commands/test.md +2 -2
  69. package/.cursor/skills/brainstorm/SKILL.md +1 -1
  70. package/.cursor/skills/eval/SKILL.md +1 -1
  71. package/.cursor/skills/quality-gates/SKILL.md +1 -1
  72. package/.cursor/skills/remote-offload/SKILL.md +1 -1
  73. package/.orchestrator/policy/blocked-commands.json +121 -0
  74. package/.orchestrator/policy/ecosystem.schema.json +66 -0
  75. package/.orchestrator/policy/quality-gates.example.json +16 -0
  76. package/.orchestrator/policy/quality-gates.schema.json +38 -0
  77. package/.orchestrator/policy/templates-policy.json +27 -0
  78. package/.orchestrator/policy/test-profiles.json +47 -0
  79. package/AGENTS.md +225 -0
  80. package/CHANGELOG.md +1125 -2
  81. package/NOTICE +11 -6
  82. package/README.md +127 -94
  83. package/agents/eval-judge.md +1 -1
  84. package/agents/skill-applied-judge.md +1 -1
  85. package/assets/wave-lifecycle.svg +98 -0
  86. package/commands/release.md +6 -3
  87. package/commands/session.md +18 -3
  88. package/docs/README.md +4 -0
  89. package/{agents/AGENTS.md → docs/agent-authoring.md} +19 -26
  90. package/docs/baseline.md +67 -0
  91. package/docs/ci-setup.md +108 -62
  92. package/docs/codex-setup.md +65 -21
  93. package/docs/components.md +36 -15
  94. package/docs/cursor-setup.md +6 -2
  95. package/docs/events-schema.md +9 -6
  96. package/docs/instruction-delivery.md +62 -0
  97. package/{agents/memory-proposal-collector.md → docs/memory-proposal-flow.md} +1 -8
  98. package/docs/migration-v4.md +341 -0
  99. package/docs/pi-setup.md +6 -1
  100. package/docs/plugin-architecture-v3.md +1 -1
  101. package/docs/rule-authoring.md +85 -19
  102. package/docs/scope-collision-guard.md +5 -5
  103. package/docs/session-config-reference.md +57 -56
  104. package/docs/session-config-template.md +6 -29
  105. package/docs/telemetry.md +157 -3
  106. package/docs/vault-docs-architecture.md +50 -11
  107. package/hooks/_lib/hook-import-set.json +1487 -0
  108. package/hooks/_lib/subagent-transcript.mjs +562 -0
  109. package/hooks/config-protection.mjs +2 -2
  110. package/hooks/cwd-change-restore.mjs +2 -2
  111. package/hooks/enforce-commands.mjs +69 -0
  112. package/hooks/hooks-codex.json +1 -1
  113. package/hooks/hooks-cursor.json +10 -0
  114. package/hooks/hooks-pi.json +5 -0
  115. package/hooks/hooks.json +6 -1
  116. package/hooks/loop-guard.mjs +3 -3
  117. package/hooks/on-session-end.mjs +2 -2
  118. package/hooks/on-session-start.mjs +103 -2
  119. package/hooks/on-stop.mjs +36 -11
  120. package/hooks/operator-steer.mjs +2 -2
  121. package/hooks/post-bash-write-verify.mjs +85 -0
  122. package/hooks/post-edit-import-probe.mjs +344 -0
  123. package/hooks/post-subagent-discovery-validator.mjs +187 -431
  124. package/hooks/post-tool-batch-wave-signal.mjs +118 -4
  125. package/hooks/post-tool-failure-corrective-context.mjs +2 -2
  126. package/hooks/post-tooluse-frontend-slop.mjs +3 -3
  127. package/hooks/pre-bash-destructive-guard.mjs +39 -13
  128. package/hooks/skill-invocation-telemetry.mjs +17 -5
  129. package/hooks/subagent-telemetry.mjs +13 -4
  130. package/monitors/monitors.json +3 -3
  131. package/package.json +9 -1
  132. package/pi/prompts/session.md +2 -2
  133. package/plugin.json +27 -0
  134. package/scripts/backfill-abandoned-sessions.mjs +50 -4
  135. package/scripts/backfill-learnings-from-vault.mjs +9 -3
  136. package/scripts/dialectic-deriver.mjs +73 -8
  137. package/scripts/export-hw-learnings.mjs +113 -1
  138. package/scripts/generate-agents-skills.mjs +378 -0
  139. package/scripts/generate-cursor-adapter.mjs +45 -8
  140. package/scripts/generate-hook-import-set.mjs +249 -0
  141. package/scripts/lib/agent-status.mjs +13 -2
  142. package/scripts/lib/auto-dream.mjs +38 -36
  143. package/scripts/lib/autonomy/suitability.mjs +6 -0
  144. package/scripts/lib/autopilot/loop.mjs +2 -2
  145. package/scripts/lib/ci-status-banner.mjs +220 -75
  146. package/scripts/lib/codex/plugin-contract.mjs +82 -6
  147. package/scripts/lib/config/auto-dream.mjs +2 -1
  148. package/scripts/lib/config/block-header.mjs +8 -0
  149. package/scripts/lib/config/block-preprocess.mjs +177 -0
  150. package/scripts/lib/config/broken-window.mjs +2 -1
  151. package/scripts/lib/config/cold-start.mjs +2 -1
  152. package/scripts/lib/config/config-protection.mjs +22 -2
  153. package/scripts/lib/config/context-coverage.mjs +2 -1
  154. package/scripts/lib/config/cross-repo.mjs +2 -1
  155. package/scripts/lib/config/custom-phases.mjs +2 -1
  156. package/scripts/lib/config/dialectic.mjs +2 -1
  157. package/scripts/lib/config/discovery-validator.mjs +2 -1
  158. package/scripts/lib/config/dispatcher-autonomy-capture.mjs +24 -1
  159. package/scripts/lib/config/dispatcher-autonomy.mjs +2 -1
  160. package/scripts/lib/config/docs-orchestrator.mjs +2 -1
  161. package/scripts/lib/config/docs-staleness.mjs +2 -1
  162. package/scripts/lib/config/drift-check.mjs +2 -1
  163. package/scripts/lib/config/eval.mjs +2 -1
  164. package/scripts/lib/config/events-rotation.mjs +2 -1
  165. package/scripts/lib/config/evolve.mjs +8 -2
  166. package/scripts/lib/config/frontend-slop-hook.mjs +7 -3
  167. package/scripts/lib/config/gitlab-portfolio.mjs +2 -1
  168. package/scripts/lib/config/handover-gate.mjs +2 -1
  169. package/scripts/lib/config/health-endpoints.mjs +7 -2
  170. package/scripts/lib/config/issue-budget.mjs +2 -1
  171. package/scripts/lib/config/loop-guard.mjs +2 -1
  172. package/scripts/lib/config/memory.mjs +2 -1
  173. package/scripts/lib/config/moc-staleness.mjs +2 -1
  174. package/scripts/lib/config/persona-gate-wave.mjs +2 -1
  175. package/scripts/lib/config/private-config-dir.mjs +67 -0
  176. package/scripts/lib/config/reconcile.mjs +2 -1
  177. package/scripts/lib/config/remote-hosts.mjs +2 -1
  178. package/scripts/lib/config/section-extractor.mjs +7 -1
  179. package/scripts/lib/config/skill-evolution.mjs +2 -1
  180. package/scripts/lib/config/slopcheck.mjs +2 -1
  181. package/scripts/lib/config/state-md-lock.mjs +2 -1
  182. package/scripts/lib/config/templates-first.mjs +2 -1
  183. package/scripts/lib/config/test.mjs +2 -1
  184. package/scripts/lib/config/vault-integration.mjs +7 -1
  185. package/scripts/lib/config/vault-mirror-quality.mjs +2 -1
  186. package/scripts/lib/config/vault-staleness.mjs +2 -1
  187. package/scripts/lib/config/vault-sync.mjs +2 -1
  188. package/scripts/lib/config/verification-auto-fix.mjs +2 -1
  189. package/scripts/lib/config/wave-reviewers.mjs +2 -1
  190. package/scripts/lib/config/worktree-orphans.mjs +2 -1
  191. package/scripts/lib/convergence-monitor.mjs +82 -16
  192. package/scripts/lib/dispatcher/rank.mjs +124 -48
  193. package/scripts/lib/ecosystem-health.mjs +16 -2
  194. package/scripts/lib/eval/engine.mjs +9 -1
  195. package/scripts/lib/eval/session-resolve.mjs +23 -4
  196. package/scripts/lib/events.mjs +22 -6
  197. package/scripts/lib/frontmatter-guard.mjs +131 -13
  198. package/scripts/lib/gates/gate-full.mjs +26 -0
  199. package/scripts/lib/gates/gate-helpers.mjs +76 -0
  200. package/scripts/lib/hardware-pattern-detector.mjs +18 -1
  201. package/scripts/lib/harness-audit/categories/category4.mjs +31 -11
  202. package/scripts/lib/host-identity.mjs +50 -11
  203. package/scripts/lib/instruction-budget-guard.mjs +171 -5
  204. package/scripts/lib/learnings/evolve-telemetry.mjs +178 -0
  205. package/scripts/lib/learnings/io.mjs +60 -6
  206. package/scripts/lib/memory-proposals/store.mjs +30 -22
  207. package/scripts/lib/owner-config-banner.mjs +43 -6
  208. package/scripts/lib/owner-config-loader.mjs +21 -10
  209. package/scripts/lib/owner-interview.mjs +3 -3
  210. package/scripts/lib/owner-yaml.mjs +207 -14
  211. package/scripts/lib/platform.mjs +108 -15
  212. package/scripts/lib/plugin-update-banner.mjs +406 -0
  213. package/scripts/lib/project-hygiene.mjs +38 -2
  214. package/scripts/lib/qg-command-drift-banner.mjs +50 -12
  215. package/scripts/lib/quality-gate.mjs +133 -44
  216. package/scripts/lib/reconcile/emitter.mjs +68 -6
  217. package/scripts/lib/reconcile/engine.mjs +13 -4
  218. package/scripts/lib/reconcile/idempotency.mjs +37 -4
  219. package/scripts/lib/reconcile/writer.mjs +40 -18
  220. package/scripts/lib/session-close-backfill.mjs +67 -9
  221. package/scripts/lib/session-id.mjs +12 -23
  222. package/scripts/lib/session-identity/own-session.mjs +125 -10
  223. package/scripts/lib/session-lock-shape.mjs +43 -0
  224. package/scripts/lib/session-lock.mjs +5 -10
  225. package/scripts/lib/session-registry.mjs +25 -9
  226. package/scripts/lib/session-schema/constants.mjs +36 -2
  227. package/scripts/lib/session-schema/validator.mjs +38 -4
  228. package/scripts/lib/session-start-probes.mjs +18 -1
  229. package/scripts/lib/sessions-staleness-banner.mjs +18 -11
  230. package/scripts/lib/skill-health/join.mjs +17 -4
  231. package/scripts/lib/state-md.mjs +78 -0
  232. package/scripts/lib/sunset/walker.mjs +6 -0
  233. package/scripts/lib/telemetry/schema.mjs +181 -9
  234. package/scripts/lib/telemetry/sync.mjs +368 -12
  235. package/scripts/lib/validate/check-agents-skills.mjs +327 -0
  236. package/scripts/lib/validate/check-agents.mjs +3 -3
  237. package/scripts/lib/validate/check-cursor-adapter.mjs +234 -72
  238. package/scripts/lib/validate/check-hooks-symmetry.mjs +45 -16
  239. package/scripts/lib/validate/check-owner-leakage.mjs +281 -20
  240. package/scripts/lib/validate/check-skill-links.mjs +163 -0
  241. package/scripts/lib/validate/check-skill-script-paths.mjs +47 -28
  242. package/scripts/lib/validate/check-unwired-features.mjs +0 -2
  243. package/scripts/lib/validate/check-validator-registration.mjs +10 -4
  244. package/scripts/lib/validate/enumerate-repo-files.mjs +317 -0
  245. package/scripts/lib/vault-backfill/template.mjs +63 -6
  246. package/scripts/lib/vault-mirror/process.mjs +165 -42
  247. package/scripts/lib/vault-mirror/telemetry.mjs +2 -2
  248. package/scripts/lib/vault-status/narrative-mirror.mjs +127 -18
  249. package/scripts/lib/wave-executor/dispatch-common.mjs +164 -0
  250. package/scripts/lib/wave-executor/foreign-dispatch.mjs +7 -142
  251. package/scripts/lib/wave-executor/remote-dispatch.mjs +5 -7
  252. package/scripts/lib/wave-resource-gate.mjs +8 -2
  253. package/scripts/lib/wave-sizing.mjs +4 -1
  254. package/scripts/lib/wave-transcript-tail.mjs +118 -4
  255. package/scripts/materialize-wave-scope.mjs +12 -5
  256. package/scripts/memory-propose.mjs +19 -5
  257. package/scripts/migrate-cold-start-seed.mjs +4 -1
  258. package/scripts/parse-config.mjs +60 -3
  259. package/scripts/release.mjs +337 -29
  260. package/scripts/repair-invalid-sessions.mjs +3 -3
  261. package/scripts/run-quality-gate.mjs +128 -11
  262. package/scripts/sweep-expired-learnings.mjs +90 -0
  263. package/scripts/sync-vault-schema.mjs +3 -1
  264. package/scripts/telemetry.mjs +2 -2
  265. package/scripts/validate-plugin.mjs +161 -0
  266. package/scripts/validate-wave-scope.mjs +28 -8
  267. package/scripts/wave-scope-binding.mjs +215 -0
  268. package/skills/_shared/instruction-file-resolution.md +10 -0
  269. package/skills/_shared/parallel-aware-preamble.md +1 -0
  270. package/skills/_shared/platform-tools.md +1 -1
  271. package/skills/_shared/state-ownership.md +1 -1
  272. package/skills/architecture/SKILL.md +7 -5
  273. package/skills/{domain-model/SKILL.md → architecture/references/domain-model.md} +9 -9
  274. package/skills/autopilot/SKILL.md +4 -18
  275. package/skills/claude-md-drift-check/SKILL.md +5 -1
  276. package/skills/claude-md-drift-check/checker.mjs +62 -2
  277. package/skills/convergence-monitoring/SIGNALS.md +55 -0
  278. package/skills/discovery/probes/vault-staleness.mjs +37 -13
  279. package/skills/discovery/probes-arch.md +20 -18
  280. package/skills/dispatcher/SKILL.md +3 -2
  281. package/skills/evolve/SKILL.md +65 -26
  282. package/skills/frontmatter-guard/SKILL.md +11 -5
  283. package/skills/npm-publish/SKILL.md +1 -1
  284. package/skills/reconcile/SKILL.md +33 -0
  285. package/skills/remote-offload/SKILL.md +1 -1
  286. package/skills/session-end/SKILL.md +18 -905
  287. package/skills/session-end/phase-3-6-tail.md +10 -3
  288. package/skills/session-end/plan-verification.md +221 -155
  289. package/skills/session-end/references/phase-2-quality-gate.md +93 -0
  290. package/skills/session-end/references/phase-3-documentation-updates.md +229 -0
  291. package/skills/session-end/references/phase-4a-worktree-cleanup.md +120 -0
  292. package/skills/session-end/references/phase-4b-worktree-orphan-sweep.md +58 -0
  293. package/skills/session-end/references/phase-5-issue-cleanup.md +104 -0
  294. package/skills/session-end/references/session-summary-template.md +62 -0
  295. package/skills/session-plan/SKILL.md +49 -0
  296. package/skills/session-start/SKILL.md +22 -904
  297. package/skills/session-start/phase-8-5-express-path.md +1 -1
  298. package/skills/session-start/references/phase-1-1-dispatcher-autonomy-capture.md +55 -0
  299. package/skills/session-start/references/phase-1-2-session-lock.md +140 -0
  300. package/skills/session-start/references/phase-1-5-session-continuity.md +254 -0
  301. package/skills/session-start/references/phase-1-7-vault-status-board.md +53 -0
  302. package/skills/session-start/references/phase-2-7-portfolio-snapshot.md +75 -0
  303. package/skills/session-start/references/phase-4-ssot-environment-check.md +155 -0
  304. package/skills/session-start/references/phase-6-5-forced-reads.md +75 -0
  305. package/skills/session-start/references/phase-6-6-project-intelligence.md +81 -0
  306. package/skills/session-start/references/phase-6-7-memory-banner-telemetry-consent.md +103 -0
  307. package/skills/vault-sync/validator.mjs +21 -27
  308. package/skills/wave-executor/SKILL.md +15 -1
  309. package/skills/wave-executor/references/wave-loop-dispatch.md +612 -0
  310. package/skills/wave-executor/references/wave-loop-review.md +570 -0
  311. package/skills/wave-executor/references/wave-loop-scope-manifest.md +162 -0
  312. package/skills/wave-executor/wave-loop.md +14 -1309
  313. package/templates/_shared/journey-manifest.md +10 -6
  314. package/.cursor/commands/autopilot-multi.md +0 -14
  315. package/.cursor/commands/contract-version-bump.md +0 -14
  316. package/.cursor/commands/journey-audit.md +0 -14
  317. package/.cursor/skills/contract-version-bump/SKILL.md +0 -12
  318. package/.cursor/skills/daily/SKILL.md +0 -12
  319. package/.cursor/skills/domain-model/SKILL.md +0 -13
  320. package/.cursor/skills/journey-audit/SKILL.md +0 -13
  321. package/.cursor/skills/skill-creator/SKILL.md +0 -13
  322. package/.cursor/skills/ubiquitous-language/SKILL.md +0 -13
  323. package/commands/autopilot-multi.md +0 -74
  324. package/commands/contract-version-bump.md +0 -28
  325. package/commands/journey-audit.md +0 -43
  326. package/pi/prompts/autopilot-multi.md +0 -12
  327. package/pi/prompts/contract-version-bump.md +0 -12
  328. package/pi/prompts/journey-audit.md +0 -12
  329. package/scripts/autopilot-multi.mjs +0 -885
  330. package/scripts/backfill-learnings-expires.mjs +0 -196
  331. package/scripts/backfill-learnings.mjs +0 -203
  332. package/scripts/fleet-instruction-scan.mjs +0 -141
  333. package/scripts/lib/autopilot/dep-graph.mjs +0 -417
  334. package/scripts/lib/autopilot/multi-killswitch.mjs +0 -184
  335. package/scripts/lib/webhook-url.mjs +0 -105
  336. package/scripts/lifecycle-sim-v6.mjs +0 -347
  337. package/scripts/migrate-learnings-jsonl.mjs +0 -189
  338. package/scripts/migrate-subagents-jsonl.mjs +0 -196
  339. package/scripts/upload-social-preview.mjs +0 -316
  340. package/skills/_shared/model-selection.md +0 -64
  341. package/skills/contract-version-bump/SKILL.md +0 -219
  342. package/skills/daily/SKILL.md +0 -222
  343. package/skills/daily/generate.sh +0 -92
  344. package/skills/daily/templates/daily.md.tpl +0 -36
  345. package/skills/journey-audit/SKILL.md +0 -270
  346. package/skills/skill-creator/SKILL.md +0 -168
  347. package/skills/ubiquitous-language/SKILL.md +0 -97
  348. package/skills/vault-sync/package-lock.json +0 -40
  349. /package/skills/{domain-model → architecture/references}/ADR-FORMAT.md +0 -0
  350. /package/skills/{domain-model → architecture/references}/CONTEXT-FORMAT.md +0 -0
@@ -0,0 +1,1487 @@
1
+ {
2
+ "generated_at": "2026-09-06T19:04:31.959Z",
3
+ "head": "bc49301b3eed05b5b235376ecec4a931522d26bf",
4
+ "entries": [
5
+ {
6
+ "file": "hooks/_lib/atomic-json.mjs",
7
+ "reachable_from": [
8
+ "cwd-change-restore.mjs",
9
+ "on-session-end.mjs",
10
+ "post-tool-batch-wave-signal.mjs",
11
+ "post-tool-failure-corrective-context.mjs"
12
+ ]
13
+ },
14
+ {
15
+ "file": "hooks/_lib/guard-source-loader.mjs",
16
+ "reachable_from": [
17
+ "enforce-commands.mjs",
18
+ "enforce-scope.mjs",
19
+ "pre-auq-clarity.mjs",
20
+ "pre-bash-destructive-guard.mjs",
21
+ "pre-bash-sessions-ledger-guard.mjs",
22
+ "pre-task-scope-disjoint.mjs"
23
+ ]
24
+ },
25
+ {
26
+ "file": "hooks/_lib/lock-bootstrap.mjs",
27
+ "reachable_from": [
28
+ "on-session-start.mjs"
29
+ ]
30
+ },
31
+ {
32
+ "file": "hooks/_lib/lock-reconcile.mjs",
33
+ "reachable_from": [
34
+ "on-session-end.mjs"
35
+ ]
36
+ },
37
+ {
38
+ "file": "hooks/_lib/profile-gate.mjs",
39
+ "reachable_from": [
40
+ "config-protection.mjs",
41
+ "cwd-change-restore.mjs",
42
+ "enforce-commands.mjs",
43
+ "enforce-scope.mjs",
44
+ "loop-guard.mjs",
45
+ "on-session-end.mjs",
46
+ "on-session-start.mjs",
47
+ "on-stop.mjs",
48
+ "operator-steer.mjs",
49
+ "post-bash-write-verify.mjs",
50
+ "post-edit-import-probe.mjs",
51
+ "post-edit-validate.mjs",
52
+ "post-subagent-discovery-validator.mjs",
53
+ "post-tool-batch-wave-signal.mjs",
54
+ "post-tool-failure-corrective-context.mjs",
55
+ "post-tooluse-frontend-slop.mjs",
56
+ "pre-auq-clarity.mjs",
57
+ "pre-bash-destructive-guard.mjs",
58
+ "pre-bash-issue-budget.mjs",
59
+ "pre-bash-memory-propose-audit.mjs",
60
+ "pre-bash-sessions-ledger-guard.mjs",
61
+ "pre-bash-staging-fence.mjs",
62
+ "pre-bash-templates-first.mjs",
63
+ "pre-task-scope-disjoint.mjs",
64
+ "skill-invocation-telemetry.mjs",
65
+ "subagent-telemetry.mjs"
66
+ ]
67
+ },
68
+ {
69
+ "file": "hooks/_lib/subagent-paths.mjs",
70
+ "reachable_from": [
71
+ "on-stop.mjs",
72
+ "post-subagent-discovery-validator.mjs",
73
+ "subagent-telemetry.mjs"
74
+ ]
75
+ },
76
+ {
77
+ "file": "hooks/_lib/subagent-transcript.mjs",
78
+ "reachable_from": [
79
+ "post-subagent-discovery-validator.mjs"
80
+ ]
81
+ },
82
+ {
83
+ "file": "hooks/_lib/transcript-history.mjs",
84
+ "reachable_from": [
85
+ "pre-bash-templates-first.mjs"
86
+ ]
87
+ },
88
+ {
89
+ "file": "hooks/_lib/vcs-create-matcher.mjs",
90
+ "reachable_from": [
91
+ "pre-bash-issue-budget.mjs",
92
+ "pre-bash-templates-first.mjs"
93
+ ]
94
+ },
95
+ {
96
+ "file": "hooks/config-protection.mjs",
97
+ "reachable_from": [
98
+ "config-protection.mjs"
99
+ ]
100
+ },
101
+ {
102
+ "file": "hooks/cwd-change-restore.mjs",
103
+ "reachable_from": [
104
+ "cwd-change-restore.mjs"
105
+ ]
106
+ },
107
+ {
108
+ "file": "hooks/enforce-commands.mjs",
109
+ "reachable_from": [
110
+ "enforce-commands.mjs"
111
+ ]
112
+ },
113
+ {
114
+ "file": "hooks/enforce-scope.mjs",
115
+ "reachable_from": [
116
+ "enforce-scope.mjs"
117
+ ]
118
+ },
119
+ {
120
+ "file": "hooks/loop-guard.mjs",
121
+ "reachable_from": [
122
+ "loop-guard.mjs"
123
+ ]
124
+ },
125
+ {
126
+ "file": "hooks/on-session-end.mjs",
127
+ "reachable_from": [
128
+ "on-session-end.mjs"
129
+ ]
130
+ },
131
+ {
132
+ "file": "hooks/on-session-start.mjs",
133
+ "reachable_from": [
134
+ "on-session-start.mjs"
135
+ ]
136
+ },
137
+ {
138
+ "file": "hooks/on-stop.mjs",
139
+ "reachable_from": [
140
+ "on-stop.mjs"
141
+ ]
142
+ },
143
+ {
144
+ "file": "hooks/operator-steer.mjs",
145
+ "reachable_from": [
146
+ "operator-steer.mjs"
147
+ ]
148
+ },
149
+ {
150
+ "file": "hooks/post-bash-write-verify.mjs",
151
+ "reachable_from": [
152
+ "post-bash-write-verify.mjs"
153
+ ]
154
+ },
155
+ {
156
+ "file": "hooks/post-edit-import-probe.mjs",
157
+ "reachable_from": [
158
+ "post-edit-import-probe.mjs"
159
+ ]
160
+ },
161
+ {
162
+ "file": "hooks/post-edit-validate.mjs",
163
+ "reachable_from": [
164
+ "post-edit-validate.mjs"
165
+ ]
166
+ },
167
+ {
168
+ "file": "hooks/post-subagent-discovery-validator.mjs",
169
+ "reachable_from": [
170
+ "post-subagent-discovery-validator.mjs"
171
+ ]
172
+ },
173
+ {
174
+ "file": "hooks/post-tool-batch-wave-signal.mjs",
175
+ "reachable_from": [
176
+ "post-tool-batch-wave-signal.mjs"
177
+ ]
178
+ },
179
+ {
180
+ "file": "hooks/post-tool-failure-corrective-context.mjs",
181
+ "reachable_from": [
182
+ "post-tool-failure-corrective-context.mjs"
183
+ ]
184
+ },
185
+ {
186
+ "file": "hooks/post-tooluse-frontend-slop.mjs",
187
+ "reachable_from": [
188
+ "post-tooluse-frontend-slop.mjs"
189
+ ]
190
+ },
191
+ {
192
+ "file": "hooks/pre-auq-clarity.mjs",
193
+ "reachable_from": [
194
+ "pre-auq-clarity.mjs"
195
+ ]
196
+ },
197
+ {
198
+ "file": "hooks/pre-bash-destructive-guard.mjs",
199
+ "reachable_from": [
200
+ "pre-bash-destructive-guard.mjs"
201
+ ]
202
+ },
203
+ {
204
+ "file": "hooks/pre-bash-issue-budget.mjs",
205
+ "reachable_from": [
206
+ "pre-bash-issue-budget.mjs"
207
+ ]
208
+ },
209
+ {
210
+ "file": "hooks/pre-bash-memory-propose-audit.mjs",
211
+ "reachable_from": [
212
+ "pre-bash-memory-propose-audit.mjs"
213
+ ]
214
+ },
215
+ {
216
+ "file": "hooks/pre-bash-sessions-ledger-guard.mjs",
217
+ "reachable_from": [
218
+ "pre-bash-sessions-ledger-guard.mjs"
219
+ ]
220
+ },
221
+ {
222
+ "file": "hooks/pre-bash-staging-fence.mjs",
223
+ "reachable_from": [
224
+ "pre-bash-staging-fence.mjs"
225
+ ]
226
+ },
227
+ {
228
+ "file": "hooks/pre-bash-templates-first.mjs",
229
+ "reachable_from": [
230
+ "pre-bash-templates-first.mjs"
231
+ ]
232
+ },
233
+ {
234
+ "file": "hooks/pre-task-scope-disjoint.mjs",
235
+ "reachable_from": [
236
+ "pre-task-scope-disjoint.mjs"
237
+ ]
238
+ },
239
+ {
240
+ "file": "hooks/skill-invocation-telemetry.mjs",
241
+ "reachable_from": [
242
+ "skill-invocation-telemetry.mjs"
243
+ ]
244
+ },
245
+ {
246
+ "file": "hooks/subagent-telemetry.mjs",
247
+ "reachable_from": [
248
+ "subagent-telemetry.mjs"
249
+ ]
250
+ },
251
+ {
252
+ "file": "scripts/backfill-abandoned-sessions.mjs",
253
+ "reachable_from": [
254
+ "on-session-start.mjs"
255
+ ]
256
+ },
257
+ {
258
+ "file": "scripts/lib/agent-frontmatter.mjs",
259
+ "reachable_from": [
260
+ "on-session-end.mjs",
261
+ "on-session-start.mjs",
262
+ "post-edit-validate.mjs"
263
+ ]
264
+ },
265
+ {
266
+ "file": "scripts/lib/auq/clarity.mjs",
267
+ "reachable_from": [
268
+ "pre-auq-clarity.mjs"
269
+ ]
270
+ },
271
+ {
272
+ "file": "scripts/lib/auq/schema.mjs",
273
+ "reachable_from": [
274
+ "pre-auq-clarity.mjs"
275
+ ]
276
+ },
277
+ {
278
+ "file": "scripts/lib/bootstrap-lock-freshness.mjs",
279
+ "reachable_from": [
280
+ "on-session-end.mjs",
281
+ "on-session-start.mjs",
282
+ "skill-invocation-telemetry.mjs"
283
+ ]
284
+ },
285
+ {
286
+ "file": "scripts/lib/cold-start-detector.mjs",
287
+ "reachable_from": [
288
+ "on-session-start.mjs"
289
+ ]
290
+ },
291
+ {
292
+ "file": "scripts/lib/command-blocker.mjs",
293
+ "reachable_from": [
294
+ "post-bash-write-verify.mjs",
295
+ "post-edit-validate.mjs",
296
+ "post-tool-batch-wave-signal.mjs",
297
+ "pre-bash-issue-budget.mjs",
298
+ "pre-bash-memory-propose-audit.mjs",
299
+ "pre-bash-templates-first.mjs"
300
+ ]
301
+ },
302
+ {
303
+ "file": "scripts/lib/common.mjs",
304
+ "reachable_from": [
305
+ "on-session-end.mjs",
306
+ "on-session-start.mjs",
307
+ "on-stop.mjs",
308
+ "post-edit-validate.mjs",
309
+ "post-subagent-discovery-validator.mjs",
310
+ "pre-bash-issue-budget.mjs",
311
+ "pre-bash-templates-first.mjs"
312
+ ]
313
+ },
314
+ {
315
+ "file": "scripts/lib/config.mjs",
316
+ "reachable_from": [
317
+ "on-session-end.mjs",
318
+ "on-session-start.mjs",
319
+ "post-edit-validate.mjs"
320
+ ]
321
+ },
322
+ {
323
+ "file": "scripts/lib/config/auto-dream.mjs",
324
+ "reachable_from": [
325
+ "on-session-end.mjs",
326
+ "on-session-start.mjs",
327
+ "post-edit-validate.mjs"
328
+ ]
329
+ },
330
+ {
331
+ "file": "scripts/lib/config/block-header.mjs",
332
+ "reachable_from": [
333
+ "config-protection.mjs",
334
+ "enforce-commands.mjs",
335
+ "enforce-scope.mjs",
336
+ "loop-guard.mjs",
337
+ "on-session-end.mjs",
338
+ "on-session-start.mjs",
339
+ "on-stop.mjs",
340
+ "post-bash-write-verify.mjs",
341
+ "post-edit-import-probe.mjs",
342
+ "post-edit-validate.mjs",
343
+ "post-subagent-discovery-validator.mjs",
344
+ "post-tool-batch-wave-signal.mjs",
345
+ "post-tooluse-frontend-slop.mjs",
346
+ "pre-auq-clarity.mjs",
347
+ "pre-bash-issue-budget.mjs",
348
+ "pre-bash-memory-propose-audit.mjs",
349
+ "skill-invocation-telemetry.mjs"
350
+ ]
351
+ },
352
+ {
353
+ "file": "scripts/lib/config/block-preprocess.mjs",
354
+ "reachable_from": [
355
+ "config-protection.mjs",
356
+ "enforce-commands.mjs",
357
+ "enforce-scope.mjs",
358
+ "loop-guard.mjs",
359
+ "on-session-end.mjs",
360
+ "on-session-start.mjs",
361
+ "on-stop.mjs",
362
+ "post-bash-write-verify.mjs",
363
+ "post-edit-import-probe.mjs",
364
+ "post-edit-validate.mjs",
365
+ "post-subagent-discovery-validator.mjs",
366
+ "post-tool-batch-wave-signal.mjs",
367
+ "post-tooluse-frontend-slop.mjs",
368
+ "pre-auq-clarity.mjs",
369
+ "pre-bash-issue-budget.mjs",
370
+ "pre-bash-memory-propose-audit.mjs",
371
+ "skill-invocation-telemetry.mjs"
372
+ ]
373
+ },
374
+ {
375
+ "file": "scripts/lib/config/broken-window.mjs",
376
+ "reachable_from": [
377
+ "on-session-end.mjs",
378
+ "on-session-start.mjs",
379
+ "post-edit-validate.mjs"
380
+ ]
381
+ },
382
+ {
383
+ "file": "scripts/lib/config/coercers.mjs",
384
+ "reachable_from": [
385
+ "on-session-end.mjs",
386
+ "on-session-start.mjs",
387
+ "post-edit-validate.mjs"
388
+ ]
389
+ },
390
+ {
391
+ "file": "scripts/lib/config/cold-start.mjs",
392
+ "reachable_from": [
393
+ "on-session-end.mjs",
394
+ "on-session-start.mjs",
395
+ "post-edit-validate.mjs"
396
+ ]
397
+ },
398
+ {
399
+ "file": "scripts/lib/config/config-protection.mjs",
400
+ "reachable_from": [
401
+ "config-protection.mjs"
402
+ ]
403
+ },
404
+ {
405
+ "file": "scripts/lib/config/context-coverage.mjs",
406
+ "reachable_from": [
407
+ "on-session-end.mjs",
408
+ "on-session-start.mjs",
409
+ "post-edit-validate.mjs"
410
+ ]
411
+ },
412
+ {
413
+ "file": "scripts/lib/config/cross-repo.mjs",
414
+ "reachable_from": [
415
+ "on-session-end.mjs",
416
+ "on-session-start.mjs",
417
+ "post-edit-validate.mjs"
418
+ ]
419
+ },
420
+ {
421
+ "file": "scripts/lib/config/custom-phases.mjs",
422
+ "reachable_from": [
423
+ "on-session-end.mjs",
424
+ "on-session-start.mjs",
425
+ "post-edit-validate.mjs"
426
+ ]
427
+ },
428
+ {
429
+ "file": "scripts/lib/config/dialectic.mjs",
430
+ "reachable_from": [
431
+ "on-session-end.mjs",
432
+ "on-session-start.mjs",
433
+ "post-edit-validate.mjs"
434
+ ]
435
+ },
436
+ {
437
+ "file": "scripts/lib/config/discovery-validator.mjs",
438
+ "reachable_from": [
439
+ "on-session-end.mjs",
440
+ "on-session-start.mjs",
441
+ "post-edit-validate.mjs",
442
+ "post-subagent-discovery-validator.mjs"
443
+ ]
444
+ },
445
+ {
446
+ "file": "scripts/lib/config/dispatcher-autonomy.mjs",
447
+ "reachable_from": [
448
+ "on-session-end.mjs",
449
+ "on-session-start.mjs",
450
+ "post-edit-validate.mjs"
451
+ ]
452
+ },
453
+ {
454
+ "file": "scripts/lib/config/docs-orchestrator.mjs",
455
+ "reachable_from": [
456
+ "on-session-end.mjs",
457
+ "on-session-start.mjs",
458
+ "post-edit-validate.mjs"
459
+ ]
460
+ },
461
+ {
462
+ "file": "scripts/lib/config/docs-staleness.mjs",
463
+ "reachable_from": [
464
+ "on-session-end.mjs",
465
+ "on-session-start.mjs",
466
+ "post-edit-validate.mjs"
467
+ ]
468
+ },
469
+ {
470
+ "file": "scripts/lib/config/drift-check.mjs",
471
+ "reachable_from": [
472
+ "on-session-end.mjs",
473
+ "on-session-start.mjs",
474
+ "post-edit-validate.mjs"
475
+ ]
476
+ },
477
+ {
478
+ "file": "scripts/lib/config/eval.mjs",
479
+ "reachable_from": [
480
+ "on-session-end.mjs",
481
+ "on-session-start.mjs",
482
+ "post-edit-validate.mjs"
483
+ ]
484
+ },
485
+ {
486
+ "file": "scripts/lib/config/events-rotation.mjs",
487
+ "reachable_from": [
488
+ "on-session-end.mjs",
489
+ "on-session-start.mjs",
490
+ "post-edit-validate.mjs"
491
+ ]
492
+ },
493
+ {
494
+ "file": "scripts/lib/config/evolve.mjs",
495
+ "reachable_from": [
496
+ "on-session-end.mjs",
497
+ "on-session-start.mjs",
498
+ "post-edit-validate.mjs"
499
+ ]
500
+ },
501
+ {
502
+ "file": "scripts/lib/config/frontend-slop-hook.mjs",
503
+ "reachable_from": [
504
+ "post-tooluse-frontend-slop.mjs"
505
+ ]
506
+ },
507
+ {
508
+ "file": "scripts/lib/config/gitlab-portfolio.mjs",
509
+ "reachable_from": [
510
+ "on-session-end.mjs",
511
+ "on-session-start.mjs",
512
+ "post-edit-validate.mjs"
513
+ ]
514
+ },
515
+ {
516
+ "file": "scripts/lib/config/handover-gate.mjs",
517
+ "reachable_from": [
518
+ "on-session-end.mjs",
519
+ "on-session-start.mjs",
520
+ "post-edit-validate.mjs"
521
+ ]
522
+ },
523
+ {
524
+ "file": "scripts/lib/config/health-endpoints.mjs",
525
+ "reachable_from": [
526
+ "on-session-end.mjs",
527
+ "on-session-start.mjs",
528
+ "post-edit-validate.mjs"
529
+ ]
530
+ },
531
+ {
532
+ "file": "scripts/lib/config/host-paths.mjs",
533
+ "reachable_from": [
534
+ "on-session-end.mjs",
535
+ "on-session-start.mjs",
536
+ "post-edit-validate.mjs"
537
+ ]
538
+ },
539
+ {
540
+ "file": "scripts/lib/config/io.mjs",
541
+ "reachable_from": [
542
+ "on-session-end.mjs",
543
+ "on-session-start.mjs",
544
+ "post-edit-validate.mjs"
545
+ ]
546
+ },
547
+ {
548
+ "file": "scripts/lib/config/issue-budget.mjs",
549
+ "reachable_from": [
550
+ "on-session-end.mjs",
551
+ "on-session-start.mjs",
552
+ "post-edit-validate.mjs",
553
+ "pre-bash-issue-budget.mjs"
554
+ ]
555
+ },
556
+ {
557
+ "file": "scripts/lib/config/loop-guard.mjs",
558
+ "reachable_from": [
559
+ "loop-guard.mjs"
560
+ ]
561
+ },
562
+ {
563
+ "file": "scripts/lib/config/memory.mjs",
564
+ "reachable_from": [
565
+ "on-session-end.mjs",
566
+ "on-session-start.mjs",
567
+ "post-edit-validate.mjs"
568
+ ]
569
+ },
570
+ {
571
+ "file": "scripts/lib/config/moc-staleness.mjs",
572
+ "reachable_from": [
573
+ "on-session-end.mjs",
574
+ "on-session-start.mjs",
575
+ "post-edit-validate.mjs"
576
+ ]
577
+ },
578
+ {
579
+ "file": "scripts/lib/config/persona-gate-wave.mjs",
580
+ "reachable_from": [
581
+ "on-session-end.mjs",
582
+ "on-session-start.mjs",
583
+ "post-edit-validate.mjs"
584
+ ]
585
+ },
586
+ {
587
+ "file": "scripts/lib/config/private-config-dir.mjs",
588
+ "reachable_from": [
589
+ "config-protection.mjs",
590
+ "enforce-commands.mjs",
591
+ "enforce-scope.mjs",
592
+ "loop-guard.mjs",
593
+ "on-session-end.mjs",
594
+ "on-session-start.mjs",
595
+ "on-stop.mjs",
596
+ "post-bash-write-verify.mjs",
597
+ "post-edit-import-probe.mjs",
598
+ "post-edit-validate.mjs",
599
+ "post-subagent-discovery-validator.mjs",
600
+ "post-tool-batch-wave-signal.mjs",
601
+ "post-tooluse-frontend-slop.mjs",
602
+ "pre-auq-clarity.mjs",
603
+ "pre-bash-memory-propose-audit.mjs",
604
+ "pre-bash-staging-fence.mjs",
605
+ "pre-task-scope-disjoint.mjs",
606
+ "skill-invocation-telemetry.mjs"
607
+ ]
608
+ },
609
+ {
610
+ "file": "scripts/lib/config/reconcile.mjs",
611
+ "reachable_from": [
612
+ "on-session-end.mjs",
613
+ "on-session-start.mjs",
614
+ "post-edit-validate.mjs"
615
+ ]
616
+ },
617
+ {
618
+ "file": "scripts/lib/config/remote-hosts.mjs",
619
+ "reachable_from": [
620
+ "on-session-end.mjs",
621
+ "on-session-start.mjs",
622
+ "post-edit-validate.mjs"
623
+ ]
624
+ },
625
+ {
626
+ "file": "scripts/lib/config/section-extractor.mjs",
627
+ "reachable_from": [
628
+ "config-protection.mjs",
629
+ "enforce-commands.mjs",
630
+ "enforce-scope.mjs",
631
+ "loop-guard.mjs",
632
+ "on-session-end.mjs",
633
+ "on-session-start.mjs",
634
+ "on-stop.mjs",
635
+ "post-bash-write-verify.mjs",
636
+ "post-edit-import-probe.mjs",
637
+ "post-edit-validate.mjs",
638
+ "post-subagent-discovery-validator.mjs",
639
+ "post-tool-batch-wave-signal.mjs",
640
+ "post-tooluse-frontend-slop.mjs",
641
+ "pre-auq-clarity.mjs",
642
+ "pre-bash-issue-budget.mjs",
643
+ "pre-bash-memory-propose-audit.mjs",
644
+ "skill-invocation-telemetry.mjs"
645
+ ]
646
+ },
647
+ {
648
+ "file": "scripts/lib/config/skill-evolution.mjs",
649
+ "reachable_from": [
650
+ "on-session-end.mjs",
651
+ "on-session-start.mjs",
652
+ "post-edit-validate.mjs"
653
+ ]
654
+ },
655
+ {
656
+ "file": "scripts/lib/config/slopcheck.mjs",
657
+ "reachable_from": [
658
+ "on-session-end.mjs",
659
+ "on-session-start.mjs",
660
+ "post-edit-validate.mjs"
661
+ ]
662
+ },
663
+ {
664
+ "file": "scripts/lib/config/state-md-lock.mjs",
665
+ "reachable_from": [
666
+ "config-protection.mjs",
667
+ "enforce-commands.mjs",
668
+ "enforce-scope.mjs",
669
+ "loop-guard.mjs",
670
+ "on-session-end.mjs",
671
+ "on-session-start.mjs",
672
+ "on-stop.mjs",
673
+ "post-bash-write-verify.mjs",
674
+ "post-edit-import-probe.mjs",
675
+ "post-edit-validate.mjs",
676
+ "post-subagent-discovery-validator.mjs",
677
+ "post-tool-batch-wave-signal.mjs",
678
+ "post-tooluse-frontend-slop.mjs",
679
+ "pre-auq-clarity.mjs",
680
+ "pre-bash-memory-propose-audit.mjs",
681
+ "skill-invocation-telemetry.mjs"
682
+ ]
683
+ },
684
+ {
685
+ "file": "scripts/lib/config/templates-first.mjs",
686
+ "reachable_from": [
687
+ "on-session-end.mjs",
688
+ "on-session-start.mjs",
689
+ "post-edit-validate.mjs"
690
+ ]
691
+ },
692
+ {
693
+ "file": "scripts/lib/config/test.mjs",
694
+ "reachable_from": [
695
+ "on-session-end.mjs",
696
+ "on-session-start.mjs",
697
+ "post-edit-validate.mjs"
698
+ ]
699
+ },
700
+ {
701
+ "file": "scripts/lib/config/vault-integration.mjs",
702
+ "reachable_from": [
703
+ "on-session-end.mjs",
704
+ "on-session-start.mjs",
705
+ "post-edit-validate.mjs"
706
+ ]
707
+ },
708
+ {
709
+ "file": "scripts/lib/config/vault-mirror-quality.mjs",
710
+ "reachable_from": [
711
+ "on-session-end.mjs",
712
+ "on-session-start.mjs",
713
+ "post-edit-validate.mjs"
714
+ ]
715
+ },
716
+ {
717
+ "file": "scripts/lib/config/vault-staleness.mjs",
718
+ "reachable_from": [
719
+ "on-session-end.mjs",
720
+ "on-session-start.mjs",
721
+ "post-edit-validate.mjs"
722
+ ]
723
+ },
724
+ {
725
+ "file": "scripts/lib/config/vault-sync.mjs",
726
+ "reachable_from": [
727
+ "on-session-end.mjs",
728
+ "on-session-start.mjs",
729
+ "post-edit-validate.mjs"
730
+ ]
731
+ },
732
+ {
733
+ "file": "scripts/lib/config/verification-auto-fix.mjs",
734
+ "reachable_from": [
735
+ "on-session-end.mjs",
736
+ "on-session-start.mjs",
737
+ "post-edit-validate.mjs"
738
+ ]
739
+ },
740
+ {
741
+ "file": "scripts/lib/config/wave-reviewers.mjs",
742
+ "reachable_from": [
743
+ "on-session-end.mjs",
744
+ "on-session-start.mjs",
745
+ "post-edit-validate.mjs"
746
+ ]
747
+ },
748
+ {
749
+ "file": "scripts/lib/config/worktree-orphans.mjs",
750
+ "reachable_from": [
751
+ "on-session-end.mjs",
752
+ "on-session-start.mjs",
753
+ "post-edit-validate.mjs"
754
+ ]
755
+ },
756
+ {
757
+ "file": "scripts/lib/crypto-digest-utils.mjs",
758
+ "reachable_from": [
759
+ "config-protection.mjs",
760
+ "enforce-commands.mjs",
761
+ "enforce-scope.mjs",
762
+ "loop-guard.mjs",
763
+ "on-session-end.mjs",
764
+ "on-session-start.mjs",
765
+ "on-stop.mjs",
766
+ "post-bash-write-verify.mjs",
767
+ "post-edit-import-probe.mjs",
768
+ "post-edit-validate.mjs",
769
+ "post-subagent-discovery-validator.mjs",
770
+ "post-tool-batch-wave-signal.mjs",
771
+ "post-tooluse-frontend-slop.mjs",
772
+ "pre-auq-clarity.mjs",
773
+ "pre-bash-issue-budget.mjs",
774
+ "pre-bash-memory-propose-audit.mjs",
775
+ "pre-bash-staging-fence.mjs",
776
+ "pre-task-scope-disjoint.mjs",
777
+ "skill-invocation-telemetry.mjs"
778
+ ]
779
+ },
780
+ {
781
+ "file": "scripts/lib/dispatcher/enumerate.mjs",
782
+ "reachable_from": [
783
+ "on-session-end.mjs",
784
+ "on-session-start.mjs"
785
+ ]
786
+ },
787
+ {
788
+ "file": "scripts/lib/env-check.mjs",
789
+ "reachable_from": [
790
+ "post-bash-write-verify.mjs",
791
+ "post-edit-validate.mjs",
792
+ "pre-bash-memory-propose-audit.mjs"
793
+ ]
794
+ },
795
+ {
796
+ "file": "scripts/lib/events-rotation.mjs",
797
+ "reachable_from": [
798
+ "on-session-start.mjs"
799
+ ]
800
+ },
801
+ {
802
+ "file": "scripts/lib/events-schema.mjs",
803
+ "reachable_from": [
804
+ "config-protection.mjs",
805
+ "enforce-commands.mjs",
806
+ "enforce-scope.mjs",
807
+ "loop-guard.mjs",
808
+ "on-session-end.mjs",
809
+ "on-session-start.mjs",
810
+ "on-stop.mjs",
811
+ "post-bash-write-verify.mjs",
812
+ "post-edit-import-probe.mjs",
813
+ "post-edit-validate.mjs",
814
+ "post-subagent-discovery-validator.mjs",
815
+ "post-tool-batch-wave-signal.mjs",
816
+ "post-tooluse-frontend-slop.mjs",
817
+ "pre-auq-clarity.mjs",
818
+ "pre-bash-memory-propose-audit.mjs"
819
+ ]
820
+ },
821
+ {
822
+ "file": "scripts/lib/events.mjs",
823
+ "reachable_from": [
824
+ "config-protection.mjs",
825
+ "enforce-commands.mjs",
826
+ "enforce-scope.mjs",
827
+ "loop-guard.mjs",
828
+ "on-session-end.mjs",
829
+ "on-session-start.mjs",
830
+ "on-stop.mjs",
831
+ "post-bash-write-verify.mjs",
832
+ "post-edit-import-probe.mjs",
833
+ "post-edit-validate.mjs",
834
+ "post-subagent-discovery-validator.mjs",
835
+ "post-tool-batch-wave-signal.mjs",
836
+ "post-tooluse-frontend-slop.mjs",
837
+ "pre-auq-clarity.mjs",
838
+ "pre-bash-memory-propose-audit.mjs"
839
+ ]
840
+ },
841
+ {
842
+ "file": "scripts/lib/exclusivity-matrix.mjs",
843
+ "reachable_from": [
844
+ "config-protection.mjs",
845
+ "enforce-commands.mjs",
846
+ "enforce-scope.mjs",
847
+ "loop-guard.mjs",
848
+ "on-session-end.mjs",
849
+ "on-session-start.mjs",
850
+ "on-stop.mjs",
851
+ "post-bash-write-verify.mjs",
852
+ "post-edit-import-probe.mjs",
853
+ "post-edit-validate.mjs",
854
+ "post-subagent-discovery-validator.mjs",
855
+ "post-tool-batch-wave-signal.mjs",
856
+ "post-tooluse-frontend-slop.mjs",
857
+ "pre-auq-clarity.mjs",
858
+ "pre-bash-memory-propose-audit.mjs",
859
+ "skill-invocation-telemetry.mjs"
860
+ ]
861
+ },
862
+ {
863
+ "file": "scripts/lib/express-path.mjs",
864
+ "reachable_from": [
865
+ "on-session-end.mjs",
866
+ "on-session-start.mjs",
867
+ "post-edit-validate.mjs"
868
+ ]
869
+ },
870
+ {
871
+ "file": "scripts/lib/file-lock.mjs",
872
+ "reachable_from": [
873
+ "config-protection.mjs",
874
+ "enforce-commands.mjs",
875
+ "enforce-scope.mjs",
876
+ "loop-guard.mjs",
877
+ "on-session-end.mjs",
878
+ "on-session-start.mjs",
879
+ "on-stop.mjs",
880
+ "post-bash-write-verify.mjs",
881
+ "post-edit-import-probe.mjs",
882
+ "post-edit-validate.mjs",
883
+ "post-subagent-discovery-validator.mjs",
884
+ "post-tool-batch-wave-signal.mjs",
885
+ "post-tooluse-frontend-slop.mjs",
886
+ "pre-auq-clarity.mjs",
887
+ "pre-bash-memory-propose-audit.mjs",
888
+ "pre-task-scope-disjoint.mjs",
889
+ "skill-invocation-telemetry.mjs"
890
+ ]
891
+ },
892
+ {
893
+ "file": "scripts/lib/frontend-detect/detect.mjs",
894
+ "reachable_from": [
895
+ "post-tooluse-frontend-slop.mjs"
896
+ ]
897
+ },
898
+ {
899
+ "file": "scripts/lib/frontend-detect/rules.mjs",
900
+ "reachable_from": [
901
+ "post-tooluse-frontend-slop.mjs"
902
+ ]
903
+ },
904
+ {
905
+ "file": "scripts/lib/hardening.mjs",
906
+ "reachable_from": [
907
+ "post-bash-write-verify.mjs",
908
+ "post-edit-validate.mjs",
909
+ "pre-bash-memory-propose-audit.mjs"
910
+ ]
911
+ },
912
+ {
913
+ "file": "scripts/lib/host-identity.mjs",
914
+ "reachable_from": [
915
+ "config-protection.mjs",
916
+ "enforce-commands.mjs",
917
+ "enforce-scope.mjs",
918
+ "loop-guard.mjs",
919
+ "on-session-end.mjs",
920
+ "on-session-start.mjs",
921
+ "on-stop.mjs",
922
+ "post-bash-write-verify.mjs",
923
+ "post-edit-import-probe.mjs",
924
+ "post-edit-validate.mjs",
925
+ "post-subagent-discovery-validator.mjs",
926
+ "post-tool-batch-wave-signal.mjs",
927
+ "post-tooluse-frontend-slop.mjs",
928
+ "pre-auq-clarity.mjs",
929
+ "pre-bash-memory-propose-audit.mjs",
930
+ "pre-bash-staging-fence.mjs",
931
+ "pre-task-scope-disjoint.mjs",
932
+ "skill-invocation-telemetry.mjs"
933
+ ]
934
+ },
935
+ {
936
+ "file": "scripts/lib/io.mjs",
937
+ "reachable_from": [
938
+ "config-protection.mjs",
939
+ "enforce-commands.mjs",
940
+ "enforce-scope.mjs",
941
+ "loop-guard.mjs",
942
+ "on-session-end.mjs",
943
+ "on-session-start.mjs",
944
+ "on-stop.mjs",
945
+ "post-bash-write-verify.mjs",
946
+ "post-edit-import-probe.mjs",
947
+ "post-edit-validate.mjs",
948
+ "post-subagent-discovery-validator.mjs",
949
+ "post-tool-batch-wave-signal.mjs",
950
+ "post-tooluse-frontend-slop.mjs",
951
+ "pre-auq-clarity.mjs",
952
+ "pre-bash-destructive-guard.mjs",
953
+ "pre-bash-issue-budget.mjs",
954
+ "pre-bash-memory-propose-audit.mjs",
955
+ "pre-bash-sessions-ledger-guard.mjs",
956
+ "pre-bash-staging-fence.mjs",
957
+ "pre-bash-templates-first.mjs",
958
+ "pre-task-scope-disjoint.mjs",
959
+ "skill-invocation-telemetry.mjs"
960
+ ]
961
+ },
962
+ {
963
+ "file": "scripts/lib/issue-budget.mjs",
964
+ "reachable_from": [
965
+ "pre-bash-issue-budget.mjs"
966
+ ]
967
+ },
968
+ {
969
+ "file": "scripts/lib/lock-reaper.mjs",
970
+ "reachable_from": [
971
+ "on-session-end.mjs",
972
+ "on-session-start.mjs"
973
+ ]
974
+ },
975
+ {
976
+ "file": "scripts/lib/locks/lock-body.mjs",
977
+ "reachable_from": [
978
+ "config-protection.mjs",
979
+ "enforce-commands.mjs",
980
+ "enforce-scope.mjs",
981
+ "loop-guard.mjs",
982
+ "on-session-end.mjs",
983
+ "on-session-start.mjs",
984
+ "on-stop.mjs",
985
+ "post-bash-write-verify.mjs",
986
+ "post-edit-import-probe.mjs",
987
+ "post-edit-validate.mjs",
988
+ "post-subagent-discovery-validator.mjs",
989
+ "post-tool-batch-wave-signal.mjs",
990
+ "post-tooluse-frontend-slop.mjs",
991
+ "pre-auq-clarity.mjs",
992
+ "pre-bash-memory-propose-audit.mjs",
993
+ "skill-invocation-telemetry.mjs"
994
+ ]
995
+ },
996
+ {
997
+ "file": "scripts/lib/locks/staging-fence-lock.mjs",
998
+ "reachable_from": [
999
+ "config-protection.mjs",
1000
+ "enforce-commands.mjs",
1001
+ "enforce-scope.mjs",
1002
+ "loop-guard.mjs",
1003
+ "on-session-end.mjs",
1004
+ "on-session-start.mjs",
1005
+ "on-stop.mjs",
1006
+ "post-bash-write-verify.mjs",
1007
+ "post-edit-import-probe.mjs",
1008
+ "post-edit-validate.mjs",
1009
+ "post-subagent-discovery-validator.mjs",
1010
+ "post-tool-batch-wave-signal.mjs",
1011
+ "post-tooluse-frontend-slop.mjs",
1012
+ "pre-auq-clarity.mjs",
1013
+ "pre-bash-memory-propose-audit.mjs",
1014
+ "skill-invocation-telemetry.mjs"
1015
+ ]
1016
+ },
1017
+ {
1018
+ "file": "scripts/lib/locks/state-md-lock.mjs",
1019
+ "reachable_from": [
1020
+ "config-protection.mjs",
1021
+ "enforce-commands.mjs",
1022
+ "enforce-scope.mjs",
1023
+ "loop-guard.mjs",
1024
+ "on-session-end.mjs",
1025
+ "on-session-start.mjs",
1026
+ "on-stop.mjs",
1027
+ "post-bash-write-verify.mjs",
1028
+ "post-edit-import-probe.mjs",
1029
+ "post-edit-validate.mjs",
1030
+ "post-subagent-discovery-validator.mjs",
1031
+ "post-tool-batch-wave-signal.mjs",
1032
+ "post-tooluse-frontend-slop.mjs",
1033
+ "pre-auq-clarity.mjs",
1034
+ "pre-bash-memory-propose-audit.mjs",
1035
+ "skill-invocation-telemetry.mjs"
1036
+ ]
1037
+ },
1038
+ {
1039
+ "file": "scripts/lib/named-baseline-resolver.mjs",
1040
+ "reachable_from": [
1041
+ "on-session-end.mjs",
1042
+ "on-session-start.mjs",
1043
+ "post-edit-validate.mjs"
1044
+ ]
1045
+ },
1046
+ {
1047
+ "file": "scripts/lib/owner-yaml.mjs",
1048
+ "reachable_from": [
1049
+ "on-session-end.mjs",
1050
+ "on-session-start.mjs",
1051
+ "post-edit-validate.mjs",
1052
+ "skill-invocation-telemetry.mjs"
1053
+ ]
1054
+ },
1055
+ {
1056
+ "file": "scripts/lib/path-utils.mjs",
1057
+ "reachable_from": [
1058
+ "on-session-end.mjs",
1059
+ "on-session-start.mjs",
1060
+ "post-edit-validate.mjs"
1061
+ ]
1062
+ },
1063
+ {
1064
+ "file": "scripts/lib/persona-panel/threshold.mjs",
1065
+ "reachable_from": [
1066
+ "on-session-end.mjs",
1067
+ "on-session-start.mjs",
1068
+ "post-edit-validate.mjs"
1069
+ ]
1070
+ },
1071
+ {
1072
+ "file": "scripts/lib/platform.mjs",
1073
+ "reachable_from": [
1074
+ "config-protection.mjs",
1075
+ "cwd-change-restore.mjs",
1076
+ "enforce-commands.mjs",
1077
+ "enforce-scope.mjs",
1078
+ "loop-guard.mjs",
1079
+ "on-session-end.mjs",
1080
+ "on-session-start.mjs",
1081
+ "on-stop.mjs",
1082
+ "operator-steer.mjs",
1083
+ "post-bash-write-verify.mjs",
1084
+ "post-edit-import-probe.mjs",
1085
+ "post-edit-validate.mjs",
1086
+ "post-subagent-discovery-validator.mjs",
1087
+ "post-tool-batch-wave-signal.mjs",
1088
+ "post-tool-failure-corrective-context.mjs",
1089
+ "post-tooluse-frontend-slop.mjs",
1090
+ "pre-auq-clarity.mjs",
1091
+ "pre-bash-issue-budget.mjs",
1092
+ "pre-bash-memory-propose-audit.mjs",
1093
+ "pre-bash-staging-fence.mjs",
1094
+ "pre-bash-templates-first.mjs",
1095
+ "pre-task-scope-disjoint.mjs",
1096
+ "skill-invocation-telemetry.mjs",
1097
+ "subagent-telemetry.mjs"
1098
+ ]
1099
+ },
1100
+ {
1101
+ "file": "scripts/lib/plugin-root.mjs",
1102
+ "reachable_from": [
1103
+ "config-protection.mjs",
1104
+ "cwd-change-restore.mjs",
1105
+ "enforce-commands.mjs",
1106
+ "enforce-scope.mjs",
1107
+ "loop-guard.mjs",
1108
+ "on-session-end.mjs",
1109
+ "on-session-start.mjs",
1110
+ "on-stop.mjs",
1111
+ "operator-steer.mjs",
1112
+ "post-bash-write-verify.mjs",
1113
+ "post-edit-import-probe.mjs",
1114
+ "post-edit-validate.mjs",
1115
+ "post-subagent-discovery-validator.mjs",
1116
+ "post-tool-batch-wave-signal.mjs",
1117
+ "post-tool-failure-corrective-context.mjs",
1118
+ "post-tooluse-frontend-slop.mjs",
1119
+ "pre-auq-clarity.mjs",
1120
+ "pre-bash-issue-budget.mjs",
1121
+ "pre-bash-memory-propose-audit.mjs",
1122
+ "pre-bash-staging-fence.mjs",
1123
+ "pre-bash-templates-first.mjs",
1124
+ "pre-task-scope-disjoint.mjs",
1125
+ "skill-invocation-telemetry.mjs",
1126
+ "subagent-telemetry.mjs"
1127
+ ]
1128
+ },
1129
+ {
1130
+ "file": "scripts/lib/plugin-update-banner.mjs",
1131
+ "reachable_from": [
1132
+ "on-session-start.mjs"
1133
+ ]
1134
+ },
1135
+ {
1136
+ "file": "scripts/lib/resource-probe.mjs",
1137
+ "reachable_from": [
1138
+ "on-session-start.mjs"
1139
+ ]
1140
+ },
1141
+ {
1142
+ "file": "scripts/lib/resource-probe/evaluate.mjs",
1143
+ "reachable_from": [
1144
+ "on-session-start.mjs"
1145
+ ]
1146
+ },
1147
+ {
1148
+ "file": "scripts/lib/resource-probe/parsers.mjs",
1149
+ "reachable_from": [
1150
+ "on-session-start.mjs"
1151
+ ]
1152
+ },
1153
+ {
1154
+ "file": "scripts/lib/resource-probe/probe-platform.mjs",
1155
+ "reachable_from": [
1156
+ "on-session-start.mjs"
1157
+ ]
1158
+ },
1159
+ {
1160
+ "file": "scripts/lib/scope-gate.mjs",
1161
+ "reachable_from": [
1162
+ "post-bash-write-verify.mjs",
1163
+ "post-edit-validate.mjs",
1164
+ "post-tool-batch-wave-signal.mjs",
1165
+ "pre-bash-memory-propose-audit.mjs"
1166
+ ]
1167
+ },
1168
+ {
1169
+ "file": "scripts/lib/session-close-backfill.mjs",
1170
+ "reachable_from": [
1171
+ "on-session-end.mjs",
1172
+ "on-session-start.mjs"
1173
+ ]
1174
+ },
1175
+ {
1176
+ "file": "scripts/lib/session-discovery.mjs",
1177
+ "reachable_from": [
1178
+ "on-session-start.mjs"
1179
+ ]
1180
+ },
1181
+ {
1182
+ "file": "scripts/lib/session-id.mjs",
1183
+ "reachable_from": [
1184
+ "on-session-end.mjs",
1185
+ "on-session-start.mjs",
1186
+ "on-stop.mjs"
1187
+ ]
1188
+ },
1189
+ {
1190
+ "file": "scripts/lib/session-identity/own-session.mjs",
1191
+ "reachable_from": [
1192
+ "config-protection.mjs",
1193
+ "enforce-commands.mjs",
1194
+ "enforce-scope.mjs",
1195
+ "loop-guard.mjs",
1196
+ "on-session-end.mjs",
1197
+ "on-session-start.mjs",
1198
+ "on-stop.mjs",
1199
+ "post-bash-write-verify.mjs",
1200
+ "post-edit-import-probe.mjs",
1201
+ "post-edit-validate.mjs",
1202
+ "post-subagent-discovery-validator.mjs",
1203
+ "post-tool-batch-wave-signal.mjs",
1204
+ "post-tooluse-frontend-slop.mjs",
1205
+ "pre-auq-clarity.mjs",
1206
+ "pre-bash-memory-propose-audit.mjs"
1207
+ ]
1208
+ },
1209
+ {
1210
+ "file": "scripts/lib/session-lock-shape.mjs",
1211
+ "reachable_from": [
1212
+ "config-protection.mjs",
1213
+ "enforce-commands.mjs",
1214
+ "enforce-scope.mjs",
1215
+ "loop-guard.mjs",
1216
+ "on-session-end.mjs",
1217
+ "on-session-start.mjs",
1218
+ "on-stop.mjs",
1219
+ "post-bash-write-verify.mjs",
1220
+ "post-edit-import-probe.mjs",
1221
+ "post-edit-validate.mjs",
1222
+ "post-subagent-discovery-validator.mjs",
1223
+ "post-tool-batch-wave-signal.mjs",
1224
+ "post-tooluse-frontend-slop.mjs",
1225
+ "pre-auq-clarity.mjs",
1226
+ "pre-bash-memory-propose-audit.mjs",
1227
+ "skill-invocation-telemetry.mjs"
1228
+ ]
1229
+ },
1230
+ {
1231
+ "file": "scripts/lib/session-lock.mjs",
1232
+ "reachable_from": [
1233
+ "config-protection.mjs",
1234
+ "enforce-commands.mjs",
1235
+ "enforce-scope.mjs",
1236
+ "loop-guard.mjs",
1237
+ "on-session-end.mjs",
1238
+ "on-session-start.mjs",
1239
+ "on-stop.mjs",
1240
+ "post-bash-write-verify.mjs",
1241
+ "post-edit-import-probe.mjs",
1242
+ "post-edit-validate.mjs",
1243
+ "post-subagent-discovery-validator.mjs",
1244
+ "post-tool-batch-wave-signal.mjs",
1245
+ "post-tooluse-frontend-slop.mjs",
1246
+ "pre-auq-clarity.mjs",
1247
+ "pre-bash-memory-propose-audit.mjs",
1248
+ "skill-invocation-telemetry.mjs"
1249
+ ]
1250
+ },
1251
+ {
1252
+ "file": "scripts/lib/session-registry.mjs",
1253
+ "reachable_from": [
1254
+ "on-session-end.mjs",
1255
+ "on-session-start.mjs",
1256
+ "on-stop.mjs"
1257
+ ]
1258
+ },
1259
+ {
1260
+ "file": "scripts/lib/session-schema.mjs",
1261
+ "reachable_from": [
1262
+ "on-session-end.mjs",
1263
+ "on-session-start.mjs"
1264
+ ]
1265
+ },
1266
+ {
1267
+ "file": "scripts/lib/session-schema/aliases.mjs",
1268
+ "reachable_from": [
1269
+ "on-session-end.mjs",
1270
+ "on-session-start.mjs"
1271
+ ]
1272
+ },
1273
+ {
1274
+ "file": "scripts/lib/session-schema/constants.mjs",
1275
+ "reachable_from": [
1276
+ "on-session-end.mjs",
1277
+ "on-session-start.mjs"
1278
+ ]
1279
+ },
1280
+ {
1281
+ "file": "scripts/lib/session-schema/filters.mjs",
1282
+ "reachable_from": [
1283
+ "on-session-end.mjs",
1284
+ "on-session-start.mjs"
1285
+ ]
1286
+ },
1287
+ {
1288
+ "file": "scripts/lib/session-schema/normalizer.mjs",
1289
+ "reachable_from": [
1290
+ "on-session-end.mjs",
1291
+ "on-session-start.mjs"
1292
+ ]
1293
+ },
1294
+ {
1295
+ "file": "scripts/lib/session-schema/serializer.mjs",
1296
+ "reachable_from": [
1297
+ "on-session-end.mjs",
1298
+ "on-session-start.mjs"
1299
+ ]
1300
+ },
1301
+ {
1302
+ "file": "scripts/lib/session-schema/timestamps.mjs",
1303
+ "reachable_from": [
1304
+ "on-session-end.mjs",
1305
+ "on-session-start.mjs"
1306
+ ]
1307
+ },
1308
+ {
1309
+ "file": "scripts/lib/session-schema/validator.mjs",
1310
+ "reachable_from": [
1311
+ "on-session-end.mjs",
1312
+ "on-session-start.mjs"
1313
+ ]
1314
+ },
1315
+ {
1316
+ "file": "scripts/lib/session-start-probes.mjs",
1317
+ "reachable_from": [
1318
+ "on-session-start.mjs"
1319
+ ]
1320
+ },
1321
+ {
1322
+ "file": "scripts/lib/sessions-canonical.mjs",
1323
+ "reachable_from": [
1324
+ "on-session-end.mjs",
1325
+ "on-session-start.mjs",
1326
+ "on-stop.mjs",
1327
+ "skill-invocation-telemetry.mjs"
1328
+ ]
1329
+ },
1330
+ {
1331
+ "file": "scripts/lib/skill-invocations-schema.mjs",
1332
+ "reachable_from": [
1333
+ "on-session-end.mjs",
1334
+ "on-session-start.mjs",
1335
+ "skill-invocation-telemetry.mjs"
1336
+ ]
1337
+ },
1338
+ {
1339
+ "file": "scripts/lib/skill-judgments-schema.mjs",
1340
+ "reachable_from": [
1341
+ "on-session-end.mjs",
1342
+ "on-session-start.mjs",
1343
+ "skill-invocation-telemetry.mjs"
1344
+ ]
1345
+ },
1346
+ {
1347
+ "file": "scripts/lib/state-md.mjs",
1348
+ "reachable_from": [
1349
+ "on-session-end.mjs",
1350
+ "on-session-start.mjs",
1351
+ "skill-invocation-telemetry.mjs"
1352
+ ]
1353
+ },
1354
+ {
1355
+ "file": "scripts/lib/state-md/body-sections.mjs",
1356
+ "reachable_from": [
1357
+ "on-session-end.mjs",
1358
+ "on-session-start.mjs",
1359
+ "skill-invocation-telemetry.mjs"
1360
+ ]
1361
+ },
1362
+ {
1363
+ "file": "scripts/lib/state-md/frontmatter-mutators.mjs",
1364
+ "reachable_from": [
1365
+ "config-protection.mjs",
1366
+ "enforce-commands.mjs",
1367
+ "enforce-scope.mjs",
1368
+ "loop-guard.mjs",
1369
+ "on-session-end.mjs",
1370
+ "on-session-start.mjs",
1371
+ "on-stop.mjs",
1372
+ "post-bash-write-verify.mjs",
1373
+ "post-edit-import-probe.mjs",
1374
+ "post-edit-validate.mjs",
1375
+ "post-subagent-discovery-validator.mjs",
1376
+ "post-tool-batch-wave-signal.mjs",
1377
+ "post-tooluse-frontend-slop.mjs",
1378
+ "pre-auq-clarity.mjs",
1379
+ "pre-bash-memory-propose-audit.mjs",
1380
+ "skill-invocation-telemetry.mjs"
1381
+ ]
1382
+ },
1383
+ {
1384
+ "file": "scripts/lib/state-md/recommendations.mjs",
1385
+ "reachable_from": [
1386
+ "on-session-end.mjs",
1387
+ "on-session-start.mjs",
1388
+ "skill-invocation-telemetry.mjs"
1389
+ ]
1390
+ },
1391
+ {
1392
+ "file": "scripts/lib/state-md/yaml-parser.mjs",
1393
+ "reachable_from": [
1394
+ "config-protection.mjs",
1395
+ "enforce-commands.mjs",
1396
+ "enforce-scope.mjs",
1397
+ "loop-guard.mjs",
1398
+ "on-session-end.mjs",
1399
+ "on-session-start.mjs",
1400
+ "on-stop.mjs",
1401
+ "post-bash-write-verify.mjs",
1402
+ "post-edit-import-probe.mjs",
1403
+ "post-edit-validate.mjs",
1404
+ "post-subagent-discovery-validator.mjs",
1405
+ "post-tool-batch-wave-signal.mjs",
1406
+ "post-tooluse-frontend-slop.mjs",
1407
+ "pre-auq-clarity.mjs",
1408
+ "pre-bash-memory-propose-audit.mjs",
1409
+ "skill-invocation-telemetry.mjs"
1410
+ ]
1411
+ },
1412
+ {
1413
+ "file": "scripts/lib/subagents-schema.mjs",
1414
+ "reachable_from": [
1415
+ "subagent-telemetry.mjs"
1416
+ ]
1417
+ },
1418
+ {
1419
+ "file": "scripts/lib/sunset/walker.mjs",
1420
+ "reachable_from": [
1421
+ "on-session-end.mjs",
1422
+ "on-session-start.mjs",
1423
+ "skill-invocation-telemetry.mjs"
1424
+ ]
1425
+ },
1426
+ {
1427
+ "file": "scripts/lib/telemetry/anon-id.mjs",
1428
+ "reachable_from": [
1429
+ "on-session-end.mjs",
1430
+ "on-session-start.mjs",
1431
+ "skill-invocation-telemetry.mjs"
1432
+ ]
1433
+ },
1434
+ {
1435
+ "file": "scripts/lib/telemetry/consent.mjs",
1436
+ "reachable_from": [
1437
+ "on-session-end.mjs",
1438
+ "on-session-start.mjs",
1439
+ "skill-invocation-telemetry.mjs"
1440
+ ]
1441
+ },
1442
+ {
1443
+ "file": "scripts/lib/telemetry/paths.mjs",
1444
+ "reachable_from": [
1445
+ "on-session-end.mjs",
1446
+ "on-session-start.mjs",
1447
+ "skill-invocation-telemetry.mjs"
1448
+ ]
1449
+ },
1450
+ {
1451
+ "file": "scripts/lib/telemetry/queue.mjs",
1452
+ "reachable_from": [
1453
+ "on-session-end.mjs",
1454
+ "on-session-start.mjs",
1455
+ "skill-invocation-telemetry.mjs"
1456
+ ]
1457
+ },
1458
+ {
1459
+ "file": "scripts/lib/telemetry/schema.mjs",
1460
+ "reachable_from": [
1461
+ "on-session-end.mjs",
1462
+ "on-session-start.mjs",
1463
+ "skill-invocation-telemetry.mjs"
1464
+ ]
1465
+ },
1466
+ {
1467
+ "file": "scripts/lib/telemetry/sync.mjs",
1468
+ "reachable_from": [
1469
+ "on-session-end.mjs",
1470
+ "on-session-start.mjs",
1471
+ "skill-invocation-telemetry.mjs"
1472
+ ]
1473
+ },
1474
+ {
1475
+ "file": "scripts/lib/wave-context.mjs",
1476
+ "reachable_from": [
1477
+ "pre-bash-staging-fence.mjs"
1478
+ ]
1479
+ },
1480
+ {
1481
+ "file": "scripts/lib/worktree/listing.mjs",
1482
+ "reachable_from": [
1483
+ "on-session-start.mjs"
1484
+ ]
1485
+ }
1486
+ ]
1487
+ }