test(langgraph): Add missing PureGraph BDD and integration coverage #9601

Merged
HAL9000 merged 7 commits from feat/pure-graph-bdd-coverage into master 2026-06-03 19:36:01 +00:00

7 Commits

Author SHA1 Message Date
HAL9000 35aa4f47c4 docs(changelog): correct PureGraph coverage entry to match actual diff
CI / helm (pull_request) Successful in 46s
CI / build (pull_request) Successful in 51s
CI / lint (pull_request) Successful in 1m9s
CI / typecheck (pull_request) Successful in 1m10s
CI / push-validation (pull_request) Successful in 1m8s
CI / security (pull_request) Successful in 1m19s
CI / quality (pull_request) Successful in 1m23s
CI / unit_tests (pull_request) Successful in 5m15s
CI / docker (pull_request) Successful in 1m32s
CI / integration_tests (pull_request) Successful in 9m21s
CI / coverage (pull_request) Successful in 9m31s
CI / status-check (pull_request) Successful in 2s
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
2026-06-03 15:04:52 -04:00
HAL9000 79d84c1d12 fix(robot): fix PureGraph Robot Framework tests and lint violations
CI / push-validation (pull_request) Successful in 29s
CI / helm (pull_request) Successful in 35s
CI / lint (pull_request) Successful in 48s
CI / build (pull_request) Successful in 46s
CI / quality (pull_request) Successful in 58s
CI / typecheck (pull_request) Successful in 1m2s
CI / security (pull_request) Successful in 1m6s
CI / unit_tests (pull_request) Successful in 4m26s
CI / docker (pull_request) Successful in 1m30s
CI / integration_tests (pull_request) Successful in 9m49s
CI / coverage (pull_request) Successful in 9m4s
CI / status-check (pull_request) Successful in 3s
- 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
2026-06-03 14:30:16 -04:00
HAL9000 3488dff9f9 fix(PureGraph): Resolve all review blockers from PR feedback
- 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
2026-06-03 14:30:16 -04:00
HAL9000 ecb338cbe6 format: Apply ruff format to benchmark file
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
2026-06-03 14:30:16 -04:00
HAL9000 bf18068ee8 fix(lint): Remove trailing whitespace and add ClassVar annotations to PureGraph benchmarks
- 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
2026-06-03 14:30:16 -04:00
HAL9000 db048dd2d9 compliance: Add PureGraph BDD coverage to CHANGELOG and CONTRIBUTORS
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
2026-06-03 14:30:16 -04:00
HAL9000 2837ad04a6 test(langgraph): Add missing PureGraph BDD and integration coverage
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
2026-06-03 14:30:16 -04:00