# Judging a regression-test seam Read this when Phase 5 leaves you unsure whether the seam available for the regression test is the correct one — either because the obvious seam looks shallow, or because there appears to be no seam at all. ## What makes a seam correct A correct seam is one where the test exercises the **real bug pattern** as it occurs at the call site: the same entry point, the same participants, the same ordering, and the same state the real caller holds when it goes wrong. ## Seams that are too shallow - A single-caller test when the bug only appears with multiple callers. - A unit test that cannot replicate the chain of calls that triggered the bug. - A test that reproduces the symptom by construction — asserting on a value the test itself set — rather than by driving the code path that produces it. - A test that mocks out the collaborator the bug actually lives in. A regression test at a shallow seam gives false confidence. It passes forever, including after a change reintroduces the bug at the real call site, and it will be read by the next maintainer as proof the bug is locked down. ## When there is no correct seam Do not force one, and do not settle for a shallow seam to have something green. Instead: 1. Apply the fix and verify it against the Phase 1 loop directly. 2. Write down which seams you considered and why each was too shallow. 3. Carry that into Phase 6's "what would have prevented this bug" question. A missing seam is an architecture finding — tangled callers, hidden coupling, or a module with no testable boundary — and the handoff is the `improve-codebase-architecture` skill, with those specifics attached.