I'm building a local medallion pipeline for UCC-1 financing statement
analytics.
Stack: Python, DuckDB (local), Airflow (Docker), dbt (Gold), Great
Expectations.
Data: 50 synthetic UCC filings, 3 states (CA, TX, NY), CSV format.

Design the pipeline architecture:
1. Bronze layer schema (raw CSV fields -> DuckDB table)
2. Silver layer transformations (§9-503 normalization, dedup logic)
3. Gold layer schema (entity risk profiles -- debtor entity ->
   active_filings -> risk_tier)
4. Canonical field names across all layers (Python snake_case)
5. What belongs in spec.md vs what belongs in code comments?

Output a field contract table: field | layer | type | transformation rule
