# DISMISSED — SV-1 — the state schema version is un-bumpable on the two rewrite-in-place files

status: dismissed by TRIAGE 2026-08-24 as a **fold-in, not a work item** · raised panel run 1 (2026-08-06) · body verbatim below · **the owner's to veto in one line**

---

## Resolution

**Killed because the item's own text says it is not an item.** Verbatim:
*"**Not worth its own work item — fold into the next touch of `state.py`**
(stamp unconditionally at the two rewrite sites, or strip `"v"` in the
readers), with the monkeypatch round-trip as the test."* An item that cannot
be decided, only carried, consumes a weekly decision it can never repay; every
fold-in of the same class already sits in the dismissed graveyard without a
row.

**Dated default, pre-registered by triage run 2 (2026-08-17):** *"Unless the
owner objects by **2026-08-24**, triage run 3 will move it there with the
fold-in trigger preserved."* Verified today: no objection was recorded, and no
commit since 2026-08-17 touches `src/thales/execution/state.py`.

**Flagged plainly, as run 2 flagged it:** this is triage stretching curation
into an item whose premise still HOLDS, on queue-hygiene grounds rather than
overtaken-ness. It is explicitly the owner's to veto — one line restores it.

**The fold-in trigger, preserved:** on the next touch of
`src/thales/execution/state.py`, either stamp `"v"` unconditionally at the two
rewrite-in-place sites or strip `"v"` in the readers, with the
`SCHEMA_V`-monkeypatched read-modify-write round-trip as the test.

**Reopens if:** a `SCHEMA_V = 2` is ever introduced — at that moment the defect
stops being harmless and a dispatching reader would see `v: 1` on a v2
document and mis-parse. That is the one condition under which this must be a
row rather than a fold-in.

---

## Body as raised (verbatim from the frozen archive)

**7. SV-1 (downgraded) — the state schema version is un-bumpable on the two
rewrite-in-place files.** · judgement: no · effort 0.1 pd · horizon: n/a

`execution/state.py:26–29`: `_stamp` honours a pre-set `"v"`. The two
rewrite-in-place readers return the parsed dict *including* `"v"`, `daily.py`
mutates it and writes it back, so the version freezes at whatever was first
written. Verified: with `SCHEMA_V` monkeypatched to 2, a read-modify-write of
`kelly_ledger.json` still emits `"v": 1`; JSONL appends correctly emit 2. The
code comment says to bump it "only with a dated note and a dispatching reader"
— a dispatching reader would then see v=1 on a v=2 document and mis-parse.
Harmless today (no v=2 exists); it defeats the mechanism precisely when first
used. **Not worth its own work item — fold into the next touch of
`state.py`** (stamp unconditionally at the two rewrite sites, or strip `"v"` in
the readers), with the monkeypatch round-trip as the test.
