EN DE

Architecture Decisions

This is the Architecture Decision Record (ADR) log for Portfolixir. Each ADR captures one decision, the context that forced it, and its consequences. AGENTS.md requires that architecture decisions not change silently: when a decision changes, add a new ADR and mark the old one as superseded rather than editing history.

The records below were written after the fact to document decisions that were already in force in the codebase.

How to add an ADR

  1. Copy the template to docs/decisions/NNNN-short-title.md with the next number.
  2. Fill in context, decision, and consequences. Keep it short.
  3. Set the status to Accepted and add it to the list below.
  4. To reverse a decision, add a new ADR and set the old one’s status to Superseded by ADR-NNNN.

Records

ADR Title Status
0001 Modular Phoenix monolith with bounded contexts Accepted
0002 Thin MCP companion over the JSON API only Accepted
0003 Decimal for all financial values Accepted
0004 Holdings and trades derived from transaction history Accepted
0005 Split quote providers: search vs. history Accepted
0006 Classifications (taxonomies) with built-in derived trees Accepted
0007 Currency conversion with exchange rates Accepted
0008 Target weights and SOLL/IST allocation Accepted
0009 Cash as balance snapshots, not a mirrored ledger Accepted
0010 Daily valuation series and TTWROR Accepted
0011 Unified ledger projection (single per-kind reducer) Accepted
0012 Asset class inference at read time Accepted
0013 Exclude flagged securities from the allocation steering basis Accepted
0014 Bilingual docs site (EN baseline, DE alongside) without a custom Pages build Accepted
0015 Cross-currency transaction settlement with a stored FX rate Accepted
0016 Rounding policy — full precision in compute, round only at the human display Accepted
0017 Append-only audit journal for financial writes Accepted