SDLC-477 · UI & layout

The Standup Console

A read-only, board-scoped screen for running a daily standup inside Janus. It shows what moved since yesterday, what's still in flight, what's blocked and who was quiet — as a single list of rows ordered closest-to-done first, so attention goes to finishing rather than starting.

01 Layout

Seven stacked regions, full width, no side panel. Everything above the body is control; everything below it is context.

A
Header — title + board · search · People facet · Boards facet · window · grouping tabs · theme · full screen
B
Applied filters — removable chips + “Clear all” · item and people counts (hidden when no filters are set)
C
Pulse bar — proportional segments: Moved · Closed · New · Blocked · Stalled · Other. Each toggles its group
D
Body — one card per section, each holding rows. Section = status (Flow), activity bucket, or person
E
Quiet roster — avatar chips for members with no activity in the window
F
Shortcut bar — visible affordance for every keybinding · Copy as markdown · Share link

Principles

02 The full view

janus.silqtech.ai/project/SDLC/standup?board=SDLC&window=24&group=flow&people=priya.raman%40silq.net,gomathi.sankar%40silq.net
Standup SDLC · Delivery Board · Mon 9 Aug
🔍 Search key, title, person… People 2 Boards ▾ Last 24h ▾ FlowActivityPeople
PRPriya Raman GSGomathi Sankar Other hidden Clear all 21 items · 9 people · updated 12s ago
12 Moved 5 Closed 3 New 2 Blocked 4 Stalled 3 Other
Segment width = share of the window. Click to show or hide a group. 8 of 21 opened
Review3 closest to done — finish these first 2 of 3
SDLC-482 Repair malformed ticket keys from pre-SDLC-413 rows In Progress Review GS #339 2c·1pr11:08
SDLC-451 Refresh Janus worklogs on an existing snapshot blocked PR 4d in status 3c08:55
Open → In ProgressPriya Raman · manual · Fri 08:55
2 comments · 1 PR linkedin the last 24h
Blocked by SDLC-436 — capitalization wizard HR-data skip open · unassigned
Pull requests ticket-manager #312 · CI green
AI comment summary Snapshot payload carries the HR inputs, but Build drops the HR dump sheet — needs the wizard's skip path before this can move.
Context Critical · Sprint 24 · Task · in status since 5 Aug · created by Gomathi Sankar
QA2 0 of 2
In Progress6 2 untouched for 3d+ 0 of 6
SDLC-465 addTicketToSprint script run endpoint Open In Progress PR1c08:12
+ 4 more · J to continue
Open10 furthest from done — collapsed
Quiet in this window 4 AKArun Kumar SMSneha Mehta DVDeepak Verma NLNisha Lal No ticket activity in 24h — still on the roster
JK move expand / collapse O open ticket / search G grouping ⇧F full screen Copy as markdown · Share link

Default state — Flow grouping, 24-hour window, two people filtered, one row expanded.

03 The row

One line, 37px. Two elements are links, one is a disclosure control, the rest is read-only signal.

SDLC-451 Refresh Janus worklogs on an existing snapshot Open In Progress PR 4d in status #312 3c·1pr 08:55
  1. 1Age bar — 3px. Neutral, amber past the stale threshold, red past double it. Stalled work registers peripherally instead of being read.
  2. 2Disclosure chevron / . Clicking anywhere on the row except a link does the same thing.
  3. 3Ticket key — a link to the ticket page. ⌘-click opens a new tab.
  4. 4Title — the same link, and the target people instinctively aim at.
  5. 5Transition pair — from → to for the last hop in the window. Absent when nothing moved.
  6. 6Priority glyph and avatar — glyph shown only for critical and high.
  7. 7Signal tail — stale badge, CI dot with PR number, activity counts, last-touched time. Shed right-to-left as the viewport narrows.

Expanded

Opening a row reveals four read-only blocks and no controls: the transition timeline with actor and source, blockers, pull requests with CI state, and the AI comment summary plus a context line. Its only interactive elements are links — the blocker key and the PR. Anything you want to do happens on the ticket page.

04 Grouping

The same rows, filters and controls; only the section headers change. Switched by the header tabs or G.

Flow default
Review3 items
QA2 items
In prog6 items
Open10 · collapsed
Activity
Moved12 items
Closed5 items
New3 items
Other3 items
People
PRPriya Raman4
GSGomathi Sankar3
AKArun Kumar2
··Unassigned — pinned last

Flow orders sections by the board's own statuses, closest-to-done first. Activity groups by what happened in the window. People groups by assignee, volume-ordered, with Unassigned always last.

05 Visual language

Nothing bespoke — the screen is assembled from the existing design system.

ElementTreatment
Radius6px for cards and sections, 4px for chips and controls, 2px for inline code, pills fully rounded.
TypeFixed scale — 11 micro · 12 labels · 13 rows and body-compact · 14 body · 16 headers. Monospace for keys, counts and times only.
Surfacesbackground for the page · card for sections · muted for section headers and expanded rows · accent for row hover.
StatusThe existing status chip — tinted wash with a coloured leading dot and default text. Colour resolves from the ticket's own board configuration.
PriorityThe existing chevron glyph, where shape encodes rank, so it reads without colour and at 14px.
EmphasisOnly three accents: primary for links and the focused row, amber for stale, red for blocked. Everything else is neutral.
MotionExpand/collapse only. Rows never reorder while the screen is being read.

Dark mode

Every value is a theme token, so the same layout renders in the app's dark theme with no changes.

Review3 2 of 3
SDLC-482 Repair malformed ticket keys from pre-SDLC-413 rows In Progress Review GS #339 2c·1pr11:08

06 Behaviour

AspectBehaviour
FiltersBoard, window, grouping, people, pulse groups, search, stale threshold and sort all live in the URL, so the view is linkable and returning from a ticket restores it exactly.
NavigationKey and title are real links. Plain click navigates to the ticket; ⌘/Ctrl-click and middle-click open a new tab; Back returns to the console on the row you left.
KeyboardJK move · expand · collapse a section · O open · / search · G grouping · 16 pulse groups · ⇧F full screen · Esc closes the innermost thing.
FreshnessData refreshes in the background but the view holds still; changes surface as a “3 changes · refresh” chip rather than reordering rows mid-sentence.
Quiet MondayWhen nothing moved, the in-flight sections still render and the quiet roster shows everyone — the screen is never blank.
Narrow screensThe row sheds its tail right-to-left — time, then counts, then the transition pair — keeping chevron, key, title, avatar and age. Facets collapse into one Filters button.