opencode-swarm 7.193.0 → 7.195.0
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.
- package/.opencode/skills/commit-pr/SKILL.md +8 -0
- package/.opencode/skills/issue-tracer/references/acceptance-checks.md +20 -0
- package/.opencode/skills/issue-tracer/references/full-resolution-contract.md +12 -0
- package/.opencode/skills/swarm-pr-feedback/SKILL.md +2 -2
- package/.opencode/skills/swarm-pr-feedback/references/operational-gotchas.md +18 -0
- package/.opencode/skills/swarm-pr-review/SKILL.md +11 -10
- package/.opencode/skills/swarm-pr-review/references/counterbalancing.md +68 -0
- package/.opencode/skills/swarm-pr-review/references/findings-persistence-contract.md +21 -0
- package/.opencode/skills/swarm-pr-review/references/parser-dry-run.md +11 -0
- package/.opencode/skills/swarm-pr-review/references/prompt-templates.md +8 -0
- package/README.md +1 -1
- package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/background/pending-delegations.d.ts +8 -0
- package/dist/background/pr-review-collection-receipt.d.ts +7 -1
- package/dist/background/pr-review-contract.d.ts +10 -0
- package/dist/cli/{auto-checkpoint-taay16xe.js → auto-checkpoint-anf21wwa.js} +9 -9
- package/dist/cli/{checkpoint-6229g3jq.js → checkpoint-ngdw2qx2.js} +17 -17
- package/dist/cli/{coder-settlement-hexmmefv.js → coder-settlement-bqb059y2.js} +13 -13
- package/dist/cli/{config-doctor-3ghvthh5.js → config-doctor-vetg215g.js} +16 -16
- package/dist/cli/{core-0k7t9fw0.js → core-8qgvsm6x.js} +4 -4
- package/dist/cli/{curation-policy-8j6qn6nt.js → curation-policy-5hm6328s.js} +6 -6
- package/dist/cli/{curator-drift-a5142x0d.js → curator-drift-3gjycbkv.js} +9 -9
- package/dist/cli/{curator-kwwnkyr7.js → curator-hh0n9wgz.js} +43 -43
- package/dist/cli/curator-llm-factory-d17ybmgm.js +82 -0
- package/dist/cli/{doctor-knowledge-receipt-phase-id-11nsf9tz.js → doctor-knowledge-receipt-phase-id-1d465vkg.js} +9 -9
- package/dist/cli/{evidence-summary-service-y2ykc6ta.js → evidence-summary-service-rkd3yc5x.js} +20 -20
- package/dist/cli/{gate-evidence-cd5299js.js → gate-evidence-wtjrerkh.js} +8 -8
- package/dist/cli/guardrail-explain-8xh3r0dn.js +83 -0
- package/dist/cli/{guardrail-log-g6krx0s2.js → guardrail-log-jrey2myg.js} +8 -8
- package/dist/cli/{guardrail-reset-a3xv675m.js → guardrail-reset-m5qbg30j.js} +43 -43
- package/dist/cli/{hive-promoter-90svfzvs.js → hive-promoter-36yhdfre.js} +43 -43
- package/dist/cli/{index-5ev6f1gj.js → index-1hcjxz6w.js} +5 -5
- package/dist/cli/{index-6dn16dre.js → index-3k65kdfp.js} +13 -11
- package/dist/cli/{index-x2phyvcv.js → index-479kf368.js} +4 -4
- package/dist/cli/{index-5rkh69f3.js → index-4gmxdkcd.js} +2 -2
- package/dist/cli/{index-bg19b84s.js → index-5gf2wx2c.js} +7 -7
- package/dist/cli/{index-qh93qjc2.js → index-6183at3v.js} +2 -2
- package/dist/cli/{index-1p24bfn2.js → index-6vpqe4ws.js} +5 -5
- package/dist/cli/{index-ma71x1aa.js → index-780g1hht.js} +5 -5
- package/dist/cli/{index-jx80ed6g.js → index-7kbpzg05.js} +318 -95
- package/dist/cli/{index-mtqwyjrg.js → index-7rtq2t5n.js} +1 -1
- package/dist/cli/{index-vbp35frb.js → index-82aj6gaj.js} +3 -3
- package/dist/cli/{index-prvancd0.js → index-8448vj9w.js} +2 -2
- package/dist/cli/{index-d2emv8ap.js → index-863hst4e.js} +3 -3
- package/dist/cli/{index-db786kn6.js → index-9teqkkp4.js} +43 -43
- package/dist/cli/{index-bkpyff61.js → index-akb436kn.js} +4 -4
- package/dist/cli/{index-0e318vgt.js → index-app2rmxv.js} +1 -1
- package/dist/cli/{index-tr47q89d.js → index-bftpd2m5.js} +4 -4
- package/dist/cli/{index-rd9th57y.js → index-bpq6z8qe.js} +4 -4
- package/dist/cli/{index-cs0p582p.js → index-c4hx57tz.js} +5 -5
- package/dist/cli/{index-668npagp.js → index-c5xvm318.js} +1 -1
- package/dist/cli/{index-ngk8hpc3.js → index-c6hyd8hg.js} +1 -1
- package/dist/cli/{index-vg8sxg12.js → index-crz772sx.js} +1 -1
- package/dist/cli/{index-6s3ab22d.js → index-dfrcc46h.js} +2 -2
- package/dist/cli/{index-he2nyr7x.js → index-epdzvp4w.js} +11 -11
- package/dist/cli/{index-ymnathfr.js → index-fk4j26km.js} +7 -7
- package/dist/cli/{index-ndec8akq.js → index-gc0aeth5.js} +2 -2
- package/dist/cli/{index-fd6b9f38.js → index-ghckhk16.js} +2 -2
- package/dist/cli/{index-4mq8r4be.js → index-gns3gc87.js} +4 -4
- package/dist/cli/{index-5n760fzn.js → index-gz16dke1.js} +6 -6
- package/dist/cli/{index-3xj89bf0.js → index-h7275akd.js} +45 -45
- package/dist/cli/{index-cpt38e0e.js → index-ha8xc5d3.js} +2 -2
- package/dist/cli/{index-py8wpe81.js → index-hqrkr9ag.js} +2 -2
- package/dist/cli/{index-w2vbaczx.js → index-hy2fqapm.js} +1 -1
- package/dist/cli/{index-st80sjg7.js → index-j8t1g5qd.js} +1 -1
- package/dist/cli/{index-ntmnse4d.js → index-jatgbm7k.js} +1 -1
- package/dist/cli/{index-1dx5zyss.js → index-jn4mmhqc.js} +2 -2
- package/dist/cli/{index-nz6ehpjn.js → index-kmvy5fr8.js} +4 -4
- package/dist/cli/{index-84k9zzv1.js → index-kphy4we7.js} +1 -1
- package/dist/cli/{index-7njm9jk1.js → index-necqa5bj.js} +2 -2
- package/dist/cli/{index-bgtfvst1.js → index-peyz4k9k.js} +1 -1
- package/dist/cli/{index-3atkcqpb.js → index-ry5g9s8d.js} +1 -1
- package/dist/cli/{index-jxs9qnad.js → index-tc8x0zc5.js} +4 -4
- package/dist/cli/{index-e8k0v19e.js → index-xmbtwtgw.js} +1 -1
- package/dist/cli/{index-nktwf2xm.js → index-xs9cn3c0.js} +6 -6
- package/dist/cli/{index-hfssjyxs.js → index-yf2z4j7s.js} +2 -2
- package/dist/cli/{index-hfnyykvm.js → index-ypkfhqbc.js} +7 -7
- package/dist/cli/{index-r3mffz78.js → index-yryy781f.js} +4 -4
- package/dist/cli/{index-4gacy6y6.js → index-z59414gv.js} +2 -2
- package/dist/cli/index.js +44 -44
- package/dist/cli/{knowledge-escalator-2d7g3hs0.js → knowledge-escalator-6sgrjbcj.js} +15 -15
- package/dist/cli/{knowledge-events-hjeaevc9.js → knowledge-events-hztjt63y.js} +13 -13
- package/dist/cli/{knowledge-link-srnt95wh.js → knowledge-link-8bn2b7vr.js} +5 -5
- package/dist/cli/{knowledge-store-g9cb2m0v.js → knowledge-store-3sd2034v.js} +6 -6
- package/dist/cli/{knowledge-validator-dghf9pcj.js → knowledge-validator-3fe82zy4.js} +8 -8
- package/dist/cli/{mcp-f5myvd7r.js → mcp-spbx3efe.js} +1 -1
- package/dist/cli/{model-preflight-4w4wd6dj.js → model-preflight-k2bw7rt1.js} +43 -43
- package/dist/cli/{pending-delegations-adm6gf3n.js → pending-delegations-kcvd9t41.js} +14 -12
- package/dist/cli/{pr-subscriptions-n1hks854.js → pr-subscriptions-nqby87en.js} +12 -12
- package/dist/cli/{pr-workflow-gate-59cr6gve.js → pr-workflow-gate-cgbc0x1z.js} +59 -43
- package/dist/cli/{runner-b2e89cp1.js → runner-rt2smh14.js} +6 -6
- package/dist/cli/{scan-cursor-t26xmfhd.js → scan-cursor-sphr9phs.js} +7 -7
- package/dist/cli/{schema-cr120ar5.js → schema-x892aatt.js} +2 -2
- package/dist/cli/{scope-persistence-mrnz8j43.js → scope-persistence-n9xksct2.js} +16 -16
- package/dist/cli/{server-mwk6zn83.js → server-am2y11yn.js} +43 -43
- package/dist/cli/{skill-generator-svs4k0g8.js → skill-generator-p71b6h5k.js} +17 -17
- package/dist/cli/{snapshot-coordination-init-xzrahhsb.js → snapshot-coordination-init-x9b4t9sk.js} +43 -43
- package/dist/cli/{speckit-checkoff-g2qrb1tn.js → speckit-checkoff-xp9vsp9k.js} +5 -5
- package/dist/cli/{telemetry-qaymh4gg.js → telemetry-vapc5q4p.js} +1 -1
- package/dist/cli/{workspace-snapshot-p69t9zn7.js → workspace-snapshot-e3kw9kpg.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-d145wmpg.js → worktree-collision-ownership-2pmyww6g.js} +13 -13
- package/dist/cli/{worktree-isolation-pt1rws6p.js → worktree-isolation-379tmkta.js} +43 -43
- package/dist/commands/registry.d.ts +1 -1
- package/dist/epic/start.d.ts +8 -5
- package/dist/hooks/pr-workflow-gate.d.ts +190 -0
- package/dist/host/v2/session-client.d.ts +96 -0
- package/dist/host/v2/types.d.ts +7 -5
- package/dist/index.js +36 -32
- package/dist/pr-review/legacy-transcript-adapter.d.ts +54 -0
- package/dist/pr-review/render-review-body.d.ts +20 -0
- package/dist/tools/dispatch-lanes.d.ts +16 -1
- package/dist/tools/pr-workflow-status.d.ts +24 -1
- package/package.json +1 -1
- package/dist/cli/curator-llm-factory-8gt3mvg9.js +0 -82
- package/dist/cli/guardrail-explain-hpgecr7x.js +0 -83
|
@@ -100,3 +100,11 @@ If this session is running an issue trace (`/swarm issue --trace`), call
|
|
|
100
100
|
right after the PR is opened so the issue-trace workflow can reach its terminal
|
|
101
101
|
`published` state — without it the trace stays at `publication_handoff` and is NOT
|
|
102
102
|
considered resolved.
|
|
103
|
+
|
|
104
|
+
## Contract addendum (2026-10-12)
|
|
105
|
+
|
|
106
|
+
- **Publication-time re-derivation.** As the LAST step before `gh pr create`
|
|
107
|
+
/ `pr edit`, re-derive every claim in the body from the final tree: PR head
|
|
108
|
+
SHA, test counts, file lists, closure evidence. A body drafted earlier is
|
|
109
|
+
stale by construction — the head moves with every amend — and a stale
|
|
110
|
+
`PR head:` line in particular is guarded by no validator.
|
|
@@ -88,3 +88,23 @@ Minimal recipe: `git stash` the fix hunk (or apply the inverse patch) in the thr
|
|
|
88
88
|
## When the path does not apply
|
|
89
89
|
|
|
90
90
|
Some issues (pure documentation fixes, non-executable product decisions already resolved by classification) have no meaningful acceptance check at all. Use NON-EXECUTABLE rows with named substitute evidence rather than forcing an artificial executable check, and let the plan critic confirm the justification is real rather than a shortcut around the loop.
|
|
91
|
+
|
|
92
|
+
## Contract addendum (2026-10-12)
|
|
93
|
+
|
|
94
|
+
- **Named-mutation discipline.** Every DISCRIMINATING check must name, in its
|
|
95
|
+
08-test-results block, one concrete mutation that kills it and the test that
|
|
96
|
+
fails under it — "the suite passes" is not evidence a check bites. A check
|
|
97
|
+
whose named mutant survives the shipped suite is a coverage gap, not a pass.
|
|
98
|
+
Probe hygiene is part of the contract: restore with `git checkout -- <file>`
|
|
99
|
+
after every probe and verify `git status --porcelain` clean before any
|
|
100
|
+
commit — a stray uncommitted mutant can ride explicit-path staging into the
|
|
101
|
+
fix commit.
|
|
102
|
+
- **Frozen-docstring wording.** Check authors must phrase frozen-file
|
|
103
|
+
docstrings to stay true at both ends: "RED at base, GREEN after the fix",
|
|
104
|
+
never "must FAIL at the current tree" — the file ships and the claim becomes
|
|
105
|
+
false, and correcting it costs a checkpoint AMEND plus a re-anchored receipt.
|
|
106
|
+
- **Replay script at freeze.** Write `repro/replay-all.sh` beside the manifest:
|
|
107
|
+
one explicit `repro-check.sh run` per check with `--base --class --id
|
|
108
|
+
--expect --copy --deps` spelled out (every file the base leg needs listed in
|
|
109
|
+
`--copy`). Replays then run one command instead of re-assembling flags — an
|
|
110
|
+
omitted `--copy` silently rewrites certified RED base logs as ERROR.
|
|
@@ -67,3 +67,15 @@ Before declaring the issue ready:
|
|
|
67
67
|
- [ ] Publication (commit/push/PR) followed the repo's canonical publish protocol.
|
|
68
68
|
- [ ] Merge itself was not performed by this skill; an explicit, quoted, SHA-bound user approval is recorded (`10b-merge-approval.md`).
|
|
69
69
|
- [ ] PR-ready summary is complete.
|
|
70
|
+
|
|
71
|
+
## Contract addendum (2026-10-12)
|
|
72
|
+
|
|
73
|
+
- **Closure reconciliation.** Closure is a reconciliation against the final
|
|
74
|
+
PUBLISHED artifacts: every requirement and every source finding keeps a
|
|
75
|
+
stable identity through to the closure ledger; each disposition names what
|
|
76
|
+
was actually discharged (a mutant identity, a file, a published sentence)
|
|
77
|
+
and is grep-verified against the artifact it claims; any partial closure
|
|
78
|
+
carries explicit deferment authority (a filed follow-up issue or a quoted
|
|
79
|
+
user decision). A ledger that keeps the FIXED label while the obligation
|
|
80
|
+
changed shape is a false closure even when the code is correct, and a
|
|
81
|
+
mutation identity must never be substituted between obligation and proof.
|
|
@@ -12,7 +12,7 @@ description: >
|
|
|
12
12
|
(structural pre-checks) and Stage B (reviewer + test_engineer) gates and the
|
|
13
13
|
reviewer + critic closeout gate are MANDATORY for any change made as part of
|
|
14
14
|
this process.
|
|
15
|
-
swarm-contract-digest:
|
|
15
|
+
swarm-contract-digest: aca3f05b0677
|
|
16
16
|
---
|
|
17
17
|
|
|
18
18
|
# Swarm PR Feedback
|
|
@@ -428,7 +428,7 @@ Rules:
|
|
|
428
428
|
items.
|
|
429
429
|
- Use explicit IDs for non-review feedback when useful, for example
|
|
430
430
|
`CONFLICT-001` for merge/base drift and `CI-001` for check failures, so PR
|
|
431
|
-
bodies can show exactly how operational blockers were closed.
|
|
431
|
+
bodies can show exactly how operational blockers were closed. See `references/operational-gotchas.md` (## Contract addendum (2026-10-12)) for the body-claim-audit, probe-hygiene, and stable-obligation/coverage-diff ledger rules.
|
|
432
432
|
|
|
433
433
|
### Mandatory: integrate all PR comments with feedback or findings before branch validation (Stage A)
|
|
434
434
|
|
|
@@ -47,3 +47,21 @@ requirements imposed on unrelated repositories.
|
|
|
47
47
|
different fixes on different code paths, use separate coder tasks even if
|
|
48
48
|
targeting the same file. The "ONE task per coder" rule is about distinct
|
|
49
49
|
objectives, not about N edits to one file.
|
|
50
|
+
|
|
51
|
+
## Contract addendum (2026-10-12)
|
|
52
|
+
|
|
53
|
+
- **Body-claim audit.** Before the reviewer gate, grep the LIVE published
|
|
54
|
+
artifact (PR body, issue body) against every ledger row whose fix-ref is that
|
|
55
|
+
artifact: the fixed phrasing present, the contradicting phrasing absent. A
|
|
56
|
+
row marked FIXED for a file never edited is an unbacked claim — record
|
|
57
|
+
CLOSED only after the grep matches.
|
|
58
|
+
- **Probe hygiene.** Mutation/revert probes must leave the tree as found:
|
|
59
|
+
restore with `git checkout -- <file>` after every probe and verify
|
|
60
|
+
`git status --porcelain` clean before the first commit of the round. An
|
|
61
|
+
uncommitted mutant left in a tracked source file can ride explicit-path
|
|
62
|
+
staging into the fix commit — or `git add -A` into the release.
|
|
63
|
+
- **Stable obligation identity + coverage-diff.** Never substitute the
|
|
64
|
+
obligation between ledger and proof: if the ledger defined mutant M4 as X,
|
|
65
|
+
closing it with a different mutant Y is a new row, not a closure.
|
|
66
|
+
Coverage-diff the ledger against EVERY source finding table by ID, both
|
|
67
|
+
directions, before implementing.
|
|
@@ -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:
|
|
6
|
+
swarm-contract-digest: 66db247ce302
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# /swarm-pr-review
|
|
@@ -167,7 +167,7 @@ receipt; persist post-explorer findings; run reviewers;
|
|
|
167
167
|
run critics; then persist the final artifact and complete the workflow. Transcript
|
|
168
168
|
`[CANDIDATE]` / `[CLEAN]` rows are deprecated legacy compatibility only for
|
|
169
169
|
lanes whose snapped `pr_review_legacy_transcript_compatibility` contract
|
|
170
|
-
explicitly enables them.
|
|
170
|
+
explicitly enables them. Candidate rows are defect claims only — never verification notes or INFO-severity confirmations (see `references/prompt-templates.md`, ## Contract addendum (2026-10-12)).
|
|
171
171
|
The **initial** micro dispatch MUST supply the complete trigger-evaluation
|
|
172
172
|
ledger; that dispatch freezes it for the session.
|
|
173
173
|
Any subsequent micro batch in that same session MAY omit `trigger_evaluation`
|
|
@@ -1444,25 +1444,26 @@ Reviewer output format:
|
|
|
1444
1444
|
[REVIEWED] | item_id | classification | evidence_type | severity | introduced_by_pr | file:line | rationale | probe | reviewer_notes | risk_impact | risk_tags
|
|
1445
1445
|
```
|
|
1446
1446
|
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
rationale/probe/reviewer fields; the sentinel means the reviewer independently
|
|
1450
|
-
found no surviving actionable candidate, not that reviewer validation was
|
|
1451
|
-
skipped.
|
|
1447
|
+
CLEAN-REVIEW sentinel and DISPROVED/PRE_EXISTING row details: see
|
|
1448
|
+
`references/parser-dry-run.md`.
|
|
1452
1449
|
|
|
1453
1450
|
Every reviewer response must end with one parseable `[REVIEWED]` row per
|
|
1454
1451
|
assigned candidate. A malformed `[REVIEWED]` row is not a verdict: re-dispatch
|
|
1455
1452
|
with the exact contract (max 2), then mark the reviewer dimension BLOCKED if no
|
|
1456
1453
|
valid row returns.
|
|
1457
1454
|
|
|
1458
|
-
`DISPROVED` reviewer rows must use `NONE` for `final_severity`. `PRE_EXISTING`
|
|
1459
|
-
findings must include the base-branch evidence if available.
|
|
1460
|
-
|
|
1461
1455
|
After reviewer lanes settle, persist the post-reviewer finding ledger before
|
|
1462
1456
|
critic routing or synthesis. The artifact must preserve `CONFIRMED`,
|
|
1463
1457
|
`DISPROVED`, `PRE_EXISTING`, and still-`PENDING` records with reviewer IDs and
|
|
1464
1458
|
next actions.
|
|
1465
1459
|
|
|
1460
|
+
Counterbalanced reviewer passes (#2906): when the candidate inventory holds more
|
|
1461
|
+
than one item, dispatch the reviewer phase as two batches over the same inventory;
|
|
1462
|
+
the controller alternates presentation order A (canonical) / B (reversed), stamps
|
|
1463
|
+
`presentation_order` on each batch receipt, and marks each merged verdict
|
|
1464
|
+
`order_agreement` (agree/disagree/single); unstable items are auto-flagged to the
|
|
1465
|
+
critic and the report marks and counts them. Detail: references/counterbalancing.md.
|
|
1466
|
+
|
|
1466
1467
|
---
|
|
1467
1468
|
|
|
1468
1469
|
## Phase 7: Falsification Probe Requirement
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Counterbalanced Reviewer Passes (issue #2906)
|
|
2
|
+
|
|
3
|
+
The review protocol presents candidate findings to the reviewer phase in two
|
|
4
|
+
independent batches over the same full inventory whenever that inventory holds
|
|
5
|
+
more than one item. The controller assigns presentation orders to those
|
|
6
|
+
batches deterministically — the first reviewer batch in the window renders its
|
|
7
|
+
candidates in canonical (lexicographically sorted) order (`presentation_order:
|
|
8
|
+
A`) and the second renders the exact reverse (`presentation_order: B`),
|
|
9
|
+
alternating for any further batches. A retry batch receives the NEXT ordinal,
|
|
10
|
+
so a re-dispatch of a failed pass observes the opposite order by design.
|
|
11
|
+
|
|
12
|
+
## Where the signal lives
|
|
13
|
+
|
|
14
|
+
- **Prompt**: each reviewer lane's controller contract carries the
|
|
15
|
+
`presentation_order:` line and renders `assigned_item_ids` in that pass's
|
|
16
|
+
order; the lane is instructed to order its candidate prose identically (the
|
|
17
|
+
mechanical reordering covers the controller-owned id list — prose-order
|
|
18
|
+
compliance is instruction-mediated).
|
|
19
|
+
- **Receipts**: the per-batch coherence record stamps `presentationOrder`
|
|
20
|
+
('A' | 'B'), and the lane collection receipt footer names it when gate state
|
|
21
|
+
is readable at collection time.
|
|
22
|
+
- **Merged verdicts**: every composed reviewer claim carries `order_agreement`
|
|
23
|
+
— `agree` when both the A and B passes produced the same
|
|
24
|
+
(classification, severity) pair for the item, `disagree` when the verdict
|
|
25
|
+
flipped with presentation order, `single` when fewer than two marked orders
|
|
26
|
+
observed the item (including single-pass runs and pre-#2906 batches).
|
|
27
|
+
- **Critic routing**: order-unstable items are named on the critic contract's
|
|
28
|
+
`order_unstable_item_ids:` line so the critic prioritizes them; the critic
|
|
29
|
+
batch's coherence record keeps an audit-only snapshot of that list.
|
|
30
|
+
- **Findings and report**: findings rows carry `order_agreement` (validated
|
|
31
|
+
against the composed verdicts at write time — a contradictory or unbacked
|
|
32
|
+
affirmative label is rejected); the rendered PR-review report marks
|
|
33
|
+
order-unstable findings with the `order-unstable` token and counts them in a
|
|
34
|
+
summary line.
|
|
35
|
+
|
|
36
|
+
## How to read the labels
|
|
37
|
+
|
|
38
|
+
- `agree` — order-stable: both passes reached the same classification and
|
|
39
|
+
severity. The strongest reviewer signal.
|
|
40
|
+
- `disagree` — order-unstable: the verdict flipped with presentation order.
|
|
41
|
+
Not automatically wrong — it means the finding's verdict is sensitive to
|
|
42
|
+
candidate ordering and deserves critic priority and explicit evidence.
|
|
43
|
+
- `single` — only one presentation order observed the item; no order-effect
|
|
44
|
+
evidence either way.
|
|
45
|
+
|
|
46
|
+
A single-item inventory (or single-item lane) renders identical A and B
|
|
47
|
+
sequences; its labels remain computed but are descriptive only — they cannot
|
|
48
|
+
implicate order effects at n=1.
|
|
49
|
+
|
|
50
|
+
## Operator notes
|
|
51
|
+
|
|
52
|
+
- The presentation-order ordinal counts retained reviewer batches in the
|
|
53
|
+
reviewer window (batches after the latest council batch), excluding the
|
|
54
|
+
batch being recorded. Both the dispatch-time derivation and the record
|
|
55
|
+
guard apply the SAME pure capacity prune before counting, so at the
|
|
56
|
+
≥128-batch cap the derived ordinal already reflects the post-prune window
|
|
57
|
+
and the two sides cannot disagree about prune parity. A dispatch whose
|
|
58
|
+
derived order still diverges from its recorded receipt — state genuinely
|
|
59
|
+
changed between derivation and recording — fails closed; re-derive and
|
|
60
|
+
re-dispatch. That retry cannot wedge: the derivation is deterministic over
|
|
61
|
+
the current state, so it re-derives exactly the value the guard will stamp.
|
|
62
|
+
- The capacity prune never drops a reviewer batch that contributed order
|
|
63
|
+
observations: an older counterbalanced pass is retained even when the newer
|
|
64
|
+
pass claimed every item (its observations ride the agreement-only
|
|
65
|
+
continuation), so `agree`/`disagree` labels survive GC and never silently
|
|
66
|
+
degrade to `single`.
|
|
67
|
+
- The wire `[REVIEWED]` row grammar is unchanged: presentation order is a
|
|
68
|
+
property of the pass (batch), not of any individual row.
|
|
@@ -10,6 +10,7 @@ reviewer_classifications: CONFIRMED | DISPROVED | UNVERIFIED | PRE_EXISTING
|
|
|
10
10
|
reviewer_evidence_types: STRUCTURALLY_PROVEN | EXECUTION_PROVEN | STATIC_TRACE_PROVEN | PLAUSIBLE_BUT_UNVERIFIED
|
|
11
11
|
critic_fields: marker | item_id | status | severity | rationale | required_change
|
|
12
12
|
critic_statuses: UPHELD | DOWNGRADED | DISPROVED | NEEDS_MORE_EVIDENCE
|
|
13
|
+
order_agreements: agree | disagree | single
|
|
13
14
|
severities: CRITICAL | HIGH | MEDIUM | LOW | INFO | NONE
|
|
14
15
|
finding_statuses: PENDING | CONFIRMED | DISPROVED | PRE_EXISTING
|
|
15
16
|
finding_actions: route_to_reviewer | route_to_critic | report | suppress_with_reason | handoff_to_feedback
|
|
@@ -251,3 +252,23 @@ newline, and `\r` a carriage return. The byte-zero contract card injected into
|
|
|
251
252
|
each Profile A lane is authoritative for the live enums and includes positive
|
|
252
253
|
and explicitly discarded negative examples. Discarded examples are
|
|
253
254
|
documentation only and must never be emitted as live marker rows.
|
|
255
|
+
|
|
256
|
+
## `order_agreement` (issue #2906)
|
|
257
|
+
|
|
258
|
+
Every findings record MAY carry `order_agreement`, the order-stability of that
|
|
259
|
+
finding's reviewer verdict across the counterbalanced presentation orders
|
|
260
|
+
(pass A = canonical sorted ids, pass B = the exact reverse):
|
|
261
|
+
|
|
262
|
+
- `agree` — both marked orders produced the same `(classification, severity)`;
|
|
263
|
+
- `disagree` — they differed. The finding is order-unstable: rendered with an
|
|
264
|
+
`(order-unstable)` marker and counted in the report summary, and flagged to
|
|
265
|
+
the critic via `order_unstable_item_ids`;
|
|
266
|
+
- `single` — fewer than two marked orders were observed (a single reviewer
|
|
267
|
+
pass, or unmarked/legacy batches, which contribute no observations).
|
|
268
|
+
|
|
269
|
+
The field is **optional**. It is written on `post_reviewer` and `post_critic`
|
|
270
|
+
rows, is cross-checked at write time against the composed reviewer verdicts,
|
|
271
|
+
and **must not be omitted** on a finding whose composed label is `disagree` —
|
|
272
|
+
an omitted label there fails the write closed rather than silently suppressing
|
|
273
|
+
the marker. It is part of the replay-identity key: a re-submission whose
|
|
274
|
+
`order_agreement` differs is not an exact replay.
|
|
@@ -252,3 +252,14 @@ IMPORTANT: If a finding claims behavior is "new" or "introduced by the PR", you
|
|
|
252
252
|
is split before dispatch.
|
|
253
253
|
- The `invocation_envelope` in the parser response provides audit provenance
|
|
254
254
|
for every extracted candidate.
|
|
255
|
+
|
|
256
|
+
## Reviewer row details (relocated from SKILL.md, issue #2906)
|
|
257
|
+
|
|
258
|
+
For the mechanically derived `CLEAN-REVIEW` sentinel, use the same exact row
|
|
259
|
+
with `DISPROVED | STRUCTURALLY_PROVEN | NONE | UNKNOWN | N/A` and concrete
|
|
260
|
+
rationale/probe/reviewer fields; the sentinel means the reviewer independently
|
|
261
|
+
found no surviving actionable candidate, not that reviewer validation was
|
|
262
|
+
skipped.
|
|
263
|
+
|
|
264
|
+
`DISPROVED` reviewer rows must use `NONE` for `final_severity`. `PRE_EXISTING`
|
|
265
|
+
findings must include the base-branch evidence if available.
|
|
@@ -171,3 +171,11 @@ format above remains the extraction contract. Explorers emit structured
|
|
|
171
171
|
records regardless of which harness runs them.
|
|
172
172
|
|
|
173
173
|
Do not let speed degrade validation quality.
|
|
174
|
+
|
|
175
|
+
## Contract addendum (2026-10-12)
|
|
176
|
+
|
|
177
|
+
- **Candidate rows are defect claims only.** Never emit verification notes,
|
|
178
|
+
confirmations, or coverage observations as CANDIDATE rows, and no
|
|
179
|
+
INFO-severity candidates — confirmations belong in the lane's
|
|
180
|
+
attestation/CLEAN row. A misattributed or confirmatory candidate inflates
|
|
181
|
+
reviewer adjudication for zero signal.
|
package/README.md
CHANGED
|
@@ -151,7 +151,7 @@ Swarm has two independent mode systems:
|
|
|
151
151
|
|
|
152
152
|
Full-Auto reduces approval friction by deterministically allowing safe operations (read-only tools, in-scope writes, safe shell) and routing every ambiguous or high-risk action (writes to plugin/build/guardrail paths, network, dependency changes, plan/phase mutations, subagent delegation) through the read-only `critic_oversight` agent before it executes. Denials are returned to the agent as structured signals so it can choose a safer path; repeated denials pause the run; phase completion requires an APPROVED oversight record. See [docs/modes.md](docs/modes.md#full-auto) for `mode`, `permission_policy`, `denials`, and `oversight` config keys, fail-closed semantics, and recovery from a paused run.
|
|
153
153
|
|
|
154
|
-
Epic binds to the current plan and
|
|
154
|
+
Epic binds to the current plan and runs fully on an OpenCode 1.x host. The OpenCode 2 host-capability guard now passes (the plugin's v2 adapter ships a session-capable client), but the epic entry point stays double-gated on v2 (`human-only` toolPolicy + no v2 command dispatch) and v2 child sessions cannot yet be placed in a coder worktree, so full Epic on OpenCode 2 waits on #3169 (Phase 3/4). `/swarm epic start` also refuses plans too small to benefit and suggests Balanced. The `epic_next_wave` tool then dispatches each phase as waves of tasks whose declared scopes don't conflict; in a git project each coder works in an isolated worktree on an epic branch, and `/swarm epic close` squash-lands the work as staged changes for you to review. Every task in a wave still runs the full per-task QA pipeline (Stage A and Stage B). Epic learns which files tasks tend to write together and uses it to plan later waves and epics. See [docs/modes.md](docs/modes.md#epic-mode-preview); maintainers start with [src/epic/README.md](src/epic/README.md).
|
|
155
155
|
|
|
156
156
|
**Project mode** — persistent via `execution_mode` config key:
|
|
157
157
|
|
|
Binary file
|
|
Binary file
|
|
@@ -720,6 +720,14 @@ export declare function buildBackgroundCompletionEventId(input: BuildBackgroundC
|
|
|
720
720
|
* same eventId identity material, same status-equals-record guarantee.
|
|
721
721
|
*/
|
|
722
722
|
export declare function buildTypedDelegationTerminal(record: Pick<BackgroundDelegationRecord, 'correlationId' | 'jobId'>, status: BackgroundTerminalResult['status'], result: BackgroundDelegationResult, now: number): BackgroundTerminalResult;
|
|
723
|
+
/**
|
|
724
|
+
* The retained receipt for one delegation record (result copy first, the
|
|
725
|
+
* closed-summary `terminalResult` copy second). Exported for the
|
|
726
|
+
* `pr_workflow_status` read surface (issue #3095) so the status tool reads
|
|
727
|
+
* receipts through the same accessor the store's own writers use instead of
|
|
728
|
+
* duplicating the fallback order.
|
|
729
|
+
*/
|
|
730
|
+
export declare function recordedPrReviewResultReceipt(record: BackgroundDelegationRecord): PrReviewResultReceipt | undefined;
|
|
723
731
|
export type TerminalClaimDisposition = 'claimed' | 'resume_settlement' | 'retry_ingestion' | 'preserved' | 'consumed' | 'duplicate';
|
|
724
732
|
export interface TerminalClaim {
|
|
725
733
|
disposition: TerminalClaimDisposition;
|
|
@@ -21,7 +21,11 @@ declare const PrReviewCollectionReceiptPayloadSchema: z.ZodObject<{
|
|
|
21
21
|
rejected: "rejected";
|
|
22
22
|
}>;
|
|
23
23
|
reviewItemIds: z.ZodArray<z.ZodString>;
|
|
24
|
-
|
|
24
|
+
presentationOrder: z.ZodOptional<z.ZodEnum<{
|
|
25
|
+
A: "A";
|
|
26
|
+
B: "B";
|
|
27
|
+
}>>;
|
|
28
|
+
}, z.core.$loose>;
|
|
25
29
|
export type PrReviewCollectionReceiptPayload = z.infer<typeof PrReviewCollectionReceiptPayloadSchema>;
|
|
26
30
|
declare const PrReviewCollectionReceiptShedMarkerSchema: z.ZodObject<{
|
|
27
31
|
schemaVersion: z.ZodLiteral<1>;
|
|
@@ -50,6 +54,8 @@ export interface PrReviewCollectionReceiptBinding {
|
|
|
50
54
|
correlationId: string;
|
|
51
55
|
mode?: string;
|
|
52
56
|
workflowLane?: string;
|
|
57
|
+
/** Issue #2906: optional presentation order threaded from the batch's coherence record. */
|
|
58
|
+
presentationOrder?: 'A' | 'B';
|
|
53
59
|
}
|
|
54
60
|
export interface PrReviewCollectionReceiptResult {
|
|
55
61
|
text?: string;
|
|
@@ -340,6 +340,11 @@ export declare const PrReviewFindingSchema: z.ZodObject<{
|
|
|
340
340
|
GIT: "GIT";
|
|
341
341
|
CONFIGURATION: "CONFIGURATION";
|
|
342
342
|
}>>>;
|
|
343
|
+
order_agreement: z.ZodOptional<z.ZodEnum<{
|
|
344
|
+
agree: "agree";
|
|
345
|
+
disagree: "disagree";
|
|
346
|
+
single: "single";
|
|
347
|
+
}>>;
|
|
343
348
|
}, z.core.$strict>;
|
|
344
349
|
export { type PrReviewCriticRoutingInput, prReviewFindingRequiresCritic, } from '../pr-review/critic-routing.js';
|
|
345
350
|
export declare const PrReviewHandoffSchema: z.ZodObject<{
|
|
@@ -428,6 +433,11 @@ export declare const WritePrReviewArtifactArgsSchema: z.ZodDiscriminatedUnion<[z
|
|
|
428
433
|
GIT: "GIT";
|
|
429
434
|
CONFIGURATION: "CONFIGURATION";
|
|
430
435
|
}>>>;
|
|
436
|
+
order_agreement: z.ZodOptional<z.ZodEnum<{
|
|
437
|
+
agree: "agree";
|
|
438
|
+
disagree: "disagree";
|
|
439
|
+
single: "single";
|
|
440
|
+
}>>;
|
|
431
441
|
}, z.core.$strict>>;
|
|
432
442
|
partial_base_coverage: z.ZodOptional<z.ZodObject<{
|
|
433
443
|
unresolved_dimensions: z.ZodArray<z.ZodEnum<{
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"./index-
|
|
2
|
+
import"./index-82aj6gaj.js";
|
|
3
3
|
import"./index-g22dps7x.js";
|
|
4
4
|
import"./index-0725jpp7.js";
|
|
5
5
|
import {
|
|
6
6
|
appendCoreEventSync
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-6183at3v.js";
|
|
8
8
|
import {
|
|
9
9
|
derivePlanIdentityHash
|
|
10
10
|
} from "./index-7pmbnjvj.js";
|
|
11
|
-
import"./index-
|
|
12
|
-
import"./index-
|
|
11
|
+
import"./index-gc0aeth5.js";
|
|
12
|
+
import"./index-7rtq2t5n.js";
|
|
13
13
|
import"./index-fzpt2djt.js";
|
|
14
|
-
import"./index-
|
|
14
|
+
import"./index-yf2z4j7s.js";
|
|
15
15
|
import"./index-gx2vp8gx.js";
|
|
16
16
|
import {
|
|
17
17
|
loadPluginConfigWithMeta
|
|
18
|
-
} from "./index-
|
|
18
|
+
} from "./index-c6hyd8hg.js";
|
|
19
19
|
import {
|
|
20
20
|
init_git_executable,
|
|
21
21
|
resolveGitExecutable
|
|
22
22
|
} from "./index-zxdawwc7.js";
|
|
23
|
-
import"./index-
|
|
24
|
-
import"./index-
|
|
23
|
+
import"./index-jn4mmhqc.js";
|
|
24
|
+
import"./index-hqrkr9ag.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-
|
|
155
|
+
const { saveCheckpointRecord } = await import("./checkpoint-ngdw2qx2.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-
|
|
7
|
-
import"./index-
|
|
6
|
+
} from "./index-xs9cn3c0.js";
|
|
7
|
+
import"./index-epdzvp4w.js";
|
|
8
8
|
import"./index-6b295cas.js";
|
|
9
9
|
import"./index-9nyqt3kb.js";
|
|
10
|
-
import"./index-
|
|
10
|
+
import"./index-peyz4k9k.js";
|
|
11
11
|
import"./index-v3bmwmqw.js";
|
|
12
|
-
import"./index-
|
|
12
|
+
import"./index-z59414gv.js";
|
|
13
13
|
import"./index-g4fs6z4e.js";
|
|
14
14
|
import"./index-m9zzj4ee.js";
|
|
15
|
-
import"./index-
|
|
15
|
+
import"./index-kphy4we7.js";
|
|
16
16
|
import"./index-2s7dvzff.js";
|
|
17
|
-
import"./index-
|
|
17
|
+
import"./index-82aj6gaj.js";
|
|
18
18
|
import"./index-g22dps7x.js";
|
|
19
19
|
import"./index-0725jpp7.js";
|
|
20
|
-
import"./index-
|
|
21
|
-
import"./index-
|
|
22
|
-
import"./index-
|
|
23
|
-
import"./index-
|
|
20
|
+
import"./index-1hcjxz6w.js";
|
|
21
|
+
import"./index-6183at3v.js";
|
|
22
|
+
import"./index-crz772sx.js";
|
|
23
|
+
import"./index-app2rmxv.js";
|
|
24
24
|
import"./index-ry16d01s.js";
|
|
25
25
|
import"./index-rdm3px0g.js";
|
|
26
26
|
import"./index-7pmbnjvj.js";
|
|
27
|
-
import"./index-
|
|
28
|
-
import"./index-
|
|
27
|
+
import"./index-gc0aeth5.js";
|
|
28
|
+
import"./index-xmbtwtgw.js";
|
|
29
29
|
import"./index-t7hmqgjy.js";
|
|
30
|
-
import"./index-
|
|
30
|
+
import"./index-7rtq2t5n.js";
|
|
31
31
|
import"./index-fzpt2djt.js";
|
|
32
32
|
import"./index-ejhxgyvm.js";
|
|
33
33
|
import"./index-7g4c7s5r.js";
|
|
34
|
-
import"./index-
|
|
34
|
+
import"./index-yf2z4j7s.js";
|
|
35
35
|
import"./index-gx2vp8gx.js";
|
|
36
|
-
import"./index-
|
|
36
|
+
import"./index-c6hyd8hg.js";
|
|
37
37
|
import"./index-zxdawwc7.js";
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
38
|
+
import"./index-jn4mmhqc.js";
|
|
39
|
+
import"./index-hqrkr9ag.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-
|
|
18
|
-
import"./index-
|
|
19
|
-
import"./index-
|
|
20
|
-
import"./index-
|
|
21
|
-
import"./index-
|
|
17
|
+
} from "./index-fk4j26km.js";
|
|
18
|
+
import"./index-ghckhk16.js";
|
|
19
|
+
import"./index-dfrcc46h.js";
|
|
20
|
+
import"./index-kmvy5fr8.js";
|
|
21
|
+
import"./index-479kf368.js";
|
|
22
22
|
import"./index-g4fs6z4e.js";
|
|
23
|
-
import"./index-
|
|
23
|
+
import"./index-kphy4we7.js";
|
|
24
24
|
import"./index-2s7dvzff.js";
|
|
25
|
-
import"./index-
|
|
26
|
-
import"./index-
|
|
27
|
-
import"./index-
|
|
28
|
-
import"./index-
|
|
25
|
+
import"./index-6183at3v.js";
|
|
26
|
+
import"./index-gc0aeth5.js";
|
|
27
|
+
import"./index-4gmxdkcd.js";
|
|
28
|
+
import"./index-xmbtwtgw.js";
|
|
29
29
|
import"./index-t7hmqgjy.js";
|
|
30
|
-
import"./index-
|
|
30
|
+
import"./index-7rtq2t5n.js";
|
|
31
31
|
import"./index-fzpt2djt.js";
|
|
32
32
|
import"./index-ejhxgyvm.js";
|
|
33
33
|
import"./index-7g4c7s5r.js";
|
|
34
|
-
import"./index-
|
|
34
|
+
import"./index-yf2z4j7s.js";
|
|
35
35
|
import"./index-zxdawwc7.js";
|
|
36
|
-
import"./index-
|
|
36
|
+
import"./index-hqrkr9ag.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-
|
|
25
|
-
import"./index-
|
|
24
|
+
} from "./index-gns3gc87.js";
|
|
25
|
+
import"./index-epdzvp4w.js";
|
|
26
26
|
import"./index-6b295cas.js";
|
|
27
|
-
import"./index-
|
|
27
|
+
import"./index-peyz4k9k.js";
|
|
28
28
|
import"./index-v3bmwmqw.js";
|
|
29
|
-
import"./index-
|
|
29
|
+
import"./index-z59414gv.js";
|
|
30
30
|
import"./index-m9zzj4ee.js";
|
|
31
|
-
import"./index-
|
|
31
|
+
import"./index-kphy4we7.js";
|
|
32
32
|
import"./index-2s7dvzff.js";
|
|
33
33
|
import"./index-0725jpp7.js";
|
|
34
|
-
import"./index-
|
|
35
|
-
import"./index-
|
|
36
|
-
import"./index-
|
|
37
|
-
import"./index-
|
|
34
|
+
import"./index-1hcjxz6w.js";
|
|
35
|
+
import"./index-6183at3v.js";
|
|
36
|
+
import"./index-crz772sx.js";
|
|
37
|
+
import"./index-app2rmxv.js";
|
|
38
38
|
import"./index-ry16d01s.js";
|
|
39
39
|
import"./index-rdm3px0g.js";
|
|
40
40
|
import"./index-7pmbnjvj.js";
|
|
41
|
-
import"./index-
|
|
42
|
-
import"./index-
|
|
41
|
+
import"./index-gc0aeth5.js";
|
|
42
|
+
import"./index-xmbtwtgw.js";
|
|
43
43
|
import"./index-t7hmqgjy.js";
|
|
44
|
-
import"./index-
|
|
44
|
+
import"./index-7rtq2t5n.js";
|
|
45
45
|
import"./index-fzpt2djt.js";
|
|
46
46
|
import"./index-ejhxgyvm.js";
|
|
47
47
|
import"./index-7g4c7s5r.js";
|
|
48
|
-
import"./index-
|
|
48
|
+
import"./index-yf2z4j7s.js";
|
|
49
49
|
import"./index-gx2vp8gx.js";
|
|
50
|
-
import"./index-
|
|
50
|
+
import"./index-c6hyd8hg.js";
|
|
51
51
|
import"./index-zxdawwc7.js";
|
|
52
|
-
import"./index-
|
|
53
|
-
import"./index-
|
|
52
|
+
import"./index-jn4mmhqc.js";
|
|
53
|
+
import"./index-hqrkr9ag.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-
|
|
18
|
-
import"./index-
|
|
17
|
+
} from "./index-479kf368.js";
|
|
18
|
+
import"./index-kphy4we7.js";
|
|
19
19
|
import"./index-2s7dvzff.js";
|
|
20
20
|
import"./index-fzpt2djt.js";
|
|
21
|
-
import"./index-
|
|
21
|
+
import"./index-yf2z4j7s.js";
|
|
22
22
|
import"./index-zxdawwc7.js";
|
|
23
|
-
import"./index-
|
|
23
|
+
import"./index-hqrkr9ag.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-
|
|
8
|
+
} from "./index-hy2fqapm.js";
|
|
9
9
|
import"./index-rtry5xyf.js";
|
|
10
10
|
import"./index-vzm6zre7.js";
|
|
11
|
-
import"./index-
|
|
12
|
-
import"./index-
|
|
13
|
-
import"./index-
|
|
11
|
+
import"./index-ry5g9s8d.js";
|
|
12
|
+
import"./index-4gmxdkcd.js";
|
|
13
|
+
import"./index-xmbtwtgw.js";
|
|
14
14
|
import"./index-t7hmqgjy.js";
|
|
15
|
-
import"./index-
|
|
15
|
+
import"./index-7rtq2t5n.js";
|
|
16
16
|
import"./index-fzpt2djt.js";
|
|
17
17
|
import"./index-ejhxgyvm.js";
|
|
18
18
|
import"./index-7g4c7s5r.js";
|
|
19
|
-
import"./index-
|
|
19
|
+
import"./index-yf2z4j7s.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-
|
|
9
|
-
import"./index-
|
|
10
|
-
import"./index-
|
|
11
|
-
import"./index-
|
|
8
|
+
} from "./index-863hst4e.js";
|
|
9
|
+
import"./index-peyz4k9k.js";
|
|
10
|
+
import"./index-z59414gv.js";
|
|
11
|
+
import"./index-kphy4we7.js";
|
|
12
12
|
import"./index-2s7dvzff.js";
|
|
13
13
|
import"./index-0725jpp7.js";
|
|
14
|
-
import"./index-
|
|
14
|
+
import"./index-app2rmxv.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-
|
|
21
|
-
import"./index-
|
|
20
|
+
import"./index-yf2z4j7s.js";
|
|
21
|
+
import"./index-c6hyd8hg.js";
|
|
22
22
|
import"./index-zxdawwc7.js";
|
|
23
|
-
import"./index-
|
|
24
|
-
import"./index-
|
|
23
|
+
import"./index-jn4mmhqc.js";
|
|
24
|
+
import"./index-hqrkr9ag.js";
|
|
25
25
|
import"./index-bk5tah7q.js";
|
|
26
26
|
import"./index-gknz3bv1.js";
|
|
27
27
|
import"./index-zpsr8rpc.js";
|