Skip to content

Latest commit

 

History

History
23 lines (21 loc) · 2.46 KB

README.md

File metadata and controls

23 lines (21 loc) · 2.46 KB

Architecture decision records

Each record: Status · Date · Context · Decision · Consequences. New decisions take the next number and are linked here. These records exist so that the corrections made to the original plan are not silently undone later.

ADR Decision
ADR-0001 Registry-verified dependency chain with a single root (amended by ADR-0013)
ADR-0002 Stable toolchain; no std::simd
ADR-0003 cudarc with runtime dynamic loading and NVRTC JIT; no nvcc
ADR-0004 objc2-metal, macOS target-gated; MSL compiled at runtime
ADR-0005 Object-safe, synchronous GpuBackend
ADR-0006 Pure-CPU default build; GPU and io_uring as opt-in features forwarded by oxidelake-runtime
ADR-0007 io-uring 0.7 on a dedicated storage thread instead of tokio-uring (amended by ADR-0014)
ADR-0008 No panic = "abort" in the release profile
ADR-0009 Depend on datafusion only; use its re-exports (amended by ADR-0013)
ADR-0010 Hardware placement is a DataFusion PhysicalOptimizerRule
ADR-0011 TUI testing: TestBackend in-process plus termlens against a deterministic demo binary
ADR-0012 Per-phase acceptance gates and the STATUS.md honesty rule
ADR-0013 Cluster mode runs on Apache DataFusion Ballista; Ballista roots the dependency chain
ADR-0014 Parquet and Arrow IPC instead of a custom .oxide file format
ADR-0015 In-database inference (predict) at the UDF layer, not the operator layer; oxmera with default-features = false
ADR-0016 Public repository from one commit; crates renamed oxidelake-*; kernels inside the device crate
ADR-0017 Dependency caching, shared Metal builds, independent Linux feature gates and tested documentation skips