Skip to content

Output files

schemacast cast --out DIR (or save_cast(result, DIR)) writes:

File Holds Same bytes on replay
mentions.jsonl one record graph per episode: mentions and relations yes
graph.json the schema and what the keys identify: graflo's GraFloOutput yes
staged.jsonl mentions not identified, and the relations waiting on them yes
groundings.jsonl one grounding per mention, relation and property yes
episodes.jsonl one result per episode yes
quarantine.jsonl items left out, failed episodes and unmapped entries yes
manifest.json versions, settings, counts and token usage no: usage differs
write.json what was sent to the database, with --db —

JSON is written with sorted keys, so two casts compare with diff.

episodes.jsonl

Field Holds
source_id the episode
status ok (nothing left out), partial (some items quarantined) or failed (nothing written)
failure why a failed episode failed
selection whole or slice
retrieval how selection went: hits per lane, seeds fused, gated out, capped and kept, and the schema's size
requests, repairs model requests, re-asks and repairs included; typed repair rounds
mentions, relations, quarantined, unmapped counts; mentions are records read from the text
known known entities a relation uses
repair_failure why a repair request failed, when one did; the best earlier reply was kept
fixes deterministic corrections applied without asking the model: coerced, edge_reversed, quote_normalized, grounded_in_context

mentions.jsonl

One graflo RecordGraph per episode cast: its source_id, schema_ref and reference_time; its records, each with a ref, a type, may_create and the stated props (each a value); its relations, each an edge_id between a source and a target ref, with props. Every record, relation and property carries evidence: {"quote": str, "span": {"start": int, "end": int}}, with span.context the context item's source_id when it was read there. A known entity a relation uses is a record with ref k1… and may_create: false, its key as props, and evidence {"known": role, "label": label} instead of a quote and span (see Known entities). unmapped entries are in quarantine.jsonl.

staged.jsonl

One graflo record per line. A StagedRecord (a record key): a mention not identified, with its source_id, the record itself and its reason (partial_key, no_key, unmatched, ambiguous, owned_unmatched, keyless_reference, hidden; matches counts what an ambiguous lookup found). A HeldRelation (a relation key): a relation waiting on staged endpoints, with the refs it waits on in waiting_on. With --db, the file holds what the database did not resolve.

A pick run

schemacast pick --out DIR writes picks.jsonl (one record per staged mention: source_id, ref, type, outcome, the candidate when picked, and a detail), episodes.jsonl (per episode: status ok, skipped or failed, requests, counts) and manifest.json (versions, model settings, counts by outcome, usage).

manifest.json

The output format version (6: a record may be a known entity, with no quote or span; 5: mentions are graflo record graphs, quotes and spans in evidence, unmapped outside them, staged.jsonl lines without a record tag; 4: a cast is mention graphs resolved by keys, and groundings name mention refs; 3: vertex groundings named resolved_by; 2: groundings may point into context), the SchemaCast and graflo versions, the schema as name@version, every model setting that reaches the provider, the token ceiling and slice budget, the counts by status, and usage: calls, cache hits, failures, re-asks, and tokens, billed apart from replayed.