Automattic / Automattic/wp-codebox
Add lifecycle-aware visual parity capture for runtime state
- Lingua principale
- TypeScript
- Stelle
- 16
- Fork
- 4
- Merge medio
- 59m
- PR unite (30g)
- 131
Descrizione
## Problem
Visual parity currently compares pages after a fixed elapsed duration. Runtime components can be in semantically different states at that moment: source counters may be mid-transition while an imported editable candidate intentionally materializes a deterministic terminal state. Pixel comparison then reports a product defect even though the candidate preserves the declared stable state.
## Direction
Add a generic lifecycle-aware capture contract. A recipe step should be able to declare the visual state to compare, with explicit ready/stable hooks or normalized initial/terminal state semantics, instead of relying only on elapsed wall-clock duration. Keep WP Codebox generic and framework-agnostic.
## Acceptance
- Visual compare can wait for a declared stable lifecycle state on source and candidate.
- Existing duration-based captures remain supported.
- Timeout/readiness evidence names the requested and observed state.
- Repeated dynamic-component captures are deterministic.
- Unit and recipe-runner tests cover success and timeout behavior.
## Evidence
Automattic/blocks-engine#752 documents the Weebly counter case: source capture at 4 seconds observes transient values while deterministic candidate output uses terminal values.
## AI assistance
OpenAI gpt-5.6-sol through OpenCode analyzed the parity evidence and drafted this issue. Chris Huber remains responsible for scope and implementation decisions.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Traccia il percorso di acquisizione di visual-compare e il recipe runner, quindi esamina i test esistenti di Unit e recipe-runner. Definisci come un recipe dichiara uno stato stabile del Lifecycle mantenendo al contempo le acquisizioni basate sulla durata. Il lavoro è completato quando le acquisizioni di Source e Candidate possono attendere e riportare gli stati richiesti e osservati, con acquisizioni ripetute deterministiche e copertura di successo/timeout.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- testing-qa, tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100