opencode-swarm 7.164.5 → 7.164.7

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 (101) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +12 -12
  2. package/README.md +1 -1
  3. package/dist/background/pending-delegations.d.ts +12 -2
  4. package/dist/background/pr-review-contract.d.ts +9 -0
  5. package/dist/background/pr-subscriptions.d.ts +1 -8
  6. package/dist/cli/{coder-settlement-x9wbqx46.js → coder-settlement-p8wwmtnn.js} +14 -14
  7. package/dist/cli/{config-doctor-axd9d6hs.js → config-doctor-wxf488mw.js} +5 -3
  8. package/dist/cli/{core-f1a1fk13.js → core-671ybpbt.js} +2 -2
  9. package/dist/cli/{curation-policy-2cy7wejw.js → curation-policy-de7emfqc.js} +7 -6
  10. package/dist/cli/{curator-drift-3s3q4wsy.js → curator-drift-nvxv8xkk.js} +7 -5
  11. package/dist/cli/{curator-b104f7a7.js → curator-eaz5rj6k.js} +39 -37
  12. package/dist/cli/curator-llm-factory-swzyfnh6.js +68 -0
  13. package/dist/cli/{dispatch-q4v8x2pk.js → dispatch-dqybvj8v.js} +10 -6
  14. package/dist/cli/{evidence-summary-service-5xsjs3x3.js → evidence-summary-service-deqsc8hj.js} +19 -16
  15. package/dist/cli/{gate-evidence-ypja4156.js → gate-evidence-mafg71qb.js} +14 -8
  16. package/dist/cli/guardrail-explain-ygq7cx9w.js +69 -0
  17. package/dist/cli/{guardrail-log-6t4e2j5f.js → guardrail-log-k3w9dq6x.js} +9 -8
  18. package/dist/cli/{guardrail-reset-es0bg976.js → guardrail-reset-ae2step4.js} +39 -37
  19. package/dist/cli/hive-promoter-a4cs5sbr.js +83 -0
  20. package/dist/cli/{index-hnjkpk57.js → index-0zjwnbze.js} +1 -1
  21. package/dist/cli/{index-er8ba9be.js → index-1ekzd5wf.js} +56 -15
  22. package/dist/cli/{index-fxxja498.js → index-2czt53wz.js} +1 -1
  23. package/dist/cli/{index-wbnyc50b.js → index-388sxv1b.js} +17 -8
  24. package/dist/cli/{index-1q2dwv69.js → index-3kgg2n6z.js} +12 -6
  25. package/dist/cli/{index-50s9q4c1.js → index-3sv8t7ca.js} +2 -2
  26. package/dist/cli/{index-4jmtdtm9.js → index-46yrz972.js} +3 -3
  27. package/dist/cli/{index-s09b63xg.js → index-4vx89ymn.js} +5 -5
  28. package/dist/cli/{index-aaqbhn9h.js → index-581bcqp9.js} +2 -2
  29. package/dist/cli/{index-0trtcm9n.js → index-63enf73z.js} +20 -15
  30. package/dist/cli/index-7qefgq4j.js +71 -0
  31. package/dist/cli/{index-yrsag0vs.js → index-8ck1jkhd.js} +3 -2
  32. package/dist/cli/{index-y42pra05.js → index-8ntf8jnj.js} +19 -18
  33. package/dist/cli/{index-m1nrd3yd.js → index-8psybzzf.js} +1 -1
  34. package/dist/cli/{index-rz87mx1c.js → index-8tqqmsav.js} +1 -1
  35. package/dist/cli/{index-25z5qwkk.js → index-93znbdam.js} +9 -5
  36. package/dist/cli/{index-maxz22c1.js → index-9qkytpwa.js} +185 -376
  37. package/dist/cli/{index-164m995b.js → index-9ydhzegh.js} +28 -17
  38. package/dist/cli/{index-3gb7bw7h.js → index-bvjwmmdc.js} +1332 -1217
  39. package/dist/cli/{index-ywtcznk2.js → index-c4j9sjcs.js} +4 -4
  40. package/dist/cli/index-cw912re7.js +200 -0
  41. package/dist/cli/{index-8h9nng7f.js → index-fq1wfsmw.js} +100 -97
  42. package/dist/cli/{index-7rat6nyh.js → index-gm65h7bh.js} +9 -6
  43. package/dist/cli/{index-rc6hec4j.js → index-h3k3rgyr.js} +4 -4
  44. package/dist/cli/{index-ea7sehgy.js → index-jkwfajh1.js} +4 -4
  45. package/dist/cli/{index-1dz8hv7p.js → index-kvq1e82k.js} +3 -3
  46. package/dist/cli/{index-4emx8hhh.js → index-mr3h3sm5.js} +2 -2
  47. package/dist/cli/{index-q0gtgwyr.js → index-rey1tzcw.js} +7 -7
  48. package/dist/cli/index-ry16d01s.js +107 -0
  49. package/dist/cli/{index-aper29nf.js → index-ry4mwbc2.js} +1 -1
  50. package/dist/cli/{index-xj4kbtdw.js → index-sxxh4ams.js} +2 -2
  51. package/dist/cli/{index-tfa2p4y4.js → index-t1qzjhnj.js} +13 -13
  52. package/dist/cli/{index-xm7dc14y.js → index-v1fj9exz.js} +12 -5
  53. package/dist/cli/{index-3f7hqtgg.js → index-w3gtqey0.js} +4 -1
  54. package/dist/cli/{index-4krjn1gn.js → index-wgqeqy68.js} +2 -2
  55. package/dist/cli/{index-3rrc5x4v.js → index-x2t2tbm2.js} +2 -2
  56. package/dist/cli/{index-0zbze3n6.js → index-x3qzt684.js} +71 -47
  57. package/dist/cli/{index-j9a4fsxg.js → index-xc3q62ev.js} +2 -2
  58. package/dist/cli/{index-553veay1.js → index-xy59dnvq.js} +1 -1
  59. package/dist/cli/{index-fwebva1m.js → index-y75xd50f.js} +36 -27
  60. package/dist/cli/{index-25jze7sf.js → index-yzn1fm9a.js} +1 -1
  61. package/dist/cli/{index-1f4nandk.js → index-zg34ngdf.js} +21 -11
  62. package/dist/cli/{index-ssb67ff6.js → index-zg8tvjb0.js} +41 -39
  63. package/dist/cli/index.js +39 -37
  64. package/dist/cli/{knowledge-escalator-evjd8g7y.js → knowledge-escalator-t532h2ym.js} +15 -14
  65. package/dist/cli/{knowledge-events-q46z1wy6.js → knowledge-events-hdtc0cxe.js} +13 -12
  66. package/dist/cli/{knowledge-link-ffmzf72f.js → knowledge-link-hhnmc4g1.js} +6 -5
  67. package/dist/cli/{knowledge-store-z82f5x9k.js → knowledge-store-45jadhmb.js} +7 -6
  68. package/dist/cli/{knowledge-validator-19gbnxx2.js → knowledge-validator-5e6qbq6h.js} +9 -8
  69. package/dist/cli/{model-preflight-pmnbfzjv.js → model-preflight-bq035tfh.js} +1 -1
  70. package/dist/cli/{pending-delegations-t4cqk5ha.js → pending-delegations-z0crvst3.js} +7 -7
  71. package/dist/cli/{pr-subscriptions-3enjtq0k.js → pr-subscriptions-73fs8y3n.js} +7 -6
  72. package/dist/cli/{pr-workflow-gate-3ecgfsge.js → pr-workflow-gate-rpdts7wy.js} +41 -37
  73. package/dist/cli/{runner-wqy2hbxn.js → runner-5qqh83e2.js} +6 -6
  74. package/dist/cli/{scan-cursor-8wcy0dvf.js → scan-cursor-t75qznf3.js} +8 -7
  75. package/dist/cli/{schema-hsw9r2tm.js → schema-8dfjsrk6.js} +2 -2
  76. package/dist/cli/{scope-persistence-mbwt4grd.js → scope-persistence-zfmz4sws.js} +12 -10
  77. package/dist/cli/{skill-generator-kg32a5jy.js → skill-generator-psdb10jw.js} +17 -16
  78. package/dist/cli/{telemetry-j14cj552.js → telemetry-85gxedng.js} +1 -1
  79. package/dist/cli/{workspace-snapshot-yq0tc49d.js → workspace-snapshot-eh18vgkn.js} +2 -1
  80. package/dist/cli/{worktree-collision-ownership-0rfw6kp3.js → worktree-collision-ownership-xrqssqzd.js} +12 -15
  81. package/dist/cli/{worktree-isolation-qcwt09ve.js → worktree-isolation-s9m3bgah.js} +39 -37
  82. package/dist/db/canonical-project.d.ts +10 -3
  83. package/dist/db/project-db.d.ts +4 -0
  84. package/dist/evidence/task-gate-repair.d.ts +1 -1
  85. package/dist/gate-evidence.d.ts +19 -1
  86. package/dist/hooks/delegation-gate.d.ts +3 -1
  87. package/dist/hooks/pr-workflow-gate.d.ts +10 -2
  88. package/dist/index.js +593 -590
  89. package/dist/plan/ledger.d.ts +2 -0
  90. package/dist/pr-review/authorization.d.ts +13 -3
  91. package/dist/tools/authorize-pr-review-reentry.d.ts +5 -4
  92. package/dist/tools/dispatch-lanes.d.ts +1 -0
  93. package/dist/tools/pr-workflow-status.d.ts +2 -0
  94. package/dist/tools/pre-check-batch.d.ts +1 -1
  95. package/dist/utils/canonical-root.d.ts +21 -1
  96. package/dist/utils/filesystem-identity.d.ts +59 -0
  97. package/package.json +2 -1
  98. package/dist/cli/curator-llm-factory-cv7ft0mb.js +0 -66
  99. package/dist/cli/guardrail-explain-cvha7b9p.js +0 -67
  100. package/dist/cli/hive-promoter-yzv5g7jy.js +0 -81
  101. package/dist/cli/index-ddszzne4.js +0 -42
@@ -70,7 +70,7 @@ This protocol runs on any agent harness. Before Phase 0, detect which profile
70
70
  this session is in by checking the actual tool list — never assume from the
71
71
  harness name, and never guess:
72
72
 
73
- - **Profile A — structured PR-workflow controller.** The swarm plugin's controller tools are available in this session: `dispatch_lanes_async`, `collect_lane_results`, `retrieve_lane_output`, `parse_lane_candidates`, `submit_pr_review_result`, `write_pr_review_artifact`, `write_pr_review_trigger_eval`, `complete_pr_workflow`. Typical host: OpenCode with the swarm plugin. The controller mechanically enforces this skill's accounting: it computes the
73
+ - **Profile A — structured PR-workflow controller.** The swarm plugin's controller tools are available in this session: `dispatch_lanes_async`, `collect_lane_results`, `retrieve_lane_output`, `parse_lane_candidates`, `write_pr_review_artifact`, `write_pr_review_trigger_eval`, `complete_pr_workflow`. The child-bound `submit_pr_review_result` overlay is available only to dispatched base/micro lanes. Typical host: OpenCode with the swarm plugin. The controller mechanically enforces this skill's accounting: it computes the
74
74
  depth tier itself from the bound merge-base diff (never from caller
75
75
  claims), enforces the tier's lane floors and full dimension/family
76
76
  partitions for consolidated dispatch, and gates structured reviewer/critic
@@ -100,7 +100,7 @@ harness name, and never guess:
100
100
 
101
101
  | Harness (typical) | Profile | Lane dispatch | Ledger persistence | Completion gate |
102
102
  |---|---|---|---|---|
103
- | OpenCode + swarm plugin | A | `dispatch_lanes_async` / `collect_lane_results` | `submit_pr_review_result`, `write_pr_review_artifact`, `write_pr_review_trigger_eval` | `complete_pr_workflow` |
103
+ | OpenCode + swarm plugin | A | `dispatch_lanes_async` / `collect_lane_results` | `write_pr_review_artifact`, `write_pr_review_trigger_eval` | `complete_pr_workflow` |
104
104
  | Claude Code | B | parallel `Agent`/`Task` subagents | ledger files in the session task workspace | Pre-Synthesis Gate checklist |
105
105
  | OpenAI Codex | B | parallel subagents (fresh context) | ledger files in working notes | Pre-Synthesis Gate checklist |
106
106
  | ZCode | B | parallel subagents (fresh context) | ledger files in working notes | Pre-Synthesis Gate checklist |
@@ -162,8 +162,8 @@ ordering, vocabulary, or schema.
162
162
  Controller order is exact: bind the immutable head/base range; dispatch,
163
163
  settle, and parse base lanes; evaluate every trigger row; dispatch micro lanes;
164
164
  settle and parse every matched micro family; persist the trigger evaluation;
165
- submit exactly one `submit_pr_review_result` receipt for each base/micro
166
- discovery lane and then stop; persist post-explorer findings; run reviewers;
165
+ ensure each base/micro child lane submits exactly one child-bound structured
166
+ receipt; persist post-explorer findings; run reviewers;
167
167
  run critics; then persist the final artifact and complete the workflow. Transcript
168
168
  `[CANDIDATE]` / `[CLEAN]` rows are deprecated legacy compatibility only for
169
169
  lanes whose snapped `pr_review_legacy_transcript_compatibility` contract
@@ -1978,9 +1978,10 @@ are:
1978
1978
  and a one-line `reason` describing the blocker. The tool clears the durable gate state
1979
1979
  and stops the auto-resume loop. It refuses only while PR workflow lanes are still LIVE (a recent `updatedAt`); collect those with `collect_lane_results` first.
1980
1980
  Lanes idle past the 30-minute staleness horizon settle as presumed-stale instead of blocking, disclosed as `presumed_stale_lanes` on the response and in `.swarm/events.jsonl`; a schema-invalid (but JSON-parseable) gate state no longer defeats abort either. See `references/lane-output-recoverability.md`.
1981
- It accepts both unbound and bound PR_REVIEW workflows so exhausted
1982
- post-bind discovery or validation cannot strand the gate. An audit event is
1983
- appended to `.swarm/events.jsonl`.
1981
+ It accepts both unbound and bound PR_REVIEW workflows so an unrecoverable
1982
+ bind/checkout blocker cannot strand the gate. Settled discovery or validation
1983
+ lanes with incomplete coverage use the truthful N-of-6 settlement path instead
1984
+ of aborting. An audit event is appended to `.swarm/events.jsonl`.
1984
1985
  When the tool reports `checkout_restore_required`, immediately call
1985
1986
  `prepare_pr_workflow_checkout` with `operation: "restore"`; do not leave the
1986
1987
  user detached from their original checkout with a hidden preserved stash.
@@ -2007,11 +2008,10 @@ or re-dispatching the disagreeing lane so its trigger_evaluation converges with
2007
2008
  the frozen ledger before re-binding.
2008
2009
 
2009
2010
  Abort is a recovery tool, not a coverage shortcut. Use it only when the
2010
- bind/checkout path is genuinely unreachable or bounded structural recovery or
2011
- retries are genuinely exhausted; never use it to skip a coverage obligation
2012
- that is still recoverable, merely expensive, or inconvenient. When lanes have
2013
- settled short of full coverage, the terminal N-of-6 settlement (issue #2383)
2014
- is the truthful exit — not abort. For a publication-armed workflow whose exact
2011
+ bind/checkout path is genuinely unreachable; never use it to skip a coverage
2012
+ obligation that is still recoverable, merely expensive, or inconvenient. When
2013
+ lanes have settled short of full coverage, the terminal N-of-6 settlement (issue
2014
+ #2383) is the truthful exit not abort. For a publication-armed workflow whose exact
2015
2015
  publication cannot proceed, `abort_pr_workflow` with `kind: "armed_recovery"`
2016
2016
  (plus the armed recovery identity fields from `pr_workflow_status`) is the
2017
2017
  audited escape: it settles lanes, invalidates the staged publication
package/README.md CHANGED
@@ -830,7 +830,7 @@ Every candidate passes a 3-gate pipeline before entering quarantine:
830
830
  | pre_check_batch | Runs lint, secretscan, SAST, and quality budget in parallel (~15s vs ~60s sequential) |
831
831
  | phase_complete | Produces a complete bounded read-only gate report, revalidates the exact plan/config/evidence snapshot under lock, and commits the phase only when every applicable gate still passes |
832
832
  | run_phase_review | Architect-only: runs the bounded final-review engine and persists complete content-addressed review evidence for `phase_complete` |
833
- | repair_gate_evidence | Architect-only: preserves corrupt task evidence in bounded immutable quarantine and installs a fresh blocked verification generation |
833
+ | repair_gate_evidence | Architect-only: rebuilds recoverable task evidence from durable requirements, recovers receipt-backed legacy marker wedges or the exact sentinel-only state emitted by the historical repair flow, requires fresh coder settlement, and refuses every other receipt-less reconstruction without changing state |
834
834
  | repair_knowledge_receipt_ledger | Architect-only: validates receipt projections or salvages a corrupt authoritative ledger while requiring exact phase/session re-evaluation |
835
835
  | record_directive_override | Architect-only: records explicit critical-directive authorization separately from phase completion; unreadable authority cannot be overridden |
836
836
  | mutation_test | Applies LLM-generated mutation patches to source files and runs tests to measure kill rate; verdict is pass/warn/fail based on configurable thresholds; used by the mutation_test gate (opt-in, off by default) |
@@ -35,6 +35,7 @@
35
35
  * Containment: every path is validated with `validateSwarmPath`, so it can never
36
36
  * escape `.swarm/` (Invariant 4).
37
37
  */
38
+ import * as fs from 'node:fs';
38
39
  import { type DelegationCheckpointAuditSummary } from './delegation-health.js';
39
40
  import { type PrReviewResultReceipt } from './pr-review-contract.js';
40
41
  export declare const BACKGROUND_DELEGATIONS_FILE = "background-delegations.jsonl";
@@ -133,7 +134,11 @@ export interface BackgroundDelegationRecord {
133
134
  schemaVersion: 1 | 2 | 3 | 4;
134
135
  /** Subagent session id from the dispatch envelope — the correlation key. */
135
136
  correlationId: string;
136
- /** Structured jobId from dispatch metadata when available, else null. */
137
+ /**
138
+ * Structured jobId from dispatch metadata when available, else null. Async
139
+ * PR-review base/micro lanes use a versioned workflow-instance binding here;
140
+ * they have no host job id and older strict schemas already retain this field.
141
+ */
137
142
  jobId: string | null;
138
143
  /** Subagent session id (== correlationId; kept explicit for clarity/forward-compat). */
139
144
  subagentSessionId: string;
@@ -173,7 +178,10 @@ export interface BackgroundDelegationRecord {
173
178
  workspace?: BackgroundWorkspaceSnapshot;
174
179
  /** Immutable pre-coder provenance for doc-only gate classification. */
175
180
  taskChangeContext?: BackgroundTaskChangeContext;
176
- /** Exact-task workflow generation captured before a Stage B dispatch. */
181
+ /**
182
+ * Exact-task workflow generation captured before Stage B, or the immutable
183
+ * post-admission workflow revision for an async PR-review base/micro lane.
184
+ */
177
185
  workflowGeneration?: number;
178
186
  /** Complete isolated-worktree recovery coordinates captured before handoff. */
179
187
  worktree?: BackgroundWorktreeDescriptor;
@@ -645,6 +653,7 @@ declare function getLegacyCoderSettlementReconciler(directory: string): LegacyCo
645
653
  /** Test-only seam for the bounded legacy-settlement reconciler registry. */
646
654
  export declare const _internals: {
647
655
  getLegacyCoderSettlementReconciler: typeof getLegacyCoderSettlementReconciler;
656
+ readFallbackDirectory: typeof readFallbackDirectory;
648
657
  getLegacyCoderSettlementReconcilerOrder: () => string[];
649
658
  resetLegacyCoderSettlementReconcilers: () => void;
650
659
  };
@@ -756,6 +765,7 @@ export interface BackgroundDelegationFallbackArtifact {
756
765
  createdAt: number;
757
766
  record: BackgroundDelegationRecord;
758
767
  }
768
+ declare function readFallbackDirectory(directory: string): fs.Dirent[];
759
769
  /** Read one exact fallback artifact with bounded post-rename visibility retries. */
760
770
  export declare function readDelegationFallback(directory: string, correlationId: string): Promise<BackgroundDelegationFallbackArtifact | null>;
761
771
  /**
@@ -179,6 +179,15 @@ export declare const PrReviewLaneResultEnvelopeSchema: z.ZodObject<{
179
179
  }, z.core.$strict>>;
180
180
  }, z.core.$strict>;
181
181
  export type PrReviewLaneResultEnvelope = z.infer<typeof PrReviewLaneResultEnvelopeSchema>;
182
+ /**
183
+ * Rollback-readable dispatch binding for async PR-review lanes.
184
+ *
185
+ * Async lanes have no host job id, so their already-retained `jobId` slot carries
186
+ * this versioned workflow-instance identity. Older binaries accept and preserve
187
+ * the field through their strict delegation schema instead of rejecting a new key.
188
+ */
189
+ export declare function encodePrReviewWorkflowBinding(workflowInstanceId: string): string;
190
+ export declare function decodePrReviewWorkflowBinding(value: string | null): string | null;
182
191
  export declare function serializedPrReviewResultReceiptBytes(value: unknown): number;
183
192
  export declare function prReviewLaneResultEnvelopeDigest(value: PrReviewLaneResultEnvelope): string;
184
193
  export declare const PrReviewResultReceiptSchema: z.ZodObject<{
@@ -46,6 +46,7 @@
46
46
  */
47
47
  import * as fs from 'node:fs';
48
48
  import { atomicWriteSwarmFileSync } from '../utils/atomic-write.js';
49
+ import { sameProjectRoot } from '../utils/canonical-root.js';
49
50
  export declare const PR_SUBSCRIPTIONS_FILE = "pr-monitor/subscriptions.jsonl";
50
51
  export declare const PR_SUBSCRIPTIONS_CHECKPOINT_FILE = "pr-monitor/subscriptions.checkpoint.json";
51
52
  export declare const PR_SUBSCRIPTIONS_AUDIT_FILE = "pr-monitor/subscriptions.audit.jsonl";
@@ -251,14 +252,6 @@ export interface PrSubscriptionHealth {
251
252
  * Build the composite correlation key from session, repo, and PR number.
252
253
  */
253
254
  export declare function buildCorrelationId(sessionID: string, repoFullName: string, prNumber: number): string;
254
- /**
255
- * Project-root identity comparison for checkpoint replay (issue #2042
256
- * Required 5). Both sides are `path.resolve`d; POSIX compares exactly, win32
257
- * compares case-insensitively (drive-letter/segment case). No
258
- * realpath/UNC/8.3 normalization — an unresolved mismatch fails SAFE
259
- * (foreign → no monitor start, rebind on write, health-visible).
260
- */
261
- declare function sameProjectRoot(recorded: string, current: string): boolean;
262
255
  /** Bounded rename with Windows-transient retry (pending-delegations precedent). */
263
256
  declare function renameWithRetry(from: string, to: string): void;
264
257
  interface LegacyFoldResult {
@@ -13,26 +13,26 @@ import {
13
13
  releaseCoderDispatchOwnership,
14
14
  settleCoderDispatch,
15
15
  transferCoderSettlementToBackground
16
- } from "./index-fwebva1m.js";
17
- import"./index-3f7hqtgg.js";
18
- import"./index-xj4kbtdw.js";
19
- import"./index-wbnyc50b.js";
20
- import"./index-j9a4fsxg.js";
21
- import"./index-ddszzne4.js";
22
- import"./index-50s9q4c1.js";
16
+ } from "./index-y75xd50f.js";
17
+ import"./index-w3gtqey0.js";
18
+ import"./index-sxxh4ams.js";
19
+ import"./index-388sxv1b.js";
20
+ import"./index-xc3q62ev.js";
21
+ import"./index-3sv8t7ca.js";
23
22
  import"./index-556ja8an.js";
24
- import"./index-rz87mx1c.js";
23
+ import"./index-8tqqmsav.js";
25
24
  import"./index-z6xqpmqg.js";
26
25
  import"./index-r3mvsbtq.js";
27
26
  import"./index-9e6fdz2h.js";
28
27
  import"./index-4rhhvd1a.js";
29
- import"./index-164m995b.js";
30
- import"./index-m1nrd3yd.js";
28
+ import"./index-9ydhzegh.js";
29
+ import"./index-8psybzzf.js";
31
30
  import"./index-zjygnfay.js";
32
- import"./index-4emx8hhh.js";
33
- import"./index-fxxja498.js";
34
- import"./index-tfa2p4y4.js";
35
- import"./index-1dz8hv7p.js";
31
+ import"./index-mr3h3sm5.js";
32
+ import"./index-7qefgq4j.js";
33
+ import"./index-2czt53wz.js";
34
+ import"./index-t1qzjhnj.js";
35
+ import"./index-kvq1e82k.js";
36
36
  import"./index-7g4c7s5r.js";
37
37
  import"./index-bpmtbmy9.js";
38
38
  import"./index-zgwm4ryv.js";
@@ -12,10 +12,12 @@ import {
12
12
  shouldRunOnStartup,
13
13
  writeBackupArtifact,
14
14
  writeDoctorArtifact
15
- } from "./index-1q2dwv69.js";
15
+ } from "./index-3kgg2n6z.js";
16
+ import"./index-cw912re7.js";
17
+ import"./index-ry16d01s.js";
16
18
  import"./index-z6xqpmqg.js";
17
- import"./index-yrsag0vs.js";
18
- import"./index-m1nrd3yd.js";
19
+ import"./index-8ck1jkhd.js";
20
+ import"./index-8psybzzf.js";
19
21
  import"./index-zjygnfay.js";
20
22
  import"./index-bk5tah7q.js";
21
23
  import"./index-bpmtbmy9.js";
@@ -14,12 +14,12 @@ import {
14
14
  resolveWorktreeBaseDir,
15
15
  shortenWorktreePath,
16
16
  writeLaneProfileToDiskReal
17
- } from "./index-j9a4fsxg.js";
17
+ } from "./index-xc3q62ev.js";
18
18
  import"./index-z6xqpmqg.js";
19
19
  import"./index-r3mvsbtq.js";
20
20
  import"./index-9e6fdz2h.js";
21
21
  import"./index-4rhhvd1a.js";
22
- import"./index-m1nrd3yd.js";
22
+ import"./index-8psybzzf.js";
23
23
  import"./index-zjygnfay.js";
24
24
  import"./index-zgwm4ryv.js";
25
25
  import"./index-a76rekgs.js";
@@ -4,13 +4,14 @@ import {
4
4
  authorizeCuration,
5
5
  buildConfigFingerprintInput,
6
6
  readCohortConfigFingerprint
7
- } from "./index-hnjkpk57.js";
7
+ } from "./index-0zjwnbze.js";
8
8
  import"./index-rtry5xyf.js";
9
- import"./index-25z5qwkk.js";
10
- import"./index-4emx8hhh.js";
11
- import"./index-fxxja498.js";
12
- import"./index-tfa2p4y4.js";
13
- import"./index-1dz8hv7p.js";
9
+ import"./index-93znbdam.js";
10
+ import"./index-mr3h3sm5.js";
11
+ import"./index-7qefgq4j.js";
12
+ import"./index-2czt53wz.js";
13
+ import"./index-t1qzjhnj.js";
14
+ import"./index-kvq1e82k.js";
14
15
  import"./index-7g4c7s5r.js";
15
16
  import"./index-bpmtbmy9.js";
16
17
  import"./index-zgwm4ryv.js";
@@ -1,26 +1,28 @@
1
1
  // @bun
2
2
  import {
3
+ canonicalProjectKey,
3
4
  getGlobalEventBus,
4
5
  getGroupCommitWriter,
5
6
  importLegacyJsonFiles
6
- } from "./index-1f4nandk.js";
7
+ } from "./index-zg34ngdf.js";
7
8
  import {
8
9
  DURABILITY_CLASSES,
9
- canonicalProjectKey,
10
10
  getProjectDb,
11
11
  projectDbExists,
12
12
  readEffectiveSpecSync
13
- } from "./index-0zbze3n6.js";
13
+ } from "./index-x3qzt684.js";
14
14
  import"./index-zaab1wz9.js";
15
+ import"./index-ry16d01s.js";
15
16
  import"./index-n832052r.js";
16
17
  import {
17
18
  readSwarmFileAsync
18
- } from "./index-rz87mx1c.js";
19
+ } from "./index-8tqqmsav.js";
19
20
  import"./index-z6xqpmqg.js";
20
21
  import"./index-r3mvsbtq.js";
21
22
  import"./index-4rhhvd1a.js";
22
23
  import"./index-zjygnfay.js";
23
- import"./index-tfa2p4y4.js";
24
+ import"./index-7qefgq4j.js";
25
+ import"./index-t1qzjhnj.js";
24
26
  import"./index-bpmtbmy9.js";
25
27
  import {
26
28
  init_logger,
@@ -14,62 +14,64 @@ import {
14
14
  runCuratorInit,
15
15
  runCuratorPhase,
16
16
  writeCuratorSummary
17
- } from "./index-3gb7bw7h.js";
18
- import"./index-25jze7sf.js";
19
- import"./index-ea7sehgy.js";
20
- import"./index-1q2dwv69.js";
21
- import"./index-maxz22c1.js";
22
- import"./index-4krjn1gn.js";
17
+ } from "./index-bvjwmmdc.js";
18
+ import"./index-yzn1fm9a.js";
19
+ import"./index-jkwfajh1.js";
20
+ import"./index-3kgg2n6z.js";
21
+ import"./index-9qkytpwa.js";
22
+ import"./index-wgqeqy68.js";
23
23
  import"./index-txdagbh7.js";
24
+ import"./index-cw912re7.js";
24
25
  import"./index-3146wmgv.js";
25
- import"./index-7rat6nyh.js";
26
- import"./index-s09b63xg.js";
27
- import"./index-aaqbhn9h.js";
26
+ import"./index-gm65h7bh.js";
27
+ import"./index-4vx89ymn.js";
28
+ import"./index-581bcqp9.js";
28
29
  import"./index-70ha9e09.js";
29
- import"./index-1f4nandk.js";
30
- import"./index-0zbze3n6.js";
30
+ import"./index-zg34ngdf.js";
31
+ import"./index-x3qzt684.js";
31
32
  import"./index-zaab1wz9.js";
32
- import"./index-y42pra05.js";
33
+ import"./index-8ntf8jnj.js";
33
34
  import"./index-zsrtt42s.js";
34
- import"./index-fwebva1m.js";
35
- import"./index-3f7hqtgg.js";
36
- import"./index-xj4kbtdw.js";
37
- import"./index-rc6hec4j.js";
38
- import"./index-hnjkpk57.js";
35
+ import"./index-y75xd50f.js";
36
+ import"./index-w3gtqey0.js";
37
+ import"./index-sxxh4ams.js";
38
+ import"./index-h3k3rgyr.js";
39
+ import"./index-0zjwnbze.js";
39
40
  import"./index-rtry5xyf.js";
40
- import"./index-wbnyc50b.js";
41
- import"./index-j9a4fsxg.js";
42
- import"./index-er8ba9be.js";
43
- import"./index-ddszzne4.js";
44
- import"./index-8h9nng7f.js";
45
- import"./index-xm7dc14y.js";
46
- import"./index-50s9q4c1.js";
41
+ import"./index-388sxv1b.js";
42
+ import"./index-xc3q62ev.js";
43
+ import"./index-1ekzd5wf.js";
44
+ import"./index-fq1wfsmw.js";
45
+ import"./index-v1fj9exz.js";
46
+ import"./index-ry16d01s.js";
47
+ import"./index-3sv8t7ca.js";
47
48
  import"./index-556ja8an.js";
48
49
  import"./index-4fwbbad3.js";
49
50
  import"./index-b43rt5ph.js";
50
51
  import"./index-q7sjgr1y.js";
51
- import"./index-q0gtgwyr.js";
52
- import"./index-0trtcm9n.js";
53
- import"./index-4jmtdtm9.js";
52
+ import"./index-rey1tzcw.js";
53
+ import"./index-63enf73z.js";
54
+ import"./index-46yrz972.js";
54
55
  import"./index-zg9d392c.js";
55
56
  import"./index-n832052r.js";
56
- import"./index-rz87mx1c.js";
57
+ import"./index-8tqqmsav.js";
57
58
  import"./index-z6xqpmqg.js";
58
59
  import"./index-r3mvsbtq.js";
59
- import"./index-553veay1.js";
60
- import"./index-yrsag0vs.js";
60
+ import"./index-xy59dnvq.js";
61
+ import"./index-8ck1jkhd.js";
61
62
  import"./index-9e6fdz2h.js";
62
63
  import"./index-4rhhvd1a.js";
63
- import"./index-164m995b.js";
64
- import"./index-m1nrd3yd.js";
64
+ import"./index-9ydhzegh.js";
65
+ import"./index-8psybzzf.js";
65
66
  import"./index-zjygnfay.js";
66
67
  import"./index-ae75rja9.js";
67
- import"./index-25z5qwkk.js";
68
- import"./index-4emx8hhh.js";
68
+ import"./index-93znbdam.js";
69
+ import"./index-mr3h3sm5.js";
69
70
  import"./index-bk5tah7q.js";
70
- import"./index-fxxja498.js";
71
- import"./index-tfa2p4y4.js";
72
- import"./index-1dz8hv7p.js";
71
+ import"./index-7qefgq4j.js";
72
+ import"./index-2czt53wz.js";
73
+ import"./index-t1qzjhnj.js";
74
+ import"./index-kvq1e82k.js";
73
75
  import"./index-7g4c7s5r.js";
74
76
  import"./index-bpmtbmy9.js";
75
77
  import"./index-zgwm4ryv.js";
@@ -0,0 +1,68 @@
1
+ // @bun
2
+ import {
3
+ createCuratorLLMDelegate
4
+ } from "./index-bvjwmmdc.js";
5
+ import"./index-yzn1fm9a.js";
6
+ import"./index-jkwfajh1.js";
7
+ import"./index-3kgg2n6z.js";
8
+ import"./index-9qkytpwa.js";
9
+ import"./index-wgqeqy68.js";
10
+ import"./index-txdagbh7.js";
11
+ import"./index-cw912re7.js";
12
+ import"./index-3146wmgv.js";
13
+ import"./index-gm65h7bh.js";
14
+ import"./index-4vx89ymn.js";
15
+ import"./index-581bcqp9.js";
16
+ import"./index-70ha9e09.js";
17
+ import"./index-zg34ngdf.js";
18
+ import"./index-x3qzt684.js";
19
+ import"./index-zaab1wz9.js";
20
+ import"./index-8ntf8jnj.js";
21
+ import"./index-zsrtt42s.js";
22
+ import"./index-y75xd50f.js";
23
+ import"./index-w3gtqey0.js";
24
+ import"./index-sxxh4ams.js";
25
+ import"./index-h3k3rgyr.js";
26
+ import"./index-0zjwnbze.js";
27
+ import"./index-rtry5xyf.js";
28
+ import"./index-388sxv1b.js";
29
+ import"./index-xc3q62ev.js";
30
+ import"./index-1ekzd5wf.js";
31
+ import"./index-fq1wfsmw.js";
32
+ import"./index-v1fj9exz.js";
33
+ import"./index-ry16d01s.js";
34
+ import"./index-3sv8t7ca.js";
35
+ import"./index-556ja8an.js";
36
+ import"./index-4fwbbad3.js";
37
+ import"./index-b43rt5ph.js";
38
+ import"./index-q7sjgr1y.js";
39
+ import"./index-rey1tzcw.js";
40
+ import"./index-63enf73z.js";
41
+ import"./index-46yrz972.js";
42
+ import"./index-zg9d392c.js";
43
+ import"./index-n832052r.js";
44
+ import"./index-8tqqmsav.js";
45
+ import"./index-z6xqpmqg.js";
46
+ import"./index-r3mvsbtq.js";
47
+ import"./index-xy59dnvq.js";
48
+ import"./index-8ck1jkhd.js";
49
+ import"./index-9e6fdz2h.js";
50
+ import"./index-4rhhvd1a.js";
51
+ import"./index-9ydhzegh.js";
52
+ import"./index-8psybzzf.js";
53
+ import"./index-zjygnfay.js";
54
+ import"./index-ae75rja9.js";
55
+ import"./index-93znbdam.js";
56
+ import"./index-mr3h3sm5.js";
57
+ import"./index-bk5tah7q.js";
58
+ import"./index-7qefgq4j.js";
59
+ import"./index-2czt53wz.js";
60
+ import"./index-t1qzjhnj.js";
61
+ import"./index-kvq1e82k.js";
62
+ import"./index-7g4c7s5r.js";
63
+ import"./index-bpmtbmy9.js";
64
+ import"./index-zgwm4ryv.js";
65
+ import"./index-a76rekgs.js";
66
+ export {
67
+ createCuratorLLMDelegate
68
+ };
@@ -15,6 +15,9 @@ import {
15
15
  import"./index-z6xqpmqg.js";
16
16
  import"./index-r3mvsbtq.js";
17
17
  import"./index-zjygnfay.js";
18
+ import {
19
+ canonicalRootKeyFresh
20
+ } from "./index-7qefgq4j.js";
18
21
  import"./index-zgwm4ryv.js";
19
22
  import"./index-a76rekgs.js";
20
23
 
@@ -424,7 +427,8 @@ function manifestHash(dir) {
424
427
  var manifestRootCache = new Map;
425
428
  function findManifestRoot(start) {
426
429
  const resolved = path4.resolve(start);
427
- const cached = manifestRootCache.get(resolved);
430
+ const key = canonicalRootKeyFresh(resolved);
431
+ const cached = manifestRootCache.get(key);
428
432
  if (cached !== undefined)
429
433
  return cached;
430
434
  let cur = resolved;
@@ -433,12 +437,12 @@ function findManifestRoot(start) {
433
437
  if (entries.size > 0) {
434
438
  for (const name of MANIFEST_FILES) {
435
439
  if (entries.has(name)) {
436
- manifestRootCache.set(resolved, cur);
440
+ manifestRootCache.set(key, cur);
437
441
  return cur;
438
442
  }
439
443
  }
440
444
  if (entries.has(".git")) {
441
- manifestRootCache.set(resolved, cur);
445
+ manifestRootCache.set(key, cur);
442
446
  return cur;
443
447
  }
444
448
  }
@@ -447,7 +451,7 @@ function findManifestRoot(start) {
447
451
  break;
448
452
  cur = parent;
449
453
  }
450
- manifestRootCache.set(resolved, start);
454
+ manifestRootCache.set(key, start);
451
455
  return start;
452
456
  }
453
457
  function evictIfNeeded() {
@@ -467,7 +471,7 @@ function evictIfNeeded() {
467
471
  async function pickBackend(dir) {
468
472
  const root = findManifestRoot(dir);
469
473
  const hash = manifestHash(root);
470
- const cacheKey = root;
474
+ const cacheKey = canonicalRootKeyFresh(root);
471
475
  const cached = cache.get(cacheKey);
472
476
  if (cached && cached.hash === hash) {
473
477
  return cached.backend;
@@ -506,7 +510,7 @@ async function pickBackend(dir) {
506
510
  }
507
511
  function pickedProfiles(dir) {
508
512
  const root = findManifestRoot(dir);
509
- const cached = cache.get(root);
513
+ const cached = cache.get(canonicalRootKeyFresh(root));
510
514
  return cached?.profiles ?? [];
511
515
  }
512
516
  function clearDispatchCache() {
@@ -6,35 +6,38 @@ import {
6
6
  loadPlanJsonOnly,
7
7
  mergeDurableGateEntriesFromEvidence,
8
8
  readDurableGateEvidence
9
- } from "./index-maxz22c1.js";
10
- import"./index-4krjn1gn.js";
9
+ } from "./index-9qkytpwa.js";
10
+ import"./index-wgqeqy68.js";
11
11
  import"./index-txdagbh7.js";
12
- import"./index-0zbze3n6.js";
12
+ import"./index-cw912re7.js";
13
+ import"./index-x3qzt684.js";
13
14
  import"./index-zaab1wz9.js";
14
15
  import"./index-zsrtt42s.js";
15
- import"./index-wbnyc50b.js";
16
- import"./index-j9a4fsxg.js";
17
- import"./index-xm7dc14y.js";
18
- import"./index-50s9q4c1.js";
16
+ import"./index-388sxv1b.js";
17
+ import"./index-xc3q62ev.js";
18
+ import"./index-v1fj9exz.js";
19
+ import"./index-ry16d01s.js";
20
+ import"./index-3sv8t7ca.js";
19
21
  import"./index-556ja8an.js";
20
22
  import"./index-4fwbbad3.js";
21
23
  import"./index-zg9d392c.js";
22
24
  import"./index-n832052r.js";
23
- import"./index-rz87mx1c.js";
25
+ import"./index-8tqqmsav.js";
24
26
  import"./index-z6xqpmqg.js";
25
27
  import"./index-r3mvsbtq.js";
26
- import"./index-553veay1.js";
27
- import"./index-yrsag0vs.js";
28
+ import"./index-xy59dnvq.js";
29
+ import"./index-8ck1jkhd.js";
28
30
  import"./index-9e6fdz2h.js";
29
31
  import"./index-4rhhvd1a.js";
30
- import"./index-164m995b.js";
31
- import"./index-m1nrd3yd.js";
32
+ import"./index-9ydhzegh.js";
33
+ import"./index-8psybzzf.js";
32
34
  import"./index-zjygnfay.js";
33
- import"./index-4emx8hhh.js";
35
+ import"./index-mr3h3sm5.js";
34
36
  import"./index-bk5tah7q.js";
35
- import"./index-fxxja498.js";
36
- import"./index-tfa2p4y4.js";
37
- import"./index-1dz8hv7p.js";
37
+ import"./index-7qefgq4j.js";
38
+ import"./index-2czt53wz.js";
39
+ import"./index-t1qzjhnj.js";
40
+ import"./index-kvq1e82k.js";
38
41
  import"./index-7g4c7s5r.js";
39
42
  import"./index-bpmtbmy9.js";
40
43
  import {
@@ -1,10 +1,13 @@
1
1
  // @bun
2
2
  import {
3
3
  DEFAULT_REQUIRED_GATES,
4
+ TASK_GATE_REQUIREMENTS_RECONSTRUCTION_SENTINEL,
4
5
  TASK_WORKFLOW_SCHEMA_MARKER,
6
+ _internals1 as _internals,
5
7
  assertTaskEvidenceWriteAllowed,
6
8
  compareTaskWorkflowStateRank,
7
9
  deriveRequiredGates,
10
+ ensureTaskGateRequirementsReceiptForSettledTransition,
8
11
  expandRequiredGates,
9
12
  getTaskWorkflowSnapshot,
10
13
  hasPassedAllGates,
@@ -17,20 +20,20 @@ import {
17
20
  reduceTaskWorkflowSnapshot,
18
21
  transitionTaskWorkflowEvidence,
19
22
  withTaskEvidenceTransaction
20
- } from "./index-wbnyc50b.js";
21
- import"./index-j9a4fsxg.js";
23
+ } from "./index-388sxv1b.js";
24
+ import"./index-xc3q62ev.js";
22
25
  import"./index-556ja8an.js";
23
- import"./index-rz87mx1c.js";
26
+ import"./index-8tqqmsav.js";
24
27
  import"./index-z6xqpmqg.js";
25
28
  import"./index-r3mvsbtq.js";
26
29
  import"./index-9e6fdz2h.js";
27
30
  import"./index-4rhhvd1a.js";
28
- import"./index-m1nrd3yd.js";
31
+ import"./index-8psybzzf.js";
29
32
  import"./index-zjygnfay.js";
30
- import"./index-4emx8hhh.js";
31
- import"./index-fxxja498.js";
32
- import"./index-tfa2p4y4.js";
33
- import"./index-1dz8hv7p.js";
33
+ import"./index-mr3h3sm5.js";
34
+ import"./index-2czt53wz.js";
35
+ import"./index-t1qzjhnj.js";
36
+ import"./index-kvq1e82k.js";
34
37
  import"./index-7g4c7s5r.js";
35
38
  import"./index-bpmtbmy9.js";
36
39
  import"./index-zgwm4ryv.js";
@@ -48,9 +51,12 @@ export {
48
51
  hasPassedAllGates,
49
52
  getTaskWorkflowSnapshot,
50
53
  expandRequiredGates,
54
+ ensureTaskGateRequirementsReceiptForSettledTransition,
51
55
  deriveRequiredGates,
52
56
  compareTaskWorkflowStateRank,
53
57
  assertTaskEvidenceWriteAllowed,
58
+ _internals,
54
59
  TASK_WORKFLOW_SCHEMA_MARKER,
60
+ TASK_GATE_REQUIREMENTS_RECONSTRUCTION_SENTINEL,
55
61
  DEFAULT_REQUIRED_GATES
56
62
  };