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.