{ "verifiedAtUtc": "2026-10-28T01:03:37.687661+00:00", "status": "executed; final independent evidence review pending", "manifest": "docs/testing/ui/implementation-manifest.json", "manifestSha256": "fbf9b3b43ae80758aadcc6e2805bd92fceb7b6a33b9b7f78a17ffa23eb7b1526", "gitBase": "435be05abac5310172cfb9a9290c9d7ea0d1cbde", "sourceFiles": 234, "testLanes": [ { "command": "npm test -- --maxWorkers=2 --testTimeout=60000 --hookTimeout=60000", "files": 53, "passed": 542, "failed": 0, "skipped": 0, "evidence": "docs/evidence/ui-gaps/unit-final.log", "boundary": "Unit/process tests, local fixtures; no hosted claim." }, { "command": "WORDPAIRS_BROWSER_PATH=/usr/bin/chromium npm exec playwright -- test --config playwright.phase6.config.ts --output docs/evidence/ui-gaps/browser-artifacts", "passed": 59, "failed": 0, "skipped": 0, "evidence": "docs/evidence/ui-gaps/browser-verified.log", "boundary": "Actual React/browser + isolated HTTP/time/persistence ports around actual application/domain services. Final seat test subsequently strengthened; all5seat tests pass with tagged stale response." }, { "command": "WORDPAIRS_BROWSER_PATH=/usr/bin/chromium npm exec playwright -- test --config playwright.phase6.config.ts tests/browser/seat-recovery.phase6.spec.ts --output docs/evidence/ui-gaps/seat-artifacts", "passed": 5, "failed": 0, "skipped": 0, "evidence": "docs/evidence/ui-gaps/browser-seats-tagged.log", "boundary": "Final tagged-response regression, real RoomService for ordinary cases; pre-join ordering case seeds accepted domain membership at HTTP fixture boundary, not a transaction/concurrency proof." }, { "command": "pwsh -NoProfile -File tests/integration/run-phase1.ps1 -Multiplayer -Administration", "files": 10, "passed": 68, "failed": 0, "skipped": 0, "evidence": "docs/evidence/ui-gaps/postgres.log", "boundary": "Real disposable PostgreSQL, migrations/locking/canonical retry/audit and2..25service games. Nomination count/race queue setup disclosed fixtures. No liveUI transport claim." } ], "checks": { "lint": "passed docs/evidence/ui-gaps/lint-final.log", "typecheck": "passed docs/evidence/ui-gaps/typecheck-final.log", "productionBuild": "passed docs/evidence/ui-gaps/build.log" }, "visualEvidence": { "screenshots": 19, "inspection": "Representative game/content/editor viewport captures visually inspected; all5specified responsive configurations measured. Viewport captures are deliberately partial vertical views, not full-page certifications.", "zoom": "320CSS-pixel/deviceScaleFactor4 equivalent of1280at400%; not native browser zoom/phone/screen-reader certification." }, "logs": { "content-red.log": { "path": "docs/evidence/ui-gaps/content-red.log", "sha256": "c58a9df6084238cf938d4e027cfdf0ff94989c88b4c432046facc228c34daedc", "bytes": 2269 }, "lifecycle-red.log": { "path": "docs/evidence/ui-gaps/lifecycle-red.log", "sha256": "7117f3ce483d272b2b8e0efccdf5248cc97fc301b77694e27893f3a8e15ed51e", "bytes": 562 }, "automatic-red.log": { "path": "docs/evidence/ui-gaps/automatic-red.log", "sha256": "b5d8f81b99e340fc96d41261fa4f575a3835155ab125037d54be638e450c6214", "bytes": 646 }, "browser-first.log": { "path": "docs/evidence/ui-gaps/browser-first.log", "sha256": "9027d688791690f7c44e86317458f52b78cbf974b3b587359f1b19dbf65a927f", "bytes": 5439 }, "unit.log": { "path": "docs/evidence/ui-gaps/unit.log", "sha256": "fdf99141e38e7f7934a052f35edcfe69af3b273adff428769b9a82fefd5f5733", "bytes": 517 }, "postgres.log": { "path": "docs/evidence/ui-gaps/postgres.log", "sha256": "409ada5cf5d2670c337438ddf30b1484494b5730bc0284d5a36d84f8f08d3610", "bytes": 2870 }, "browser-gaps.log": { "path": "docs/evidence/ui-gaps/browser-gaps.log", "sha256": "13f176085b329dc9b182fdc177aa7e5ea0ab4165adbad4e29918217f9ebe85bd", "bytes": 9846 }, "browser-regression.log": { "path": "docs/evidence/ui-gaps/browser-regression.log", "sha256": "8b1750a193d7efa6285ee165dda8104f5d66ede38fa31e8de13a59063de0692e", "bytes": 15627 }, "browser-review-fixes.log": { "path": "docs/evidence/ui-gaps/browser-review-fixes.log", "sha256": "2b26a334f8da1f84a78c1ea74c5f76b07fbca8daaf2670d242426ba48e817ddb", "bytes": 7206 }, "browser-seats.log": { "path": "docs/evidence/ui-gaps/browser-seats.log", "sha256": "990b5b6b26e22d84d74a70ff696e83ad2fb5b3412b5ad1f76102703b889c6543", "bytes": 1854 }, "browser-final.log": { "path": "docs/evidence/ui-gaps/browser-final.log", "sha256": "02856c837d404cf29b5f9a0ea1f3dc6884a640bba9d9c629867385bbed21eb9b", "bytes": 15614 }, "browser-seats-final.log": { "path": "docs/evidence/ui-gaps/browser-seats-final.log", "sha256": "d2069cea30d169a745149c20c4d4fb7f24fdbb2158170aeb9829ed2c7bd10a20", "bytes": 2179 }, "lint.log": { "path": "docs/evidence/ui-gaps/lint.log", "sha256": "c52f7f3e2df82bd992b48fce236e7a81daf530018ae7dc69d5c8f349341909b1", "bytes": 106 }, "typecheck.log": { "path": "docs/evidence/ui-gaps/typecheck.log", "sha256": "25530dd6930a86bcf319b5d35d9e57aca1ae197fb06247c859133751928e13d8", "bytes": 45 }, "browser-obsolete-races.log": { "path": "docs/evidence/ui-gaps/browser-obsolete-races.log", "sha256": "502894575ccbb6a552ef788be433580ad7ba5d8cdd08c18c6d5ff0b15c6e3e7b", "bytes": 5536 }, "browser-obsolete-races-fixed.log": { "path": "docs/evidence/ui-gaps/browser-obsolete-races-fixed.log", "sha256": "87bd5d0fc87380cc150115a933f7ba2118caba765f42a8f9b0d5d9ff901ceb98", "bytes": 5918 }, "browser-verified.log": { "path": "docs/evidence/ui-gaps/browser-verified.log", "sha256": "42eb709860b0c7bf18b5c03c182e61037673fb2082edbf5fb6b0198f66f8acfc", "bytes": 17658 }, "unit-final.log": { "path": "docs/evidence/ui-gaps/unit-final.log", "sha256": "ddb622c83564e8bf4c33d29f29506cabdf2a73039138579af68766c850bb127c", "bytes": 517 }, "lint-final.log": { "path": "docs/evidence/ui-gaps/lint-final.log", "sha256": "1021666cdf12d6e693cbc9512a4c7416ee32218b98529a8a3bc485e98ccfec94", "bytes": 106 }, "typecheck-final.log": { "path": "docs/evidence/ui-gaps/typecheck-final.log", "sha256": "25530dd6930a86bcf319b5d35d9e57aca1ae197fb06247c859133751928e13d8", "bytes": 45 }, "browser-seats-tagged.log": { "path": "docs/evidence/ui-gaps/browser-seats-tagged.log", "sha256": "6d6b10e0870f99ff6b39def15aac6c24daa4539a30632c43b7c14c2d32ef1b6d", "bytes": 2369 }, "build.log": { "path": "docs/evidence/ui-gaps/build.log", "sha256": "7c56eaccbc87960e8d322af74ebaeefff5f74193375d2773d6e21aed64926422", "bytes": 1232 } }, "openDependencies": [ "TEST-ROOMSYNC-139/TR-ROOM-SYNCRECOVERY-038#LIVE-07 full real private-push2..25UI execution", "real OpenAI OIDC registration/entitlement", "physical-phone install at HTTPS origin", "contest authenticated mission, independently unavailable conduct text, Work provenance, final public URL/release package and manual submission" ], "humanDeviceTestClaimed": false, "deploymentPerformed": false, "applicationCommitPushPerformed": false }