Skip to content
MirrorFirm

What would a JSONL schema for mismatch cases and ground truth look like?

Sketches record fields, links and a separate ground-truth file so that cases can be loaded, joined and scored without exposing answers to the agent.

A pilot could deliver newline-delimited JSON, with Parquet as an alternative for larger tables. One file per object type keeps joins explicit.

**cases.jsonl**

- `case_id`, `opened_at`, `owner_role`, `status` - `record_a_ref` and `record_b_ref`, each with `system` and `record_id` - `stated_difference` with `amount`, `currency` and `unit` - `policy_ids`, a list

**records.jsonl**

- `system`, `record_id`, `entity_id`, `amount`, `occurred_at`, `updated_at` - `links`, a list of `{relation, target_id}` such as `settled_by` or `amends`

**policies.jsonl**

- `policy_id`, `rule_type`, `threshold`, `authoritative_system`, `approver_role`

**notes.jsonl**

- `case_id`, `author_role`, `written_at`, `text`

**ground_truth.jsonl** (withheld from the agent)

- `case_id`, `root_cause_code`, `correct_actions`, `acceptable_alternatives` - `required_evidence`, a list of record ids - `expected_final_state`, a diff against the seeded snapshot

**Rules for the schema**

- Identifiers are stable across files. - Timestamps carry an explicit time zone. - Nothing in `cases.jsonl` or `notes.jsonl` names the root cause.

Field names are a starting pattern. Agree the real schema with your harness during the pilot.

Keeping evidence, policy and answer key in linked but separate files lets you control what the agent sees and what the grader sees.

Audience:
Evaluation teams
Content type:
Integration
Buyer question:
What can be generated

Content release: r-a220eb6e099b243b

More on Reconciliation mismatch