Skip to content

W2.B.5 — pin langgraph to 0.2.76#62

Draft
TimothyVang wants to merge 1 commit into
feat/W2.B.4-fanout-reducer-racefrom
chore/W2.B.5-pin-langgraph
Draft

W2.B.5 — pin langgraph to 0.2.76#62
TimothyVang wants to merge 1 commit into
feat/W2.B.4-fanout-reducer-racefrom
chore/W2.B.5-pin-langgraph

Conversation

@TimothyVang

Copy link
Copy Markdown
Owner

Summary

  • Replaces langgraph>=0.2.50,<0.3 with an exact pin to ==0.2.76 — the version exercised by the W2.B.4 fanout-race test.
  • Pinning to the exact tested version is required by BUILD_PLAN W2.B.5; chain-of-custody discipline (CLAUDE.md §3 + ARCHITECTURE.md §2) means we should not silently float to a new minor when reducer/Send semantics could regress.
  • Bumping the pin in the future requires running pytest tests/graph/test_fanout_race.py against the new version first.

Test plan

  • pytest tests/graph/ -q — 31 passed unchanged.
  • ruff check — clean.

Base

This PR targets feat/W2.B.4-fanout-reducer-race.

Pin langgraph to ==0.2.76, the version exercised by the W2.B.4
fanout-race test:

- Send-based parallel-edge dispatch via add_conditional_edges(START,
  router, [\"branch\"]);
- reducer-annotated TypedDict fields merge correctly;
- 4-way fanout with 0-500ms randomized delays merges to byte-
  identical executor_results across runs (HMAC ledger chain
  reproducibility per ARCHITECTURE.md §2).

Floor-with-ceiling (>=0.2.50,<0.3) is replaced with an exact pin
because BUILD_PLAN W2.B.5 specifies pinning to the version that
passes the fanout race; bumping the floor without rerunning the race
test is a chain-of-custody risk. Bumping the pin requires running
pytest tests/graph/test_fanout_race.py against the new version
first.

Tests: 31 passed unchanged.
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