Skip to content

driver: host-call arrival follow-ups from the #289 review - #290

Merged
lannbot merged 1 commit into
mainfrom
fix/host-call-arrival-followups
Sep 6, 2026
Merged

driver: host-call arrival follow-ups from the #289 review#290
lannbot merged 1 commit into
mainfrom
fix/host-call-arrival-followups

Conversation

@lannbot

@lannbot lannbot commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

Follow-ups from the post-merge review of #289. No behavior change on any reachable path.

  • Drop the arrival racer from the settlement pump. Every registration its snapshot can miss reaches ensureSettlementPump, which fires the existing nudge: driveAsync's finally, drive's synchronous completion, and the host-activity pump's async half is itself a driveStoreAsync. The rationale comment it carried ("a host call registered by a driver that is live right now") described a state the nudge already covers, and any driver live meanwhile is what the pump stands down for. Replaced with a note saying why it does not ride there.
  • Name the second no-new-driver registration path. HostActivity.pump()'s synchronous drain (exec/host_streams.ts) while its async half is already parked in driveAsync runs guest code with no depth bump — the stream-dom shape the bug was found in. The header note and both site comments now name it beside the sync drive path.
  • Race the one-shot at the wedge-detector park (parked.length === 0), so the header's claim — raced by every driveAsync park that spreads pendingHostCalls — holds without an exception.

Gates: just check, just test-runtime (702 passed), just version-guard-local.

Automerge armed.

- Drop the arrival racer from the settlement pump: every registration its
  snapshot can miss reaches `ensureSettlementPump` (which fires the nudge)
  — `driveAsync`'s finally, `drive`'s synchronous completion, and the
  host-activity pump's async half is itself a `driveStoreAsync`. The
  rationale comment it carried described a state the nudge already covers.
- Name the second no-new-driver registration path in the notes:
  `HostActivity.pump()`'s synchronous drain while its async half is parked
  in `driveAsync` — the stream-dom shape the fix was found in.
- Race the one-shot at the wedge-detector park too, so "every `driveAsync`
  park that spreads `pendingHostCalls`" holds without an exception.

No behavior change on any reachable path; `just test-runtime` 702 passed.
@lannbot
lannbot enabled auto-merge September 6, 2026 23:45
@lannbot
lannbot merged commit aa4adf8 into main Sep 6, 2026
4 checks passed
@lannbot
lannbot deleted the fix/host-call-arrival-followups branch September 6, 2026 23:49
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.

2 participants