Architecture decisions
Short records of hard-to-reverse decisions and the trade-offs behind
them. Canonical home:
docs/adr/.
Sharding & performance
Section titled “Sharding & performance”- 0005 — Wide feature matrices shard into joinable column groups
- 0006 — Oversized child CTEs materialize into as-of TEMP-table feature tables
- 0009 — Correlated-subquery aggregators do not scale to full-cohort materialization
- 0010 — Set-based pre-aggregation for the correlated-subquery aggregator tier
- 0012 — Set-based migration of the two-window drift aggregators
- 0013 — Executor ANALYZEs the caller’s
as_of_datesbefore running
Correctness & leakage
Section titled “Correctness & leakage”- 0001 — The φ-bridge precomputes across a causal boundary
- 0008 — Relationship naming: only-when-ambiguous, explicit, and loud
- 0014 — Multi-column bridges and temporal snapshot sequences
Feature families
Section titled “Feature families”- 0002 — Graph features use recursive SQL, not Apache AGE
- 0004 — Peer groups are defined by a categorical column
- 0007 — Direct categoricals one-hot only from a fixed (declared/ENUM) vocabulary
- 0011 — Domain-guarded ln / log / sqrt transformers