The specification layer of the ComputeDriven stack

A spec is a claim about behavior. Give the claim a checksum.

The industry spent 2025 agreeing that the spec — not the prompt, not the code — is the source of truth. Good. This page is about the question that stayed open: when are two specs the same spec, and what shows a run obeyed one? Here, a spec's meaning is a content-addressed canonical graph, and its identity is a string any machine can derive. Same string, same spec.

The settled question

Specs won. We are not here to reargue it.

By mid-2026 the argument is over. GitHub's Spec Kit — an MIT-licensed, agent-agnostic toolkit — passed a hundred thousand stars this June. Amazon made Kiro, its spec-first IDE, generally available on 17 November 2025, turning prompts into EARS-notation requirements. OpenSpec holds tens of thousands more. Every major coding agent now ships some flavour of spec-driven development, and the phrase of the year is "the spec is the prompt."

That consensus is the starting condition, not the product. Every one of those specs is prose — structured Markdown held together by convention and good intentions. The tools disagree about format, lifecycle, and tooling, but they agree completely about substance: a spec is a document a person reviews. We think that leaves the two hardest questions untouched.

The unsettled question

When are two specs the same spec?

Rename a variable in a Markdown spec and the diff lights up, though nothing about the claim changed. Quietly weaken an acceptance criterion and the diff is one line among forty. Prose specs answer "did the meaning change?" with a review meeting. And on the other side of the loop: what shows a run actually obeyed the spec? A passing test suite is a sample, not a proof of what happened. We think both questions deserve arithmetic.

Identity, not diff review

A spec here canonicalizes to a graph, and the graph hashes to an identity — a sem- string. Reformat the document, reorder clauses, rename freely: the identity holds. Change what the spec claims and the identity moves. "Did the meaning change" becomes string comparison, which means CI can answer it.

Evidence, not assurance

A run against a spec seals into a film — a bundle someone else can replay on their own machine and get the same result, byte for byte. Conformance stops being a claim in a README and becomes an artifact you hand over. The receipt side of this story lives at fleetprompt.com.

What a spec is here

WRL underneath, Markdown on top — and nothing in between.

The machinery is the WRL / TRVM / TRAAVIIS stack, documented at traaviis.com. The friendly surface is SPEC.md, and it is already built. Honesty requires the order to be stated plainly: both ends exist and nothing joins them. The machinery derives identities. The front end parses Markdown. No compiler runs between the two, so today a SpecPrompt spec is a validated document and not yet a checksummed one.

  • WRL is the spec language. A program — or an agent's contract — is a network of riders separated by walls. Its meaning is a content-addressed canonical graph; its identity is derived from that graph, not from the bytes of the source file.
  • TRVM is what reduces it. A term-rewriting runtime on the interaction calculus, where every step is a local rewrite and the result is schedule-independent — the property that makes "replay it yourself" a coherent offer rather than a hope.
  • The document boundary is typed. The world (what the spec claims) and the scenario (what a particular run feeds it) are different documents, and mixing them is a typed rejection. An LLM's output enters as a claim, canonicalized at OBSERVE — so a film stays byte-exact even when the model behind it is not deterministic.
  • Acceptance tests are films. A spec's acceptance runs seal into replayable bundles via TRAAVIIS's verifier, trvs. The bundle either replays to the same identity on your machine or it doesn't. There is no third state to argue about.
  • The front end is built; the compiler to WRL is not. SPEC.md — parser, validator, linter, differ, a CLI and eight MCP tools, 93 tests across Elixir and TypeScript, deployed at app.specprompt.com — is a real toolchain, built against the prose-spec consensus above and sharing its limits. What it cannot do is compile to WRL. That compiler is named, shaped, and unwritten, and it is the only thing standing between the two halves of this page.
Measured

What the numbers actually are, on 2026-08-09.

One demo world exists. Its identity, sem-8ae91fe9cbc5fd08, is derived identically on the Arch Linux workstation that builds the T&R image and on a booted T&R guest — two operating systems, one string. The verifier's own doctor reports status ready on the guest: engine v0.7.0-alpha.5, reference interpreter and native runtime both present.

What that is not. It is the same implementation running on two systems, not two independent implementations agreeing on a semantics. The identity claim is only as strong as the single codebase that computes it. As of 2026-08-09 the guest is no longer hand-assembled — the T&R build installs both pieces, and the machine that derived the string was created from that image and never touched afterwards. That removes a hand-copying caveat; it does not create a second implementation. The stronger claims are different claims, and this page has not made them.
Status

What exists, and what is a name.

Every row measured or admitted, 2026-08-09
Piece What it is Status
WRL the spec language — meaning as a canonical graph real · upstream
TRVM the term-rewrite runtime that reduces it in the T&R image
trvs / TRAAVIIS seals a run into a replayable film alpha · v0.7.0-alpha.5
Identity check same sem- id on two operating systems measured · once
SPEC.md toolchain parser, validator, linter, differ, CLI, 8 MCP tools — 93 tests, live at app.specprompt.com built · superseded
Spec registry publish and browse specs — deployed, without films built · superseded
Markdown → WRL compiler prose in, identity out — the join between the two halves not built
Diff by identity “did the meaning change?” as a string compare not built
Second implementation independent derivation of the same identities not built
Open

What doesn't work yet, on the same page as what does.

A page that only publishes its wins is asking you to take the wins on faith. These are the current holes, stated at the size they actually are.

The product on this domain is the previous one

What is deployed is the SPEC.md toolchain — real, tested, and built for the prose-spec world this page argues past. The compiler that would give a spec a derivable identity is a plan with a shape and zero lines of code.

Identity covers the world, not the model

An LLM's output enters a run as a claim canonicalized at OBSERVE. A sealed film makes the run replayable — it does not make the model deterministic, and this page should never be read as saying so.

One implementation

"Same identity on two machines" currently means one codebase agreeing with itself. Until a second, independent implementation derives the same sem- ids, the semantics rests on one program.

Ergonomics unproven

Whether working engineers will accept graphs-with-checksums over prose they can skim is untested with anyone but us. The Markdown front end exists precisely because we suspect the answer is no.

Drift detection is demo-sized

Catching spec-versus-implementation drift by identity has run against exactly one world. Every claim about it scales from a sample of one.

The old roadmap slipped

The previous page promised a v1.0 format in Q1 2026 with parsers in two languages. The parsers shipped — Elixir and TypeScript, same output. The v1.0 format did not, and the quarters passed. The dates are gone; the status table above replaced them.

This page replaces an earlier one. The earlier specprompt.com carried a quarterly roadmap whose dates passed without the v1.0 format they promised, and an ecosystem diagram drawing a pipeline its products had never run end to end. The dates are gone. What remains is either measured, linked to something you can run, or marked not built — and where a thing is built and deployed but replaced by the argument above, it says built · superseded rather than taking credit for it or pretending it was never there.
Follow the work

If the unsettled question is your question too.

The machinery is public and documented; the front end will grow in the open. If you maintain specs for agents and the phrase "did the meaning change?" costs your team meetings, we would like to hear how — that conversation shapes what the compiler accepts.

Email
hello@computedriven.com
Machinery
Source
Studio