opencode-swarm 7.136.5 → 7.137.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 (103) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +35 -3
  2. package/.opencode/skills/swarm-pr-review/references/prompt-templates.md +7 -3
  3. package/dist/agents/agent-output-schema.d.ts +2 -2
  4. package/dist/background/candidate-contract.d.ts +14 -0
  5. package/dist/cli/{config-doctor-n3hatm9d.js → config-doctor-b9r9rt2c.js} +2 -2
  6. package/dist/cli/{core-jpjk2qvt.js → core-6w5sd5bc.js} +1 -1
  7. package/dist/cli/{curation-policy-c4g08bg1.js → curation-policy-ftx2emfw.js} +7 -6
  8. package/dist/cli/{curator-jc5cc980.js → curator-1sxxtbq7.js} +25 -25
  9. package/dist/cli/{curator-llm-factory-atfnhbn6.js → curator-llm-factory-yhqbkc5w.js} +25 -25
  10. package/dist/cli/{evidence-summary-service-nse06dqr.js → evidence-summary-service-85gw9p2m.js} +7 -7
  11. package/dist/cli/{gate-evidence-kdygjr56.js → gate-evidence-s2kytsrj.js} +4 -4
  12. package/dist/cli/{guardrail-explain-v6f8efve.js → guardrail-explain-qh1y8jsz.js} +26 -26
  13. package/dist/cli/{guardrail-log-0mrq14g9.js → guardrail-log-84zffdv3.js} +3 -3
  14. package/dist/cli/{hive-promoter-wyejhz8b.js → hive-promoter-hpe29xrz.js} +25 -25
  15. package/dist/cli/{index-eeb35dnx.js → index-1qn2gchc.js} +3 -2
  16. package/dist/cli/{index-45y0y3xh.js → index-1zrb3vt2.js} +7 -7
  17. package/dist/cli/{index-d2sf9an1.js → index-5r6kkhd7.js} +4 -4
  18. package/dist/cli/{index-ne28wyyc.js → index-5wjw05dy.js} +2 -2
  19. package/dist/cli/{index-xvcctb2t.js → index-7e60c7ay.js} +27 -27
  20. package/dist/cli/{index-7t3vjw5e.js → index-877ah4kx.js} +1 -1
  21. package/dist/cli/{index-tncy55bp.js → index-8ehyt3rx.js} +1 -1
  22. package/dist/cli/{index-hbzh7yyz.js → index-9vqxf9pd.js} +633 -209
  23. package/dist/cli/{index-6kd0ezgd.js → index-a3gpeb4f.js} +2 -2
  24. package/dist/cli/{index-nfm9f10v.js → index-b2s3t517.js} +5 -3
  25. package/dist/cli/{index-8f4346kf.js → index-bxk0a1r9.js} +2 -2
  26. package/dist/cli/{index-pyz1p8qv.js → index-d67810xe.js} +1 -1
  27. package/dist/cli/{index-akc6rp3x.js → index-d8rc8c9y.js} +2 -2
  28. package/dist/cli/{index-hh34tyv7.js → index-dxatvs3f.js} +1 -1
  29. package/dist/cli/{index-bqan4y2y.js → index-e0nvge1c.js} +2 -2
  30. package/dist/cli/{index-f5qs217h.js → index-em10pmph.js} +1 -1
  31. package/dist/cli/{index-j7ja83v5.js → index-gd47gp2q.js} +1 -1
  32. package/dist/cli/{index-w6j1n5az.js → index-gv00q5gc.js} +1 -1
  33. package/dist/cli/index-h5sbn1zr.js +1670 -0
  34. package/dist/cli/{index-vm05set2.js → index-k8y41t4y.js} +4 -4
  35. package/dist/cli/{index-tr0ctbhq.js → index-m4s91910.js} +5 -5
  36. package/dist/cli/{index-b3jfcptk.js → index-n3h6rmbe.js} +1 -1
  37. package/dist/cli/{index-xp2pfbpq.js → index-pbe51g7h.js} +1 -1
  38. package/dist/cli/{index-kym0cctr.js → index-qy3rgmkc.js} +1 -1
  39. package/dist/cli/{index-d61h3f3h.js → index-s3j9fsab.js} +2 -2
  40. package/dist/cli/{index-qhbr4h5n.js → index-t2mv25yf.js} +6 -6
  41. package/dist/cli/{index-84se71v1.js → index-t5099rx9.js} +3 -3
  42. package/dist/cli/{index-zzhyws9g.js → index-vft1pg34.js} +1 -1
  43. package/dist/cli/{index-yj61bped.js → index-zxf5w0jj.js} +3 -3
  44. package/dist/cli/index.js +25 -25
  45. package/dist/cli/{knowledge-escalator-2xe8z24p.js → knowledge-escalator-3ds615yq.js} +8 -7
  46. package/dist/cli/{knowledge-events-wecrshsx.js → knowledge-events-3c0g2xbm.js} +6 -5
  47. package/dist/cli/{knowledge-link-zr40rnwr.js → knowledge-link-t94b79qe.js} +5 -4
  48. package/dist/cli/{knowledge-store-9f74whxw.js → knowledge-store-pq43990j.js} +6 -5
  49. package/dist/cli/{knowledge-validator-4ng7x9dr.js → knowledge-validator-gepda374.js} +9 -8
  50. package/dist/cli/{pending-delegations-0h5b18p7.js → pending-delegations-kshh66s2.js} +3 -3
  51. package/dist/cli/{pr-subscriptions-jn0h047q.js → pr-subscriptions-5fpzz4f3.js} +3 -3
  52. package/dist/cli/{runner-deeswadt.js → runner-9rqc8y3m.js} +5 -5
  53. package/dist/cli/{scan-cursor-yzj9n225.js → scan-cursor-5hq37qdg.js} +7 -6
  54. package/dist/cli/{schema-cr1nr1w0.js → schema-mrbyt7dg.js} +1 -1
  55. package/dist/cli/{scope-persistence-5xc9ntdh.js → scope-persistence-sjz200dt.js} +4 -4
  56. package/dist/cli/{skill-generator-ybncj9et.js → skill-generator-3gt8em6v.js} +10 -9
  57. package/dist/cli/{telemetry-6678gya0.js → telemetry-h7h7f0ez.js} +2 -1
  58. package/dist/cli/{worktree-collision-ownership-wt7cc850.js → worktree-collision-ownership-xzwab4xt.js} +3 -3
  59. package/dist/config/constants.d.ts +1 -1
  60. package/dist/config/evidence-schema.d.ts +103 -103
  61. package/dist/config/plan-schema.d.ts +10 -10
  62. package/dist/config/schema.d.ts +8 -8
  63. package/dist/consensus/contracts.d.ts +3 -3
  64. package/dist/evaluation/index.d.ts +1 -0
  65. package/dist/evaluation/model-dispatcher.d.ts +19 -1
  66. package/dist/evaluation/pr-review-recovery.d.ts +41 -0
  67. package/dist/evaluation/public-api.d.ts +2 -0
  68. package/dist/evaluation/runner.d.ts +9 -0
  69. package/dist/hooks/hive-promoter.d.ts +1 -1
  70. package/dist/hooks/pr-workflow-gate.d.ts +69 -0
  71. package/dist/index.d.ts +2 -0
  72. package/dist/index.js +225 -225
  73. package/dist/observability/catalog.d.ts +84 -0
  74. package/dist/observability/envelope.d.ts +401 -0
  75. package/dist/observability/ids.d.ts +97 -0
  76. package/dist/observability/index.d.ts +58 -0
  77. package/dist/observability/legacy.d.ts +68 -0
  78. package/dist/observability/observe.d.ts +112 -0
  79. package/dist/observability/otel-mapping.d.ts +48 -0
  80. package/dist/observability/relationships.d.ts +44 -0
  81. package/dist/observability/sampling.d.ts +77 -0
  82. package/dist/summaries/schema.d.ts +2 -2
  83. package/dist/telemetry.d.ts +4 -1
  84. package/dist/tools/dispatch-lanes.d.ts +1 -0
  85. package/evaluation-fixtures/pr-review-recovery/baseline/SKILL.md +1823 -0
  86. package/evaluation-fixtures/pr-review-recovery/baseline-manifest.json +1 -0
  87. package/evaluation-fixtures/pr-review-recovery/environment/score-recovery.cjs +135 -0
  88. package/evaluation-fixtures/pr-review-recovery/instruction.md +40 -0
  89. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/blind-full-wave-retry/model-output.json +1 -0
  90. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/contradictory/model-output.json +1 -0
  91. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/copied-contract/model-output.json +1 -0
  92. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/critical-without-harm/model-output.json +1 -0
  93. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/invented-harm/model-output.json +1 -0
  94. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/malformed/model-output.json +1 -0
  95. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/missing-reproduction/model-output.json +1 -0
  96. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/parser-only/model-output.json +1 -0
  97. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/passing/model-output.json +1 -0
  98. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/premature-systemic-claim/model-output.json +1 -0
  99. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/profile-b-fallback/model-output.json +1 -0
  100. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/underclaimed-harm/model-output.json +1 -0
  101. package/evaluation-fixtures/pr-review-recovery/scorer-fixtures/unsupported-severity/model-output.json +1 -0
  102. package/package.json +3 -2
  103. package/dist/cli/index-cze4bq1x.js +0 -358
@@ -846,13 +846,45 @@ Before Phase 4 or synthesis, all base lanes must be settled. `dispatch_lanes_asy
846
846
 
847
847
  **COVERAGE GATE — zero tolerance for unclosed gaps.** After `collect_lane_results`, verify every lane produced validated output. Two failure modes exist:
848
848
  - **Mode A (empty output):** Lane returns 0 chars, `status: cancelled`, `output_digest` matches SHA-256 of empty string (`e3b0c442...b855`).
849
- - **Mode B (intermediate reasoning only):** Lane reports `status: completed` with non-empty output, but the output is preliminary reasoning ("Now let me check...") with zero `[CANDIDATE]` rows and no parseable `[CLEAN] | workflow_lane | coverage_scope | evidence` attestation. The `output_digest` does NOT match the empty-string hash. `parse_lane_candidates` returns 0 candidates. This mode is MORE dangerous the lane appears successful but produced no findings or clean proof.
849
+ - **Mode B (invalid structured output):** Under Profile A, collection reports `status: failed` with a named contract predicate while retaining the non-empty preview, digest, and `output_ref`; the artifact has zero valid `[CANDIDATE]` rows and no parseable `[CLEAN] | lane | coverage_scope | evidence` attestation. Under Profiles B/C, treat the equivalent non-empty report as failed when parsing yields zero candidates and no valid clean attestation. The non-empty transcript is diagnostic evidence, never coverage proof.
850
850
 
851
851
  For ANY lane that failed (either mode):
852
852
  1. **Retry** (max 2 attempts) with materially different parameters — different session or prompt decomposition, while preserving the required structured async mode and exact head provenance.
853
853
  2. If a base lane fails under Profile A, retry only the failed `workflow_lane` identifiers with `dispatch_lanes_async`, `mode: "swarm-pr-review:base"`, the same exact `pr_head_sha`, and explorer agents. The durable gate joins successful provenance across the initial wave and retry batches. While that controller is active, blocking `dispatch_lanes` and direct Task dispatch are not equivalent because they cannot satisfy the structured provenance gate. Under Profiles B/C, retry only the failed `workflow_lane` identifiers with a fresh subagent or pass, the same exact `pr_head_sha`, and a materially different prompt decomposition.
854
854
  3. If no equivalent alternative can be verified, **STOP and surface the lane failure to the user as BLOCKED** with the lane id, scope, failure mode, retry attempts, and why equivalence could not be proven. Do not present partial findings, do not issue a review verdict, and do not synthesize from successful lanes. A low-quality partial review is worse than no review.
855
855
 
856
+ ### Contract-failure diagnosis and recovery
857
+
858
+ Under Profile A, `dispatch_lanes_async` adds the authoritative
859
+ controller-appended row contract and exact lane identity to every explorer
860
+ prompt. Do not duplicate that contract in `common_prompt`: duplicated copies
861
+ can drift, compete for prompt budget, and are not the controller's acceptance
862
+ boundary.
863
+
864
+ When collection or a later coverage gate rejects a lane, first isolate the
865
+ emitting validator named by the diagnostic. Preserve the rejected artifact and
866
+ build a minimal correct single-lane reproduction using the same workflow mode,
867
+ lane identity, exact head, and canonical row. Before retrying, distinguish the
868
+ three independent input layers: the header schema, data-row values, and tool
869
+ argument shape. A correct header does not repair an invalid severity or lane
870
+ value, and correct row data does not repair malformed dispatch JSON.
871
+
872
+ Classify the incident from actual user-visible harm and the first failed
873
+ predicate, not from the number of retries or the eventual result. A successful
874
+ post-hoc fallback is recovery evidence; it does not justify the protocol
875
+ deviation or erase the original failure. Conversely, the candidate tool and
876
+ the coverage gate use a shared row parser, while the gate separately verifies
877
+ durable provenance such as batch, session, lane, role, head, digest, and
878
+ artifact identity. Parser success therefore proves row structure only; it does
879
+ not settle the durable coverage obligation.
880
+
881
+ If a controller denial omits the failed predicate, expected contract, or lane
882
+ identity, record that as an opacity defect and escalate it with the preserved
883
+ artifact and minimal reproduction. An opaque denial is not proof that correct
884
+ input was rejected. Do not guess at hidden predicates, weaken acceptance, or
885
+ switch to blocking/direct-Task dispatch; repair the named contract when it is
886
+ available, otherwise stop at the coverage gate with the diagnostic gap.
887
+
856
888
  ### Candidate extraction via parser
857
889
 
858
890
  Under Profile A, after `collect_lane_results` returns for base lanes, process
@@ -971,7 +1003,7 @@ A base lane that finds no surviving candidates must emit exactly one fully
971
1003
  populated clean row:
972
1004
 
973
1005
  ```text
974
- [CLEAN] | workflow_lane | coverage_scope | evidence
1006
+ [CLEAN] | lane | coverage_scope | evidence
975
1007
  ```
976
1008
 
977
1009
  Header-only `[CLEAN]` markers, prose-only "clean" claims, or empty output do
@@ -1533,7 +1565,7 @@ When triggered:
1533
1565
  2. After the default base-dimension and risk-family coverage is complete, launch all supplementary council agents. Under Profile A, use one `dispatch_lanes_async` call with `mode: "swarm-pr-review:council"`, the same exact `pr_head_sha`, and one unique `workflow_lane` per council member; continue independent context preparation while they run, polling with `collect_lane_results` (without `wait`) to process settled agents incrementally, and use `wait: true` only when no independent work remains. All agents must be settled and their candidates added to the ledger before reviewer classification; under Profile A the runtime enforces this join barrier, and blocking, sequential, or direct-Task fallback is not equivalent to the structured council dispatch — bypassing the active controller is `BLOCKED`. Under Profile B, dispatch council members as parallel subagents with the same marker contract and settle them all before reviewer classification; under Profile C, run each council lens as a separate sequential pass.
1534
1566
  3. Each council agent assumes all work is wrong until code evidence proves otherwise.
1535
1567
  4. Each agent hunts within its lane only.
1536
- 5. Agents return the same mechanically parseable candidate contract as other discovery lanes: one `[CANDIDATE]` row per `EVIDENCE_FOUND` or `SUSPICIOUS` claim, or a fully populated `[CLEAN] | workflow_lane | coverage_scope | evidence` row when no candidate survives. Council prose without one of those markers does not settle the lane.
1568
+ 5. Council uses the micro-lane row family: `[CANDIDATE] | candidate_id | micro_lane | severity | category | file:line | claim | invariant_violated | evidence_summary | confidence`. Emit one row per `EVIDENCE_FOUND` or `SUSPICIOUS` claim, or a fully populated `[CLEAN] | micro_lane | coverage_scope | evidence` row when no candidate survives. Put the exact council `workflow_lane` value in the `micro_lane` data field. Council prose without one of those markers does not settle the lane.
1537
1569
  6. Agents must not return `CONFIRMED`, `DISPROVED`, or final severity; candidate severity remains provisional until reviewer classification.
1538
1570
  7. The independent reviewer then classifies every council candidate as `CONFIRMED`, `DISPROVED`, `UNVERIFIED`, or `PRE_EXISTING`.
1539
1571
  8. Apply critic challenge to reviewer-confirmed HIGH/CRITICAL or borderline findings.
@@ -87,11 +87,15 @@ You must inspect or mark unavailable:
87
87
  7. Swarm artifacts/knowledge,
88
88
  8. the exact `base_sha...pr_head_sha` merge-base range and both endpoint revisions.
89
89
 
90
- Return:
90
+ For a base explorer, return:
91
91
  [CANDIDATE] | candidate_id | lane | severity | category | file:line | claim | evidence_summary | impact_context | confidence
92
+
93
+ For a micro-lane or council explorer, return:
94
+ [CANDIDATE] | candidate_id | micro_lane | severity | category | file:line | claim | invariant_violated | evidence_summary | confidence
95
+
92
96
  Emit the marker-bearing header once, then unprefixed data rows.
93
- For a clean micro-lane, emit `[CLEAN] | micro_lane | coverage_scope | evidence`.
94
- For a clean base lane, emit `[CLEAN] | workflow_lane | coverage_scope | evidence`.
97
+ For a clean micro-lane or council lane, emit `[CLEAN] | micro_lane | coverage_scope | evidence`.
98
+ For a clean base lane, emit `[CLEAN] | lane | coverage_scope | evidence`.
95
99
  ```
96
100
 
97
101
  Under Profile A the orchestrator extracts candidates from the full lane
@@ -39,10 +39,10 @@ export declare const ReviewFindingSchema: z.ZodObject<{
39
39
  body: z.ZodString;
40
40
  severity: z.ZodEnum<{
41
41
  info: "info";
42
+ critical: "critical";
42
43
  low: "low";
43
44
  medium: "medium";
44
45
  high: "high";
45
- critical: "critical";
46
46
  }>;
47
47
  confidence: z.ZodNumber;
48
48
  file: z.ZodString;
@@ -55,10 +55,10 @@ export declare const ReviewFindingsSchema: z.ZodObject<{
55
55
  body: z.ZodString;
56
56
  severity: z.ZodEnum<{
57
57
  info: "info";
58
+ critical: "critical";
58
59
  low: "low";
59
60
  medium: "medium";
60
61
  high: "high";
61
- critical: "critical";
62
62
  }>;
63
63
  confidence: z.ZodNumber;
64
64
  file: z.ZodString;
@@ -12,6 +12,20 @@ export declare const CANDIDATE_FIELDS: {
12
12
  readonly base_explorer: readonly ["candidate_id", "lane", "severity", "category", "file_line", "claim", "evidence_summary", "impact_context", "confidence"];
13
13
  readonly micro_lane: readonly ["candidate_id", "micro_lane", "severity", "category", "file_line", "claim", "invariant_violated", "evidence_summary", "confidence"];
14
14
  };
15
+ export declare const CANDIDATE_MARKER: "[CANDIDATE]";
16
+ export declare const CLEAN_MARKER: "[CLEAN]";
17
+ /** Canonical marker-bearing header derived from the parser's field authority. */
18
+ export declare function formatCandidateHeader(family: RowFormatFamily): string;
19
+ /** Canonical zero-finding attestation template for one row family. */
20
+ export declare function formatCleanTemplate(family: RowFormatFamily): string;
21
+ export declare const CANDIDATE_HEADERS: {
22
+ readonly base_explorer: string;
23
+ readonly micro_lane: string;
24
+ };
25
+ export declare const CLEAN_TEMPLATES: {
26
+ readonly base_explorer: string;
27
+ readonly micro_lane: string;
28
+ };
15
29
  /** Identify only an exact, marker-bearing canonical candidate header. */
16
30
  export declare function candidateHeaderFamily(fields: readonly string[]): RowFormatFamily | null;
17
31
  export interface CandidateHeaderSelection {
@@ -12,8 +12,8 @@ import {
12
12
  shouldRunOnStartup,
13
13
  writeBackupArtifact,
14
14
  writeDoctorArtifact
15
- } from "./index-j7ja83v5.js";
16
- import"./index-eeb35dnx.js";
15
+ } from "./index-gd47gp2q.js";
16
+ import"./index-1qn2gchc.js";
17
17
  import"./index-bk5tah7q.js";
18
18
  import"./index-3jcyn8g6.js";
19
19
  import"./index-bpmtbmy9.js";
@@ -14,7 +14,7 @@ import {
14
14
  resolveWorktreeBaseDir,
15
15
  shortenWorktreePath,
16
16
  writeLaneProfileToDiskReal
17
- } from "./index-hh34tyv7.js";
17
+ } from "./index-dxatvs3f.js";
18
18
  import"./index-4rhhvd1a.js";
19
19
  import"./index-3jcyn8g6.js";
20
20
  import"./index-z6xqpmqg.js";
@@ -4,16 +4,17 @@ import {
4
4
  authorizeCuration,
5
5
  buildConfigFingerprintInput,
6
6
  readCohortConfigFingerprint
7
- } from "./index-6kd0ezgd.js";
7
+ } from "./index-a3gpeb4f.js";
8
8
  import"./index-rtry5xyf.js";
9
- import"./index-84se71v1.js";
9
+ import"./index-t5099rx9.js";
10
10
  import"./index-ae75rja9.js";
11
- import"./index-zzhyws9g.js";
12
- import"./index-b3jfcptk.js";
11
+ import"./index-vft1pg34.js";
12
+ import"./index-n3h6rmbe.js";
13
13
  import"./index-fsrp8wp3.js";
14
- import"./index-tncy55bp.js";
14
+ import"./index-8ehyt3rx.js";
15
15
  import"./index-7g4c7s5r.js";
16
- import"./index-cze4bq1x.js";
16
+ import"./index-h5sbn1zr.js";
17
+ import"./index-bpmtbmy9.js";
17
18
  import"./index-y111zefa.js";
18
19
  import"./index-zgwm4ryv.js";
19
20
  import"./index-a76rekgs.js";
@@ -14,55 +14,55 @@ import {
14
14
  runCuratorInit,
15
15
  runCuratorPhase,
16
16
  writeCuratorSummary
17
- } from "./index-hbzh7yyz.js";
17
+ } from "./index-9vqxf9pd.js";
18
18
  import"./index-vm4xw9z3.js";
19
- import"./index-nfm9f10v.js";
20
- import"./index-f5qs217h.js";
21
- import"./index-j7ja83v5.js";
22
- import"./index-45y0y3xh.js";
23
- import"./index-ne28wyyc.js";
19
+ import"./index-b2s3t517.js";
20
+ import"./index-em10pmph.js";
21
+ import"./index-gd47gp2q.js";
22
+ import"./index-1zrb3vt2.js";
23
+ import"./index-5wjw05dy.js";
24
24
  import"./index-y8552snf.js";
25
25
  import"./index-4905hd2m.js";
26
26
  import"./index-134d35c1.js";
27
- import"./index-yj61bped.js";
28
- import"./index-tr0ctbhq.js";
29
- import"./index-8f4346kf.js";
27
+ import"./index-zxf5w0jj.js";
28
+ import"./index-m4s91910.js";
29
+ import"./index-bxk0a1r9.js";
30
30
  import"./index-6mjf4vr1.js";
31
31
  import"./index-c8s9a3zh.js";
32
32
  import"./index-9ss2m4rs.js";
33
33
  import"./index-wsdnttf4.js";
34
- import"./index-d2sf9an1.js";
35
- import"./index-vm05set2.js";
36
- import"./index-6kd0ezgd.js";
34
+ import"./index-5r6kkhd7.js";
35
+ import"./index-k8y41t4y.js";
36
+ import"./index-a3gpeb4f.js";
37
37
  import"./index-rtry5xyf.js";
38
- import"./index-qhbr4h5n.js";
39
- import"./index-84se71v1.js";
38
+ import"./index-t2mv25yf.js";
39
+ import"./index-t5099rx9.js";
40
40
  import"./index-ae75rja9.js";
41
- import"./index-zzhyws9g.js";
42
- import"./index-b3jfcptk.js";
43
- import"./index-pyz1p8qv.js";
41
+ import"./index-vft1pg34.js";
42
+ import"./index-n3h6rmbe.js";
43
+ import"./index-d67810xe.js";
44
44
  import"./index-k5jrywpr.js";
45
45
  import"./index-n832052r.js";
46
- import"./index-eeb35dnx.js";
46
+ import"./index-1qn2gchc.js";
47
47
  import"./index-bk5tah7q.js";
48
48
  import"./index-8fwhhayc.js";
49
49
  import"./index-q1exe2b3.js";
50
- import"./index-kym0cctr.js";
51
- import"./index-w6j1n5az.js";
52
- import"./index-d61h3f3h.js";
50
+ import"./index-qy3rgmkc.js";
51
+ import"./index-gv00q5gc.js";
52
+ import"./index-s3j9fsab.js";
53
53
  import"./index-1kz6da87.js";
54
54
  import"./index-x20cgr2q.js";
55
55
  import"./index-b8zgtz81.js";
56
- import"./index-hh34tyv7.js";
56
+ import"./index-dxatvs3f.js";
57
57
  import"./index-4rhhvd1a.js";
58
58
  import"./index-3jcyn8g6.js";
59
- import"./index-7t3vjw5e.js";
59
+ import"./index-877ah4kx.js";
60
60
  import"./index-4qzeef9h.js";
61
61
  import"./index-fsrp8wp3.js";
62
- import"./index-tncy55bp.js";
62
+ import"./index-8ehyt3rx.js";
63
63
  import"./index-7g4c7s5r.js";
64
+ import"./index-h5sbn1zr.js";
64
65
  import"./index-bpmtbmy9.js";
65
- import"./index-cze4bq1x.js";
66
66
  import"./index-z6xqpmqg.js";
67
67
  import"./index-zjygnfay.js";
68
68
  import"./index-y111zefa.js";
@@ -1,55 +1,55 @@
1
1
  // @bun
2
2
  import {
3
3
  createCuratorLLMDelegate
4
- } from "./index-hbzh7yyz.js";
4
+ } from "./index-9vqxf9pd.js";
5
5
  import"./index-vm4xw9z3.js";
6
- import"./index-nfm9f10v.js";
7
- import"./index-f5qs217h.js";
8
- import"./index-j7ja83v5.js";
9
- import"./index-45y0y3xh.js";
10
- import"./index-ne28wyyc.js";
6
+ import"./index-b2s3t517.js";
7
+ import"./index-em10pmph.js";
8
+ import"./index-gd47gp2q.js";
9
+ import"./index-1zrb3vt2.js";
10
+ import"./index-5wjw05dy.js";
11
11
  import"./index-y8552snf.js";
12
12
  import"./index-4905hd2m.js";
13
13
  import"./index-134d35c1.js";
14
- import"./index-yj61bped.js";
15
- import"./index-tr0ctbhq.js";
16
- import"./index-8f4346kf.js";
14
+ import"./index-zxf5w0jj.js";
15
+ import"./index-m4s91910.js";
16
+ import"./index-bxk0a1r9.js";
17
17
  import"./index-6mjf4vr1.js";
18
18
  import"./index-c8s9a3zh.js";
19
19
  import"./index-9ss2m4rs.js";
20
20
  import"./index-wsdnttf4.js";
21
- import"./index-d2sf9an1.js";
22
- import"./index-vm05set2.js";
23
- import"./index-6kd0ezgd.js";
21
+ import"./index-5r6kkhd7.js";
22
+ import"./index-k8y41t4y.js";
23
+ import"./index-a3gpeb4f.js";
24
24
  import"./index-rtry5xyf.js";
25
- import"./index-qhbr4h5n.js";
26
- import"./index-84se71v1.js";
25
+ import"./index-t2mv25yf.js";
26
+ import"./index-t5099rx9.js";
27
27
  import"./index-ae75rja9.js";
28
- import"./index-zzhyws9g.js";
29
- import"./index-b3jfcptk.js";
30
- import"./index-pyz1p8qv.js";
28
+ import"./index-vft1pg34.js";
29
+ import"./index-n3h6rmbe.js";
30
+ import"./index-d67810xe.js";
31
31
  import"./index-k5jrywpr.js";
32
32
  import"./index-n832052r.js";
33
- import"./index-eeb35dnx.js";
33
+ import"./index-1qn2gchc.js";
34
34
  import"./index-bk5tah7q.js";
35
35
  import"./index-8fwhhayc.js";
36
36
  import"./index-q1exe2b3.js";
37
- import"./index-kym0cctr.js";
38
- import"./index-w6j1n5az.js";
39
- import"./index-d61h3f3h.js";
37
+ import"./index-qy3rgmkc.js";
38
+ import"./index-gv00q5gc.js";
39
+ import"./index-s3j9fsab.js";
40
40
  import"./index-1kz6da87.js";
41
41
  import"./index-x20cgr2q.js";
42
42
  import"./index-b8zgtz81.js";
43
- import"./index-hh34tyv7.js";
43
+ import"./index-dxatvs3f.js";
44
44
  import"./index-4rhhvd1a.js";
45
45
  import"./index-3jcyn8g6.js";
46
- import"./index-7t3vjw5e.js";
46
+ import"./index-877ah4kx.js";
47
47
  import"./index-4qzeef9h.js";
48
48
  import"./index-fsrp8wp3.js";
49
- import"./index-tncy55bp.js";
49
+ import"./index-8ehyt3rx.js";
50
50
  import"./index-7g4c7s5r.js";
51
+ import"./index-h5sbn1zr.js";
51
52
  import"./index-bpmtbmy9.js";
52
- import"./index-cze4bq1x.js";
53
53
  import"./index-z6xqpmqg.js";
54
54
  import"./index-zjygnfay.js";
55
55
  import"./index-y111zefa.js";
@@ -6,25 +6,25 @@ import {
6
6
  loadPlanJsonOnly,
7
7
  mergeDurableGateEntriesFromEvidence,
8
8
  readDurableGateEvidence
9
- } from "./index-45y0y3xh.js";
10
- import"./index-ne28wyyc.js";
9
+ } from "./index-1zrb3vt2.js";
10
+ import"./index-5wjw05dy.js";
11
11
  import"./index-y8552snf.js";
12
12
  import"./index-9ss2m4rs.js";
13
- import"./index-d2sf9an1.js";
14
- import"./index-b3jfcptk.js";
13
+ import"./index-5r6kkhd7.js";
14
+ import"./index-n3h6rmbe.js";
15
15
  import"./index-k5jrywpr.js";
16
16
  import"./index-n832052r.js";
17
17
  import"./index-q1exe2b3.js";
18
- import"./index-d61h3f3h.js";
18
+ import"./index-s3j9fsab.js";
19
19
  import"./index-1kz6da87.js";
20
20
  import"./index-b8zgtz81.js";
21
21
  import"./index-4rhhvd1a.js";
22
22
  import"./index-4qzeef9h.js";
23
23
  import"./index-fsrp8wp3.js";
24
- import"./index-tncy55bp.js";
24
+ import"./index-8ehyt3rx.js";
25
25
  import"./index-7g4c7s5r.js";
26
+ import"./index-h5sbn1zr.js";
26
27
  import"./index-bpmtbmy9.js";
27
- import"./index-cze4bq1x.js";
28
28
  import"./index-z6xqpmqg.js";
29
29
  import"./index-zjygnfay.js";
30
30
  import"./index-y111zefa.js";
@@ -9,13 +9,13 @@ import {
9
9
  readTaskEvidenceRaw,
10
10
  recordAgentDispatch,
11
11
  recordGateEvidence
12
- } from "./index-d2sf9an1.js";
13
- import"./index-b3jfcptk.js";
12
+ } from "./index-5r6kkhd7.js";
13
+ import"./index-n3h6rmbe.js";
14
14
  import"./index-fsrp8wp3.js";
15
- import"./index-tncy55bp.js";
15
+ import"./index-8ehyt3rx.js";
16
16
  import"./index-7g4c7s5r.js";
17
+ import"./index-h5sbn1zr.js";
17
18
  import"./index-bpmtbmy9.js";
18
- import"./index-cze4bq1x.js";
19
19
  import"./index-y111zefa.js";
20
20
  import"./index-a76rekgs.js";
21
21
  export {
@@ -1,56 +1,56 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-akc6rp3x.js";
5
- import"./index-hbzh7yyz.js";
4
+ } from "./index-d8rc8c9y.js";
5
+ import"./index-9vqxf9pd.js";
6
6
  import"./index-vm4xw9z3.js";
7
- import"./index-nfm9f10v.js";
8
- import"./index-f5qs217h.js";
9
- import"./index-j7ja83v5.js";
10
- import"./index-45y0y3xh.js";
11
- import"./index-ne28wyyc.js";
7
+ import"./index-b2s3t517.js";
8
+ import"./index-em10pmph.js";
9
+ import"./index-gd47gp2q.js";
10
+ import"./index-1zrb3vt2.js";
11
+ import"./index-5wjw05dy.js";
12
12
  import"./index-y8552snf.js";
13
13
  import"./index-4905hd2m.js";
14
14
  import"./index-134d35c1.js";
15
- import"./index-yj61bped.js";
16
- import"./index-tr0ctbhq.js";
17
- import"./index-8f4346kf.js";
15
+ import"./index-zxf5w0jj.js";
16
+ import"./index-m4s91910.js";
17
+ import"./index-bxk0a1r9.js";
18
18
  import"./index-6mjf4vr1.js";
19
19
  import"./index-c8s9a3zh.js";
20
20
  import"./index-9ss2m4rs.js";
21
21
  import"./index-wsdnttf4.js";
22
- import"./index-d2sf9an1.js";
23
- import"./index-vm05set2.js";
24
- import"./index-6kd0ezgd.js";
22
+ import"./index-5r6kkhd7.js";
23
+ import"./index-k8y41t4y.js";
24
+ import"./index-a3gpeb4f.js";
25
25
  import"./index-rtry5xyf.js";
26
- import"./index-qhbr4h5n.js";
27
- import"./index-84se71v1.js";
26
+ import"./index-t2mv25yf.js";
27
+ import"./index-t5099rx9.js";
28
28
  import"./index-ae75rja9.js";
29
- import"./index-zzhyws9g.js";
30
- import"./index-b3jfcptk.js";
31
- import"./index-pyz1p8qv.js";
29
+ import"./index-vft1pg34.js";
30
+ import"./index-n3h6rmbe.js";
31
+ import"./index-d67810xe.js";
32
32
  import"./index-k5jrywpr.js";
33
33
  import"./index-n832052r.js";
34
- import"./index-eeb35dnx.js";
34
+ import"./index-1qn2gchc.js";
35
35
  import"./index-bk5tah7q.js";
36
36
  import"./index-8fwhhayc.js";
37
37
  import"./index-q1exe2b3.js";
38
- import"./index-kym0cctr.js";
39
- import"./index-w6j1n5az.js";
40
- import"./index-d61h3f3h.js";
38
+ import"./index-qy3rgmkc.js";
39
+ import"./index-gv00q5gc.js";
40
+ import"./index-s3j9fsab.js";
41
41
  import"./index-1kz6da87.js";
42
42
  import"./index-x20cgr2q.js";
43
43
  import"./index-b8zgtz81.js";
44
- import"./index-hh34tyv7.js";
44
+ import"./index-dxatvs3f.js";
45
45
  import"./index-4rhhvd1a.js";
46
46
  import"./index-3jcyn8g6.js";
47
- import"./index-7t3vjw5e.js";
47
+ import"./index-877ah4kx.js";
48
48
  import"./index-4qzeef9h.js";
49
49
  import"./index-fsrp8wp3.js";
50
- import"./index-tncy55bp.js";
50
+ import"./index-8ehyt3rx.js";
51
51
  import"./index-7g4c7s5r.js";
52
+ import"./index-h5sbn1zr.js";
52
53
  import"./index-bpmtbmy9.js";
53
- import"./index-cze4bq1x.js";
54
54
  import"./index-z6xqpmqg.js";
55
55
  import"./index-zjygnfay.js";
56
56
  import"./index-y111zefa.js";
@@ -1,9 +1,9 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailLog
4
- } from "./index-xp2pfbpq.js";
5
- import"./index-f5qs217h.js";
6
- import"./index-eeb35dnx.js";
4
+ } from "./index-pbe51g7h.js";
5
+ import"./index-em10pmph.js";
6
+ import"./index-1qn2gchc.js";
7
7
  import"./index-bk5tah7q.js";
8
8
  import"./index-3jcyn8g6.js";
9
9
  import"./index-bpmtbmy9.js";
@@ -7,57 +7,57 @@ import {
7
7
  isHiveEligible,
8
8
  promoteFromSwarm,
9
9
  promoteToHive
10
- } from "./index-hbzh7yyz.js";
10
+ } from "./index-9vqxf9pd.js";
11
11
  import"./index-vm4xw9z3.js";
12
- import"./index-nfm9f10v.js";
13
- import"./index-f5qs217h.js";
14
- import"./index-j7ja83v5.js";
15
- import"./index-45y0y3xh.js";
16
- import"./index-ne28wyyc.js";
12
+ import"./index-b2s3t517.js";
13
+ import"./index-em10pmph.js";
14
+ import"./index-gd47gp2q.js";
15
+ import"./index-1zrb3vt2.js";
16
+ import"./index-5wjw05dy.js";
17
17
  import"./index-y8552snf.js";
18
18
  import"./index-4905hd2m.js";
19
19
  import"./index-134d35c1.js";
20
- import"./index-yj61bped.js";
21
- import"./index-tr0ctbhq.js";
22
- import"./index-8f4346kf.js";
20
+ import"./index-zxf5w0jj.js";
21
+ import"./index-m4s91910.js";
22
+ import"./index-bxk0a1r9.js";
23
23
  import"./index-6mjf4vr1.js";
24
24
  import"./index-c8s9a3zh.js";
25
25
  import"./index-9ss2m4rs.js";
26
26
  import"./index-wsdnttf4.js";
27
- import"./index-d2sf9an1.js";
28
- import"./index-vm05set2.js";
29
- import"./index-6kd0ezgd.js";
27
+ import"./index-5r6kkhd7.js";
28
+ import"./index-k8y41t4y.js";
29
+ import"./index-a3gpeb4f.js";
30
30
  import"./index-rtry5xyf.js";
31
31
  import {
32
32
  resolveHiveKnowledgePath
33
- } from "./index-qhbr4h5n.js";
34
- import"./index-84se71v1.js";
33
+ } from "./index-t2mv25yf.js";
34
+ import"./index-t5099rx9.js";
35
35
  import"./index-ae75rja9.js";
36
- import"./index-zzhyws9g.js";
37
- import"./index-b3jfcptk.js";
38
- import"./index-pyz1p8qv.js";
36
+ import"./index-vft1pg34.js";
37
+ import"./index-n3h6rmbe.js";
38
+ import"./index-d67810xe.js";
39
39
  import"./index-k5jrywpr.js";
40
40
  import"./index-n832052r.js";
41
- import"./index-eeb35dnx.js";
41
+ import"./index-1qn2gchc.js";
42
42
  import"./index-bk5tah7q.js";
43
43
  import"./index-8fwhhayc.js";
44
44
  import"./index-q1exe2b3.js";
45
- import"./index-kym0cctr.js";
46
- import"./index-w6j1n5az.js";
47
- import"./index-d61h3f3h.js";
45
+ import"./index-qy3rgmkc.js";
46
+ import"./index-gv00q5gc.js";
47
+ import"./index-s3j9fsab.js";
48
48
  import"./index-1kz6da87.js";
49
49
  import"./index-x20cgr2q.js";
50
50
  import"./index-b8zgtz81.js";
51
- import"./index-hh34tyv7.js";
51
+ import"./index-dxatvs3f.js";
52
52
  import"./index-4rhhvd1a.js";
53
53
  import"./index-3jcyn8g6.js";
54
- import"./index-7t3vjw5e.js";
54
+ import"./index-877ah4kx.js";
55
55
  import"./index-4qzeef9h.js";
56
56
  import"./index-fsrp8wp3.js";
57
- import"./index-tncy55bp.js";
57
+ import"./index-8ehyt3rx.js";
58
58
  import"./index-7g4c7s5r.js";
59
+ import"./index-h5sbn1zr.js";
59
60
  import"./index-bpmtbmy9.js";
60
- import"./index-cze4bq1x.js";
61
61
  import"./index-z6xqpmqg.js";
62
62
  import"./index-zjygnfay.js";
63
63
  import"./index-y111zefa.js";
@@ -21,7 +21,7 @@ var package_default;
21
21
  var init_package = __esm(() => {
22
22
  package_default = {
23
23
  name: "opencode-swarm",
24
- version: "7.136.5",
24
+ version: "7.137.1",
25
25
  description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
26
26
  main: "dist/index.js",
27
27
  types: "dist/index.d.ts",
@@ -125,7 +125,8 @@ var init_package = __esm(() => {
125
125
  prepare: "bun run build",
126
126
  "repro:704": "node scripts/repro-704.mjs",
127
127
  "repro:1144": "bun scripts/repro-1144.mjs",
128
- "repro:1873": "bun build scripts/repro-1873-entry.ts --outdir dist-build-test/repro-1873 --target node --format esm && node scripts/repro-1873.mjs"
128
+ "repro:1873": "bun build scripts/repro-1873-entry.ts --outdir dist-build-test/repro-1873 --target node --format esm && node scripts/repro-1873.mjs",
129
+ "check:events": "bun run scripts/check-event-contract.ts"
129
130
  },
130
131
  dependencies: {
131
132
  "@opencode-ai/plugin": "^1.18.3",
@@ -3,7 +3,7 @@ import {
3
3
  EvaluationRunV1Schema,
4
4
  GateAuditResultV1Schema,
5
5
  getProtectedEvaluationRunIds
6
- } from "./index-ne28wyyc.js";
6
+ } from "./index-5wjw05dy.js";
7
7
  import {
8
8
  readEffectiveSpecSync
9
9
  } from "./index-9ss2m4rs.js";
@@ -12,7 +12,7 @@ import {
12
12
  readTaskEvidence,
13
13
  readTaskEvidenceRaw,
14
14
  sanitizeTaskId
15
- } from "./index-d2sf9an1.js";
15
+ } from "./index-5r6kkhd7.js";
16
16
  import {
17
17
  EVIDENCE_MAX_JSON_BYTES,
18
18
  EvidenceBundleSchema,
@@ -40,7 +40,7 @@ import {
40
40
  replayFromLedgerWithStatus,
41
41
  takeSnapshotEvent,
42
42
  takeSnapshotWithRetry
43
- } from "./index-d61h3f3h.js";
43
+ } from "./index-s3j9fsab.js";
44
44
  import {
45
45
  PlanSchema
46
46
  } from "./index-1kz6da87.js";
@@ -56,14 +56,14 @@ import {
56
56
  } from "./index-fsrp8wp3.js";
57
57
  import {
58
58
  withEvidenceLock
59
- } from "./index-tncy55bp.js";
59
+ } from "./index-8ehyt3rx.js";
60
+ import {
61
+ emit
62
+ } from "./index-h5sbn1zr.js";
60
63
  import {
61
64
  ZodError,
62
65
  init_zod
63
66
  } from "./index-bpmtbmy9.js";
64
- import {
65
- emit
66
- } from "./index-cze4bq1x.js";
67
67
  import {
68
68
  bunHash,
69
69
  bunWrite,