| Pipeline Supervisor PC4 | Owns the Analyzer tab. Runs survey, deepen, proposals, walk-forward and publish in order, with a 30s settle gap and a check that the previous stage's process is really gone. | ●LIVE | lap 91, stage survey, log 32 min ago |
| Survey Worker PC4 | Runs the 330-cell matrix in bounded chunks of 20, then hands control back rather than being killed mid-cell. | ●LIVE | 330 of 330 cells have results, 0 qualify |
| Deepener (stage 2) PC4 | Re-runs qualifiers, captures the per-trade record at the one moment it exists, subtracts costs per trade, computes t-stat and the concentration check. | ○IDLE | last report: 1 PROMOTE of 13 scored |
| Proposal Runner PC4 | Drains the agent proposal queue one at a time. Validates every override against the LIVE parameter dump, because analyzer_setparam returns ok=True for names that do not exist. | ○IDLE | 0 pending, 19 answered |
| Walk-Forward PC4 | Optimises in-sample, scores on a window the optimiser never saw, rolls forward. The first stage that can tell an edge from a good description of the past. | ○IDLE | last run: 2 of 2 windows completed |
| Job Bus PC4:8899 | Hands cells to fleet workers, one at a time, atomically. Filters by the data coverage each worker declares, so a machine cannot file a zero for an instrument it has no bars for. | ●LIVE | cards filed by: PC4 330 |
| Site Publisher PC4 -> web | Every 5 minutes: translates farm output into the page's vocabulary, uploads only what changed, then re-reads each file over HTTPS and checks the BYTE COUNT matches. A 200 alone proves nothing - the domain root answers 200 for any path. | ●LIVE | last cycle just now |
| PC1 | ▲SEEN | said hello from 192.168.0.103 but has filed no cards | |
| PC3 | ▲SEEN | said hello from 192.168.0.104 but has filed no cards | |
| Farm Ops Checks hourly :10 | Full ops check-in - workers first, then pipeline, walk-forward, deepen, proposals, endpoints, site, progress. | ||
| Farm Sentinel hourly :50 | Watches the OUTPUT, not the plumbing. Fetches the public site and reads the server's own Last-Modified. Pushes only when something is actually broken. | ||
| Riley Channel hourly :05 | Every Riley cell: net after costs, PF, t-stat, drawdown, net without the best trade. | ||
| Gold Channel hourly :20 | GC and MGC across every playbook, and how many gold cells are blocked versus genuinely zero. | ||
| Nitro Channel hourly :35 | Nitro 1 and Nitro 2, carrying the standing fact that Nitro 2 now FIRES but does not yet EARN. | ||
| Deflated Sharpe + PBO | ◐BUILT, NOT WIRED | Corrects the significance bar for the NUMBER OF TRIALS run, and estimates how likely the in-sample winner is to underperform out of sample. why The farm has tested ~250 cells and promoted one, at t 1.72 against a gate of 1.7. The expected maximum t from 250 pure-noise trials is about 3.3 - so the winner scored BELOW what noise alone typically produces at this much searching. Demonstrated on 250 random series: best t 2.70, passes the current gate, deflated Sharpe 0.60, PBO 0.63 (selection actively harmful). Every cell and every sweep added makes the present gate weaker, not stronger. |
| Optuna parameter search | ◇PROPOSED | Bayesian / TPE search in place of the fixed walk-forward grid, recording every trial so the deflated-Sharpe trial count is honest. why Walk-forward swept 8 fixed points and the optimiser chose the BOTTOM RAIL in both windows - the grid was the answer, not the data. At ~167 seconds a run, sampling smartly is the difference between testing 8 values and actually exploring. |
| Purged / combinatorial CV | ◇PROPOSED | Replaces the single walk-forward path with many, and purges overlapping trades so the future cannot leak into the past. why Fold 1 came back -5,185 and fold 2 +3,965 on the same cell. With two folds there is no way to tell an edge from a coin toss; combinatorial purged CV turns that into a distribution of paths instead of one lucky or unlucky cut. |
| Meta-labelling | ◇PROPOSED | Keeps the playbooks generating signals and trains a classifier on WHETHER TO TAKE each one, using only what was knowable at that moment. why Nitro 2 fires 227 times at PF 1.16 on the 5-minute. The entry works and the filtering does not exist. This raises precision without touching strategy logic - the first real model worth having here. |
| Feature importance (MDA) | ○PLANNED | Mean-decrease-accuracy over the meta-label features, to say which conditions carry the edge. why Every filter in the playbooks is currently there because someone believed it should be. None has been measured against the alternative of removing it. |
| Reinforcement learning | ○DELIBERATELY NOT STARTED | Not on the roadmap as a next step. why It needs far more data than 30-trade cells provide, it is brutal to validate, and it would bury the one property that makes this farm unusual: every result arrives with a stated reason that can be shown wrong. |
| Grid Warden | ◇PROPOSED | Detects an optimiser result sitting on the edge of its own search grid and proposes a widened one. why Measured 2026-07-28: walk-forward chose FVGMaxBarsToRetest = 5 in BOTH windows - the bottom rail of a 5..40 grid. An optimum on the boundary is not an optimum, it is the edge of where we looked, and nothing currently notices. |
| Contradiction Hunter | ◇PROPOSED | Reads every artifact looking for two results that cannot both be true, and escalates the pair rather than picking a winner. why Riley NQ 15m was PROMOTED at 31 trades and PF 2.19; walk-forward on the same cell produced ~200 trades per window at PF ~1.0. Both were on the dashboard at once and only a human noticed. A farm that produces faster than it reconciles accumulates confident nonsense. |
| Falsifier | ◇PROPOSED | For every PROMOTE, actively tries to kill it: alternate instrument, shifted window, shuffled trade order, costs doubled. A cell is promoted only if it survives its own execution. why Every gate so far asks 'did it pass'. Nothing asks 'can I break it'. The concentration check (net without the best trade) is the only adversarial test in the whole ladder and it was added yesterday. |
| Cost Cartographer | ◇PROPOSED | Replaces the assumed 2-tick slippage with per-instrument, per-session figures measured from real fills, and re-scores history when they change. why Walk-forward stats carry Commission 0 and TotalSlippage 0. Every out-of-sample number on this site is currently before costs, and the cost model is one global guess applied to eleven very different instruments. |
| Regime Labeller | ○PLANNED | Tags every trade with session, volatility band and trend state, then asks whether an edge is an edge or a description of one regime. why Nitro 2's entire zero-trade fault was a session filter. An edge that only exists between 09:30 and 11:00 in high volatility is a real thing to know and nothing currently records it. |
| Data Quartermaster | ◐PARTLY BUILT | Knows what bars each machine holds, requests what is missing, and blocks cells that cannot honestly be run. why Built today, server side: workers declare their roots and the bus refuses to hand out cells they have no data for. Still to come: automatic download requests instead of a human clicking Historical Data -> Load. |
| Retirement Officer | ○PLANNED | Nightly, re-runs promoted cells on the newest data and demotes any whose edge has decayed. Promotion is a lease, not a title. why Nothing currently un-promotes anything. A cell promoted in July would still read PROMOTE in December having lost money every week since. |
| Throughput Broker | ○PLANNED | Allocates machine time by expected information gain rather than by position in a list - test what we are most uncertain about, not what is next. why The survey walks 330 cells in fixed order at ~167s each. Most of them are already predictable from their neighbours; the interesting ones wait their turn behind them. |
| Fleet Marshal | ✕BLOCKED | Watches every worker's heartbeat, redistributes claims from a dead machine, and reports a fleet-wide picture. why Blocked on there being a fleet: by_worker has read PC4 only, all day. The claim TTL already releases a dead worker's cell after 45 minutes, so the foundation exists. |
| Live Drift Auditor | ○PLANNED | Compares paper-trading fills against what the backtest assumed - slippage, fill rate, missed entries - and feeds the difference back into the cost model. why The gap between a backtest and a live fill is where most strategies die, and right now nothing measures it at all. |