feat(seed): fake-data generation library + fake dependency (ADR-0048 P1.1)
The pure generation half of `seed` — no command wiring yet: - src/seed/: ColumnSpec + Generator model and a seeded StdRng; the type-gated name-heuristic catalogue (D7) with documented false-positive guards; table-context name disambiguation (D11); identifier (D10) and enum-ish (D12) detection; per-type + bounded-date generators (D8); the hand-rolled product generator (D9); and PickFrom for IN-CHECK / enum lists. - Adds the `fake` crate (v5, default features). Verified: single rand 0.10.1 (no duplication), determinism via one seeded StdRng driving both fake and the hand-rolled generators, security-clean across osv/grype/trivy. - ADR-0048 D3 updated to record the dependency verification. 32 Tier-1 tests (exact-value via fixed --seed); 1673 lib tests pass, clippy all-targets clean.
This commit is contained in:
@@ -24,6 +24,14 @@ chrono = { version = "0.4.44", default-features = false, features = ["clock"] }
|
||||
crossterm = { version = "0.29.0", features = ["event-stream"] }
|
||||
csv = "1.4.0"
|
||||
directories = "6.0.0"
|
||||
# Realistic fake-data generators for the `seed` command (ADR-0048):
|
||||
# names, emails, addresses, companies, lorem, etc. Default features
|
||||
# only — the basic fakers need no flags; date/datetime values are
|
||||
# generated in-house (rand + the existing `chrono`) for the bounded
|
||||
# windows ADR-0048 D8 requires, so `fake`'s `chrono` feature is
|
||||
# deliberately omitted. No commerce/product module exists, so the
|
||||
# `product` generator is hand-rolled (D9).
|
||||
fake = "5"
|
||||
futures-util = "0.3.32"
|
||||
gethostname = "1.1.0"
|
||||
rand = "0.10.1"
|
||||
|
||||
Reference in New Issue
Block a user