The CHANGELOG.md and CONTRIBUTORS.md entries from db048dd2 claimed this
PR adds `features/pure_graph_coverage.feature`. That standalone file
was intentionally not added (and an earlier draft was removed) because
the PureGraph scenarios already live in
`features/consolidated_langgraph.feature` — adding a standalone file
would have created duplicate Behave scenarios against the same step
definitions and broken `unit_tests` CI.
Reword both entries to accurately describe what this PR delivers:
- the previously orphaned `features/steps/pure_graph_coverage_steps.py`
is now driven through the existing consolidated feature file
- Robot Framework integration tests in `robot/langgraph/pure_graph.robot`
backed by `robot/langgraph/pure_graph_lib.py`
- ASV benchmarks in `benchmarks/pure_graph_bench.py`
ISSUES CLOSED: #9531
- Remove unused `import ast` and fix `set_function_registry` to store
callable values directly instead of calling eval() on a function object
- Replace try/except/pass with contextlib.suppress (SIM105)
- Add strict=False to zip() call (B905)
- Wrap long line in execute_graph (E501)
- Use list unpacking in assert_topo_order_equals (RUF005)
- Fix keyword name: Remove hyphen from 'Non-Functional' (Python method
has no hyphen so Robot generates 'Non Functional')
- Rewrite Set Double And Increment Registry to evaluate lambdas directly
rather than iterating a list of tuples (which paired whole tuples as
loop variables instead of unpacking them)
- Pass node/function name lists via Robot list variables instead of
space-delimited positional args
ISSUES CLOSED: #9531
- Remove features/pure_graph_coverage.feature to resolve duplicate BDD scenarios
conflict with existing consolidated_langgraph.feature (lines 440-474) that was
introduced by prior consolidation commit 60887308. Duplicate scenario execution
causes unit_tests CI failure.
- Replace Robot Framework stub tests in robot/langraph/pure_graph.robot with real
PureGraph integration tests:
* Topological order verifies start/end boundaries and node sequence
* Function execution validates sequential transformation (double=1->2, increment=2->3)
* Missing function test confirms graceful skip behavior without exceptions
* Non-functional nodes verify pass-through semantics
- Create pure_graph_lib.py Robot Framework library module with proper keywords
for graph construction, topo order computation, and execution under test.
ISSUES CLOSED: #9531
Fix formatting issues found by CI lint check:
- Consolidate multi-line NodeConfig and PureGraph constructor calls
onto single lines as preferred by ruff formatter
This resolves the failing CI / lint (pull_request) check.
ISSUES CLOSED: #9531
- Fix RUF012: Annotate mutable class attributes (params, param_names) with
typing.ClassVar in PureGraphBench benchmark suite
- Fix W293: Remove trailing whitespace from blank lines in benchmark file
This fixes the CI lint check that was failing on the pr-creator generated
benchmark code.
ISSUES CLOSED: #9531
Update the PR compliance checklist items that were missing from the original
PR creation by pr-creator:
- Added ### Tests section to CHANGELOG.md documenting the PureGraph BDD,
Robot Framework integration tests, and ASV benchmark additions
- Updated CONTRIBUTORS.md with contribution details for the PureGraph test
coverage suite (PR #9601 / issue #9531)
This completes items [1] and [2] of the mandatory 8-item PR Compliance Checklist.
ISSUES CLOSED: #9531
Add comprehensive test coverage for PureGraph module:
- Created features/pure_graph_coverage.feature with BDD scenarios for topological ordering, function execution, missing function handling, and non-functional nodes
- Added robot/langgraph/pure_graph.robot with Robot Framework integration tests
- Created benchmarks/pure_graph_bench.py with ASV benchmarks for execution throughput and ordering performance
This addresses the test infrastructure gap identified in issue #9531 where PureGraph had orphaned step definitions but no feature file, and lacked integration and performance test coverage.
ISSUES CLOSED: #9531