LuxAlgo
Decision records

Architecture Decision Records

Architecture Decision Records — why Vela™ is shaped the way it is.

View as Markdown

This directory holds the Architecture Decision Records (ADRs) for Vela™ — the durable record of why the library is shaped the way it is.

An ADR captures a single architectural decision: the forces that pushed on it, the choice that was made, the trade-offs accepted, and — most importantly — the invariant the decision creates. Invariants are the rules the rest of the codebase relies on. When you are evaluating whether a decision still holds, read the ADR and ask: is the invariant still true, and is it still worth its cost?

Vela™ is a new, modern charting library: a robust core surrounded by three independently swappable layers — data providers, scripting engines, and renderers. Most ADRs here exist to keep those layers genuinely independent.

These ADRs describe the architecture as it stands today; revisit them as the design evolves.

Conventions

  • Numbering: four-digit, zero-padded, monotonically increasing (0001, 0002, …). Numbers are never reused, even if an ADR is later superseded.
  • Filename: NNNN-short-kebab-title.md. The slug should read as the decision, not the problem.
  • Shape: every ADR uses the same sections — Title, Status, Context, Decision, Consequences / Trade-offs, and Invariant.
  • Status: one of Proposed, Accepted, Superseded by NNNN, or Deprecated. A superseded ADR stays in place; it is never deleted.

Index

#TitleStatus
0001Neutral model as the cross-layer currencyAccepted
0002Core owns market dataAccepted
0003No default scripting engineAccepted
0004Enforce layering with an import ACLAccepted
0005Core owns user drawingsAccepted
0006Workspace composes charts; chrome is a projection of the active cellAccepted

On this page