This glossary defines the core concepts and symbols used throughout QNTX. For a conceptual overview, see Understanding QNTX. For system architecture patterns, see Two-Phase Jobs.
Both a type system AND storage system for attestations. For storage details, see Bounded Storage. It defines:
The atomic unit of QNTX — a signed, immutable claim in the form: [Subject] is [Predicate] of [Context] by [Actor] at [Time]
Example: USER-123 is member of TEAM-ENGINEERING by hr-system@company at 2025-01-06T09:45:00Z
Unique identifier for attestations. Always random for uniqueness, ensuring no collisions.
A distilled attestation — the compressed aggregate of many attestations folded into one. Created when bounded storage enforcement evicts attestations (Rust path) or when the Pulse age-trigger fires (Go path). A sigma carries _count (batch size), _total (transitive observation count), _first_seen/_last_seen, merged attributes (numeric → min/max/sum/count, string → frequencies), and a temporal _histogram.
Sigmas are normal attestations — they participate in enforcement and can be recursively meta-distilled (sigma of sigmas). Each generation grows heavier: first-gen sigmas average ~5k observations, meta-distilled sigmas reach 100k+. The _version and _rust_version attributes track which code produced each generation.
Identified by _distill: true in attributes, source: "distill", and predicates prefixed with distill:. Rendered in the UI as the sigma glyph (Σ) with histogram bar charts, numeric range bars, and pie charts for string frequency distributions. See ADR-020 and Bounded Storage.
See SYMBOLS.md for the complete symbol reference — segments, attestation building blocks, derived types, and system symbols.
am.toml (preferred) or config.toml (compatibility)qntx.toml~/.qntx/am_from_ui.toml (auto-generated, never in project)/etc/qntx/config.toml) - lowest~/.qntx/config.toml)~/.qntx/am_from_ui.toml)./config.toml)QNTX_*) - highestAlways shows source in UI to debug precedence issues.
Core is minimal, containing only:
Everything else is a plugin communicating via gRPC for isolation.
The ai/tracker records API calls and feeds data to pulse/budget for centralized budget management.
Uses both REST API and WebSocket:
Hard limits with oldest deletion by default. Future versions will support user-defined retention policies.
Flexible based on predicate - can be single timestamp, range, or point-in-time with duration.
Versioned with migrations using the migration system in db/sqlite/migrations/
errors.Wrap() for contextqntxtest.CreateTestDB(t) for all database testsupstream (Python global)When a meld edge triggers a py glyph, the triggering attestation is injected as a Python dict named upstream. The glyph code doesn't fetch or subscribe — it is invoked with the attestation already present. Each matching attestation triggers a fresh execution.
upstream = {"id": "...", "subjects": [...], "predicates": [...], ...}upstream = NoneThe name upstream reflects that the attestation comes from the upstream glyph in the meld DAG. Injected by the Rust runtime (qntx-python/src/execution.rs) alongside attest(). See development/glyph-attestation-flow.md for the full model.
attest() (Python builtin)Creates an attestation from within a py glyph. Injected into the Python execution context by the Rust runtime (qntx-python/src/atsstore.rs) — not a library import, just available as a global function.
attest(
subjects=["alice"],
predicates=["enriched"],
contexts=["pipeline"],
actors=None, # defaults to ["glyph:{glyph_id}"] when running in a glyph
attributes={"key": "value"} # optional, arbitrary JSON
)
Returns a dict with the created attestation's fields (id, subjects, predicates, etc.). When called inside a meld-triggered execution, the output attestation can trigger further downstream glyphs if the DAG continues.
glyph:{id}Attestations created by canvas glyphs carry actor: glyph:{glyph_id}. This is how producer→downstream edges scope their subscriptions: the edge watches for attestations from that specific upstream glyph. Defaulted automatically by attest() when running inside a glyph execution context.
ax contact # Find all attestations about contacts
ax is member of TEAM-ENGINEERING # Find team members
ix https://api.example.com/data # Ingest from API
ix file://./data.json # Ingest from local file
qntx am show # Show all configuration with sources
qntx am get pulse.workers # Get specific value