HydraCache 0.69.0
HydraCache 0.69.0
0.69 is primarily a conformance-evidence release. It adds no cache, lock, or wire-protocol feature,
but makes one DB correctness contract explicit: custom InvalidationOutbox implementations must
implement status_for_commit(namespace, commit_position) so receipt waits are commit-scoped rather
than namespace-wide.
Implemented evidence:
- source-pinned, exact-outcome Hazelcast IMap/FencedLock expectations adapted to the narrow Java
facade: 16 rows with per-row proof layers—13 passes, the documented non-reentrant and
session-binding divergences, and loud unsupported entry processing; the gated command also runs
that facade through the real Java HC/2 client and production daemon with two verified mTLS
identities, plus production lease-expiry and Java recovery/session-loss contracts; - exact upstream provenance validation that downloads every cited Hazelcast/Moka source file from
its pinned 40-character commit and proves that each manifest selector exists; - ten manifest-driven embedded-cache expectations derived from Moka, with complete row execution;
- live HC/1 consumers compiled from the shipped
v0.62.0,v0.62.1, andv0.63.0library commits
and run against the current daemon, plus the retained nine-row HC/2 compatibility prerequisite; - deterministic SQLite and PostgreSQL cached-vs-direct differentials backed by transactional
InvalidationOutboxenqueue, the real outbox worker, andInvalidationWait; the concurrent
SQLite writer is coordinated by logical commit position and retains exact post-quiescence
equality plus a dropped-invalidation canary; - commit-scoped invalidation waits, three seeded 12-writer SQLite/PostgreSQL schedules, a real
PostgreSQL dropped-invalidation sentinel, multi-language release-evidence selectors, and
digest-pinned/time-bounded CI with retained diagnostics; - fail-closed dead-letter handling: a receipt whose commit has dead-lettered invalidations returns
degraded and never satisfied, with in-memory, SQLite, and PostgreSQL regression coverage; - release-scoped manifests, canaries, fast/gated registries, CI lanes, and evidence ledger.
- versioned
READY_DAEMON_V1process-fixture receipts shared by Rust producer/consumer code and
asserted by current, retained, and external Java/Rust consumers; this closes the first PR-run
regression caused by a stale field count; - self-contained Maven-reactor W1 canaries and best-effort dead-transport session cleanup during
Java reconnect, plus ordered endpoint fallback when a stream closes before handshake, without
weakening permanent logical session loss or retrying authentication/policy failures; - fail-loud admission that parses downloaded per-lane status artifacts and requires consistent pass
outcomes for the exact release/head/base/tested SHA, plus an independent fast-evidence job,
checkout equality enforcement, and child-process isolation; - a self-contained fast-evidence toolchain (
cargo-nextest,cargo-deny, and verified full git
history) that preserves the canonical pre-Nextest history checkpoint; - self-contained receipt bundles whose JUnit and differential artifacts are restored at their
originaltarget/-relative paths and re-hashed by final admission, with full tag history retained
for the required publishedv0.68.0compatibility baseline; - digest-pinned PostgreSQL 16.4/18 happy-path evidence, a bounded 24-seed floor-version soak, and a
compiling downstream-style customInvalidationOutboxmigration fixture.
This draft becomes a shipped release note only after exact-candidate receipts satisfy
release-evidence --release 0.69 --require-ship.
The CI admission job consumes exact-candidate workspace, SQLx, Java, HC/1, PostgreSQL, and dynamic
canary receipts. A raw green job or a receipt from another commit is rejected.