Skip to content

Architecture decision records

Each phase of the project came with a short ADR capturing the decision, its alternatives, and the consequences. Files live at docs/adr/ in the repo.

# Decision
0001 Stack choice — Textual + ebooklib + SQLite
0002 Library screen — SQLite, repository + service pattern
0003 Migrate to Textual's first-class theme system
0004 Phase 3 data model — phantom books and sessions

When to write a new one: change a persistence schema, a protocol between layers (epub ↔ library ↔ ui), a dependency choice, or a user-visible behaviour that's not obvious from the code. Pattern is Context · Decision · Consequences.