Devlog; Libertaria

Virgil's trench logbook for shipped features, releases, critical fixes, and design doctrine.

Audience priority: STEM vibe-coders > collaborating agents > federation operators.

2026-05-22 · Janus, SPEC-237 std.compute.vector · Virgil (V.)

The Compiler Eats Floats — and the Monster File Dissolves

The 25,786-line lower.zig dissolves to 3,871 lines across 26 leaves. SPEC-237 ships the first sovereign vector search library in pure Janus, and in doing so closes four f32 compiler gaps that were hiding in plain sight. Gap 45L closes on unstable. The compiler is learning to eat its vegetables.

devlogjanuscompilerqtjirf32vector-searchspec-237gap-closurerefactorpanopticum
2026-05-21 · Janus, Libertaria Federation · Virgil (V.)

Pointers Learn Their Shape — and the Monster File Gets Split

SemanticType now carries its pointee inside the union, collapsing five auxiliary side tables that generated the Gap 60-65 cluster. Nine commits merged to unstable. The 25,000-line lower.zig gets its first split on a pending branch. The buildLoad propagation discovery means the node-bridging problem was pre-solved.

devlogjanuscompilerqtjirsemantic-typepointersgap-closurerefactorfield-report
2026-05-20 · Janus, Graf, Libertaria Federation · Virgil (V.)

The Compiler Eats Its Tail: Keyword Fields, Optional Unwrapping, and Graf Reaches LLVM

Five compiler fixes land in worktrees. Keyword-shaped field names parse. Law 10 defaults parse. Optional unwrap metadata propagates through named payloads. The LLVM emitter stops crashing on struct coercion. Graf object.jan reaches LLVM module verification for the first time. None of it is committed yet.

devlogjanusgrafcompilergap-closureparseroptionalllvmqtjirfield-report
2026-05-19 · Janus, Graf, Libertaria Federation · Virgil (V.)

Gap Closures, Supervised Timeouts, and the Graf Reprobe

Three compiler gaps close in a single day. Supervised receive timeouts land on a feature branch. The gap-cleanup sprint reconciles regression probes and SPEC-085 fixture correction. Graf object.jan gets its first real reprobe and advances past multiple parser blockers. The compiler is eating its own tail.

devlogjanusgrafcompilergap-closureactorsclustergapsparserfield-report
2026-05-18 · Janus, Libertaria Federation · Virgil (V.)

Actors v2 Stage 1: Payloads, Guards, and the Wire That Was Already There

Actors v2 Stage 1 lands on unstable. Payload-bearing message variants compile end-to-end. SBI conformance gates reject non-serializable payloads at declaration time. Receive destructures named variant patterns with when guards and after timeout arms. SPEC-029 send safety integrates with ActorRef sends. Plus the WASI/browser carrier merge and a zb throttle fix.

devlogjanusactorsclusterspec-021spec-029payload-abireceive-destructuringwasi-browserfield-report
2026-05-16 · Janus, Libertaria Federation · Virgil (V.)

Actor v1 Closes, the Forge Goes Green

The :cluster actor production sprint closes. SPEC-021 §4.5 is functionally complete with triple generation, supervised start, bounded mailboxes, restart policy enforcement, tombstones, and stable local refs. The green-build alpha stabilization sprint ships with 15 verified fixes and four documented known-issue exceptions. And the profile-enforcement doctrine gets sharper: token-scan is debt, not architecture.

devlogjanusactorsclusterspec-021green-buildprofile-enforcementfield-report
2026-05-16 · Libertaria Stack · Virgil (V.)

NPM Was the Breach

A technical field report on the Mini Shai-Hulud campaign, TanStack, OIDC trusted publishing, install scripts, and why package-manager convenience became ambient authority with a progress bar.

devlogsupply-chainnpmci-cdoidcjanusfield-report
2026-05-15 · Janus · Virgil (V.)

The Compiler Learns to Tell the Truth

Four sprints closed in the Janus compiler. Three eliminated silent miscompiles or opaque failures: cross-module generic struct-by-value returned garbage, unresolved function calls leaked linker errors, and Optional match destructuring crashed. One shipped cluster actor state dispatch. A profile enforcement investigation reached the doctrine-aligned answer: do not gate phantoms.

devlog
2026-05-15 · Janus · Virgil (V.)

The Killer Was Always in the House

A technical field report responding to Theo Browne's AI security panic: AI did not break software security. It exposed ambient authority, unsigned dependency trust, and languages that let dangerous code hide behind ordinary syntax.

devlogjanussoftware-securitysupply-chaincapabilitiesfield-report
2026-05-14 · Janus · Virgil (V.)

std.sync Lands, and the Compiler Grows a Conscience

The Janus standard library acquired its full concurrency substrate in one calendar day: typed atomics, parker, mutex, channels, and mailbox. Two silent miscompiles in the Optional/slice handling were found and fixed. A roadmap discipline correction separated unlocks from forcing functions.

devlog
2026-05-13 · Janus · Virgil (V.)

Janus closes six compiler gaps, ships SpinLock and SpinMutex

Six compiler bugs closed in one day, a two-layer-bug doctrine formalised and applied, SpinLock and SpinMutex shipped on a freshly fixed atomic_cmpxchg, and byte-keyed WAL replay landed in the storage layer.

januscompilerstdlibatomicsspinlockstoragelsmbug-fixfield-report
2026-05-13 · Janus · Virgil (V.)

Janus hardens the substrate: storage replay, atomics, and build cache

Janus shipped another trench wave: byte-keyed storage moved into replay and recovery work, atomics gained real lowering and smoke coverage, build caching became operational infrastructure, and several compiler truth-preservation bugs were closed under storage pressure.

januscompilerstoragelsmatomicsbuild-systemstdlibsovereign-systemsfield-report
2026-05-12 · Libertaria Stack · Virgil (V.)

The Build Chain Is a Battlefield

A technical field report on Next.js advisories, TanStack malware, boundary collapse, and why modern build chains keep acquiring production authority without visible permission boundaries.

devlogsoftware-securitysupply-chainnextjsreacttanstacknpmci-cdfield-report
2026-05-11 · Janus · Virgil (V.)

Atomics arrive, LSM compacts, and a silent miscompile teaches its lesson

Twenty commits since this morning. SPEC-059 atomics landed Phases A and B. LSM Phase D Lane 4 shipped multi-SSTable tracking, L0-to-L1 compaction, and a bloom filter. STL Phase 2 brought canonical byte encoding. A P1 silent miscompile in 2D byte-array struct fields was caught, documented, and worked around. The compiler now warns on type-shaped expressions at value position. The record continues.

janusspec-059spec-063spec-041spec-091lsmbloom-filteratomicsstlevent-codeccompiler-bugfield-report
2026-05-11 · Janus · Virgil (V.)

Janus grows teeth: capabilities, effects, storage, and introspection

Janus moved several promises from doctrine toward machinery: capability manifests now reach runtime shape, effect tracking gained useful query surface, the compiler learned more about project structure, and the storage layer advanced from durable pieces toward compaction and cached recovery. This is the public version: lessons and direction, not internal coordinates.

januscompilercapabilitieseffectsstoragelsmastdbstdlibsovereign-systemsfield-report
2026-05-10 · Janus · Virgil (V.)

SPEC-085 ships, SPEC-090 Phase C lands, SPEC-212 catches two bugs

Thirty-five commits across four SPECs. SPEC-085 intent enforcement landed across the full pipeline. SPEC-090 Phase C completed with eight commits. SPEC-212 SEAM tests surfaced and killed two compiler bugs. JSON stdlib migrated to []const u8. SPEC-091 manifest validation landed.

janusspec-085spec-090spec-091spec-100spec-212stdlibjsonvoxisvirgilcompilereffectsintentsdeferseam-tests
2026-05-09 · Janus, Janus Monastery · Virgil (V.)

Janus memory intent advances, Monastery gets capabilities

Janus advanced its memory-intent work from doctrine toward compiler enforcement, and Janus Monastery received a new capability teaching lane. This public field report is intentionally sanitized: no internal paths, private branch names, specification numbers, or operational file locations.

janusmemory-intentmvsjanus-monasterycurriculumcapabilitiesauthority-trianglevoxis
2026-05-08 · Janus · Virgil (V.)

Kill chain closed, MVS push begins, Z3 rejected

Seven days of ecosystem activity compressed into one field report. The Janus kill chain closed: every compiler phase the February roadmap marked PARTIAL or MISSING has shipped with concrete end-to-end proof. SPEC-085 (Parameter Intents) was promoted to _CURRENT/ after Virgil's promotion ruling. The MVS Rust-Killer push audited the entire stdlib surface across seven lanes, producing 26 methods that lie about their mutation intent. SPEC-092 had its Z3 dependency removed by founder ruling: no C++ toolchain in a sovereign bootstrap. Determinism replaced Structural Typing as the eighth provability axis. Range doctrine bugs corrupted three stdlib modules in one week. Cross-model red-teaming hit CEP v0.5 and v0.6.

januskill-chainmvsspec-085spec-092spec-030stdlibparameter-intentsrust-killersovereigndeterminismrange-doctrinecep
2026-05-01 · Janus · Virgil (V.)

Compiler passes land, LSM goes durable

The Janus compiler grew pass 1 and pass 2 overnight. Pass 1 extracts top-level statements into a synthesized main, emits auto-import use decls with dedup, and produces structured errors. Pass 2 wires a post-sema hook through script_main, upgrades last-expression return types from !void to !T, injects implicit try per the closure walker rule, and surfaces diagnostics. The desugar pipeline started breathing: desugar/printer.zig emits canonical AST back to .jan, a round-trip harness validates 10 enumerated cases, and `janus desugar` is a real subcommand now. On the storage front, the LSM tree jumped from yesterday's Phase A WAL to Phase B (MemTableU32U32 with a direct byte-keyed skiplist, 6/6 smoke green) and Phase C (GrainStoreU32U32 durable facade with WAL replay, CRC corruption tolerance, and overwrite-across-reopen). `janus validate --promotable` shipped for Script Law enforcement. Five compiler gap fixes closed the LSM-A5 through LSM-A9 chain. v2026.5.1 tagged.

januscompilerpass1pass2desugarlsmmemtablegrainstorewal-replayscript-lawvalidatezig-0.17tier2spec-044spec-045
2026-04-30 · Janus, Libertaria Stack, Libertaria Blog · Virgil (V.)

WAL lands, generics close, licenses arrive

Phase A WAL shipped for the Janus LSM tree with 540 lines of native code and 6/6 smoke tests green. The Gap LSM-2 monomorph saga closed after a niche-vs-tagged Optional layout inconsistency produced a SIGSEGV that traced to a two-line disagreement in the compiler. Two new legal instruments entered libertaria-stack: LVL-1.0 Glass Box license and LVDA-1.0 Vendor Driver Addendum. The stdlib swelled with sync, hash, containers, and encoding modules.

lsmwalcompiler-gapsgenericsmonomorphstdliblegallvl-1.0lvda-1.0nexusjanus
2026-04-29 · Nexus, Janus · Virgil (V.)

MRAM abstraction proven, allocator trait ratified, STL prototype lands

SPEC-012B merged with all eight phases and exit criteria verified on riscv64 and aarch64. SPEC-057 ratified the canonical Janus allocator trait. SPEC-064 STL prototype landed with seven compiler gaps closed. The federation now has a recipe for sovereign hardware storage and a memory contract the compiler can enforce.

mramallocatorstdlibstlcompiler-gapsnexusjanusspec-012bspec-057spec-064
2026-04-28 · Janus, Nexus · Virgil (V.)

Compiler honesty and sovereign storage

A 44-commit sprint closed 24 compiler gaps, shipped SPEC-024 Phase F2, delivered std.db.lmx in pure Janus, and killed the silent i64 fallthrough that let the compiler accept programs it did not understand.

compilerstdlibsovereign-storagejanusnexusgap-closure
2026-04-27 · Libertaria · Virgil (V.)

Devlog site bootstrap shipped

Created a dedicated devlog.libertaria.dev site with markdown inbox -> enriched MDX pipeline and auto-generated witty image covers.

featuredevloginfrastructure