|
| 1 | +diff --git a/docs_build/dev/reports/PR_26177_BRAVO_EOD-closeout.md b/docs_build/dev/reports/PR_26177_BRAVO_EOD-closeout.md |
| 2 | +index 87ef7975a..004761a72 100644 |
| 3 | +--- a/docs_build/dev/reports/PR_26177_BRAVO_EOD-closeout.md |
| 4 | ++++ b/docs_build/dev/reports/PR_26177_BRAVO_EOD-closeout.md |
| 5 | +@@ -5,8 +5,8 @@ Branch Validation |
| 6 | + ========================================= |
| 7 | + FAIL |
| 8 | + - PASS: Started on Bravo branch `bravo/26177-text-to-speech`. |
| 9 | +-- FAIL: Ended on main. EOD hard-stopped on `bravo/26177-text-to-speech` because impacted Playwright validation failed before push or merge. |
| 10 | +-- PASS: Working tree clean after PR_013 report/fix commit is expected; verify with final `git status --short --branch`. |
| 11 | ++- FAIL: Ended on main. EOD hard-stopped on `bravo/26177-text-to-speech` because Playwright Chromium installation failed before impacted browser validation could run. |
| 12 | ++- PASS: Working tree clean after PR_014 report commit is expected; verify with final `git status --short --branch`. |
| 13 | + - FAIL: Local/origin synchronized. Bravo remains ahead of `origin/main` and was not pushed because EOD validation failed. |
| 14 | + |
| 15 | + ========================================= |
| 16 | +@@ -23,9 +23,10 @@ Bravo branch dependency order reviewed: |
| 17 | + 8. `87db3eb65` Delete empty TTS profile parents |
| 18 | + 9. `9b8af1f2c` Force delete broken TTS profiles |
| 19 | + 10. `36a574959` Add emotion editor preview playback |
| 20 | +-11. PR_26177_BRAVO_013 Fix Local DB snapshot EOD gate |
| 21 | ++11. `e37112bf5` Fix Local DB snapshot EOD gate |
| 22 | ++12. PR_26177_BRAVO_014 Playwright Chromium validation report |
| 23 | + |
| 24 | +-No merge into main was attempted. No merge conflicts were encountered because the hard stop occurred during Playwright validation before main integration. |
| 25 | ++No merge into main was attempted. No merge conflicts were encountered because the hard stop occurred before browser validation and before main integration. |
| 26 | + |
| 27 | + ========================================= |
| 28 | + Validation |
| 29 | +@@ -35,9 +36,14 @@ FAIL |
| 30 | + - Command: `node --test tests/tools/Text2SpeechShell.test.mjs tests/tools/MessagesPlaybackSource.test.mjs tests/dev-runtime/MessagesPublishValidation.test.mjs tests/dev-runtime/DbSeedIntegrity.test.mjs` |
| 31 | + - Result: 23 passing, 0 failing. |
| 32 | + - FAIL: Playwright. |
| 33 | +- - Command: `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs tests/playwright/tools/MessagesTool.spec.mjs --project=playwright` |
| 34 | +- - Result: 9 failed before page code ran. |
| 35 | +- - Failure: Chromium executable is missing at `C:\Users\davidq\AppData\Local\ms-playwright\chromium-1217\chrome-win64\chrome.exe`. |
| 36 | ++ - Chromium installed: NO. |
| 37 | ++ - Install commands attempted: |
| 38 | ++ - `npx playwright install chromium` |
| 39 | ++ - `npx playwright install chromium` |
| 40 | ++ - `npx playwright install chromium --force` |
| 41 | ++ - Result: install attempts timed out and left no `chrome.exe` at `C:\Users\davidq\AppData\Local\ms-playwright\chromium-1217\chrome-win64\chrome.exe`. |
| 42 | ++ - The partial `chromium-1217` browser cache was removed after the failed install attempts. |
| 43 | ++ - Browser specs were not rerun after install failure. |
| 44 | + - PASS: Local API. `/api/local-db/snapshot`, `/api/local-db/seed`, and `/api/dev/testing/mock-db-state` passed through `DbSeedIntegrity.test.mjs`. |
| 45 | + - PASS: Text to Speech. Focused TTS unit assertions passed. |
| 46 | + - PASS: Emotion Profiles. Focused Messages publish/profile assertions passed. |
| 47 | +@@ -48,17 +54,18 @@ FAIL |
| 48 | + Repository Status |
| 49 | + ========================================= |
| 50 | + Current branch: `bravo/26177-text-to-speech` |
| 51 | +-Working tree: expected clean after PR_013 commit |
| 52 | +-Local commits ahead: expected 11 after PR_013 commit |
| 53 | ++Working tree: expected clean after PR_014 report commit |
| 54 | ++Local commits ahead: expected 12 after PR_014 report commit |
| 55 | + Remote commits ahead: 0 relative to `origin/main` |
| 56 | + Latest main commit: `8cdd87bf2 Merge pull request #208 from ToolboxAid/PR_26177_DELTA_056-shared-validation-assertions` |
| 57 | + |
| 58 | + ========================================= |
| 59 | + Outstanding Bravo Work |
| 60 | + ========================================= |
| 61 | +-- Install or restore the expected Playwright Chromium browser at `C:\Users\davidq\AppData\Local\ms-playwright\chromium-1217\chrome-win64\chrome.exe`. |
| 62 | ++- Complete Playwright Chromium installation from a clean browser cache so `C:\Users\davidq\AppData\Local\ms-playwright\chromium-1217\chrome-win64\chrome.exe` exists. |
| 63 | + - Rerun impacted Playwright coverage: |
| 64 | +- - `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs tests/playwright/tools/MessagesTool.spec.mjs --project=playwright` |
| 65 | ++ - `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs --project=playwright` |
| 66 | ++ - `npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --project=playwright` |
| 67 | + - Push the Bravo branch only after all EOD validation passes. |
| 68 | + - Merge Bravo into main only after all EOD validation passes. |
| 69 | + - Push main and verify local/origin synchronization. |
| 70 | +@@ -67,7 +74,9 @@ Outstanding Bravo Work |
| 71 | + ========================================= |
| 72 | + Manual Validation |
| 73 | + ========================================= |
| 74 | +-- Verified EOD retry stayed on `bravo/26177-text-to-speech`. |
| 75 | +-- Verified the exact unit/API validation command now passes 23/23. |
| 76 | +-- Verified impacted Playwright is blocked by missing Chromium before page code runs. |
| 77 | +-- Stopped before push, main merge, main push, and branch deletion because Playwright validation failed. |
| 78 | ++- Verified PR_014 stayed on `bravo/26177-text-to-speech`. |
| 79 | ++- Verified Chromium was missing at the expected Playwright cache path. |
| 80 | ++- Attempted Playwright Chromium installation three times, including one clean-cache `--force` attempt. |
| 81 | ++- Verified `chrome.exe` remained missing after install attempts. |
| 82 | ++- Removed the partial `chromium-1217` cache left by the failed installation attempts. |
| 83 | ++- Stopped before browser tests, push, main merge, main push, and branch deletion because Chromium installation failed. |
1 | 84 | diff --git a/docs_build/dev/reports/codex_changed_files.txt b/docs_build/dev/reports/codex_changed_files.txt |
2 | | -index 9bb1d6b6e..c0935b1f9 100644 |
| 85 | +index c0935b1f9..b051a237f 100644 |
3 | 86 | --- a/docs_build/dev/reports/codex_changed_files.txt |
4 | 87 | +++ b/docs_build/dev/reports/codex_changed_files.txt |
5 | | -@@ -1,6 +1,9 @@ |
6 | | --assets/toolbox/text-to-speech/js/index.js |
7 | | -+docs_build/database/seed/guest/idea-board.json |
8 | | -+docs_build/database/seed/guest/messages.json |
9 | | -+docs_build/database/seed/guest/text-to-speech.json |
10 | | -+docs_build/database/seed/guest/users.json |
| 88 | +@@ -1,9 +1,4 @@ |
| 89 | +-docs_build/database/seed/guest/idea-board.json |
| 90 | +-docs_build/database/seed/guest/messages.json |
| 91 | +-docs_build/database/seed/guest/text-to-speech.json |
| 92 | +-docs_build/database/seed/guest/users.json |
11 | 93 | docs_build/dev/reports/codex_changed_files.txt |
12 | 94 | docs_build/dev/reports/codex_review.diff |
13 | | --docs_build/dev/reports/PR_26177_BRAVO_012-add-emotion-editor-preview.md |
14 | | --tests/playwright/tools/TextToSpeechFunctional.spec.mjs |
15 | | --tests/tools/Text2SpeechShell.test.mjs |
16 | | -+docs_build/dev/reports/PR_26177_BRAVO_013-fix-local-db-snapshot-eod-gate.md |
17 | | -+docs_build/dev/reports/PR_26177_BRAVO_EOD-closeout.md |
18 | | -+src/dev-runtime/server/local-api-router.mjs |
19 | | -diff --git a/src/dev-runtime/server/local-api-router.mjs b/src/dev-runtime/server/local-api-router.mjs |
20 | | -index 91f78c104..206cfec57 100644 |
21 | | ---- a/src/dev-runtime/server/local-api-router.mjs |
22 | | -+++ b/src/dev-runtime/server/local-api-router.mjs |
23 | | -@@ -3529,7 +3529,15 @@ class ApiRuntimeDataSource { |
24 | | - } |
25 | | - |
26 | | - async currentStateSnapshot() { |
27 | | -- return this.snapshot(); |
28 | | -+ return this.snapshot({ includePostgresCompletionMetrics: false }); |
29 | | -+ } |
30 | | -+ |
31 | | -+ async resetStateSnapshot() { |
32 | | -+ this.applyStateSnapshot({ |
33 | | -+ cleared: false, |
34 | | -+ tables: createServerSeedTables(), |
35 | | -+ }); |
36 | | -+ return this.currentStateSnapshot(); |
37 | | - } |
38 | | - |
39 | | - applyStateSnapshot(state = {}) { |
40 | | -@@ -5416,6 +5424,10 @@ SELECT pg_database_size(current_database()) AS database_size_bytes, |
41 | | - } |
42 | | - |
43 | | - setMode(modeId) { |
44 | | -+ const normalizedModeId = String(modeId || "").trim(); |
45 | | -+ if (normalizedModeId && normalizedModeId !== "local-db" && normalizedModeId !== FIXED_ACCOUNT_SESSION_MODE.id) { |
46 | | -+ throw new Error(`Unknown local login environment: ${normalizedModeId}.`); |
47 | | -+ } |
48 | | - return { |
49 | | - ...clone(FIXED_ACCOUNT_SESSION_MODE), |
50 | | - diagnostic: "Session mode switching is disabled; account sessions use the fixed server-owned auth session.", |
51 | | -@@ -6704,7 +6716,7 @@ SELECT pg_database_size(current_database()) AS database_size_bytes, |
52 | | - return result; |
53 | | - } |
54 | | - |
55 | | -- async snapshot() { |
56 | | -+ async snapshot({ includePostgresCompletionMetrics = true } = {}) { |
57 | | - const schemas = getMockDbTableSchemas(); |
58 | | - const toolGroups = getMockDbToolGroups(); |
59 | | - const owners = { |
60 | | -@@ -6754,7 +6766,7 @@ SELECT pg_database_size(current_database()) AS database_size_bytes, |
61 | | - ...gameConfigurationTables(this.gameConfigurationRepository), |
62 | | - ...objectsTables(this.objectsRepository), |
63 | | - ...controlsTables(this.inputMappingRepository), |
64 | | -- ...(await gameJourneyTables(this.gameJourneyRepository)), |
65 | | -+ ...(includePostgresCompletionMetrics ? await gameJourneyTables(this.gameJourneyRepository) : {}), |
66 | | - ...paletteTables(this.paletteRepository), |
67 | | - ...tagsTables(this.tagsRepository), |
68 | | - ...assetTables(this.assetRepository), |
69 | | -@@ -6943,6 +6955,24 @@ export function createLocalApiRouter({ |
70 | | - return true; |
71 | | - } |
72 | | - |
73 | | -+ if (parts[1] === "local-db") { |
74 | | -+ if (request.method === "GET" && parts[2] === "snapshot") { |
75 | | -+ ok(response, await dataSource.currentStateSnapshot()); |
76 | | -+ return true; |
77 | | -+ } |
78 | | -+ if (request.method === "POST" && parts[2] === "seed") { |
79 | | -+ ok(response, await dataSource.resetStateSnapshot()); |
80 | | -+ return true; |
81 | | -+ } |
82 | | -+ } |
83 | | -+ |
84 | | -+ if (parts[1] === "dev" && parts[2] === "testing" && request.method === "POST" && parts[3] === "mock-db-state") { |
85 | | -+ const body = await readRequestJson(request); |
86 | | -+ dataSource.applyStateSnapshot(body.state); |
87 | | -+ ok(response, await dataSource.currentStateSnapshot()); |
88 | | -+ return true; |
89 | | -+ } |
90 | | -+ |
91 | | - if (parts[1] === "project-workspace" && request.method === "GET" && parts[2] === "projects") { |
92 | | - ok(response, dataSource.projectWorkspaceProjectsForRoute()); |
93 | | - return true; |
| 95 | +-docs_build/dev/reports/PR_26177_BRAVO_013-fix-local-db-snapshot-eod-gate.md |
| 96 | ++docs_build/dev/reports/PR_26177_BRAVO_014-playwright-chromium-validation.md |
| 97 | + docs_build/dev/reports/PR_26177_BRAVO_EOD-closeout.md |
| 98 | +-src/dev-runtime/server/local-api-router.mjs |
0 commit comments