Capabilities tour
Each capability below starts from a problem, shows what GND does about it, and links to a page where you can run it. For prerequisites and limits, see supported capabilities.
Check what the agent produced
Pass, fail, warn, or cannot decide. An agent answered; was the answer acceptable?
gnd check evaluates every constraint and returns one of five bands. Failures name the
constraint and the offending facts. Unknowns are reported, never guessed.
--format json gives a stable report with acceptance_ready.
Example: a shipping request whose route exceeds its deadline fails
constraints[1] (dispatch_deadline), and the repaired request passes.
→ Run a check in 60 seconds
Hard rules and advice. Not every rule should block. Alethic constraints decide
acceptance; deontic ones produce warnings and the output can still be used.
Example: recommending a book Ada already rated fails unread_only; recommending
outside her preferred genre only warns. → BookRec, chapter 2
Thirteen constraint families. Uniqueness, mandatory, value, frequency, subset and equality, exclusion and exclusive-or, ring constraints (thirteen variants), comparison, cardinality, subtype partitions, guarded rules, source anchoring and textual requirements. → Constraint coverage
Batch and in-process. Check a directory of populations into one matrix with
gnd check MODEL --populations DIR, or call the same checker from your application
through the stable gnd.api. → Python API
Check plans, not only states
Plan mode. An agent proposes reimburse_expense(41) for an expense that is still a
draft. gnd check --pre STATE --steps PLAN walks the plan, computes the result, and
fails the step whose precondition does not hold (pre_submitted). The revised plan
(approve, submit, reimburse) passes. → Check an agent's plan
The frame check. An approval also flipped a bystander expense to rejected. Every
fact is individually legal, so no snapshot check can see it. Supplying the claimed
--post makes GND compare declared and actual changes and fail the undeclared one.
→ A side effect nobody declared
Walk requirements. A session contract can require operations (a specific approval
must happen) and forbid others (no payment without approval). The feedback reports
required-op-missing or forbidden-op-present, without revealing private bindings.
→ Experiment sessions
Derive facts instead of trusting the agent's
Derived fact types. An agent should not guess which books are eligible; the model
can compute it. Structured derivations support joins, stratified negation, recursion
(warehouse A reaches C through B), exact integer arithmetic and aggregates (count,
sum, min, max, avg). → Data and transitions
Claims checked against the derivation. If the application also claims derived
facts, GND compares claims with the computed extension. A missing claim is reported as
derived-extension-incomplete and a wrong one as derived-extension-unsound, each
naming the tuple. → BookRec, chapter 6
Three-valued results. Opaque values and unknown inputs propagate as unknown, which is reported as band 4 (indeterminate). Unknown never becomes yes or no. → ORM: the executable ontology
Fixed reference data and calendar dates. Catalogs the agent must not rewrite are bound by path and SHA-256 as reference populations. Removing the catalog is an input refusal (exit 3), not an empty catalog. Calendar-day dates and durations support deadlines. → Data and transitions
Run agents in a bounded loop
Sessions. A contract fixes the inputs, the verifier, the acceptance mode (exact
bytes, constraint satisfaction with coverage floors, sealed tests, or a transition walk)
and the budget. gnd exp run loops attempt, check and closed feedback until one of six
recorded dispositions. Example: attempt 1 is rejected at reimburse_expense, and
attempt 2 is accepted at band 0. → Drive an agent against the verifier
Small models, any agent. Claude Code, Codex, any declared command or any OpenAI-compatible endpoint can be the agent. Every plan is checked the same way, so a cheaper model is safe to try: a wrong plan is rejected and retried, never trusted. Recorded: a 4B model that never succeeded on its first try was accepted in two of three bounded sessions. → Recorded agent sessions
Answer keys never touch the disk. gnd exp author-expectation hashes an exact
expected answer and removes the source, so an agent cannot read the answer from the
workspace. Saved external judgments can gate acceptance with confidence floors
(gnd judgments check). → Experiment sessions
Author and evolve the ontology
Model by dialogue. gnd-model-from-text runs Halpin's design procedure with you:
examples first, then facts, then constraints. Every constraint records its source and
your words. → Model a domain by dialogue
Recover, adopt, import. Recover a model from an existing codebase with recorded
evidence (gnd recovery), migrate a GSD project's requirements (gnd-adopt), or import
an ORM model written in the RelationalAI ORM-skill dialect (gnd import rai-orm).
→ Evolution and recovery
Change rules with a blast radius. gnd evolve preview lists everything a change
touches before it is published; apply publishes with compare-and-swap and rechecks
linked projects. Example: the same frozen recommendations pass before and fail after
an advisory rule becomes a hard one. → Change the rules safely
Compare versions. gnd diff reports bounded entailment between two models and how
each judges given populations. → Python API: diff
Read it back. gnd verbalize population turns any population into sentences for a
reviewer or the next agent turn. → Python API: verbalize
Build the application around the model
Code generation with clear ownership. gnd codegen writes the model-derived half
of a Python project; your extension code is never overwritten (exit 11 refuses instead).
→ Generate a project
Conformance and architecture contracts. gnd conformance detects drift between
project and model (exit 13), including declared architecture: the layout, entry points
and smoke cases your extension promises. → BookRec, chapter 5
Publish only checked output. The generated application calls gnd.api.check
before publishing, so the application checks itself at run time.
→ BookRec, chapter 4
Test the tester
Synthetic populations. gnd synth generates conforming, boundary and violating
populations from the model, using 26 mutation operators, with recorded seeds.
→ Synthetic data
Measured verifier. gnd measure reports false-pass, false-fail and undecided rates
per constraint, each with its own denominator. It never blends them into one accuracy
score. → Read measurement per constraint
Documents
Extract facts, quote-not-obey. gnd-extract reads a document into a population
with a digest-bound sidecar; instructions inside the document are treated as data.
gnd verify checks the handoff, then the facts. → Documents in, documents out
Render test documents with distractors. gnd-render-doc writes a document from
known facts and plants three kinds of distractors; gnd doccheck verifies the
rendering, and gnd fidelity measures the round trip.
→ Documents in, documents out
Source anchoring. Bind values to spans in the source document and check that each has a witness. → Documents guide
Other engines and independent evidence
Soufflé. Export recursive derivations as standalone Datalog; trace which services a vulnerable dependency reaches. → Soufflé: dependency impact
Lean. Export finite definitions with explicitly unproved obligations. Prove that an approval policy step is redundant, and find a counterexample to a tempting converse. → Lean: policy proofs
PyRel. Export a standalone relational program that runs locally on DuckDB; Snowflake execution is not yet supported by gnd export. → PyRel: approval audits
Witnesses. gnd witness produces a finite derivation certificate and gnd replay
re-checks it with a separate kernel. → Exports and witnesses
Review panel. Six reviewer seats across five CLIs with a quorum of three. The panel keeps every dissent and never applies a fix. → Exports and a second opinion
Assurance, honestly labelled
GND's checker kernel was machine-verified with the Nagini verifier in the development
repository, and a result can carry a proof-backed assurance label when every
applicable obligation is covered by current evidence. That evidence bundle is not
shipped in this release, so public builds report assurance as unavailable. GND never
upgrades an assurance label silently. Exports and replays are separate evidence and
grant no assurance. → Formats and errors
See the release notes for the milestones in which these capabilities were built.