You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Release 0.4.0: liveness-gated updates, self-recovery and a contract the fake answers to
Cuts the accumulated Unreleased section as 0.4.0 and brings the version in
build.gradle.kts back to reality: it had read 1.0.0 since the rewrite while the
tags went v0.2.0/v0.3.0, which was TODO #6 — now resolved by picking reality
over the placeholder.
Also records what the last three commits changed but did not document:
- the DockerClient contract both implementations answer to, and the randomized
parse/dechunk properties, in CHANGELOG "Added";
- the three chunk headers that got past the truncation guard (a signed "-1"
reaching a byte-range copy, "-0" read as a terminator, and pos+size
overflowing the bounds check into its own opposite), in CHANGELOG "Fixed";
- DockerApiContractTest in E2E_TESTING.md, including why it is the one test in
the suite that does not run by default;
- the contract as an enforced invariant in CLAUDE.md, so that behaviour the
fake grows lands in the contract rather than in the fake alone.
TODO gains the gap this leaves: the daemon half of the contract runs nowhere in
CI, because DockerApi is unix-socket-only and the suite's DinD is TCP-only.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
0 commit comments