docs: ADR-0048 Phase 1 accepted/implemented + handoff 65
- ADR-0048 status -> Accepted; Phase 1 implemented (commits 202e25a..fbd219b), with the pre-build and post-implementation /runda passes and the 2358-test green state recorded; index entry updated. - requirements.md: SD1 [x] (whole-row seed + FK/junction, both modes, --seed reproducibility with no exceptions), SD2 [/] (core generators / determinism done; the set override clause + column-fill are Phase 2), A1 14/15 (only hint/H2 remains unregistered). - Handoff 65: the full seed Phase-1 build, the two /runda passes, where the code lives, and Phase-2 / next steps.
This commit is contained in:
@@ -2,22 +2,39 @@
|
||||
|
||||
## Status
|
||||
|
||||
**Proposed (2026-06-11).** Design settled with the user across an
|
||||
extended fork dialogue (every decision below was escalated and
|
||||
user-chosen), then hardened by a `/runda` Devil's-Advocate pass that
|
||||
found six blockers — undo integration (D15), replay semantics (D16),
|
||||
`set` value quoting (D2), CHECK-constraint handling (D17), a
|
||||
phase-ordering bug in the advisory (D13), and auto-show flooding
|
||||
(D18) — plus refinements (state-relative reproducibility, compound-FK
|
||||
tuple sampling, column-fill constraint rules, the `fake` dependency
|
||||
scan). All are folded in below, the three genuine forks among them
|
||||
re-escalated and user-resolved. Pending **phased, test-first
|
||||
implementation**; this status flips to *Accepted / implemented* once
|
||||
that lands.
|
||||
**Accepted (2026-06-11); Phase 1 implemented (2026-06-11).** Design
|
||||
settled with the user across an extended fork dialogue (every decision
|
||||
below was escalated and user-chosen), then hardened by a pre-build
|
||||
`/runda` Devil's-Advocate pass that found six blockers — undo
|
||||
integration (D15), replay semantics (D16), `set` value quoting (D2),
|
||||
CHECK-constraint handling (D17), a phase-ordering bug in the advisory
|
||||
(D13), and auto-show flooding (D18) — plus refinements (state-relative
|
||||
reproducibility, compound-FK tuple sampling, column-fill constraint
|
||||
rules, the `fake` dependency scan), all folded in.
|
||||
|
||||
**Phase 1 shipped** test-first across commits `202e25a` (generation
|
||||
library + `fake` dependency) → `f1e9484` (command skeleton) →
|
||||
`73493fa` (FK sampling) → `9c13501` (uniqueness / junction / IN-CHECK)
|
||||
→ `0b3ab3c` (`SeedResult` / preview / advisory / count cap) →
|
||||
`e6ff63d` (single-transaction O(N) path) → `fbd219b` (`--seed` flag,
|
||||
ambient wiring, and a whole-implementation `/runda` pass). The
|
||||
post-implementation `/runda` found eight gaps — FK-sampling
|
||||
determinism (now `ORDER BY`), shortid reproducibility (now from the
|
||||
seeded RNG, so **D4 holds with no exceptions**), and six untested
|
||||
ADR decisions (D5/D15/D16/D17 + atomicity + zero-count), all closed.
|
||||
**2358 tests pass / 0 fail / 0 skip; clippy clean.**
|
||||
|
||||
**Implemented in Phase 1:** the whole-row `seed <table> [count]
|
||||
[--seed <n>]` form and every D1–D18 decision *except* the two
|
||||
deferred-to-Phase-2 surfaces below. **Deferred to Phase 2** (designed
|
||||
here, not yet built): the **`set` override clause** (D2) and the
|
||||
**`<table>.<column>` column-fill** form (D1 form 2). Further SD2
|
||||
increments (custom user generators, NULL injection, multi-locale,
|
||||
recursive parent auto-seed) remain out of scope (see Out of scope).
|
||||
|
||||
Closes `requirements.md` **SD1** and delivers the core of **SD2**
|
||||
(per-type generators, determinism, the override surface). It also
|
||||
closes one of the two remaining gaps in **A1** ("all canonical
|
||||
(per-type generators, determinism, the `fake`-backed catalogue). It
|
||||
also closes one of the two remaining gaps in **A1** ("all canonical
|
||||
app-level commands") — `seed`; the other, `hint` (**H2**), is
|
||||
separate.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user