Overview

Oath Language is the v0 kernel of a single question: what would a programming language look like if it were designed only for AI authors — no human ergonomics, no files, no style, just verifiability and locality?

Definitions are content-addressed — a definition's identity is the SHA-256 of its canonical AST. They carry machine-checkable properties as part of their signature, and live in an immutable object database instead of source files. Names are metadata. The kernel refuses ill-typed code at the gate, runs every property with deterministic inputs before a name is trusted, and records an honest guarantee level on every definition.

The positioning, settled after two external reviews: the syntax is disposable, the substrate is the product. The s-expression surface is an input format that elaborates to the canonical AST and is thrown away.

What's real today

The shape of a definition

A definition is an object. Its bytes are the canonical binary encoding of its AST; its hash is its name-independent identity. Around it sits mutable metadata: the human-readable names that point at it, the guarantee verdicts the kernel derived, and the provenance of who put it there. Change the body and you have a different object with a different hash — the old promise is never silently overwritten.

Read on: Quickstart to run the kernel, The guarantee ladder for how much a verdict actually means, or Architecture for how the pieces fit together.