docs: ADR-0048 — seed fake-data generation command (SD1/SD2, A1)

Dedicated `seed` command: realistic, name-aware fake data via the
`fake` crate + a type-gated heuristic catalogue, table-context name
disambiguation, a hand-rolled product generator, bounded dates, an
identifier-uniqueness rule, a quoted `set` override clause (value /
list / generator / range), `--seed` reproducibility, FK sampling
(empty-parent error, junction distinct combinations), CHECK
derive-or-friendly-fail, undo as one batch step, replay as a
data-write, capped auto-show, and an enum/CHECK advisory.

Design settled across an extended user fork dialogue, then hardened
by a /runda DA pass that found six blockers (undo, replay, set
quoting, CHECK handling, advisory phasing, auto-show flood) — all
folded in, genuine forks re-escalated and user-resolved.

Takes up SD2 ([~]->[ ]); SD1 implementation in progress.
This commit is contained in:
claude@clouddev1
2026-06-11 13:48:19 +00:00
parent 4d0ae776cc
commit 0af7f56821
3 changed files with 613 additions and 2 deletions
+11 -2
View File
@@ -668,8 +668,17 @@ since ADR-0027.)
- [ ] **SD1** `seed <table> [count]` generates plausible fake
data; junction tables are seeded with valid foreign-key
references drawn from existing parent rows.
- [~] **SD2** Detailed seeding rules (per-type generators,
locale, determinism, override hooks) — design and ADR pending.
*(Taken up 2026-06-11 — specified by **ADR-0048**; phased
test-first implementation in progress.)*
- [ ] **SD2** Detailed seeding rules (per-type generators,
locale, determinism, override hooks).
*(Taken up 2026-06-11 — `[~]`→`[ ]`. **ADR-0048** settles the
design: type-gated name-aware generators with a `fake`-backed
catalogue + table-context disambiguation, `--seed` determinism,
English-only locale (X2), and a `set` override clause (the
"override hooks" core). Deferred to future SD2 increments:
user-defined custom generators, NULL injection, multi-locale,
recursive parent auto-seed.)*
## Query analysis