Glossary

Terms are in alphabetical order, one line each. The specification has a vocabulary of its own, defined in its own text, and this is not that list.

TermMeaning
ArtifactWhat a tool produces from your policy and acts on. A YAML or JSON file, a plan of changes, or a manifest sent to a server.
BuildOne reading of a whole project by a tool. The specification writes it as the set of files, the imports between them, and the build parameters.
chantThe infrastructure toolchain the specification was extracted from. It is an implementation of the specification and declares which version.
ConformanceWhether an implementation gives the verdicts the specification requires. The conformance suite is the set of fixtures and the runner that checks an implementation against them.
CorpusA body of real projects that nobody wrote for testing, run through two implementations to see whether they agree. chant’s example projects are one; a project nobody here maintains is another.
Data-host profileThe subset of the specification an implementation with no JavaScript runtime implements. It reads files and never runs anything, so an envelope is its output.
EntityAn object a host’s class produces, such as a bucket or a repository. It is opaque to the fold and carries its own identity.
EnvelopeA placeholder object the fold writes for something it cannot build without code: a resource, an intrinsic call or a reference to another entity’s attribute. A serializer turns it into output.
EvaluatorA program that folds files. The reference implementation is one in TypeScript; tsad-eval is one in Rust.
FixtureOne test case for one rule: a small file or project and the verdict the specification requires for it.
FoldReading a file’s values off its text without running the file. The verdict fold means that succeeded, and the file’s exports are known.
forgejo-wardenA tool that keeps a Forgejo code-hosting organization in a declared state. It is the first consumer of the reference implementation that is neither this repository nor chant.
HelperA small function a host supplies for authoring, such as a string transform, that a folded file may call.
HostThe tool reading the policy, as the specification sees it. A host supplies classes and rules, an intrinsic registry and a trust set of packages; the specification says how each is admitted.
Lexiconchant’s word for a package that supplies the types and classes for one target, such as Kubernetes or AWS.
PolicyThe file that says what you want, read by a tool that makes the world match it. On this site it is governance.ts.
Pre-synthesis, post-synthesisThe two phases a rule may run in: over the declared values before anything is emitted, or over the emitted artifact. The fold is what makes the first phase possible without running the files.
ProfileA named subset of the specification an implementation may claim. There are two, full and data-host.
Reference implementation@intentius/tsad-reference, an evaluator written from the specification text and nothing else, used to check the text is complete enough to implement from.
Rule over valuesA check over what a project declares, across files and resources, as opposed to a type check on one value; tools call it semantic linting. chant’s lexicon rules and forgejo-warden’s guardrails are examples; the specification defines only the contract they run under.
RunThe fallback when a file cannot be folded. The JavaScript engine executes the file and the tool takes whatever the exports hold at the end; the verdict’s reason names the line that made the file a program.
SerializerThe part of a host that turns folded values, envelopes included, into the artifact.
VerdictThe specification’s answer for one file, fold with the exports or run with a reason.
YAMLThe text format most deploy tools read their settings from. It nests by indentation and pairs each key with a value, and nothing in it can check a key exists.