Jordan-Hall / Jordan-Hall/browser
[P2][SHOP-01] Product, variant and offer graph
- Dominant language
- No language data
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Programme: #1
Epic: #27
## Objective
Normalize commerce data accurately enough for cross-source comparison without merging different variants, conditions, sellers or destination-dependent offers.
## Scope
- Distinct `Product`, `Variant`, `Offer`, seller and marketplace/provider records.
- Entity resolution using identifiers/attributes plus uncertainty state.
- Condition, seller reputation/evidence, stock and observation time.
- Price currency, item price, shipping, tax status, fees and destination dependence.
- Delivery estimates, warranty and returns evidence.
- Offer/source freshness and exact listing link/provider object.
- Conflict/affiliate/commercial relationship metadata.
## Data rules
- Missing shipping/tax is unknown, never zero.
- Similar-looking variants/conditions cannot be merged without sufficient evidence.
- Review/rating data cannot silently move between incompatible variants.
## Acceptance criteria
- [ ] Different size/spec/condition variants remain distinct in adversarial fixtures.
- [ ] Every offer preserves seller, source, exact listing, observation time and price components.
- [ ] Unknown price components remain explicitly unknown.
- [ ] Entity-resolution uncertainty is inspectable and can be corrected.
- [ ] Stale offers are visibly marked and refreshable before transaction preparation.
- [ ] Destination-dependent totals recompute for the selected delivery context.
## Dependencies
- DATA-01
- RES-01
**First phase:** P2
**Maturity target:** P4
**Owner:** connectors-domains
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing dependencies DATA-01 and RES-01, then map the Product, Variant, Offer, seller, marketplace/provider, and uncertainty requirements in the issue. Define completion against the adversarial fixtures, preserved offer provenance and price components, inspectable resolution uncertainty, stale-offer refresh state, and destination-dependent total recalculation.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design, data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100