Frequently Asked Questions
Years of the same great questions, finally with permanent answers — each one with receipts, links into the running proof, and the back stories behind it. Every question here has its own page, so you can point at it forever.
Isn't this just a toy?
No — and you don't have to take our word for it. The latest conformance run graded 473,312 cells of one rulebook's output across independent substrates — Postgres, Python, Go, TypeScript, Entity Framework, OWL — and every substrate with a closure engine agreed, cell for cell.
Read the full answerIs This Real?
The questions skeptics ask first — answered with receipts, not reassurances.
Isn't this just a toy?
No — and you don't have to take our word for it. The latest conformance run graded 473,312 cells of one rulebook's output across independent substrates — Postgres, Python, Go, TypeScript, Entity Framework, OWL — and every substrate with a closure engine agreed, cell for cell.
Read the full answer →Isn't this just low-code / Model-Driven Engineering again?
MDE's thirty-year track record of underdelivering is the right prior to bring — which is exactly why the substrate-equivalence claim here is checked empirically by a conformance harness, not asserted in a whitepaper.
Read the full answer →Expressivity & Theory
What the rulebook's declarative core can express, where the proven boundaries are, and why those boundaries are reasons for primitives — not walls the rulebook stops at.
Can a rulebook express transitive closure?
Yes — closure is a first-class field type in the rulebook. You declare "type": "closure" over a relationship, optionally with an edge filter, and every substrate emits it: WITH RECURSIVE in Postgres, owl:TransitiveProperty in OWL, an explicit traversal in Python, Go, and TypeScript.
Read the full answer →Why isn't closure just a formula?
Because a theorem says it can't be: no first-order formula with aggregates computes unbounded reachability. A bounded chain of lookups only fakes it until the graph gets one hop deeper — so the rulebook gives closure its own declared field type instead.
Read the full answer →Where is closure actually defined in each substrate?
In the rulebook, once — and then each substrate emits that one declaration with its native machinery: WITH RECURSIVE in Postgres, owl:TransitiveProperty in OWL, explicit traversals in Python, Go, TypeScript, and Entity Framework. A film series walks through each one.
Read the full answer →Getting Started
What you get for free, where the seeds are, and what a first project actually looks like.
