Skip to content

Living Specs — Index

This index lists every active and historical "living spec" in ftl-docs/architecture/specs/.

A living spec describes one product or system domain as it is today. It is rewritten in place when behavior changes; we do not branch it into versions. The decision trail behind each spec lives in architecture/decisions/ (the ADRs).

See CHANGE-MANAGEMENT.md at the repo root for the protocol, and _TEMPLATE.md for the required structure.


Active specs

Spec Domain Owner Last updated ADRs
event-ingestion Durable, lossless event capture: inplay ingest, PG timeline + exactly-once bump log, L1–L7 fallback ladder @amalkrsihna 2026-06-07 0019, 0023, 0024, 0025
leaderboard Equity-based ROI% ranking (global + district), evaluator feed, close-path write, tiebreaker order @amalkrsihna 2026-06-03 0014
amm-pricing CFD-style margin trading: pricing curve, position lifecycle, FT auto-exit, post-match scoring @amalkrsihna 2026-06-03 0002, 0004, 0005, 0006, 0011, 0012, 0013, 0016, 0017, 0018, 0019, 0020, 0021
cfd-pricing-and-wallet CFD position lifecycle, slippage, idempotency, SL/TP, error codes, permanent-impact formula @amalkrsihna 2026-06-03 0004, 0005, 0006, 0012, 0013, 0016, 0017, 0019, 0020
wallet-and-margin Balance / Equity / Used Margin / Free Margin / Margin Level definitions, washout policy, SL/TP semantics @amalkrsihna 2026-06-03 0004, 0006, 0015, 0020
signup-and-onboarding Google OAuth → registration → OTP → profile completion, coming-soon gate, tutorial sequencing @amalkrsihna 2026-05-22 0007, 0008, 0010
referrals v2 attribution (referrer-only, on first trade), ?ref= + ?invite= capture, payout economics, copy requirements @amalkrsihna 2026-05-22 0008, 0009

Deprecated specs

(none yet)


Adding a new spec

  1. Pick a kebab-case domain name (auth-flow, referral, leaderboard, …). Once chosen, don't rename — the path is referenced from code anchors.
  2. Copy _TEMPLATE.md to <domain>.md and fill in every section.
  3. Add a row to the Active specs table above.
  4. If the new spec encodes a decision, add the matching ADR in architecture/decisions/ in the same PR.