a73x

3dcd8110

docs: review follow-ups — close_range barrier, observer idle deadline

a73x   2026-08-27 14:10

Commit message
docs: review follow-ups — close_range barrier, observer idle deadline

docs/decisions.md
Old New
@@ -7105,3 +7105,18 @@ The witness asks the OS, not the daemon: `/proc` for the post-exec shell's fd
7105 table (`socket:`, `memfd:`, `/dev/ptmx`) and the daemon's own for 7105 table (`socket:`, `memfd:`, `/dev/ptmx`) and the daemon's own for
7106 `memfd:mux-upgrade`. The QUIC socket's seal is unpinned — no e2e daemon in that 7106 `memfd:mux-upgrade`. The QUIC socket's seal is unpinned — no e2e daemon in that
7107 leg runs `--quic`; filed. 7107 leg runs `--quic`; filed.
7108
7109 **Review follow-ups, same day.** Three things the branch review asked for,
7110 taken rather than filed. (1) The session child runs `close_range(3, ~0)`
7111 before its exec: `execUpgrade`'s clear list and `sealAdoptedFds` are two
7112 hand-kept lists that must agree, and the barrier that needs no list is the
7113 child closing everything above stderr — the seal is now hygiene, and a pipe
7114 opened without CLOEXEC is the pin (`pty.zig`). (2) Observers carry an idle
7115 deadline (`observer_idle_ms_default`, 10 s without a whole frame): the
7116 one-byte peer no longer parks the daemon, but four of them held every
7117 observer slot and closed each later attach at accept with nothing said.
7118 The pump's 100 ms poll is what makes the reap timely. (3) The half-frame
7119 leg's `timeout` scales with `E2E_TIME_SCALE`, against the lib's own
7120 "budgets only" wording: a wedged daemon never answers, so waiting longer
7121 changes nothing about the fact demanded, and a kcov-slowed answer must not
7122 read as the wedge.
docs/superpowers/plans/2026-08-27-daemon-nonblocking-frames.md
Old New
@@ -1,3 +1,5 @@
1 > Superseded in part: Task 4 places the seal in `initFromManifest`; that broke rollback. It lives in `resumeRun` after the last rollback exit — see docs/decisions.md 2026-08-27.
2
1 # Daemon Non-Blocking Frame Reads Implementation Plan 3 # Daemon Non-Blocking Frame Reads Implementation Plan
2 4
3 > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. 5 > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.