Skip to content

What GND supports

GND combines a conceptual model, deterministic checks, and agent workflows for building applications around explicit domain rules. Choose a capability by the question you need to answer. The supported fragment differs between checking, generation, measurement, and external exports.

The tutorials exercise local Python/CLI paths with synthetic public inputs. An available command is not by itself a measured support claim for every operating system, Python version, provider, or native toolchain. See the compatibility policy for release support.

Capabilities by task

Task Supported surface Principal boundary Start here
Describe a domain and its rules ORM YAML/JSON; guided text-to-model skill; readable verbalization A person reviews requirements and inferred constraints Modeling
Validate a model CLI validate; api.validate Valid syntax/semantics do not establish complete requirements Python API
Check candidate facts check; api.check; admission projection Checks supplied facts and declared coverage; no automatic repair Quickstart
Explain supplied facts verbalize population; api.verbalize Deterministic sentences are not a truth judgment Python API
Explain a missing derived fact why-not; api.why_not Declared-order steps and the first empty one; counts values spelled differently; no aggregates or prose rules; values redacted by default Why-not
Serve internal or customer readers GND_DISCLOSURE, --disclosure Customer mode refuses requests for values; a guard, not a lock, for code inside the process; some outputs are the same in every mode Disclosure
Compute derived relations Structured clauses, joins, supported exact terms, stratified negation, recursion and aggregates Resource bounds and construct-specific validation apply Data and transitions
Check calendar deadlines Date/Duration guarded comparisons Calendar days only; no live clock, timezones, or business calendar Data and transitions
Use a fixed catalog Version-4 reference populations with path and byte-hash binding Candidate/reference fact ownership is disjoint Data and transitions
Audit an operation walk check --pre --steps --post; api.transition Frame checks cover the walk's touched fact types Python API
Reuse a checked pre-state api.check_with_receipt; api.transition(pre_receipt=...) In-process, default options; only the pre-state check is skipped Python API
Recheck related snapshots api.EvaluationSession Explicit loaded-input session; conservative fresh fallback, one bounded generation, full snapshot validation Python API
Incorporate host observations EvaluationSession.observe, check_with_feedback Validated relation replacement; counts are diagnostic, not external truth; separate in-process feedback wire Host loop
Generate a Python project codegen plus explicitly selected skill Developer writes extension behavior; temporal models refused Generated projects
Detect model/project drift conformance; static architecture checks Does not execute the app or verify all extension behavior Generated projects
Change an existing model Staged evolve preview/apply/finalize Explicit reviewed changes; no automatic regeneration Evolution
Discover rules in data discover over one population Proposes induced, advisory rules only; admission is a reviewed evolve step; single-role families, stated bounds; opt-in fact-type family proposes fact types from a declared generic fact type, rendering the gnd-judge-fact-types and gnd-model-multivalued skills' verdicts when given Discovery
Recover a model from code Bounded recovery inventory/verify and authoring skill One-time static selected roots; no continuous synchronization Recovery
Compare compatible models diff; api.diff Same vocabulary; bounded entailment catalogue and concrete populations; no temporal models Python API
Exercise rule behavior synth, measure Optional synth dependency; generation is narrower than checking Synthetic data
Measure rules on your own labels measure --labels Host-labelled populations; expected-state rates or class agreement counts; labels are your claim, not checked truth Measuring host labels
Learn rules with an ILP learner or rule miner export ilp, import ilp-rules, import mined-rules GND runs no learner; adapters popper, neutral, ilasp, llm, rules (labelled) and amie (unlabelled); learned clauses in a declared fragment become induced, advisory guarded constraints only when GND's own count equals the learner's, and mined rules only when they also hold for every case; each learner's rendering was run against one real learner version, one run per approved setting (neutral through the language-model run) (comparison) ILP bridge
Extract and check document facts Offline extraction bundle, agent skill, verify, source anchors Agent performs extraction; checking is distinct from fidelity Documents
Render evaluation documents Agent rendering skill, doccheck, fidelity Bound manifests and distractors; fidelity remains a separate measured claim Documents
Run a bounded agent experiment exp commands and selected adapter/policy Requires authored contract; live adapter prerequisites are separate Experiments
Evaluate saved external opinions judgments check; explicit session judgment gate Consumes receipts; does not obtain opinions or calibrate providers Experiments
Compose several documents' facts compose, check --composition --sources; API compose Explicit manifest renamings only; re-derived on check; each anchored value checked in its own document; lineage proves no truth Composition, how-to
Explain a finite derived tuple witness, replay, witness-view; API witness/replay; --composition for source lineage Selected positive proof fragment, not extension completeness Exports
Export to external runtimes Bounded Souffle/Lean/PyRel profiles Export, native execution, compilation and proof are distinct Exports, worked native guides
Review a plan or result Explicit advisory review-panel skill and CLI Live tools/credentials; reviewer findings do not apply fixes Exports and a second opinion

Constraint coverage

Family What checking supports
Uniqueness Internal role combinations and external identifiers
Mandatory Individual roles and inclusive-or participation over the declared instance set
Values Enumerations, ranges, multiple ranges and supported role-scoped forms
Frequency Internal and external occurrence bounds
Relational inclusion Subset and equality over declared role sequences
Exclusion and partitions Exclusion; exclusive-or, with only the exclusion component for multi-role sequences
Ring properties Thirteen variants; each has its own local relation semantics
Comparison Supported typed comparisons; current-time operands remain unchecked
Cardinality Object and role counts
Subtype partition Checks when required membership is observable; otherwise unchecked
Guarded rules Bound antecedents with supported relation, comparison or absence consequences
Source anchoring Bound document spans and supported lexical/numeric/date matching
Textual requirements Preserved, but reported unchecked by the deterministic checker

The constraint reference is the detailed authority for syntax and semantics. “Supported” does not mean every downstream tool accepts every combination of these constructs.

Compatibility between feature families

Temporal models currently work in validation and documented check/transition surfaces, including the packaged dispatch admission example. They are refused by synth, measure, codegen, conformance, diff, extraction, document checking, and the existing PyRel exporter. Date values alone do not necessarily select temporal arithmetic; Duration and temporal terms do.

Native proof/export profiles have separate restrictions. The witness lane does not admit negation or aggregates; Souffle exports exclude constraints and operations; Lean uses a selected finite acyclic fragment. Unsupported input is not silently converted to a successful partial export.

What an application still provides

GND does not supply a hosted application, database, UI, deployment service, universal optimizer, or recommender ranking-quality guarantee. Your code decides how to obtain facts, propose outputs, persist state, and present findings. The model states what those outputs must satisfy.

Mechanical verdicts, model/project conformance, experiment acceptance, extraction fidelity, advisory review, and formal assurance are different results. A pass in one does not automatically confer the others. Missing or stale assurance evidence remains unavailable; the documentation tutorials do not perform certification or recertification.