Decisions
Every non-obvious choice in this project has a record: what was decided, what it cost, and what it ruled out. Newest first; a superseded record stays, because the reasoning that was replaced is part of why the current answer is right.
|
Decision |
Status |
Added |
| 0029 |
The site's market charts publish suppressed aggregates, handed between workflows |
accepted |
2026-10-13 |
| 0028 |
The filter-rule seeds are private config |
accepted |
2026-08-17 |
| 0027 |
Score against a resume corpus, not a skills list |
accepted |
2026-08-16 |
| 0026 |
The warehouse lives in us-central1, so the AI functions can reach a model |
accepted |
2026-08-16 |
| 0025 |
Gemini 3.1 Flash-Lite, called on the global endpoint |
accepted |
2026-08-16 |
| 0024 |
One visible match_score orders the digest |
accepted |
2026-07-28 |
| 0023 |
Deal-breaker tech demotes a posting; it no longer deletes it |
accepted |
2026-07-28 |
| 0022 |
Boards are fetched in parallel; politeness is per host, not global |
accepted |
2026-07-28 |
| 0021 |
A V1 source must yield a description, even if that costs a second call |
accepted |
2026-07-28 |
| 0020 |
V2 scope: AI relevance only; score orders, never filters; embeddings deferred |
accepted |
2026-07-18 |
| 0019 |
email digest delivery; GitHub-native failure alerting (Slack retired) |
accepted |
2026-07-18 |
| 0018 |
The company-discovery notebook lives in-repo, quarantined |
accepted |
2026-07-18 |
| 0017 |
Evaluate openjobdata as an aggregated ingestion source (hybrid) |
proposed |
2026-07-18 |
| 0016 |
silver is the retention layer; gold is live-only |
accepted |
2026-07-18 |
| 0015 |
Desired tech + title matches are soft signals, not filters |
accepted |
2026-07-18 |
| 0014 |
Each medallion zone lands in its own BigQuery dataset |
accepted |
2026-07-18 |
| 0013 |
V1 ingestion broadens beyond Greenhouse + Lever |
accepted |
2026-07-18 |
| 0012 |
Company boards are identified by board_ref, not a single slug |
accepted |
2026-07-13 |
| 0011 |
The company list is private config, not a committed seed |
accepted |
2026-06-17 |
| 0010 |
Three medallion zones, not five layers; per-model materialization |
accepted |
2026-06-17 |
| 0009 |
Use Gemini 2.5 Flash-Lite for V2 extraction/scoring |
superseded by ADR-0025 |
2026-06-17 |
| 0008 |
Separate identity key from change-detection hash |
accepted |
2026-06-17 |
| 0007 |
Secrets boundary independent of agent goodwill |
accepted |
2026-06-17 |
| 0006 |
Deliver links to full postings, not summaries |
accepted |
2026-06-17 |
| 0005 |
Greenhouse + Lever only in V1 |
superseded by ADR-0013 |
2026-06-17 |
| 0004 |
V2 LLM runs inside dbt as SQL (Pattern C) |
accepted |
2026-06-17 |
| 0003 |
AI deferred to V2; V1 is ingestion + dbt only |
accepted |
2026-06-17 |
| 0002 |
Dual-target dbt: DuckDB dev, BigQuery prod |
accepted |
2026-06-17 |
| 0001 |
Medallion layers in one dbt project |
accepted |
2026-06-17 |