opencode-swarm 7.143.0 → 7.143.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 (72) hide show
  1. package/.opencode/skills/loop/SKILL.md +4 -2
  2. package/dist/cli/ast-diff-ypptrcan.js +422 -0
  3. package/dist/cli/{config-doctor-t1r5qwxk.js → config-doctor-xadt4kv5.js} +4 -4
  4. package/dist/cli/{core-e30p4vz9.js → core-vpefadja.js} +4 -4
  5. package/dist/cli/curation-policy-pkb2eeb1.js +1 -1
  6. package/dist/cli/{curator-drift-49p3jnte.js → curator-drift-2jbjv03a.js} +6 -6
  7. package/dist/cli/{curator-llm-factory-y9xg7k6k.js → curator-llm-factory-xjw5j2jj.js} +36 -35
  8. package/dist/cli/{curator-ctasdmmq.js → curator-wahbxxw9.js} +36 -35
  9. package/dist/cli/{dispatch-rd10kdk1.js → dispatch-1y1rnv1h.js} +3 -3
  10. package/dist/cli/{evidence-summary-service-7bmg5r8y.js → evidence-summary-service-m0jes2yb.js} +16 -16
  11. package/dist/cli/{gate-evidence-1v0cj4c6.js → gate-evidence-sf9hbhm0.js} +9 -9
  12. package/dist/cli/{guardrail-explain-6x9psbwz.js → guardrail-explain-9vdjkz5x.js} +37 -36
  13. package/dist/cli/{guardrail-log-pma4m8vr.js → guardrail-log-xr0cv07v.js} +6 -6
  14. package/dist/cli/{hive-promoter-g16grej1.js → hive-promoter-ften3m3h.js} +36 -35
  15. package/dist/cli/{index-6texwk9p.js → index-2pxq133w.js} +5 -5
  16. package/dist/cli/{index-9v53ez3a.js → index-4g1bnzma.js} +4 -4
  17. package/dist/cli/{runtime-ykafcwc6.js → index-5n69863d.js} +2 -10
  18. package/dist/cli/{index-m4v9kab1.js → index-6f80e8r5.js} +355 -357
  19. package/dist/cli/{index-x6qq39e9.js → index-6hwedxn7.js} +10 -10
  20. package/dist/cli/{index-q8st0mtw.js → index-6q3wx600.js} +1 -1
  21. package/dist/cli/{index-fhxh447f.js → index-700yppfy.js} +15 -15
  22. package/dist/cli/{index-htmsm37t.js → index-7e91cs99.js} +5 -5
  23. package/dist/cli/index-7sy3aa9m.js +115 -0
  24. package/dist/cli/{index-7c4bxgdh.js → index-8aabbfhv.js} +5 -5
  25. package/dist/cli/{index-n96ay8w4.js → index-8hxbjgyk.js} +5 -5
  26. package/dist/cli/{index-ebwznsfy.js → index-b6e016tv.js} +1 -1
  27. package/dist/cli/{index-keskta0w.js → index-fq0b44vq.js} +8 -8
  28. package/dist/cli/{index-82m5kwtd.js → index-gdd4jt6b.js} +4 -4
  29. package/dist/cli/{index-1g473508.js → index-h5fmwg5b.js} +43 -42
  30. package/dist/cli/{index-28jr28fg.js → index-je3jmcc1.js} +9 -9
  31. package/dist/cli/{index-fprxtq3q.js → index-jvbqryky.js} +32 -32
  32. package/dist/cli/{index-qwm6vdyv.js → index-k3cxyk66.js} +1 -1
  33. package/dist/cli/{index-15h4dpsn.js → index-kc9tfc7e.js} +5 -5
  34. package/dist/cli/{index-sb16w4wj.js → index-kjgma6hg.js} +6 -6
  35. package/dist/cli/{index-g0pbvfhw.js → index-nvt1152n.js} +56 -21
  36. package/dist/cli/{index-336ra397.js → index-qswsp6s3.js} +5 -5
  37. package/dist/cli/{index-96h1v2jw.js → index-r0j1sh38.js} +1 -1
  38. package/dist/cli/{index-k46me75h.js → index-rn0eq85g.js} +1 -1
  39. package/dist/cli/{index-2n8y67b4.js → index-x0ja3n3g.js} +2 -2
  40. package/dist/cli/{index-s89y08tk.js → index-xacfcpyn.js} +2 -2
  41. package/dist/cli/{index-r0tn9kpa.js → index-yr997mhn.js} +4 -4
  42. package/dist/cli/{index-kxpz3ncd.js → index-yw4atzww.js} +1 -1
  43. package/dist/cli/index.js +45 -41
  44. package/dist/cli/{knowledge-escalator-1b2hmcgn.js → knowledge-escalator-9xesv2xx.js} +15 -15
  45. package/dist/cli/{knowledge-events-vx4fqjzb.js → knowledge-events-s8nvbdyk.js} +13 -13
  46. package/dist/cli/knowledge-link-fn5j3r4q.js +1 -1
  47. package/dist/cli/{knowledge-store-t2qyr4yr.js → knowledge-store-2zt0b10b.js} +3 -3
  48. package/dist/cli/{knowledge-validator-c7871bjc.js → knowledge-validator-nt955tw0.js} +4 -4
  49. package/dist/cli/{pending-delegations-0hb97ps1.js → pending-delegations-b3pt3w5w.js} +5 -5
  50. package/dist/cli/{pr-subscriptions-b63t252j.js → pr-subscriptions-jyav582d.js} +5 -5
  51. package/dist/cli/{runner-hrg7h2h4.js → runner-pde6b5sx.js} +2 -2
  52. package/dist/cli/runtime-te94z1zb.js +23 -0
  53. package/dist/cli/{scan-cursor-pnbpfjjc.js → scan-cursor-emrg35t0.js} +4 -4
  54. package/dist/cli/{schema-47xpcghn.js → schema-tpbz8f0x.js} +1 -1
  55. package/dist/cli/{scope-persistence-wxx1jpfw.js → scope-persistence-1hf839ys.js} +9 -9
  56. package/dist/cli/semantic-classifier-ygqk0me1.js +147 -0
  57. package/dist/cli/{skill-generator-s456hfta.js → skill-generator-fja22m4q.js} +16 -16
  58. package/dist/cli/{worktree-collision-ownership-ymdxetnn.js → worktree-collision-ownership-bfz3drxm.js} +6 -6
  59. package/dist/cli/{worktree-isolation-d0xgp705.js → worktree-isolation-gnqvy10j.js} +38 -37
  60. package/dist/cli/{worktree-provisioning-owner-sjh7te1h.js → worktree-provisioning-owner-g24xd417.js} +4 -4
  61. package/dist/commands/registry.d.ts +1 -1
  62. package/dist/config/constants.d.ts +2 -2
  63. package/dist/hooks/delegation-gate.d.ts +19 -2
  64. package/dist/index.js +379 -370
  65. package/dist/parallel/review-router.d.ts +16 -0
  66. package/dist/parallel/tier3-classifier.d.ts +11 -0
  67. package/dist/utils/patch-dedent.d.ts +33 -0
  68. package/dist/workflow/coder-settlement.d.ts +30 -0
  69. package/dist/workflow/workflow-wal-schema.d.ts +2 -0
  70. package/package.json +1 -1
  71. package/dist/cli/{index-y9h2vqf6.js → index-4q9vfav6.js} +3 -3
  72. package/dist/cli/{index-ee3x66a5.js → index-z6xqpmqg.js} +3 -3
@@ -4,19 +4,19 @@ import {
4
4
  alreadyCuratedThisGeneration,
5
5
  claimNextScanBatch,
6
6
  getScanStatus
7
- } from "./index-6texwk9p.js";
8
- import"./index-keskta0w.js";
7
+ } from "./index-2pxq133w.js";
8
+ import"./index-fq0b44vq.js";
9
9
  import"./index-ae75rja9.js";
10
10
  import"./index-w7x7qxz2.js";
11
11
  import"./index-erfnw81g.js";
12
+ import"./index-bk5tah7q.js";
12
13
  import"./index-ed5ykebp.js";
13
14
  import"./index-k31en0ja.js";
14
15
  import"./index-7g4c7s5r.js";
15
16
  import"./index-s2rcz51a.js";
17
+ import"./index-bpmtbmy9.js";
16
18
  import"./index-4nt52yr9.js";
17
19
  import"./index-zgwm4ryv.js";
18
- import"./index-bk5tah7q.js";
19
- import"./index-bpmtbmy9.js";
20
20
  import"./index-a76rekgs.js";
21
21
  export {
22
22
  getScanStatus,
@@ -96,7 +96,7 @@ import {
96
96
  resolveGeneratedAgentRole,
97
97
  resolveGuardrailsConfig,
98
98
  stripKnownSwarmPrefix
99
- } from "./index-q8st0mtw.js";
99
+ } from "./index-6q3wx600.js";
100
100
  import"./index-jqsfsqbx.js";
101
101
  import"./index-zjygnfay.js";
102
102
  import"./index-bk5tah7q.js";
@@ -23,21 +23,21 @@ import {
23
23
  tombstoneScopeBinding,
24
24
  writeScopeBindingToDisk,
25
25
  writeScopeToDisk
26
- } from "./index-9v53ez3a.js";
27
- import"./index-sb16w4wj.js";
26
+ } from "./index-4g1bnzma.js";
27
+ import"./index-kjgma6hg.js";
28
28
  import"./index-556ja8an.js";
29
- import"./index-k31en0ja.js";
30
- import"./index-7g4c7s5r.js";
31
- import"./index-s2rcz51a.js";
32
- import"./index-4nt52yr9.js";
33
- import"./index-336ra397.js";
29
+ import"./index-qswsp6s3.js";
30
+ import"./index-6q3wx600.js";
34
31
  import"./index-4rhhvd1a.js";
35
- import"./index-zgwm4ryv.js";
36
- import"./index-q8st0mtw.js";
37
32
  import"./index-jqsfsqbx.js";
38
33
  import"./index-zjygnfay.js";
39
34
  import"./index-bk5tah7q.js";
35
+ import"./index-k31en0ja.js";
36
+ import"./index-7g4c7s5r.js";
37
+ import"./index-s2rcz51a.js";
40
38
  import"./index-bpmtbmy9.js";
39
+ import"./index-4nt52yr9.js";
40
+ import"./index-zgwm4ryv.js";
41
41
  import"./index-a76rekgs.js";
42
42
  export {
43
43
  writeScopeToDisk,
@@ -0,0 +1,147 @@
1
+ // @bun
2
+ import"./index-a76rekgs.js";
3
+
4
+ // src/diff/semantic-classifier.ts
5
+ var GUARD_KEYWORDS = [
6
+ "guard",
7
+ "check",
8
+ "validate",
9
+ "verify",
10
+ "ensure",
11
+ "assert",
12
+ "require"
13
+ ];
14
+ function isGuardKeyword(name) {
15
+ return GUARD_KEYWORDS.some((keyword) => {
16
+ const ciKeyword = keyword.split("").map((c) => `[${c.toLowerCase()}${c.toUpperCase()}]`).join("");
17
+ const re = new RegExp(`(?<![a-z])${ciKeyword}(?![a-z])`);
18
+ return re.test(name);
19
+ });
20
+ }
21
+ function isExportedFunction(name, allChanges) {
22
+ return allChanges.some((c) => c.name === name && c.category === "export");
23
+ }
24
+ function classifyChange(change, filePath, allChanges) {
25
+ const base = {
26
+ filePath,
27
+ symbolName: change.name,
28
+ changeType: change.type,
29
+ lineStart: change.lineStart,
30
+ lineEnd: change.lineEnd,
31
+ signature: change.signature
32
+ };
33
+ if (change.type === "removed" && change.category === "function") {
34
+ if (isGuardKeyword(change.name)) {
35
+ return {
36
+ ...base,
37
+ category: "GUARD_REMOVED",
38
+ riskLevel: "Critical",
39
+ description: `Guard function '${change.name}' was removed`
40
+ };
41
+ }
42
+ return {
43
+ ...base,
44
+ category: "DELETED_FUNCTION",
45
+ riskLevel: "High",
46
+ description: `Deleted function '${change.name}'`
47
+ };
48
+ }
49
+ if (change.type === "renamed") {
50
+ if (change.category === "function" && (isGuardKeyword(change.name) || isGuardKeyword(change.renamedFrom || ""))) {
51
+ return {
52
+ ...base,
53
+ category: "GUARD_REMOVED",
54
+ riskLevel: "Critical",
55
+ description: `Guard function renamed from '${change.renamedFrom || "unknown"}' to '${change.name}'`,
56
+ renamedFrom: change.renamedFrom
57
+ };
58
+ }
59
+ return {
60
+ ...base,
61
+ category: "REFACTOR",
62
+ riskLevel: "Medium",
63
+ description: `${change.category} renamed from '${change.renamedFrom || "unknown"}' to '${change.name}'`,
64
+ renamedFrom: change.renamedFrom
65
+ };
66
+ }
67
+ if (change.type === "added" && change.category === "function") {
68
+ return {
69
+ ...base,
70
+ category: "NEW_FUNCTION",
71
+ riskLevel: "Medium",
72
+ description: `New function '${change.name}' added`
73
+ };
74
+ }
75
+ if (change.type === "modified" && change.category === "function" && change.signature) {
76
+ return {
77
+ ...base,
78
+ category: "SIGNATURE_CHANGE",
79
+ riskLevel: "Critical",
80
+ description: `Function signature changed for '${change.name}': ${change.signature}`
81
+ };
82
+ }
83
+ if (change.type === "modified") {
84
+ if (change.category === "export" || change.category === "type") {
85
+ return {
86
+ ...base,
87
+ category: "API_CHANGE",
88
+ riskLevel: "Critical",
89
+ description: `API surface changed for '${change.name}' (${change.category})`
90
+ };
91
+ }
92
+ if (change.category === "function" && isExportedFunction(change.name, allChanges)) {
93
+ return {
94
+ ...base,
95
+ category: "API_CHANGE",
96
+ riskLevel: "Critical",
97
+ description: `Exported function '${change.name}' was modified`
98
+ };
99
+ }
100
+ }
101
+ if (change.type === "modified" && change.category === "function") {
102
+ return {
103
+ ...base,
104
+ category: "LOGIC_CHANGE",
105
+ riskLevel: "High",
106
+ description: `Function body logic changed for '${change.name}'`
107
+ };
108
+ }
109
+ if (change.type === "modified" && (change.category === "class" || change.category === "type" || change.category === "variable")) {
110
+ return {
111
+ ...base,
112
+ category: "REFACTOR",
113
+ riskLevel: "Medium",
114
+ description: `${change.category} '${change.name}' was refactored`
115
+ };
116
+ }
117
+ if (change.category === "import") {
118
+ return {
119
+ ...base,
120
+ category: "COSMETIC",
121
+ riskLevel: "Low",
122
+ description: `Import ${change.type} for '${change.name}'`
123
+ };
124
+ }
125
+ return {
126
+ ...base,
127
+ category: "UNCLASSIFIED",
128
+ riskLevel: "Medium",
129
+ description: `Unclassified ${change.type} of ${change.category} '${change.name}'`
130
+ };
131
+ }
132
+ function classifyChanges(astDiffs, fileConsumers) {
133
+ const result = [];
134
+ for (const diff of astDiffs) {
135
+ for (const change of diff.changes) {
136
+ const classified = classifyChange(change, diff.filePath, diff.changes);
137
+ if (fileConsumers && diff.filePath in fileConsumers) {
138
+ classified.consumersCount = fileConsumers[diff.filePath];
139
+ }
140
+ result.push(classified);
141
+ }
142
+ }
143
+ return result;
144
+ }
145
+ export {
146
+ classifyChanges
147
+ };
@@ -33,33 +33,33 @@ import {
33
33
  sanitizeSlug,
34
34
  selectCandidateEntries,
35
35
  writeEvalStub
36
- } from "./index-x6qq39e9.js";
37
- import"./index-28jr28fg.js";
38
- import"./index-k46me75h.js";
39
- import"./index-ee3x66a5.js";
40
- import"./index-kxpz3ncd.js";
36
+ } from "./index-6hwedxn7.js";
37
+ import"./index-je3jmcc1.js";
38
+ import"./index-x0ja3n3g.js";
39
+ import"./index-gprxjmm7.js";
40
+ import"./index-n832052r.js";
41
+ import"./index-qswsp6s3.js";
42
+ import"./index-6q3wx600.js";
43
+ import"./index-rn0eq85g.js";
44
+ import"./index-4rhhvd1a.js";
45
+ import"./index-jqsfsqbx.js";
46
+ import"./index-z6xqpmqg.js";
47
+ import"./index-zjygnfay.js";
48
+ import"./index-yw4atzww.js";
41
49
  import"./index-tq5s07ta.js";
42
50
  import"./index-rtry5xyf.js";
43
- import"./index-keskta0w.js";
51
+ import"./index-fq0b44vq.js";
44
52
  import"./index-ae75rja9.js";
45
53
  import"./index-w7x7qxz2.js";
46
54
  import"./index-erfnw81g.js";
55
+ import"./index-bk5tah7q.js";
47
56
  import"./index-ed5ykebp.js";
48
- import"./index-2n8y67b4.js";
49
- import"./index-gprxjmm7.js";
50
- import"./index-n832052r.js";
51
57
  import"./index-k31en0ja.js";
52
58
  import"./index-7g4c7s5r.js";
53
59
  import"./index-s2rcz51a.js";
60
+ import"./index-bpmtbmy9.js";
54
61
  import"./index-4nt52yr9.js";
55
- import"./index-336ra397.js";
56
- import"./index-4rhhvd1a.js";
57
62
  import"./index-zgwm4ryv.js";
58
- import"./index-q8st0mtw.js";
59
- import"./index-jqsfsqbx.js";
60
- import"./index-zjygnfay.js";
61
- import"./index-bk5tah7q.js";
62
- import"./index-bpmtbmy9.js";
63
63
  import"./index-a76rekgs.js";
64
64
  export {
65
65
  writeEvalStub,
@@ -6,23 +6,23 @@ import {
6
6
  WORKTREE_PROVISIONING_OWNER_LEASE_MS,
7
7
  removeWorktreeProvisioningOwner,
8
8
  scanWorktreeProvisioningOwnersForRecovery
9
- } from "./index-qwm6vdyv.js";
9
+ } from "./index-k3cxyk66.js";
10
10
  import {
11
11
  scanDelegationFallbacksForRecovery,
12
12
  scanDelegationsForRecovery
13
- } from "./index-7c4bxgdh.js";
14
- import"./index-k46me75h.js";
15
- import"./index-ee3x66a5.js";
13
+ } from "./index-8aabbfhv.js";
14
+ import"./index-rn0eq85g.js";
15
+ import"./index-z6xqpmqg.js";
16
+ import"./index-zjygnfay.js";
16
17
  import"./index-ed5ykebp.js";
17
18
  import"./index-k31en0ja.js";
18
19
  import"./index-7g4c7s5r.js";
19
20
  import"./index-s2rcz51a.js";
21
+ import"./index-bpmtbmy9.js";
20
22
  import {
21
23
  bunSpawn
22
24
  } from "./index-4nt52yr9.js";
23
25
  import"./index-zgwm4ryv.js";
24
- import"./index-zjygnfay.js";
25
- import"./index-bpmtbmy9.js";
26
26
  import"./index-a76rekgs.js";
27
27
 
28
28
  // src/hooks/delegation-gate/worktree-collision-ownership.ts
@@ -20,62 +20,63 @@ import {
20
20
  sanitizeWorktreeTaskId,
21
21
  standardWorktreeByCallID,
22
22
  standardWorktreeSerializationSessions
23
- } from "./index-m4v9kab1.js";
24
- import"./index-4905hd2m.js";
25
- import"./index-ebwznsfy.js";
26
- import"./index-y9h2vqf6.js";
27
- import"./index-n96ay8w4.js";
28
- import"./index-c8s9a3zh.js";
29
- import"./index-r0tn9kpa.js";
30
- import"./index-fprxtq3q.js";
23
+ } from "./index-6f80e8r5.js";
24
+ import"./index-8hxbjgyk.js";
25
+ import"./index-yr997mhn.js";
26
+ import"./index-jvbqryky.js";
31
27
  import"./index-134d35c1.js";
28
+ import"./index-b6e016tv.js";
29
+ import"./index-4q9vfav6.js";
32
30
  import"./index-k92cagmt.js";
33
31
  import"./index-y8552snf.js";
32
+ import"./index-2pxq133w.js";
33
+ import"./index-xmzmeknp.js";
34
+ import"./index-c8s9a3zh.js";
34
35
  import"./index-9ss2m4rs.js";
36
+ import"./index-700yppfy.js";
35
37
  import"./index-74hpm6sh.js";
36
- import"./index-x6qq39e9.js";
37
- import"./index-htmsm37t.js";
38
- import"./index-6texwk9p.js";
39
- import"./index-xmzmeknp.js";
40
- import"./index-82m5kwtd.js";
38
+ import"./index-6hwedxn7.js";
39
+ import"./index-7e91cs99.js";
40
+ import"./index-4g1bnzma.js";
41
+ import"./index-kjgma6hg.js";
42
+ import"./index-556ja8an.js";
43
+ import"./index-gdd4jt6b.js";
41
44
  import"./index-zsrtt42s.js";
42
- import"./index-qwm6vdyv.js";
43
- import"./index-fhxh447f.js";
44
- import"./index-g0pbvfhw.js";
45
- import"./index-7c4bxgdh.js";
45
+ import"./index-k3cxyk66.js";
46
+ import"./index-8aabbfhv.js";
47
+ import"./index-nvt1152n.js";
46
48
  import"./index-8fwhhayc.js";
47
49
  import"./index-q1exe2b3.js";
48
- import"./index-28jr28fg.js";
49
- import"./index-k46me75h.js";
50
- import"./index-ee3x66a5.js";
51
- import"./index-kxpz3ncd.js";
50
+ import"./index-7sy3aa9m.js";
51
+ import"./index-4905hd2m.js";
52
+ import"./index-je3jmcc1.js";
53
+ import {
54
+ resolveWorktreeIsolationConfig
55
+ } from "./index-x0ja3n3g.js";
56
+ import"./index-gprxjmm7.js";
57
+ import"./index-n832052r.js";
58
+ import"./index-qswsp6s3.js";
59
+ import"./index-6q3wx600.js";
60
+ import"./index-rn0eq85g.js";
61
+ import"./index-4rhhvd1a.js";
62
+ import"./index-jqsfsqbx.js";
63
+ import"./index-z6xqpmqg.js";
64
+ import"./index-zjygnfay.js";
65
+ import"./index-yw4atzww.js";
52
66
  import"./index-tq5s07ta.js";
53
67
  import"./index-rtry5xyf.js";
54
- import"./index-keskta0w.js";
68
+ import"./index-fq0b44vq.js";
55
69
  import"./index-ae75rja9.js";
56
70
  import"./index-w7x7qxz2.js";
57
71
  import"./index-erfnw81g.js";
72
+ import"./index-bk5tah7q.js";
58
73
  import"./index-ed5ykebp.js";
59
- import {
60
- resolveWorktreeIsolationConfig
61
- } from "./index-2n8y67b4.js";
62
- import"./index-gprxjmm7.js";
63
- import"./index-n832052r.js";
64
- import"./index-9v53ez3a.js";
65
- import"./index-sb16w4wj.js";
66
- import"./index-556ja8an.js";
67
74
  import"./index-k31en0ja.js";
68
75
  import"./index-7g4c7s5r.js";
69
76
  import"./index-s2rcz51a.js";
77
+ import"./index-bpmtbmy9.js";
70
78
  import"./index-4nt52yr9.js";
71
- import"./index-336ra397.js";
72
- import"./index-4rhhvd1a.js";
73
79
  import"./index-zgwm4ryv.js";
74
- import"./index-q8st0mtw.js";
75
- import"./index-jqsfsqbx.js";
76
- import"./index-zjygnfay.js";
77
- import"./index-bk5tah7q.js";
78
- import"./index-bpmtbmy9.js";
79
80
  import"./index-a76rekgs.js";
80
81
  export {
81
82
  standardWorktreeSerializationSessions,
@@ -5,13 +5,13 @@ import {
5
5
  recordWorktreeProvisioningOwner,
6
6
  removeWorktreeProvisioningOwner,
7
7
  scanWorktreeProvisioningOwnersForRecovery
8
- } from "./index-qwm6vdyv.js";
9
- import"./index-k46me75h.js";
10
- import"./index-ee3x66a5.js";
8
+ } from "./index-k3cxyk66.js";
9
+ import"./index-rn0eq85g.js";
10
+ import"./index-z6xqpmqg.js";
11
+ import"./index-zjygnfay.js";
11
12
  import"./index-ed5ykebp.js";
12
13
  import"./index-4nt52yr9.js";
13
14
  import"./index-zgwm4ryv.js";
14
- import"./index-zjygnfay.js";
15
15
  import"./index-a76rekgs.js";
16
16
  export {
17
17
  scanWorktreeProvisioningOwnersForRecovery,
@@ -603,7 +603,7 @@ export declare const COMMAND_REGISTRY: {
603
603
  readonly handler: (ctx: CommandContext) => CommandResult;
604
604
  readonly description: "Enter architect MODE: LOOP — compound-engineering loop: brainstorm → plan → build → review → improve, iterating until done [objective]";
605
605
  readonly args: "<objective> [--max-cycles 1..5] [--autonomy checkpoint|auto] [--depth standard|exhaustive] [--resume]";
606
- readonly details: "Triggers the architect to run the compound-engineering loop defined in .swarm/bundled-skills/loop/SKILL.md: BRAINSTORM (requirements) → PLAN (+ critic gate) → BUILD (execute) → REVIEW (independent reviewer + critic on the diff, report-only) → IMPROVE (phase-wrap retrospective + compounding learning capture), then evaluate stop conditions and loop for another improvement cycle if the objective is unmet and budget remains. Generator and reviewer/critic run in separate contexts; failing assertions must be fixed at the root cause, never weakened, mocked, or skipped. Defense-in-depth stop conditions: objective met, --max-cycles budget (default 3), no-progress/plateau, oscillation, unrecoverable error, or explicit user stop. --autonomy auto (default) runs unattended with hard stops still enforced; --autonomy checkpoint pauses at phase gates for user approval. --depth exhaustive widens exploration. --resume continues an existing loop run from durable .swarm/loop/ state. Distinct from full-auto (autonomous cross-phase oversight) and turbo (parallel lanes within a phase): loop is a user-initiated, gated, compounding workflow.";
606
+ readonly details: "Triggers the architect to run the compound-engineering loop defined in .swarm/bundled-skills/loop/SKILL.md: BRAINSTORM (requirements) → PLAN (+ critic gate) → BUILD (execute) → REVIEW (independent reviewer + critic on the diff, report-only) → IMPROVE (phase-wrap retrospective + compounding learning capture), then evaluate stop conditions and loop for another improvement cycle if the objective is unmet and budget remains. Generator and reviewer/critic run in separate contexts; failing assertions must be fixed at the root cause, never weakened, mocked, or skipped. Defense-in-depth stop conditions: objective met, --max-cycles budget (default 3), no-progress/plateau, oscillation, unrecoverable error, or explicit user stop. --autonomy auto (default) runs unattended with hard stops still enforced; --autonomy checkpoint pauses at phase gates for user approval. --depth exhaustive widens exploration. --resume continues an existing loop run from durable .swarm/loop/ state. Distinct from full-auto (a critic gate that intercepts phase completions and high-risk actions for review — it never plans, delegates, or executes; the architect retains all delegation duty) and turbo (parallel lanes within a phase): loop is a user-initiated, gated, compounding workflow.";
607
607
  readonly category: "agent";
608
608
  readonly toolPolicy: "none";
609
609
  };
@@ -104,9 +104,9 @@ export declare const COMPACTION_DEFAULTS: {
104
104
  readonly emergencyThreshold: 80;
105
105
  readonly preserveLastNTurns: 5;
106
106
  };
107
- export declare const TURBO_MODE_BANNER = "## \uD83D\uDE80 TURBO MODE ACTIVE\n\n**Speed optimization enabled for this session.**\n\nWhile Turbo Mode is active:\n- **Stage A gates** (lint, imports, pre_check_batch) are still REQUIRED for ALL tasks\n- **Tier 3 tasks** (security-sensitive files matching: architect*.ts, delegation*.ts, guardrails*.ts, adversarial*.ts, sanitiz*.ts, auth*, permission*, crypto*, secret*, security) still require FULL review (Stage B)\n- **Tier 0-2 tasks** can skip Stage B (reviewer, test_engineer) to speed up execution\n- **Phase completion gates** (Gates 1\u20135: completion-verify, drift-verifier, hallucination-guard, mutation-gate, phase-council) are automatically bypassed via the orchestrator short-circuit at `src/tools/phase-complete.ts:774\u2013827` when turbo is active; Gate 5b (architecture-supervisor), Gate 6 (final-council), and Gate 7 (full-auto) remain enforced. Note: turbo bypass is session-scoped; one session's turbo does not affect other sessions.\n\nClassification still determines the pipeline:\n- TIER 0 (metadata): lint + diff only \u2014 no change\n- TIER 1 (docs): Stage A + reviewer \u2014 no change\n- TIER 2 (standard code): Stage A + reviewer + test_engineer \u2014 CAN SKIP Stage B with turboMode\n- TIER 3 (critical): Stage A + 2x reviewer + 2x test_engineer \u2014 Stage B REQUIRED (no turbo bypass)\n\nDo NOT skip Stage A gates. Do NOT skip Stage B for TIER 3.\n";
107
+ export declare const TURBO_MODE_BANNER = "## \uD83D\uDE80 TURBO MODE ACTIVE\n\n**Speed optimization enabled for this session.**\n\nWhile Turbo Mode is active:\n- **Stage A gates** (lint, imports, pre_check_batch) are still REQUIRED for ALL tasks\n- **Tier 3 tasks** (security-sensitive files matching: architect*.ts, delegation*.ts, guardrails*.ts, adversarial*.ts, sanitiz*.ts, security*.ts; exact basenames: auth, authenticate, authentication, authorization, permission(s), crypto, secret(s), secretscan; keyword prefixes: auth-*, permission-*, crypto-*, secret-*, security-*; or files under auth/, security/, crypto/, permission/, secret/ directories) still require FULL review (Stage B)\n- **Tier 0-2 tasks** can skip Stage B (reviewer, test_engineer) to speed up execution\n- **Phase completion gates** (Gates 1\u20135: completion-verify, drift-verifier, hallucination-guard, mutation-gate, phase-council) are automatically bypassed via the orchestrator short-circuit at `src/tools/phase-complete.ts:774\u2013827` when turbo is active; Gate 5b (architecture-supervisor), Gate 6 (final-council), and Gate 7 (full-auto) remain enforced. Note: turbo bypass is session-scoped; one session's turbo does not affect other sessions.\n\nClassification still determines the pipeline:\n- TIER 0 (metadata): lint + diff only \u2014 no change\n- TIER 1 (docs): Stage A + reviewer \u2014 no change\n- TIER 2 (standard code): Stage A + reviewer + test_engineer \u2014 CAN SKIP Stage B with turboMode\n- TIER 3 (critical): Stage A + 2x reviewer + 2x test_engineer \u2014 Stage B REQUIRED (no turbo bypass)\n\nDo NOT skip Stage A gates. Do NOT skip Stage B for TIER 3.\n";
108
108
  export declare const FULL_AUTO_BANNER = "## \u26A1 FULL-AUTO MODE ACTIVE\n\nYou are operating without a human in the loop. All escalations route to the Autonomous Oversight Critic instead of a user.\n\nBehavioral changes:\n- TIER 3 escalations go to the critic, not a human. Frame your questions technically, not conversationally.\n- Phase completion approval comes from the critic. Ensure all evidence is written before requesting.\n- The critic defaults to REJECT. Do not attempt to pressure, negotiate, or shortcut. Complete the evidence trail.\n- If the critic returns ESCALATE_TO_HUMAN, the session will pause or terminate. Only the critic can trigger this.\n- Do NOT ask \"Ready for Phase N+1?\" \u2014 call phase_complete directly. The critic reviews automatically.\n";
109
- export declare const AUTO_PROCEED_BANNER = "## \u23ED\uFE0F AUTO-PROCEED STATUS\n\nAuto-proceed controls whether the architect advances to the next phase automatically (skipping the \"Ready for Phase N+1?\" confirmation).\n\nBehavioral rules:\n- Session override (set via /swarm auto-proceed on|off) wins over the plan default.\n- If neither is set, auto-proceed defaults to OFF and the architect asks before advancing.\n- Full-auto mode (critic oversight) is independent \u2014 it has its own auto-advance mechanism.\n- autoProceedNudgeDone prevents the FR-004 first-boundary nudge from re-firing in this session.\n\nTo toggle at runtime: call swarm_command({ command: \"auto-proceed\", args: [\"on\"|\"off\"] }) from the architect.\n";
109
+ export declare const AUTO_PROCEED_BANNER = "## \u23ED\uFE0F AUTO-PROCEED STATUS\n\nAuto-proceed controls whether the architect advances to the next phase automatically (skipping the \"Ready for Phase N+1?\" confirmation).\n\nBehavioral rules:\n- Session override (set via /swarm auto-proceed on|off) wins over the plan default.\n- If neither is set, auto-proceed defaults to OFF and the architect asks before advancing.\n- Full-auto mode (critic oversight) is independent \u2014 while active it suppresses the \"Ready for Phase N+1?\" confirmation itself (it never delegates tasks or runs phases for you); the auto_proceed setting adds nothing on top.\n- autoProceedNudgeDone prevents the FR-004 first-boundary nudge from re-firing in this session.\n\nTo toggle at runtime: call swarm_command({ command: \"auto-proceed\", args: [\"on\"|\"off\"] }) from the architect.\n";
110
110
  /**
111
111
  * Canonical default Lean Turbo configuration.
112
112
 
@@ -228,6 +228,14 @@ export interface CoverageMissDiagnostic {
228
228
  * text is effectively absent from ACCEPTANCE. Renderers must emit the
229
229
  * "requirement text completely missing" fallback instead of a
230
230
  * divergence pointer.
231
+ *
232
+ * Issue #2215: a SUFFIX of the body `COVERAGE_DIAG_MIN_PREFIX`+ characters
233
+ * long that occurs as a substring ANYWHERE in the acceptance text ALSO
234
+ * prevents this flag from being set. So the flag means: no ≥10-char prefix
235
+ * of the body AND no ≥10-char suffix of the body appears anywhere in the
236
+ * acceptance text. A body that is present but not aligned at character 0
237
+ * (e.g. sitting behind a leading id-label glue, or embedded mid-prompt with
238
+ * other dispatch fields around it) keeps the divergence-pointer rendering.
231
239
  */
232
240
  completelyMissing?: boolean;
233
241
  corruptionHint?: string;
@@ -429,9 +437,17 @@ declare function extractTaskFileDirectives(args: Record<string, unknown>, mode?:
429
437
  * Lines that don't match the pattern are silently ignored.
430
438
  *
431
439
  * @param outputText - Raw text output from the agent dispatch
432
- * @returns Map of taskId -> verdict string
440
+ * @returns StageBAttributionResult with typed verdicts and any parsing errors
433
441
  */
434
- export declare function parsePerTaskVerdicts(outputText: string): Map<string, string>;
442
+ export interface VerdictEntry {
443
+ verdict: string;
444
+ kind: 'REVIEWED' | 'TESTED';
445
+ }
446
+ export interface StageBAttributionResult {
447
+ verdicts: Map<string, VerdictEntry>;
448
+ errors: string[];
449
+ }
450
+ export declare function parsePerTaskVerdicts(outputText: string): StageBAttributionResult;
435
451
  export declare function canRunWhileTaskAwaitsCompletion(input: {
436
452
  directory: string | undefined;
437
453
  normalizedTool: string;
@@ -511,4 +527,5 @@ export declare function createDelegationGateHook(config: PluginConfig, directory
511
527
  }) => Promise<void>;
512
528
  sessionEnded: (sessionID: string, includeOwnedChildren?: boolean) => void;
513
529
  backgroundCompletionClaimed: (record: BackgroundDelegationRecord) => void;
530
+ abortDeniedSettlementForCall: (callID: string) => Promise<void>;
514
531
  };