{
  "license": "CC-BY-4.0",
  "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "ChainChoice (https://chainchoice.io)",
  "url": "https://chainchoice.io/data/observations/index.json",
  "what": "The append-only observation ledgers behind /methodology/data-changelog and /methodology/universe, one JSON object per line, oldest first. The published order (the rankings ledger) is at /data/rankings-ledger.jsonl.",
  "appendOnly": "A recorded line is never edited, removed or reordered: the build fails when a committed line changes (check-observations-append-only), and each file here is the ledger's lines in order. Of two downloads, the older is a prefix of the newer.",
  "ledgers": [
    {
      "name": "pricing",
      "file": "pricing.jsonl",
      "url": "https://chainchoice.io/data/observations/pricing.jsonl",
      "what": "One line per structured pricing fact on a placement, appended when the value changes: the change class /methodology/data-changelog renders.",
      "observations": 458,
      "bytes": 69511,
      "sha256": "f05f8a1a09c31ae148687853796105150d28f5a582696378b03642d1409bd2ca",
      "firstObservedOn": "2026-09-08",
      "lastObservedOn": "2026-11-10",
      "fields": {
        "k": "The fact: <category>/<catalog id>/<pricing field>.",
        "v": "Its value: a number, or the tier ladder as a JSON string.",
        "cur": "The currency the record states, where it states one.",
        "src": "The page the value was read from, where the record names one.",
        "va": "The day the record says the value was verified, where it says.",
        "ob": "The day this observation was recorded."
      },
      "leftOut": []
    },
    {
      "name": "universe",
      "file": "universe.jsonl",
      "url": "https://chainchoice.io/data/observations/universe.jsonl",
      "what": "One line per placement state and per named refusal, appended when it changes: the change class /methodology/universe renders, and the ledger /data/refusals.json dates each refusal from.",
      "observations": 2432,
      "bytes": 260072,
      "sha256": "d0ceae6d7d7aba6ef50d53cc9583127a17cf5def0d3db4e543b9881e6e134619",
      "firstObservedOn": "2026-09-08",
      "lastObservedOn": "2026-11-12",
      "fields": {
        "k": "The placement or refusal: <category>/<catalog id or name slug>/placement|refusal.",
        "v": "Its state: ranked, needs_evidence, cut, archived or removed for a placement; the refusal kind, refused, lifted or renamed for a refusal.",
        "st": "A placement's lifecycle status when it is not active (discontinued, acquired, rebranded, migrated).",
        "succ": "The successor: the id that replaced an archived placement, or the key a renamed refusal is recorded under now.",
        "n": "The name the page printed on that day.",
        "ob": "The day this observation was recorded."
      },
      "leftOut": [
        {
          "line": 1047,
          "fields": [
            "n"
          ],
          "reason": "The name recorded then held a source-file reference. The refusal was renamed, and the page no longer prints it."
        },
        {
          "line": 1048,
          "fields": [
            "n"
          ],
          "reason": "The name recorded then held a source-file reference. The refusal was renamed, and the page no longer prints it."
        },
        {
          "line": 1049,
          "fields": [
            "n"
          ],
          "reason": "The name recorded then held a source-file reference. The refusal was renamed, and the page no longer prints it."
        },
        {
          "line": 1050,
          "fields": [
            "n"
          ],
          "reason": "The name recorded then held a source-file reference. The refusal was renamed, and the page no longer prints it."
        },
        {
          "line": 1165,
          "fields": [
            "n"
          ],
          "reason": "The name recorded then held the reviewers' own words. The refusal was renamed, and the page no longer prints it."
        },
        {
          "line": 1269,
          "fields": [
            "n"
          ],
          "reason": "The name recorded a note about the criteria, filed as a refusal. It was lifted, and the page no longer prints it."
        },
        {
          "line": 1956,
          "fields": [
            "n"
          ],
          "reason": "The line that lifted the note above repeats its name."
        }
      ]
    }
  ]
}
