|
| 1 | +# PR_26169_002-auth-preview-signin-regression Report |
| 2 | + |
| 3 | +## Scope |
| 4 | +- PR: `PR_26169_002-auth-preview-signin-regression` |
| 5 | +- Source PLAN: `docs_build/pr/PLAN_PR_26169_002-auth-preview-signin-regression.md` |
| 6 | +- Approved business model dependency: `docs_build/pr/PLAN_PR_26169_001-creator-platform-foundation.md` |
| 7 | +- BUILD doc: `docs_build/pr/BUILD_PR_26169_002-auth-preview-signin-regression.md` |
| 8 | + |
| 9 | +## Branch Validation |
| 10 | +- Current branch: `main` |
| 11 | +- Expected branch: `main` |
| 12 | +- Local branches found: `main` |
| 13 | +- Result: PASS |
| 14 | + |
| 15 | +## Requirement Checklist |
| 16 | +- Read `docs_build/dev/PROJECT_INSTRUCTIONS.md`: PASS |
| 17 | +- Read source PLAN docs before implementation: PASS |
| 18 | +- Create BUILD_PR before implementation: PASS |
| 19 | +- Implement only PR_26169_002 purpose: PASS |
| 20 | +- Preserve public sign-in page and avoid public Local DB controls: PASS |
| 21 | +- Resolve preview users through persisted `users`, `roles`, and `user_roles` records: PASS |
| 22 | +- Keep Creator, Admin, and Owner role states distinguishable/testable: PASS |
| 23 | +- Return actionable diagnostics for malformed selected user keys: PASS |
| 24 | +- Preserve existing missing user and missing role diagnostics: PASS |
| 25 | +- Keep sign-out cleanup scoped to selected session state: PASS |
| 26 | +- Do not add membership, marketplace, AI credit, team, or legal behavior: PASS |
| 27 | +- No Playwright/runtime broad validation: PASS, not required for this API/dev-runtime scoped PR |
| 28 | + |
| 29 | +## Implementation Summary |
| 30 | +- Exported `sessionUserFromIdentityTables` for targeted contract coverage. |
| 31 | +- Trimmed selected preview user keys before persisting session state. |
| 32 | +- Rejected malformed non-empty selected user keys before database lookup, returning an actionable diagnostic instead of a silent Guest fallback or database-read diagnostic. |
| 33 | +- Preserved valid selected-user resolution through persisted identity tables. |
| 34 | +- Added targeted tests for malformed selected keys, logout cleanup after invalid preview state, Creator/Admin/Owner role resolution, missing users, and missing referenced roles. |
| 35 | + |
| 36 | +## Validation |
| 37 | +- `node --check src/dev-runtime/server/local-api-router.mjs`: PASS |
| 38 | +- `node --check tests/dev-runtime/SupabaseProviderContractStub.test.mjs`: PASS |
| 39 | +- `node --test --test-name-pattern "malformed|Creator Admin and Owner|missing user and missing role" tests/dev-runtime/SupabaseProviderContractStub.test.mjs`: PASS |
| 40 | +- `git diff --check -- src/dev-runtime/server/local-api-router.mjs tests/dev-runtime/SupabaseProviderContractStub.test.mjs docs_build/pr/BUILD_PR_26169_002-auth-preview-signin-regression.md`: PASS |
| 41 | + - Note: Git reported Windows line-ending warnings for touched tracked JS files; no whitespace errors were reported. |
| 42 | + |
| 43 | +## Lanes |
| 44 | +- Impacted lane: contract/runtime auth preview session lane under `src/dev-runtime/`. |
| 45 | +- Skipped lanes: Playwright, full runtime server suite, integration, engine, samples. |
| 46 | +- Skip rationale: PR touches server-side dev-runtime auth/session resolution and targeted contract coverage only; no browser UI, engine, sample, or broad product-data behavior was changed. |
| 47 | +- Full suite requirement: Not triggered by this PR scope. |
| 48 | + |
| 49 | +## Acceptance Criteria Evidence |
| 50 | +- Creator preview/session role state: PASS via targeted resolver test. |
| 51 | +- Admin preview/session role state: PASS via targeted resolver test. |
| 52 | +- Owner preview/session role state: PASS via targeted resolver test. |
| 53 | +- Missing selected user diagnostic: PASS via targeted resolver test preserving existing message family. |
| 54 | +- Missing referenced role diagnostic: PASS via targeted resolver test preserving existing message family. |
| 55 | +- Malformed selected user key diagnostic: PASS via route-level test. |
| 56 | +- Sign-out/session clear behavior: PASS via route-level logout assertion after malformed selected state. |
| 57 | +- No business-model data in auth session state: PASS, no pricing/limits/credits/marketplace data added. |
| 58 | + |
| 59 | +## Artifacts |
| 60 | +- Changed files list: `docs_build/dev/reports/codex_changed_files.txt` |
| 61 | +- Review diff: `docs_build/dev/reports/codex_review.diff` |
| 62 | +- ZIP artifact: `tmp/PR_26169_002-auth-preview-signin-regression_delta.zip` |
| 63 | +- ZIP validation: PASS, size > 0, contains repo-relative changed files and reports. |
0 commit comments