Every job runs the same twelve steps in the same order. The command center is organised by module — what the app can do. This is organised by project — where a job actually is, and what the next move on it is.
Draft. This page only reads; nothing on it changes any data. Each step's status is worked out from the same store that step's own screen writes to, so it agrees with those screens rather than keeping its own copy. Where a step has no honest signal to read yet, it shows a dash rather than inventing a tick — those are the ones to tell me about.
Months. The board shows last month, this month and next month to start with — last month carries the stragglers, so past months show only what is still open. Tick any other month to bring it in. Two things never get filtered out: a job that is genuinely under way (crew booked, material ordered, reports coming in) even though its month is further off, and a job nobody has dated at all. The month box on every row is the same field as Project Admin, so you can fix a date from here.
Both gaps are closed. Every step now opens with the job already in hand — the screens with a project picker select it, the list screens scroll to it and mark it — and there is a way back here from wherever you land. And the Job Sheet step reads a real signal now: the Job Sheet screen has a Mark issued button, so this says built-but-not-out, or issued and by whom, instead of guessing.