# Phase 3: Core Card Dashboard - Context

**Gathered:** 2026-02-27
**Status:** Ready for planning

<domain>
## Phase Boundary

Deliver the primary card-grid dashboard view for recipients with glance-critical shipment fields and refresh controls. This phase covers card composition, grid behavior, refresh interactions, and state handling for missing/partial data within the dashboard view.

</domain>

<decisions>
## Implementation Decisions

### Card information hierarchy
- Recipient name is the top-most primary line on each card.
- Shipment status is shown as a color-coded status pill with short text.
- Status date appears inline with status and is right-aligned.
- Latest note appears as a single-line truncated preview.

### Grid density and layout behavior
- Default to comfortable card density.
- Use responsive auto-fit columns with a minimum card width.
- Long recipient/item text is truncated with ellipsis, with full text shown on hover tooltip.
- Card ordering uses existing projection order in this phase (no new sort controls).

### Refresh interaction model
- Per-card refresh control appears only on selected/hovered cards.
- Refresh-all is a floating action button near the grid.
- During per-card refresh, show inline spinner and disable that card's refresh control.
- On per-card refresh failure, show inline error chip with retry affordance.

### State visuals and edge cases
- Missing first-item image uses a consistent placeholder thumbnail.
- If latest note is empty, hide the note row entirely.
- Show stale indicator as a subtle timestamp badge only when data is older than 12 hours.
- For partial data, render available fields and mark missing sections as "Missing".

### Claude's Discretion
- Exact visual styling (spacing, typography, iconography) while preserving scan speed and hierarchy.
- Exact animation/motion behavior for loading and refresh transitions.
- Specific wording for transient UI labels beyond locked terms above.

</decisions>

<specifics>
## Specific Ideas

- Glanceability is the top priority: users should confirm recipient shipment state in under 10 seconds.
- Preserve clean grid alignment even with long text and incomplete data.

</specifics>

<deferred>
## Deferred Ideas

None - discussion stayed within phase scope.

</deferred>

---

*Phase: 03-core-card-dashboard*
*Context gathered: 2026-02-27*
