opencode-swarm 7.191.4 → 7.192.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 (99) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +6 -7
  2. package/.opencode/skills/swarm-pr-review/references/lane-output-recoverability.md +18 -8
  3. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  4. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  5. package/dist/background/pr-review-trigger-contract.d.ts +145 -0
  6. package/dist/cli/{auto-checkpoint-mfevgppc.js → auto-checkpoint-kkakqktp.js} +8 -8
  7. package/dist/cli/{checkpoint-ft7x9hh4.js → checkpoint-cefw75xe.js} +15 -15
  8. package/dist/cli/{coder-settlement-a8v2w1gw.js → coder-settlement-tgdjczyp.js} +11 -11
  9. package/dist/cli/{config-doctor-5jpt3aj0.js → config-doctor-sns7gbj2.js} +14 -14
  10. package/dist/cli/{core-9sekbwxm.js → core-q8xvp8bw.js} +4 -4
  11. package/dist/cli/{curation-policy-6p6fcfjb.js → curation-policy-2q5xs0xg.js} +4 -4
  12. package/dist/cli/{curator-drift-mqcfwm24.js → curator-drift-1n3akmda.js} +9 -9
  13. package/dist/cli/curator-llm-factory-tfn0cp68.js +82 -0
  14. package/dist/cli/{curator-venskykb.js → curator-mgdsxrpv.js} +41 -41
  15. package/dist/cli/{doctor-knowledge-receipt-phase-id-0ewtqwxk.js → doctor-knowledge-receipt-phase-id-33bp8fcs.js} +8 -8
  16. package/dist/cli/{evidence-summary-service-rr3rb5n2.js → evidence-summary-service-sb888pg8.js} +18 -18
  17. package/dist/cli/{gate-evidence-sjp73rfv.js → gate-evidence-rmk87c6m.js} +6 -6
  18. package/dist/cli/guardrail-explain-n9ndp99q.js +83 -0
  19. package/dist/cli/{guardrail-log-87qgtbxw.js → guardrail-log-d18dcweh.js} +7 -7
  20. package/dist/cli/{guardrail-reset-z1rhagdh.js → guardrail-reset-1xeeetk7.js} +41 -41
  21. package/dist/cli/{hive-promoter-hy0gm4z7.js → hive-promoter-44grgbq4.js} +41 -41
  22. package/dist/cli/{index-qs9myayh.js → index-025wg2re.js} +1 -1
  23. package/dist/cli/{index-kcx2f95c.js → index-0yrsvwdf.js} +6 -6
  24. package/dist/cli/{index-n8q43eff.js → index-28zgn6sm.js} +2 -2
  25. package/dist/cli/{index-jfk0yzr6.js → index-2wps5fec.js} +3 -3
  26. package/dist/cli/{index-chdc1wv3.js → index-3txrbsa1.js} +4 -4
  27. package/dist/cli/{index-mcv0v2dp.js → index-4cm1p2kj.js} +1 -1
  28. package/dist/cli/{index-9nh7fhh9.js → index-50b8f6qz.js} +4 -4
  29. package/dist/cli/{index-r9yvpr2m.js → index-63v3gmgr.js} +1 -1
  30. package/dist/cli/{index-q0y8e1db.js → index-6shk3n43.js} +3 -3
  31. package/dist/cli/{index-633j6d5z.js → index-867d9dhf.js} +3 -3
  32. package/dist/cli/{index-y7668dn6.js → index-95hc7xn4.js} +4 -4
  33. package/dist/cli/{index-feaxsjrt.js → index-9b6bxe9b.js} +1 -1
  34. package/dist/cli/{index-1gv6ja3m.js → index-advcaree.js} +4 -4
  35. package/dist/cli/{index-02gmv98q.js → index-af3nmk6c.js} +7 -7
  36. package/dist/cli/{index-xrhhjeas.js → index-ajp4dabz.js} +4 -4
  37. package/dist/cli/{index-t775as8a.js → index-b79a8pc2.js} +2 -2
  38. package/dist/cli/{index-ydnfnzdq.js → index-bwh9196c.js} +5 -5
  39. package/dist/cli/{index-d4rm6r3c.js → index-cje7tt58.js} +1 -1
  40. package/dist/cli/{index-zk6ttjkt.js → index-d4cjbm4p.js} +1 -1
  41. package/dist/cli/{index-ce4skcpr.js → index-edk2sgse.js} +2 -2
  42. package/dist/cli/{index-w8fbnqhe.js → index-ejfmgkt0.js} +4 -4
  43. package/dist/cli/{index-v7bjb1ta.js → index-f32hs2vt.js} +3 -3
  44. package/dist/cli/{index-mjfpaxw3.js → index-f6e44xh2.js} +5 -5
  45. package/dist/cli/{index-knqvkxc4.js → index-fsm9gv1p.js} +41 -41
  46. package/dist/cli/{index-2fpv2wmc.js → index-ga1pcs49.js} +1 -1
  47. package/dist/cli/{index-bs8yvx1k.js → index-jdw63xyd.js} +2 -2
  48. package/dist/cli/{index-z3ahy9c2.js → index-k6h66zm3.js} +1 -1
  49. package/dist/cli/{index-qgzyj2vt.js → index-km4x7yfb.js} +10 -10
  50. package/dist/cli/{index-3zwhxk98.js → index-kvtwwj8b.js} +1 -1
  51. package/dist/cli/{index-nkgzkt7c.js → index-mhqh2dc9.js} +1 -1
  52. package/dist/cli/{index-p4f47xhj.js → index-nb1c3342.js} +7 -7
  53. package/dist/cli/{index-ez6sczc7.js → index-ney8qpg3.js} +1 -1
  54. package/dist/cli/{index-p4vdas8e.js → index-pkgbrrn7.js} +1 -1
  55. package/dist/cli/{index-pksy4nzv.js → index-py8wpe81.js} +4 -0
  56. package/dist/cli/{index-7tkkhbcw.js → index-r3gphy10.js} +5 -5
  57. package/dist/cli/{index-xgfmzmey.js → index-s81tvz98.js} +4 -4
  58. package/dist/cli/{index-b2j231jy.js → index-t0se5zwe.js} +1 -1
  59. package/dist/cli/{index-kfevm0n5.js → index-t433r606.js} +2 -2
  60. package/dist/cli/{index-8nac5633.js → index-v3bmeqqh.js} +4 -4
  61. package/dist/cli/{index-xgy7wakm.js → index-vf6pqke0.js} +43 -43
  62. package/dist/cli/{index-1y1fgtd0.js → index-vt8hk0pt.js} +90 -83
  63. package/dist/cli/{index-xbhs0kp0.js → index-w52xyp9v.js} +2 -2
  64. package/dist/cli/{index-y9v41185.js → index-xjqa26fs.js} +1 -1
  65. package/dist/cli/{index-sxj143a4.js → index-xw19x0t7.js} +1 -1
  66. package/dist/cli/{index-2afvf0hr.js → index-yfmgbhwz.js} +3 -3
  67. package/dist/cli/{index-9ved57n0.js → index-ysazjncb.js} +6 -6
  68. package/dist/cli/index.js +42 -42
  69. package/dist/cli/{knowledge-escalator-901znnke.js → knowledge-escalator-naq700x5.js} +13 -13
  70. package/dist/cli/{knowledge-events-y2x5c5xe.js → knowledge-events-mmh5cya6.js} +11 -11
  71. package/dist/cli/{knowledge-link-6hw3z6wn.js → knowledge-link-76egdqc9.js} +3 -3
  72. package/dist/cli/{knowledge-store-jkzkgsnw.js → knowledge-store-9dxr9jb9.js} +4 -4
  73. package/dist/cli/{knowledge-validator-dar3799k.js → knowledge-validator-eze3s6fn.js} +6 -6
  74. package/dist/cli/{mcp-7baqvsr2.js → mcp-1x2tpk71.js} +1 -1
  75. package/dist/cli/{model-preflight-gk2dtfw4.js → model-preflight-hgb7kf5d.js} +41 -41
  76. package/dist/cli/{pending-delegations-aean4z99.js → pending-delegations-zg4q1k5q.js} +10 -10
  77. package/dist/cli/{pr-subscriptions-zmv0gtv7.js → pr-subscriptions-zw8aev5s.js} +10 -10
  78. package/dist/cli/{pr-workflow-gate-50avx71j.js → pr-workflow-gate-dcbpd451.js} +43 -41
  79. package/dist/cli/{runner-ssnsje35.js → runner-y529qa4d.js} +4 -4
  80. package/dist/cli/{scan-cursor-7vnj82v4.js → scan-cursor-pdxmndd0.js} +5 -5
  81. package/dist/cli/{schema-4v7pnknw.js → schema-hzz32642.js} +2 -2
  82. package/dist/cli/{scope-persistence-xd30y1ym.js → scope-persistence-h4b6p951.js} +14 -14
  83. package/dist/cli/{server-mkvhdc5k.js → server-7gd7tqt5.js} +41 -41
  84. package/dist/cli/{skill-generator-mt61qg5f.js → skill-generator-7g7sca90.js} +15 -15
  85. package/dist/cli/{snapshot-coordination-init-c7r5443q.js → snapshot-coordination-init-4q5ykq22.js} +41 -41
  86. package/dist/cli/{speckit-checkoff-t17g4ej6.js → speckit-checkoff-5bfxs8r7.js} +5 -5
  87. package/dist/cli/{workspace-snapshot-9f12p1s1.js → workspace-snapshot-nre732xt.js} +3 -3
  88. package/dist/cli/{worktree-collision-ownership-negbpp72.js → worktree-collision-ownership-327d06qw.js} +11 -11
  89. package/dist/cli/{worktree-isolation-hhftse76.js → worktree-isolation-zqzs3wkk.js} +41 -41
  90. package/dist/hooks/pr-workflow-gate.d.ts +12 -1
  91. package/dist/index.js +69 -64
  92. package/dist/tools/export-pr-review-partial-results.d.ts +38 -0
  93. package/dist/tools/index.d.ts +1 -0
  94. package/dist/tools/manifest.d.ts +1 -0
  95. package/dist/tools/tool-metadata.d.ts +4 -0
  96. package/dist/tools/write-pr-review-trigger-eval.d.ts +4 -0
  97. package/package.json +1 -1
  98. package/dist/cli/curator-llm-factory-nm91t6p1.js +0 -82
  99. package/dist/cli/guardrail-explain-r5x9khp3.js +0 -83
@@ -3,7 +3,7 @@ name: swarm-pr-review
3
3
  audience: swarm-plugin
4
4
  description: Run a graph-guided, tool-augmented PR review using context packing, parallel exploration, mandatory repository-agnostic risk-family coverage with dispatch scaled to diff size and risk, independent reviewer validation, critic challenge, and metrics writeback. Use for deep pull request review with low false-positive tolerance and high recall in any repository, on any agent harness (structured lane controller, native parallel subagents, or single-context sequential passes).
5
5
  disable-model-invocation: true
6
- swarm-contract-digest: c3e787acb35f
6
+ swarm-contract-digest: 86411ce9796f
7
7
  ---
8
8
 
9
9
  # /swarm-pr-review
@@ -1202,7 +1202,7 @@ pass the exact reviewed merge-base as `base_sha`, the exact live base branch
1202
1202
  tip/ref used to compute it as `base_ref`, and the same `pr_head_sha` to the
1203
1203
  writer. The writer runs bounded `git merge-base -- <base_ref> <pr_head_sha>` and
1204
1204
  rejects any claimed `base_sha` that is not the exact result. When that bounded re-check is unavailable (git timeout, spawn failure, unresolvable ref) but the supplied `base_ref` and `base_sha` exactly equal the durably bound review scope, the writer proceeds and discloses `base_verification: bound_fallback` on the receipt, which synthesis must surface in the final review report (`references/lane-output-recoverability.md`); every other outcome stays fail-closed. It accepts only an
1205
- exact eleven-row v2 receipt backed by verifiable provenance (identity, ownership, digest, retained artifact); a coverage-QUALITY failure is disclosed on the receipt as `coverage_degradations` and the run proceeds, with synthesis disclosing degraded families (`references/lane-output-recoverability.md`). `NOT_TRIGGERED` rows are provenance-free. Counts are recomputed and
1205
+ exact eleven-row v2 receipt backed by verifiable provenance (identity, ownership, digest, retained artifact); a coverage-QUALITY failure is disclosed on the receipt as `coverage_degradations` and the run proceeds, with synthesis disclosing degraded families — unless the family is receipt-settled, in which case it is recorded as `receipt_covered_families` (never a degradation) and synthesis discloses it as receipt-covered (`references/lane-output-recoverability.md`). `NOT_TRIGGERED` rows are provenance-free. Counts are recomputed and
1206
1206
  must agree. It never uses keyword or path classification alone as absence
1207
1207
  evidence. Any head mismatch makes persistence fail. Historical unversioned and
1208
1208
  schema-v1 all-`MATCHED` receipts remain readable, but new writes are strict v2.
@@ -1978,12 +1978,11 @@ are:
1978
1978
  and a one-line `reason` describing the blocker. The tool clears the durable gate state
1979
1979
  and stops the auto-resume loop. It refuses only while PR workflow lanes are still LIVE (a recent `updatedAt`); collect those with `collect_lane_results` first.
1980
1980
  Lanes idle past the 30-minute staleness horizon settle as presumed-stale instead of blocking, disclosed as `presumed_stale_lanes` on the response and in `.swarm/events.jsonl`; a schema-invalid (but JSON-parseable) gate state no longer defeats abort either. See `references/lane-output-recoverability.md`.
1981
- It accepts both unbound and bound PR_REVIEW workflows so an unrecoverable
1982
- bind/checkout blocker cannot strand the gate. Settled discovery or validation
1981
+ It accepts both unbound and bound PR_REVIEW workflows so an unrecoverable bind/checkout blocker cannot strand the gate. Settled discovery or validation
1983
1982
  lanes with incomplete coverage use the truthful N-of-6 settlement path instead
1984
- of aborting. An audit event is appended to `.swarm/events.jsonl`.
1985
- When the tool reports `checkout_restore_required`, immediately call
1986
- `prepare_pr_workflow_checkout` with `operation: "restore"`; do not leave the
1983
+ of aborting. An audit event is appended to `.swarm/events.jsonl`. After a legitimate abort the run's validated findings stay exportable: call
1984
+ `export_pr_review_partial_results` (`run_id` + `pr_head_sha`) for a partial, non-authoritative salvage artifact — never a submission, never consent.
1985
+ When the tool reports `checkout_restore_required`, immediately call `prepare_pr_workflow_checkout` with `operation: "restore"`; do not leave the
1987
1986
  user detached from their original checkout with a hidden preserved stash.
1988
1987
  3. **Ask the user to run `/swarm abort-pr-workflow`** (a human-only
1989
1988
  restricted command; the agent cannot invoke it via `swarm_command`).
@@ -75,14 +75,24 @@ ownership of their families through a verifiable provenance chain (identity,
75
75
  ownership, digest, retained artifact). A lane whose coverage QUALITY is
76
76
  imperfect — it ended `error`/`cancelled` after exhausting retries, or its
77
77
  artifact has no covered `[CANDIDATE]`/`[CLEAN]` row for the row's own family —
78
- no longer dead-ends the run: the writer records the failure on the durable
79
- receipt as a `coverage_degradations` entry (trigger id, source lane, reason,
80
- row-scoped so a consolidated lane's covered families are never misattributed)
81
- and proceeds. The tool result reports `coverage_degradation_count`; the
82
- synthesis phase MUST disclose every degraded family, with its recorded reason,
83
- in the final review report. Retries remain the first resort (COVERAGE GATE); a
84
- missing provenance chain still fails closed, and the reviewer/critic inventory
85
- skips exactly the receipt-disclosed dispatch tuples.
78
+ no longer dead-ends the run, with one precedence: the writer first re-reads the
79
+ cited record at the decision moment, and when its structured
80
+ `submit_pr_review_result` receipt passes the exact-identity validator and
81
+ credits the family, the family is recorded on the durable receipt as a
82
+ `receipt_covered_families` entry — a distinct, NON-degrading settlement class
83
+ (the tool result reports `receipt_covered_family_count`, the
84
+ `receipt_covered_families` array, and a `receipt_covered_note`). Only
85
+ otherwise does the writer record the failure on the durable receipt as a
86
+ `coverage_degradations` entry (trigger id, source lane, reason, row-scoped so a
87
+ consolidated lane's covered families are never misattributed) and proceed. The
88
+ tool result reports `coverage_degradation_count`; the synthesis phase MUST
89
+ disclose every degraded family, with its recorded reason, AND every
90
+ receipt-covered family as receipt-covered (not transcript-covered, not
91
+ degraded) in the final review report. Retries remain the first resort
92
+ (COVERAGE GATE); a missing provenance chain still fails closed. The
93
+ reviewer/critic inventory skips exactly the DEGRADATION-disclosed dispatch
94
+ tuples; receipt-covered tuples are resolved through the inventory's
95
+ structured-receipt branch instead, never the degradation waiver.
86
96
 
87
97
  ## Bounded merge-base fallback (`base_verification`)
88
98
 
@@ -206,6 +206,131 @@ export declare const TriggerCoverageDegradationSchema: z.ZodObject<{
206
206
  reason: z.ZodString;
207
207
  }, z.core.$strict>;
208
208
  export type TriggerCoverageDegradation = z.infer<typeof TriggerCoverageDegradationSchema>;
209
+ /**
210
+ * Issue #3094: a MATCHED family whose coverage was credited by an exact-bound
211
+ * structured receipt (`submit_pr_review_result`) instead of a transcript
212
+ * `[CANDIDATE]`/`[CLEAN]` row. Receipt-level disclosure only — ledger rows stay
213
+ * untouched so the frozen-ledger digest is unaffected, exactly like
214
+ * {@link TriggerCoverageDegradation}. Distinct from degradations: a
215
+ * receipt-covered family is fully settled, never APPROVE-forbidding.
216
+ */
217
+ export declare const TriggerReceiptCoveredFamilySchema: z.ZodObject<{
218
+ trigger_id: z.ZodEnum<{
219
+ "auth-identity-secrets": "auth-identity-secrets";
220
+ "untrusted-input-boundaries": "untrusted-input-boundaries";
221
+ "subprocess-platform": "subprocess-platform";
222
+ "concurrency-state": "concurrency-state";
223
+ "dependencies-build-release": "dependencies-build-release";
224
+ "api-schema-migrations": "api-schema-migrations";
225
+ "test-infrastructure": "test-infrastructure";
226
+ "ui-accessibility-i18n": "ui-accessibility-i18n";
227
+ "privacy-observability": "privacy-observability";
228
+ "generated-provenance": "generated-provenance";
229
+ "unclassified-risk": "unclassified-risk";
230
+ }>;
231
+ source_batch_id: z.ZodString;
232
+ source_lane_id: z.ZodString;
233
+ }, z.core.$strict>;
234
+ export type TriggerReceiptCoveredFamily = z.infer<typeof TriggerReceiptCoveredFamilySchema>;
235
+ /**
236
+ * Exported for the issue #3094 replay-invariant test: the test probes this
237
+ * schema's parse output to enumerate every defaulted (materialized-on-parse)
238
+ * receipt key, so it keeps guarding future `.default()` fields added anywhere
239
+ * on the receipt without reaching into zod internals.
240
+ */
241
+ export declare const V2ReceiptSchemaForInvariants: z.ZodObject<{
242
+ run_id: z.ZodString;
243
+ pr_head_sha: z.ZodString;
244
+ base_ref: z.ZodString;
245
+ base_sha: z.ZodString;
246
+ evaluated_at: z.ZodString;
247
+ dispatched_micro_lane_count: z.ZodNumber;
248
+ schema_version: z.ZodLiteral<2>;
249
+ trigger_count: z.ZodNumber;
250
+ matched_count: z.ZodNumber;
251
+ not_triggered_count: z.ZodNumber;
252
+ no_match_count: z.ZodNumber;
253
+ rows: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
254
+ result: z.ZodLiteral<"MATCHED">;
255
+ evidence: z.ZodString;
256
+ source_batch_id: z.ZodString;
257
+ source_lane_id: z.ZodString;
258
+ scope: z.ZodLiteral<"universal">;
259
+ trigger_row: z.ZodString;
260
+ micro_lane: z.ZodString;
261
+ trigger_id: z.ZodEnum<{
262
+ "auth-identity-secrets": "auth-identity-secrets";
263
+ "untrusted-input-boundaries": "untrusted-input-boundaries";
264
+ "subprocess-platform": "subprocess-platform";
265
+ "concurrency-state": "concurrency-state";
266
+ "dependencies-build-release": "dependencies-build-release";
267
+ "api-schema-migrations": "api-schema-migrations";
268
+ "test-infrastructure": "test-infrastructure";
269
+ "ui-accessibility-i18n": "ui-accessibility-i18n";
270
+ "privacy-observability": "privacy-observability";
271
+ "generated-provenance": "generated-provenance";
272
+ "unclassified-risk": "unclassified-risk";
273
+ }>;
274
+ }, z.core.$strict>, z.ZodObject<{
275
+ result: z.ZodLiteral<"NOT_TRIGGERED">;
276
+ evidence: z.ZodString;
277
+ scope: z.ZodLiteral<"universal">;
278
+ trigger_row: z.ZodString;
279
+ micro_lane: z.ZodString;
280
+ trigger_id: z.ZodEnum<{
281
+ "auth-identity-secrets": "auth-identity-secrets";
282
+ "untrusted-input-boundaries": "untrusted-input-boundaries";
283
+ "subprocess-platform": "subprocess-platform";
284
+ "concurrency-state": "concurrency-state";
285
+ "dependencies-build-release": "dependencies-build-release";
286
+ "api-schema-migrations": "api-schema-migrations";
287
+ "test-infrastructure": "test-infrastructure";
288
+ "ui-accessibility-i18n": "ui-accessibility-i18n";
289
+ "privacy-observability": "privacy-observability";
290
+ "generated-provenance": "generated-provenance";
291
+ "unclassified-risk": "unclassified-risk";
292
+ }>;
293
+ }, z.core.$strict>]>>;
294
+ coverage_degradations: z.ZodDefault<z.ZodArray<z.ZodObject<{
295
+ trigger_id: z.ZodEnum<{
296
+ "auth-identity-secrets": "auth-identity-secrets";
297
+ "untrusted-input-boundaries": "untrusted-input-boundaries";
298
+ "subprocess-platform": "subprocess-platform";
299
+ "concurrency-state": "concurrency-state";
300
+ "dependencies-build-release": "dependencies-build-release";
301
+ "api-schema-migrations": "api-schema-migrations";
302
+ "test-infrastructure": "test-infrastructure";
303
+ "ui-accessibility-i18n": "ui-accessibility-i18n";
304
+ "privacy-observability": "privacy-observability";
305
+ "generated-provenance": "generated-provenance";
306
+ "unclassified-risk": "unclassified-risk";
307
+ }>;
308
+ source_batch_id: z.ZodString;
309
+ source_lane_id: z.ZodString;
310
+ reason: z.ZodString;
311
+ }, z.core.$strict>>>;
312
+ receipt_covered_families: z.ZodDefault<z.ZodArray<z.ZodObject<{
313
+ trigger_id: z.ZodEnum<{
314
+ "auth-identity-secrets": "auth-identity-secrets";
315
+ "untrusted-input-boundaries": "untrusted-input-boundaries";
316
+ "subprocess-platform": "subprocess-platform";
317
+ "concurrency-state": "concurrency-state";
318
+ "dependencies-build-release": "dependencies-build-release";
319
+ "api-schema-migrations": "api-schema-migrations";
320
+ "test-infrastructure": "test-infrastructure";
321
+ "ui-accessibility-i18n": "ui-accessibility-i18n";
322
+ "privacy-observability": "privacy-observability";
323
+ "generated-provenance": "generated-provenance";
324
+ "unclassified-risk": "unclassified-risk";
325
+ }>;
326
+ source_batch_id: z.ZodString;
327
+ source_lane_id: z.ZodString;
328
+ }, z.core.$strict>>>;
329
+ base_verification: z.ZodOptional<z.ZodEnum<{
330
+ live: "live";
331
+ bound_fallback: "bound_fallback";
332
+ }>>;
333
+ }, z.core.$strict>;
209
334
  export interface BuildPrReviewTriggerReceiptV2Args {
210
335
  run_id: string;
211
336
  pr_head_sha: string;
@@ -216,6 +341,14 @@ export interface BuildPrReviewTriggerReceiptV2Args {
216
341
  rows: unknown;
217
342
  /** Receipt-level degradation disclosure; ledger rows stay untouched so the frozen-ledger digest is unaffected. */
218
343
  coverage_degradations?: TriggerCoverageDegradation[];
344
+ /**
345
+ * Issue #3094: receipt-level disclosure of families whose coverage was
346
+ * credited by an exact-bound structured receipt rather than a transcript
347
+ * row. Same receipt-level class as `coverage_degradations`; ledger rows stay
348
+ * untouched and the field defaults to empty so existing call sites and
349
+ * pre-existing receipts are unaffected.
350
+ */
351
+ receipt_covered_families?: TriggerReceiptCoveredFamily[];
219
352
  /**
220
353
  * How `base_sha` was verified for this receipt. `live` means the writer
221
354
  * re-derived the merge base with git at write time; `bound_fallback` means
@@ -262,6 +395,11 @@ export declare function buildPrReviewTriggerReceiptV2(input: BuildPrReviewTrigge
262
395
  source_lane_id: string;
263
396
  reason: string;
264
397
  }[];
398
+ receipt_covered_families: {
399
+ trigger_id: "auth-identity-secrets" | "untrusted-input-boundaries" | "subprocess-platform" | "concurrency-state" | "dependencies-build-release" | "api-schema-migrations" | "test-infrastructure" | "ui-accessibility-i18n" | "privacy-observability" | "generated-provenance" | "unclassified-risk";
400
+ source_batch_id: string;
401
+ source_lane_id: string;
402
+ }[];
265
403
  base_verification?: "live" | "bound_fallback" | undefined;
266
404
  };
267
405
  export interface ParsedPrReviewTriggerReceipt {
@@ -275,6 +413,13 @@ export interface ParsedPrReviewTriggerReceipt {
275
413
  }>[];
276
414
  /** Empty for pre-v2.2 receipts. Present entries mean the family's cited lane is provenance-valid but coverage-degraded. */
277
415
  coverageDegradations: TriggerCoverageDegradation[];
416
+ /**
417
+ * Issue #3094: families whose coverage was credited by an exact-bound
418
+ * structured receipt. Empty for receipts written before the field existed;
419
+ * a present entry means the family is fully settled and is NOT a
420
+ * degradation — synthesis must disclose it as receipt-covered.
421
+ */
422
+ receiptCoveredFamilies: TriggerReceiptCoveredFamily[];
278
423
  /**
279
424
  * Undefined for legacy receipts and for v2 receipts written before the field
280
425
  * existed. `bound_fallback` means the writer could not re-derive the merge
@@ -1,27 +1,27 @@
1
1
  // @bun
2
- import"./index-q0y8e1db.js";
2
+ import"./index-6shk3n43.js";
3
3
  import"./index-g22dps7x.js";
4
4
  import"./index-0725jpp7.js";
5
5
  import {
6
6
  appendCoreEventSync
7
- } from "./index-zk6ttjkt.js";
7
+ } from "./index-d4cjbm4p.js";
8
8
  import {
9
9
  derivePlanIdentityHash
10
10
  } from "./index-7pmbnjvj.js";
11
- import"./index-z3ahy9c2.js";
11
+ import"./index-k6h66zm3.js";
12
12
  import"./index-7vnr5cmp.js";
13
13
  import"./index-fzpt2djt.js";
14
- import"./index-qs9myayh.js";
14
+ import"./index-025wg2re.js";
15
15
  import"./index-gx2vp8gx.js";
16
16
  import {
17
17
  loadPluginConfigWithMeta
18
- } from "./index-ez6sczc7.js";
18
+ } from "./index-ney8qpg3.js";
19
19
  import {
20
20
  init_git_executable,
21
21
  resolveGitExecutable
22
22
  } from "./index-zxdawwc7.js";
23
- import"./index-t775as8a.js";
24
- import"./index-pksy4nzv.js";
23
+ import"./index-b79a8pc2.js";
24
+ import"./index-py8wpe81.js";
25
25
  import"./index-bk5tah7q.js";
26
26
  import"./index-gknz3bv1.js";
27
27
  import"./index-zpsr8rpc.js";
@@ -152,7 +152,7 @@ async function maybeSaveAutoCheckpoint(directory, plan) {
152
152
  generation += 1;
153
153
  label = buildAutoCheckpointLabel(plan, completedCount, generation);
154
154
  }
155
- const { saveCheckpointRecord } = await import("./checkpoint-ft7x9hh4.js");
155
+ const { saveCheckpointRecord } = await import("./checkpoint-cefw75xe.js");
156
156
  const result = await saveCheckpointRecord(label, directory);
157
157
  if (result.success) {
158
158
  emitAutoSavedEvent(directory, {
@@ -3,40 +3,40 @@ import {
3
3
  _internals,
4
4
  checkpoint,
5
5
  saveCheckpointRecord
6
- } from "./index-9ved57n0.js";
7
- import"./index-qgzyj2vt.js";
6
+ } from "./index-ysazjncb.js";
7
+ import"./index-km4x7yfb.js";
8
8
  import"./index-6b295cas.js";
9
9
  import"./index-9nyqt3kb.js";
10
- import"./index-p4vdas8e.js";
10
+ import"./index-pkgbrrn7.js";
11
11
  import"./index-v3bmwmqw.js";
12
- import"./index-bs8yvx1k.js";
12
+ import"./index-jdw63xyd.js";
13
13
  import"./index-g4fs6z4e.js";
14
14
  import"./index-m9zzj4ee.js";
15
- import"./index-nkgzkt7c.js";
15
+ import"./index-mhqh2dc9.js";
16
16
  import"./index-2s7dvzff.js";
17
- import"./index-q0y8e1db.js";
17
+ import"./index-6shk3n43.js";
18
18
  import"./index-g22dps7x.js";
19
19
  import"./index-0725jpp7.js";
20
- import"./index-2afvf0hr.js";
21
- import"./index-zk6ttjkt.js";
22
- import"./index-feaxsjrt.js";
23
- import"./index-2fpv2wmc.js";
20
+ import"./index-yfmgbhwz.js";
21
+ import"./index-d4cjbm4p.js";
22
+ import"./index-9b6bxe9b.js";
23
+ import"./index-ga1pcs49.js";
24
24
  import"./index-ry16d01s.js";
25
25
  import"./index-rdm3px0g.js";
26
26
  import"./index-7pmbnjvj.js";
27
- import"./index-z3ahy9c2.js";
27
+ import"./index-k6h66zm3.js";
28
28
  import"./index-8bx6vhzk.js";
29
29
  import"./index-t7hmqgjy.js";
30
30
  import"./index-7vnr5cmp.js";
31
31
  import"./index-fzpt2djt.js";
32
32
  import"./index-ejhxgyvm.js";
33
33
  import"./index-7g4c7s5r.js";
34
- import"./index-qs9myayh.js";
34
+ import"./index-025wg2re.js";
35
35
  import"./index-gx2vp8gx.js";
36
- import"./index-ez6sczc7.js";
36
+ import"./index-ney8qpg3.js";
37
37
  import"./index-zxdawwc7.js";
38
- import"./index-t775as8a.js";
39
- import"./index-pksy4nzv.js";
38
+ import"./index-b79a8pc2.js";
39
+ import"./index-py8wpe81.js";
40
40
  import"./index-bk5tah7q.js";
41
41
  import"./index-gknz3bv1.js";
42
42
  import"./index-zpsr8rpc.js";
@@ -14,26 +14,26 @@ import {
14
14
  releaseCoderDispatchOwnership,
15
15
  settleCoderDispatch,
16
16
  transferCoderSettlementToBackground
17
- } from "./index-p4f47xhj.js";
18
- import"./index-kfevm0n5.js";
19
- import"./index-n8q43eff.js";
20
- import"./index-v7bjb1ta.js";
21
- import"./index-w8fbnqhe.js";
17
+ } from "./index-nb1c3342.js";
18
+ import"./index-t433r606.js";
19
+ import"./index-28zgn6sm.js";
20
+ import"./index-f32hs2vt.js";
21
+ import"./index-ejfmgkt0.js";
22
22
  import"./index-g4fs6z4e.js";
23
- import"./index-nkgzkt7c.js";
23
+ import"./index-mhqh2dc9.js";
24
24
  import"./index-2s7dvzff.js";
25
- import"./index-zk6ttjkt.js";
26
- import"./index-z3ahy9c2.js";
27
- import"./index-r9yvpr2m.js";
25
+ import"./index-d4cjbm4p.js";
26
+ import"./index-k6h66zm3.js";
27
+ import"./index-63v3gmgr.js";
28
28
  import"./index-8bx6vhzk.js";
29
29
  import"./index-t7hmqgjy.js";
30
30
  import"./index-7vnr5cmp.js";
31
31
  import"./index-fzpt2djt.js";
32
32
  import"./index-ejhxgyvm.js";
33
33
  import"./index-7g4c7s5r.js";
34
- import"./index-qs9myayh.js";
34
+ import"./index-025wg2re.js";
35
35
  import"./index-zxdawwc7.js";
36
- import"./index-pksy4nzv.js";
36
+ import"./index-py8wpe81.js";
37
37
  import"./index-gknz3bv1.js";
38
38
  import"./index-zpsr8rpc.js";
39
39
  import"./index-9rwhas09.js";
@@ -21,36 +21,36 @@ import {
21
21
  shouldRunOnStartup,
22
22
  writeBackupArtifact,
23
23
  writeDoctorArtifact
24
- } from "./index-y7668dn6.js";
25
- import"./index-qgzyj2vt.js";
24
+ } from "./index-95hc7xn4.js";
25
+ import"./index-km4x7yfb.js";
26
26
  import"./index-6b295cas.js";
27
- import"./index-p4vdas8e.js";
27
+ import"./index-pkgbrrn7.js";
28
28
  import"./index-v3bmwmqw.js";
29
- import"./index-bs8yvx1k.js";
29
+ import"./index-jdw63xyd.js";
30
30
  import"./index-m9zzj4ee.js";
31
- import"./index-nkgzkt7c.js";
31
+ import"./index-mhqh2dc9.js";
32
32
  import"./index-2s7dvzff.js";
33
33
  import"./index-0725jpp7.js";
34
- import"./index-2afvf0hr.js";
35
- import"./index-zk6ttjkt.js";
36
- import"./index-feaxsjrt.js";
37
- import"./index-2fpv2wmc.js";
34
+ import"./index-yfmgbhwz.js";
35
+ import"./index-d4cjbm4p.js";
36
+ import"./index-9b6bxe9b.js";
37
+ import"./index-ga1pcs49.js";
38
38
  import"./index-ry16d01s.js";
39
39
  import"./index-rdm3px0g.js";
40
40
  import"./index-7pmbnjvj.js";
41
- import"./index-z3ahy9c2.js";
41
+ import"./index-k6h66zm3.js";
42
42
  import"./index-8bx6vhzk.js";
43
43
  import"./index-t7hmqgjy.js";
44
44
  import"./index-7vnr5cmp.js";
45
45
  import"./index-fzpt2djt.js";
46
46
  import"./index-ejhxgyvm.js";
47
47
  import"./index-7g4c7s5r.js";
48
- import"./index-qs9myayh.js";
48
+ import"./index-025wg2re.js";
49
49
  import"./index-gx2vp8gx.js";
50
- import"./index-ez6sczc7.js";
50
+ import"./index-ney8qpg3.js";
51
51
  import"./index-zxdawwc7.js";
52
- import"./index-t775as8a.js";
53
- import"./index-pksy4nzv.js";
52
+ import"./index-b79a8pc2.js";
53
+ import"./index-py8wpe81.js";
54
54
  import"./index-bk5tah7q.js";
55
55
  import"./index-gknz3bv1.js";
56
56
  import"./index-zpsr8rpc.js";
@@ -14,13 +14,13 @@ import {
14
14
  resolveWorktreeBaseDir,
15
15
  shortenWorktreePath,
16
16
  writeLaneProfileToDiskReal
17
- } from "./index-w8fbnqhe.js";
18
- import"./index-nkgzkt7c.js";
17
+ } from "./index-ejfmgkt0.js";
18
+ import"./index-mhqh2dc9.js";
19
19
  import"./index-2s7dvzff.js";
20
20
  import"./index-fzpt2djt.js";
21
- import"./index-qs9myayh.js";
21
+ import"./index-025wg2re.js";
22
22
  import"./index-zxdawwc7.js";
23
- import"./index-pksy4nzv.js";
23
+ import"./index-py8wpe81.js";
24
24
  import"./index-zpsr8rpc.js";
25
25
  import"./index-zgwm4ryv.js";
26
26
  import"./index-a76rekgs.js";
@@ -5,18 +5,18 @@ import {
5
5
  authorizeCuration,
6
6
  buildConfigFingerprintInput,
7
7
  readCohortConfigFingerprint
8
- } from "./index-sxj143a4.js";
8
+ } from "./index-xw19x0t7.js";
9
9
  import"./index-rtry5xyf.js";
10
10
  import"./index-vzm6zre7.js";
11
- import"./index-3zwhxk98.js";
12
- import"./index-r9yvpr2m.js";
11
+ import"./index-kvtwwj8b.js";
12
+ import"./index-63v3gmgr.js";
13
13
  import"./index-8bx6vhzk.js";
14
14
  import"./index-t7hmqgjy.js";
15
15
  import"./index-7vnr5cmp.js";
16
16
  import"./index-fzpt2djt.js";
17
17
  import"./index-ejhxgyvm.js";
18
18
  import"./index-7g4c7s5r.js";
19
- import"./index-qs9myayh.js";
19
+ import"./index-025wg2re.js";
20
20
  import"./index-gknz3bv1.js";
21
21
  import"./index-zpsr8rpc.js";
22
22
  import"./index-zgwm4ryv.js";
@@ -5,23 +5,23 @@ import {
5
5
  readPriorDriftReports,
6
6
  runDeterministicDriftCheck,
7
7
  writeDriftReport
8
- } from "./index-jfk0yzr6.js";
9
- import"./index-p4vdas8e.js";
10
- import"./index-bs8yvx1k.js";
11
- import"./index-nkgzkt7c.js";
8
+ } from "./index-2wps5fec.js";
9
+ import"./index-pkgbrrn7.js";
10
+ import"./index-jdw63xyd.js";
11
+ import"./index-mhqh2dc9.js";
12
12
  import"./index-2s7dvzff.js";
13
13
  import"./index-0725jpp7.js";
14
- import"./index-2fpv2wmc.js";
14
+ import"./index-ga1pcs49.js";
15
15
  import"./index-ry16d01s.js";
16
16
  import"./index-rdm3px0g.js";
17
17
  import"./index-fzpt2djt.js";
18
18
  import"./index-ejhxgyvm.js";
19
19
  import"./index-7g4c7s5r.js";
20
- import"./index-qs9myayh.js";
21
- import"./index-ez6sczc7.js";
20
+ import"./index-025wg2re.js";
21
+ import"./index-ney8qpg3.js";
22
22
  import"./index-zxdawwc7.js";
23
- import"./index-t775as8a.js";
24
- import"./index-pksy4nzv.js";
23
+ import"./index-b79a8pc2.js";
24
+ import"./index-py8wpe81.js";
25
25
  import"./index-bk5tah7q.js";
26
26
  import"./index-gknz3bv1.js";
27
27
  import"./index-zpsr8rpc.js";
@@ -0,0 +1,82 @@
1
+ // @bun
2
+ import {
3
+ createCuratorLLMDelegate
4
+ } from "./index-vt8hk0pt.js";
5
+ import"./index-867d9dhf.js";
6
+ import"./index-95hc7xn4.js";
7
+ import"./index-ajp4dabz.js";
8
+ import"./index-j2vv0h13.js";
9
+ import"./index-xjqa26fs.js";
10
+ import"./index-t0se5zwe.js";
11
+ import"./index-txdagbh7.js";
12
+ import"./index-w52xyp9v.js";
13
+ import"./index-rdec0y3z.js";
14
+ import"./index-2wps5fec.js";
15
+ import"./index-nb1c3342.js";
16
+ import"./index-50b8f6qz.js";
17
+ import"./index-0yrsvwdf.js";
18
+ import"./index-t433r606.js";
19
+ import"./index-f6e44xh2.js";
20
+ import"./index-cjapb4hy.js";
21
+ import"./index-28zgn6sm.js";
22
+ import"./index-pt7h91zc.js";
23
+ import"./index-q7sjgr1y.js";
24
+ import"./index-ysazjncb.js";
25
+ import"./index-km4x7yfb.js";
26
+ import"./index-6b295cas.js";
27
+ import"./index-9nyqt3kb.js";
28
+ import"./index-pkgbrrn7.js";
29
+ import"./index-v3bmwmqw.js";
30
+ import"./index-jdw63xyd.js";
31
+ import"./index-f32hs2vt.js";
32
+ import"./index-ejfmgkt0.js";
33
+ import"./index-g4fs6z4e.js";
34
+ import"./index-bwh9196c.js";
35
+ import"./index-advcaree.js";
36
+ import"./index-v3bmeqqh.js";
37
+ import"./index-m9zzj4ee.js";
38
+ import"./index-mhqh2dc9.js";
39
+ import"./index-2s7dvzff.js";
40
+ import"./index-3txrbsa1.js";
41
+ import"./index-xw19x0t7.js";
42
+ import"./index-rtry5xyf.js";
43
+ import"./index-6shk3n43.js";
44
+ import"./index-g22dps7x.js";
45
+ import"./index-0725jpp7.js";
46
+ import"./index-r3gphy10.js";
47
+ import"./index-yfmgbhwz.js";
48
+ import"./index-d4cjbm4p.js";
49
+ import"./index-4cm1p2kj.js";
50
+ import"./index-9b6bxe9b.js";
51
+ import"./index-ga1pcs49.js";
52
+ import"./index-ry16d01s.js";
53
+ import"./index-rdm3px0g.js";
54
+ import"./index-7pmbnjvj.js";
55
+ import"./index-k6h66zm3.js";
56
+ import"./index-af3nmk6c.js";
57
+ import"./index-vzm6zre7.js";
58
+ import"./index-ae75rja9.js";
59
+ import"./index-kvtwwj8b.js";
60
+ import"./index-63v3gmgr.js";
61
+ import"./index-8bx6vhzk.js";
62
+ import"./index-t7hmqgjy.js";
63
+ import"./index-7vnr5cmp.js";
64
+ import"./index-fzpt2djt.js";
65
+ import"./index-ejhxgyvm.js";
66
+ import"./index-7g4c7s5r.js";
67
+ import"./index-025wg2re.js";
68
+ import"./index-gx2vp8gx.js";
69
+ import"./index-ney8qpg3.js";
70
+ import"./index-zxdawwc7.js";
71
+ import"./index-b79a8pc2.js";
72
+ import"./index-py8wpe81.js";
73
+ import"./index-bk5tah7q.js";
74
+ import"./index-gknz3bv1.js";
75
+ import"./index-zpsr8rpc.js";
76
+ import"./index-sgxbqba0.js";
77
+ import"./index-9rwhas09.js";
78
+ import"./index-zgwm4ryv.js";
79
+ import"./index-a76rekgs.js";
80
+ export {
81
+ createCuratorLLMDelegate
82
+ };