finding ยท mql5 ยท findings/shared_data/forex-candidate-intake-standard.md
The forex twin of the crypto intake standard. Same discipline โ one append-only ledger row per candidate, one preflight, a hard rule that no idea is evaluated twice โ but forex-scoped and resident in the mql5 repo, where the forex audit folders live. The crypto shared-data pool links to it; it does not host it.
STATUS.md), a verdict file (keepers.json), a deferral register (DEFERRALS.md), one per campaign. That works until two campaigns quietly re-test the same idea. This standard gives forex the same single, machine-readable logbook crypto already has โ one row per candidate, stamped the moment it is named, that can only gain notes, never lose them โ plus a one-command preflight that catches duplicates before any expensive evaluation.A single SSoT ledger โ forex_candidate_ledger.jsonl in mql5/findings/shared_data/ โ driven by the CLI forex_candidate_ledger.py. Every forex candidate gets exactly one row at identification time and walks a fixed set of named stages, so you can always see at a glance where any idea stands and never re-evaluate one already on file.
identified โ pending โ evaluating โ evaluated โ promoting โ promoted
Three are terminal โ dead ends an idea can land in and never leave:
| Step | What you run / produce | What it guarantees |
|---|---|---|
| 1 | forex_candidate_ledger.py --check "<name>" | No double evaluation. Exact + โฅ8-char containment match over all names & aliases โ seeded with every prior forex batch, so a re-discovery is caught instantly. |
| 2 | --add --num N --name โฆ --family โฆ --audit-folder findings/audits/<campaign>/ | One row at birth โ stage identified, pointing at its mql5 audit folder. |
| 3 | --preflight "name1,name2,โฆ" | Per candidate: dedup verdict + ledger stage + audit-folder-on-disk. (Axis-2 parameterless + knob-floor are a forex extension point โ wire a forex parameterless probe here when one exists.) |
| 4 | the evaluation loop runs โ per-cell records | Orthogonality verdicts via Spearman |ฯ| + Chatterjee ฮพ across the crossed regime panel; slates of โฅ2 cross-check siblings. |
| 5 | --set-stage fxcand-XXXX <stage> --note "โฆ" | The outcome is written back โ the next campaign's Step-1 --check sees it and avoids repeating the work. |
A pure discovery pass โ find โ de-dup โ provenance โ testability โ is not an evaluation, so candidates land conservatively:
identified (forced by --add).pending โ row + audit folder + preflight green; loop-ready, not evaluated.axis triad. parameterless = inspection/preflight verdict; agnostic and orthogonal stay null (untested) until the evaluation loop runs. Discovery never lands a candidate at evaluated/promoted.Every candidate must be computable from real forex bars on bigblack (read-only ClickHouse):
fxview_cache.forex_bars FINAL โ ReplacingMergeTree, ouroboros_mode='week', 201 columns.FOREX_COLUMNS = 42 populated, non-forward-looking columns (time / OHLC / bid-ask quote / spread / session_label / 9 intra-bar / 10 lookback / active microstructure: realized ยท bipower ยท Parkinson ยท Garman-Klass vol, Amihud, Lee-Ready, VPIN, realized skew/kurt, Lee-Mykland jumps). Forward-looking [LABEL] columns are excluded (leakage). See the archived forex availability probe.| # | Requirement |
|---|---|
| 1 | Provenance โ a research finding with a stable paper ID (arXiv / DOI / SSRN / ISBN). |
| 2 | SOTA FOSS implementation โ a reference open-source implementation found via web search, with its SPDX license. |
| 3 | Git-hash de-dup anchor โ the commit hash of the chronicle snapshot the candidate was confirmed novel against. |
| 4 | Real-data testability โ the exact FOREX_COLUMNS / fields it is computed from. |
| 5 | Parameterless flag โ parameterless-by-inspection true/false (preferred, not required). |
The ledger is bootstrapped with every forex candidate already evaluated or queued across the 2026-06-03 discovery and 2026-06-07 implementation campaigns (batches 1โ10) โ so the new brute-force sweep --checks against real history, not a blank slate.
This ledger is separate from the crypto candidate_ledger.jsonl (BTCUSD-only). The forex shared-data layer was archived from active scope on 2026-05-30; this standard reintroduces forex with its own ledger in mql5 rather than reversing the crypto-only decision in opendeviationbar-py. The two tracks run in parallel and share only the pattern, not the ledger file.