Skip to content

Under active development

Development status →
TACITUS
Section pages

DIALECTICA · the capsule engine · open source · Rust

Compile sources into reviewable context.

Research and architecture in development. This page explains our design direction. It is not a list of completed PRAXIS capabilities. See the documented product capabilities and open work.

DIALECTICA is the Rust ingestion and knowledge engine in development behind Context Capsules. It connects source records, typed graph proposals, validation and human review into an inspectable build process.

The local engine exposes schemas, a CLI, and an MCP interface. The reference examples below explain that development path; they do not establish hosted availability or complete integration with PRAXIS.

The pipeline

From sources to a reviewed capsule

Six stages, one invariant: models propose, humans decide, the compiler is deterministic. Typed artifacts let a reviewer inspect each stage.

  1. 01

    Source pack

    Documents are normalized into a content-addressed pack: every file hashed, every span addressable, rights recorded. Source references are retained for later inspection.

    source_pack.json · spans · sha256 per document

  2. 02

    Extraction proposals

    Models read the pack and propose — claims, episodes, graph edges, ontology terms, reasoning devices, language rules. Proposals are typed records with confidence and source spans. Models propose records; acceptance belongs to the review and promotion stages.

    extraction_proposals.jsonl · proposal boundary (ADR-007)

  3. 03

    Review gates

    A human expert decides: approve, approve with caveats, or reject — per record. The design records the reviewer’s role and reasoning alongside each decision, so later readers can inspect how a record was accepted.

    reviewer_decisions.json · review_queue.json

  4. 04

    Promotion

    Approved records enter the canonical ledgers. Rejected proposals remain traceable so the next analyst can inspect both decisions.

    promoted_record_set · promotion_summary.json

  5. 05

    Deterministic compile

    Deterministic compilation aims to produce the same bundle from the same approved inputs and toolchain. Reproducibility lets reviewers compare versions and check integrity.

    manifest · ledgers · graph.jsonld · embedded graph

  6. 06

    Archive & packs

    The bundle is packaged as a portable .capsule archive. PRAXIS context packs, agent skills, and MCP resources are intended consumption paths; each adapter needs its own integration checks.

    .capsule (mimetype-first zip) · context packs

A model-generated record can look convincing and still misread its source. Keeping proposals separate from accepted records gives a reviewer a place to inspect the evidence, record a reservation, or reject an interpretation before it is reused.

The technical idea

Give the next task a record it can reason from.

Retrieval finds relevant material. Structure makes its meaning, relationships, and review state explicit. Explore how the parts are intended to work together.

Your evidence

Keep a claim close to its source.

Documents, passages, authors, and dates are the starting point. A statement should retain its origin and access boundary as it moves into structured knowledge.

Receives
Approved documents and a defined question
Produces
Source records with stable references
Quality question
Can a reviewer recover the passage and its context?

Illustrative record · Sources

source id
source-01
passage
The extension has been requested, not approved.
record type
statement
access
approved_for_this_task
Inspect the illustrative JSON
{
  "source_id": "source-01",
  "passage": "The extension has been requested, not approved.",
  "record_type": "statement",
  "access": "approved_for_this_task"
}

Teaching example. This is not a production schema or an API response.

Architecture under development. Integration and portability require end-to-end validation.

Current capabilities

Nine architecture responsibilities

Why layered graphs, not one big graph

A single undifferentiated graph collapses things that must never be confused: what a source said, what an analyst concluded, when each became known, and which method produced the judgment. The proposed architecture separates nine responsibilities; the compiled historical reference has eight layers and no separate memory layer. These counts are a dated crosswalk, not a claim of nine deployed graphs.

The payoff is precision on both sides of the human-machine boundary: an agent can cite at the right level (this claim, from this span, under this trust rule), and a human can contest at the right level (the source is fine; the inference is wrong; the method was misapplied).

01g:evidenceEvidence— What was actually said, where

Append-only. Sources, spans, hashes, retrieval timestamps, rights. The bedrock — nothing above it may exist without a pointer into it.

02g:claimsClaims— Atomic, typed assertions

Each claim binds subject–predicate–object to a source span, carries confidence, corroboration, a trust tier (T1 vetted / T2 corroborated / T3 needs corroboration), and a disputed flag that must surface downstream.

03g:situationSituation— Entities and relations

The who-relates-to-whom graph: actors, institutions, instruments, places. Edges carry confidence, temporal scope, and review state — relations are claims too.

04g:temporalTemporal— Episodes, intervals, causality

Two clocks on everything (occurred-at vs known-at), Allen-13 interval relations between episodes, boundary events, explicit causal links, supersession chains.

05g:ontologyOntology— The vocabulary of the domain

The kernel grammar plus capsule-specific extensions, generated as an ontology blueprint per capsule and mapped with confidence and review state. The semantic layer agents reason against.

06g:reasoningReasoning— How the expert thinks

Typed, attributed devices, heuristics and critique prompts record which method informed an analysis.

07g:memoryMemory— How the capsule was built

Semantic, episodic, and procedural build memory: what was proposed, what was asked, what was decided. The capsule remembers its own making.

08g:governanceGovernance— Who vouches, and how strongly

Trust tiers, review ledger, sign-off, recorded dissent. Verification is a workflow, and this layer is its record.

09g:runtimeRuntime— The contract for any consumer

Citation rules (T1 assert · T2 attribute · T3 hedge), must-cite and must-surface-disputed flags, retrieval and composition policy. The capsule tells the agent how it may be used.

The embedded graph · Ladybug

Inspect the reference capsule’s embedded graph

Alongside the semantic JSON-LD, the compiler builds a read-only Ladybug projection — capsule.lbug — an embedded graph database queryable with Cypher, no server required. It is digest-pinned to the source graph: if the semantic layer changes, the projection is rebuilt and both hashes are recorded. The snippets below are from the actual reference capsule, not mockups.

schema.cypher — every node and edge carries review state and source spans

CREATE NODE TABLE CapsuleNode(
  id STRING, node_type STRING, label STRING,
  review_state STRING, source_span_ids_json STRING,
  properties_json STRING, PRIMARY KEY(id));

CREATE REL TABLE CapsuleEdge(
  FROM CapsuleNode TO CapsuleNode,
  id STRING, edge_type STRING, confidence DOUBLE,
  temporal_scope_json STRING, source_span_ids_json STRING,
  review_state STRING, explanation STRING);

queries.cypher — traversal without infrastructure

MATCH (n:CapsuleNode) RETURN count(n) AS node_count;

MATCH (a:CapsuleNode)-[e:CapsuleEdge]->(b:CapsuleNode)
RETURN a.id, e.edge_type, b.id LIMIT 50;

projection_manifest.json — digest-pinned, rebuildable

"engine": "ladybug",
"database_path": "graph/ladybug/capsule.lbug",
"source_graph_digest": "sha256:f28a32eceba22140f2e14a19508e4bd8…",
"projection_digest":   "sha256:8ee639b5cec225f95127ab60250fc611…",
"read_only": true,
"rebuildable": true

Each capsule type gets a graph profile suited to what it holds:

User

user_context_graph_v1

role, mandate, audiences, standing positions

Situation

situation_graph_v1

actors, claims, episodes, contradictions

Tool

tool_method_graph_v1

devices, heuristics, traps, their dependencies

Output

output_trace_graph_v1

contracts, exemplars, citation lineage

Temporal semantics

Two clocks, thirteen relations

Every claim carries two timestamps: when the thing happened (valid time) and when the capsule learned it (observation time). The separation is what lets analysis be honest about its own past — “what did we know on the 14th?” is a query, not an argument. Episodes relate through Allen’s thirteen interval relations, and superseded claims chain to their successors instead of disappearing.

A claim from the reference capsule, both clocks visible

“The regional army command publicly rejected the certification.”

clm_army_rejects_certification

valid time

valid_from: 2026-05-12

valid_to: null (no end recorded)

observation time

observed_at: 2026-05-12T10:30Z

superseded_by: null

Episode relations use the Allen-13 vocabulary — BEFORE, MEETS, OVERLAPS, DURING, STARTS, FINISHES, EQUALS, and their inverses — so “the offensive overlapped the talks” is typed structure, not prose. See the temporal-vision note for the full discipline.

Ontology & semantic layers

A kernel grammar, extended per capsule

The semantic layer starts from a kernel of eight typed primitives — the grammar practitioners actually think in — and grows a capsule-specific ontology blueprint on top: domain terms proposed during extraction, mapped with confidence, and promoted through the same review gates as everything else. The kernel is stable and MIT-licensed; the extensions are local, versioned, and provenance-mandatory.

Actor
Claim
Interest
Constraint
Leverage
Commitment
Event
Narrative

The nine capsule layers and the eight kernel primitives are orthogonal: primitives are the vocabulary, layers are the epistemics. A Commitment is a primitive; whether it sits in claims (asserted), temporal (scheduled), or governance (reviewed) depends on what kind of statement is being made about it. Full formal treatment: the grammar and Ontology-Augmented Generation.

Determinism & integrity

Reproducible builds and the limits of a hash

Reproducible compilation makes changes inspectable: the inputs, toolchain, and output must be recorded together. The proposed integrity envelope (ADR-009) adds a Merkle root over the bundle, Ed25519 signatures, and a future capsule verify. The reference capsule includes a SHA-256 digest, and the Seal you see in the viewer is drawn from that hash. A matching digest helps detect changes to the artifact; it does not establish that its claims are true or that its author is trusted.

Capsule anatomy, for reference: evidence · claims · graph · temporal · ontology · reasoning · memory · governance · runtime.

Search and terminologyMachine-readable index