BASE_URL, elephant_http and elephant_mcp helpers, source/document receipts, and the
actual Cedar API entity ID. This tutorial uses the Full MCP profile for truth
inspection alongside the REST ingestion calls.
The first note said Cedar API depends on Cedar Storage. A second note says the
API now uses Cedar Cache for reads while retaining Cedar Storage for writes.
That additional value may describe coexistence rather than a contradiction.
The job is to inspect the evidence and predicate semantics before deciding.
1. Add the new evidence
Keep the first note intact. Submit this as a distinct source with a distinct rendition key so both pieces of evidence remain inspectable:2. Compare claims before comparing winners
Select/mcp/full with the same principal and space:
search_assertions for the known component:
ENTITY_ID:
--tool-args-json. See MCP setup
if you are continuing in a new shell.
Compare each assertion’s value, source provenance, evidence revision, and
resolution status. entity_id selects resolved subject/object links and is
preferable to a broad text scan when the entity is known. Use a text query if
you are investigating unresolved mentions that have no entity link yet.
Questions to answer from the returned evidence:
- Did the second note resolve Cedar API to the same entity as the first?
- Are the storage and cache dependencies both present?
- Does the claimed purpose of each dependency agree with the note?
- Which predicate IDs were assigned, and are those predicates governed?
3. Inspect predicate semantics and truth slots
Useget_predicate with the actual predicate ID from an assertion or relationship:
list_truth_slots:
data.items contains slot fields directly, plus
conflict_count and has_conflict; there is no nested slot object in this
list response. Inspect each item’s current_values, stale, and security
envelope. A slot groups claims according to its slot type, predicate,
and security context; it is not a universal winner for every statement about
that entity.
Inspect the actual conflict group with
get_truth_slot_history, passing the
returned slot id:
/mcp/full. Its history includes the slot, an optional
conflict group, and any assertion records the handler can resolve and authorize
from the claim references. For the full set of entity claims, keep using
search_assertions; do not treat the history array as an exhaustive audit log.
4. Explain the result with evidence
Meerkat Recall’s LLM adjudicator can select a winner, allow coexistence, supersede a value with temporal context, or request review. When no adjudicator is configured, deterministic predicate policies provide the fallback. Unknown semantics do not justify automatically replacing one value with another. For the Cedar example, the text explicitly says the storage dependency remains. A useful answer should preserve that qualification and cite the source. If the extracted graph says the API abandoned storage, the pipeline has completed but the interpretation is wrong. Inspect the assertion and extraction guidance; do not repair that by merely changing an assertion’s status toresolved.
The following are separate checks:
5. Keep security and history in the explanation
All reads are restricted to the caller’s space and authorization. Claims in different security envelopes do not share a truth-maintenance conflict group. A caller’s missing result can therefore reflect visibility rather than missing storage or a globally resolved conflict. Source revisions preserve what was observed. Truth maintenance describes which values are currently accepted. A derived Living Wiki page adds a publication layer with its own evidence and freshness checks. Publishing a wiki is a separate operation and requires its explicit service authority; ingestion alone does not promise that a new article exists.Next steps
- Truth slots explains slot fields and stale-state inspection.
- MCP workflows covers evidence retrieval, identity review, and predicate governance.
- Event streaming explains how an application follows committed changes.
