@cassiomc1/forgeloop 1.14.0 → 2.0.0-rc.4

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 (250) hide show
  1. package/CONTRIBUTING.md +11 -7
  2. package/DOCS_INDEX.md +2 -1
  3. package/ENG/c-development-eng.md +2 -2
  4. package/ENG/cpp-development-eng.md +2 -2
  5. package/ENG/dotnet-aspnetcore-development-eng.md +7 -1
  6. package/ENG/flutter-development-eng.md +4 -2
  7. package/ENG/go-development-eng.md +2 -2
  8. package/ENG/java-development-eng.md +3 -3
  9. package/ENG/nodejs-backend-development-eng.md +8 -4
  10. package/ENG/php-development-eng.md +3 -3
  11. package/ENG/python-development-eng.md +205 -0
  12. package/ENG/rust-development-eng.md +42 -1
  13. package/ENG/sql-development-eng.md +4 -4
  14. package/ENG/swift-development-eng.md +5 -4
  15. package/ENG/test-code-eng.md +1 -1
  16. package/ENG/typescript-development-eng.md +4 -4
  17. package/GUIDE_ROUTER.md +6 -0
  18. package/LICENSE +133 -21
  19. package/LOOP_SYSTEM_DESIGN.md +10 -10
  20. package/README.md +30 -40
  21. package/THIRD_PARTY_NOTICES.md +3 -4
  22. package/completions/_forgeloop +11 -3
  23. package/completions/forgeloop.bash +19 -3
  24. package/completions/forgeloop.fish +61 -1
  25. package/docs/AGENT_PROTOCOL_SUMMARY.md +50 -40
  26. package/docs/ARTIFACT_REFERENCE.md +50 -37
  27. package/docs/CLI_REFERENCE.md +147 -3
  28. package/docs/DOCUMENTATION_GUIDE.md +6 -4
  29. package/docs/GETTING_STARTED.md +3 -3
  30. package/docs/PACKAGE_CONTENTS.md +14 -13
  31. package/docs/RELEASE_CHECKLIST.md +110 -10
  32. package/docs/SELF_HOSTED_TESTS.md +121 -0
  33. package/docs/TROUBLESHOOTING.md +33 -0
  34. package/docs/documentation-manifest.json +25 -12
  35. package/package.json +15 -10
  36. package/schemas/task-bundle.schema.json +7 -2
  37. package/scripts/generate-agent-protocol-summary.mjs +2 -2
  38. package/scripts/run-mcp-clean-tests.mjs +30 -0
  39. package/src/adapters/agent-browser/provider.js +14 -11
  40. package/src/adapters/emulated-services/provider.js +11 -4
  41. package/src/adapters/temporary-paths.js +18 -0
  42. package/src/cli.js +146 -210
  43. package/src/commands/action-show.js +5 -2
  44. package/src/commands/advance.js +5 -1
  45. package/src/commands/baseline.js +13 -11
  46. package/src/commands/checkpoint-revalidate.js +24 -8
  47. package/src/commands/complete.js +19 -3
  48. package/src/commands/contract-create.js +3 -1
  49. package/src/commands/doctor.js +36 -13
  50. package/src/commands/gate-record.js +20 -31
  51. package/src/commands/gate-revalidate.js +11 -13
  52. package/src/commands/handoff-list.js +6 -1
  53. package/src/commands/handoff-show.js +6 -1
  54. package/src/commands/migrate-protocol.js +2 -2
  55. package/src/commands/model-route.js +9 -1
  56. package/src/commands/next.js +7 -1
  57. package/src/commands/policy-diff.js +25 -4
  58. package/src/commands/progress.js +17 -11
  59. package/src/commands/record-diagnosis.js +3 -0
  60. package/src/commands/semantic-plan.js +26 -2
  61. package/src/commands/status.js +6 -1
  62. package/src/commands/storage-backup.js +15 -0
  63. package/src/commands/storage-migrate.js +5 -0
  64. package/src/commands/storage-migration-resume.js +5 -0
  65. package/src/commands/storage-migration-status.js +44 -0
  66. package/src/commands/storage-restore-resume.js +7 -0
  67. package/src/commands/storage-restore.js +8 -0
  68. package/src/commands/task-abandon.js +1 -1
  69. package/src/commands/task-list.js +8 -43
  70. package/src/commands/task-migrate.js +3 -3
  71. package/src/commands/task-recover.js +10 -2
  72. package/src/commands/task-scope.js +18 -2
  73. package/src/commands/task-show.js +16 -2
  74. package/src/commands/validate-protocol.js +29 -14
  75. package/src/commands/validate-receipt.js +8 -1
  76. package/src/config/guides.json +4 -0
  77. package/src/core/action-ledger-projection.js +10 -3
  78. package/src/core/actions.js +38 -75
  79. package/src/core/activation.js +11 -3
  80. package/src/core/approvals.js +17 -51
  81. package/src/core/artifact-registry.js +59 -2
  82. package/src/core/artifacts.js +81 -27
  83. package/src/core/attachment-paths.js +45 -0
  84. package/src/core/attestation-coverage.js +6 -1
  85. package/src/core/attestation-verifier.js +21 -2
  86. package/src/core/attestation.js +17 -6
  87. package/src/core/audit.js +6 -1
  88. package/src/core/bundles.js +160 -66
  89. package/src/core/checkpoint-revalidation.js +12 -10
  90. package/src/core/cli-command-definitions.js +109 -7
  91. package/src/core/code-manifest.js +9 -3
  92. package/src/core/command-executors.js +182 -126
  93. package/src/core/command-input.js +21 -1
  94. package/src/core/completion-artifacts.js +85 -36
  95. package/src/core/completion-ownership.js +19 -8
  96. package/src/core/completion-recovery-rebind.js +11 -1
  97. package/src/core/completion.js +60 -9
  98. package/src/core/conformance.js +2 -1
  99. package/src/core/continuity-lint.js +13 -2
  100. package/src/core/continuity-reconciliation.js +16 -3
  101. package/src/core/continuity.js +16 -8
  102. package/src/core/contract-bootstrap-recovery.js +42 -41
  103. package/src/core/contract-revision.js +8 -9
  104. package/src/core/decision/artifact.js +2 -1
  105. package/src/core/decision/events.js +9 -6
  106. package/src/core/decision/resolver.js +19 -11
  107. package/src/core/decision/service.js +63 -38
  108. package/src/core/decision/task-bindings.js +6 -1
  109. package/src/core/diagnosis-model.js +11 -0
  110. package/src/core/diagnosis.js +10 -1
  111. package/src/core/diagnostic-projection.js +29 -12
  112. package/src/core/diagnostic-record.js +28 -3
  113. package/src/core/efficiency.js +6 -1
  114. package/src/core/events.js +316 -97
  115. package/src/core/execution-prerequisites.js +22 -13
  116. package/src/core/execution.js +26 -40
  117. package/src/core/filesystem.js +11 -0
  118. package/src/core/gate-artifact.js +105 -19
  119. package/src/core/gate-provenance.js +6 -5
  120. package/src/core/handoff.js +26 -14
  121. package/src/core/history.js +39 -35
  122. package/src/core/hypothesis-projection.js +32 -0
  123. package/src/core/information-gain-projection.js +104 -100
  124. package/src/core/inspect.js +12 -3
  125. package/src/core/integration-invocation-policy.js +10 -0
  126. package/src/core/integration-resources.js +41 -34
  127. package/src/core/ledger-event-collection.js +189 -0
  128. package/src/core/ledger-relations.js +23 -0
  129. package/src/core/native-storage.js +12 -0
  130. package/src/core/next-action-continuity.js +31 -9
  131. package/src/core/next-action-phases.js +1 -1
  132. package/src/core/next-action-review-phase.js +2 -2
  133. package/src/core/next-action-verification-phase.js +2 -1
  134. package/src/core/next-action.js +21 -2
  135. package/src/core/phase.js +138 -93
  136. package/src/core/policy-engine.js +12 -13
  137. package/src/core/preflight-consistency.js +72 -59
  138. package/src/core/preflight-loaders.js +19 -12
  139. package/src/core/preflight-model.js +6 -1
  140. package/src/core/preflight.js +29 -12
  141. package/src/core/progress.js +21 -10
  142. package/src/core/protocol-info.js +3 -0
  143. package/src/core/protocol-migration.js +7 -6
  144. package/src/core/reconcile-closure.js +162 -24
  145. package/src/core/recovery-history.js +66 -47
  146. package/src/core/reflection.js +72 -77
  147. package/src/core/responsibility.js +25 -13
  148. package/src/core/route-artifact.js +13 -3
  149. package/src/core/runtime-context.js +5 -0
  150. package/src/core/schema-validation.js +8 -3
  151. package/src/core/settlement.js +12 -1
  152. package/src/core/signing/bundle-file.js +53 -0
  153. package/src/core/signing/bundle-reference.js +15 -0
  154. package/src/core/signing/sigstore.js +60 -33
  155. package/src/core/signing/statement-file.js +27 -0
  156. package/src/core/storage-runtime-registry.js +41 -0
  157. package/src/core/structural-quality/artifacts.js +20 -14
  158. package/src/core/structural-quality/service.js +81 -56
  159. package/src/core/target-layout.js +1 -1
  160. package/src/core/task-claim-state.js +52 -18
  161. package/src/core/task-command.js +21 -1
  162. package/src/core/task-conflict-inspection.js +112 -107
  163. package/src/core/task-descriptor.js +29 -22
  164. package/src/core/task-discovery.js +288 -90
  165. package/src/core/task-lock.js +66 -306
  166. package/src/core/task-migration-validation.js +5 -5
  167. package/src/core/task-migration.js +17 -287
  168. package/src/core/task-snapshot.js +51 -8
  169. package/src/core/task-storage-migration.js +18 -0
  170. package/src/core/templates.js +20 -8
  171. package/src/core/test-intelligence/prune.js +5 -1
  172. package/src/core/trace.js +154 -99
  173. package/src/core/trajectory-evaluation.js +15 -3
  174. package/src/core/trajectory-metrics.js +47 -32
  175. package/src/core/transaction.js +16 -288
  176. package/src/core/verification-scope.js +20 -12
  177. package/src/core/work-state.js +100 -59
  178. package/src/repository-index/binary-manager.js +15 -7
  179. package/src/storage/artifact-bytes.js +22 -0
  180. package/src/storage/attachment-binding.js +11 -0
  181. package/src/storage/attachment-files.js +82 -0
  182. package/src/storage/attachment-references.js +36 -0
  183. package/src/storage/backup.js +53 -0
  184. package/src/storage/capabilities.js +31 -0
  185. package/src/storage/connection-owner.js +119 -0
  186. package/src/storage/connection.js +376 -0
  187. package/src/storage/existing-project-scope.js +45 -0
  188. package/src/storage/export-destination.js +44 -0
  189. package/src/storage/exporter.js +284 -0
  190. package/src/storage/file-durability.js +46 -0
  191. package/src/storage/importer.js +461 -0
  192. package/src/storage/index.js +74 -0
  193. package/src/storage/leases.js +63 -0
  194. package/src/storage/ledger-event-snapshot.js +150 -0
  195. package/src/storage/ledger-relations.js +220 -0
  196. package/src/storage/legacy-maintenance-boundary.js +18 -0
  197. package/src/storage/legacy-signature.js +115 -0
  198. package/src/storage/maintenance-handoff.js +129 -0
  199. package/src/storage/maintenance-owner.js +42 -0
  200. package/src/storage/maintenance.js +310 -0
  201. package/src/storage/metadata-json.js +35 -0
  202. package/src/storage/migration-activate.js +59 -0
  203. package/src/storage/migration-archive.js +57 -0
  204. package/src/storage/migration-attachment-root.js +61 -0
  205. package/src/storage/migration-candidate.js +398 -0
  206. package/src/storage/migration-publication.js +143 -0
  207. package/src/storage/migration-rollback-admission.js +54 -0
  208. package/src/storage/migration-rollback-preparation.js +132 -0
  209. package/src/storage/migration-rollback-publication.js +183 -0
  210. package/src/storage/migration-rollback-release.js +66 -0
  211. package/src/storage/migration-rollback-source-stage.js +103 -0
  212. package/src/storage/migration-rollback.js +43 -0
  213. package/src/storage/migration-source-partition.js +56 -0
  214. package/src/storage/migration-source.js +255 -0
  215. package/src/storage/migration-terminal.js +39 -0
  216. package/src/storage/migration-validation.js +75 -0
  217. package/src/storage/migration.js +43 -0
  218. package/src/storage/operational-attachments.js +49 -0
  219. package/src/storage/operational-context.js +50 -0
  220. package/src/storage/project-backup.js +98 -0
  221. package/src/storage/project-bootstrap.js +24 -0
  222. package/src/storage/project-boundary.js +79 -0
  223. package/src/storage/project-read-snapshot.js +18 -0
  224. package/src/storage/project-replacement.js +137 -0
  225. package/src/storage/project-restore.js +203 -0
  226. package/src/storage/record-definitions.js +45 -0
  227. package/src/storage/repository.js +507 -0
  228. package/src/storage/restore-execution-provenance.js +26 -0
  229. package/src/storage/restore-journal.js +62 -0
  230. package/src/storage/restore-layout.js +30 -0
  231. package/src/storage/restore-preparation.js +84 -0
  232. package/src/storage/restore-replacement-archive.js +162 -0
  233. package/src/storage/restore-replacement-owner.js +31 -0
  234. package/src/storage/restore-replacement-preparation.js +128 -0
  235. package/src/storage/restore-replacement.js +142 -0
  236. package/src/storage/restore-terminal.js +32 -0
  237. package/src/storage/runtime.js +31 -0
  238. package/src/storage/schema.js +214 -0
  239. package/src/storage/singleton-import.js +84 -0
  240. package/src/storage/snapshot-continuity.js +16 -0
  241. package/src/storage/snapshot.js +36 -0
  242. package/src/storage/storage-marker.js +79 -0
  243. package/src/storage/task-guards.js +107 -0
  244. package/src/storage/topology.js +42 -0
  245. package/src/storage/transaction.js +179 -0
  246. package/src/storage/unit-of-work.js +667 -0
  247. package/src/storage/windows-process-incarnation.js +206 -0
  248. package/.forgeloop/forgeloop.gitignore +0 -4
  249. package/LICENSE-DOCS.md +0 -13
  250. package/src/core/transaction-maintenance.js +0 -70
package/src/cli.js CHANGED
@@ -4,112 +4,8 @@ import { readFile } from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
6
 
7
- import { formatStatusResult } from "./commands/status.js";
8
- import { formatValidateStateResult } from "./commands/validate-state.js";
9
- import { formatClearStateResult } from "./commands/clear-state.js";
10
- import { formatCheckpointRevalidateResult } from "./commands/checkpoint-revalidate.js";
11
- import { formatInspectResult } from "./commands/inspect.js";
12
- import { formatRouteResult } from "./commands/route.js";
13
- import { formatValidateProtocolResult } from "./commands/validate-protocol.js";
14
- import { formatActivateResult } from "./commands/activate.js";
15
- import { formatAdvanceResult } from "./commands/advance.js";
16
- import { formatPreflightResult } from "./commands/preflight.js";
17
- import { formatQualityBaselineResult } from "./commands/quality-baseline.js";
18
- import { formatQualityVerifyResult } from "./commands/quality-verify.js";
19
- import { formatQualityStatusResult } from "./commands/quality-status.js";
20
- import { formatCompleteResult } from "./commands/complete.js";
21
- import { formatAuditResult } from "./commands/audit.js";
22
- import { formatReportResult } from "./commands/report.js";
23
- import { formatPolicyResult } from "./commands/policy.js";
24
- import { formatPolicyDiscoverResult } from "./commands/policy-discover.js";
25
- import { formatPolicyStatusResult } from "./commands/policy-status.js";
26
- import { formatPolicyDiffResult } from "./commands/policy-diff.js";
27
- import { formatRuleVerifyResult } from "./commands/rule-verify.js";
28
- import { formatBaselineResult } from "./commands/baseline.js";
29
- import { formatProfileInterviewResult } from "./commands/profile-interview.js";
30
- import { formatBundleResult } from "./commands/bundle.js";
31
- import { formatPrepareCompletionResult } from "./commands/prepare-completion.js";
32
- import { formatRecordCheckResult } from "./commands/record-check.js";
33
- import { formatRunCheckResult } from "./commands/run-check.js";
34
- import { formatRunActionResult } from "./commands/run-action.js";
35
- import { formatActionProposeResult } from "./commands/action-propose.js";
36
- import { formatActionRecordResult } from "./commands/action-record.js";
37
- import { formatActionAuthorizeResult } from "./commands/action-authorize.js";
38
- import { formatActionVerifyResult } from "./commands/action-verify.js";
39
- import { formatActionShowResult } from "./commands/action-show.js";
40
- import { formatActionReconcileResult } from "./commands/action-reconcile.js";
41
- import { formatMetricsResult } from "./commands/metrics.js";
42
- import { formatUsageRecordResult } from "./commands/usage-record.js";
43
- import { formatEfficiencyResult } from "./commands/efficiency.js";
44
- import { formatEvalResult } from "./commands/eval.js";
45
- import { formatApprovalRequestResult } from "./commands/approval-request.js";
46
- import { formatApprovalResolveResult } from "./commands/approval-resolve.js";
47
- import { formatReconcileClosureResult } from "./commands/reconcile-closure.js";
48
- import { formatRecordTerminalResult } from "./commands/record-terminal-result.js";
49
- import { formatRecordDiagnosisResult } from "./commands/record-diagnosis.js";
50
- import { formatRecordInterventionResult } from "./commands/record-intervention.js";
51
- import { formatRecordHypothesisDispositionResult } from "./commands/record-hypothesis-disposition.js";
52
- import { formatHistoryResult } from "./commands/history.js";
53
- import { formatTraceResult } from "./commands/trace.js";
54
- import { formatReflectResult } from "./commands/reflect.js";
55
- import { formatProgressResult } from "./commands/progress.js";
56
- import { formatRecordDecisionCriterionResult } from "./commands/record-decision-criterion.js";
57
- import { formatNextActionResult, formatCompactNextActionResult } from "./commands/next.js";
58
- import { formatDiscoverResult } from "./commands/discover.js";
59
- import { formatContractCreateResult } from "./commands/contract-create.js";
60
- import { formatContractReviseResult } from "./commands/contract-revise.js";
61
- import { formatContinuityResult } from "./commands/continuity.js";
62
- import { formatRecordContinuityResult } from "./commands/record-continuity.js";
63
- import { formatReconcileContinuityResult } from "./commands/reconcile-continuity.js";
64
- import { formatClearContinuityResult } from "./commands/clear-continuity.js";
65
- import { formatTaskCreateResult } from "./commands/task-create.js";
66
- import { formatTaskListResult } from "./commands/task-list.js";
67
- import { formatTaskShowResult, formatCompactTaskShowResult } from "./commands/task-show.js";
68
- import { formatTaskScopeResult } from "./commands/task-scope.js";
69
- import { formatTaskMigrateResult } from "./commands/task-migrate.js";
70
- import { formatMigrateProtocolResult } from "./commands/migrate-protocol.js";
71
- import { formatTaskUnlockResult } from "./commands/task-unlock.js";
72
- import { formatTaskRecoverResult } from "./commands/task-recover.js";
73
- import { formatTaskAbandonResult } from "./commands/task-abandon.js";
74
- import { formatTaskResumeResult } from "./commands/task-resume.js";
75
- import {
76
- formatTaskRepairLegacyRecoveryResult,
77
- } from "./commands/task-repair-legacy-recovery.js";
78
- import { formatTaskRepairContractBootstrapResult } from "./commands/task-repair-contract-bootstrap.js";
79
- import { formatTaskMigrateContractBootstrapRepairResult } from "./commands/task-migrate-contract-bootstrap-repair.js";
80
- import { formatTaskLockStatusResult } from "./commands/task-lock-status.js";
81
- import { formatProtocolInfoResult } from "./commands/protocol-info.js";
82
- import { formatWorkspaceBindResult } from "./commands/workspace-bind.js";
83
- import { formatWorkspaceStatusResult } from "./commands/workspace-status.js";
84
- import { formatHandoffCreateResult } from "./commands/handoff-create.js";
85
- import { formatHandoffListResult } from "./commands/handoff-list.js";
86
- import { formatHandoffShowResult } from "./commands/handoff-show.js";
87
- import { formatHandoffAcceptResult } from "./commands/handoff-accept.js";
88
- import { formatResponsibilitySetResult } from "./commands/responsibility-set.js";
89
- import { formatResponsibilityStatusResult } from "./commands/responsibility-status.js";
90
- import { formatVerifyScopeResult } from "./commands/verify-scope.js";
91
- import { formatAttestationCreateResult } from "./commands/attestation-create.js";
92
- import { formatAttestationVerifyResult } from "./commands/attestation-verify.js";
93
- import { formatAttestationStatusResult } from "./commands/attestation-status.js";
94
- import { formatAttestationVerifyRangeResult } from "./commands/attestation-verify-range.js";
95
- import {
96
- formatRepositoryIndexResult,
97
- formatRepositoryIndexStatus,
98
- formatSearchResult,
99
- } from "./commands/repository-index.js";
100
7
  import { defaultCommandInputValues, validateForgeLoopCommandInput } from "./core/command-input.js";
101
8
  import { COMMAND_EXECUTORS } from "./core/command-executors.js";
102
- import { formatGateRecordResult } from "./commands/gate-record.js";
103
- import { formatGateRevalidateResult } from "./commands/gate-revalidate.js";
104
- import { formatDecisionStatusResult } from "./commands/decision-status.js";
105
- import { formatDecisionShowResult } from "./commands/decision-show.js";
106
- import { formatContextPlanResult } from "./commands/context-plan.js";
107
- import { formatModelRouteResult } from "./commands/model-route.js";
108
- import { formatSemanticPlanResult } from "./commands/semantic-plan.js";
109
- import { formatTestInventoryResult } from "./commands/test-inventory.js";
110
- import { formatTestUtilityResult } from "./commands/test-utility.js";
111
- import { formatTestPrunePlanResult } from "./commands/test-prune-plan.js";
112
- import { formatTestPruneProbeResult } from "./commands/test-prune-probe.js";
113
9
  import { resolveTarget } from "./core/filesystem.js";
114
10
  import { getPackageRoot } from "./core/templates.js";
115
11
  import { CLI_COMMAND_DEFINITIONS, buildOptionLookup, getPositionalDefinitions } from "./core/cli-command-definitions.js";
@@ -369,77 +265,77 @@ function renderJsonOr(options, result, formatter) {
369
265
  export const COMMAND_HANDLERS = Object.freeze({
370
266
  discover: async ({ target, packageRoot, options }) => {
371
267
  const { result } = await COMMAND_EXECUTORS.discover({ target, packageRoot, options });
372
- renderJsonOr(options, result, formatDiscoverResult);
268
+ renderJsonOr(options, result, (await import("./commands/discover.js")).formatDiscoverResult);
373
269
  return 0;
374
270
  },
375
271
  "contract-create": async ({ target, packageRoot, options }) => {
376
272
  const { result } = await COMMAND_EXECUTORS["contract-create"]({ target, packageRoot, options });
377
- renderJsonOr(options, result, formatContractCreateResult);
273
+ renderJsonOr(options, result, (await import("./commands/contract-create.js")).formatContractCreateResult);
378
274
  return 0;
379
275
  },
380
276
  "contract-revise": async ({ target, packageRoot, options }) => {
381
277
  const { result } = await COMMAND_EXECUTORS["contract-revise"]({ target, packageRoot, options });
382
- renderJsonOr(options, result, formatContractReviseResult);
278
+ renderJsonOr(options, result, (await import("./commands/contract-revise.js")).formatContractReviseResult);
383
279
  return 0;
384
280
  },
385
281
  "gate-record": async ({ target, packageRoot, options }) => {
386
282
  const { result } = await COMMAND_EXECUTORS["gate-record"]({ target, packageRoot, options });
387
- renderJsonOr(options, result, formatGateRecordResult);
283
+ renderJsonOr(options, result, (await import("./commands/gate-record.js")).formatGateRecordResult);
388
284
  return 0;
389
285
  },
390
286
  "gate-revalidate": async ({ target, packageRoot, options }) => {
391
287
  const { result } = await COMMAND_EXECUTORS["gate-revalidate"]({ target, packageRoot, options });
392
- renderJsonOr(options, result, formatGateRevalidateResult);
288
+ renderJsonOr(options, result, (await import("./commands/gate-revalidate.js")).formatGateRevalidateResult);
393
289
  return 0;
394
290
  },
395
291
  "protocol-info": async ({ packageVersion, options }) => {
396
292
  const { result } = await COMMAND_EXECUTORS["protocol-info"]({ packageVersion, options });
397
- renderJsonOr(options, result, formatProtocolInfoResult);
293
+ renderJsonOr(options, result, (await import("./commands/protocol-info.js")).formatProtocolInfoResult);
398
294
  return 0;
399
295
  },
400
296
  "decision-status": async ({ target, packageRoot, options }) => {
401
297
  const { result } = await COMMAND_EXECUTORS["decision-status"]({ target, packageRoot, options });
402
- renderJsonOr(options, result, formatDecisionStatusResult);
298
+ renderJsonOr(options, result, (await import("./commands/decision-status.js")).formatDecisionStatusResult);
403
299
  return 0;
404
300
  },
405
301
  "decision-show": async ({ target, packageRoot, options }) => {
406
302
  const { result } = await COMMAND_EXECUTORS["decision-show"]({ target, packageRoot, options });
407
- renderJsonOr(options, result, formatDecisionShowResult);
303
+ renderJsonOr(options, result, (await import("./commands/decision-show.js")).formatDecisionShowResult);
408
304
  return 0;
409
305
  },
410
306
  "context-plan": async ({ options }) => {
411
307
  const { result } = await COMMAND_EXECUTORS["context-plan"]({ options });
412
- renderJsonOr(options, result, formatContextPlanResult);
308
+ renderJsonOr(options, result, (await import("./commands/context-plan.js")).formatContextPlanResult);
413
309
  return 0;
414
310
  },
415
311
  "model-route": async ({ options }) => {
416
312
  const { result } = await COMMAND_EXECUTORS["model-route"]({ options });
417
- renderJsonOr(options, result, formatModelRouteResult);
313
+ renderJsonOr(options, result, (await import("./commands/model-route.js")).formatModelRouteResult);
418
314
  return 0;
419
315
  },
420
316
  "semantic-plan": async ({ options }) => {
421
317
  const { result } = await COMMAND_EXECUTORS["semantic-plan"]({ options });
422
- renderJsonOr(options, result, formatSemanticPlanResult);
318
+ renderJsonOr(options, result, (await import("./commands/semantic-plan.js")).formatSemanticPlanResult);
423
319
  return 0;
424
320
  },
425
321
  "test-inventory": async ({ target, options }) => {
426
322
  const { result } = await COMMAND_EXECUTORS["test-inventory"]({ target, options });
427
- renderJsonOr(options, result, formatTestInventoryResult);
323
+ renderJsonOr(options, result, (await import("./commands/test-inventory.js")).formatTestInventoryResult);
428
324
  return 0;
429
325
  },
430
326
  "test-utility": async ({ target, packageRoot, options }) => {
431
327
  const { result } = await COMMAND_EXECUTORS["test-utility"]({ target, packageRoot, options });
432
- renderJsonOr(options, result, formatTestUtilityResult);
328
+ renderJsonOr(options, result, (await import("./commands/test-utility.js")).formatTestUtilityResult);
433
329
  return 0;
434
330
  },
435
331
  "test-prune-plan": async ({ target, packageRoot, options }) => {
436
332
  const { result } = await COMMAND_EXECUTORS["test-prune-plan"]({ target, packageRoot, options });
437
- renderJsonOr(options, result, formatTestPrunePlanResult);
333
+ renderJsonOr(options, result, (await import("./commands/test-prune-plan.js")).formatTestPrunePlanResult);
438
334
  return 0;
439
335
  },
440
336
  "test-prune-probe": async ({ target, packageRoot, options }) => {
441
337
  const { result } = await COMMAND_EXECUTORS["test-prune-probe"]({ target, packageRoot, options });
442
- renderJsonOr(options, result, formatTestPruneProbeResult);
338
+ renderJsonOr(options, result, (await import("./commands/test-prune-probe.js")).formatTestPruneProbeResult);
443
339
  return 0;
444
340
  },
445
341
  init: async ({ target, packageRoot, packageVersion, options }) => {
@@ -447,6 +343,46 @@ export const COMMAND_HANDLERS = Object.freeze({
447
343
  printActions(result.actions);
448
344
  return 0;
449
345
  },
346
+ "storage-migration-resume": async ({ target, packageRoot, options }) => {
347
+ const { result, exitCode } = await COMMAND_EXECUTORS["storage-migration-resume"]({ target, packageRoot, options });
348
+ renderJsonOr(options, result, value => `storage recovery: ${value.phase}\ncurrent state verified: ${value.currentStateVerified}`);
349
+ return exitCode;
350
+ },
351
+ "storage-rollback-resume": async ({ target, packageRoot, options }) => {
352
+ const { result, exitCode } = await COMMAND_EXECUTORS["storage-rollback-resume"]({ target, packageRoot, options });
353
+ renderJsonOr(options, result, value => `source restored: ${value.restored}\ntarget version validated: ${value.targetVersionValidated}`);
354
+ return exitCode;
355
+ },
356
+ "storage-rollback": async ({ target, packageRoot, options }) => {
357
+ const { result, exitCode } = await COMMAND_EXECUTORS["storage-rollback"]({ target, packageRoot, options });
358
+ renderJsonOr(options, result, value => `source restored: ${value.restored}\ntarget version validated: ${value.targetVersionValidated}`);
359
+ return exitCode;
360
+ },
361
+ "storage-migrate": async ({ target, packageRoot, options }) => {
362
+ const { result, exitCode } = await COMMAND_EXECUTORS["storage-migrate"]({ target, packageRoot, options });
363
+ renderJsonOr(options, result, value => `storage migration: ${value.phase}\ncurrent state verified: ${value.currentStateVerified}`);
364
+ return exitCode;
365
+ },
366
+ "storage-backup": async ({ target, options }) => {
367
+ const { result, exitCode } = await COMMAND_EXECUTORS["storage-backup"]({ target, options });
368
+ renderJsonOr(options, result, value => `storage backup: ${value.path}\nattachments included: ${value.attachmentsIncluded}`);
369
+ return exitCode;
370
+ },
371
+ "storage-restore": async ({ target, packageRoot, options }) => {
372
+ const { result, exitCode } = await COMMAND_EXECUTORS["storage-restore"]({ target, packageRoot, options });
373
+ renderJsonOr(options, result, value => `storage restore: ${value.path}\nactive: ${value.active}\nretained snapshot: ${value.retainedSnapshot}`);
374
+ return exitCode;
375
+ },
376
+ "storage-restore-resume": async ({ target, packageRoot, options }) => {
377
+ const { result, exitCode } = await COMMAND_EXECUTORS["storage-restore-resume"]({ target, packageRoot, options });
378
+ renderJsonOr(options, result, value => `restore recovery: ${value.active ? "ACTIVE" : "incomplete"}\nrestored snapshot: ${value.restored}\ncurrent state verified: ${value.currentStateVerified ?? false}`);
379
+ return exitCode;
380
+ },
381
+ "storage-migration-status": async ({ target, options }) => {
382
+ const { result, exitCode } = await COMMAND_EXECUTORS["storage-migration-status"]({ target, options });
383
+ renderJsonOr(options, result, value => `storage layout: ${value.layout}\nmaintenance: ${value.maintenance.status}`);
384
+ return exitCode;
385
+ },
450
386
  doctor: async ({ target, packageRoot, options }) => {
451
387
  const { result } = await COMMAND_EXECUTORS.doctor({ target, packageRoot, options });
452
388
  if (options.json) {
@@ -463,240 +399,240 @@ export const COMMAND_HANDLERS = Object.freeze({
463
399
  },
464
400
  "index-setup": async ({ target, packageRoot, options }) => {
465
401
  const { result } = await COMMAND_EXECUTORS["index-setup"]({ target, packageRoot, options });
466
- renderJsonOr(options, result, formatRepositoryIndexResult);
402
+ renderJsonOr(options, result, (await import("./commands/repository-index.js")).formatRepositoryIndexResult);
467
403
  return 0;
468
404
  },
469
405
  "index-start": async ({ target, packageRoot, options }) => {
470
406
  const { result } = await COMMAND_EXECUTORS["index-start"]({ target, packageRoot, options });
471
- renderJsonOr(options, result, formatRepositoryIndexResult);
407
+ renderJsonOr(options, result, (await import("./commands/repository-index.js")).formatRepositoryIndexResult);
472
408
  return 0;
473
409
  },
474
410
  "index-stop": async ({ target, packageRoot, options }) => {
475
411
  const { result } = await COMMAND_EXECUTORS["index-stop"]({ target, packageRoot, options });
476
- renderJsonOr(options, result, formatRepositoryIndexResult);
412
+ renderJsonOr(options, result, (await import("./commands/repository-index.js")).formatRepositoryIndexResult);
477
413
  return 0;
478
414
  },
479
415
  "index-status": async ({ target, packageRoot, options }) => {
480
416
  const { result } = await COMMAND_EXECUTORS["index-status"]({ target, packageRoot, options });
481
- renderJsonOr(options, result, formatRepositoryIndexStatus);
417
+ renderJsonOr(options, result, (await import("./commands/repository-index.js")).formatRepositoryIndexStatus);
482
418
  return 0;
483
419
  },
484
420
  "index-rebuild": async ({ target, packageRoot, options }) => {
485
421
  const { result } = await COMMAND_EXECUTORS["index-rebuild"]({ target, packageRoot, options });
486
- renderJsonOr(options, result, formatRepositoryIndexResult);
422
+ renderJsonOr(options, result, (await import("./commands/repository-index.js")).formatRepositoryIndexResult);
487
423
  return 0;
488
424
  },
489
425
  search: async ({ target, packageRoot, options }) => {
490
426
  const { result, exitCode } = await COMMAND_EXECUTORS.search({ target, packageRoot, options, transport: "cli" });
491
- renderJsonOr(options, result, formatSearchResult);
427
+ renderJsonOr(options, result, (await import("./commands/repository-index.js")).formatSearchResult);
492
428
  return exitCode;
493
429
  },
494
430
  route: async ({ target, packageRoot, options }) => {
495
431
  const { result } = await COMMAND_EXECUTORS.route({ target, packageRoot, options });
496
- renderJsonOr(options, result, formatRouteResult);
432
+ renderJsonOr(options, result, (await import("./commands/route.js")).formatRouteResult);
497
433
  return 0;
498
434
  },
499
435
  activate: async ({ target, packageRoot, options }) => {
500
436
  const { result } = await COMMAND_EXECUTORS.activate({ target, packageRoot, options });
501
- renderJsonOr(options, result, formatActivateResult);
437
+ renderJsonOr(options, result, (await import("./commands/activate.js")).formatActivateResult);
502
438
  return 0;
503
439
  },
504
440
  preflight: async ({ target, packageRoot, options }) => {
505
441
  const { result, exitCode } = await COMMAND_EXECUTORS.preflight({ target, packageRoot, options });
506
- renderJsonOr(options, result, formatPreflightResult);
442
+ renderJsonOr(options, result, (await import("./commands/preflight.js")).formatPreflightResult);
507
443
  return exitCode;
508
444
  },
509
445
  "quality-baseline": async ({ target, packageRoot, options }) => {
510
446
  const { result, exitCode } = await COMMAND_EXECUTORS["quality-baseline"]({ target, packageRoot, options });
511
- renderJsonOr(options, result, formatQualityBaselineResult);
447
+ renderJsonOr(options, result, (await import("./commands/quality-baseline.js")).formatQualityBaselineResult);
512
448
  return exitCode;
513
449
  },
514
450
  "quality-verify": async ({ target, packageRoot, options }) => {
515
451
  const { result, exitCode } = await COMMAND_EXECUTORS["quality-verify"]({ target, packageRoot, options });
516
- renderJsonOr(options, result, formatQualityVerifyResult);
452
+ renderJsonOr(options, result, (await import("./commands/quality-verify.js")).formatQualityVerifyResult);
517
453
  return exitCode;
518
454
  },
519
455
  "quality-status": async ({ target, packageRoot, options }) => {
520
456
  const { result, exitCode } = await COMMAND_EXECUTORS["quality-status"]({ target, packageRoot, options });
521
- renderJsonOr(options, result, formatQualityStatusResult);
457
+ renderJsonOr(options, result, (await import("./commands/quality-status.js")).formatQualityStatusResult);
522
458
  return exitCode;
523
459
  },
524
460
  advance: async ({ target, packageRoot, options }) => {
525
461
  const { result } = await COMMAND_EXECUTORS.advance({ target, packageRoot, options });
526
- renderJsonOr(options, result, formatAdvanceResult);
462
+ renderJsonOr(options, result, (await import("./commands/advance.js")).formatAdvanceResult);
527
463
  return 0;
528
464
  },
529
465
  next: async ({ target, packageRoot, options }) => {
530
466
  const { result } = await COMMAND_EXECUTORS.next({ target, packageRoot, options });
531
- if (options.compact) console.log(formatCompactNextActionResult(result));
532
- else renderJsonOr(options, result, formatNextActionResult);
467
+ if (options.compact) console.log((await import("./commands/next.js")).formatCompactNextActionResult(result));
468
+ else renderJsonOr(options, result, (await import("./commands/next.js")).formatNextActionResult);
533
469
  return 0;
534
470
  },
535
471
  continuity: async ({ target, packageRoot, options }) => {
536
472
  const { result } = await COMMAND_EXECUTORS.continuity({ target, packageRoot, options });
537
- renderJsonOr(options, result, formatContinuityResult);
473
+ renderJsonOr(options, result, (await import("./commands/continuity.js")).formatContinuityResult);
538
474
  return 0;
539
475
  },
540
476
  "record-continuity": async ({ target, packageRoot, options }) => {
541
477
  const { result } = await COMMAND_EXECUTORS["record-continuity"]({ target, packageRoot, options });
542
- renderJsonOr(options, result, formatRecordContinuityResult);
478
+ renderJsonOr(options, result, (await import("./commands/record-continuity.js")).formatRecordContinuityResult);
543
479
  return 0;
544
480
  },
545
481
  "reconcile-continuity": async ({ target, packageRoot, options }) => {
546
482
  const { result } = await COMMAND_EXECUTORS["reconcile-continuity"]({ target, packageRoot, options });
547
- renderJsonOr(options, result, formatReconcileContinuityResult);
483
+ renderJsonOr(options, result, (await import("./commands/reconcile-continuity.js")).formatReconcileContinuityResult);
548
484
  return 0;
549
485
  },
550
486
  "clear-continuity": async ({ target, options }) => {
551
487
  const { result } = await COMMAND_EXECUTORS["clear-continuity"]({ target, options });
552
- renderJsonOr(options, result, formatClearContinuityResult);
488
+ renderJsonOr(options, result, (await import("./commands/clear-continuity.js")).formatClearContinuityResult);
553
489
  return 0;
554
490
  },
555
491
  "prepare-completion": async ({ target, packageRoot, options }) => {
556
492
  const { result } = await COMMAND_EXECUTORS["prepare-completion"]({ target, packageRoot, options });
557
- renderJsonOr(options, result, formatPrepareCompletionResult);
493
+ renderJsonOr(options, result, (await import("./commands/prepare-completion.js")).formatPrepareCompletionResult);
558
494
  return 0;
559
495
  },
560
496
  "run-check": async ({ target, packageRoot, options }) => {
561
497
  const { result, exitCode } = await COMMAND_EXECUTORS["run-check"]({ target, packageRoot, options });
562
- renderJsonOr(options, result, formatRunCheckResult);
498
+ renderJsonOr(options, result, (await import("./commands/run-check.js")).formatRunCheckResult);
563
499
  return exitCode;
564
500
  },
565
501
  "workspace-bind": async ({ target, packageRoot, options }) => {
566
502
  const { result, exitCode } = await COMMAND_EXECUTORS["workspace-bind"]({ target, packageRoot, options });
567
- renderJsonOr(options, result, formatWorkspaceBindResult);
503
+ renderJsonOr(options, result, (await import("./commands/workspace-bind.js")).formatWorkspaceBindResult);
568
504
  return exitCode;
569
505
  },
570
506
  "workspace-status": async ({ target, packageRoot, options }) => {
571
507
  const { result, exitCode } = await COMMAND_EXECUTORS["workspace-status"]({ target, packageRoot, options });
572
- renderJsonOr(options, result, formatWorkspaceStatusResult);
508
+ renderJsonOr(options, result, (await import("./commands/workspace-status.js")).formatWorkspaceStatusResult);
573
509
  return exitCode;
574
510
  },
575
511
  "handoff-create": async ({ target, packageRoot, options }) => {
576
512
  const { result, exitCode } = await COMMAND_EXECUTORS["handoff-create"]({ target, packageRoot, options });
577
- renderJsonOr(options, result, formatHandoffCreateResult);
513
+ renderJsonOr(options, result, (await import("./commands/handoff-create.js")).formatHandoffCreateResult);
578
514
  return exitCode;
579
515
  },
580
516
  "handoff-list": async ({ target, packageRoot, options }) => {
581
517
  const { result, exitCode } = await COMMAND_EXECUTORS["handoff-list"]({ target, packageRoot, options });
582
- renderJsonOr(options, result, formatHandoffListResult);
518
+ renderJsonOr(options, result, (await import("./commands/handoff-list.js")).formatHandoffListResult);
583
519
  return exitCode;
584
520
  },
585
521
  "handoff-show": async ({ target, packageRoot, options }) => {
586
522
  const { result, exitCode } = await COMMAND_EXECUTORS["handoff-show"]({ target, packageRoot, options });
587
- renderJsonOr(options, result, formatHandoffShowResult);
523
+ renderJsonOr(options, result, (await import("./commands/handoff-show.js")).formatHandoffShowResult);
588
524
  return exitCode;
589
525
  },
590
526
  "handoff-accept": async ({ target, packageRoot, options }) => {
591
527
  const { result, exitCode } = await COMMAND_EXECUTORS["handoff-accept"]({ target, packageRoot, options });
592
- renderJsonOr(options, result, formatHandoffAcceptResult);
528
+ renderJsonOr(options, result, (await import("./commands/handoff-accept.js")).formatHandoffAcceptResult);
593
529
  return exitCode;
594
530
  },
595
531
  "responsibility-set": async ({ target, packageRoot, options }) => {
596
532
  const { result, exitCode } = await COMMAND_EXECUTORS["responsibility-set"]({ target, packageRoot, options });
597
- renderJsonOr(options, result, formatResponsibilitySetResult);
533
+ renderJsonOr(options, result, (await import("./commands/responsibility-set.js")).formatResponsibilitySetResult);
598
534
  return exitCode;
599
535
  },
600
536
  "responsibility-status": async ({ target, packageRoot, options }) => {
601
537
  const { result, exitCode } = await COMMAND_EXECUTORS["responsibility-status"]({ target, packageRoot, options });
602
- renderJsonOr(options, result, formatResponsibilityStatusResult);
538
+ renderJsonOr(options, result, (await import("./commands/responsibility-status.js")).formatResponsibilityStatusResult);
603
539
  return exitCode;
604
540
  },
605
541
  "verify-scope": async ({ target, packageRoot, options }) => {
606
542
  const { result, exitCode } = await COMMAND_EXECUTORS["verify-scope"]({ target, packageRoot, options });
607
- renderJsonOr(options, result, formatVerifyScopeResult);
543
+ renderJsonOr(options, result, (await import("./commands/verify-scope.js")).formatVerifyScopeResult);
608
544
  return exitCode;
609
545
  },
610
546
  "attestation-create": async ({ target, packageRoot, options }) => {
611
547
  const { result, exitCode } = await COMMAND_EXECUTORS["attestation-create"]({ target, packageRoot, options });
612
- renderJsonOr(options, result, formatAttestationCreateResult);
548
+ renderJsonOr(options, result, (await import("./commands/attestation-create.js")).formatAttestationCreateResult);
613
549
  return exitCode;
614
550
  },
615
551
  "attestation-verify": async ({ target, packageRoot, options }) => {
616
552
  const { result, exitCode } = await COMMAND_EXECUTORS["attestation-verify"]({ target, packageRoot, options });
617
- renderJsonOr(options, result, formatAttestationVerifyResult);
553
+ renderJsonOr(options, result, (await import("./commands/attestation-verify.js")).formatAttestationVerifyResult);
618
554
  return exitCode;
619
555
  },
620
556
  "attestation-status": async ({ target, packageRoot, options }) => {
621
557
  const { result, exitCode } = await COMMAND_EXECUTORS["attestation-status"]({ target, packageRoot, options });
622
- renderJsonOr(options, result, formatAttestationStatusResult);
558
+ renderJsonOr(options, result, (await import("./commands/attestation-status.js")).formatAttestationStatusResult);
623
559
  return exitCode;
624
560
  },
625
561
  "attestation-verify-range": async ({ target, packageRoot, options }) => {
626
562
  const { result, exitCode } = await COMMAND_EXECUTORS["attestation-verify-range"]({ target, packageRoot, options });
627
- renderJsonOr(options, result, formatAttestationVerifyRangeResult);
563
+ renderJsonOr(options, result, (await import("./commands/attestation-verify-range.js")).formatAttestationVerifyRangeResult);
628
564
  return exitCode;
629
565
  },
630
566
  "run-action": async ({ target, packageRoot, options }) => {
631
567
  const { result, exitCode } = await COMMAND_EXECUTORS["run-action"]({ target, packageRoot, options });
632
- renderJsonOr(options, result, formatRunActionResult);
568
+ renderJsonOr(options, result, (await import("./commands/run-action.js")).formatRunActionResult);
633
569
  return exitCode;
634
570
  },
635
571
  "action-propose": async ({ target, packageRoot, options }) => {
636
572
  const { result } = await COMMAND_EXECUTORS["action-propose"]({ target, packageRoot, options });
637
- renderJsonOr(options, result, formatActionProposeResult); return 0;
573
+ renderJsonOr(options, result, (await import("./commands/action-propose.js")).formatActionProposeResult); return 0;
638
574
  },
639
575
  "action-authorize": async ({ target, packageRoot, options }) => {
640
576
  const { result } = await COMMAND_EXECUTORS["action-authorize"]({ target, packageRoot, options });
641
- renderJsonOr(options, result, formatActionAuthorizeResult); return 0;
577
+ renderJsonOr(options, result, (await import("./commands/action-authorize.js")).formatActionAuthorizeResult); return 0;
642
578
  },
643
579
  "action-record": async ({ target, packageRoot, options }) => {
644
580
  const { result } = await COMMAND_EXECUTORS["action-record"]({ target, packageRoot, options });
645
- renderJsonOr(options, result, formatActionRecordResult); return 0;
581
+ renderJsonOr(options, result, (await import("./commands/action-record.js")).formatActionRecordResult); return 0;
646
582
  },
647
583
  "action-verify": async ({ target, packageRoot, options }) => {
648
584
  const { result } = await COMMAND_EXECUTORS["action-verify"]({ target, packageRoot, options });
649
- renderJsonOr(options, result, formatActionVerifyResult); return 0;
585
+ renderJsonOr(options, result, (await import("./commands/action-verify.js")).formatActionVerifyResult); return 0;
650
586
  },
651
587
  "action-show": async ({ target, packageRoot, options }) => {
652
588
  const { result } = await COMMAND_EXECUTORS["action-show"]({ target, packageRoot, options });
653
- renderJsonOr(options, result, formatActionShowResult); return 0;
589
+ renderJsonOr(options, result, (await import("./commands/action-show.js")).formatActionShowResult); return 0;
654
590
  },
655
591
  "action-reconcile": async ({ target, packageRoot, options }) => {
656
592
  const { result } = await COMMAND_EXECUTORS["action-reconcile"]({ target, packageRoot, options });
657
- renderJsonOr(options, result, formatActionReconcileResult); return 0;
593
+ renderJsonOr(options, result, (await import("./commands/action-reconcile.js")).formatActionReconcileResult); return 0;
658
594
  },
659
595
  metrics: async ({ target, packageRoot, options }) => {
660
596
  const { result } = await COMMAND_EXECUTORS.metrics({ target, packageRoot, options });
661
- renderJsonOr(options, result, formatMetricsResult); return 0;
597
+ renderJsonOr(options, result, (await import("./commands/metrics.js")).formatMetricsResult); return 0;
662
598
  },
663
599
  "usage-record": async ({ target, packageRoot, options }) => {
664
600
  const { result } = await COMMAND_EXECUTORS["usage-record"]({ target, packageRoot, options });
665
- renderJsonOr(options, result, formatUsageRecordResult); return 0;
601
+ renderJsonOr(options, result, (await import("./commands/usage-record.js")).formatUsageRecordResult); return 0;
666
602
  },
667
603
  efficiency: async ({ target, packageRoot, options }) => {
668
604
  const { result } = await COMMAND_EXECUTORS.efficiency({ target, packageRoot, options });
669
- renderJsonOr(options, result, formatEfficiencyResult); return 0;
605
+ renderJsonOr(options, result, (await import("./commands/efficiency.js")).formatEfficiencyResult); return 0;
670
606
  },
671
607
  eval: async ({ target, packageRoot, options }) => {
672
608
  const { result, exitCode } = await COMMAND_EXECUTORS.eval({ target, packageRoot, options });
673
- renderJsonOr(options, result, formatEvalResult); return exitCode;
609
+ renderJsonOr(options, result, (await import("./commands/eval.js")).formatEvalResult); return exitCode;
674
610
  },
675
- "approval-request": async ({ target, packageRoot, options }) => { const { result } = await COMMAND_EXECUTORS["approval-request"]({ target, packageRoot, options }); renderJsonOr(options, result, formatApprovalRequestResult); return 0; },
676
- "approval-resolve": async ({ target, packageRoot, options }) => { const { result } = await COMMAND_EXECUTORS["approval-resolve"]({ target, packageRoot, options }); renderJsonOr(options, result, formatApprovalResolveResult); return 0; },
611
+ "approval-request": async ({ target, packageRoot, options }) => { const { result } = await COMMAND_EXECUTORS["approval-request"]({ target, packageRoot, options }); renderJsonOr(options, result, (await import("./commands/approval-request.js")).formatApprovalRequestResult); return 0; },
612
+ "approval-resolve": async ({ target, packageRoot, options }) => { const { result } = await COMMAND_EXECUTORS["approval-resolve"]({ target, packageRoot, options }); renderJsonOr(options, result, (await import("./commands/approval-resolve.js")).formatApprovalResolveResult); return 0; },
677
613
  "record-check": async ({ target, packageRoot, options }) => {
678
614
  const { result } = await COMMAND_EXECUTORS["record-check"]({ target, packageRoot, options });
679
- renderJsonOr(options, result, formatRecordCheckResult);
615
+ renderJsonOr(options, result, (await import("./commands/record-check.js")).formatRecordCheckResult);
680
616
  return 0;
681
617
  },
682
618
  "record-terminal-result": async ({ target, packageRoot, options }) => {
683
619
  const { result } = await COMMAND_EXECUTORS["record-terminal-result"]({ target, packageRoot, options });
684
- renderJsonOr(options, result, formatRecordTerminalResult);
620
+ renderJsonOr(options, result, (await import("./commands/record-terminal-result.js")).formatRecordTerminalResult);
685
621
  return 0;
686
622
  },
687
623
  "record-diagnosis": async ({ target, packageRoot, options }) => {
688
624
  const { result } = await COMMAND_EXECUTORS["record-diagnosis"]({ target, packageRoot, options });
689
- renderJsonOr(options, result, formatRecordDiagnosisResult);
625
+ renderJsonOr(options, result, (await import("./commands/record-diagnosis.js")).formatRecordDiagnosisResult);
690
626
  return 0;
691
627
  },
692
628
  "record-intervention": async ({ target, packageRoot, options }) => {
693
629
  const { result } = await COMMAND_EXECUTORS["record-intervention"]({ target, packageRoot, options });
694
- renderJsonOr(options, result, formatRecordInterventionResult);
630
+ renderJsonOr(options, result, (await import("./commands/record-intervention.js")).formatRecordInterventionResult);
695
631
  return 0;
696
632
  },
697
633
  "record-hypothesis-disposition": async ({ target, packageRoot, options }) => {
698
634
  const { result } = await COMMAND_EXECUTORS["record-hypothesis-disposition"]({ target, packageRoot, options });
699
- renderJsonOr(options, result, formatRecordHypothesisDispositionResult);
635
+ renderJsonOr(options, result, (await import("./commands/record-hypothesis-disposition.js")).formatRecordHypothesisDispositionResult);
700
636
  return 0;
701
637
  },
702
638
  history: async ({ target, packageRoot, options }) => {
@@ -708,94 +644,94 @@ export const COMMAND_HANDLERS = Object.freeze({
708
644
  console.log(`${event.timestamp ?? "--:--:--"} ${event.type}`);
709
645
  }
710
646
  } else if (options.verbose) {
711
- console.log(formatHistoryResult(result));
647
+ console.log((await import("./commands/history.js")).formatHistoryResult(result));
712
648
  for (const event of result.events) {
713
649
  console.log(`--- ${event.sequence} ${event.type} ---`);
714
650
  console.log(JSON.stringify(event.data, null, 2));
715
651
  }
716
652
  } else {
717
- console.log(formatHistoryResult(result));
653
+ console.log((await import("./commands/history.js")).formatHistoryResult(result));
718
654
  }
719
655
  return exitCode;
720
656
  },
721
657
  trace: async ({ target, packageRoot, options }) => {
722
658
  const { result, exitCode } = await COMMAND_EXECUTORS.trace({ target, packageRoot, options });
723
- renderJsonOr(options, result, formatTraceResult);
659
+ renderJsonOr(options, result, (await import("./commands/trace.js")).formatTraceResult);
724
660
  return exitCode;
725
661
  },
726
662
  reflect: async ({ target, packageRoot, options }) => {
727
663
  const { result, exitCode } = await COMMAND_EXECUTORS.reflect({ target, packageRoot, options });
728
- renderJsonOr(options, result, formatReflectResult);
664
+ renderJsonOr(options, result, (await import("./commands/reflect.js")).formatReflectResult);
729
665
  return exitCode;
730
666
  },
731
667
  progress: async ({ target, packageRoot, options }) => {
732
668
  const { result, exitCode } = await COMMAND_EXECUTORS.progress({ target, packageRoot, options });
733
- renderJsonOr(options, result, formatProgressResult);
669
+ renderJsonOr(options, result, (await import("./commands/progress.js")).formatProgressResult);
734
670
  return exitCode;
735
671
  },
736
672
  "record-decision-criterion": async ({ target, packageRoot, options }) => {
737
673
  const { result } = await COMMAND_EXECUTORS["record-decision-criterion"]({ target, packageRoot, options });
738
- renderJsonOr(options, result, formatRecordDecisionCriterionResult);
674
+ renderJsonOr(options, result, (await import("./commands/record-decision-criterion.js")).formatRecordDecisionCriterionResult);
739
675
  return 0;
740
676
  },
741
677
  complete: async ({ target, packageRoot, options }) => {
742
678
  const { result, exitCode } = await COMMAND_EXECUTORS.complete({ target, packageRoot, options });
743
- renderJsonOr(options, result, formatCompleteResult);
679
+ renderJsonOr(options, result, (await import("./commands/complete.js")).formatCompleteResult);
744
680
  return exitCode;
745
681
  },
746
682
  audit: async ({ target, packageRoot, options }) => {
747
683
  const { result, exitCode } = await COMMAND_EXECUTORS.audit({ target, packageRoot, options });
748
- renderJsonOr(options, result, formatAuditResult);
684
+ renderJsonOr(options, result, (await import("./commands/audit.js")).formatAuditResult);
749
685
  return exitCode;
750
686
  },
751
687
  report: async ({ target, packageRoot, options }) => {
752
688
  const { result, exitCode } = await COMMAND_EXECUTORS.report({ target, packageRoot, options });
753
- renderJsonOr(options, result, formatReportResult);
689
+ renderJsonOr(options, result, (await import("./commands/report.js")).formatReportResult);
754
690
  return exitCode;
755
691
  },
756
692
  policy: async ({ target, packageRoot, options }) => {
757
693
  const { result } = await COMMAND_EXECUTORS.policy({ target, packageRoot, options });
758
- renderJsonOr(options, result, formatPolicyResult);
694
+ renderJsonOr(options, result, (await import("./commands/policy.js")).formatPolicyResult);
759
695
  return 0;
760
696
  },
761
697
  "policy-discover": async ({ target, packageRoot, options }) => {
762
698
  const { result } = await COMMAND_EXECUTORS["policy-discover"]({ target, packageRoot, options });
763
- renderJsonOr(options, result, formatPolicyDiscoverResult);
699
+ renderJsonOr(options, result, (await import("./commands/policy-discover.js")).formatPolicyDiscoverResult);
764
700
  return 0;
765
701
  },
766
702
  "policy-status": async ({ target, packageRoot, options }) => {
767
703
  const { result, exitCode } = await COMMAND_EXECUTORS["policy-status"]({ target, packageRoot, options });
768
- renderJsonOr(options, result, formatPolicyStatusResult);
704
+ renderJsonOr(options, result, (await import("./commands/policy-status.js")).formatPolicyStatusResult);
769
705
  return exitCode;
770
706
  },
771
707
  "policy-diff": async ({ target, packageRoot, options }) => {
772
708
  const { result } = await COMMAND_EXECUTORS["policy-diff"]({ target, packageRoot, options });
773
- renderJsonOr(options, result, formatPolicyDiffResult);
709
+ renderJsonOr(options, result, (await import("./commands/policy-diff.js")).formatPolicyDiffResult);
774
710
  return 0;
775
711
  },
776
712
  "rule-verify": async ({ target, packageRoot, options }) => {
777
713
  const { result, exitCode } = await COMMAND_EXECUTORS["rule-verify"]({ target, packageRoot, options });
778
- renderJsonOr(options, result, formatRuleVerifyResult);
714
+ renderJsonOr(options, result, (await import("./commands/rule-verify.js")).formatRuleVerifyResult);
779
715
  return exitCode;
780
716
  },
781
717
  baseline: async ({ target, packageRoot, options }) => {
782
718
  const { result } = await COMMAND_EXECUTORS.baseline({ target, packageRoot, options });
783
- renderJsonOr(options, result, formatBaselineResult);
719
+ renderJsonOr(options, result, (await import("./commands/baseline.js")).formatBaselineResult);
784
720
  return 0;
785
721
  },
786
722
  "profile-interview": async ({ target, packageRoot, options }) => {
787
723
  const { result } = await COMMAND_EXECUTORS["profile-interview"]({ target, packageRoot, options });
788
- renderJsonOr(options, result, formatProfileInterviewResult);
724
+ renderJsonOr(options, result, (await import("./commands/profile-interview.js")).formatProfileInterviewResult);
789
725
  return 0;
790
726
  },
791
727
  bundle: async ({ target, packageRoot, options }) => {
792
728
  const { result } = await COMMAND_EXECUTORS.bundle({ target, packageRoot, options });
793
- renderJsonOr(options, result, formatBundleResult);
729
+ renderJsonOr(options, result, (await import("./commands/bundle.js")).formatBundleResult);
794
730
  return 0;
795
731
  },
796
732
  inspect: async ({ target, packageRoot, options }) => {
797
733
  const { result, exitCode } = await COMMAND_EXECUTORS.inspect({ target, packageRoot, options });
798
- renderJsonOr(options, result, formatInspectResult);
734
+ renderJsonOr(options, result, (await import("./commands/inspect.js")).formatInspectResult);
799
735
  return exitCode;
800
736
  },
801
737
  "validate-receipt": async ({ target, packageRoot, options }) => {
@@ -805,63 +741,63 @@ export const COMMAND_HANDLERS = Object.freeze({
805
741
  },
806
742
  "validate-protocol": async ({ target, packageRoot, options }) => {
807
743
  const { result, exitCode } = await COMMAND_EXECUTORS["validate-protocol"]({ target, packageRoot, options });
808
- renderJsonOr(options, result, formatValidateProtocolResult);
744
+ renderJsonOr(options, result, (await import("./commands/validate-protocol.js")).formatValidateProtocolResult);
809
745
  return exitCode;
810
746
  },
811
747
  status: async ({ target, packageRoot, options }) => {
812
748
  const { result } = await COMMAND_EXECUTORS.status({ target, packageRoot, options });
813
- renderJsonOr(options, result, formatStatusResult);
749
+ renderJsonOr(options, result, (await import("./commands/status.js")).formatStatusResult);
814
750
  return 0;
815
751
  },
816
752
  "validate-state": async ({ target, packageRoot, options }) => {
817
753
  const { result, exitCode } = await COMMAND_EXECUTORS["validate-state"]({ target, packageRoot, options });
818
- renderJsonOr(options, result, formatValidateStateResult);
754
+ renderJsonOr(options, result, (await import("./commands/validate-state.js")).formatValidateStateResult);
819
755
  return exitCode;
820
756
  },
821
757
  "clear-state": async ({ target, options }) => {
822
758
  const { result } = await COMMAND_EXECUTORS["clear-state"]({ target, options });
823
- renderJsonOr(options, result, formatClearStateResult);
759
+ renderJsonOr(options, result, (await import("./commands/clear-state.js")).formatClearStateResult);
824
760
  return 0;
825
761
  },
826
762
  "task-create": async ({ target, packageRoot, options }) => {
827
763
  const { result } = await COMMAND_EXECUTORS["task-create"]({ target, packageRoot, options });
828
- renderJsonOr(options, result, formatTaskCreateResult);
764
+ renderJsonOr(options, result, (await import("./commands/task-create.js")).formatTaskCreateResult);
829
765
  return 0;
830
766
  },
831
767
  "task-list": async ({ target, packageRoot, options }) => {
832
768
  const { result } = await COMMAND_EXECUTORS["task-list"]({ target, packageRoot, options });
833
- renderJsonOr(options, result, formatTaskListResult);
769
+ renderJsonOr(options, result, (await import("./commands/task-list.js")).formatTaskListResult);
834
770
  return 0;
835
771
  },
836
772
  "task-show": async ({ target, packageRoot, options }) => {
837
773
  const { result } = await COMMAND_EXECUTORS["task-show"]({ target, packageRoot, options });
838
- if (options.compact) console.log(formatCompactTaskShowResult(result));
839
- else renderJsonOr(options, result, formatTaskShowResult);
774
+ if (options.compact) console.log((await import("./commands/task-show.js")).formatCompactTaskShowResult(result));
775
+ else renderJsonOr(options, result, (await import("./commands/task-show.js")).formatTaskShowResult);
840
776
  return 0;
841
777
  },
842
778
  "task-lock-status": async ({ target, packageRoot, options }) => {
843
779
  const { result } = await COMMAND_EXECUTORS["task-lock-status"]({ target, packageRoot, options });
844
- renderJsonOr(options, result, formatTaskLockStatusResult);
780
+ renderJsonOr(options, result, (await import("./commands/task-lock-status.js")).formatTaskLockStatusResult);
845
781
  return 0;
846
782
  },
847
783
  "task-scope": async ({ target, packageRoot, options }) => {
848
784
  const { result } = await COMMAND_EXECUTORS["task-scope"]({ target, packageRoot, options });
849
- renderJsonOr(options, result, formatTaskScopeResult);
785
+ renderJsonOr(options, result, (await import("./commands/task-scope.js")).formatTaskScopeResult);
850
786
  return 0;
851
787
  },
852
788
  "task-migrate": async ({ target, packageRoot, options }) => {
853
789
  const { result } = await COMMAND_EXECUTORS["task-migrate"]({ target, packageRoot, options });
854
- renderJsonOr(options, result, formatTaskMigrateResult);
790
+ renderJsonOr(options, result, (await import("./commands/task-migrate.js")).formatTaskMigrateResult);
855
791
  return 0;
856
792
  },
857
793
  "migrate-protocol": async ({ target, packageRoot, options }) => {
858
794
  const { result } = await COMMAND_EXECUTORS["migrate-protocol"]({ target, packageRoot, options });
859
- renderJsonOr(options, result, formatMigrateProtocolResult);
795
+ renderJsonOr(options, result, (await import("./commands/migrate-protocol.js")).formatMigrateProtocolResult);
860
796
  return 0;
861
797
  },
862
798
  "task-unlock": async ({ target, packageRoot, options }) => {
863
799
  const { result } = await COMMAND_EXECUTORS["task-unlock"]({ target, packageRoot, options });
864
- renderJsonOr(options, result, formatTaskUnlockResult);
800
+ renderJsonOr(options, result, (await import("./commands/task-unlock.js")).formatTaskUnlockResult);
865
801
  return 0;
866
802
  },
867
803
  "task-recover": async ({ target, packageRoot, options }) => {
@@ -869,42 +805,42 @@ export const COMMAND_HANDLERS = Object.freeze({
869
805
  console.error("DEPRECATION: --operator-authorized is caller acknowledgement, not host attestation; use --acknowledge-recovery.");
870
806
  }
871
807
  const { result } = await COMMAND_EXECUTORS["task-recover"]({ target, packageRoot, options });
872
- renderJsonOr(options, result, formatTaskRecoverResult);
808
+ renderJsonOr(options, result, (await import("./commands/task-recover.js")).formatTaskRecoverResult);
873
809
  return 0;
874
810
  },
875
811
  "task-abandon": async ({ target, packageRoot, options }) => {
876
812
  const { result } = await COMMAND_EXECUTORS["task-abandon"]({ target, packageRoot, options });
877
- renderJsonOr(options, result, formatTaskAbandonResult);
813
+ renderJsonOr(options, result, (await import("./commands/task-abandon.js")).formatTaskAbandonResult);
878
814
  return 0;
879
815
  },
880
816
  "task-resume": async ({ target, packageRoot, options }) => {
881
817
  const { result } = await COMMAND_EXECUTORS["task-resume"]({ target, packageRoot, options });
882
- renderJsonOr(options, result, formatTaskResumeResult);
818
+ renderJsonOr(options, result, (await import("./commands/task-resume.js")).formatTaskResumeResult);
883
819
  return 0;
884
820
  },
885
821
  "task-repair-contract-bootstrap": async ({ target, packageRoot, options }) => {
886
822
  const { result } = await COMMAND_EXECUTORS["task-repair-contract-bootstrap"]({ target, packageRoot, options });
887
- renderJsonOr(options, result, formatTaskRepairContractBootstrapResult);
823
+ renderJsonOr(options, result, (await import("./commands/task-repair-contract-bootstrap.js")).formatTaskRepairContractBootstrapResult);
888
824
  return 0;
889
825
  },
890
826
  "task-migrate-contract-bootstrap-repair": async ({ target, packageRoot, options }) => {
891
827
  const { result } = await COMMAND_EXECUTORS["task-migrate-contract-bootstrap-repair"]({ target, packageRoot, options });
892
- renderJsonOr(options, result, formatTaskMigrateContractBootstrapRepairResult);
828
+ renderJsonOr(options, result, (await import("./commands/task-migrate-contract-bootstrap-repair.js")).formatTaskMigrateContractBootstrapRepairResult);
893
829
  return 0;
894
830
  },
895
831
  "checkpoint-revalidate": async ({ target, packageRoot, options }) => {
896
832
  const { result } = await COMMAND_EXECUTORS["checkpoint-revalidate"]({ target, packageRoot, options });
897
- renderJsonOr(options, result, formatCheckpointRevalidateResult);
833
+ renderJsonOr(options, result, (await import("./commands/checkpoint-revalidate.js")).formatCheckpointRevalidateResult);
898
834
  return 0;
899
835
  },
900
836
  "task-repair-legacy-recovery": async ({ target, packageRoot, options }) => {
901
837
  const { result } = await COMMAND_EXECUTORS["task-repair-legacy-recovery"]({ target, packageRoot, options });
902
- renderJsonOr(options, result, formatTaskRepairLegacyRecoveryResult);
838
+ renderJsonOr(options, result, (await import("./commands/task-repair-legacy-recovery.js")).formatTaskRepairLegacyRecoveryResult);
903
839
  return 0;
904
840
  },
905
841
  "reconcile-closure": async ({ target, packageRoot, options }) => {
906
842
  const { result } = await COMMAND_EXECUTORS["reconcile-closure"]({ target, packageRoot, options });
907
- renderJsonOr(options, result, formatReconcileClosureResult);
843
+ renderJsonOr(options, result, (await import("./commands/reconcile-closure.js")).formatReconcileClosureResult);
908
844
  return 0;
909
845
  },
910
846
  update: async ({ target, packageRoot, packageVersion, options }) => {