Skip to content

fix(pi): make watcher wake delivery durable - #396

Merged
ruby-dlee merged 6 commits into
mainfrom
fm/pi-watch-durable-r4
Aug 28, 2026
Merged

fix(pi): make watcher wake delivery durable#396
ruby-dlee merged 6 commits into
mainfrom
fm/pi-watch-durable-r4

Conversation

@ruby-dlee

@ruby-dlee ruby-dlee commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Intent

Make Pi follow-up supervision continuously self-rearm across actionable exits and retry wake delivery until observably admitted, preserving direct captain input priority. Fix the asynchronous duplicate-admission race: mark each fire-and-forget handoff pending before calling Pi, never retry while asynchronous admission remains possible, and retry only after the concrete agent_settled non-admission boundary or synchronous caller failure. Executable coverage must prove delayed admission after the former retry timer remains exactly once, settlement without admission retries with one stable delivery identity, two consecutive wakes retain distinct identities and live successors, and direct input/image continuity, ownership stops, and cleanup remain intact. Keep validation bounded to the focused deterministic, exact installed-Pi, continuity, guard, lint, and isolated Pi 0.84.2 live proofs already established; skip unrelated repository-wide local test and lint pipeline steps. Continue through exact-head review, push, PR, and green CI without approving or skipping findings.

What Changed

  • Keep Pi watcher supervision continuously armed by starting successor watchers after actionable exits and stopping cleanly on away mode, ownership loss, or shutdown.
  • Track wake admission before asynchronous handoff, suppress premature duplicates, and retry non-admitted deliveries with a stable identity after settlement or synchronous failure.
  • Expand deterministic and live Pi coverage for delayed admission, consecutive wakes, direct input/image continuity, ownership transitions, and cleanup, with matching protocol documentation.

Risk Assessment

⚠️ Medium: The change is focused and includes behavioral coverage for the new Pi wake/rearm lifecycle, but it touches asynchronous supervision, process ownership, and delivery retry state where runtime ordering assumptions remain inherently delicate.

Testing

  • ⏭️ Test - skipped

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

⚠️ **Review** - medium risk

✅ No issues found.

⏭️ **Test** - skipped

Step was skipped.

✅ **Document** - passed

✅ No issues found.

⏭️ **Lint** - skipped

Step was skipped.

✅ **Push** - passed

✅ No issues found.

@ruby-dlee
ruby-dlee force-pushed the fm/pi-watch-durable-r4 branch from 90f80be to 7331cd4 Compare August 28, 2026 16:24
@ruby-dlee ruby-dlee changed the title fix: keep Pi watcher supervision armed across wake delivery fix(pi): make watcher wake delivery durable Aug 28, 2026
@ruby-dlee
ruby-dlee merged commit d5c3b3f into main Aug 28, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant