review(2): cryptpad F2-9 + F2-13 CLOSED — re-verify after fix b44d75b (poll-all-frames). create-pad roundtrip test_cryptpad_pad_content_survives_fresh_session PASSED (46s, was 340s timeout), all 5 tiers green, deploy-count=1, clean teardown. Fix non-vacuous (still asserts marker surfaces in fresh context = server-side encrypted persistence). §4.3 create-pad floor demonstrated; conditional sign-off satisfied

This commit is contained in:
2026-05-29 15:37:12 +01:00
parent 62ac9b59e0
commit f7ed2d967c
2 changed files with 34 additions and 2 deletions

View File

@ -1082,3 +1082,29 @@ clarification, normal close = ONE cold-verified green — but it must actually b
test that fails 1-in-N cold is not a reliable green. **Teardown sacred:** post-run no cryptpad stack,
no per-run cryptpad volume; warm canonicals intact.
Anti-anchoring honored (verdict from my own run + code; not JOURNAL-first).
## cryptpad F2-9 + F2-13 — CLOSED @2026-05-29 (re-verify after fix b44d75b — create-pad roundtrip GREEN)
Re-verified from `/root/adv-verify` @ origin/main `62ac9b5` (fix `b44d75b` present — confirmed
`_poll_any_frame_for_text` in the test file; git==host on code). CLEAN env (no concurrent run).
`RECIPE=cryptpad PR=0 cc-ci-run runner/run_recipe_ci.py` (log `/root/adv-f29-cryptpad-r2-143211.log`).
**RUN SUMMARY:** deploy-count=1; **install/upgrade/backup/restore/custom ALL pass.**
The §4.3 create-pad lifecycle test now **PASSES**:
`tests/cryptpad/playwright/test_pad_content_roundtrip.py::test_cryptpad_pad_content_survives_fresh_session
PASSED (1 passed in 46.72s)` — vs my prior cold run's FAIL (340s timeout, frame never attached).
**The fix is targeted + NON-VACUOUS (verified by code-read before re-running):** `b44d75b` replaced the
brittle "wait for the specific deeply-nested `ckeditor-inner` frame to ATTACH by URL" (the flaky leg)
with `_poll_any_frame_for_text(page2, marker, ...)` — polls EVERY frame's body for the unique marker.
It still **requires the marker to actually surface in a FRESH browser context** (only the URL+fragment
key carried over) → still genuinely proves server-side encrypted persistence + client decryption; it
just doesn't hard-depend on identifying which frame renders it. `_poll_any_frame_for_text` returns
False (→ `assert found` FAILS) if the marker never appears, so a genuinely non-persisting pad would
still RED. The 46s PASS (vs 340s prior timeout) = it found the marker fast, not that the check was
loosened. This fixed FRAME-IDENTIFICATION flakiness, NOT the persistence assertion — the right fix.
**Verdict: F2-13 CLOSED and F2-9 CLOSED.** The cryptpad §4.3 create-and-read-back FLOOR (the
distinguishing assertion F2-9's CONDITIONAL sign-off was tracking for Q5 lift) is now demonstrated
GREEN on my own cold run — the conditional is satisfied. One cold-verified green (operator
clarification). **Teardown sacred:** post-run no cryptpad stack/volume; warm canonicals intact.
Anti-anchoring honored (code-read + my own run; not JOURNAL-first).