Skip to content

ADRs

Architecture Decision Records (ADRs) capture significant technical decisions with context, alternatives considered, and rationale. They live in docs/adr/ in the repository.

Design documents in docs/design/ serve a similar role for larger proposals that are still evolving. See Design Documents for those.

Each ADR follows a standard structure:

  • Title: ADR-NNNN: <Decision Title>
  • Date: When the decision was made
  • Status: Draft | Proposed | Accepted | Deprecated | Superseded
  • Context: Why the decision was needed
  • Decision: What was decided
  • Consequences: Trade-offs and implications

ADR-0001: Rejected State Management Approaches

Section titled “ADR-0001: Rejected State Management Approaches”
  • Status: Accepted
  • Date: 2026-01-28
  • Summary: Documents rejected state management approaches (Copy-on-Write Snapshots, Two-Level Dirty Tracking) with rationale for why each was rejected. Recommends lighter-weight alternatives that preserve deterministic behavior.
  • Source: docs/adr/adr-0001-rejected-state-management-approaches.md

Larger proposals and design drafts live in docs/design/. Key documents include:

DocumentStatusSummary
VM ArchitectureCanonicalRV64 ISA, tiered execution, cross-contract calls, state model, precompiles
Architecture & BoundariesReferenceCore/execution/storage/consensus layering and dependency DAG
State LayoutDraftLogical state layout, StateBackend mapping, Blake3 BMT commitments
DKGDraftPer-epoch threshold BLS key generation with crash recovery
Private MempoolDraftSealed transactions and precommit protocol to prevent front-running
Access ListsDraftState prefetching, warm/cold gas pricing, parallel scheduling hints
Light Client MMRDraftTrustless on-chain light client via SHA256 MMR and BLS verification
Block-STM Parallel ExecutionProposedSpeculative parallel tx execution with conflict detection
Cross-Contract Call TracingProposedHierarchical tracing capturing call trees, storage ops, gas
JIT CompilationDraftTiered JIT for hot contracts with deterministic semantics
Consensus-Execution PipeliningDeferredOverlap consensus N+1 with execution of N
Simulation ModeProposedExecution in scratch space returning detailed state previews
Vault Gas TokenDraftVault-backed gas token with staking/governance isolation
Data Availability SamplingDraftDAS via Reed-Solomon erasure coding for light clients
Cranelift AOT/JITProposedNative codegen tier using Cranelift
Network ChannelsReferenceP2P channel multiplexing for consensus, gossip, DKG, DA
ChainStore HardeningDraftConcurrent access and large chain improvements
VM Implementation GuidelinesNon-normativeRecommended resource limits and operational parameters
Gas Profiler Flame GraphsProposedInteractive flame graphs for per-function gas analysis
DAP DebuggerProposedDebug Adapter Protocol integration for VS Code
Verkle Tree MigrationResearchEvaluation of Verkle trees; recommends deferring to late 2026
DKG Refactor AnalysisAnalysisCustom DKG vs Commonware primitives comparison

See Design Documents for links to the full archive.

  1. Create docs/adr/adr-NNNN-<slug>.md with the next available number.
  2. Use the format described above.
  3. Set status to Draft or Proposed.
  4. Link the ADR from this index page.