For Agents

Living index of themes for this project. Each H2 is a topic; bullets are wikilinks to related notes. Updated by obsidian-documenter when documenting work. Read by historian at bootstrap. Topics kept alphabetical.

Backtesting and Validation

  • hormuz-bet-backtesting — reconstruct past resolutions from the free PortWatch series; purged walk-forward, fee + slippage, regime-break caveat. 2026-06-08: two zero-cost Strategy C paper kill-tests on real free data both PASSED (outcomes sensitive to pending days; the info is NOT priced — prices REACT to PortWatch, don’t anticipate it).
  • hormuz-bet-resolution-mechanics — the rules needed to reconstruct each structure resolution.
  • hormuz-bet-build-spec1 — as-built verdict gate (bootstrap-5% PnL, beats-baselines, Brier, negative-control); fee-consistency identity; negative-control-design gotcha; leakage-guard test. Live run 2026-06-08 → INCONCLUSIVE both fee levels (no robust edge); reusable rule: negative-control gate must be ONE-SIDED (losing control is expected, only a winning one is a leak).

Basis Risk and Strategy

  • hormuz-bet-basis-risk — model PortWatch not reality; dark-vessel/jamming/spoofing hazard; non-stationary wartime regime. 2026-06-08: Strategy C (Phase-2 AIS nowcast of the weekly TOTAL/MA buckets) kill-tests PASSED → GO (conditional); exclude the daily-threshold markets (zero AIS edge); one open gate = AIS-vs-PortWatch tracking accuracy ≤ ~2–4 ships; next is the Milestone 1 AIS pilot.
  • hormuz-bet-strategy-c-stage0the Stage 0 gate that answers that open accuracy gate: free, local, ~1-week terrestrial-AIS tracking pre-check, BUILT & run-ready 2026-06-08. Two existential fixes wired into the live verdict path: GO gates on the de-biased 7-day cumulative SUM error (not daily); a non-stationary gap (|r|≥0.6 vs GFW jamming proxy) forces NO-GO first. GO → green-light Stage 1 (fleet+satellite); NO-GO → kill C.
  • hormuz-bet-terrestrial-ais-zero-hormuz2026-06-09 verified live: terrestrial AIS = ZERO Hormuz coverage, so Stage-0’s free-data premise is DEAD. aisstream + MyShipTracking both empty over the Hormuz box, dense elsewhere → Hormuz AIS needs paid satellite (Data Docked ~€140/mo or ~€1.25/credit; Spire/Kpler enterprise). Edge survives (prices lag PortWatch ~4 days); the “pay for satellite vs shelve C” decision is now RESOLVED → SHELVE (see below).
  • hormuz-bet-strategy-c-shelved2026-06-09 TERMINAL: Strategy C SHELVED. Free SATELLITE proxy (GFW vessel-presence) FAILS — wrong metric (presence not transit), daily Pearson r=0.33, anti-correlates in the Q4-25 crisis (−0.07) exactly where we’d trade. Every cheap path now dead (terrestrial zero-coverage; GFW wrong-metric; cheap-paid blind/floored); only enterprise satellite captures the edge → uneconomic. Edge real, data enterprise-only → SHELVE. Artifacts preserved; resume triggers = strait normalizes OR cheap transit-grade satellite appears. Session arc: A INCONCLUSIVE + C SHELVED, both for ~$0.
  • hormuz-bet — the one-thing-to-internalise: settlement is the PortWatch number.

Data and APIs

  • hormuz-bet-portwatch-data — IMF PortWatch ArcGIS FeatureServer (chokepoint6), fields, pagination, cadence/lag, provenance. The settlement source. 2026-06-09 caveat: the Mar-2026 ~90% count collapse may be partly a DATA-FEED degradation (GFW vessel-presence didn’t collapse the same way) → recent low counts partly artifactual; re-check before trusting any historical low-count window.
  • hormuz-bet-ais-providers — Phase-2 nowcast feeds (Datalastic, aisstream, GFW); Kpler consolidation; terrestrial-only caveat. 2026-06-09: terrestrial-only caveat upgraded to VERIFIED ZERO Hormuz coverage — see hormuz-bet-terrestrial-ais-zero-hormuz; Data Docked (satellite, pay-per-credit) added as the cheap-probe candidate. Now also: GFW free SATELLITE is the wrong metric (presence not transit) — see hormuz-bet-strategy-c-shelved — so every cheap path is dead, leaving only enterprise satellite.
  • hormuz-bet-strategy-c-shelvedGFW endpoint mechanics (the working access path): 4Wings TILE (heatmap MVT) is public/anonymous; the report endpoint is WAF-blocked for long Bearer JWTs; dataset public-global-presence:v4.0, daily, Hormuz bbox = 6 z10 tiles summed → vessel-HOURS/day. Plus the GFW-vs-PortWatch correlation table (n=424; daily r=0.33; quarterly incl. Q4-25 −0.07) and the data-feed-degradation side flag.
  • hormuz-bet-terrestrial-ais-zero-hormuz — live test (2026-06-09): aisstream.io free WSS + MyShipTracking free-trial bbox both return 0 vessels over the Hormuz box (dense for global/Rotterdam sanity boxes) → no terrestrial receivers near the strait; Hormuz AIS needs paid satellite. Also: aisstream sends AIS as WebSocket BINARY frames (Text-only client silently dropped all; fixed in src/ais/aisstream.rs).
  • hormuz-bet-strategy-c-stage0 — instantiates the aisstream.io WSS client + GFW v3 Events dark-event proxy. Two reality-coupled schemas (aisstream envelope + bbox corner order; GFW v3 dataset id/body/response) are best-guess and MUST be confirmed live via the #[ignore] tests before counts are trusted (cargo test -- --ignored --nocapture; needs AISSTREAM_API_KEY + GFW_API_TOKEN).
  • hormuz-bet-build-spec1 — toolchain (sqlx runtime query API / local SQLite, reqwest+rustls, statrs, clap); portwatch/ client + ArcGIS historicMoment probe.

Implementation

  • hormuz-bet-build-spec1 — Spec #1 built (Rust crate hormuz_bet, 10 modules, subagent-driven TDD): one daily-count model (NB + EWMA log-level + day-of-week) → three markets via pure resolve reused for forecast + settlement; as-built status, module map, and high-value learnings. Run live 2026-06-08 → INCONCLUSIVE (no robust edge); three bring-up fixes incl. PortWatch date-only-string typing.
  • hormuz-bet-strategy-c-stage0 — Strategy C Stage 0 built into the same hormuz_bet crate (5 units, subagent-driven, two-stage review each + final holistic): geo/ais/transit/cstore/track/gfw/portwatch::snapshot + ais-collect daemon + track-report bin. State: clippy -D warnings clean, cargo test --lib 46 passed / 5 ignored, warning-free; not a git repo. BUILT & run-ready 2026-06-08 — not yet run for real (needs ~7–10 days collection + two live schema confirmations). 2026-06-09: has no free data to run on — terrestrial feeds are empty over Hormuz (hormuz-bet-terrestrial-ais-zero-hormuz).
  • hormuz-bet-terrestrial-ais-zero-hormuz — bug fixed during live verification: aisstream.io WSS client only handled Text frames but the feed sends AIS as BINARY frames → silent drop of all messages; fixed in src/ais/aisstream.rs.
  • hormuz-bet-strategy-c-shelved2026-06-09: Strategy C SHELVED, so the Stage-0 collector is parked (not deleted). All artifacts preserved at ~/coding/hormuz_bet: collector built / clippy-clean / 46 tests green; spec docs/superpowers/specs/2026-06-08-hormuz-strategy-c-ais-calibration-design.md; plan docs/superpowers/plans/2026-06-08-hormuz-strategy-c-stage0.md. Resume triggers documented.

Liquidity and Capacity

  • hormuz-bet-liquidity — thin count markets (71k/event), ~2,000/clip; the deep $14.7M binary; cross-market consistency constraint.

Overview

  • hormuz-bet — project index: goal, key findings, status, two-phase plan, working areas.

Resolution Mechanics

  • hormuz-bet-resolution-mechanics — the 4 market structures (weekly TOTAL, 7-day MA, single-day threshold legs, deep binary), UMA oracle, shifting buckets, cited resolution URL.
  • hormuz-bet-portwatch-data — which field settles the market and how it publishes.
  • hormuz-bet-build-spec1 — the pure resolve function + market/parse.rs that implement these rules (per-event buckets, never hard-coded) for both forecasting and settlement.