{
  "checked_at": "2026-10-29",
  "engine_version": "catalog-engine-v1-2026-10-29-readiness-v3",
  "engine_sha256": "b2ae4f6d314c13d2373c3a64b35f0c4b7a2e592dade360b37b186ddb5f30105f",
  "catalog_sha256": "04ffe5e0d90a835e0c25ddaeb5667848ced42eb6482d860d6cea91b48a20ae07",
  "private_trade_data_included": false,
  "checkout_prices_verified": false,
  "firm_count": 9,
  "catalog_records": 426,
  "current_configurations": 305,
  "current_ready_with_saved_assumptions": 293,
  "current_blocked": 12,
  "broad_v2_runtime_grid": {
    "engine_sha256": "d2300c464a5e23a9bf95a310773762ff2233cfd1464e45e9e5b34005df915077",
    "cases": 49810,
    "completed": 43299,
    "guarded": 6511,
    "unexpected_errors": 0,
    "completed_variant_paths": 48558,
    "all_six_funded_management_families": true,
    "all_possible_numeric_inputs_tested": false
  },
  "final_v3_regression": {
    "final-v3-affected-grid": {
      "cases": 1360,
      "statuses": {
        "completed": 1131,
        "rejected": 229
      },
      "selected_plan_ids": [
        "tradeify_growth_100000",
        "tradeify_growth_150000",
        "tradeify_growth_25000",
        "tradeify_growth_50000",
        "tradeify_lightning_100000",
        "tradeify_lightning_150000",
        "tradeify_lightning_25000",
        "tradeify_lightning_50000"
      ]
    },
    "final-v3-smoke": {
      "cases": 879,
      "statuses": {
        "completed": 852,
        "rejected": 27
      },
      "selected_plan_ids": null
    }
  },
  "unaffected_v2_v3_differential": {
    "engine_and_catalog_unchanged": true,
    "hashes_at_start": {
      "dist/model/catalog_engine.py": "b2ae4f6d314c13d2373c3a64b35f0c4b7a2e592dade360b37b186ddb5f30105f",
      "dist/model/catalog.json": "04ffe5e0d90a835e0c25ddaeb5667848ced42eb6482d860d6cea91b48a20ae07",
      "tests/readiness-2026-10-29/reference/catalog_engine_v2.py": "d2300c464a5e23a9bf95a310773762ff2233cfd1464e45e9e5b34005df915077"
    },
    "hashes_at_finish": {
      "dist/model/catalog_engine.py": "b2ae4f6d314c13d2373c3a64b35f0c4b7a2e592dade360b37b186ddb5f30105f",
      "dist/model/catalog.json": "04ffe5e0d90a835e0c25ddaeb5667848ced42eb6482d860d6cea91b48a20ae07",
      "tests/readiness-2026-10-29/reference/catalog_engine_v2.py": "d2300c464a5e23a9bf95a310773762ff2233cfd1464e45e9e5b34005df915077"
    },
    "unaffected_plans": 285,
    "cases_per_plan": 10,
    "cases": 2850,
    "statuses": {
      "completed": 2568,
      "guarded": 282
    },
    "comparison": "Complete result trees; only engine_version keys ignored. Matching guard class and message required.",
    "seconds": 332.7,
    "differences": []
  },
  "controller_qa": {
    "selector_records": 426,
    "save_edit_job_roundtrips": 296,
    "preset_roundtrips": 2632,
    "issues": 0
  },
  "browser_completed_firms": [
    "alpha_futures",
    "apex",
    "fff",
    "fundednext",
    "goat",
    "lucid_trading",
    "mff",
    "topstep",
    "tradeify"
  ],
  "browser_native_qa": {
    "cases": 23,
    "outcomes": {
      "completed": 21,
      "guard": 2
    },
    "native_numeric_values": 548172,
    "native_other_values": 258457,
    "financial_identities": 987,
    "mismatches": 0,
    "variants_per_case": 4,
    "nine_firms_represented": true,
    "ten_presets_represented": true,
    "six_visible_funded_families_represented": true
  },
  "broad_v2_by_firm": {
    "alpha_futures": {
      "current_configurations": 13,
      "ready_with_saved_assumptions": 9,
      "completed_cases": 1521,
      "guarded_cases": 9
    },
    "apex": {
      "current_configurations": 66,
      "ready_with_saved_assumptions": 66,
      "completed_cases": 11178,
      "guarded_cases": 42
    },
    "fff": {
      "current_configurations": 41,
      "ready_with_saved_assumptions": 41,
      "completed_cases": 6824,
      "guarded_cases": 146
    },
    "fundednext": {
      "current_configurations": 13,
      "ready_with_saved_assumptions": 13,
      "completed_cases": 1758,
      "guarded_cases": 452
    },
    "goat": {
      "current_configurations": 35,
      "ready_with_saved_assumptions": 32,
      "completed_cases": 3377,
      "guarded_cases": 2063
    },
    "lucid_trading": {
      "current_configurations": 60,
      "ready_with_saved_assumptions": 56,
      "completed_cases": 7825,
      "guarded_cases": 1695
    },
    "mff": {
      "current_configurations": 18,
      "ready_with_saved_assumptions": 17,
      "completed_cases": 2217,
      "guarded_cases": 673
    },
    "topstep": {
      "current_configurations": 32,
      "ready_with_saved_assumptions": 32,
      "completed_cases": 4697,
      "guarded_cases": 743
    },
    "tradeify": {
      "current_configurations": 27,
      "ready_with_saved_assumptions": 27,
      "completed_cases": 3902,
      "guarded_cases": 688
    }
  },
  "blocked_current_configurations": [
    {
      "id": "alpha_direct_25000",
      "firm": "alpha_futures",
      "reason": "This variant cannot run yet. Resolve Direct / Withdrawable Fraction Unpublished."
    },
    {
      "id": "alpha_direct_50000",
      "firm": "alpha_futures",
      "reason": "This variant cannot run yet. Resolve Direct / Withdrawable Fraction Unpublished."
    },
    {
      "id": "alpha_direct_100000",
      "firm": "alpha_futures",
      "reason": "This variant cannot run yet. Resolve Direct / Withdrawable Fraction Unpublished."
    },
    {
      "id": "alpha_direct_150000",
      "firm": "alpha_futures",
      "reason": "This variant cannot run yet. Resolve Direct / Withdrawable Fraction Unpublished."
    },
    {
      "id": "goat-instant-lite-25k",
      "firm": "goat",
      "reason": "This variant cannot run yet. Resolve Payout / Later Consistency Comparator, Payout / Withdrawable Fraction Unpublished, Daily Profit Cap / Initial Or Session Start Balance."
    },
    {
      "id": "goat-instant-lite-50k",
      "firm": "goat",
      "reason": "This variant cannot run yet. Resolve Payout / Later Consistency Comparator, Payout / Withdrawable Fraction Unpublished, Daily Profit Cap / Initial Or Session Start Balance."
    },
    {
      "id": "goat-instant-lite-100k",
      "firm": "goat",
      "reason": "This variant cannot run yet. Resolve Payout / Later Consistency Comparator, Payout / Withdrawable Fraction Unpublished, Daily Profit Cap / Initial Or Session Start Balance."
    },
    {
      "id": "mff_pro_50000_one_day_addon",
      "firm": "mff",
      "reason": "This variant cannot run yet. Resolve Fees / Purchase."
    },
    {
      "id": "lucid_direct_25000_default",
      "firm": "lucid_trading",
      "reason": "This variant cannot run yet. Resolve Direct / Withdrawable Profit Formula."
    },
    {
      "id": "lucid_direct_50000_default",
      "firm": "lucid_trading",
      "reason": "This variant cannot run yet. Resolve Direct / Withdrawable Profit Formula."
    },
    {
      "id": "lucid_direct_100000_default",
      "firm": "lucid_trading",
      "reason": "This variant cannot run yet. Resolve Direct / Withdrawable Profit Formula."
    },
    {
      "id": "lucid_direct_150000_default",
      "firm": "lucid_trading",
      "reason": "This variant cannot run yet. Resolve Direct / Withdrawable Profit Formula."
    }
  ],
  "verified_corrections": [
    "Tradeify Growth/Lightning pending payout threshold review",
    "Original sampled holding duration stays paired with Monte Carlo outcomes",
    "MFF Builder first-payout drawdown floor reset",
    "Topstep Powered Up active Payout Round issuance limit",
    "Denied payout requests display as denied, not cash pending",
    "Explicit provider-session filtering includes selected holiday cutoffs"
  ],
  "assumptions_and_limits": [
    "Recorded holding time for changed exits is a user-selected assumption for relevant GOAT, Tradeify, FundedNext and FFF plans. Strict and conservative alternatives remain available.",
    "Tradeify threshold failures use intratrade equity milestones conservatively and are processed at the configured review clock. No separate provider denial SLA is established.",
    "MAE/MFE do not reveal exact price order or earlier stop/target hit times.",
    "Tradeify test cases use an explicit conservative 12:59 cutoff scenario and exclude 74 additional trades, leaving 269 over the full 1,416-day source calendar. This is not a reconstructed CME holiday calendar.",
    "Plan-specific filters and model assumptions remain attached to each comparison. Guards are not zero-payout outcomes.",
    "The default dollar-risk projection does not verify whole-contract feasibility.",
    "Checkout prices, private agreements, discretionary approvals, live transitions, news compliance and real fills are not certified.",
    "Finite historical shuffles test sequence risk within one history; they do not establish future payout probabilities."
  ]
}
