Job card: the same row as a standalone dashboard VIEW
Opened 0 notifications · 3 unread. The island is live.
One background job or inbox notification as a row, a
thin shell over the ListItem grammar that invents no new
row anatomy:
Leading = the job state.success / warning / error ride the ListItem’s
canonical status mark (shape + color dual-coding); running is a live
Spinner; queued is a muted clock: waiting is not a
status, so it takes no warm color and no cyan.
Trailing = the time. The relative label uses the
Timeline time idiom (display label + machine dateTime
surfaced on the row). An unread group count rides an accent
Badge.
Read vs unread lives in the INK. Unread rows keep the ListItem’s full voice;
read rows dim to muted ink at regular weight. Never a left-rail, never a wash;
law §6 keeps status in the leading mark, and the selection wash stays reserved
for selection.
JobCard is a view
The catalog’s “JobCard” is this same row hosted alone on a lifted card surface (the
second example above), a view, not a second component. Same rule as the approval
views: presentation contexts are configs.