You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add focused regression tests for the integration adapters (export/, integrations/) and for the public test harness chainweaver.testing (FlowTestRunner, assert_result_matches, capture_steps, fakes/replay), which underpin downstream users' own test suites and are themselves a supported public surface.
Why this matters
chainweaver.testing is shipped for users to test their flows (FlowTestRunner, assertions, fakes, replay), and the export/integration adapters are how flows reach other frameworks — yet these surfaces are easy to under-test relative to the executor core. A regression for the harness protects every downstream user's test suite from silent breakage on refactor, and adapter tests protect the ecosystem bridges. Extends open #342 (adapter + safety-classification coverage) to explicitly include the testing harness.
Current evidence
chainweaver/testing/ provides runner.py (FlowTestRunner, capture_steps, _StepCollector), assertions.py (assert_result_matches), fakes.py, replay.py — a public harness (closed Add chainweaver.testing module and pytest plugin for flow testing #132) whose own coverage isn't clearly enumerated.
chainweaver/export/ (openai/anthropic/callable) and chainweaver/integrations/ (langchain/llamaindex/opentelemetry/weaver_spec/agent_kernel/contextweaver) are ecosystem-facing.
Inspect chainweaver/testing/runner.py, assertions.py, fakes.py, replay.py, chainweaver/export/*, chainweaver/integrations/*, existing tests, open #342. Respect the design trap that testing helpers stay out of top-level __all__. Guard optional-extra adapter tests with import-skips. Keep --cov-fail-under=80 satisfied or improved. Don't change harness behavior — add coverage; if a test reveals a real bug, file/fix it explicitly.
Acceptance criteria
Coverage for chainweaver.testing and the export adapters measurably increases, with both success and failure paths exercised.
Optional-extra integration adapters have import-skip-guarded round-trip tests.
Coverage gate stays green; the harness/adapter behavior is unchanged.
Test plan
The new tests; scoped coverage report before/after; CI matrix run; import-skip behavior verified when extras are absent.
Documentation plan
docs/agent-context/workflows.md testing note if conventions change; CHANGELOG (test-infra note); coordinate with #342.
Migration and compatibility notes
Not expected to require migration.
Risks and tradeoffs
Possible overlap with #342 on adapter scope — coordinate (this issue owns harness coverage). Tests must encode behavior, not just chase coverage numbers.
Summary
Add focused regression tests for the integration adapters (
export/,integrations/) and for the public test harnesschainweaver.testing(FlowTestRunner,assert_result_matches,capture_steps, fakes/replay), which underpin downstream users' own test suites and are themselves a supported public surface.Why this matters
chainweaver.testingis shipped for users to test their flows (FlowTestRunner,assertions,fakes,replay), and the export/integration adapters are how flows reach other frameworks — yet these surfaces are easy to under-test relative to the executor core. A regression for the harness protects every downstream user's test suite from silent breakage on refactor, and adapter tests protect the ecosystem bridges. Extends open #342 (adapter + safety-classification coverage) to explicitly include the testing harness.Current evidence
chainweaver/testing/providesrunner.py(FlowTestRunner,capture_steps,_StepCollector),assertions.py(assert_result_matches),fakes.py,replay.py— a public harness (closed Addchainweaver.testingmodule and pytest plugin for flow testing #132) whose own coverage isn't clearly enumerated.chainweaver/export/(openai/anthropic/callable) andchainweaver/integrations/(langchain/llamaindex/opentelemetry/weaver_spec/agent_kernel/contextweaver) are ecosystem-facing.External context
Not required for this issue.
Proposed implementation
chainweaver.testingand the adapters (use--cov-report=term-missingscoped to those paths).FlowTestRunnerfake/passthrough tools,calls_to/inputs_toaccounting, middleware capture,assert_result_matchespass/fail paths,replaybehavior, fakes determinism.AI-agent execution notes
Inspect
chainweaver/testing/runner.py,assertions.py,fakes.py,replay.py,chainweaver/export/*,chainweaver/integrations/*, existing tests, open #342. Respect the design trap that testing helpers stay out of top-level__all__. Guard optional-extra adapter tests with import-skips. Keep--cov-fail-under=80satisfied or improved. Don't change harness behavior — add coverage; if a test reveals a real bug, file/fix it explicitly.Acceptance criteria
chainweaver.testingand the export adapters measurably increases, with both success and failure paths exercised.Test plan
The new tests; scoped coverage report before/after; CI matrix run; import-skip behavior verified when extras are absent.
Documentation plan
docs/agent-context/workflows.mdtesting note if conventions change; CHANGELOG (test-infra note); coordinate with #342.Migration and compatibility notes
Not expected to require migration.
Risks and tradeoffs
Possible overlap with #342 on adapter scope — coordinate (this issue owns harness coverage). Tests must encode behavior, not just chase coverage numbers.
Suggested labels
testing, reliability, contributor-experience