opencode-swarm 7.197.3 → 7.198.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 (107) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +10 -11
  2. package/.opencode/skills/swarm-pr-review/references/lane-output-recoverability.md +4 -2
  3. package/.opencode/skills/swarm-pr-review/references/parser-dry-run.md +5 -2
  4. package/.opencode/skills/swarm-pr-review/references/prompt-templates.md +57 -42
  5. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  6. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  7. package/dist/agents/critic.d.ts +1 -1
  8. package/dist/cli/{auto-checkpoint-e6t09fc1.js → auto-checkpoint-3mmvyd3g.js} +8 -8
  9. package/dist/cli/{capability-probe-rty1315z.js → capability-probe-dwqn2609.js} +1 -1
  10. package/dist/cli/{checkpoint-5j752d1a.js → checkpoint-e43t6f2b.js} +16 -16
  11. package/dist/cli/{coder-settlement-8t3yznbq.js → coder-settlement-kb2827hb.js} +12 -12
  12. package/dist/cli/{config-doctor-8pdsjzsw.js → config-doctor-06jwks34.js} +15 -15
  13. package/dist/cli/{core-1dty31az.js → core-sqqs0k1q.js} +3 -3
  14. package/dist/cli/{curation-policy-5hm6328s.js → curation-policy-m8ng2vm5.js} +6 -6
  15. package/dist/cli/{curator-9gwwtyjt.js → curator-dm4nm95q.js} +43 -43
  16. package/dist/cli/{curator-drift-7htrxbht.js → curator-drift-0502msxm.js} +8 -8
  17. package/dist/cli/curator-llm-factory-54v33gz2.js +82 -0
  18. package/dist/cli/{doctor-knowledge-receipt-phase-id-y2v12h2y.js → doctor-knowledge-receipt-phase-id-zm56sg6v.js} +8 -8
  19. package/dist/cli/{evidence-summary-service-gthqb26q.js → evidence-summary-service-ejmywz5a.js} +19 -19
  20. package/dist/cli/{gate-evidence-xv1228n3.js → gate-evidence-rqev8f8q.js} +7 -7
  21. package/dist/cli/guardrail-explain-0z5cyah2.js +83 -0
  22. package/dist/cli/{guardrail-log-6f55sa60.js → guardrail-log-yjbyf5sc.js} +7 -7
  23. package/dist/cli/{guardrail-reset-j9bk61er.js → guardrail-reset-4zrb40d3.js} +43 -43
  24. package/dist/cli/{hive-promoter-6y24tdbf.js → hive-promoter-swgaebae.js} +43 -43
  25. package/dist/cli/{index-c602bgyp.js → index-006b796n.js} +5 -5
  26. package/dist/cli/{index-7m5cf6nb.js → index-0caf038s.js} +7 -7
  27. package/dist/cli/{index-7rtq2t5n.js → index-4s3770gs.js} +3 -3
  28. package/dist/cli/{index-2jd8sark.js → index-715d35v8.js} +2 -2
  29. package/dist/cli/{index-z250fgd9.js → index-730ajx2g.js} +2 -2
  30. package/dist/cli/{index-c5xvm318.js → index-76mg98ac.js} +1 -1
  31. package/dist/cli/{index-dfrcc46h.js → index-84r9rydf.js} +2 -2
  32. package/dist/cli/{index-xmbtwtgw.js → index-89j5h1j9.js} +1 -1
  33. package/dist/cli/{index-bzfn85kq.js → index-8mrentmw.js} +8 -5
  34. package/dist/cli/{index-a4jwt70q.js → index-9628q121.js} +72 -8
  35. package/dist/cli/{index-z75fz6x3.js → index-9fdddqtn.js} +4 -4
  36. package/dist/cli/{index-mpc3z3ky.js → index-a71vh07f.js} +3 -3
  37. package/dist/cli/{index-841jrejq.js → index-c4fkfbfz.js} +3 -3
  38. package/dist/cli/{index-hy2fqapm.js → index-d31b2zvf.js} +1 -1
  39. package/dist/cli/{index-6183at3v.js → index-e4hj8r57.js} +2 -2
  40. package/dist/cli/{index-svmhj9x2.js → index-f0hpw2f8.js} +43 -43
  41. package/dist/cli/{index-j8bgrxc8.js → index-fd105270.js} +5 -5
  42. package/dist/cli/{index-4b64v1kx.js → index-fv6eab1b.js} +8 -3
  43. package/dist/cli/{index-t7egd710.js → index-gp9rhg5m.js} +1 -1
  44. package/dist/cli/{index-mqk09xcm.js → index-gyz3kvvm.js} +6 -6
  45. package/dist/cli/{index-aynf8fgp.js → index-hh0at0tt.js} +13 -3
  46. package/dist/cli/{index-tf3y0x41.js → index-jj9kzye7.js} +3 -3
  47. package/dist/cli/{index-fws15qp0.js → index-kpngvt4q.js} +4 -4
  48. package/dist/cli/{index-4gmxdkcd.js → index-mjmsq8t7.js} +2 -2
  49. package/dist/cli/{index-f87r78zb.js → index-ndvnxxbm.js} +5 -5
  50. package/dist/cli/{index-1pek46cc.js → index-p44wgqhb.js} +173 -120
  51. package/dist/cli/{index-yf2z4j7s.js → index-p4xmq6aa.js} +1 -1
  52. package/dist/cli/{index-pd98xk00.js → index-pfwhq6p5.js} +45 -45
  53. package/dist/cli/{index-yed14yth.js → index-pkdyys9n.js} +53 -11
  54. package/dist/cli/{index-yg2qwadj.js → index-pn6xqhp2.js} +2 -2
  55. package/dist/cli/{index-9exby7at.js → index-q9zg0ckd.js} +5 -5
  56. package/dist/cli/{index-ypkfhqbc.js → index-qg6qn99c.js} +7 -7
  57. package/dist/cli/{index-ax7n55cd.js → index-qnkk509y.js} +6 -6
  58. package/dist/cli/{index-pwgb4ysh.js → index-r5f6q2v4.js} +4 -4
  59. package/dist/cli/{index-s67cbrd1.js → index-rj4a1206.js} +7 -7
  60. package/dist/cli/{index-6dz5venm.js → index-rjcxke49.js} +3 -3
  61. package/dist/cli/{index-crz772sx.js → index-rqxwv4q5.js} +1 -1
  62. package/dist/cli/{index-rpa47vzb.js → index-rvn7wbj9.js} +2 -2
  63. package/dist/cli/{index-necqa5bj.js → index-t7qgt5yk.js} +2 -2
  64. package/dist/cli/{index-gc0aeth5.js → index-tdpfecs3.js} +2 -2
  65. package/dist/cli/{index-ghckhk16.js → index-v30zmakk.js} +2 -2
  66. package/dist/cli/{index-2fwsd357.js → index-vhcgtmpg.js} +11 -11
  67. package/dist/cli/{index-04xgdmps.js → index-wemkaxc2.js} +17 -10
  68. package/dist/cli/{index-app2rmxv.js → index-wrn4khfb.js} +1 -1
  69. package/dist/cli/{index-kphy4we7.js → index-xez06sc1.js} +1 -1
  70. package/dist/cli/{index-j8t1g5qd.js → index-xt4q610f.js} +1 -1
  71. package/dist/cli/{index-ry5g9s8d.js → index-yk1vnpzx.js} +1 -1
  72. package/dist/cli/{index-p0ha6zyg.js → index-z127nfqd.js} +4 -4
  73. package/dist/cli/index.js +44 -44
  74. package/dist/cli/{knowledge-escalator-xvkfez9d.js → knowledge-escalator-rjcg7k03.js} +14 -14
  75. package/dist/cli/{knowledge-events-t4enxfp7.js → knowledge-events-rnf6kgdn.js} +12 -12
  76. package/dist/cli/{knowledge-link-8bn2b7vr.js → knowledge-link-5qt3pe5v.js} +5 -5
  77. package/dist/cli/{knowledge-store-tdqx1z7e.js → knowledge-store-gm8j7krw.js} +6 -6
  78. package/dist/cli/{knowledge-validator-3n52kff9.js → knowledge-validator-98456296.js} +8 -8
  79. package/dist/cli/{mcp-yqfahteb.js → mcp-ngs269rj.js} +1 -1
  80. package/dist/cli/{model-preflight-s3s7t38g.js → model-preflight-g7yhtdrp.js} +43 -43
  81. package/dist/cli/{pending-delegations-j89ak26j.js → pending-delegations-dv9j31c3.js} +12 -12
  82. package/dist/cli/{pr-subscriptions-r5q1035f.js → pr-subscriptions-ya88xjph.js} +12 -12
  83. package/dist/cli/{pr-workflow-gate-dahpc06k.js → pr-workflow-gate-wzatxzej.js} +45 -43
  84. package/dist/cli/{runner-rt2smh14.js → runner-rwya5yhg.js} +6 -6
  85. package/dist/cli/{scan-cursor-yjk3czah.js → scan-cursor-aygzmf34.js} +7 -7
  86. package/dist/cli/{schema-1bs31fpf.js → schema-eppnz9vx.js} +5 -1
  87. package/dist/cli/{scope-persistence-0mpbc1ht.js → scope-persistence-v5bs3jqt.js} +15 -15
  88. package/dist/cli/{server-8swemw8w.js → server-t5vtzm9e.js} +43 -43
  89. package/dist/cli/{skill-generator-mx125j7w.js → skill-generator-mvm55q78.js} +16 -16
  90. package/dist/cli/{snapshot-coordination-init-sayvd15t.js → snapshot-coordination-init-ne7q5x7q.js} +43 -43
  91. package/dist/cli/{speckit-checkoff-76j7h7qt.js → speckit-checkoff-pctc95h1.js} +4 -4
  92. package/dist/cli/{telemetry-vapc5q4p.js → telemetry-t3425cht.js} +1 -1
  93. package/dist/cli/{workspace-snapshot-e3kw9kpg.js → workspace-snapshot-bst64vey.js} +3 -3
  94. package/dist/cli/{worktree-collision-ownership-8f8c9bcr.js → worktree-collision-ownership-cgvdsx3n.js} +13 -13
  95. package/dist/cli/{worktree-isolation-kgfk5aj8.js → worktree-isolation-afq0jh6n.js} +43 -43
  96. package/dist/config/loader.d.ts +31 -1
  97. package/dist/config/schema.d.ts +17 -0
  98. package/dist/hooks/pr-workflow-gate.d.ts +9 -0
  99. package/dist/index.js +52 -40
  100. package/dist/pr-review/legacy-transcript-adapter.d.ts +18 -0
  101. package/dist/sandbox/capability-probe.d.ts +1 -1
  102. package/dist/sdd/effective-spec.d.ts +48 -5
  103. package/dist/tools/dispatch-lanes.d.ts +18 -0
  104. package/opencode-swarm.schema.json +14 -0
  105. package/package.json +1 -1
  106. package/dist/cli/curator-llm-factory-ew2h0zed.js +0 -82
  107. package/dist/cli/guardrail-explain-h41yf31c.js +0 -83
@@ -7,81 +7,81 @@ import {
7
7
  isHiveEligible,
8
8
  promoteFromSwarm,
9
9
  promoteToHive
10
- } from "./index-1pek46cc.js";
11
- import"./index-tf3y0x41.js";
12
- import"./index-aynf8fgp.js";
13
- import"./index-c602bgyp.js";
10
+ } from "./index-p44wgqhb.js";
11
+ import"./index-jj9kzye7.js";
12
+ import"./index-hh0at0tt.js";
13
+ import"./index-006b796n.js";
14
14
  import"./index-j2vv0h13.js";
15
- import"./index-c5xvm318.js";
16
- import"./index-necqa5bj.js";
15
+ import"./index-76mg98ac.js";
16
+ import"./index-t7qgt5yk.js";
17
17
  import"./index-txdagbh7.js";
18
- import"./index-yg2qwadj.js";
18
+ import"./index-pn6xqhp2.js";
19
19
  import"./index-rdec0y3z.js";
20
- import"./index-841jrejq.js";
21
- import"./index-s67cbrd1.js";
22
- import"./index-z75fz6x3.js";
23
- import"./index-mqk09xcm.js";
24
- import"./index-ghckhk16.js";
25
- import"./index-ypkfhqbc.js";
20
+ import"./index-c4fkfbfz.js";
21
+ import"./index-rj4a1206.js";
22
+ import"./index-9fdddqtn.js";
23
+ import"./index-gyz3kvvm.js";
24
+ import"./index-v30zmakk.js";
25
+ import"./index-qg6qn99c.js";
26
26
  import"./index-cjapb4hy.js";
27
- import"./index-dfrcc46h.js";
27
+ import"./index-84r9rydf.js";
28
28
  import"./index-pt7h91zc.js";
29
29
  import"./index-q7sjgr1y.js";
30
- import"./index-ax7n55cd.js";
31
- import"./index-2fwsd357.js";
30
+ import"./index-qnkk509y.js";
31
+ import"./index-vhcgtmpg.js";
32
32
  import"./index-6b295cas.js";
33
33
  import"./index-9nyqt3kb.js";
34
- import"./index-a4jwt70q.js";
34
+ import"./index-9628q121.js";
35
35
  import"./index-v3bmwmqw.js";
36
- import"./index-rpa47vzb.js";
37
- import"./index-p0ha6zyg.js";
38
- import"./index-6dz5venm.js";
36
+ import"./index-rvn7wbj9.js";
37
+ import"./index-z127nfqd.js";
38
+ import"./index-rjcxke49.js";
39
39
  import"./index-g4fs6z4e.js";
40
- import"./index-04xgdmps.js";
41
- import"./index-fws15qp0.js";
42
- import"./index-j8bgrxc8.js";
40
+ import"./index-wemkaxc2.js";
41
+ import"./index-kpngvt4q.js";
42
+ import"./index-fd105270.js";
43
43
  import"./index-m9zzj4ee.js";
44
- import"./index-kphy4we7.js";
44
+ import"./index-xez06sc1.js";
45
45
  import"./index-2s7dvzff.js";
46
- import"./index-pwgb4ysh.js";
47
- import"./index-hy2fqapm.js";
46
+ import"./index-r5f6q2v4.js";
47
+ import"./index-d31b2zvf.js";
48
48
  import"./index-rtry5xyf.js";
49
- import"./index-z250fgd9.js";
49
+ import"./index-730ajx2g.js";
50
50
  import"./index-g22dps7x.js";
51
51
  import"./index-0725jpp7.js";
52
- import"./index-9exby7at.js";
53
- import"./index-f87r78zb.js";
54
- import"./index-6183at3v.js";
55
- import"./index-j8t1g5qd.js";
56
- import"./index-crz772sx.js";
57
- import"./index-app2rmxv.js";
52
+ import"./index-q9zg0ckd.js";
53
+ import"./index-ndvnxxbm.js";
54
+ import"./index-e4hj8r57.js";
55
+ import"./index-xt4q610f.js";
56
+ import"./index-rqxwv4q5.js";
57
+ import"./index-wrn4khfb.js";
58
58
  import"./index-ry16d01s.js";
59
59
  import"./index-rdm3px0g.js";
60
60
  import"./index-7pmbnjvj.js";
61
- import"./index-gc0aeth5.js";
61
+ import"./index-tdpfecs3.js";
62
62
  import {
63
63
  resolveHiveKnowledgePath
64
- } from "./index-7m5cf6nb.js";
64
+ } from "./index-0caf038s.js";
65
65
  import"./index-vzm6zre7.js";
66
66
  import"./index-ae75rja9.js";
67
- import"./index-ry5g9s8d.js";
68
- import"./index-4gmxdkcd.js";
69
- import"./index-xmbtwtgw.js";
67
+ import"./index-yk1vnpzx.js";
68
+ import"./index-mjmsq8t7.js";
69
+ import"./index-89j5h1j9.js";
70
70
  import"./index-t7hmqgjy.js";
71
- import"./index-7rtq2t5n.js";
71
+ import"./index-4s3770gs.js";
72
72
  import"./index-fzpt2djt.js";
73
73
  import"./index-ejhxgyvm.js";
74
74
  import"./index-7g4c7s5r.js";
75
- import"./index-yf2z4j7s.js";
75
+ import"./index-p4xmq6aa.js";
76
76
  import"./index-gx2vp8gx.js";
77
- import"./index-yed14yth.js";
77
+ import"./index-pkdyys9n.js";
78
78
  import"./index-zxdawwc7.js";
79
- import"./index-4b64v1kx.js";
79
+ import"./index-fv6eab1b.js";
80
80
  import"./index-hqrkr9ag.js";
81
81
  import"./index-bk5tah7q.js";
82
82
  import"./index-gknz3bv1.js";
83
83
  import"./index-zpsr8rpc.js";
84
- import"./index-bzfn85kq.js";
84
+ import"./index-8mrentmw.js";
85
85
  import"./index-9rwhas09.js";
86
86
  import"./index-zgwm4ryv.js";
87
87
  import"./index-a76rekgs.js";
@@ -3,7 +3,7 @@ import {
3
3
  EvaluationRunV1Schema,
4
4
  GateAuditResultV1Schema,
5
5
  getProtectedEvaluationRunIds
6
- } from "./index-necqa5bj.js";
6
+ } from "./index-t7qgt5yk.js";
7
7
  import {
8
8
  TASK_WORKFLOW_SCHEMA_MARKER,
9
9
  deriveApplicableGateSet,
@@ -12,11 +12,11 @@ import {
12
12
  readTaskEvidence,
13
13
  readTaskEvidenceRaw,
14
14
  sanitizeTaskId
15
- } from "./index-p0ha6zyg.js";
15
+ } from "./index-z127nfqd.js";
16
16
  import {
17
17
  readSwarmFileAsync,
18
18
  validateSwarmPath
19
- } from "./index-kphy4we7.js";
19
+ } from "./index-xez06sc1.js";
20
20
  import {
21
21
  bunWrite
22
22
  } from "./index-2s7dvzff.js";
@@ -27,13 +27,13 @@ import {
27
27
  } from "./index-g22dps7x.js";
28
28
  import {
29
29
  withEvidenceLock
30
- } from "./index-xmbtwtgw.js";
30
+ } from "./index-89j5h1j9.js";
31
31
  import {
32
32
  assertProjectRoot
33
33
  } from "./index-t7hmqgjy.js";
34
34
  import {
35
35
  invalidateCachedArtifact
36
- } from "./index-yf2z4j7s.js";
36
+ } from "./index-p4xmq6aa.js";
37
37
  import {
38
38
  ZodError,
39
39
  init_zod
@@ -11,16 +11,16 @@ import {
11
11
  } from "./index-ae75rja9.js";
12
12
  import {
13
13
  resolveKnowledgeStoreDir
14
- } from "./index-ry5g9s8d.js";
14
+ } from "./index-yk1vnpzx.js";
15
15
  import {
16
16
  atomicWriteFile
17
- } from "./index-4gmxdkcd.js";
17
+ } from "./index-mjmsq8t7.js";
18
18
  import {
19
19
  require_proper_lockfile
20
20
  } from "./index-7g4c7s5r.js";
21
21
  import {
22
22
  readCachedParsedFile
23
- } from "./index-yf2z4j7s.js";
23
+ } from "./index-p4xmq6aa.js";
24
24
  import {
25
25
  init_knowledge_types,
26
26
  isActiveStatus
@@ -739,7 +739,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
739
739
  const {
740
740
  readAuthoritativeKnowledgeCounterRollups,
741
741
  effectiveRetrievalOutcomes
742
- } = await import("./knowledge-events-t4enxfp7.js");
742
+ } = await import("./knowledge-events-rnf6kgdn.js");
743
743
  const rollups = await readAuthoritativeKnowledgeCounterRollups(directory);
744
744
  const flagIds = new Set;
745
745
  for (const e of atFloor) {
@@ -806,11 +806,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
806
806
  });
807
807
  }
808
808
  if (action === "quarantine" && toQuarantine.length > 0) {
809
- const { quarantineEntry } = await import("./knowledge-validator-3n52kff9.js");
810
- const { KnowledgeConfigSchema } = await import("./schema-1bs31fpf.js");
809
+ const { quarantineEntry } = await import("./knowledge-validator-98456296.js");
810
+ const { KnowledgeConfigSchema } = await import("./schema-eppnz9vx.js");
811
811
  let config;
812
812
  try {
813
- const { loadPluginConfigWithMeta } = await import("./index-mpc3z3ky.js");
813
+ const { loadPluginConfigWithMeta } = await import("./index-a71vh07f.js");
814
814
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
815
815
  config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
816
816
  } catch {
@@ -249,7 +249,7 @@ var CATALOG_SOURCE = [
249
249
  category: "delegation",
250
250
  severity: "info",
251
251
  privacyClass: "pseudonymous",
252
- producer: "src/index.ts:2124",
252
+ producer: "src/index.ts:2158",
253
253
  consumers: NO_CONSUMERS,
254
254
  futureOwnerIssue: ISSUE_SINK,
255
255
  retentionOwnerIssue: ISSUE_COST_RETENTION,
@@ -263,7 +263,7 @@ var CATALOG_SOURCE = [
263
263
  category: "delegation",
264
264
  severity: "notice",
265
265
  privacyClass: "pseudonymous",
266
- producer: "src/index.ts:2144",
266
+ producer: "src/index.ts:2178",
267
267
  consumers: CONSUMER_COST_JOIN,
268
268
  retentionOwnerIssue: ISSUE_COST_RETENTION,
269
269
  requiredWorkflowIds: REQUIRE_SESSION,
@@ -408,7 +408,7 @@ var CATALOG_SOURCE = [
408
408
  category: "gate",
409
409
  severity: "info",
410
410
  privacyClass: "pseudonymous",
411
- producer: "src/pr-review/legacy-transcript-adapter.ts:928",
411
+ producer: "src/pr-review/legacy-transcript-adapter.ts:982",
412
412
  consumers: NO_CONSUMERS,
413
413
  futureOwnerIssue: ISSUE_SINK,
414
414
  retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION
@@ -19,14 +19,14 @@ import {
19
19
  mergeWriteAnalyses,
20
20
  resolveWindowsWriteAuthority,
21
21
  resolveWriteTargets
22
- } from "./index-1pek46cc.js";
22
+ } from "./index-p44wgqhb.js";
23
23
  import {
24
24
  checkFileAuthority,
25
25
  classifyFile,
26
26
  isInDeclaredScope,
27
27
  redactPath,
28
28
  redactShellCommand
29
- } from "./index-tf3y0x41.js";
29
+ } from "./index-jj9kzye7.js";
30
30
 
31
31
  // src/services/guardrail-explain-service.ts
32
32
  import path from "path";
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  init_loader,
4
4
  loadPluginConfigWithMeta
5
- } from "./index-yed14yth.js";
5
+ } from "./index-pkdyys9n.js";
6
6
  import {
7
7
  init_schema
8
- } from "./index-4b64v1kx.js";
8
+ } from "./index-fv6eab1b.js";
9
9
  import {
10
10
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
11
  init_constants
@@ -9,7 +9,7 @@ import {
9
9
  readEvaluationRun,
10
10
  saveEvaluationRun,
11
11
  saveTaskSetSnapshot
12
- } from "./index-necqa5bj.js";
12
+ } from "./index-t7qgt5yk.js";
13
13
  import {
14
14
  canonicalHash,
15
15
  computeCandidateInputContentHash,
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-kphy4we7.js";
4
+ } from "./index-xez06sc1.js";
5
5
  import {
6
6
  atomicWriteSwarmFileSync
7
- } from "./index-yf2z4j7s.js";
7
+ } from "./index-p4xmq6aa.js";
8
8
 
9
9
  // src/hooks/delegation-gate/worktree-provisioning-owner.ts
10
10
  import { createHash } from "crypto";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-t7hmqgjy.js";
5
5
  import {
6
6
  emit
7
- } from "./index-7rtq2t5n.js";
7
+ } from "./index-4s3770gs.js";
8
8
  import {
9
9
  tryAcquireLock
10
10
  } from "./index-ejhxgyvm.js";
@@ -1047,7 +1047,7 @@ async function _createExecutor() {
1047
1047
  return null;
1048
1048
  }
1049
1049
  async function _createLinuxExecutor() {
1050
- const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isBubblewrapAvailable } = await import("./capability-probe-rty1315z.js");
1050
+ const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isBubblewrapAvailable } = await import("./capability-probe-dwqn2609.js");
1051
1051
  await new SandboxCapabilityProbe2().detect();
1052
1052
  if (!isBubblewrapAvailable()) {
1053
1053
  return null;
@@ -1067,7 +1067,7 @@ async function _createMacOSExecutor() {
1067
1067
  }
1068
1068
  return null;
1069
1069
  }
1070
- const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isSandboxExecAvailable } = await import("./capability-probe-rty1315z.js");
1070
+ const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isSandboxExecAvailable } = await import("./capability-probe-dwqn2609.js");
1071
1071
  await new SandboxCapabilityProbe2().detect();
1072
1072
  if (!isSandboxExecAvailable()) {
1073
1073
  return null;
@@ -1080,7 +1080,7 @@ async function _createMacOSExecutor() {
1080
1080
  }
1081
1081
  }
1082
1082
  async function _createWindowsExecutor() {
1083
- const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isWindowsSandboxAvailable } = await import("./capability-probe-rty1315z.js");
1083
+ const { SandboxCapabilityProbe: SandboxCapabilityProbe2, isWindowsSandboxAvailable } = await import("./capability-probe-dwqn2609.js");
1084
1084
  await new SandboxCapabilityProbe2().detect();
1085
1085
  if (!isWindowsSandboxAvailable()) {
1086
1086
  return null;
@@ -1404,7 +1404,7 @@ function resolveWindowsCommandProcessorBinary() {
1404
1404
  }
1405
1405
  function cleanupProbeTempRoot(tempRoot, mechanism, reasons) {
1406
1406
  try {
1407
- _internals5.removeProbeTempRoot(tempRoot);
1407
+ _internals5.removeProbeTempRoot(tempRoot, { recursive: true, force: true });
1408
1408
  } catch (error) {
1409
1409
  const code = typeof error === "object" && error !== null && "code" in error && typeof error.code === "string" ? error.code ?? "unknown" : "unknown";
1410
1410
  reasons.push(`${mechanism} probe temp cleanup failed (${code})`);
@@ -1490,6 +1490,9 @@ function probeLinuxBehavior() {
1490
1490
  "--new-session",
1491
1491
  "--cap-drop",
1492
1492
  "ALL",
1493
+ "--ro-bind",
1494
+ tempRoot,
1495
+ tempRoot,
1493
1496
  "--bind",
1494
1497
  allowedRoot,
1495
1498
  allowedRoot,
@@ -1831,7 +1834,7 @@ var init_capability_probe = __esm(() => {
1831
1834
  detectBehavioralEvidence,
1832
1835
  resolveWindowsCommandProcessorBinary,
1833
1836
  currentProbeSourceIdentity,
1834
- removeProbeTempRoot: fs3.rmSync
1837
+ removeProbeTempRoot: (target, options) => fs3.rmSync(target, { recursive: true, force: true, ...options })
1835
1838
  };
1836
1839
  });
1837
1840
 
@@ -1,20 +1,30 @@
1
1
  // @bun
2
2
  import {
3
3
  writeSpeckitCheckoffLedger
4
- } from "./index-rpa47vzb.js";
4
+ } from "./index-rvn7wbj9.js";
5
5
  import {
6
6
  validateSpecContent
7
7
  } from "./index-0725jpp7.js";
8
+ import {
9
+ init_loader,
10
+ readSddSourceSetting
11
+ } from "./index-pkdyys9n.js";
8
12
  import {
9
13
  advisoryWarn,
10
14
  init_warning_buffer
11
15
  } from "./index-zxdawwc7.js";
16
+ import {
17
+ SDD_SOURCES,
18
+ init_schema
19
+ } from "./index-fv6eab1b.js";
12
20
  import {
13
21
  init_logger,
14
22
  log
15
23
  } from "./index-zgwm4ryv.js";
16
24
 
17
25
  // src/sdd/effective-spec.ts
26
+ init_loader();
27
+ init_schema();
18
28
  import { createHash } from "crypto";
19
29
  import * as fs from "fs";
20
30
  import * as path from "path";
@@ -660,6 +670,51 @@ function buildOpenSpecProjectionSync(directory, options = {}) {
660
670
  warnings
661
671
  };
662
672
  }
673
+ var SDD_SOURCE_ENV_VAR = "SWARM_SDD_SOURCE";
674
+ var selectionAdvisoriesSeen = new Set;
675
+ var MAX_SELECTION_ADVISORIES = 64;
676
+ function selectionAdvisoryOnce(message) {
677
+ if (selectionAdvisoriesSeen.has(message))
678
+ return;
679
+ if (selectionAdvisoriesSeen.size >= MAX_SELECTION_ADVISORIES) {
680
+ selectionAdvisoriesSeen.clear();
681
+ }
682
+ selectionAdvisoriesSeen.add(message);
683
+ advisoryWarn(message);
684
+ }
685
+ function quoteForAdvisory(value) {
686
+ return JSON.stringify(value.length > 40 ? `${value.slice(0, 40)}\u2026` : value);
687
+ }
688
+ function resolveSddSourceSelection(directory) {
689
+ const accepted = SDD_SOURCES.join(" | ");
690
+ const envRaw = process.env[SDD_SOURCE_ENV_VAR];
691
+ const envValue = envRaw?.trim().toLowerCase();
692
+ if (envValue) {
693
+ if (SDD_SOURCES.includes(envValue)) {
694
+ return {
695
+ source: envValue,
696
+ origin: "env",
697
+ label: `${SDD_SOURCE_ENV_VAR}=${envValue}`
698
+ };
699
+ }
700
+ selectionAdvisoryOnce(`[opencode-swarm] Ignoring ${SDD_SOURCE_ENV_VAR}=${quoteForAdvisory(envRaw ?? "")}: expected one of ${accepted}. Falling back to sdd.source config, then auto-detection.`);
701
+ }
702
+ try {
703
+ const setting = readSddSourceSetting(path.resolve(directory));
704
+ if (setting.rejected) {
705
+ selectionAdvisoryOnce(`[opencode-swarm] Ignoring ${setting.rejected.field}=${quoteForAdvisory(setting.rejected.value)} in ${setting.rejected.configPath}: ${setting.rejected.field === "sdd" ? "expected an object like { source: <provider> }" : `expected one of ${accepted}`}.`);
706
+ }
707
+ if (setting.source) {
708
+ const origin = setting.origin === "user" ? "user-config" : "project-config";
709
+ return {
710
+ source: setting.source,
711
+ origin,
712
+ label: `sdd.source=${setting.source} (${setting.origin ?? "project"} config)`
713
+ };
714
+ }
715
+ } catch {}
716
+ return;
717
+ }
663
718
  function readEffectiveSpecSync(directory, opts) {
664
719
  if (directory.includes("\x00")) {
665
720
  return null;
@@ -685,15 +740,24 @@ function readEffectiveSpecSync(directory, opts) {
685
740
  throw error;
686
741
  }
687
742
  }
688
- if (opts?.source) {
689
- switch (opts.source) {
743
+ const selection = opts?.source ? undefined : resolveSddSourceSelection(root);
744
+ const effectiveSource = opts?.source ?? selection?.source;
745
+ if (effectiveSource) {
746
+ let selected = null;
747
+ switch (effectiveSource) {
690
748
  case "openspec":
691
- return buildOpenSpecProjectionSync(root);
749
+ selected = buildOpenSpecProjectionSync(root);
750
+ break;
692
751
  case "speckit":
693
- return buildSpeckitProjectionSync(root, { feature: opts.feature });
752
+ selected = buildSpeckitProjectionSync(root, { feature: opts?.feature });
753
+ break;
694
754
  case "swarm":
695
- return null;
755
+ break;
756
+ }
757
+ if (selected === null && selection) {
758
+ selectionAdvisoryOnce(`[opencode-swarm] SDD source "${effectiveSource}" selected via ${selection.label} produced no spec for ${root}` + (effectiveSource === "swarm" ? " (no usable native .swarm/spec.md: it is missing, unreadable or over the size limit)" : ` (no ${effectiveSource} sources found)`) + `; enforcement/projection is suppressed. Unset ${SDD_SOURCE_ENV_VAR} / sdd.source, or select a provider this repo has, to restore auto-detection.`);
696
759
  }
760
+ return selected;
697
761
  }
698
762
  const speckitDetection = detectSpeckit(root);
699
763
  if (!speckitDetection.markerPresent) {
@@ -706,7 +770,7 @@ function readEffectiveSpecSync(directory, opts) {
706
770
  const openspecProjection = buildOpenSpecProjectionSync(root);
707
771
  const openspecPresent = openspecProjection !== null;
708
772
  if (openspecPresent) {
709
- advisoryWarn("[opencode-swarm] Multiple SDD sources detected (openspec and speckit). " + "Enforcement/projection is suppressed until you disambiguate. " + "Pass --source openspec or --source speckit to select a provider.");
773
+ advisoryWarn("[opencode-swarm] Multiple SDD sources detected (openspec and speckit). " + "Enforcement/projection is suppressed until you disambiguate. " + "Pass --source openspec or --source speckit, set SWARM_SDD_SOURCE, or set sdd.source in .opencode/opencode-swarm.json to select a provider.");
710
774
  return null;
711
775
  }
712
776
  return buildSpeckitProjectionSync(root, { feature: opts?.feature });
@@ -831,4 +895,4 @@ function validateSpeckit(directory, options = {}) {
831
895
  return { resolution, problems };
832
896
  }
833
897
 
834
- export { detectSpeckit, resolveSpeckitProjection, loadSddStatusSync, buildOpenSpecProjectionSync, readEffectiveSpecSync, writeProjectedSpecSync, validateSpeckit };
898
+ export { detectSpeckit, resolveSpeckitProjection, loadSddStatusSync, buildOpenSpecProjectionSync, resolveSddSourceSelection, readEffectiveSpecSync, writeProjectedSpecSync, validateSpeckit };
@@ -5,18 +5,18 @@ import {
5
5
  import {
6
6
  effectiveRetrievalOutcomes,
7
7
  readAuthoritativeKnowledgeCounterRollups
8
- } from "./index-fws15qp0.js";
8
+ } from "./index-kpngvt4q.js";
9
9
  import {
10
10
  ALLOWED_SKILL_PATH_PREFIXES,
11
11
  validateSkillPath
12
- } from "./index-pwgb4ysh.js";
12
+ } from "./index-r5f6q2v4.js";
13
13
  import {
14
14
  computeOutcomeSignal,
15
15
  readKnowledge,
16
16
  resolveHiveKnowledgePath,
17
17
  resolveSwarmKnowledgePath,
18
18
  transactKnowledge
19
- } from "./index-7m5cf6nb.js";
19
+ } from "./index-0caf038s.js";
20
20
  import {
21
21
  appendCappedJsonl,
22
22
  resolveRetentionCap
@@ -27,7 +27,7 @@ import {
27
27
  import {
28
28
  atomicWriteFileAnyRoot,
29
29
  atomicWriteSwarmFile
30
- } from "./index-yf2z4j7s.js";
30
+ } from "./index-p4xmq6aa.js";
31
31
  import {
32
32
  advisoryWarn,
33
33
  init_warning_buffer
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  _internals,
4
4
  resolveWorktreeIsolationConfig
5
- } from "./index-z250fgd9.js";
5
+ } from "./index-730ajx2g.js";
6
6
  import {
7
7
  ApprovalEvidenceSchema,
8
8
  BaseEvidenceSchema,
@@ -46,7 +46,7 @@ import {
46
46
  loadPluginConfigWithMeta,
47
47
  loadPluginConfigWithMetaAsync,
48
48
  resetConfigAdvisoryDedup
49
- } from "./index-yed14yth.js";
49
+ } from "./index-pkdyys9n.js";
50
50
  import"./index-zxdawwc7.js";
51
51
  import {
52
52
  AUTO_REVIEW_V8_BURN_IN_DECISION,
@@ -72,7 +72,7 @@ import {
72
72
  TurboConfigSchema,
73
73
  WorktreeIsolationConfigSchema,
74
74
  resolveAutoReviewConfig
75
- } from "./index-4b64v1kx.js";
75
+ } from "./index-fv6eab1b.js";
76
76
  import {
77
77
  ALL_AGENT_NAMES,
78
78
  ALL_SUBAGENT_NAMES,
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  readEffectiveSpecSync
4
- } from "./index-a4jwt70q.js";
4
+ } from "./index-9628q121.js";
5
5
  import {
6
6
  readSwarmFileAsync
7
- } from "./index-kphy4we7.js";
7
+ } from "./index-xez06sc1.js";
8
8
  import {
9
9
  DURABILITY_CLASSES,
10
10
  DbWriteError,
@@ -13,7 +13,7 @@ import {
13
13
  classifyDbWriteError,
14
14
  getProjectDb,
15
15
  projectDbExists
16
- } from "./index-app2rmxv.js";
16
+ } from "./index-wrn4khfb.js";
17
17
  import {
18
18
  _internals,
19
19
  canonicalRootKeyFresh
@@ -11,7 +11,7 @@ import {
11
11
  readLinkPointer,
12
12
  resolveKnowledgeStoreDir,
13
13
  resolveLinkDir
14
- } from "./index-ry5g9s8d.js";
14
+ } from "./index-yk1vnpzx.js";
15
15
 
16
16
  // src/knowledge/curation-policy.ts
17
17
  import { readFile as readFile2 } from "fs/promises";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  observeStoreHealth
4
- } from "./index-gc0aeth5.js";
4
+ } from "./index-tdpfecs3.js";
5
5
  import {
6
6
  telemetry
7
- } from "./index-7rtq2t5n.js";
7
+ } from "./index-4s3770gs.js";
8
8
  import {
9
9
  init_logger,
10
10
  warn