feat(console): TODAY — the estate's triage screen, and the shell moves up to hold it#82
Merged
Conversation
…s up to hold it U4 slice 2 (console RFC D2). An operator opens a console to answer "is anything wrong", not to browse: the landing screen is now the whole estate's triage, and every module is one click away rather than the front door. The shell had to move up for that. It now belongs to the console as a whole (services, nav, Today) and a service contributes only its panels — which also means capability discovery runs for EVERY registry service, not just the open one: triage cannot speak for a service whose capabilities it never asked about. What the screen refuses to do is the design: - it invents no aggregate the contract does not expose — every number is read from the same take-bounded lists an operator would open, so the screen PRINTS its scope rather than implying it saw everything; - a surface it CANNOT read (no ops role, or a call it cannot scope) is a row of its own, grouped per service: blindness during an incident is the most important thing an operator can be told, and five identical rows would bury the real problems; - a surface that dies mid-read is a row too — triage never drops a service quietly; - "nothing found" is said as "nothing in the most recent 50 rows of each surface", which is a different claim from "nothing is wrong", and the console must not make the second. Each row is a deep link: it opens the panel that owns it, ON the service that owns it. Proof: the smoke's three apps — the open one reports the gate a real upload created (and the row deep-links into its panel), the auth-floored and tenant-scoped ones report that the console cannot see them, in the server's own words. 18/18 green, accessibility of the landing screen included; console unit 136. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner
Author
|
Review agent v1 — 2 finding(s). The human decides; hard-stop labels need explicit resolution.
Calibration: mark each finding accepted/dismissed in a reply — dismiss rate >40%/class revises that class (strategy §5). |
R1 caught my own sentence contradicting my own code: the RFC says blindness during an incident is the most important thing an operator can be told, and the row was toned "warning" — sorting below every ordinary failure. A row that says "this list is incomplete" belongs ABOVE the list, so it is now marked `blind` and ranked first, ahead even of danger; its chip reads "cannot see" rather than borrowing a failure's words. R6: dropped a re-check of the condition the filter had just established. 18/18. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner
Author
|
Both accepted. R1 — the finding is that my own sentence and my own code disagreed, which is the worst kind of drift. A row saying the list is incomplete now sorts above the list: R6 — dropped; the filter had already established the condition and the cast bypassed narrowing anyway. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
U4 slice 2 (console RFC D2). An operator opens a console to answer "is anything wrong", not to browse. The landing screen is now the whole estate's triage; every module is one click away rather than the front door.
The shell had to move up for that: it belongs to the console as a whole (services, nav, Today) and a service contributes only its panels. Which also means capability discovery now runs for every registry service, not just the open one — triage cannot speak for a service whose capabilities it never asked about.
What the screen refuses to do — that is the design
Proof
The smoke's three apps, all real:
18/18 green, including the accessibility check of the landing screen itself. Console unit 136 (28 new), kit 64.
The retired
Consoleshell's tests were re-homed rather than dropped: forbidden/refused naming, the no-surface case, and landing on each panel are all asserted at the new level.🤖 Generated with Claude Code