Skip to content

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