Skip to content

teardown/park residuals: poison-marker health test, settle-proof lender release - #107

Merged
lann merged 2 commits into
mainfrom
teardown-park-residuals
Aug 11, 2026
Merged

teardown/park residuals: poison-marker health test, settle-proof lender release#107
lann merged 2 commits into
mainfrom
teardown-park-residuals

Conversation

@lann

@lann lann commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Wave 3 of the adversarial-review remediation (waves 1-2: #103, #104) —
the two findings the implementation waves themselves surfaced.

Fixes #100, #102.

Gates

test-runtime 475/0, conformance (1395 cmds, 0 failed, no stale
xfails), sched-seeds both seeds — on the combined tree.

lann added 2 commits August 10, 2026 23:31
mayEnter === false was an unsound proxy for deadness: a caller instance
is non-enterable for the whole duration of a cross-component call, so a
healthy caller task parked on an end the trapping callee also held was
silently retired — stranded, the outcome #66 exists to prevent. The
walk now consults isInstancePoisoned (the #82 marker, recorded at the
single seam every bracket-break site routes through; the synthetic root
is never marked); everyone else gets the spec-shaped outcome (stream:
DROPPED; unwritten future: the #84 abandonment trap). The B2
phantom-event concern applies exactly to the poisoned population the
new predicate keeps silent — argued at the site. Both directions
pinned; the stranding legs fail on the old predicate.
SuspensionPoint gains an onSettled finally-style hook: exactly once on
every terminal transition (produce-success, produce-throw, abandon),
never throwing past the settle. The FACT sync-start park's lender
release keeps its produce-first ordering and adds the hook as an
idempotent backstop; the async-start determinacy park unwinds its
subtask's lenders only when report() never completed (a blanket unwind
would cancel a live subtask — pinned). Settle-path enumeration lives at
the sync fix site; the cleanup-only-in-produce siblings it surfaced are
#106. Mutation-verified: disabling the hook turns 4 of 6 new tests red.
@lann
lann merged commit 9053caf into main Aug 11, 2026
4 checks passed
@lannbot
lannbot deleted the teardown-park-residuals branch August 23, 2026 16:51
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.

task/streams: teardown walk strands a healthy caller-instance peer (mayEnter === false is not 'poisoned')

1 participant