Release 0.5.0 - #195
Merged
Merged
Release 0.5.0#195
Conversation
Version 0.4.0 → 0.5.0, a fresh empty unreleased section, and the sandbox battery stamped with the run that gates this release. 0.5.0 is a minor rather than a patch for two reasons. #182 removed `explorer_max_turns`/`synth_max_turns` as tool arguments and CLI flags, which is a caller-facing break. And the read boundary changed four times: three worktree-follow escapes closed in #184, then #191 requiring git's own shape after a kaibo deliberation argued that mutual agreement between two files is not provenance. The changelog section was shortened before retitling, per the rule that entries get shorter over time — 70 lines to 52, no bullet lost. Four bullets that each narrowed the same worktree rule now say what they narrow in one line apiece. The battery ran because two triggers fired: `kaish-vfs` moved with the 0.17.2 bump, and #191 changed containment itself. Full A–H, all clear. It also closed the F3 this runbook has been asking for since 2026-08-13 — `write_cas` refuses a source outside the allowed set, with the positive control run so the refusal is not vacuous, while the CLI `cas write` does not, because the CLI caller is the operator. Two message drifts recorded, neither a hole. And the probe caught itself once more: the Battery H fixture put the state db inside its own `--root`, so three batteries' worth of correct refusals read like a broken store until the fixture was fixed. Other gates: `cargo tree -i` absent for aws-lc-rs, aws-lc-sys, mimalloc and openssl-sys with a printing negative control; the musl binary is `statically linked` / `not a dynamic executable` and runs; suite 1363/0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Version
0.4.0→0.5.0, a fresh empty unreleased section, anddocs/sandbox-probes.mdstamped with the run that gates this release.Minor, not patch, for two reasons. #182 removed
explorer_max_turns/synth_max_turnsas tool arguments and CLI flags — a caller-facing break. And the read boundary changed four times: three worktree-follow escapes closed in #184, then #191 requiring git's own shape after a kaibo deliberation argued that mutual agreement between two files is not provenance.The changelog section was shortened before retitling, per the rule that entries get shorter over time — 70 lines to 52, no bullet dropped. The four bullets that each narrowed the same worktree rule now say what they narrow in one line apiece.
Gates
cargo tree -iaws-lc-rs / aws-lc-sys / mimalloc / openssl-syskaish-kernel v0.17.2statically linked,not a dynamic executable, runsThe battery
Run because two triggers fired at once:
kaish-vfsmoved with the 0.17.2 bump (#187), and #191 changed containment itself.Highlights worth reading rather than trusting: every out-of-root read came back
not foundincluding~/.deepseek-key, which holds a real key this session — absence would have passed vacuously, so the file existing is what makes the result mean anything. The prefix listing was counted:ls /home/atobeyreturns 1 entry where the host holds 74. Battery D's..row canonicalizes to/etcand is refused by containment with the message naming the allowed set, not by a resolution failure. G3's three refusals stay byte-identical across exists / missing / unreadable, so a hostile repo gets no existence oracle.The F3 this runbook has asked for since 2026-08-13 is now covered, and it split in two.
write_cas— the model-reachable deposit — refuses a source outside the allowed set, with the positive control run so the refusal is not vacuous. The CLIkaibo cas writedoes not refuse an outside source, and that is correct rather than a finding: the CLI caller is the operator, who can already read the file. H1's note reads as though one rule covers both surfaces; it covers the tool.The probe caught itself again, which is what §0 exists for. The Battery H fixture put
--state-dbinside the tree it passed as--root, so E1 fired, persistence went off, the CAS fell back to memory andcas writerefused — three batteries' worth of correct behavior reading, at a glance, like a broken store.Two message drifts recorded, neither a hole:
kill 1now answerssignalling a PID requires the subprocess capability, andgrepfollowing an escaping symlink refuses with exit 1 and no stderr line, where every other verb in G2 names the reason — worth knowing before someone reads that silence as success.After merge
Tag
v0.5.0to fire the release matrix, then verify a downloaded asset the way a user would (gh attestation verify,cosign verify-blob) and runscripts/bump-tap.sh v0.5.0.🤖 Generated with Claude Code