|
| 1 | +# PR_26171_GAMMA_025-final-sqlite-runtime-inventory |
| 2 | + |
| 3 | +TEAM ownership: GAMMA. |
| 4 | + |
| 5 | +## Dependency Closeout |
| 6 | + |
| 7 | +- PR #46 / `PR_26171_GAMMA_024-local-api-sqlite-reference-cleanup` was marked ready for review. |
| 8 | +- PR #46 merge result: `6e03515e75a673e912b1bc44e7e08073a7cfe731`. |
| 9 | +- Final `main` commit after PR #46 pull: `6e03515e75a673e912b1bc44e7e08073a7cfe731`. |
| 10 | +- PR #46 head `a6cd320756e07d1b050034044654572661d1cd94` is an ancestor of `main`. |
| 11 | + |
| 12 | +## Inventory Scope |
| 13 | + |
| 14 | +Inventory was run from fresh `main` after PR #46 merged, before this PR's inventory report files were created. |
| 15 | + |
| 16 | +Search command: |
| 17 | + |
| 18 | +```text |
| 19 | +rg -n -i "sqlite|node:sqlite|DatabaseSync|\.sqlite" --glob '!node_modules/**' --glob '!tmp/**' --glob '!.git/**' . |
| 20 | +``` |
| 21 | + |
| 22 | +Verification commands: |
| 23 | + |
| 24 | +```text |
| 25 | +rg -n -i "node:sqlite|DatabaseSync|better-sqlite|sqlite3|createMessagesSqliteService|messages-sqlite-service|messages\.sqlite|GAMEFOUNDRY_MESSAGES_SQLITE_PATH" src |
| 26 | +rg -n -i "sqlite|node:sqlite|DatabaseSync|\.sqlite" src/dev-runtime/server/local-api-router.mjs |
| 27 | +``` |
| 28 | + |
| 29 | +## Inventory Summary |
| 30 | + |
| 31 | +Remaining file count: 131. |
| 32 | + |
| 33 | +Remaining line count: 356. |
| 34 | + |
| 35 | +| Classification | Files | Lines | Result | |
| 36 | +| --- | ---: | ---: | --- | |
| 37 | +| Active Runtime | 0 | 0 | No active SQLite runtime implementation remains. | |
| 38 | +| Local API | 0 | 0 | No SQLite references remain in `src/dev-runtime/server/local-api-router.mjs`. | |
| 39 | +| Tests | 6 | 11 | Test cleanup candidates remain. | |
| 40 | +| Docs | 1 | 7 | Current governance wording remains intentionally. | |
| 41 | +| Archive/Reference | 121 | 320 | Historical report and PR docs only. | |
| 42 | +| Allowed Technical Debt | 3 | 18 | Non-implementation references retained for guards and validation rules. | |
| 43 | + |
| 44 | +## Completion Declaration |
| 45 | + |
| 46 | +SQLite runtime migration complete. |
| 47 | + |
| 48 | +Active Runtime count is 0 and Local API count is 0. |
| 49 | + |
| 50 | +## Active Runtime SQLite References |
| 51 | + |
| 52 | +None. |
| 53 | + |
| 54 | +Strict source verification found no active implementation markers in `src`: |
| 55 | + |
| 56 | +- `node:sqlite` |
| 57 | +- `DatabaseSync` |
| 58 | +- `better-sqlite` |
| 59 | +- `sqlite3` |
| 60 | +- `createMessagesSqliteService` |
| 61 | +- `messages-sqlite-service` |
| 62 | +- `messages.sqlite` |
| 63 | +- `GAMEFOUNDRY_MESSAGES_SQLITE_PATH` |
| 64 | + |
| 65 | +Remaining `src` references are classified as allowed technical debt because they do not import, open, write, read, or fall back to SQLite. |
| 66 | + |
| 67 | +## Active Local API SQLite References |
| 68 | + |
| 69 | +None. |
| 70 | + |
| 71 | +`src/dev-runtime/server/local-api-router.mjs` has zero SQLite matches after PR #46. |
| 72 | + |
| 73 | +## Remaining Tests Requiring Cleanup |
| 74 | + |
| 75 | +- `tests/dev-runtime/DbSeedIntegrity.test.mjs` |
| 76 | + - Lines 148, 193 use temporary `.sqlite` file names for Local DB seed/reseed validation. |
| 77 | +- `tests/playwright/tools/LoginSessionMode.spec.mjs` |
| 78 | + - Line 56 uses a temporary `.sqlite` file name for Local DB login/session validation. |
| 79 | +- `tests/playwright/tools/BrowserApiUrlConfig.spec.mjs` |
| 80 | + - Line 24 uses a temporary `.sqlite` file name for browser API URL config validation. |
| 81 | +- `tests/playwright/tools/AdminDbViewer.spec.mjs` |
| 82 | + - Line 80 uses a temporary `.sqlite` file name for Admin DB Viewer Local DB validation. |
| 83 | +- `tests/playwright/tools/GameJourneyTool.spec.mjs` |
| 84 | + - Line 245 uses a temporary `.sqlite` file name for a Game Journey test helper. |
| 85 | + - Lines 1458, 1459, 1469 verify the legacy SQLite data guard and should remain until the migration guard is retired. |
| 86 | +- `tests/playwright/tools/AdminHealthOperationsPage.spec.mjs` |
| 87 | + - Lines 214 and 221 are negative assertions that Admin health page/runtime source does not expose `SQLite`; these do not require cleanup unless the assertion wording changes. |
| 88 | + |
| 89 | +## Remaining Docs Requiring Cleanup |
| 90 | + |
| 91 | +No current active docs require cleanup for this PR. |
| 92 | + |
| 93 | +`docs_build/dev/PROJECT_INSTRUCTIONS.md` has 7 intentional SQLite governance lines documenting deprecation and preventing new SQLite persistence. |
| 94 | + |
| 95 | +## Archive References |
| 96 | + |
| 97 | +Archive/reference inventory contains 121 files and 320 lines. |
| 98 | + |
| 99 | +These matches are historical records under: |
| 100 | + |
| 101 | +- `docs_build/dev/reports/` |
| 102 | +- `docs_build/pr/` |
| 103 | + |
| 104 | +No matches were found under the `archive/` directory. |
| 105 | + |
| 106 | +Historical references include prior PR reports, validation logs, and old BUILD/PLAN/APPLY docs that mention prior SQLite work. They are retained for traceability and are not active runtime ownership. |
| 107 | + |
| 108 | +## Allowed Technical Debt |
| 109 | + |
| 110 | +- `src/dev-runtime/persistence/game-journey-completion-metrics-store.mjs` |
| 111 | + - Lines 63, 68, 71, 81, 84, 88, 172, 248, 316. |
| 112 | + - Purpose: legacy SQLite data-preservation guard. The Postgres metrics store fails visibly if an unmigrated legacy SQLite file exists. It does not import or open SQLite and does not fall back to SQLite. |
| 113 | +- `src/dev-runtime/persistence/mock-db-store.js` |
| 114 | + - Line 26. |
| 115 | + - Purpose: legacy Local DB mode description string. It is not an implementation marker. |
| 116 | +- `scripts/validate-browser-env-agnostic.mjs` |
| 117 | + - Lines 37, 38, 289, 298, 303, 309, 320, 389. |
| 118 | + - Purpose: validation rules that reject SQLite/provider/environment implementation details from browser/runtime surfaces. |
| 119 | + |
| 120 | +## Skipped Lanes |
| 121 | + |
| 122 | +- Playwright: skipped by request. This is an inventory/report-only PR. |
| 123 | +- Samples: skipped by request. No sample files or runtime behavior changed. |
| 124 | +- Runtime tests: skipped because this PR does not modify runtime code. |
0 commit comments