Status: deferred 2026-09-02 in PR #436 (defer rule D1)
What: temp_postgres_store (dashboard/backend/tests/test_users_postgres.py:92-97) deletes password_reset_requests, email_change_requests, auth_sessions, and users between tests, but never user_entitlements. Under a full-file run against a real Postgres (TEST_POSTGRES_URL), leftover rows fail test_entitlements_missing_user_is_user_not_found_postgres and test_credit_spend_for_missing_user_postgres via cross-test pollution. Invisible on CI/local runs without a live PG (@pg_only skips).
Why deferred: D1 — pre-existing fixture gap in the entitlements/credits tests, untouched by PR #436's password-reset diff (found while live-verifying the PR's tests against postgres:16, which pass).
Next-session entry point: dashboard/backend/tests/test_users_postgres.py:92-97 — add DELETE FROM user_entitlements (and any credit-ledger tables) to the fixture wipe, re-run the full file against a live PG. ~15 min.
Status: deferred 2026-09-02 in PR #436 (defer rule D1)
What:
temp_postgres_store(dashboard/backend/tests/test_users_postgres.py:92-97) deletespassword_reset_requests,email_change_requests,auth_sessions, andusersbetween tests, but neveruser_entitlements. Under a full-file run against a real Postgres (TEST_POSTGRES_URL), leftover rows failtest_entitlements_missing_user_is_user_not_found_postgresandtest_credit_spend_for_missing_user_postgresvia cross-test pollution. Invisible on CI/local runs without a live PG (@pg_onlyskips).Why deferred: D1 — pre-existing fixture gap in the entitlements/credits tests, untouched by PR #436's password-reset diff (found while live-verifying the PR's tests against postgres:16, which pass).
Next-session entry point: dashboard/backend/tests/test_users_postgres.py:92-97 — add
DELETE FROM user_entitlements(and any credit-ledger tables) to the fixture wipe, re-run the full file against a live PG. ~15 min.