memory: snapshot — althing 3.2.2 deployed; discover-pid was a bug, not an unknown

Four of the five items I raised are closed and tagged. The one that
matters most: --discover-pid matched comm == "claude", which means kimi,
grok, codex and pi would each have walked to the multiplexer and refused.
Four of five pane seats could never have used it. It now matches the
pane's own command, which zellij already reports and guard 1 already
compares against, so discovery and the guard read one string.

Recording a second miss of my own alongside it. I handed all four seats
explicit measured pids because I suspected the ancestry walk was broken,
then reported the suspicion as an open question rather than spending the
same twenty seconds to settle it, with four live non-Claude seats in
front of me. That pairs with the earlier miss in the opposite direction:
asserting an open risk on something the author had already measured. Same
root -- having the means to settle a question and reporting it as open
instead.

Also keeping forseti's two dead ends as negative results, because they
are the obvious things to propose next and both fail: locating a TUI's
input box in a screen dump needs per-TUI parsing, and diffing two dumps
to detect typing refuses every poke forever, because status bars carry
live token counts and clocks so consecutive dumps differ on an idle pane.

The kimi/pi coverage gap is deliberately unfixed and now sits with the
operator, with a recommendation to leave it per-seat.
This commit is contained in:
2026-09-01 22:52:35 -07:00
parent f0d30f7a0f
commit 12006d287a
2 changed files with 68 additions and 0 deletions
@@ -294,6 +294,68 @@ on the first observed stapling.
Reversible with `althing-route declare --discover-pid` if the operator prefers the trade the
other way; regin's framing: *"it is their text at stake and they can ask me to flip it back."*
## ✅ 3.2.2 DEPLOYED 22:51 (`c4ce947`) — four of five open items closed
22:51:xx uv tool install --force . 3.2.1 -> 3.2.2, 7 executables
22:51:18 systemctl --user restart althing-po-herald 2913820 -> 2944372
22:51:21 scripts/sync_skill.sh --check clean
1. **`--discover-pid` — FIXED, and it was a BUG, not an unknown.** It matched
`comm == "claude"`, so **kimi, grok, codex and pi would each have walked to the multiplexer
and refused — four of five pane seats could never have used it.** Now matches the **pane's
own command** (`pane_command`), which zellij already reports and guard 1 already compares
against, so discovery and the guard read one string and a route declared that way cannot
fail guard 1 on its first tick. forseti checked 17/17 live TUI panes; notably catches
`node /usr/bin/codex` where `comm` reads bare `node` — which a widened comm list (the
obvious fix) would have got wrong. Ancestry walk retained because 12 panes report an
identical `claude ...`, so a global /proc search is ambiguous by construction.
2. **Exclusion message — FIXED as a message bug, split not softened.** DEAD covers four facts,
all four were rendered as "gone, or pid reused". Migration case now says what is true and
names the fix; genuinely-dead keeps its own wording. forseti: *"collapsing both into one
vague sentence would trade a wrong message for a useless one."* ⚠ **General form: hedging a
wrong error message until it is true in all cases makes it true and worthless.**
3. **`uv tool install --force`** now in the runbook and althing's CLAUDE.md, beside the
editable-install warning it rhymes with.
4. **One-tick latency + status-not-durable** both in the skill: *a green `reachable` is a
receipt for the declare, never proof you are still being watched.*
Count correction accepted: 8 fifo, not 12.
## ⚠ MY SECOND MISS OF THE NIGHT — I FILED A SUSPICION INSTEAD OF CLOSING IT
forseti generously framed my measured-pid workaround as the reason the `--discover-pid` bug
"looked like an unknown". Straighter: **I routed around a thing I suspected was broken and then
reported the suspicion as an open question**, with four live non-Claude seats in front of me and
the answer one ancestry-walk away. The same twenty seconds that produced four pids would have
produced the bug.
⚠ Pairs with the earlier miss (calling non-Claude delivery an "open risk" that forseti had
already measured). **Both are the same failure: having the means to settle a question and
reporting it as open instead.** Opposite directions — one asserted openness that was already
closed, one left open something I could have closed — same root.
## 🔵 OPERATOR DECISION PENDING — the kimi/pi seats guard 4 cannot cover
forseti deliberately did NOT fix this and escalated it: *"That trades one peer's delivery
against another's safety on seats that are not mine."* Their dead-ends, worth keeping as
negative results:
- `dump-screen` gives visible pane content, but locating the input box needs **per-TUI
parsing** — exactly the hardcoding the pinned baseline exists to avoid.
- **Diffing two dumps to detect typing is dead on arrival**: status bars carry live token
counts and clocks, so consecutive dumps differ on an *idle* pane. It would refuse every poke
forever.
Three options: poke unguarded / **write without pressing Enter** (removes the submission, costs
the wake) / leave pull-only.
**infra-ops recommended LEAVING IT PER-SEAT (status quo).** The two seats already made this
call on identical facts, reached opposite conclusions, and both were right — the deciding
variable (who composes in that pane and why) is local knowledge a global policy cannot encode.
Write-without-Enter beats the status quo for **neither**: for bil it removes the wake, which is
the exact thing they accepted risk to keep; for regin it removes only the submission, leaving
the operator to delete herald text from his in-flight sentences routinely.
## Rollback (unused)
`uv tool install althing-core==3.1.2` restores the six binaries; the SessionStart hook returns
+6
View File
@@ -163,6 +163,12 @@ _As of 2026-09-01 — **the GX10 is on the operator's desk, NOT racked. Standing
way would be wrong for one of them. ⚠ **Path to closing the hole (regin's):** a moment-check
reading pane CONTENT (input-line length) rather than cursor COLUMN would cover pi/kimi —
column is a proxy, empty-input-line is the real predicate.
**3.2.2 deployed 22:51** — closes 4 of 5: `--discover-pid` was a **BUG not an unknown**
(matched `comm=="claude"`, so 4 of 5 pane seats could never have used it; now matches
`pane_command`), exclusion message split rather than softened, `--force` in the runbook,
latency + status-not-durable in the skill. 🔵 **PENDING OPERATOR:** the kimi/pi seats guard 4
cannot cover — poke unguarded / write-without-Enter / pull-only. **Recommended per-seat
status quo**; write-without-Enter beats it for neither seat.
`persistent-memory.d/2026-09-01-althing-320-deploy.md`
- **✅ A6000 window CLOSED 2026-09-01 — operator freed ComfyUI's VRAM instead of anyone
stopping it.** ⚠ It was a **model unload, not a stop**: `comfyui` still up 8 days, same pid,