{
  "schema": "tggifts.proof/1",
  "site": "https://tggifts.com",
  "generator": "radar-ceo/tools/proof_engine.py",
  "computed_at": "2026-11-01T20:04:01Z",
  "max_age_hours": 48,
  "currency": "GRAM",
  "attribution": "TG Gifts (tggifts.com); derived from public Fragment data",
  "public_url": "https://tggifts.com/data/proof.json",
  "method_url": "https://tggifts.com/proof",
  "window": {
    "from": "2026-10-18T23:30:22Z",
    "to": "2026-11-01T18:16:50Z"
  },
  "sources": {
    "floors_daily": {
      "path": "web3-radar/data/channel-cache/floors-daily.json",
      "bytes": 39226,
      "sha256": "16330b0b4305dbcc36e3444098739ca2f8dd10eec9448e31ea5161f9b6a6e5af",
      "modified_at": "2026-11-01T19:14:03Z",
      "generated": "2026-11-01T19:14:03.476Z",
      "public_url": "https://tggifts.com/data/floors-daily.json",
      "latest_date": "2026-11-01"
    },
    "models_daily": {
      "path": "web3-radar/data/channel-cache/models-daily.json",
      "bytes": 1418004,
      "sha256": "cf5392f856ff8c96103237d2468c0c4eb6df4a5a93dd6329b7092231c09675d7",
      "modified_at": "2026-11-01T19:14:04Z",
      "generated": "2026-11-01T18:35:45.379Z",
      "public_url": "https://tggifts.com/data/models-daily.json",
      "latest_date": "2026-11-01"
    },
    "track_record": {
      "path": "web3-radar/data/channel-cache/track-record.json",
      "bytes": 11656,
      "sha256": "785ad0840b03e19641447923a66462df943aab993fb2775e598cb2644cdf2fda",
      "modified_at": "2026-11-01T19:14:05Z",
      "generated": "2026-11-01T19:14:05.338Z",
      "public_url": "https://tggifts.com/track-record.json"
    },
    "alert_latency": {
      "url": "https://tggifts.com/data/alert-latency.json",
      "fetched_at": "2026-11-01T20:04:01Z",
      "sha256": null,
      "error": "HTTP Error 404: Not Found"
    },
    "valuation_accuracy": {
      "url": "https://tggifts.com/data/valuation-accuracy.json",
      "fetched_at": "2026-11-01T20:04:01Z",
      "sha256": "45ce00145959f42bd0aebb760bd8cc034813b3cd59f7b144b24cf8f13c1cd4bc",
      "error": null,
      "snapshot": "radar-ceo/data/valuation-accuracy-live.json"
    },
    "valuation_backtest": {
      "path": "radar-ceo/outputs/valuation-backtest-20261101.json",
      "bytes": 103896,
      "sha256": "d4b3899a63fe10227b0b89741961bedd17b7783a2fa43eff4125e01ce0cff957",
      "modified_at": "2026-10-31T21:24:18Z"
    },
    "portals_spread": {
      "path": "radar-dev/data/portals-spread.jsonl",
      "bytes": 414,
      "sha256": "b926144bdb91df3a76f957fd38483f78709d7152da41b2b459a573028f72f7a3",
      "modified_at": "2026-11-01T18:16:50Z"
    }
  },
  "facts": {
    "alert_latency": {
      "status": "collecting",
      "value": null,
      "n": 0,
      "threshold": 20,
      "window": {
        "from": null,
        "to": null
      },
      "computed_at": "2026-11-01T20:04:01Z",
      "source": [
        {
          "url": "https://tggifts.com/data/alert-latency.json",
          "fetched_at": "2026-11-01T20:04:01Z",
          "sha256": null,
          "error": "HTTP Error 404: Not Found"
        }
      ],
      "reason": "No samples were returned: the /data/alert-latency.json endpoint is not deployed yet or was unreachable, and no local snapshot exists. The instrumentation is built (p62lat), so this is a deployment/sample gate, not a missing field.",
      "missing_fields": [],
      "endpoint": "unreachable_or_not_deployed",
      "cost": {
        "store": "existing Durable Object GIFT_RADAR (key p62lat); no new service",
        "writes_per_batch": 1,
        "estimated_writes_per_day": "< 200 (one write per scan with new alerts; the public hunt log ran at ~2.3 items/day in the last 7 days)",
        "flag": "p62lat (default ON; set p62lat:0 in KV or PF_P62LAT=0 to turn off)",
        "known_limit": "Read-modify-write in the DO: a concurrent alert batch can drop one sample, which only delays the n≥20 gate. It cannot invent a sample."
      }
    },
    "time_to_sale": {
      "status": "measured",
      "headline_type": "gift_fixed_price",
      "value": {
        "n": 5,
        "p25_hours": 4.2831,
        "p50_hours": 7.145,
        "p75_hours": 56.868,
        "p90_hours": 102.3389,
        "median_minutes": 428.7
      },
      "n": 5,
      "window": {
        "from": "2026-10-19T07:56:02Z",
        "to": "2026-10-31T18:38:11Z"
      },
      "computed_at": "2026-11-01T20:04:01Z",
      "source": [
        {
          "path": "web3-radar/data/channel-cache/track-record.json",
          "bytes": 11656,
          "sha256": "785ad0840b03e19641447923a66462df943aab993fb2775e598cb2644cdf2fda",
          "modified_at": "2026-11-01T19:14:05Z",
          "generated": "2026-11-01T19:14:05.338Z",
          "public_url": "https://tggifts.com/track-record.json"
        }
      ],
      "anchor": "found",
      "anchor_note": "The clock starts at `found` — the moment the radar logged the listing — and the first successful Telegram send is recorded separately by the p62lat instrumentation. The alert-to-sale time is therefore slightly shorter than this.",
      "only_confirmed": true,
      "quantile_method": "Hyndman–Fan type 7 (linear interpolation between order statistics).",
      "all_confirmed_reference": {
        "n": 16,
        "p25_hours": 0.1223,
        "p50_hours": 0.1629,
        "p75_hours": 2.0616,
        "p90_hours": 32.0065,
        "median_minutes": 9.77,
        "window": {
          "from": "2026-10-19T05:10:22Z",
          "to": "2026-10-31T18:38:11Z"
        },
        "source": {
          "path": "web3-radar/data/channel-cache/track-record.json",
          "bytes": 11656,
          "sha256": "785ad0840b03e19641447923a66462df943aab993fb2775e598cb2644cdf2fda",
          "modified_at": "2026-11-01T19:14:05Z",
          "generated": "2026-11-01T19:14:05.338Z",
          "public_url": "https://tggifts.com/track-record.json"
        },
        "computed_at": "2026-11-01T20:04:01Z",
        "warning": "Mixed hunt types (fixed-price gifts + auction closes). Reference only; it is not the headline and must not be quoted as one number."
      }
    },
    "hunt_types": {
      "status": "measured",
      "headline": "gift_fixed_price",
      "value": {
        "gift_fixed_price": {
          "n": 17,
          "sold": 5,
          "sold_at_or_above_alert": 3,
          "sold_below_alert": 2,
          "above_alert": 0,
          "at_alert": 3,
          "median_time_to_sale_hours": 7.145,
          "n_time": 5,
          "comparison": "fixed purchase price",
          "window": {
            "from": "2026-10-19T07:56:02Z",
            "to": "2026-10-31T18:38:11Z"
          },
          "reason": null
        },
        "gift_auction": {
          "n": 0,
          "sold": 0,
          "sold_at_or_above_alert": null,
          "sold_below_alert": null,
          "above_alert": null,
          "at_alert": null,
          "median_time_to_sale_hours": null,
          "n_time": 0,
          "comparison": "minimum bid",
          "window": {
            "from": null,
            "to": null
          },
          "reason": "The alert price is a minimum bid and is not stored in the public log; a final sale cannot be classified as above/below a price paid."
        },
        "username_auction": {
          "n": 11,
          "sold": 11,
          "sold_at_or_above_alert": null,
          "sold_below_alert": null,
          "above_alert": null,
          "at_alert": null,
          "median_time_to_sale_hours": 0.1341,
          "n_time": 11,
          "comparison": "minimum bid",
          "window": {
            "from": "2026-10-19T05:10:22Z",
            "to": "2026-10-29T20:18:25Z"
          },
          "reason": "The alert price is a minimum bid and is not stored in the public log; a final sale cannot be classified as above/below a price paid."
        },
        "username_fixed": {
          "n": 7,
          "sold": 0,
          "sold_at_or_above_alert": null,
          "sold_below_alert": null,
          "above_alert": null,
          "at_alert": null,
          "median_time_to_sale_hours": null,
          "n_time": 0,
          "comparison": "fixed purchase price",
          "window": {
            "from": "2026-10-18T23:30:22Z",
            "to": "2026-10-27T17:55:22Z"
          },
          "reason": "No confirmed sale with a stored fixed alert price in this window."
        }
      },
      "n": {
        "hunts": 35,
        "sold": 16
      },
      "window": {
        "from": "2026-10-18T23:30:22Z",
        "to": "2026-10-31T18:38:11Z"
      },
      "computed_at": "2026-11-01T20:04:01Z",
      "source": [
        {
          "path": "web3-radar/data/channel-cache/track-record.json",
          "bytes": 11656,
          "sha256": "785ad0840b03e19641447923a66462df943aab993fb2775e598cb2644cdf2fda",
          "modified_at": "2026-11-01T19:14:05Z",
          "generated": "2026-11-01T19:14:05.338Z",
          "public_url": "https://tggifts.com/track-record.json"
        }
      ],
      "explanation": "An auction's 'alert price' is the minimum bid, not a price paid. Final auction sales are therefore never counted as above or below the alert price, and are never pooled with fixed-price gift snipes. The headline uses gift snipes with a fixed purchase price only.",
      "headline_reason": "Gift snipes are the only hunt type where the alert price is a price a buyer can actually pay."
    },
    "floor_change_24h": {
      "status": "measured",
      "value": {
        "median_pct": 0.0,
        "mean_pct": 0.6969,
        "p10_pct": 0.0,
        "p90_pct": 0.0,
        "min_pct": -13.3333,
        "max_pct": 34.6154,
        "up": 8,
        "down": 4,
        "flat": 90,
        "up_share_pct": 7.84,
        "down_share_pct": 3.92,
        "flat_share_pct": 88.24
      },
      "n": 102,
      "window": {
        "from": "2026-10-31",
        "to": "2026-11-01"
      },
      "computed_at": "2026-11-01T20:04:01Z",
      "source": [
        {
          "path": "web3-radar/data/channel-cache/floors-daily.json",
          "bytes": 39226,
          "sha256": "16330b0b4305dbcc36e3444098739ca2f8dd10eec9448e31ea5161f9b6a6e5af",
          "modified_at": "2026-11-01T19:14:03Z",
          "generated": "2026-11-01T19:14:03.476Z",
          "public_url": "https://tggifts.com/data/floors-daily.json"
        }
      ],
      "caveat": "One scan per day (the first scan of the day). The floor is the cheapest buy-now listing on Fragment, not a sale price. A flat day means the cheapest listing did not change; it does not mean the market did not trade."
    },
    "valuation_accuracy": {
      "status": "collecting",
      "value": null,
      "n": 8,
      "threshold": 30,
      "open": 113,
      "window": {
        "from": null,
        "to": null,
        "days": 90,
        "note": "Rolling window declared by the endpoint (window_days); exact settlement dates are not exposed."
      },
      "computed_at": "2026-11-01T20:04:01Z",
      "source": [
        {
          "url": "https://tggifts.com/data/valuation-accuracy.json",
          "fetched_at": "2026-11-01T20:04:01Z",
          "sha256": "45ce00145959f42bd0aebb760bd8cc034813b3cd59f7b144b24cf8f13c1cd4bc",
          "error": null,
          "snapshot": "radar-ceo/data/valuation-accuracy-live.json"
        }
      ],
      "reason": "Only 8 of the 30 settled estimates required by the publication rule. The live MAE and the share within ±20% are not published before 30; this is deliberate, not a missing computation.",
      "live_note": "Collecting: numbers are published once 30 estimates have settled against real sales.",
      "supplemental_backtest": {
        "status": "measured",
        "label": "BACKTEST (historical holdout), not the live forward record",
        "value": {
          "gifts": {
            "median_ape_pct": 16.67,
            "within20_pct": 57.96,
            "range_coverage_pct": 80.28,
            "mape_pct": 37.16
          },
          "usernames": {
            "median_ape_pct": 28.18,
            "within20_pct": 37.06,
            "range_coverage_pct": 75.88
          }
        },
        "n": {
          "gifts": 999,
          "usernames": 170
        },
        "window": {
          "gifts": {
            "from": "2026-10-26",
            "to": "2026-10-31"
          },
          "usernames": {
            "from": null,
            "to": "2026-10-27",
            "days": 90,
            "note": "days 90–180 before the data end, as labelled in the backtest"
          }
        },
        "computed_at": "2026-11-01T20:04:01Z",
        "source": [
          {
            "path": "radar-ceo/outputs/valuation-backtest-20261101.json",
            "bytes": 103896,
            "sha256": "d4b3899a63fe10227b0b89741961bedd17b7783a2fa43eff4125e01ce0cff957",
            "modified_at": "2026-10-31T21:24:18Z"
          }
        ],
        "caveat": "Historical, rolling-origin, out-of-sample; own-listing floors are excluded in the gift view. 999 gift sales over the holdout and 170 username sales. It is not the live settled record and must never be shown as if it were.",
        "mae_gram": null,
        "mae_gram_reason": "The backtest stores percentage errors only; an absolute GRAM MAE needs per-sale prices, which the aggregate file does not retain."
      }
    },
    "coverage": {
      "status": "measured",
      "value": {
        "collections_watched": {
          "value": 123,
          "n": 123,
          "window": {
            "from": "2026-11-01",
            "to": "2026-11-01"
          },
          "source": {
            "path": "web3-radar/data/channel-cache/floors-daily.json",
            "bytes": 39226,
            "sha256": "16330b0b4305dbcc36e3444098739ca2f8dd10eec9448e31ea5161f9b6a6e5af",
            "modified_at": "2026-11-01T19:14:03Z",
            "generated": "2026-11-01T19:14:03.476Z",
            "public_url": "https://tggifts.com/data/floors-daily.json"
          }
        },
        "collections_with_floor_latest_day": {
          "value": 102,
          "n": 123,
          "window": {
            "from": "2026-11-01",
            "to": "2026-11-01"
          },
          "source": {
            "path": "web3-radar/data/channel-cache/floors-daily.json",
            "bytes": 39226,
            "sha256": "16330b0b4305dbcc36e3444098739ca2f8dd10eec9448e31ea5161f9b6a6e5af",
            "modified_at": "2026-11-01T19:14:03Z",
            "generated": "2026-11-01T19:14:03.476Z",
            "public_url": "https://tggifts.com/data/floors-daily.json"
          }
        },
        "listings_counted_last_day": {
          "value": 51236,
          "n": 1,
          "window": {
            "from": "2026-11-01",
            "to": "2026-11-01"
          },
          "source": {
            "path": "web3-radar/data/channel-cache/models-daily.json",
            "bytes": 1418004,
            "sha256": "cf5392f856ff8c96103237d2468c0c4eb6df4a5a93dd6329b7092231c09675d7",
            "modified_at": "2026-11-01T19:14:04Z",
            "generated": "2026-11-01T18:35:45.379Z",
            "public_url": "https://tggifts.com/data/models-daily.json"
          },
          "note": "Sum of buy-now listings recorded on the first scan of the day; each model row is capped at 60."
        },
        "listings_counted_per_day_median_7d": {
          "value": 40420.0,
          "n": 7,
          "window": {
            "from": "2026-10-26",
            "to": "2026-11-01"
          },
          "source": {
            "path": "web3-radar/data/channel-cache/models-daily.json",
            "bytes": 1418004,
            "sha256": "cf5392f856ff8c96103237d2468c0c4eb6df4a5a93dd6329b7092231c09675d7",
            "modified_at": "2026-11-01T19:14:04Z",
            "generated": "2026-11-01T18:35:45.379Z",
            "public_url": "https://tggifts.com/data/models-daily.json"
          },
          "note": "Median of the daily sums of buy_now_listings; each row is capped at 60 by the source."
        },
        "hunts_logged_per_day_7d": {
          "value": 2.29,
          "n": 7,
          "window": {
            "from": "2026-10-26",
            "to": "2026-11-01"
          },
          "source": {
            "path": "web3-radar/data/channel-cache/track-record.json",
            "bytes": 11656,
            "sha256": "785ad0840b03e19641447923a66462df943aab993fb2775e598cb2644cdf2fda",
            "modified_at": "2026-11-01T19:14:05Z",
            "generated": "2026-11-01T19:14:05.338Z",
            "public_url": "https://tggifts.com/track-record.json"
          },
          "note": "Unique items in the public hunts log divided by 7; this is not the number of alerts sent."
        },
        "alerts_sent_per_day": {
          "value": null,
          "n": 0,
          "window": {
            "from": "2026-10-26",
            "to": "2026-11-01"
          },
          "reason": "Not measurable: the bot stores no per-alert delivery record. KV `galerted` keeps only dedupe keys [item@price, scan_timestamp] (max 500) and KV `hunts` keeps one row per item. There is no count of alerts sent to users, successful or failed.",
          "missing_fields": [
            "alert_id",
            "user_id",
            "alert_sent_at",
            "delivery_status"
          ]
        }
      },
      "n": {
        "collections": 123,
        "days": 7
      },
      "window": {
        "from": "2026-10-26",
        "to": "2026-11-01"
      },
      "computed_at": "2026-11-01T20:04:01Z",
      "source": [
        {
          "path": "web3-radar/data/channel-cache/floors-daily.json",
          "bytes": 39226,
          "sha256": "16330b0b4305dbcc36e3444098739ca2f8dd10eec9448e31ea5161f9b6a6e5af",
          "modified_at": "2026-11-01T19:14:03Z",
          "generated": "2026-11-01T19:14:03.476Z",
          "public_url": "https://tggifts.com/data/floors-daily.json"
        },
        {
          "path": "web3-radar/data/channel-cache/models-daily.json",
          "bytes": 1418004,
          "sha256": "cf5392f856ff8c96103237d2468c0c4eb6df4a5a93dd6329b7092231c09675d7",
          "modified_at": "2026-11-01T19:14:04Z",
          "generated": "2026-11-01T18:35:45.379Z",
          "public_url": "https://tggifts.com/data/models-daily.json"
        },
        {
          "path": "web3-radar/data/channel-cache/track-record.json",
          "bytes": 11656,
          "sha256": "785ad0840b03e19641447923a66462df943aab993fb2775e598cb2644cdf2fda",
          "modified_at": "2026-11-01T19:14:05Z",
          "generated": "2026-11-01T19:14:05.338Z",
          "public_url": "https://tggifts.com/track-record.json"
        }
      ],
      "caveat": "Coverage is a count of what the public data contains, not a claim that every listing was seen."
    },
    "cross_market_spread": {
      "status": "internal",
      "visibility": "internal",
      "public": false,
      "value": {
        "median_spread_pct": 13.3,
        "cheaper_market": "portals",
        "collections_with_15pct_or_more": 42,
        "share_15pct_or_more_pct": 41.18,
        "snapshots": 4
      },
      "n": 102,
      "window": {
        "from": "2026-10-31T22:22:07Z",
        "to": "2026-11-01T18:16:50Z"
      },
      "computed_at": "2026-11-01T20:04:01Z",
      "source": [
        {
          "path": "radar-dev/data/portals-spread.jsonl",
          "bytes": 414,
          "sha256": "b926144bdb91df3a76f957fd38483f78709d7152da41b2b459a573028f72f7a3",
          "modified_at": "2026-11-01T18:16:50Z"
        }
      ],
      "caveat": "Internal comparison of another marketplace's floor with Fragment's floor. Internal only: it is not published until the owner approves the second source (p29) and its terms. It is a floor difference, not a realised profit."
    }
  },
  "method": {
    "version": "1.1",
    "quantiles": "p25/p50/p75/p90 use linear interpolation between order statistics (Hyndman–Fan type 7).",
    "time_to_sale": "hours = (sold_at − found) / 3600. The headline is gift_fixed_price only; auction closes are reported separately and never pooled into the headline. The clock starts at detection (`found`); the p62lat instrumentation records the first successful Telegram send separately.",
    "hunt_types": "Four buckets: gift_fixed_price, gift_auction, username_auction, username_fixed. Each has n (all hunts of that type), sold (confirmed Fragment sales), sold_at_or_above_alert, sold_below_alert, and median_time_to_sale_hours. Auctions return null for above/below because their alert price is a minimum bid, not a price paid. The headline is gift_fixed_price.",
    "floor_change_24h": "100 × (floor(t) − floor(t−1)) / floor(t−1) for collections with a positive floor on both the latest day and the previous calendar day. Floor = cheapest buy-now listing at the first scan of the day, not a sale.",
    "valuation_accuracy": "Live forward record: settled estimates vs real sales from /data/valuation-accuracy.json. No MAE or ±20% share is published before n≥30. The historical backtest is a separate, clearly labelled holdout and is never mixed with the live record.",
    "coverage": "Collections watched = keys in floors-daily.json. Listings counted = sum of buy_now_listings for the day (each model row is capped at 60 by the source). Alerts sent is null because no per-delivery record exists.",
    "cross_market_spread": "Latest snapshot of portals-spread.jsonl: median gap of another marketplace's floor vs Fragment, and the share of collections with |gap| ≥ 15%. Internal only until p29 approval.",
    "alert_latency": "Instrumented at alertVips: one sample per alert batch (first successful send), stored in the existing Durable Object under `p62lat`; one DO write per batch. p50/p90 are published only at n≥20 successful sends. Failed sends are counted separately and excluded from the quantiles.",
    "known_limits": [
      "Small samples: 17 gift snipes, 5 sold. Auctions are reported separately.",
      "The 24h floor change is one scan per day, not a live feed.",
      "The live valuation record has 8 settled estimates; the threshold is 30.",
      "Alert latency is collecting at n=0; it is published only at n≥20.",
      "Cross-market data is internal, from 4 snapshots over 102 collections.",
      "No resale price and no profit is promised. An alert price is not a resale price; an auction alert price is a minimum bid.",
      "The radar's public hunts log is capped (one row per item, 30 in KV); it is not an exhaustive trade ledger."
    ]
  }
}
