Scoped guidance
July 22, 2026 · View on GitHub
Root
AGENTS.mdis authoritative and cannot be weakened here; on conflict, the root wins — flag and fix the conflict in the same PR. This file adds durable local rules only.
Public harness contract
- This package is the public test harness for flows: users import from
chainweaver.testingdirectly. Its symbols are deliberately not in the top-levelchainweaver/__init__.py__all__(the one exception isFixtureStaleError, which follows the error-catalog convention) — keep it that way so the public-API snapshot stays runtime-focused. - The harness hooks at the
Tool._call_fn/_call_fn_asyncboundary — never insideexecutor.py— so schema validation still runs during replay and the executor's invariants stay untouched. See architecture.md § Design traps before changing the record/replay patching. protocol_suites.pyimportspytest, so it must remain a submodule thattesting/__init__.pynever imports — the harness itself stays pytest-free.- The pytest plugin lives at the repo root (
pytest_chainweaver.py), not in this package — that placement is deliberate (coverage measurement); do not move it here.