INFINBOT — OBSERVED-RESULT VALIDATION, 2026-10-13 run_agent_validation.py replaces the supplied placeholder/mock-pass script. It never says that a network failure passed, never authenticates against a broker homepage, never reports a file download without writing and parsing that file, and never announces a production configuration switch that has not occurred. OLD BROKER PAIR CHECK The package contains no collected old broker credentials. No actual old-key 401 request has been executed from this environment. The old and new pairs must come from separate existing owner-private files on the actual host. Do not put either pair in chat or command arguments. A raw HMAC signing token is not an Alpaca key ID and secret pair. File ownership, mode 600/400, no symlinks and matching account mode are enforced. Only GET /v2/account on api.alpaca.markets or paper-api.alpaca.markets is permitted; proxies and redirects are disabled and raw bodies/errors are hidden. The check records an actual 401 on the selected correct endpoint. Any other status or network exception remains blocked. A separate new-pair account read must return 200 with a valid account payload before the diagnostic object retains only the new pair. The old pair is never a runtime fallback. A 401 alone is not a broker-side revocation receipt: wrong/mismatched pairs or environment also produce 401. Actual production TradingBotEngine binding remains unverified; its source was not found among available project modules. This new AlpacaCredentialRotationCheck component does not overwrite or start the owner's unseen strategy engine. Existing private JSON pair format supported: mode, api_key and api_secret (all actual values remain local). Existing literal env format also supported: exact ALPACA_BASE_URL and matching ALPACA_PAPER_KEY/ALPACA_PAPER_SECRET or ALPACA_LIVE_KEY/ALPACA_LIVE_SECRET. No secret template is populated automatically. PUBLIC CME SAMPLE Official source linked from CME's Time & Sales sample guide: https://www.cmegroup.com/files/download/xcme-tick-es-fut-20250312-part-00039-c000.csv This is static historical ES data, not MES or current bot observations. The complete 96,281,850-byte official CSV was downloaded on 2026-10-13, locally gzip-compressed, and its 839,644 rows validated by the corrected v2 parser. Original-byte SHA256: c62b5527f57079ee28c1a05184adf03f6cafea41bf3ed48c85c59f1b45a2fe51 The optional bundled samples directory is not copied by the source installer. It contains public data only and is never seeded into the simulation ledger. The parser supports the actual Transaction_Date header and the guide's documented Transaction__Date spelling explicitly; spread contracts, price-only records and null VOL sequence fields remain distinct. It checks present sequences per date and Security_ID; it never asserts a single global product order. Prices use Decimal. Clearing prices are not silently treated as displayed prices. An explicit validated security/display-factor reference and capital/risk configuration remain necessary for allocation verification. position_allocation_verified stays false here. RUN THE SAMPLE ON YOUR MAC AFTER INSTALLING THE UPDATED SOURCE PACKAGE python3 /Users/bpa/ForesixaQuant/run_agent_validation.py --sample-only --sample-file /Users/bpa/Downloads/infinbot-release/samples/official-cme-es-tsv2-20250312.csv.gz The exact original hash is verified, then a new .csv.gz copy is written into the existing/private enterprise_logs directory and parsed. No provider secrets or live stream are used. To fetch the sample directly instead, omit --sample-file. RUN THE BROKER CHECK WITH YOUR EXISTING PRIVATE FILES python3 /Users/bpa/ForesixaQuant/run_agent_validation.py --old-credentials-file /absolute/private/old-broker-pair.env --new-credentials-file /absolute/private/new-broker-pair.env --mode paper --skip-sample Use --mode live only for actual live key pairs; the command remains account-read only and does not authorize trading. Replace paths locally; do not share keys. The JSON receipt records the observed checks in enterprise_logs. Missing files or unexpected responses produce nonzero exit status. Without --sample-only, omitted old/new broker files remain unverified even if the sample succeeds. PRODUCTION SWITCH No production files, broker settings, ledger or HMAC token are changed by this runner. Production switch requires review of the actual TradingBotEngine source and its private credential-loader binding. The new CMEDataMineParser interface is labelled a new implementation, not claimed as recovered previously tested code. All orders remain disabled. No LGC contract edits or production clearance occurred.