Integrate Craigslist #5 → #60 → #103 with authentic assets and reviewed fixes - #138
Merged
Merged
Conversation
Reviewer deliverable for the Craigslist mirror (site by @FlowRays, PR #5): one deterministic verifier per task under sites/craigslist/verify/, plus verifier_path + judge_rubric in every tasks.jsonl row. No answer key in tasks.jsonl — ground truth lives only inside the verifiers. Deterministic-first: listing-open navigation gate (anti knowledge-shortcut; listings are synthetic) + SQLite DB after-state for the stateful tasks (saved_listings / saved_searches / hidden_listings / messages / new postings / user profile) + answer vs frozen ground truth, LLM only as an anchored check. Validated against the official react agent (agent_demo/agent.py): a no-op run fails all 20 verifiers; on the full 20-task run verifier and LLM judge agree 14/20, and the divergences favor the deterministic verifier (it catches DB after-state and rejects blank/incomplete answers the judge false-positives). Note: verify_0 and verify_3 are limited by a task bug — their save-targets are already in the seed's saved-listings, so the save cannot be verified; the review asks the author to fix those tasks. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…expressible - seed: pre-saved chair is now the Black office chair (id 2), not the Ergonomic task chair (id 1) - task 0's save target must be absent from the initial saved list; the 2006 Accord EX (id 13) stays pre-seeded for task 13 and the Accord pin is explicit. - task 3: retarget from the pre-saved 2006 Accord EX sedan to the non-pre-saved 2011 Accord EX-L (id 15); 2006 EX becomes a near-miss distractor. - verify_0/verify_3: initial->after delta checks (absent initially, present after) replace the after-only check that could not distinguish a real save. - verify_13: KEEP updates to the new pre-seeded furniture id (2). - save-search form: category and max price become user-editable (were hidden empty fields); verify_5 now enforces category=furniture and max_price=200. - README: fix 16-vs-17 site count inconsistency.
…st form, unify saved labels
- search: drop the sqft chip from result cards. The old 'and not is_housing'
guard only suppressed it on category pages while generic query pages (where
tasks 1/4 actually search) leaked listing sqft - an answer shortcut that
lets tasks be answered without opening the posting.
- listings: add POST /listing/<id>/unhide and a 'hidden listings' panel on the
account page; hiding was previously irreversible with no UI to recover.
- post form: tag each field group with its category group and toggle visibility
with a few lines of JS (progressive enhancement; all fields remain when JS
is off). Posting a bike no longer shows bedrooms/sqft/compensation fields.
- templates: unify saved-listing vocabulary - header badge and nav links now
read 'saved' instead of the mixed 'faves'/'favorites'; object-specific
headings ('saved listings', 'saved searches') are unchanged.
…otos + generated placeholders The scraped photo pool only covers apartments/cars/jobs and pick_image dealt pool photos round-robin, so 119/183 listings had no image and others showed a different real item's photo (the 2006 Accord EX carried the 2011 EX-L's photo). - real photos are now used only when the listing title matches the photo's own filename tokens (20 exact matches, incl. the correct Accord for id 13/15). - every other listing gets a deterministic SVG placeholder generated at seed time (category label + title, hash-derived colors) - 183/183 listings have a truthful image, regenerable from seed_data.py alone. - galleries collapse to the listing's own single image; pooling other items' photos into a posting's carousel was part of the mismatch defect.
…l UI and snapshot grading
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Integrates the Craigslist contribution and both review layers, followed by our audited revision. Preserves original commit ancestry and attribution with separate merge commits in this order:
2ae575e).Please merge with a merge commit, not squash/rebase. Existing 41 site ports stay unchanged; Craigslist is appended at port 40041.
Reviewed fixes
HF assets — already merged
60d24cc02061a7fdff15c0684441b1f5e73a33a8.741ef266077cc56c082e5b7dd2df0e43ffa81f7a1c297bb55ac232aabe9e5f5d.Validation
Details:
sites/craigslist/INTEGRATION_REPORT.md.Limits
Secondary LLM judge not configured. Natural-answer parsing has bounded English coverage; source seller claims are historical. No Docker image publication or deployment is included. Existing local preview/dashboard are preserved.
Closes #5
Closes #60
Closes #103