Add B&H Photo WebHarbor mirror - #38
Conversation
ReviewTested on a fresh worktree of this branch. HF asset ( What works ✓Mechanical
Functional depth
Task quality
Should-fix (non-blocking)1.
Suggest either bumping 2. Benchmark seed users use def set_password(self, password: str) -> None:
self.password_hash = bcrypt.generate_password_hash(password).decode("utf-8")Within a single shipped image this is fine — the seed DB is fixed and reset re-copies it. But re-running Compass (PR #25) handles this by writing PBKDF2 hashes with hand-derived deterministic salts for benchmark users while keeping bcrypt for live registrations. Worth borrowing that pattern so future maintainers can regenerate 3. Visual fidelity — synthetic SVG product images. Author transparently calls this out as a deliberate IP/legal trade-off ("Uses deterministic local SVG product/media assets rather than copied B&H-owned product imagery"). It's a defensible choice but the cards do feel wireframe-y compared to the photographic richness of e.g. Compass (PR #25). Not a bug, just noting that the visual gap with the real bhphotovideo.com is significant. The 167 SVGs are at least style-consistent across the site, which keeps the overall look coherent. 4. Same comment as on PR #9 and #25. The Dockerfile pip-installs explicitly with locked versions (correct per AGENTS.md). 5.
Bottom lineStrongest mechanical hygiene of the five PRs I've reviewed: clean tarball, MD5 matches description, PR is properly rebased onto current main (only one of five), reset hygiene perfect, 8/20 tasks require authenticated multi-step workflows with verified-distinct ground truths. The two real items are the same |
…vision Pin .assets-revision to fbf6b9f4f735116ae0e4194db2b160e9a4207fc1, the resolved commit of HF dataset PR aiming-lab#75: it is the only candidate that carries an archive for every registered site (28 tarballs including nvidia.tar.gz), and its 23 non-nvidia archives are byte-identical to the previously pinned revision, so no other site changes. The old pin 070123d has no nvidia.tar.gz. Two blockers recorded in README (neither clearable from this repository): HF PR aiming-lab#75 is a draft and the commit is not on the dataset main branch; and nvidia.tar.gz at that revision carries bare parent-directory members, so scripts/validate_asset_archive.py rejects it (B2 covers the repair). The README also records why the validator-clean HF PR aiming-lab#38 archive was not chosen as the pin (stale seed: Jetson identity text lost, RTX 5060 Ti named without 16GB and recommended_psu_watts 550 contradicting the page's own 600 W source note; 17 of 24 registered sites covered). Evidence: _wh_review_tools/pr107-fixes/fixes/B1/{repro,candidate_matrix, content_diff_detail,other_sites_archive_compare,v1_pr38_end_to_end, v1b_pr38_rendered,v1c_pr75_rendered,all_sites_count_check}.txt
|
Review branch is up as a Draft: #122. Your structure, routes and task intent are preserved and the commit history keeps your authorship. The main change is that the catalogue is now sourced: the submitted mirror shipped placeholder products and images, so it was rebuilt from 930 archived B&H pages into 296 products with 337 real product photographs, each traceable to the original URL and the Wayback capture it came from. On top of that: byte-reproducible seed, upstream-matching listing depth, twenty tasks with deterministic verifiers, and fixes for two server errors, a favicon 404 and a search path that took 24–84 seconds. Verification on that branch: 20/20 task runs pass their verifiers, 6/6 legitimate alternative routes pass, and 170/170 adversarial fixtures behave as expected. What has not been verified is the whole-image build with all 29 sites — the review host did not have the disk for it, and that is called out in the PR. The dataset needs a new Merge decisions and final port assignment are the maintainers' call. |
Site
bh_photoImplementation Summary
This PR adds a local B&H Photo mirror built with Flask, SQLAlchemy, Jinja2, and SQLite. The site covers product search, category browsing, rich specs, reviews, Q&A, product comparison, bundles, wishlist, cart, reserve-in-store mock, checkout mock, order history, and account flows.
The mirror uses deterministic local product data and local SVG product/media assets. There are no external runtime calls, no real payment processing, and no live B&H dependencies.
Key User Flows
Seed Row Counts
Benchmark Users
alice.j@test.combob.c@test.comcarol.d@test.comdavid.k@test.comTestPass123!Tasks
WebSyn Port
40015Verification Summary
200POST /reset/bh_photoreturned ready successfullyinstance/bh_photo.dbandinstance_seed/bh_photo.dbmatched after reset and after container restart8ba7a9d1ca30047959cc5ae9da9418f2Screenshot Paths
C:\Users\34475\Desktop\VScode\WebHarborRepo-bh\sites\bh_photo\scraped_data\submission_reviewHF Asset Status
HF asset PR is open and pending merge: https://huggingface.co/datasets/ChilleD/WebHarbor/discussions/28
This GitHub PR is opened for code review first. The local
instance_seedDB and static assets were prepared locally and uploaded through the HF asset workflow.Known Limitations
.assets-revisionupdate still depends on HF asset PR mergeManual Review Notes