{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://latent-implicit-thinking.github.io/data/schema.json",
  "title": "Implicit Chain-of-Thought research map",
  "description": "Schema for the versioned paper corpus and separately labeled precursor records.",
  "type": "object",
  "required": ["metadata", "papers", "precursors"],
  "properties": {
    "metadata": {
      "type": "object",
      "required": ["name", "version", "updated_at", "search_refreshed_at", "latest_included_first_public", "core_record_count", "precursor_record_count", "scope_url", "contribute_url", "schema_url", "ontology_url", "repository_url", "citation_url", "license_name", "license_url", "license_scope", "record_url_prefix", "record_id_transform", "provenance_note"],
      "properties": {
        "name": {"type": "string"},
        "version": {"type": "string"},
        "updated_at": {"type": "string", "format": "date"},
        "search_refreshed_at": {"type": "string", "format": "date"},
        "latest_included_first_public": {"type": "string", "format": "date"},
        "core_record_count": {"type": "integer", "minimum": 0},
        "precursor_record_count": {"type": "integer", "minimum": 0},
        "scope_url": {"type": "string", "format": "uri"},
        "contribute_url": {"type": "string", "format": "uri"},
        "schema_url": {"type": "string", "format": "uri"},
        "ontology_url": {"type": "string", "format": "uri"},
        "repository_url": {"type": "string", "format": "uri"},
        "citation_url": {"type": "string", "format": "uri-reference"},
        "csl_url": {"type": "string", "format": "uri"},
        "reading_list_url": {"type": "string", "format": "uri"},
        "recent_additions_url": {"type": "string", "format": "uri"},
        "addition_tracking_started_at": {"type": "string", "format": "date"},
        "citation_policy": {"type": "string"},
        "license_name": {"type": "string"},
        "license_url": {"type": "string", "format": "uri"},
        "license_scope": {"type": "string"},
        "record_url_prefix": {"type": "string", "format": "uri-reference"},
        "record_id_transform": {"type": "string"},
        "provenance_note": {"type": "string"}
      },
      "additionalProperties": false
    },
    "papers": {
      "type": "array",
      "items": {"$ref": "#/$defs/paper"}
    },
    "precursors": {
      "type": "array",
      "items": {"$ref": "#/$defs/precursor"}
    }
  },
  "additionalProperties": false,
  "$defs": {
    "paper": {
      "type": "object",
      "required": ["id", "title", "authors", "first_public", "venue", "paper_url", "lens", "representation", "computation", "training", "questions", "evidence", "modality", "summary", "provenance"],
      "properties": {
        "id": {"type": "string", "description": "Stable record identifier; arXiv ID when available."},
        "title": {"type": "string"},
        "previous_titles": {"type": "array", "items": {"type": "string"}, "minItems": 1, "uniqueItems": true},
        "related_terms": {"type": "array", "items": {"type": "string", "minLength": 1, "pattern": "\\S"}, "minItems": 1, "uniqueItems": true, "description": "Editorial search terminology that connects this paper to related names for its research area; not alternative paper titles."},
        "method_comparisons": {"type": "array", "items": {"$ref": "#/$defs/methodComparison"}, "minItems": 1},
        "added_at": {"type": "string", "format": "date", "description": "Date added to this reading list, not the paper's publication date. Tracked for additions after the initial collection; absent on initial-collection records."},
        "authors": {"type": "string"},
        "author_names": {"type": "array", "items": {"type": "string"}, "minItems": 1},
        "record_url": {"type": "string", "format": "uri"},
        "legacy_record_url": {"type": "string", "format": "uri"},
        "json_url": {"type": "string", "format": "uri"},
        "markdown_url": {"type": "string", "format": "uri"},
        "bibtex_url": {"type": "string", "format": "uri"},
        "csl_url": {"type": "string", "format": "uri"},
        "demos": {"type": "array", "items": {"$ref": "#/$defs/demo"}, "minItems": 1},
        "publication": {"$ref": "#/$defs/publication"},
        "publication_bibtex_url": {"type": "string", "format": "uri"},
        "publication_csl_url": {"type": "string", "format": "uri"},
        "first_public": {"type": "string", "format": "date"},
        "first_public_source": {"type": "string", "format": "uri"},
        "first_public_note": {"type": "string"},
        "citation_date": {"type": "string", "format": "date", "description": "ArXiv v1 submission date for the linked citation version, distinct from earlier conference history or later proceedings."},
        "venue": {"type": "string"},
        "arxiv": {"type": "string", "pattern": "^[0-9]{4}\\.[0-9]{4,5}$"},
        "paper_url": {"type": "string", "format": "uri"},
        "code_url": {"type": "string", "format": "uri"},
        "lens": {"$ref": "#/$defs/lensValues"},
        "representation": {"$ref": "#/$defs/representationValues"},
        "computation": {"$ref": "#/$defs/computationValues"},
        "training": {"$ref": "#/$defs/trainingValues"},
        "questions": {"$ref": "#/$defs/questionValues"},
        "evidence": {"$ref": "#/$defs/evidenceValues"},
        "modality": {"$ref": "#/$defs/modalityValues"},
        "summary": {"type": "string"},
        "provenance": {"type": "string"}
      },
      "additionalProperties": false
    },
    "precursor": {
      "type": "object",
      "required": ["id", "title", "authors", "first_public", "paper_url", "connection"],
      "properties": {
        "method_comparisons": {"type": "array", "items": {"$ref": "#/$defs/methodComparison"}, "minItems": 1},
        "id": {"type": "string"},
        "title": {"type": "string"},
        "authors": {"type": "string"},
        "author_names": {"type": "array", "items": {"type": "string"}, "minItems": 1},
        "record_url": {"type": "string", "format": "uri"},
        "legacy_record_url": {"type": "string", "format": "uri"},
        "json_url": {"type": "string", "format": "uri"},
        "markdown_url": {"type": "string", "format": "uri"},
        "bibtex_url": {"type": "string", "format": "uri"},
        "csl_url": {"type": "string", "format": "uri"},
        "demos": {"type": "array", "items": {"$ref": "#/$defs/demo"}, "minItems": 1},
        "publication": {"$ref": "#/$defs/publication"},
        "publication_bibtex_url": {"type": "string", "format": "uri"},
        "publication_csl_url": {"type": "string", "format": "uri"},
        "first_public": {"type": "string", "format": "date"},
        "citation_date": {"type": "string", "format": "date"},
        "paper_url": {"type": "string", "format": "uri"},
        "connection": {"type": "string"}
      },
      "additionalProperties": false
    },
    "methodComparison": {
      "type": "object",
      "description": "A visible, source-backed comparison. Read its text to distinguish technical differences from documented influence; shared inclusion does not imply influence.",
      "required": ["title", "text", "source_ids", "source_urls", "source_labels", "topic_id", "topic_label", "topic_url"],
      "properties": {
        "title": {"type": "string", "minLength": 1},
        "text": {"type": "string", "minLength": 1},
        "source_ids": {"type": "array", "items": {"type": "string", "pattern": "^[0-9]{4}\\.[0-9]{4,5}$"}, "minItems": 1, "uniqueItems": true},
        "source_urls": {"type": "array", "items": {"type": "string", "format": "uri"}, "minItems": 1, "uniqueItems": true},
        "source_labels": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1},
        "topic_id": {"type": "string"},
        "topic_label": {"type": "string"},
        "topic_url": {"type": "string", "format": "uri"}
      },
      "additionalProperties": false
    },
    "demo": {
      "type": "object",
      "description": "An interactive example. An implementation uses a paper's method; a related_method example does not implement that paper. Demo outputs are not benchmark evidence.",
      "required": ["id", "title", "label", "description", "limitations", "model", "url", "model_url", "topic_ids", "paper_relationships", "relationship"],
      "properties": {
        "id": {"type": "string"},
        "title": {"type": "string"},
        "label": {"type": "string"},
        "description": {"type": "string"},
        "limitations": {"type": "string"},
        "model": {"type": "string"},
        "url": {"type": "string", "format": "uri"},
        "model_url": {"type": "string", "format": "uri"},
        "topic_ids": {"$ref": "#/$defs/lensValues"},
        "relationship": {"type": "string", "enum": ["implementation", "related_method"], "description": "Relationship to the paper containing this demo record."},
        "paper_relationships": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "type": "object",
            "required": ["paper_id", "relationship"],
            "properties": {
              "paper_id": {"type": "string", "pattern": "^[0-9]{4}\\.[0-9]{4,5}$"},
              "relationship": {"type": "string", "enum": ["implementation", "related_method"]}
            },
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    },
    "publication": {
      "type": "object",
      "required": ["title", "author_names", "year", "type", "container_title", "url", "source_url", "verified_at"],
      "properties": {
        "title": {"type": "string"},
        "author_names": {"type": "array", "items": {"type": "string"}, "minItems": 1},
        "year": {"type": "integer", "minimum": 1900},
        "type": {"type": "string", "enum": ["paper-conference", "article-journal"]},
        "container_title": {"type": "string"},
        "publisher": {"type": "string"},
        "url": {"type": "string", "format": "uri"},
        "doi": {"type": "string"},
        "pages": {"type": "string"},
        "volume": {"type": "string"},
        "source_url": {"type": "string", "format": "uri"},
        "verified_at": {"type": "string", "format": "date"}
      },
      "additionalProperties": false
    },
    "lensValues": {
      "type": "array",
      "items": {"type": "string", "enum": ["internalized", "learned-tokens", "continuous", "recurrent", "beyond-sequential", "analysis"]},
      "minItems": 1,
      "uniqueItems": true
    },
    "representationValues": {
      "type": "array",
      "items": {"type": "string", "enum": ["cache-memory", "continuous-state", "discrete-token", "hidden-state", "multimodal-latent", "survey", "text-latent-hybrid"]},
      "minItems": 1,
      "uniqueItems": true
    },
    "computationValues": {
      "type": "array",
      "items": {"type": "string", "enum": ["depth-wise", "diffusion", "hierarchical", "parallel", "recurrent", "search", "stateful", "survey", "token-wise"]},
      "minItems": 1,
      "uniqueItems": true
    },
    "trainingValues": {
      "type": "array",
      "items": {"type": "string", "enum": ["analysis-only", "curriculum", "distillation", "inference-only", "pretraining", "reinforcement-learning", "self-distillation", "self-training", "supervised", "test-time-optimization"]},
      "minItems": 1,
      "uniqueItems": true
    },
    "questionValues": {
      "type": "array",
      "items": {"type": "string", "enum": ["architecture", "capability", "controllability", "efficiency", "evaluation", "generalization", "interpretability", "limitations", "scaling", "survey", "taxonomy", "theory"]},
      "minItems": 1,
      "uniqueItems": true
    },
    "evidenceValues": {
      "type": "array",
      "items": {"type": "string", "enum": ["boundary", "empirical", "formal", "mechanistic", "probing", "scaling", "survey"]},
      "minItems": 1,
      "uniqueItems": true
    },
    "modalityValues": {
      "type": "array",
      "items": {"type": "string", "enum": ["language", "multimodal", "symbolic", "vision"]},
      "minItems": 1,
      "uniqueItems": true
    }
  }
}
