From b864abb125533ae5e5e791fe9e018c160525bf5f Mon Sep 17 00:00:00 2001 From: "Claude (adr009-clean)" Date: Sat, 10 Oct 2026 11:21:55 -0700 Subject: [PATCH] docs(adr): revert the ADR 009 amendment; overflow policy is an implementation detail (improvise-felo.4) Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze --- context/adr/009-incremental-evaluation.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/context/adr/009-incremental-evaluation.md b/context/adr/009-incremental-evaluation.md index f0506249..68135713 100644 --- a/context/adr/009-incremental-evaluation.md +++ b/context/adr/009-incremental-evaluation.md @@ -1,6 +1,6 @@ # ADR 009 — Incremental evaluation: an in-house DBSP core, plugged in behind a trait -**Status:** accepted. · +**Status:** proposed. · **Ticket:** improvise-felo.4 (the record of this ADR; implementation goes to its own epic) · **Relates to:** ADR 001 (the basis a write claims), ADR 002 (surrogates on the wire), @@ -29,11 +29,7 @@ mutation, it says so and names the incremental path that normally applies. A problem-agnostic workspace crate with no dependencies beyond `std` (so it is wasm32-clean and serde-free). It provides: -- `ZSet`, a map from `K: Ord` to a non-zero `i64` weight. Weight arithmetic is checked - and panics on overflow, in debug and in release. The group laws are exact wherever no - weight, intermediate ones included, leaves `i64`, so the structure is an abelian group - that is partial at the `i64` boundary. Weights are validated where deltas enter from - the wire (clause 9), so a hostile frame is rejected and never reaches the panic; +- `ZSet`, a map from `K: Ord` to a non-zero `i64` weight, which is an abelian group; - a synchronous, single-threaded `Circuit` per process, with `delay`, `integrate`, `differentiate`, `map`, `filter`, `flat_map`, `index_by`, the bilinear delta join `join_indexed`, `distinct` and `aggregate`;