Architecture Decision Records¶
One file per decision, format NNNN-short-slug.md. Write new ones with /new-adr.
| ADR | Title | Status | Date |
|---|---|---|---|
| 0001 | Collapse duplicate course_ids to one representative row | Accepted | 2026-06-02 |
| 0002 | Cross-listing ground truth and a technique-agnostic diversity space | Accepted | 2026-06-02 |
| 0003 | A hand-labeled judged-query set for the free-text lens | Accepted | 2026-06-03 |
| 0004 | Semantic-vector recommenders (SBERT local + API), caching and ANN | Accepted | 2026-06-03 |
| 0005 | Retrieve → cross-encoder rerank → MMR diversity | Accepted | 2026-06-06 |
| 0006 | Course graph (PPR) on a held-out cross-listing edge split | Accepted | 2026-06-19 |
| 0007 | Clustering + 2-D map as a diagnostic, not a recommender | Accepted | 2026-06-19 |
| 0008 | Metadata fusion — weighted one-hot facets ⊕ TF-IDF | Accepted | 2026-06-19 |
| 0009 | LLM enrichment via local Ollama (tag-extraction rung) | Accepted | 2026-06-19 |
| 0010 | Zero-shot LLM reranker (retrieve → LLM reorder over full text) | Accepted | 2026-06-19 |
| 0011 | "Why this fits" explainer — a UI helper, not a scored recommender | Accepted | 2026-06-20 |
| 0012 | Phase 8 minimal Streamlit UI — testable registry + thin view layer | Accepted | 2026-06-20 |
| 0013 | Deploy the UI as a warm, offline CPU Docker image | Accepted | 2026-06-20 |
| 0014 | Teaching notebooks — reimplement-from-scratch over a tested library | Accepted | 2026-06-20 |
| 0015 | Documentation site — MkDocs Material on GitHub Pages, with pre-executed notebooks | Accepted | 2026-07-04 |
| 0016 | CI test gating with a lean install and a notebook render-freshness guard | Accepted | 2026-07-04 |