docs(adr): ADR 009 aligns its ADR 007 statements with the accepted amendment (improvise-felo.4)

CellKey's order is the natural id order, a store reorder reassigns Seq,
CellKey pairs are (CategoryId, ItemHandle), and display suffixes are
computed by the client.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
This commit is contained in:
Claude (adr9-steward)
2026-10-09 13:34:45 -07:00
committed by Edward Langley
parent 491266f2e8
commit 1a7d2fbf85
+10 -4
View File
@@ -61,14 +61,18 @@ is removed once its remaining uses are replaced (open question 3).
`Seq` is a per-cell sequence assigned at insertion, in `IndexMap` order, and kept by an `Seq` is a per-cell sequence assigned at insertion, in `IndexMap` order, and kept by an
overwrite. Value identity is bit identity (`f64::to_bits`), so an equal-value overwrite overwrite. Value identity is bit identity (`f64::to_bits`), so an equal-value overwrite
consolidates to nothing. `CellKey` gains `Ord`. The circuit steps once per model effect. consolidates to nothing. `CellKey` gains `Ord`, which is its canonical order: the
natural order of ids (ADR 007 amendment 1, clause 4). A store reorder, such as entering
records mode, reassigns `Seq` and rebuilds clause 5's per-record stage. The circuit steps
once per model effect.
The record tier and the dirty flag read this delta instead of scanning the store. The The record tier and the dirty flag read this delta instead of scanning the store. The
dirty flag fires on a non-empty `(key, value)` delta, or when a fingerprint of the dirty flag fires on a non-empty `(key, value)` delta, or when a fingerprint of the
formula set moves, because formula edits move no cell. formula set moves, because formula edits move no cell.
Under ADR 007, `CellKey` becomes id-based. A rename then emits no delta. The Under ADR 007 and its amendment, `CellKey` pairs are `(CategoryId, ItemHandle)`. So a
formula-set fingerprint must use the id form too, or a rename reads as a formula change. rename is a display write and emits no delta. The formula-set fingerprint must use the id
form too, or a rename reads as a formula change.
### 4. Aggregates ### 4. Aggregates
@@ -200,7 +204,9 @@ doubling jumps (about 14 to 28 probes at density 10⁻⁴).
client, addressed to none. It carries: client, addressed to none. It carries:
- the stamp `(host instance, document_generation, publication)`. The publication number - the stamp `(host instance, document_generation, publication)`. The publication number
increments once per published batch, and the host instance changes on restart; increments once per published batch, and the host instance changes on restart;
- axis changes, display relabels, and a flag when the formula set or `measure_agg` moved; - axis changes, display relabels as `(id, display)`, and a flag when the formula set or
`measure_agg` moved. A shared display's ` #2` suffix is never sent: the client computes
it from the displays in scope;
- the shape keys evicted since the last notice; - the shape keys evicted since the last notice;
- for each live shape key, the moved output keys (cells, formula cells and totals), as - for each live shape key, the moved output keys (cells, formula cells and totals), as
the circuit computes them. Moved records alone would miss formulas with cross-stem the circuit computes them. Moved records alone would miss formulas with cross-stem