{
  "_generated_by": "tools/build-drawdown-landscape.js — every figure computed from rules/** at build time, zero hand-typed numbers",
  "_license": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/",
  "generated_at": "2026-07-31",
  "corpus": {
    "rule_set_count": 43,
    "config_count": 178,
    "global_anchor": "2026-07-31",
    "oldest_anchor": "2026-07-22",
    "anchor_month": "2026-07",
    "corpus_hash": "584d9a617042314ff1f0b2f010e4c6d182fbdf5f486ff0000f6b829e4854ed52",
    "citable": {
      "point": 21,
      "range": 22,
      "neither": 0
    }
  },
  "operator_count": {
    "distinct_rule_set_directories": 43,
    "distinct_operators": 33,
    "operators_publishing_more_than_one_rule_set": 7,
    "example": [
      "Alpha Futures (3)",
      "Apex Trader Funding (2)",
      "FTMO (2)"
    ]
  },
  "mechanic_archetypes": {
    "denominator_configs": 178,
    "static": {
      "label": "Static floor",
      "count": 62,
      "pct": 34.8,
      "definition": "A fixed drawdown line computed once from the starting balance. It never moves for the life of the evaluation.",
      "rule_set_count": 13,
      "example_firms": [
        "Blueberry Funded",
        "City Traders Imperium",
        "FTMO",
        "Fintokei",
        "Funded Trading Plus",
        "FundingPips"
      ],
      "example_firms_more": 6
    },
    "intraday_trailing": {
      "label": "Intraday trailing",
      "count": 27,
      "pct": 15.2,
      "definition": "The floor ratchets upward on every new equity peak, including unrealized (open-trade) profit, checked continuously.",
      "rule_set_count": 6,
      "example_firms": [
        "Apex Trader Funding",
        "Elite Trader Funding",
        "Leeloo Trading",
        "Maven Trading",
        "OneUp Trader",
        "TradeDay"
      ],
      "example_firms_more": 0
    },
    "eod_trailing": {
      "label": "End-of-day trailing",
      "count": 76,
      "pct": 42.7,
      "definition": "The floor ratchets upward only on each end-of-day close; intraday equity swings do not move it.",
      "rule_set_count": 22,
      "example_firms": [
        "Alpha Futures",
        "Apex Trader Funding",
        "Aqua Futures",
        "Blue Guardian Futures",
        "Bulenox",
        "Earn2Trade"
      ],
      "example_firms_more": 11
    },
    "closed_balance_trailing": {
      "label": "Closed-balance trailing",
      "count": 13,
      "pct": 7.3,
      "definition": "The floor ratchets upward only on realized (closed-trade) balance; open positions affect neither the floor nor a breach until closed.",
      "rule_set_count": 2,
      "example_firms": [
        "E8 Markets",
        "SabioTrade"
      ],
      "example_firms_more": 0
    },
    "unclassified_count": 0,
    "trailing_total": {
      "count": 116,
      "pct": 65.2,
      "rule_set_count": 30
    }
  },
  "basis_prevalence": {
    "denominator_configs": 178,
    "equity_intraday": 77,
    "balance_eod": 76,
    "balance_closed_trade": 22,
    "not_recorded": 3,
    "equity_intraday_pct": 43.3,
    "balance_eod_pct": 42.7,
    "balance_closed_trade_pct": 12.4,
    "not_recorded_pct": 1.7
  },
  "static_floor_basis": {
    "denominator_configs": 62,
    "equity_intraday": 50,
    "balance_closed_trade": 9,
    "not_recorded": 3,
    "equity_intraday_pct": 80.6,
    "balance_closed_trade_pct": 14.5,
    "basis_field_provenance_rung_on_equity_intraday_subset": {
      "sourced": 43,
      "undefined": 2,
      "ambiguous": 5
    }
  },
  "daily_loss": {
    "denominator_configs": 178,
    "present": 120,
    "present_pct": 67.4,
    "absent": 58,
    "absent_pct": 32.6,
    "optional_at_checkout": 3
  },
  "consistency_rule": {
    "denominator_configs": 178,
    "present": 46,
    "present_pct": 25.8,
    "absent": 132,
    "absent_pct": 74.2
  },
  "recheck_window": {
    "window_start": "2026-07-22",
    "window_end": "2026-07-31",
    "total_entries": 207,
    "rule_sets_with_at_least_one_recheck": 43,
    "denominator_rule_sets": 43,
    "outcome_distribution": {
      "confirmed_with_disagreement": 111,
      "confirmed": 44,
      "changed": 28,
      "confirmed_with_mismatch": 11,
      "confirmed_with_resolution": 7,
      "confirmed_with_resolved_contamination_and_one_genuine_ambiguity": 6
    },
    "live_disagreement": {
      "rule_sets_with_unresolved_flag": 24,
      "rule_sets_with_unresolved_flag_pct": 55.8,
      "denominator_rule_sets": 43,
      "entries_confirmed_with_disagreement": 111,
      "entries_confirmed_with_disagreement_pct": 53.6,
      "denominator_entries": 207,
      "note": "Per the two-reader doctrine (rules/README.md), a disagree/change_available field is recorded but never silently entered into the corpus value — arbitration is a separate, dated step."
    },
    "changed_outcome": {
      "total_entries": 28,
      "total_entries_pct": 13.5,
      "rule_sets": 8,
      "rule_sets_pct": 18.6,
      "denominator_entries": 207,
      "denominator_rule_sets": 43,
      "by_rule_set": [
        {
          "slug": "aqua-futures",
          "firm": "Aqua Futures",
          "entry_count": 5,
          "checked_at": [
            "2026-07-22",
            "2026-07-30"
          ],
          "note_excerpt": "Both blind passes agree on the full ladder: target 6% ($1,500/$3,000/$6,000/$9,000), max drawdown $2,500/$3,500/$5,000 at 50/100/150k, daily loss $600/$1,250/$2,500/$3,750, EOD trailing off highest end-of-day balance locking at start+$100, min 0 eval days, con",
          "notes_full": [
            "Both blind passes agree on the full ladder: target 6% ($1,500/$3,000/$6,000/$9,000), max drawdown $2,500/$3,500/$5,000 at 50/100/150k, daily loss $600/$1,250/$2,500/$3,750, EOD trailing off highest end-of-day balance locking at start+$100, min 0 eval days, consistency 40% both stages (raise-until-compliant, not a breach). CHANGE ENTERED: 25k daily loss $625->$600. Our $625 was 2.5% (the flat-ladder assumption); the firm publishes $600 (2.4%) - the same per-size interpolation defect class as Phidias. Both passes read \"$600\" verbatim. DISAGREE (NOT entered): 25k max drawdown - the firm contradicts ITSELF ($1,000 in the Beginner overview table + homepage card vs $1,500 in the Maximum Drawdown article prose example). Both passes found the contradiction. Our corpus holds $1,500 (matches the article); the product surfaces say $1,000. Not arbitrated; preserved and flagged. Note the 50k/100k/150k DD are NOT proportional (5%/3.5%/3.33%).",
            "Both blind passes agree on the full ladder: target 6% ($1,500/$3,000/$6,000/$9,000), max drawdown $2,500/$3,500/$5,000 at 50/100/150k, daily loss $600/$1,250/$2,500/$3,750, EOD trailing off highest end-of-day balance locking at start+$100, min 0 eval days, consistency 40% both stages (raise-until-compliant, not a breach). CHANGE ENTERED: 25k daily loss $625->$600. Our $625 was 2.5% (the flat-ladder assumption); the firm publishes $600 (2.4%) - the same per-size interpolation defect class as Phidias. Both passes read \"$600\" verbatim. DISAGREE (NOT entered): 25k max drawdown - the firm contradicts ITSELF ($1,000 in the Beginner overview table + homepage card vs $1,500 in the Maximum Drawdown article prose example). Both passes found the contradiction. Our corpus holds $1,500 (matches the article); the product surfaces say $1,000. Not arbitrated; preserved and flagged. Note the 50k/100k/150k DD are NOT proportional (5%/3.5%/3.33%).",
            "Both blind passes agree on the full ladder: target 6% ($1,500/$3,000/$6,000/$9,000), max drawdown $2,500/$3,500/$5,000 at 50/100/150k, daily loss $600/$1,250/$2,500/$3,750, EOD trailing off highest end-of-day balance locking at start+$100, min 0 eval days, consistency 40% both stages (raise-until-compliant, not a breach). CHANGE ENTERED: 25k daily loss $625->$600. Our $625 was 2.5% (the flat-ladder assumption); the firm publishes $600 (2.4%) - the same per-size interpolation defect class as Phidias. Both passes read \"$600\" verbatim. DISAGREE (NOT entered): 25k max drawdown - the firm contradicts ITSELF ($1,000 in the Beginner overview table + homepage card vs $1,500 in the Maximum Drawdown article prose example). Both passes found the contradiction. Our corpus holds $1,500 (matches the article); the product surfaces say $1,000. Not arbitrated; preserved and flagged. Note the 50k/100k/150k DD are NOT proportional (5%/3.5%/3.33%).",
            "Both blind passes agree on the full ladder: target 6% ($1,500/$3,000/$6,000/$9,000), max drawdown $2,500/$3,500/$5,000 at 50/100/150k, daily loss $600/$1,250/$2,500/$3,750, EOD trailing off highest end-of-day balance locking at start+$100, min 0 eval days, consistency 40% both stages (raise-until-compliant, not a breach). CHANGE ENTERED: 25k daily loss $625->$600. Our $625 was 2.5% (the flat-ladder assumption); the firm publishes $600 (2.4%) - the same per-size interpolation defect class as Phidias. Both passes read \"$600\" verbatim. DISAGREE (NOT entered): 25k max drawdown - the firm contradicts ITSELF ($1,000 in the Beginner overview table + homepage card vs $1,500 in the Maximum Drawdown article prose example). Both passes found the contradiction. Our corpus holds $1,500 (matches the article); the product surfaces say $1,000. Not arbitrated; preserved and flagged. Note the 50k/100k/150k DD are NOT proportional (5%/3.5%/3.33%).",
            "Operator-directed targeted recheck of the standing $1,000-vs-$1,500 self-contradiction. BOTH original disputed pages are now dead: the entire aquafutures.io domain (root + both help-center article URLs + a spot-checked blog path) 301-redirects to a single merged page, https://www.aquafunded.com/futures — a brand/domain consolidation (Aqua Futures -> AquaFunded), confirmed via direct HTTP requests by two independent readers, not an AI-summarized fetch. Wayback Machine metadata (checked by reader B) shows both original articles were still live as of 2026-05-16, so this is a recent change, not old link rot. On the surviving page, both readers independently parsed the RAW HTML/DOM of the 25K Beginner one-step account card (explicitly avoiding AI-summarized re-fetches, which had separately produced ungrounded/hallucinated numbers like '3%/6%' or '$2,000/$1,250' that matched no row in the page's actual embedded data) and found exactly one unambiguous 'Maximum Loss' value: $1,000. $1,500 IS present on the same card but labels a DIFFERENT field (Profit Target) - a plausible mechanical origin for the historical mix-up if the two now-dead source articles quoted different fields, though this is offered as a neutral observation, not a proven causal story. CHANGED: amount_pct 6->4, amount_abs 1500->1000 (this corpus's stored 25K max drawdown). golden/daily-25k.json's max_dd_floor recomputed accordingly (23500->24000). FLAGGED, NOT ACTIONED: the Aqua Futures -> AquaFunded rebrand may reflect a broader product restructure (this task only re-verified the one disputed drawdown field, not the full ruleset) - a dedicated full re-source of this firm under its current AquaFunded branding is recommended as a follow-up, matching this corpus's standing rule that a firm-identity change is a different kind of decision than a single-field value correction."
          ],
          "literal_field_changes": []
        },
        {
          "slug": "earn2trade",
          "firm": "Earn2Trade",
          "entry_count": 1,
          "checked_at": [
            "2026-07-22"
          ],
          "note_excerpt": "TCP25, both blind passes agree: target $1,750, EOD trailing drawdown $1,500 off the highest end-of-day balance, daily loss $550 counting unrealized, consistency 30% raise-until-compliant (not a breach, evaluation stage). CHANGE ENTERED: drawdown locks - corpus",
          "notes_full": [
            "TCP25, both blind passes agree: target $1,750, EOD trailing drawdown $1,500 off the highest end-of-day balance, daily loss $550 counting unrealized, consistency 30% raise-until-compliant (not a breach, evaluation stage). CHANGE ENTERED: drawdown locks - corpus held null (never locks); BOTH passes state verbatim the drawdown \"reaches the starting balance ... and will no longer rise\" for THIS firm's evaluation. Our null overstated ruin. (Not a claim about any other firm: rules/apex/*.json alone holds locks=null, confidence=ambiguous, for the same field — this correction is Earn2Trade-specific and does not generalize.) Set locks={initial_plus_abs,0}. DISAGREE (NOT entered): min_trading_days - the product card says \"No Minimum Trading Days\" (our 0) while the same-page FAQ says \"a minimum of 10 days to complete\". Genuine first-party self-contradiction; preserved at 0, logged. Also logged, not modelled: profit split is TIERED (50% under $1,500 / 80% above) - we store only the 80% upper tier; and the consistency page contradicts itself on the denominator (rule text \"total PnL\" vs worked example benchmarking against the profit target)."
          ],
          "literal_field_changes": []
        },
        {
          "slug": "ftmo-1step",
          "firm": "FTMO",
          "entry_count": 3,
          "checked_at": [
            "2026-07-31"
          ],
          "note_excerpt": "Converted a run-2 (2026-07-22) finding into a proper ambiguities[] entry; unified ftmo + ftmo-1step to the same value+set since both cite the identical source sentence.",
          "notes_full": [
            "Converted a run-2 (2026-07-22) finding into a proper ambiguities[] entry; unified ftmo + ftmo-1step to the same value+set since both cite the identical source sentence.",
            "Converted a run-2 (2026-07-22) finding into a proper ambiguities[] entry; unified ftmo + ftmo-1step to the same value+set since both cite the identical source sentence.",
            "Converted a run-2 (2026-07-22) finding into a proper ambiguities[] entry; unified ftmo + ftmo-1step to the same value+set since both cite the identical source sentence."
          ],
          "literal_field_changes": [
            {
              "field": "phases[0].daily_loss.reset_time_utc",
              "value": "22:00 -> 23:00, unified with ftmo",
              "checked_at": "2026-07-31"
            },
            {
              "field": "phases[0].daily_loss.reset_time_utc",
              "value": "22:00 -> 23:00, unified with ftmo",
              "checked_at": "2026-07-31"
            },
            {
              "field": "phases[0].daily_loss.reset_time_utc",
              "value": "22:00 -> 23:00, unified with ftmo",
              "checked_at": "2026-07-31"
            }
          ]
        },
        {
          "slug": "maven-trading",
          "firm": "Maven Trading",
          "entry_count": 6,
          "checked_at": [
            "2026-07-31"
          ],
          "note_excerpt": "Targeted recheck (operator-directed, batch 3, 2026-07-31): two FRESH independent blind readers, working from raw HTML via curl (not AI-summarized fetches, to rule out paraphrase artifacts), specifically asked whether Maven's Standard 1-Step Challenge drawdown ",
          "notes_full": [
            "Targeted recheck (operator-directed, batch 3, 2026-07-31): two FRESH independent blind readers, working from raw HTML via curl (not AI-summarized fetches, to rule out paraphrase artifacts), specifically asked whether Maven's Standard 1-Step Challenge drawdown mechanic is trailing or static. BOTH concluded TRAILING, 5%, anchored to the highest equity watermark - matching this file's prior conservative pick - and, critically, both independently explained WHY the earlier '8% STATIC...does not trail' reading existed on the site at all: it describes a DIFFERENT Maven product (the Two-Step / Two-Step Omo Challenge states '8% maximum loss limit (static from the initial balance)' in the same T&C paragraph structure, one line away from the One-Step's 5% trailing figure; a separate FAQ comparison table lists 'Two Step Challenge: Max Drawdown: 8% (Static)' directly adjacent to 'One Step Challenge: Max Drawdown: 5% (trailing off your highest watermark of equity)'). The prior pass's reader most plausibly read the Two-Step's static figure and mis-scoped it to the One-Step. The SAME fresh reads also independently re-confirmed, via the identical FAQ comparison table and the /challenges/1-step product page, the other three previously-disputed rate fields for this product: profit target 8%, daily drawdown 3%, max drawdown 5% - all matching this file's prior conservative picks, now corroborated by two fresh sources reading the correct page/product tab (the earlier disagreement on these three came from one reader having read a different Maven product's pricing tab, per this recheck's own diagnosis). RESOLVED to sourced/derived: max_drawdown.type (trailing), max_drawdown.anchor (highest_water_mark), profit_target_pct (8), daily_loss.amount_pct (3), max_drawdown.amount_pct (5). NOT resolved by this recheck: min_trading_days - not addressed by either reader this pass, ambiguities[] entry (null vs 4) stands unchanged. PROMOTED: rules/unverified/maven-trading/ -> rules/maven-trading/. No worked example specific to this product's rate was found by either recheck pass either - the golden vector at hand-derived/ remains hand-derived tier, not firm_published_example, consistent with its original filing.",
            "Targeted recheck (operator-directed, batch 3, 2026-07-31): two FRESH independent blind readers, working from raw HTML via curl (not AI-summarized fetches, to rule out paraphrase artifacts), specifically asked whether Maven's Standard 1-Step Challenge drawdown mechanic is trailing or static. BOTH concluded TRAILING, 5%, anchored to the highest equity watermark - matching this file's prior conservative pick - and, critically, both independently explained WHY the earlier '8% STATIC...does not trail' reading existed on the site at all: it describes a DIFFERENT Maven product (the Two-Step / Two-Step Omo Challenge states '8% maximum loss limit (static from the initial balance)' in the same T&C paragraph structure, one line away from the One-Step's 5% trailing figure; a separate FAQ comparison table lists 'Two Step Challenge: Max Drawdown: 8% (Static)' directly adjacent to 'One Step Challenge: Max Drawdown: 5% (trailing off your highest watermark of equity)'). The prior pass's reader most plausibly read the Two-Step's static figure and mis-scoped it to the One-Step. The SAME fresh reads also independently re-confirmed, via the identical FAQ comparison table and the /challenges/1-step product page, the other three previously-disputed rate fields for this product: profit target 8%, daily drawdown 3%, max drawdown 5% - all matching this file's prior conservative picks, now corroborated by two fresh sources reading the correct page/product tab (the earlier disagreement on these three came from one reader having read a different Maven product's pricing tab, per this recheck's own diagnosis). RESOLVED to sourced/derived: max_drawdown.type (trailing), max_drawdown.anchor (highest_water_mark), profit_target_pct (8), daily_loss.amount_pct (3), max_drawdown.amount_pct (5). NOT resolved by this recheck: min_trading_days - not addressed by either reader this pass, ambiguities[] entry (null vs 4) stands unchanged. PROMOTED: rules/unverified/maven-trading/ -> rules/maven-trading/. No worked example specific to this product's rate was found by either recheck pass either - the golden vector at hand-derived/ remains hand-derived tier, not firm_published_example, consistent with its original filing.",
            "Targeted recheck (operator-directed, batch 3, 2026-07-31): two FRESH independent blind readers, working from raw HTML via curl (not AI-summarized fetches, to rule out paraphrase artifacts), specifically asked whether Maven's Standard 1-Step Challenge drawdown mechanic is trailing or static. BOTH concluded TRAILING, 5%, anchored to the highest equity watermark - matching this file's prior conservative pick - and, critically, both independently explained WHY the earlier '8% STATIC...does not trail' reading existed on the site at all: it describes a DIFFERENT Maven product (the Two-Step / Two-Step Omo Challenge states '8% maximum loss limit (static from the initial balance)' in the same T&C paragraph structure, one line away from the One-Step's 5% trailing figure; a separate FAQ comparison table lists 'Two Step Challenge: Max Drawdown: 8% (Static)' directly adjacent to 'One Step Challenge: Max Drawdown: 5% (trailing off your highest watermark of equity)'). The prior pass's reader most plausibly read the Two-Step's static figure and mis-scoped it to the One-Step. The SAME fresh reads also independently re-confirmed, via the identical FAQ comparison table and the /challenges/1-step product page, the other three previously-disputed rate fields for this product: profit target 8%, daily drawdown 3%, max drawdown 5% - all matching this file's prior conservative picks, now corroborated by two fresh sources reading the correct page/product tab (the earlier disagreement on these three came from one reader having read a different Maven product's pricing tab, per this recheck's own diagnosis). RESOLVED to sourced/derived: max_drawdown.type (trailing), max_drawdown.anchor (highest_water_mark), profit_target_pct (8), daily_loss.amount_pct (3), max_drawdown.amount_pct (5). NOT resolved by this recheck: min_trading_days - not addressed by either reader this pass, ambiguities[] entry (null vs 4) stands unchanged. PROMOTED: rules/unverified/maven-trading/ -> rules/maven-trading/. No worked example specific to this product's rate was found by either recheck pass either - the golden vector at hand-derived/ remains hand-derived tier, not firm_published_example, consistent with its original filing.",
            "Targeted recheck (operator-directed, batch 3, 2026-07-31): two FRESH independent blind readers, working from raw HTML via curl (not AI-summarized fetches, to rule out paraphrase artifacts), specifically asked whether Maven's Standard 1-Step Challenge drawdown mechanic is trailing or static. BOTH concluded TRAILING, 5%, anchored to the highest equity watermark - matching this file's prior conservative pick - and, critically, both independently explained WHY the earlier '8% STATIC...does not trail' reading existed on the site at all: it describes a DIFFERENT Maven product (the Two-Step / Two-Step Omo Challenge states '8% maximum loss limit (static from the initial balance)' in the same T&C paragraph structure, one line away from the One-Step's 5% trailing figure; a separate FAQ comparison table lists 'Two Step Challenge: Max Drawdown: 8% (Static)' directly adjacent to 'One Step Challenge: Max Drawdown: 5% (trailing off your highest watermark of equity)'). The prior pass's reader most plausibly read the Two-Step's static figure and mis-scoped it to the One-Step. The SAME fresh reads also independently re-confirmed, via the identical FAQ comparison table and the /challenges/1-step product page, the other three previously-disputed rate fields for this product: profit target 8%, daily drawdown 3%, max drawdown 5% - all matching this file's prior conservative picks, now corroborated by two fresh sources reading the correct page/product tab (the earlier disagreement on these three came from one reader having read a different Maven product's pricing tab, per this recheck's own diagnosis). RESOLVED to sourced/derived: max_drawdown.type (trailing), max_drawdown.anchor (highest_water_mark), profit_target_pct (8), daily_loss.amount_pct (3), max_drawdown.amount_pct (5). NOT resolved by this recheck: min_trading_days - not addressed by either reader this pass, ambiguities[] entry (null vs 4) stands unchanged. PROMOTED: rules/unverified/maven-trading/ -> rules/maven-trading/. No worked example specific to this product's rate was found by either recheck pass either - the golden vector at hand-derived/ remains hand-derived tier, not firm_published_example, consistent with its original filing.",
            "Targeted recheck (operator-directed, batch 3, 2026-07-31): two FRESH independent blind readers, working from raw HTML via curl (not AI-summarized fetches, to rule out paraphrase artifacts), specifically asked whether Maven's Standard 1-Step Challenge drawdown mechanic is trailing or static. BOTH concluded TRAILING, 5%, anchored to the highest equity watermark - matching this file's prior conservative pick - and, critically, both independently explained WHY the earlier '8% STATIC...does not trail' reading existed on the site at all: it describes a DIFFERENT Maven product (the Two-Step / Two-Step Omo Challenge states '8% maximum loss limit (static from the initial balance)' in the same T&C paragraph structure, one line away from the One-Step's 5% trailing figure; a separate FAQ comparison table lists 'Two Step Challenge: Max Drawdown: 8% (Static)' directly adjacent to 'One Step Challenge: Max Drawdown: 5% (trailing off your highest watermark of equity)'). The prior pass's reader most plausibly read the Two-Step's static figure and mis-scoped it to the One-Step. The SAME fresh reads also independently re-confirmed, via the identical FAQ comparison table and the /challenges/1-step product page, the other three previously-disputed rate fields for this product: profit target 8%, daily drawdown 3%, max drawdown 5% - all matching this file's prior conservative picks, now corroborated by two fresh sources reading the correct page/product tab (the earlier disagreement on these three came from one reader having read a different Maven product's pricing tab, per this recheck's own diagnosis). RESOLVED to sourced/derived: max_drawdown.type (trailing), max_drawdown.anchor (highest_water_mark), profit_target_pct (8), daily_loss.amount_pct (3), max_drawdown.amount_pct (5). NOT resolved by this recheck: min_trading_days - not addressed by either reader this pass, ambiguities[] entry (null vs 4) stands unchanged. PROMOTED: rules/unverified/maven-trading/ -> rules/maven-trading/. No worked example specific to this product's rate was found by either recheck pass either - the golden vector at hand-derived/ remains hand-derived tier, not firm_published_example, consistent with its original filing.",
            "Targeted recheck (operator-directed, batch 3, 2026-07-31): two FRESH independent blind readers, working from raw HTML via curl (not AI-summarized fetches, to rule out paraphrase artifacts), specifically asked whether Maven's Standard 1-Step Challenge drawdown mechanic is trailing or static. BOTH concluded TRAILING, 5%, anchored to the highest equity watermark - matching this file's prior conservative pick - and, critically, both independently explained WHY the earlier '8% STATIC...does not trail' reading existed on the site at all: it describes a DIFFERENT Maven product (the Two-Step / Two-Step Omo Challenge states '8% maximum loss limit (static from the initial balance)' in the same T&C paragraph structure, one line away from the One-Step's 5% trailing figure; a separate FAQ comparison table lists 'Two Step Challenge: Max Drawdown: 8% (Static)' directly adjacent to 'One Step Challenge: Max Drawdown: 5% (trailing off your highest watermark of equity)'). The prior pass's reader most plausibly read the Two-Step's static figure and mis-scoped it to the One-Step. The SAME fresh reads also independently re-confirmed, via the identical FAQ comparison table and the /challenges/1-step product page, the other three previously-disputed rate fields for this product: profit target 8%, daily drawdown 3%, max drawdown 5% - all matching this file's prior conservative picks, now corroborated by two fresh sources reading the correct page/product tab (the earlier disagreement on these three came from one reader having read a different Maven product's pricing tab, per this recheck's own diagnosis). RESOLVED to sourced/derived: max_drawdown.type (trailing), max_drawdown.anchor (highest_water_mark), profit_target_pct (8), daily_loss.amount_pct (3), max_drawdown.amount_pct (5). NOT resolved by this recheck: min_trading_days - not addressed by either reader this pass, ambiguities[] entry (null vs 4) stands unchanged. PROMOTED: rules/unverified/maven-trading/ -> rules/maven-trading/. No worked example specific to this product's rate was found by either recheck pass either - the golden vector at hand-derived/ remains hand-derived tier, not firm_published_example, consistent with its original filing."
          ],
          "literal_field_changes": []
        },
        {
          "slug": "phidias-fundamental",
          "firm": "Phidias",
          "entry_count": 1,
          "checked_at": [
            "2026-07-22"
          ],
          "note_excerpt": "CHANGE ENTERED: profit target 8% ($8,000) -> 6% ($6,000). Both independent blind passes read the SAME verbatim line from the firm's own rules grid: \"Fundamental 100K - Profit Target (Eval)$6,000\". ROOT CAUSE: this file's provenance quote read \"Fundamental 50K ",
          "notes_full": [
            "CHANGE ENTERED: profit target 8% ($8,000) -> 6% ($6,000). Both independent blind passes read the SAME verbatim line from the firm's own rules grid: \"Fundamental 100K - Profit Target (Eval)$6,000\". ROOT CAUSE: this file's provenance quote read \"Fundamental 50K target $4,000\" - the 50K quote had been copy-pasted into the 100K file and 8% carried across sizes on the assumption of a proportional ladder. Phidias' ladder is NOT proportional: 50K=$4,000 (8%), 100K=$6,000 (6%), 150K=$9,000 (6%). The 50K file is CORRECT and unchanged. This defect passed every existing gate because tests/rules-corpus.check.js verifies that a quote EXISTS (https source + verbatim text + date), never that the quote SUPPORTS THE VALUE for THIS account size. CONFIRMED unchanged for this product: no daily loss limit at all (\"Daily Loss Limit None\"), EOD trailing drawdown $3,000 off the highest end-of-day balance computed on realized profits only, min 3 evaluation trading days, and NO consistency rule during evaluation (the 30% rule is funded-stage only). Also noted, not entered: Phidias sells Fundamental in a 150K size we do not carry."
          ],
          "literal_field_changes": []
        },
        {
          "slug": "take-profit-trader",
          "firm": "Take Profit Trader",
          "entry_count": 5,
          "checked_at": [
            "2026-07-22"
          ],
          "note_excerpt": "The Test, both blind passes agree on the full non-proportional ladder: target $1,500/$3,000/$4,500/$6,000/$9,000 and EOD-trailing max drawdown $1,500/$2,000/$2,500/$3,000/$4,500 (locks at the starting balance), NO daily loss limit, consistency 50% raise-target",
          "notes_full": [
            "The Test, both blind passes agree on the full non-proportional ladder: target $1,500/$3,000/$4,500/$6,000/$9,000 and EOD-trailing max drawdown $1,500/$2,000/$2,500/$3,000/$4,500 (locks at the starting balance), NO daily loss limit, consistency 50% raise-target (Net P/L x2, not a breach). CHANGE ENTERED: min_trading_days 0 -> 5. Both passes read verbatim \"you must trade for a minimum of 5 trading days\" (Rule 5). Our 0 omitted a real pass requirement that makes the evaluation harder; corrected across all five sizes. Per-size subscription price remains unreadable (loads from an authenticated store service) - preserved, not guessed.",
            "The Test, both blind passes agree on the full non-proportional ladder: target $1,500/$3,000/$4,500/$6,000/$9,000 and EOD-trailing max drawdown $1,500/$2,000/$2,500/$3,000/$4,500 (locks at the starting balance), NO daily loss limit, consistency 50% raise-target (Net P/L x2, not a breach). CHANGE ENTERED: min_trading_days 0 -> 5. Both passes read verbatim \"you must trade for a minimum of 5 trading days\" (Rule 5). Our 0 omitted a real pass requirement that makes the evaluation harder; corrected across all five sizes. Per-size subscription price remains unreadable (loads from an authenticated store service) - preserved, not guessed.",
            "The Test, both blind passes agree on the full non-proportional ladder: target $1,500/$3,000/$4,500/$6,000/$9,000 and EOD-trailing max drawdown $1,500/$2,000/$2,500/$3,000/$4,500 (locks at the starting balance), NO daily loss limit, consistency 50% raise-target (Net P/L x2, not a breach). CHANGE ENTERED: min_trading_days 0 -> 5. Both passes read verbatim \"you must trade for a minimum of 5 trading days\" (Rule 5). Our 0 omitted a real pass requirement that makes the evaluation harder; corrected across all five sizes. Per-size subscription price remains unreadable (loads from an authenticated store service) - preserved, not guessed.",
            "The Test, both blind passes agree on the full non-proportional ladder: target $1,500/$3,000/$4,500/$6,000/$9,000 and EOD-trailing max drawdown $1,500/$2,000/$2,500/$3,000/$4,500 (locks at the starting balance), NO daily loss limit, consistency 50% raise-target (Net P/L x2, not a breach). CHANGE ENTERED: min_trading_days 0 -> 5. Both passes read verbatim \"you must trade for a minimum of 5 trading days\" (Rule 5). Our 0 omitted a real pass requirement that makes the evaluation harder; corrected across all five sizes. Per-size subscription price remains unreadable (loads from an authenticated store service) - preserved, not guessed.",
            "The Test, both blind passes agree on the full non-proportional ladder: target $1,500/$3,000/$4,500/$6,000/$9,000 and EOD-trailing max drawdown $1,500/$2,000/$2,500/$3,000/$4,500 (locks at the starting balance), NO daily loss limit, consistency 50% raise-target (Net P/L x2, not a breach). CHANGE ENTERED: min_trading_days 0 -> 5. Both passes read verbatim \"you must trade for a minimum of 5 trading days\" (Rule 5). Our 0 omitted a real pass requirement that makes the evaluation harder; corrected across all five sizes. Per-size subscription price remains unreadable (loads from an authenticated store service) - preserved, not guessed."
          ],
          "literal_field_changes": []
        },
        {
          "slug": "topstep",
          "firm": "Topstep",
          "entry_count": 3,
          "checked_at": [
            "2026-07-31"
          ],
          "note_excerpt": "Converted a run-2 (2026-07-22) finding that sat unmodeled for 9 days into a proper ambiguities[] entry. Live value UNCHANGED (see basis) to avoid breaking build-firm-presets.js consistencyPct() exact-match wiring.",
          "notes_full": [
            "Converted a run-2 (2026-07-22) finding that sat unmodeled for 9 days into a proper ambiguities[] entry. Live value UNCHANGED (see basis) to avoid breaking build-firm-presets.js consistencyPct() exact-match wiring.",
            "Converted a run-2 (2026-07-22) finding that sat unmodeled for 9 days into a proper ambiguities[] entry. Live value UNCHANGED (see basis) to avoid breaking build-firm-presets.js consistencyPct() exact-match wiring.",
            "Converted a run-2 (2026-07-22) finding that sat unmodeled for 9 days into a proper ambiguities[] entry. Live value UNCHANGED (see basis) to avoid breaking build-firm-presets.js consistencyPct() exact-match wiring."
          ],
          "literal_field_changes": []
        },
        {
          "slug": "tradeify",
          "firm": "Tradeify",
          "entry_count": 4,
          "checked_at": [
            "2026-07-30"
          ],
          "note_excerpt": "Targeted recheck (operator-directed, 2026-07-30): two FRESH independent blind first-party readers, neither shown our existing 35%@pass/raise_target value nor each other's output, were asked specifically whether Tradeify's GROWTH EVALUATION (pre-funding) stage ",
          "notes_full": [
            "Targeted recheck (operator-directed, 2026-07-30): two FRESH independent blind first-party readers, neither shown our existing 35%@pass/raise_target value nor each other's output, were asked specifically whether Tradeify's GROWTH EVALUATION (pre-funding) stage carries a consistency/best-day rule. Reader A read 4 dedicated help.tradeify.co articles (Growth Evaluation Accounts, SELECT-vs-Growth comparison, the canonical Consistency Rule article, and the Growth Funded Payout Policy article) via a curl+cookie-jar workaround for a Cloudflare JS-challenge; one article's own FAQ asks 'Does Growth Evaluation have a consistency rule?' and answers 'No'. Reader B could not reach help.tradeify.co (persistent Cloudflare block) but independently reached 4 pages on the tradeify.co marketing domain, including a literal per-size, per-stage breakdown table from the Tradeify 3.0 relaunch announcement: 'Growth 25K - Evaluation ... Consistency requirement: None' immediately followed by 'Growth 25K - Funded ... Consistency requirement: 35%' - the same size, two stages, two different consistency states, stated explicitly. TEN independent first-party pages across both readers unanimously agree: the 35% consistency rule is a GROWTH FUNDED (post-evaluation, payout-eligibility) gate only; the Growth EVALUATION stage this corpus models has NO consistency/best-day constraint. Both readers separately note this is corroborated structurally: multiple pages state a trader can hit 100% of the Growth profit target in a single day and pass instantly, which would be impossible under a 35% evaluation-stage cap. Only 2 compressed marketing/summary pages (Pricing Reference, Essential Trading Rules Overview) attach an unqualified '35% consistency rule' bullet to the bare word 'Growth' without a stage qualifier - both readers assess this as sloppy compression of the funded-stage rule, not a genuine second reading, especially against the direct per-size Evaluation-row table that explicitly says 'None'. CHANGED: phases[0].consistency emptied to [] - this corpus does not model post-funding/payout-stage behavior (see payout{} for split/cycle fields), so the 35% funded-stage gate is out of this corpus's scope, not a value to carry into the evaluation phase's constraint. PRIOR STATE (35%/pass/raise_target) is now understood to have OVERSTATED evaluation difficulty, confirming the suspicion flagged in the 2026-07-22 check-firms run. NOTE: build-firm-presets.js's consistencyPct() already only wires effect:'block' firms into the live simulator (Tradeify's prior effect was 'raise_target', never block) - so this fix corrects the corpus's documentation/badge-facing claim; it was not silently changing simulated pass/fail outcomes, which already ignored this field.",
            "Targeted recheck (operator-directed, 2026-07-30): two FRESH independent blind first-party readers, neither shown our existing 35%@pass/raise_target value nor each other's output, were asked specifically whether Tradeify's GROWTH EVALUATION (pre-funding) stage carries a consistency/best-day rule. Reader A read 4 dedicated help.tradeify.co articles (Growth Evaluation Accounts, SELECT-vs-Growth comparison, the canonical Consistency Rule article, and the Growth Funded Payout Policy article) via a curl+cookie-jar workaround for a Cloudflare JS-challenge; one article's own FAQ asks 'Does Growth Evaluation have a consistency rule?' and answers 'No'. Reader B could not reach help.tradeify.co (persistent Cloudflare block) but independently reached 4 pages on the tradeify.co marketing domain, including a literal per-size, per-stage breakdown table from the Tradeify 3.0 relaunch announcement: 'Growth 25K - Evaluation ... Consistency requirement: None' immediately followed by 'Growth 25K - Funded ... Consistency requirement: 35%' - the same size, two stages, two different consistency states, stated explicitly. TEN independent first-party pages across both readers unanimously agree: the 35% consistency rule is a GROWTH FUNDED (post-evaluation, payout-eligibility) gate only; the Growth EVALUATION stage this corpus models has NO consistency/best-day constraint. Both readers separately note this is corroborated structurally: multiple pages state a trader can hit 100% of the Growth profit target in a single day and pass instantly, which would be impossible under a 35% evaluation-stage cap. Only 2 compressed marketing/summary pages (Pricing Reference, Essential Trading Rules Overview) attach an unqualified '35% consistency rule' bullet to the bare word 'Growth' without a stage qualifier - both readers assess this as sloppy compression of the funded-stage rule, not a genuine second reading, especially against the direct per-size Evaluation-row table that explicitly says 'None'. CHANGED: phases[0].consistency emptied to [] - this corpus does not model post-funding/payout-stage behavior (see payout{} for split/cycle fields), so the 35% funded-stage gate is out of this corpus's scope, not a value to carry into the evaluation phase's constraint. PRIOR STATE (35%/pass/raise_target) is now understood to have OVERSTATED evaluation difficulty, confirming the suspicion flagged in the 2026-07-22 check-firms run. NOTE: build-firm-presets.js's consistencyPct() already only wires effect:'block' firms into the live simulator (Tradeify's prior effect was 'raise_target', never block) - so this fix corrects the corpus's documentation/badge-facing claim; it was not silently changing simulated pass/fail outcomes, which already ignored this field.",
            "Targeted recheck (operator-directed, 2026-07-30): two FRESH independent blind first-party readers, neither shown our existing 35%@pass/raise_target value nor each other's output, were asked specifically whether Tradeify's GROWTH EVALUATION (pre-funding) stage carries a consistency/best-day rule. Reader A read 4 dedicated help.tradeify.co articles (Growth Evaluation Accounts, SELECT-vs-Growth comparison, the canonical Consistency Rule article, and the Growth Funded Payout Policy article) via a curl+cookie-jar workaround for a Cloudflare JS-challenge; one article's own FAQ asks 'Does Growth Evaluation have a consistency rule?' and answers 'No'. Reader B could not reach help.tradeify.co (persistent Cloudflare block) but independently reached 4 pages on the tradeify.co marketing domain, including a literal per-size, per-stage breakdown table from the Tradeify 3.0 relaunch announcement: 'Growth 25K - Evaluation ... Consistency requirement: None' immediately followed by 'Growth 25K - Funded ... Consistency requirement: 35%' - the same size, two stages, two different consistency states, stated explicitly. TEN independent first-party pages across both readers unanimously agree: the 35% consistency rule is a GROWTH FUNDED (post-evaluation, payout-eligibility) gate only; the Growth EVALUATION stage this corpus models has NO consistency/best-day constraint. Both readers separately note this is corroborated structurally: multiple pages state a trader can hit 100% of the Growth profit target in a single day and pass instantly, which would be impossible under a 35% evaluation-stage cap. Only 2 compressed marketing/summary pages (Pricing Reference, Essential Trading Rules Overview) attach an unqualified '35% consistency rule' bullet to the bare word 'Growth' without a stage qualifier - both readers assess this as sloppy compression of the funded-stage rule, not a genuine second reading, especially against the direct per-size Evaluation-row table that explicitly says 'None'. CHANGED: phases[0].consistency emptied to [] - this corpus does not model post-funding/payout-stage behavior (see payout{} for split/cycle fields), so the 35% funded-stage gate is out of this corpus's scope, not a value to carry into the evaluation phase's constraint. PRIOR STATE (35%/pass/raise_target) is now understood to have OVERSTATED evaluation difficulty, confirming the suspicion flagged in the 2026-07-22 check-firms run. NOTE: build-firm-presets.js's consistencyPct() already only wires effect:'block' firms into the live simulator (Tradeify's prior effect was 'raise_target', never block) - so this fix corrects the corpus's documentation/badge-facing claim; it was not silently changing simulated pass/fail outcomes, which already ignored this field.",
            "Targeted recheck (operator-directed, 2026-07-30): two FRESH independent blind first-party readers, neither shown our existing 35%@pass/raise_target value nor each other's output, were asked specifically whether Tradeify's GROWTH EVALUATION (pre-funding) stage carries a consistency/best-day rule. Reader A read 4 dedicated help.tradeify.co articles (Growth Evaluation Accounts, SELECT-vs-Growth comparison, the canonical Consistency Rule article, and the Growth Funded Payout Policy article) via a curl+cookie-jar workaround for a Cloudflare JS-challenge; one article's own FAQ asks 'Does Growth Evaluation have a consistency rule?' and answers 'No'. Reader B could not reach help.tradeify.co (persistent Cloudflare block) but independently reached 4 pages on the tradeify.co marketing domain, including a literal per-size, per-stage breakdown table from the Tradeify 3.0 relaunch announcement: 'Growth 25K - Evaluation ... Consistency requirement: None' immediately followed by 'Growth 25K - Funded ... Consistency requirement: 35%' - the same size, two stages, two different consistency states, stated explicitly. TEN independent first-party pages across both readers unanimously agree: the 35% consistency rule is a GROWTH FUNDED (post-evaluation, payout-eligibility) gate only; the Growth EVALUATION stage this corpus models has NO consistency/best-day constraint. Both readers separately note this is corroborated structurally: multiple pages state a trader can hit 100% of the Growth profit target in a single day and pass instantly, which would be impossible under a 35% evaluation-stage cap. Only 2 compressed marketing/summary pages (Pricing Reference, Essential Trading Rules Overview) attach an unqualified '35% consistency rule' bullet to the bare word 'Growth' without a stage qualifier - both readers assess this as sloppy compression of the funded-stage rule, not a genuine second reading, especially against the direct per-size Evaluation-row table that explicitly says 'None'. CHANGED: phases[0].consistency emptied to [] - this corpus does not model post-funding/payout-stage behavior (see payout{} for split/cycle fields), so the 35% funded-stage gate is out of this corpus's scope, not a value to carry into the evaluation phase's constraint. PRIOR STATE (35%/pass/raise_target) is now understood to have OVERSTATED evaluation difficulty, confirming the suspicion flagged in the 2026-07-22 check-firms run. NOTE: build-firm-presets.js's consistencyPct() already only wires effect:'block' firms into the live simulator (Tradeify's prior effect was 'raise_target', never block) - so this fix corrects the corpus's documentation/badge-facing claim; it was not silently changing simulated pass/fail outcomes, which already ignored this field."
          ],
          "literal_field_changes": []
        }
      ]
    }
  }
}
