crosscue

Architecture Decision Records

Status: Living index.

One file per decision, numbered in rough chronological order of the decision (not the writing). Rule: any change significant enough that it would once have added a bullet to ARCHITECTURE.md → “Recent Architectural Decisions” writes an ADR here instead; ARCHITECTURE.md links to it with one line.

Format per ADR: Status (Proposed / Accepted / Superseded by ADR-NNNN), Date, Context (the problem, in 1–3 sentences), Decision, Consequences. Long design docs (e.g. sync-design.md) stay where they are; the ADR is the durable decision record that points at them.

ADRs are immutable once Accepted except for status changes — a reversal is a new ADR that supersedes the old one.

Index

ADR Decision Status
0001 Cell-progress autosave is delete-then-insert Accepted
0002 All clue-cell math lives in ClueProgressCalculator Accepted
0003 Shared settings row widget library Accepted
0004 Typed load errors are plain sealed classes Accepted
0005 App version is read at runtime, never hardcoded Accepted
0006 Crosshare Daily Mini approved as openLicense Accepted
0007 Settings sub-pages are nested GoRoutes Accepted
0008 Completion data: hybrid model with named authorities Accepted
0009 Sync: 3-layer orchestrator, per-namespace merge, opt-in rollout Accepted
0010 Rebus entry: NYT-aligned surfaces + first-letter acceptance Accepted
0011 Widget background refresh is best-effort, not an observer Accepted
0012 Challenge Boards v1: live-compute lifetime + bounded retention Accepted
0013 No monetization; entitlement scaffolding removed Accepted
0014 Reminders deferred; scaffolding removed Accepted
0015 Platform parity required across all app targets Accepted
0016 Mixed-version sync compatibility policy Accepted