b3bfbf4a8d
feat(03): plans 01-05 — Phase 3 SPEC §10 smoke + DOM/event-log verification
...
5 plans across 5 waves (Wave 2 sequential per RESEARCH Pitfall 6 file overlap):
- 03-01 Wave 1: rrweb DOM verification harness extension (A29; REQ-rrweb-dom-buffer; §10 #4 )
- 03-02 Wave 2: event-log verification harness extension (A30; REQ-user-event-log; §10 #5 )
- 03-03 Wave 3: §10 #8 password-filter PARTIAL verification (A31; D-P3-02 charter)
- 03-04 Wave 4: §10 #9 RAM ceiling best-effort + Page.metrics scaffolding (A32; D-P3-04)
- 03-05 Wave 5: §10 sweep VERIFICATION.md + REQUIREMENTS/ROADMAP/STATE marker flips
(REQ-install-clean + REQ-rrweb-dom-buffer + REQ-user-event-log)
Each plan has:
- frontmatter (wave + depends_on + files_modified + autonomous + requirements + tags + must_haves)
- tasks with mandatory <read_first> + <acceptance_criteria> + concrete <action>
- <threat_model> block per security gate
- Validation map row(s) added to 03-VALIDATION.md (10 tasks total)
Expected UAT growth: 29/29 → 33/33 GREEN (A29-A32 + 03-05 docs).
Expected vitest baseline preserved: 171/171.
Expected Tier-1 FORBIDDEN_HOOK_STRINGS: 12 (A29+ ride production surfaces only).
ROADMAP.md Phase 3 entry replaces "Plans: TBD" with full 5-plan list.
VALIDATION.md status: planner_filled (nyquist_compliant: true; wave_0_complete: true).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 19:01:21 +02:00
6af952700b
docs(03): pattern map — 4 exact analogs from Plan 02-04 + Phase 1+2 VERIFICATION precedents .planning/phases/03-spec-10-smoke-verification-dom-event-log-verification/03-PATTERNS.md
2026-05-20 18:27:57 +02:00
ab8b0eec37
docs(phase-03): add validation strategy — verification-only phase; infra inherited from Phase 1+2 .planning/phases/03-spec-10-smoke-verification-dom-event-log-verification/03-VALIDATION.md
2026-05-20 18:21:18 +02:00
2c477c3f6d
docs(03): research phase domain — Approach B verification + 4 scoped questions resolved
...
Phase 3 RESEARCH.md addresses the 4 user-scoped research questions:
Q1 puppeteer.Page.metrics() reliable for SW context? → NO (page-realm only;
SW is a separate Puppeteer target). Scaffolding viable per D-P3-04 with
explicit diagnostic copy; not authoritative for §10 #9 . (Verified via
pptr.dev/api/puppeteer.page.metrics + Puppeteer issue #7536.)
Q2 rrweb 2.0.0-alpha.4 testing patterns? → Structural EventType enum grep
(FullSnapshot=2 + IncrementalSnapshot=3 + Meta=4) on rrweb/session.json
from latest archive. Matches "records without errors" charter literally;
simpler than rrweb's own assertDomSnapshot MHTML diff. (Verified via
node_modules/@rrweb/types/dist/index.d.ts grep.)
Q3 rrweb v2 stable release status / alpha.4 safety? → Stable v2 has NOT
shipped; npm `latest` tag still points at 2.0.0-alpha.4 (2023). Newest
alpha is 2.0.0-alpha.20 (2026-02-03) with breaking NodeType import-site
change. alpha.4 pin is safe for Phase 3 verification (9 closed plans +
29/29 UAT GREEN). Phase 4 upgrade research correctly deferred per
D-P3-03. (Verified via `npm view rrweb dist-tags`.)
Q4 New chrome.* patterns for §10? → None required. Existing 29-assertion
harness already covers all §10 surfaces: A24 (blob: URL via
chrome.downloads.onCreated), A28 (screenshot.png set-equality), A26 +
A27 (meta.json + multi-tab urls strict). Operator chrome://memory-internals
remains §10 #9 canonical per D-P3-04.
Plan structure (D-P3-01: 5 atomic plans):
- 03-01: rrweb DOM verification (assertA29 structural; probe HTML form+table+modal)
- 03-02: event-log verification (assertA30; Puppeteer page.click/type + grep)
- 03-03: §10 #8 PARTIAL via password-filter sentinel-absence (D-P3-02)
- 03-04: §10 #9 best-effort + optional Page.metrics scaffolding (D-P3-04)
- 03-05: §10 #1-#9 sweep VERIFICATION.md aggregator (Phase 2 frontmatter template)
Tier-1 FORBIDDEN_HOOK_STRINGS expected to stay at 12 entries (A29+ ride
production surfaces only). No new dependencies. Approach B template from
Plan 02-04 is direct precedent.
2026-05-20 18:19:27 +02:00
03d4b3343c
docs(03): UI design contract — null-spec for verification-only phase
...
Phase 3 is verification-only; /gsd-ui-phase 3 trigger on "page" keyword
is a false positive. UI-SPEC.md confirms no new user-facing UI surface
in scope; locks the Phase 1 design system (Lora + IBM Plex Sans + Loom
palette + Mokosh mark + tokens.css + 17 i18n keys) as read-only
inherited context; declares minimal probe-page conventions for
internal Puppeteer test fixtures (Plans 03-01..03-05 per D-P3-01).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 18:04:00 +02:00
6b52d111f8
docs(03): preserve plan-phase preferences captured pre-UI-SPEC exit
...
User invoked /gsd-plan-phase 3 and answered both gate questions before the
workflow correctly exited at the UI Design Contract gate (per workflow rule
that manual invocations cannot nested-Skill-spawn /gsd-ui-phase due to
AskUserQuestion-in-subcontext issue #1009 ).
Preferences saved at .plan-phase-preferences.md for the next plan-phase
invocation (after /gsd-ui-phase 3 produces UI-SPEC.md):
- UI gate: generate UI-SPEC.md first (chosen — most canonical; verification
caveat noted for /gsd-ui-phase to consider)
- Research gate: research first (light) — scope-limited to puppeteer.Page.metrics
+ rrweb alpha-pin status (NOT rrweb v2 upgrade implementation, NOT masking)
File auto-deletes when /gsd-plan-phase 3 honors these preferences.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 18:00:08 +02:00
dba51ea233
docs(03): capture phase context — discuss-phase complete (5 plans + 4 D-P3-* locked decisions) .planning/phases/03-spec-10-smoke-verification-dom-event-log-verification/03-CONTEXT.md .planning/phases/03-spec-10-smoke-verification-dom-event-log-verification/03-DISCUSSION-LOG.md
2026-05-20 17:55:48 +02:00