Skip to content

Deprecate dual implementations, add integration tests#15

Open
stevei101 wants to merge 1 commit intodevelopfrom
claude/feat-audit-cleanup-dual-impl
Open

Deprecate dual implementations, add integration tests#15
stevei101 wants to merge 1 commit intodevelopfrom
claude/feat-audit-cleanup-dual-impl

Conversation

@stevei101
Copy link
Copy Markdown
Contributor

Summary

  • Deprecate orphaned generic Node<S>, Edge<S>, Router<S> traits (unused, will be removed in v0.3.0)
  • Add 9 integration tests for complex graph patterns (multi-branch routing, cycles, error propagation, 50-node deep chains, concurrent state, conditional edges, finish semantics, messages)
  • Document architectural decision in ADR-001 and migration guide
  • Add CHANGELOG.md

Context

The codebase had dual implementations creating technical debt:

  • Active: NodeExecutor + AgentState + GraphRunner (used by all examples and built-in nodes)
  • Orphaned: Generic Node<S>, Edge<S>, Runtime<S> (never wired into lib.rs, runtime.rs won't even compile against current CompiledGraph)

This PR re-adds node and edge modules with #[deprecated] attributes, marks runtime.rs as dead code, and adds comprehensive test coverage for the active implementation. See ADR-001 for rationale.

Related: #2 (Epic 1 confirmed complete)

Test plan

  • cargo test — 56 tests pass (47 unit + 9 new integration)
  • cargo clippy — warnings only in deprecated code
  • Integration tests cover: multi-branch conditional routing, cycle exit conditions, recursion limits, error propagation, 50-node deep linear graph, concurrent state mutation, conditional edge routing, finish semantics, message manipulation

🤖 Generated with Claude Code

@stevei101 stevei101 changed the base branch from main to develop February 21, 2026 06:56
…ests

The codebase had dual implementations: active NodeExecutor+AgentState
architecture and orphaned generic Node<S>/Edge<S> traits that were never
wired into the module tree. This adds deprecation warnings, 9 integration
tests for complex graph patterns, and documentation (ADR-001, migration
guide, changelog) to prepare for removal in v0.3.0.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@stevei101 stevei101 force-pushed the claude/feat-audit-cleanup-dual-impl branch from 8a0cd4b to 6205b8d Compare February 21, 2026 07:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant