close
Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Architecture Decision Records

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.

Index

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

Why ADRs?

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.