WI-030 · Accepted Sprint Plan · sprint-5-demand-recovery

Sprint 5: Demand/Recovery POC - QR demand, watch/offer hooks, disposition, auction-outbound

queued P1 medium risk   Owner: TBD   0% · 0/5 tasks complete

Gates: F1 F2 F3 F4 F5 Requirements: REQ-DEMAND-001 REQ-DEMAND-002 REQ-DEMAND-003 REQ-DEMAND-004 REQ-DEMAND-005 Updated: 2026-06-22

At a glance

CodeWI-030
PhaseDemand / Recovery POC
Order60 of 93
Story points
Primary surfaceapps/web + disposition/auction
Retires
Depends onSprint 1: Spine POC - identity/status/QR foundation, Sprint 4: Vision Contract POC - scan types, watchlists, overlays, appraisal routing
Blocks
Evidence
docs/product/post-sale-reconciliation.md

Goals

Sprint 5: Demand/Recovery POC - QR demand, watch/offer hooks, disposition, auction-outbound — advances F1, F2, F3, F4, F5 toward its gate(s).

Implementation — what to build

F1 — QR demand signal

  • Buyer QR scans create anonymous item_demand_signals (no buyer identity).

F2 — Watch / offer hooks

  • buyer_offers (pending/accepted/declined/withdrawn/expired) + watch hooks; live with Auth, no payments.

F3 — Unsold routing + outputs

  • Route not_sold items; generate unsold/donation manifests, clearance draft, leftover plan from the status ledger.

F4 — Disposition engine

  • src/lib/troveDisposition.ts: recommendDisposition (priority ladder: wishlist->auction->republish->offers->consignment->clearance/donation) + disposition_recommendations + responsible_disposal terminal route; Workflow Center kanban (/trovesnap/workflow).

F5 — Auction outbound

  • buildAuctionExportCsv: title/desc/category/condition/suggested starting bid (~40% high est)/reserve/tags; seller-reviewed, never auto-published.

Acceptance

  • Demand signals, unsold routing, disposition, and auction-outbound inform reconciliation + recovery decisions.

Checklist

  • F1 QR scan demand signal is captured.
  • F2 Watch/offer hooks are designed.
  • F3 Unsold routing and reconciliation outputs are connected.
  • F4 Disposition engine: buyer offers, disposition recommendations, and a responsible-disposal terminal route.
  • F5 Auction-outbound integration boundary exports unsold lots to external auction pipelines.

Gates & testing

  • F1 QR scan demand signal is captured.
    CODE TEST
  • F2 Watch/offer hooks are designed.
    CODE TEST
  • F3 Unsold routing and reconciliation outputs are connected.
    CODE TEST
  • F4 Disposition engine: buyer offers, disposition recommendations, and a responsible-disposal terminal route.
    CODE TEST
  • F5 Auction-outbound integration boundary exports unsold lots to external auction pipelines.
    CODE TEST

Requirements

Verify (done when)

demand signals + unsold routing + disposition + auction-outbound connect to reconciliation.

Cost triggers

No paid API / infra spend triggered by this item.

Status & editing

queued   Sprint: Sprint 5 - Demand/Recovery POC

Edit status / sprint on the ★ Live Board → — changes are logged live with who / when / why.

Human-in-the-loop

No human tasks linked.

Findings

None recorded yet.

Concerns

None recorded yet.

Risks

None recorded yet.

Tech debt

None recorded yet.

Tools used

No tool calls recorded.

Files & artifacts

No files / artifacts recorded.

Update log

No log entries yet.