TroveSnap Web โ page/tab โ feature breakdown (build list)
What each web page/tab is today and the feature-level work to make it contract-ready
(from built-unwired/demo โ live). Grounded in the route + component audit (see the
UI/UX tracker tab and docs/tracking/ui-readiness.json). Each feature notes the
gate(s) that unblock it and the wave it lands in.
Status key: ๐ข live ยท ๐ก built-unwired (UI exists, demo or bypassing) ยท ๐ partial ยท โช planned. The recurring theme: the UI mostly exists; the work is live-wiring it to the enforced contracts (P2/P3 for vision, P5/P6 for data, the P9 gateway for all writes).
Capture & vision (serves Web + App ยท Wave 3)
- Hunt / new-sale capture ๐ก โ
hunt(demo),EstateSaleForm,PhotoUploader(live).- Wire capture to the P1 scan I/O contract + P2 provider gateway (no direct model calls).
- Bulk capture: multi-photo, queue, progress (the Step-4/5 throughput pain).
- Replace hunt demo data with live sale/candidate data.
- Appraise panel ๐ก โ
AppraisePanel(448L) โ/api/appraise(tier-1 bypass).- Route through P2/P3 (validated
TrustedScanResult) + P8 cost; kill direct Gemini. - No invented comparables (contract-enforced); show provenance + confidence.
- Progressive inference UI (partial โ refine), not "instant full appraisal" (D1).
- Route through P2/P3 (validated
Review, promote & seller workspace (serves Web + App ยท Wave 4)
- Review queue + workflow center ๐ก โ
InventoryReviewQueue(273L),WorkflowCenter(277L), demo.- Back with live P5 candidates; promote via
promoteInventoryCandidate(one-door) under P6 RLS. - Bulk review: select-many, bulk price/tag/approve (high-volume Step-4 pain).
- Keyboard-fast triage; reviewer assignment (P7 actor).
- Back with live P5 candidates; promote via
- Sale workspace ยท item editor ยท publish ๐ก โ
SaleWorkspace/ItemEditor/PublishPreview(live viatroveSnapApi).- Move canonical writes to P6 auth/RLS/domain functions (retire
troveSnapApiwrite path). - Publish = approval-gated; private candidate media vs. published media split.
- Move canonical writes to P6 auth/RLS/domain functions (retire
Sources & import (serves Web + Harness ยท Wave 4)
- Sources dashboard + connectors ๐ก โ
SourcesDashboard(live), Drive/Photos/OneDrive OAuth.- CSRF/tenant-bound OAuth state; D34 secret split; durable media copy; P5 candidate-only writes.
- CSV import wizard ๐ก โ
CsvImportWizard(207L, demo) โ live import-run + P5 candidates; idempotent replay. - Harness ingest (web side of the desktop harness) โ device/tenant register; metadata-only; redact paths.
Marketplace & buyer (serves Web ยท Wave 4)
- Marketplace, map, sale pages, saved searches ๐ก โ
MarketplaceClient(178L),SaleMap,buyers/saved(demo).- Replace demo data with P6 public-safe projections; retire
using(true)RLS โ membership RLS. /api/out: approved-destination check (no open redirect); privacy-safe attribution.- Saved searches + buyer alerts/notifications (live events).
- Replace demo data with P6 public-safe projections; retire
- QR landing (
/go) + outbound ๐ก โ resolve against the Spine QR/identity backbone + P6 data.
Intake (public) (serves Web ยท Wave 4)
- Garage-sale submission + admin review ๐ก โ
GarageSaleSubmissionForm(203L),SubmissionReviewQueue(demo).- Submit โ P5 candidate โ admin review โ promote; spam/quality guard.
Demand & analytics (serves Web ยท Wave 3)
- Demand + analytics ๐ก โ
demand(127L),analytics(185L), demo.- Real numbers from P4 ranking + P8 metrics; disposition / demand-recovery for unsold items (Step-8 pain).
- Client reports / reconciliation (Step-8 pain): per-sale payout report, sold/unsold, fees.
Identity & agent (serves Web ยท Wave 2)
- Login / signup / identity ๐ โ
AuthPanel(demo+live) โ real tenant/membership identity, server-side resolution via the P9 gateway (D33), P6 RLS. - MCP read/candidate tools ๐ก โ
packages/mcp-serverโ P7 actor/tenant + P5 candidate chain; idempotency; drop broad service-role.
Admin & notifications
- Admin: imports + submissions ๐ โ ride the P5/P6 path; bulk ops.
- Notification center ๐ โ
NotificationCenter(106L, demo) โ live events + delivery (P8).
Cross-cutting (applies to every page)
- The P9 gateway (D33) โ all surfaces call a trusted server/edge gateway, never Supabase directly; service-role server-only.
- Demo โ live โ most components read
*DemoData; the build is swapping those for contract-backed data (ademo modeflag can preserve the showcase). - Bulk operations everywhere โ capture, price, tag, approve in batches (the dominant estate-seller time sink).
- Design-system consistency + responsive/density pass (see ui-ux-enhancements).