Skip to content

Add Target WebHarbor mirror#51

Open
Lxr-max wants to merge 1 commit into
aiming-lab:mainfrom
Lxr-max:add-target-site
Open

Add Target WebHarbor mirror#51
Lxr-max wants to merge 1 commit into
aiming-lab:mainfrom
Lxr-max:add-target-site

Conversation

@Lxr-max

@Lxr-max Lxr-max commented Jun 5, 2026

Copy link
Copy Markdown

Summary

Implementation Summary

  • Added a new local Target mirror under sites/target/ using Flask, SQLAlchemy, SQLite, Jinja templates, and local CSS/JS.
  • Implemented product search, category browsing, filters, product details, compare, wishlist, cart, pickup/delivery mock checkout, order lookup, account orders/rewards, deals, store lookup, and support/help flows.
  • Registered Target in websyn_start.sh, control_server.py, Dockerfile, and README quickstart guidance.
  • Kept all runtime behavior fully local and deterministic with synthetic products, stores, orders, reviews, support articles, and rewards data.

Seed Row Counts

  • users: 4
  • categories: 12
  • brands: 25
  • products: 156
  • stores: 15
  • store_inventory: 1989
  • reviews: 339
  • orders: 60
  • order_items: 80
  • reward_accounts: 4
  • reward_activities: 20
  • wishlist_items: 16
  • compare_items: 12
  • cart_items: 8
  • deals: 18
  • support_articles: 24
  • support_tickets: 8
  • protection_plans: 312
  • pickup_slots: 45
  • delivery_options: 3
  • payment_mocks: 60

Benchmark Users

Tasks

  • Task count: 20
  • Categories covered:
    • product search
    • category/brand/price filtering
    • cheapest-item discovery
    • product comparison
    • add to cart
    • pickup/delivery selection
    • mock checkout
    • order lookup
    • account orders
    • deals
    • store details
    • support search

Key Routes

  • /, /home
  • /categories, /category/<category_slug>
  • /products, /product/<sku>
  • /deals, /stores, /stores/<store_slug>
  • /support, /help, /search?q=
  • /cart, /checkout, /checkout/shipping, /checkout/pickup, /checkout/payment, /checkout/review, /checkout/confirmation
  • /login, /register, /logout, /account, /account/orders, /account/rewards, /account/wishlist
  • /order-lookup, /order/<order_number>

Verification Commands and Results

  • py -3 -m py_compile sites/target/app.py
  • py -3 -m py_compile sites/target/seed_data.py
  • py -3 -m py_compile sites/target/_health.py
  • sites/target/tasks.jsonl JSONL/schema validation ✅ (20 tasks)
  • docker build -t webharbor:target-pr .
  • docker run -d --name webharbor-target-submit -p 8401:8101 -p 44000-44015:40000-40015 webharbor:target-pr
  • Control server health at http://localhost:8401/health ✅ (16/16 sites alive)
  • Route smoke for /, /home, /categories, /products, /cart, /checkout, /order-lookup, /support, /login, /stores, /deals, /search?q=pickup
  • Real HTTP smoke for login, account pages, filters, compare, wishlist, cart, pickup checkout, confirmation, order lookup, logout ✅ (http-smoke-ok TGT-240061)

Docker Result

  • Docker image built successfully after fetching/extracting the pinned base assets and rebuilding the local Target seed DB.
  • On this Windows machine, the bash helper scripts have CRLF sensitivity, so I used the equivalent documented manual Docker/HF steps instead of relying on scripts/build.sh and scripts/extract_assets.sh directly.

Smoke Test Result

  • Passed for public routes, search/filter flows, product detail, support/store search, login/account flows, compare/wishlist/cart, pickup checkout, confirmation, and order lookup.

Reset + MD5 Result

  • POST /reset/target returned ready: true
  • MD5 matched inside the container after reset:
    • f7dc6396667b9dccb784c8d8612ea672 /opt/WebSyn/target/instance/target.db
    • f7dc6396667b9dccb784c8d8612ea672 /opt/WebSyn/target/instance_seed/target.db
  • Container restart recheck also passed: homepage 200 and MD5 stayed identical ✅

Screenshot Paths

  • sites/target/scraped_data/submission_review/home.png
  • sites/target/scraped_data/submission_review/search_results.png
  • sites/target/scraped_data/submission_review/product_detail.png
  • sites/target/scraped_data/submission_review/stores.png
  • sites/target/scraped_data/submission_review/support.png
  • sites/target/scraped_data/submission_review/login.png
  • sites/target/scraped_data/submission_review/checkout.png
  • sites/target/scraped_data/submission_review/order_lookup.png
  • sites/target/scraped_data/submission_review/deals.png
  • sites/target/scraped_data/submission_review/mobile_home.png

Known Limitations

  • Visual assets are locally generated deterministic SVGs rather than official Target media.
  • No real payment, real checkout, real inventory sync, real delivery order, or live Target API integration.
  • .assets-revision was not modified at this stage; it should only be updated after the upstream HF asset change is merged and a stable merge revision is available.
  • Screenshot capture for authenticated account/confirmation pages was not fully automated in-browser; those flows were instead verified through real HTTP smoke checks.

HF Asset Status

Manual Review Notes

  • This is not a live Target integration; every retail, support, rewards, and order flow is synthetic and deterministic by design.
  • Runtime DBs, screenshots, caches, and the local HF tarball were intentionally left out of the git commit.

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.

1 participant