{
  "page": "https://propsurvival.com/challenges/ftmo-100k",
  "firm": "FTMO",
  "program": "FTMO Challenge (2-Step)",
  "account_size": 100000,
  "generated_at": "2026-10-15T00:00:00.000Z",
  "engine_version": "1.0-L3",
  "engine_module": "src/lib/state-conditional-mc.js",
  "model_id": "simulateFromState",
  "path_count": 25000,
  "corpus_version": "0370aa3b4ab5caf3",
  "retrieved_at": "2026-07-22",
  "last_checked": "2026-10-15",
  "last_disconfirmed": "2026-10-15",
  "ledger_state": "cited sentence no longer found at source (re-verification pending)",
  "rechecks": [
    {
      "checked_at": "2026-07-22",
      "method": "two-pass-blind-independent",
      "outcome": "confirmed_with_mismatch"
    },
    {
      "checked_at": "2026-07-31",
      "method": "modeled-from-prior-run-2-finding",
      "outcome": "confirmed_with_disagreement"
    },
    {
      "checked_at": "2026-09-06",
      "method": "official-page-fetch-quote-substring",
      "outcome": "changed"
    },
    {
      "checked_at": "2026-09-13",
      "method": "first-party-single-pass",
      "outcome": "documented-absent"
    },
    {
      "checked_at": "2026-10-04",
      "method": "normal-corpus-review-current-first-party",
      "outcome": "confirmed"
    },
    {
      "checked_at": "2026-10-04",
      "method": "normal-corpus-review-current-first-party",
      "outcome": "confirmed"
    },
    {
      "checked_at": "2026-10-04",
      "method": "normal-corpus-review-current-first-party",
      "outcome": "confirmed"
    },
    {
      "checked_at": "2026-10-04",
      "method": "normal-corpus-review-current-first-party",
      "outcome": "confirmed"
    },
    {
      "checked_at": "2026-10-04",
      "method": "normal-corpus-review-current-first-party",
      "outcome": "confirmed"
    },
    {
      "checked_at": "2026-10-04",
      "method": "normal-corpus-review-current-first-party",
      "outcome": "confirmed"
    },
    {
      "checked_at": "2026-10-04",
      "method": "normal-corpus-review-current-first-party",
      "outcome": "confirmed"
    }
  ],
  "resolved_rules": {
    "target": 10,
    "dailyDD": 5,
    "totalDD": 10,
    "minDays": 4,
    "maxDays": 60,
    "ddMode": "static",
    "freezeAtInitial": false,
    "consistencyPct": 0,
    "onDailyBasis": "initial"
  },
  "ambiguities": [
    {
      "field": "phases[0].daily_loss.reset_time_utc",
      "candidates": [
        "23:00",
        "22:00"
      ],
      "conservative": "23:00",
      "basis": "Flagged 2026-07-22 (run 2), never modeled until now. FTMO publishes ONE rule for both products (\"recalculated daily at 00:00 CE(S)T\"), but this corpus held two different UTC values (ftmo=23:00, ftmo-1step=22:00) for the identical source sentence - the CET(winter,UTC+1)/CEST(summer,UTC+2) DST split, not two different firm rules. Unified both products to the same ambiguities[] set, matching the convention Topsteps own reset_time_utc ambiguity already uses for the identical CDT/CST issue. Conservative = 23:00 (CET reading), matching both the already-held ftmo.json value and Topsteps precedent.",
      "sources": [
        "https://ftmo.com/en/trading-objectives/"
      ]
    }
  ],
  "quality_checks": [
    {
      "name": "Verified data",
      "ok": true
    },
    {
      "name": "Real search intent",
      "ok": true
    },
    {
      "name": "Unique user value",
      "ok": true
    },
    {
      "name": "Source/provenance",
      "ok": true
    },
    {
      "name": "Product relevance",
      "ok": true
    },
    {
      "name": "Correct graph position",
      "ok": true
    },
    {
      "name": "Freshness model",
      "ok": true
    },
    {
      "name": "Anti-thin-content",
      "ok": true
    },
    {
      "name": "Technical indexability",
      "ok": true
    },
    {
      "name": "Structural/visual QA",
      "ok": true
    }
  ],
  "results": [
    {
      "trader_profile_id": "steady-scaler",
      "trader_profile_label": "Steady Scaler",
      "trader": {
        "wr": 50,
        "winR": 1.5,
        "lossR": 1,
        "risk": 1,
        "trades": 4,
        "cost": 0.05,
        "stopLosses": 0,
        "profitLock": 0,
        "clustering": "Independent"
      },
      "seed_phase1": 1690558971,
      "seed_phase2": 4008208546,
      "pass_probability": 0.82044,
      "pass_se": 0.002427494233978734,
      "funded_probability": 0.7192305215999999,
      "funded_se": 0.0027276850785595604,
      "binding_constraint": "dailyFail",
      "median_days": 9,
      "input_fingerprint_phase1": "2a5825530f3409a2942d7ad4c4db1639168d7686205284f8e97ce9ca76675a75",
      "input_fingerprint_phase2": "fc426b79d5b8b528c0a6c1e58e5fbde4117e678a446d3295fc86c8ca8510b6dd"
    },
    {
      "trader_profile_id": "aggressive-scalper",
      "trader_profile_label": "Aggressive Scalper",
      "trader": {
        "wr": 45,
        "winR": 1.8,
        "lossR": 1,
        "risk": 1,
        "trades": 4,
        "cost": 0.05,
        "stopLosses": 0,
        "profitLock": 0,
        "clustering": "Independent"
      },
      "seed_phase1": 1809688131,
      "seed_phase2": 2223498936,
      "pass_probability": 0.76352,
      "pass_se": 0.0026874315589424783,
      "funded_probability": 0.6375392,
      "funded_se": 0.002871979797357356,
      "binding_constraint": "dailyFail",
      "median_days": 8,
      "input_fingerprint_phase1": "381ee927dafb4dc8f2203c0fe52498ab8ed6471406b9b839d8e6aad26be8b132",
      "input_fingerprint_phase2": "3501e3d58251ac97b34bffbf84fd3aa8b4c27721c88f594e21374a5594e03961"
    },
    {
      "trader_profile_id": "balance-rider",
      "trader_profile_label": "Balance Rider",
      "trader": {
        "wr": 42,
        "winR": 2,
        "lossR": 1,
        "risk": 0.75,
        "trades": 4,
        "cost": 0.05,
        "stopLosses": 0,
        "profitLock": 0,
        "clustering": "Independent"
      },
      "seed_phase1": 278334601,
      "seed_phase2": 601896654,
      "pass_probability": 0.89544,
      "pass_se": 0.0019352230507101759,
      "funded_probability": 0.8368065888,
      "funded_se": 0.0022876367816789746,
      "binding_constraint": "totalFail",
      "median_days": 11,
      "input_fingerprint_phase1": "88c19bd30fe13c8495077214bb9e9dcdd110c790a073cc8d2ff2ac11988ffea8",
      "input_fingerprint_phase2": "c28d402b811d51414fb1fb1387e835742da3e06a7a109132e2d86d47f7929d17"
    }
  ],
  "reproduce": "node tools/build-challenge-pages.js"
}
