Review: WebHarbor reset and smoke verification script (#47, original by @Lxr-max) - #108
jackjin1997 wants to merge 6 commits into
Conversation
|
Update — an independent review of the frozen runs found a real defect in my own first pass, fixed in The
A flagless run now always reports Two regression tests were written first and confirmed failing before the fix; the tests that exercise the local source now pass Still draft: the re-frozen runs are going back for an independent second pass before this is marked ready. |
Add explicit Docker and host deployment DB sources, structured registry errors, source reporting, and reset-all error deduplication. Preserve the original contributor behavior that remains valid.
Make flagless runs skip parity checks even when the checkout contains runtime DBs. Keep explicit missing roots as errors and retain reset-all response details.
Document that DB checks have no implicit source and remove the obsolete repository-root parameter.
e339a13 to
d660caf
Compare
|
Quality audit follow-up is complete at Closed all five audit findings:
Verification: 26 tests + 7 subtests pass; all current 31 registry entries and ports Current Docker execution was intentionally not started because only 7.9 GiB was free, |
Reviewer-owned continuation of #47 by @Lxr-max. The contributor's original commit
777fcdfremains the first feature commit; later commits contain the review fixes.Result
This adds
scripts/check_reset_smoke.py, a CLI that resolves the live site registry,checks the control plane, exercises per-site or global reset, checks homepages, and can
compare runtime/seed DBs from an explicit Docker container or host deployment root.
Machine-readable output names the DB source used for every site.
The review originally corrected several correctness gaps in #47:
running deployment.
--docker-containerreads/opt/WebSyn/<site>and--db-rootreads an explicit host tree; without either flag parity is
SKIPwith sourcenone.SITES, andBASE_PORTmismatchare structured findings rather than tracebacks.
--strictescalates realwarnings without failing the expected no-source case, and
--reset-allfailures arereported once with their HTTP detail.
Post-audit quality fixes
The branch is now based on current
main(5d7a4e8) and closes the final quality audit:SKIP, and the container hasher is not called, after either aper-site or reset-all failure.
SITESliterals and non-string entries remain valid--jsonfailures with zero network checks.
the exact unreadable path.
shared-filename case.
Co-Authored-Bytrailers; the original contributor commit remains unchanged.Verification
python3 -m pytest scripts/test_check_reset_smoke.py -q— 26 passed, 7 subtests passed.python3 scripts/check_site_registry.py— 31 sites consistent across bothregistries, Dockerfile ports and task files; ports 40000–40030,
bh_photoat 40030.git diff --checkpass.14/14 PASS for the changed branches and direct regressions. A first pass had
marked one scenario inconclusive because its packet omitted raw per-file
md5sumoutput; the evidence was completed and re-reviewed in a new session.
plane and live Docker filesystem. The successful reset/hash path is unchanged.
Limits
The current post-audit run did not start or build a container because the host had
7.9 GiB free, below the review workflow's 10 GiB hard floor even for image reuse. The
changed Docker branches were exercised through the CLI's injected container-hasher
boundary and captured
docker execoutput; no unrelated Docker data was deleted.The live environment evidence covers two representative sites, while registry parsing
and unit coverage use all current 31 sites. Podman and remote Docker daemons remain
untested. A
--db-rootverdict describes the root supplied by the operator.