The service-owned-session architecture test suite includes a test that opens changelog.d/3788.changed.md and asserts that the release-note wording contains service-owned but not caller-owned. This does not validate application behavior or an architectural boundary. It also assumes a Towncrier fragment remains in the tree after release, although Towncrier intentionally consumes and deletes fragments when generating CHANGELOG.md. As a result, the post-release deployment run fails with FileNotFoundError even though the application tests and database migration checks pass.\n\nRemove this wording-only test. Keep the surrounding behavioral architecture guards that verify service method signatures, presentation-layer SQLAlchemy boundaries, and removal of obsolete persistence abstractions.\n\nAcceptance criteria:\n- Remove the test that reads changelog.d/3788.changed.md.\n- Preserve the behavioral service-owned-session architecture tests.\n- Confirm the affected test module passes against the generated-release tree.
The service-owned-session architecture test suite includes a test that opens changelog.d/3788.changed.md and asserts that the release-note wording contains service-owned but not caller-owned. This does not validate application behavior or an architectural boundary. It also assumes a Towncrier fragment remains in the tree after release, although Towncrier intentionally consumes and deletes fragments when generating CHANGELOG.md. As a result, the post-release deployment run fails with FileNotFoundError even though the application tests and database migration checks pass.\n\nRemove this wording-only test. Keep the surrounding behavioral architecture guards that verify service method signatures, presentation-layer SQLAlchemy boundaries, and removal of obsolete persistence abstractions.\n\nAcceptance criteria:\n- Remove the test that reads changelog.d/3788.changed.md.\n- Preserve the behavioral service-owned-session architecture tests.\n- Confirm the affected test module passes against the generated-release tree.