Skip to content

Review: Bandcamp mirror + task verifiers (site by @reacher-z, verifiers by reviewer) (#79) - #104

Draft
TabsPhasers wants to merge 8 commits into
aiming-lab:mainfrom
TabsPhasers:review/pr-79-bandcamp
Draft

Review: Bandcamp mirror + task verifiers (site by @reacher-z, verifiers by reviewer) (#79)#104
TabsPhasers wants to merge 8 commits into
aiming-lab:mainfrom
TabsPhasers:review/pr-79-bandcamp

Conversation

@TabsPhasers

@TabsPhasers TabsPhasers commented Sep 12, 2026

Copy link
Copy Markdown

What this is

Reviewer pass on #79 (Bandcamp mirror, site by @reacher-z): site-quality remediation, grading contract (18 deterministic verifiers + judge_rubric), registry integration as site 25 (port 40024), and final-environment validation. Replaces the author's review/bandcamp-verifiers state with the reviewed/fixed version.

Related PRs

Asset pin note (intentional): bandcamp.tar.gz (sha256 b831ab7eaf465dda3cc8b242fec483d5e742960810d556c07626ad26718dea14, 321 managed members = 320 generated SVGs + instance_seed/bandcamp.db) is uploaded to the HF dataset PR and is byte-identical to the reviewed bundle, but that PR is not merged yet, so .assets-revision in this PR is intentionally left at the current pin. A one-line bump to the HF merge commit will follow immediately after merge (per CONTRIBUTING §7 the bump normally precedes the GitHub PR; flagging this explicitly so the asset side is not missed). Until then, scripts/fetch_assets.sh from this branch will not resolve bandcamp.tar.gz.

Changes

  • Site fixes (from full-page visual QA): stat-pill stretch inside album copy; generated SVG text overflow/clipping (auto-fit font size); single-result grid blow-up (auto-fitauto-fill); native <select> Enter implicit submit; locale-dependent validation bubbles; preview-toggle label (Preview after collapse).
  • Grading contract: 18 deterministic verifiers under sites/bandcamp/verify/ plus an English judge_rubric per task; ground truth stays inside verifiers, tasks.jsonl carries no answer key.
  • Integration: Bandcamp registered as site 25 on port 40024 (websyn_start.sh, control_server.py, Dockerfile, docs in sync); task metadata unchanged vs the author's tasks.
  • Seed: audited seed DB (sha256 2558779a6e90e67eb2aa99554f6df3f5a0d567324c08ff461772762b5c67ec4a); /reset/bandcamp restores byte-identical.

Seed size (major models)

albums 80, artists 40, tracks 400, format_variants 444, merch_items 80, album_tags 320, tags 90, users 4, orders 5, cart_items 9, wishlist_items 16, fan_collection_items 6, labels 10, genres 12, scenes 9.

Verification

  • /reset/bandcamp: byte-identical (md5(instance) == md5(instance_seed)); full-site reset-all 25/25 ready, e.g. {"pid":538,"ready":true,"site":"bandcamp"}.
  • Full-site image (webharbor:pr79-final, 25 sites): control health 25/25 alive; 41000-41024 all HTTP 200.
  • 18/18 tasks PASS on the final review build (bandcamp-007) with the deterministic verifiers, driven end-to-end by native pure-vision actors; 18/18 no-op baselines FAIL healthily (verifier exit 1).
  • Trajectory delivery package: 22 attempts (18 selected + 4 superseded), checker 0 error / 0 warning.
  • Isolation: two concurrent containers do not pollute each other; reset restores the seed.
  • Reviewer framework regression: 88 tests OK (5 skipped).

Known limitations

  • Native <select> popups are not rendered by headless Chromium; tasks remain completable via visible focus + keyboard, and the site-side Enter implicit-submit issue was fixed.
  • Cover/merch artwork is generated SVG (no licensed artwork); layout/text-fit defects were fixed.

Links

Scope notes

  • Included: sites/bandcamp/** (site + verifiers) and the minimal registry/port/docs updates for site 25.
  • Excluded: shared evaluator/runner semantics (unchanged), reviewer runner/evidence-capture changes (none), run artifacts/screenshots/DB snapshots/caches (not in the PR).
  • This is a Reviews #79 replacement PR; no Closes #79.

Blocking checklist

  • HF asset PR ChilleD/WebHarbor discussions#69 merged by maintainer
  • .assets-revision bumped to the HF merge commit; clean fetch_assets.sh resolves bandcamp.tar.gz
  • After merge: refresh provenance/delivery records and re-read CI/checks on this PR

Lxr-max and others added 8 commits September 8, 2026 20:52
…am tone

Drop the artificial 24-tag limit on Discover so tag-filtered tasks reach
their targets, and replace benchmark-facing copy (mock checkout, seeded
benchmark users, About This Mirror) with upstream-style user copy.
…ma fixtures

Rewrite the 18 judge rubrics as deterministic fact checkpoints derived
from the initial database, rework verify_lib around identity/format
invariants, and add seed/schema fixture tests plus a task 9/11
regression test. No question text, mappings, or answers change.
…ayout

Generated SVG (seed_data): auto-fit cover/merch label text so long titles
stay inside the viewBox and backdrop instead of clipping, widen merch
backdrops, and stop truncating merch titles mid-word.
CSS: stop stat pills stretching inside album-copy grid; keep single-item
release/merch grids at card width (auto-fill); show full merch art at its
native 5:6 ratio instead of a 1:1 crop that cut the bottom label; widen
the purchase column and shrink select text so option prices are not
hidden under the dropdown arrow; give the category pill row a visible
scroll affordance; deepen the artist hero overlay so stats stay legible.
JS: ignore Enter on focused selects so it cannot implicitly submit the
cart form with the default variant, and emit English native-validation
messages regardless of browser locale.
Integrate upstream additions (Rotten Tomatoes, Compass, Walmart Careers)
and move Bandcamp from site 23 (port 40021) to site 25 (port 40024):
registry lists in websyn_start.sh/control_server.py stay identical,
Dockerfile EXPOSE and README counts/ports updated, bandcamp app default
port and task web fields moved to 40024.
The shared preview-toggle handler wrote "Preview mock" once a panel was
collapsed again, so every album page showed the wrong label on the second
click. Restore it to "Preview" to match the initial button text.

Found by manual browse after visual QA; cosmetic only, no task verifier or
tasks.jsonl impact.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants