# Ticket: Show compact physical-card qualification status

Status: complete
Type: ticket
Updated: 2026-08-06
Next Action: none; use the card-level surface for current and future specimens
Parent: work/wp/active/wp-build-standalone-pi-sd-qualification-operator-application.md

## Problem

The dashboard and current execution tree are organized around individual
campaign records. Operators cannot open one compact status surface for a
physical SD card and see every qualification campaign/phase in chronological
order, its current phase, or the underlying campaign trees and evidence links.

## Expected Behavior

The dashboard shows compact top-of-page shortcuts for every physical card with
at least one nonterminal qualification campaign. Each shortcut opens a
physical-card qualification status page. That page presents all campaigns for
the card in chronological order as a compact process tree; accordion details
show phase progress and link to the full campaign without duplicating or
rewriting historical evidence.

## Acceptance Criteria

- [x] Active-card shortcuts are visible near the top of the authenticated dashboard.
- [x] Each shortcut identifies the physical sample, card family, active phase count,
      current state, and concise progress.
- [x] A card qualification status route aggregates campaigns only through exact
      `CardSample`/`CampaignSample` relationships.
- [x] All campaigns are ordered oldest-to-newest and rendered as accessible native
      accordions, with the current phase expanded by default.
- [x] Each phase shows state, run/plan progress, assignment/controller scope,
      current activity, and a link to the full campaign.
- [x] The layout remains compact and usable at desktop and mobile widths.
- [x] Automated tests cover aggregation, ordering, access control, links, progress,
      and empty/no-active behavior.
- [x] Production deployment is web-only and does not interrupt Controller A or its
      qualified worker containers.

## Verification

Run targeted and full Linux-container tests, inspect the exact production image,
and use MCP Playwright at desktop and mobile widths to open an active KEXIN card
qualification, exercise the accordions, and confirm campaign chronology and links.

Completed evidence: `work/evidence/sd-qualifier-physical-card-status-20260806.md`.
