Repository navigation
deps: claude-agent-sdk 0.2.179 and the pytest-asyncio floors (Dependabot #45 #46 #47), and the investigator's guards fail closed - #49
Merged
Conversation
…test-asyncio floors at 1.4.1.post1 — Dependabot #45 #46 #47 relocked The bot raised three floors to what the locks already held. Floors take the newest: the investigator's SDK moves from 0.2.176 to 0.2.179, which bundles CLI 2.1.319 (0.2.177 added on_failure for hook matchers; the rest are CLI updates). pytest-asyncio has no release past 1.4.1.post1, so the pipe's and the judge's locks do not move. Each version has its upstream tag; nothing transitive moved. Read back from this change's image with a recording stand-in model: the engine runs the bundled 2.1.319, a scripted turn completes, a protected write is refused, prompts stay verbatim, and exactly the fourteen tools of the closed list are offered, none deferred.
…no decision The SDK this relock brings (0.2.177+) lets a hook matcher say what a failing callback means. The bash, input and MCP guards now say "block": a guard that raises, or answers in a shape the CLI rejects, makes the CLI refuse the call, where it used to count as no decision and the call ran — the gate fell open exactly when it was broken. The telemetry and audit hooks decide nothing and keep the default. The SDK refuses to connect to a CLI that would not honour the option, so this cannot revert in silence. A test pins the option on exactly the three guards, a guard mutation turns it back to "continue", the containment row and the README say so, and a decision note records what was and was not exercised.
This was referenced Nov 9, 2026
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.
Dependabot's #45, #46 and #47 raised three floors to the versions the locks already held: claude-agent-sdk to 0.2.176 for the investigator, pytest-asyncio to 1.4.1.post1 for the pipe and the judge. Relocked here as one change, floors taken to the newest, with a second commit for an option the newer SDK brings.
Versions.
Each version has its upstream tag. Nothing transitive moved. The SDK's changes since 0.2.176 are three bundled-CLI updates and one option:
on_failureon hook matchers (0.2.177).Read back from this branch's image with a recording stand-in model: the engine runs the bundled 2.1.319; a scripted turn completes; a write into
results/is refused by the input guard and no file appears; an@pathin the message does not reach the model and/costarrives as text; the tools offered are exactly the fourteen of the closed list, none deferred.The guards fail closed. With the default, a guard callback that raised or answered in a shape the CLI rejects counted as "no decision", and the call ran. The bash, input and MCP guards are now registered with
on_failure="block", so such a failure refuses the call. The telemetry hook on the same event and the hooks on other events decide nothing and keep the default. The SDK refuses to connect to a CLI that does not honour the option, so the boundary cannot revert in silence; the bundled CLI honours it, as the readback above shows. A test pins the option on exactly the three guards and a guard mutation that turns it back is caught. Not exercised: a guard made to raise on purpose, end to end; the decision note says so.Nothing is deployed. The investigator image changes at the next release.
Supersedes #45, #46 and #47.
Gate: STACK GATE GREEN locally; CI read back before merging.