diff --git a/docs/adr/026-stammbaum-layout-in-house.md b/docs/adr/026-stammbaum-layout-in-house.md index c0e65724..71417919 100644 --- a/docs/adr/026-stammbaum-layout-in-house.md +++ b/docs/adr/026-stammbaum-layout-in-house.md @@ -107,6 +107,16 @@ threshold, so `packBlocks.ts` is **not** yet warranted. AND parent.generation IS NOT NULL ); ``` + + The same predicate is encoded as a unit-testable JavaScript function — see + `findAc3Candidates()` in + `frontend/src/lib/person/genealogy/__fixtures__/findAc3Candidates.mjs`, + asserted against the committed canonical fixture by + `validateFixture.test.ts`, and emitted as a stderr soft-warn by + `frontend/scripts/capture-network-fixture.mjs` on every recapture. The SQL + is the source-of-truth probe against live data; the function is the + capture-time and fixture-time signal that the predicate's count crossed + zero. - **AC6 — Bundle-impact gate (≤ 40 kB gzipped on `/stammbaum`).** Moot under this ADR; reactivates only under ADR-027 (dagre adoption). - **AC7 — Visual regression at 320 / 768 / 1440.** `toHaveScreenshot()`