Agent Control

built 2026-08-01 03:14 UTC · page refreshes every 60s · matrix · all outputs · screenshots
Every status below is read from the machine, not asserted. A process is LIVE only because it was found in the process table by command line.
330
cells with results
0
survey qualifiers
1
promoted
2
wf windows ok
1
machines filing
0
proposals queued

How the farm works — live

Playbook chats
5 reporting · 4 proposing
Read results, form ONE hypothesis, and post it. A proposal without a stated why is rejected at submit — a test that cannot be wrong cannot teach anything either.
↓
/propose queue
0 queued
One queue, drained one at a time. This is what lets several agents think at once without becoming several writers on one tab.
↓
Pipeline supervisor
the ONLY thing that touches the Analyzer tab
Stages run back to back with a 30s settle, and it verifies the previous stage's process is really gone before starting the next.
survey→deepen→proposals→wf-specs→walkforward→publish
↓
Machines
1 filing, 2 idle
Each machine has its own tab and its own supervisor. The bus hands any cell to exactly one worker, and filters by the data coverage each worker declares — so more machines multiply the hunt instead of multiplying the collisions.
↓
Result channels
Riley · Gold · Nitro, hourly
Results leave the engineering chat so building and reporting never compete for the same attention.

Live agents — measured now

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.●LIVElap 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.●LIVE330 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.○IDLElast 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.○IDLE0 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.○IDLElast 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.●LIVEcards 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.●LIVElast cycle just now

Fleet

PC1▲SEENsaid hello from 192.168.0.103 but has filed no cards
PC3▲SEENsaid hello from 192.168.0.104 but has filed no cards
A worker that is connected but holds no data for the remaining cells claims nothing and files nothing, so it will not appear as WORKING. That is the coverage guard behaving correctly — a cell run without bars returns zero trades, and that zero is indistinguishable in the ledger from a real tested result.

Reporting channels — configured schedules

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.

Validation & learning track

Deflated Sharpe + PBO◐BUILT, NOT WIREDCorrects 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◇PROPOSEDBayesian / 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◇PROPOSEDReplaces 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◇PROPOSEDKeeps 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)○PLANNEDMean-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 STARTEDNot 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.
These are not agents — they change what a RESULT MEANS, which is why they sit apart. The first is not a model at all: it is the correction that stops a wide search from manufacturing winners. Applying it would most likely un-promote the farm's only promotion, and that is the point of it.

Roadmap — agents that do not exist yet

Grid Warden◇PROPOSEDDetects 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◇PROPOSEDReads 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◇PROPOSEDFor 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◇PROPOSEDReplaces 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○PLANNEDTags 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 BUILTKnows 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○PLANNEDNightly, 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○PLANNEDAllocates 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✕BLOCKEDWatches 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○PLANNEDCompares 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.
Nothing in the roadmap is running. Each entry names the measured problem it answers, because an idea with no fault behind it is a feature request rather than a plan. PROPOSED means designed and ready to build; PLANNED means wanted but not yet designed; BLOCKED means waiting on something outside the code.