@indigoai-us/hq-cli 5.313.0 → 5.314.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 (1174) hide show
  1. package/CHANGELOG.md +1 -4300
  2. package/assets/scaffold/core/scripts/checkpoint-stop-gate.sh +43 -281
  3. package/assets/scaffold/core/scripts/hook-lib.sh +50 -345
  4. package/assets/scaffold/core/scripts/hq-session.sh +23 -184
  5. package/assets/scaffold/core/scripts/lib/session-id.sh +2 -3
  6. package/assets/scaffold/core/scripts/lib/session-scope-capability.sh +1 -1
  7. package/assets/scaffold/core/scripts/lib/work-mesh-enqueue.sh +1 -2
  8. package/assets/scaffold/core/scripts/qmd-reindex-after-sync.sh +87 -10
  9. package/assets/scaffold/core/scripts/rebuild-company-knowledge-index.sh +3 -36
  10. package/assets/scaffold/core/scripts/rebuild-projects-index.sh +12 -99
  11. package/assets/scaffold/core/scripts/token-usage-report.sh +20 -81
  12. package/dist/bin/hq-auth-refresh.d.ts +0 -2
  13. package/dist/bin/hq-auth-refresh.js +6 -12
  14. package/dist/commands/__fixtures__/access-vault.d.ts +0 -2
  15. package/dist/commands/__fixtures__/access-vault.js +1 -1
  16. package/dist/commands/_patterns.d.ts +0 -16
  17. package/dist/commands/_patterns.js +3 -20
  18. package/dist/commands/access.d.ts +1 -2
  19. package/dist/commands/access.js +49 -58
  20. package/dist/commands/agents.d.ts +4 -106
  21. package/dist/commands/agents.js +45 -924
  22. package/dist/commands/auth.d.ts +0 -1
  23. package/dist/commands/auth.js +19 -189
  24. package/dist/commands/billing.d.ts +0 -3
  25. package/dist/commands/billing.js +1 -6
  26. package/dist/commands/channels.js +1 -56
  27. package/dist/commands/cloud-demote.js +2 -3
  28. package/dist/commands/cloud-provision.d.ts +0 -14
  29. package/dist/commands/cloud-provision.js +58 -232
  30. package/dist/commands/cloud.d.ts +15 -49
  31. package/dist/commands/cloud.js +122 -357
  32. package/dist/commands/company-transfer.d.ts +28 -4
  33. package/dist/commands/company-transfer.js +49 -5
  34. package/dist/commands/company.js +3 -68
  35. package/dist/commands/core-checkpoint.d.ts +9 -19
  36. package/dist/commands/core-checkpoint.js +37 -301
  37. package/dist/commands/core.d.ts +0 -4
  38. package/dist/commands/core.js +80 -277
  39. package/dist/commands/crm.js +3 -52
  40. package/dist/commands/db-provision.js +4 -4
  41. package/dist/commands/db-sql.js +21 -7
  42. package/dist/commands/dm.d.ts +12 -119
  43. package/dist/commands/dm.js +38 -388
  44. package/dist/commands/doctor.d.ts +0 -12
  45. package/dist/commands/doctor.js +12 -158
  46. package/dist/commands/feedback.d.ts +0 -6
  47. package/dist/commands/feedback.js +37 -86
  48. package/dist/commands/files-browse.d.ts +12 -32
  49. package/dist/commands/files-browse.js +60 -176
  50. package/dist/commands/files.d.ts +0 -17
  51. package/dist/commands/files.js +47 -300
  52. package/dist/commands/group-grants.js +2 -3
  53. package/dist/commands/groups.js +5 -6
  54. package/dist/commands/index-cmd.d.ts +1 -19
  55. package/dist/commands/index-cmd.js +7 -74
  56. package/dist/commands/integrations-api.d.ts +10 -15
  57. package/dist/commands/integrations-api.js +22 -27
  58. package/dist/commands/integrations-connect.d.ts +13 -51
  59. package/dist/commands/integrations-connect.js +71 -86
  60. package/dist/commands/integrations-core.d.ts +6 -6
  61. package/dist/commands/integrations-core.js +11 -25
  62. package/dist/commands/integrations-import.d.ts +1 -1
  63. package/dist/commands/integrations-import.js +24 -43
  64. package/dist/commands/integrations-manage.js +13 -20
  65. package/dist/commands/integrations.d.ts +0 -8
  66. package/dist/commands/integrations.js +7 -94
  67. package/dist/commands/login.js +6 -49
  68. package/dist/commands/mcp-registration.d.ts +25 -32
  69. package/dist/commands/mcp-registration.js +23 -256
  70. package/dist/commands/mcp-status.js +0 -1
  71. package/dist/commands/meetings.js +34 -55
  72. package/dist/commands/members.js +1 -5
  73. package/dist/commands/mesh.d.ts +0 -11
  74. package/dist/commands/mesh.js +76 -1086
  75. package/dist/commands/onboard-identity-guard.d.ts +1 -1
  76. package/dist/commands/onboard.js +5 -24
  77. package/dist/commands/pack-install.js +1 -3
  78. package/dist/commands/packs.js +1 -11
  79. package/dist/commands/people.d.ts +0 -4
  80. package/dist/commands/people.js +3 -37
  81. package/dist/commands/publish.d.ts +1 -8
  82. package/dist/commands/publish.js +4 -17
  83. package/dist/commands/reindex.js +6 -56
  84. package/dist/commands/rescue.d.ts +0 -4
  85. package/dist/commands/rescue.js +17 -27
  86. package/dist/commands/run.js +4 -18
  87. package/dist/commands/safe-extract.d.ts +2 -11
  88. package/dist/commands/safe-extract.js +8 -36
  89. package/dist/commands/scaffold-fast.d.ts +41 -0
  90. package/dist/commands/scaffold-fast.js +57 -0
  91. package/dist/commands/secrets.d.ts +2 -20
  92. package/dist/commands/secrets.js +71 -175
  93. package/dist/commands/skill.d.ts +4 -35
  94. package/dist/commands/skill.js +18 -357
  95. package/dist/commands/sync-mode.d.ts +0 -11
  96. package/dist/commands/sync-mode.js +0 -30
  97. package/dist/commands/sync-narrow.js +5 -36
  98. package/dist/commands/team-sync.js +10 -71
  99. package/dist/commands/update.js +0 -6
  100. package/dist/commands/whoami.d.ts +0 -22
  101. package/dist/commands/whoami.js +4 -137
  102. package/dist/commands/workers.d.ts +14 -2
  103. package/dist/commands/workers.js +10 -7
  104. package/dist/fast-core.d.ts +7 -6
  105. package/dist/fast-core.js +24 -87
  106. package/dist/index.d.ts +4 -3
  107. package/dist/index.js +9 -59
  108. package/dist/lazy-commands.d.ts +44 -20
  109. package/dist/lazy-commands.js +58 -60
  110. package/dist/lib/company-skill-wrapper.d.ts +0 -1
  111. package/dist/lib/company-skill-wrapper.js +29 -121
  112. package/dist/lib/core-utils/codex-skill-bridge.d.ts +1 -2
  113. package/dist/lib/core-utils/qmd-reindex-after-sync.d.ts +1 -14
  114. package/dist/lib/core-utils/qmd-reindex-after-sync.js +17 -101
  115. package/dist/lib/core-utils/soft-timeout.js +1 -1
  116. package/dist/lib/core-utils/timeout-guard.d.ts +3 -3
  117. package/dist/lib/core-utils/timeout-guard.js +13 -28
  118. package/dist/lib/core-utils/token-usage-report.js +3 -17
  119. package/dist/lib/db/control-plane.js +0 -6
  120. package/dist/lib/db/local.d.ts +5 -0
  121. package/dist/lib/db/local.js +1 -1
  122. package/dist/lib/db/migrate.d.ts +12 -0
  123. package/dist/lib/db/migrate.js +5 -5
  124. package/dist/lib/db/remote-sql.d.ts +2 -2
  125. package/dist/lib/db/remote-sql.js +3 -3
  126. package/dist/lib/db/sql.d.ts +10 -0
  127. package/dist/lib/db/sql.js +8 -4
  128. package/dist/lib/doctor/__testing__/fake-hq-tree.d.ts +1 -1
  129. package/dist/lib/doctor/__testing__/fake-hq-tree.js +1 -1
  130. package/dist/lib/doctor/checks/claude-wiring.js +1 -70
  131. package/dist/lib/doctor/checks/codex-wiring.d.ts +4 -0
  132. package/dist/lib/doctor/checks/codex-wiring.js +35 -3
  133. package/dist/lib/doctor/checks/grok-wiring.js +34 -1
  134. package/dist/lib/doctor/checks/integrations.js +0 -11
  135. package/dist/lib/doctor/checks/runtime-health.d.ts +17 -4
  136. package/dist/lib/doctor/checks/runtime-health.js +7 -20
  137. package/dist/lib/doctor/checks/sync-health.d.ts +0 -21
  138. package/dist/lib/doctor/checks/sync-health.js +2 -72
  139. package/dist/lib/doctor/checks/work-context.js +6 -20
  140. package/dist/lib/doctor/compat.d.ts +16 -0
  141. package/dist/lib/doctor/compat.js +3 -4
  142. package/dist/lib/doctor/deep/effects.js +3 -1
  143. package/dist/lib/doctor/deep/executor.d.ts +10 -4
  144. package/dist/lib/doctor/deep/executor.js +1 -1
  145. package/dist/lib/doctor/deep/parity.d.ts +29 -2
  146. package/dist/lib/doctor/deep/parity.js +7 -7
  147. package/dist/lib/doctor/deep/sandbox.d.ts +25 -7
  148. package/dist/lib/doctor/deep/sandbox.js +7 -5
  149. package/dist/lib/doctor/fix/apply.d.ts +8 -79
  150. package/dist/lib/doctor/fix/apply.js +80 -292
  151. package/dist/lib/doctor/fix/remediation.d.ts +6 -14
  152. package/dist/lib/doctor/fix/remediation.js +9 -49
  153. package/dist/lib/doctor/fixtures/schema.js +3 -1
  154. package/dist/lib/doctor/json-output.d.ts +1 -17
  155. package/dist/lib/doctor/json-output.js +2 -7
  156. package/dist/lib/doctor/platform.d.ts +26 -0
  157. package/dist/lib/doctor/platform.js +5 -5
  158. package/dist/lib/doctor/registry.d.ts +0 -14
  159. package/dist/lib/doctor/registry.js +0 -71
  160. package/dist/lib/doctor/report.js +1 -1
  161. package/dist/lib/doctor/types.d.ts +0 -5
  162. package/dist/lib/doctor/types.js +0 -20
  163. package/dist/lib/flag-registry-worker.js +1 -12
  164. package/dist/lib/flag-registry.d.ts +6 -26
  165. package/dist/lib/flag-registry.js +16 -133
  166. package/dist/lib/index-render/companies.d.ts +1 -4
  167. package/dist/lib/index-render/companies.js +3 -66
  168. package/dist/lib/index-render/company-knowledge.js +17 -80
  169. package/dist/lib/index-render/index.d.ts +0 -1
  170. package/dist/lib/index-render/index.js +1 -2
  171. package/dist/lib/index-render/projects.js +5 -82
  172. package/dist/lib/index-render/shared.d.ts +1 -13
  173. package/dist/lib/index-render/shared.js +2 -41
  174. package/dist/lib/mesh/api.d.ts +10 -103
  175. package/dist/lib/mesh/api.js +64 -334
  176. package/dist/lib/mesh/client.d.ts +2 -3
  177. package/dist/lib/mesh/client.js +7 -26
  178. package/dist/lib/mesh/live/backfill-held.d.ts +16 -67
  179. package/dist/lib/mesh/live/backfill-held.js +61 -415
  180. package/dist/lib/mesh/live/backoff.d.ts +2 -2
  181. package/dist/lib/mesh/live/backoff.js +3 -16
  182. package/dist/lib/mesh/live/daemon/board-refresh.d.ts +1 -7
  183. package/dist/lib/mesh/live/daemon/board-refresh.js +30 -78
  184. package/dist/lib/mesh/live/daemon/credentials.d.ts +10 -64
  185. package/dist/lib/mesh/live/daemon/credentials.js +20 -270
  186. package/dist/lib/mesh/live/daemon/doctor.d.ts +0 -53
  187. package/dist/lib/mesh/live/daemon/doctor.js +6 -190
  188. package/dist/lib/mesh/live/daemon/index.d.ts +10 -13
  189. package/dist/lib/mesh/live/daemon/index.js +6 -7
  190. package/dist/lib/mesh/live/daemon/install.d.ts +1 -255
  191. package/dist/lib/mesh/live/daemon/install.js +13 -811
  192. package/dist/lib/mesh/live/daemon/paths.d.ts +0 -2
  193. package/dist/lib/mesh/live/daemon/paths.js +0 -2
  194. package/dist/lib/mesh/live/daemon/presence.d.ts +5 -24
  195. package/dist/lib/mesh/live/daemon/presence.js +10 -79
  196. package/dist/lib/mesh/live/daemon/run.d.ts +2 -48
  197. package/dist/lib/mesh/live/daemon/run.js +33 -485
  198. package/dist/lib/mesh/live/daemon/state.d.ts +2 -19
  199. package/dist/lib/mesh/live/daemon/state.js +2 -34
  200. package/dist/lib/mesh/live/daemon/transcript-watch.d.ts +9 -45
  201. package/dist/lib/mesh/live/daemon/transcript-watch.js +31 -227
  202. package/dist/lib/mesh/live/emit-client.d.ts +0 -8
  203. package/dist/lib/mesh/live/emit-client.js +8 -23
  204. package/dist/lib/mesh/live/emit-evidence.d.ts +0 -19
  205. package/dist/lib/mesh/live/emit-evidence.js +2 -20
  206. package/dist/lib/mesh/live/emit.d.ts +0 -9
  207. package/dist/lib/mesh/live/emit.js +2 -28
  208. package/dist/lib/mesh/live/enqueue.d.ts +0 -5
  209. package/dist/lib/mesh/live/enqueue.js +0 -19
  210. package/dist/lib/mesh/live/flush.d.ts +5 -17
  211. package/dist/lib/mesh/live/flush.js +38 -391
  212. package/dist/lib/mesh/live/format-spool-line.d.ts +2 -5
  213. package/dist/lib/mesh/live/format-spool-line.js +0 -10
  214. package/dist/lib/mesh/live/paths.d.ts +0 -2
  215. package/dist/lib/mesh/live/paths.js +0 -4
  216. package/dist/lib/mesh/live/session-event.schema.json +1 -24
  217. package/dist/lib/mesh/live/session-events-client.d.ts +0 -2
  218. package/dist/lib/mesh/live/session-events-client.js +0 -26
  219. package/dist/lib/mesh/live/spool.d.ts +0 -19
  220. package/dist/lib/mesh/live/spool.js +3 -269
  221. package/dist/lib/mesh/live/validate-session-event.d.ts +1 -1
  222. package/dist/lib/mesh/live/validate-session-event.js +1 -1
  223. package/dist/lib/plan-limit-nag.d.ts +6 -102
  224. package/dist/lib/plan-limit-nag.js +43 -348
  225. package/dist/lib/scan-packages/index.d.ts +0 -2
  226. package/dist/lib/scan-packages/index.js +6 -168
  227. package/dist/lib/search-index/background.d.ts +1 -8
  228. package/dist/lib/search-index/background.js +200 -55
  229. package/dist/lib/search-index/index.d.ts +0 -12
  230. package/dist/lib/search-index/index.js +7 -153
  231. package/dist/lib/work-context/company.d.ts +20 -22
  232. package/dist/lib/work-context/company.js +40 -124
  233. package/dist/lib/work-context/config.d.ts +11 -58
  234. package/dist/lib/work-context/config.js +83 -334
  235. package/dist/lib/work-context/contract.d.ts +0 -13
  236. package/dist/lib/work-context/contract.schema.json +1 -3
  237. package/dist/lib/work-context/index.d.ts +25 -0
  238. package/dist/lib/work-context/index.js +21 -0
  239. package/dist/lib/work-context/outbox.d.ts +5 -27
  240. package/dist/lib/work-context/outbox.js +6 -135
  241. package/dist/lib/work-context/reconcile.d.ts +0 -15
  242. package/dist/lib/work-context/reconcile.js +29 -405
  243. package/dist/lib/work-context/state.d.ts +10 -93
  244. package/dist/lib/work-context/state.js +29 -342
  245. package/dist/lib/workers-registry/index.js +8 -62
  246. package/dist/main.d.ts +0 -32
  247. package/dist/main.js +73 -273
  248. package/dist/node-network-compat.d.ts +30 -2
  249. package/dist/node-network-compat.js +51 -4
  250. package/dist/node-preflight.d.ts +1 -7
  251. package/dist/node-preflight.js +5 -5
  252. package/dist/register-all.d.ts +29 -4
  253. package/dist/register-all.js +233 -4
  254. package/dist/run/discover-schemas.d.ts +1 -2
  255. package/dist/run/env-graph-guard.d.ts +2 -2
  256. package/dist/run/env-graph-guard.js +2 -5
  257. package/dist/run/hq-plugin.d.ts +0 -4
  258. package/dist/run/hq-plugin.js +8 -36
  259. package/dist/sentry-before-send.js +0 -80
  260. package/dist/sentry.d.ts +2 -8
  261. package/dist/sentry.js +13 -117
  262. package/dist/startup-registration.d.ts +2 -26
  263. package/dist/startup-registration.js +15 -116
  264. package/dist/utils/cli-telemetry.d.ts +1 -74
  265. package/dist/utils/cli-telemetry.js +7 -434
  266. package/dist/utils/client-health.d.ts +4 -0
  267. package/dist/utils/client-health.js +2 -2
  268. package/dist/utils/cognito-session.d.ts +0 -71
  269. package/dist/utils/cognito-session.js +27 -481
  270. package/dist/utils/contribution-table.d.ts +1 -1
  271. package/dist/utils/environmental-error.d.ts +0 -18
  272. package/dist/utils/environmental-error.js +7 -240
  273. package/dist/utils/expected-cli-error.d.ts +0 -2
  274. package/dist/utils/expected-cli-error.js +0 -4
  275. package/dist/utils/feedback-diagnostics.d.ts +1 -2
  276. package/dist/utils/feedback-log-bundle.d.ts +26 -51
  277. package/dist/utils/feedback-log-bundle.js +31 -211
  278. package/dist/utils/feedback-logs.d.ts +47 -18
  279. package/dist/utils/feedback-logs.js +21 -50
  280. package/dist/utils/feedback-screenshots.d.ts +1 -0
  281. package/dist/utils/feedback-screenshots.js +1 -1
  282. package/dist/utils/hq-roots.d.ts +2 -25
  283. package/dist/utils/hq-roots.js +7 -67
  284. package/dist/utils/incomplete-install-error.d.ts +19 -87
  285. package/dist/utils/incomplete-install-error.js +68 -319
  286. package/dist/utils/install-tree-torn.d.ts +24 -260
  287. package/dist/utils/install-tree-torn.js +51 -998
  288. package/dist/utils/large-file-guard.d.ts +10 -0
  289. package/dist/utils/large-file-guard.js +1 -1
  290. package/dist/utils/local-files-overview.d.ts +8 -4
  291. package/dist/utils/local-files-overview.js +7 -48
  292. package/dist/utils/login-provider.d.ts +0 -7
  293. package/dist/utils/login-provider.js +0 -34
  294. package/dist/utils/pack-contributions.d.ts +14 -2
  295. package/dist/utils/pack-contributions.js +44 -7
  296. package/dist/utils/package-root-diagnostics.d.ts +1 -1
  297. package/dist/utils/people.d.ts +11 -7
  298. package/dist/utils/people.js +20 -5
  299. package/dist/utils/plan-gate-error.d.ts +10 -52
  300. package/dist/utils/plan-gate-error.js +41 -364
  301. package/dist/utils/qmd-model-download-error.d.ts +8 -0
  302. package/dist/utils/qmd-model-download-error.js +1 -1
  303. package/dist/utils/qmd-query-document-error.d.ts +6 -0
  304. package/dist/utils/qmd-query-document-error.js +1 -1
  305. package/dist/utils/redact-error-text.d.ts +2 -0
  306. package/dist/utils/redact-error-text.js +2 -3
  307. package/dist/utils/run-bundled-script.d.ts +0 -6
  308. package/dist/utils/run-bundled-script.js +4 -117
  309. package/dist/utils/sandbox-runner-client.d.ts +1 -2
  310. package/dist/utils/secrets-cache.d.ts +3 -7
  311. package/dist/utils/secrets-cache.js +14 -162
  312. package/dist/utils/self-update.d.ts +1 -34
  313. package/dist/utils/self-update.js +42 -660
  314. package/dist/utils/sentry-fingerprint.d.ts +1 -23
  315. package/dist/utils/sentry-fingerprint.js +31 -223
  316. package/dist/utils/team-upgrade.d.ts +1 -1
  317. package/dist/utils/team-upgrade.js +3 -4
  318. package/dist/utils/vault-api.d.ts +1 -21
  319. package/dist/utils/vault-api.js +84 -251
  320. package/dist/utils/version-check.d.ts +1 -11
  321. package/dist/utils/version-check.js +3 -32
  322. package/dist/utils/version-gate.d.ts +17 -101
  323. package/dist/utils/version-gate.js +70 -645
  324. package/dist/utils/windows-spawn.d.ts +0 -6
  325. package/dist/utils/windows-spawn.js +0 -37
  326. package/package.json +8 -20
  327. package/README.md +0 -113
  328. package/assets/bot-workers/setup/context/USER-GUIDE.md +0 -404
  329. package/assets/bot-workers/setup/context/quick-reference.md +0 -199
  330. package/assets/bot-workers/setup/skills/agents-and-team.md +0 -167
  331. package/assets/bot-workers/setup/skills/explain-hq.md +0 -35
  332. package/assets/bot-workers/setup/skills/first-company.md +0 -74
  333. package/assets/bot-workers/setup/skills/joining-a-team.md +0 -125
  334. package/assets/bot-workers/setup/skills/pricing.md +0 -92
  335. package/assets/bot-workers/setup/skills/standing-help.md +0 -81
  336. package/assets/bot-workers/setup/skills/your-business.md +0 -281
  337. package/assets/bot-workers/setup/worker.yaml +0 -791
  338. package/assets/lanes-hooks/hq-lanes-drain.json +0 -15
  339. package/assets/lanes-hooks/hq-lanes-drain.mjs +0 -275
  340. package/assets/lanes-hooks/hq-lanes-drain.sh +0 -21
  341. package/assets/lanes-reconcile/hq-lanes-reconcile.service +0 -11
  342. package/assets/lanes-reconcile/hq-lanes-reconcile.timer +0 -12
  343. package/assets/scaffold/.claude/hooks/validate-policy-frontmatter.sh +0 -485
  344. package/assets/scaffold/core/scripts/audit-log.sh +0 -384
  345. package/assets/scaffold/core/scripts/clean-worktree-reconcile-handoff.sh +0 -171
  346. package/assets/scaffold/core/scripts/eval-trigger.sh +0 -193
  347. package/assets/scaffold/core/scripts/git-pack-extension-check.sh +0 -164
  348. package/assets/scaffold/core/scripts/handoff-finalize.sh +0 -688
  349. package/assets/scaffold/core/scripts/handoff-open-steps.sh +0 -81
  350. package/assets/scaffold/core/scripts/handoff-post.sh +0 -252
  351. package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +0 -307
  352. package/assets/scaffold/core/scripts/hq-delegate-grant.sh +0 -252
  353. package/assets/scaffold/core/scripts/hq-delegate-pickup.sh +0 -99
  354. package/assets/scaffold/core/scripts/hq-delegate-publish.sh +0 -91
  355. package/assets/scaffold/core/scripts/hq-delegate-repo.sh +0 -158
  356. package/assets/scaffold/core/scripts/hq-delegate-resolve.sh +0 -145
  357. package/assets/scaffold/core/scripts/hq-delegate-secrets.sh +0 -129
  358. package/assets/scaffold/core/scripts/hq-delegate-send.sh +0 -259
  359. package/assets/scaffold/core/scripts/hq-delegate-transfer.sh +0 -175
  360. package/assets/scaffold/core/scripts/hq-delegate-verify.sh +0 -238
  361. package/assets/scaffold/core/scripts/hq-dm-bind.sh +0 -585
  362. package/assets/scaffold/core/scripts/hq-job-notify.sh +0 -389
  363. package/assets/scaffold/core/scripts/hq-job-probe.sh +0 -835
  364. package/assets/scaffold/core/scripts/hq-job-remediate.sh +0 -359
  365. package/assets/scaffold/core/scripts/hq-job-run.sh +0 -1025
  366. package/assets/scaffold/core/scripts/hq-pin.sh +0 -118
  367. package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +0 -310
  368. package/assets/scaffold/core/scripts/jobs-validate.sh +0 -451
  369. package/assets/scaffold/core/scripts/knowledge-prefs.sh +0 -55
  370. package/assets/scaffold/core/scripts/lib/portable.sh +0 -211
  371. package/assets/scaffold/core/scripts/lib/secret-patterns.sh +0 -58
  372. package/assets/scaffold/core/scripts/lib/work-mesh-live-hook.sh +0 -378
  373. package/assets/scaffold/core/scripts/lib/work-mesh-live-rebind.sh +0 -141
  374. package/assets/scaffold/core/scripts/migrate-policy-triggers.sh +0 -373
  375. package/assets/scaffold/core/scripts/ontology-audience-grant.sh +0 -81
  376. package/assets/scaffold/core/scripts/ontology-brief.mjs +0 -93
  377. package/assets/scaffold/core/scripts/ontology-candidate.sh +0 -100
  378. package/assets/scaffold/core/scripts/ontology-garden.mjs +0 -238
  379. package/assets/scaffold/core/scripts/ontology-source-worklist.sh +0 -79
  380. package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +0 -834
  381. package/assets/scaffold/core/scripts/policy-age-report.sh +0 -156
  382. package/assets/scaffold/core/scripts/policy-retire.sh +0 -199
  383. package/assets/scaffold/core/scripts/qmd-reindex-bg.sh +0 -40
  384. package/assets/scaffold/core/scripts/read-policy-frontmatter.sh +0 -32
  385. package/assets/scaffold/core/scripts/refresh-vault-access.sh +0 -188
  386. package/assets/scaffold/core/scripts/register-project.sh +0 -262
  387. package/assets/scaffold/core/scripts/resolve-company.sh +0 -199
  388. package/assets/scaffold/core/scripts/resume-thread-lock.sh +0 -285
  389. package/assets/scaffold/core/scripts/source-yaml-validate.sh +0 -36
  390. package/assets/scaffold/core/scripts/verify-story-deliverables.sh +0 -148
  391. package/assets/scaffold/core/scripts/work-mesh-live-bind-trusted.sh +0 -152
  392. package/assets/scaffold/core/scripts/work-mesh-live-rebind.sh +0 -59
  393. package/assets/scaffold/core/scripts/worktree-gc.sh +0 -362
  394. package/contracts/preflight/v1/fixtures.json +0 -87
  395. package/contracts/preflight/v1/schema.json +0 -58
  396. package/dist/command-catalog.generated.d.ts +0 -10735
  397. package/dist/command-catalog.generated.js +0 -13836
  398. package/dist/command-registration-plan.d.ts +0 -474
  399. package/dist/command-registration-plan.js +0 -136
  400. package/dist/commands/agent-enroll.d.ts +0 -146
  401. package/dist/commands/agent-enroll.js +0 -401
  402. package/dist/commands/agent-inbox.d.ts +0 -9
  403. package/dist/commands/agent-inbox.js +0 -102
  404. package/dist/commands/agent-kit.d.ts +0 -87
  405. package/dist/commands/agent-kit.js +0 -480
  406. package/dist/commands/agent-mcp.d.ts +0 -24
  407. package/dist/commands/agent-mcp.js +0 -127
  408. package/dist/commands/agent-probe.d.ts +0 -77
  409. package/dist/commands/agent-probe.js +0 -335
  410. package/dist/commands/agent.d.ts +0 -13
  411. package/dist/commands/agent.js +0 -40
  412. package/dist/commands/billing-sponsor.d.ts +0 -83
  413. package/dist/commands/billing-sponsor.js +0 -344
  414. package/dist/commands/bot-companies.d.ts +0 -40
  415. package/dist/commands/bot-companies.js +0 -64
  416. package/dist/commands/bot-continuity.d.ts +0 -28
  417. package/dist/commands/bot-continuity.js +0 -68
  418. package/dist/commands/bot-jobs.d.ts +0 -127
  419. package/dist/commands/bot-jobs.js +0 -454
  420. package/dist/commands/bot.d.ts +0 -278
  421. package/dist/commands/bot.js +0 -1982
  422. package/dist/commands/cloud-retire.d.ts +0 -51
  423. package/dist/commands/cloud-retire.js +0 -154
  424. package/dist/commands/company-rename-flag.d.ts +0 -4
  425. package/dist/commands/company-rename-flag.js +0 -7
  426. package/dist/commands/company-rename.d.ts +0 -4
  427. package/dist/commands/company-rename.js +0 -90
  428. package/dist/commands/core-audit-log-native.d.ts +0 -9
  429. package/dist/commands/core-audit-log-native.js +0 -257
  430. package/dist/commands/core-checkpoint-gate-setting.d.ts +0 -59
  431. package/dist/commands/core-checkpoint-gate-setting.js +0 -163
  432. package/dist/commands/core-checkpoint-stop-gate-native.d.ts +0 -34
  433. package/dist/commands/core-checkpoint-stop-gate-native.js +0 -725
  434. package/dist/commands/core-command-catalog.d.ts +0 -34
  435. package/dist/commands/core-command-catalog.js +0 -62
  436. package/dist/commands/core-company-index-scope-flag.d.ts +0 -3
  437. package/dist/commands/core-company-index-scope-flag.js +0 -6
  438. package/dist/commands/core-delegate-w1b.d.ts +0 -10
  439. package/dist/commands/core-delegate-w1b.js +0 -1219
  440. package/dist/commands/core-delegate.d.ts +0 -46
  441. package/dist/commands/core-delegate.js +0 -1040
  442. package/dist/commands/core-dm-bind-native.d.ts +0 -32
  443. package/dist/commands/core-dm-bind-native.js +0 -668
  444. package/dist/commands/core-eval-trigger-native.d.ts +0 -4
  445. package/dist/commands/core-eval-trigger-native.js +0 -12
  446. package/dist/commands/core-git-pack-extension-check-native.d.ts +0 -22
  447. package/dist/commands/core-git-pack-extension-check-native.js +0 -190
  448. package/dist/commands/core-handoff-fast.d.ts +0 -18
  449. package/dist/commands/core-handoff-fast.js +0 -104
  450. package/dist/commands/core-handoff-open-steps.d.ts +0 -21
  451. package/dist/commands/core-handoff-open-steps.js +0 -264
  452. package/dist/commands/core-handoff.d.ts +0 -24
  453. package/dist/commands/core-handoff.js +0 -1144
  454. package/dist/commands/core-hq-session-native.d.ts +0 -39
  455. package/dist/commands/core-hq-session-native.js +0 -579
  456. package/dist/commands/core-job-native-utils.d.ts +0 -6
  457. package/dist/commands/core-job-native-utils.js +0 -80
  458. package/dist/commands/core-job-native.d.ts +0 -5
  459. package/dist/commands/core-job-native.js +0 -16
  460. package/dist/commands/core-job-notify-native.d.ts +0 -36
  461. package/dist/commands/core-job-notify-native.js +0 -359
  462. package/dist/commands/core-job-probe-native.d.ts +0 -45
  463. package/dist/commands/core-job-probe-native.js +0 -564
  464. package/dist/commands/core-job-remediate-native.d.ts +0 -26
  465. package/dist/commands/core-job-remediate-native.js +0 -374
  466. package/dist/commands/core-job-remote-launcher.d.ts +0 -7
  467. package/dist/commands/core-job-remote-launcher.js +0 -51
  468. package/dist/commands/core-job-run-native.d.ts +0 -47
  469. package/dist/commands/core-job-run-native.js +0 -1215
  470. package/dist/commands/core-jobs-native.d.ts +0 -25
  471. package/dist/commands/core-jobs-native.js +0 -1339
  472. package/dist/commands/core-knowledge-prefs.d.ts +0 -11
  473. package/dist/commands/core-knowledge-prefs.js +0 -137
  474. package/dist/commands/core-migrate-policy-triggers-native.d.ts +0 -21
  475. package/dist/commands/core-migrate-policy-triggers-native.js +0 -378
  476. package/dist/commands/core-native-handoff-flag.d.ts +0 -4
  477. package/dist/commands/core-native-handoff-flag.js +0 -7
  478. package/dist/commands/core-native-hook-helper-commands.d.ts +0 -4
  479. package/dist/commands/core-native-hook-helper-commands.js +0 -56
  480. package/dist/commands/core-native-hook-helpers-flag.d.ts +0 -4
  481. package/dist/commands/core-native-hook-helpers-flag.js +0 -7
  482. package/dist/commands/core-native-jobs-flag.d.ts +0 -4
  483. package/dist/commands/core-native-jobs-flag.js +0 -7
  484. package/dist/commands/core-native-policy-flag.d.ts +0 -9
  485. package/dist/commands/core-native-policy-flag.js +0 -12
  486. package/dist/commands/core-native-session-flag.d.ts +0 -4
  487. package/dist/commands/core-native-session-flag.js +0 -7
  488. package/dist/commands/core-native-utilities-flag.d.ts +0 -4
  489. package/dist/commands/core-native-utilities-flag.js +0 -7
  490. package/dist/commands/core-native-utilities.d.ts +0 -29
  491. package/dist/commands/core-native-utilities.js +0 -54
  492. package/dist/commands/core-native-worker-skills-flag.d.ts +0 -4
  493. package/dist/commands/core-native-worker-skills-flag.js +0 -7
  494. package/dist/commands/core-ontology-native.d.ts +0 -17
  495. package/dist/commands/core-ontology-native.js +0 -916
  496. package/dist/commands/core-ontology.d.ts +0 -66
  497. package/dist/commands/core-ontology.js +0 -430
  498. package/dist/commands/core-pin-native.d.ts +0 -14
  499. package/dist/commands/core-pin-native.js +0 -236
  500. package/dist/commands/core-policy-frontmatter.d.ts +0 -8
  501. package/dist/commands/core-policy-frontmatter.js +0 -52
  502. package/dist/commands/core-policy.d.ts +0 -14
  503. package/dist/commands/core-policy.js +0 -1018
  504. package/dist/commands/core-refresh-vault-access-native.d.ts +0 -20
  505. package/dist/commands/core-refresh-vault-access-native.js +0 -229
  506. package/dist/commands/core-register-project-native.d.ts +0 -30
  507. package/dist/commands/core-register-project-native.js +0 -347
  508. package/dist/commands/core-resolve-company-command.d.ts +0 -4
  509. package/dist/commands/core-resolve-company-command.js +0 -42
  510. package/dist/commands/core-resolve-company-native.d.ts +0 -28
  511. package/dist/commands/core-resolve-company-native.js +0 -408
  512. package/dist/commands/core-work-mesh-bind-trusted-native.d.ts +0 -32
  513. package/dist/commands/core-work-mesh-bind-trusted-native.js +0 -190
  514. package/dist/commands/core-work-mesh-live-rebind-native.d.ts +0 -18
  515. package/dist/commands/core-work-mesh-live-rebind-native.js +0 -262
  516. package/dist/commands/core-worker-lint-native.d.ts +0 -4
  517. package/dist/commands/core-worker-lint-native.js +0 -160
  518. package/dist/commands/core-worker-share-native.d.ts +0 -4
  519. package/dist/commands/core-worker-share-native.js +0 -260
  520. package/dist/commands/core-worker-skills-command.d.ts +0 -8
  521. package/dist/commands/core-worker-skills-command.js +0 -33
  522. package/dist/commands/core-worker-skills-runtime.d.ts +0 -33
  523. package/dist/commands/core-worker-skills-runtime.js +0 -86
  524. package/dist/commands/daemon.d.ts +0 -63
  525. package/dist/commands/daemon.js +0 -877
  526. package/dist/commands/deploy-comments.d.ts +0 -3
  527. package/dist/commands/deploy-comments.js +0 -162
  528. package/dist/commands/lanes-accounts.d.ts +0 -28
  529. package/dist/commands/lanes-accounts.js +0 -595
  530. package/dist/commands/lanes-autopilot.d.ts +0 -11
  531. package/dist/commands/lanes-autopilot.js +0 -336
  532. package/dist/commands/lanes-checks.d.ts +0 -51
  533. package/dist/commands/lanes-checks.js +0 -941
  534. package/dist/commands/lanes-hold.d.ts +0 -43
  535. package/dist/commands/lanes-hold.js +0 -655
  536. package/dist/commands/lanes-kpis.d.ts +0 -11
  537. package/dist/commands/lanes-kpis.js +0 -34
  538. package/dist/commands/lanes-message.d.ts +0 -9
  539. package/dist/commands/lanes-message.js +0 -937
  540. package/dist/commands/lanes-move.d.ts +0 -12
  541. package/dist/commands/lanes-move.js +0 -397
  542. package/dist/commands/lanes-questions.d.ts +0 -36
  543. package/dist/commands/lanes-questions.js +0 -1005
  544. package/dist/commands/lanes-report.d.ts +0 -11
  545. package/dist/commands/lanes-report.js +0 -333
  546. package/dist/commands/lanes-resume.d.ts +0 -6
  547. package/dist/commands/lanes-resume.js +0 -564
  548. package/dist/commands/lanes-review.d.ts +0 -10
  549. package/dist/commands/lanes-review.js +0 -56
  550. package/dist/commands/lanes-shared.d.ts +0 -448
  551. package/dist/commands/lanes-shared.js +0 -170
  552. package/dist/commands/lanes-stories.d.ts +0 -15
  553. package/dist/commands/lanes-stories.js +0 -347
  554. package/dist/commands/lanes-watch.d.ts +0 -7
  555. package/dist/commands/lanes-watch.js +0 -216
  556. package/dist/commands/lanes.d.ts +0 -149
  557. package/dist/commands/lanes.js +0 -8973
  558. package/dist/commands/monitor.d.ts +0 -58
  559. package/dist/commands/monitor.js +0 -980
  560. package/dist/commands/onboard-bot-membership.d.ts +0 -32
  561. package/dist/commands/onboard-bot-membership.js +0 -40
  562. package/dist/commands/onboard-create-identity.d.ts +0 -26
  563. package/dist/commands/onboard-create-identity.js +0 -23
  564. package/dist/commands/outpost-pruner.d.ts +0 -3
  565. package/dist/commands/outpost-pruner.js +0 -125
  566. package/dist/commands/personal-connector-settings-flag.d.ts +0 -4
  567. package/dist/commands/personal-connector-settings-flag.js +0 -7
  568. package/dist/commands/personal-targeted-push-flag.d.ts +0 -4
  569. package/dist/commands/personal-targeted-push-flag.js +0 -7
  570. package/dist/commands/personal-targeted-push-paths.d.ts +0 -3
  571. package/dist/commands/personal-targeted-push-paths.js +0 -67
  572. package/dist/commands/report.d.ts +0 -19
  573. package/dist/commands/report.js +0 -537
  574. package/dist/commands/run-feature-telemetry.d.ts +0 -3
  575. package/dist/commands/run-feature-telemetry.js +0 -6
  576. package/dist/commands/staff/reset-test-account.d.ts +0 -110
  577. package/dist/commands/staff/reset-test-account.js +0 -268
  578. package/dist/commands/staff/test-account.d.ts +0 -51
  579. package/dist/commands/staff/test-account.js +0 -196
  580. package/dist/commands/vault-retention-flag.d.ts +0 -3
  581. package/dist/commands/vault-retention-flag.js +0 -9
  582. package/dist/commands/vault-retention.d.ts +0 -11
  583. package/dist/commands/vault-retention.js +0 -69
  584. package/dist/commands/version.d.ts +0 -10
  585. package/dist/commands/version.js +0 -11
  586. package/dist/fast-scaffold.d.ts +0 -86
  587. package/dist/fast-scaffold.js +0 -364
  588. package/dist/lanes-drain-hook.d.ts +0 -14
  589. package/dist/lanes-drain-hook.js +0 -203
  590. package/dist/lib/agent-kit/adopt-identity.d.ts +0 -27
  591. package/dist/lib/agent-kit/adopt-identity.js +0 -60
  592. package/dist/lib/agent-kit/attachment-download.d.ts +0 -24
  593. package/dist/lib/agent-kit/attachment-download.js +0 -47
  594. package/dist/lib/agent-kit/creds.d.ts +0 -106
  595. package/dist/lib/agent-kit/creds.js +0 -163
  596. package/dist/lib/agent-kit/fallback.d.ts +0 -78
  597. package/dist/lib/agent-kit/fallback.js +0 -210
  598. package/dist/lib/agent-kit/inbox-state.d.ts +0 -83
  599. package/dist/lib/agent-kit/inbox-state.js +0 -159
  600. package/dist/lib/agent-kit/kit-config.d.ts +0 -56
  601. package/dist/lib/agent-kit/kit-config.js +0 -65
  602. package/dist/lib/agent-kit/log.d.ts +0 -16
  603. package/dist/lib/agent-kit/log.js +0 -46
  604. package/dist/lib/agent-kit/mcp/attachments.d.ts +0 -126
  605. package/dist/lib/agent-kit/mcp/attachments.js +0 -222
  606. package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +0 -75
  607. package/dist/lib/agent-kit/mcp/jsonrpc.js +0 -164
  608. package/dist/lib/agent-kit/mcp/tools.d.ts +0 -64
  609. package/dist/lib/agent-kit/mcp/tools.js +0 -397
  610. package/dist/lib/agent-kit/paths.d.ts +0 -65
  611. package/dist/lib/agent-kit/paths.js +0 -118
  612. package/dist/lib/agent-kit/private-file.d.ts +0 -29
  613. package/dist/lib/agent-kit/private-file.js +0 -91
  614. package/dist/lib/agent-kit/run/heartbeat.d.ts +0 -72
  615. package/dist/lib/agent-kit/run/heartbeat.js +0 -128
  616. package/dist/lib/agent-kit/run/inbox.d.ts +0 -76
  617. package/dist/lib/agent-kit/run/inbox.js +0 -205
  618. package/dist/lib/agent-kit/run/supervisor.d.ts +0 -35
  619. package/dist/lib/agent-kit/run/supervisor.js +0 -85
  620. package/dist/lib/agent-kit/run/sync.d.ts +0 -33
  621. package/dist/lib/agent-kit/run/sync.js +0 -58
  622. package/dist/lib/agent-kit/services.d.ts +0 -31
  623. package/dist/lib/agent-kit/services.js +0 -55
  624. package/dist/lib/agent-kit/skills.d.ts +0 -18
  625. package/dist/lib/agent-kit/skills.js +0 -151
  626. package/dist/lib/agent-kit/wake.d.ts +0 -83
  627. package/dist/lib/agent-kit/wake.js +0 -243
  628. package/dist/lib/agents/model-catalog.d.ts +0 -62
  629. package/dist/lib/agents/model-catalog.js +0 -275
  630. package/dist/lib/auth-login-provider-state.d.ts +0 -8
  631. package/dist/lib/auth-login-provider-state.js +0 -63
  632. package/dist/lib/aws-sdk-node-warning-output.d.ts +0 -12
  633. package/dist/lib/aws-sdk-node-warning-output.js +0 -22
  634. package/dist/lib/billing/free-month.d.ts +0 -18
  635. package/dist/lib/billing/free-month.js +0 -31
  636. package/dist/lib/billing/plan-limit-refusals.d.ts +0 -69
  637. package/dist/lib/billing/plan-limit-refusals.js +0 -187
  638. package/dist/lib/billing/plan-limit-upgrade-url.d.ts +0 -11
  639. package/dist/lib/billing/plan-limit-upgrade-url.js +0 -66
  640. package/dist/lib/billing/plan-lock.d.ts +0 -143
  641. package/dist/lib/billing/plan-lock.js +0 -439
  642. package/dist/lib/bot/api.d.ts +0 -349
  643. package/dist/lib/bot/api.js +0 -316
  644. package/dist/lib/bot/attachments.d.ts +0 -45
  645. package/dist/lib/bot/attachments.js +0 -89
  646. package/dist/lib/bot/cli-update.d.ts +0 -138
  647. package/dist/lib/bot/cli-update.js +0 -278
  648. package/dist/lib/bot/company-bind.d.ts +0 -27
  649. package/dist/lib/bot/company-bind.js +0 -62
  650. package/dist/lib/bot/config.d.ts +0 -153
  651. package/dist/lib/bot/config.js +0 -233
  652. package/dist/lib/bot/continuity-download.d.ts +0 -28
  653. package/dist/lib/bot/continuity-download.js +0 -75
  654. package/dist/lib/bot/continuity-install.d.ts +0 -14
  655. package/dist/lib/bot/continuity-install.js +0 -101
  656. package/dist/lib/bot/continuity.d.ts +0 -67
  657. package/dist/lib/bot/continuity.js +0 -301
  658. package/dist/lib/bot/creds.d.ts +0 -24
  659. package/dist/lib/bot/creds.js +0 -51
  660. package/dist/lib/bot/daemon.d.ts +0 -173
  661. package/dist/lib/bot/daemon.js +0 -552
  662. package/dist/lib/bot/inbox-poll-backoff-flag.d.ts +0 -24
  663. package/dist/lib/bot/inbox-poll-backoff-flag.js +0 -135
  664. package/dist/lib/bot/inbox-state.d.ts +0 -18
  665. package/dist/lib/bot/inbox-state.js +0 -51
  666. package/dist/lib/bot/index.d.ts +0 -23
  667. package/dist/lib/bot/index.js +0 -23
  668. package/dist/lib/bot/inflight.d.ts +0 -119
  669. package/dist/lib/bot/inflight.js +0 -83
  670. package/dist/lib/bot/job-completions.d.ts +0 -89
  671. package/dist/lib/bot/job-completions.js +0 -132
  672. package/dist/lib/bot/job-run.d.ts +0 -109
  673. package/dist/lib/bot/job-run.js +0 -246
  674. package/dist/lib/bot/local-config.d.ts +0 -61
  675. package/dist/lib/bot/local-config.js +0 -145
  676. package/dist/lib/bot/local-jobs.d.ts +0 -89
  677. package/dist/lib/bot/local-jobs.js +0 -459
  678. package/dist/lib/bot/local-name.d.ts +0 -54
  679. package/dist/lib/bot/local-name.js +0 -114
  680. package/dist/lib/bot/log.d.ts +0 -13
  681. package/dist/lib/bot/log.js +0 -59
  682. package/dist/lib/bot/owner-context.d.ts +0 -79
  683. package/dist/lib/bot/owner-context.js +0 -175
  684. package/dist/lib/bot/paths.d.ts +0 -76
  685. package/dist/lib/bot/paths.js +0 -131
  686. package/dist/lib/bot/progress.d.ts +0 -132
  687. package/dist/lib/bot/progress.js +0 -289
  688. package/dist/lib/bot/promote.d.ts +0 -16
  689. package/dist/lib/bot/promote.js +0 -106
  690. package/dist/lib/bot/promotion-hold.d.ts +0 -24
  691. package/dist/lib/bot/promotion-hold.js +0 -103
  692. package/dist/lib/bot/promotion-receipt.d.ts +0 -9
  693. package/dist/lib/bot/promotion-receipt.js +0 -56
  694. package/dist/lib/bot/promotion-upload.d.ts +0 -16
  695. package/dist/lib/bot/promotion-upload.js +0 -80
  696. package/dist/lib/bot/prompt.d.ts +0 -136
  697. package/dist/lib/bot/prompt.js +0 -433
  698. package/dist/lib/bot/room-policy.d.ts +0 -63
  699. package/dist/lib/bot/room-policy.js +0 -91
  700. package/dist/lib/bot/run.d.ts +0 -217
  701. package/dist/lib/bot/run.js +0 -1869
  702. package/dist/lib/bot/runnable.d.ts +0 -51
  703. package/dist/lib/bot/runnable.js +0 -65
  704. package/dist/lib/bot/runtime/claude.d.ts +0 -50
  705. package/dist/lib/bot/runtime/claude.js +0 -170
  706. package/dist/lib/bot/runtime/codex.d.ts +0 -28
  707. package/dist/lib/bot/runtime/codex.js +0 -153
  708. package/dist/lib/bot/runtime/grok-acp.d.ts +0 -40
  709. package/dist/lib/bot/runtime/grok-acp.js +0 -265
  710. package/dist/lib/bot/runtime/grok.d.ts +0 -41
  711. package/dist/lib/bot/runtime/grok.js +0 -169
  712. package/dist/lib/bot/runtime/index.d.ts +0 -36
  713. package/dist/lib/bot/runtime/index.js +0 -417
  714. package/dist/lib/bot/runtime/messages-stream.d.ts +0 -56
  715. package/dist/lib/bot/runtime/messages-stream.js +0 -194
  716. package/dist/lib/bot/runtime/sanitize.d.ts +0 -18
  717. package/dist/lib/bot/runtime/sanitize.js +0 -28
  718. package/dist/lib/bot/runtime/types.d.ts +0 -159
  719. package/dist/lib/bot/runtime/types.js +0 -51
  720. package/dist/lib/bot/runtime/windows.d.ts +0 -10
  721. package/dist/lib/bot/runtime/windows.js +0 -53
  722. package/dist/lib/bot/runtime-sign-in.d.ts +0 -24
  723. package/dist/lib/bot/runtime-sign-in.js +0 -31
  724. package/dist/lib/bot/scaffold.d.ts +0 -38
  725. package/dist/lib/bot/scaffold.js +0 -94
  726. package/dist/lib/bot/self-heal.d.ts +0 -52
  727. package/dist/lib/bot/self-heal.js +0 -79
  728. package/dist/lib/bot/self-process.d.ts +0 -19
  729. package/dist/lib/bot/self-process.js +0 -35
  730. package/dist/lib/bot/session.d.ts +0 -19
  731. package/dist/lib/bot/session.js +0 -39
  732. package/dist/lib/bot/setup-explain.d.ts +0 -64
  733. package/dist/lib/bot/setup-explain.js +0 -141
  734. package/dist/lib/bot/split.d.ts +0 -32
  735. package/dist/lib/bot/split.js +0 -241
  736. package/dist/lib/bot/status.d.ts +0 -57
  737. package/dist/lib/bot/status.js +0 -66
  738. package/dist/lib/bot/worker-source.d.ts +0 -66
  739. package/dist/lib/bot/worker-source.js +0 -283
  740. package/dist/lib/checkpoint-ontology/aliases.d.ts +0 -17
  741. package/dist/lib/checkpoint-ontology/aliases.js +0 -44
  742. package/dist/lib/checkpoint-ontology/apply.d.ts +0 -110
  743. package/dist/lib/checkpoint-ontology/apply.js +0 -777
  744. package/dist/lib/checkpoint-ontology/company-brief.d.ts +0 -18
  745. package/dist/lib/checkpoint-ontology/company-brief.js +0 -337
  746. package/dist/lib/checkpoint-ontology/company.d.ts +0 -44
  747. package/dist/lib/checkpoint-ontology/company.js +0 -118
  748. package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +0 -41
  749. package/dist/lib/checkpoint-ontology/drop-aliases.js +0 -76
  750. package/dist/lib/checkpoint-ontology/entity-file.d.ts +0 -109
  751. package/dist/lib/checkpoint-ontology/entity-file.js +0 -371
  752. package/dist/lib/checkpoint-ontology/identity.d.ts +0 -38
  753. package/dist/lib/checkpoint-ontology/identity.js +0 -95
  754. package/dist/lib/checkpoint-ontology/merge-copies.d.ts +0 -199
  755. package/dist/lib/checkpoint-ontology/merge-copies.js +0 -1086
  756. package/dist/lib/checkpoint-ontology/multi-writer.d.ts +0 -101
  757. package/dist/lib/checkpoint-ontology/multi-writer.js +0 -394
  758. package/dist/lib/checkpoint-ontology/plan.d.ts +0 -193
  759. package/dist/lib/checkpoint-ontology/plan.js +0 -504
  760. package/dist/lib/checkpoint-ontology/queued-touches.d.ts +0 -29
  761. package/dist/lib/checkpoint-ontology/queued-touches.js +0 -193
  762. package/dist/lib/checkpoint-ontology/sync-client.d.ts +0 -38
  763. package/dist/lib/checkpoint-ontology/sync-client.js +0 -84
  764. package/dist/lib/checkpoint-ontology/tree.d.ts +0 -55
  765. package/dist/lib/checkpoint-ontology/tree.js +0 -198
  766. package/dist/lib/company-errors-sdk-warning-flag.d.ts +0 -5
  767. package/dist/lib/company-errors-sdk-warning-flag.js +0 -8
  768. package/dist/lib/core-utils/hook-timeout-debug-context-flag.d.ts +0 -20
  769. package/dist/lib/core-utils/hook-timeout-debug-context-flag.js +0 -81
  770. package/dist/lib/core-utils/jq-json-serializer.d.ts +0 -5
  771. package/dist/lib/core-utils/jq-json-serializer.js +0 -10
  772. package/dist/lib/core-utils/secret-patterns.d.ts +0 -43
  773. package/dist/lib/core-utils/secret-patterns.js +0 -34
  774. package/dist/lib/core-utils/sentry-report.d.ts +0 -114
  775. package/dist/lib/core-utils/sentry-report.js +0 -1034
  776. package/dist/lib/core-utils/timeout-guard-native.d.ts +0 -7
  777. package/dist/lib/core-utils/timeout-guard-native.js +0 -40
  778. package/dist/lib/core-utils/worktree-resume.d.ts +0 -20
  779. package/dist/lib/core-utils/worktree-resume.js +0 -1198
  780. package/dist/lib/daemon/catalog.d.ts +0 -134
  781. package/dist/lib/daemon/catalog.js +0 -358
  782. package/dist/lib/daemon/config.d.ts +0 -35
  783. package/dist/lib/daemon/config.js +0 -108
  784. package/dist/lib/daemon/flag.d.ts +0 -25
  785. package/dist/lib/daemon/flag.js +0 -59
  786. package/dist/lib/daemon/handoff.d.ts +0 -56
  787. package/dist/lib/daemon/handoff.js +0 -161
  788. package/dist/lib/daemon/hq-cloud.d.ts +0 -79
  789. package/dist/lib/daemon/hq-cloud.js +0 -183
  790. package/dist/lib/daemon/install.d.ts +0 -85
  791. package/dist/lib/daemon/install.js +0 -320
  792. package/dist/lib/daemon/legacy-sync-env.d.ts +0 -10
  793. package/dist/lib/daemon/legacy-sync-env.js +0 -58
  794. package/dist/lib/daemon/legacy.d.ts +0 -45
  795. package/dist/lib/daemon/legacy.js +0 -133
  796. package/dist/lib/daemon/lock.d.ts +0 -47
  797. package/dist/lib/daemon/lock.js +0 -138
  798. package/dist/lib/daemon/machine-type.d.ts +0 -50
  799. package/dist/lib/daemon/machine-type.js +0 -159
  800. package/dist/lib/daemon/migrate.d.ts +0 -77
  801. package/dist/lib/daemon/migrate.js +0 -265
  802. package/dist/lib/daemon/paths.d.ts +0 -24
  803. package/dist/lib/daemon/paths.js +0 -43
  804. package/dist/lib/daemon/protocol-tail.d.ts +0 -33
  805. package/dist/lib/daemon/protocol-tail.js +0 -131
  806. package/dist/lib/daemon/remote-control.d.ts +0 -74
  807. package/dist/lib/daemon/remote-control.js +0 -153
  808. package/dist/lib/daemon/requests.d.ts +0 -28
  809. package/dist/lib/daemon/requests.js +0 -65
  810. package/dist/lib/daemon/run.d.ts +0 -79
  811. package/dist/lib/daemon/run.js +0 -755
  812. package/dist/lib/daemon/succession.d.ts +0 -118
  813. package/dist/lib/daemon/succession.js +0 -263
  814. package/dist/lib/daemon/supervisor.d.ts +0 -132
  815. package/dist/lib/daemon/supervisor.js +0 -836
  816. package/dist/lib/daemon/sync-runner.d.ts +0 -58
  817. package/dist/lib/daemon/sync-runner.js +0 -277
  818. package/dist/lib/daemon/tools.d.ts +0 -52
  819. package/dist/lib/daemon/tools.js +0 -95
  820. package/dist/lib/daemon/updater.d.ts +0 -57
  821. package/dist/lib/daemon/updater.js +0 -163
  822. package/dist/lib/deploy-api.d.ts +0 -5
  823. package/dist/lib/deploy-api.js +0 -21
  824. package/dist/lib/deploy-apps.d.ts +0 -13
  825. package/dist/lib/deploy-apps.js +0 -29
  826. package/dist/lib/doctor/__testing__/run-doctor.d.ts +0 -8
  827. package/dist/lib/doctor/__testing__/run-doctor.js +0 -52
  828. package/dist/lib/doctor/checks/bots.d.ts +0 -13
  829. package/dist/lib/doctor/checks/bots.js +0 -189
  830. package/dist/lib/doctor/checks/scaffold-cli-floor.d.ts +0 -6
  831. package/dist/lib/doctor/checks/scaffold-cli-floor.js +0 -73
  832. package/dist/lib/doctor/checks/sync-runtime.d.ts +0 -11
  833. package/dist/lib/doctor/checks/sync-runtime.js +0 -216
  834. package/dist/lib/doctor/client-health-flag-token.d.ts +0 -15
  835. package/dist/lib/doctor/client-health-flag-token.js +0 -66
  836. package/dist/lib/doctor/client-health-reason-codes-flag.d.ts +0 -27
  837. package/dist/lib/doctor/client-health-reason-codes-flag.js +0 -106
  838. package/dist/lib/doctor/fix/json-output.d.ts +0 -28
  839. package/dist/lib/doctor/fix/json-output.js +0 -33
  840. package/dist/lib/doctor/fix/refresh-sync-outcome.d.ts +0 -12
  841. package/dist/lib/doctor/fix/refresh-sync-outcome.js +0 -25
  842. package/dist/lib/doctor/shared.d.ts +0 -8
  843. package/dist/lib/doctor/shared.js +0 -38
  844. package/dist/lib/doctor/stray-gate-entries.d.ts +0 -35
  845. package/dist/lib/doctor/stray-gate-entries.js +0 -83
  846. package/dist/lib/first-sync-next-step.d.ts +0 -37
  847. package/dist/lib/first-sync-next-step.js +0 -189
  848. package/dist/lib/flag-registry-endpoint.d.ts +0 -5
  849. package/dist/lib/flag-registry-endpoint.js +0 -9
  850. package/dist/lib/flag-registry-worker-source.generated.d.ts +0 -2
  851. package/dist/lib/flag-registry-worker-source.generated.js +0 -3
  852. package/dist/lib/flag-snapshot-file.d.ts +0 -20
  853. package/dist/lib/flag-snapshot-file.js +0 -91
  854. package/dist/lib/heartbeat-identity.d.ts +0 -30
  855. package/dist/lib/heartbeat-identity.js +0 -76
  856. package/dist/lib/lanes/account-home.d.ts +0 -8
  857. package/dist/lib/lanes/account-home.js +0 -10
  858. package/dist/lib/lanes/accounts.d.ts +0 -117
  859. package/dist/lib/lanes/accounts.js +0 -366
  860. package/dist/lib/lanes/admission-host.d.ts +0 -22
  861. package/dist/lib/lanes/admission-host.js +0 -37
  862. package/dist/lib/lanes/admission.d.ts +0 -26
  863. package/dist/lib/lanes/admission.js +0 -210
  864. package/dist/lib/lanes/approval-gate.d.ts +0 -8
  865. package/dist/lib/lanes/approval-gate.js +0 -90
  866. package/dist/lib/lanes/autopilot-metrics.d.ts +0 -99
  867. package/dist/lib/lanes/autopilot-metrics.js +0 -301
  868. package/dist/lib/lanes/autopilot-registry.d.ts +0 -62
  869. package/dist/lib/lanes/autopilot-registry.js +0 -192
  870. package/dist/lib/lanes/autopilot.d.ts +0 -120
  871. package/dist/lib/lanes/autopilot.js +0 -1061
  872. package/dist/lib/lanes/blocker-freshness.d.ts +0 -31
  873. package/dist/lib/lanes/blocker-freshness.js +0 -168
  874. package/dist/lib/lanes/checked-company-path.d.ts +0 -3
  875. package/dist/lib/lanes/checked-company-path.js +0 -39
  876. package/dist/lib/lanes/claude-balance.d.ts +0 -97
  877. package/dist/lib/lanes/claude-balance.js +0 -319
  878. package/dist/lib/lanes/compaction.d.ts +0 -110
  879. package/dist/lib/lanes/compaction.js +0 -293
  880. package/dist/lib/lanes/config.d.ts +0 -94
  881. package/dist/lib/lanes/config.js +0 -606
  882. package/dist/lib/lanes/constants.d.ts +0 -3
  883. package/dist/lib/lanes/constants.js +0 -3
  884. package/dist/lib/lanes/delivery-core.d.ts +0 -15
  885. package/dist/lib/lanes/delivery-core.js +0 -21
  886. package/dist/lib/lanes/delivery.d.ts +0 -180
  887. package/dist/lib/lanes/delivery.js +0 -443
  888. package/dist/lib/lanes/disk-guard.d.ts +0 -66
  889. package/dist/lib/lanes/disk-guard.js +0 -172
  890. package/dist/lib/lanes/dropbox.d.ts +0 -129
  891. package/dist/lib/lanes/dropbox.js +0 -601
  892. package/dist/lib/lanes/effort.d.ts +0 -51
  893. package/dist/lib/lanes/effort.js +0 -113
  894. package/dist/lib/lanes/envelope-repair-dispatch.d.ts +0 -26
  895. package/dist/lib/lanes/envelope-repair-dispatch.js +0 -74
  896. package/dist/lib/lanes/errors.d.ts +0 -39
  897. package/dist/lib/lanes/errors.js +0 -72
  898. package/dist/lib/lanes/flag-keys.d.ts +0 -15
  899. package/dist/lib/lanes/flag-keys.js +0 -15
  900. package/dist/lib/lanes/grants.d.ts +0 -30
  901. package/dist/lib/lanes/grants.js +0 -171
  902. package/dist/lib/lanes/hire-grant-dispatch.d.ts +0 -29
  903. package/dist/lib/lanes/hire-grant-dispatch.js +0 -315
  904. package/dist/lib/lanes/hooks-install.d.ts +0 -82
  905. package/dist/lib/lanes/hooks-install.js +0 -479
  906. package/dist/lib/lanes/host-capacity.d.ts +0 -69
  907. package/dist/lib/lanes/host-capacity.js +0 -254
  908. package/dist/lib/lanes/hq-root.d.ts +0 -19
  909. package/dist/lib/lanes/hq-root.js +0 -28
  910. package/dist/lib/lanes/index.d.ts +0 -76
  911. package/dist/lib/lanes/index.js +0 -42
  912. package/dist/lib/lanes/keep-alive.d.ts +0 -68
  913. package/dist/lib/lanes/keep-alive.js +0 -343
  914. package/dist/lib/lanes/kr-freshness.d.ts +0 -76
  915. package/dist/lib/lanes/kr-freshness.js +0 -413
  916. package/dist/lib/lanes/lane-company.d.ts +0 -10
  917. package/dist/lib/lanes/lane-company.js +0 -41
  918. package/dist/lib/lanes/liveness.d.ts +0 -108
  919. package/dist/lib/lanes/liveness.js +0 -396
  920. package/dist/lib/lanes/machine-identity.d.ts +0 -34
  921. package/dist/lib/lanes/machine-identity.js +0 -92
  922. package/dist/lib/lanes/manager-status-gate.d.ts +0 -17
  923. package/dist/lib/lanes/manager-status-gate.js +0 -133
  924. package/dist/lib/lanes/merge-command.d.ts +0 -15
  925. package/dist/lib/lanes/merge-command.js +0 -629
  926. package/dist/lib/lanes/mesh-events.d.ts +0 -127
  927. package/dist/lib/lanes/mesh-events.js +0 -564
  928. package/dist/lib/lanes/message-replay.d.ts +0 -21
  929. package/dist/lib/lanes/message-replay.js +0 -122
  930. package/dist/lib/lanes/models.d.ts +0 -86
  931. package/dist/lib/lanes/models.js +0 -234
  932. package/dist/lib/lanes/monitor.d.ts +0 -48
  933. package/dist/lib/lanes/monitor.js +0 -428
  934. package/dist/lib/lanes/move-account.d.ts +0 -56
  935. package/dist/lib/lanes/move-account.js +0 -193
  936. package/dist/lib/lanes/orphans.d.ts +0 -25
  937. package/dist/lib/lanes/orphans.js +0 -102
  938. package/dist/lib/lanes/outpost-dispatch.d.ts +0 -147
  939. package/dist/lib/lanes/outpost-dispatch.js +0 -271
  940. package/dist/lib/lanes/outpost-hire-cache.d.ts +0 -22
  941. package/dist/lib/lanes/outpost-hire-cache.js +0 -153
  942. package/dist/lib/lanes/outpost-identity.d.ts +0 -33
  943. package/dist/lib/lanes/outpost-identity.js +0 -59
  944. package/dist/lib/lanes/outpost-profile-repin.d.ts +0 -17
  945. package/dist/lib/lanes/outpost-profile-repin.js +0 -84
  946. package/dist/lib/lanes/outpost-pruner-install.d.ts +0 -37
  947. package/dist/lib/lanes/outpost-pruner-install.js +0 -238
  948. package/dist/lib/lanes/outpost-registry-worker-approval.d.ts +0 -18
  949. package/dist/lib/lanes/outpost-registry-worker-approval.js +0 -109
  950. package/dist/lib/lanes/outpost-snapshot-memo.d.ts +0 -6
  951. package/dist/lib/lanes/outpost-snapshot-memo.js +0 -14
  952. package/dist/lib/lanes/outpost-worktree-pruner-flag.d.ts +0 -19
  953. package/dist/lib/lanes/outpost-worktree-pruner-flag.js +0 -86
  954. package/dist/lib/lanes/outpost-worktree-pruner.d.ts +0 -62
  955. package/dist/lib/lanes/outpost-worktree-pruner.js +0 -1201
  956. package/dist/lib/lanes/profile.d.ts +0 -69
  957. package/dist/lib/lanes/profile.js +0 -552
  958. package/dist/lib/lanes/provider-rejection.d.ts +0 -86
  959. package/dist/lib/lanes/provider-rejection.js +0 -286
  960. package/dist/lib/lanes/questions.d.ts +0 -90
  961. package/dist/lib/lanes/questions.js +0 -384
  962. package/dist/lib/lanes/quota.d.ts +0 -134
  963. package/dist/lib/lanes/quota.js +0 -471
  964. package/dist/lib/lanes/reconcile-install.d.ts +0 -90
  965. package/dist/lib/lanes/reconcile-install.js +0 -257
  966. package/dist/lib/lanes/reconcile.d.ts +0 -161
  967. package/dist/lib/lanes/reconcile.js +0 -3324
  968. package/dist/lib/lanes/registry-flag.d.ts +0 -35
  969. package/dist/lib/lanes/registry-flag.js +0 -164
  970. package/dist/lib/lanes/registry-persona.d.ts +0 -20
  971. package/dist/lib/lanes/registry-persona.js +0 -329
  972. package/dist/lib/lanes/registry.d.ts +0 -122
  973. package/dist/lib/lanes/registry.js +0 -570
  974. package/dist/lib/lanes/reviews.d.ts +0 -38
  975. package/dist/lib/lanes/reviews.js +0 -395
  976. package/dist/lib/lanes/runaway-tool-guard.d.ts +0 -38
  977. package/dist/lib/lanes/runaway-tool-guard.js +0 -284
  978. package/dist/lib/lanes/session-relink.d.ts +0 -25
  979. package/dist/lib/lanes/session-relink.js +0 -216
  980. package/dist/lib/lanes/spawn.d.ts +0 -355
  981. package/dist/lib/lanes/spawn.js +0 -2668
  982. package/dist/lib/lanes/ssm-command-context.d.ts +0 -12
  983. package/dist/lib/lanes/ssm-command-context.js +0 -52
  984. package/dist/lib/lanes/store.d.ts +0 -91
  985. package/dist/lib/lanes/store.js +0 -1822
  986. package/dist/lib/lanes/stories.d.ts +0 -23
  987. package/dist/lib/lanes/stories.js +0 -92
  988. package/dist/lib/lanes/story-ledger.d.ts +0 -80
  989. package/dist/lib/lanes/story-ledger.js +0 -815
  990. package/dist/lib/lanes/story-switch.d.ts +0 -21
  991. package/dist/lib/lanes/story-switch.js +0 -75
  992. package/dist/lib/lanes/text-scan.d.ts +0 -11
  993. package/dist/lib/lanes/text-scan.js +0 -103
  994. package/dist/lib/lanes/throttle.d.ts +0 -116
  995. package/dist/lib/lanes/throttle.js +0 -437
  996. package/dist/lib/lanes/timestamp.d.ts +0 -3
  997. package/dist/lib/lanes/timestamp.js +0 -26
  998. package/dist/lib/lanes/tracker-checks.d.ts +0 -77
  999. package/dist/lib/lanes/tracker-checks.js +0 -134
  1000. package/dist/lib/lanes/tracker-report-state.d.ts +0 -10
  1001. package/dist/lib/lanes/tracker-report-state.js +0 -124
  1002. package/dist/lib/lanes/tracker-report.d.ts +0 -203
  1003. package/dist/lib/lanes/tracker-report.js +0 -522
  1004. package/dist/lib/lanes/tracker-store.d.ts +0 -18
  1005. package/dist/lib/lanes/tracker-store.js +0 -106
  1006. package/dist/lib/lanes/types.d.ts +0 -1030
  1007. package/dist/lib/lanes/types.js +0 -418
  1008. package/dist/lib/lanes/wait.d.ts +0 -39
  1009. package/dist/lib/lanes/wait.js +0 -159
  1010. package/dist/lib/lanes/watch.d.ts +0 -39
  1011. package/dist/lib/lanes/watch.js +0 -249
  1012. package/dist/lib/lanes/watcher-main.d.ts +0 -11
  1013. package/dist/lib/lanes/watcher-main.js +0 -108
  1014. package/dist/lib/lanes/watcher.d.ts +0 -287
  1015. package/dist/lib/lanes/watcher.js +0 -1972
  1016. package/dist/lib/mesh/denial-codes.d.ts +0 -5
  1017. package/dist/lib/mesh/denial-codes.js +0 -14
  1018. package/dist/lib/mesh/live/daemon/config.d.ts +0 -36
  1019. package/dist/lib/mesh/live/daemon/config.js +0 -120
  1020. package/dist/lib/mesh/live/daemon/legacy-listen.d.ts +0 -43
  1021. package/dist/lib/mesh/live/daemon/legacy-listen.js +0 -89
  1022. package/dist/lib/mesh/live/daemon/live-cache.d.ts +0 -26
  1023. package/dist/lib/mesh/live/daemon/live-cache.js +0 -116
  1024. package/dist/lib/mesh/live/daemon/mqtt-events.d.ts +0 -7
  1025. package/dist/lib/mesh/live/daemon/mqtt-events.js +0 -2
  1026. package/dist/lib/mesh/live/daemon/mqtt-events.test-d.d.ts +0 -2
  1027. package/dist/lib/mesh/live/daemon/mqtt-events.test-d.js +0 -10
  1028. package/dist/lib/mesh/live/daemon/version-drift.d.ts +0 -5
  1029. package/dist/lib/mesh/live/daemon/version-drift.js +0 -47
  1030. package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +0 -32
  1031. package/dist/lib/mesh/live/daemon/work-subscribe.js +0 -262
  1032. package/dist/lib/mesh/live/report-summary.d.ts +0 -45
  1033. package/dist/lib/mesh/live/report-summary.js +0 -234
  1034. package/dist/lib/mesh/live/session-seq.d.ts +0 -4
  1035. package/dist/lib/mesh/live/session-seq.js +0 -33
  1036. package/dist/lib/mesh/project-board.d.ts +0 -65
  1037. package/dist/lib/mesh/project-board.js +0 -181
  1038. package/dist/lib/mesh/story-status.d.ts +0 -22
  1039. package/dist/lib/mesh/story-status.js +0 -49
  1040. package/dist/lib/monitor.d.ts +0 -149
  1041. package/dist/lib/monitor.js +0 -519
  1042. package/dist/lib/node-binary.d.ts +0 -50
  1043. package/dist/lib/node-binary.js +0 -133
  1044. package/dist/lib/notify-recipient.d.ts +0 -7
  1045. package/dist/lib/notify-recipient.js +0 -11
  1046. package/dist/lib/onboarding/checkpoint.d.ts +0 -13
  1047. package/dist/lib/onboarding/checkpoint.js +0 -44
  1048. package/dist/lib/onboarding/cli/onboard.d.ts +0 -53
  1049. package/dist/lib/onboarding/cli/onboard.js +0 -135
  1050. package/dist/lib/onboarding/cli/prompts.d.ts +0 -28
  1051. package/dist/lib/onboarding/cli/prompts.js +0 -83
  1052. package/dist/lib/onboarding/errors.d.ts +0 -34
  1053. package/dist/lib/onboarding/errors.js +0 -59
  1054. package/dist/lib/onboarding/index.d.ts +0 -13
  1055. package/dist/lib/onboarding/index.js +0 -13
  1056. package/dist/lib/onboarding/orchestrator.d.ts +0 -47
  1057. package/dist/lib/onboarding/orchestrator.js +0 -569
  1058. package/dist/lib/onboarding/types.d.ts +0 -79
  1059. package/dist/lib/onboarding/types.js +0 -8
  1060. package/dist/lib/policy-validator.d.ts +0 -7
  1061. package/dist/lib/policy-validator.js +0 -187
  1062. package/dist/lib/process-flag-company-context.d.ts +0 -8
  1063. package/dist/lib/process-flag-company-context.js +0 -67
  1064. package/dist/lib/report-publish.d.ts +0 -175
  1065. package/dist/lib/report-publish.js +0 -421
  1066. package/dist/lib/report-run.d.ts +0 -62
  1067. package/dist/lib/report-run.js +0 -123
  1068. package/dist/lib/report-snapshot.d.ts +0 -12
  1069. package/dist/lib/report-snapshot.js +0 -135
  1070. package/dist/lib/report-templates.d.ts +0 -9
  1071. package/dist/lib/report-templates.js +0 -21
  1072. package/dist/lib/scaffold-cli-floor.d.ts +0 -8
  1073. package/dist/lib/scaffold-cli-floor.js +0 -50
  1074. package/dist/lib/search-index/collection-path-repair-flag.d.ts +0 -4
  1075. package/dist/lib/search-index/collection-path-repair-flag.js +0 -7
  1076. package/dist/lib/search-index/embed-lock.d.ts +0 -34
  1077. package/dist/lib/search-index/embed-lock.js +0 -295
  1078. package/dist/lib/search-index/load-gate.d.ts +0 -57
  1079. package/dist/lib/search-index/load-gate.js +0 -270
  1080. package/dist/lib/search-index/max-doc-bytes.d.ts +0 -219
  1081. package/dist/lib/search-index/max-doc-bytes.js +0 -463
  1082. package/dist/lib/search-index/qmd-exit-diagnostics.d.ts +0 -5
  1083. package/dist/lib/search-index/qmd-exit-diagnostics.js +0 -40
  1084. package/dist/lib/search-index/reindex-single-flight-flag.d.ts +0 -5
  1085. package/dist/lib/search-index/reindex-single-flight-flag.js +0 -8
  1086. package/dist/lib/service-manager/index.d.ts +0 -42
  1087. package/dist/lib/service-manager/index.js +0 -105
  1088. package/dist/lib/service-manager/launchd.d.ts +0 -81
  1089. package/dist/lib/service-manager/launchd.js +0 -212
  1090. package/dist/lib/service-manager/systemd.d.ts +0 -19
  1091. package/dist/lib/service-manager/systemd.js +0 -72
  1092. package/dist/lib/service-manager/types.d.ts +0 -34
  1093. package/dist/lib/service-manager/types.js +0 -26
  1094. package/dist/lib/test-utils/isolated-flag-company-context.d.ts +0 -3
  1095. package/dist/lib/test-utils/isolated-flag-company-context.js +0 -18
  1096. package/dist/lib/work-context/bind-best.d.ts +0 -66
  1097. package/dist/lib/work-context/bind-best.js +0 -344
  1098. package/dist/lib/work-context/bind-calling-session.d.ts +0 -26
  1099. package/dist/lib/work-context/bind-calling-session.js +0 -63
  1100. package/dist/lib/work-context/company-rebind.d.ts +0 -23
  1101. package/dist/lib/work-context/company-rebind.js +0 -59
  1102. package/dist/lib/work-context/default-company.d.ts +0 -43
  1103. package/dist/lib/work-context/default-company.js +0 -83
  1104. package/dist/lib/work-context/outbox-quarantine-status-flag.d.ts +0 -4
  1105. package/dist/lib/work-context/outbox-quarantine-status-flag.js +0 -7
  1106. package/dist/lib/work-context/prd-sync.d.ts +0 -56
  1107. package/dist/lib/work-context/prd-sync.js +0 -197
  1108. package/dist/lib/work-context/preflight-contract.d.ts +0 -28
  1109. package/dist/lib/work-context/preflight-contract.js +0 -85
  1110. package/dist/lib/work-context/prompt-rebind.d.ts +0 -25
  1111. package/dist/lib/work-context/prompt-rebind.js +0 -85
  1112. package/dist/lib/work-context/windows-acl.d.ts +0 -123
  1113. package/dist/lib/work-context/windows-acl.js +0 -425
  1114. package/dist/lib/workers-registry/read.d.ts +0 -15
  1115. package/dist/lib/workers-registry/read.js +0 -17
  1116. package/dist/native-fast-route.d.ts +0 -7
  1117. package/dist/native-fast-route.js +0 -45
  1118. package/dist/node-network-compat-core.d.ts +0 -12
  1119. package/dist/node-network-compat-core.js +0 -41
  1120. package/dist/node-network-compat-fast.d.ts +0 -7
  1121. package/dist/node-network-compat-fast.js +0 -23
  1122. package/dist/secrets-env-fast-path.d.ts +0 -5
  1123. package/dist/secrets-env-fast-path.js +0 -16
  1124. package/dist/secrets-env-fast-route.d.ts +0 -18
  1125. package/dist/secrets-env-fast-route.js +0 -54
  1126. package/dist/utils/checkpoint-stamp-write-error.d.ts +0 -28
  1127. package/dist/utils/checkpoint-stamp-write-error.js +0 -99
  1128. package/dist/utils/cli-network-lifecycle.d.ts +0 -4
  1129. package/dist/utils/cli-network-lifecycle.js +0 -11
  1130. package/dist/utils/cognito-refresh-sentry.d.ts +0 -3
  1131. package/dist/utils/cognito-refresh-sentry.js +0 -49
  1132. package/dist/utils/console-origin.d.ts +0 -9
  1133. package/dist/utils/console-origin.js +0 -28
  1134. package/dist/utils/core-eval-trigger.d.ts +0 -4
  1135. package/dist/utils/core-eval-trigger.js +0 -88
  1136. package/dist/utils/exclusive-lock.d.ts +0 -32
  1137. package/dist/utils/exclusive-lock.js +0 -75
  1138. package/dist/utils/fast-stream-errors.d.ts +0 -12
  1139. package/dist/utils/fast-stream-errors.js +0 -18
  1140. package/dist/utils/files-browse-acl.d.ts +0 -5
  1141. package/dist/utils/files-browse-acl.js +0 -11
  1142. package/dist/utils/hq-core-yaml.d.ts +0 -10
  1143. package/dist/utils/hq-core-yaml.js +0 -40
  1144. package/dist/utils/hq-root-resolver.d.ts +0 -13
  1145. package/dist/utils/hq-root-resolver.js +0 -103
  1146. package/dist/utils/redact-url.d.ts +0 -14
  1147. package/dist/utils/redact-url.js +0 -218
  1148. package/dist/utils/scaffold-fast-import-guard.d.ts +0 -2
  1149. package/dist/utils/scaffold-fast-import-guard.js +0 -40
  1150. package/dist/utils/scaffold-packlist-guard.d.ts +0 -7
  1151. package/dist/utils/scaffold-packlist-guard.js +0 -23
  1152. package/dist/utils/scaffold-sibling-references.d.ts +0 -22
  1153. package/dist/utils/scaffold-sibling-references.js +0 -156
  1154. package/dist/utils/secret-load-availability.d.ts +0 -8
  1155. package/dist/utils/secret-load-availability.js +0 -54
  1156. package/dist/utils/staged-install.d.ts +0 -34
  1157. package/dist/utils/staged-install.js +0 -346
  1158. package/dist/utils/staged-npm-install.d.ts +0 -16
  1159. package/dist/utils/staged-npm-install.js +0 -264
  1160. package/dist/utils/sync-log-sources.d.ts +0 -15
  1161. package/dist/utils/sync-log-sources.js +0 -36
  1162. package/dist/utils/table-width.d.ts +0 -7
  1163. package/dist/utils/table-width.js +0 -15
  1164. package/dist/utils/update-command-supervisor.cjs +0 -247
  1165. package/dist/utils/upload-author.d.ts +0 -15
  1166. package/dist/utils/upload-author.js +0 -39
  1167. package/dist/utils/version-report.d.ts +0 -27
  1168. package/dist/utils/version-report.js +0 -105
  1169. package/dist/version-request.d.ts +0 -14
  1170. package/dist/version-request.js +0 -36
  1171. package/scripts/mesh-daemon-if-stale.mjs +0 -20
  1172. package/templates/reports/blank.md +0 -3
  1173. package/templates/reports/daily-digest.md +0 -11
  1174. package/templates/runbooks/update-report.md +0 -21
@@ -1,1018 +0,0 @@
1
- /** Native ports of policy-age-report.sh, policy-retire.sh, and
2
- * read-policy-frontmatter.sh. Runtime policy edits stay rooted at the caller's
3
- * live HQ tree; frontmatter extraction stays rooted at cwd. */
4
- import * as fs from 'node:fs';
5
- import * as path from 'node:path';
6
- import { policyValidatorDiagnostic } from '../lib/policy-validator.js';
7
- import { resolveLiveRoot, resolveBundledAsset } from '../utils/hq-roots.js';
8
- import { runBundledScript } from '../utils/run-bundled-script.js';
9
- import { describeCoreCommand } from './core-command-catalog.js';
10
- import { runPolicyFrontmatter as runPolicyFrontmatterImpl } from './core-policy-frontmatter.js';
11
- const POLICY_AGE_REPORT_ASSET = 'core/scripts/policy-age-report.sh';
12
- const POLICY_RETIRE_ASSET = 'core/scripts/policy-retire.sh';
13
- const POLICY_FRONTMATTER_ASSET = 'core/scripts/read-policy-frontmatter.sh';
14
- const AGE_HELP = [
15
- '# hq-core: public',
16
- '# policy-age-report.sh — measure policy usage and flag retirement candidates',
17
- '# (2026-09-07).',
18
- '#',
19
- "# Why: nothing retired a policy. About 85% of one install's 1,251 personal",
20
- '# policies were machine-written, and the only "usage" signal was that the',
21
- '# loader printed them — which, above the host\'s output ceiling, meant nothing.',
22
- '# This report gives the fade-out its inputs. It does NOT delete anything; it',
23
- '# names candidates with the evidence, for a human (or /learn --retire) to act on.',
24
- '#',
25
- '# Signals per policy (from workspace/orchestrator/policy-trigger-state/*.txt,',
26
- '# one ledger per session, and the policy files themselves):',
27
- '# fired number of sessions whose ledger recorded the slug (emitted)',
28
- '# retrieved number of sessions that pulled the full text (record-policy-retrieval.sh)',
29
- '# last_fired newest ledger mtime that contains the slug (UTC date)',
30
- '# age_days days since frontmatter `created:` (or file mtime)',
31
- '# stale_refs backtick-quoted HQ-relative paths in the Rule text that no',
32
- '# longer exist on disk (an inaccuracy proxy). Only core/,',
33
- '# .claude/, companies/<co>/ paths are judged; lines that talk',
34
- '# about a path being deleted/removed/legacy are not dependencies;',
35
- '# a same-stem sibling (foo.sh -> foo.mjs) counts as renamed.',
36
- '# single_incident frontmatter source is a one-off (user-correction,',
37
- '# session-learning, back-pressure-failure) AND version == 1',
38
- '#',
39
- '# Candidate classes (--candidates):',
40
- '# never-fired fired == 0 and age_days >= --min-age (default 30)',
41
- '# dormant fired > 0 but last_fired older than --dormant-days (default 90)',
42
- '# stale-refs stale_refs > 0 (rule points at something that is gone)',
43
- '# single-incident-old single_incident, age_days >= --incident-days (default 60), and fired <= 1',
44
- '#',
45
- '# Usage:',
46
- ].join('\n') + '\n';
47
- const RETIRE_HELP = [
48
- '# hq-core: public',
49
- '# policy-retire.sh — retire (or restore) a policy without deleting it (2026-09-07).',
50
- '#',
51
- '# Why: nothing retired policies, so the corpus only grew. Retirement is a',
52
- '# frontmatter state, not a deletion: the file stays where it is (history,',
53
- '# grep-ability, restore), and every consumer skips `status: retired` — the',
54
- '# trigger loader, the company-bind digest, the age report.',
55
- '#',
56
- '# Usage:',
57
- '# policy-retire.sh <slug-or-path> --reason "<why>" [--by <who>]',
58
- '# policy-retire.sh <slug-or-path> --restore',
59
- '# policy-retire.sh --from-report <age-report.json> --class <never-fired|dormant|stale-refs|single-incident-old> --reason "<why>" [--yes]',
60
- '# policy-retire.sh --auto [--dir <policies-dir>]... [--classes a,b] [--report-dir <dir>] [--dry-run]',
61
- '#',
62
- '# --auto is the human-ON-the-loop mode (2026-09-07): it runs the age report,',
63
- '# retires every candidate with a per-policy reason, and writes a dated report',
64
- '# (default workspace/reports/policy-retirement-<date>.md) so a wrong call can',
65
- '# be found and reversed with --restore. Nobody approves in advance. Classes and',
66
- '# reasons:',
67
- '# never-fired never emitted in any session ledger, older than 30 days',
68
- '# dormant last emitted more than 90 days ago',
69
- ].join('\n') + '\n';
70
- function policyResult(code, stdout = '', stderr = '') {
71
- return { code, stdout: Buffer.from(stdout), stderr: Buffer.from(stderr) };
72
- }
73
- function expectedFsMiss(error) {
74
- const code = error.code;
75
- return code === 'ENOENT' || code === 'ENOTDIR' || code === 'EACCES' || code === 'ELOOP';
76
- }
77
- function fileText(filePath) {
78
- try {
79
- return fs.readFileSync(filePath, 'utf8');
80
- }
81
- catch (error) {
82
- // These shell reads are all redirected or guarded, so missing and denied
83
- // files contribute no text. Surface I/O and programming failures.
84
- if (expectedFsMiss(error))
85
- return undefined;
86
- throw error;
87
- }
88
- }
89
- function listFiles(directory) {
90
- try {
91
- return fs.readdirSync(directory).sort();
92
- }
93
- catch (error) {
94
- // The legacy find/glob paths tolerate absent and inaccessible directories.
95
- if (expectedFsMiss(error))
96
- return [];
97
- throw error;
98
- }
99
- }
100
- function statMtimeSeconds(filePath) {
101
- try {
102
- return Math.floor(fs.statSync(filePath).mtimeMs / 1000);
103
- }
104
- catch (error) {
105
- if (expectedFsMiss(error))
106
- return undefined;
107
- throw error;
108
- }
109
- }
110
- function isFile(filePath) {
111
- try {
112
- return fs.statSync(filePath).isFile();
113
- }
114
- catch (error) {
115
- if (expectedFsMiss(error))
116
- return false;
117
- throw error;
118
- }
119
- }
120
- function isSymlink(filePath) {
121
- try {
122
- return fs.lstatSync(filePath).isSymbolicLink();
123
- }
124
- catch (error) {
125
- if (expectedFsMiss(error))
126
- return false;
127
- throw error;
128
- }
129
- }
130
- function dirExists(directory) {
131
- try {
132
- return fs.statSync(directory).isDirectory();
133
- }
134
- catch (error) {
135
- if (expectedFsMiss(error))
136
- return false;
137
- throw error;
138
- }
139
- }
140
- function frontmatterScalar(file, key) {
141
- const body = fileText(file);
142
- if (body === undefined)
143
- return '';
144
- const lines = body.split('\n');
145
- let depth = 0;
146
- for (let index = 0; index < lines.length; index += 1) {
147
- const line = lines[index];
148
- if (index === 0 && !line.startsWith('---'))
149
- return '';
150
- if (line.startsWith('---')) {
151
- depth += 1;
152
- if (depth === 2)
153
- break;
154
- continue;
155
- }
156
- if (depth !== 1)
157
- continue;
158
- const match = line.match(new RegExp(`^${key}:[ \\t]*(.*)$`));
159
- if (!match)
160
- continue;
161
- let value = match[1] ?? '';
162
- if (key === 'id')
163
- value = value.replace(/^["']|["']$/g, '');
164
- if (key === 'source' || key === 'created')
165
- value = value.replaceAll('"', '');
166
- if (key === 'created')
167
- return value.slice(0, 10);
168
- return value;
169
- }
170
- return '';
171
- }
172
- function ruleBody(file) {
173
- const text = fileText(file) ?? '';
174
- const lines = text.split('\n');
175
- const body = [];
176
- let inside = false;
177
- for (const line of lines) {
178
- if (line === '## Rule') {
179
- inside = true;
180
- continue;
181
- }
182
- if (inside && line.startsWith('## '))
183
- break;
184
- if (inside)
185
- body.push(line);
186
- }
187
- return body.join('\n');
188
- }
189
- function extractRulePaths(file) {
190
- const skipLine = /(deleted|removed|retired|deprecated|no longer|not exist|never (call|use|run|read)|do not (call|use|run|read)|must not|instead of|was renamed|old path|legacy)/i;
191
- const paths = new Set();
192
- for (const line of ruleBody(file).split('\n')) {
193
- if (skipLine.test(line))
194
- continue;
195
- for (const match of line.matchAll(/`((?:core|personal|companies|repos|workspace|\.claude)\/[A-Za-z0-9_./-]+)`/g)) {
196
- const reference = match[1];
197
- const basename = path.posix.basename(reference);
198
- if (/^(foo|bar|baz|example|placeholder|sample|your-|my-|x\.sh|dummy)/.test(basename))
199
- continue;
200
- if (/[{}*]/.test(reference))
201
- continue;
202
- paths.add(reference);
203
- }
204
- }
205
- return [...paths].sort();
206
- }
207
- function shellReferenceStem(reference) {
208
- const lastDot = reference.lastIndexOf('.');
209
- return lastDot === -1 ? reference : reference.slice(0, lastDot);
210
- }
211
- function shellLsExtensionGlobHasMatch(root, stem) {
212
- const patternPath = path.join(root, `${stem}.*`);
213
- const directory = path.dirname(patternPath);
214
- const basenamePattern = path.basename(patternPath);
215
- const literalPrefix = basenamePattern.slice(0, -1);
216
- let entries;
217
- try {
218
- entries = fs.readdirSync(directory);
219
- }
220
- catch (error) {
221
- if (expectedFsMiss(error))
222
- return false;
223
- throw error;
224
- }
225
- // Bash 5.2 enables globskipdots by default, so `.*` only matches when the
226
- // directory has an actual hidden entry. readdir omits `.` and `..`.
227
- return entries.some((entry) => entry.startsWith(literalPrefix));
228
- }
229
- function refSummary(file, root) {
230
- const refs = extractRulePaths(file);
231
- const judged = refs.filter((reference) => {
232
- if (!(reference.startsWith('core/') || reference.startsWith('.claude/') || reference.startsWith('companies/')))
233
- return false;
234
- if (reference.startsWith('.claude/state/') || reference.startsWith('.claude/worktrees/') || reference.startsWith('core/packages/'))
235
- return false;
236
- return true;
237
- });
238
- const stale = [];
239
- const renamed = [];
240
- for (const reference of refs) {
241
- if (reference.startsWith('.claude/state/') || reference.startsWith('.claude/worktrees/') || reference.startsWith('core/packages/'))
242
- continue;
243
- if (!(reference.startsWith('core/') || reference.startsWith('.claude/'))) {
244
- if (!reference.startsWith('companies/'))
245
- continue;
246
- const company = reference.slice('companies/'.length).split('/')[0];
247
- if (!dirExists(path.join(root, 'companies', company)))
248
- continue;
249
- }
250
- if (fs.existsSync(path.join(root, reference)))
251
- continue;
252
- const stem = shellReferenceStem(reference);
253
- const hasSibling = shellLsExtensionGlobHasMatch(root, stem);
254
- if (hasSibling)
255
- renamed.push(reference);
256
- else
257
- stale.push(reference);
258
- }
259
- return { stale, renamed, judged: judged.length };
260
- }
261
- function epochFromDate(value) {
262
- if (!value)
263
- return 0;
264
- const parsed = Date.parse(`${value}T00:00:00Z`);
265
- if (!Number.isFinite(parsed) || new Date(parsed).toISOString().slice(0, 10) !== value)
266
- return 0;
267
- return Math.floor(parsed / 1000);
268
- }
269
- function countLedgerRows(directory, withMtime, recursive) {
270
- const counts = new Map();
271
- const newest = new Map();
272
- let anyFiles = false;
273
- let stderr = '';
274
- const walk = (current) => {
275
- for (const entry of listFiles(current)) {
276
- const full = path.join(current, entry);
277
- let stat;
278
- try {
279
- stat = fs.lstatSync(full);
280
- }
281
- catch (error) {
282
- if (expectedFsMiss(error))
283
- continue;
284
- throw error;
285
- }
286
- if (stat.isSymbolicLink())
287
- continue;
288
- if (stat.isDirectory() && recursive) {
289
- walk(full);
290
- continue;
291
- }
292
- if (!stat.isFile() || !entry.endsWith('.txt'))
293
- continue;
294
- anyFiles = true;
295
- let content;
296
- try {
297
- content = fs.readFileSync(full, 'utf8');
298
- }
299
- catch (error) {
300
- const code = error.code;
301
- if (withMtime && (code === 'EACCES' || code === 'EPERM')) {
302
- stderr += `awk: fatal: cannot open file \`${full}' for reading: Permission denied\n`;
303
- continue;
304
- }
305
- if (expectedFsMiss(error))
306
- continue;
307
- throw error;
308
- }
309
- const mtime = Math.floor(stat.mtimeMs / 1000);
310
- for (const line of content.split('\n')) {
311
- const slug = line.trim().split(/[ \t\r\f\v]+/)[0];
312
- if (!slug)
313
- continue;
314
- counts.set(slug, (counts.get(slug) ?? 0) + 1);
315
- if (withMtime)
316
- newest.set(slug, Math.max(newest.get(slug) ?? 0, mtime));
317
- }
318
- }
319
- };
320
- if (dirExists(directory))
321
- walk(directory);
322
- return { counts, newest, anyFiles, stderr };
323
- }
324
- function parseAgeOptions(args, scriptPath) {
325
- const dirs = [];
326
- let json = false;
327
- let candidates = false;
328
- let minAge = '30';
329
- let dormantDays = '90';
330
- let incidentDays = '60';
331
- for (let index = 0; index < args.length;) {
332
- const arg = args[index];
333
- if (arg === '--dir' || arg === '--min-age' || arg === '--dormant-days' || arg === '--incident-days') {
334
- if (index + 1 >= args.length) {
335
- const line = arg === '--dir' ? 41 : arg === '--min-age' ? 44 : arg === '--dormant-days' ? 45 : 46;
336
- return { kind: 'error', result: policyResult(1, '', `${scriptPath}: line ${line}: $2: unbound variable\n`) };
337
- }
338
- const value = args[index + 1];
339
- if (arg === '--dir')
340
- dirs.push(value);
341
- else if (arg === '--min-age')
342
- minAge = value;
343
- else if (arg === '--dormant-days')
344
- dormantDays = value;
345
- else
346
- incidentDays = value;
347
- index += 2;
348
- }
349
- else if (arg === '--json') {
350
- json = true;
351
- index += 1;
352
- }
353
- else if (arg === '--candidates') {
354
- candidates = true;
355
- index += 1;
356
- }
357
- else if (arg === '-h' || arg === '--help')
358
- return { kind: 'help' };
359
- else
360
- return { kind: 'error', result: policyResult(2, '', `policy-age-report: unknown arg ${arg}\n`) };
361
- }
362
- return { kind: 'options', dirs, json, candidates, minAge, dormantDays, incidentDays };
363
- }
364
- const BASH_INTEGER_MIN = -(1n << 63n);
365
- const BASH_INTEGER_MAX = (1n << 63n) - 1n;
366
- function bashInteger(value) {
367
- if (!/^[+-]?[0-9]+$/.test(value))
368
- return undefined;
369
- const parsed = BigInt(value);
370
- return parsed < BASH_INTEGER_MIN || parsed > BASH_INTEGER_MAX ? undefined : parsed;
371
- }
372
- function bashTestGreaterOrEqual(left, right, scriptPath, line) {
373
- const parsed = bashInteger(right);
374
- if (parsed === undefined) {
375
- return {
376
- value: false,
377
- stderr: `${scriptPath}: line ${line}: [: ${right}: integer expression expected\n`,
378
- };
379
- }
380
- return { value: BigInt(left) >= parsed, stderr: '' };
381
- }
382
- export function runPolicyAgeReport(args, root, env = process.env, nowEpoch = Math.floor(Date.now() / 1000)) {
383
- const parsed = parseAgeOptions(args, resolveBundledAsset(POLICY_AGE_REPORT_ASSET));
384
- if (parsed.kind === 'help')
385
- return policyResult(0, AGE_HELP);
386
- if (parsed.kind === 'error')
387
- return parsed.result;
388
- let now = nowEpoch;
389
- try {
390
- if (env.HQ_POLICY_REPORT_NOW_EPOCH) {
391
- const epoch = bashInteger(env.HQ_POLICY_REPORT_NOW_EPOCH);
392
- if (epoch === undefined) {
393
- const value = env.HQ_POLICY_REPORT_NOW_EPOCH;
394
- if (/^[A-Za-z_][A-Za-z0-9_]*$/.test(value)) {
395
- throw new Error(`${resolveBundledAsset(POLICY_AGE_REPORT_ASSET)}: line 96: ${value}: unbound variable`);
396
- }
397
- throw new Error(`${resolveBundledAsset(POLICY_AGE_REPORT_ASSET)}: line 96: ${value}: invalid arithmetic value`);
398
- }
399
- now = Number(epoch);
400
- }
401
- }
402
- catch (error) {
403
- return policyResult(1, '', `${String(error.message)}\n`);
404
- }
405
- const ledgerDir = env.HQ_POLICY_LEDGER_DIR || path.join(root, 'workspace/orchestrator/policy-trigger-state');
406
- const retrievalDir = env.HQ_POLICY_RETRIEVAL_LEDGER_DIR || path.join(root, 'workspace/orchestrator/policy-retrieval-state');
407
- const usage = countLedgerRows(ledgerDir, true, true);
408
- const retrieval = countLedgerRows(retrievalDir, false, false);
409
- const dirs = parsed.dirs.length > 0 ? parsed.dirs : [path.join(root, 'personal/policies'), path.join(root, 'core/policies')];
410
- const rows = [];
411
- let stderr = usage.stderr + retrieval.stderr;
412
- for (const requestedDir of dirs) {
413
- const directory = path.isAbsolute(requestedDir) ? requestedDir : path.join(root, requestedDir);
414
- if (!dirExists(directory))
415
- continue;
416
- for (const basename of listFiles(directory)) {
417
- if (!basename.endsWith('.md') || basename === 'README.md' || basename === 'example-policy.md' || basename.startsWith('_digest') || basename.includes(' ') || basename.includes('.conflict-') || basename.includes('.sync-conflict-'))
418
- continue;
419
- const file = path.join(directory, basename);
420
- if (!isFile(file) || isSymlink(file))
421
- continue;
422
- const text = fileText(file);
423
- if (text === undefined)
424
- continue;
425
- if (/^status: retired/m.test(text))
426
- continue;
427
- const id = frontmatterScalar(file, 'id') || basename.slice(0, -3);
428
- const enforcement = frontmatterScalar(file, 'enforcement') || 'unset';
429
- const source = frontmatterScalar(file, 'source');
430
- const version = frontmatterScalar(file, 'version');
431
- const createdEpoch = epochFromDate(frontmatterScalar(file, 'created')) || statMtimeSeconds(file) || 0;
432
- const ageDays = Math.trunc((now - createdEpoch) / 86400);
433
- const fired = usage.counts.get(id) ?? 0;
434
- const lastEpoch = usage.newest.get(id);
435
- const lastFired = lastEpoch === undefined ? null : new Date(lastEpoch * 1000).toISOString().slice(0, 10);
436
- const lastAge = lastEpoch === undefined ? -1 : Math.trunc((now - lastEpoch) / 86400);
437
- const retrieved = retrieval.counts.get(id) ?? 0;
438
- const refs = refSummary(file, root);
439
- const singleIncident = ['user-correction', 'session-learning', 'back-pressure-failure'].includes(source) && (version || '1') === '1';
440
- const classes = [];
441
- if (fired === 0) {
442
- const comparison = bashTestGreaterOrEqual(ageDays, parsed.minAge, resolveBundledAsset(POLICY_AGE_REPORT_ASSET), 130);
443
- stderr += comparison.stderr;
444
- if (comparison.value && usage.anyFiles)
445
- classes.push('never-fired');
446
- }
447
- if (fired > 0) {
448
- const comparison = bashTestGreaterOrEqual(lastAge, parsed.dormantDays, resolveBundledAsset(POLICY_AGE_REPORT_ASSET), 131);
449
- stderr += comparison.stderr;
450
- if (comparison.value)
451
- classes.push('dormant');
452
- }
453
- if (refs.stale.length > 0)
454
- classes.push('stale-refs');
455
- if (refs.renamed.length > 0)
456
- classes.push('renamed-refs');
457
- if (singleIncident) {
458
- const comparison = bashTestGreaterOrEqual(ageDays, parsed.incidentDays, resolveBundledAsset(POLICY_AGE_REPORT_ASSET), 135);
459
- stderr += comparison.stderr;
460
- if (comparison.value && fired <= 1)
461
- classes.push('single-incident-old');
462
- }
463
- let displayPath = file.startsWith(`${root}/`) ? file.slice(root.length + 1) : file;
464
- if (!path.isAbsolute(file) && !file.startsWith(`${root}/`))
465
- displayPath = file;
466
- rows.push({
467
- id,
468
- path: displayPath,
469
- enforcement,
470
- age_days: ageDays,
471
- fired,
472
- last_fired: lastFired,
473
- stale_refs: refs.stale,
474
- single_incident: singleIncident,
475
- candidate_classes: classes,
476
- retrieved,
477
- refs_judged: refs.judged,
478
- renamed_refs: refs.renamed,
479
- });
480
- }
481
- }
482
- if (parsed.json) {
483
- const selected = parsed.candidates ? rows.filter((row) => row.candidate_classes.length > 0) : rows;
484
- return policyResult(0, `${JSON.stringify(selected)}\n`, stderr);
485
- }
486
- const never = rows.filter((row) => row.fired === 0).length;
487
- const staleTotal = rows.filter((row) => row.stale_refs.length > 0).length;
488
- const candidateCount = rows.filter((row) => row.candidate_classes.length > 0).length;
489
- let stdout = `policy-age-report: ${rows.length} policies, ${never} never fired, ${staleTotal} with stale references, ${candidateCount} retirement candidates (min-age ${parsed.minAge}d, dormant ${parsed.dormantDays}d, incident ${parsed.incidentDays}d)\n`;
490
- if (!parsed.candidates)
491
- stdout += ' (add --candidates to list them, --json for machine-readable rows)\n';
492
- else {
493
- const lines = rows.filter((row) => row.candidate_classes.length > 0).map((row) => ` ${row.candidate_classes.join(',').padEnd(14)} ${row.id.padEnd(60)} fired=${String(row.fired).padEnd(4)} last=${(row.last_fired ?? '-').padEnd(10)} age=${String(row.age_days).padEnd(4)}d ${row.stale_refs.length > 0 ? `stale:${row.stale_refs.join(',')}` : ''}`);
494
- stdout += `${lines.sort().map((line) => `${line}\n`).join('')}`;
495
- }
496
- return policyResult(0, stdout, stderr);
497
- }
498
- export function runPolicyFrontmatter(args, cwd) {
499
- return runPolicyFrontmatterImpl(args, cwd);
500
- }
501
- function parseRetireOptions(args, scriptPath, env) {
502
- const value = {
503
- auto: false,
504
- dryRun: false,
505
- dirs: [],
506
- reportDir: '',
507
- classes: '',
508
- reason: '',
509
- by: env.HQ_SESSION_ID || env.USER || 'unknown',
510
- restore: false,
511
- report: '',
512
- className: '',
513
- yes: false,
514
- target: '',
515
- };
516
- const optionsWithValues = new Map([
517
- ['--dir', 'dirs'],
518
- ['--report-dir', 'reportDir'],
519
- ['--classes', 'classes'],
520
- ['--reason', 'reason'],
521
- ['--by', 'by'],
522
- ['--from-report', 'report'],
523
- ['--class', 'className'],
524
- ]);
525
- for (let index = 0; index < args.length;) {
526
- const arg = args[index];
527
- if (arg === '--auto') {
528
- value.auto = true;
529
- index += 1;
530
- continue;
531
- }
532
- if (arg === '--dry-run') {
533
- value.dryRun = true;
534
- index += 1;
535
- continue;
536
- }
537
- if (arg === '--restore') {
538
- value.restore = true;
539
- index += 1;
540
- continue;
541
- }
542
- if (arg === '--yes') {
543
- value.yes = true;
544
- index += 1;
545
- continue;
546
- }
547
- if (arg === '-h' || arg === '--help')
548
- return { kind: 'help' };
549
- const key = optionsWithValues.get(arg);
550
- if (key !== undefined) {
551
- if (index + 1 >= args.length) {
552
- const lineByOption = {
553
- '--dir': 44,
554
- '--report-dir': 45,
555
- '--classes': 46,
556
- '--reason': 47,
557
- '--by': 48,
558
- '--from-report': 50,
559
- '--class': 51,
560
- };
561
- return { kind: 'error', result: policyResult(1, '', `${scriptPath}: line ${lineByOption[arg]}: $2: unbound variable\n`) };
562
- }
563
- const next = args[index + 1];
564
- if (key === 'dirs')
565
- value.dirs.push(next);
566
- else
567
- value[key] = next;
568
- index += 2;
569
- continue;
570
- }
571
- if (arg.startsWith('-'))
572
- return { kind: 'error', result: policyResult(2, '', `policy-retire: unknown arg ${arg}\n`) };
573
- value.target = arg;
574
- index += 1;
575
- }
576
- return { kind: 'options', value };
577
- }
578
- function firstLine(content) {
579
- const end = content.indexOf(0x0a);
580
- if (end === -1)
581
- return content.length > 0 ? content : undefined;
582
- return content.subarray(0, end);
583
- }
584
- function awkRecords(content) {
585
- const records = [];
586
- let start = 0;
587
- while (start < content.length) {
588
- const end = content.indexOf(0x0a, start);
589
- if (end === -1) {
590
- records.push(content.subarray(start));
591
- break;
592
- }
593
- records.push(content.subarray(start, end));
594
- start = end + 1;
595
- }
596
- return records;
597
- }
598
- function rewriteStatus(content, status, reason, by, now) {
599
- const output = [];
600
- let depth = 0;
601
- let done = false;
602
- for (const record of awkRecords(content)) {
603
- const line = record.toString('latin1');
604
- if (/^---[ \t]*$/.test(line)) {
605
- depth += 1;
606
- if (depth === 2 && !done) {
607
- if (status === 'retired') {
608
- output.push(Buffer.from(`status: retired\nretired_at: ${now.toISOString().replace(/\.\d{3}Z$/, 'Z')}\nretired_by: ${by}\nretired_reason: "${reason}"\n`));
609
- }
610
- done = true;
611
- }
612
- output.push(record, Buffer.from('\n'));
613
- continue;
614
- }
615
- if (depth === 1 && /^(status|retired_at|retired_by|retired_reason):/.test(line))
616
- continue;
617
- output.push(record, Buffer.from('\n'));
618
- }
619
- return Buffer.concat(output);
620
- }
621
- function setPolicyStatus(filePath, status, reason, by, env, now, cwd = process.cwd()) {
622
- const resolvedPath = path.isAbsolute(filePath) ? filePath : path.resolve(cwd, filePath);
623
- let content;
624
- try {
625
- content = fs.readFileSync(resolvedPath);
626
- }
627
- catch (error) {
628
- if (expectedFsMiss(error))
629
- return { ok: false, error: `policy-retire: ${filePath} has no frontmatter\n` };
630
- throw error;
631
- }
632
- if (!firstLine(content)?.toString('latin1').startsWith('---')) {
633
- return { ok: false, error: `policy-retire: ${filePath} has no frontmatter\n` };
634
- }
635
- const diagnostic = policyValidatorDiagnostic(content.toString('utf8'), resolvedPath, env);
636
- if (diagnostic !== undefined) {
637
- // Bash command substitution in policy-retire.sh strips all trailing newlines
638
- // from the validator output before printf adds its single final newline.
639
- const trimmedDiagnostic = diagnostic.replace(/\n+$/, '');
640
- return {
641
- ok: false,
642
- error: `policy-retire: refusing to write ${filePath}; canonical policy validation failed:\n${trimmedDiagnostic}\n`,
643
- };
644
- }
645
- const tempPath = `${resolvedPath}.tmp`;
646
- fs.writeFileSync(tempPath, rewriteStatus(content, status, reason, by, now), { mode: 0o666 });
647
- fs.renameSync(tempPath, filePath);
648
- return { ok: true };
649
- }
650
- function displayPolicyPath(filePath, root) {
651
- return filePath.startsWith(`${root}/`) ? filePath.slice(root.length + 1) : filePath;
652
- }
653
- function resolvePolicyTarget(target, root, cwd) {
654
- let found = isFile(path.isAbsolute(target) ? target : path.resolve(cwd, target))
655
- ? (path.isAbsolute(target) ? target : target)
656
- : undefined;
657
- if (found === undefined) {
658
- const dirs = [path.join(root, 'personal/policies'), path.join(root, 'core/policies')];
659
- const companies = listFiles(path.join(root, 'companies')).map((name) => path.join(root, 'companies', name, 'policies'));
660
- dirs.push(...companies);
661
- for (const directory of dirs) {
662
- if (isFile(path.join(directory, `${target}.md`))) {
663
- found = path.join(directory, `${target}.md`);
664
- break;
665
- }
666
- if (isFile(path.join(directory, target))) {
667
- found = path.join(directory, target);
668
- break;
669
- }
670
- }
671
- }
672
- if (found === undefined)
673
- return undefined;
674
- if (!isSymlink(path.isAbsolute(found) ? found : path.resolve(cwd, found)))
675
- return found;
676
- try {
677
- return fs.realpathSync(path.isAbsolute(found) ? found : path.resolve(cwd, found));
678
- }
679
- catch (error) {
680
- if (expectedFsMiss(error)) {
681
- try {
682
- return fs.readlinkSync(path.isAbsolute(found) ? found : path.resolve(cwd, found));
683
- }
684
- catch (readError) {
685
- if (expectedFsMiss(readError))
686
- return undefined;
687
- throw readError;
688
- }
689
- }
690
- throw error;
691
- }
692
- }
693
- function sessionCompanySlug(root, env) {
694
- const valid = (candidate) => candidate !== '' && candidate !== '.' && candidate !== '..' && /^[A-Za-z0-9._-]+$/.test(candidate);
695
- const candidates = ['HQ_SESSION_ID', 'CLAUDE_CODE_SESSION_ID', 'CLAUDE_SESSION_ID', 'CODEX_SESSION_ID', 'CODEX_THREAD_ID', 'GROK_SESSION_ID'];
696
- let sessionId = '';
697
- for (const variable of candidates) {
698
- const value = (env[variable] ?? '').replace(/[\s\u00a0]+/g, '');
699
- if (valid(value)) {
700
- sessionId = value;
701
- break;
702
- }
703
- }
704
- if (!sessionId) {
705
- const current = fileText(path.join(root, 'workspace/sessions/.current')) ?? '';
706
- const value = current.replace(/[\s\u00a0]+/g, '');
707
- if (valid(value))
708
- sessionId = value;
709
- }
710
- if (!sessionId)
711
- return '';
712
- const metadata = fileText(path.join(root, 'workspace/sessions', sessionId, 'meta.yaml'));
713
- if (metadata === undefined)
714
- return '';
715
- for (const line of metadata.split('\n')) {
716
- if (line.trim().split(/[ \t]+/)[0] !== 'company_slug:')
717
- continue;
718
- return line.replace(/^[^:]+:[ \t]*/, '').replace(/^["]|["]$/g, '');
719
- }
720
- return '';
721
- }
722
- function resolveAutoDirs(options, root, env) {
723
- if (options.dirs.length > 0)
724
- return options.dirs;
725
- const dirs = [path.join(root, 'personal/policies')];
726
- const company = sessionCompanySlug(root, env);
727
- if (company && company !== 'personal' && dirExists(path.join(root, 'companies', company, 'policies'))) {
728
- dirs.push(path.join(root, 'companies', company, 'policies'));
729
- }
730
- return dirs;
731
- }
732
- function autoRetire(options, root, cwd, env, now) {
733
- const dirs = resolveAutoDirs(options, root, env);
734
- const ageArgs = dirs.flatMap((directory) => ['--dir', directory]).concat(['--json', '--candidates']);
735
- const report = runPolicyAgeReport(ageArgs, root, env, Math.floor(now.getTime() / 1000));
736
- const json = report.code === 0 ? report.stdout.toString('utf8') : '[]';
737
- let candidates;
738
- try {
739
- candidates = JSON.parse(json);
740
- }
741
- catch (error) {
742
- throw new Error(`policy-retire: in-process age report returned invalid JSON: ${String(error)}`);
743
- }
744
- const today = now.toISOString().slice(0, 10);
745
- const reportDir = options.reportDir || path.join(root, 'workspace/reports');
746
- const outputPath = path.join(reportDir, `policy-retirement-${today}.md`);
747
- const tempPath = `${outputPath}.tmp`;
748
- fs.mkdirSync(reportDir, { recursive: true });
749
- let reportText = '';
750
- if (!isFile(outputPath)) {
751
- reportText += `# Automatic policy retirement — ${today}\n\nMode: human on the loop. Each policy below was retired by \`policy-retire.sh --auto\` with the reason shown.\nReverse any wrong call with \`bash core/scripts/policy-retire.sh <slug> --restore\` and fix the rule that produced it.\n\n`;
752
- }
753
- reportText += `## Run ${now.toISOString().slice(11, 19)}Z — dirs: ${dirs.join(' ')}\n\n`;
754
- fs.writeFileSync(tempPath, reportText);
755
- let retired = 0;
756
- let failed = 0;
757
- let needfix = 0;
758
- let wouldRetire = 0;
759
- let stdout = '';
760
- let stderr = '';
761
- for (const candidate of candidates) {
762
- if (!candidate.path)
763
- continue;
764
- let file = path.join(root, candidate.path);
765
- if (!isFile(file))
766
- file = candidate.path;
767
- if (!isFile(path.isAbsolute(file) ? file : path.resolve(cwd, file)))
768
- continue;
769
- const resolvedForRead = path.isAbsolute(file) ? file : path.resolve(cwd, file);
770
- const text = fileText(resolvedForRead) ?? '';
771
- if (/^status: retired/m.test(text))
772
- continue;
773
- let classes = candidate.candidate_classes.join(',');
774
- if (options.classes) {
775
- const keep = [];
776
- for (const name of options.classes.replaceAll(',', ' ').split(/[ \t\n]+/).filter(Boolean)) {
777
- if (classes.split(',').includes(name))
778
- keep.push(name);
779
- }
780
- classes = keep.join(',');
781
- if (!classes)
782
- continue;
783
- }
784
- let why = '';
785
- if (classes.split(',').includes('renamed-refs')) {
786
- reportText += `- needs-fix (not retired) **${candidate.id}** (${candidate.path}): referenced file was renamed: ${candidate.renamed_refs.join(', ')}\n`;
787
- needfix += 1;
788
- }
789
- if (classes.split(',').includes('stale-refs')) {
790
- if (candidate.refs_judged > 0 && candidate.stale_refs.length === candidate.refs_judged) {
791
- why = `every path the rule depends on is gone (${candidate.stale_refs.join(', ')})`;
792
- }
793
- else {
794
- reportText += `- needs-fix (not retired) **${candidate.id}** (${candidate.path}): references gone: ${candidate.stale_refs.join(', ')}\n`;
795
- needfix += 1;
796
- }
797
- }
798
- if (classes.split(',').includes('never-fired'))
799
- why = `${why ? `${why}; ` : ''}never emitted in any session ledger over ${candidate.age_days} days`;
800
- if (classes.split(',').includes('dormant'))
801
- why = `${why ? `${why}; ` : ''}last emitted ${candidate.last_fired ?? 'never'}, more than the dormant window ago`;
802
- if (classes.split(',').includes('single-incident-old'))
803
- why = `${why ? `${why}; ` : ''}one-off correction, ${candidate.age_days} days old, fired ${candidate.fired}x`;
804
- if (!why)
805
- continue;
806
- if (options.dryRun) {
807
- stdout += `would retire: ${candidate.id} — ${why}\n`;
808
- wouldRetire += 1;
809
- continue;
810
- }
811
- const updated = setPolicyStatus(resolvedForRead, 'retired', `auto: ${why}`, options.by, env, now);
812
- if (updated.ok) {
813
- stdout += `retired: ${candidate.id} — ${why}\n`;
814
- reportText += `- **${candidate.id}** (${candidate.path}): ${why}\n`;
815
- retired += 1;
816
- }
817
- else {
818
- stderr += updated.error;
819
- stderr += `failed: ${candidate.id} (${candidate.path}); policy was not retired\n`;
820
- reportText += `- failed (not retired) **${candidate.id}** (${candidate.path}): canonical policy validation failed\n`;
821
- failed += 1;
822
- }
823
- }
824
- if (options.dryRun) {
825
- fs.rmSync(tempPath, { force: true });
826
- stdout += `policy-retire --auto: ${wouldRetire} of ${candidates.length} candidates would be retired (dry run)\n`;
827
- }
828
- else if (retired > 0 || failed > 0 || needfix > 0) {
829
- fs.appendFileSync(outputPath, fs.readFileSync(tempPath));
830
- fs.rmSync(tempPath, { force: true });
831
- stdout += `policy-retire --auto: ${retired} retired, ${failed} failed, ${needfix} need a fix; report ${displayPolicyPath(outputPath, root)}\n`;
832
- }
833
- else {
834
- fs.rmSync(tempPath, { force: true });
835
- stdout += 'policy-retire --auto: nothing to retire\n';
836
- }
837
- return policyResult(failed > 0 ? 1 : 0, stdout, stderr);
838
- }
839
- function fromReport(options, root, cwd, env, now) {
840
- if (!options.className || !options.reason)
841
- return policyResult(2, '', '--from-report needs --class and --reason\n');
842
- const reportPath = path.isAbsolute(options.report) ? options.report : path.resolve(cwd, options.report);
843
- let reportText;
844
- try {
845
- reportText = fs.readFileSync(reportPath, 'utf8');
846
- }
847
- catch (error) {
848
- if (expectedFsMiss(error))
849
- return policyResult(2, '', `cannot read ${options.report}\n`);
850
- throw error;
851
- }
852
- let report;
853
- try {
854
- report = JSON.parse(reportText);
855
- }
856
- catch {
857
- return policyResult(2, '', `policy-retire: invalid JSON report ${options.report}\n`);
858
- }
859
- const rows = Array.isArray(report)
860
- ? report
861
- : report !== null && typeof report === 'object'
862
- ? Object.values(report)
863
- : [];
864
- let retired = 0;
865
- let failed = 0;
866
- let selected = 0;
867
- let stdout = '';
868
- let stderr = report === null
869
- ? `jq: error (at ${reportPath}:0): Cannot iterate over null (null)\n`
870
- : '';
871
- for (const value of rows) {
872
- if (value === null || typeof value !== 'object' || Array.isArray(value))
873
- continue;
874
- const row = value;
875
- const candidateClasses = row.candidate_classes;
876
- const matchesClass = Array.isArray(candidateClasses)
877
- ? candidateClasses.includes(options.className)
878
- : typeof candidateClasses === 'string' && candidateClasses.includes(options.className);
879
- const reportPath = typeof row.path === 'string' ? row.path : '';
880
- if (!matchesClass || !reportPath)
881
- continue;
882
- const file = path.join(root, reportPath);
883
- if (!isFile(file))
884
- continue;
885
- if (/^status: retired/m.test(fileText(file) ?? ''))
886
- continue;
887
- selected += 1;
888
- const reportId = typeof row.id === 'string' ? row.id : String(row.id ?? 'null');
889
- if (!options.yes) {
890
- stdout += `would retire: ${reportId} (${reportPath})\n`;
891
- continue;
892
- }
893
- const updated = setPolicyStatus(file, 'retired', `${options.reason} [${options.className}]`, options.by, env, now, cwd);
894
- if (updated.ok) {
895
- retired += 1;
896
- stdout += `retired: ${reportId} (${reportPath})\n`;
897
- }
898
- else {
899
- failed += 1;
900
- stderr += `${updated.error}failed: ${reportId} (${reportPath}); policy was not retired\n`;
901
- }
902
- }
903
- if (options.yes) {
904
- stdout += `policy-retire: ${retired} retired [${options.className}]; ${failed} failed\n`;
905
- if (failed > 0)
906
- return policyResult(1, stdout, stderr);
907
- }
908
- else
909
- stdout += `policy-retire: ${selected} would be retired [${options.className}] (add --yes)\n`;
910
- return policyResult(0, stdout, stderr);
911
- }
912
- export function runPolicyRetire(args, root, cwd, env = process.env, now = new Date()) {
913
- const parsed = parseRetireOptions(args, resolveBundledAsset(POLICY_RETIRE_ASSET), env);
914
- if (parsed.kind === 'help')
915
- return policyResult(0, RETIRE_HELP);
916
- if (parsed.kind === 'error')
917
- return parsed.result;
918
- const options = parsed.value;
919
- if (options.auto)
920
- return autoRetire(options, root, cwd, env, now);
921
- if (options.report)
922
- return fromReport(options, root, cwd, env, now);
923
- if (!options.target)
924
- return policyResult(2, RETIRE_HELP);
925
- const file = resolvePolicyTarget(options.target, root, cwd);
926
- if (file === undefined)
927
- return policyResult(3, '', `policy-retire: no policy found for '${options.target}'\n`);
928
- if (options.restore) {
929
- const updated = setPolicyStatus(file, 'active', '', options.by, env, now, cwd);
930
- if (!updated.ok)
931
- return policyResult(1, '', updated.error);
932
- return policyResult(0, `policy-retire: restored ${displayPolicyPath(file, root)}\n`);
933
- }
934
- if (!options.reason)
935
- return policyResult(2, '', 'policy-retire: --reason is required\n');
936
- const updated = setPolicyStatus(file, 'retired', options.reason, options.by, env, now, cwd);
937
- if (!updated.ok)
938
- return policyResult(1, '', updated.error);
939
- return policyResult(0, `policy-retire: retired ${displayPolicyPath(file, root)} — ${options.reason}\n`);
940
- }
941
- function writeResult(result) {
942
- if (result.stdout.length > 0)
943
- process.stdout.write(result.stdout);
944
- if (result.stderr.length > 0)
945
- process.stderr.write(result.stderr);
946
- if (result.code !== 0)
947
- process.exitCode = result.code;
948
- }
949
- /** Fast-entry adapter; family gating and shell fallback happen before import. */
950
- export function runPolicyFast(args, _stdin, cwd, hqRoot, commandName) {
951
- let result;
952
- if (commandName === "frontmatter") {
953
- result = runPolicyFrontmatter(args, cwd);
954
- }
955
- else {
956
- const root = hqRoot ?? resolveLiveRoot();
957
- result = commandName === "age-report"
958
- ? runPolicyAgeReport(args, root)
959
- : runPolicyRetire(args, root, cwd);
960
- }
961
- writeResult(result);
962
- return result.code;
963
- }
964
- export function registerCorePolicyCommand(core) {
965
- const group = core.command('policy').description('Policy maintenance commands');
966
- const register = (name, asset, summary, rootKind) => {
967
- const command = group
968
- .command(name)
969
- .description(summary)
970
- .allowUnknownOption()
971
- .allowExcessArguments()
972
- .helpOption(false)
973
- .argument('[args...]', 'arguments passed through to the scaffold command');
974
- describeCoreCommand(command, { execution: 'native', asset, root: rootKind });
975
- return command;
976
- };
977
- const ageReport = register('age-report', POLICY_AGE_REPORT_ASSET, 'Report policy usage and retirement candidates', 'live');
978
- ageReport.action(async (args = [], _options, command) => {
979
- const operands = command.args.length > 0 ? command.args : args;
980
- const { coreNativePolicyEnabled } = await import('./core-native-policy-flag.js');
981
- if (!await coreNativePolicyEnabled()) {
982
- const root = resolveLiveRoot({ hqRoot: core.opts().hqRoot });
983
- const result = runBundledScript({ asset: POLICY_AGE_REPORT_ASSET, args: operands, cwd: process.cwd(), hqRoot: root });
984
- if (result.code !== 0)
985
- process.exitCode = result.code;
986
- return;
987
- }
988
- const root = resolveLiveRoot({ hqRoot: core.opts().hqRoot });
989
- writeResult(runPolicyAgeReport(operands, root));
990
- });
991
- const retire = register('retire', POLICY_RETIRE_ASSET, 'Retire or restore a policy', 'live');
992
- retire.action(async (args = [], _options, command) => {
993
- const operands = command.args.length > 0 ? command.args : args;
994
- const { coreNativePolicyEnabled } = await import('./core-native-policy-flag.js');
995
- if (!await coreNativePolicyEnabled()) {
996
- const root = resolveLiveRoot({ hqRoot: core.opts().hqRoot });
997
- const result = runBundledScript({ asset: POLICY_RETIRE_ASSET, args: operands, cwd: process.cwd(), hqRoot: root });
998
- if (result.code !== 0)
999
- process.exitCode = result.code;
1000
- return;
1001
- }
1002
- const root = resolveLiveRoot({ hqRoot: core.opts().hqRoot });
1003
- writeResult(runPolicyRetire(operands, root, process.cwd()));
1004
- });
1005
- const frontmatter = register('frontmatter', POLICY_FRONTMATTER_ASSET, 'Extract policy frontmatter', 'cwd');
1006
- frontmatter.action(async (args = [], _options, command) => {
1007
- const operands = command.args.length > 0 ? command.args : args;
1008
- const { coreNativePolicyEnabled } = await import('./core-native-policy-flag.js');
1009
- if (!await coreNativePolicyEnabled()) {
1010
- const result = runBundledScript({ asset: POLICY_FRONTMATTER_ASSET, args: operands, cwd: process.cwd() });
1011
- if (result.code !== 0)
1012
- process.exitCode = result.code;
1013
- return;
1014
- }
1015
- writeResult(runPolicyFrontmatter(operands, process.cwd()));
1016
- });
1017
- }
1018
- //# sourceMappingURL=core-policy.js.map