Skip to content

release: v0.30.5 — supervisor in-flight tool_use/tool_result ordering fix (#621) - #623

Merged
HenryLach merged 2 commits into
mainfrom
release/v0.30.5
Aug 27, 2026
Merged

HenryLach merged 2 commits into
mainfrom
release/v0.30.5

Conversation

@HenryLach

Copy link
Copy Markdown
Owner

Patch release wrapping the #621 fix (already merged to main via #622).

Patch justification (semver)

Bug fix only, no breaking changes or new public API. One bounded behavior note (auto-integration may start at the next agent_settled boundary rather than instantly when the agent is mid-turn at batch completion). Patch bump (0.30.4 → 0.30.5) is correct.

Issue included

# Title Severity
#621 Supervisor pi.sendMessage status injection during in-flight tool call orphans tool_result → Anthropic 400 wedges interactive session P1 / high

Highlights

A mistimed batch-transition banner injected between an assistant tool_use and its pending tool_result produced an Anthropic 400 that permanently wedged the interactive session (every retry re-sent the broken ordering; recovery needed manual .jsonl surgery). Fixed with a two-layer defense:

  1. PreventionSupervisorNoticeGate defers the batch-end epilogue past in-flight tool calls to the next agent_settled boundary, with a batch-generation tag so /orch and /orch-resume both supersede stale deferred work.
  2. Defense-in-depth — a context event handler reorders every outgoing request so each tool_use is immediately followed by its tool_result(s), covering the other background send sites. Per-request only; the persisted tree is untouched.

Both a Sage strategy review and a Sage code review were done; all findings remediated (the /orch-resume supersession gap, repair-algorithm hardening against data loss + result-before-assistant, and a shared helper to prevent future drift). Sage verdict: no blocking issues, confidence ~0.9.

Validation (on the merged fix commit)

Gate Result
npm run typecheck ✅ pass
npm run lint ✅ 286 warnings / 671 infos (baseline)
npm run format:check ✅ clean
full test suite ✅ 3747 pass / 0 fail / 1 skip (+24 new #621 tests)
taskplane help / doctor ✅ pass
npm pack --dry-run ✅ 79 files

After merge

I'll push the v0.30.5 tag from local; .github/workflows/release.yml handles tag validation, test re-run, npm publish --provenance (Trusted Publishing), and the GitHub release from CHANGELOG notes.

Rename [Unreleased] -> [0.30.5] - 2026-08-27 (the #621 in-flight
tool_use/tool_result ordering fix) and insert a fresh empty
[Unreleased] placeholder.
@HenryLach
HenryLach enabled auto-merge August 27, 2026 12:07
@HenryLach
HenryLach merged commit 6a883b7 into main Aug 27, 2026
1 check passed
@HenryLach
HenryLach deleted the release/v0.30.5 branch August 27, 2026 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant