# Work OS V2 - Completion Audit

Date: August 9, 2026
Scope: design goal set and clickable prototype

## Overall status

The design package is complete enough for Nathan's focused product judgment.
The production product is not yet implemented.

## Seven-goal audit

| Goal | Status | Evidence |
| --- | --- | --- |
| 1. Lock the product contract | Complete | Authoritative handoff, 11 laws, reference lock, causal grammar, and law matrix reconciled |
| 2. Convert Mobbin and V1 evidence into product principles | Complete | Focused Mobbin borrow/reject decisions plus explicit tightened-V1 carry, rework, and retire choices |
| 3. Select a distinctive direction | Complete | Switchboard structure plus Causal Loom focus behavior |
| 4. Build an entirely clickable prototype | Complete | Self-contained package and zip |
| 5. Verify controls and safety invariants | Complete | 36-check verifier plus 153-check control audit |
| 6. Publish product and build guides | Complete | Rationale, design guide, internal-tool guide, and implementation handoff |
| 7. Final recommendation and Nathan review | Recommendation complete; Nathan review open | Final recommendation and focused design checkpoint |

## Eleven-law audit

| Law | Prototype evidence | Status |
| --- | --- | --- |
| Bias toward action | Rows, topic moments, people, tape events, and efforts expose local verbs | Complete |
| Delegation is first-class | Editable proposal, approval, live map, rejection, stop, resume | Complete |
| Learn quietly | Restrained learned state, arithmetic, correction, prior read preserved | Complete |
| Memory runs both ways | Present state, actionable Dig, kept and undone promises, coverage and exclusions | Complete |
| Everything says why | Consequence, proof source, pulled-in reason, trace | Complete |
| Attention has scale | Watch, active field, selected consequence | Complete |
| Dense by default | Eight-plus rows and selected line at 1440px | Complete |
| Plain speech | Outcome verbs and no backend ontology in primary UI | Complete |
| Trust is shown | Facts versus maybes, raw receipts, deliberate non-actions | Complete |
| Zero maintenance | No filing, tagging, sorting, or grooming controls | Complete |
| Can't is homework | Failure, research, rehearsal, one-shot grant, expiry | Complete |

## Required-flow audit

| Flow | Status |
| --- | --- |
| Command parse before action | Passed |
| Row expansion and evidence inspection | Passed |
| Fact versus maybe judgment | Passed |
| `say it` with verbatim words and separate machine read | Passed |
| Delegate an effort | Passed |
| Edit and approve an effort proposal | Passed |
| Inspect live effort progress | Passed |
| Stop an effort | Passed |
| Open effort map and rejected result | Passed |
| Run the Dig | Passed |
| Inspect amber undone promise | Passed |
| Inspect kept promise and completion receipt | Passed |
| Inspect source coverage and exclusions | Passed |
| Open people court table and person changeset | Passed |
| Prepare a local person draft without provider contact | Passed |
| Snooze with five-second pointer and keyboard undo | Passed |
| Review outbound draft | Passed |
| Arm and explicitly confirm draft placement | Passed |
| Inspect request and provider receipts | Passed |
| Close the week | Passed |
| Reopen without erasing the close | Passed |
| Trigger a failure and recover | Passed |
| Open a Could do more proposal | Passed |
| Approve one demonstrated one-shot action | Passed |
| Verify grant expiry | Passed |
| Toggle light and dark | Passed |
| Complete core path by keyboard | Passed |
| Complete core path at 390px | Passed |

## Control audit

The expanded verifier starts flows from clean state and exercises every declared
action:

- 153 checks;
- 28 scenarios;
- 44 of 44 `data-action` values exercised;
- 106 distinct visible control names inspected;
- zero missing accessible button names;
- zero unbound visible controls;
- zero external network requests;
- zero browser console errors.

It also verifies:

- command parsing for eight command classes;
- no preselected generated answer;
- no mail-send action;
- UTF-8 without common mojibake;
- fact solid versus maybe dashed;
- command marker contrast in both themes;
- focus return after drawer, say-it, and mobile depth;
- reduced motion;
- no document overflow at 390, 768, 1200, and 1440px;
- mobile full-width drawer and persistent machine strip.
- actionable people, topic moments, and related-object return;
- real five-second snooze expiry with append-only undo evidence.

## Design defects found and fixed

### Command marker contrast

The `>` marker measured below 4.5:1 in light mode. It now uses the stronger
secondary-ink token and passes both themes.

### Focus restoration

`Esc` initially closed depth without consistently returning focus. Focus now
returns to the originating control.

### Fast `Esc` then `Command-K`

Delayed focus restoration could override an immediate command-line shortcut.
Restoration is now synchronous, and the packaged keyboard path passes.

### Dig completeness

The first completion audit treated a static topic timeline as a complete Dig.
The repaired flow now requires an explicit run, exposes present-state objects,
kept and undone promises, source coverage, exclusions, source detail, local
follow-up, and return to the related causal object.

### People context

The first prototype omitted the handoff's people table and person drawers. The
room now includes court state, promises, changesets, resurface rules, related
objects, and local draft verbs.

### Snooze recovery

The first prototype snoozed without the handoff's five-second undo. Pointer and
`u` recovery now append a second event, preserve the snooze receipt, and expire
after five seconds.

### Watch ownership

The room-level review found that Watch overflowed by 494px at 1440px and hid
capability, weekly close, and keyboard help behind horizontal scrolling. Watch
now contains only watched concerns. Working state opens efforts, named failure
opens capability research, the tape owns weekly close, and `?` remains visible
in the line. Watch has zero overflow at 1440px.

### Mobile action language

The compact row previously replaced every local hero verb with `DO`. Mobile now
retains the first operative verb such as `CHOOSE`, `OPEN`, or `RESEARCH`, while
the full outcome remains the accessible control name.

### Tape filter legibility

Tape filters inherited browser-default button styling, producing pale machine
text on a pale control. They now use explicit machine-register states for
selected, idle, hover, and focus treatment.

## Deliverables

- `work-os-v2-clickable-prototype/`
- `work-os-v2-clickable-prototype.zip`
- `work-os-v2-verification.json`
- `work-os-v2-control-audit.json`
- `work-os-v2-dig.png`
- `work-os-v2-people.png`
- `work-os-v2-mobile-dig.png`
- `work-os-v2-room-refined.png`
- `work-os-v2-room-refined-mobile.png`
- `06-work-os-v2-goals.md`
- `07-work-os-v2-implementation-handoff.md`
- `08-mobbin-deep-search-addendum.md`
- `09-work-os-v2-rationale.md`
- `10-work-os-v2-design-guide.md`
- `11-building-useful-internal-work-os-tools.md`
- `12-work-os-v2-final-recommendation.md`
- `13-work-os-v2-completion-audit.md`

## Honest boundary

The package proves interaction design and local prototype behavior. It does not
prove:

- production persistence;
- authenticated writes;
- real source freshness;
- provider integration;
- orchestration execution;
- bridge-backed Gmail draft placement;
- deployment readiness.

Those are the next production arcs and must be verified against real state.

## Remaining gate

Nathan's room-level design judgment remains open:

> What still feels like software you must manage instead of an operator working
> for you?

Production work should begin only after that judgment confirms the room or names
the composition changes needed.
