# v0.39.0 — Operational Truthfulness & Distributed Hardening

> **Full technical details:** [v0.39.0.md-full.md](v0.39.0.md-full.md)

**Status: Planned** | **Scope: Large**

> Fix the operational lies in the current tree (backpressure, wake, docs) and
> prove distributed behavior under chaos: backpressure hysteresis, wake
> truthfulness, generated configuration, explicit CDC hold semantics, Citus
> chaos coverage, upgrade docs through v0.37, SQLSTATE-first retry logic,
> generated SQL/explain artifacts, and deep diagnostic depth.

---

## What is this?

v0.38.0 closes EC-01 and proves join correctness. v0.39.0 makes the operational
and distributed story honest. It fixes misleading docs and partially-wired
features (`event_driven_wake`, `enforce_backpressure`), proves behavior under
failure injection and scale, and adds the diagnostics needed to explain why
DIFFERENTIAL refresh succeeds, falls back, or collapses instead of leaving
maintainers to debug those cases manually after merge.

---

## Distributed correctness and safe operator controls

The biggest unresolved distributed risk after v0.38.0 is still Citus: the code
has coordinator and worker logic, but the assessment found no real chaos rig.
v0.39.0 adds a coordinator-plus-workers topology, exercises lease acquisition,
worker kill and restart, coordinator restarts, rebalance churn, and stale slot
cleanup, and treats that coverage as a release gate rather than a best-effort
nice-to-have.

This release also replaces the ambiguous single pause knob with explicit,
operator-visible semantics: one mode that captures changes and holds refreshes,
and a separate discard-and-reinitialize mode for emergency use only. The same
milestone broadens inbox/outbox reliability coverage from helper tests to the
actual delivery contract: envelopes, dedup keys, leases, offsets, replay, and
NULL payload edge cases.

---

## Diagnostic depth for TPC-H and generated SQL

The assessment showed that TPC-H scaling problems are still hard to diagnose
from current CI artifacts. v0.39.0 adds generated-SQL artifact export, a richer
`explain_stream_table()` visualizer for DIFF vs FULL reasoning, per-query
`EXPLAIN (ANALYZE, BUFFERS)` artifacts for collapse-prone queries, and a
measured p99/temp-spill regression gate instead of coarse aggregate timings.

To catch silent regressions earlier, the release also adds a SQLancer light PR
mode and fuzz targets for WAL decoding, merge SQL generation, DAG mutations,
and snapshot column-list generation. The goal is simple: make failures cheaper
to catch and much easier to explain.

---

## Also in v0.39.0

- PR-scoped upgrade E2E slice for SQL-facing changes instead of waiting for
  daily/manual upgrade jobs
- Structured benchmark artifacts for Q04/Q05/Q07/Q08/Q09/Q20/Q22 and similar
  collapse-prone workloads

---

## Scope

v0.39.0 is a large release because it combines new distributed test
infrastructure, control-plane semantics, CI gates, and artifact-heavy
diagnostics. This is still hardening work, not feature sprawl: it is the
minimum foundation needed before the roadmap resumes the deferred embedding
programme in v0.41.0.

> **Release-order note:** The old sparse-vector and hybrid-search v0.39.0 plan
> is not dropped. It moves to v0.42.0 after distributed proof and diagnostics
> are in place.

---

*Previous: [v0.38.0 — Correctness Closeout & Operational Truthfulness](v0.38.0.md)*
*Next: [v0.40.0 — Operator Trust, Maintainability & Release Confidence](v0.40.0.md)*
