3.0 KiB
P5-15-01 intermittent observations
P5-15-03 temporal qualification successor
The pending-draft preview-exit regression used real time, while the actual editor schedules autosave after 800 ms. A slow assertion can legitimately observe Saved instead of Unsaved. The test now controls that editing-session clock, retains the original pending value/focus/Unsaved/no-write assertions, then crosses the existing debounce boundary and verifies the exact retained headline, expected revision 4, successful Saved state and unchanged editor value. The affected CV/Analytics suites pass 46/46; test count is unchanged. No CV save implementation, timeout or success assertion was weakened.
This establishes the temporal contract and removes the test's dependency on machine speed. It does not reconstruct the historical failing run's missing timing trace: IF-CV-UNSAVED-01 remains OPEN as an incident observation, with this bounded test qualification recorded separately. Preserve a future failing save/version trace if it recurs.
IF-CV-UNSAVED-01 — Preview exit “Unsaved” assertion
OPEN; cause not established; no CV repair. PRES-C06/C10/E08. R-01's first complete frontend rerun passed463/failed1 of464. The case [P5-11 PRES-C06 C10 E08] returning from preview focuses the existing editor without changing the pending draft failed its getByText('Unsaved') assertion in cv-builder-deep-link.test.tsx (recorded line751).
R-03's fresh final frontend490/490 and ordinary browser134/134 pass, including the unchanged preview-exit test and existing CV journeys. R-03 results record those distinct lanes. No CV assertion, timeout, retry or implementation changes occur in the authentication repair; these passing runs do not diagnose or close this observation.
The unchanged case passed in isolation and an unchanged complete rerun passed464/464. Those later passes do not establish a cause or close the observation. R-01 portable report/fingerprints retain .artifacts/p5-15-01R-01/frontend-final/attempt1-jest.json, attempt1-command.json, cv-preview-diagnostic.json, jest.json and command.json. The additional attempt1-jest.log remains a local diagnostic; it is not fingerprinted in that original portable manifest.
R-02's fresh complete frontend472/472 includes this unchanged case; its complete ordinary browser run is128pass/1unrelated Analytics failure, with all117inherited cases passing. No assertion, timeout, skip, retry or CV implementation is changed to obtain those results. R-02 results record those separate lanes; neither passing lane diagnoses this intermittent assertion. Ownership remains CV/test-reliability review at the appropriate acceptance checkpoint, if recurrence or targeted investigation justifies it. Preserve a failing trace and pending draft/focus state before any bounded fix; do not widen the Rules repair into a speculative CV change.