SPB Git

spb/wp27_uqo

Public
4.9 KB

# Research log — WP 27 (chronological, 2026-10-27)

All times local. Code revision in each run manifest (git_revision). Entries record every change made between the pre-analysis plan and the confirmatory runs, so that nothing is revised silently.

# When Phase Change Why Consequence for pre-registration
1 18:30 2 Engine written: integer-cent accounting, price–time LOB, latency heap, fees, halts, margin, event log, replay — —
2 18:50 2 Market-maker rule replaced (A–S formula in ticks² produced negative reservation prices → MM dumped inventory) by a bounded inventory-skew rule targeting the endowment engine smoke run: price fell 30 % below value baseline only
3 19:05 2 Reservation accounting: limit bids reserve notional + worst-case fee + 1 c/lot; market buys priced lot-by-lot on the total fee; releases equal cash charged property test found reserved cash 6 c above cash —
4 19:20 3 Calibration sweep (36 cells × 10 seeds): baseline = fundamentalist aggressiveness 20, trend + leveraged 10 %, noise market-order rate 0.6, MM size 20 stylized facts: ACF₁ ≈ 0, kurtosis > 10, Σ ACF r
5 19:40 2 Periodic call auction added (robustness) with market orders as IOC and a ±2 % collar first version let band-edge market orders set the clearing price robustness arm only
6 20:10 4 OpenAI adapter verified live (gpt-5.4-nano); max_output_tokens raised 400 → 1200 because reasoning tokens count against it smoke test truncated JSON —
7 20:30 5 LLM decisions batched into 4 stagger slots; parallel run workers one decision per tick made API runs 10× slower none (same decision count)
8 20:45 1→2 Fundamental timing restructured: the upcoming dividend's deviation is latent during the period; PV = μ/r + x/(1+r−ρ); public filter updated by news; private signals are about the latent deviation methodologist audit + classical runs: dividends revealed x exactly, so V^pub ≡ V, news and private signals were redundant (H1 unidentified) this is the pre-registered economy; no confirmatory run had been analysed
9 21:05 1→2 Shocks applied after the dividend step (a t = 300 jump was paid out at once); shock size 40 c → 10 c (+2.2 % of V) public value jumped at the shock; 40 c was +9 % with the corrected PV thresholds unchanged
10 21:10 1→2 LLM slots inherit the replaced slot's information set (llm.informed_share: null); within-tick shuffle moved to its own RNG stream methodologist audit: treatment bundled information; activations diverged across arms matched-pair CRN now exact for every non-replaced agent
11 21:12 — First git commit; pilot and confirmatory designs launched on the frozen revision manifests now carry git_revision freeze
12 — 5 Pilot (3 seeds × {5, 25, 50 %}, gpt-5.4-nano) runs concurrently with the confirmatory design on the same revision; pilot seeds (1–3) are never pooled with confirmatory seeds (201–207) time budget the pilot's role is reduced to cost/validity/variance reporting; the seed count (7) was fixed by the USD cap, not by the pilot variance
13 22:05 6 Override bug: deep_update merged leaf dictionaries, so provider_mix: {openai: 1.0} on the baseline {mock: 1.0} became a 50/50 mock/OpenAI mixture in every live cell (caught by a co-author reading run manifests). Leaf dicts now replace; regression test added; all live and classical designs discarded and relaunched on commit c1fdf6c half of the "LLM" slots were the mock rule new freeze (c1fdf6c); nothing from the discarded runs is used
14 22:40 6 Orphaned pool workers from killed designs had kept writing runs after the directories were purged, and the resumable runner reused them (manifests with providers [mock, openai]); all workers killed, every run whose manifest hash differs from its cell's configuration deleted (3 pilot, 7 confirmatory), runner now resumes only on an identical config_hash (commit 74b1f46) co-author audit of manifests clean runs (6 pilot, 20 confirmatory) kept; discarded runs cost ≈ 12 USD of API calls that are reported in the cost accounting but never analysed

Known deviations from docs/identification.md / docs/protocol.md (written before items 8–12):

  • Noisy dividends (jump_prob = 1) were proposed to make V^pub ≠ V; item 8 achieves this through the timing of information instead (no jumps in the baseline).
  • The mini-only at 25 % cell needed for the model-mix decomposition was not run (≈ 8.5 USD): the two-model arm is compared with the single-model diverse-prompt arm only, and this limitation is stated in the paper.
  • Anthropic cells: the key provided on 2026-10-27 is rejected (HTTP 401). The adapter is implemented and dry-run tested with the mock provider; Claude cells are not part of the reported results.
Files · b6c1d09b402a43e723c06ff0c9a6073a51ea3fa7
Menu

Theme