Where: README.md ("## The product preview", roughly lines 138–153), docs/ARCHITECTURE.md ("## Real vs. sample content" lines 17–39 and "## The product preview" lines 41–52), and ROADMAP.md ("Now" lines 11–17 and "Next" lines 19–26).
What: All three docs describe the /app dashboard as showing sample/mock data and not yet talking to the real backend:
docs/ARCHITECTURE.md L13-15: "This repo doesn't run its own backend or talk to Soroban directly. It either renders sample content, or — for /signin and /signup only — calls the backend's GraphQL API."
docs/ARCHITECTURE.md L41-52 (and README.md's near-identical "product preview" section) describes /app as showing "an escrow activity chart, a category breakdown ... " and says wiring it to the real backend is future work: "so wiring it to the real backend is a matter of swapping the sample data in src/lib/data.ts for the matching queries in src/lib/api.ts".
ROADMAP.md lists under "Now" (not yet done): "Wire the product preview dashboard to the live StellarExpress API instead of src/lib/data.ts sample content", and under "Next" (future): "Carrier-facing views for accepting jobs and posting tracking updates from the marketplace board".
Why it's wrong — this is all already implemented:
src/components/dashboard/authenticated-dashboard.tsx and src/app/app/shipments/[id]/page.tsx already call the real GraphQL functions in src/lib/api.ts extensively: getMe, getMyShipmentsAsSender, getMyShipmentsAsCarrier, getOpenShipments, createShipment, acceptShipment, confirmPickup, confirmDelivery, cancelShipment, getTrackingUpdates, addTrackingUpdate — none of which touch src/lib/data.ts sample content. The dashboard's own on-screen copy already says as much: authenticated-dashboard.tsx line 202 reads "Real shipments tied to your account, pulled live from the API — not sample data."
The stats the docs describe (an escrow activity chart, a category breakdown, average delivery time, open disputes, average carrier rating) don't exist anywhere in the current implementation — the actual stat cards, per authenticated-dashboard.tsx lines 160-165, are just Total shipments / Active now / Delivered / Open marketplace jobs. The escrowVolumeHistory and categoryBreakdown sample arrays that the old chart-driven preview would have used still exist in src/lib/data.ts (lines 116-132) but are now dead — grepping the component tree shows nothing imports them anymore.
The "carrier-facing views for accepting jobs" listed as a future "Next" roadmap item are also already shipped: the Accept button for open marketplace jobs is in authenticated-dashboard.tsx (lines 266-279), and Confirm pickup / Confirm delivery / Cancel / post-tracking-update actions are in src/app/app/shipments/[id]/page.tsx (lines 246-330).
Concrete impact: a contributor reading these docs to orient themselves is actively misled about what's real vs. sample, and about what's left to build — they'd think the dashboard is a static mockup when it's a live, backend-connected feature with real mutations (creating/accepting/cancelling shipments, confirming pickup/delivery, posting tracking updates).
Suggested fix direction:
docs/ARCHITECTURE.md: update "Real vs. sample content" to note /app and /app/shipments/[id] also call the real backend, and rewrite "The product preview" section to describe what's actually rendered (stat cards, real shipment lists, the marketplace board with Accept, the shipment detail page with its status stepper and tracking form).
README.md: rewrite the "product preview" section to match.
ROADMAP.md: move "Wire the product preview dashboard to the live StellarExpress API" and the marketplace accept/tracking-update item to "Shipped" (dispute-flow UI and the wallet-connect flow genuinely remain unshipped and can stay where they are).
Labels: documentation
Where:
README.md("## The product preview", roughly lines 138–153),docs/ARCHITECTURE.md("## Real vs. sample content" lines 17–39 and "## The product preview" lines 41–52), andROADMAP.md("Now" lines 11–17 and "Next" lines 19–26).What: All three docs describe the
/appdashboard as showing sample/mock data and not yet talking to the real backend:docs/ARCHITECTURE.mdL13-15: "This repo doesn't run its own backend or talk to Soroban directly. It either renders sample content, or — for/signinand/signuponly — calls the backend's GraphQL API."docs/ARCHITECTURE.mdL41-52 (andREADME.md's near-identical "product preview" section) describes/appas showing "an escrow activity chart, a category breakdown ... " and says wiring it to the real backend is future work: "so wiring it to the real backend is a matter of swapping the sample data insrc/lib/data.tsfor the matching queries insrc/lib/api.ts".ROADMAP.mdlists under "Now" (not yet done): "Wire the product preview dashboard to the live StellarExpress API instead ofsrc/lib/data.tssample content", and under "Next" (future): "Carrier-facing views for accepting jobs and posting tracking updates from the marketplace board".Why it's wrong — this is all already implemented:
src/components/dashboard/authenticated-dashboard.tsxandsrc/app/app/shipments/[id]/page.tsxalready call the real GraphQL functions insrc/lib/api.tsextensively:getMe,getMyShipmentsAsSender,getMyShipmentsAsCarrier,getOpenShipments,createShipment,acceptShipment,confirmPickup,confirmDelivery,cancelShipment,getTrackingUpdates,addTrackingUpdate— none of which touchsrc/lib/data.tssample content. The dashboard's own on-screen copy already says as much:authenticated-dashboard.tsxline 202 reads "Real shipments tied to your account, pulled live from the API — not sample data."The stats the docs describe (an escrow activity chart, a category breakdown, average delivery time, open disputes, average carrier rating) don't exist anywhere in the current implementation — the actual stat cards, per
authenticated-dashboard.tsxlines 160-165, are just Total shipments / Active now / Delivered / Open marketplace jobs. TheescrowVolumeHistoryandcategoryBreakdownsample arrays that the old chart-driven preview would have used still exist insrc/lib/data.ts(lines 116-132) but are now dead — grepping the component tree shows nothing imports them anymore.The "carrier-facing views for accepting jobs" listed as a future "Next" roadmap item are also already shipped: the Accept button for open marketplace jobs is in
authenticated-dashboard.tsx(lines 266-279), and Confirm pickup / Confirm delivery / Cancel / post-tracking-update actions are insrc/app/app/shipments/[id]/page.tsx(lines 246-330).Concrete impact: a contributor reading these docs to orient themselves is actively misled about what's real vs. sample, and about what's left to build — they'd think the dashboard is a static mockup when it's a live, backend-connected feature with real mutations (creating/accepting/cancelling shipments, confirming pickup/delivery, posting tracking updates).
Suggested fix direction:
docs/ARCHITECTURE.md: update "Real vs. sample content" to note/appand/app/shipments/[id]also call the real backend, and rewrite "The product preview" section to describe what's actually rendered (stat cards, real shipment lists, the marketplace board with Accept, the shipment detail page with its status stepper and tracking form).README.md: rewrite the "product preview" section to match.ROADMAP.md: move "Wire the product preview dashboard to the live StellarExpress API" and the marketplace accept/tracking-update item to "Shipped" (dispute-flow UI and the wallet-connect flow genuinely remain unshipped and can stay where they are).Labels: documentation