16 · Your day
See the day in order. Decide what closes it.
The first screen of the morning is a decision list rather than a dashboard. Every row states what it wants, why it is there now, and what stops until it is done, and its first action goes to the act rather than to the room. What the engine settles on its own stops well short of your calendar.
Nothing here closed itself. A deadline leaves this board when you act.
The question in the room
“It is 8:40 and nine matters are open. What actually wants me before lunch, and what is safe to leave?”
How it works
The mechanism, not the promise.
What the morning looks like
Four registers, a budget, and folds that state what they hold
Four registers: what needs you, what moves the book forward, what you are waiting on, and a supervisor's roster, absent unless the server says you supervise. Counts come off one snapshot. Six rows stay visible, the rest fold by matter, and dated work never folds.
The decision verb comes first, the taxonomy moves down
Each row opens with one verb: Calendar, Review, Re-scan, Log time, Top up, Send. The verb is derived from the action the row resolved to, so it cannot promise a click the row lacks. Write-path prefixes are stripped and the kind moves to the caption.
One brain behind the board, the brief and the email
ShippedOpen tasks are reduced to stories by one deterministic module with no model in it and no clock read of its own, so the app, the daily brief and the notification cannot tell three different stories about the same day.
Why a row is there
A second line that has to be provable
A row says why this one before the next, from a routed model over recorded propositions. It points, never transcribes: a quote survives as a verbatim substring of a recorded one, the pincite is the assertion's page. It writes one field, never the ordering timestamp.
Four classes decide what may ring
Every kind is an obligation, an idea, plumbing, or owed by an outsider. An obligation has a person or clock behind it and may notify. An idea never rings, badges or mails, and keeps a named home. Unrecognized kinds default to obligation; nothing is deleted.
A landing, or a written reason there is none
A hundred and sixty-six task kinds each name their surface, the metadata key holding their subject, and whether they promise an action in the row. Precedence resolves as data rather than by a URL builder, and a destination that cannot render carries its reason instead.
One key per condition, and what a re-scan may not do
Every candidate carries a stable key, so a re-scan refreshes the open row rather than minting another. A dismissed row is left alone; a person-resolved one is never reopened. Only a row the engine closed may come back, so a retainer can run low twice.
What the machine will not decide
A deadline leaves the board when a person acts, and never counts from today
ShippedA litigation deadline runs from a trigger, service, entry of judgment, a filing, under a cited rule an attorney confirms, and reaches this board as a suggestion to calendar with its derivation stored beside it. Two recorded acts stop the reminder: met, and cancelled.
A detector proposes; it does not act
ShippedThe task table is a proposal queue. Acting on a row hands the machine no arguments the client authored: the server reloads the row, compiles them from the authoritative record, then enters the same authorization, conflict, confirmation and audit chain every other surface runs.
A floor three layers deep, and a snooze that cannot outrun a date
Dated and ethics-critical kinds cannot be muted, digested away or buried by a learned preference, enforced at the miner, the route and the predicate every channel calls, so a row reaching the settings table another way is inert. A snooze is clamped to its runway.
The queues behind the board
Runs, in four states, with the effect named
Running work has its own board: what needs you, what is running, what is waiting, what finished. A row carries whether a person, trigger or proposal started it, and what its next step would do, from the capability's declaration. A stalled run is named.
Mail nobody could place still lands somewhere
A verified inbound message the router could not attach to a matter was discarded. It now lands in a firm inbox with its sender, its channel, a triage classification and a matter picker filing it through the same pipeline as mail that routed itself.
A request that says why, and where its date came from
An ask to a client carries why the team needs it, what an answer must contain, and its date's basis. No date is shown bare: a court rule is named, an attorney-chosen date says so, and a basis-free date says it is no court deadline.
The matter's own pulse
A paused matter goes quiet; its dates do not
Undated work on a paused matter leaves the attention lanes: the pause was deliberate and hygiene waits. Dated work is untouched, and the statute and conflict screen stay on the clock by kind; a court does not pause when a firm does. Holdbacks are counted.
Coming back to a matter you left
One bounded read answers the three re-entry questions: what you were in the middle of, what people and the record did while you were away, and what you owe within the week. It runs on counts and short lines, and a read failure fails closed.
Putting the desk down
The evening sweep groups the day's audited work by matter, finds billable activity unbilled that day, lists what you left open, and stages one move for tomorrow. Today is the firm's calendar day. It never writes time, and opening a file is attention, never work.
Refusals
What it will not do, and why.
- Close a litigation deadline because it has gone stale.
- Two statuses stop a reminder, met and cancelled, and both are acts a person recorded. A missed date keeps firing as overdue for as long as it stands, and an extended one moves and reminds again on its new date. Disposing of a deadline runs through the confirm gate like any other consequential act. This was refused deliberately rather than left unbuilt: a deadline that quietly leaves a board is indistinguishable, on every screen, from one that was handled.
- Act on what a detector found.
- The task table is a proposal queue and nothing more. Anything with an effect outside the record reloads the row on the server, compiles its arguments from the record rather than from the caller, and enters the attorney confirm gate. A detector's job ends at raising the question.
- Count a date from today.
- A litigation deadline runs from a real trigger event under a cited rule, and today is not a trigger. Where the trigger was never recorded, or the forum is not modelled, the answer is no date at all rather than one that reads authoritative because it has a number in it.
- Let one row that would not write take the rows behind it.
- Every candidate is attempted even after one fails, because array order is only the order the detectors happen to be listed in, and a deadline reminder should not be lost behind an unrelated write fault. The pass still fails as a whole: a condition that was not recorded is not a condition the auto-close pass may reason about, and the operator is told how many writes failed rather than that a detector did.
- Quietly undo a snooze you set.
- A snooze that has not elapsed is a person's decision to set something aside, so it is dropped before triage rather than after, where re-raising it would silently overrule them. The one thing a snooze cannot do is outrun the date behind it: inside a week of the date it can reach tomorrow, further out it stops three days short, and a dateless deadline alarm cannot be pushed past seven days.
- Silence a deadline because you keep waving it away.
- The learning loop notices repetition and proposes, after at least five dismissals with none acted on, spread over a fortnight rather than one angry inbox-zero minute. It will not propose silence for a dated or ethics-critical kind however often it is dismissed. Waving away a deadline reminder six times is a reason to worry about the lawyer, not a reason for software to stop telling them.
- Report a quiet day it could not read.
- A lane whose read failed says so, and the zero underneath it means unknown. Telling an attorney their day is clear on the strength of a broken query is the one failure these surfaces may never have.
- Ring a bell for its own thinking.
- A new line of attack, a suggested authority, a valuation that moved: each is real and none of them is an interruption. Their worth is in being found while you are doing that work, so they live on the surface that owns it and never notify. Scrubbing them off an attention read without giving them a home would be the dishonest half of that trade, so every one of them has a named home. A build-time check fails when a kind that can be written belongs to no class at all.
- Send a second morning email it cannot prove never arrived.
- A durable once-only claim is taken before the provider is contacted, and only a proved rejection releases it. An ambiguous answer from a provider is not a failure, and treating it as one is how a client receives two copies of something already sent.
- Promise an action the screen in front of you cannot perform.
- Where a platform cannot render the exact subject, that gap is written down for that platform in plain words, naming what the row's own detail carries instead. A row with no safe action states the wait rather than wearing an action's styling over nothing.
One record
Nothing here stands on its own.
What feeds it
- The matter record
- Deadlines and their stored derivations
- Discovery findings
- Client requests and inbound mail
- Workflow runs and the waits they sit on
What it feeds
- The daily brief and the morning email
- Deadlines
- Drafting
- The chase board
- The audit trail
Limits
What this does not establish.
- Closing a row in place is uneven by kind. A hundred and sixty-six kinds carry a named landing surface; about a dozen of them close from the row itself, and the rest take you to the surface that owns the decision. Giving every kind a closing act is planned work rather than shipped work.
- A detector reports a condition it can read on a record the firm already holds. A matter nobody has recorded anything on raises nothing at all, and quiet is not coverage.
- The why-now second line is off unless a firm turns it on, and it is written only where the matter holds a fact record to check the quotes against. Where the firm's routed spend for the day cannot be read, it refuses rather than proceeding.
- Counts on these surfaces are the size of a list. Where a read failed the honest answer is unknown, and a zero under a failed lane is not a clear day.
- The per-matter row budget is held by measurement rather than by a structural ceiling, so a genuinely busy matter carrying many distinct kinds will run past it.
Check the work before you believe it.
Run a sample manifest in your own browser, or read where publication refuses for want of evidence.