vault-sync: 2026-10-11 12:01 (jimmy)

This commit is contained in:
jimmy
2026-10-11 12:01:16 -07:00
parent 4423a57d61
commit a365382ec3
5 changed files with 902 additions and 0 deletions
@@ -0,0 +1,53 @@
# killcorpus
> Paper-only corpus of *autopsied dead* trading strategies, plus the pre-registered test loop that feeds it.
> Status as of 2026-10-11.
## What it is
A compounding store of **negative knowledge** — what is already dead, under which conditions, and why — rather than a strategy library. A claim is read, turned into a **pre-registered** paper test (kill criteria and cost assumptions written *before* the run), executed cost-stressed, and the result is written back as a structured autopsy either way.
- Repo: `C:\Users\fight\Projects\killcorpus` (local; **no git remote configured** — held deliberately).
- Remote `Tony_tech/killcorpus` (Gitea, private, `main`) now **mirrors the full local tree** (synced 2026-10-11 over the Contents API: harness, spec YAML, schema, docs, README). The two **git histories are unrelated** and the local repo has no `origin`, so a true `git push`/`pull` would need a deliberate reconcile. `specs/KXBTCD-lag-vs-spot.md` is now a pointer to the canonical YAML.
- Paper only: no wallet, keys, orders, or capital. Read-only public GETs + stdlib NTP.
## Objective / success metric
**Cleanly-falsified claims per week at bounded cost.** PnL is a lagging, rare output, not the goal — optimising for PnL un-disciplines the loop. A "kept" verdict is an exception, not the point.
## Roles (RUDR9, separate profiles)
- **planner** — proposer (claim → pre-registered spec)
- **reviewer** — critic (adversarial, independent of the proposer)
- **builder** — executor (paper harness only)
- **jimmy** — recorder / coordinator
## Built
- **Spec `KXBTCD-lag-vs-spot` v1.1.1** — relative-value (**taker**) branch on Kalshi KXBTCD hourly markets. Approved after **three** review rounds (KILL-OR-PARK → KILL-OR-PARK → PASS). One falsifiable claim; closed kill criteria K1–K5; `required_N = 967` from an explicit power calc; one-sided-95% lower-bound gate; strict post-registration out-of-sample; closed outcome/cause-of-death enums.
- **Instrumented harness** `harness/paper_trader_instrumented.py` — live Kalshi feed → fair value (4-exchange median spot + EWMA σ) → fee-aware edge → walk-the-book fill → settlement. Logs NTP skew, spot freshness (local-age), book↔spot delta, realized slippage; variance gate; explicit `--mode {smoke,eval}`. Self-test green.
- `schema/autopsy.schema.yaml`, `docs/operating-manual.md`, `README.md`.
## Environment fixes made this session
- **Host clock** — was stopped/unstable; now **±2 ms** stable. See [[01_Wiki/windows-clock-sync-w32time]].
- **Headless approvals** — the block was `approvals.single_query_mode: deny`; a narrow `command_allowlist` was applied to the four loop profiles. See [[01_Wiki/hermes-headless-approvals-allowlist]].
## Open items
- **Settle-through proof — ✅ DONE (2026-10-11).** Durable smoke: 40 signals, 5 trades, **5 settled** with fee-aware PnL (net +29.11; tiny n, clock off throughout). Full read → fill → settle verified end-to-end under the instrumented harness.
- **Eval clock OFF** — `reg_state.json` absent, eval DB 0/0. No deliberate eval started; the claim is **untested**.
- Eval needs **N = 967 settled markets** → days–weeks of continuous, durable runtime.
- **Repo linkage** — content **unified** (remote mirrors local). **Git-level link held** (no `origin`; histories unrelated — a `git push` needs a deliberate reconcile).
- Queue: the seeded basket claim sits behind KXBTCD.
## Lessons
- **A spec defect is not a death.** Filing an autopsy for a claim that was never executed puts a false death in the corpus — worse than no record. A never-run claim is a *withdrawal* (`never_implemented`/`never-tested`), never a kill.
- **Verify a child agent's self-report.** An agent's own "done" claim is not proof — check the artifact on disk, run its self-test, confirm nothing else was touched.
- **A nested background job dies with its parent session.** Long runs must be launched **top-level** (and `persist_on_release` for multi-day work), not from inside a headless agent turn.
- **Don't run `--help` on a tool with no argument parser** — it may silently start the real run (this started the eval clock and created `reg_state.json`). Harden CLIs with an explicit mode flag; make "no mode" a hard error.
### Owner / status
Owner: Tony. Recorder/coordinator: jimmy. Status: **all gates green (spec approved, harness validated, settle-through proven, clock stable ±2 ms, durable runner proven, remote content-unified). Clock OFF — awaiting the explicit eval start before `--mode eval`.**