opencode-swarm 7.178.0 → 7.178.1

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 (92) hide show
  1. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  2. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  3. package/dist/cli/{coder-settlement-d2bfb25j.js → coder-settlement-m03dfyec.js} +11 -11
  4. package/dist/cli/{config-doctor-905x2s1c.js → config-doctor-x8b260sh.js} +2 -2
  5. package/dist/cli/{core-k7wfx1wx.js → core-2d0xcyby.js} +3 -3
  6. package/dist/cli/{curation-policy-n4hd2wsa.js → curation-policy-7am15ht9.js} +5 -5
  7. package/dist/cli/{curator-wyadq69k.js → curator-5kfkqzc9.js} +37 -37
  8. package/dist/cli/{curator-drift-smqmej5v.js → curator-drift-d93pwt8h.js} +5 -5
  9. package/dist/cli/curator-llm-factory-rgdb2ee5.js +72 -0
  10. package/dist/cli/{evidence-summary-service-r3wcprfk.js → evidence-summary-service-959pwbwb.js} +16 -16
  11. package/dist/cli/{gate-evidence-tq9rb2aj.js → gate-evidence-66kjx6zj.js} +6 -6
  12. package/dist/cli/guardrail-explain-rre9ntq3.js +73 -0
  13. package/dist/cli/{guardrail-log-m6twga6x.js → guardrail-log-t0ydqz5s.js} +7 -7
  14. package/dist/cli/{guardrail-reset-86esv8cr.js → guardrail-reset-6gad352a.js} +37 -37
  15. package/dist/cli/{hive-promoter-s87hkb40.js → hive-promoter-zgnagx67.js} +37 -37
  16. package/dist/cli/{index-yeh78c1g.js → index-0pmh1kks.js} +2 -2
  17. package/dist/cli/{index-kfk403mc.js → index-1hgqs8j8.js} +4 -4
  18. package/dist/cli/{index-swxaa0zs.js → index-1jcy4gc6.js} +37 -37
  19. package/dist/cli/{index-qk29b7s4.js → index-1qnykdaw.js} +39 -39
  20. package/dist/cli/{index-zex7644g.js → index-1zrrerev.js} +2 -2
  21. package/dist/cli/{index-pm7c6f66.js → index-2b0ktpbf.js} +2 -2
  22. package/dist/cli/{index-2vhkwy6v.js → index-2e6txjp7.js} +2 -2
  23. package/dist/cli/{index-2mdk6nt9.js → index-2pyba37z.js} +7 -7
  24. package/dist/cli/{index-2b1whj28.js → index-3pzwsesm.js} +2 -2
  25. package/dist/cli/{index-rp0jk48x.js → index-4e4zsj2g.js} +7 -7
  26. package/dist/cli/{index-vfc7d22n.js → index-6e8fpjdg.js} +1 -1
  27. package/dist/cli/{index-wkde35ej.js → index-7kty6f59.js} +8 -8
  28. package/dist/cli/{index-mpcp6rmj.js → index-7n4dtzk4.js} +1 -1
  29. package/dist/cli/{index-d5dexrv1.js → index-b50qevsm.js} +4 -4
  30. package/dist/cli/{index-y6a2bkp1.js → index-bb148vht.js} +2 -2
  31. package/dist/cli/{index-2bmhe2jn.js → index-byfrearz.js} +3 -3
  32. package/dist/cli/{index-sqngtwyq.js → index-eq1n57tg.js} +1 -1
  33. package/dist/cli/{index-jzxeymr0.js → index-h0kyy9rd.js} +93 -227
  34. package/dist/cli/{index-bfz1jvcn.js → index-h4nh6s8b.js} +1 -1
  35. package/dist/cli/{index-p27az2hc.js → index-j7w16s92.js} +3 -3
  36. package/dist/cli/{index-azy3tw6c.js → index-kj599831.js} +2 -2
  37. package/dist/cli/{index-ke3m026z.js → index-ksq6cqg0.js} +14 -7
  38. package/dist/cli/{index-j3rkh9mp.js → index-kz9pcqn9.js} +2 -2
  39. package/dist/cli/{index-zsp9de3k.js → index-ne9zamcs.js} +7 -7
  40. package/dist/cli/{index-q9vb5e7n.js → index-nrfjjqm4.js} +1 -1
  41. package/dist/cli/{index-tnjmn0dn.js → index-nzekzzs2.js} +4 -4
  42. package/dist/cli/{index-wfbh1bx8.js → index-pk97v7b8.js} +3 -3
  43. package/dist/cli/{index-gg44hytk.js → index-pyxs697r.js} +33 -8
  44. package/dist/cli/{index-18hjycr1.js → index-qbs49vge.js} +30 -2
  45. package/dist/cli/{index-zsm8h8y1.js → index-r78kphsr.js} +4 -4
  46. package/dist/cli/{index-zmb8fjp5.js → index-s4bkey0q.js} +1 -1
  47. package/dist/cli/{index-yj1kr0ft.js → index-t8dqe4ns.js} +1 -1
  48. package/dist/cli/{index-j1v54ahd.js → index-w1b5qqnp.js} +2 -2
  49. package/dist/cli/{index-heg4em8j.js → index-wajcx84s.js} +2917 -2722
  50. package/dist/cli/{index-w4yjy3vp.js → index-whjrhatw.js} +1 -1
  51. package/dist/cli/{index-qs8eth8h.js → index-x1m1nnry.js} +3 -3
  52. package/dist/cli/{index-at0ygwwp.js → index-x54339yd.js} +5 -5
  53. package/dist/cli/{index-29begjkp.js → index-xr3eye3f.js} +8 -8
  54. package/dist/cli/{index-ffqy30e5.js → index-xr9n0vjv.js} +1 -1
  55. package/dist/cli/{index-y74n1sy8.js → index-yew23624.js} +7 -7
  56. package/dist/cli/{index-wbkxbgk8.js → index-zv3j0v08.js} +1 -1
  57. package/dist/cli/index.js +38 -38
  58. package/dist/cli/{knowledge-escalator-rgz471df.js → knowledge-escalator-5r6mww64.js} +12 -12
  59. package/dist/cli/{knowledge-events-4mq0ypx9.js → knowledge-events-typjw0sd.js} +10 -10
  60. package/dist/cli/{knowledge-link-npk50523.js → knowledge-link-mvykydxg.js} +4 -4
  61. package/dist/cli/{knowledge-store-gft25s5t.js → knowledge-store-9qcf3emn.js} +5 -5
  62. package/dist/cli/{knowledge-validator-ejqacbx4.js → knowledge-validator-k6ydsxzy.js} +7 -7
  63. package/dist/cli/{mcp-emaeeq4s.js → mcp-tedxsgey.js} +1 -1
  64. package/dist/cli/{pending-delegations-4bhkcykk.js → pending-delegations-d20fnrzv.js} +12 -12
  65. package/dist/cli/{pr-subscriptions-h1n6dbds.js → pr-subscriptions-awwhg139.js} +12 -12
  66. package/dist/cli/{pr-workflow-gate-wn6v5za8.js → pr-workflow-gate-ke79bb9c.js} +37 -37
  67. package/dist/cli/{runner-ffy5ahhz.js → runner-y3sydwtj.js} +5 -5
  68. package/dist/cli/{scan-cursor-e63t0g5b.js → scan-cursor-16s6dp7f.js} +6 -6
  69. package/dist/cli/{schema-4k4hr33y.js → schema-nqjp43vq.js} +1 -1
  70. package/dist/cli/{scope-persistence-qcw3rtxq.js → scope-persistence-8z1hwdr2.js} +19 -15
  71. package/dist/cli/{server-58s1wwap.js → server-x16hp9aq.js} +44 -42
  72. package/dist/cli/{skill-generator-fhj13jmq.js → skill-generator-xadg43ph.js} +14 -14
  73. package/dist/cli/{snapshot-coordination-init-5fawrj35.js → snapshot-coordination-init-3yyzb2c4.js} +37 -37
  74. package/dist/cli/{telemetry-ca8dmn26.js → telemetry-c9wv2cfw.js} +1 -1
  75. package/dist/cli/{workspace-snapshot-v5qyjxg0.js → workspace-snapshot-rfnn80dg.js} +3 -3
  76. package/dist/cli/{worktree-collision-ownership-hjk0jx19.js → worktree-collision-ownership-drqhmmtd.js} +13 -13
  77. package/dist/cli/{worktree-isolation-aj20bs6q.js → worktree-isolation-aebdyb1m.js} +37 -37
  78. package/dist/config/plan-schema.d.ts +23 -0
  79. package/dist/evidence/phase-participation.d.ts +3 -2
  80. package/dist/hooks/delegation-gate.d.ts +1 -1
  81. package/dist/hooks/extractors.d.ts +5 -1
  82. package/dist/index.js +506 -504
  83. package/dist/memory/index.d.ts +1 -0
  84. package/dist/memory/memory-family-migration.d.ts +35 -3
  85. package/dist/plan/ledger.d.ts +14 -0
  86. package/dist/plan/manager.d.ts +0 -2
  87. package/dist/plan/parallel-verdict.d.ts +28 -14
  88. package/dist/scope/scope-persistence.d.ts +41 -0
  89. package/dist/tools/plan-conflict-check.d.ts +7 -6
  90. package/package.json +1 -1
  91. package/dist/cli/curator-llm-factory-qhhxev17.js +0 -72
  92. package/dist/cli/guardrail-explain-kvgejh24.js +0 -73
@@ -4,15 +4,15 @@ import {
4
4
  alreadyCuratedThisGeneration,
5
5
  claimNextScanBatch,
6
6
  getScanStatus
7
- } from "./index-zex7644g.js";
8
- import"./index-2mdk6nt9.js";
7
+ } from "./index-1zrrerev.js";
8
+ import"./index-2pyba37z.js";
9
9
  import"./index-vzm6zre7.js";
10
10
  import"./index-ae75rja9.js";
11
- import"./index-yj1kr0ft.js";
12
- import"./index-j3rkh9mp.js";
11
+ import"./index-t8dqe4ns.js";
12
+ import"./index-kz9pcqn9.js";
13
13
  import"./index-7g4c7s5r.js";
14
- import"./index-wfbh1bx8.js";
15
- import"./index-zsp9de3k.js";
14
+ import"./index-pk97v7b8.js";
15
+ import"./index-ne9zamcs.js";
16
16
  import"./index-1xnse449.js";
17
17
  import"./index-c1ggtmpm.js";
18
18
  import"./index-zz7gzw57.js";
@@ -112,7 +112,7 @@ import {
112
112
  resolveGeneratedAgentRole,
113
113
  resolveGuardrailsConfig,
114
114
  stripKnownSwarmPrefix
115
- } from "./index-wbkxbgk8.js";
115
+ } from "./index-zv3j0v08.js";
116
116
  import"./index-m2n1rhgv.js";
117
117
  import"./index-bk5tah7q.js";
118
118
  import"./index-gknz3bv1.js";
@@ -8,6 +8,8 @@ import {
8
8
  flushScopeBindingMaintenance,
9
9
  persistAndRegisterScopeBinding,
10
10
  pruneScopeBindingTombstones,
11
+ readAuthoritativeScopeBindingSet,
12
+ readDeclaredScopeFilesFromBindings,
11
13
  readPlanScope,
12
14
  readScopeBindingFromDisk,
13
15
  readScopeFromDisk,
@@ -23,29 +25,29 @@ import {
23
25
  tombstoneScopeBinding,
24
26
  writeScopeBindingToDisk,
25
27
  writeScopeToDisk
26
- } from "./index-gg44hytk.js";
27
- import"./index-ke3m026z.js";
28
- import"./index-j1v54ahd.js";
29
- import"./index-y6a2bkp1.js";
30
- import"./index-w4yjy3vp.js";
31
- import"./index-tnjmn0dn.js";
32
- import"./index-rdm3px0g.js";
28
+ } from "./index-pyxs697r.js";
29
+ import"./index-ksq6cqg0.js";
30
+ import"./index-w1b5qqnp.js";
31
+ import"./index-bb148vht.js";
32
+ import"./index-whjrhatw.js";
33
+ import"./index-nzekzzs2.js";
33
34
  import"./index-ry16d01s.js";
34
- import"./index-yeh78c1g.js";
35
- import"./index-2mdk6nt9.js";
35
+ import"./index-rdm3px0g.js";
36
+ import"./index-0pmh1kks.js";
37
+ import"./index-2pyba37z.js";
36
38
  import"./index-vzm6zre7.js";
37
39
  import"./index-ae75rja9.js";
38
- import"./index-yj1kr0ft.js";
39
- import"./index-j3rkh9mp.js";
40
+ import"./index-t8dqe4ns.js";
41
+ import"./index-kz9pcqn9.js";
40
42
  import"./index-7g4c7s5r.js";
41
- import"./index-wfbh1bx8.js";
42
- import"./index-zsp9de3k.js";
43
+ import"./index-pk97v7b8.js";
44
+ import"./index-ne9zamcs.js";
43
45
  import"./index-1xnse449.js";
44
46
  import"./index-c1ggtmpm.js";
45
- import"./index-18hjycr1.js";
47
+ import"./index-qbs49vge.js";
46
48
  import"./index-zz7gzw57.js";
47
49
  import"./index-4ddpvd5c.js";
48
- import"./index-wbkxbgk8.js";
50
+ import"./index-zv3j0v08.js";
49
51
  import"./index-m2n1rhgv.js";
50
52
  import"./index-bk5tah7q.js";
51
53
  import"./index-gknz3bv1.js";
@@ -69,6 +71,8 @@ export {
69
71
  readScopeFromDisk,
70
72
  readScopeBindingFromDisk,
71
73
  readPlanScope,
74
+ readDeclaredScopeFilesFromBindings,
75
+ readAuthoritativeScopeBindingSet,
72
76
  pruneScopeBindingTombstones,
73
77
  persistAndRegisterScopeBinding,
74
78
  flushScopeBindingMaintenance,
@@ -25,26 +25,26 @@ import {
25
25
  redactSecrets,
26
26
  resolveWriteTargets,
27
27
  symbols
28
- } from "./index-heg4em8j.js";
28
+ } from "./index-wajcx84s.js";
29
29
  import {
30
30
  getProfileForFile
31
31
  } from "./index-hnvmj9wx.js";
32
32
  import {
33
33
  pLimit
34
- } from "./index-q9vb5e7n.js";
34
+ } from "./index-nrfjjqm4.js";
35
35
  import {
36
36
  checkFileAuthority,
37
37
  checkWriteTargetForSymlink
38
- } from "./index-qs8eth8h.js";
39
- import"./index-bfz1jvcn.js";
40
- import"./index-vfc7d22n.js";
38
+ } from "./index-x1m1nnry.js";
39
+ import"./index-h4nh6s8b.js";
40
+ import"./index-6e8fpjdg.js";
41
41
  import {
42
42
  _internals,
43
43
  loadPlan,
44
44
  loadPlanJsonOnly,
45
45
  saveEvidence
46
- } from "./index-jzxeymr0.js";
47
- import"./index-mpcp6rmj.js";
46
+ } from "./index-h0kyy9rd.js";
47
+ import"./index-7n4dtzk4.js";
48
48
  import"./index-txdagbh7.js";
49
49
  import"./index-n1tcj1q7.js";
50
50
  import {
@@ -55,58 +55,58 @@ import {
55
55
  validateTargetWithinRoot,
56
56
  validateWorkspaceRoot
57
57
  } from "./index-6b295cas.js";
58
- import"./index-zsm8h8y1.js";
59
- import"./index-at0ygwwp.js";
58
+ import"./index-r78kphsr.js";
59
+ import"./index-x54339yd.js";
60
60
  import {
61
61
  resolveCohortId
62
- } from "./index-zex7644g.js";
62
+ } from "./index-1zrrerev.js";
63
63
  import"./index-fyfbpz4f.js";
64
- import"./index-y74n1sy8.js";
64
+ import"./index-yew23624.js";
65
65
  import"./index-549wxbe1.js";
66
66
  import"./index-zsrtt42s.js";
67
- import"./index-wkde35ej.js";
68
- import"./index-pm7c6f66.js";
69
- import"./index-2b1whj28.js";
67
+ import"./index-7kty6f59.js";
68
+ import"./index-2b0ktpbf.js";
69
+ import"./index-3pzwsesm.js";
70
70
  import {
71
71
  getLanguageForExtension,
72
72
  getParserForFile
73
73
  } from "./index-pt7h91zc.js";
74
74
  import"./index-q7sjgr1y.js";
75
- import"./index-kfk403mc.js";
76
- import"./index-p27az2hc.js";
77
- import"./index-rp0jk48x.js";
75
+ import"./index-1hgqs8j8.js";
76
+ import"./index-j7w16s92.js";
77
+ import"./index-4e4zsj2g.js";
78
78
  import {
79
79
  effectiveRetrievalOutcomes,
80
80
  newTraceId,
81
81
  readAuthoritativeKnowledgeCounterRollups,
82
82
  recordKnowledgeEvent
83
- } from "./index-29begjkp.js";
84
- import"./index-zmb8fjp5.js";
83
+ } from "./index-xr3eye3f.js";
84
+ import"./index-s4bkey0q.js";
85
85
  import"./index-2s7dvzff.js";
86
86
  import {
87
87
  appendUnactionable,
88
88
  validateActionability,
89
89
  validateActionableFields,
90
90
  validateLesson
91
- } from "./index-d5dexrv1.js";
91
+ } from "./index-b50qevsm.js";
92
92
  import {
93
93
  resolveWorktreeId
94
- } from "./index-ffqy30e5.js";
94
+ } from "./index-xr9n0vjv.js";
95
95
  import"./index-rtry5xyf.js";
96
- import"./index-2vhkwy6v.js";
96
+ import"./index-2e6txjp7.js";
97
97
  import"./index-frcemc0b.js";
98
98
  import"./index-wrt875kh.js";
99
99
  import {
100
100
  normalizeScopeFiles
101
- } from "./index-gg44hytk.js";
102
- import"./index-ke3m026z.js";
103
- import"./index-j1v54ahd.js";
104
- import"./index-y6a2bkp1.js";
105
- import"./index-w4yjy3vp.js";
106
- import"./index-tnjmn0dn.js";
107
- import"./index-rdm3px0g.js";
101
+ } from "./index-pyxs697r.js";
102
+ import"./index-ksq6cqg0.js";
103
+ import"./index-w1b5qqnp.js";
104
+ import"./index-bb148vht.js";
105
+ import"./index-whjrhatw.js";
106
+ import"./index-nzekzzs2.js";
108
107
  import"./index-ry16d01s.js";
109
- import"./index-yeh78c1g.js";
108
+ import"./index-rdm3px0g.js";
109
+ import"./index-0pmh1kks.js";
110
110
  import {
111
111
  computeContentHash,
112
112
  computeOutcomeSignal,
@@ -123,19 +123,19 @@ import {
123
123
  resolveSwarmKnowledgePath,
124
124
  transactKnowledge,
125
125
  wordBigrams
126
- } from "./index-2mdk6nt9.js";
126
+ } from "./index-2pyba37z.js";
127
127
  import"./index-vzm6zre7.js";
128
128
  import"./index-ae75rja9.js";
129
- import"./index-yj1kr0ft.js";
129
+ import"./index-t8dqe4ns.js";
130
130
  import {
131
131
  tryAcquireLock
132
- } from "./index-j3rkh9mp.js";
132
+ } from "./index-kz9pcqn9.js";
133
133
  import"./index-7g4c7s5r.js";
134
- import"./index-wfbh1bx8.js";
134
+ import"./index-pk97v7b8.js";
135
135
  import {
136
136
  assertSwarmContainedTarget,
137
137
  atomicWriteSwarmFile
138
- } from "./index-zsp9de3k.js";
138
+ } from "./index-ne9zamcs.js";
139
139
  import {
140
140
  canonicalRootKeyFresh
141
141
  } from "./index-1xnse449.js";
@@ -145,7 +145,7 @@ import {
145
145
  import {
146
146
  loadGateOverrides,
147
147
  loadPluginConfigWithMeta
148
- } from "./index-18hjycr1.js";
148
+ } from "./index-qbs49vge.js";
149
149
  import {
150
150
  init_git_executable,
151
151
  resolveGitExecutableAsync
@@ -155,7 +155,7 @@ import {
155
155
  KnowledgeConfigSchema,
156
156
  init_schema,
157
157
  stripKnownSwarmPrefix
158
- } from "./index-wbkxbgk8.js";
158
+ } from "./index-zv3j0v08.js";
159
159
  import {
160
160
  TOOL_METADATA,
161
161
  init_tool_metadata
@@ -18982,12 +18982,13 @@ var plan_conflict_check_args = {
18982
18982
  async function executePlanConflictCheck(args, directory) {
18983
18983
  const useCochange = args.use_cochange === true;
18984
18984
  let planLoaded = false;
18985
+ let loadedPlan = null;
18985
18986
  const knownTaskIds = new Set;
18986
18987
  try {
18987
- const plan = await loadPlanJsonOnly(directory);
18988
- if (plan) {
18988
+ loadedPlan = await loadPlanJsonOnly(directory);
18989
+ if (loadedPlan) {
18989
18990
  planLoaded = true;
18990
- for (const phase of plan.phases) {
18991
+ for (const phase of loadedPlan.phases) {
18991
18992
  for (const task of phase.tasks)
18992
18993
  knownTaskIds.add(task.id);
18993
18994
  }
@@ -19007,7 +19008,8 @@ async function executePlanConflictCheck(args, directory) {
19007
19008
  }
19008
19009
  const verdict = computeParallelVerdict(directory, requestedIds, {
19009
19010
  useCochange,
19010
- cochangePairs
19011
+ cochangePairs,
19012
+ plan: loadedPlan ?? undefined
19011
19013
  });
19012
19014
  return {
19013
19015
  verdict: verdict.verdict,
@@ -19023,7 +19025,7 @@ async function executePlanConflictCheck(args, directory) {
19023
19025
  }
19024
19026
  var plan_conflict_check = createSwarmTool({
19025
19027
  allowWorkingDirectoryOverride: true,
19026
- description: "Read-only advisory check (#1656): compute a pairwise file-conflict matrix for N proposed parallel task groups " + "using declared scopes (`.swarm/scopes/scope-<taskId>.json`) and optional git co-change signal. Returns a " + "verdict (all_disjoint / conflicts_present / unknown_scopes), per-pair evidence, and a suggested serialization " + "order. Writes nothing \u2014 the execution gate independently recomputes the verdict inline at dispatch time via " + "the same helper. Use this BEFORE attempting parallel dispatch to confirm disjointness.",
19028
+ description: "Read-only advisory check (#1656): compute a pairwise file-conflict matrix for N proposed parallel task groups " + "using the currently declared v2 scope bindings (the same authority declare_scope writes, #2532) and optional " + "git co-change signal. Returns a " + "verdict (all_disjoint / conflicts_present / unknown_scopes), per-pair evidence, and a suggested serialization " + "order. Writes nothing \u2014 the execution gate independently recomputes the verdict inline at dispatch time via " + "the same helper. Use this BEFORE attempting parallel dispatch to confirm disjointness.",
19027
19029
  args: plan_conflict_check_args,
19028
19030
  execute: async (args, directory) => {
19029
19031
  const typedArgs = args;
@@ -33,32 +33,32 @@ import {
33
33
  sanitizeSlug,
34
34
  selectCandidateEntries,
35
35
  writeEvalStub
36
- } from "./index-zsm8h8y1.js";
36
+ } from "./index-r78kphsr.js";
37
37
  import"./index-q7sjgr1y.js";
38
- import"./index-29begjkp.js";
39
- import"./index-zmb8fjp5.js";
38
+ import"./index-xr3eye3f.js";
39
+ import"./index-s4bkey0q.js";
40
40
  import"./index-2s7dvzff.js";
41
- import"./index-d5dexrv1.js";
42
- import"./index-ffqy30e5.js";
41
+ import"./index-b50qevsm.js";
42
+ import"./index-xr9n0vjv.js";
43
43
  import"./index-rtry5xyf.js";
44
- import"./index-2vhkwy6v.js";
44
+ import"./index-2e6txjp7.js";
45
45
  import"./index-frcemc0b.js";
46
46
  import"./index-wrt875kh.js";
47
- import"./index-yeh78c1g.js";
48
- import"./index-2mdk6nt9.js";
47
+ import"./index-0pmh1kks.js";
48
+ import"./index-2pyba37z.js";
49
49
  import"./index-vzm6zre7.js";
50
50
  import"./index-ae75rja9.js";
51
- import"./index-yj1kr0ft.js";
52
- import"./index-j3rkh9mp.js";
51
+ import"./index-t8dqe4ns.js";
52
+ import"./index-kz9pcqn9.js";
53
53
  import"./index-7g4c7s5r.js";
54
- import"./index-wfbh1bx8.js";
55
- import"./index-zsp9de3k.js";
54
+ import"./index-pk97v7b8.js";
55
+ import"./index-ne9zamcs.js";
56
56
  import"./index-1xnse449.js";
57
57
  import"./index-c1ggtmpm.js";
58
- import"./index-18hjycr1.js";
58
+ import"./index-qbs49vge.js";
59
59
  import"./index-zz7gzw57.js";
60
60
  import"./index-4ddpvd5c.js";
61
- import"./index-wbkxbgk8.js";
61
+ import"./index-zv3j0v08.js";
62
62
  import"./index-m2n1rhgv.js";
63
63
  import"./index-bk5tah7q.js";
64
64
  import"./index-gknz3bv1.js";
@@ -8,64 +8,64 @@ import {
8
8
  markSnapshotCoordinationClosing,
9
9
  retrySnapshotCoordinationInitialization,
10
10
  startSnapshotCoordinationInitialization
11
- } from "./index-heg4em8j.js";
11
+ } from "./index-wajcx84s.js";
12
12
  import"./index-hnvmj9wx.js";
13
- import"./index-q9vb5e7n.js";
14
- import"./index-qs8eth8h.js";
15
- import"./index-bfz1jvcn.js";
16
- import"./index-vfc7d22n.js";
17
- import"./index-jzxeymr0.js";
18
- import"./index-mpcp6rmj.js";
13
+ import"./index-nrfjjqm4.js";
14
+ import"./index-x1m1nnry.js";
15
+ import"./index-h4nh6s8b.js";
16
+ import"./index-6e8fpjdg.js";
17
+ import"./index-h0kyy9rd.js";
18
+ import"./index-7n4dtzk4.js";
19
19
  import"./index-txdagbh7.js";
20
20
  import"./index-n1tcj1q7.js";
21
21
  import"./index-6b295cas.js";
22
- import"./index-zsm8h8y1.js";
23
- import"./index-at0ygwwp.js";
24
- import"./index-zex7644g.js";
22
+ import"./index-r78kphsr.js";
23
+ import"./index-x54339yd.js";
24
+ import"./index-1zrrerev.js";
25
25
  import"./index-fyfbpz4f.js";
26
- import"./index-y74n1sy8.js";
26
+ import"./index-yew23624.js";
27
27
  import"./index-549wxbe1.js";
28
28
  import"./index-zsrtt42s.js";
29
- import"./index-wkde35ej.js";
30
- import"./index-pm7c6f66.js";
31
- import"./index-2b1whj28.js";
29
+ import"./index-7kty6f59.js";
30
+ import"./index-2b0ktpbf.js";
31
+ import"./index-3pzwsesm.js";
32
32
  import"./index-pt7h91zc.js";
33
33
  import"./index-q7sjgr1y.js";
34
- import"./index-kfk403mc.js";
35
- import"./index-p27az2hc.js";
36
- import"./index-rp0jk48x.js";
37
- import"./index-29begjkp.js";
38
- import"./index-zmb8fjp5.js";
34
+ import"./index-1hgqs8j8.js";
35
+ import"./index-j7w16s92.js";
36
+ import"./index-4e4zsj2g.js";
37
+ import"./index-xr3eye3f.js";
38
+ import"./index-s4bkey0q.js";
39
39
  import"./index-2s7dvzff.js";
40
- import"./index-d5dexrv1.js";
41
- import"./index-ffqy30e5.js";
40
+ import"./index-b50qevsm.js";
41
+ import"./index-xr9n0vjv.js";
42
42
  import"./index-rtry5xyf.js";
43
- import"./index-2vhkwy6v.js";
43
+ import"./index-2e6txjp7.js";
44
44
  import"./index-frcemc0b.js";
45
45
  import"./index-wrt875kh.js";
46
- import"./index-gg44hytk.js";
47
- import"./index-ke3m026z.js";
48
- import"./index-j1v54ahd.js";
49
- import"./index-y6a2bkp1.js";
50
- import"./index-w4yjy3vp.js";
51
- import"./index-tnjmn0dn.js";
52
- import"./index-rdm3px0g.js";
46
+ import"./index-pyxs697r.js";
47
+ import"./index-ksq6cqg0.js";
48
+ import"./index-w1b5qqnp.js";
49
+ import"./index-bb148vht.js";
50
+ import"./index-whjrhatw.js";
51
+ import"./index-nzekzzs2.js";
53
52
  import"./index-ry16d01s.js";
54
- import"./index-yeh78c1g.js";
55
- import"./index-2mdk6nt9.js";
53
+ import"./index-rdm3px0g.js";
54
+ import"./index-0pmh1kks.js";
55
+ import"./index-2pyba37z.js";
56
56
  import"./index-vzm6zre7.js";
57
57
  import"./index-ae75rja9.js";
58
- import"./index-yj1kr0ft.js";
59
- import"./index-j3rkh9mp.js";
58
+ import"./index-t8dqe4ns.js";
59
+ import"./index-kz9pcqn9.js";
60
60
  import"./index-7g4c7s5r.js";
61
- import"./index-wfbh1bx8.js";
62
- import"./index-zsp9de3k.js";
61
+ import"./index-pk97v7b8.js";
62
+ import"./index-ne9zamcs.js";
63
63
  import"./index-1xnse449.js";
64
64
  import"./index-c1ggtmpm.js";
65
- import"./index-18hjycr1.js";
65
+ import"./index-qbs49vge.js";
66
66
  import"./index-zz7gzw57.js";
67
67
  import"./index-4ddpvd5c.js";
68
- import"./index-wbkxbgk8.js";
68
+ import"./index-zv3j0v08.js";
69
69
  import"./index-m2n1rhgv.js";
70
70
  import"./index-bk5tah7q.js";
71
71
  import"./index-gknz3bv1.js";
@@ -14,7 +14,7 @@ import {
14
14
  startHeartbeatTracking,
15
15
  stopHeartbeatTracking,
16
16
  telemetry
17
- } from "./index-wfbh1bx8.js";
17
+ } from "./index-pk97v7b8.js";
18
18
  import"./index-1xnse449.js";
19
19
  import"./index-c1ggtmpm.js";
20
20
  import"./index-gknz3bv1.js";
@@ -45,10 +45,10 @@ import {
45
45
  shouldSkipSnapshot,
46
46
  switchPrFeedbackTrackingCandidateAsync,
47
47
  workspaceSnapshotMatches
48
- } from "./index-pm7c6f66.js";
49
- import"./index-zmb8fjp5.js";
48
+ } from "./index-2b0ktpbf.js";
49
+ import"./index-s4bkey0q.js";
50
50
  import"./index-2s7dvzff.js";
51
- import"./index-zsp9de3k.js";
51
+ import"./index-ne9zamcs.js";
52
52
  import"./index-1xnse449.js";
53
53
  import"./index-c1ggtmpm.js";
54
54
  import"./index-zz7gzw57.js";
@@ -9,27 +9,27 @@ import {
9
9
  WORKTREE_PROVISIONING_OWNER_LEASE_MS,
10
10
  removeWorktreeProvisioningOwner,
11
11
  scanWorktreeProvisioningOwnersForRecovery
12
- } from "./index-2b1whj28.js";
12
+ } from "./index-3pzwsesm.js";
13
13
  import {
14
14
  scanDelegationFallbacksForRecovery,
15
15
  scanDelegationsForRecovery
16
- } from "./index-rp0jk48x.js";
17
- import"./index-zmb8fjp5.js";
16
+ } from "./index-4e4zsj2g.js";
17
+ import"./index-s4bkey0q.js";
18
18
  import"./index-2s7dvzff.js";
19
- import"./index-y6a2bkp1.js";
20
- import"./index-w4yjy3vp.js";
21
- import"./index-tnjmn0dn.js";
22
- import"./index-rdm3px0g.js";
19
+ import"./index-bb148vht.js";
20
+ import"./index-whjrhatw.js";
21
+ import"./index-nzekzzs2.js";
23
22
  import"./index-ry16d01s.js";
24
- import"./index-yeh78c1g.js";
25
- import"./index-2mdk6nt9.js";
23
+ import"./index-rdm3px0g.js";
24
+ import"./index-0pmh1kks.js";
25
+ import"./index-2pyba37z.js";
26
26
  import"./index-vzm6zre7.js";
27
27
  import"./index-ae75rja9.js";
28
- import"./index-yj1kr0ft.js";
29
- import"./index-j3rkh9mp.js";
28
+ import"./index-t8dqe4ns.js";
29
+ import"./index-kz9pcqn9.js";
30
30
  import"./index-7g4c7s5r.js";
31
- import"./index-wfbh1bx8.js";
32
- import"./index-zsp9de3k.js";
31
+ import"./index-pk97v7b8.js";
32
+ import"./index-ne9zamcs.js";
33
33
  import {
34
34
  canonicalRootKeyFresh
35
35
  } from "./index-1xnse449.js";
@@ -21,66 +21,66 @@ import {
21
21
  sanitizeWorktreeTaskId,
22
22
  standardWorktreeByCallID,
23
23
  standardWorktreeSerializationSessions
24
- } from "./index-heg4em8j.js";
24
+ } from "./index-wajcx84s.js";
25
25
  import"./index-hnvmj9wx.js";
26
- import"./index-q9vb5e7n.js";
27
- import"./index-qs8eth8h.js";
28
- import"./index-bfz1jvcn.js";
29
- import"./index-vfc7d22n.js";
30
- import"./index-jzxeymr0.js";
31
- import"./index-mpcp6rmj.js";
26
+ import"./index-nrfjjqm4.js";
27
+ import"./index-x1m1nnry.js";
28
+ import"./index-h4nh6s8b.js";
29
+ import"./index-6e8fpjdg.js";
30
+ import"./index-h0kyy9rd.js";
31
+ import"./index-7n4dtzk4.js";
32
32
  import"./index-txdagbh7.js";
33
33
  import"./index-n1tcj1q7.js";
34
34
  import"./index-6b295cas.js";
35
- import"./index-zsm8h8y1.js";
36
- import"./index-at0ygwwp.js";
37
- import"./index-zex7644g.js";
35
+ import"./index-r78kphsr.js";
36
+ import"./index-x54339yd.js";
37
+ import"./index-1zrrerev.js";
38
38
  import"./index-fyfbpz4f.js";
39
- import"./index-y74n1sy8.js";
39
+ import"./index-yew23624.js";
40
40
  import"./index-549wxbe1.js";
41
41
  import"./index-zsrtt42s.js";
42
- import"./index-wkde35ej.js";
43
- import"./index-pm7c6f66.js";
44
- import"./index-2b1whj28.js";
42
+ import"./index-7kty6f59.js";
43
+ import"./index-2b0ktpbf.js";
44
+ import"./index-3pzwsesm.js";
45
45
  import"./index-pt7h91zc.js";
46
46
  import"./index-q7sjgr1y.js";
47
- import"./index-kfk403mc.js";
48
- import"./index-p27az2hc.js";
49
- import"./index-rp0jk48x.js";
50
- import"./index-29begjkp.js";
51
- import"./index-zmb8fjp5.js";
47
+ import"./index-1hgqs8j8.js";
48
+ import"./index-j7w16s92.js";
49
+ import"./index-4e4zsj2g.js";
50
+ import"./index-xr3eye3f.js";
51
+ import"./index-s4bkey0q.js";
52
52
  import"./index-2s7dvzff.js";
53
- import"./index-d5dexrv1.js";
54
- import"./index-ffqy30e5.js";
53
+ import"./index-b50qevsm.js";
54
+ import"./index-xr9n0vjv.js";
55
55
  import"./index-rtry5xyf.js";
56
56
  import {
57
57
  resolveWorktreeIsolationConfig
58
- } from "./index-2vhkwy6v.js";
58
+ } from "./index-2e6txjp7.js";
59
59
  import"./index-frcemc0b.js";
60
60
  import"./index-wrt875kh.js";
61
- import"./index-gg44hytk.js";
62
- import"./index-ke3m026z.js";
63
- import"./index-j1v54ahd.js";
64
- import"./index-y6a2bkp1.js";
65
- import"./index-w4yjy3vp.js";
66
- import"./index-tnjmn0dn.js";
67
- import"./index-rdm3px0g.js";
61
+ import"./index-pyxs697r.js";
62
+ import"./index-ksq6cqg0.js";
63
+ import"./index-w1b5qqnp.js";
64
+ import"./index-bb148vht.js";
65
+ import"./index-whjrhatw.js";
66
+ import"./index-nzekzzs2.js";
68
67
  import"./index-ry16d01s.js";
69
- import"./index-yeh78c1g.js";
70
- import"./index-2mdk6nt9.js";
68
+ import"./index-rdm3px0g.js";
69
+ import"./index-0pmh1kks.js";
70
+ import"./index-2pyba37z.js";
71
71
  import"./index-vzm6zre7.js";
72
72
  import"./index-ae75rja9.js";
73
- import"./index-yj1kr0ft.js";
74
- import"./index-j3rkh9mp.js";
73
+ import"./index-t8dqe4ns.js";
74
+ import"./index-kz9pcqn9.js";
75
75
  import"./index-7g4c7s5r.js";
76
- import"./index-wfbh1bx8.js";
77
- import"./index-zsp9de3k.js";
76
+ import"./index-pk97v7b8.js";
77
+ import"./index-ne9zamcs.js";
78
78
  import"./index-1xnse449.js";
79
79
  import"./index-c1ggtmpm.js";
80
- import"./index-18hjycr1.js";
80
+ import"./index-qbs49vge.js";
81
81
  import"./index-zz7gzw57.js";
82
82
  import"./index-4ddpvd5c.js";
83
- import"./index-wbkxbgk8.js";
83
+ import"./index-zv3j0v08.js";
84
84
  import"./index-m2n1rhgv.js";
85
85
  import"./index-bk5tah7q.js";
86
86
  import"./index-gknz3bv1.js";
@@ -227,6 +227,29 @@ export type RuntimePlan = Plan & {
227
227
  * @returns Phase number of first in-progress phase, or first phase if none
228
228
  */
229
229
  export declare function findFirstActivePhase(phases: Phase[]): number | undefined;
230
+ /**
231
+ * Resolve the plan's active phase id (issue #2532 / PLAN-4).
232
+ *
233
+ * Contract: the stored `current_phase` is authoritative when it points at a
234
+ * NON-terminal phase (this is what preserves the active phase across plan
235
+ * revisions); otherwise the cursor derives from phase statuses — the first
236
+ * non-terminal phase — so a completed (or removed) phase can never hold the
237
+ * cursor. A fully-terminal plan keeps its last phase id.
238
+ *
239
+ * This is the single canonical derivation shared by the persist-side writer
240
+ * (`normalizeCurrentPhaseInPlace`, applied in `savePlan` /
241
+ * `closePlanTerminalState`), ledger replay (`reconstructPlanFromEvents`), and
242
+ * every consumer that must agree on "the current phase" (plan.md header,
243
+ * summary extractor, preflight, delegation-gate active-phase selection).
244
+ */
245
+ export declare function resolveActivePhaseId(plan: Plan): number;
246
+ /**
247
+ * Normalize the stored phase cursor in place (issue #2532 / PLAN-4): the ONE
248
+ * durable advancing writer applied at every plan-persist funnel. Must run
249
+ * BEFORE any plan hash is computed so ledger/projection/snapshot surfaces
250
+ * record the normalized state.
251
+ */
252
+ export declare function normalizeCurrentPhaseInPlace(plan: Plan): void;
230
253
  /**
231
254
  * Get the current phase from a plan, with fallback inference.
232
255
  * @param plan - The plan object
@@ -42,8 +42,9 @@ export declare function completeBackgroundPhaseParticipation(input: {
42
42
  }): Promise<boolean>;
43
43
  export declare function readPhaseParticipation(directory: string, plan: Plan, phase: number, role: string): Promise<ParticipationReadResult>;
44
44
  /**
45
- * Re-stamp receipts that were tagged with the plan's static `current_phase`
46
- * cursor (issue #2702) to the phase whose completion is being recorded. Called
45
+ * Re-stamp receipts that were tagged with the plan's `current_phase` cursor
46
+ * at dispatch time (issue #2702 origin; the cursor is live since #2532) to
47
+ * the phase whose completion is being recorded. Called
47
48
  * from the phase_complete success path so a cursor-mistagged receipt, once it
48
49
  * has satisfied the completing phase's gate, cannot also satisfy a later
49
50
  * phase — per-phase docs participation stays enforced. Idempotent: a second