opencode-swarm 7.146.3 → 7.146.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 (65) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +27 -44
  2. package/.opencode/skills/swarm-pr-review/references/findings-persistence-contract.md +52 -12
  3. package/.opencode/skills/swarm-pr-review/references/lane-output-recoverability.md +6 -3
  4. package/.opencode/skills/swarm-pr-review/references/parser-dry-run.md +19 -1
  5. package/.opencode/skills/swarm-pr-review/references/verdict-settlement-contract.md +41 -0
  6. package/dist/background/candidate-contract.d.ts +21 -1
  7. package/dist/background/candidate-parser.d.ts +21 -1
  8. package/dist/background/pending-delegations.d.ts +8 -1
  9. package/dist/background/pr-review-collection-receipt.d.ts +70 -0
  10. package/dist/cli/{config-doctor-yd866pd5.js → config-doctor-578ebqhn.js} +2 -2
  11. package/dist/cli/{core-nc9a9g5m.js → core-2ne03a43.js} +1 -1
  12. package/dist/cli/{curation-policy-9vv7v5rf.js → curation-policy-g353f457.js} +4 -4
  13. package/dist/cli/{curator-llm-factory-ewffa8r1.js → curator-llm-factory-6hgn7p6n.js} +24 -24
  14. package/dist/cli/{curator-acp80hpc.js → curator-w52frg17.js} +24 -24
  15. package/dist/cli/{evidence-summary-service-8gw74j8g.js → evidence-summary-service-nj4p6a0d.js} +9 -9
  16. package/dist/cli/{gate-evidence-jj3zt2x1.js → gate-evidence-4vnjdh9y.js} +4 -4
  17. package/dist/cli/{guardrail-explain-50cp8k3r.js → guardrail-explain-rq01z1yz.js} +25 -25
  18. package/dist/cli/{guardrail-log-jazq10gt.js → guardrail-log-ratb651f.js} +3 -3
  19. package/dist/cli/{hive-promoter-qhrngsvb.js → hive-promoter-pbm9kee1.js} +24 -24
  20. package/dist/cli/{index-gayh8tmh.js → index-1mbdwy12.js} +1 -1
  21. package/dist/cli/{index-fypq68yn.js → index-3neh2mxk.js} +1 -1
  22. package/dist/cli/{index-4zevsvaa.js → index-5cbbtbvf.js} +3 -3
  23. package/dist/cli/{index-0a4s2803.js → index-6eycwm3v.js} +4 -4
  24. package/dist/cli/{index-1kq3x5q6.js → index-8py21zn6.js} +1 -1
  25. package/dist/cli/{index-262kyrk3.js → index-96zkay2e.js} +2 -2
  26. package/dist/cli/{index-bydybrke.js → index-bq4mvwht.js} +2 -2
  27. package/dist/cli/{index-n96nt4gb.js → index-brb64k96.js} +247 -102
  28. package/dist/cli/{index-3gagma8p.js → index-df8xj9hr.js} +1 -1
  29. package/dist/cli/{index-a7cnyp5e.js → index-dp5w9s5z.js} +5 -5
  30. package/dist/cli/{index-j2ckvbx7.js → index-f75qjtn5.js} +1 -1
  31. package/dist/cli/{index-pgsvn005.js → index-ffqdah8s.js} +5 -5
  32. package/dist/cli/{index-ypwwchs0.js → index-fp2d44f5.js} +1 -1
  33. package/dist/cli/{index-eybamsqg.js → index-g2r8nknz.js} +2 -2
  34. package/dist/cli/{index-cgcs823z.js → index-g335vrc7.js} +4 -4
  35. package/dist/cli/{index-7ph5pz77.js → index-gr3zfcsh.js} +2 -1
  36. package/dist/cli/{index-qjgg9qzs.js → index-hcb25p12.js} +1 -1
  37. package/dist/cli/{index-xz9w7sa9.js → index-hw1yghpg.js} +4 -4
  38. package/dist/cli/{index-gwt7ceh7.js → index-jgwhpza8.js} +2 -2
  39. package/dist/cli/{index-bxk21f2w.js → index-kjmcp9mf.js} +1 -1
  40. package/dist/cli/{index-923phxsp.js → index-kv2j4cnq.js} +6 -6
  41. package/dist/cli/{index-pc4423w8.js → index-p3k155dv.js} +1 -1
  42. package/dist/cli/{index-bxs4wkjf.js → index-rpy0bent.js} +177 -17
  43. package/dist/cli/{index-qqawmxe7.js → index-t798v5pq.js} +26 -26
  44. package/dist/cli/{index-463msy1e.js → index-tp5ytzzg.js} +1 -1
  45. package/dist/cli/{index-v2eevdbj.js → index-vdrwj7z0.js} +4 -4
  46. package/dist/cli/{index-yr1aabxa.js → index-wesj94x0.js} +3 -3
  47. package/dist/cli/{index-3377n9qp.js → index-xsxj4vbf.js} +1 -1
  48. package/dist/cli/index.js +24 -24
  49. package/dist/cli/{knowledge-escalator-7zpg79dx.js → knowledge-escalator-jbazxmk5.js} +9 -9
  50. package/dist/cli/{knowledge-events-8abttcnt.js → knowledge-events-jyqy3st8.js} +7 -7
  51. package/dist/cli/{knowledge-link-mgg482z6.js → knowledge-link-jkx8xjxp.js} +3 -3
  52. package/dist/cli/{knowledge-store-a5mzf986.js → knowledge-store-e2defagd.js} +4 -4
  53. package/dist/cli/{knowledge-validator-fn2myc73.js → knowledge-validator-pnmdsw2b.js} +6 -6
  54. package/dist/cli/{pending-delegations-591vme3d.js → pending-delegations-k2yqg1sj.js} +1 -1
  55. package/dist/cli/{runner-rcnpm510.js → runner-q7d22d1w.js} +4 -4
  56. package/dist/cli/{scan-cursor-4jv70zwb.js → scan-cursor-snx85enn.js} +5 -5
  57. package/dist/cli/{schema-jhz9hme9.js → schema-6rmxzg6g.js} +1 -1
  58. package/dist/cli/{scope-persistence-ykswenxj.js → scope-persistence-23cqafkx.js} +5 -5
  59. package/dist/cli/{skill-generator-k5pxb3w2.js → skill-generator-980zjk9q.js} +11 -11
  60. package/dist/cli/{worktree-collision-ownership-vt0jzmdt.js → worktree-collision-ownership-xj0bsg92.js} +1 -1
  61. package/dist/cli/{worktree-isolation-443q0pah.js → worktree-isolation-4d0nc04c.js} +24 -24
  62. package/dist/hooks/pr-workflow-gate.d.ts +58 -5
  63. package/dist/index.js +80 -77
  64. package/dist/tools/dispatch-lanes.d.ts +30 -8
  65. package/package.json +2 -1
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
- import { type BackgroundDelegationRecord, type BackgroundDelegationWorkflowLaneRecovery } from '../background/pending-delegations.js';
2
+ import { type BackgroundDelegationRecord, type BackgroundDelegationResult, type BackgroundDelegationWorkflowLaneRecovery } from '../background/pending-delegations.js';
3
3
  import { resolveExactMergeBaseAsync, resolvePrWorkflowRevisionDigestAsync } from '../background/workspace-snapshot.js';
4
4
  import { loadPluginConfig } from '../config/loader.js';
5
- import { type PrReviewDepthTier, validatePrWorkflowTransportRecovery } from '../hooks/pr-workflow-gate.js';
5
+ import { type PrReviewDepthTier, type PrReviewVerdictCollectionReceipt, validatePrWorkflowTransportRecovery } from '../hooks/pr-workflow-gate.js';
6
6
  import { buildLaneOrientationBlock } from '../hooks/repo-graph-injection.js';
7
7
  import { createParallelDispatcher } from '../parallel/dispatcher/parallel-dispatcher.js';
8
8
  import { createSwarmTool } from './create-tool.js';
@@ -138,6 +138,8 @@ export interface DispatchLaneResult {
138
138
  kind: BackgroundDelegationWorkflowLaneRecovery['kind'];
139
139
  reason: string;
140
140
  }>;
141
+ accepted_review_item_ids?: string[];
142
+ rejected_review_item_ids?: string[];
141
143
  /**
142
144
  * Set to true when this lane's `output` preview was withheld because an
143
145
  * identical preview (same batch, lane, and result digest) was already
@@ -411,6 +413,11 @@ export declare const _test_exports: {
411
413
  */
412
414
  resetDeliveredLaneOutputs: () => void;
413
415
  recordToLaneResult: typeof recordToLaneResult;
416
+ appendPrReviewCollectionReceipt: typeof appendPrReviewCollectionReceipt;
417
+ parsePrReviewCollectionReceipt: typeof parsePrReviewCollectionReceipt;
418
+ resolvePrReviewReceiptFallbacks: typeof resolvePrReviewReceiptFallbacks;
419
+ resolvePrReviewReceiptFallbacksFromState: typeof resolvePrReviewReceiptFallbacksFromState;
420
+ consumePrReviewReceiptAppendFailureLog: typeof consumePrReviewReceiptAppendFailureLog;
414
421
  prReviewLaneResponseBudgetChars: typeof prReviewLaneResponseBudgetChars;
415
422
  };
416
423
  type ReadOnlyToolPermissions = Record<string, false> & {
@@ -426,6 +433,7 @@ export declare function executeDispatchLanes(args: unknown, directory: string, c
426
433
  export declare function executeDispatchLanesAsync(args: unknown, directory: string, context?: DispatchLanesExecutionContext): Promise<DispatchLanesAsyncResult>;
427
434
  export declare function executeCollectLaneResults(args: unknown, directory: string, context?: Pick<DispatchLanesExecutionContext, 'sessionID'>): Promise<CollectLaneResultsResult>;
428
435
  declare function isRetryableSessionCreateFailure(error: unknown): boolean;
436
+ declare function consumePrReviewReceiptAppendFailureLog(loggedFailures: Set<string>, parentSessionId: string, correlationId: string): boolean;
429
437
  declare function extractAssistantTranscript(messages: Array<{
430
438
  info?: {
431
439
  role?: string;
@@ -452,14 +460,28 @@ declare function reserveCollectionLaneCallBudgets(deadline: number, remainingLan
452
460
  revisionDigestBudgetMs: number;
453
461
  };
454
462
  declare function nextCollectPollInterval(currentMs: number): number;
455
- declare function buildCollectResult(batchId: string, records: BackgroundDelegationRecord[], includePending: boolean, deliveryContext?: {
463
+ declare function buildCollectResult(batchId: string, records: BackgroundDelegationRecord[], includePending: boolean, deliveryContext?: LaneResultDeliveryContext): CollectLaneResultsResult;
464
+ interface LaneResultDeliveryContext {
456
465
  directory?: string;
457
466
  sessionID?: string;
458
- }): CollectLaneResultsResult;
459
- declare function recordToLaneResult(record: BackgroundDelegationRecord, batchId: string, deliveryContext?: {
460
- directory?: string;
461
- sessionID?: string;
462
- }): DispatchLaneResult;
467
+ reviewReceipts?: ReadonlyMap<string, PrReviewVerdictCollectionReceipt>;
468
+ }
469
+ declare function resolvePrReviewReceiptFallbacks(directory: string, sessionID: string | undefined, records: readonly BackgroundDelegationRecord[]): Promise<ReadonlyMap<string, PrReviewVerdictCollectionReceipt>>;
470
+ interface PrReviewReceiptFallbackState {
471
+ prReviewValidationBatches?: Array<{
472
+ batchId: string;
473
+ phase: string;
474
+ lanes: Array<{
475
+ laneId: string;
476
+ workflowLane: string;
477
+ reviewItemIds?: string[];
478
+ }>;
479
+ }>;
480
+ }
481
+ declare function resolvePrReviewReceiptFallbacksFromState(records: readonly BackgroundDelegationRecord[], state: PrReviewReceiptFallbackState): ReadonlyMap<string, PrReviewVerdictCollectionReceipt>;
482
+ declare function appendPrReviewCollectionReceipt(record: BackgroundDelegationRecord, result: BackgroundDelegationResult, receipt: PrReviewVerdictCollectionReceipt): BackgroundDelegationResult | null;
483
+ declare function parsePrReviewCollectionReceipt(record: BackgroundDelegationRecord): PrReviewVerdictCollectionReceipt | null;
484
+ declare function recordToLaneResult(record: BackgroundDelegationRecord, batchId: string, deliveryContext?: LaneResultDeliveryContext): DispatchLaneResult;
463
485
  declare function buildReadOnlyTools(): ReadOnlyToolPermissions;
464
486
  type ApplyCommonPromptResult = {
465
487
  ok: true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.146.3",
3
+ "version": "7.146.4",
4
4
  "description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -110,6 +110,7 @@
110
110
  "check:events": "bun run scripts/check-event-contract.ts",
111
111
  "check:retention": "bun run scripts/check-retention-registry.ts",
112
112
  "check:test-file-cap": "bun run scripts/check-test-file-cap.ts",
113
+ "check:pending-fragment": "bun run scripts/check-pending-fragment.ts",
113
114
  "check:gate-portability": "bun run scripts/check-gate-portability.ts",
114
115
  "check:bare-spawn": "bun run scripts/check-bare-executable-spawn.ts",
115
116
  "check:memory-recall": "bun run scripts/memory-recall-regression.ts"