{
  "generated_at": "2026-08-28T06:52:19.298Z",
  "index": {
    "categories": 216,
    "brands": 3578,
    "claims": 2697,
    "tiers": {
      "catalog": 2336,
      "captured": 1239,
      "verified": 3
    },
    "freshness": {
      "total_dated": 2697,
      "checked_24h": 2491,
      "checked_24h_pct": 92,
      "oldest_days": 51,
      "buckets": [
        {
          "label": "under 24h",
          "n": 2491
        },
        {
          "label": "1–7 days",
          "n": 202
        },
        {
          "label": "7–30 days",
          "n": 3
        },
        {
          "label": "30+ days",
          "n": 1
        }
      ]
    },
    "disclosure": {
      "assessed": 89,
      "avg_score": 58
    }
  },
  "audit": {
    "evidence_refreshed_at": "2026-08-28T06:10:57.488Z",
    "last_run": {
      "run_at": "2026-08-28T05:06:00.797Z",
      "checked": 2678,
      "fresh": 2463,
      "drift": 115,
      "dead": 25,
      "bot_wall": 75
    },
    "runs": [
      {
        "run_at": "2026-08-23T20:14:04.775Z",
        "checked": 952,
        "drift": 10,
        "dead": 3
      },
      {
        "run_at": "2026-08-25T08:14:11.684Z",
        "checked": 2555,
        "drift": 67,
        "dead": 14
      },
      {
        "run_at": "2026-08-25T14:55:16.149Z",
        "checked": 2555,
        "drift": 71,
        "dead": 17
      },
      {
        "run_at": "2026-08-25T20:14:45.997Z",
        "checked": 2678,
        "drift": 110,
        "dead": 24
      },
      {
        "run_at": "2026-08-26T08:14:54.467Z",
        "checked": 2678,
        "drift": 110,
        "dead": 27
      },
      {
        "run_at": "2026-08-27T08:15:01.693Z",
        "checked": 2678,
        "drift": 112,
        "dead": 23
      },
      {
        "run_at": "2026-08-27T20:15:05.959Z",
        "checked": 2678,
        "drift": 116,
        "dead": 25
      },
      {
        "run_at": "2026-08-28T05:06:00.797Z",
        "checked": 2678,
        "drift": 115,
        "dead": 25
      }
    ],
    "open_confirmations": [
      {
        "brand": "Cymbiotika",
        "category": "Magnesium supplements",
        "since": "2026-08-28T06:30:00.000Z"
      },
      {
        "brand": "Frøya Organics",
        "category": "Natural skincare",
        "since": "2026-08-24T02:59:43.773Z"
      },
      {
        "brand": "Norse Organics",
        "category": "Natural skincare",
        "since": "2026-08-24T02:59:43.773Z"
      },
      {
        "brand": "Norse Organics",
        "category": "Natural skincare",
        "since": "2026-08-24T02:59:43.773Z"
      },
      {
        "brand": "Cymbiotika",
        "category": "Creatine",
        "since": "2026-08-28T06:30:00.000Z"
      },
      {
        "brand": "Boost Mobile",
        "category": "Prepaid mobile plans",
        "since": "2026-08-25T07:11:02.025Z"
      },
      {
        "brand": "Boost Mobile",
        "category": "Prepaid mobile plans",
        "since": "2026-08-25T07:11:02.025Z"
      },
      {
        "brand": "Boost Mobile",
        "category": "Prepaid mobile plans",
        "since": "2026-08-25T07:11:02.025Z"
      },
      {
        "brand": "Boost Mobile (postpaid-style offering)",
        "category": "Postpaid mobile plans",
        "since": "2026-08-25T07:11:02.025Z"
      },
      {
        "brand": "Boost Mobile (postpaid-style offering)",
        "category": "Postpaid mobile plans",
        "since": "2026-08-25T07:11:02.025Z"
      },
      {
        "brand": "Boost Mobile (postpaid-style offering)",
        "category": "Postpaid mobile plans",
        "since": "2026-08-25T07:11:02.025Z"
      }
    ],
    "review_queue_depth": 140,
    "selection": {
      "explanation": "Commit-before-inspect sampling: before each crawl fetches a single page, the crawler computes and durably logs a commitment — sha256 over the sorted list of every claim ID eligible that run, the full selection-rule text, and the run timestamp. After the run, the report of what was actually checked is verified against the commitment (same set, same deterministic order). So no one, including Graviti, can retroactively claim a different population was eligible than actually was, and a claim quietly dropped from the report breaks the verification arithmetic. The population derives from the published index plus the committed rule, so the preimage is publicly recomputable. Design: docs/SELECTION.md in the repo.",
      "run_at": "2026-08-28T05:06:00.797Z",
      "committed_at": "2026-08-28T05:06:00.797Z",
      "commitment": "3f5efd81f83e157a016ad7704c76bcb5699a931f19456c9dd1962e66af5e452f",
      "commitment_covers": "sha256 of the canonical JSON {\"run_at\": <run timestamp>, \"population\": <sorted claim_id list>, \"rule\": <rule text>} — reproduce by enumerating claim IDs from the published index per the rule",
      "population_size": 2681,
      "population_sha256": "42b0750a4e1a34a196c96ce47ffb12c385accc7c7d067c2049e0c2c8109a807e",
      "committed_order_sha256": "660cc21452c18f0c9b878b9404d9319876beb297e09022b1be40fcb6e6a28fc1",
      "rule_sha256": "a408f6d87898f593584c5193ca3dbf49d1a50e6deb40c3a6c7fc7dd69a7cae60",
      "rule": "Eligible population: every claim on every non-catalog brand in the published index (catalog-tier brands carry zero claims by design and are never crawled), enumerated in index order. Claim identity: <category_id>/<brand_id>/<first 16 hex chars of sha256(provenance_url + \"\\n\" + claim text)> — stable across runs; freshness timestamps never change identity. Processing: the ENTIRE eligible population is processed every run — no sampling and no capacity truncation (if a truncation rule is ever introduced it becomes part of this committed text, changing this hash publicly). Order: decay-class urgency, ascending days remaining in the claim's disclosed window (window_days minus days_since_check, per the public CLAIM_DECAY_RULES in src/engine.ts) — already-stale claims lead, static-class claims with no window go last, ties resolve by index order, so the queue is deterministic and reproducible from the committed population. Claims on fictional demo domains (example-*.com/.dev/.org) are recorded in the report with outcome 'skipped', never fetched — recorded, not omitted. Every processed claim appears in the run report with its claim_id; after the run the report's checked set and order are verified against this commitment, and a mismatch is a published failure.",
      "verification": {
        "checked": 2681,
        "population_match": true,
        "order_match": true,
        "pass": true
      }
    }
  },
  "canaries": {
    "explanation": "Canary-based drift detection: we push subjects of known ground truth through the system on every build and every crawl. Panel A replays golden queries, adversarial cases, and structural invariants through the scoring engine before each deploy — a divergence fails the build. Panel B routes the audit crawler across three pages we control (one steady, one deliberately drifted, one deliberately gone) before every cycle — a misread means the sensor itself is broken, and that cycle refreshes no real claims. If our own sensors drift, this block says so before the index does. Two independently maintained panels, so neither becomes the other's ground truth. Design: docs/CANARIES.md in the repo.",
    "panel_a": {
      "name": "Panel A — build canaries (engine, routing, invariants)",
      "run_at": "2026-08-28T06:52:17.012Z",
      "pass": true,
      "cases": {
        "total": 3715,
        "failed": 0
      },
      "sections": {
        "routing": {
          "total": 44,
          "failed": 0
        },
        "shadowing": {
          "total": 2145,
          "failed": 0
        },
        "invariants": {
          "total": 1519,
          "failed": 0
        },
        "adversarial": {
          "total": 7,
          "failed": 0
        }
      },
      "policy": "fails the build on any divergence (fail closed)"
    },
    "panel_b": {
      "name": "Panel B — crawler-cycle canaries (steady / drift / gone)",
      "run_at": "2026-08-28T05:06:00.797Z",
      "pass": true,
      "cases": {
        "total": 3,
        "failed": 0
      },
      "results": [
        {
          "id": "steady",
          "expected": "fresh",
          "outcome": "fresh",
          "pass": true
        },
        {
          "id": "drift",
          "expected": "drift",
          "outcome": "drift",
          "pass": true
        },
        {
          "id": "gone",
          "expected": "unreachable",
          "outcome": "unreachable",
          "pass": true
        }
      ],
      "policy": "a misread canary aborts the cycle before any real claim is touched (fail closed)"
    }
  },
  "demand": {
    "match_intent_total": 32,
    "in_index": 31,
    "in_index_pct": 97,
    "first_recorded": "2026-08-22T20:13:25.995Z",
    "last_recorded": "2026-08-28T06:47:08.954Z",
    "by_week": [
      {
        "week": "2026-w34",
        "n": 7
      },
      {
        "week": "2026-w35",
        "n": 25
      }
    ],
    "top_out_of_scope_topics": [
      {
        "topic": "espresso",
        "n": 1
      }
    ],
    "conversions_attributed": 0,
    "http_counting_live": false,
    "counting_note": "match_intent calls recorded by the MCP server where it runs; direct HTTP fetches of the public index endpoints are not yet counted, so lookup totals undercount. Aggregate by design: no verbatim questions, no user identifiers."
  },
  "ledger": {
    "versions": 31,
    "latest_version": 31,
    "latest_entry_hash": "31f9f0065de6bedc3ef050b062686651eb74ee4ff56f04f5d285700b82573aec",
    "latest_at": "2026-08-28T06:50:33.936Z",
    "latest_annotation": "Cymbiotika evidence capture + tier upgrade: the magnesium-supplements catalog entry upgraded in place to captured tier (6 claims, current-lineup product name) + 3 cross-listings per the suffix convention (cymbiotika-creatine, cymbiotika-omega, cymbiotika-greens) — 16 claims total, every quoted span verified verbatim against saved page captures (staging lane /root/graviti-cymbiotika-staging, 21 fetch receipts, 4 downloaded COA PDFs). Notable: every captured product page links a lot-specific certificate of analysis from an ISO/IEC 17025:2017-accredited laboratory (Certified Group – Tustin) — published_third_party on all four specifications blocks, the documented case rather than the badge-without-document case; two claims held at awaiting_brand_confirmation (undocumented GMP badge, unlinked CreaBev absorption study). Roster events on the record: brand_added ×3, brand_skipped ×2 (vitamin-d, sleep-supplements). Schema-parity applied against rank-forcing: no tested-flag attribute where the category schema carries none on peers. No new categories, no keyword changes, engine untouched — rubric unchanged, scoring semantics unchanged. Capture is free of rank consequence: the engine lands the brand where fit puts it (magnesium #3/5 general-intent at merge time; the fit-score gaps vs the leader are value, breadth, guarantee).",
    "anchored": 30,
    "pending": 1,
    "blocks": [
      963634,
      963634,
      963641,
      963794,
      963798,
      963803,
      963803,
      963805,
      963874,
      963883,
      963896,
      963913,
      963950,
      963952,
      963952,
      963956,
      963957,
      963964,
      963969,
      964006,
      964023,
      964029,
      964032,
      964033,
      964087,
      964145,
      964168,
      964240,
      964247,
      964392
    ],
    "anchors": [
      {
        "version": 1,
        "block": 963634,
        "block_hash": "0000000000000000000207a82bd95758364d806a6aedab62deb2ee26122ba847",
        "url": "https://mempool.space/block/0000000000000000000207a82bd95758364d806a6aedab62deb2ee26122ba847"
      },
      {
        "version": 2,
        "block": 963634,
        "block_hash": "0000000000000000000207a82bd95758364d806a6aedab62deb2ee26122ba847",
        "url": "https://mempool.space/block/0000000000000000000207a82bd95758364d806a6aedab62deb2ee26122ba847"
      },
      {
        "version": 3,
        "block": 963641,
        "block_hash": "000000000000000000011fc31b64317b37a445a50aec5e63765044fcfd91bb89",
        "url": "https://mempool.space/block/000000000000000000011fc31b64317b37a445a50aec5e63765044fcfd91bb89"
      },
      {
        "version": 4,
        "block": 963794,
        "block_hash": "000000000000000000003258fa1d4600f8c5508ff39999e716696626c0347147",
        "url": "https://mempool.space/block/000000000000000000003258fa1d4600f8c5508ff39999e716696626c0347147"
      },
      {
        "version": 5,
        "block": 963798,
        "block_hash": "000000000000000000009994991596caec561b960239feb39af2d23f0e20a6cf",
        "url": "https://mempool.space/block/000000000000000000009994991596caec561b960239feb39af2d23f0e20a6cf"
      },
      {
        "version": 6,
        "block": 963803,
        "block_hash": "00000000000000000000f9c1b314117fa25f6eeff9d12396b44c0170cf9af969",
        "url": "https://mempool.space/block/00000000000000000000f9c1b314117fa25f6eeff9d12396b44c0170cf9af969"
      },
      {
        "version": 7,
        "block": 963803,
        "block_hash": "00000000000000000000f9c1b314117fa25f6eeff9d12396b44c0170cf9af969",
        "url": "https://mempool.space/block/00000000000000000000f9c1b314117fa25f6eeff9d12396b44c0170cf9af969"
      },
      {
        "version": 8,
        "block": 963805,
        "block_hash": "0000000000000000000073d6ac2ed97a1ac48a5e4c953ea71142505dc95c1646",
        "url": "https://mempool.space/block/0000000000000000000073d6ac2ed97a1ac48a5e4c953ea71142505dc95c1646"
      },
      {
        "version": 9,
        "block": 963874,
        "block_hash": "00000000000000000002055e2e8e3abc4f79a6cf9183b21af437ddba5360bbc3",
        "url": "https://mempool.space/block/00000000000000000002055e2e8e3abc4f79a6cf9183b21af437ddba5360bbc3"
      },
      {
        "version": 10,
        "block": 963883,
        "block_hash": "000000000000000000005007b9bcc157dc8ed5f83e689ee72391df8c3bcdce40",
        "url": "https://mempool.space/block/000000000000000000005007b9bcc157dc8ed5f83e689ee72391df8c3bcdce40"
      },
      {
        "version": 11,
        "block": 963896,
        "block_hash": "00000000000000000000a2ec23b345d17b0d416ad406168b77d6b892d8c24f42",
        "url": "https://mempool.space/block/00000000000000000000a2ec23b345d17b0d416ad406168b77d6b892d8c24f42"
      },
      {
        "version": 12,
        "block": 963913,
        "block_hash": "00000000000000000000d6f6f939a166c065e3decb0e8771dd260d6d6cebe742",
        "url": "https://mempool.space/block/00000000000000000000d6f6f939a166c065e3decb0e8771dd260d6d6cebe742"
      },
      {
        "version": 13,
        "block": 963950,
        "block_hash": "00000000000000000000efbb158fe1460f4fa308fb520026724ff4ef92a0e5b2",
        "url": "https://mempool.space/block/00000000000000000000efbb158fe1460f4fa308fb520026724ff4ef92a0e5b2"
      },
      {
        "version": 14,
        "block": 963952,
        "block_hash": "000000000000000000017b47a9e45b48ea2f4363f187e88c465e376eb92a086f",
        "url": "https://mempool.space/block/000000000000000000017b47a9e45b48ea2f4363f187e88c465e376eb92a086f"
      },
      {
        "version": 15,
        "block": 963952,
        "block_hash": "000000000000000000017b47a9e45b48ea2f4363f187e88c465e376eb92a086f",
        "url": "https://mempool.space/block/000000000000000000017b47a9e45b48ea2f4363f187e88c465e376eb92a086f"
      },
      {
        "version": 16,
        "block": 963956,
        "block_hash": "00000000000000000001565f885c9747f855677a14b8a1a21ed9bd8d77bda413",
        "url": "https://mempool.space/block/00000000000000000001565f885c9747f855677a14b8a1a21ed9bd8d77bda413"
      },
      {
        "version": 17,
        "block": 963957,
        "block_hash": "0000000000000000000081f4234193d7f8420220fc1534d36149a1d185f60ff5",
        "url": "https://mempool.space/block/0000000000000000000081f4234193d7f8420220fc1534d36149a1d185f60ff5"
      },
      {
        "version": 18,
        "block": 963964,
        "block_hash": "000000000000000000022821c7d5fbcafb4d2e44d48d1a623d86a735689a9ae5",
        "url": "https://mempool.space/block/000000000000000000022821c7d5fbcafb4d2e44d48d1a623d86a735689a9ae5"
      },
      {
        "version": 19,
        "block": 963969,
        "block_hash": "00000000000000000000007a86eb59407d137ddaa640149d331531efb186ca4f",
        "url": "https://mempool.space/block/00000000000000000000007a86eb59407d137ddaa640149d331531efb186ca4f"
      },
      {
        "version": 20,
        "block": 964006,
        "block_hash": "00000000000000000001a86a2c63bab799e1d5bcee2ea26ca7d39fddfe98273b",
        "url": "https://mempool.space/block/00000000000000000001a86a2c63bab799e1d5bcee2ea26ca7d39fddfe98273b"
      },
      {
        "version": 21,
        "block": 964023,
        "block_hash": "00000000000000000000816060fab6e3c1ddb68b0cabb4ec5de5aa044dc66d01",
        "url": "https://mempool.space/block/00000000000000000000816060fab6e3c1ddb68b0cabb4ec5de5aa044dc66d01"
      },
      {
        "version": 22,
        "block": 964029,
        "block_hash": "00000000000000000001ce253209a1b803e78fb27027a81027d533e38ae9b216",
        "url": "https://mempool.space/block/00000000000000000001ce253209a1b803e78fb27027a81027d533e38ae9b216"
      },
      {
        "version": 23,
        "block": 964032,
        "block_hash": "00000000000000000000190b799a8c2c522a4d806cdeec4e41a6c1d2e0540fce",
        "url": "https://mempool.space/block/00000000000000000000190b799a8c2c522a4d806cdeec4e41a6c1d2e0540fce"
      },
      {
        "version": 24,
        "block": 964033,
        "block_hash": "000000000000000000021477de8af72e4deb4ad164ef617c771f403f96843202",
        "url": "https://mempool.space/block/000000000000000000021477de8af72e4deb4ad164ef617c771f403f96843202"
      },
      {
        "version": 25,
        "block": 964087,
        "block_hash": "000000000000000000018ec663b1daed175aa31d47475ca9b7f2a97ea27534d1",
        "url": "https://mempool.space/block/000000000000000000018ec663b1daed175aa31d47475ca9b7f2a97ea27534d1"
      },
      {
        "version": 26,
        "block": 964145,
        "block_hash": "000000000000000000017295f1a1d4e7bbbe0eb6d1408337f2cc17aaf0ea96b5",
        "url": "https://mempool.space/block/000000000000000000017295f1a1d4e7bbbe0eb6d1408337f2cc17aaf0ea96b5"
      },
      {
        "version": 27,
        "block": 964168,
        "block_hash": "00000000000000000001e95b21a0e13dff4a093b7bd96bf2b7f2e8f2de4ed9e3",
        "url": "https://mempool.space/block/00000000000000000001e95b21a0e13dff4a093b7bd96bf2b7f2e8f2de4ed9e3"
      },
      {
        "version": 28,
        "block": 964240,
        "block_hash": "00000000000000000001b3d4711bf47202b8077078759c49046e0b21a94cf33a",
        "url": "https://mempool.space/block/00000000000000000001b3d4711bf47202b8077078759c49046e0b21a94cf33a"
      },
      {
        "version": 29,
        "block": 964247,
        "block_hash": "00000000000000000001cbf5aa8cedaf10a03664932b5c14eae838da00b8c77a",
        "url": "https://mempool.space/block/00000000000000000001cbf5aa8cedaf10a03664932b5c14eae838da00b8c77a"
      },
      {
        "version": 30,
        "block": 964392,
        "block_hash": "00000000000000000000533af042bfd0d44045cdcd5d8abe285a33ad668cd515",
        "url": "https://mempool.space/block/00000000000000000000533af042bfd0d44045cdcd5d8abe285a33ad668cd515"
      }
    ],
    "receipts_url": "https://graviti.thesingulariti.ai/receipts.json"
  }
}
