Milestone v1 (v2.0.0): Mokosh — Session Capture #1

Merged
strategy155 merged 297 commits from gsd/phase-04-harden-clean-up-optional into main 2026-05-31 15:34:17 +00:00
3 changed files with 11 additions and 2 deletions
Showing only changes of commit 3c1280ed2d - Show all commits

View File

@@ -881,6 +881,15 @@ export async function driveA33(
await new Promise((res) => setTimeout(res, A33_NEW_SW_BOOT_MS)); await new Promise((res) => setTimeout(res, A33_NEW_SW_BOOT_MS));
// Step 5: dispatch SAVE_ARCHIVE — wakes SW back up as an event // Step 5: dispatch SAVE_ARCHIVE — wakes SW back up as an event
// ⚠ DEPRECATED iter-2 (2026-05-21) — `__mokoshHarness.dispatchSaveArchiveForA33` does NOT exist
// on the harness surface (verified: grep extension-page-harness.ts:4018 confirms
// __mokoshHarness.{assertA1..A31, getManifestVersion} only). Per Plan 04-04 REVISION
// iter-2 (Option B), dispatch SAVE_ARCHIVE inline via:
// const saveResult = await page.evaluate(() => new Promise((resolve) => {
// chrome.runtime.sendMessage({ type: 'SAVE_ARCHIVE' }, (ack) => resolve(ack));
// }));
// Matches 9 existing assertA* methods (A5/A11/A12/A13/A26/A28/A29/A30/A31).
// See 04-04-PLAN.md <interfaces> for the canonical pattern.
const saveResult = await page.evaluate(() => { const saveResult = await page.evaluate(() => {
const harness = (window as any).__mokoshHarness; const harness = (window as any).__mokoshHarness;
return harness.dispatchSaveArchiveForA33(); return harness.dispatchSaveArchiveForA33();

View File

@@ -729,7 +729,7 @@ export async function driveA33(
(Table is not empty; A1-A6 should be acknowledged by the planner. A1 + A2 in particular have post-fix grep + UAT-green verification gates that catch them quickly.) (Table is not empty; A1-A6 should be acknowledged by the planner. A1 + A2 in particular have post-fix grep + UAT-green verification gates that catch them quickly.)
## Open Questions ## Open Questions (RESOLVED)
1. **Will the offscreen document actually survive 5 minutes of SW idle?** 1. **Will the offscreen document actually survive 5 minutes of SW idle?**
- What we know: Chrome docs say offscreen has its own lifecycle independent of SW; recorder.ts MediaRecorder is the "compelling reason" to keep offscreen alive. - What we know: Chrome docs say offscreen has its own lifecycle independent of SW; recorder.ts MediaRecorder is the "compelling reason" to keep offscreen alive.

View File

@@ -6,7 +6,7 @@ nyquist_compliant: false
wave_0_complete: false wave_0_complete: false
created: 2026-05-21 created: 2026-05-21
revised: 2026-05-21 revised: 2026-05-21
revision_notes: "iter-2 revision — per-task map updated for 4 revised tasks (04-02 T2 UAT grep gate; 04-04 T1 Option B chrome.runtime.sendMessage; 04-06 T4 canonical SW chunk glob; 04-07 T1 ack-grep gate)" revision_notes: "iter-2 revision — per-task map updated for 5 revised tasks (04-02 T2 UAT grep gate; 04-04 T1 + T2 Option B chrome.runtime.sendMessage; 04-06 T4 canonical SW chunk glob; 04-07 T1 ack-grep gate)"
--- ---
# Phase 04 — Validation Strategy # Phase 04 — Validation Strategy