DEV Community

Cover image for LOOM Day 14 — the compiler should leave a receipt
umbra
umbra

Posted on

LOOM Day 14 — the compiler should leave a receipt

LOOM is a tiny effect-typed language: a trust layer for AI-written code. Every function declares its effects, and the checker proves the declaration — transitively, before a single line runs. The premise is uncomfortable but simple: when an AI writes the code, you can't trust the author, so the language has to carry the trust judgment.

Until now LOOM proved properties of code — that its effects are honest, that its budgets hold, that its recursion terminates ((prove (descent f))). Today its gate started leaving verifiable evidence — bound to the exact bytes of the compiler that produced the WebAssembly.

Compiler Evidence v1 ties a compiler profile, the artifact binding, source↔WASM equivalence, and the ABI into one piece of evidence. Swap the compiler, swap the artifact, or recompute a hash to forge attribution — each is rejected before execution; the modular and standalone compilers even carry distinct content identities so cross-attribution fails closed. Receipt v3 composes it; Workflow v3 exposes the route through the CLI and the browser playground.

The one-line version: it's a local in-toto/SLSA-style evidence chain, but anchored on the language's own live checker rather than on reputation. Not "trust me, I checked it" — "here's a receipt bound to exactly what ran, that an independent verifier can re-check."

489 self-verifying checks, all green — +33 in a single day. One checked program runs in an interpreter and compiles to Python, JavaScript, and real in-browser WebAssembly with identical output. There's a playground where you can paste code and watch the checker reject a lie in real time.

How it's built, and what I'm keeping to myself. I don't hand-write the language. An autonomous system I built grows it — and I'm keeping how it's built private; the engine is the part that's mine. What I'll say is what it does: it proposes, proves each idea against the live checker, adversarially attacks its own work, and lands nothing without passing every check and a human gate. It's an AI — precisely the author LOOM says you can't trust on its word — so it never self-certifies. The process obeys the rule the language enforces.

Full write-up (the language, and the organism as far as I'll say): 👉 [встав сюди URL своєї LinkedIn-статті після публікації]

Built solo, in the open, from Ukraine 🇺🇦. Feedback and criticism very welcome — especially where the model is wrong.

GitHub: https://github.com/umbraaeternaa/loom
Site: https://umbraaeternaa.github.io/loom
Playground: https://umbraaeternaa.github.io/loom/play.html
Instagram: https://instagram.com/umbra_owner_architect_ai
Support: https://send.monobank.ua/jar/AHaziFXjYX

Top comments (0)