opencode-swarm 7.129.4 → 7.130.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 (43) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +75 -26
  2. package/dist/background/pr-monitor-worker.d.ts +19 -0
  3. package/dist/cli/{config-doctor-2admdwc2.js → config-doctor-489wej17.js} +2 -2
  4. package/dist/cli/{curation-policy-s08pg90f.js → curation-policy-aaz0hap6.js} +2 -2
  5. package/dist/cli/{curator-6ggzktne.js → curator-by14m5fc.js} +12 -12
  6. package/dist/cli/{curator-llm-factory-w6ep20tm.js → curator-llm-factory-7rz7mvcr.js} +12 -12
  7. package/dist/cli/{guardrail-explain-0gr9wkj0.js → guardrail-explain-mvct2n9f.js} +13 -13
  8. package/dist/cli/{guardrail-log-7cychbgs.js → guardrail-log-2cejc33f.js} +3 -3
  9. package/dist/cli/{hive-promoter-4x3470c9.js → hive-promoter-trezcyrd.js} +12 -12
  10. package/dist/cli/{index-mgz9nm4a.js → index-3rnkyb60.js} +5 -5
  11. package/dist/cli/{index-jke1z4f2.js → index-4qrbvrz5.js} +41 -38
  12. package/dist/cli/{index-7ttstfv6.js → index-5xxgeksy.js} +9 -0
  13. package/dist/cli/{index-nbdge8b6.js → index-agte9w1e.js} +2 -2
  14. package/dist/cli/{index-v4n224r1.js → index-hjar4crm.js} +1 -1
  15. package/dist/cli/{index-hn1dxcr3.js → index-j0py44fv.js} +2 -2
  16. package/dist/cli/{index-8fy8q1px.js → index-jvyn76xe.js} +3 -3
  17. package/dist/cli/{index-bz814zsm.js → index-jxha73tm.js} +1 -1
  18. package/dist/cli/{index-yxz0c97p.js → index-nr5pr54q.js} +1 -1
  19. package/dist/cli/{index-cpssctv1.js → index-p6qgjkbt.js} +1 -1
  20. package/dist/cli/{index-hbbj7ktj.js → index-s8h2cedv.js} +1 -1
  21. package/dist/cli/{index-n08cksd6.js → index-ts9wh1ba.js} +4 -4
  22. package/dist/cli/{index-x7wt1g4w.js → index-wy3q73j2.js} +2 -2
  23. package/dist/cli/{index-nhexgq4a.js → index-xa29259t.js} +1 -1
  24. package/dist/cli/{index-803bqrzq.js → index-xdx5b4s1.js} +14 -14
  25. package/dist/cli/{index-8etcyr9r.js → index-zft4hp35.js} +1 -1
  26. package/dist/cli/index.js +12 -12
  27. package/dist/cli/{knowledge-escalator-jjyn29ht.js → knowledge-escalator-1ypz0266.js} +3 -3
  28. package/dist/cli/{knowledge-events-f75n3916.js → knowledge-events-yvcczmja.js} +1 -1
  29. package/dist/cli/{knowledge-store-7sahm702.js → knowledge-store-h8bp9eje.js} +1 -1
  30. package/dist/cli/{knowledge-validator-rjwvafv3.js → knowledge-validator-sz9v1fdq.js} +4 -4
  31. package/dist/cli/{scan-cursor-518rhxyd.js → scan-cursor-k9zyt374.js} +2 -2
  32. package/dist/cli/{schema-2x7wsb0n.js → schema-fkpn2r1s.js} +1 -1
  33. package/dist/cli/{skill-generator-hk6mc7pc.js → skill-generator-a6a9jxfd.js} +5 -5
  34. package/dist/config/schema.d.ts +2 -0
  35. package/dist/hooks/pr-workflow-gate.d.ts +9 -0
  36. package/dist/hooks/pr-workflow-response-gate.d.ts +29 -6
  37. package/dist/index.js +47 -43
  38. package/dist/tools/index.d.ts +1 -0
  39. package/dist/tools/manifest.d.ts +1 -0
  40. package/dist/tools/pr-workflow-status.d.ts +28 -0
  41. package/dist/tools/prepare-pr-workflow-checkout.d.ts +7 -1
  42. package/dist/tools/tool-metadata.d.ts +8 -0
  43. package/package.json +1 -1
@@ -198,12 +198,17 @@ If scope cannot be determined, review the narrowest safe scope available and sta
198
198
  Before launching explorers (Phase 3), perform this exact standalone sequence:
199
199
 
200
200
  1. Resolve and retain the authoritative full `pr_head_sha` from PR metadata.
201
- 2. Verify the working tree is clean with `git status --porcelain`. If tracked
202
- changes exist, call `prepare_pr_workflow_checkout` with every explicit dirty
203
- tracked path (Profile A). Without the controller, do not blind-stash over
201
+ 2. Verify the working tree is clean with `git status --porcelain`. If it is
202
+ dirty at all — tracked changes, untracked files, or both call
203
+ `prepare_pr_workflow_checkout` (Profile A). The tool supports
204
+ self-discovery: call it with no `paths` argument to auto-discover and
205
+ preserve every dirty path in one step, including untracked files; an
206
+ already-clean tree returns a no-op (nothing is stashed, no receipt is
207
+ written). Pass explicit `paths` only when you already have the exact,
208
+ bounded list of dirty tracked files and want the older exact-match
209
+ contract. Without the controller (Profiles B/C), do not blind-stash over
204
210
  dirty state: surface tracked changes to the user, or abort. Do not issue
205
- `git stash` through shell. The controller never stashes untracked files;
206
- move or remove those manually, or abort.
211
+ `git stash` through shell.
207
212
  3. Fetch the PR head as one standalone command, for example
208
213
  `git fetch origin refs/pull/<N>/head`. Do not compose fetch and checkout.
209
214
  4. Prove the full commit exists locally with
@@ -223,6 +228,29 @@ the commit range in a prompt cannot substitute for this checkout because
223
228
 
224
229
  If refs cannot be fetched or checked out, state the limitation in the context pack.
225
230
 
231
+ ### Shell rules under the PR_REVIEW gate
232
+
233
+ The gate accepts one command per tool call — never compose commands with
234
+ `&&`, `;`, `|`, redirects (`>`, `>>`, `<`), or `$(...)`/`` ` `` substitution.
235
+ A single leading `cd <dir> &&` prefix and a trailing `2>&1` suffix are
236
+ tolerated, but only on read-only commands. State-transition verbs — `git
237
+ fetch`, `git checkout`, `git switch`, `git branch`, and `gh pr checkout` —
238
+ must always run bare: no `cd` prefix, no `2>&1` suffix.
239
+
240
+ Allowed read-only `git` subcommands: `status`, `log`, `show`, `diff`,
241
+ `rev-parse`, `merge-base`, `ls-files`, `grep`, `blame`, `cat-file`,
242
+ `for-each-ref`, `branch --list` (listing only — mutation flags are blocked),
243
+ `remote -v`, and `config --get`.
244
+
245
+ Prefer tools over raw shell for state that a single read-only command cannot
246
+ cover cleanly:
247
+
248
+ - `pr_workflow_status` — observe local HEAD, branch, dirty-file state,
249
+ remotes, and gate state in one read-only call.
250
+ - `gh_evidence` — bounded PR/issue/run metadata without a shell round-trip.
251
+ - If `gh` is not installed, the web fetch tool against the equivalent
252
+ `api.github.com` REST URL is the degraded read-only path.
253
+
226
254
  ## Phase 0A: Existing PR Signal Ingestion
227
255
 
228
256
  When reviewing a PR, ingest and triage every existing signal BEFORE starting
@@ -291,17 +319,20 @@ gh api --paginate repos/{owner}/{repo}/pulls/{PR_NUMBER}/comments
291
319
 
292
320
  # Review summaries (approve/request-changes/comment events)
293
321
  gh api --paginate repos/{owner}/{repo}/pulls/{PR_NUMBER}/reviews
294
-
295
- # Bot/automated reviews (Copilot, Codex, CodeRabbit, etc.)
296
- # Inline review comments — use REST API for reliable bot detection via user.type
297
- gh api --paginate repos/{owner}/{repo}/pulls/{PR_NUMBER}/comments --jq '.[] | select((.user.type // "") == "Bot" or (.user.login // "" | test("bot|copilot|coderabbit|codex"; "i")))'
298
322
  ```
299
323
 
300
- `--paginate` requests every REST page; with `--jq`, `gh` applies the filter to
301
- the combined page stream. Filter bot identities from the complete issue-comment
302
- result using the same predicate when needed. `gh pr view --json comments,reviews`
303
- is convenience-only because those fields have item caps; never use it as the
304
- authoritative “all signals” intake.
324
+ `--paginate` requests every REST page. These three calls are gate-allowed as
325
+ written; do not pipe any of them through `--jq`, `jq`, or another filter under
326
+ the PR_REVIEW gate piped commands are blocked (fail-closed on `|`). To
327
+ separate bot/automated reviews (Copilot, Codex, CodeRabbit, etc.) from human
328
+ ones, apply the same predicate in context to the JSON already returned above
329
+ — `user.type == "Bot"` or a `user.login` match against
330
+ `bot|copilot|coderabbit|codex` (case-insensitive) — instead of re-fetching
331
+ with a shell-side `--jq` filter. `gh_evidence` with `target: "pr"` and
332
+ `fields: "comments"` is the sanctioned read-only tool path for the same PR
333
+ comment data when a tool call is preferred over a raw shell command. `gh pr
334
+ view --json comments,reviews` is convenience-only because those fields have
335
+ item caps; never use it as the authoritative "all signals" intake.
305
336
 
306
337
  ### Step 2 — Classify each comment
307
338
 
@@ -369,12 +400,15 @@ The response has two independent fields. Handle each:
369
400
 
370
401
  When the PR has merge conflicts:
371
402
 
372
- 1. **Determine the PR's base branch and verify the state:**
373
- ```bash
374
- BASE_REF=$(gh pr view <PR_NUMBER> --json baseRefName --jq '.baseRefName')
375
- git fetch origin $BASE_REF
376
- gh pr view <PR_NUMBER> --json mergeable,mergeStateStatus,baseRefName,headRefName
377
- ```
403
+ 1. **Determine the PR's base branch and verify the state**, as separate
404
+ standalone commands — never with `$(...)` command substitution, which the
405
+ PR_REVIEW gate blocks:
406
+ - Read the base ref: `gh pr view <PR_NUMBER> --json baseRefName` (or
407
+ `gh_evidence` with `target: "pr"`, `fields: "baseRefName"`).
408
+ - Fetch it by its literal value, substituted for `<base-ref>`:
409
+ `git fetch origin <base-ref>`.
410
+ - Re-check merge state: `gh pr view <PR_NUMBER> --json
411
+ mergeable,mergeStateStatus,baseRefName,headRefName`.
378
412
 
379
413
  2. **Capture the affected scope without changing the branch:**
380
414
  - List the files or subsystems implicated by the conflict if GitHub exposes them,
@@ -405,19 +439,34 @@ reviewer, or another swarm may have pushed commits while you were reviewing.
405
439
  This is still read-only: capture the remote state so the handoff artifact starts
406
440
  from the right branch facts.
407
441
 
408
- ### Step 1 — Refetch and compare
442
+ ### Step 1 — Compare remote state (read-only, no post-bind fetch)
443
+
444
+ Once the PR head is bound, the gate allows only the exact bound tracking
445
+ fetch (when one is armed), and a detached review HEAD has no tracking branch
446
+ to refetch against — `git fetch origin <pr-branch>` is blocked here. Compare
447
+ state through the read-only API instead, as one standalone command:
409
448
 
410
449
  ```bash
411
- git fetch origin <pr-branch>
412
- git log HEAD..origin/<pr-branch> --oneline
450
+ gh pr view <PR_NUMBER> --json headRefOid,commits
413
451
  ```
414
452
 
453
+ or the equivalent `gh_evidence` call with `target: "pr"` and
454
+ `fields: "headRefOid,commits"`. If the returned `headRefOid` differs from the
455
+ `pr_head_sha` bound at the start of this review, the remote has moved; the
456
+ `commits` field lists every commit's message and author to date, enough to
457
+ judge relevance to the pending findings. (The legitimate place to `git fetch`
458
+ is the pre-bind sequence under "Pre-flight git ref availability" above — this
459
+ step never repeats that fetch post-bind.)
460
+
415
461
  ### Step 2 — Evaluate new commits
416
462
 
417
- For each new commit on the remote:
463
+ For each new commit on the remote (identified by comparing `headRefOid` /
464
+ `commits` above against the SHA bound at the start of the review):
418
465
 
419
- 1. **Read the commit message and diff.** Use `git show <commit> --stat` to see
420
- file scope, then `git show <commit> -- <file>` to see the actual changes.
466
+ 1. **Read the commit message from the `commits` field above.** For file
467
+ scope, use one standalone read-only call
468
+ `gh api repos/{owner}/{repo}/commits/<sha>` — rather than a local
469
+ `git show`: the new commit's object is not fetched locally post-bind.
421
470
  2. **Compare against the pending handoff scope:**
422
471
  - Does the remote commit touch the same files as the validated findings?
423
472
  - Does the remote commit appear to already address a finding you planned to
@@ -47,6 +47,12 @@ export declare class PrMonitorWorker {
47
47
  private disposed;
48
48
  /** In-memory circuit-breaker state per PR correlationId. */
49
49
  private readonly circuitBreakerMap;
50
+ /** In-memory idle-backoff counter per PR correlationId (issue #1691).
51
+ * Incremented when a poll cycle detects zero changes; reset on any change.
52
+ * Used to skip polls for PRs that have been idle for many cycles. */
53
+ private readonly idlePollCountMap;
54
+ /** In-memory total poll cycle counter for deterministic skip scheduling. */
55
+ private pollCycleCount;
50
56
  /** In-memory review decision per PR correlationId (not persisted). */
51
57
  private readonly reviewStateMap;
52
58
  /** Accumulates merged/closed PR keys during the current poll cycle for sweep cleanup. */
@@ -128,6 +134,19 @@ export declare class PrMonitorWorker {
128
134
  * circuit-breaker suspension with exponential backoff.
129
135
  */
130
136
  private handlePollError;
137
+ /**
138
+ * Determine whether to skip polling a PR based on idle backoff (issue #1691).
139
+ *
140
+ * After N consecutive no-change polls, skip cycles deterministically:
141
+ * idle 0-2: poll every cycle (no skip)
142
+ * idle 3-5: poll every 2nd cycle (50% reduction)
143
+ * idle 6-9: poll every 3rd cycle (67% reduction)
144
+ * idle 10+: poll every 5th cycle (80% reduction)
145
+ *
146
+ * Uses pollCycleCount for deterministic scheduling (no random skips).
147
+ * Any detected change resets the counter to 0.
148
+ */
149
+ private shouldSkipIdlePoll;
131
150
  /**
132
151
  * Publish an event to the global event bus and optional callback.
133
152
  */
@@ -12,8 +12,8 @@ import {
12
12
  shouldRunOnStartup,
13
13
  writeBackupArtifact,
14
14
  writeDoctorArtifact
15
- } from "./index-cpssctv1.js";
16
- import"./index-7ttstfv6.js";
15
+ } from "./index-p6qgjkbt.js";
16
+ import"./index-5xxgeksy.js";
17
17
  import"./index-bk5tah7q.js";
18
18
  import"./index-z6xqpmqg.js";
19
19
  import"./index-zjygnfay.js";
@@ -4,9 +4,9 @@ import {
4
4
  authorizeCuration,
5
5
  buildConfigFingerprintInput,
6
6
  readCohortConfigFingerprint
7
- } from "./index-nhexgq4a.js";
7
+ } from "./index-xa29259t.js";
8
8
  import"./index-rtry5xyf.js";
9
- import"./index-bz814zsm.js";
9
+ import"./index-jxha73tm.js";
10
10
  import"./index-ae75rja9.js";
11
11
  import"./index-q27bajqb.js";
12
12
  import"./index-zgwm4ryv.js";
@@ -14,31 +14,31 @@ import {
14
14
  runCuratorInit,
15
15
  runCuratorPhase,
16
16
  writeCuratorSummary
17
- } from "./index-jke1z4f2.js";
18
- import"./index-v4n224r1.js";
19
- import"./index-cpssctv1.js";
17
+ } from "./index-4qrbvrz5.js";
18
+ import"./index-hjar4crm.js";
19
+ import"./index-p6qgjkbt.js";
20
20
  import"./index-kzvwb2se.js";
21
21
  import"./index-4905hd2m.js";
22
22
  import"./index-134d35c1.js";
23
23
  import"./index-9f71ye47.js";
24
- import"./index-8fy8q1px.js";
25
- import"./index-mgz9nm4a.js";
26
- import"./index-hbbj7ktj.js";
24
+ import"./index-jvyn76xe.js";
25
+ import"./index-3rnkyb60.js";
26
+ import"./index-s8h2cedv.js";
27
27
  import"./index-vxv732ex.js";
28
28
  import"./index-c8s9a3zh.js";
29
29
  import"./index-9ss2m4rs.js";
30
30
  import"./index-g4mnf3p5.js";
31
- import"./index-x7wt1g4w.js";
32
- import"./index-nhexgq4a.js";
31
+ import"./index-wy3q73j2.js";
32
+ import"./index-xa29259t.js";
33
33
  import"./index-rtry5xyf.js";
34
- import"./index-n08cksd6.js";
35
- import"./index-bz814zsm.js";
34
+ import"./index-ts9wh1ba.js";
35
+ import"./index-jxha73tm.js";
36
36
  import"./index-ae75rja9.js";
37
37
  import"./index-q27bajqb.js";
38
- import"./index-yxz0c97p.js";
38
+ import"./index-nr5pr54q.js";
39
39
  import"./index-k5jrywpr.js";
40
40
  import"./index-n832052r.js";
41
- import"./index-7ttstfv6.js";
41
+ import"./index-5xxgeksy.js";
42
42
  import"./index-bk5tah7q.js";
43
43
  import"./index-8fwhhayc.js";
44
44
  import"./index-q1exe2b3.js";
@@ -1,31 +1,31 @@
1
1
  // @bun
2
2
  import {
3
3
  createCuratorLLMDelegate
4
- } from "./index-jke1z4f2.js";
5
- import"./index-v4n224r1.js";
6
- import"./index-cpssctv1.js";
4
+ } from "./index-4qrbvrz5.js";
5
+ import"./index-hjar4crm.js";
6
+ import"./index-p6qgjkbt.js";
7
7
  import"./index-kzvwb2se.js";
8
8
  import"./index-4905hd2m.js";
9
9
  import"./index-134d35c1.js";
10
10
  import"./index-9f71ye47.js";
11
- import"./index-8fy8q1px.js";
12
- import"./index-mgz9nm4a.js";
13
- import"./index-hbbj7ktj.js";
11
+ import"./index-jvyn76xe.js";
12
+ import"./index-3rnkyb60.js";
13
+ import"./index-s8h2cedv.js";
14
14
  import"./index-vxv732ex.js";
15
15
  import"./index-c8s9a3zh.js";
16
16
  import"./index-9ss2m4rs.js";
17
17
  import"./index-g4mnf3p5.js";
18
- import"./index-x7wt1g4w.js";
19
- import"./index-nhexgq4a.js";
18
+ import"./index-wy3q73j2.js";
19
+ import"./index-xa29259t.js";
20
20
  import"./index-rtry5xyf.js";
21
- import"./index-n08cksd6.js";
22
- import"./index-bz814zsm.js";
21
+ import"./index-ts9wh1ba.js";
22
+ import"./index-jxha73tm.js";
23
23
  import"./index-ae75rja9.js";
24
24
  import"./index-q27bajqb.js";
25
- import"./index-yxz0c97p.js";
25
+ import"./index-nr5pr54q.js";
26
26
  import"./index-k5jrywpr.js";
27
27
  import"./index-n832052r.js";
28
- import"./index-7ttstfv6.js";
28
+ import"./index-5xxgeksy.js";
29
29
  import"./index-bk5tah7q.js";
30
30
  import"./index-8fwhhayc.js";
31
31
  import"./index-q1exe2b3.js";
@@ -1,32 +1,32 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-hn1dxcr3.js";
5
- import"./index-jke1z4f2.js";
6
- import"./index-v4n224r1.js";
7
- import"./index-cpssctv1.js";
4
+ } from "./index-j0py44fv.js";
5
+ import"./index-4qrbvrz5.js";
6
+ import"./index-hjar4crm.js";
7
+ import"./index-p6qgjkbt.js";
8
8
  import"./index-kzvwb2se.js";
9
9
  import"./index-4905hd2m.js";
10
10
  import"./index-134d35c1.js";
11
11
  import"./index-9f71ye47.js";
12
- import"./index-8fy8q1px.js";
13
- import"./index-mgz9nm4a.js";
14
- import"./index-hbbj7ktj.js";
12
+ import"./index-jvyn76xe.js";
13
+ import"./index-3rnkyb60.js";
14
+ import"./index-s8h2cedv.js";
15
15
  import"./index-vxv732ex.js";
16
16
  import"./index-c8s9a3zh.js";
17
17
  import"./index-9ss2m4rs.js";
18
18
  import"./index-g4mnf3p5.js";
19
- import"./index-x7wt1g4w.js";
20
- import"./index-nhexgq4a.js";
19
+ import"./index-wy3q73j2.js";
20
+ import"./index-xa29259t.js";
21
21
  import"./index-rtry5xyf.js";
22
- import"./index-n08cksd6.js";
23
- import"./index-bz814zsm.js";
22
+ import"./index-ts9wh1ba.js";
23
+ import"./index-jxha73tm.js";
24
24
  import"./index-ae75rja9.js";
25
25
  import"./index-q27bajqb.js";
26
- import"./index-yxz0c97p.js";
26
+ import"./index-nr5pr54q.js";
27
27
  import"./index-k5jrywpr.js";
28
28
  import"./index-n832052r.js";
29
- import"./index-7ttstfv6.js";
29
+ import"./index-5xxgeksy.js";
30
30
  import"./index-bk5tah7q.js";
31
31
  import"./index-8fwhhayc.js";
32
32
  import"./index-q1exe2b3.js";
@@ -1,9 +1,9 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailLog
4
- } from "./index-8etcyr9r.js";
5
- import"./index-v4n224r1.js";
6
- import"./index-7ttstfv6.js";
4
+ } from "./index-zft4hp35.js";
5
+ import"./index-hjar4crm.js";
6
+ import"./index-5xxgeksy.js";
7
7
  import"./index-bk5tah7q.js";
8
8
  import"./index-z6xqpmqg.js";
9
9
  import"./index-zjygnfay.js";
@@ -7,33 +7,33 @@ import {
7
7
  isHiveEligible,
8
8
  promoteFromSwarm,
9
9
  promoteToHive
10
- } from "./index-jke1z4f2.js";
11
- import"./index-v4n224r1.js";
12
- import"./index-cpssctv1.js";
10
+ } from "./index-4qrbvrz5.js";
11
+ import"./index-hjar4crm.js";
12
+ import"./index-p6qgjkbt.js";
13
13
  import"./index-kzvwb2se.js";
14
14
  import"./index-4905hd2m.js";
15
15
  import"./index-134d35c1.js";
16
16
  import"./index-9f71ye47.js";
17
- import"./index-8fy8q1px.js";
18
- import"./index-mgz9nm4a.js";
19
- import"./index-hbbj7ktj.js";
17
+ import"./index-jvyn76xe.js";
18
+ import"./index-3rnkyb60.js";
19
+ import"./index-s8h2cedv.js";
20
20
  import"./index-vxv732ex.js";
21
21
  import"./index-c8s9a3zh.js";
22
22
  import"./index-9ss2m4rs.js";
23
23
  import"./index-g4mnf3p5.js";
24
- import"./index-x7wt1g4w.js";
25
- import"./index-nhexgq4a.js";
24
+ import"./index-wy3q73j2.js";
25
+ import"./index-xa29259t.js";
26
26
  import"./index-rtry5xyf.js";
27
27
  import {
28
28
  resolveHiveKnowledgePath
29
- } from "./index-n08cksd6.js";
30
- import"./index-bz814zsm.js";
29
+ } from "./index-ts9wh1ba.js";
30
+ import"./index-jxha73tm.js";
31
31
  import"./index-ae75rja9.js";
32
32
  import"./index-q27bajqb.js";
33
- import"./index-yxz0c97p.js";
33
+ import"./index-nr5pr54q.js";
34
34
  import"./index-k5jrywpr.js";
35
35
  import"./index-n832052r.js";
36
- import"./index-7ttstfv6.js";
36
+ import"./index-5xxgeksy.js";
37
37
  import"./index-bk5tah7q.js";
38
38
  import"./index-8fwhhayc.js";
39
39
  import"./index-q1exe2b3.js";
@@ -6,13 +6,13 @@ import {
6
6
  resolveSwarmKnowledgePath,
7
7
  transactKnowledge,
8
8
  wordBigrams
9
- } from "./index-n08cksd6.js";
9
+ } from "./index-ts9wh1ba.js";
10
10
  import {
11
11
  countEntryContradictionsInWindow,
12
12
  countEntryViolationsInWindow,
13
13
  readKnowledgeEvents,
14
14
  recordKnowledgeEvent
15
- } from "./index-bz814zsm.js";
15
+ } from "./index-jxha73tm.js";
16
16
  import {
17
17
  init_knowledge_types,
18
18
  isActiveStatus
@@ -190,11 +190,11 @@ async function maybeQuarantineOnContradiction(directory, entryId, threshold, win
190
190
  alreadyInactive: true
191
191
  };
192
192
  }
193
- const { quarantineEntry } = await import("./knowledge-validator-rjwvafv3.js");
193
+ const { quarantineEntry } = await import("./knowledge-validator-sz9v1fdq.js");
194
194
  let policyConfig;
195
195
  try {
196
- const { KnowledgeConfigSchema } = await import("./schema-2x7wsb0n.js");
197
- const { loadPluginConfigWithMeta } = await import("./index-nbdge8b6.js");
196
+ const { KnowledgeConfigSchema } = await import("./schema-fkpn2r1s.js");
197
+ const { loadPluginConfigWithMeta } = await import("./index-agte9w1e.js");
198
198
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
199
199
  policyConfig = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
200
200
  } catch {