Skip to content
MirrorFirm

What might a JSONL schema for set-up cases look like?

A proposed record layout shows how decisions, parties, targets, conditions and expected states can be linked in JSONL or Parquet files with consistent keys.

A release could use one file per record type, joined by identifiers. JSONL suits nested fields, and Parquet suits larger tabular loads.

**decisions.jsonl**

- `decision_id`, `party_id`, `product_code`, `outcome`, `approver_role`, `effective_date` - `conditions`: a list of `{condition_id, type, status}`

**parties.jsonl**

- `party_id`, `legal_name`, `trading_name`, `identifier_type`, `identifier_value`, `duplicate_of` (nullable)

**targets.jsonl**

- `target_id`, `party_id`, `decision_id`, `status`, `terms`, `created_by_role`

**documents.jsonl**

- `document_id`, `condition_id`, `state`, `received_at`, `expires_at`

**policies.jsonl**

- `policy_id`, `product_code`, `text`, `rule` (structured form of the same logic)

**cases.jsonl**

- `case_id`, `decision_id`, `seed`, `starting_state_ref`, `expected_state_ref`, `tags`

Foreign keys use the `_id` suffix and are stable across files. The `tags` field can mark exception types so scores can be broken down by them.

This is a starting layout to agree in a pilot. The records are generated and synthetic, so validate referential integrity on load and review the content for grounding.

A keyed, typed layout lets you load cases into your own harness without custom parsing for every file.

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

Content release: r-a220eb6e099b243b

More on Account setup