# Industrial Operating Evals: feasible-control v2

Build controllers and detectors that stay useful under an operating budget.
Improving a pooled accuracy number while breaking a false-alarm or actuator limit
does not pass. Development results and independent standings are separate.

## Track 1: delayed multivariable control

**Fully executable new development evaluation.** Forty-minute nonlinear
Johansson episodes, two nominal phase regimes, unobserved upper levels, delayed
lower measurements, no target preview, pump losses, residual flows, valve changes
and a missing-reading recovery interval. Six core conditions and two separate
sensor-bias conditions; two new public seeds. Each candidate completes 32 episodes
and 15,360 decisions. The same paired scenarios apply to every candidate.

This separate cohort uses targets that are exactly steady-reachable under all
four declared dynamics corners (nominal, flow change, pump loss and valve change),
with voltages and all four levels inside the declared bounds. Selection uses the
public corner set and no actual future fault identity. All 64 static target/corner
certificates are retained. This is not a dynamic tracking, stability or safety
certificate. The prototype's analytic audit found two infeasible requests among
120 checks; its unchanged source, outcomes and faults are retained in
`V1-PROTOTYPE-KIT.zip` and `V1-STEADY-TARGET-AUDIT.json`.

Install the versions declared in `DEPENDENCIES.json` in your own CPU environment.
The archive contains the independently written physical equations and unchanged
selected PI/nominal observer-MPC reference sources; no plant client is present.

From the extracted kit directory:

```sh
python -m unittest -v test_scoring test_reference_transport test_targets
python control_runner.py --participant 'python reference_agent.py --reference selected_pi' --out pi-run
python grade_saved.py --directory pi-run --out pi-replay.json
python control_runner.py --participant 'python reference_agent.py --reference selected_nominal_mpc' --out mpc-run
```

Replace the participant command with your own executable. It reads one JSON
request per input line and writes exactly one JSON response per output line.
Send diagnostics to stderr. The process remains alive throughout one episode.

At reset, receive the nominal regime/equilibrium, operating voltage, 16 actual
warmup observations, sample interval and actuator limits. Reply `{"ready":true}`.
Each later decision supplies the delayed reading or null, its sequence/quality,
actual previous voltage, current target and admission gate. Reply:

```json
{"command_V":[3.0,3.0]}
```

No simulator truth, fault identity, seed, future reference or future command is
delivered in these messages. The nominal physical model is an allowed common
prior. Persistent state, online adaptation and real model knowledge are allowed
if disclosed. There is no new fit or search in the organizer references.

The research bar is worst core-group mean episode true RMSE at most **0.5 cm**,
zero sampled envelope violations in **all four tanks**, zero invalid/deadline/
participant/quality-hold failures. Voltages are `[0.5,5.0] V`, with at most
`0.15 V` movement per five-second sample. Responses have a **500 ms included-host
budget**. Invalid or late commands are counted and replaced with the previous
voltage; episodes and failures are retained. Do not confuse these budgets with
plant acceptance requirements, WCET or continuous-time safety.

The public prior study informed the research bar. Its feasibility for every
group is not certified. This release tests whether named conventional references
clear it; it does not manufacture an official rank or prove expert difficulty.
Only fully passing candidates may be ordered by worst group RMSE, macro RMSE,
then command variation. Timing is hardware-specific and remains a disclosed gate,
not a speed leaderboard across unlike machines.

Sensor-bias stress results remain visible, with observed and true tracking
separated. They do not enter the unbiased core pass gate: lower measurements can
admit indistinguishable bias/plant-change explanations. An independent calibrated
measurement is a separately qualified assumption, not an invented label.

`grade_saved.py` reopens every retained trace in a fresh process, checks complete
membership and hashes, reconstructs the nonlinear plant and every causal request,
and recomputes scores at unchanged `atol=1e-10`, `rtol=1e-9`.

**Isolation limit:** this is a cooperative subprocess protocol, not an OS sandbox.
Untrusted programs may access their host filesystem/network. Use an isolated
environment for external code. The organizer's unopened synthetic reserve has a
salted commitment, but no hidden scoring service is operating. Reserve evaluation
requires a separately verified isolated runner with no truth/seed mounts and
fixed participant source before opening it. Public synthetic seed disjointness
does not establish independent physical confirmation.

## Track 2: plume indications under a strict false-indication budget

The separately released [participant challenge](https://huggingface.co/datasets/sankalpsthakur/plume-operating-budget-audit/blob/ed2b750d2fb76c6b9dac9d4e106e6c16390ad571/PARTICIPANT.md)
requires complete `(512,512)` finite score grids for 342 pinned STARCOP tiles.
The released kit grades original labels, CRC/byte identities and operating folds.
Use `plume/score_submission.py` with the files from that original kit; this suite
preserves its source bytes rather than replacing its scientific rules.

At the primary setting, **every date** must have at most 5% negative indications,
at least 80% weak-plume localized recall at IoU >=0.1 and mean weak IoU >=0.25.
All three executed organizer references failed the joint bar. The original
participant tests used a TIFF-reader double; an actual complete participant GDAL
execution remains a declared gap. The actual reference pipeline did use source
imagery/masks, and its immutable result/replay evidence is linked.

These are retrospective public development results with released test-loss
monitoring, three dates and annotation incorporation bias. Mask-negative means
annotation-negative, not chemically proven gas absence. Ordinary camera RGB,
generic thermal frames, drones or humanoid motion cannot supply missing chemical
ground truth. No concentration, leak-rate or robot qualification is implied.

## Track 3: causal well alarms under normal-exposure budgets

The original [source/model kit](https://huggingface.co/sankalpsthakur/well-production-event-causal/tree/0b59a3aee687c3bec7553d4c5c8860a598d7062a)
includes eight learned checkpoints, three references, frozen source membership,
traces and replay evidence. The suite exports the unchanged `well_alarm_metrics.py`
and all eleven saved operating scorecards; it performs no new sensor decoding,
model inference, fitting or reserved-group evaluation.

Use the original causal decision grid and alarm state. Complete recordings and
groups must be retained. At most **one false normal alarm episode per eligible
normal day**, at most **1% normal-time alarm occupation**, and at least **80% of
observable onsets covered within 300 seconds** are required. The onset target is
an explicit new retrospective organizer target; the first two budgets are original.
Never rank an always-off model as useful just because it has zero false alarms.

Report eligible and full normal exposure, unknown labels, observable versus
censored onsets, carried-in alarms, sparse groups and every disabled candidate.
The primary model had 3/12 timely observable onsets, 4.603 false alarms per eligible
normal day and 64.392% normal alarm occupation. The initial confirmation is
consumed and is now development evidence. The eight original reserved well
groups stay untouched and retain their separate prospective study scope.

Production-event detection is not pre-onset forecasting, well-barrier diagnosis,
Pwf accuracy or remaining life. The original provider ERROR and report-only
recovery remain separate and unchanged.

## Submission and claims

Publish a pinned artifact containing participant source/model revision, licenses,
training/calibration membership, all search candidates, seeds, runtime/hardware,
compute use, full outputs and the grader's report. Supply hashes and fresh-instance
reload evidence for learned models. Declare public-pretraining contamination and
all information advantages. Original client architecture and private plant tags
have no place in a submission.

Organizer development entries are **not independent submissions**. No official
rank exists here. A public program and repeated baseline failures alone cannot
establish that experts cannot ace a benchmark. Independent fixed entries and
genuinely fresh, separately qualified confirmation are the next research gates.
