d4b53bfb08
Docker / build (push) Has been cancelled
Test / pytest (ubuntu-latest, 3.12) (push) Has been cancelled
Test / pytest (windows-latest, 3.11) (push) Has been cancelled
Test / pytest (windows-latest, 3.12) (push) Has been cancelled
Lint / ruff (push) Has been cancelled
Test / pytest (ubuntu-latest, 3.11) (push) Has been cancelled
Build / build (push) Has been cancelled
35 lines
2.1 KiB
Markdown
35 lines
2.1 KiB
Markdown
# B04 stop proof evidence
|
|
|
|
Final run: `/tmp/b04-stop-green4.log`, `3 passed in 0.44s`.
|
|
Each new parameter node used 4/5 attempts (ledger alongside this file).
|
|
Old writer race and continuation scenarios were not executed.
|
|
|
|
- cancel: real StateGraph plus native LangChain SubagentTransformer and
|
|
controlled FakeListChatModel stream; node finally settled, one terminal,
|
|
physical writer rows zero.
|
|
- close_error: instance-local graph iterator aclose fails once, then blocks;
|
|
repeated wait_stopped returns unknown, stop task remains alive, writer row
|
|
remains one; release allows retry, terminal once, writer rows zero.
|
|
- slow_commit: real aiosqlite worker operation blocks, its waiting future is
|
|
cancelled, operation still executes an INSERT; unknown retains writer;
|
|
after release, stop commit barrier makes INSERT visible from a separate
|
|
SQLite connection and physical writer rows become zero.
|
|
- Default no-registry abort compatibility: `/tmp/b04-stop-default-regression.log`,
|
|
`1 passed, 48 deselected in 0.13s`.
|
|
|
|
No event-stream replacement, global dependency monkeypatch, external network,
|
|
business service, PostgreSQL, installation, git commit, or full suite used.
|
|
|
|
Support is pinned to LangGraph 1.2.6, checkpoint-sqlite 3.0.3, aiosqlite
|
|
0.22.1. Adapter retains the graph iterator before dependency abort can discard
|
|
it, intercepts cancellation exception args for Pregel exit_task, and waits for
|
|
pulls, exits, graph close, mux close and local producers. Database barrier runs
|
|
after event generator closure (including exceptional state repair).
|
|
|
|
Limits: these three runs observed zero *detached* exit_task handles; ordinary
|
|
Pregel exit completed inside the cancelled pull. The exit_task capture branch
|
|
is source-grounded, not directly fault-triggered by these fixtures. A failed
|
|
or cancelled internal exit has no reliable supported recovery interface and
|
|
conservatively retains ownership. Unsupported dependency versions do likewise.
|
|
No arbitrary detached writers, external update_state/raw SQL writers, external
|
|
namespace entry, different registry, file replacement, or saver-level CAS claims. |