test(langgraph): capture parallel dispatch node-flag regression (#97) #109

Open
CoreRasurae wants to merge 1 commits from tdd/m1-pure-graph-parallel-node-gate into master

1 Commits

Author SHA1 Message Date
CoreRasurae 9e2aebd3a7 test(langgraph): capture parallel dispatch node-flag regression (#97)
CI / lint (pull_request) Successful in 1m1s
CI / typecheck (pull_request) Successful in 1m39s
CI / security (pull_request) Successful in 1m27s
CI / quality (pull_request) Successful in 48s
CI / build (pull_request) Successful in 1m53s
CI / integration_tests (pull_request) Successful in 3m55s
CI / unit_tests (pull_request) Successful in 5m3s
CI / coverage (pull_request) Successful in 4m13s
CI / status-check (pull_request) Successful in 6s
CI / benchmark (pull_request) Failing after 27m42s
Adds a failing-first Behave regression test proving issue #97:
PureLangGraph fires every candidate next-node concurrently via
asyncio.gather/asyncio.create_task whenever the graph-level
parallel_execution flag is true (the default) and there are 2+
candidates, without ever consulting each node's own `parallel` flag
(NodeConfig.parallel / can_execute_parallel()). This violates Actor
Configuration Standard §6.7 and §12.3, which require that only the
subset of next-nodes with parallel: true run concurrently while the
rest run sequentially.

The scenario builds a pure-graph route where a trigger node has two
unconditional edges to sibling agent nodes, neither marked
parallel: true, and drives both through a shared TimingRecorderAgent
test double (features/mocks/) that records start/end timestamps.
The assertion checks that the two agents' execution intervals never
overlap; it currently fails (both start concurrently) while the bug
is present.

Tagged @tdd_issue, @tdd_issue_97, and @tdd_expected_fail per the
project's TDD issue-capture workflow, so nox -s unit_tests stays
green via the existing TddExpectedFailPolicy inversion hook. The fix
itself is delivered separately by issue #97 on a bugfix/ branch.

ISSUES CLOSED: #98
2026-08-04 20:08:27 +00:00