FA-258 / Runtime and resources / Member archive
Cancellation leaves earlier acquired resources open · case 03
Cleanup is skipped after partial acquisition or stops when the first resource cleanup reports failure.
Case contract
Resources have unique names. Acquire a prefix cancel_after, or all when it is None, then unwind. Every acquired resource receives one cleanup attempt in reverse order. Named simulated cleanup failures stay open; other resources close. Return [attempt order,failure names,sorted open names].
Why this case matters
Models nested resource scopes cancelled during setup and error-tolerant cleanup; failures are injected state transitions, not real file descriptors, network calls, or exception handlers.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| cancellation after partial acquisition | [[], [], ["r0", "r1", "r2"]] | [["r2", "r1", "r0"], [], []] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗