You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`npm run test:workspace-v2` initially failed due a local-db Playwright harness; after harness update, rerun passed. Command name is legacy and user-facing language is Project Workspace.
1989
+
- Static scan for removed Toolbox vote Local DB fallback patterns.
1990
+
- Full samples smoke skipped because samples were not in scope.
- Removed Local DB/SQLite from the supported product-data provider selection list.
5
+
- Forced `npm run dev:local-api` startup to use `supabase-postgres` for product data, even when an old `GAMEFOUNDRY_DB_PROVIDER=local-db` value is present.
6
+
- Removed Local DB product-data branches from server product-data assertions, persistence, Toolbox registry snapshots, and DB snapshot routing.
7
+
- Lazy-loaded the SQLite adapter only when legacy local adapter endpoints are invoked, so startup no longer imports or opens SQLite.
8
+
9
+
## Branch Validation
10
+
- PASS - Current branch was `main`.
11
+
12
+
## Requirement Checklist
13
+
- PASS - Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` before PR work.
14
+
- PASS - Hard-stopped branch check passed on `main`.
15
+
- PASS - Removed SQLite/local-db from active product-data provider selection; `SUPPORTED_DATABASE_PROVIDERS` now contains only `supabase-postgres`.
16
+
- PASS - Removed active product-data fallback paths that previously allowed Local DB to satisfy product-data reads/writes.
17
+
- PASS - `npm run dev:local-api` startup now reports `Local API product data provider: supabase-postgres` and explicitly ignores an old `local-db` product-data value.
18
+
- PASS - SQLite is no longer imported or opened during server startup; the legacy adapter loads only if legacy local adapter endpoints are invoked.
19
+
- PASS - Browser pages were not changed to branch by DEV/UAT/PROD.
20
+
- PASS - No silent fallback to SQLite/local-db remains for product-data routes.
21
+
- PASS - Historical Local DB route/adapter strings remain as deprecated technical debt for legacy admin/testing endpoints only; they no longer participate in active product-data provider selection.
22
+
- PASS - No secrets or `.env.local` files were changed or committed.
- INFO - Initial bare `node .\scripts\validate-supabase-dev.mjs` reached Supabase validation but failed local TLS trust before app-level checks (`UNABLE_TO_VERIFY_LEAF_SIGNATURE` / `SELF_SIGNED_CERT_IN_CHAIN`).
31
+
- PASS - Required Supabase DEV validation using Windows system CA trust: `$env:NODE_OPTIONS='--use-system-ca'; node .\scripts\validate-supabase-dev.mjs` (overall PASS; direct PostgreSQL TLS remained WARN while REST/API identity readiness passed).
32
+
- PASS - `npm run dev:local-api` started on temporary port `5580` long enough to confirm startup selected `supabase-postgres`, ignored `local-db`, and emitted no SQLite startup warning.
33
+
- PASS - Static sanity scan confirmed removed Local DB product-data branch patterns no longer appear in the touched runtime/provider contract paths.
34
+
- PASS - `git diff --check`
35
+
- SKIPPED - Full samples smoke per request and because samples are not in scope.
36
+
37
+
## Manual Validation Notes
38
+
- Startup output included:
39
+
-`Local API auth provider: supabase-auth.`
40
+
-`Local API product data provider: supabase-postgres.`
41
+
-`Local API ignored unsupported product data provider local-db; Supabase Postgres is required.`
42
+
- Startup stderr was empty after lazy-loading SQLite, confirming the server no longer imports SQLite during startup.
43
+
- Provider contract diagnostics now mark `GAMEFOUNDRY_DB_PROVIDER=local-db` as unsupported for product data rather than activating a Local DB product-data path.
44
+
-`/api/local-db/snapshot` remains a historical route name, but product-data snapshot routing now requires Supabase Postgres and fails visibly for unsupported database selections.
45
+
46
+
## Test Data Cleanup
47
+
- N/A - This PR did not create persistent validation records.
48
+
49
+
## Remaining Follow-Up Blockers
50
+
- None for this PR scope.
51
+
- Deprecated Local DB route names and legacy local adapter code remain for admin/testing compatibility and should be removed or quarantined by later cleanup PRs when those surfaces have replacement contracts.
- Removed active Local DB product-data fallback branches from Toolbox vote snapshot, vote write, vote ordering, metadata update, metadata reorder, registry snapshot, and DB snapshot server API paths.
5
+
- Routed the touched product-data API paths through the existing server API/service contract to Supabase Postgres only.
6
+
- Updated the Project Workspace Playwright harness to use a fake configured Supabase/Postgres service instead of forcing `local-db`, keeping validation hermetic and avoiding real Supabase writes.
7
+
- Added targeted regression coverage proving Local DB-selected Toolbox vote routes now fail visibly instead of serving local product data.
8
+
9
+
## Branch Validation
10
+
- PASS - Current branch was `main`.
11
+
12
+
## Requirement Checklist
13
+
- PASS - Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` before PR work.
14
+
- PASS - Hard-stopped branch check passed on `main`.
15
+
- PASS - Product data for the touched Toolbox vote, registry, snapshot, and repository API paths now routes through the server API/service contract to Supabase Postgres only.
16
+
- PASS - Configured connection values are used; no site behavior branching by DEV/UAT/PROD label was added.
17
+
- PASS - Users, roles, and user_roles continue to resolve through the Supabase/Postgres-backed service path via `currentSessionForRoute()` and the Supabase provider contract tests.
18
+
- PASS - Removed active Local DB product-data fallback branches from the touched product-data API paths; remaining Local DB helper code is legacy/admin/testing support and is not an active product-data provider path.
19
+
- PASS - No browser-owned product data, page-local product arrays, hidden defaults, or silent fallback were introduced.
20
+
- PASS - No secrets or `.env.local` files were changed or committed.
- INFO - Initial bare `node .\scripts\validate-supabase-dev.mjs` reached validation but failed local Node TLS trust before app-level checks (`UNABLE_TO_VERIFY_LEAF_SIGNATURE` / `SELF_SIGNED_CERT_IN_CHAIN`).
32
+
- PASS - Required Supabase DEV validation using Windows system CA trust: `$env:NODE_OPTIONS='--use-system-ca'; node .\scripts\validate-supabase-dev.mjs` (overall PASS; direct PostgreSQL TLS remained WARN while REST/API identity readiness passed).
33
+
- FAIL then PASS - `npm run test:workspace-v2` initially failed because the Project Workspace Playwright harness forced `GAMEFOUNDRY_DB_PROVIDER=local-db`; after changing the harness to fake configured Supabase/Postgres, the rerun passed (5 passed). The command name is legacy; user-facing language is Project Workspace.
34
+
- PASS - Static scan found no remaining `return this.toolboxVoteSnapshot()` or `Persisting Toolbox` Local DB vote write fallback in `src/dev-runtime/server/local-api-router.mjs`.
35
+
- PASS - Playwright V8 coverage report generated at `docs_build/dev/reports/playwright_v8_coverage_report.txt`; server-side changed runtime JS is reported as advisory WARN because browser V8 coverage cannot collect Node server modules.
36
+
- PASS - `git diff --check`
37
+
- SKIPPED - Full samples smoke per request and because samples are not in scope.
38
+
39
+
## Manual Validation Notes
40
+
-`/api/toolbox/registry/snapshot` and Toolbox page rendering validated through the Project Workspace Playwright lane using the server API and fake Supabase/Postgres REST endpoints.
41
+
-`/api/toolbox/votes/snapshot` with `GAMEFOUNDRY_DB_PROVIDER=local-db` now returns a visible failure requiring Supabase Postgres instead of serving Local DB product data.
42
+
- Toolbox vote writes in targeted tests use server-owned keys and POST to Supabase-style `toolbox_votes`.
43
+
- Toolbox repository creation/persistence in targeted tests writes through Supabase-style product tables.
44
+
45
+
## Test Data Cleanup
46
+
- PASS - No persistent Supabase validation data was created.
47
+
- INFO - The Project Workspace Playwright lane used an in-memory fake Supabase/Postgres service and closed it after the run.
48
+
- INFO - Targeted product-data tests used in-memory fake Supabase/Postgres services and closed them after each test.
0 commit comments