docs(adr): revert the ADR 009 clause 2 amendment; Derived placement is an implementation detail (improvise-felo.4)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
This commit is contained in:
committed by
Edward Langley
parent
1e73868498
commit
7564051bf5
@@ -51,12 +51,10 @@ formula, so there is no second query language.
|
||||
|
||||
### 2. The plug
|
||||
|
||||
The seam crate `improvise-incremental` holds a trait, `Derived`, for the two things the
|
||||
evaluator reads: the formula result at a key, and the raw fold of the cells that match a
|
||||
partial key. `Eager` lives beside it in that crate. The incremental backend implements
|
||||
`Derived` there too. `improvise-incremental` depends on improvise-core, and later on
|
||||
`zset`. improvise-core defines no `Derived` and never depends on `zset` or on
|
||||
`improvise-incremental`.
|
||||
improvise-core gains a trait, `Derived`, for the two things the evaluator reads: the
|
||||
formula result at a key, and the raw fold of the cells that match a partial key. The
|
||||
incremental backend implements it in a seam crate, `improvise-incremental`, which
|
||||
depends on `zset` and improvise-core. improvise-core never depends on `zset`.
|
||||
|
||||
A live source (ADR 003) that reports its changes feeds cell deltas like `DataStore`. A
|
||||
source that answers aggregate queries but reports no changes implements the derived-value
|
||||
@@ -65,7 +63,7 @@ operator directly, by query pushdown, with no change feed.
|
||||
The circuit decides *which* formula cells to re-evaluate. The one existing evaluator
|
||||
computes each value, so formulas are never compiled into operators.
|
||||
|
||||
**`Eager` is temporary.** Today's code is wrapped behind the trait as `Eager`, unchanged. It
|
||||
**`Eager` is temporary.** Today's code moves behind the trait as `Eager`, unchanged. It
|
||||
exists only to show discrepancies between the new evaluator and the old one: a
|
||||
differential property test applies one random edit sequence to both backends and
|
||||
compares every drawn cell, total and occupancy count. Eventually it is deleted, and
|
||||
|
||||
Reference in New Issue
Block a user