โ€บNavigation
Dashboard โ€บ Crypto candidates โ€บ Cost-Realism Labels โ€บ iter 05

iteration 05 ยท S5 adversarial + PR open ยท crypto cost-realism labels ยท 2026-07-14

Twenty-eight attacks, zero survivors that matter โ€” PR #618 is open PR-A OPEN RED STEP

← campaign board ยท ← iter 04 ยท PR #618 ยท issue #614

In plain language โ€” what happened this iteration

We hired our own wrecking crew. Before asking anyone to review this work, we turned five independent adversarial reviewers loose on it โ€” one hunting math errors, one attacking the proof chain, one trying to sneak a future-seeing label into the machine-learning features, one auditing house rules, one probing weird edge cases. They raised 28 attacks. Then a separate, neutral judge examined each attack against the actual code and specifications.

The score: 21 attacks were refuted with evidence โ€” the code was right and the attack was wrong (often the attack LOOKED scary: "milliseconds vs microseconds could shift every window!" โ€” refuted, because three independent tripwires reject wrong-format data before it can matter). 7 attacks held, all of the "make it even harder to break in the future" variety, none an actual bug in the shipped numbers. Example: our test filter selected tests by name, so a future rename could have silently un-wired a proof while everything stayed green. All seven were fixed on the spot, and every gate re-ran green: 16/16 kernel tests, 36/36 extended tests, 11/11 guard tests, zero bytes of oracle drift.

Then the milestone: pull request #618 is now open with the full battle report ("Challenged & Held") in its description. This is the loop's mandatory red line: the automation implements and proves, but a human โ€” the operator/supervisor โ€” reviews and merges. Nothing gets into the main codebase, the database, or production without that human decision.

What's next: Peer B. A second, separate workbench where we write the database table definition (as a reviewable file โ€” never executed by the loop), the backfill program that will eventually label ~139 million historical bars (written โ€” never run by the loop), a pilot plan for one small symbol (SUIUSDT), and the remaining five anti-leak guards.

Grounded this iteration

R8 adversarial pass: 5 attack lenses โ†’ 28 findings โ†’ 28 independent defender verdicts (each grounded in file:line evidence; several ran the gates read-only). 21 refuted; 7 held at amend level, all resolved in 8f713ca6: (1) rename-proof filtersets via binary(cost_realism_labels_test) union (verified zero-behavior-change); (2) labels:guards wired into root [check-full] (the documented cecp/dispersion "bespoke check-full" trap); (3) /labels:guards description double-quoted (YAML plain-scalar  #614 truncation); (4) generator envelope assert mirrors kernel ENVELOPE_REL_SLACK=1e-12 incl. twap, moved before the CSV write (byte-identical output); (5) guard E pins the tracking-issue URL as a frozen literal; (6) EXACT/CONTINUOUS partition semantically pinned to column names; (7) merged guard-D fence tests (test_label_exclusion.py, #590) now run inside labels:guards. Non-regression: the only workspace failures are pre-existing on clean main (untracked test_data/-dependent tests; pre-existing bench-file clippy lints). PR #618 opened with Challenged & Held; carry-forwards for PR-B recorded (runner must feed strictly TID-increasing, duplicate-free slices covering [anchor_tid, close+H+3s); never read_ticks() timestamp sort).

attacks raised28
refuted21
held โ†’ amended7 / 7
post-amend gates16+36+11 green
oracle drift0 bytes
PR#618 OPEN

Decisions made (for operator review at PR time)

#DecisionWhy
1All 7 held findings amended in-branch before opening the PREach was amend-level with a verified minimal fix; deferring would ship known-weakened gates
2Root check-full now requires labels:guardsRepo's own documented trap (dev.toml:70-74); hermetic, fail-fast with build hint
3Pre-existing failures documented, not fixed heretest_data/-dependent tests + bench clippy lints fail identically on clean main; out of PR-A scope
4TID-ordering requirement promoted to a MANDATORY PR-B carry-forwardThe adversarial pass's most valuable residue: the runner's tick feed contract, recorded in the PR body

Next fire picks up here

PR-B โ€” schema + runner (authored, never executed). New worktree stacked on feat/labels/pr-a-oracle (PR-B consumes the R5 spec module). Deliverables as FILES: CREATE TABLE open_deviation_bar_labels DDL (RMT(computed_at), PARTITION BY (symbol, threshold), ouroboros_mode resolved, COMMENTs from the spec SSoT, D5 DEFAULT expression); backfill runner (stripped repair_direct_parquet fork; per-symbol sequential; watermark; NULL taxonomy; 6s day-boundary carry; strictly-TID-ordered feed per the carry-forward); SUIUSDT pilot plan; coverage-audit spec; guards B/C/F/H/I. Gate: labels:check-full green + tripwires (126/93/93/68) UNCHANGED. STOP at the open PR.