Skip to content

feat(console): Overview home and Inbox - #793

Merged
V3RON merged 57 commits into
task/767from
task/768
Oct 21, 2026
Merged

V3RON merged 57 commits into
task/767from
task/768

Conversation

@V3RON

@V3RON V3RON commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Closes #768

Status

Implement: done (179/179 Chromium console lane) Review: round 2 and fix-check passed Hardware: n/a Gate: waiting for the stack

Built: Overview (five numbers, Needs you, Capacity, two charts, Fleet's workers table, "Could not check"), Usage in the shared frame, the Inbox (three groups, group chips, the drawer at /inbox/<key>, the sidebar problem count), and the docs.

Done when

  • pnpm test:console --project=chromium passes, and CI's Console check passes in every browser. Checked: 179/179 Chromium locally; Firefox and WebKit in CI on the head.

Assumptions

  • Assumption: the Inbox list is no longer paged — the spec gives it three groups and chips and no pager, so every item of a group shows (conservative: nothing is hidden).
  • Assumption: the Inbox has an "All" chip beside the three group chips — it is the default, as on the Leases page.
  • Assumption: the unused master-detail components and CSS left with the old Inbox layout were deleted so Fallow stays green.
  • Assumption: an absent phone whose record carries no absentReason — it is titled (not-present), the plain reason, so the title never prints undefined.
  • Assumption: EXPIRING_UNDER_MS stays private to model/leases.ts, which exports isExpiring instead; nothing else needs the constant.

Review

Spec review: 1 blocking, 1 fixed, 0 notes. Code review: 4 blocking, 4 fixed, 0 notes. Claims review: 6 blocking, 6 fixed, 1 notes.
Rounds: 2. Tokens: 9.0M.
Runs: 15. Cost USD: 18.9714. Agent seconds: 19251.
Assessment: complete

Rejected:

  • spec: several Tests lines have more than one proving test — [nonblocking] extra coverage is not a spec defect.

Written by an agent.

@V3RON

V3RON commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

Review ledger

Runs: 15. Cost USD: 18.9714. Agent seconds: 19251.
Tokens input 1186, output 348817, cache read 58637212, cache write 3219631.
- build implementer: claude-sonnet-5-5 7007 s $4.0296
- build implementer: claude-sonnet-5-5 1639 s $2.0524
- build implementer: claude-sonnet-5-5 3278 s $3.3368
- audit implementer: claude-sonnet-5-5 4356 s $3.0705
- review 1 reviewer: claude-sonnet-5-5 537 s $0.2345
- review 1 spec: claude-sonnet-5-5 165 s $0.845
- review 1 code both: claude-opus-5-5 446 s $2.3673
- review 1 claims: claude-sonnet-5-5 148 s $0.4494
- fix 1 implementer: claude-sonnet-5-5 746 s $0.8648
- review 2 reviewer: claude-sonnet-5-5 328 s $0.2007
- review 2 spec: claude-sonnet-5-5 53 s $0.187
- review 2 code both: claude-opus-5-5 227 s $0.7686
- review 2 claims: claude-sonnet-5-5 62 s $0.1853
- fix 2 implementer: claude-sonnet-5-5 164 s $0.2336
- review fix-check reviewer: claude-sonnet-5-5 95 s $0.1459
Finding outcomes: {"duplicate":1,"fixed":11,"nonblocking":1}. Classes: {"architecture 13":7,"spec Failure modes: could not check hidden":1,"spec: never Nothing needs you on failed read":1,"spec: stale data shown after failed read":1,"specification line delivered differently":1,"testing 3":1,"testing 7":1}.
{
 "findings": [
  {
   "id": "R1",
   "role": "code",
   "class": "spec: never Nothing needs you on failed read",
   "outcome": "fixed",
   "path": "ui/src/state/inbox.ts:38",
   "fix": "a080f908"
  },
  {
   "id": "R2",
   "role": "code",
   "class": "spec Failure modes: could not check hidden",
   "outcome": "fixed",
   "path": "ui/src/screens/overview/index.tsx:213",
   "fix": "a080f908"
  },
  {
   "id": "R3",
   "role": "code",
   "class": "testing 3",
   "outcome": "fixed",
   "path": "ui/src/state/inbox.ts:41",
   "fix": "a080f908"
  },
  {
   "id": "R4",
   "role": "spec",
   "class": "specification line delivered differently",
   "outcome": "fixed",
   "path": "ui/src/screens/overview/index.tsx:165",
   "fix": "a080f908"
  },
  {
   "id": "R5",
   "role": "claims",
   "class": "architecture 13",
   "outcome": "fixed",
   "path": "docs/CONSOLE.md:521",
   "fix": "25c2adff"
  },
  {
   "id": "R6",
   "role": "claims",
   "class": "architecture 13",
   "outcome": "fixed",
   "path": "docs/internal/DESIGN.md:241",
   "fix": "25c2adff"
  },
  {
   "id": "R7",
   "role": "claims",
   "class": "architecture 13",
   "outcome": "fixed",
   "path": "ui/AGENTS.md:84",
   "fix": "25c2adff"
  },
  {
   "id": "R8",
   "role": "claims",
   "class": "architecture 13",
   "outcome": "fixed",
   "path": "ui/src/model/inbox.ts:476",
   "fix": "25c2adff"
  },
  {
   "id": "R9",
   "role": "claims",
   "class": "architecture 13",
   "outcome": "fixed",
   "path": "ui/src/screens/leases/leases.test.tsx:148",
   "fix": "25c2adff"
  },
  {
   "id": "R10",
   "role": "claims",
   "class": "architecture 13",
   "outcome": "duplicate",
   "canonicalId": "R2",
   "path": "docs/CONSOLE.md:252"
  },
  {
   "id": "R11",
   "role": "spec",
   "class": "testing 7",
   "outcome": "nonblocking",
   "path": "ui/src/screens/overview/overview.test.tsx:63"
  },
  {
   "id": "R12",
   "role": "code",
   "class": "spec: stale data shown after failed read",
   "outcome": "fixed",
   "fix": "768625ac",
   "path": "ui/src/state/inbox.ts:49"
  },
  {
   "id": "R13",
   "role": "claims",
   "class": "architecture 13",
   "outcome": "fixed",
   "fix": "768625ac",
   "path": "docs/internal/DESIGN.md:33"
  }
 ]
}

Written by an agent.

@V3RON

V3RON commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

Review notes

Not blocking, not verified. Each is one reviewer's claim.

  • claims: docs/internal/DESIGN.md:33-34 the two edited type-scale rows have extra trailing padding, unlike the other rows.

Written by an agent.

@V3RON
V3RON marked this pull request as ready for review October 21, 2026 09:13
@V3RON
V3RON added this pull request to stack #781 October 21, 2026 09:13
V3RON added 23 commits October 21, 2026 15:42
…t its deadline says ends now; the Leases filter agrees (#768)
…, and the Leases filter says Ending < 5 min (#768)
…ds you panel; with a disconnected worker it shows the panel with that item first, and the link All in Inbox (n) (#768)
…ur Inbox problems with a link to all of them (#768)
…t check: waiting requests and not Nothing needs you (#768)
…hat read failed, and never Nothing needs you then (#768)
…nding soon counts a lease with 4 minutes left and not one with 10 (#768)
…Ending soon, and reads the leases and tokens (#768)
…r's ready device counts as drained, a disconnected worker's devices as offline, a shutdown device as shut down, a deleted one not at all (#768)
V3RON added 26 commits October 21, 2026 15:42
…the item's details; a cleared item says This is no longer in the Inbox. (#768)
…ot check: waiting requests and not Nothing needs you (#768)
…backs and the counts they claimed (#768)

The website console mock names the Inbox.
…he plural, the dotted address and the row width (#768)
… names a read that failed behind an earlier answer (#768)
… the gateway-only Inbox items, no inspector in the design notes (#768)
…ers read is named in Could not check; the drawer replaces the inspector in the notes (#768)
@V3RON
V3RON merged commit 07eff15 into main Oct 21, 2026
23 of 28 checks passed
@V3RON
V3RON deleted the task/768 branch October 21, 2026 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Console: Overview home and Inbox

1 participant