opencode-swarm 7.140.3 → 7.140.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/.opencode/skills/brainstorm/SKILL.md +1 -1
  2. package/.opencode/skills/ci-failure-batching/SKILL.md +11 -1
  3. package/.opencode/skills/ci-fix-monitor/SKILL.md +6 -4
  4. package/.opencode/skills/discover/SKILL.md +1 -1
  5. package/.opencode/skills/durable-session-state/SKILL.md +82 -0
  6. package/.opencode/skills/engineering-conventions/SKILL.md +1 -1
  7. package/.opencode/skills/issue-ingest/SKILL.md +13 -7
  8. package/.opencode/skills/issue-tracer/SKILL.md +1 -1
  9. package/.opencode/skills/orchestrating-subagents/SKILL.md +113 -0
  10. package/.opencode/skills/parallel-work-check/SKILL.md +1 -1
  11. package/.opencode/skills/swarm-ci-monitor/SKILL.md +5 -3
  12. package/.opencode/skills/swarm-pr-feedback/SKILL.md +30 -4
  13. package/.opencode/skills/writing-tests/SKILL.md +1 -1
  14. package/dist/agents/reviewer-directive-compliance.d.ts +19 -5
  15. package/dist/cli/{config-doctor-fnmfd35x.js → config-doctor-qqe6172n.js} +3 -3
  16. package/dist/cli/{core-p5cyej3r.js → core-52k057mf.js} +2 -2
  17. package/dist/cli/{curation-policy-d52h4g8t.js → curation-policy-9291bdat.js} +5 -7
  18. package/dist/cli/{curator-3zpdqt9r.js → curator-04xqq68e.js} +28 -28
  19. package/dist/cli/{curator-llm-factory-2h0xb62t.js → curator-llm-factory-cfm8fhdw.js} +28 -28
  20. package/dist/cli/{evidence-summary-service-nfdc1ht9.js → evidence-summary-service-em58myd7.js} +8 -8
  21. package/dist/cli/{gate-evidence-46qeyfc1.js → gate-evidence-ezxfkb22.js} +4 -4
  22. package/dist/cli/{guardrail-explain-yktan15c.js → guardrail-explain-pn1bcgfz.js} +29 -29
  23. package/dist/cli/{guardrail-log-82da8y5a.js → guardrail-log-vb5zkegf.js} +4 -4
  24. package/dist/cli/{hive-promoter-af5yaxvt.js → hive-promoter-z09khawt.js} +28 -28
  25. package/dist/cli/index-2rb3x0fk.js +2554 -0
  26. package/dist/cli/{index-hfvxhk4z.js → index-35qep0v7.js} +1 -1
  27. package/dist/cli/{index-h2waehqq.js → index-4hp8nvwb.js} +1 -1
  28. package/dist/cli/{index-8n4c3vec.js → index-7begd9aq.js} +4 -4
  29. package/dist/cli/{index-q1q8b85k.js → index-a1fjhx4w.js} +822 -688
  30. package/dist/cli/{index-xz8f1n1a.js → index-arza4m4j.js} +2 -2
  31. package/dist/cli/{index-ry0hgg3m.js → index-bfhwtdsw.js} +34 -0
  32. package/dist/cli/{index-jfjnn408.js → index-bn17ycxn.js} +1 -1
  33. package/dist/cli/{index-1m1ksyqt.js → index-c5kr20nz.js} +1 -1
  34. package/dist/cli/{index-pj9h75cc.js → index-djbhe0yh.js} +30 -30
  35. package/dist/cli/{index-p9dsb0tw.js → index-dtam929z.js} +2 -19
  36. package/dist/cli/{index-n0pja0qs.js → index-dtyeabmj.js} +2 -2
  37. package/dist/cli/{index-7kdd75se.js → index-hfjvepk2.js} +11 -9
  38. package/dist/cli/{index-j1xmren9.js → index-hfwzxh3j.js} +3 -3
  39. package/dist/cli/{index-n408rw7n.js → index-hxvkfx6t.js} +12 -0
  40. package/dist/cli/{index-brh827g0.js → index-hz0refz4.js} +10 -10
  41. package/dist/cli/{index-gtbmabws.js → index-mpytsq6k.js} +2 -2
  42. package/dist/cli/{index-rs1f1bh0.js → index-mrpfd1jx.js} +1 -1
  43. package/dist/cli/{index-8bnzzv3b.js → index-pp5m7xga.js} +2 -2
  44. package/dist/cli/{index-b9rd29ge.js → index-rrb6cz2f.js} +1 -1
  45. package/dist/cli/{index-adyxbmt5.js → index-ryq97w1x.js} +2 -2
  46. package/dist/cli/{index-95bj4kaw.js → index-s8g7jh1k.js} +2 -2
  47. package/dist/cli/{index-7d5jseea.js → index-tj04dj06.js} +5 -2
  48. package/dist/cli/{index-jvk119ck.js → index-v1an91bq.js} +54 -19
  49. package/dist/cli/{index-898f16j9.js → index-v3x7j9ey.js} +2 -2
  50. package/dist/cli/{index-pg7n141e.js → index-v3xhc7kg.js} +1 -1
  51. package/dist/cli/{index-qksjaxpd.js → index-vrmkg8fm.js} +46 -15
  52. package/dist/cli/{index-yyyk63kk.js → index-w4etfamq.js} +2 -2
  53. package/dist/cli/{index-kbfsp07d.js → index-wk8s1m7b.js} +2 -2
  54. package/dist/cli/{index-wf35ka4z.js → index-ysa38bnr.js} +2 -2
  55. package/dist/cli/index.js +28 -28
  56. package/dist/cli/{knowledge-escalator-7q59skqg.js → knowledge-escalator-gdjnwszd.js} +19 -7
  57. package/dist/cli/{knowledge-events-3nwfdpq7.js → knowledge-events-581x4q7n.js} +18 -5
  58. package/dist/cli/{knowledge-link-q46k9adx.js → knowledge-link-axx45d1h.js} +4 -4
  59. package/dist/cli/{knowledge-store-0d83rhh3.js → knowledge-store-ttg33482.js} +5 -5
  60. package/dist/cli/{knowledge-validator-6mfx91a2.js → knowledge-validator-8kywqt8b.js} +7 -8
  61. package/dist/cli/{pending-delegations-qzrx38y9.js → pending-delegations-btwqsvz4.js} +3 -3
  62. package/dist/cli/{pr-subscriptions-5s59h4dd.js → pr-subscriptions-83y1cdwv.js} +3 -3
  63. package/dist/cli/{runner-y78d7ryb.js → runner-fh3r41nw.js} +5 -5
  64. package/dist/cli/{scan-cursor-rc8q12ss.js → scan-cursor-j8ytdpam.js} +6 -6
  65. package/dist/cli/{schema-n9eaxp3a.js → schema-6xfqtpvn.js} +2 -2
  66. package/dist/cli/{scope-persistence-dr1msqxw.js → scope-persistence-8c72jrgp.js} +4 -4
  67. package/dist/cli/{skill-generator-q7c6vadg.js → skill-generator-n8vm1yhn.js} +18 -9
  68. package/dist/cli/{telemetry-sc57xtb0.js → telemetry-fb44gpba.js} +1 -1
  69. package/dist/cli/{worktree-collision-ownership-7a8e6gr9.js → worktree-collision-ownership-f28r473k.js} +3 -3
  70. package/dist/commands/ci-simulate.d.ts +7 -3
  71. package/dist/commands/close.d.ts +8 -0
  72. package/dist/commands/registry.d.ts +2 -2
  73. package/dist/commands/sdd.d.ts +15 -0
  74. package/dist/config/bundled-skills.d.ts +1 -1
  75. package/dist/config/schema.d.ts +2 -0
  76. package/dist/git/branch.d.ts +1 -1
  77. package/dist/hooks/delegate-ack-collector.d.ts +5 -0
  78. package/dist/hooks/hive-promoter.d.ts +4 -4
  79. package/dist/hooks/issue-trace-reducer.d.ts +7 -1
  80. package/dist/hooks/issue-trace-state.d.ts +18 -0
  81. package/dist/hooks/issue-trace.d.ts +3 -1
  82. package/dist/hooks/knowledge-application-gate.d.ts +8 -3
  83. package/dist/hooks/knowledge-application.d.ts +8 -5
  84. package/dist/hooks/knowledge-escalator.d.ts +9 -5
  85. package/dist/hooks/knowledge-events.d.ts +21 -8
  86. package/dist/hooks/knowledge-injector.d.ts +9 -0
  87. package/dist/hooks/knowledge-receipt-ledger-storage.d.ts +49 -0
  88. package/dist/hooks/knowledge-receipt-ledger.d.ts +305 -0
  89. package/dist/hooks/knowledge-receipt-observability.d.ts +28 -0
  90. package/dist/hooks/knowledge-receipt-validator.d.ts +13 -50
  91. package/dist/hooks/knowledge-store.d.ts +6 -1
  92. package/dist/hooks/knowledge-types.d.ts +12 -0
  93. package/dist/hooks/phase-complete-directive-gate.d.ts +3 -1
  94. package/dist/hooks/phase-directives.d.ts +4 -4
  95. package/dist/hooks/pr-workflow-gate.d.ts +34 -1
  96. package/dist/hooks/promotion-evidence-store.d.ts +14 -8
  97. package/dist/hooks/reviewer-verdict-parser.d.ts +34 -10
  98. package/dist/index.js +550 -531
  99. package/dist/knowledge/curation-policy.d.ts +0 -2
  100. package/dist/observability/catalog.d.ts +5 -3
  101. package/dist/observability/legacy.d.ts +4 -3
  102. package/dist/telemetry.d.ts +1 -1
  103. package/dist/tools/index.d.ts +3 -0
  104. package/dist/tools/manifest.d.ts +3 -0
  105. package/dist/tools/phase-complete.d.ts +9 -0
  106. package/dist/tools/rebind-pr-feedback-head.d.ts +17 -0
  107. package/dist/tools/record-implementation-review.d.ts +19 -0
  108. package/dist/tools/record-recurrence-sweep.d.ts +17 -0
  109. package/dist/tools/run-pr-feedback-stage-a.d.ts +8 -0
  110. package/dist/tools/tool-metadata.d.ts +12 -0
  111. package/package.json +3 -1
  112. package/dist/cli/index-n8jncheh.js +0 -666
@@ -9,11 +9,11 @@ import {
9
9
  PluginConfigSchema,
10
10
  init_schema,
11
11
  stripKnownSwarmPrefix
12
- } from "./index-7d5jseea.js";
12
+ } from "./index-tj04dj06.js";
13
13
  import {
14
14
  ALL_AGENT_NAMES,
15
15
  init_constants
16
- } from "./index-n408rw7n.js";
16
+ } from "./index-hxvkfx6t.js";
17
17
 
18
18
  // src/services/config-doctor.ts
19
19
  init_constants();
@@ -592,6 +592,20 @@ var CATALOG_SOURCE = [
592
592
  futureOwnerIssue: ISSUE_SINK,
593
593
  retentionOwnerIssue: ISSUE_SINK
594
594
  }
595
+ ],
596
+ [
597
+ "knowledge_receipt_transition",
598
+ {
599
+ category: "knowledge",
600
+ severity: "info",
601
+ privacyClass: "pseudonymous",
602
+ producer: "src/hooks/knowledge-receipt-observability.ts:160",
603
+ consumers: NO_CONSUMERS,
604
+ futureOwnerIssue: ISSUE_SINK,
605
+ retentionOwnerIssue: ISSUE_LIFECYCLE_RETENTION,
606
+ requiredWorkflowIds: NO_WORKFLOW_IDS,
607
+ allowsLinks: false
608
+ }
595
609
  ]
596
610
  ];
597
611
  var catalog = {};
@@ -950,6 +964,18 @@ var KNOWN_TELEMETRY_KEYS = Object.freeze({
950
964
  "conflictType",
951
965
  "resolutionPath",
952
966
  "summary"
967
+ ]),
968
+ knowledge_receipt_transition: Object.freeze([
969
+ "transition",
970
+ "reasonCode",
971
+ "schemaVersion",
972
+ "knowledgeTraceId",
973
+ "knowledgeEntryId",
974
+ "sessionId",
975
+ "taskId",
976
+ "phase",
977
+ "receiptOutcome",
978
+ "receiptSource"
953
979
  ])
954
980
  });
955
981
  var EMPTY_EXTRA = Object.freeze({});
@@ -1038,6 +1064,14 @@ function extractWorkflowIds(data) {
1038
1064
  const batchId = nonEmptyString(record.batchId);
1039
1065
  if (batchId !== undefined)
1040
1066
  ids.batchId = batchId;
1067
+ const knowledgeTraceId = nonEmptyString(record.knowledgeTraceId);
1068
+ if (knowledgeTraceId !== undefined) {
1069
+ ids.knowledgeTraceId = knowledgeTraceId;
1070
+ }
1071
+ const knowledgeEntryId = nonEmptyString(record.knowledgeEntryId);
1072
+ if (knowledgeEntryId !== undefined) {
1073
+ ids.knowledgeEntryId = knowledgeEntryId;
1074
+ }
1041
1075
  const phase = record.phase;
1042
1076
  if (typeof phase === "number" && Number.isFinite(phase)) {
1043
1077
  ids.phaseId = String(phase);
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-k46me75h.js";
5
5
  import {
6
6
  withEvidenceLock
7
- } from "./index-hfvxhk4z.js";
7
+ } from "./index-35qep0v7.js";
8
8
  import {
9
9
  log
10
10
  } from "./index-zgwm4ryv.js";
@@ -9,7 +9,7 @@ import {
9
9
  readEvaluationRun,
10
10
  saveEvaluationRun,
11
11
  saveTaskSetSnapshot
12
- } from "./index-yyyk63kk.js";
12
+ } from "./index-w4etfamq.js";
13
13
  import {
14
14
  canonicalHash,
15
15
  computeCandidateInputContentHash,
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-95bj4kaw.js";
4
+ } from "./index-s8g7jh1k.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-pg7n141e.js";
7
+ } from "./index-v3xhc7kg.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  SWARM_COMMAND_TOOL_ALLOWLIST,
@@ -84,49 +84,49 @@ import {
84
84
  handleWriteRetroCommand,
85
85
  normalizeSwarmCommandInput,
86
86
  resolveCommand
87
- } from "./index-q1q8b85k.js";
87
+ } from "./index-a1fjhx4w.js";
88
88
  import"./index-41hkt36g.js";
89
- import"./index-1m1ksyqt.js";
90
- import"./index-wf35ka4z.js";
91
- import"./index-xz8f1n1a.js";
92
- import"./index-brh827g0.js";
93
- import"./index-yyyk63kk.js";
89
+ import"./index-c5kr20nz.js";
90
+ import"./index-ysa38bnr.js";
91
+ import"./index-arza4m4j.js";
92
+ import"./index-hz0refz4.js";
93
+ import"./index-w4etfamq.js";
94
94
  import"./index-y8552snf.js";
95
95
  import"./index-4905hd2m.js";
96
96
  import"./index-134d35c1.js";
97
- import"./index-7kdd75se.js";
98
- import"./index-jvk119ck.js";
99
- import"./index-gtbmabws.js";
97
+ import"./index-hfjvepk2.js";
98
+ import"./index-v1an91bq.js";
99
+ import"./index-mpytsq6k.js";
100
100
  import"./index-v2xrer41.js";
101
101
  import"./index-c8s9a3zh.js";
102
102
  import"./index-9ss2m4rs.js";
103
- import"./index-jfjnn408.js";
104
- import"./index-adyxbmt5.js";
103
+ import"./index-bn17ycxn.js";
104
+ import"./index-ryq97w1x.js";
105
105
  import"./index-556ja8an.js";
106
- import"./index-kbfsp07d.js";
106
+ import"./index-wk8s1m7b.js";
107
107
  import"./index-1kyex7z2.js";
108
108
  import"./index-b8zgtz81.js";
109
- import"./index-898f16j9.js";
110
- import"./index-b9rd29ge.js";
111
- import"./index-k46me75h.js";
112
- import"./index-ee3x66a5.js";
109
+ import"./index-v3x7j9ey.js";
110
+ import"./index-rrb6cz2f.js";
113
111
  import"./index-74hpm6sh.js";
114
- import"./index-n0pja0qs.js";
112
+ import"./index-dtyeabmj.js";
115
113
  import"./index-8fwhhayc.js";
116
114
  import"./index-q1exe2b3.js";
117
- import"./index-8n4c3vec.js";
118
- import"./index-p9dsb0tw.js";
115
+ import"./index-2rb3x0fk.js";
116
+ import"./index-k46me75h.js";
117
+ import"./index-ee3x66a5.js";
118
+ import"./index-7begd9aq.js";
119
+ import"./index-dtam929z.js";
119
120
  import"./index-rtry5xyf.js";
120
- import"./index-qksjaxpd.js";
121
- import"./index-n8jncheh.js";
121
+ import"./index-vrmkg8fm.js";
122
122
  import"./index-ae75rja9.js";
123
- import"./index-rs1f1bh0.js";
124
- import"./index-h2waehqq.js";
123
+ import"./index-mrpfd1jx.js";
124
+ import"./index-4hp8nvwb.js";
125
125
  import"./index-ed5ykebp.js";
126
- import"./index-hfvxhk4z.js";
126
+ import"./index-35qep0v7.js";
127
127
  import"./index-7g4c7s5r.js";
128
128
  import"./index-4nt52yr9.js";
129
- import"./index-8bnzzv3b.js";
129
+ import"./index-pp5m7xga.js";
130
130
  import"./index-gprxjmm7.js";
131
131
  import"./index-n832052r.js";
132
132
  import"./index-d181x9zr.js";
@@ -135,15 +135,15 @@ import"./index-zgwm4ryv.js";
135
135
  import {
136
136
  init_schema,
137
137
  stripKnownSwarmPrefix
138
- } from "./index-7d5jseea.js";
138
+ } from "./index-tj04dj06.js";
139
139
  import {
140
140
  AGENT_TOOL_MAP,
141
141
  ORCHESTRATOR_NAME,
142
142
  init_constants
143
- } from "./index-n408rw7n.js";
143
+ } from "./index-hxvkfx6t.js";
144
144
  import"./index-zjygnfay.js";
145
145
  import"./index-bk5tah7q.js";
146
- import"./index-ry0hgg3m.js";
146
+ import"./index-bfhwtdsw.js";
147
147
  import"./index-bpmtbmy9.js";
148
148
  import"./index-a76rekgs.js";
149
149
 
@@ -2,15 +2,12 @@
2
2
  import {
3
3
  cohortConfigFingerprint
4
4
  } from "./index-rtry5xyf.js";
5
- import {
6
- readKnowledgeEvents
7
- } from "./index-n8jncheh.js";
8
5
  import {
9
6
  isLinked,
10
7
  readLinkPointer,
11
8
  resolveKnowledgeStoreDir,
12
9
  resolveLinkDir
13
- } from "./index-rs1f1bh0.js";
10
+ } from "./index-mrpfd1jx.js";
14
11
 
15
12
  // src/knowledge/curation-policy.ts
16
13
  import { appendFile, mkdir as mkdir2, readFile as readFile2 } from "fs/promises";
@@ -179,24 +176,11 @@ async function authorizeCuration(input, context, quorum = DEFAULT_QUORUM) {
179
176
  };
180
177
  }
181
178
  if (input.evidenceScope === "cohort-wide") {
182
- const events = await _internals2.readKnowledgeEvents(directory);
183
- const NEGATIVE_EVENT_TYPES = new Set(["violated", "contradicted"]);
184
- const entryEvents = events.filter((e) => ("type" in e) && NEGATIVE_EVENT_TYPES.has(e.type ?? "") && ("knowledge_id" in e) && e.knowledge_id === entryId);
185
- const cohortEvidence = entryEvents.length;
186
- if (cohortEvidence >= quorum.minCohortEvidence) {
187
- return {
188
- authorized: true,
189
- basis: "quorum",
190
- detail: `Cohort quorum met for entry ${entryId}: ${cohortEvidence} ` + `cohort-wide evidence events (\u2265 ${quorum.minCohortEvidence} required).`,
191
- expectedRevision: entry.revision,
192
- expectedContentHash: entry.content_hash
193
- };
194
- }
195
179
  persistProposal(proposal);
196
180
  return {
197
181
  authorized: false,
198
182
  basis: "quorum-insufficient",
199
- detail: `Cohort quorum NOT met for entry ${entryId}: ${cohortEvidence} ` + `cohort-wide evidence events (< ${quorum.minCohortEvidence} required).`,
183
+ detail: `Cohort-wide diagnostics cannot authorize destructive action for entry ${entryId}. ` + `The project-local receipt ledger cannot prove a cross-root quorum; ` + `the producer or an explicit audited override must authorize it ` + `(configured threshold ${quorum.minCohortEvidence}).`,
200
184
  proposal
201
185
  };
202
186
  }
@@ -248,7 +232,6 @@ async function readCohortConfigFingerprint(directory) {
248
232
  }
249
233
  var _internals2 = {
250
234
  resolveWorktreeId,
251
- readKnowledgeEvents,
252
235
  cohortConfigFingerprint,
253
236
  readCohortConfigFingerprint,
254
237
  readFile: readFile2,
@@ -3,10 +3,10 @@ import {
3
3
  atomicWriteFile,
4
4
  taskEvidencePath,
5
5
  withTaskEvidenceLock
6
- } from "./index-h2waehqq.js";
6
+ } from "./index-4hp8nvwb.js";
7
7
  import {
8
8
  telemetry
9
- } from "./index-ry0hgg3m.js";
9
+ } from "./index-bfhwtdsw.js";
10
10
  import {
11
11
  exports_external,
12
12
  init_zod
@@ -1,19 +1,19 @@
1
1
  // @bun
2
+ import {
3
+ effectiveRetrievalOutcomes,
4
+ readAuthoritativeKnowledgeCounterRollups
5
+ } from "./index-2rb3x0fk.js";
2
6
  import {
3
7
  ALLOWED_SKILL_PATH_PREFIXES,
4
8
  validateSkillPath
5
- } from "./index-8n4c3vec.js";
9
+ } from "./index-7begd9aq.js";
6
10
  import {
7
11
  computeOutcomeSignal,
8
12
  readKnowledge,
9
13
  resolveHiveKnowledgePath,
10
14
  resolveSwarmKnowledgePath,
11
15
  transactKnowledge
12
- } from "./index-qksjaxpd.js";
13
- import {
14
- effectiveRetrievalOutcomes,
15
- readKnowledgeCounterRollups
16
- } from "./index-n8jncheh.js";
16
+ } from "./index-vrmkg8fm.js";
17
17
  import {
18
18
  advisoryWarn,
19
19
  init_warning_buffer
@@ -81,7 +81,9 @@ var BUNDLED_PROJECT_SKILLS = [
81
81
  "fork-pr-operations",
82
82
  "parallel-work-check",
83
83
  "ci-fix-monitor",
84
- "issue-tracer"
84
+ "issue-tracer",
85
+ "orchestrating-subagents",
86
+ "durable-session-state"
85
87
  ];
86
88
  var BUNDLED_PROJECT_SKILL_ROOT = ".swarm/bundled-skills";
87
89
  function bundledProjectSkillFileReference(slug) {
@@ -824,7 +826,7 @@ async function selectCandidateEntries(directory, opts) {
824
826
  const hivePath = resolveHiveKnowledgePath();
825
827
  const hive = existsSync2(hivePath) ? await readKnowledge(hivePath) : [];
826
828
  const all = [...swarm, ...hive];
827
- const counterRollups = await readKnowledgeCounterRollups(directory);
829
+ const counterRollups = await readAuthoritativeKnowledgeCounterRollups(directory);
828
830
  const selected = [];
829
831
  for (const e of all) {
830
832
  if (e.status === "archived")
@@ -1058,7 +1060,7 @@ async function generateSkills(req) {
1058
1060
  const swarm = await readKnowledge(resolveSwarmKnowledgePath(req.directory));
1059
1061
  const hivePath = resolveHiveKnowledgePath();
1060
1062
  const hive = existsSync2(hivePath) ? await readKnowledge(hivePath) : [];
1061
- const rollups = await readKnowledgeCounterRollups(req.directory);
1063
+ const rollups = await readAuthoritativeKnowledgeCounterRollups(req.directory);
1062
1064
  pool = [...swarm, ...hive].filter((e) => idSet.has(e.id) && isActiveStatus(e.status)).sort((a, b) => (idOrder.get(a.id) ?? 0) - (idOrder.get(b.id) ?? 0)).map((e) => ({
1063
1065
  ...e,
1064
1066
  retrieval_outcomes: effectiveRetrievalOutcomes(e.retrieval_outcomes, rollups.get(e.id))
@@ -7,7 +7,7 @@ import {
7
7
  loadPluginConfigWithMeta,
8
8
  loadPluginConfigWithMetaAsync,
9
9
  resolveWorktreeIsolationConfig
10
- } from "./index-8bnzzv3b.js";
10
+ } from "./index-pp5m7xga.js";
11
11
  import {
12
12
  ApprovalEvidenceSchema,
13
13
  BaseEvidenceSchema,
@@ -65,7 +65,7 @@ import {
65
65
  TurboConfigSchema,
66
66
  WorktreeIsolationConfigSchema,
67
67
  resolveAutoReviewConfig
68
- } from "./index-7d5jseea.js";
68
+ } from "./index-tj04dj06.js";
69
69
  import {
70
70
  ALL_AGENT_NAMES,
71
71
  ALL_SUBAGENT_NAMES,
@@ -75,7 +75,7 @@ import {
75
75
  QA_AGENTS,
76
76
  isQAAgent,
77
77
  isSubagent
78
- } from "./index-n408rw7n.js";
78
+ } from "./index-hxvkfx6t.js";
79
79
  import"./index-zjygnfay.js";
80
80
  import"./index-bk5tah7q.js";
81
81
  import"./index-bpmtbmy9.js";
@@ -246,6 +246,10 @@ var init_tool_metadata = __esm(() => {
246
246
  description: "prepare an auditable PR workflow checkout or restore its exact original branch/HEAD and preserved stash after terminal cleanup",
247
247
  agents: ["architect"]
248
248
  },
249
+ record_implementation_review: {
250
+ description: "record fresh-context reviewer + critic APPROVE verdicts for the implementation diff so the /swarm issue --trace workflow can satisfy its review gate before commit-pr handoff",
251
+ agents: ["architect"]
252
+ },
249
253
  record_issue_publication: {
250
254
  description: "record a publication receipt so the /swarm issue --trace workflow reaches its terminal published state after the PR is created/updated",
251
255
  agents: ["architect"]
@@ -254,6 +258,14 @@ var init_tool_metadata = __esm(() => {
254
258
  description: "record the reproduction outcome for the current traced issue so the /swarm issue --trace workflow can satisfy its reproduction gate and transition to PLAN",
255
259
  agents: ["architect"]
256
260
  },
261
+ record_recurrence_sweep: {
262
+ description: "record the recurrence sweep (defect class, predicates, hit dispositions, guardrail proof) so the /swarm issue --trace workflow can satisfy its recurrence gate before commit-pr handoff",
263
+ agents: ["architect"]
264
+ },
265
+ rebind_pr_feedback_head: {
266
+ description: "rebind a PR_FEEDBACK workflow to a new verified remote PR head after merge/rebase/conflict repair, invalidating ancestry-bound receipts so the mechanical ladder re-runs",
267
+ agents: ["architect"]
268
+ },
257
269
  run_pr_feedback_stage_a: {
258
270
  description: "execute and persist mandatory PR-feedback Stage A checks on a content-bound revision",
259
271
  agents: ["architect"]
@@ -3,7 +3,7 @@ import {
3
3
  EvaluationRunV1Schema,
4
4
  GateAuditResultV1Schema,
5
5
  getProtectedEvaluationRunIds
6
- } from "./index-yyyk63kk.js";
6
+ } from "./index-w4etfamq.js";
7
7
  import {
8
8
  loadDatabaseCtor
9
9
  } from "./index-134d35c1.js";
@@ -26,20 +26,16 @@ import {
26
26
  replayFromLedgerWithStatus,
27
27
  takeSnapshotEvent,
28
28
  takeSnapshotWithRetry
29
- } from "./index-kbfsp07d.js";
29
+ } from "./index-wk8s1m7b.js";
30
30
  import {
31
31
  getWorktreeMergeFailure
32
32
  } from "./index-b8zgtz81.js";
33
- import {
34
- readSwarmFileAsync,
35
- validateSwarmPath
36
- } from "./index-k46me75h.js";
37
33
  import {
38
34
  isValidTaskId,
39
35
  readTaskEvidence,
40
36
  readTaskEvidenceRaw,
41
37
  sanitizeTaskId
42
- } from "./index-n0pja0qs.js";
38
+ } from "./index-dtyeabmj.js";
43
39
  import {
44
40
  _internals,
45
41
  buildDefaultPolicy,
@@ -47,6 +43,10 @@ import {
47
43
  init_runner_client,
48
44
  probe
49
45
  } from "./index-q1exe2b3.js";
46
+ import {
47
+ readSwarmFileAsync,
48
+ validateSwarmPath
49
+ } from "./index-k46me75h.js";
50
50
  import {
51
51
  invalidateCachedArtifact,
52
52
  readCachedParsedFile
@@ -55,7 +55,7 @@ import {
55
55
  assertProjectRoot,
56
56
  tryAcquireLock,
57
57
  withEvidenceLock
58
- } from "./index-hfvxhk4z.js";
58
+ } from "./index-35qep0v7.js";
59
59
  import {
60
60
  bunHash,
61
61
  bunWrite,
@@ -77,7 +77,7 @@ import {
77
77
  } from "./index-zgwm4ryv.js";
78
78
  import {
79
79
  emit
80
- } from "./index-ry0hgg3m.js";
80
+ } from "./index-bfhwtdsw.js";
81
81
  import {
82
82
  ZodError,
83
83
  init_zod
@@ -4967,4 +4967,4 @@ function mergeDurableGateEntriesFromEvidence(taskId, entries, evidence) {
4967
4967
  return merged;
4968
4968
  }
4969
4969
 
4970
- export { projectDbExists, getProjectDb, closeProjectDb, buildTaskCompletionDescriptor, ensureTaskCheckpointReceipt, updateTaskCheckpointReceipt, getExecutor, init_executor, MAX_TRANSIENT_RETRIES, isTransientSpawnError, transientBackoff, getGitRepositoryStatus, isGitRepo, getDefaultBaseBranch, resetToRemoteBranch, resetToMainAfterMerge, containsPathTraversal, containsControlChars, isStateUnreadable, loadEpicSessionState, isEpicModeActive, enableEpicMode, disableEpicMode, normalizePath, pathsConflict, isGlobalFile, isProtectedPath, readTaskScopes, computeSpecHash, loadPlanJsonOnly, loadPlan, savePlan, closePlanTerminalState, derivePlanMarkdown, isValidEvidenceType, sanitizeTaskId2 as sanitizeTaskId, validateProjectRoot, saveEvidence, loadEvidence, listEvidenceTaskIds, checkRequirementCoverage, archiveEvidence, readDurableGateEvidence, getDurableGateEvidenceStatus, getDurableGateEvidenceStatusForTask, mergeDurableGateEntriesFromEvidence };
4970
+ export { projectDbExists, getProjectDb, closeProjectDb, buildTaskCompletionDescriptor, ensureTaskCheckpointReceipt, updateTaskCheckpointReceipt, getExecutor, init_executor, MAX_TRANSIENT_RETRIES, isTransientSpawnError, transientBackoff, getGitRepositoryStatus, isGitRepo, getDefaultBaseBranch, detectDefaultRemoteBranch, resetToRemoteBranch, resetToMainAfterMerge, containsPathTraversal, containsControlChars, isStateUnreadable, loadEpicSessionState, isEpicModeActive, enableEpicMode, disableEpicMode, normalizePath, pathsConflict, isGlobalFile, isProtectedPath, readTaskScopes, computeSpecHash, loadPlanJsonOnly, loadPlan, savePlan, closePlanTerminalState, derivePlanMarkdown, isValidEvidenceType, sanitizeTaskId2 as sanitizeTaskId, validateProjectRoot, saveEvidence, loadEvidence, listEvidenceTaskIds, checkRequirementCoverage, archiveEvidence, readDurableGateEvidence, getDurableGateEvidenceStatus, getDurableGateEvidenceStatusForTask, mergeDurableGateEntriesFromEvidence };
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  readKnowledge,
4
4
  transactKnowledge
5
- } from "./index-qksjaxpd.js";
5
+ } from "./index-vrmkg8fm.js";
6
6
  import {
7
7
  resolveKnowledgeStoreDir
8
- } from "./index-rs1f1bh0.js";
8
+ } from "./index-mrpfd1jx.js";
9
9
  import {
10
10
  init_logger,
11
11
  log
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  atomicWriteFile
4
- } from "./index-h2waehqq.js";
4
+ } from "./index-4hp8nvwb.js";
5
5
  import {
6
6
  init_logger,
7
7
  warn
@@ -10,11 +10,11 @@ import {
10
10
  PluginConfigSchema,
11
11
  init_schema,
12
12
  resolveExternalSkillsConfig
13
- } from "./index-7d5jseea.js";
13
+ } from "./index-tj04dj06.js";
14
14
  import {
15
15
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
16
16
  init_constants
17
- } from "./index-n408rw7n.js";
17
+ } from "./index-hxvkfx6t.js";
18
18
  import {
19
19
  MAX_MERGE_DEPTH,
20
20
  deepMerge,
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-k46me75h.js";
5
5
  import {
6
6
  withEvidenceLock
7
- } from "./index-hfvxhk4z.js";
7
+ } from "./index-35qep0v7.js";
8
8
  import {
9
9
  bunWrite
10
10
  } from "./index-4nt52yr9.js";
@@ -5,10 +5,10 @@ import {
5
5
  import {
6
6
  computePlanStructureHash,
7
7
  derivePlanId
8
- } from "./index-kbfsp07d.js";
8
+ } from "./index-wk8s1m7b.js";
9
9
  import {
10
10
  assertProjectRoot
11
- } from "./index-hfvxhk4z.js";
11
+ } from "./index-35qep0v7.js";
12
12
  import {
13
13
  require_proper_lockfile
14
14
  } from "./index-7g4c7s5r.js";
@@ -12,14 +12,14 @@ import {
12
12
  detectPosixWrites,
13
13
  detectWindowsWrites,
14
14
  resolveWriteTargets
15
- } from "./index-q1q8b85k.js";
15
+ } from "./index-a1fjhx4w.js";
16
16
  import {
17
17
  checkFileAuthority,
18
18
  classifyFile,
19
19
  isInDeclaredScope,
20
20
  redactPath,
21
21
  redactShellCommand
22
- } from "./index-wf35ka4z.js";
22
+ } from "./index-ysa38bnr.js";
23
23
 
24
24
  // src/services/guardrail-explain-service.ts
25
25
  import path from "path";
@@ -3,7 +3,7 @@ import {
3
3
  ALL_AGENT_NAMES,
4
4
  SUMMARIZER_EXEMPT_TOOL_NAMES,
5
5
  init_constants
6
- } from "./index-n408rw7n.js";
6
+ } from "./index-hxvkfx6t.js";
7
7
  import {
8
8
  OUTCOME_BLOCK_THRESHOLD,
9
9
  init_knowledge_types
@@ -21,7 +21,7 @@ var package_default;
21
21
  var init_package = __esm(() => {
22
22
  package_default = {
23
23
  name: "opencode-swarm",
24
- version: "7.140.3",
24
+ version: "7.140.4",
25
25
  description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
26
26
  main: "dist/index.js",
27
27
  types: "dist/index.d.ts",
@@ -102,6 +102,8 @@ var init_package = __esm(() => {
102
102
  ".opencode/skills/parallel-work-check",
103
103
  ".opencode/skills/ci-fix-monitor",
104
104
  ".opencode/skills/issue-tracer",
105
+ ".opencode/skills/orchestrating-subagents",
106
+ ".opencode/skills/durable-session-state",
105
107
  "tests/fixtures/memory-recall",
106
108
  "README.md",
107
109
  "LICENSE"
@@ -853,6 +855,7 @@ var init_schema = __esm(() => {
853
855
  evergreen_utility: exports_external.number().min(0).max(1).default(0.8),
854
856
  low_utility_threshold: exports_external.number().min(0).max(1).default(0.3),
855
857
  min_retrievals_for_utility: exports_external.number().min(1).max(100).default(3),
858
+ receipt_close_grace_days: exports_external.number().int().min(0).max(3650).default(7),
856
859
  schema_version: exports_external.number().int().min(1).default(1),
857
860
  directive_min_confidence: exports_external.number().min(0).max(1).default(0.75),
858
861
  same_project_weight: exports_external.number().min(0).max(5).default(1),