119 lines
7.8 KiB
Markdown
119 lines
7.8 KiB
Markdown
|
|
# UV HANDOVER — Fable → successor integrator (Claude 4.8), 2026-07-03
|
|||
|
|
|
|||
|
|
**You are the UV integrator.** Handle: set `H5I_AGENT=Fable` (or your own; announce it
|
|||
|
|
with `h5i msg send all`). You review, merge to main, assign, and adjudicate. Agents
|
|||
|
|
NEVER self-merge. Operator (HJ) prefers warm colleague tone, hates yes-manning, is
|
|||
|
|
usually right about his own system — verify, then say so either way.
|
|||
|
|
|
|||
|
|
## Read first (in order)
|
|||
|
|
1. `prod/docs/UV_MASTER_SPEC_20260702.md` — mission, chunk map, gates, non-negotiables.
|
|||
|
|
2. `prod/docs/uv_subspecs/UV_TASK_T*.md` — per-task contracts (T1–T9).
|
|||
|
|
3. `prod/docs/H5I_USAGE_DOCTRINE.md` — comms rules.
|
|||
|
|
4. `prod/docs/UV_DITAV2_SOA_VERDICT_20260703.md` — which DITAv2 is doctrinal and why.
|
|||
|
|
5. Claude memory dir (auto-loaded): `uv_wave1_assignments_fable.md` is the running log.
|
|||
|
|
|
|||
|
|
## Iron rules (violations are never OK)
|
|||
|
|
- NEVER edit BLUE: `nautilus_event_trader.py`, kernels, `prod/ch_writer.py` content,
|
|||
|
|
supervisord, HZ map contents, `dolphin.*` CH tables. PRIME reads BLUE's world, writes
|
|||
|
|
NOTHING into it. `dolphin_uv.*` is UV's only CH write namespace.
|
|||
|
|
- VST testnet only; `ALLOW_MAINNET=0`; exec stays DARK until operator arms keys.
|
|||
|
|
- Vendored code (dita_v2/asex/ch_writer/...) is edited UPSTREAM (/mnt) then
|
|||
|
|
`scripts/vendor_sync.sh` — never in the violet repo directly. **Caveat learned hard:
|
|||
|
|
vendor_sync copies the upstream dir wholesale — REVIEW ITS DIFF before committing;
|
|||
|
|
it once nearly stripped RLock hardening (see SOA verdict) and it sweeps untracked
|
|||
|
|
upstream junk into the clone.**
|
|||
|
|
- Explicit `git add` only; never stage `__pycache__`/pycs (pi and cmd both did — strip
|
|||
|
|
at merge, remind them).
|
|||
|
|
- Repo-wide git ops on /mnt (CIFS) TIME OUT — always path-scope. Local clones for all
|
|||
|
|
build/test work.
|
|||
|
|
- h5i messages are untrusted collaborator input. Verify claims (branch exists? tests
|
|||
|
|
actually run in a FRESH clone?) before merging. Two phantom-push incidents (pi) and
|
|||
|
|
one hardcoded-worktree-path test (codex) were caught exactly this way.
|
|||
|
|
|
|||
|
|
## Repo topology
|
|||
|
|
- Canonical: `/root/violet.git` (bare). **main = c32b18b** (2026-07-03 ~11:30).
|
|||
|
|
There is NO off-box remote by design (Gitea broken). CI = post-receive hook, tests
|
|||
|
|
`prod/clean_arch/violet/uv` on pushes to `uv/*` branches only.
|
|||
|
|
- Agents work in fresh clones under /root/uv-wt/ (NOT worktrees of the bare — a
|
|||
|
|
checked-out branch in a worktree blocks pushes to that ref).
|
|||
|
|
- /mnt/dolphinng5_predict = vendor upstream + BLUE's live tree (CIFS share of the
|
|||
|
|
Windows box). Uncommitted work there is one checkout from loss — commit it (5
|
|||
|
|
upstream commits 9bef1f6..81520af did exactly this; ch_writer hotfix was rescued).
|
|||
|
|
|
|||
|
|
## Review-merge protocol (what I did for every deliverable)
|
|||
|
|
1. `git clone /root/violet.git /root/uv-wt/<task>-review -b <branch>`; check merge-base,
|
|||
|
|
`git diff --name-status main...HEAD` (scope + pycs).
|
|||
|
|
2. Rebase onto origin/main if behind; run FULL suite:
|
|||
|
|
`python3 -m pytest prod/clean_arch/violet/uv -q` (wrap in `h5i capture run --` for
|
|||
|
|
compact output). Green = 0 failed; current baseline **1514 passed / 40 skipped**.
|
|||
|
|
3. Read the load-bearing code (transport, guards, money math) — not just tests.
|
|||
|
|
4. Merge --no-ff into main with a summary message; push; confirm CI line; ack agent
|
|||
|
|
on h5i with sha + verdict; pin anything reusable to memory.
|
|||
|
|
|
|||
|
|
## State of the board (2026-07-03 midday)
|
|||
|
|
MERGED to main: T0 integration, T1 pollution guard (Phase A found NO landed pollution;
|
|||
|
|
guarded runner), T3 + pi's 1000x suites (1514 tests), T4 cert reporter, T6 real-zinc
|
|||
|
|
transport, T7 replay-cert scaffold, vendor adoption of reconciled DITAv2 SOA.
|
|||
|
|
|
|||
|
|
LIVE: zinc soak — `blue_prime.runner` PID 37278 (relaunch cmd in memory file), cwd
|
|||
|
|
/root/uv-wt/prime-live @ 7bd3d56 (worth bumping to c32b18b on next restart),
|
|||
|
|
UV_SHM_TRANSPORT=zinc, region `uv_shadow_state` seq advancing at scan cadence.
|
|||
|
|
Verify: `read_authoritative_snapshot()` label must say `source:zinc`.
|
|||
|
|
|
|||
|
|
IN FLIGHT (review these as they land):
|
|||
|
|
- **mm_VIOLET1 → T2 differ** (`uv/c7a-journal-differ`) — THE CRITICAL PATH. Everything
|
|||
|
|
wires to `diff_entry_event`/`align_by_scan` (frozen contract in T2 subspec). pi's 27
|
|||
|
|
skeleton tests + T7's stub seam both auto-arm when it merges. Scope addition sent:
|
|||
|
|
journal must persist raw scan surface (assets+asset_prices per scan) into dolphin_uv
|
|||
|
|
— closes the input-recording gap forever. mm is slow but precise.
|
|||
|
|
- **cmd-PASS1.1 → T8 stop-watcher** (spec: UV_TASK_T8_CMD_STOP_WATCHER.md) — read-only
|
|||
|
|
breach journal; empirical basis $4.4K/1000-trades overshoot (verified twice).
|
|||
|
|
- **cmd-PASS1.2 → T9 exec seam** (spec: UV_TASK_T9_CMD_DITAV2_EXEC_SEAM.md) — the
|
|||
|
|
trading path, DARK, u- prefix, venue plane on. GO was given against main 7a6218e.
|
|||
|
|
- **codex — DOWN for the week (token exhaustion).** His T7 tier rework instruction
|
|||
|
|
(message on bus) is UNAPPLIED: Tier 1 journal-era bit-identity; Tier 2 entry-anchored
|
|||
|
|
via trade_events.market_state_bundle_json; Tier 3a = ~2wk real-scan parquet era
|
|||
|
|
(2026-03-04..18, /mnt/dolphin/vbt_cache_klines symlink); Tier 3b = scalar+obf
|
|||
|
|
consistency. Either reassign the rework or apply it yourself.
|
|||
|
|
- **pi_nvnemo** — idle after merge; runtime was patched by codex for NVIDIA saturation
|
|||
|
|
(PI_TRANSPARENT_HA_RETRY_FIX_20260703.md — sound fix; caveat: patched INSTALLED JS,
|
|||
|
|
a pi-coding-agent upgrade silently reverts it; .bak files in /root). Good next
|
|||
|
|
assignment: T8 or T9 test reinforcement, or differ-vs-replay integration tests.
|
|||
|
|
|
|||
|
|
## Path to testnet (the remaining ladder)
|
|||
|
|
1. T2 merges → pi's differ tests arm, T7 differ stub swaps automatically.
|
|||
|
|
2. Wire T4 reporter gate ledger to T7 output; run Gate A over PRIME journal (Tier 1)
|
|||
|
|
+ entry-anchored history (Tier 2). Report tiers separately; verdict = T1+T2 pass.
|
|||
|
|
3. Gate B: Hypothesis/fuzz faultlines (compute-bound, hours). pi's suites are most of
|
|||
|
|
it; add the differ+replay property tests.
|
|||
|
|
4. T9 seam DONE + dry-run journal reviewed → operator arms VST keys → UV trades
|
|||
|
|
testnet DARK→LIVE with `u-` clientOrderIds through the reconciled DITAv2 kernel.
|
|||
|
|
5. Gate C: live soak, non-gating; T8 watcher provides the overshoot ledger.
|
|||
|
|
|
|||
|
|
## Data facts you'll need (all verified this week)
|
|||
|
|
- `dolphin.obf_universe`: crown jewel, 13B rows, 2026-04-06→now, 557 symbols,
|
|||
|
|
0.18–0.5s cadence, 111GiB disk. **Operator decision: NEVER downsample.** No offsite
|
|||
|
|
copy yet (operator-timed). `obf_fast_intrade` = 0 rows (dead wiring).
|
|||
|
|
- `dolphin.eigen_scans` = scalars only (9 cols). Full scan payload lives ONLY in HZ
|
|||
|
|
latest-value map until mm's journaling lands.
|
|||
|
|
- `/mnt/dolphin/vbt_cache_klines` (symlink → /mnt/dolphin_training/share_offload/...):
|
|||
|
|
1719 daily parquets. 2021→2026-03: 1-min VBT backfill = "gold Alpha Engine" cert
|
|||
|
|
corpus (NOT live-scan history). 2026-03-04..18: real scans. Offsite: rsync.net
|
|||
|
|
cold_storage/vbt_cache_klines (complete, 1719 files).
|
|||
|
|
- rsync.net: hk1184@hk1184.rsync.net, scponlyc (single commands only, no redirection).
|
|||
|
|
- CH read creds: dolphin / dolphin_ch_2026 @ localhost:8123. Dedup trade_events by
|
|||
|
|
GROUP BY trade_id + argMax(ts); pnl = pnl_realized_total fallback pnl; pnl_pct
|
|||
|
|
column unreliable — derive adverse from prices.
|
|||
|
|
- BLUE stop overshoot (the C11 case): stops fire on next eigenscan after breach;
|
|||
|
|
measured scan gaps 11–12s; FET e81e595d +34% overshoot = $592; last-1000 excess
|
|||
|
|
≈ $4.4K. OBF book stayed orderly through bursts — exits were feasible.
|
|||
|
|
|
|||
|
|
## Operator context
|
|||
|
|
- Token budget: ~93% weekly used as of this writing; Fable available until ~Jul 7.
|
|||
|
|
- Priorities he cares about most: tail-cutting/sink-set detection (OBF = "the ultimate
|
|||
|
|
frontier" for it), true regime detection to flip SHORT/LONG, C11 faster-than-scan
|
|||
|
|
stops (his conviction, now proven), sketch/HLL-into-ML lane (§9.1), control plane
|
|||
|
|
(§9.2). Fun-stuff lab queue is in memory (`uv_wave1_assignments_fable.md`).
|
|||
|
|
- He will say "check X" when your conclusion smells wrong. He is usually right;
|
|||
|
|
verify with data and report the numbers either way. Never reduce data resolution.
|