opencode-swarm 7.143.4 → 7.143.6

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 (53) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +5 -5
  2. package/.opencode/skills/swarm-pr-review/references/lane-output-recoverability.md +129 -0
  3. package/dist/background/pending-delegations.d.ts +42 -1
  4. package/dist/background/pr-review-trigger-contract.d.ts +17 -0
  5. package/dist/cli/{config-doctor-az6nqawx.js → config-doctor-72zp0k4x.js} +2 -2
  6. package/dist/cli/{core-a6rzajem.js → core-aj0wmbg8.js} +1 -1
  7. package/dist/cli/{curator-tbw9przg.js → curator-2gt2835v.js} +18 -18
  8. package/dist/cli/{curator-llm-factory-j42j5rcr.js → curator-llm-factory-x1vjhrnc.js} +18 -18
  9. package/dist/cli/{evidence-summary-service-3f319cst.js → evidence-summary-service-yjr0662r.js} +6 -6
  10. package/dist/cli/{gate-evidence-k2yycngf.js → gate-evidence-r3c7eqpz.js} +2 -2
  11. package/dist/cli/{guardrail-explain-tsgsw91f.js → guardrail-explain-f3zysesy.js} +19 -19
  12. package/dist/cli/{guardrail-log-70cxb3va.js → guardrail-log-eat71fnh.js} +3 -3
  13. package/dist/cli/{hive-promoter-nksqxfs4.js → hive-promoter-fyb40am9.js} +18 -18
  14. package/dist/cli/{index-19wyta2k.js → index-02nm8qhk.js} +3 -3
  15. package/dist/cli/{index-8fq18k02.js → index-0adcjpyx.js} +3 -3
  16. package/dist/cli/{index-f39n8pbr.js → index-36vry26a.js} +1 -1
  17. package/dist/cli/{index-gz3z9d64.js → index-5d8ydxae.js} +399 -77
  18. package/dist/cli/{index-8aabbfhv.js → index-6vmazy9f.js} +8 -5
  19. package/dist/cli/{index-bt47jrhx.js → index-72zhsqgy.js} +2 -2
  20. package/dist/cli/{index-z4g05zbr.js → index-7bs015gm.js} +1 -1
  21. package/dist/cli/{index-dmtq7tvd.js → index-92bm9ys3.js} +1 -1
  22. package/dist/cli/{index-td2ga37v.js → index-bbv64s17.js} +1 -1
  23. package/dist/cli/{index-mewk624g.js → index-dtf2va28.js} +20 -20
  24. package/dist/cli/{index-jmgm1npc.js → index-fn0k0vsa.js} +1 -1
  25. package/dist/cli/{index-z0j133c4.js → index-gzxz0s50.js} +1 -1
  26. package/dist/cli/{index-8qmnqd6g.js → index-hjy4txgr.js} +1 -1
  27. package/dist/cli/{index-seedt8m3.js → index-kc2x117y.js} +3 -3
  28. package/dist/cli/{index-6htwcbxh.js → index-nd1j9wkw.js} +1 -1
  29. package/dist/cli/{index-9m5gz9ea.js → index-peqmw3wr.js} +2 -2
  30. package/dist/cli/{index-gbr0jbxy.js → index-s7nb33pc.js} +1 -1
  31. package/dist/cli/{index-f3xf9dv5.js → index-scj2asek.js} +5 -5
  32. package/dist/cli/{index-c9d5y70c.js → index-w1q9yy1e.js} +3 -3
  33. package/dist/cli/{index-ja15rdzd.js → index-whyrhjsk.js} +1 -1
  34. package/dist/cli/{index-5qqyvwqw.js → index-wjk00vwk.js} +4 -4
  35. package/dist/cli/{index-v9qmhrj9.js → index-z4cv77tq.js} +2 -2
  36. package/dist/cli/index.js +18 -18
  37. package/dist/cli/{knowledge-escalator-8akk4n18.js → knowledge-escalator-ejpyrby0.js} +6 -6
  38. package/dist/cli/{knowledge-events-51qk8fq2.js → knowledge-events-yw2kydyy.js} +4 -4
  39. package/dist/cli/{knowledge-store-7rsezhav.js → knowledge-store-j6gkk62e.js} +1 -1
  40. package/dist/cli/{knowledge-validator-nq75s9et.js → knowledge-validator-xervpe5k.js} +2 -2
  41. package/dist/cli/{pending-delegations-b3pt3w5w.js → pending-delegations-19wg9j08.js} +5 -1
  42. package/dist/cli/{scan-cursor-em4vrcw6.js → scan-cursor-x7a99wmq.js} +2 -2
  43. package/dist/cli/{schema-1wmfgtm9.js → schema-z141arx9.js} +1 -1
  44. package/dist/cli/{scope-persistence-8ehnjgsg.js → scope-persistence-js90c1f4.js} +4 -4
  45. package/dist/cli/{skill-generator-3jstr1sx.js → skill-generator-t202jza0.js} +7 -7
  46. package/dist/cli/{worktree-collision-ownership-bfz3drxm.js → worktree-collision-ownership-42bb3gcb.js} +1 -1
  47. package/dist/cli/{worktree-isolation-cc3x13ng.js → worktree-isolation-fbfvxw9a.js} +18 -18
  48. package/dist/hooks/pr-workflow-gate.d.ts +135 -1
  49. package/dist/index.js +20 -18
  50. package/dist/tools/complete-pr-workflow.d.ts +3 -1
  51. package/dist/tools/pr-workflow-status.d.ts +2 -2
  52. package/dist/tools/write-pr-review-trigger-eval.d.ts +2 -1
  53. package/package.json +1 -1
@@ -1135,7 +1135,7 @@ matched family owned exactly once across the dispatch, and every owned family
1135
1135
  attested in that lane's output, or the lane fails for all of them. Include
1136
1136
  the complete exact-set
1137
1137
  `trigger_evaluation` ledger and the same exact current `pr_head_sha` in the
1138
- initial micro dispatch, in a separate batch from base lanes. That first
1138
+ initial micro dispatch, in a separate batch from base lanes (those inline `trigger_evaluation` rows carry only `trigger_id`, `result`, and `evidence` — they must never include `source_batch_id` or `source_lane_id`, which belong only to `write_pr_review_trigger_eval`'s `rows`). That first
1139
1139
  dispatch freezes the ledger for the session. A subsequent same-session micro
1140
1140
  batch may omit `trigger_evaluation` and reuse the frozen ledger; when it
1141
1141
  explicitly supplies a copy, the copy must remain exactly identical. The
@@ -1156,7 +1156,7 @@ plus provenance for every `MATCHED` row. The tool atomically writes
1156
1156
  pass the exact reviewed merge-base as `base_sha`, the exact live base branch
1157
1157
  tip/ref used to compute it as `base_ref`, and the same `pr_head_sha` to the
1158
1158
  writer. The writer runs bounded `git merge-base -- <base_ref> <pr_head_sha>` and
1159
- rejects any claimed `base_sha` that is not the exact result. It accepts only an
1159
+ rejects any claimed `base_sha` that is not the exact result. When that bounded re-check is unavailable (git timeout, spawn failure, unresolvable ref) but the supplied `base_ref` and `base_sha` exactly equal the durably bound review scope, the writer proceeds and discloses `base_verification: bound_fallback` on the receipt, which synthesis must surface in the final review report (`references/lane-output-recoverability.md`); every other outcome stays fail-closed. It accepts only an
1160
1160
  exact eleven-row v2 receipt backed by verifiable provenance (identity, ownership, digest, retained artifact); a coverage-QUALITY failure is disclosed on the receipt as `coverage_degradations` and the run proceeds, with synthesis disclosing degraded families (`references/lane-output-recoverability.md`). `NOT_TRIGGERED` rows are provenance-free. Counts are recomputed and
1161
1161
  must agree. It never uses keyword or path classification alone as absence
1162
1162
  evidence. Any head mismatch makes persistence fail. Historical unversioned and
@@ -1946,9 +1946,9 @@ are:
1946
1946
  `pr_head_sha`, `base_sha`, and `base_ref`.
1947
1947
  2. **Call `abort_pr_workflow`** with `mode: "PR_REVIEW"`, `kind: "recovery"`,
1948
1948
  and a one-line `reason` describing the blocker. The tool clears the durable gate state
1949
- and stops the auto-resume loop. It refuses while PR workflow lanes are
1950
- still in flight (collect their results with `collect_lane_results`
1951
- first). It accepts both unbound and bound PR_REVIEW workflows so exhausted
1949
+ 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.
1950
+ 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`.
1951
+ It accepts both unbound and bound PR_REVIEW workflows so exhausted
1952
1952
  post-bind discovery or validation cannot strand the gate. An audit event is
1953
1953
  appended to `.swarm/events.jsonl`.
1954
1954
  When the tool reports `checkout_restore_required`, immediately call
@@ -52,3 +52,132 @@ synthesis phase MUST disclose every degraded family, with its recorded reason,
52
52
  in the final review report. Retries remain the first resort (COVERAGE GATE); a
53
53
  missing provenance chain still fails closed, and the reviewer/critic inventory
54
54
  skips exactly the receipt-disclosed dispatch tuples.
55
+
56
+ ## Bounded merge-base fallback (`base_verification`)
57
+
58
+ Every v2 receipt now records how its `base_sha` was verified at write time:
59
+
60
+ - **`live`** — the writer re-derived the merge base with a bounded
61
+ `git merge-base -- <base_ref> <pr_head_sha>` and it matched the supplied
62
+ `base_sha` exactly. This is the normal path.
63
+ - **`bound_fallback`** — that re-derivation was **unavailable**, and the writer
64
+ proceeded because the supplied `base_ref`/`base_sha` exactly equalled the
65
+ review scope already bound durably at dispatch time.
66
+
67
+ The distinction matters because the git helper collapses every failure mode
68
+ into a bare `null`: a timed-out git call, a git process that failed to spawn, a
69
+ `base_ref` that is unresolvable in this checkout, and a ref rejected as an
70
+ unsafe revision token are indistinguishable to the caller. Treating that `null`
71
+ as *refutation* rather than *unavailability* made review completion permanently
72
+ unsatisfiable — every retry re-failed identically, the trigger-eval receipt was
73
+ never written, an omission dispatch could not repair it, and the only exit was
74
+ `abort_pr_workflow`. The bound scope is not a weaker fact: it was itself derived
75
+ by a real `git merge-base` at dispatch and only trimmed/lowercased on the way
76
+ into durable state, so re-deriving it at write time is a redundant re-check.
77
+
78
+ What `bound_fallback` does and does not mean:
79
+
80
+ - It does **not** widen what was reviewed. The reviewed range stays SHA-scoped
81
+ (`base_sha...pr_head_sha`), identical to the `live` path.
82
+ - It does mean post-bind movement or deletion of the base ref would go
83
+ undetected for this run — the one staleness signal the live re-check provides.
84
+ - It never relaxes a mismatch. If the re-check is unavailable **and** the
85
+ supplied scope differs from the bound scope in either half, the writer fails
86
+ closed with an enriched message naming the possible causes and the recovery
87
+ options. If the gate has no bound base at all, the writer fails closed before
88
+ attempting resolution.
89
+
90
+ **Synthesis obligation (skill-directed):** when the trigger-eval result or the persisted receipt
91
+ reports `base_verification: bound_fallback`, the final review report MUST
92
+ disclose it. State that the merge base could not be re-verified live at write time and that the review was
93
+ scoped to the durably bound base. Do not silently present the review as if the
94
+ base had been re-verified. (Unlike `coverage_degradations`, which the workflow gate reads as a machine-enforced waiver filter, `bound_fallback` disclosure is skill-directed.)
95
+
96
+ ## Provenance fields: dispatch ledger vs. writer rows
97
+
98
+ Two different row shapes carry the trigger evaluation, and mixing them up is a
99
+ recurring source of first-dispatch failures:
100
+
101
+ - **Dispatch-time `trigger_evaluation` rows** (the inline ledger frozen by the
102
+ first micro dispatch) use the strict inline schema: `trigger_id`, `result`,
103
+ and `evidence`, and nothing else. Adding `source_batch_id` or
104
+ `source_lane_id` there is rejected — at dispatch time no lane has run yet, so
105
+ there is no provenance to cite, and the frozen-ledger digest is computed over
106
+ exactly those three fields.
107
+ - **Writer `rows`** (passed to `write_pr_review_trigger_eval` after the lanes
108
+ settle) carry the provenance: every `MATCHED` row adds the `source_batch_id`
109
+ and `source_lane_id` returned by its completed micro lane, and every
110
+ `NOT_TRIGGERED` row must omit both.
111
+
112
+ Classifications must be identical across the two — the writer rejects
113
+ classification drift from the frozen ledger — while `evidence` may be reworded
114
+ in the writer call and is simply ignored (the frozen values are authoritative).
115
+
116
+ ## Gate-level recovery: stuck lanes, corrupted state, amended inventory
117
+
118
+ Three wedge states used to leave a workflow with no exit through any tool. Each
119
+ now degrades with disclosure; the contradiction cases still fail closed.
120
+
121
+ ### Stale lanes no longer block abort or completion
122
+
123
+ A lane whose background process dies without writing a terminal snapshot used to
124
+ count as "in flight" forever, and the same predicate gates `abort_pr_workflow`,
125
+ the PR_REVIEW to PR_FEEDBACK transition, and `complete_pr_workflow` — so the
126
+ escape hatch was refused by the very condition it exists to resolve.
127
+
128
+ A lane whose delegation record has not advanced its `updatedAt` for 30 minutes is
129
+ now **presumed stale** and settles instead of blocking. The disclosure appears as
130
+ `presumed_stale_lanes` / `presumed_stale_disclosure` on the `abort_pr_workflow`
131
+ and `complete_pr_workflow` responses, as a `pr_workflow_lanes_presumed_stale`
132
+ record in `.swarm/events.jsonl`, and on the `pr_workflow_aborted` audit event.
133
+ The delegation record itself is transitioned to `stale`.
134
+
135
+ A lane with a **recent** `updatedAt` still blocks — a check that can run and
136
+ reports "still progressing" is not softened. Collect it with
137
+ `collect_lane_results`, or wait for the horizon.
138
+
139
+ ### A corrupted gate state no longer defeats abort
140
+
141
+ If the durable gate-state file fails schema validation but is still valid JSON,
142
+ `abort_pr_workflow` and `pr_workflow_status` read it through a **recovery-only**
143
+ reader that salvages `sessionID`, `mode`, `prHeadSha`, and — when each is
144
+ individually well-formed — `revision`, `prFeedbackReadyToPublish` and
145
+ `checkoutRecovery`. Every other reader, including all write and completion paths,
146
+ still refuses the file, so a salvaged view can never be acted on as if it were
147
+ valid. `stateSalvaged` / `stateSalvageDisclosure` name the schema errors.
148
+
149
+ Boundaries that deliberately did NOT soften:
150
+
151
+ - **Unparseable bytes fail everywhere.** There is nothing to salvage.
152
+ - **Unreadable identity fails everywhere.** Without a readable `sessionID` and
153
+ `mode` there is no provable subject to act on.
154
+ - **An unreadable `prFeedbackReadyToPublish` is treated as ARMED**, so abort
155
+ still refuses. Corrupting that one record must never become a way past the
156
+ armed-abort refusal.
157
+ - When `revision` cannot be salvaged, abort takes the documented
158
+ compare-and-swap escape and says so:
159
+ `state revision unsalvageable; cleared without compare-and-swap`.
160
+
161
+ ### The PR_FEEDBACK inventory is append-only, not immutable
162
+
163
+ A finding discovered after `declarePrFeedbackInventory` used to require
164
+ `abort_pr_workflow` plus a full restart, discarding completed verification work
165
+ for correctly-declared items. Re-declaring with **additional** items is now
166
+ accepted; every previously-declared entry must still be present, so mutation and
167
+ removal still hard-fail (`inventory is append-only after declaration`).
168
+
169
+ What an amendment costs, and what it preserves:
170
+
171
+ - Completed **verification** batches for the original items are preserved. Cover
172
+ the appended item with a new verification batch owning just that item.
173
+ - Stage A must be re-recorded over the full amended inventory, and each ordered
174
+ gate phase must be re-run with a lane owning every current inventory item —
175
+ a gate batch recorded before the amendment no longer settles its phase. This
176
+ is deliberate: it is the control that stops an appended item reaching
177
+ publication with no verdict.
178
+ - Publication is disarmed by an amendment (the armed record attested coverage of
179
+ the pre-amendment inventory). Re-arm with one `complete_pr_workflow` call.
180
+ - Every appended entry is recorded in an audit ledger surfaced as
181
+ `inventory_amendments` on the completion response and `inventoryAmendments` on
182
+ `pr_workflow_status`. The ledger is bounded at 128 entries and is never pruned;
183
+ further amendments are refused at the cap.
@@ -38,7 +38,40 @@ export type RecoveryOwnershipScanResult<T> = {
38
38
  };
39
39
  /** An abandoned ingestion lease may be reclaimed after this bounded interval. */
40
40
  export declare const BACKGROUND_INGESTION_LEASE_MS = 30000;
41
+ /**
42
+ * Canonical default staleness horizon for a tracked background delegation: a
43
+ * record whose `updatedAt` has not advanced in this long is treated as
44
+ * abandoned (its backing process died without ever writing a terminal
45
+ * snapshot) and may be swept to `stale`.
46
+ *
47
+ * 30 minutes is the value this subsystem already shipped — it was duplicated as
48
+ * a module-local literal in `src/tools/dispatch-lanes.ts` and as the
49
+ * `hooks.background_pending_timeout_minutes` schema default. It lives here so
50
+ * every consumer agrees on one number: this module imports nothing from
51
+ * `dispatch-lanes.ts` or `pr-workflow-gate.ts`, so both can reference it
52
+ * without an import cycle.
53
+ */
54
+ export declare const DEFAULT_STALE_DELEGATION_TIMEOUT_MS: number;
41
55
  export type BackgroundDelegationStatus = 'pending' | 'running' | 'ingesting' | 'ingestion_error' | 'completed' | 'error' | 'cancelled' | 'stale' | 'consumed';
56
+ /**
57
+ * The status classes the stale sweep is allowed to finalize to `stale`.
58
+ *
59
+ * Deliberately a subset of {@link BackgroundDelegationStatus}: a caller may
60
+ * *narrow* the sweep but can never widen it to a status the sweep was never
61
+ * meant to touch (`completed`, `consumed`, `ingesting`, ...).
62
+ */
63
+ export type SweepableDelegationStatus = 'pending' | 'running' | 'ingestion_error';
64
+ /**
65
+ * Default sweep scope — the exact set the sweep has always finalized.
66
+ *
67
+ * `ingestion_error` is included here because the pre-existing lazy-maintenance
68
+ * caller (`recordPendingDelegation`) relies on it: an ingestion that never
69
+ * retried within the horizon is genuinely abandoned from that caller's point of
70
+ * view. Callers for whom `ingestion_error` is still *retryable* — the ingestion
71
+ * claim gate admits `completed` and `ingestion_error` only, so the `stale` flip
72
+ * is irreversible — must pass a narrowed set instead.
73
+ */
74
+ export declare const DEFAULT_SWEEPABLE_DELEGATION_STATUSES: ReadonlySet<SweepableDelegationStatus>;
42
75
  export interface BackgroundDelegationRecord {
43
76
  schemaVersion: 1 | 2 | 3;
44
77
  /** Subagent session id from the dispatch envelope — the correlation key. */
@@ -398,8 +431,16 @@ export declare function findOpenAsyncLaneBatches(directory: string): BackgroundD
398
431
  /**
399
432
  * Public stale sweep: acquires the store lock and marks overdue pendings as `stale`.
400
433
  * Best-effort; returns the number swept (0 on lock timeout / error).
434
+ *
435
+ * `options.statuses` narrows which status classes may be finalized; omitting it
436
+ * preserves the historical scope ({@link DEFAULT_SWEEPABLE_DELEGATION_STATUSES}).
437
+ * The sweep is directory-wide with no session or mode filter, so a caller whose
438
+ * own decision covers only some status classes must narrow accordingly rather
439
+ * than finalizing records it never reasoned about.
401
440
  */
402
- export declare function sweepStaleDelegations(directory: string, timeoutMs: number): Promise<number>;
441
+ export declare function sweepStaleDelegations(directory: string, timeoutMs: number, options?: {
442
+ statuses?: ReadonlySet<SweepableDelegationStatus>;
443
+ }): Promise<number>;
403
444
  export interface BackgroundDelegationFallbackArtifact {
404
445
  schemaVersion: 1;
405
446
  correlationId: string;
@@ -207,6 +207,16 @@ export interface BuildPrReviewTriggerReceiptV2Args {
207
207
  rows: unknown;
208
208
  /** Receipt-level degradation disclosure; ledger rows stay untouched so the frozen-ledger digest is unaffected. */
209
209
  coverage_degradations?: TriggerCoverageDegradation[];
210
+ /**
211
+ * How `base_sha` was verified for this receipt. `live` means the writer
212
+ * re-derived the merge base with git at write time; `bound_fallback` means
213
+ * that re-derivation was UNAVAILABLE and the writer accepted the caller's
214
+ * scope solely because it exactly equalled the durably bound, bind-time
215
+ * verified review scope. Optional for the same reason
216
+ * `coverage_degradations` is: the field is receipt-level disclosure, and
217
+ * making it required would break every existing builder call site.
218
+ */
219
+ base_verification?: 'live' | 'bound_fallback';
210
220
  }
211
221
  export declare function buildPrReviewTriggerReceiptV2(input: BuildPrReviewTriggerReceiptV2Args): {
212
222
  run_id: string;
@@ -243,6 +253,7 @@ export declare function buildPrReviewTriggerReceiptV2(input: BuildPrReviewTrigge
243
253
  source_lane_id: string;
244
254
  reason: string;
245
255
  }[];
256
+ base_verification?: "live" | "bound_fallback" | undefined;
246
257
  };
247
258
  export interface ParsedPrReviewTriggerReceipt {
248
259
  schemaVersion: 0 | 1 | 2;
@@ -255,6 +266,12 @@ export interface ParsedPrReviewTriggerReceipt {
255
266
  }>[];
256
267
  /** Empty for pre-v2.2 receipts. Present entries mean the family's cited lane is provenance-valid but coverage-degraded. */
257
268
  coverageDegradations: TriggerCoverageDegradation[];
269
+ /**
270
+ * Undefined for legacy receipts and for v2 receipts written before the field
271
+ * existed. `bound_fallback` means the writer could not re-derive the merge
272
+ * base live and accepted the bound scope instead; synthesis must disclose it.
273
+ */
274
+ baseVerification?: 'live' | 'bound_fallback';
258
275
  }
259
276
  /**
260
277
  * Bind every micro dispatch to one semantic ledger at bind time.
@@ -12,8 +12,8 @@ import {
12
12
  shouldRunOnStartup,
13
13
  writeBackupArtifact,
14
14
  writeDoctorArtifact
15
- } from "./index-ja15rdzd.js";
16
- import"./index-z4g05zbr.js";
15
+ } from "./index-whyrhjsk.js";
16
+ import"./index-7bs015gm.js";
17
17
  import"./index-jqsfsqbx.js";
18
18
  import"./index-z6xqpmqg.js";
19
19
  import"./index-zjygnfay.js";
@@ -14,7 +14,7 @@ import {
14
14
  resolveWorktreeBaseDir,
15
15
  shortenWorktreePath,
16
16
  writeLaneProfileToDiskReal
17
- } from "./index-gbr0jbxy.js";
17
+ } from "./index-s7nb33pc.js";
18
18
  import"./index-4rhhvd1a.js";
19
19
  import"./index-jqsfsqbx.js";
20
20
  import"./index-z6xqpmqg.js";
@@ -14,50 +14,50 @@ import {
14
14
  runCuratorInit,
15
15
  runCuratorPhase,
16
16
  writeCuratorSummary
17
- } from "./index-gz3z9d64.js";
18
- import"./index-6htwcbxh.js";
19
- import"./index-ja15rdzd.js";
20
- import"./index-c9d5y70c.js";
17
+ } from "./index-5d8ydxae.js";
18
+ import"./index-nd1j9wkw.js";
19
+ import"./index-whyrhjsk.js";
20
+ import"./index-w1q9yy1e.js";
21
21
  import"./index-134d35c1.js";
22
22
  import"./index-b6e016tv.js";
23
23
  import"./index-4q9vfav6.js";
24
24
  import"./index-k92cagmt.js";
25
25
  import"./index-y8552snf.js";
26
- import"./index-dmtq7tvd.js";
26
+ import"./index-92bm9ys3.js";
27
27
  import"./index-xmzmeknp.js";
28
28
  import"./index-c8s9a3zh.js";
29
29
  import"./index-9ss2m4rs.js";
30
- import"./index-td2ga37v.js";
30
+ import"./index-bbv64s17.js";
31
31
  import"./index-74hpm6sh.js";
32
- import"./index-19wyta2k.js";
33
- import"./index-f3xf9dv5.js";
34
- import"./index-v9qmhrj9.js";
35
- import"./index-8qmnqd6g.js";
32
+ import"./index-02nm8qhk.js";
33
+ import"./index-scj2asek.js";
34
+ import"./index-z4cv77tq.js";
35
+ import"./index-hjy4txgr.js";
36
36
  import"./index-556ja8an.js";
37
37
  import"./index-gdd4jt6b.js";
38
38
  import"./index-zsrtt42s.js";
39
39
  import"./index-k3cxyk66.js";
40
- import"./index-8aabbfhv.js";
41
- import"./index-gbr0jbxy.js";
40
+ import"./index-6vmazy9f.js";
41
+ import"./index-s7nb33pc.js";
42
42
  import"./index-8fwhhayc.js";
43
43
  import"./index-q1exe2b3.js";
44
44
  import"./index-7sy3aa9m.js";
45
45
  import"./index-4905hd2m.js";
46
- import"./index-8fq18k02.js";
47
- import"./index-9m5gz9ea.js";
46
+ import"./index-0adcjpyx.js";
47
+ import"./index-peqmw3wr.js";
48
48
  import"./index-gprxjmm7.js";
49
49
  import"./index-n832052r.js";
50
- import"./index-f39n8pbr.js";
51
- import"./index-z4g05zbr.js";
50
+ import"./index-36vry26a.js";
51
+ import"./index-7bs015gm.js";
52
52
  import"./index-rn0eq85g.js";
53
53
  import"./index-4rhhvd1a.js";
54
54
  import"./index-jqsfsqbx.js";
55
55
  import"./index-z6xqpmqg.js";
56
56
  import"./index-zjygnfay.js";
57
- import"./index-z0j133c4.js";
57
+ import"./index-gzxz0s50.js";
58
58
  import"./index-tq5s07ta.js";
59
59
  import"./index-rtry5xyf.js";
60
- import"./index-5qqyvwqw.js";
60
+ import"./index-wjk00vwk.js";
61
61
  import"./index-ae75rja9.js";
62
62
  import"./index-w7x7qxz2.js";
63
63
  import"./index-erfnw81g.js";
@@ -1,50 +1,50 @@
1
1
  // @bun
2
2
  import {
3
3
  createCuratorLLMDelegate
4
- } from "./index-gz3z9d64.js";
5
- import"./index-6htwcbxh.js";
6
- import"./index-ja15rdzd.js";
7
- import"./index-c9d5y70c.js";
4
+ } from "./index-5d8ydxae.js";
5
+ import"./index-nd1j9wkw.js";
6
+ import"./index-whyrhjsk.js";
7
+ import"./index-w1q9yy1e.js";
8
8
  import"./index-134d35c1.js";
9
9
  import"./index-b6e016tv.js";
10
10
  import"./index-4q9vfav6.js";
11
11
  import"./index-k92cagmt.js";
12
12
  import"./index-y8552snf.js";
13
- import"./index-dmtq7tvd.js";
13
+ import"./index-92bm9ys3.js";
14
14
  import"./index-xmzmeknp.js";
15
15
  import"./index-c8s9a3zh.js";
16
16
  import"./index-9ss2m4rs.js";
17
- import"./index-td2ga37v.js";
17
+ import"./index-bbv64s17.js";
18
18
  import"./index-74hpm6sh.js";
19
- import"./index-19wyta2k.js";
20
- import"./index-f3xf9dv5.js";
21
- import"./index-v9qmhrj9.js";
22
- import"./index-8qmnqd6g.js";
19
+ import"./index-02nm8qhk.js";
20
+ import"./index-scj2asek.js";
21
+ import"./index-z4cv77tq.js";
22
+ import"./index-hjy4txgr.js";
23
23
  import"./index-556ja8an.js";
24
24
  import"./index-gdd4jt6b.js";
25
25
  import"./index-zsrtt42s.js";
26
26
  import"./index-k3cxyk66.js";
27
- import"./index-8aabbfhv.js";
28
- import"./index-gbr0jbxy.js";
27
+ import"./index-6vmazy9f.js";
28
+ import"./index-s7nb33pc.js";
29
29
  import"./index-8fwhhayc.js";
30
30
  import"./index-q1exe2b3.js";
31
31
  import"./index-7sy3aa9m.js";
32
32
  import"./index-4905hd2m.js";
33
- import"./index-8fq18k02.js";
34
- import"./index-9m5gz9ea.js";
33
+ import"./index-0adcjpyx.js";
34
+ import"./index-peqmw3wr.js";
35
35
  import"./index-gprxjmm7.js";
36
36
  import"./index-n832052r.js";
37
- import"./index-f39n8pbr.js";
38
- import"./index-z4g05zbr.js";
37
+ import"./index-36vry26a.js";
38
+ import"./index-7bs015gm.js";
39
39
  import"./index-rn0eq85g.js";
40
40
  import"./index-4rhhvd1a.js";
41
41
  import"./index-jqsfsqbx.js";
42
42
  import"./index-z6xqpmqg.js";
43
43
  import"./index-zjygnfay.js";
44
- import"./index-z0j133c4.js";
44
+ import"./index-gzxz0s50.js";
45
45
  import"./index-tq5s07ta.js";
46
46
  import"./index-rtry5xyf.js";
47
- import"./index-5qqyvwqw.js";
47
+ import"./index-wjk00vwk.js";
48
48
  import"./index-ae75rja9.js";
49
49
  import"./index-w7x7qxz2.js";
50
50
  import"./index-erfnw81g.js";
@@ -6,21 +6,21 @@ import {
6
6
  loadPlanJsonOnly,
7
7
  mergeDurableGateEntriesFromEvidence,
8
8
  readDurableGateEvidence
9
- } from "./index-c9d5y70c.js";
9
+ } from "./index-w1q9yy1e.js";
10
10
  import"./index-134d35c1.js";
11
11
  import"./index-k92cagmt.js";
12
12
  import"./index-y8552snf.js";
13
13
  import"./index-9ss2m4rs.js";
14
- import"./index-td2ga37v.js";
15
- import"./index-8qmnqd6g.js";
14
+ import"./index-bbv64s17.js";
15
+ import"./index-hjy4txgr.js";
16
16
  import"./index-556ja8an.js";
17
17
  import"./index-zsrtt42s.js";
18
- import"./index-gbr0jbxy.js";
18
+ import"./index-s7nb33pc.js";
19
19
  import"./index-q1exe2b3.js";
20
20
  import"./index-gprxjmm7.js";
21
21
  import"./index-n832052r.js";
22
- import"./index-f39n8pbr.js";
23
- import"./index-z4g05zbr.js";
22
+ import"./index-36vry26a.js";
23
+ import"./index-7bs015gm.js";
24
24
  import"./index-rn0eq85g.js";
25
25
  import"./index-4rhhvd1a.js";
26
26
  import"./index-jqsfsqbx.js";
@@ -17,9 +17,9 @@ import {
17
17
  reduceTaskWorkflowSnapshot,
18
18
  transitionTaskWorkflowEvidence,
19
19
  withTaskEvidenceTransaction
20
- } from "./index-td2ga37v.js";
20
+ } from "./index-bbv64s17.js";
21
21
  import"./index-556ja8an.js";
22
- import"./index-gbr0jbxy.js";
22
+ import"./index-s7nb33pc.js";
23
23
  import"./index-rn0eq85g.js";
24
24
  import"./index-4rhhvd1a.js";
25
25
  import"./index-jqsfsqbx.js";
@@ -1,51 +1,51 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-bt47jrhx.js";
5
- import"./index-gz3z9d64.js";
6
- import"./index-6htwcbxh.js";
7
- import"./index-ja15rdzd.js";
8
- import"./index-c9d5y70c.js";
4
+ } from "./index-72zhsqgy.js";
5
+ import"./index-5d8ydxae.js";
6
+ import"./index-nd1j9wkw.js";
7
+ import"./index-whyrhjsk.js";
8
+ import"./index-w1q9yy1e.js";
9
9
  import"./index-134d35c1.js";
10
10
  import"./index-b6e016tv.js";
11
11
  import"./index-4q9vfav6.js";
12
12
  import"./index-k92cagmt.js";
13
13
  import"./index-y8552snf.js";
14
- import"./index-dmtq7tvd.js";
14
+ import"./index-92bm9ys3.js";
15
15
  import"./index-xmzmeknp.js";
16
16
  import"./index-c8s9a3zh.js";
17
17
  import"./index-9ss2m4rs.js";
18
- import"./index-td2ga37v.js";
18
+ import"./index-bbv64s17.js";
19
19
  import"./index-74hpm6sh.js";
20
- import"./index-19wyta2k.js";
21
- import"./index-f3xf9dv5.js";
22
- import"./index-v9qmhrj9.js";
23
- import"./index-8qmnqd6g.js";
20
+ import"./index-02nm8qhk.js";
21
+ import"./index-scj2asek.js";
22
+ import"./index-z4cv77tq.js";
23
+ import"./index-hjy4txgr.js";
24
24
  import"./index-556ja8an.js";
25
25
  import"./index-gdd4jt6b.js";
26
26
  import"./index-zsrtt42s.js";
27
27
  import"./index-k3cxyk66.js";
28
- import"./index-8aabbfhv.js";
29
- import"./index-gbr0jbxy.js";
28
+ import"./index-6vmazy9f.js";
29
+ import"./index-s7nb33pc.js";
30
30
  import"./index-8fwhhayc.js";
31
31
  import"./index-q1exe2b3.js";
32
32
  import"./index-7sy3aa9m.js";
33
33
  import"./index-4905hd2m.js";
34
- import"./index-8fq18k02.js";
35
- import"./index-9m5gz9ea.js";
34
+ import"./index-0adcjpyx.js";
35
+ import"./index-peqmw3wr.js";
36
36
  import"./index-gprxjmm7.js";
37
37
  import"./index-n832052r.js";
38
- import"./index-f39n8pbr.js";
39
- import"./index-z4g05zbr.js";
38
+ import"./index-36vry26a.js";
39
+ import"./index-7bs015gm.js";
40
40
  import"./index-rn0eq85g.js";
41
41
  import"./index-4rhhvd1a.js";
42
42
  import"./index-jqsfsqbx.js";
43
43
  import"./index-z6xqpmqg.js";
44
44
  import"./index-zjygnfay.js";
45
- import"./index-z0j133c4.js";
45
+ import"./index-gzxz0s50.js";
46
46
  import"./index-tq5s07ta.js";
47
47
  import"./index-rtry5xyf.js";
48
- import"./index-5qqyvwqw.js";
48
+ import"./index-wjk00vwk.js";
49
49
  import"./index-ae75rja9.js";
50
50
  import"./index-w7x7qxz2.js";
51
51
  import"./index-erfnw81g.js";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailLog
4
- } from "./index-jmgm1npc.js";
5
- import"./index-6htwcbxh.js";
4
+ } from "./index-fn0k0vsa.js";
5
+ import"./index-nd1j9wkw.js";
6
6
  import"./index-556ja8an.js";
7
- import"./index-z4g05zbr.js";
7
+ import"./index-7bs015gm.js";
8
8
  import"./index-jqsfsqbx.js";
9
9
  import"./index-z6xqpmqg.js";
10
10
  import"./index-zjygnfay.js";
@@ -7,52 +7,52 @@ import {
7
7
  isHiveEligible,
8
8
  promoteFromSwarm,
9
9
  promoteToHive
10
- } from "./index-gz3z9d64.js";
11
- import"./index-6htwcbxh.js";
12
- import"./index-ja15rdzd.js";
13
- import"./index-c9d5y70c.js";
10
+ } from "./index-5d8ydxae.js";
11
+ import"./index-nd1j9wkw.js";
12
+ import"./index-whyrhjsk.js";
13
+ import"./index-w1q9yy1e.js";
14
14
  import"./index-134d35c1.js";
15
15
  import"./index-b6e016tv.js";
16
16
  import"./index-4q9vfav6.js";
17
17
  import"./index-k92cagmt.js";
18
18
  import"./index-y8552snf.js";
19
- import"./index-dmtq7tvd.js";
19
+ import"./index-92bm9ys3.js";
20
20
  import"./index-xmzmeknp.js";
21
21
  import"./index-c8s9a3zh.js";
22
22
  import"./index-9ss2m4rs.js";
23
- import"./index-td2ga37v.js";
23
+ import"./index-bbv64s17.js";
24
24
  import"./index-74hpm6sh.js";
25
- import"./index-19wyta2k.js";
26
- import"./index-f3xf9dv5.js";
27
- import"./index-v9qmhrj9.js";
28
- import"./index-8qmnqd6g.js";
25
+ import"./index-02nm8qhk.js";
26
+ import"./index-scj2asek.js";
27
+ import"./index-z4cv77tq.js";
28
+ import"./index-hjy4txgr.js";
29
29
  import"./index-556ja8an.js";
30
30
  import"./index-gdd4jt6b.js";
31
31
  import"./index-zsrtt42s.js";
32
32
  import"./index-k3cxyk66.js";
33
- import"./index-8aabbfhv.js";
34
- import"./index-gbr0jbxy.js";
33
+ import"./index-6vmazy9f.js";
34
+ import"./index-s7nb33pc.js";
35
35
  import"./index-8fwhhayc.js";
36
36
  import"./index-q1exe2b3.js";
37
37
  import"./index-7sy3aa9m.js";
38
38
  import"./index-4905hd2m.js";
39
- import"./index-8fq18k02.js";
40
- import"./index-9m5gz9ea.js";
39
+ import"./index-0adcjpyx.js";
40
+ import"./index-peqmw3wr.js";
41
41
  import"./index-gprxjmm7.js";
42
42
  import"./index-n832052r.js";
43
- import"./index-f39n8pbr.js";
44
- import"./index-z4g05zbr.js";
43
+ import"./index-36vry26a.js";
44
+ import"./index-7bs015gm.js";
45
45
  import"./index-rn0eq85g.js";
46
46
  import"./index-4rhhvd1a.js";
47
47
  import"./index-jqsfsqbx.js";
48
48
  import"./index-z6xqpmqg.js";
49
49
  import"./index-zjygnfay.js";
50
- import"./index-z0j133c4.js";
50
+ import"./index-gzxz0s50.js";
51
51
  import"./index-tq5s07ta.js";
52
52
  import"./index-rtry5xyf.js";
53
53
  import {
54
54
  resolveHiveKnowledgePath
55
- } from "./index-5qqyvwqw.js";
55
+ } from "./index-wjk00vwk.js";
56
56
  import"./index-ae75rja9.js";
57
57
  import"./index-w7x7qxz2.js";
58
58
  import"./index-erfnw81g.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  effectiveRetrievalOutcomes,
4
4
  readAuthoritativeKnowledgeCounterRollups
5
- } from "./index-8fq18k02.js";
5
+ } from "./index-0adcjpyx.js";
6
6
  import {
7
7
  advisoryWarn,
8
8
  init_warning_buffer
@@ -10,14 +10,14 @@ import {
10
10
  import {
11
11
  ALLOWED_SKILL_PATH_PREFIXES,
12
12
  validateSkillPath
13
- } from "./index-z0j133c4.js";
13
+ } from "./index-gzxz0s50.js";
14
14
  import {
15
15
  computeOutcomeSignal,
16
16
  readKnowledge,
17
17
  resolveHiveKnowledgePath,
18
18
  resolveSwarmKnowledgePath,
19
19
  transactKnowledge
20
- } from "./index-5qqyvwqw.js";
20
+ } from "./index-wjk00vwk.js";
21
21
  import {
22
22
  init_knowledge_types,
23
23
  isActiveStatus