Docs / docs (push) Successful in 21s
Playwright Tests / test-playwright (1, 2) (push) Failing after 15m39s
Playwright Tests / test-playwright (2, 2) (push) Successful in 10m17s
pre-commit / pre-commit (push) Failing after 2m28s
Test Backend / test-backend (push) Failing after 2m29s
Compose Smoke Test / test-compose (push) Successful in 30s
Playwright Tests / merge-reports (push) Successful in 5m36s
The two sides both touched `submit_ready`'s readiness check, for unrelated reasons, so the conflict is textual rather than semantic and both changes stand: - `831a537` completes a node that is not ready instead of passing over it, so a producer that can never run stops stranding its consumers. - the audit branch has `_is_node_ready` return the values it read, so the node runs on them instead of asking state for the same keys again. Merged as: read once, keep the values whether or not the answer is yes, and take the not-ready branch from `831a537`. Its reasoning holds under the merge — by the time readiness is consulted, `in_degree` is zero and every in-wave producer has finished, so the answer cannot change later in the wave. Also fixes a fixture this branch added: the module-scoped row cleanup in `tests/conftest.py` assumed a schema, and `tests/flow` overrides `db` with a no-op because those tests need no database. It only showed when that directory ran on its own. 746 tests green, and each directory green alone. Engine throughput is unchanged by the merge (559 msg/s on the memory backend, against 639 before it and 262 at the start of the audit). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M6hPWS6YEbT1P8LxhhFb2T