> **See also:** [ROADMAP.md](../ROADMAP.md)

## v1.8.0 — Distributed Delta Computation & Kubernetes-Native Deployment

> **Release Theme**
> For the deployments that have outgrown a single worker process, distribute
> delta computation across workers and make the resulting topology
> operable on Kubernetes.
>
> Builds directly on v1.7.0. Like that release, everything here is optional
> infrastructure: pg_trickle on a laptop remains a single extension with no
> additional moving parts.

### Distributed delta computation

| Item | Description | Ref |
|------|-------------|-----|
| DD-1 | **Partitioned delta computation.** Split a stream table's delta by source key ranges and compute each range on a different worker, merging the partial deltas before MERGE. Requires a partitionable key and an OpTree whose operators are provably decomposable over that key; falls back to single-worker computation otherwise, with a reason code. | LT-3 |
| DD-2 | **Read-replica execution.** Run delta computation against a streaming replica and apply only the resulting MERGE to the primary, moving read-heavy delta SQL off the primary entirely. Correctness rests on comparing the replica's replay LSN against the stream table frontier and refusing to compute ahead of it. | LT-4 |
| DD-3 | **Worker affinity and data locality.** Schedule partition-aligned work to the worker that already holds the relevant change buffer pages or replica connection, so distribution does not turn into a shuffle. | — |
| DD-4 | **External change log backend.** Support Kafka, NATS JetStream or local WAL files as the intermediate transport between capture and compute, instead of change buffer tables — the durable substrate that makes multi-worker and cross-host topologies practical. | LT-2 |

### Kubernetes-native deployment

| Item | Description | Ref |
|------|-------------|-----|
| K8-1 | **`StreamTableCluster` CRD and operator.** A Kubernetes operator that manages worker `Deployment`s, the CDC consumer `StatefulSet`, and their configuration from a single declarative resource. | LT-1 |
| K8-2 | **Autoscaling on the right signal.** A metrics adapter exposing CDC lag and freshness-SLA headroom as Kubernetes custom metrics, so HPA scales workers on the thing users actually care about rather than CPU. | LT-1 |
| K8-3 | **Exactly-once CDC delivery in the StatefulSet.** Consumer identity, slot ownership and restart semantics defined so that rescheduling a pod never duplicates or drops changes. | LT-2 |
| K8-4 | **Operational surface.** Readiness/liveness semantics, rolling upgrades of workers without a freshness gap, and a documented failure matrix (pod evicted, node lost, network partition, PostgreSQL failover). | — |

**Exit criteria:**
- [ ] Partitioned computation produces results identical to single-worker
      computation under the DVM delta-invariant validator
- [ ] Read-replica execution never computes ahead of the replica's replay LSN;
      proven by an injected-lag test
- [ ] Operator manages the full topology from one CRD; chaos tests cover the
      documented failure matrix
- [ ] HPA scales on freshness headroom in a demonstrated load test
- [ ] Single-node deployments remain unaffected and require none of this
