promptward

Implementation Plans

Generated by the improve skill on 2026-07-17 (deep audit at commit a6293e1, baseline: tsc clean, 41/41 tests passing, npm audit clean). Execute in the order below unless dependencies say otherwise. Each executor: read the plan fully before starting, honor its STOP conditions, and update your row when done.

Execution order & status

Plan Title Priority Effort Depends on Status
001 Characterization tests for the content-script protection flow P1 M DONE
002 Ignore Enter during IME composition P1 S 001 DONE
003 Retry path honors the review contract P1 S 001 DONE
004 Timeouts on worker/protect requests P1 M 001, 003 DONE
013 Fix debugSettingsPromise TDZ crash on content-script init P1 S 001, 002 DONE
005 Serialize offscreen-document creation P2 S DONE
006 CI workflow (verify, typecheck, test, build) P2 S DONE
007 Vendor only the ORT files the runtime loads P2 M 006 (soft) DONE
008 Correct README rehydration claim P3 S DONE
009 Validate custom-domain input P2 S DONE
010 Dedupe worker protocol types + escapeHtml P3 S — (after 004 preferred) DONE
011 Debug logging off the send critical path P3 S 001 (after 002–004 preferred) DONE
012 Remove no-op WebGPU toggle P3 S DONE
Status values: TODO IN PROGRESS DONE BLOCKED (with one-line reason) REJECTED (with one-line rationale)

Dependency notes

Findings considered and rejected

Notes from execution

Direction options (maintainer decisions, not defects — no plans written)

Recorded from the deep audit for future consideration:

  1. Wire response rehydration. README promised it; everything exists except a content-script observer that detects [TOKEN_n] in assistant responses and calls PW_REVEAL_TEXT. The hard part is watching response DOM per site — the same fragile surface as send interception. Effort: L (coarse). Plan 008 documents reality until/unless this is built.
  2. Chrome Web Store distribution. Current install is unzip + developer-mode load-unpacked — the biggest adoption tax. Prereqs: plan 007 (39 MB zip), and a look at optional_host_permissions: ["https://*/*", "http://*/*"] which store review scrutinizes. Effort: M (coarse).
  3. Actually wire WebGPU as the alternative to plan 012’s removal — upstream Rampart ships WebGPU bench tooling and the jsep ORT builds exist. Meaningful latency win on the 14.7 MB model. Effort: M (coarse).