/am · ranked stack
Today.
One order, severity then age. Stall and Hold are derived: three days with no Hold reason, or a Hold flag with a restart date. No filters, no tabs.
QueuePreview seed · severity, then age
14items4d
PS 268 · brief stalled 4d
auditorium wrap. No Hold reason. Three days without movement is the AM’s failure, not the designer’s.
!Stalled
Why this is here · derived, never typed
brief.status === 'draft' && ageDays >= 3 && !on_hold → stall_no_holdA draft nobody finished blocks its job silently. Put it on Hold with a reason and a restart date, or finish C, D, and F and submit it to the PM.
Go to PS 268Nothing on this row sends anything.
4d
PS 268 · brief stalled 4d
corridor panels. No Hold reason. Three days without movement is the AM’s failure, not the designer’s.
!Stalled
Why this is here · derived, never typed
brief.status === 'draft' && ageDays >= 3 && !on_hold → stall_no_holdA draft nobody finished blocks its job silently. Put it on Hold with a reason and a restart date, or finish C, D, and F and submit it to the PM.
Go to PS 268Nothing on this row sends anything.
9d
Riverdale Prep · brief stalled 9d
lobby rebrand. No Hold reason. Three days without movement is the AM’s failure, not the designer’s.
!Stalled
Why this is here · derived, never typed
brief.status === 'draft' && ageDays >= 3 && !on_hold → stall_no_holdA draft nobody finished blocks its job silently. Put it on Hold with a reason and a restart date, or finish C, D, and F and submit it to the PM.
Go to Riverdale PrepNothing on this row sends anything.
3d
Fordham Pharmacy · no movement in 3d
Same stage, no Hold reason. Name why it is still or put a restart date on it.
!Stalled
Why this is here · derived, never typed
last_move_days >= 3 && !on_hold && wait IN (vyynl, moving) → stall_no_holdClient waits already have nudge rows. This row is the invisible one: work that looks live and is not.
Go to Fordham PharmacyNothing on this row sends anything.
over
JHS 118 · designer due 2026-06-26
shade repair. Designer delivery date has passed.
▸Due from us
Why this is here · derived, never typed
designer_due within 5 business days OR designer_due < today → designer_due_overdueThe due date is when the designer must deliver, not when the client wants it installed. Install is a PM booking.
Go to JHS 118Nothing on this row sends anything.
15d
PS 268 · signature not countersigned
Sent 19 Aug. Past the 14 day line, so leadership can see it.
⏸Waiting on client
Why this is here · derived, never typed
proposal.status === 'sent' && !proposal.signedAt → waiting_on_client('signature')The proposal went out 19 August and no countersigned copy has come back. Nothing set this state by hand: it is computed from the proposal row every time the queue renders, so it clears itself the moment the signature lands.
Go to PS 268Nothing on this row sends anything.
6d
IS 211 · access not confirmed for Thursday
Custodian unreachable. Nudge 1 drafted 22 Aug, still unsent.
⏸Waiting on client
Why this is here · derived, never typed
install.scheduled && !access.confirmedAt → waiting_on_client('access_confirm')An install is on the calendar for Thursday and nobody at the school has confirmed the crew can get in. This is the branch with no source column in the schema yet, so it is the first thing to break when the mocks come off.
Go to IS 211Nothing on this row sends anything.
2d
PS 115 · mockup r2 sitting with design
You logged it 24 Aug. Design has not picked it up.
▸Waiting on Vyynl
Why this is here · derived, never typed
issues.some(i => i.status === 'open') → waiting_on_vyynl('issue_open')You logged an issue and it routed to design. The job reads as blocked on us, not on the client, so no nudge is drafted and no clock runs against the school.
Go to PS 115Nothing on this row sends anything.
2h
IS 211 · access issue cleared, the client does not know
Stays here until you log the callback.
!Callback owed
Why this is here · derived, never typed
issue.status === 'cleared' && !issue.client_notified_at → callback cardThe PM cleared it two hours ago. To the school nothing has changed, because nobody has told them. The row will not leave this queue until the callback is logged, which is the only thing that sets client_notified_at.
Go to IS 211Nothing on this row sends anything.
Thu
IS 211 · balance due on install day
Deposit paid 12 Apr. Read only on this surface.
$Money
Why this is here · derived, never typed
installCompletedAt && !balancePaidAt → money('balance_due')Money is the lowest band in the sort, so it only surfaces once nothing client-blocking or internally blocking is ahead of it. You can see the balance here but you cannot touch it: money is edited where money is owned.
Go to IS 211Nothing on this row sends anything.
—
2 accounts have no next action
Mott Haven Café and Riverdale Prep. Blocks nothing, nags forever.
!Debt
Why this is here · derived, never typed
client_accounts.next_action IS NULL → next-action debtA null next action is legal in the database and loud in the interface. Nothing is blocked by it, no write is refused, and it will sit at the top of this queue until somebody names the next step.
Nothing on this row sends anything.
09-02
Tottenville HS · on hold · solar shades
Production notes never written. Surfaces, measurements, or brand files not attested. Restart 2026-09-02.
⏸Hold
Why this is here · derived, never typed
jobs.on_hold && hold.reason && hold.restart → hold_auditHold is a flag, not a stage. The job stays where it is. A reason and a restart date keep it visible instead of invisible.
Go to Tottenville HSNothing on this row sends anything.
09-02
IS 211 · designer due 2026-09-02
logo blinds. Inside the next five business days.
▸Due from us
Why this is here · derived, never typed
designer_due within 5 business days OR designer_due < today → designer_due_watchThe due date is when the designer must deliver, not when the client wants it installed. Install is a PM booking.
Go to IS 211Nothing on this row sends anything.
8d
Castle Hill Dental · quiet 8d
No stage change. Silence is what clients read as trouble. Draft the weekly update.
✎Weekly update
Why this is here · derived, never typed
last_touch_days >= 7 && wait !== 'debt' → weekly_quietUpdate at every stage change, and weekly on anything quiet. The draft answers where the job is, what happens next, and what you need from them.
Go to Castle Hill DentalNothing on this row sends anything.
Every action on this screen writes a draft. Draft nudge 1 goes out past three days, nudge 2 past seven, and past fourteen the row escalates to the top with leadership visibility. The cadence lives in config. The send button lives with you.