Skip to content

Architectural decisions

Decision records explain a choice, its alternatives and the evidence that could change it. They preserve the reasoning without treating an early hypothesis as a permanent commitment.

Record Status Scope
0001: Language strategy Initial working decision Java as the initial default; conditions for considering other languages
0002: Documentation toolchain Working decision Zensical, MkDocs configuration, initial hosting and portability
0003: Initial temporal semantics Working specification; reference and memory engine implemented Whole-value intervals, ordered commits, read views and request identity
0004: Java build foundation Adopted for the experimental artifact Java 25, pinned stable Maven toolchain, version research and verification
0005: Reference model Implemented in test support Immutable logical types, history-search oracle and independent dense-state checks
0006: In-memory engine Implemented; experimental Immutable interval snapshots, serialized publication, pinned views and explicit close behavior
0007: Journal format Pure codec implemented Versioned bounded framing, exact identity, checksums and strict incomplete/corrupt input handling
0008: Local journal Implemented; experimental Exclusive local writer, append/force cutoffs, bounded replay and explicit evidence-preserving tail repair
0009: Immutable history segments Pure codec implemented Exact transaction ranges, bounded immutable objects, integrity footer and full-object identifiers
0010: Local immutable segment I/O Implemented; experimental Create-only local files, bounded expected-ID verification and heap-owned reader lifetimes
0011: Checkpoint manifest representation Codec and consistency verifier implemented Bounded generation metadata, complete segment references and reconstructed journal-prefix binding
0012: Local checkpoint publication Implemented; experimental Actual owner-journal verification, immutable generation selection, ordered forces and atomic rename
0013: Local database recovery Read recovery implemented Stored lineage, complete checkpoint-plus-tail replay, historical reads and request lookup
0014: Durable local commit publication Forced-write protocol and process crash/retry conformance implemented Private preparation, startup synchronization, append/force before publication and explicit uncertainty
0015: Temporal query operators Implemented; experimental Signed-value predicates, explicit entity selection and filtered intervals over one pinned snapshot
0016: History-preserving compaction Pure repacking and local publication implemented; reclamation planned Retain all transactions and request IDs; bound repacking and separate publication from protected physical reclamation
0017: Live checkpoint reader protection Shared barrier implemented; deletion planned Independent lazy-reader lifetime, cross-process exclusion and fail-closed cleanup
0018: Verified reclamation inventory Inventory implemented; deletion planned Explicit retained roots, complete owner-bound verification, conservative diagnostic handling and bounded candidate accounting

The current project has no stable engine API or storage-format compatibility promise. Read the architecture overview for the open design questions.

When a material decision changes, update its current status and retain the dated reasoning. Keep the README and related technical pages consistent with the decision rather than copying detailed policy into each page.