-
5efc2a89e3
docs(intel): ingest designer-team handoff v1 + record 9 brand decisions
Mark
2026-05-17 21:00:54 +02:00
-
66e6c4af74
docs(01-11): create Puppeteer UAT harness plan (14 assertions, 9 tasks)
Mark
2026-05-17 18:15:44 +02:00
-
969afbac89
docs(01-11): research Puppeteer UAT harness — empirical probes verify 10/10 unknowns
Mark
2026-05-17 17:42:40 +02:00
-
9d0313acd2
docs(01-09): amend Task 5 step 11 + success criteria #3 post-Bug B
Mark
2026-05-17 16:56:07 +02:00
-
b9eeeeb386
feat(01-09): GREEN — Bug B route user-stopped-sharing → IDLE; other codes → ERROR (preserved)
Mark
2026-05-17 16:49:39 +02:00
-
91b4475ea1
test(01-09): RED — Bug B route user-stopped-sharing → IDLE; other codes → ERROR
Mark
2026-05-17 16:35:27 +02:00
-
6dca46529b
chore(01-09): resume from pause — sync STATE.md, remove HANDOFF.json
Mark
2026-05-17 16:30:54 +02:00
-
f768498b87
docs(intel): unlock creative decisions across brand + design + assets specs
Mark
2026-05-17 16:29:57 +02:00
-
a881bf0f6a
fix(01-09): Bug A — icon placeholders unblock notification API per assets-spec.md Path A
Mark
2026-05-17 16:29:57 +02:00
-
ed82fd6051
wip: phase-01 paused mid-Plan-01-09; Bug B fix + icon placeholder commit pending
Mark
2026-05-17 16:05:17 +02:00
-
949aa03db5
docs(intel): design system + assets spec for designer-team handoff
Mark
2026-05-17 16:02:56 +02:00
-
c711d7e74e
docs(01-09): SUMMARY — Tasks 1-4 autonomous complete; Task 5 awaiting operator
Mark
2026-05-17 15:49:24 +02:00
-
06dee246c9
feat(01-09): GREEN — toolbar onClicked + badge state machine + onStartup notification + SAVE-only popup
Mark
2026-05-17 15:46:25 +02:00
-
2d7ff7d4e3
test(01-09): RED — toolbar-onClicked + badge state machine + onStartup notification + popup SAVE-only
Mark
2026-05-17 15:27:41 +02:00
-
de162b4293
feat(01-09): GREEN — displaySurface:'monitor' constraint + post-grant validation
Mark
2026-05-17 15:12:13 +02:00
-
333e0dcb18
test(01-09): RED — displaySurface:'monitor' + cursor:'always' constraint contract
Mark
2026-05-17 15:08:35 +02:00
-
e40949d1d2
test(01-08): regenerate last_30sec.webm fixture + split remux input/output fixtures
Mark
2026-05-17 12:44:50 +02:00
-
923aaca3a8
test(smoke): add T+/wall timer overlay to smoke page for D-13 stale-gap measurement
Mark
2026-05-17 12:34:05 +02:00
-
073e7b3584
docs(debug-01-08): update Resolution — B+ polyfill closed Layer 2 gap
Mark
2026-05-17 12:20:42 +02:00
-
761dfc0388
test(debug-01-08): extend Tier-1 gate to Layer 2 (exercises remuxSegments)
Mark
2026-05-17 12:18:04 +02:00
-
dd7bf00d1d
fix(01-08): B+ — vite-plugin-node-polyfills for Buffer (resolves runtime ts-ebml crash)
Mark
2026-05-17 12:17:50 +02:00
-
cc6e81a825
docs(debug-01-08): archive — fix landed, gate completed
Mark
2026-05-17 11:31:25 +02:00
-
74400ae6ac
test(debug-01-08): complete SW-bundle-import gate — mock chrome.* surface
Mark
2026-05-17 11:16:05 +02:00
-
52c76362ae
fix(01-08): resolve ebml via CJS main entry to bypass Vite/Rollup tree-shake bug
Mark
2026-05-17 11:15:50 +02:00
-
c75854cbef
test(debug-01-08): RED Tier-1 SW-bundle-loadability gate + corrected hypothesis
Mark
2026-05-17 09:52:45 +02:00
-
aabbd0c05c
docs(01-08): write SUMMARY — Tasks 1-4 autonomous complete; Task 5 awaiting operator
Mark
2026-05-17 09:29:26 +02:00
-
35db6c2357
feat(01-08): swap mergeVideoSegments -> await remuxSegments at call site
Mark
2026-05-17 09:27:45 +02:00
-
41e94d5daa
feat(01-08): implement remuxSegments — single-EBML WebM remux via ts-ebml + webm-muxer
Mark
2026-05-17 09:26:09 +02:00
-
407e683e9b
test(01-08): RED unit tests for remuxSegments — single-EBML + monotonic + frame-count + size + empty
Mark
2026-05-17 09:23:53 +02:00
-
503531485c
feat(01-08): install ts-ebml + webm-muxer; pin SW-compat via deps test
Mark
2026-05-17 09:22:46 +02:00
-
2e499d7387
docs(01): add Plans 01-08 / 01-09 / 01-10 (amended Phase 1 charter)
Mark
2026-05-17 09:19:22 +02:00
-
bc310d98cf
revert(01): reopen Phase 1 — D-13 multi-EBML-concat is unplayable
Mark
2026-05-16 19:47:47 +02:00
-
f1026954fc
test(01): UAT BLOCKER #2 — D-13 multi-EBML-concat plays only ~9 s; both committed fixture and UAT output exhibit same broken playback. Phase 1 architecture finding.
Mark
2026-05-16 18:57:48 +02:00
-
f0871c0237
docs(option-c): archive empty-archive-port-race + amend CONTEXT.md D-17 port lifecycle
Mark
2026-05-16 15:40:02 +02:00
-
246eadb2ef
test(option-c): continuous 600 s port lifecycle pinning contract
Mark
2026-05-16 14:53:47 +02:00
-
ffd383d2a6
feat(option-c-error-surface): createArchive throws on empty video; saveArchive surfaces to popup
Mark
2026-05-16 14:46:28 +02:00
-
6ffa242cb9
feat(option-c-sw): request-id'd BUFFER routing + retry on port replacement + PONG echo
Mark
2026-05-16 14:43:12 +02:00
-
1fb3e978cb
feat(option-c-offscreen): port health probe + request-id'd BUFFER + H1 try/catch
Mark
2026-05-16 14:37:22 +02:00
-
c6e8101860
feat(option-c-types): extend PortMessage with requestId + PONG
Mark
2026-05-16 14:29:12 +02:00
-
4306d59dfd
test(option-c): RED gate for request-id'd port protocol + health probe + error surface
Mark
2026-05-16 14:27:17 +02:00
-
674c415945
test(debug-empty-archive): RED gate for empty-archive-port-race (H1 + H1.b + H2)
Mark
2026-05-16 14:17:45 +02:00
-
13094d4248
test(01): UAT partial — 2 pass, 1 BLOCKER (silent empty-video archive + port-reconnect race), 1 blocked
Mark
2026-05-16 13:57:24 +02:00
-
0cf964cb93
docs(01): goal-backward verification (10/10 PASS, 2 advisory, human_needed for operator residue)
Mark
2026-05-16 11:12:52 +02:00
-
75b88c6219
chore(session): consume HANDOFF.json + refresh STATE session continuity after resume
Mark
2026-05-16 11:07:42 +02:00
-
92810a0f34
docs(01): add code review fix report (16/18 + 8 sweep, status: all_fixed)
Mark
2026-05-16 11:06:48 +02:00
-
034155bc4e
fix(01-review): sweep #5 surface port-replaced-during-fetch diagnostic on buffer timeout
Mark
2026-05-16 11:00:55 +02:00
-
7c91f526d8
fix(01-review): sweep #2+#3+#4 recorder lifecycle hardening (re-entrance + start throw + dual-track teardown)
Mark
2026-05-16 10:59:17 +02:00
-
08a79a61ac
fix(01-review): sweep #1 stopRecording nulls mediaStream first to prevent rotation race
Mark
2026-05-16 10:52:59 +02:00
-
a6e2d09de8
fix(01-review): IN-05 Message<T = unknown> + sweep any[] in RrwebEventsResponse/UserEvent.meta/popup log
Mark
2026-05-16 10:51:00 +02:00
-
680eee3cc7
fix(01-review): IN-04 delete decodeDryRun helper, retain only spawnSync-based decodeDryRunStrict
Mark
2026-05-16 10:34:03 +02:00
-
cb23143ccf
fix(01-review): IN-03 delete vestigial ring-buffer.test.ts breadcrumb
Mark
2026-05-16 10:32:43 +02:00
-
b0631a4289
fix(01-review): IN-02 migrate Logger and ContentLogger to unknown[] args
Mark
2026-05-16 10:31:49 +02:00
-
6286957f53
fix(01-review): IN-01 read extensionVersion from chrome.runtime.getManifest()
Mark
2026-05-16 10:29:28 +02:00
-
f8a9c10758
fix(01-review): WR-08 downloadArchive use shared blobToBase64 helper
Mark
2026-05-16 10:25:34 +02:00
-
e9aae09f6d
fix(01-review): WR-07 base64ToBlob empty-input shortcut + SW-side empty-segment filter
Mark
2026-05-16 10:24:38 +02:00
-
349ae88a8e
fix(01-review): WR-04+WR-05 smoke.sh require python3 + identity-based zip detection
Mark
2026-05-16 10:19:46 +02:00
-
650c546a6e
fix(01-review): WR-01+WR-02 stable capture error codes + pure assertCodecSupported
Mark
2026-05-16 09:49:01 +02:00
-
7bc2ef8c38
wip: phase-01 paused at review-fix 5/18; 13 findings + 8 sweep targets remain .planning/phases/01-stabilize-video-pipeline/.continue-here.md .planning/HANDOFF.json
Mark
2026-05-16 09:30:16 +02:00
-
2e3f5248ce
fix(01-review): CR-01+CR-02+CR-03+WR-03+WR-09 critical port + handshake race fixes
Mark
2026-05-16 09:21:34 +02:00
-
bf00bf65aa
docs(01): add code review report (3 critical, 9 warning, 6 info) .planning/phases/01-stabilize-video-pipeline/01-REVIEW.md
Mark
2026-05-15 22:35:00 +02:00
-
1d06d9d70b
docs(01-07): write Plan 07 SUMMARY and close phase 1 artifacts
Mark
2026-05-15 22:02:11 +02:00
-
7df72aaa60
feat(01-07): close Phase 1 — REQ-video-ring-buffer complete, SPEC §10 #7 satisfied
Mark
2026-05-15 21:58:38 +02:00
-
cd61cbccb6
test(01-07): commit regenerated last_30sec.webm fixture against D-13 recorder
Mark
2026-05-15 21:42:13 +02:00
-
872f25d649
docs(fix-a3): resolve webm-playback-freeze debug session, update STATE
Mark
2026-05-15 21:18:36 +02:00
-
87909d976c
test(fix-a3): commit debug-session test artifacts + stale fixture
Mark
2026-05-15 21:16:02 +02:00
-
f81438d6c8
feat(fix-a3): rename TransferredVideoChunk → TransferredVideoSegment
Mark
2026-05-15 21:15:19 +02:00
-
670daa3fe8
feat(fix-a3): adapt SW receive path to segment semantics
Mark
2026-05-15 21:12:46 +02:00
-
6a1a034030
feat(fix-a3): activate D-13 restart-segments in src/offscreen/recorder.ts
Mark
2026-05-15 21:11:07 +02:00
-
5530292270
feat(fix-a3): retire ring-buffer first-chunk pin tests, add segment-rotation contract
Mark
2026-05-15 20:59:01 +02:00
-
bf076199b4
docs(fix-d12): resolve debug session and update STATE
Mark
2026-05-15 20:23:29 +02:00
-
d5bb948d95
feat(fix-d12): decode chunks from base64 in SW BUFFER receive
Mark
2026-05-15 20:18:31 +02:00
-
283184978f
feat(fix-d12): encode chunks to base64 in offscreen REQUEST_BUFFER handler
Mark
2026-05-15 20:16:41 +02:00
-
d653283bc4
feat(fix-d12): add TransferredVideoChunk wire-format type in src/shared/types.ts
Mark
2026-05-15 20:07:40 +02:00
-
c0d9166a1d
feat(fix-d12): add binary encode/decode helpers in src/shared/binary.ts
Mark
2026-05-15 20:06:51 +02:00
-
1ebfb42b30
docs(01-06): complete vite.config.ts collapse plan
Mark
2026-05-15 18:17:43 +02:00
-
6aeeda495c
fix(01-06): align ensureOffscreen URL with crxjs emit path
Mark
2026-05-15 18:11:05 +02:00
-
23e69d0b77
refactor(01-06): delete inline copy-offscreen plugin and orphan offscreen/ directory
Mark
2026-05-15 18:10:00 +02:00
-
9e236cbc7b
docs(01-05): complete SW shrink + port host plan
Mark
2026-05-15 18:07:07 +02:00
-
5cd1519858
feat(01-05): wire SW-side port host and port-based buffer fetch
Mark
2026-05-15 18:02:51 +02:00
-
886376e789
refactor(01-05): delete legacy SW buffer, alarms, IndexedDB, tabCapture paths
Mark
2026-05-15 17:59:53 +02:00
-
05d00509bf
docs(01-04): complete offscreen port keepalive + OFFSCREEN_READY handshake plan
Mark
2026-05-15 17:54:04 +02:00
-
b0f4adcbd4
refactor(01-04): remove stale 'Plan 04 wires this' comments now that it's wired
Mark
2026-05-15 17:47:32 +02:00
-
b064a214b2
feat(01-04): wire offscreen port keepalive and OFFSCREEN_READY handshake
Mark
2026-05-15 17:46:33 +02:00
-
30e5efd364
docs(01-03): complete offscreen recorder TDD plan
Mark
2026-05-15 17:42:21 +02:00
-
c5828d38ef
feat(01-03): add OffscreenLogger and clean up shared types
Mark
2026-05-15 17:37:58 +02:00
-
fff1aea592
feat(01-03): implement offscreen recorder ring buffer and codec strict-mode
Mark
2026-05-15 17:34:00 +02:00
-
edc605d475
docs(01-02): complete wave-0 test infrastructure plan
Mark
2026-05-15 17:28:49 +02:00
-
408aa3354c
test(01-02): add RED handshake + port tests
Mark
2026-05-15 17:25:03 +02:00
-
d7840a811c
test(01-02): add RED codec-check tests
Mark
2026-05-15 17:24:18 +02:00
-
2e73a21151
test(01-02): add RED ring-buffer tests
Mark
2026-05-15 17:23:50 +02:00
-
57fa29e36b
test(01-02): add vitest.config.ts
Mark
2026-05-15 17:23:14 +02:00
-
ebf015aa0d
test(01-02): wave-0 setup — install vitest
Mark
2026-05-15 17:22:51 +02:00
-
13b67f5136
docs(01-01): complete doc-cascade plan
Mark
2026-05-15 17:19:48 +02:00
-
4a5194e15f
docs(01-01): swap manifest permissions tabCapture->desktopCapture, drop alarms (D-A6/D-05)
Mark
2026-05-15 17:16:28 +02:00
-
32bc99642e
docs(01-01): amend Phase 1 description + Success Criterion #2 per D-A5
Mark
2026-05-15 17:16:07 +02:00
-
597d967ccf
docs(01-01): amend REQ-video-ring-buffer per D-A4
Mark
2026-05-15 17:15:24 +02:00
-
b1ed2cbf49
docs(01-01): amend PROJECT.md DEC-003/DEC-010 + Constraints per D-A3
Mark
2026-05-15 17:14:59 +02:00
-
fb88830d29
docs(01-01): retire 2 constraints + add CON-display-capture-binding per D-A2
Mark
2026-05-15 17:14:15 +02:00
-
125c032656
docs(01-01): amend decisions.md DEC-003/DEC-010 per D-A1
Mark
2026-05-15 17:13:39 +02:00
-
-
acb9033293
docs(01): record Phase 1 planning complete (7 plans, 7 waves)
Mark
2026-05-15 17:09:09 +02:00