Backup covered-marker reader: version 15 continuation¶
Task: 2f64e433-00e0-483e-8eb2-e106213a093c, frozen version 15, read
through HeyAira task_get before continuing.
Repository: h8v6/heyaira; branch: heyaira/2f64e433.
Continuation base: f63f7b94f43de5c2e23ef30b38de743b45a0488e.
Original implementation base: 790cc1a31f7cf5b0e2db11c969fd89ad5996050a.
The new candidate is the commit containing this report; its SHA is recorded
in the HeyAira RESULT receipt after committing.
Change and scope¶
The previous candidate already implements covered-marker reading across
rolling/, daily/ and monthly/, newest selection by timezone-aware recorded
creation time, backup-ID deduplication, deletion-mark exclusions and complete
listing guards. It contains the targeted regressions and runbook update.
Version 15 explicitly revises the sandbox suite command to deselect two SMTP tests with wall-clock bounds. The task says these are being made independent of machine load in a separate PR and run in CI. This continuation reruns the existing reader tests and that exact revised suite selection. The only new file is this evidence report; implementation and test code are unchanged. The previous candidate and its version-2 failure report remain intact; no amend, rebase or reset was performed.
Actual verification¶
Commands ran from the repository root with
TMPDIR="$PWD/.local-v15-tmp" and the existing Xcode Git binary directory
prepended to PATH. Temporary fixtures remained in the authorized workspace.
$ PYTHONPATH=src python -m pytest -q -p no:cacheprovider tests/test_backup_runtime.py
.................................... [100%]
36 passed in 1.74s
The version-15 suite command and actual result:
$ PYTHONPATH=src python -m pytest -q -p no:cacheprovider --deselect tests/test_server_beat_audit.py::test_R6_02_tcp_connect_gets_only_the_budget_left_after_resolution --deselect tests/test_server_beat_audit.py::test_F3_smtp_tarpit_is_cut_at_the_deadline
417 passed, 231 skipped, 2 deselected in 38.90s
The skips use the repository's existing isolated-database and listening-socket
requirements. The two deselections are exactly those authorized in task
version 15; no other test was excluded or changed. git diff --check passed.
Criterion results¶
tiers-read: pass. Daily-only/monthly-only coverage, newest-by-recorded-time selection for every tier (including different UTC offsets), and duplicate-copy handling pass intests/test_backup_runtime.py.deleting-ignored: pass. Marked newest copies fall back to the next valid backup; a valid duplicate remains eligible and all-marked copies return none.listing-guards: pass. Existing rolling truncation tests pass, including the real bounded-subprocess case; daily/monthly truncation, missing-final-newline and malformed-path regressions also pass.suite: pass under the version-15 command above: no failures.
Confidence and handoff¶
All current criteria pass locally. Tests use synthetic buckets and runners; real R2 latency, database-backed integration tests and independent workflow acceptance are unverified here. Reading all manifests per poll still uses the existing polling cache. The two excluded SMTP tests were not rerun or repaired in this continuation; the earlier report retains their real failures.
No push, pull request, merge, installation, deployment or production bucket
or database mutation was performed. Save the new candidate's RESULT and receipt
with task_result; independent verification is the next workflow stage.