Why Garnet exists: the FFI tax I refused to keep paying
The pain that made me write a new language — a Rust hot path, a Ruby orchestrator, and a binding layer that ate the weekend. The universal answer is to swallow it. Garnet refused.
Narrative engineering and release notes. Monthly cadence — the first of each month. The commit history and releases are the raw pulse; these are the posts that need a paragraph instead of a diff.
The pain that made me write a new language — a Rust hot path, a Ruby orchestrator, and a binding layer that ate the weekend. The universal answer is to swallow it. Garnet refused.
v0.5.0 closes six blocking slices (LSP MVP, bytecode VM scaffold, parser fuzz, signed hot-reload demo, cross-machine determinism CI, compiler-as-agent advisory). Current MIT pulse is 71.3% across 19 lanes after S4 and S6 follow-through. Research-grade boundary intact.
v0.4.2 went live and the tracked implementation ledger hit 87/87 — and the MIT readiness pulse went down to 55.8%, on purpose. Why a decreasing number is a feature, not a regression.
@caps is, and why every function should declare its authorityOne before/after walkthrough: a managed function with no caps, the compiler refusing the rewrite that quietly added fs::read_file, and why ambient authority is the bug at the heart of every supply-chain incident. Comparison to Wasm Component Model. Draft pending.
Garnet's most differentiated idea, in plain terms. Working / episodic / semantic / procedural as language keywords, not library bolt-ons — what the type system and allocator can do once they know which is which. Draft pending.
Technical post on actor.reload_signed. Why Erlang's hot-reload is great but unsigned. Why mobile reload-from-server is signed but not type-checked. Garnet's combination of both, with the 1,000-cycle zero-loss methodology and reproduction recipe. Draft pending.
Cadence note: monthly is the floor, not the ceiling. Release posts (like v0.5 above) drop alongside their releases; the schedule above is the steady-state. If a post would be filler, it doesn't ship.