docs(adr): ADR-026 cross-references findAc3Candidates() predicate (#361)

Names the JavaScript function next to the AC3 SQL probe so a future reader
of ADR-026 has a concrete code anchor for the testable predicate (Markus
cycle-3 cosmetic). The SQL remains the source-of-truth probe against live
data; the function is the capture-time + fixture-time signal.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-28 21:15:40 +02:00
parent 585f28cd23
commit 2097dddf3a

View File

@@ -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()`