opencode-swarm 7.181.2 → 7.181.4

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 (89) hide show
  1. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  2. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  3. package/dist/cli/{coder-settlement-993vdsd2.js → coder-settlement-vbs5rj3z.js} +10 -10
  4. package/dist/cli/{config-doctor-nr27vfv6.js → config-doctor-3cb51z08.js} +2 -2
  5. package/dist/cli/{core-t3tg4397.js → core-0h7y8z0s.js} +2 -2
  6. package/dist/cli/{curation-policy-m3x9mkj9.js → curation-policy-r4dkajw9.js} +4 -4
  7. package/dist/cli/{curator-gk392717.js → curator-9sn55eyk.js} +34 -34
  8. package/dist/cli/curator-drift-d4jkgrba.js +37 -0
  9. package/dist/cli/{curator-llm-factory-n01we8pa.js → curator-llm-factory-zwc2gpe7.js} +34 -34
  10. package/dist/cli/{evidence-summary-service-fkvj8ct1.js → evidence-summary-service-sb5seqs3.js} +14 -14
  11. package/dist/cli/{gate-evidence-1n6zffzb.js → gate-evidence-emq2y7kz.js} +5 -5
  12. package/dist/cli/{guardrail-explain-81jvm99e.js → guardrail-explain-a3hcrpwv.js} +35 -35
  13. package/dist/cli/{guardrail-log-mw9x5j8g.js → guardrail-log-ftv03v4x.js} +6 -6
  14. package/dist/cli/{guardrail-reset-6thsn6ad.js → guardrail-reset-d6qmnvff.js} +34 -34
  15. package/dist/cli/{hive-promoter-pym6se37.js → hive-promoter-pktjn46n.js} +34 -34
  16. package/dist/cli/{index-m65tnv4j.js → index-01r2wrwa.js} +1 -1
  17. package/dist/cli/{index-txx2mrsk.js → index-0ea0c676.js} +25 -11
  18. package/dist/cli/{index-gmqf6bjj.js → index-12fxtcce.js} +36 -36
  19. package/dist/cli/{index-cr61qv27.js → index-1epynxc4.js} +2 -2
  20. package/dist/cli/{index-1wpnt86a.js → index-1msszzg2.js} +5 -5
  21. package/dist/cli/{index-12ewkms0.js → index-23mdeh2a.js} +1 -1
  22. package/dist/cli/{index-5hxv1er2.js → index-3ga3ts3h.js} +56 -3
  23. package/dist/cli/{index-38cfx8g8.js → index-427x3j6p.js} +2 -2
  24. package/dist/cli/{index-wph45kyb.js → index-4qpz7mpn.js} +4 -4
  25. package/dist/cli/{index-7nr9p5bd.js → index-54sd9bbn.js} +5 -5
  26. package/dist/cli/{index-fmhd3zc8.js → index-68ben2q8.js} +2 -2
  27. package/dist/cli/{index-n5a9dq5s.js → index-6jrn46zy.js} +1 -1
  28. package/dist/cli/{index-ernt0wrg.js → index-9eg8f4zm.js} +4306 -1504
  29. package/dist/cli/{index-hbe56wtn.js → index-9s2rp2j5.js} +2 -2
  30. package/dist/cli/{index-gc6h1fmf.js → index-a2hvmc3a.js} +1 -1
  31. package/dist/cli/{index-ea9fk6v0.js → index-ap6hs8fj.js} +1 -1
  32. package/dist/cli/{index-92m05mew.js → index-by9wfeja.js} +1 -1
  33. package/dist/cli/{index-et28q7cp.js → index-dkprb20b.js} +1 -1
  34. package/dist/cli/{index-qw9aqays.js → index-dwc1wztn.js} +6 -6
  35. package/dist/cli/{index-0h39trak.js → index-enmvd9ap.js} +1 -1
  36. package/dist/cli/{index-kzmd4gs7.js → index-epq8am78.js} +1 -1
  37. package/dist/cli/{index-pqtmzee6.js → index-fsye9ygy.js} +4 -4
  38. package/dist/cli/{index-5q3xsqwm.js → index-gtpq64q7.js} +3 -3
  39. package/dist/cli/{index-5v8zws0s.js → index-hqa71xfm.js} +140 -9
  40. package/dist/cli/{index-5zy5k5w0.js → index-j97nc02q.js} +4 -4
  41. package/dist/cli/{index-bdpgfep1.js → index-jrxrjz89.js} +1 -1
  42. package/dist/cli/{index-516j9vsk.js → index-kkrbybgt.js} +27 -2
  43. package/dist/cli/{index-6mwha20t.js → index-mkpdcbye.js} +3 -3
  44. package/dist/cli/{index-6x36hhd3.js → index-myacmqmf.js} +34 -34
  45. package/dist/cli/{index-t93cp2tz.js → index-nw3z614g.js} +4 -4
  46. package/dist/cli/{index-ehvkz2zv.js → index-r4vve32m.js} +7 -7
  47. package/dist/cli/{index-m779twtf.js → index-rgfz80gt.js} +1 -1
  48. package/dist/cli/{index-6gcxgx84.js → index-s34y6gbh.js} +1 -1
  49. package/dist/cli/{index-s0zgz4p1.js → index-sf51gh68.js} +1 -1
  50. package/dist/cli/{index-2sqfrvxj.js → index-v4h99xhr.js} +2 -2
  51. package/dist/cli/{index-vmwmwahh.js → index-x4am0jxt.js} +3 -3
  52. package/dist/cli/{index-et7tg13p.js → index-y03jadcy.js} +269 -9
  53. package/dist/cli/{index-dpxg347z.js → index-y28np6j9.js} +3 -3
  54. package/dist/cli/{index-xz4q5vcg.js → index-zp6fss8c.js} +3 -3
  55. package/dist/cli/index.js +35 -35
  56. package/dist/cli/{knowledge-escalator-jmqbmfbf.js → knowledge-escalator-5q4y97e4.js} +11 -11
  57. package/dist/cli/{knowledge-events-5ksqpf4g.js → knowledge-events-x7q8yepd.js} +9 -9
  58. package/dist/cli/{knowledge-link-s2qs178z.js → knowledge-link-655xa3db.js} +3 -3
  59. package/dist/cli/{knowledge-store-q3yy56sc.js → knowledge-store-r7ng2nf8.js} +4 -4
  60. package/dist/cli/{knowledge-validator-r5kaz53f.js → knowledge-validator-e78m6cqe.js} +6 -6
  61. package/dist/cli/{mcp-h82hxnxr.js → mcp-208jwxps.js} +1 -1
  62. package/dist/cli/model-preflight-xakn1356.js +359 -0
  63. package/dist/cli/{pending-delegations-e4h6vjeb.js → pending-delegations-w4a5tg11.js} +7 -7
  64. package/dist/cli/{pr-subscriptions-j7hw3k6x.js → pr-subscriptions-8289esc9.js} +7 -7
  65. package/dist/cli/{pr-workflow-gate-js8dcry2.js → pr-workflow-gate-b7yx0x21.js} +34 -34
  66. package/dist/cli/{runner-tzgwvvn1.js → runner-b5vt1any.js} +4 -4
  67. package/dist/cli/{scan-cursor-yhf58mq2.js → scan-cursor-edpbzp72.js} +5 -5
  68. package/dist/cli/{schema-0k4st1qt.js → schema-dnsxhyr3.js} +1 -1
  69. package/dist/cli/{scope-persistence-bpptmh1e.js → scope-persistence-z1f7d4tw.js} +10 -10
  70. package/dist/cli/{server-axnran6h.js → server-t2edntv4.js} +69 -599
  71. package/dist/cli/{skill-generator-n2w032d1.js → skill-generator-5n7vf0s3.js} +13 -13
  72. package/dist/cli/{snapshot-coordination-init-kyf50x12.js → snapshot-coordination-init-t14dk9je.js} +34 -34
  73. package/dist/cli/{speckit-checkoff-m4184e1x.js → speckit-checkoff-4ws84g13.js} +3 -3
  74. package/dist/cli/{telemetry-zhcgfe70.js → telemetry-6k8t2mrw.js} +1 -1
  75. package/dist/cli/{workspace-snapshot-4m2ex1ey.js → workspace-snapshot-hsssm50w.js} +2 -2
  76. package/dist/cli/{worktree-collision-ownership-1g2414pf.js → worktree-collision-ownership-wj6337ec.js} +8 -8
  77. package/dist/cli/{worktree-isolation-x07f7cfp.js → worktree-isolation-9fyj85tc.js} +34 -34
  78. package/dist/commands/registry.d.ts +1 -1
  79. package/dist/config/agent-model.d.ts +14 -0
  80. package/dist/config/bundled-skill-dispositions.d.ts +29 -0
  81. package/dist/hooks/delegation-gate.d.ts +10 -8
  82. package/dist/hooks/task-id-resolver.d.ts +7 -0
  83. package/dist/index.js +285 -269
  84. package/dist/memory/index.d.ts +1 -0
  85. package/dist/memory/instruction-pairing.d.ts +112 -0
  86. package/dist/services/model-preflight.d.ts +103 -21
  87. package/package.json +1 -1
  88. package/dist/cli/curator-drift-hz3j3fad.js +0 -297
  89. package/dist/cli/model-preflight-5b81adsj.js +0 -170
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  init_loader,
4
4
  loadPluginConfigWithMeta
5
- } from "./index-n5a9dq5s.js";
5
+ } from "./index-6jrn46zy.js";
6
6
  import {
7
7
  init_schema
8
- } from "./index-5hxv1er2.js";
8
+ } from "./index-3ga3ts3h.js";
9
9
  import {
10
10
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
11
  init_constants
@@ -200,4 +200,4 @@ function estimateTokens(text) {
200
200
  return estimateTokensFromCharCount(text.length);
201
201
  }
202
202
 
203
- export { safeHook, validateSwarmPath, readSwarmFileAsync, estimateCharsForTokens, estimateTokens };
203
+ export { safeHook, validateSwarmPath, readSwarmFileAsync, estimateTokensFromCharCount, estimateCharsForTokens, estimateTokens };
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  emit
4
- } from "./index-6mwha20t.js";
4
+ } from "./index-mkpdcbye.js";
5
5
  import {
6
6
  tryAcquireLock
7
7
  } from "./index-ejhxgyvm.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-gc6h1fmf.js";
4
+ } from "./index-a2hvmc3a.js";
5
5
  import {
6
6
  atomicWriteSwarmFileSync
7
7
  } from "./index-989v83pb.js";
@@ -12,7 +12,7 @@ import {
12
12
  PluginConfigSchema,
13
13
  init_schema,
14
14
  stripKnownSwarmPrefix
15
- } from "./index-5hxv1er2.js";
15
+ } from "./index-3ga3ts3h.js";
16
16
  import {
17
17
  ALL_AGENT_NAMES,
18
18
  TOOL_NAME_SET,
@@ -11,10 +11,10 @@ import {
11
11
  } from "./index-ae75rja9.js";
12
12
  import {
13
13
  resolveKnowledgeStoreDir
14
- } from "./index-12ewkms0.js";
14
+ } from "./index-23mdeh2a.js";
15
15
  import {
16
16
  atomicWriteFile
17
- } from "./index-ea9fk6v0.js";
17
+ } from "./index-ap6hs8fj.js";
18
18
  import {
19
19
  require_proper_lockfile
20
20
  } from "./index-7g4c7s5r.js";
@@ -739,7 +739,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
739
739
  const {
740
740
  readAuthoritativeKnowledgeCounterRollups,
741
741
  effectiveRetrievalOutcomes
742
- } = await import("./knowledge-events-5ksqpf4g.js");
742
+ } = await import("./knowledge-events-x7q8yepd.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-r5kaz53f.js");
810
- const { KnowledgeConfigSchema } = await import("./schema-0k4st1qt.js");
809
+ const { quarantineEntry } = await import("./knowledge-validator-e78m6cqe.js");
810
+ const { KnowledgeConfigSchema } = await import("./schema-dnsxhyr3.js");
811
811
  let config;
812
812
  try {
813
- const { loadPluginConfigWithMeta } = await import("./index-xz4q5vcg.js");
813
+ const { loadPluginConfigWithMeta } = await import("./index-zp6fss8c.js");
814
814
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
815
815
  config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
816
816
  } catch {
@@ -4,7 +4,7 @@ import {
4
4
  readShellAuditTail,
5
5
  redactPath,
6
6
  redactShellCommand
7
- } from "./index-5q3xsqwm.js";
7
+ } from "./index-gtpq64q7.js";
8
8
 
9
9
  // src/services/guardrail-log-service.ts
10
10
  var BLOCK_TYPES = new Set([
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  init_loader,
11
11
  loadPluginConfig
12
- } from "./index-n5a9dq5s.js";
12
+ } from "./index-6jrn46zy.js";
13
13
  import {
14
14
  init_logger,
15
15
  log,
@@ -12,10 +12,10 @@ import {
12
12
  import {
13
13
  assertProjectRoot,
14
14
  withEvidenceLock
15
- } from "./index-ea9fk6v0.js";
15
+ } from "./index-ap6hs8fj.js";
16
16
  import {
17
17
  emit
18
- } from "./index-6mwha20t.js";
18
+ } from "./index-mkpdcbye.js";
19
19
  import {
20
20
  ExecutionProfileSchema,
21
21
  PlanSchema,
@@ -25,11 +25,11 @@ import {
25
25
  import {
26
26
  init_loader,
27
27
  loadPluginConfig
28
- } from "./index-n5a9dq5s.js";
28
+ } from "./index-6jrn46zy.js";
29
29
  import {
30
30
  init_package,
31
31
  package_default
32
- } from "./index-5hxv1er2.js";
32
+ } from "./index-3ga3ts3h.js";
33
33
  import {
34
34
  criticalWarn,
35
35
  init_logger,
@@ -1,14 +1,14 @@
1
1
  // @bun
2
2
  import {
3
3
  observeStoreHealth
4
- } from "./index-516j9vsk.js";
4
+ } from "./index-kkrbybgt.js";
5
5
  import {
6
6
  telemetry
7
- } from "./index-6mwha20t.js";
7
+ } from "./index-mkpdcbye.js";
8
8
  import {
9
9
  init_schema,
10
10
  stripKnownSwarmPrefix
11
- } from "./index-5hxv1er2.js";
11
+ } from "./index-3ga3ts3h.js";
12
12
  import {
13
13
  init_constants
14
14
  } from "./index-2t21pv2v.js";
@@ -1,23 +1,23 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-gc6h1fmf.js";
4
+ } from "./index-a2hvmc3a.js";
5
5
  import {
6
6
  observeReceiptTransition
7
- } from "./index-516j9vsk.js";
7
+ } from "./index-kkrbybgt.js";
8
8
  import {
9
9
  resolveHiveEventsPath
10
10
  } from "./index-ae75rja9.js";
11
11
  import {
12
12
  resolveKnowledgeStoreDir
13
- } from "./index-12ewkms0.js";
13
+ } from "./index-23mdeh2a.js";
14
14
  import {
15
15
  assertProjectRoot,
16
16
  atomicWriteFile
17
- } from "./index-ea9fk6v0.js";
17
+ } from "./index-ap6hs8fj.js";
18
18
  import {
19
19
  emit
20
- } from "./index-6mwha20t.js";
20
+ } from "./index-mkpdcbye.js";
21
21
  import {
22
22
  canonicalRootKey
23
23
  } from "./index-1xnse449.js";
@@ -26,11 +26,11 @@ import {
26
26
  } from "./index-7g4c7s5r.js";
27
27
  import {
28
28
  loadPluginConfigWithMeta
29
- } from "./index-n5a9dq5s.js";
29
+ } from "./index-6jrn46zy.js";
30
30
  import {
31
31
  KnowledgeConfigSchema,
32
32
  init_schema
33
- } from "./index-5hxv1er2.js";
33
+ } from "./index-3ga3ts3h.js";
34
34
  import {
35
35
  init_logger,
36
36
  warn
@@ -878,6 +878,13 @@ function legacyExposureKind(event) {
878
878
  return "manual_recall";
879
879
  return "legacy_unknown";
880
880
  }
881
+ function normalizeExposureKind(value) {
882
+ if (isReceiptExposureKind(value))
883
+ return value;
884
+ if (value === "delegate")
885
+ return "delegate_directive";
886
+ return "legacy_unknown";
887
+ }
881
888
  function parseEmptyTrace(value, requireSummaryKind = false) {
882
889
  if (!isPlainRecord(value))
883
890
  return null;
@@ -1782,6 +1789,130 @@ async function runLocked(directory, graceDays, action, options = {}) {
1782
1789
  return unavailable(error);
1783
1790
  }
1784
1791
  }
1792
+ async function clearRepairUncertaintyIfFresh(paths, state, input, clearedBy) {
1793
+ if (!input.phase)
1794
+ return;
1795
+ const key = repairUncertaintyKey(input.phase, input.session_id);
1796
+ const active = state.repairUncertainties.get(key);
1797
+ if (!active)
1798
+ return;
1799
+ const proof = input.repair_re_evaluation;
1800
+ if (!proof?.scope_complete || proof.repair_id !== active.repair_id || active.task_id !== undefined && input.task_id !== active.task_id) {
1801
+ return;
1802
+ }
1803
+ await appendRecord(paths, state, makeRecord(state, "repair_uncertainty_cleared", {
1804
+ phase: input.phase,
1805
+ session_id: input.session_id,
1806
+ task_id: input.task_id,
1807
+ repair_id: active.repair_id,
1808
+ cleared_by_event_id: clearedBy.event_id,
1809
+ cleared_by_trace_id: clearedBy.trace_id,
1810
+ cleared_by_kind: clearedBy.kind
1811
+ }));
1812
+ }
1813
+ async function commitDisplayedMembership(directory, input) {
1814
+ return runLocked(directory, input.grace_days, async (paths, state, graceDays) => {
1815
+ if (!input.trace_id || !input.session_id || input.entries.length === 0)
1816
+ throw new ReceiptStoreError("store_unavailable", "invalid displayed membership");
1817
+ const eventId = randomUUID2();
1818
+ const committedAt = nowIso();
1819
+ const exposureKind = normalizeExposureKind(input.exposure_kind);
1820
+ const memberships = [];
1821
+ const newMemberships = [];
1822
+ for (const entry of input.entries) {
1823
+ const existing = state.memberships.get(keyOf(input.trace_id, entry.entry_id));
1824
+ if (existing) {
1825
+ if (existing.session_id !== input.session_id || existing.phase !== input.phase || existing.task_id !== input.task_id || existing.critical !== entry.critical || existing.cohort_id !== input.cohort_id || existing.source_link_id !== input.source_link_id || existing.exposure_kind !== exposureKind) {
1826
+ throw new ReceiptStoreError("store_unavailable", `conflicting immutable membership for ${input.trace_id}/${entry.entry_id}`);
1827
+ }
1828
+ memberships.push({
1829
+ ...existing,
1830
+ terminal: existing.terminal ? { ...existing.terminal } : undefined
1831
+ });
1832
+ continue;
1833
+ }
1834
+ const closedLifecycle = state.phaseLifecycle.get(phaseLifecycleKey(input.phase ?? "", input.session_id, input.task_id)) ?? (input.task_id !== undefined ? state.phaseLifecycle.get(phaseLifecycleKey(input.phase ?? "", input.session_id)) : undefined);
1835
+ if (input.phase && closedLifecycle?.closed_event_id) {
1836
+ throw new ReceiptStoreError("store_unavailable", `cannot add receipt membership to closed lifecycle ${input.session_id}/${input.phase}`);
1837
+ }
1838
+ const membership = {
1839
+ trace_id: input.trace_id,
1840
+ entry_id: entry.entry_id,
1841
+ session_id: input.session_id,
1842
+ phase: input.phase,
1843
+ task_id: input.task_id,
1844
+ agent: input.agent,
1845
+ critical: entry.critical,
1846
+ rank: entry.rank,
1847
+ score: entry.score,
1848
+ committed_at: committedAt,
1849
+ membership_event_id: eventId,
1850
+ grace_days: graceDays,
1851
+ cohort_id: input.cohort_id,
1852
+ source_link_id: input.source_link_id,
1853
+ exposure_kind: exposureKind,
1854
+ origin: "v2"
1855
+ };
1856
+ memberships.push(membership);
1857
+ newMemberships.push(membership);
1858
+ }
1859
+ if (newMemberships.length) {
1860
+ await appendRecord(paths, state, makeRecord(state, "membership_committed", { memberships: newMemberships }, eventId));
1861
+ await clearRepairUncertaintyIfFresh(paths, state, input, {
1862
+ event_id: eventId,
1863
+ trace_id: input.trace_id,
1864
+ kind: "membership_committed"
1865
+ });
1866
+ }
1867
+ return {
1868
+ event_id: newMemberships.length ? eventId : memberships[0].membership_event_id,
1869
+ memberships
1870
+ };
1871
+ });
1872
+ }
1873
+ async function commitEmptyRetrieval(directory, input) {
1874
+ return runLocked(directory, input.grace_days, async (paths, state, graceDays) => {
1875
+ const existing = state.emptyTraces.get(emptyKeyOf(input.trace_id, input.session_id));
1876
+ if (existing) {
1877
+ if (existing.phase !== input.phase || existing.task_id !== input.task_id || existing.grace_days !== graceDays) {
1878
+ throw new ReceiptStoreError("store_unavailable", `conflicting immutable empty retrieval for ${input.trace_id}/${input.session_id}`);
1879
+ }
1880
+ if (!existing.terminal_event_id) {
1881
+ const terminal = makeRecord(state, "terminal_committed", {
1882
+ empty_trace_id: input.trace_id,
1883
+ empty_trace_session_id: input.session_id
1884
+ });
1885
+ await appendRecord(paths, state, terminal);
1886
+ }
1887
+ return {
1888
+ event_id: existing.empty_event_id,
1889
+ terminal_event_id: existing.terminal_event_id
1890
+ };
1891
+ }
1892
+ const eventId = randomUUID2();
1893
+ const terminalEventId = randomUUID2();
1894
+ const trace = {
1895
+ trace_id: input.trace_id,
1896
+ session_id: input.session_id,
1897
+ phase: input.phase,
1898
+ task_id: input.task_id,
1899
+ committed_at: nowIso(),
1900
+ empty_event_id: eventId,
1901
+ grace_days: graceDays
1902
+ };
1903
+ await appendRecord(paths, state, makeRecord(state, "empty_retrieval_committed", { trace }, eventId));
1904
+ await appendRecord(paths, state, makeRecord(state, "terminal_committed", {
1905
+ empty_trace_id: input.trace_id,
1906
+ empty_trace_session_id: input.session_id
1907
+ }, terminalEventId));
1908
+ await clearRepairUncertaintyIfFresh(paths, state, input, {
1909
+ event_id: eventId,
1910
+ trace_id: input.trace_id,
1911
+ kind: "empty_retrieval_committed"
1912
+ });
1913
+ return { event_id: eventId, terminal_event_id: terminalEventId };
1914
+ });
1915
+ }
1785
1916
  async function commitApplicationMarkerBatch(directory, input) {
1786
1917
  return runLocked(directory, undefined, async (paths, state) => {
1787
1918
  const items = input.items ?? input.markers ?? [];
@@ -2813,7 +2944,7 @@ async function applyKnowledgeVerdictFeedback(directory, options) {
2813
2944
  }
2814
2945
  let bumps = 0;
2815
2946
  if (deltas.length > 0) {
2816
- const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-q3yy56sc.js");
2947
+ const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-r7ng2nf8.js");
2817
2948
  bumps = await bumpKnowledgeConfidenceBatch(directory, deltas, options?.floorOptions);
2818
2949
  }
2819
2950
  return {
@@ -2850,4 +2981,4 @@ var _internals4 = {
2850
2981
  mergeRollupInto
2851
2982
  };
2852
2983
 
2853
- export { commitGateReleaseBatch, queryLiveMemberships, queryHistoricalOutcomes, recordPhaseCloseIntent, reconcilePhaseClose, KNOWLEDGE_EVENT_SCHEMA_VERSION, MAX_EVENT_LOG_ENTRIES, RECEIPT_EVENT_TYPES, resolveKnowledgeEventsPath, resolveKnowledgeCounterBaselinePath, resolveHiveEventsPath2 as resolveHiveEventsPath, resolveLegacyApplicationLogPath, newTraceId, newEventId, appendKnowledgeEvent, appendKnowledgeEventsBatch, recordKnowledgeEvent, recordKnowledgeEventsBatch, appendHiveKnowledgeEvent, recordHiveKnowledgeEvent, readKnowledgeEvents, readHiveKnowledgeEvents, readLegacyApplicationRecords, MAX_VIOLATION_TIMESTAMPS, recomputeCounters, countViolationsInWindow, countEmptyTraceTerminals, countEntryViolationsInWindow, countEntryContradictionsInWindow, readKnowledgeCounterRollups, readAuthoritativeKnowledgeCounterRollups, effectiveRetrievalOutcomes, applyKnowledgeVerdictFeedback, _internals4 as _internals };
2984
+ export { commitDisplayedMembership, commitEmptyRetrieval, commitGateReleaseBatch, queryLiveMemberships, queryHistoricalOutcomes, recordPhaseCloseIntent, reconcilePhaseClose, KNOWLEDGE_EVENT_SCHEMA_VERSION, MAX_EVENT_LOG_ENTRIES, RECEIPT_EVENT_TYPES, resolveKnowledgeEventsPath, resolveKnowledgeCounterBaselinePath, resolveHiveEventsPath2 as resolveHiveEventsPath, resolveLegacyApplicationLogPath, newTraceId, newEventId, appendKnowledgeEvent, appendKnowledgeEventsBatch, recordKnowledgeEvent, recordKnowledgeEventsBatch, appendHiveKnowledgeEvent, recordHiveKnowledgeEvent, readKnowledgeEvents, readHiveKnowledgeEvents, readLegacyApplicationRecords, MAX_VIOLATION_TIMESTAMPS, recomputeCounters, countViolationsInWindow, countEmptyTraceTerminals, countEntryViolationsInWindow, countEntryContradictionsInWindow, readKnowledgeCounterRollups, readAuthoritativeKnowledgeCounterRollups, effectiveRetrievalOutcomes, applyKnowledgeVerdictFeedback, _internals4 as _internals };
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  autoCommitDirty,
4
4
  cleanUntrackedFiles
5
- } from "./index-2sqfrvxj.js";
5
+ } from "./index-v4h99xhr.js";
6
6
  import {
7
7
  validateSwarmPath
8
- } from "./index-gc6h1fmf.js";
8
+ } from "./index-a2hvmc3a.js";
9
9
  import {
10
10
  bunSpawn,
11
11
  classifySpawnFailure
@@ -15,10 +15,10 @@ import {
15
15
  atomicWriteFile,
16
16
  taskEvidencePath,
17
17
  withTaskEvidenceLock
18
- } from "./index-ea9fk6v0.js";
18
+ } from "./index-ap6hs8fj.js";
19
19
  import {
20
20
  telemetry
21
- } from "./index-6mwha20t.js";
21
+ } from "./index-mkpdcbye.js";
22
22
  import {
23
23
  advisoryWarn,
24
24
  init_git_executable,
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-gc6h1fmf.js";
4
+ } from "./index-a2hvmc3a.js";
5
5
  import {
6
6
  bunSpawn
7
7
  } from "./index-2s7dvzff.js";
@@ -3,7 +3,7 @@ import {
3
3
  pseudonymousRef,
4
4
  resolveLineageSalt,
5
5
  telemetry
6
- } from "./index-6mwha20t.js";
6
+ } from "./index-mkpdcbye.js";
7
7
  import {
8
8
  canonicalRootKeyFresh
9
9
  } from "./index-1xnse449.js";
@@ -476,6 +476,31 @@ function isAdoptableScopeKey(key) {
476
476
  function isFiniteCounter(value) {
477
477
  return typeof value === "number" && Number.isFinite(value) && value >= 0;
478
478
  }
479
+ function observeModelLimitResolution(input) {
480
+ try {
481
+ ensureLearningHealth();
482
+ const now = _internals.now();
483
+ const identity = input.directory ? `${projectRef(input.directory)}/identity/${input.modelID || "unknown"}::${input.providerID || "unknown"}` : `u/identity/${input.modelID || "unknown"}::${input.providerID || "unknown"}`;
484
+ const scope = ensureScope("model_limit_fallback", identity, now);
485
+ const config = LEARNING_HEALTH_ALARM_CONFIG.model_limit_fallback;
486
+ const fallback = input.resolution === "static_provider_cap" || input.resolution === "static_native" || input.resolution === "static_default";
487
+ appendFact(scope, fallback ? "fallback" : "resolved", now, config.windowMs);
488
+ if (input.invalidOverride) {
489
+ appendFact(scope, "invalid_override", now, config.windowMs);
490
+ }
491
+ const detail = {
492
+ model: input.modelID || "unknown",
493
+ provider: input.providerID || "unknown",
494
+ role: input.aliasKeyClass,
495
+ reason: input.invalidOverride ? "invalid_override_skipped" : fallback ? String(input.resolution) : undefined
496
+ };
497
+ if (fallback || input.invalidOverride) {
498
+ applyAlarmState("model_limit_fallback", "identity", identity, "active", config.severity, detail, input.directory, now);
499
+ } else {
500
+ applyAlarmState("model_limit_fallback", "identity", identity, "idle", config.severity, detail, input.directory, now);
501
+ }
502
+ } catch {}
503
+ }
479
504
  function livenessMap(directory) {
480
505
  const key = canonicalRootKeyFresh(directory);
481
506
  let map = livenessGaps.get(key);
@@ -793,4 +818,4 @@ function scopeClassFor(alarm) {
793
818
  }
794
819
  }
795
820
 
796
- export { observeReceiptTransition, observeCuratorCompliance, observeCloseArchive, observeDelegationLedgerPressure, observeStoreHealth, readLearningHealth };
821
+ export { observeModelLimitResolution, observeReceiptTransition, observeCuratorCompliance, observeCloseArchive, observeDelegationLedgerPressure, observeStoreHealth, readLearningHealth };
@@ -236,7 +236,7 @@ var CATALOG_SOURCE = [
236
236
  category: "delegation",
237
237
  severity: "info",
238
238
  privacyClass: "pseudonymous",
239
- producer: "src/index.ts:878",
239
+ producer: "src/index.ts:881",
240
240
  consumers: CONSUMER_COST_CORRECTION,
241
241
  retentionOwnerIssue: ISSUE_COST_RETENTION,
242
242
  requiredWorkflowIds: REQUIRE_SESSION_AND_TASK,
@@ -249,7 +249,7 @@ var CATALOG_SOURCE = [
249
249
  category: "delegation",
250
250
  severity: "info",
251
251
  privacyClass: "pseudonymous",
252
- producer: "src/index.ts:1896",
252
+ producer: "src/index.ts:1901",
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:1916",
266
+ producer: "src/index.ts:1921",
267
267
  consumers: CONSUMER_COST_JOIN,
268
268
  retentionOwnerIssue: ISSUE_COST_RETENTION,
269
269
  requiredWorkflowIds: REQUIRE_SESSION,
@@ -23,68 +23,68 @@ import {
23
23
  resolveFallbackModel,
24
24
  resolvePrimaryAgentNames,
25
25
  stripSwarmPrefix
26
- } from "./index-ernt0wrg.js";
27
- import"./index-5q3xsqwm.js";
26
+ } from "./index-9eg8f4zm.js";
27
+ import"./index-gtpq64q7.js";
28
28
  import"./index-hamqvzqn.js";
29
- import"./index-m65tnv4j.js";
30
- import"./index-et7tg13p.js";
31
- import"./index-et28q7cp.js";
32
- import"./index-txx2mrsk.js";
33
- import"./index-s0zgz4p1.js";
29
+ import"./index-01r2wrwa.js";
30
+ import"./index-y03jadcy.js";
31
+ import"./index-dkprb20b.js";
32
+ import"./index-0ea0c676.js";
33
+ import"./index-sf51gh68.js";
34
34
  import"./index-txdagbh7.js";
35
- import"./index-m779twtf.js";
35
+ import"./index-rgfz80gt.js";
36
36
  import"./index-6b295cas.js";
37
- import"./index-vmwmwahh.js";
38
- import"./index-7nr9p5bd.js";
39
- import"./index-cr61qv27.js";
37
+ import"./index-x4am0jxt.js";
38
+ import"./index-54sd9bbn.js";
39
+ import"./index-1epynxc4.js";
40
40
  import {
41
41
  createExplorerAgent
42
42
  } from "./index-rdec0y3z.js";
43
- import"./index-t93cp2tz.js";
43
+ import"./index-nw3z614g.js";
44
44
  import"./index-cjapb4hy.js";
45
45
  import"./index-zsrtt42s.js";
46
- import"./index-ehvkz2zv.js";
47
- import"./index-bdpgfep1.js";
48
- import"./index-92m05mew.js";
46
+ import"./index-r4vve32m.js";
47
+ import"./index-jrxrjz89.js";
48
+ import"./index-by9wfeja.js";
49
49
  import"./index-pt7h91zc.js";
50
50
  import"./index-q7sjgr1y.js";
51
- import"./index-kzmd4gs7.js";
52
- import"./index-5zy5k5w0.js";
53
- import"./index-2sqfrvxj.js";
54
- import"./index-1wpnt86a.js";
55
- import"./index-5v8zws0s.js";
56
- import"./index-gc6h1fmf.js";
51
+ import"./index-epq8am78.js";
52
+ import"./index-j97nc02q.js";
53
+ import"./index-v4h99xhr.js";
54
+ import"./index-1msszzg2.js";
55
+ import"./index-hqa71xfm.js";
56
+ import"./index-a2hvmc3a.js";
57
57
  import"./index-2s7dvzff.js";
58
- import"./index-wph45kyb.js";
59
- import"./index-6gcxgx84.js";
58
+ import"./index-4qpz7mpn.js";
59
+ import"./index-s34y6gbh.js";
60
60
  import"./index-rtry5xyf.js";
61
- import"./index-hbe56wtn.js";
61
+ import"./index-9s2rp2j5.js";
62
62
  import"./index-frcemc0b.js";
63
63
  import"./index-0725jpp7.js";
64
- import"./index-dpxg347z.js";
65
- import"./index-pqtmzee6.js";
66
- import"./index-38cfx8g8.js";
64
+ import"./index-y28np6j9.js";
65
+ import"./index-fsye9ygy.js";
66
+ import"./index-427x3j6p.js";
67
67
  import"./index-ved1325w.js";
68
68
  import"./index-w1ydvzef.js";
69
69
  import"./index-vvgpgcyn.js";
70
70
  import"./index-rdm3px0g.js";
71
71
  import"./index-ry16d01s.js";
72
- import"./index-516j9vsk.js";
73
- import"./index-qw9aqays.js";
72
+ import"./index-kkrbybgt.js";
73
+ import"./index-dwc1wztn.js";
74
74
  import"./index-vzm6zre7.js";
75
75
  import"./index-ae75rja9.js";
76
- import"./index-12ewkms0.js";
77
- import"./index-ea9fk6v0.js";
78
- import"./index-6mwha20t.js";
76
+ import"./index-23mdeh2a.js";
77
+ import"./index-ap6hs8fj.js";
78
+ import"./index-mkpdcbye.js";
79
79
  import"./index-1xnse449.js";
80
80
  import"./index-c1ggtmpm.js";
81
81
  import"./index-ejhxgyvm.js";
82
82
  import"./index-7g4c7s5r.js";
83
83
  import"./index-989v83pb.js";
84
84
  import"./index-gx2vp8gx.js";
85
- import"./index-n5a9dq5s.js";
85
+ import"./index-6jrn46zy.js";
86
86
  import"./index-zxdawwc7.js";
87
- import"./index-5hxv1er2.js";
87
+ import"./index-3ga3ts3h.js";
88
88
  import"./index-2t21pv2v.js";
89
89
  import"./index-bk5tah7q.js";
90
90
  import"./index-gknz3bv1.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-gc6h1fmf.js";
4
+ } from "./index-a2hvmc3a.js";
5
5
  import {
6
6
  deleteCoordinationState,
7
7
  importCoordinationOnce,
@@ -15,13 +15,13 @@ import {
15
15
  } from "./index-vvgpgcyn.js";
16
16
  import {
17
17
  observeStoreHealth
18
- } from "./index-516j9vsk.js";
18
+ } from "./index-kkrbybgt.js";
19
19
  import {
20
20
  withEvidenceLock
21
- } from "./index-ea9fk6v0.js";
21
+ } from "./index-ap6hs8fj.js";
22
22
  import {
23
23
  telemetry
24
- } from "./index-6mwha20t.js";
24
+ } from "./index-mkpdcbye.js";
25
25
  import {
26
26
  canonicalRootKey,
27
27
  canonicalRootKeyFresh,
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  captureWorkspaceSnapshotAsync,
4
4
  changedFilesSinceSnapshotAsync
5
- } from "./index-bdpgfep1.js";
5
+ } from "./index-jrxrjz89.js";
6
6
  import {
7
7
  removeWorktreeProvisioningOwner
8
- } from "./index-92m05mew.js";
8
+ } from "./index-by9wfeja.js";
9
9
  import {
10
10
  SOURCE_WORKTREE_GONE_STAGE,
11
11
  ensureTaskGateRequirementsReceiptForSettledTransition,
@@ -14,13 +14,13 @@ import {
14
14
  reconcileLandedMerge,
15
15
  withTaskEvidenceTransaction,
16
16
  writeWorkflowWalFile
17
- } from "./index-5zy5k5w0.js";
17
+ } from "./index-j97nc02q.js";
18
18
  import {
19
19
  validateSwarmPath
20
- } from "./index-gc6h1fmf.js";
20
+ } from "./index-a2hvmc3a.js";
21
21
  import {
22
22
  appendCoreEventSync
23
- } from "./index-38cfx8g8.js";
23
+ } from "./index-427x3j6p.js";
24
24
  import {
25
25
  canonicalRootKeyFresh
26
26
  } from "./index-1xnse449.js";
@@ -499,7 +499,7 @@ async function cleanupRecoveredWorktree(directory, descriptor, options) {
499
499
  awaitingMergeByCallID,
500
500
  cleanupStandardWorktreeForCallId,
501
501
  standardWorktreeByCallID
502
- } = await import("./worktree-isolation-x07f7cfp.js");
502
+ } = await import("./worktree-isolation-9fyj85tc.js");
503
503
  standardWorktreeByCallID.delete(descriptor.callID);
504
504
  if (hasResidue)
505
505
  awaitingMergeByCallID.set(descriptor.callID, {
@@ -631,7 +631,7 @@ async function recoverCoderSettlement(directory, taskId) {
631
631
  awaitingMergeByCallID,
632
632
  finishStandardWorktreeDispatch,
633
633
  standardWorktreeByCallID
634
- } = await import("./worktree-isolation-x07f7cfp.js");
634
+ } = await import("./worktree-isolation-9fyj85tc.js");
635
635
  const descriptor = wal.worktree;
636
636
  const reconstructedDispatch = {
637
637
  callID: descriptor.callID,
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  writeSpeckitCheckoffLedger
4
- } from "./index-kzmd4gs7.js";
4
+ } from "./index-epq8am78.js";
5
5
  import {
6
6
  validateSpecContent
7
7
  } from "./index-0725jpp7.js";
@@ -11,7 +11,7 @@ import {
11
11
  readLinkPointer,
12
12
  resolveKnowledgeStoreDir,
13
13
  resolveLinkDir
14
- } from "./index-12ewkms0.js";
14
+ } from "./index-23mdeh2a.js";
15
15
 
16
16
  // src/knowledge/curation-policy.ts
17
17
  import { readFile as readFile2 } from "fs/promises";