diff --git a/docs/agents/backlog/playback-qa-2.json b/docs/agents/backlog/playback-qa-2.json index 39bd0365..e202b996 100644 --- a/docs/agents/backlog/playback-qa-2.json +++ b/docs/agents/backlog/playback-qa-2.json @@ -3,8 +3,8 @@ "area": "playback-qa", "status": "blocked", "title": "Capture actual-app local core-flow/mobile baseline before UI changes", - "blockedOn": "Dispatch grant/routing for narrow actual relay/filter/EOSE/ingest/render boundary measurement; app startup+crypto/media passed but unchanged 3-card wait still0.", + "blockedOn": "Measured actual pipeline delivers3 video events+EOSE and ingest/appmaps3 but DOMcards0; dispatch routing for read-only filtering/visibility/render boundary, no defect attribution yet.", "addedOn": "2026-10-20", "filedAt": "1bb3a4fc452969f060c09a286b72b8cd7ac4123e", - "notes": "Latestsource-correctedactualrun15:55:01.326→15:55:18.667:realcanonicalcrypto,HEAD/GET/Range200/200/206,getApplicationReady completion andofficiallocalrelayAPI allPASS;3cards15s still0. No login/UI/other2viewports;noappdefectclaim. Browser/privateapp+relayCLOSED/RELEASE,depsremoved. Savedhealthlocal31848/unreachable[]/backoff{},noactuallocalWSframe/EOSEtrace;nextrootroute15:55:53 is measurementONLY,notnewfix. Cheapactualschemaprobe missing s invalid/addcanonical s valid,but actualconvertEventToVideo acceptsBOTH;gapnotproven0cardcause. ProposedpassiveWSREQ/EVENT/EOSE+warns/cache/DOMcounts,unchangedinputs/3cardguard/runtime/media/Buffer;awaitspecificdiagnosticgrant. Originaldrivererror/specfixesfullyrecorded;no product/test/full/build/newmirrors." + "notes": "Passive diagnostic16:00:32.126→16:00:50.999 onUNCHANGEDoriginal3seeds:localWSvideoREQ kinds30078/#tvideo/limit200,3EVENTids+EOSE;rawEvents/allEvents/activeMap/appVideoMapall3,initializedtrue,pool1,sharedclient. DOMtestidcards0/data-video-id0,Trendingempty. Firstmissingboundaryafteringest/appmap→DOM;no render/filterdecisioncausalityyet. s-tag schemafailure REAL but notpreventingingest/converter;notblindlycorrected. Startup+realcrypto/genuinemedia200/200/206/822pins/denyguardPASS;10otherHTTPblocked,0local404/pageerror. NoUI/remainingviewports. Ownedbrowser/serverclosed+RELEASE,depsremoved;awaitnarrowrouting,no product/test/full/build/newmirrors/assertionchange. Evidence docs/testing/playback-qa-2-pipeline-evidence.md+actualscreenshot;actualUIbaselinestillrequired." } diff --git a/docs/testing/playback-qa-2-pipeline-diagnostic.png b/docs/testing/playback-qa-2-pipeline-diagnostic.png new file mode 100644 index 00000000..ec6eb0d5 Binary files /dev/null and b/docs/testing/playback-qa-2-pipeline-diagnostic.png differ diff --git a/docs/testing/playback-qa-2-pipeline-evidence.md b/docs/testing/playback-qa-2-pipeline-evidence.md new file mode 100644 index 00000000..e4ed917e --- /dev/null +++ b/docs/testing/playback-qa-2-pipeline-evidence.md @@ -0,0 +1,154 @@ +# QA2 measured pipeline boundary: ingested3, rendered0 + +Diagnostic authorized by dispatch15:58:27 and interpreter15:59:09;START16:00:28 before browser/server launch. +Actual run16:00:32.126→16:00:50.999Z(18.873s),Chromium154.0.8037.97,360×800. +Unchanged original3 seeded notes(no s tag),genuine media overlay,real Buffer mirror,immutable822 built app; +no refresh/card injection/cache edit/crypto stub/product change or assertion relaxation. + +**First evidenced gap is after ingestion/app map and before DOM cards.** Actual local WS connected and sent a +video REQ kinds30078/#tvideo/limit200. Received3 distinct EVENT ids and EOSE for that subscription. +Client rawEvents/allEvents/activeMap all3;app.videosMap3;initialized true,pool one relay,app service shares same client. +Actual DOM has0 data-testid=video-card and0 data-video-id. Styled Trending view displays no public videos. +No navigation/login/modal/390/1280/UI assertions executed;baseline remains incomplete. This is not yet a product-defect +attribution:filtering/visibility/render decisions have not been measured. Configured relay health alone is no longer +the only evidence;the actual wire delivery and ingest counts were observed passively. + +Missing s tag causes actual schema validation failure but did NOT prevent delivery/ingestion of these3 notes; +actual converter accepted them. Do not fix that gap blindly and claim it explains this render boundary. +It remains a known difference from the canonical existing fixture to disclose in any later baseline. +Earlier mode-filter speculation is unsupported and withdrawn. Startup-ready correction also did not move0/3. + +Genuine HTTP fixture checks passed HEAD200/GET2001019bytes/Range206;real canonical toolkit/signature/tamper proofs passed. +Buffer fulfilled locally once;all other non-local HTTP attempts blocked10,non-localWS0,local404=0,pageerrors0. +Only browser warning:service worker blocked intentionally by the harness context. Guards do not fake media events/health. +All owned browser/app/relay servers closed16:00:50.999Z;explicit RELEASE16:01:25Z. Preview3000 untouched. +No further browser or fix was started from this result. Next routing must measure actual filtering/render boundary, +not reduce the3-card requirement,change toolkit/crypto logic,or turn this into a boot-only success. + +[Actual empty styled Trending screenshot](playback-qa-2-pipeline-diagnostic.png) + +Reproduction uses own scratch diagnostic.mjs(versionSHA2563b758e6695eecb438f53344512fed186f4d1c459ca70ba49722a0177afcf39f5), +node execution against the documented frozen artifact/genuine media/real existing mock relay with external deny guard. +It attaches only passive page WebSocket/frame and console listeners,then reads cache/DOM counts after the unchanged +3-card15s wait. Full filters for unrelated built-in admin-list subscriptions are omitted below;they contain no video +seed response and do not alter the identified video path. Exact raw trace remains in own scratch pipeline-result.json. + +```json +{ + "started": "2026-10-20T16:00:32.126Z", + "ended": "2026-10-20T16:00:50.999Z", + "browser": "154.0.8037.97", + "localWsRouteHits": [ + "ws://127.0.0.1:31848/" + ], + "frameCounts": { + "sent:REQ": 15, + "received:EOSE": 15, + "sent:CLOSE": 12, + "received:EVENT": 3 + }, + "videoSubscriptionTraffic": [ + { + "at": "2026-10-20T16:00:35.756Z", + "direction": "sent", + "url": "ws://127.0.0.1:31848/", + "type": "REQ", + "subId": "sub:13", + "filters": [ + { + "#t": [ + "video" + ], + "kinds": [ + 30078 + ], + "limit": 200 + } + ] + }, + { + "at": "2026-10-20T16:00:35.764Z", + "direction": "received", + "url": "ws://127.0.0.1:31848/", + "type": "EVENT", + "subId": "sub:13", + "eventId": "e5464da7e3278076a0d3030ee3b9f233495d98b3159ec4e801b7651076b41c21", + "kind": 30078 + }, + { + "at": "2026-10-20T16:00:35.765Z", + "direction": "received", + "url": "ws://127.0.0.1:31848/", + "type": "EVENT", + "subId": "sub:13", + "eventId": "696fe1a6e5cfe784dc4a883f6c32cc9c3a15f9770a9403e0600d57cfe69d705a", + "kind": 30078 + }, + { + "at": "2026-10-20T16:00:35.765Z", + "direction": "received", + "url": "ws://127.0.0.1:31848/", + "type": "EVENT", + "subId": "sub:13", + "eventId": "e48da2722113d312388399e7af346bcf1e8fd0edad2b7e8446e0e379e645d28b", + "kind": 30078 + }, + { + "at": "2026-10-20T16:00:35.765Z", + "direction": "received", + "url": "ws://127.0.0.1:31848/", + "type": "EOSE", + "subId": "sub:13" + } + ], + "failureDiagnostics": { + "appPresent": true, + "relayHealth": { + "relays": [ + "ws://127.0.0.1:31848" + ], + "unreachable": [], + "backoff": {} + }, + "feedItems": [], + "rawEvents": 3, + "allEvents": 3, + "activeMap": 3, + "appVideoMap": 3, + "clientInitialized": true, + "poolExists": true, + "poolRelayCount": 1, + "subscriptionManagerKeys": [ + "subscribe", + "list", + "handleReconnect", + "closeAll", + "getActiveKeys" + ], + "appServiceClientMatches": true, + "domCardTestids": 0, + "domVideoIds": 0, + "body": "Switch to dark theme\nTrending\n\nNo public videos available yet. Be the first to upload one!\n\nseed. zap. subscribe.\nv: 1834b6a9 \u2022 2026-10-20" + }, + "consoleWarnings": [ + "Service Worker registration blocked by Playwright" + ], + "fixtureHttp": { + "head": 200, + "get": 200, + "range": 206, + "bytes": 1019, + "contentType": "video/webm" + }, + "bufferMirrorHits": 1, + "otherNonlocalHttpBlocked": 10, + "nonlocalWsBlocked": 0, + "local404": 0, + "pageErrors": [], + "resourcesClosed": true +} +``` + +Runtime snapshot manifest remains662fa755e3cde021058f5bf9a5bd2825698bad064ab80472a5ba70e651d764b1; +build1834b6a9/index5095c3f1326b035ef93267ad77663ea641edb1acaae6d18e88085eff08c5d6d3. +No full suite/build/native Firefox/production/live-peer/cloud/signer qualification is implied.