chore(release): 0.119.0 - #696
Merged
Merged
Conversation
0.118.0 bumped package.json on main but was never tagged, so the pi executor deletion (fee8898) never reached the registry — the published latest is still 0.117.0, which ships piExecutor. Main has since taken a second BREAKING change (#691, the LocalHarness 'claude' -> 'claude-code' rename) that sat under an "Unreleased" changelog heading with no version covering it. Publishing main as 0.118.0 would ship that rename under a number whose changelog does not mention it, so this cuts 0.119.0 instead: the Unreleased section becomes 0.119.0, and the 0.118.0 section records that it never published and that its contents ship here. The registry goes 0.117.0 -> 0.119.0. Version-embedded artifacts regenerated with release:prepare, so the fixture, primitive-catalog, and canonical-api gates stay green.
…tionale #691 renamed LocalHarness 'claude' to 'claude-code' but left this bench assertion expecting the old spelling, so `pnpm run verify:bench` has failed on every commit since ad57c08 — 72913a1 was the last green one. This blocks the release, not just CI: publish.yml runs the same `pnpm run verify:bench` in its verify job before packing, so a tag would fail the gate and never publish. Only the harness NAME moves. The bare 'claude' in quant-loop.mts and swe-code-improve.mts is the EXECUTABLE name, which the rename deliberately kept, so both are left alone.
tangletools
approved these changes
Aug 1, 2026
tangletools
left a comment
Contributor
There was a problem hiding this comment.
✅ Auto-approved drewstone PR — e7cf997e
This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.
tangletools · auto-approval · reason: drewstone_author · 2026-08-01T22:28:21Z
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why this exists
The published
latestis 0.117.0, which still shipspiExecutor. The deletion (fee88987, "drop the bespoke pi executor for the generic bridge path") has been onmainsince 2026-08-01 and bumpedpackage.jsonto 0.118.0 — but no tag was ever cut, so 0.118.0 does not exist on the registry (npm viewversions end at 0.117.0). Downstream cannot consume the deletion until a release publishes:loopsstill pins 0.111.0 and has asrc/pi-worker.ts,supervisor-labpins 0.116.0.Why 0.119.0 and not 0.118.0
mainhas taken a second BREAKING change since that bump: #691 (ad57c084), theLocalHarness'claude'->'claude-code'rename that also deletedmaterializerHarness(). It landed its changelog under## Unreleasedwithout bumping the version, so no version number covers it.Tagging
v0.118.0at main's tip would publish that rename under a heading whose changelog does not mention it. This assigns it 0.119.0 instead:## Unreleased->## 0.119.0## 0.118.0keeps its section and gains one line recording that it never published and that its contents ship in 0.119.0.The registry goes 0.117.0 -> 0.119.0. Consumers upgrading from 0.117.0 read both sections; both are BREAKING, which matches this repo's 0.x convention of a minor bump per breaking release (0.117.0 -> 0.118.0 was itself BREAKING).
Independently,
pnpm run release:prepare 0.119.0refuses0.118.0outright —package.json is already 0.118.0— so the repo's own tooling rules that number out.The second commit fixes a real publish blocker
agent-benchhas failed CI on every commit sincead57c084(72913a17was the last green one). One stale assertion inbench/src/swe-arena/proposer-fanout.test.mts:393still expected'proposer alpha (claude)'while the rename now producesclaude-code.This is not merely a red check.
publish.yml's verify job runs the samepnpm run verify:benchbefore packing, so taggingv0.119.0would fail the gate and never publish. The release is not shippable without this fix.Only the harness NAME moves. The bare
'claude'inquant-loop.mtsandswe-code-improve.mtsis the EXECUTABLE name, which the rename deliberately kept — both left alone.Verification
pnpm run typecheck(src + examples)pnpm run testpnpm run verify:package(publint + attw + exports + edge loop)check:testing-fixture/check:skills/check:publish-workflow/docs:freshnesstypecheck:publicproposer-fanout+proc49/49 passedmerge-treevsorigin/mainpublintreports "All good!";attwis green onnode16 (from ESM)andbundleracross all 18 subpaths (node10/node16-cjsignored per the repo's existing resolution config).The one runtime-suite failure,
tests/knowledge-improvement-job.test.ts > applies and restores only frozen candidate bytes, is a 15s-timeout flake under parallel load in a worktree-spawning test — 3/3 pass on isolated re-run. It occurs on unmodifiedorigin/main(baseline measured before any edit), so it is pre-existing.Packed artifact (
pnpm pack, exactly aspublish.ymlbuilds it)@tangle-network/agent-runtime@0.119.0— 147 files, 2.1 MB packed / 8.0 MB unpackeddist/(141),skills/(4),README.md,package.jsonpi-executorfile and nopiExecutorsymbol anywhere in the tarball. For contrast, the published 0.117.0 tarball carriespiExecutorin 5 files (dist/kernel.js,dist/kernel.d.ts,dist/index-*.d.ts,dist/supervise-*.js,.js.map).catalog:specifiers resolve in the packed manifest:agent-knowledge@7.0.3,agent-profile-materialize@0.9.4,tar-stream@3.2.0; peersagent-eval >=0.139.2 <0.140.0,agent-interface >=0.40.0 <0.41.0,sandbox >=0.15.0 <0.16.0,playwright ^1.40.0.Apart from the bench test, only version-embedded artifacts changed — no runtime source changes, so
dist/differs from 0.118.0 solely by the version string.Cohort pins
agent-interface>=0.40.0 <0.41.0agent-knowledge7.0.3(dep)agent-profile-materialize0.9.4(dep)sandbox>=0.15.0 <0.16.0agent-eval>=0.139.2 <0.140.0The pins are internally consistent — catalog, peer floor, and the exact cohort SHA
publish.ymlchecks out all say 0.139.2 — andcheck:publish-workflowpasses, so this is not the inconsistency class that failed the 0.110.0 attempt.agent-eval0.140.0/0.140.1 published 2026-07-31T21:43/22:03Z, ~15h after the pinned 0.139.2. Moving to it is a coordinated three-place change (catalog, peer range, and the pinnedv0.139.2SHA inpublish.yml) across a 0.x minor whose 0.140.0 notes add a requiredcontrolAdapterkey to the DSPy bridge, so it is deliberately not bundled into a release commit.Worth a prompt follow-up: agent-eval 0.140.1 specifically fixes reading the supervisor journal this package writes (
src/durable/spawn-journal.ts's{kind:'event', root, event}envelope madeparseSupervisorTreereport zero spawns). Our peer range currently excludes that fix.To publish after merge
publish.ymlrejects a tag that is not the tip ofmain, packs withpnpm pack, and publishes the digest-locked tarball via npm trusted publishing with provenance. Do not hand-publish withnpm publishfrom a working tree: npm does not resolve pnpm'scatalog:protocol and would ship unresolved specifiers.