A modular Rust foundation for runtime execution, compute, data-oriented systems and simulation.A plain-language overview of DINAH's architecture, current implementation and roadmap.
Version status (updated 2026-10-19): v0.1.0 released and published on crates.io — tag
v0.1.0, dated changelog inCHANGELOG.md, package verified withcargo package/cargo publish --dry-runbefore upload. DINAH remains pre-alpha software: semver 0.x permits breaking changes, and the documented limitations below still apply. Core, Runtime, Memory, Compute and ECS foundations exist; Simulation's first five bounded models are implemented. Phase 7 (Networking) has completed points 120–139: API boundaries, the blocking byte-stream transport contract, logical message envelope and versioned binary wire format are documented; initial TCP connection and listening-endpoint wrappers are implemented. The wire encoder/decoder remains unimplemented; local connection lifecycle state is tracked; generic client-side prediction, bounded input history, reconciliation and replay primitives are implemented; application-level retry bookkeeping, RTT estimation, explicit liveness/backoff policy, bounded Runtime dispatch, tick-based simulation delivery, deterministic loss/latency simulation and a Networking benchmark suite are present. Full protocol/domain integration and automatic reconnection remain pending. A green CI gate validates the checks that ran; it is not a claim of API stability beyond the frozen v0.1 surface or of performance guarantees.
Repository snapshot (2026-10-19): 287 master checklist points · 279 complete · 0 in progress · 8 deferred by design (tracked as v0.2 goals in puntos2.md)
Code snapshot: single Rust crate · 7 benchmark suites (Runtime, Memory, Compute, ECS, Simulation, Networking, Storage) · 8 runnable examples · five-platform benchmark history
Current milestone: v0.1.0 is released and published on crates.io: the v0.1 public API surface and architecture are frozen (docs/public-api-review.md, docs/integration-matrix.md), the full local verification suite passed on the release commit, and the package is live at cargo add dinah. Native foundations include safe host/POSIX capability traits and a minimal scalar C ABI; the scalar ABI has passed a real C compiler/linker smoke test in CI; this is a limited ABI check, not broad cross-target compatibility. No direct hardware access or handwritten assembly is claimed. Networking has initial blocking TCP wrappers and prediction/reconciliation/replay primitives, but its wire encoder/decoder and full protocol integration remain pending (v0.2 cycle, roadmap2.md).
DINAH is a modular systems-software project written primarily in Rust. It is building reusable foundations for task execution, memory management, compute workloads, entity-component data and deterministic simulation, with networking and other capabilities planned in staged roadmap phases.
| 🧩 Runtime | ⚙️ Compute | 🌐 Systems |
|---|---|---|
| Task scheduling, execution, synchronization and cancellation. | Sequential and parallel operations, batches, reductions and pipelines. | ECS foundations, bounded simulation models and a networking design in progress. |
DINAH is not a finished general-purpose runtime or a game engine. The roadmap expresses direction; the master checklist records implementation status. APIs can change while the project is pre-alpha.
The design separates shared contracts from runtime execution, storage and compute concerns. Simulation builds on these foundations. Networking has initial TCP byte-stream wrappers and bounded reliability/simulation helpers, but no completed wire encoder/decoder or production network stack. Storage now has an in-memory key-value API, append-only journal with CRC-32 checksums and legacy v1 replay, ordered borrowed iteration, and an explicit bounded Runtime mutation queue; it is not a transactional database.
- Correctness before optimization. Define contracts, failure behaviour and tests before tuning performance.
- Measure before claiming. Benchmark results need reproducible inputs, recorded environments and retained artifacts.
- Rust-first and memory-safe. Lower-level languages are considered only when a measured technical need justifies them.
- Determinism where promised. Ordering, time, state transitions and error handling must be explicit and tested.
- Small, justified dependency surface. Dependencies require a concrete purpose and a maintainable upgrade path.
- Evidence-driven progress. A design document is not proof of implementation; checklist points close only with appropriate code and validation evidence.
| Component | What it contains |
|---|---|
src/core |
Shared types, IDs, configuration, states, errors and core contracts. |
src/runtime |
Tasks, workers, scheduler/executor, synchronization, cancellation, metrics and tracing. |
src/memory |
Buffers, contiguous storage and structure-of-arrays foundations. |
src/compute |
Sequential and parallel iteration, batches, reductions and pipelines. |
src/ecs |
Generational entities, World, component storage and access contracts. |
src/simulation |
Fixed-step clock, deterministic step contract and bounded physics/fluid/cellular/raycast/swarm models. |
docs/ |
Module guides, design decisions, research, benchmark notes, initial security review and engineering policies. |
tests/ · benches/ · examples/ |
Tests, performance suites and runnable examples. |
scripts/ · .github/workflows/ |
Checklist/documentation checks, CI, benchmark matrix, artifact archiving and README status-graphic generation. |
artifacts/ |
Retained benchmark outputs and run metadata. |
Requirements: Rust 1.95 or newer (verified MSRV) and Git. The crate uses Rust edition 2021 and has no runtime dependencies. Platform-specific performance measurements are collected by CI and are not universal hardware comparisons.
| Module | Current state | Reference |
|---|---|---|
| Core | Shared types and contracts exist. Core v0.1 is not declared stable; first benchmarks and API-stability decisions remain open. | docs/core.md |
| Runtime | Scheduler, executor, task queues, parallel dispatch, synchronization, cancellation, outcomes, metrics and tracing are implemented. | docs/runtime.md |
| Memory | Buffer<T> and SoaBuffer<A, B> provide initial buffer/storage abstractions; optimization remains evidence-driven. |
docs/memory.md · docs/memory-model.md |
| Compute | Sequential/batched/parallel operations, reductions and ComputePipeline exist. SIMD remains open until a real kernel demonstrates benefit with evidence. |
docs/compute.md · docs/simd-research.md |
| Data / ECS | Generational entities, World, sparse-set component storage and access-conflict planning exist. Full query and parallel-system execution work remains. |
docs/ecs.md · docs/ecs-benchmarks.md |
| Simulation | Fixed-step clock, deterministic step contract, ECS bindings, replay tests and five bounded models: ASCII physics, scalar fluid diffusion, cellular automata, 2D raycasting and 2D flocking. Not a general-purpose physics or CFD engine. | docs/simulation.md |
| Observability | Opt-in tracing, caller-reported counters/gauges, bounded profile samples, diagnostics and JSON metric snapshots. Not automatic subsystem instrumentation or a remote exporter. | docs/observability.md |
| Networking | Initial blocking TCP wrappers, explicit reliability helpers and deterministic link simulation exist. Wire encoder/decoder remains unimplemented. | docs/network.md |
| Storage | Byte-oriented API, in-memory store, append-only journal with CRC-32 on v2 records and legacy v1 replay, ordered borrowed scans, and explicit bounded Runtime mutation dispatch. Transactions, secondary indexes, compaction and strong crash durability remain unimplemented. | docs/storage.md |
Implemented foundations include: runtime scheduling and task execution; memory buffers; sequential and parallel compute operations; generational ECS entities and sparse-set component storage; fixed-step simulation and five focused simulation models; CI, benchmark and documentation workflows.
Not yet complete: a production SIMD kernel, full parallel ECS system execution, full wire framing/serialization and authenticated transport, transactional storage and compaction, direct hardware integration, full CLI manifest/TOML compatibility, automatic observability, coverage-guided fuzzing and full-system application validation — all scheduled in the v0.2 cycle (roadmap2.md). A limited C ABI smoke test and focused integration pipelines now run in CI; neither implies broad cross-target ABI support or a production application. See the master checklist for exact status rather than treating planned work as shipped.
DINAH tracks median timings for the simulation clock, simulation step, mutable entity traversal and repeated linear searches. The recorded five-platform CI matrix below is historical evidence from workflow run 38484605568, commit 83cbcc3; it is not a controlled cross-OS comparison or a performance guarantee. The full suite (Runtime, Memory, Compute, ECS, Simulation, Networking, Storage) was also executed locally on the v0.1.0 release commit and archived by CI in artifacts/. Lower timings are better for these measurements.
| Platform | Clock (ns/advance) | Step (ns/step) | Mutable walk (ns/entity) | 16 linear searches (ns/search) |
|---|---|---|---|---|
| Linux x86-64 | 7.801 | 12.547 | 0.368 | 2,437.000 |
| Linux ARM64 | 5.855 | 8.000 | 0.438 | 1,792.938 |
| Windows x86-64 | 7.836 | 12.242 | 0.346 | 2,446.062 |
| macOS x86-64 | 10.488 | 10.305 | 0.823 | 4,990.062 |
| macOS ARM64 | 2.395 | 6.012 | 0.281 | 1,533.875 |
These are medians of nine samples; construction is included in the clock and step cases. A lightweight compute kernel also showed that dispatch overhead can make parallel execution slower than sequential execution. Benchmark history and metadata are archived in artifacts/README.md. SIMD and data-oriented layout work remain open until representative workloads justify changes.
Released — v0.1.0 (2026-10-19). The 287-point v0.1 checklist is closed: 279 complete, 0 in progress, 8 deferred by design and now tracked as v0.2 goals in puntos2.md. The v0.1 scope ended at point 277; points 278–287 (the v0.2 design cycle) were completed as the design recorded in roadmap2.md and puntos2.md (puntos 288–326). Release evidence: fmt/clippy/tests/doc-tests/benchmarks green on the release commit, cargo package and cargo publish --dry-run verified, MSRV pinned to Rust 1.95 (verified empirically), changelog dated. Networking remains a pre-alpha foundation with wire encoder/decoder and full protocol integration pending — now scheduled as Phase 18 of the v0.2 cycle.
Deferred by design (retaken as v0.2 goals in puntos2.md; see roadmap.md for the v0.1 context):
| v0.1 point | Area | v0.2 point in puntos2.md |
Deferred work |
|---|---|---|---|
| 033 | Core | 313 | First benchmarks when a representative Core workload exists |
| 035 | Core | 314 | Stabilize Core v0.1 |
| 084 | Compute | 317 | SIMD only where a real benefit is demonstrated |
| 085 | Compute | 318 | Data-oriented layout optimization |
| 100 | Data / ECS | 302 | Validated and isolated parallel systems execution |
| 103 | Data / ECS | 303 | Further memory-access optimization and evidence |
| 204 | Security | 310 | Coverage-guided fuzzing with libFuzzer |
| 165 | Performance | 319 | Hotspot optimization with real profiles |
The CLI baseline and opt-in observability primitives are implemented; tracing, metrics and profiling still require explicit caller reporting and are not automatic. The v0.2 cycle (fases 18–23 in roadmap2.md) covers wire framing and event codec, public ECS queries, full TOML, optional sandboxing, atomic journal transactions, branch coverage, fuzzing and evidence-based optimization. Checklist counts measure tracked work items, not percentage of release effort. See roadmap.md, roadmap2.md, the 287-point master checklist and the v0.2 checklist.
Published on crates.io:
Or directly from the repository:
The library API is pre-alpha and can change between minor versions while below 1.0. Start with docs/compute.md or docs/simulation.md for implemented APIs. CI is the validation gate; benchmark claims should be checked against the corresponding run artifacts.
| Document | Covers |
|---|---|
| Documentation index | Guided navigation to API guides, engineering evidence and runnable examples |
| Core | Shared types and contracts |
| Runtime | Scheduling, tasks and execution |
| Memory · Memory model | Buffer and storage foundations |
| Compute · SIMD research | Compute operations and SIMD evidence |
| ECS | Entities, components and access contracts |
| Simulation | Simulation models and deterministic stepping |
| Networking | Initial API design, TCP wrappers, reliability helpers and boundaries |
| Storage | Initial byte key-value API, memory store and journal replay |
| CLI | CLI commands, starter manifest limits and output modes |
| Observability | Opt-in tracing, caller-reported metrics, profiling samples and JSON export |
| Security review | Threat model, trust boundaries, filesystem, concurrency and remaining controls |
| Roadmap · Master checklist | v0.1 phases, milestones and status |
| Roadmap v0.2 · v0.2 checklist | Design of the next cycle and its puntos 288–326 |
| Changelog · Release checklist | v0.1.0 changes, release evidence and pre-publication gates |
| Artifacts | Benchmark artifact archive |
CI is used to validate code and documentation incrementally. Passing CI is evidence that the configured checks passed for a particular commit; it does not certify production readiness, API stability or a performance level.
| ✅ What the project tracks | ❌ What is not claimed |
|---|---|
| Automated CI and checklist integrity | API stability beyond the frozen v0.1 surface |
| Multi-platform benchmark evidence | Universal performance leadership |
| Focused deterministic simulation tests | General-purpose physics or CFD capability |
| Documented networking API boundaries | A completed network stack or wire protocol |
| A phased, auditable master checklist | That roadmap items are already implemented |
Unless a file states otherwise, DINAH is dual-licensed under your choice of the MIT License or the Apache License, Version 2.0. Contributions intended for inclusion follow the same dual-license terms unless explicitly agreed otherwise.