opencode-swarm 7.140.6 → 7.141.0

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 (81) hide show
  1. package/.opencode/skills/deep-dive/SKILL.md +7 -6
  2. package/.opencode/skills/running-tests/SKILL.md +7 -0
  3. package/dist/agents/explorer.d.ts +1 -1
  4. package/dist/background/lane-delivery-store.d.ts +43 -0
  5. package/dist/background/lane-output-store.d.ts +6 -0
  6. package/dist/cli/{config-doctor-y5qeh18c.js → config-doctor-ayer8jwj.js} +2 -2
  7. package/dist/cli/{core-pwd9604e.js → core-yep18rkf.js} +1 -1
  8. package/dist/cli/{curation-policy-avvb56x2.js → curation-policy-j1fbc3ry.js} +5 -5
  9. package/dist/cli/{curator-q1nchgpg.js → curator-fkwhph34.js} +28 -28
  10. package/dist/cli/{curator-llm-factory-96pnc23w.js → curator-llm-factory-b1wtbwwv.js} +28 -28
  11. package/dist/cli/{dispatch-2s23fbcs.js → dispatch-y8rergph.js} +1 -1
  12. package/dist/cli/{evidence-summary-service-18142mr3.js → evidence-summary-service-8e6594tg.js} +9 -9
  13. package/dist/cli/{explorer-e9h66egs.js → explorer-18353rhn.js} +1 -1
  14. package/dist/cli/{gate-evidence-smn2wqft.js → gate-evidence-rt9034ft.js} +4 -4
  15. package/dist/cli/{guardrail-explain-kyd89z8z.js → guardrail-explain-fhx1kft6.js} +29 -29
  16. package/dist/cli/{guardrail-log-cahp1ews.js → guardrail-log-x94s1jh9.js} +3 -3
  17. package/dist/cli/{hive-promoter-vcbcvcsh.js → hive-promoter-3ay1hffy.js} +28 -28
  18. package/dist/cli/{index-dtqjxfw9.js → index-10zsx1x2.js} +1 -1
  19. package/dist/cli/{index-p04qrwck.js → index-1dwa96x7.js} +2 -2
  20. package/dist/cli/{index-tjqzr3jc.js → index-3d13jkzq.js} +2 -2
  21. package/dist/cli/{index-epvhf50h.js → index-9d4gck4e.js} +2 -1
  22. package/dist/cli/{index-4s7xgzbm.js → index-9snyxgtf.js} +1 -1
  23. package/dist/cli/{index-92n3d5ky.js → index-acpsb3g1.js} +40 -9
  24. package/dist/cli/{index-56rqw2hs.js → index-awwqa1f5.js} +6 -6
  25. package/dist/cli/{index-41hkt36g.js → index-ays8g6cm.js} +36 -5
  26. package/dist/cli/{index-fejfzy2j.js → index-b9mwe99e.js} +6 -6
  27. package/dist/cli/{index-p8kk34am.js → index-c2hczjhp.js} +1 -1
  28. package/dist/cli/{index-c432knmy.js → index-f1hsrgw1.js} +1 -1
  29. package/dist/cli/{index-zd4qhnr7.js → index-fckf6g01.js} +1 -1
  30. package/dist/cli/{index-z3s0a44b.js → index-fcsf8vjm.js} +3 -3
  31. package/dist/cli/{index-thp186x0.js → index-g4w73p1v.js} +1 -1
  32. package/dist/cli/{index-5qd5vt2d.js → index-h375yxj5.js} +30 -30
  33. package/dist/cli/{index-vh05t3w5.js → index-kq5p3nm3.js} +1 -1
  34. package/dist/cli/{index-p2ty3eee.js → index-m54erqap.js} +1 -1
  35. package/dist/cli/{index-nakkgkkt.js → index-nk2ma3mh.js} +1215 -917
  36. package/dist/cli/{index-2778hhh7.js → index-nkr3j0j1.js} +2 -2
  37. package/dist/cli/{index-s1v0wza5.js → index-nse60anv.js} +1 -1
  38. package/dist/cli/{index-1p72dtym.js → index-pkby67j3.js} +1 -1
  39. package/dist/cli/{index-t5pytnca.js → index-q4vaar2b.js} +2 -2
  40. package/dist/cli/{index-m9xrdjn0.js → index-qskz8j2z.js} +1 -1
  41. package/dist/cli/{index-4zxrkk1h.js → index-rx33k785.js} +3 -3
  42. package/dist/cli/{index-bjqpdr83.js → index-sd1w4pya.js} +3 -3
  43. package/dist/cli/{index-qy1nq52t.js → index-v250345n.js} +1 -1
  44. package/dist/cli/{index-y9q9f6ms.js → index-w95sxwfr.js} +4 -4
  45. package/dist/cli/{index-z0z9pe7b.js → index-x5kk9gyk.js} +5 -5
  46. package/dist/cli/{index-h01wb18g.js → index-xcqst95a.js} +2 -2
  47. package/dist/cli/{index-v2xrer41.js → index-xmzmeknp.js} +3 -1
  48. package/dist/cli/{index-e58e3v0v.js → index-ytnm84ed.js} +3 -3
  49. package/dist/cli/{index-912qz4y0.js → index-zbj3yrrd.js} +1 -1
  50. package/dist/cli/index.js +28 -28
  51. package/dist/cli/{knowledge-escalator-gj58za4g.js → knowledge-escalator-53m3sh8p.js} +10 -10
  52. package/dist/cli/{knowledge-events-3m5jnnv6.js → knowledge-events-s5pmx5h3.js} +8 -8
  53. package/dist/cli/{knowledge-link-m9p80f4r.js → knowledge-link-x86ebng8.js} +4 -4
  54. package/dist/cli/{knowledge-store-0vy8wbzd.js → knowledge-store-dv70gxxc.js} +5 -5
  55. package/dist/cli/{knowledge-validator-mvcs8wf6.js → knowledge-validator-je30smbr.js} +7 -7
  56. package/dist/cli/{pending-delegations-cxx9tezp.js → pending-delegations-7xsagjy5.js} +3 -3
  57. package/dist/cli/{pr-subscriptions-2sfnb599.js → pr-subscriptions-r6cdsa3t.js} +3 -3
  58. package/dist/cli/{runner-mky3vvht.js → runner-nm3baddf.js} +5 -5
  59. package/dist/cli/{scan-cursor-wznc7p7p.js → scan-cursor-tcdcjbp9.js} +6 -6
  60. package/dist/cli/{schema-k596bhds.js → schema-6cg2smxx.js} +1 -1
  61. package/dist/cli/{scope-persistence-0ny5fn07.js → scope-persistence-v51d74j2.js} +6 -6
  62. package/dist/cli/{skill-generator-vrks0jjj.js → skill-generator-7kp8s0ne.js} +12 -12
  63. package/dist/cli/{telemetry-0x6kszvk.js → telemetry-zex3zv3v.js} +1 -1
  64. package/dist/cli/{worktree-collision-ownership-wm5pse49.js → worktree-collision-ownership-n41qw3n8.js} +3 -3
  65. package/dist/cli/{worktree-isolation-zgk7314k.js → worktree-isolation-g6t99t0x.js} +28 -28
  66. package/dist/hooks/delegation-gate.d.ts +6 -0
  67. package/dist/hooks/knowledge-application-gate.d.ts +1 -1
  68. package/dist/hooks/knowledge-events.d.ts +5 -2
  69. package/dist/hooks/knowledge-receipt-ledger.d.ts +38 -0
  70. package/dist/hooks/knowledge-receipt-observability.d.ts +24 -1
  71. package/dist/hooks/knowledge-receipt-validator.d.ts +19 -3
  72. package/dist/hooks/knowledge-types.d.ts +9 -0
  73. package/dist/hooks/repo-graph-injection.d.ts +52 -0
  74. package/dist/index.js +223 -212
  75. package/dist/lang/backend.d.ts +7 -1
  76. package/dist/lang/default-backend.d.ts +2 -1
  77. package/dist/tools/create-tool.d.ts +5 -2
  78. package/dist/tools/dispatch-lanes.d.ts +45 -5
  79. package/dist/tools/knowledge-receipt.d.ts +40 -0
  80. package/dist/tools/test-runner.d.ts +13 -5
  81. package/package.json +1 -1
@@ -7,61 +7,61 @@ import {
7
7
  isHiveEligible,
8
8
  promoteFromSwarm,
9
9
  promoteToHive
10
- } from "./index-nakkgkkt.js";
10
+ } from "./index-nk2ma3mh.js";
11
11
  import"./index-4905hd2m.js";
12
- import"./index-41hkt36g.js";
13
- import"./index-c432knmy.js";
14
- import"./index-1p72dtym.js";
12
+ import"./index-ays8g6cm.js";
13
+ import"./index-f1hsrgw1.js";
14
+ import"./index-pkby67j3.js";
15
15
  import"./index-c8s9a3zh.js";
16
- import"./index-p2ty3eee.js";
17
- import"./index-56rqw2hs.js";
16
+ import"./index-m54erqap.js";
17
+ import"./index-awwqa1f5.js";
18
18
  import"./index-134d35c1.js";
19
- import"./index-t5pytnca.js";
19
+ import"./index-q4vaar2b.js";
20
20
  import"./index-y8552snf.js";
21
21
  import"./index-9ss2m4rs.js";
22
22
  import"./index-74hpm6sh.js";
23
- import"./index-z3s0a44b.js";
24
- import"./index-z0z9pe7b.js";
25
- import"./index-h01wb18g.js";
26
- import"./index-v2xrer41.js";
27
- import"./index-m9xrdjn0.js";
28
- import"./index-bjqpdr83.js";
23
+ import"./index-fcsf8vjm.js";
24
+ import"./index-x5kk9gyk.js";
25
+ import"./index-xcqst95a.js";
26
+ import"./index-xmzmeknp.js";
27
+ import"./index-qskz8j2z.js";
28
+ import"./index-sd1w4pya.js";
29
29
  import"./index-556ja8an.js";
30
- import"./index-4zxrkk1h.js";
30
+ import"./index-rx33k785.js";
31
31
  import"./index-zsrtt42s.js";
32
- import"./index-dtqjxfw9.js";
32
+ import"./index-10zsx1x2.js";
33
33
  import"./index-qwm6vdyv.js";
34
- import"./index-tjqzr3jc.js";
35
- import"./index-s1v0wza5.js";
34
+ import"./index-3d13jkzq.js";
35
+ import"./index-nse60anv.js";
36
36
  import"./index-8fwhhayc.js";
37
37
  import"./index-q1exe2b3.js";
38
- import"./index-92n3d5ky.js";
38
+ import"./index-acpsb3g1.js";
39
39
  import"./index-k46me75h.js";
40
40
  import"./index-ee3x66a5.js";
41
- import"./index-y9q9f6ms.js";
42
- import"./index-qy1nq52t.js";
41
+ import"./index-w95sxwfr.js";
42
+ import"./index-v250345n.js";
43
43
  import"./index-rtry5xyf.js";
44
44
  import {
45
45
  resolveHiveKnowledgePath
46
- } from "./index-fejfzy2j.js";
46
+ } from "./index-b9mwe99e.js";
47
47
  import"./index-ae75rja9.js";
48
- import"./index-vh05t3w5.js";
49
- import"./index-p8kk34am.js";
50
- import"./index-912qz4y0.js";
48
+ import"./index-kq5p3nm3.js";
49
+ import"./index-c2hczjhp.js";
50
+ import"./index-zbj3yrrd.js";
51
51
  import"./index-7g4c7s5r.js";
52
52
  import"./index-ed5ykebp.js";
53
53
  import"./index-4nt52yr9.js";
54
- import"./index-p04qrwck.js";
54
+ import"./index-1dwa96x7.js";
55
55
  import"./index-gprxjmm7.js";
56
56
  import"./index-n832052r.js";
57
- import"./index-zd4qhnr7.js";
57
+ import"./index-fckf6g01.js";
58
58
  import"./index-4rhhvd1a.js";
59
59
  import"./index-zgwm4ryv.js";
60
- import"./index-thp186x0.js";
60
+ import"./index-g4w73p1v.js";
61
61
  import"./index-jqsfsqbx.js";
62
62
  import"./index-zjygnfay.js";
63
63
  import"./index-bk5tah7q.js";
64
- import"./index-epvhf50h.js";
64
+ import"./index-9d4gck4e.js";
65
65
  import"./index-bpmtbmy9.js";
66
66
  import"./index-a76rekgs.js";
67
67
  export {
@@ -86,7 +86,7 @@ var _internals = {
86
86
  symlinkSync: fs.symlinkSync
87
87
  },
88
88
  writeScopeToDisk: async (directory, taskId, files) => {
89
- const { writeScopeToDisk: realWrite } = await import("./scope-persistence-0ny5fn07.js");
89
+ const { writeScopeToDisk: realWrite } = await import("./scope-persistence-v51d74j2.js");
90
90
  return realWrite(directory, taskId, files);
91
91
  },
92
92
  writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  init_loader,
4
4
  loadPluginConfigWithMeta
5
- } from "./index-zd4qhnr7.js";
5
+ } from "./index-fckf6g01.js";
6
6
  import {
7
7
  init_schema
8
- } from "./index-thp186x0.js";
8
+ } from "./index-g4w73p1v.js";
9
9
  import {
10
10
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
11
  init_constants
@@ -6,10 +6,10 @@ import {
6
6
  atomicWriteFile,
7
7
  taskEvidencePath,
8
8
  withTaskEvidenceLock
9
- } from "./index-p8kk34am.js";
9
+ } from "./index-c2hczjhp.js";
10
10
  import {
11
11
  telemetry
12
- } from "./index-epvhf50h.js";
12
+ } from "./index-9d4gck4e.js";
13
13
  import {
14
14
  exports_external,
15
15
  init_zod
@@ -599,7 +599,7 @@ var CATALOG_SOURCE = [
599
599
  category: "knowledge",
600
600
  severity: "info",
601
601
  privacyClass: "pseudonymous",
602
- producer: "src/hooks/knowledge-receipt-observability.ts:160",
602
+ producer: "src/hooks/knowledge-receipt-observability.ts:191",
603
603
  consumers: NO_CONSUMERS,
604
604
  futureOwnerIssue: ISSUE_SINK,
605
605
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
@@ -969,6 +969,7 @@ var KNOWN_TELEMETRY_KEYS = Object.freeze({
969
969
  "transition",
970
970
  "reasonCode",
971
971
  "schemaVersion",
972
+ "receiptSemantics",
972
973
  "knowledgeTraceId",
973
974
  "knowledgeEntryId",
974
975
  "sessionId",
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  redactPath,
4
4
  redactShellCommand
5
- } from "./index-1p72dtym.js";
5
+ } from "./index-pkby67j3.js";
6
6
 
7
7
  // src/services/guardrail-log-service.ts
8
8
  import * as fs from "fs/promises";
@@ -7,19 +7,19 @@ import {
7
7
  } from "./index-ae75rja9.js";
8
8
  import {
9
9
  resolveKnowledgeStoreDir
10
- } from "./index-vh05t3w5.js";
10
+ } from "./index-kq5p3nm3.js";
11
11
  import {
12
12
  atomicWriteFile
13
- } from "./index-p8kk34am.js";
13
+ } from "./index-c2hczjhp.js";
14
14
  import {
15
15
  assertProjectRoot
16
- } from "./index-912qz4y0.js";
16
+ } from "./index-zbj3yrrd.js";
17
17
  import {
18
18
  require_proper_lockfile
19
19
  } from "./index-7g4c7s5r.js";
20
20
  import {
21
21
  loadPluginConfigWithMeta
22
- } from "./index-zd4qhnr7.js";
22
+ } from "./index-fckf6g01.js";
23
23
  import {
24
24
  init_logger,
25
25
  warn
@@ -27,10 +27,10 @@ import {
27
27
  import {
28
28
  KnowledgeConfigSchema,
29
29
  init_schema
30
- } from "./index-thp186x0.js";
30
+ } from "./index-g4w73p1v.js";
31
31
  import {
32
32
  emit
33
- } from "./index-epvhf50h.js";
33
+ } from "./index-9d4gck4e.js";
34
34
  import {
35
35
  __require,
36
36
  __toESM
@@ -464,6 +464,7 @@ var _internals = {
464
464
  };
465
465
 
466
466
  // src/hooks/knowledge-receipt-observability.ts
467
+ var RECEIPT_SEMANTICS_VERSION = 2;
467
468
  var TRANSITIONS = new Set([
468
469
  "membership_committed",
469
470
  "empty_retrieval_committed",
@@ -527,6 +528,10 @@ function emitKnowledgeReceiptTransition(observation) {
527
528
  reasonCode: observation.reasonCode,
528
529
  schemaVersion: observation.schemaVersion
529
530
  };
531
+ const semanticsVersion = observation.receiptSemantics ?? RECEIPT_SEMANTICS_VERSION;
532
+ if (Number.isSafeInteger(semanticsVersion) && semanticsVersion >= 1) {
533
+ payload.receiptSemantics = semanticsVersion;
534
+ }
530
535
  addIdentifier(payload, "knowledgeTraceId", observation.knowledgeTraceId);
531
536
  addIdentifier(payload, "knowledgeEntryId", observation.knowledgeEntryId);
532
537
  addIdentifier(payload, "sessionId", observation.sessionId);
@@ -544,6 +549,32 @@ function emitKnowledgeReceiptTransition(observation) {
544
549
  var _internals2 = { emit };
545
550
 
546
551
  // src/hooks/knowledge-receipt-ledger.ts
552
+ var RECEIPT_TERMINAL_OUTCOMES = new Set([
553
+ "applied",
554
+ "ignored",
555
+ "contradicted",
556
+ "violated",
557
+ "n_a"
558
+ ]);
559
+ var CANONICAL_RECEIPT_SOURCES = new Set([
560
+ "delegate",
561
+ "reviewer",
562
+ "architect",
563
+ "architect_marker",
564
+ "test_engineer",
565
+ "phase_override",
566
+ "application_gate_staleness_clear",
567
+ "application_gate_denial_limit_clear",
568
+ "manual",
569
+ "migration",
570
+ "unknown"
571
+ ]);
572
+ function normalizeReceiptSource(value) {
573
+ if (typeof value !== "string")
574
+ return "unknown";
575
+ const trimmed = value.trim();
576
+ return CANONICAL_RECEIPT_SOURCES.has(trimmed) ? trimmed : "unknown";
577
+ }
547
578
  var GENESIS_HASH = "GENESIS";
548
579
  var MAX_JOURNAL_RECORDS = 2000;
549
580
  var MAX_AUDIT_TAIL_RECORDS = 256;
@@ -1476,7 +1507,7 @@ async function ensureCutoverLocked(paths, state, graceDays) {
1476
1507
  }
1477
1508
  terminal = {
1478
1509
  outcome: terminalEvent.type,
1479
- source: typeof terminalEvent.source === "string" ? terminalEvent.source : "unknown",
1510
+ source: normalizeReceiptSource(terminalEvent.source),
1480
1511
  reason: typeof terminalEvent.reason === "string" ? terminalEvent.reason : undefined,
1481
1512
  event_id: terminalEvent.event_id,
1482
1513
  committed_at: terminalEvent.timestamp
@@ -1617,7 +1648,7 @@ async function commitApplicationMarkerBatch(directory, input) {
1617
1648
  const eventId = randomUUID2();
1618
1649
  const marker = {
1619
1650
  outcome: item.outcome,
1620
- source: item.source ?? "unknown",
1651
+ source: normalizeReceiptSource(item.source),
1621
1652
  reason: item.reason,
1622
1653
  event_id: eventId,
1623
1654
  committed_at: nowIso()
@@ -2514,7 +2545,7 @@ async function applyKnowledgeVerdictFeedback(directory, options) {
2514
2545
  }
2515
2546
  let bumps = 0;
2516
2547
  if (deltas.length > 0) {
2517
- const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-0vy8wbzd.js");
2548
+ const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-dv70gxxc.js");
2518
2549
  bumps = await bumpKnowledgeConfidenceBatch(directory, deltas, options?.floorOptions);
2519
2550
  }
2520
2551
  return {
@@ -6,7 +6,7 @@ import {
6
6
  EvaluationRunV1Schema,
7
7
  GateAuditResultV1Schema,
8
8
  getProtectedEvaluationRunIds
9
- } from "./index-t5pytnca.js";
9
+ } from "./index-q4vaar2b.js";
10
10
  import {
11
11
  readEffectiveSpecSync
12
12
  } from "./index-9ss2m4rs.js";
@@ -29,7 +29,7 @@ import {
29
29
  replayFromLedgerWithStatus,
30
30
  takeSnapshotEvent,
31
31
  takeSnapshotWithRetry
32
- } from "./index-4zxrkk1h.js";
32
+ } from "./index-rx33k785.js";
33
33
  import {
34
34
  getWorktreeMergeFailure
35
35
  } from "./index-zsrtt42s.js";
@@ -38,7 +38,7 @@ import {
38
38
  readTaskEvidence,
39
39
  readTaskEvidenceRaw,
40
40
  sanitizeTaskId
41
- } from "./index-tjqzr3jc.js";
41
+ } from "./index-3d13jkzq.js";
42
42
  import {
43
43
  _internals,
44
44
  buildDefaultPolicy,
@@ -54,7 +54,7 @@ import {
54
54
  assertProjectRoot,
55
55
  tryAcquireLock,
56
56
  withEvidenceLock
57
- } from "./index-912qz4y0.js";
57
+ } from "./index-zbj3yrrd.js";
58
58
  import {
59
59
  invalidateCachedArtifact,
60
60
  readCachedParsedFile
@@ -71,7 +71,7 @@ import {
71
71
  } from "./index-gprxjmm7.js";
72
72
  import {
73
73
  PlanSchema
74
- } from "./index-zd4qhnr7.js";
74
+ } from "./index-fckf6g01.js";
75
75
  import {
76
76
  criticalWarn,
77
77
  error,
@@ -80,7 +80,7 @@ import {
80
80
  } from "./index-zgwm4ryv.js";
81
81
  import {
82
82
  emit
83
- } from "./index-epvhf50h.js";
83
+ } from "./index-9d4gck4e.js";
84
84
  import {
85
85
  ZodError,
86
86
  init_zod
@@ -13987,6 +13987,12 @@ function defaultBuildTestCommand(profile, framework, files, dir = ".", opts = {}
13987
13987
  const scope = opts.scope ?? "all";
13988
13988
  const coverage = opts.coverage ?? false;
13989
13989
  const bail = opts.bail ?? false;
13990
+ const nativeTarget = opts.nativeTarget;
13991
+ if (nativeTarget) {
13992
+ if (nativeTarget.framework !== framework)
13993
+ return null;
13994
+ return buildNativeTargetCommand(nativeTarget);
13995
+ }
13990
13996
  switch (framework) {
13991
13997
  case "bun": {
13992
13998
  const args = ["bun", "test"];
@@ -14141,6 +14147,23 @@ function defaultBuildTestCommand(profile, framework, files, dir = ".", opts = {}
14141
14147
  }
14142
14148
  }
14143
14149
  }
14150
+ function escapeRegexLiteral(value) {
14151
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
14152
+ }
14153
+ function buildNativeTargetCommand(target) {
14154
+ if (target.framework === "ctest") {
14155
+ return [
14156
+ "ctest",
14157
+ "--test-dir",
14158
+ target.path,
14159
+ "-R",
14160
+ `^${escapeRegexLiteral(target.name)}$`
14161
+ ];
14162
+ }
14163
+ const selector = target.name.split("/").map((part) => `^${escapeRegexLiteral(part)}$`).join("/");
14164
+ const packagePath = target.path === "." ? "." : target.path.startsWith("./") ? target.path : `./${target.path.replace(/\\/g, "/")}`;
14165
+ return ["go", "test", "-v", "-run", selector, packagePath];
14166
+ }
14144
14167
  function phpVendorBin(name) {
14145
14168
  return path2.join("vendor", "bin", process.platform === "win32" ? `${name}.bat` : name);
14146
14169
  }
@@ -14294,16 +14317,24 @@ ${stderr}` : stdout || stderr || "";
14294
14317
  break;
14295
14318
  }
14296
14319
  case "ctest": {
14320
+ const disabledCount = [
14321
+ ...output.matchAll(/\*{3}Not Run\s+\(Disabled\)/gi)
14322
+ ].length;
14323
+ skipped = disabledCount;
14297
14324
  const ctestMatch = output.match(/(\d+) tests? failed out of (\d+)/);
14298
14325
  if (ctestMatch) {
14299
14326
  failed = parseInt(ctestMatch[1], 10);
14300
- total = parseInt(ctestMatch[2], 10);
14301
- passed = total - failed;
14327
+ const executedTotal = parseInt(ctestMatch[2], 10);
14328
+ total = executedTotal + disabledCount;
14329
+ passed = executedTotal - failed;
14302
14330
  } else {
14303
14331
  const allPassMatch = output.match(/100% tests passed.*?(\d+) tests?/);
14304
14332
  if (allPassMatch) {
14305
- total = parseInt(allPassMatch[1], 10);
14306
- passed = total;
14333
+ const executedTotal = parseInt(allPassMatch[1], 10);
14334
+ total = executedTotal + disabledCount;
14335
+ passed = executedTotal;
14336
+ } else if (disabledCount > 0) {
14337
+ total = disabledCount;
14307
14338
  }
14308
14339
  }
14309
14340
  break;
@@ -14655,4 +14686,4 @@ function buildPythonBackend() {
14655
14686
  }
14656
14687
  var _internals3 = { extractImports: extractImports2 };
14657
14688
 
14658
- export { tool, LANGUAGE_REGISTRY, getProfileForFile, detectProjectLanguages, isCommandAvailable, tokenizeCommand, defaultSelectTestFramework, defaultBuildTestCommand, defaultParseTestOutput, defaultSelectBuildCommand, defaultTestFilesFor, defaultBackendFor, buildGoBackend, _internals2 as _internals, buildPythonBackend, _internals3 as _internals1 };
14689
+ export { tool, LANGUAGE_REGISTRY, getProfileForFile, detectProjectLanguages, isCommandAvailable, tokenizeCommand, defaultSelectTestFramework, defaultBuildTestCommand, buildNativeTargetCommand, defaultParseTestOutput, defaultSelectBuildCommand, defaultTestFilesFor, defaultBackendFor, buildGoBackend, _internals2 as _internals, buildPythonBackend, _internals3 as _internals1 };
@@ -6,10 +6,10 @@ import {
6
6
  } from "./index-ae75rja9.js";
7
7
  import {
8
8
  resolveKnowledgeStoreDir
9
- } from "./index-vh05t3w5.js";
9
+ } from "./index-kq5p3nm3.js";
10
10
  import {
11
11
  atomicWriteFile
12
- } from "./index-p8kk34am.js";
12
+ } from "./index-c2hczjhp.js";
13
13
  import {
14
14
  require_proper_lockfile
15
15
  } from "./index-7g4c7s5r.js";
@@ -709,7 +709,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
709
709
  const {
710
710
  readAuthoritativeKnowledgeCounterRollups,
711
711
  effectiveRetrievalOutcomes
712
- } = await import("./knowledge-events-3m5jnnv6.js");
712
+ } = await import("./knowledge-events-s5pmx5h3.js");
713
713
  const rollups = await readAuthoritativeKnowledgeCounterRollups(directory);
714
714
  const flagIds = new Set;
715
715
  for (const e of atFloor) {
@@ -776,11 +776,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
776
776
  });
777
777
  }
778
778
  if (action === "quarantine" && toQuarantine.length > 0) {
779
- const { quarantineEntry } = await import("./knowledge-validator-mvcs8wf6.js");
780
- const { KnowledgeConfigSchema } = await import("./schema-k596bhds.js");
779
+ const { quarantineEntry } = await import("./knowledge-validator-je30smbr.js");
780
+ const { KnowledgeConfigSchema } = await import("./schema-6cg2smxx.js");
781
781
  let config;
782
782
  try {
783
- const { loadPluginConfigWithMeta } = await import("./index-e58e3v0v.js");
783
+ const { loadPluginConfigWithMeta } = await import("./index-ytnm84ed.js");
784
784
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
785
785
  config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
786
786
  } catch {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  withEvidenceLock
4
- } from "./index-912qz4y0.js";
4
+ } from "./index-zbj3yrrd.js";
5
5
  import {
6
6
  invalidateCachedArtifact
7
7
  } from "./index-ed5ykebp.js";
@@ -9,7 +9,7 @@ import {
9
9
  readEvaluationRun,
10
10
  saveEvaluationRun,
11
11
  saveTaskSetSnapshot
12
- } from "./index-t5pytnca.js";
12
+ } from "./index-q4vaar2b.js";
13
13
  import {
14
14
  canonicalHash,
15
15
  computeCandidateInputContentHash,
@@ -10,7 +10,7 @@ import {
10
10
  PluginConfigSchema,
11
11
  init_schema,
12
12
  resolveExternalSkillsConfig
13
- } from "./index-thp186x0.js";
13
+ } from "./index-g4w73p1v.js";
14
14
  import {
15
15
  MAX_MERGE_DEPTH,
16
16
  deepMerge,
@@ -2,18 +2,18 @@
2
2
  import {
3
3
  effectiveRetrievalOutcomes,
4
4
  readAuthoritativeKnowledgeCounterRollups
5
- } from "./index-92n3d5ky.js";
5
+ } from "./index-acpsb3g1.js";
6
6
  import {
7
7
  ALLOWED_SKILL_PATH_PREFIXES,
8
8
  validateSkillPath
9
- } from "./index-y9q9f6ms.js";
9
+ } from "./index-w95sxwfr.js";
10
10
  import {
11
11
  computeOutcomeSignal,
12
12
  readKnowledge,
13
13
  resolveHiveKnowledgePath,
14
14
  resolveSwarmKnowledgePath,
15
15
  transactKnowledge
16
- } from "./index-fejfzy2j.js";
16
+ } from "./index-b9mwe99e.js";
17
17
  import {
18
18
  advisoryWarn,
19
19
  init_warning_buffer
@@ -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.140.6",
24
+ version: "7.141.0",
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",
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-2778hhh7.js";
4
+ } from "./index-nkr3j0j1.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-4s7xgzbm.js";
7
+ } from "./index-9snyxgtf.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  SWARM_COMMAND_TOOL_ALLOWLIST,
@@ -84,58 +84,58 @@ import {
84
84
  handleWriteRetroCommand,
85
85
  normalizeSwarmCommandInput,
86
86
  resolveCommand
87
- } from "./index-nakkgkkt.js";
87
+ } from "./index-nk2ma3mh.js";
88
88
  import"./index-4905hd2m.js";
89
- import"./index-41hkt36g.js";
90
- import"./index-c432knmy.js";
91
- import"./index-1p72dtym.js";
89
+ import"./index-ays8g6cm.js";
90
+ import"./index-f1hsrgw1.js";
91
+ import"./index-pkby67j3.js";
92
92
  import"./index-c8s9a3zh.js";
93
- import"./index-p2ty3eee.js";
94
- import"./index-56rqw2hs.js";
93
+ import"./index-m54erqap.js";
94
+ import"./index-awwqa1f5.js";
95
95
  import"./index-134d35c1.js";
96
- import"./index-t5pytnca.js";
96
+ import"./index-q4vaar2b.js";
97
97
  import"./index-y8552snf.js";
98
98
  import"./index-9ss2m4rs.js";
99
99
  import"./index-74hpm6sh.js";
100
- import"./index-z3s0a44b.js";
101
- import"./index-z0z9pe7b.js";
102
- import"./index-h01wb18g.js";
103
- import"./index-v2xrer41.js";
104
- import"./index-m9xrdjn0.js";
105
- import"./index-bjqpdr83.js";
100
+ import"./index-fcsf8vjm.js";
101
+ import"./index-x5kk9gyk.js";
102
+ import"./index-xcqst95a.js";
103
+ import"./index-xmzmeknp.js";
104
+ import"./index-qskz8j2z.js";
105
+ import"./index-sd1w4pya.js";
106
106
  import"./index-556ja8an.js";
107
- import"./index-4zxrkk1h.js";
107
+ import"./index-rx33k785.js";
108
108
  import"./index-zsrtt42s.js";
109
- import"./index-dtqjxfw9.js";
109
+ import"./index-10zsx1x2.js";
110
110
  import"./index-qwm6vdyv.js";
111
- import"./index-tjqzr3jc.js";
112
- import"./index-s1v0wza5.js";
111
+ import"./index-3d13jkzq.js";
112
+ import"./index-nse60anv.js";
113
113
  import"./index-8fwhhayc.js";
114
114
  import"./index-q1exe2b3.js";
115
- import"./index-92n3d5ky.js";
115
+ import"./index-acpsb3g1.js";
116
116
  import"./index-k46me75h.js";
117
117
  import"./index-ee3x66a5.js";
118
- import"./index-y9q9f6ms.js";
119
- import"./index-qy1nq52t.js";
118
+ import"./index-w95sxwfr.js";
119
+ import"./index-v250345n.js";
120
120
  import"./index-rtry5xyf.js";
121
- import"./index-fejfzy2j.js";
121
+ import"./index-b9mwe99e.js";
122
122
  import"./index-ae75rja9.js";
123
- import"./index-vh05t3w5.js";
124
- import"./index-p8kk34am.js";
125
- import"./index-912qz4y0.js";
123
+ import"./index-kq5p3nm3.js";
124
+ import"./index-c2hczjhp.js";
125
+ import"./index-zbj3yrrd.js";
126
126
  import"./index-7g4c7s5r.js";
127
127
  import"./index-ed5ykebp.js";
128
128
  import"./index-4nt52yr9.js";
129
- import"./index-p04qrwck.js";
129
+ import"./index-1dwa96x7.js";
130
130
  import"./index-gprxjmm7.js";
131
131
  import"./index-n832052r.js";
132
- import"./index-zd4qhnr7.js";
132
+ import"./index-fckf6g01.js";
133
133
  import"./index-4rhhvd1a.js";
134
134
  import"./index-zgwm4ryv.js";
135
135
  import {
136
136
  init_schema,
137
137
  stripKnownSwarmPrefix
138
- } from "./index-thp186x0.js";
138
+ } from "./index-g4w73p1v.js";
139
139
  import {
140
140
  AGENT_TOOL_MAP,
141
141
  ORCHESTRATOR_NAME,
@@ -143,7 +143,7 @@ import {
143
143
  } from "./index-jqsfsqbx.js";
144
144
  import"./index-zjygnfay.js";
145
145
  import"./index-bk5tah7q.js";
146
- import"./index-epvhf50h.js";
146
+ import"./index-9d4gck4e.js";
147
147
  import"./index-bpmtbmy9.js";
148
148
  import"./index-a76rekgs.js";
149
149
 
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  atomicWriteFile
4
- } from "./index-p8kk34am.js";
4
+ } from "./index-c2hczjhp.js";
5
5
  import {
6
6
  init_logger,
7
7
  warn
@@ -9,7 +9,7 @@ import {
9
9
  PluginConfigSchema,
10
10
  init_schema,
11
11
  stripKnownSwarmPrefix
12
- } from "./index-thp186x0.js";
12
+ } from "./index-g4w73p1v.js";
13
13
  import {
14
14
  ALL_AGENT_NAMES,
15
15
  init_constants