The gap
Structured outputs, guardrails, evals, and observability are useful. They just solve different parts of the agent reliability problem. reagent-flow focuses on one narrow failure: an upstream agent changes the payload shape, a downstream agent keeps going, and CI does not catch the broken boundary. In the vendor-onboarding showcase, the intake agent changes:What each tool class does
What reagent-flow does
- Records local traces during tests.
- Links agent sessions with
parent_trace_idandhandoff_context. - Validates handoff payloads with
assert_handoff_matches. - Validates tool results with
assert_tool_output_matches. - Fails pytest with the exact field path that drifted.
What reagent-flow does not do
- It is not a runtime guardrail.
- It is not a hosted observability platform.
- It does not prove semantic correctness.
- It does not replace structured outputs.
- It does not replace production safety controls.
Add it to CI
Run reagent-flow contract tests in GitHub Actions.