Loading TACITUS
Loading TACITUS
METHODS · REFERENCE
The four-stage validator. The kernel invariants. The provenance-binding spec. The extension graduation policy.
This is the methodological reference for everything DIALECTICA and PRAXIS write to the typed graph. Where the white paper makes the formal argument and the DIALECTICA page describes the architecture, this page documents the exact contracts under which an OAG operation either commits, quarantines, or rejects.
FOUR-STAGE VALIDATION
Schema conformance
Required fields present and well-typed against the kernel schema or the declared extension subclass. JSON-Schema Draft 2020-12 validation is the floor; the extension log records which fields were defaulted, which were inferred, and which were rejected.
Failure mode
Failure example: a Commitment emitted without a status field. Rejected at validation; the analyst is shown the JSON path of the missing field and the schema fragment that required it.
Kernel invariant
Every parent-primitive invariant must hold (see catalogue below). The TCGC v0.2 task kernel-invariant-validation is constructed to measure how often LLM-driven extraction violates these.
Failure mode
Failure example: a Commitment transitions Active → Fulfilled without an intervening Event or affirmative Claim. The transition is rejected; the analyst is shown the missing triggering object.
Extension invariant
Subclass-specific invariants. Every extension declares its invariants in its specification, and the validator enforces them at the same boundary as the kernel invariants.
Failure mode
Failure example: an HR-Commitment specifies review_period = 0. The extension invariant requires review_period > 0; the operation is quarantined.
Provenance binding
Every field not derived from a kernel field binds to at least one source span. Spans are character-level: (document_id, char_start, char_end). Hash receipts on Base + Evidence are in progress and will close the cryptographic loop.
Failure mode
Failure example: a Claim is emitted without a source_span pointer. Rejected; the analyst is offered the closest matching span as a candidate.
INVARIANTS CATALOGUE
The kernel invariants are intentionally small in number — the v2 specification counts roughly thirty across the eight primitives and the structural / commitment / framing edge groups. The table below lists the load-bearing invariants and the TCGC task that exercises each.
| Primitive | Kernel invariant | TCGC task |
|---|---|---|
| Actor | At least one source span anchors the entity in the corpus. | actor-resolution |
| Claim | Character-level source span; contestation status updates atomically with every new CONTRADICTS edge. | claim-extraction · contradiction-detection |
| Interest | Derivation chain mandatory (source claims, behavioural evidence, prior commitments). | interest-extraction · position-interest-separation |
| Constraint | Source cited; binding strength declared explicitly. | constraint-extraction |
| Leverage | Holder ≠ target; mechanism substantiated by source evidence. | leverage-mapping |
| Commitment | Status transitions require evidence; Active → Fulfilled requires an intervening Event or affirmative Claim. | commitment-tracking · commitment-claim-mismatch |
| Event | PRECEDES vs CAUSES distinction enforced; CAUSES requires mechanism + conditions. | causal-chain · event-ordering |
| Narrative | Drift chain ordered by valid-time, scoped to the framer. | narrative-drift |
PROVENANCE BINDING SPEC
(document_id, char_start, char_end) tuples. Document-level provenance — the typical RAG ceiling — is insufficient: the validator rejects it.scripts/check_provenance.py linter that exits non-zero on any orphan in a corpus of items.OPEN QUESTION Q8 · GRADUATION POLICY
The kernel is deliberately small (eight primitives, ~50 relation types, ~30 invariants) so that it can be governed without a committee. Extensions are flexible by design — they are how the architecture absorbs domain knowledge — but flexibility without a boundary collapses back into a schema-free graph. The graduation policy is the boundary.