opencode-swarm 7.142.1 → 7.143.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 (74) hide show
  1. package/.opencode/skills/execute/SKILL.md +1 -1
  2. package/.opencode/skills/loop/SKILL.md +4 -2
  3. package/.opencode/skills/phase-wrap/SKILL.md +2 -2
  4. package/dist/cli/ast-diff-ypptrcan.js +422 -0
  5. package/dist/cli/{config-doctor-2a3qmp5p.js → config-doctor-ajq3sts3.js} +4 -4
  6. package/dist/cli/{core-h9z49ant.js → core-0jn7sk7t.js} +4 -4
  7. package/dist/cli/curation-policy-pkb2eeb1.js +1 -1
  8. package/dist/cli/{curator-drift-49p3jnte.js → curator-drift-2jbjv03a.js} +6 -6
  9. package/dist/cli/{curator-mtz194wy.js → curator-ff53rwz5.js} +36 -35
  10. package/dist/cli/{curator-llm-factory-9fr243kj.js → curator-llm-factory-2mz7fgd1.js} +36 -35
  11. package/dist/cli/{dispatch-rd10kdk1.js → dispatch-1y1rnv1h.js} +3 -3
  12. package/dist/cli/{evidence-summary-service-fgckng0a.js → evidence-summary-service-08zcq836.js} +16 -16
  13. package/dist/cli/{gate-evidence-ppna7em4.js → gate-evidence-2r7n4qjv.js} +9 -9
  14. package/dist/cli/{guardrail-explain-ejdvvnjz.js → guardrail-explain-cm5je07b.js} +37 -36
  15. package/dist/cli/{guardrail-log-adjs25ye.js → guardrail-log-jf4430p5.js} +6 -6
  16. package/dist/cli/{hive-promoter-jejme31e.js → hive-promoter-738bf1fj.js} +36 -35
  17. package/dist/cli/{index-2mb5y2w1.js → index-0kqs2fbm.js} +15 -15
  18. package/dist/cli/{index-ktazgjqw.js → index-254xf5y6.js} +2 -2
  19. package/dist/cli/{index-9wmx9ca8.js → index-3fg8kx7n.js} +4 -4
  20. package/dist/cli/{runtime-ykafcwc6.js → index-5n69863d.js} +2 -10
  21. package/dist/cli/{index-rthq1a6w.js → index-7317fvce.js} +5 -5
  22. package/dist/cli/index-7sy3aa9m.js +115 -0
  23. package/dist/cli/{index-7c4bxgdh.js → index-8aabbfhv.js} +5 -5
  24. package/dist/cli/{index-k1xsjzm3.js → index-91dz0zct.js} +10 -10
  25. package/dist/cli/{index-bb4pcn58.js → index-a5rky7fv.js} +2 -2
  26. package/dist/cli/{index-gtkk5rx7.js → index-awzwmx8p.js} +32 -32
  27. package/dist/cli/{index-ebwznsfy.js → index-b6e016tv.js} +1 -1
  28. package/dist/cli/{index-9kf3mj08.js → index-cfwdm1dx.js} +1 -1
  29. package/dist/cli/{index-vy11zjvh.js → index-crt7xw29.js} +5 -5
  30. package/dist/cli/{index-kbshtwha.js → index-cz9tc0h8.js} +5 -5
  31. package/dist/cli/{index-82m5kwtd.js → index-gdd4jt6b.js} +4 -4
  32. package/dist/cli/{index-qwm6vdyv.js → index-k3cxyk66.js} +1 -1
  33. package/dist/cli/{index-we279je2.js → index-mpw32szm.js} +1 -1
  34. package/dist/cli/{index-vefjxxmb.js → index-n2jk8ajv.js} +1 -1
  35. package/dist/cli/{index-bkkxxwcd.js → index-n48cwf1a.js} +7 -7
  36. package/dist/cli/{index-myav90y6.js → index-q68a8h37.js} +6 -6
  37. package/dist/cli/{index-h7ye3bzp.js → index-q7jv0c8e.js} +343 -357
  38. package/dist/cli/{index-ajfa2wmj.js → index-qmfzfh7m.js} +9 -9
  39. package/dist/cli/{index-k46me75h.js → index-rn0eq85g.js} +1 -1
  40. package/dist/cli/{index-j02ez59y.js → index-srd87kxc.js} +8 -8
  41. package/dist/cli/{index-0r4qs243.js → index-wnj1d1es.js} +43 -42
  42. package/dist/cli/{index-xfhe29z3.js → index-x10a9cz6.js} +5 -5
  43. package/dist/cli/{index-sdqtecsd.js → index-zgq25ze6.js} +5 -5
  44. package/dist/cli/{index-xah70t2t.js → index-zky3vt90.js} +4 -4
  45. package/dist/cli/index.js +45 -41
  46. package/dist/cli/{knowledge-escalator-0b80ryka.js → knowledge-escalator-9mdajq4s.js} +15 -15
  47. package/dist/cli/{knowledge-events-8x2wt562.js → knowledge-events-pz58s2r1.js} +13 -13
  48. package/dist/cli/knowledge-link-fn5j3r4q.js +1 -1
  49. package/dist/cli/{knowledge-store-d0xj6wht.js → knowledge-store-sz8vat89.js} +3 -3
  50. package/dist/cli/{knowledge-validator-ewfj679a.js → knowledge-validator-w5vmvf0a.js} +4 -4
  51. package/dist/cli/{pending-delegations-0hb97ps1.js → pending-delegations-b3pt3w5w.js} +5 -5
  52. package/dist/cli/{pr-subscriptions-b63t252j.js → pr-subscriptions-jyav582d.js} +5 -5
  53. package/dist/cli/{runner-hrg7h2h4.js → runner-pde6b5sx.js} +2 -2
  54. package/dist/cli/runtime-te94z1zb.js +23 -0
  55. package/dist/cli/{scan-cursor-hfyz7zpw.js → scan-cursor-p54xsx41.js} +4 -4
  56. package/dist/cli/{schema-ney3c685.js → schema-p74hnrfz.js} +1 -1
  57. package/dist/cli/{scope-persistence-dbfgs7gh.js → scope-persistence-1fc2ncsk.js} +9 -9
  58. package/dist/cli/semantic-classifier-ygqk0me1.js +147 -0
  59. package/dist/cli/{skill-generator-p651jex5.js → skill-generator-yv46bt1a.js} +16 -16
  60. package/dist/cli/{worktree-collision-ownership-ymdxetnn.js → worktree-collision-ownership-bfz3drxm.js} +6 -6
  61. package/dist/cli/{worktree-isolation-513vx61s.js → worktree-isolation-qfgc3vma.js} +38 -37
  62. package/dist/cli/{worktree-provisioning-owner-sjh7te1h.js → worktree-provisioning-owner-g24xd417.js} +4 -4
  63. package/dist/commands/registry.d.ts +1 -1
  64. package/dist/config/constants.d.ts +2 -2
  65. package/dist/hooks/delegation-gate.d.ts +84 -2
  66. package/dist/index.js +393 -380
  67. package/dist/parallel/review-router.d.ts +16 -0
  68. package/dist/parallel/tier3-classifier.d.ts +11 -0
  69. package/dist/utils/patch-dedent.d.ts +33 -0
  70. package/dist/workflow/coder-settlement.d.ts +30 -0
  71. package/dist/workflow/workflow-wal-schema.d.ts +2 -0
  72. package/package.json +1 -1
  73. package/dist/cli/{index-y9h2vqf6.js → index-4q9vfav6.js} +3 -3
  74. package/dist/cli/{index-ee3x66a5.js → index-z6xqpmqg.js} +3 -3
@@ -0,0 +1,23 @@
1
+ // @bun
2
+ import {
3
+ _internals,
4
+ clearParserCache,
5
+ getInitializedLanguages,
6
+ getSupportedLanguages,
7
+ isGrammarAvailable,
8
+ loadGrammar,
9
+ parserCache,
10
+ resolveGrammarsDir
11
+ } from "./index-5n69863d.js";
12
+ import"./index-4905hd2m.js";
13
+ import"./index-a76rekgs.js";
14
+ export {
15
+ resolveGrammarsDir,
16
+ parserCache,
17
+ loadGrammar,
18
+ isGrammarAvailable,
19
+ getSupportedLanguages,
20
+ getInitializedLanguages,
21
+ clearParserCache,
22
+ _internals
23
+ };
@@ -4,19 +4,19 @@ import {
4
4
  alreadyCuratedThisGeneration,
5
5
  claimNextScanBatch,
6
6
  getScanStatus
7
- } from "./index-vy11zjvh.js";
8
- import"./index-j02ez59y.js";
7
+ } from "./index-crt7xw29.js";
8
+ import"./index-srd87kxc.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-we279je2.js";
99
+ } from "./index-mpw32szm.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-9wmx9ca8.js";
27
- import"./index-myav90y6.js";
26
+ } from "./index-3fg8kx7n.js";
27
+ import"./index-q68a8h37.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-sdqtecsd.js";
29
+ import"./index-zgq25ze6.js";
30
+ import"./index-mpw32szm.js";
34
31
  import"./index-4rhhvd1a.js";
35
- import"./index-zgwm4ryv.js";
36
- import"./index-we279je2.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-k1xsjzm3.js";
37
- import"./index-ajfa2wmj.js";
38
- import"./index-k46me75h.js";
39
- import"./index-ee3x66a5.js";
40
- import"./index-9kf3mj08.js";
36
+ } from "./index-91dz0zct.js";
37
+ import"./index-qmfzfh7m.js";
38
+ import"./index-254xf5y6.js";
39
+ import"./index-gprxjmm7.js";
40
+ import"./index-n832052r.js";
41
+ import"./index-zgq25ze6.js";
42
+ import"./index-mpw32szm.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-cfwdm1dx.js";
41
49
  import"./index-tq5s07ta.js";
42
50
  import"./index-rtry5xyf.js";
43
- import"./index-j02ez59y.js";
51
+ import"./index-srd87kxc.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-ktazgjqw.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-sdqtecsd.js";
56
- import"./index-4rhhvd1a.js";
57
62
  import"./index-zgwm4ryv.js";
58
- import"./index-we279je2.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-h7ye3bzp.js";
24
- import"./index-4905hd2m.js";
25
- import"./index-ebwznsfy.js";
26
- import"./index-y9h2vqf6.js";
27
- import"./index-rthq1a6w.js";
28
- import"./index-c8s9a3zh.js";
29
- import"./index-xah70t2t.js";
30
- import"./index-gtkk5rx7.js";
23
+ } from "./index-q7jv0c8e.js";
24
+ import"./index-7317fvce.js";
25
+ import"./index-zky3vt90.js";
26
+ import"./index-awzwmx8p.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-crt7xw29.js";
33
+ import"./index-xmzmeknp.js";
34
+ import"./index-c8s9a3zh.js";
34
35
  import"./index-9ss2m4rs.js";
36
+ import"./index-0kqs2fbm.js";
35
37
  import"./index-74hpm6sh.js";
36
- import"./index-k1xsjzm3.js";
37
- import"./index-xfhe29z3.js";
38
- import"./index-vy11zjvh.js";
39
- import"./index-xmzmeknp.js";
40
- import"./index-82m5kwtd.js";
38
+ import"./index-91dz0zct.js";
39
+ import"./index-x10a9cz6.js";
40
+ import"./index-3fg8kx7n.js";
41
+ import"./index-q68a8h37.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-2mb5y2w1.js";
44
- import"./index-bkkxxwcd.js";
45
- import"./index-7c4bxgdh.js";
45
+ import"./index-k3cxyk66.js";
46
+ import"./index-8aabbfhv.js";
47
+ import"./index-n48cwf1a.js";
46
48
  import"./index-8fwhhayc.js";
47
49
  import"./index-q1exe2b3.js";
48
- import"./index-ajfa2wmj.js";
49
- import"./index-k46me75h.js";
50
- import"./index-ee3x66a5.js";
51
- import"./index-9kf3mj08.js";
50
+ import"./index-7sy3aa9m.js";
51
+ import"./index-4905hd2m.js";
52
+ import"./index-qmfzfh7m.js";
53
+ import {
54
+ resolveWorktreeIsolationConfig
55
+ } from "./index-254xf5y6.js";
56
+ import"./index-gprxjmm7.js";
57
+ import"./index-n832052r.js";
58
+ import"./index-zgq25ze6.js";
59
+ import"./index-mpw32szm.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-cfwdm1dx.js";
52
66
  import"./index-tq5s07ta.js";
53
67
  import"./index-rtry5xyf.js";
54
- import"./index-j02ez59y.js";
68
+ import"./index-srd87kxc.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-ktazgjqw.js";
62
- import"./index-gprxjmm7.js";
63
- import"./index-n832052r.js";
64
- import"./index-9wmx9ca8.js";
65
- import"./index-myav90y6.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-sdqtecsd.js";
72
- import"./index-4rhhvd1a.js";
73
79
  import"./index-zgwm4ryv.js";
74
- import"./index-we279je2.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
 
@@ -221,6 +221,23 @@ export interface CoverageMissDiagnostic {
221
221
  expectedSnippet: string;
222
222
  foundSnippet: string;
223
223
  divergenceOffset: number;
224
+ /**
225
+ * Issue #2204: the longest matching prefix fell under
226
+ * `COVERAGE_DIAG_MIN_PREFIX`, so the "divergence" is coincidental
227
+ * punctuation/noise rather than a real aligned prefix — the requirement
228
+ * text is effectively absent from ACCEPTANCE. Renderers must emit the
229
+ * "requirement text completely missing" fallback instead of a
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.
239
+ */
240
+ completelyMissing?: boolean;
224
241
  corruptionHint?: string;
225
242
  }
226
243
  /**
@@ -237,6 +254,30 @@ export declare function describeCoverageMiss(params: {
237
254
  normalizedExpected: string;
238
255
  normalizedAcceptance: string;
239
256
  }): CoverageMissDiagnostic;
257
+ /**
258
+ * Builds the ACCEPTANCE_FIELD_COVERAGE_MISMATCH error (#1687/#1896/#2063/#2204
259
+ * contract). Exported pure so the message contract — normalized-compare note,
260
+ * divergence pointer vs #2204 completely-missing fallback, mojibake warning,
261
+ * fenced paste-ready requirement body with its cap, and the anti-spelunking
262
+ * directive — stays unit-testable even though #2205's injection makes the
263
+ * toolBefore throw structurally unreachable today (injection and the
264
+ * coverage recheck share the same field list, id-resolution, and
265
+ * normalization logic, so whatever injection covers, the recheck also
266
+ * considers covered). This stays wired as defense-in-depth against a FUTURE
267
+ * divergence — e.g. someone edits `injectSpecRequirementsIntoAcceptance`'s
268
+ * field list, unknown-id handling, or normalization without updating
269
+ * `checkAcceptanceCoversFrRefs` to match, or vice versa.
270
+ */
271
+ export declare function buildAcceptanceCoverageMismatchError(params: {
272
+ targetAgent: string;
273
+ coverageTaskId: string | null;
274
+ coverageResult: {
275
+ covered: boolean;
276
+ missingId?: string;
277
+ diagnostic?: CoverageMissDiagnostic;
278
+ expectedBody?: string;
279
+ };
280
+ }): Error;
240
281
  /**
241
282
  * FR-001/FR-002/FR-005/SC-001/SC-002/SC-006 (issue #1687): mechanical coverage
242
283
  * check that the ACCEPTANCE text CONTAINS the verbatim requirement body for each
@@ -264,6 +305,38 @@ export declare function checkAcceptanceCoversFrRefs(params: {
264
305
  diagnostic?: CoverageMissDiagnostic;
265
306
  expectedBody?: string;
266
307
  };
308
+ /** Args fields (in precedence order) that may carry the ACCEPTANCE header. */
309
+ declare const ACCEPTANCE_ARGS_FIELDS: readonly ["prompt", "description", "task", "input", "message"];
310
+ export interface AcceptanceInjectionOutcome {
311
+ /** The args field that carried the ACCEPTANCE header and was mutated. */
312
+ field: (typeof ACCEPTANCE_ARGS_FIELDS)[number];
313
+ /** Spec ids whose verbatim bodies were appended. */
314
+ injectedIds: string[];
315
+ }
316
+ /**
317
+ * Issue #2205: programmatically guarantee verbatim FR/SC fidelity in the
318
+ * ACCEPTANCE field. The architect lists the task's mapped FR-###/SC-### ids on
319
+ * the ACCEPTANCE line (or pastes bodies itself, legacy style); this helper
320
+ * appends the VERBATIM requirement body from .swarm/spec.md — prefixed with the
321
+ * id, on its own line inside the ACCEPTANCE section — for every mapped id the
322
+ * current ACCEPTANCE text does not already cover, mutating the args field in
323
+ * place so the downstream coder/reviewer receives the exact requirement text.
324
+ *
325
+ * Coverage uses the SAME normalized-substring test as
326
+ * `checkAcceptanceCoversFrRefs` (shared helpers, no drift), so:
327
+ * - an already-verbatim legacy dispatch is a no-op;
328
+ * - an id missing from spec.md is skipped (fail-open, mirrored semantics);
329
+ * - after injection, every extractable id is covered by construction.
330
+ *
331
+ * Returns null when nothing was injected (no ACCEPTANCE header in any field,
332
+ * or every mapped id already covered). Throws never — mechanical failures are
333
+ * the caller's concern (the coverage block is already fail-open).
334
+ */
335
+ export declare function injectSpecRequirementsIntoAcceptance(params: {
336
+ args: Record<string, unknown>;
337
+ frRefs: string[];
338
+ specText: string;
339
+ }): AcceptanceInjectionOutcome | null;
267
340
  interface MessageInfo {
268
341
  role: string;
269
342
  agent?: string;
@@ -364,9 +437,17 @@ declare function extractTaskFileDirectives(args: Record<string, unknown>, mode?:
364
437
  * Lines that don't match the pattern are silently ignored.
365
438
  *
366
439
  * @param outputText - Raw text output from the agent dispatch
367
- * @returns Map of taskId -> verdict string
440
+ * @returns StageBAttributionResult with typed verdicts and any parsing errors
368
441
  */
369
- 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;
370
451
  export declare function canRunWhileTaskAwaitsCompletion(input: {
371
452
  directory: string | undefined;
372
453
  normalizedTool: string;
@@ -446,4 +527,5 @@ export declare function createDelegationGateHook(config: PluginConfig, directory
446
527
  }) => Promise<void>;
447
528
  sessionEnded: (sessionID: string, includeOwnedChildren?: boolean) => void;
448
529
  backgroundCompletionClaimed: (record: BackgroundDelegationRecord) => void;
530
+ abortDeniedSettlementForCall: (callID: string) => Promise<void>;
449
531
  };