┌─────────────────────────────────────────┐
│ CONSUMERS │
│ (Deno, AffineScript, Browser, CLI) │
└───────────────────┬─────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ INTERFACE LAYER │
│ ┌───────────┐ ┌───────────────────┐ │
│ │ Zig FFI │ │ wasm-bindgen │ │
│ │ (C ABI) │ │ (JS/WASM) │ │
│ └─────┬─────┘ └────────┬──────────┘ │
└────────│─────────────────│──────────────┘
│ │
▼ ▼
┌─────────────────────────────────────────┐
│ RUST CORE (LIB.RS) │
│ (Nickel-lang-core integration) │
│ ┌───────────┐ ┌───────────────────┐ │
│ │ Parser │ │ Evaluator │ │
│ └─────┬─────┘ └────────┬──────────┘ │
└────────│─────────────────│──────────────┘
│ │
▼ ▼
┌─────────────────────────────────────────┐
│ NICKEL CONFIG FILES │
│ (*.ncl, validation) │
└─────────────────────────────────────────┘
┌─────────────────────────────────────────┐
│ REPO INFRASTRUCTURE │
│ Justfile / Guix .machine_readable/ │
│ RSR Compliance .well-known/ │
└─────────────────────────────────────────┘
COMPONENT STATUS NOTES ───────────────────────────────── ────────────────── ───────────────────────────────── CORE & CLI Rust Core (lib.rs) ██████████ 100% Nickel 0.9.1 integration stable CLI Interface ██████████ 100% Parse/Validate/Info active Nickel Loader ██████████ 100% String & File loading verified BINDINGS & FFI Zig FFI (C ABI) ██████████ 100% Stable boundary for bindings Deno Bindings ██████████ 100% Deno.dlopen integration active WASM / Browser ██████████ 100% 95% native speed verified AffineScript Bindings ████████░░ 80% Type definitions refining REPO INFRASTRUCTURE Justfile / Guix ██████████ 100% Reproducible builds stable .machine_readable/ ██████████ 100% STATE.a2ml tracking RSR Bronze Tier ██████████ 100% Compliance certified ───────────────────────────────────────────────────────────────────────────── OVERALL: ██████████ 100% v0.1.0 Production Ready
Nickel Core ──────► Bunsenite Rust ──────► Zig FFI ──────► Deno/TS
│
▼
wasm-bindgen ───► Browser
This file is maintained by both humans and AI agents. When updating:
-
After completing a component: Change its bar and percentage
-
After adding a component: Add a new row in the appropriate section
-
After architectural changes: Update the ASCII diagram
-
Date: Update the
Last updatedcomment at the top of this file
Progress bars use: █ (filled) and ░ (empty), 10 characters wide.
Percentages: 0%, 10%, 20%, … 100% (in 10% increments).