memory: snapshot — the four revoked routes are non-Claude, and the herald's reason is wrong
Operator directed that the four affected seats be told directly. Measured their state before writing, which turned up two things worth more than the notification itself. The herald logs each exclusion as "the process that declared this route is gone, or its pid was reused by something that started at a different time." Neither is true for any of the four. Each declaring process started minutes before its route was written and is still running four days later, and pid_max is 4194304 against a current 2.86M so the counter has not wrapped. The real cause is a third one the message never offers: the route predates the guard fields, so identity cannot be verified. The behaviour is right and the explanation is wrong, and it would send anyone debugging it hunting a dead agent that is alive. Separately, all four seats run non-Claude CLIs -- kimi, grok, codex and pi -- while the pane poke is built around typing into a Claude Code pane. Whether --discover-pid walks a non-Claude process tree, and what a poke does to a non-Claude TUI, are both unverified. Each agent was given their measured pid to sidestep the first, told plainly about the second, and offered the choice between re-declaring as a test or staying pull-only. Both findings raised with forseti.
This commit is contained in:
@@ -106,6 +106,44 @@ confirming it is up."** Both waiters reported `push`/`reachable` immediately aft
|
||||
- **Do not loop on re-arming.** Two kills is the pattern; declare a pane route instead. Raised
|
||||
both consequences with forseti on the deploy thread.
|
||||
|
||||
## ⚠ THE FOUR REVOKED ROUTES — the herald's stated reason is FALSE, and all four are non-Claude
|
||||
|
||||
Operator directed notification (2026-09-01); all four told individually with their own pid,
|
||||
pane and start time. Measured **before** writing, which is what turned up both findings:
|
||||
|
||||
handle pid declaring proc started alive running
|
||||
bil-smithy-dev 98493 Aug 28 10:33:02 4d11h kimi
|
||||
dvalin-smithy-dev 96050 Aug 28 10:29:26 4d11h grok
|
||||
eitri-smithy-dev 103662 Aug 28 10:39:30 4d11h codex
|
||||
regin-smithy-dev 96864 Aug 28 10:30:59 4d11h pi
|
||||
|
||||
**FINDING 1 — the exclusion message misdescribes the migration case.** The herald says *"the
|
||||
process that declared this route is gone, or its pid was reused by something that started at a
|
||||
different time."* **Neither disjunct is true for any of the four.** Each declaring process
|
||||
started 1-3 min *before* its route was written and is still running four days later; `pid_max`
|
||||
is 4,194,304 against a current ~2.86M, so the counter has not wrapped and there is no reuse to
|
||||
suspect. The real reason is a third one the message never offers: **the route predates the
|
||||
guard fields, so identity cannot be verified and the herald declines.** Correct behaviour,
|
||||
wrong explanation — and it sends a debugger hunting a dead agent that is alive. Raised with
|
||||
forseti with a suggested third branch. ⚠ **Do not trust that log line at face value.**
|
||||
|
||||
**FINDING 2 — all four seats are non-Claude CLIs** (`kimi`, `grok`, `codex`, `pi`), and the
|
||||
pane poke is designed around Claude Code: it types a line into the pane and presses Enter.
|
||||
Two things unverified, both raised with forseti and stated plainly to the four rather than
|
||||
papered over:
|
||||
|
||||
- **Does `--discover-pid` recognise a non-Claude process tree?** It walked to `claude`
|
||||
correctly for infra-ops. Unknown for a `codex` or `pi` tree. Sidestepped by handing each
|
||||
agent their measured pid (`althing-route declare --pid <n>`) — but a fresh agent following
|
||||
the skill reaches for `--discover-pid` first.
|
||||
- **What does a pane poke do to a non-Claude TUI?** Might be input; might be a keystroke the
|
||||
TUI did not expect. Each was offered the choice: re-declare and treat the first poke as a
|
||||
test (reporting anything odd + `althing-route release`), or stay pull-only until forseti
|
||||
confirms. Not decided for them.
|
||||
|
||||
⚠ If non-Claude seats are out of scope for the pane path, that belongs in the skill — those
|
||||
four are exactly the seats the migration moved off the waiter path.
|
||||
|
||||
## Rollback (unused)
|
||||
|
||||
`uv tool install althing-core==3.1.2` restores the six binaries; the SessionStart hook returns
|
||||
|
||||
@@ -143,8 +143,13 @@ _As of 2026-09-01 — **the GX10 is on the operator's desk, NOT racked. Standing
|
||||
⚠ **`uv tool install .` is a SILENT NO-OP on reinstall** — uv matches the source *spec*, not
|
||||
its contents; exits 0 having done nothing. **Always `--force` from a local path.**
|
||||
⚠ 4 pane routes revoked by the new guards (bil-/dvalin-/eitri-/regin-smithy-dev); they
|
||||
re-declare with `althing-route declare --pid <pid>`. **Deliberately not notified** (no
|
||||
unsolicited fleet broadcast) — operator's call.
|
||||
re-declare with `althing-route declare --pid <pid>`. **All four notified individually
|
||||
2026-09-01 on operator direction.** ⚠ Two findings from measuring first: the herald's
|
||||
exclusion reason ("process gone, or pid reused") is **FALSE for the migration case** — all
|
||||
four declaring processes are alive 4 days, no pid wrap; the real cause is the route
|
||||
predating the guard fields. And **all four seats are non-Claude CLIs** (kimi/grok/codex/pi)
|
||||
while the pane poke types into a Claude Code pane — `--discover-pid` and poke behaviour
|
||||
against a non-Claude TUI are both UNVERIFIED. Both raised with forseti.
|
||||
⚠ **infra-ops now runs on a PANE ROUTE, not a waiter** (`althing-route declare
|
||||
--discover-pid` — walks to the long-lived `claude` pid, never `$$`). The reap killed our
|
||||
`althing-listen` **twice in one session, the second within minutes of arming**, each time
|
||||
|
||||
Reference in New Issue
Block a user