Skip to content

packed-cohort is red on main: sandbox 0.19.3 needs a harness enum agent-eval's pinned interface does not have #746

Description

@drewstone

What is broken

packed-cohort fails on every PR, including ones that touch nothing related. Reproduced on fix/supervise-root-driver-retry (run 31304816006); main's last green CI was 2026-08-06, before the triggering release.

Error: BACKEND_TYPE declares runners the canonical harness enum does not define: prime.
Reconcile them into @tangle-network/agent-interface.
  at @tangle-network/sandbox@0.19.3/dist/runtime-api-BQii48NT.js:49

The chain, each link verified

link fact evidence
1 @tangle-network/sandbox@0.19.3 declares PRIME: "prime" in BACKEND_TYPE and binds that table to harnessTypeSchema at import time, throwing when the canonical enum lacks it npm pack @tangle-network/sandbox@0.19.3, dist/runtime-api-BQii48NT.js:13-49
2 prime was added to the canonical enum in agent-sdk d8020a5 (2026-08-06) and ships in @tangle-network/agent-interface@0.45.0 npm pack @tangle-network/agent-interface@0.45.0, dist/harness.js:10
3 @tangle-network/agent-eval@0.144.4 — the latest published — depends on @tangle-network/agent-interface@0.43.1 as an exact pin, not a range npm view @tangle-network/agent-eval@latest dependencies
4 this repo peers agent-interface >=0.43.1 <0.44.0 and sandbox >=0.19.1 <0.20.0, so the cohort installer is free to take sandbox 0.19.3 beside interface 0.43.1 package.json peerDependencies

So the published cohort has no consistent solution: sandbox 0.19.3 requires interface >= 0.44, and the newest agent-eval forbids anything but 0.43.1.

Confirmed by bumping this repo's catalog to interface 0.45.0 / sandbox 0.19.3 locally: tsc then reports 19 errors, and every one is the duplicate-package shape (Two different types with this name exist) — agent-eval drags 0.43.1 in beside it. It is not an API migration; it is two copies of the enum.

The fix, in order

  1. Republish @tangle-network/agent-eval against @tangle-network/agent-interface@0.45.0 (the pin is exact, so no consumer can resolve past it).
  2. Bump this repo's catalog + peer ranges to interface >=0.45.0 <0.46.0 and sandbox >=0.19.3 <0.20.0.
  3. packed-cohort goes green without any source change here.

Until step 1 lands, the honest alternative is to narrow this repo's sandbox peer to <0.19.3 — refusing a release that is genuinely incompatible with the rest of the cohort, rather than admitting it and failing at import.

Why it matters now

The check is a merge gate, so every PR in this repo currently carries one red check for a reason unrelated to its own diff — which is exactly how a real failure gets waved through later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions