Review: Add Phys.org mirror + task verifiers (site by @Within-yao, verifiers by reviewer) - #74
Review: Add Phys.org mirror + task verifiers (site by @Within-yao, verifiers by reviewer)#74jackjin1997 wants to merge 7 commits into
Conversation
Adds a 16th WebHarbor mirror at https://phys.org — a science / technology / research news aggregator. Real RSS-derived catalog of 210 articles across 7 categories (Physics, Earth, Technology, Biology, Chemistry, Astronomy, Nanotechnology) with real thumbnails, plus 4 benchmark users with seeded saved articles, comments (incl. cross-user reply chains), and search history. Registered as the 16th site at port 40015. .gitignore was tightened because the previous inline-comment patterns for sites/*/scraped_data/ and sites/*/instance/ were not matching (Codex finding, fixed in this PR). Site features: - Categories with recent/popular sort - Article detail with source journal / institution / DOI - Threaded comments with reply UI (parent-article validation) - Save articles with notes (auth) - Token-overlap scored search with category filter - Trending list, user profile, account edit, login/register Determinism work for byte-identical reset: - RSS pubDate parsing strips trailing TZ token (strptime %Z rejects EDT) - Pinned bcrypt hash for benchmark users (random salt would drift md5) - Per-article RNG seeded by slug for synthesized author/journal/views - /article/<slug> GET no longer mutates Article.views (Codex finding) Open-redirect hardening: - _safe_next() validates next= targets in /login and /save (Codex finding) Tasks: 18 WebVoyager-format tasks in sites/phys_org/tasks.jsonl, covering search, browse, detail, comment thread reading, save toggle, auth flows, and one comparison task. Assets: heavy assets (instance_seed/phys_org.db, static/images/) live in the paired HF dataset PR; phys_org.tar.gz is 460K, db md5 b4a324122c3cb0a56b8d511e73ff13a7. .assets-revision uses 'main' so the HF merge will roll in automatically.
Add verifier and rubric coverage for all 18 tasks, harden the easy comparison tasks, and cover positive, no-op, shortcut, wrong-answer, and state-mismatch cases. Fix reviewed environment nits in asset packing, seed taxonomy and journal realism, dependencies, and site-count documentation.
Independent blind review — WHR-006 phys_org original-baseline: 18/18 PASSModel. Claude (session configured as Frozen code commit. Coverage. All 18 tasks judged from the frozen inputs only: complete trajectories, before/after SQLite snapshots (ground truth re-derived via direct SQL), and per-step screenshots. The 4 state-changing runs (--6 comment, --7 save-with-note, --13 registration+settings, --14 unsave) were checked by exact full-table diffs: each contains precisely the required mutation (run --13's stored bcrypt hash verifies against the task's requested password; run --14 additionally logs one search_history row from search-based navigation, which does not touch the rubric-constrained saved list). The 14 read-only runs' after.db hashes are byte-identical to the seed. Failures. None — PASS on all 18. Every final answer matches the value independently re-derived from the seed DB, and every rubric navigation checkpoint is evidenced by trajectory URLs/titles plus screenshots. Non-blocking observations: run --6 needed a direct-URL fallback after two click strategies failed to navigate; run --9's Checks not executed. Deterministic verifiers were not run and their verdicts remain unread (blind protocol). Trajectories were not re-executed against a live environment. Screenshots are viewport-top captures, so a few below-the-fold facts (journal / "Provided by" boxes, one comment thread) were corroborated against the frozen seed DB rather than pixels. Upstream phys.org was not consulted; pre-seeded users' passwords were not verified. Posted per the review handoff; no code or Draft status changes. |
Follow-up: Task 11 reconciliation rerun — PASSModel. Claude (session configured as Frozen commit. Task 11 verdict. PASS — the rerun opens both named article detail pages (full-page screenshots show their displayed publication dates, May 07, 2026 vs May 06, 2026), and the final answer names the article the rerun seed DB independently confirms as earlier (2026-05-06 15:40 vs 2026-05-07 11:20). Checks not executed. Deterministic verifier not run and its verdict unread (blind protocol); trajectory not re-executed against a live environment; upstream phys.org not consulted; only Task 11 was judged in this pass — the other 17 baseline tasks were not re-reviewed against commit Follow-up per the Task 11 reconciliation handoff; no code or Draft status changes. |
Final independent blind review — canonical runs: 18/18 PASSModel. Claude (session configured as Frozen commits. GitHub: Coverage. All 18 canonical runs judged from the frozen inputs only: complete trajectories, before/after SQLite snapshots, and per-step screenshots. All 18 Failures. None — PASS on all 18. Every final answer matches the value independently re-derived from the seed, and every navigation checkpoint is evidenced by trajectory URLs/titles plus screenshots. Observations (non-blocking): --6 switched to another Biology article after two non-navigating clicks (task allows any Biology article); --11 recorded several no-op title clicks before both comparison pages were genuinely visited via direct anchor clicks (URLs + screenshots confirm real visits; one step 'thought' references a runner-side verifier check — my verdict rests only on the frozen navigation evidence and seed DB). Checks not executed. Deterministic verifiers not run, their verdicts unread (blind protocol). No live re-execution; the HF PR #48 archive was not re-downloaded (revision/checksums taken from the manifest). Screenshots are viewport-top captures, so a few below-the-fold fields (journal/Provided-by boxes, one comment thread) were corroborated against the frozen seed DB rather than pixels. Pre-seeded users' passwords not verified; upstream phys.org not consulted. Final review per the handoff; no code or Draft status changes. |
Follow-up: Phys.org--10 affected rerun — PASSModel. Claude (session configured as Frozen commit. Verdict. PASS — the rerun opens Astronomy & Space, switches to the Popular sort ( Checks not executed. Deterministic verifier not run and its verdict unread (blind protocol); no live re-execution; the HF PR #48 archive was not re-downloaded (revision/checksums from the manifest); only Phys.org--10 was judged in this pass — the other 17 canonical tasks were not re-reviewed against commit Follow-up per the affected-run handoff; no code or public PR status changes. |
Review: phys_org
This is the review-completion PR for #6 by @Within-yao. The contributor commit and author attribution are preserved as the first commit; verifier, task-contract, environment, and responsive review fixes are isolated in subsequent reviewer commits.
Related asset change: Hugging Face dataset PR #48, superseding inactive duplicate PRs #6 and #7.
What changed
Provided byfieldVerification performed
810d814f80c0c6a84b9d3b7aea17d65c4e64c4b5a0c081ebe8936bfb8fcabd71e2eaabaa2d49d055python3 -m py_compile sites/phys_org/verify/*.py— PASSgit diff --check— PASSf1021749228f0e9466085c7e74ed1c3e, SHA-256b34d7af7334dccb7a0f2f7c670deaadf640adf82ff02e45e16b7ab9c2893af7f, seed DB MD5cc683dce62b228da98ebb984fe686bf8Review status
.assets-revisionto the resulting dataset main SHA, and recheck asset reachability/hash before the GitHub PR is merged. Trajectories and blind review only need repeating if application code or asset bytes change.