Architecture Decision Records (ADRs) capture significant technical decisions made in this project, including context, alternatives considered, and consequences.
Use the /adr skill in Claude Code to record new ADRs or query past decisions.
| ADR | Title | Status | Date |
|---|---|---|---|
| ADR-0001 | OSS packages — design decisions (living) | living | 2026-05-27 |
| ADR-0003 | Use DependencyGraphEdgesLatest for deps ingestion; defer DependenciesLatest until NUGET or GO needed | accepted | 2026-05-29 |
| ADR-0004 | Compute GO/NUGET transitive dependent counts via exact reverse closure (over HLL approximation) | accepted | 2026-06-23 |
| ADR-0005 | PyPI downloads via BigQuery bulk export, scoped in the Postgres merge | accepted | 2026-07-01 |
| ADR-0006 | Database schema types as the source of truth | accepted | 2026-07-09 |
| ADR-0007 | Test factory primitives and defaults | accepted | 2026-07-10 |
| ADR-0008 | How we write unit tests | accepted | 2026-07-13 |
| ADR-0009 | Packagist worker — design decisions | accepted | 2026-07-13 |
| ADR-0010 | Security contacts — tiered extraction, confidence scoring, and Temporal batch ingestion | accepted | 2026-07-21 |
| ADR-0011 | Skip mailing list activities with unparseable/implausible dates | accepted | 2026-07-19 |
| ADR-0012 | API e2e test architecture | accepted | 2026-07-25 |
| ADR-0013 | API e2e test suite design | accepted | 2026-07-24 |
| ADR-0014 | Collaboration track record signal | accepted | 2026-07-28 |
| ADR-0015 | How CDP stores member identities | accepted | 2026-07-28 |
| ADR-0016 | Akrites → CDP public API authentication | proposed | 2026-07-22 |
| ADR-0017 | Blast radius analysis pipeline — multi-ecosystem architecture | accepted | 2026-08-11 |
| ADR-0018 | Per-client rate limiting for POST /members/resolve using in-memory store |
accepted | 2026-08-12 |
The codebase is in active transition across several axes (see CLAUDE.md). ADRs provide a durable record of:
- Why old patterns are being replaced (e.g. Sequelize → pg-promise)
- What alternatives were considered before choosing the current approach
- What trade-offs were accepted
New contributors can understand constraints without needing to ask — the reasoning is in the ADRs.