Skip to content

v0.1.25.57 — Redis recovery and rolling-upgrade matrices

Choose a tag to compare

@amavashev amavashev released this 14 Jul 19:32
ad1a6b7

Redis recovery and rolling-upgrade matrices

This test/documentation-only release makes Redis lost-response recovery and supported rolling-upgrade storage compatibility executable in CI, without changing production behavior.

Recovery coverage

  • Adds deterministic lost-response tests for reserve, commit, release, direct event, dry-run, and decide.
  • Retries every discarded successful response and asserts byte-identical bodies plus exactly-once ledger, evidence, runtime-event, reservation, event, and TTL-index side effects.
  • Uses a FIFO executor barrier for deterministic asynchronous event draining rather than timing sleeps.

Upgrade compatibility

  • Adds frozen legacy Redis fixtures for lifecycle fast-body rows, pre-snapshot rows, pre-v0.1.25.52 event storage, the pre-v0.1.25.51 dry-run namespace, and reservations created before the optional created-at index.
  • Pins replay, mismatch, snapshot-backfill, no-second-debit, and index-backfill behavior against the current reader.
  • Strengthens fixtures so storage-field drift cannot make compatibility tests pass vacuously.

Compatibility and validation

  • No production source, protocol wire shape, Redis layout, or foreground command path changed.
  • Production and full-stack Compose files pin ghcr.io/runcycles/cycles-server:0.1.25.57.
  • 1,206 tests passed: 31 model, 575 data, 600 API; zero failures, errors, or skips.
  • Protocol operation coverage 11/11.
  • JaCoCo line coverage: data 95.14%, API 95.56%.
  • All merge CI, integration, CodeQL, container, and supply-chain checks passed.
  • [benchmark-skip]: this release changes tests and documentation only.

Full details: CHANGELOG.md [0.1.25.57], AUDIT.md, BENCHMARKS.md, issue #247, and PR #248.