#Glossary

A comprehensive reference of terms used throughout WRIT and kbpy.

#Core Domain Model

Term Definition
Entity Type The schema — defines what kind of thing exists and what attributes it has. Like a class definition.
Entity Set A collection of entity instances, loaded from attestation data. Like a table of rows.
Entity A single instance of an entity type within an entity set. Like a row.
Exhaustive set A complete collection — if an entity is not in it, it definitely does not exist. Missing lookups return Void.
Partial set An incomplete collection — missing entities might exist elsewhere. Missing lookups return Unknown.
Attribute A property of an entity type (e.g. salary, name). Defined in the DSL with type, source field, and sentinel values.
Relationship A link between entity types (e.g. Employee → Department). Traverses from one entity set to another via matching attributes.
Domain A complete knowledge base — entity types, expectations, and data sources for a particular area of concern.

#Expectations and Alignment

Term Definition
Expectation A declaration that certain partition branches should be empty. The core unit of alignment measurement.
Expector The stakeholder who holds the expectation — the person or team who wants something to be true.
Expectee The entity responsible for making the expectation true — who should act when there is misalignment.
Campaign An expectation with no step towards clause — the root of a scope tree. Scoping to a campaign brings all descendant expectations (via step towards) into scope. All evaluation is scoped to a campaign.
Action A step to bring reality in line with an expectation. Directed at the expectee when an expectation evaluates to false.
Question A request for missing data. Directed at the attestor when data is unknown.

#Data and Attestation

Term Definition
Attestation A piece of data with a timestamp — someone or something asserted this fact at this time.
Attestor The person or system that provided an attestation. When data is missing or stale, questions are directed to the attestor.
Attestation Source Where attestation data comes from — a CSV file, a Splunk query, a database. Each source has an attestor.
FluentFact A time-aware attribute descriptor. Produces 3vl values and tracks staleness. Named after the AI concept of a "fluent" — a fact that changes over time.
Steward A named relationship from an entity set to a responsible stakeholder entity. Used in expectee traversals.

#Three-Valued Logic

Term Definition
Three-valued logic (K3) Kleene's three-valued logic system. Values are true, false, or unknown. Used throughout WRIT for evaluation.
Unknown A 3vl state meaning "the value exists but we do not know it yet." Generates questions.
Void A 3vl state meaning "the value cannot exist — the precondition failed." Does not generate questions. Stronger than Unknown in logical operations.
Uncertain The UI display term for Unknown values. Users see "uncertain" rather than the technical "unknown."
Reason chain A tuple of strings tracking how a value was derived, providing full provenance for debugging.

#Evaluation

Term Definition
Partition A predicate that classifies entities into five branches: is_true, is_false, is_known, is_unknown, is_void.
Predicate A logical expression that evaluates an entity and returns a three-valued result. Used within partitions to classify entities.
Typed unknown A synthetic entity with all-Unknown attributes, added to partial sets to discover what attributes matter and who to ask about missing data.
Scoped registry A filtered copy of the domain registries containing only data relevant to a specific campaign.
Unknown Discovery Problem The fact that unknown counts can only be determined by evaluating every entity through every predicate — missing data alone is insufficient because Kleene logic can absorb unknowns into definite results.

#System Components

Term Definition
kbpy The knowledge base engine. Parses domain DSL, evaluates expectations, generates questions and actions.
writ-kb The Remix web application for visualising domain state, expectations, and evaluation results.
DSL Domain Specific Language. The .kb file format used to define domains in kbpy.
DatomStore SQLite-backed entity-attribute-value store used by kbpy for persistence.

#See Also