This website requires JavaScript.
a499db3ff2
docs(02): VERIFICATION — Phase 2 PASSED (T5 override per user delegation + harness coverage)
Mark
2026-05-20 17:41:04 +02:00
df692b2d70
docs(phase-02): update tracking after wave 3 — 02-04 GREEN (UAT 29/29 + bundle gates PASS; checkpoint closed via harness coverage) .planning/ROADMAP.md
Mark
2026-05-20 17:33:03 +02:00
cbd6849cad
chore: merge executor worktree (worktree-agent-ae01a6e0a930f4599) — Wave 3 Plan 02-04 A26+A27+A28 + bundle gates
Mark
2026-05-20 17:26:27 +02:00
c9d1a8e65a
docs(02-04): SUMMARY — Phase 2 closure UAT harness A24+A25+A26+A27(strict)+A28 (29/29 UAT GREEN; 171/171 vitest GREEN; bundle gates PASS)
Mark
2026-05-20 17:25:13 +02:00
d0ebc807a2
fix(02-04): harness A27.7 — F2 contract refined (legitimate chrome-extension:// URLs permitted; only empty-tracker fallback forbidden)
Mark
2026-05-20 17:24:10 +02:00
20e06a6a58
feat(02-04): harness A26+A27(strict)+A28 — meta.json 8-field + multi-tab urls[] STRICT + REQ-archive-layout (D-P2-02/03 + DEC-011 Amendment 1)
Mark
2026-05-20 17:16:35 +02:00
b6b3f377b8
chore: merge partial executor worktree (worktree-agent-aac9035b8c3b890ac) — Wave 3 Plan 02-04 A24+A25 (529 mid-plan)
Mark
2026-05-20 17:06:09 +02:00
47e9818cb1
feat(02-04): harness A25 — empirical <5s SAVE→zip latency (REQ-archive-export-latency, SPEC §10 #6 )
Mark
2026-05-20 16:49:56 +02:00
4ae73250fa
feat(02-04): harness A24 — empirical Blob URL download verification (D-P2-01 closes P0-6)
Mark
2026-05-20 16:41:36 +02:00
3821e5c402
docs(phase-02): update tracking after wave 2 part 2 — 02-03 GREEN (D-P2-02 + D-P2-03 close P1 #10 ) .planning/ROADMAP.md
Mark
2026-05-20 16:14:06 +02:00
38f3aa8d7f
chore: merge executor worktree (worktree-agent-ac398144f27b986ca) — Wave 2 Plan 02-03
Mark
2026-05-20 16:13:38 +02:00
935ba1d489
docs(02-03): complete D-P2-02 meta.urls + D-P2-03 8-field schema plan
Mark
2026-05-20 16:12:58 +02:00
af035564d3
docs(02-03): REQUIREMENTS — REQ-meta-json-schema amended for 8-field shape with urls[] + schemaVersion
Mark
2026-05-20 16:09:07 +02:00
78031e7782
feat(02-03): meta.json — urls[] + schemaVersion (D-P2-02 + D-P2-03; replaces url:string)
Mark
2026-05-20 16:08:08 +02:00
7beb69059e
feat(02-03): tab-url-tracker — chrome.tabs.onActivated + onUpdated → urls[] with dedup + filter (D-P2-02)
Mark
2026-05-20 16:06:06 +02:00
d3aa567a54
docs(phase-02): update tracking after wave 2 part 1 — 02-02 GREEN (D-P2-01 closes P0-6) .planning/ROADMAP.md
Mark
2026-05-20 15:58:54 +02:00
3f251c5666
chore: merge executor worktree (worktree-agent-a7b893984f8b14c8f) — Wave 2 Plan 02-02
Mark
2026-05-20 15:58:23 +02:00
95b5bd252c
docs(02-02): complete Blob URL download pipeline plan (D-P2-01 closes P0-6)
Mark
2026-05-20 15:57:35 +02:00
79964e62d2
feat(02-02): SW — downloadArchive via offscreen-minted Blob URL + revoke lifecycle (D-P2-01 closes P0-6)
Mark
2026-05-20 15:54:28 +02:00
f0b95f4a83
feat(02-02): offscreen — CREATE/REVOKE Blob URL handlers on keepalivePort (D-P2-01)
Mark
2026-05-20 15:43:50 +02:00
483998dec1
feat(02-02): wire-format — extend PortMessage with CREATE_DOWNLOAD_URL/DOWNLOAD_URL/REVOKE_DOWNLOAD_URL (D-P2-01)
Mark
2026-05-20 15:42:21 +02:00
ed64d872be
docs(phase-02): update tracking after wave 1 — 02-01 RED gate complete .planning/ROADMAP.md
Mark
2026-05-20 15:39:02 +02:00
0df9a35598
chore: merge executor worktree (worktree-agent-a523bf9bbd145af79) — Wave 1 Plan 02-01
Mark
2026-05-20 15:37:03 +02:00
a991e1732a
docs(02-01): complete RED gate — 3 test files pin D-P2-01 + D-P2-02 + D-P2-03 + F2
Mark
2026-05-20 15:36:09 +02:00
94e03467c6
test(02-01): RED — pin strict 8-field meta.json schema validation (D-P2-03)
Mark
2026-05-20 15:32:38 +02:00
9e45d333cc
test(02-01): RED — pin meta.json urls[] schema + dedup/filter + empty-tracker (D-P2-02 + F2)
Mark
2026-05-20 15:27:39 +02:00
748a81f100
test(02-01): RED — pin Blob URL download contract (D-P2-01)
Mark
2026-05-20 15:24:16 +02:00
44ea925e6f
chore(02): state.begin-phase — mark Phase 2 executing
Mark
2026-05-20 15:09:54 +02:00
6f052c74f8
chore(02): resume — consume HANDOFF + sync STATE for Phase 2 execution
Mark
2026-05-20 15:08:59 +02:00
a440c7d76b
wip: phase-02 paused — 4 plans validated, ready for execution
Mark
2026-05-20 14:56:53 +02:00
df8c086ff0
docs(02): sync CON-manifest-permissions constraint with DEC-011 Amendment 1
Mark
2026-05-20 14:53:09 +02:00
9dcfcf0793
fix(02): revise plans per checker (B1 + 4 flags) — add tabs permission for D-P2-02
Mark
2026-05-20 14:25:20 +02:00
0608b22427
feat(02): plans 01-04 — Phase 2 export pipeline closure (Blob URL + meta.urls + schema + harness)
Mark
2026-05-20 14:03:14 +02:00
cc042a5583
docs(02): capture phase context — discuss-phase complete
Mark
2026-05-20 13:41:08 +02:00
6dbed91efd
docs(roadmap): re-phase milestone — remove Phase 2 (DOM/event-capture privacy)
Mark
2026-05-20 13:25:11 +02:00
586836f8a0
docs(01): VERIFICATION + Phase 1 closure markers — goal-backward audit GREEN
Mark
2026-05-20 12:31:36 +02:00
d1ef77a7d1
docs(01-10): state + roadmap + requirements — Plan 01-10 closure
Mark
2026-05-20 12:10:56 +02:00
52dc2e6a6e
docs(01-10): summary — welcome tab + 5-cycle debug closure + brand polish (153/153 vitest, 24/24 UAT GREEN, ack 2026-05-20)
Mark
2026-05-20 12:10:30 +02:00
d21ed17310
fix(01-12): brand polish — replace stale 'AI Call Recorder' refs with Mokosh (4 files)
Mark
2026-05-20 11:49:46 +02:00
a2dfc8cb9b
fix(01-09): startVideoCapture — remove stale active-tab dependency (D-01 cleanup gap)
Mark
2026-05-20 11:33:18 +02:00
0854baf66c
fix(01-10): vitest build-test it() timeout — bump to 30s for slower welcome-page build
Mark
2026-05-20 10:52:39 +02:00
d48a715da5
fix(01-10): welcome page mark — bundle canonical mokosh-mark.svg + replace placeholder
Mark
2026-05-20 10:28:58 +02:00
4bba679e39
fix(01-09): notifStartup text split — notifStartupCta for onStartup; notifRecordingStarted for manual-start
Mark
2026-05-20 10:14:08 +02:00
b112cb7861
test(01-10): wave-3 task-4 — harness A15+A16+A17 (onboarding flag observability + no-re-open settle + design-swap-readiness with @import probe); 24/24 GREEN
Mark
2026-05-20 09:41:10 +02:00
8f329d8b74
feat(01-10): wave-2 task-3 — openWelcomeIfFirstInstall helper + onInstalled wiring (D-17-onboarding) — 3 RED → GREEN
Mark
2026-05-20 09:16:42 +02:00
49f087fe40
feat(01-10): wave-1 task-2 — welcome page bundle + Vite entries + web_accessible_resources
Mark
2026-05-20 09:09:22 +02:00
89e1e09d60
test(01-10): wave-0 task-1 — RED onboarding tests (3 tests pin install/update/flag + storage-key)
Mark
2026-05-20 09:00:58 +02:00
7f58e0ae31
fix(01-10): revise plan per 01-12 + 01-14 baselines (vitest 98→147, UAT 15→21, FORBIDDEN 10→12, welcome.css @imports canonical tokens, welcomeHero keys read from chrome.i18n)
Mark
2026-05-20 08:48:24 +02:00
66e6f503a4
docs(01-12): state + roadmap + requirements — Plan 01-12 closure
Mark
2026-05-20 08:33:52 +02:00
f319c7dc6e
docs(01-12): summary — design integration landed (147/147 vitest, 21/21 UAT, brand-fit ack 2026-05-20)
Mark
2026-05-20 07:59:34 +02:00
865d394ae0
docs(01-12): wave-7 pre-checkpoint — log out-of-scope discovery (setimmediate polyfill new Function pre-existing)
Mark
2026-05-20 07:47:13 +02:00
b909c374cc
feat(01-12): wave-6 task-1 — harness A18-A22 (font reachability + icon-distinct + manifest-i18n + Lora-resolved + welcome-tokens)
Mark
2026-05-20 07:41:51 +02:00
e8d2881874
feat(01-12): wave-5 task-1 — welcome i18n migration (conditional on 01-10) + __VITE_DEV__ define + scripts/README.md
Mark
2026-05-20 07:29:07 +02:00
468f16d7e7
feat(01-12): wave-4 task-1 — adopt tokens.css + chrome.i18n.getMessage in src/popup/ + src/background/ (loom palette + RU i18n + en fallback)
Mark
2026-05-20 07:27:19 +02:00
110cebc50d
feat(01-12): wave-3 task-1 — manifest i18n (__MSG_*__ + default_locale='en') + _locales/{en,ru}/messages.json (16 keys; D-07 + D-08 baked in)
Mark
2026-05-19 22:33:42 +02:00
7732a302cd
feat(01-12): wave-2 task-1 — rasterize Loom mark to icons/icon{16,48,128}.png (overwrites Bug A placeholders)
Mark
2026-05-19 22:30:23 +02:00
abab6e1f59
feat(01-12): wave-1 task-2 — canonical src/shared/tokens.css (R2 Lora substitution + .mks-word + local @font-face block)
Mark
2026-05-19 22:29:37 +02:00
f86fd60d4a
feat(01-12): wave-1 task-1 — self-host OFL font bundle (Lora + Plex Sans + Plex Mono; R2 designer reply 2026-05-19)
Mark
2026-05-19 22:13:50 +02:00
34a9ce10d4
test(01-12): wave-0 — scaffold RED unit tests (tokens / fonts / icons / no-remote-fonts / manifest-i18n / locale-parity)
Mark
2026-05-19 21:56:08 +02:00
3fe018beb9
fix(01-12): revise plan baselines per Plan 01-14 landing (vitest 98→100, UAT 15→16, FORBIDDEN_HOOK_STRINGS 10→12)
Mark
2026-05-19 21:45:58 +02:00
9792c0f6c3
docs(01-14): state + roadmap + requirements — Plan 01-14 closure
Mark
2026-05-19 21:41:26 +02:00
52541452e0
docs(01-14): summary — picker enhancement landed (16/16 UAT GREEN, 100/100 vitest GREEN)
Mark
2026-05-19 21:40:11 +02:00
b467123578
feat(01-14): monitorTypeSurfaces:'include' — narrow picker to monitor surfaces only
Mark
2026-05-19 21:37:59 +02:00
433ee280f3
fix(01-14): revise plan per checker — include test-expectation update (B-01-14-01)
Mark
2026-05-19 20:41:09 +02:00
41c1f7e82f
feat(01-14): plan — monitorTypeSurfaces picker enhancement (canonical post-closure scope)
Mark
2026-05-19 20:34:17 +02:00
4d828f1080
docs(01-10): install-flow + auto-select research — both asks INFEASIBLE
Mark
2026-05-19 20:12:18 +02:00
6a29ae4124
chore(01): resume work — consume HANDOFF.json + ignore dist-archives
Mark
2026-05-19 18:47:52 +02:00
cecefc61f9
wip: phase-01 paused — .continue-here.md handoff (pairs with c60b887 HANDOFF.json)
Mark
2026-05-19 17:57:45 +02:00
c60b8878df
wip: phase-01 paused — Plan 01-13 closed; 01-10 + 01-12 plans ready; researcher pending
Mark
2026-05-19 17:56:28 +02:00
e035fd279d
docs(01-09): Amendment 3 + 01-13 SUMMARY reversal note + STATE.md sync + debug records
Mark
2026-05-19 17:50:49 +02:00
1baaf45702
feat(01-13-A14-invert): A14 — invert to assert continuous-recording post-SAVE
Mark
2026-05-19 17:33:53 +02:00
7645765401
feat(01-09-no-stop): GREEN — remove SAVE_ARCHIVE finally block; recording continues
Mark
2026-05-19 17:21:15 +02:00
6ac23fdbd8
test(01-09-no-stop): RED — invert save-archive contract to lock always-on charter
Mark
2026-05-19 16:45:31 +02:00
8d1c8fb0cc
docs(01-12): create Plan 01-12 (Design Integration; R2 Lora unblocks; 7 waves)
Mark
2026-05-19 14:59:59 +02:00
3a530c2334
docs(01-10): rewrite plan in place — D-02/D-08/D-17-onboarding charter + design-swap-in-ready arch + harness A15+A16+A17
Mark
2026-05-19 14:23:56 +02:00
285e46f620
docs(01-13): close — operator UAT ack 2026-05-19 + save-stops debug resolved + SUMMARY landed
Mark
2026-05-19 13:46:49 +02:00
89f3337334
docs(01-09-save-stops): debug record — RED → GREEN → A14 evidence + closure notes
Mark
2026-05-19 13:32:51 +02:00
2b6c24b2d9
feat(01-13): A14 — post-SAVE state check (badge='', popup='', no new recovery notif)
Mark
2026-05-19 13:31:13 +02:00
4f4c3e2241
feat(01-09-save-stops): GREEN — SAVE_ARCHIVE auto-stops recording per SPEC one-shot intent
Mark
2026-05-19 13:22:37 +02:00
cd83eb0498
test(01-09-save-stops): RED — SAVE_ARCHIVE triggers STOP_RECORDING + setIdleMode + no recovery notif
Mark
2026-05-19 13:17:19 +02:00
9c5ff8b2a7
docs(01-13): wave-4 task-8 — Plan 01-09 closure-via-harness amendment + STATE.md sync
Mark
2026-05-19 10:50:13 +02:00
d793c9e1e5
feat(01-13): wave-3D — A11+A12+A13 GREEN + get-segment-count bridge op; 14/14 GREEN
Mark
2026-05-19 10:24:39 +02:00
b665919c5f
feat(01-13): wave-3C — A8+A9+A10 GREEN + Bug A canonical regression rewind
Mark
2026-05-18 20:07:47 +02:00
6a77967b6c
feat(01-13): wave-3B — A5+A6+A7 GREEN + Bug B canonical regression rewind
Mark
2026-05-18 17:01:06 +02:00
1b67b1c1d3
feat(01-13): wave-3A — A1+A2+A3+A4 GREEN + harness.test.ts orchestrator (5/14 assertions GREEN)
Mark
2026-05-18 15:45:25 +02:00
2f1b1f36a7
feat(01-13): wave-3A — add get-display-surface bridge op (A3 prereq) + extend Tier-1 grep gate
Mark
2026-05-18 15:33:35 +02:00
eb64521321
feat(01-13): wave-2 — launchHarnessBrowser + assertions + harness-page-driver scaffolding
Mark
2026-05-18 15:21:11 +02:00
eb2258a880
feat(01-13): wave-1 — promote c647f61 prototype to production paths; A6 GREEN
Mark
2026-05-18 15:01:58 +02:00
a63066a289
chore(01-13): wave-0 — clean broken Approach-A artifacts per 01-11-SUMMARY
Mark
2026-05-18 14:54:41 +02:00
70f4f4136a
docs(01-13): create UAT harness plan — Approach B (extension-internal page)
Mark
2026-05-18 14:28:04 +02:00
ba5474c54f
docs(01-11): close as spike-pivot — SUMMARY landed, AMENDMENT-A deleted, pivots to 01-13
Mark
2026-05-18 14:02:38 +02:00
565f8fa44c
docs(01-11): amendment A — pivot to extension-internal harness page
Mark
2026-05-18 12:10:52 +02:00
c647f61553
wip(01-11): prototype — A6 via test-page+bridge+synthetic-stream PASSES
Mark
2026-05-18 12:06:08 +02:00
f44ca3afba
wip(01-11): wave-3 partial — A1+A4 attempted, popup-bridge SW state query unreliable
Mark
2026-05-18 09:24:06 +02:00
dbd977c815
feat(01-11): wave-2 — Puppeteer harness scaffolding + A0 GREEN, popup-bridge architecture
Mark
2026-05-18 09:14:58 +02:00
cb1a729962
feat(01-11): wave-1 — gated test hooks for SW + offscreen, dist/ stays hook-free
Mark
2026-05-17 22:46:26 +02:00
0cd50fde94
docs(debug): import Bug B recovery-flow debug record from prior session
Mark
2026-05-17 21:46:09 +02:00
96fa8e8e11
chore(01-11): wave-0 — install puppeteer + tsx, add vite.test.config + Tier-1 hook-leak grep gate
Mark
2026-05-17 21:42:46 +02:00
2669ce38e7
docs(intel): designer follow-up #1 — Newsreader has no Cyrillic glyphs
Mark
2026-05-17 21:25:35 +02:00
3df2750c64
docs(01-12): research Plan 01-12 (Design Integration) — 13 areas + BLOCKER
Mark
2026-05-17 21:23:27 +02:00