opencode-swarm 7.135.0 → 7.135.2

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 (86) hide show
  1. package/.opencode/skills/swarm-pr-feedback/SKILL.md +24 -21
  2. package/.opencode/skills/swarm-pr-review/SKILL.md +55 -42
  3. package/dist/agents/explorer.d.ts +1 -1
  4. package/dist/background/candidate-contract.d.ts +113 -0
  5. package/dist/background/candidate-parser.d.ts +8 -29
  6. package/dist/background/pr-review-trigger-contract.d.ts +197 -0
  7. package/dist/background/workspace-snapshot.d.ts +26 -0
  8. package/dist/cli/{config-doctor-j1x63x87.js → config-doctor-pj3yvxdb.js} +2 -2
  9. package/dist/cli/{core-fvqp2gnn.js → core-4va9z2ng.js} +2 -2
  10. package/dist/cli/{curation-policy-xg9zw0ep.js → curation-policy-b2caf3v3.js} +5 -5
  11. package/dist/cli/{curator-drift-9q6f85bm.js → curator-drift-2ta83hss.js} +2 -2
  12. package/dist/cli/{curator-llm-factory-4mat6cq5.js → curator-llm-factory-9983528d.js} +26 -26
  13. package/dist/cli/{curator-yc06cmnz.js → curator-r1s2mwf2.js} +26 -26
  14. package/dist/cli/{dispatch-gxbeb2ps.js → dispatch-wtk6dxky.js} +2 -2
  15. package/dist/cli/{evidence-summary-service-0cczdmjv.js → evidence-summary-service-feby8ny0.js} +5 -5
  16. package/dist/cli/{explorer-jp0nen03.js → explorer-15gqzxh8.js} +1 -1
  17. package/dist/cli/{gate-evidence-8zrwdj69.js → gate-evidence-84b03mb4.js} +3 -3
  18. package/dist/cli/guardrail-explain-pwxvg5n0.js +57 -0
  19. package/dist/cli/{guardrail-log-7egxrxap.js → guardrail-log-yzpz8b7t.js} +4 -4
  20. package/dist/cli/{hive-promoter-7s3gzajy.js → hive-promoter-586dhndj.js} +26 -26
  21. package/dist/cli/{index-nrvs08pr.js → index-02cqjna3.js} +6 -6
  22. package/dist/cli/{index-grxkbbc5.js → index-2pxk6qg4.js} +1 -1
  23. package/dist/cli/{index-crw4n55v.js → index-340chr1e.js} +1612 -166
  24. package/dist/cli/{index-g0raqavt.js → index-3m7kpnqf.js} +2 -2
  25. package/dist/cli/{index-z085b4ka.js → index-3xbx305x.js} +1 -1
  26. package/dist/cli/{index-b4z7s917.js → index-73dfyfhq.js} +1 -1
  27. package/dist/cli/{index-ens0gt38.js → index-7pnvf04s.js} +8 -8
  28. package/dist/cli/{index-x88w0cp5.js → index-8gw8p7yh.js} +3 -3
  29. package/dist/cli/{index-e8w62fgs.js → index-9c3gf2wd.js} +1 -1
  30. package/dist/cli/{index-vf6e8ame.js → index-b0eva00y.js} +2 -2
  31. package/dist/cli/{index-2ghkk9ve.js → index-bfd4xfpp.js} +3 -3
  32. package/dist/cli/{index-6kmmdtdp.js → index-bs4m85v1.js} +2 -2
  33. package/dist/cli/{index-86wdrskb.js → index-ckdva4rs.js} +5 -5
  34. package/dist/cli/{index-96b78s7p.js → index-cwdy5vw9.js} +28 -28
  35. package/dist/cli/{index-44zgqvqh.js → index-d5psymdk.js} +4 -4
  36. package/dist/cli/{index-vxv732ex.js → index-dg1njnms.js} +7 -4
  37. package/dist/cli/{index-yhba8swx.js → index-dzyjb33e.js} +1 -1
  38. package/dist/cli/{index-xg9repnx.js → index-ey29aap6.js} +1 -1
  39. package/dist/cli/{index-q9mq5tv3.js → index-g3meqrsg.js} +2 -2
  40. package/dist/cli/{index-7an2qn0s.js → index-hdy2nd5h.js} +4 -4
  41. package/dist/cli/{index-4yv2rn8q.js → index-hvrrq3f3.js} +1 -1
  42. package/dist/cli/{index-337r9pkr.js → index-j0kte6gd.js} +1 -1
  43. package/dist/cli/{index-ctvnb76s.js → index-j92ser8n.js} +1 -1
  44. package/dist/cli/{index-997d6p42.js → index-jgkjxpdh.js} +4 -4
  45. package/dist/cli/{index-13xxjfhn.js → index-m0ynxkaa.js} +3 -3
  46. package/dist/cli/{index-a4972t0f.js → index-qqkw794p.js} +3 -3
  47. package/dist/cli/{index-b7p0mp2q.js → index-ryqnn3nv.js} +1 -1
  48. package/dist/cli/{index-ny93srnd.js → index-vg3yx648.js} +1 -1
  49. package/dist/cli/{index-qe3v54nb.js → index-y111zefa.js} +64 -23
  50. package/dist/cli/{index-3nasn371.js → index-y6a7gjtj.js} +126 -42
  51. package/dist/cli/index.js +26 -26
  52. package/dist/cli/{knowledge-escalator-d76a090n.js → knowledge-escalator-w7by1m8m.js} +6 -6
  53. package/dist/cli/{knowledge-events-3mcg1a0e.js → knowledge-events-n8xxsay3.js} +4 -4
  54. package/dist/cli/{knowledge-link-etrfntkd.js → knowledge-link-mm1w967j.js} +3 -3
  55. package/dist/cli/{knowledge-store-xtt4sede.js → knowledge-store-xzmvfnx3.js} +4 -4
  56. package/dist/cli/{knowledge-validator-h1k7ymtd.js → knowledge-validator-5q1amsq6.js} +7 -7
  57. package/dist/cli/{pending-delegations-4z3tkkct.js → pending-delegations-mt5gs1bt.js} +3 -3
  58. package/dist/cli/{pr-subscriptions-29j794kd.js → pr-subscriptions-v5xd3j6d.js} +3 -3
  59. package/dist/cli/{scan-cursor-stztfv7d.js → scan-cursor-1q1zmt4b.js} +5 -5
  60. package/dist/cli/{schema-tbq2srrh.js → schema-8mtsfspm.js} +1 -1
  61. package/dist/cli/{scope-persistence-7wydjzx8.js → scope-persistence-h2fpgxww.js} +2 -2
  62. package/dist/cli/{skill-generator-02q1qdf0.js → skill-generator-54xbjgak.js} +8 -8
  63. package/dist/cli/{workspace-snapshot-9h5za0s6.js → workspace-snapshot-jmyamqnv.js} +6 -1
  64. package/dist/cli/{worktree-collision-ownership-dtwr0xj4.js → worktree-collision-ownership-15hymf1y.js} +5 -5
  65. package/dist/commands/registry.d.ts +1 -1
  66. package/dist/hooks/pr-workflow-gate.d.ts +30 -4
  67. package/dist/hooks/repo-graph-builder.d.ts +18 -0
  68. package/dist/hooks/scope-guard.d.ts +11 -4
  69. package/dist/index.js +395 -391
  70. package/dist/scope/scope-binding.d.ts +68 -0
  71. package/dist/session/snapshot-reader.d.ts +6 -0
  72. package/dist/state.d.ts +118 -0
  73. package/dist/tools/convene-council.d.ts +3 -3
  74. package/dist/tools/dispatch-lanes.d.ts +65 -7
  75. package/dist/tools/repo-graph/builder.d.ts +20 -2
  76. package/dist/tools/repo-graph/incremental.d.ts +18 -1
  77. package/dist/tools/repo-graph/ontology.d.ts +8 -0
  78. package/dist/tools/repo-graph/types.d.ts +62 -1
  79. package/dist/tools/repo-graph.d.ts +1 -1
  80. package/dist/tools/submit-phase-council-verdicts.d.ts +3 -3
  81. package/dist/tools/write-final-council-evidence.d.ts +3 -3
  82. package/dist/tools/write-pr-review-trigger-eval.d.ts +34 -63
  83. package/dist/turbo/lean/lane-scope.d.ts +120 -0
  84. package/dist/turbo/lean/runner.d.ts +66 -4
  85. package/package.json +1 -1
  86. package/dist/cli/guardrail-explain-zmbxwh3s.js +0 -57
@@ -1,4 +1,8 @@
1
1
  // @bun
2
+ import {
3
+ bunSpawn
4
+ } from "./index-y111zefa.js";
5
+
2
6
  // src/background/workspace-snapshot.ts
3
7
  import * as child_process from "child_process";
4
8
  import { createHash } from "crypto";
@@ -10,6 +14,43 @@ var REVISION_MAX_FILES = 5000;
10
14
  var REVISION_MAX_TOTAL_BYTES = 64 * 1024 * 1024;
11
15
  var REVISION_READ_CHUNK_BYTES = 64 * 1024;
12
16
  var REVISION_YIELD_EVERY_CHUNKS = 16;
17
+ async function readBoundedGitOutput(stream, maxBytes, onOverflow) {
18
+ const reader = stream.getReader();
19
+ const chunks = [];
20
+ let totalBytes = 0;
21
+ try {
22
+ for (;; ) {
23
+ const { done, value } = await reader.read();
24
+ if (done)
25
+ break;
26
+ if (!value)
27
+ continue;
28
+ const remaining = maxBytes - totalBytes;
29
+ if (value.byteLength > remaining) {
30
+ if (remaining > 0)
31
+ chunks.push(value.slice(0, remaining));
32
+ onOverflow();
33
+ return { text: "", truncated: true };
34
+ }
35
+ chunks.push(value);
36
+ totalBytes += value.byteLength;
37
+ }
38
+ const joined = new Uint8Array(totalBytes);
39
+ let offset = 0;
40
+ for (const chunk of chunks) {
41
+ joined.set(chunk, offset);
42
+ offset += chunk.byteLength;
43
+ }
44
+ return { text: new TextDecoder().decode(joined), truncated: false };
45
+ } finally {
46
+ try {
47
+ await reader.cancel();
48
+ } catch {}
49
+ try {
50
+ reader.releaseLock();
51
+ } catch {}
52
+ }
53
+ }
13
54
  function runGit(directory, args, timeoutMs = GIT_SNAPSHOT_TIMEOUT_MS) {
14
55
  const result = _internals.spawnSync("git", ["-C", directory, ...args], {
15
56
  cwd: directory,
@@ -22,51 +63,55 @@ function runGit(directory, args, timeoutMs = GIT_SNAPSHOT_TIMEOUT_MS) {
22
63
  return null;
23
64
  return typeof result.stdout === "string" ? result.stdout.trimEnd() : null;
24
65
  }
25
- async function runGitAsync(directory, args, timeoutMs = GIT_SNAPSHOT_TIMEOUT_MS) {
26
- return await new Promise((resolve2) => {
27
- let settled = false;
28
- let stdout = "";
29
- let stderrBytes = 0;
30
- let timeout;
31
- let child;
32
- const finish = (value) => {
33
- if (settled)
34
- return;
35
- settled = true;
36
- if (timeout)
37
- clearTimeout(timeout);
66
+ async function runGitAsync(directory, args, timeoutMs = _internals.gitTimeoutMs) {
67
+ let proc;
68
+ let timeout;
69
+ try {
70
+ const options = {
71
+ cwd: directory,
72
+ stdin: "ignore",
73
+ stdout: "pipe",
74
+ stderr: "pipe",
75
+ timeout: timeoutMs,
76
+ killProcessTree: true
77
+ };
78
+ proc = _internals.bunSpawn(["git", "-C", directory, ...args], options);
79
+ let overflowed = false;
80
+ const stopOverflow = () => {
81
+ overflowed = true;
38
82
  try {
39
- child?.kill();
83
+ proc?.kill("SIGKILL");
40
84
  } catch {}
41
- resolve2(value);
42
85
  };
43
- try {
44
- child = child_process.spawn("git", ["-C", directory, ...args], {
45
- cwd: directory,
46
- stdio: ["ignore", "pipe", "pipe"],
47
- windowsHide: true
48
- });
49
- } catch {
50
- finish(null);
51
- return;
86
+ const completed = Promise.all([
87
+ proc.exited,
88
+ readBoundedGitOutput(proc.stdout, GIT_SNAPSHOT_MAX_BUFFER, stopOverflow),
89
+ readBoundedGitOutput(proc.stderr, GIT_SNAPSHOT_MAX_BUFFER, stopOverflow)
90
+ ]);
91
+ const result = await Promise.race([
92
+ completed.then(([exitCode, stdout, stderr]) => ({
93
+ kind: "completed",
94
+ exitCode,
95
+ stdout,
96
+ stderr
97
+ })),
98
+ new Promise((resolve2) => {
99
+ timeout = setTimeout(() => resolve2({ kind: "timeout" }), timeoutMs);
100
+ })
101
+ ]);
102
+ if (result.kind === "timeout" || overflowed || result.exitCode !== 0 || result.stdout.truncated || result.stderr.truncated) {
103
+ return null;
52
104
  }
53
- timeout = setTimeout(() => finish(null), timeoutMs);
54
- child.stdout?.setEncoding("utf-8");
55
- child.stdout?.on("data", (chunk) => {
56
- stdout += chunk;
57
- if (Buffer.byteLength(stdout, "utf-8") > GIT_SNAPSHOT_MAX_BUFFER) {
58
- finish(null);
59
- }
60
- });
61
- child.stderr?.on("data", (chunk) => {
62
- stderrBytes += chunk.length;
63
- if (stderrBytes > GIT_SNAPSHOT_MAX_BUFFER) {
64
- finish(null);
65
- }
66
- });
67
- child.once("error", () => finish(null));
68
- child.once("close", (code) => finish(code === 0 ? stdout.trimEnd() : null));
69
- });
105
+ return result.stdout.text.trimEnd();
106
+ } catch {
107
+ return null;
108
+ } finally {
109
+ if (timeout)
110
+ clearTimeout(timeout);
111
+ try {
112
+ proc?.kill("SIGKILL");
113
+ } catch {}
114
+ }
70
115
  }
71
116
  function readGitTextAtRevision(directory, revision, relativePath) {
72
117
  if (!isSafeGitRevisionToken(revision) || !/^\.?(?:[A-Za-z0-9][A-Za-z0-9._-]*\/)*[A-Za-z0-9][A-Za-z0-9._-]*$/.test(relativePath) || relativePath.split("/").includes("..")) {
@@ -447,6 +492,43 @@ async function resolveRemoteRefsContainingHeadAsync(directory, headSha) {
447
492
  return null;
448
493
  return output.split(/\r?\n/).map((line) => line.trim().split("\t")).filter(([ref, objectName]) => ref?.startsWith("refs/remotes/") && !ref.endsWith("/HEAD") && objectName?.toLowerCase() === headSha.toLowerCase()).map(([ref]) => ref);
449
494
  }
495
+ async function resolvePrFeedbackTrackingCandidatesAsync(directory, headSha) {
496
+ const [localOutput, remoteRefs] = await Promise.all([
497
+ runGitAsync(directory, [
498
+ "for-each-ref",
499
+ "--format=%(refname)%09%(objectname)%09%(upstream)",
500
+ "refs/heads"
501
+ ]),
502
+ resolveRemoteRefsContainingHeadAsync(directory, headSha)
503
+ ]);
504
+ if (localOutput === null || remoteRefs === null)
505
+ return null;
506
+ const exactRemoteRefs = new Set(remoteRefs);
507
+ const local = localOutput.split(/\r?\n/).map((line) => line.trim().split("\t")).flatMap(([ref, objectName, upstream, ...extras]) => {
508
+ if (extras.length > 0 || !ref?.startsWith("refs/heads/") || objectName?.toLowerCase() !== headSha.toLowerCase() || !upstream?.startsWith("refs/remotes/") || !exactRemoteRefs.has(upstream)) {
509
+ return [];
510
+ }
511
+ return [
512
+ {
513
+ kind: "local",
514
+ branchName: ref.slice("refs/heads/".length),
515
+ remoteTrackingRef: upstream
516
+ }
517
+ ];
518
+ });
519
+ return {
520
+ local,
521
+ remote: remoteRefs.map((remoteTrackingRef) => ({
522
+ kind: "remote",
523
+ remoteTrackingRef
524
+ }))
525
+ };
526
+ }
527
+ async function switchPrFeedbackTrackingCandidateAsync(directory, candidate) {
528
+ const args = candidate.kind === "local" ? ["switch", "--no-guess", "--", candidate.branchName] : ["switch", "--track", "--", candidate.remoteTrackingRef];
529
+ const output = await runGitAsync(directory, args);
530
+ return output !== null;
531
+ }
450
532
  function resolvePrWorkflowRevisionDigest(directory, baseHeadSha) {
451
533
  const projectRoot = path.resolve(directory);
452
534
  const baseHead = runGit(projectRoot, [
@@ -821,8 +903,10 @@ function digest(text) {
821
903
  }
822
904
  var _internals = {
823
905
  spawnSync: child_process.spawnSync,
906
+ bunSpawn,
907
+ gitTimeoutMs: GIT_SNAPSHOT_TIMEOUT_MS,
824
908
  yieldControl: () => new Promise((resolve2) => setImmediate(resolve2)),
825
909
  parsePorcelainV2Snapshot
826
910
  };
827
911
 
828
- export { readGitTextAtRevision, resolveCurrentGitHead, resolveCurrentGitHeadAsync, resolveExactMergeBase, resolveExactMergeBaseAsync, resolvePrReviewDiffStats, resolvePrReviewDiffStatsAsync, resolveCurrentUpstreamRemoteRef, resolveCurrentUpstreamPushTarget, resolveCurrentUpstreamPushTargetAsync, resolveExactRemoteBranchHead, resolveExactRemoteBranchHeadAsync, resolveGitControlStateDigest, resolveGitControlStateDigestAsync, resolveIsWorkingTreeClean, resolveIsWorkingTreeCleanAsync, resolveCommitCountSince, resolveCommitCountSinceAsync, resolveIsExactSingleChildCommit, resolveIsExactSingleChildCommitAsync, resolveRemoteRefsContainingHead, resolveRemoteRefsContainingHeadAsync, resolvePrWorkflowRevisionDigest, resolvePrWorkflowRevisionDigestAsync, parsePorcelainPaths, parsePorcelainV2Snapshot, captureWorkspaceSnapshot, changedFilesSinceSnapshot, workspaceSnapshotMatches, compareWorkspaceSnapshot, compareWorkspaceSnapshots, digest, _internals };
912
+ export { readGitTextAtRevision, resolveCurrentGitHead, resolveCurrentGitHeadAsync, resolveExactMergeBase, resolveExactMergeBaseAsync, resolvePrReviewDiffStats, resolvePrReviewDiffStatsAsync, resolveCurrentUpstreamRemoteRef, resolveCurrentUpstreamPushTarget, resolveCurrentUpstreamPushTargetAsync, resolveExactRemoteBranchHead, resolveExactRemoteBranchHeadAsync, resolveGitControlStateDigest, resolveGitControlStateDigestAsync, resolveIsWorkingTreeClean, resolveIsWorkingTreeCleanAsync, resolveCommitCountSince, resolveCommitCountSinceAsync, resolveIsExactSingleChildCommit, resolveIsExactSingleChildCommitAsync, resolveRemoteRefsContainingHead, resolveRemoteRefsContainingHeadAsync, resolvePrFeedbackTrackingCandidatesAsync, switchPrFeedbackTrackingCandidateAsync, resolvePrWorkflowRevisionDigest, resolvePrWorkflowRevisionDigestAsync, parsePorcelainPaths, parsePorcelainV2Snapshot, captureWorkspaceSnapshot, changedFilesSinceSnapshot, workspaceSnapshotMatches, compareWorkspaceSnapshot, compareWorkspaceSnapshots, digest, _internals };
package/dist/cli/index.js CHANGED
@@ -6,30 +6,30 @@ import {
6
6
  getPluginConfigDir,
7
7
  getPluginLockFilePaths,
8
8
  resolveCommand
9
- } from "./index-crw4n55v.js";
10
- import"./index-13xxjfhn.js";
11
- import"./index-grxkbbc5.js";
12
- import"./index-ctvnb76s.js";
13
- import"./index-ens0gt38.js";
9
+ } from "./index-340chr1e.js";
10
+ import"./index-m0ynxkaa.js";
11
+ import"./index-2pxk6qg4.js";
12
+ import"./index-j92ser8n.js";
13
+ import"./index-7pnvf04s.js";
14
14
  import"./index-4905hd2m.js";
15
15
  import"./index-134d35c1.js";
16
- import"./index-a4972t0f.js";
17
- import"./index-86wdrskb.js";
18
- import"./index-vf6e8ame.js";
19
- import"./index-vxv732ex.js";
16
+ import"./index-qqkw794p.js";
17
+ import"./index-ckdva4rs.js";
18
+ import"./index-b0eva00y.js";
19
+ import"./index-dg1njnms.js";
20
20
  import"./index-c8s9a3zh.js";
21
21
  import"./index-9ss2m4rs.js";
22
- import"./index-b7p0mp2q.js";
23
- import"./index-z085b4ka.js";
24
- import"./index-997d6p42.js";
25
- import"./index-g0raqavt.js";
22
+ import"./index-ryqnn3nv.js";
23
+ import"./index-3xbx305x.js";
24
+ import"./index-jgkjxpdh.js";
25
+ import"./index-3m7kpnqf.js";
26
26
  import"./index-rtry5xyf.js";
27
- import"./index-nrvs08pr.js";
28
- import"./index-x88w0cp5.js";
27
+ import"./index-02cqjna3.js";
28
+ import"./index-8gw8p7yh.js";
29
29
  import"./index-ae75rja9.js";
30
- import"./index-yhba8swx.js";
31
- import"./index-xg9repnx.js";
32
- import"./index-e8w62fgs.js";
30
+ import"./index-dzyjb33e.js";
31
+ import"./index-ey29aap6.js";
32
+ import"./index-9c3gf2wd.js";
33
33
  import"./index-k5jrywpr.js";
34
34
  import"./index-n832052r.js";
35
35
  import {
@@ -37,19 +37,19 @@ import {
37
37
  init_constants,
38
38
  init_package,
39
39
  package_default
40
- } from "./index-337r9pkr.js";
40
+ } from "./index-j0kte6gd.js";
41
41
  import"./index-bk5tah7q.js";
42
42
  import"./index-8fwhhayc.js";
43
43
  import"./index-q1exe2b3.js";
44
- import"./index-ny93srnd.js";
44
+ import"./index-vg3yx648.js";
45
45
  import"./index-wxyxf0bd.js";
46
46
  import"./index-1kz6da87.js";
47
- import"./index-b4z7s917.js";
47
+ import"./index-73dfyfhq.js";
48
48
  import"./index-b8zgtz81.js";
49
- import"./index-44zgqvqh.js";
49
+ import"./index-d5psymdk.js";
50
50
  import"./index-4rhhvd1a.js";
51
- import"./index-7an2qn0s.js";
52
- import"./index-2ghkk9ve.js";
51
+ import"./index-hdy2nd5h.js";
52
+ import"./index-bfd4xfpp.js";
53
53
  import"./index-fsrp8wp3.js";
54
54
  import"./index-09b9zncg.js";
55
55
  import"./index-7g4c7s5r.js";
@@ -57,9 +57,9 @@ import"./index-7a2hm51h.js";
57
57
  import"./index-bpmtbmy9.js";
58
58
  import"./index-z6xqpmqg.js";
59
59
  import"./index-zjygnfay.js";
60
- import"./index-qe3v54nb.js";
61
60
  import"./index-zgwm4ryv.js";
62
- import"./index-3nasn371.js";
61
+ import"./index-y6a7gjtj.js";
62
+ import"./index-y111zefa.js";
63
63
  import"./index-a76rekgs.js";
64
64
 
65
65
  // src/cli/index.ts
@@ -8,19 +8,19 @@ import {
8
8
  maybeEscalateOnViolation,
9
9
  maybeQuarantineOnContradiction,
10
10
  readRecentEscalations
11
- } from "./index-86wdrskb.js";
12
- import"./index-nrvs08pr.js";
13
- import"./index-x88w0cp5.js";
11
+ } from "./index-ckdva4rs.js";
12
+ import"./index-02cqjna3.js";
13
+ import"./index-8gw8p7yh.js";
14
14
  import"./index-ae75rja9.js";
15
- import"./index-yhba8swx.js";
16
- import"./index-xg9repnx.js";
15
+ import"./index-dzyjb33e.js";
16
+ import"./index-ey29aap6.js";
17
17
  import"./index-bk5tah7q.js";
18
18
  import"./index-fsrp8wp3.js";
19
19
  import"./index-09b9zncg.js";
20
20
  import"./index-7g4c7s5r.js";
21
21
  import"./index-7a2hm51h.js";
22
- import"./index-qe3v54nb.js";
23
22
  import"./index-zgwm4ryv.js";
23
+ import"./index-y111zefa.js";
24
24
  import"./index-a76rekgs.js";
25
25
  export {
26
26
  readRecentEscalations,
@@ -26,16 +26,16 @@ import {
26
26
  resolveKnowledgeCounterBaselinePath,
27
27
  resolveKnowledgeEventsPath,
28
28
  resolveLegacyApplicationLogPath
29
- } from "./index-x88w0cp5.js";
29
+ } from "./index-8gw8p7yh.js";
30
30
  import"./index-ae75rja9.js";
31
- import"./index-yhba8swx.js";
32
- import"./index-xg9repnx.js";
31
+ import"./index-dzyjb33e.js";
32
+ import"./index-ey29aap6.js";
33
33
  import"./index-fsrp8wp3.js";
34
34
  import"./index-09b9zncg.js";
35
35
  import"./index-7g4c7s5r.js";
36
36
  import"./index-7a2hm51h.js";
37
- import"./index-qe3v54nb.js";
38
37
  import"./index-zgwm4ryv.js";
38
+ import"./index-y111zefa.js";
39
39
  import"./index-a76rekgs.js";
40
40
  export {
41
41
  resolveLegacyApplicationLogPath,
@@ -12,14 +12,14 @@ import {
12
12
  resolveLinkDir,
13
13
  sanitizeLinkId,
14
14
  writeLinkPointer
15
- } from "./index-yhba8swx.js";
16
- import"./index-xg9repnx.js";
15
+ } from "./index-dzyjb33e.js";
16
+ import"./index-ey29aap6.js";
17
17
  import"./index-fsrp8wp3.js";
18
18
  import"./index-09b9zncg.js";
19
19
  import"./index-7g4c7s5r.js";
20
20
  import"./index-7a2hm51h.js";
21
- import"./index-qe3v54nb.js";
22
21
  import"./index-zgwm4ryv.js";
22
+ import"./index-y111zefa.js";
23
23
  import"./index-a76rekgs.js";
24
24
  export {
25
25
  writeLinkPointer,
@@ -41,19 +41,19 @@ import {
41
41
  transactKnowledge,
42
42
  transactKnowledgeWithCas,
43
43
  wordBigrams
44
- } from "./index-nrvs08pr.js";
44
+ } from "./index-02cqjna3.js";
45
45
  import {
46
46
  resolveHiveDataDir
47
47
  } from "./index-ae75rja9.js";
48
- import"./index-yhba8swx.js";
49
- import"./index-xg9repnx.js";
48
+ import"./index-dzyjb33e.js";
49
+ import"./index-ey29aap6.js";
50
50
  import"./index-bk5tah7q.js";
51
51
  import"./index-fsrp8wp3.js";
52
52
  import"./index-09b9zncg.js";
53
53
  import"./index-7g4c7s5r.js";
54
54
  import"./index-7a2hm51h.js";
55
- import"./index-qe3v54nb.js";
56
55
  import"./index-zgwm4ryv.js";
56
+ import"./index-y111zefa.js";
57
57
  import"./index-a76rekgs.js";
58
58
  export {
59
59
  wordBigrams,
@@ -23,21 +23,21 @@ import {
23
23
  validateLesson,
24
24
  validateSkillCandidatePath,
25
25
  validateSkillPath
26
- } from "./index-997d6p42.js";
27
- import"./index-g0raqavt.js";
26
+ } from "./index-jgkjxpdh.js";
27
+ import"./index-3m7kpnqf.js";
28
28
  import"./index-rtry5xyf.js";
29
- import"./index-nrvs08pr.js";
30
- import"./index-x88w0cp5.js";
29
+ import"./index-02cqjna3.js";
30
+ import"./index-8gw8p7yh.js";
31
31
  import"./index-ae75rja9.js";
32
- import"./index-yhba8swx.js";
33
- import"./index-xg9repnx.js";
32
+ import"./index-dzyjb33e.js";
33
+ import"./index-ey29aap6.js";
34
34
  import"./index-bk5tah7q.js";
35
35
  import"./index-fsrp8wp3.js";
36
36
  import"./index-09b9zncg.js";
37
37
  import"./index-7g4c7s5r.js";
38
38
  import"./index-7a2hm51h.js";
39
- import"./index-qe3v54nb.js";
40
39
  import"./index-zgwm4ryv.js";
40
+ import"./index-y111zefa.js";
41
41
  import"./index-a76rekgs.js";
42
42
  export {
43
43
  validateSkillPath,
@@ -40,8 +40,8 @@ import {
40
40
  sweepStaleDelegations,
41
41
  updateCoderSettlement,
42
42
  writeDelegationFallback
43
- } from "./index-7an2qn0s.js";
44
- import"./index-2ghkk9ve.js";
43
+ } from "./index-hdy2nd5h.js";
44
+ import"./index-bfd4xfpp.js";
45
45
  import"./index-fsrp8wp3.js";
46
46
  import"./index-09b9zncg.js";
47
47
  import"./index-7g4c7s5r.js";
@@ -49,8 +49,8 @@ import"./index-7a2hm51h.js";
49
49
  import"./index-bpmtbmy9.js";
50
50
  import"./index-z6xqpmqg.js";
51
51
  import"./index-zjygnfay.js";
52
- import"./index-qe3v54nb.js";
53
52
  import"./index-zgwm4ryv.js";
53
+ import"./index-y111zefa.js";
54
54
  import"./index-a76rekgs.js";
55
55
  export {
56
56
  writeDelegationFallback,
@@ -9,8 +9,8 @@ import {
9
9
  sweepStale,
10
10
  unsubscribe,
11
11
  updateSnapshot
12
- } from "./index-z085b4ka.js";
13
- import"./index-2ghkk9ve.js";
12
+ } from "./index-3xbx305x.js";
13
+ import"./index-bfd4xfpp.js";
14
14
  import"./index-fsrp8wp3.js";
15
15
  import"./index-09b9zncg.js";
16
16
  import"./index-7g4c7s5r.js";
@@ -18,8 +18,8 @@ import"./index-7a2hm51h.js";
18
18
  import"./index-bpmtbmy9.js";
19
19
  import"./index-z6xqpmqg.js";
20
20
  import"./index-zjygnfay.js";
21
- import"./index-qe3v54nb.js";
22
21
  import"./index-zgwm4ryv.js";
22
+ import"./index-y111zefa.js";
23
23
  import"./index-a76rekgs.js";
24
24
  export {
25
25
  updateSnapshot,
@@ -4,18 +4,18 @@ import {
4
4
  alreadyCuratedThisGeneration,
5
5
  claimNextScanBatch,
6
6
  getScanStatus
7
- } from "./index-vf6e8ame.js";
8
- import"./index-nrvs08pr.js";
7
+ } from "./index-b0eva00y.js";
8
+ import"./index-02cqjna3.js";
9
9
  import"./index-ae75rja9.js";
10
- import"./index-yhba8swx.js";
11
- import"./index-xg9repnx.js";
10
+ import"./index-dzyjb33e.js";
11
+ import"./index-ey29aap6.js";
12
12
  import"./index-bk5tah7q.js";
13
13
  import"./index-fsrp8wp3.js";
14
14
  import"./index-09b9zncg.js";
15
15
  import"./index-7g4c7s5r.js";
16
16
  import"./index-7a2hm51h.js";
17
- import"./index-qe3v54nb.js";
18
17
  import"./index-zgwm4ryv.js";
18
+ import"./index-y111zefa.js";
19
19
  import"./index-a76rekgs.js";
20
20
  export {
21
21
  getScanStatus,
@@ -93,7 +93,7 @@ import {
93
93
  resolveGeneratedAgentRole,
94
94
  resolveGuardrailsConfig,
95
95
  stripKnownSwarmPrefix
96
- } from "./index-337r9pkr.js";
96
+ } from "./index-j0kte6gd.js";
97
97
  import"./index-bk5tah7q.js";
98
98
  import"./index-bpmtbmy9.js";
99
99
  import"./index-zjygnfay.js";
@@ -12,15 +12,15 @@ import {
12
12
  resolveScopeWithFallbacks,
13
13
  writeScopeBindingToDisk,
14
14
  writeScopeToDisk
15
- } from "./index-ny93srnd.js";
15
+ } from "./index-vg3yx648.js";
16
16
  import"./index-wxyxf0bd.js";
17
17
  import"./index-1kz6da87.js";
18
18
  import"./index-09b9zncg.js";
19
19
  import"./index-7g4c7s5r.js";
20
20
  import"./index-7a2hm51h.js";
21
21
  import"./index-bpmtbmy9.js";
22
- import"./index-qe3v54nb.js";
23
22
  import"./index-zgwm4ryv.js";
23
+ import"./index-y111zefa.js";
24
24
  import"./index-a76rekgs.js";
25
25
  export {
26
26
  writeScopeToDisk,
@@ -33,23 +33,23 @@ import {
33
33
  sanitizeSlug,
34
34
  selectCandidateEntries,
35
35
  writeEvalStub
36
- } from "./index-a4972t0f.js";
37
- import"./index-997d6p42.js";
38
- import"./index-g0raqavt.js";
36
+ } from "./index-qqkw794p.js";
37
+ import"./index-jgkjxpdh.js";
38
+ import"./index-3m7kpnqf.js";
39
39
  import"./index-rtry5xyf.js";
40
- import"./index-nrvs08pr.js";
41
- import"./index-x88w0cp5.js";
40
+ import"./index-02cqjna3.js";
41
+ import"./index-8gw8p7yh.js";
42
42
  import"./index-ae75rja9.js";
43
- import"./index-yhba8swx.js";
44
- import"./index-xg9repnx.js";
43
+ import"./index-dzyjb33e.js";
44
+ import"./index-ey29aap6.js";
45
45
  import"./index-bk5tah7q.js";
46
46
  import"./index-4rhhvd1a.js";
47
47
  import"./index-fsrp8wp3.js";
48
48
  import"./index-09b9zncg.js";
49
49
  import"./index-7g4c7s5r.js";
50
50
  import"./index-7a2hm51h.js";
51
- import"./index-qe3v54nb.js";
52
51
  import"./index-zgwm4ryv.js";
52
+ import"./index-y111zefa.js";
53
53
  import"./index-a76rekgs.js";
54
54
  export {
55
55
  writeEvalStub,
@@ -26,23 +26,28 @@ import {
26
26
  resolveIsExactSingleChildCommitAsync,
27
27
  resolveIsWorkingTreeClean,
28
28
  resolveIsWorkingTreeCleanAsync,
29
+ resolvePrFeedbackTrackingCandidatesAsync,
29
30
  resolvePrReviewDiffStats,
30
31
  resolvePrReviewDiffStatsAsync,
31
32
  resolvePrWorkflowRevisionDigest,
32
33
  resolvePrWorkflowRevisionDigestAsync,
33
34
  resolveRemoteRefsContainingHead,
34
35
  resolveRemoteRefsContainingHeadAsync,
36
+ switchPrFeedbackTrackingCandidateAsync,
35
37
  workspaceSnapshotMatches
36
- } from "./index-3nasn371.js";
38
+ } from "./index-y6a7gjtj.js";
39
+ import"./index-y111zefa.js";
37
40
  import"./index-a76rekgs.js";
38
41
  export {
39
42
  workspaceSnapshotMatches,
43
+ switchPrFeedbackTrackingCandidateAsync,
40
44
  resolveRemoteRefsContainingHeadAsync,
41
45
  resolveRemoteRefsContainingHead,
42
46
  resolvePrWorkflowRevisionDigestAsync,
43
47
  resolvePrWorkflowRevisionDigest,
44
48
  resolvePrReviewDiffStatsAsync,
45
49
  resolvePrReviewDiffStats,
50
+ resolvePrFeedbackTrackingCandidatesAsync,
46
51
  resolveIsWorkingTreeCleanAsync,
47
52
  resolveIsWorkingTreeClean,
48
53
  resolveIsExactSingleChildCommitAsync,
@@ -1,15 +1,15 @@
1
1
  // @bun
2
2
  import {
3
3
  scanWorktreeProvisioningOwnersForRecovery
4
- } from "./index-b4z7s917.js";
4
+ } from "./index-73dfyfhq.js";
5
5
  import {
6
6
  scanWorktreeMergeFailuresForRecovery
7
7
  } from "./index-b8zgtz81.js";
8
8
  import {
9
9
  scanDelegationFallbacksForRecovery,
10
10
  scanDelegationsForRecovery
11
- } from "./index-7an2qn0s.js";
12
- import"./index-2ghkk9ve.js";
11
+ } from "./index-hdy2nd5h.js";
12
+ import"./index-bfd4xfpp.js";
13
13
  import"./index-fsrp8wp3.js";
14
14
  import"./index-09b9zncg.js";
15
15
  import"./index-7g4c7s5r.js";
@@ -17,10 +17,10 @@ import"./index-7a2hm51h.js";
17
17
  import"./index-bpmtbmy9.js";
18
18
  import"./index-z6xqpmqg.js";
19
19
  import"./index-zjygnfay.js";
20
+ import"./index-zgwm4ryv.js";
20
21
  import {
21
22
  bunSpawn
22
- } from "./index-qe3v54nb.js";
23
- import"./index-zgwm4ryv.js";
23
+ } from "./index-y111zefa.js";
24
24
  import"./index-a76rekgs.js";
25
25
 
26
26
  // src/hooks/delegation-gate/worktree-collision-ownership.ts
@@ -555,7 +555,7 @@ export declare const COMMAND_REGISTRY: {
555
555
  readonly handler: (ctx: CommandContext) => CommandResult;
556
556
  readonly description: "Launch deep PR review with multi-lane analysis [url] [--council]";
557
557
  readonly args: "<pr-url|owner/repo#N|N> [--council]";
558
- readonly details: "Launches a structured PR review: reconstructs PR intent via obligation extraction cascade, computes a depth tier (S/M/L) from the bound merge-base diff, launches the base explorer wave through dispatch_lanes_async (all 6 review dimensions covered on every PR — six singleton lanes at tier L, consolidated owned_workflow_lanes partitions at tiers S/M) while the architect keeps doing non-dependent work, polls collect_lane_results incrementally, evaluates all 11 mandatory repository-agnostic risk families without applicability waivers (dedicated micro-lanes at tier L, consolidated sweeps at S/M), validates findings through independent reviewer confirmation, applies critic challenge to HIGH/CRITICAL findings, then synthesizes only after coverage is closed. Failed obligations retry through the same structured async mode and exact PR head; blocking or direct-Task dispatch is not provenance-equivalent, so unclosed coverage leaves the review BLOCKED rather than degraded. --council variant fires adversarial multi-model review. Supports full GitHub URL, owner/repo#N shorthand, or bare PR number (resolves against origin remote).";
558
+ readonly details: "Launches a structured PR review: preserves dirty state, verifies and binds an exact detached PR head, reconstructs PR intent via obligation extraction cascade, computes a depth tier (S/M/L) from the bound merge-base diff, launches the base explorer wave through dispatch_lanes_async (all 6 review dimensions covered on every PR — six singleton lanes at tier L, consolidated owned_workflow_lanes partitions at tiers S/M) while the architect keeps doing non-dependent work, and polls collect_lane_results incrementally. It evaluates an exact 11-row repository-agnostic risk-family ledger, records applicable rows as MATCHED and concretely inapplicable rows as provenance-free NOT_TRIGGERED, always keeps unclassified-risk MATCHED, and dispatches micro work only for MATCHED families (dedicated lanes at tier L, consolidated sweeps at S/M). It then validates findings through independent reviewer confirmation, applies critic challenge to HIGH/CRITICAL findings, and synthesizes only after matched coverage is closed. Failed obligations retry through the same structured async mode and exact PR head; blocking or direct-Task dispatch is not provenance-equivalent, so unclosed matched coverage leaves the review BLOCKED rather than degraded. --council variant fires adversarial multi-model review. Supports full GitHub URL, owner/repo#N shorthand, or bare PR number (resolves against origin remote).";
559
559
  readonly category: "agent";
560
560
  readonly toolPolicy: "none";
561
561
  };