Research note
What a 10,000-person family-tree test can—and cannot—prove
How Kinonicle uses generated records to catch structural regressions while keeping performance claims within the evidence.
Why use a generated family
Testing scale with a real family archive would be both unnecessary and wrong. Kinonicle generates names and relationships solely for the rehearsal, so the test can be repeated without reading production data or turning a private record into a benchmark.
The broad fixture contains 10,000 people connected by 9,999 relationship links. A separate deliberately extreme fixture creates a 5,000-generation lineage to expose recursive code that could overflow the call stack.
What the gate catches
The automated gate parses the generated GEDCOM, validates its structure and traverses the deep lineage. Each case must finish inside a generous five-second continuous-integration budget.
That makes the rehearsal useful for catching severe parser slowdowns, dangling relationships and unsafe recursive traversal before release. Because the fixture and threshold are recorded in the codebase, the result is reproducible rather than anecdotal.
What it does not prove
A parser test is not a complete user-experience benchmark. It does not measure first interaction, search response, browser memory, panning, zooming or branch expansion on a particular phone or desktop. It does not establish an unlimited capacity claim.
Those questions require a production rendering rehearsal across representative devices. Until that evidence exists, Kinonicle describes the current result as a structural regression guardrail.
The product decision behind the number
Large family trees should not be treated as enormous posters. The complete private graph can remain available while the interface centres one familiar person, reveals a useful branch and explains the path between two people.
The 10,000-person fixture protects the underlying record machinery. Focused navigation makes that machinery useful to a person. Both matter, but they are different claims and should be tested separately.