{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Conversation state summary (reference protocol)",
  "description": "A proposed evaluation schema. It is not ModelRiver's production session-memory schema.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "current_facts",
    "superseded_facts",
    "constraints",
    "pending_tasks",
    "completed_tasks",
    "unconfirmed_assumptions"
  ],
  "properties": {
    "current_facts": {
      "type": "object",
      "description": "Current values supported by explicit user statements or trusted application receipts, keyed by field name. Assistant guesses are not confirmed facts.",
      "additionalProperties": { "type": "string" }
    },
    "superseded_facts": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["field", "old_value", "replaced_by"],
        "properties": {
          "field": { "type": "string" },
          "old_value": { "type": "string" },
          "replaced_by": { "type": "string" }
        }
      }
    },
    "constraints": { "type": "array", "items": { "type": "string" } },
    "pending_tasks": { "type": "array", "items": { "type": "string" } },
    "completed_tasks": { "type": "array", "items": { "type": "string" } },
    "unconfirmed_assumptions": { "type": "array", "items": { "type": "string" } }
  }
}
