Browse the register
The same findings, indexed nine ways. Each value links to the findings list filtered to it, and filters combine: /findings/?problem=unexpected-movement&visibility=intermittent is a link you can send. The vocabularies live in /data/taxonomy.json and grow only when a finding needs a value that is not there yet.
Product · Area · Problem · Visibility · Recommendation · Principle · Severity · Status · Kind
And the other direction: what good looks like, things that work, each linked to the findings it answers.
By product
Whose fault it is: one of our sites, the platform under them, our own prototypes, or the browser the reader uses.
| Product | Findings | Open |
|---|---|---|
| newsroom.sgit.aiThe publication: articles on AI agents, security and publishing, written with an agent newsroom (site) | 45 | 39 |
| dev.vault.sgraph.aiThe vault host: opens a vault by its key and runs its app in a sandboxed frame (platform) | 4 | 4 |
| Newsroom Design LabThis site's own prototypes: four vaults trying the newsroom fixes in three directions | 6 | 4 |
| Firefox on iPadFirefox for iOS on iPad: the browser, not any site in it (browser) | 3 | 3 |
| Claude app (iPhone and iPad)The Claude app on iOS and iPadOS, used here to run and supervise Claude Code sessions, often by voice (app) | 5 | 5 |
By area
Where in the reader's visit it happens.
By problem
What kind of thing goes wrong. A finding can have more than one.
| Problem | Findings | Open |
|---|---|---|
| Uninformed decisionThe reader is asked to decide without what they need to judge it: what it does, what it touches, what could go wrong | 2 | 2 |
| Missing feedbackNo sign of what the system is doing, so the reader cannot tell progress from failure | 1 | 1 |
| Unexpected movementPart of the interface moves when the reader did not move it | 4 | 3 |
| Focus hijackFocus or input goes somewhere the reader did not send it | 1 | 1 |
| Unpredictable controlThe result of a gesture depends on something the reader cannot see or control, such as its speed, so the state they want cannot be reached on purpose | 1 | 1 |
| Lost screen spaceChrome takes screen that the content needed | 2 | 2 |
| Wrong culpritThe reader blames the wrong party: the page for the browser, the site for the platform | 1 | 1 |
| Buried contentWhat the reader came for is pushed down or out of view | 4 | 4 |
| OverloadToo much at once, so nothing is chosen for the reader | 4 | 4 |
| Builder chromeThings for the author, an agent or the build, shown to readers | 5 | 5 |
| Missing signalThe reader lacks what they need to decide: length, format, who wrote it, whether it is real | 10 | 9 |
| Missing way inA page or path the reader needs does not exist | 4 | 3 |
| Dead endSomething that looks like a way in goes nowhere | 6 | 5 |
| Unshareable viewA view the reader can see but cannot link to | 2 | 2 |
| UnlabelledA number, value or control with no label | 5 | 5 |
| Alarming wordingWords that read as a threat, a debt or a trick when they describe something benign | 3 | 2 |
| Silent changeState changes without telling the reader | 2 | 2 |
| Preselected inputAn answer is chosen before the reader chooses | 1 | 1 |
| Unconsented stateSomething is kept or added because the reader opened something | 2 | 2 |
| Missing channelNo way for the reader to reach a person | 3 | 3 |
| Inconsistent factsTwo places disagree about the same fact | 5 | 3 |
| Stale claimA statement about the present that is no longer true | 2 | 1 |
| Hidden until scriptContent appears only after scripts or prior state | 2 | 2 |
| Host trapThe platform behaves unlike a normal page, and the difference is not visible | 4 | 4 |
| Data lossSomething the reader made or kept is lost or cut | 4 | 4 |
| Layout overflowContent wider or taller than the screen it is on | 1 | 0 |
| Untested pathA path shown to readers that nobody has seen work | 1 | 1 |
By visibility
How the reader experiences it: seen every time, sometimes, only felt, or not at all.
| Visibility | Findings | Open |
|---|---|---|
| ObviousEvery reader sees it, every time they reach that point | 18 | 14 |
| IntermittentSome readers, some of the time: depends on a gesture, a device or a state, and is hard to reproduce on demand | 7 | 7 |
| SubtleFelt more than seen: it costs attention or trust, but is not noticed as a bug | 22 | 20 |
| SilentNo symptom on screen: found only by measuring, or by its consequences | 16 | 14 |
By recommendation
The shape of the fix. Findings with the same recommendation are often fixed by the same change.
| Recommendation | Findings | Open |
|---|---|---|
| Explain the decisionBefore asking, say in plain words what will happen, what it touches, whether it can be undone and why it is being asked, with the raw detail one tap away | 1 | 1 |
| Confirm or undoA destructive action either asks first or can be undone, and the safe choice is the easy one | 1 | 1 |
| Show the stateAlways show what the system is doing (listening, working, paused, failed) and keep what was captured until it is safely delivered | 1 | 1 |
| Show what changedWhen the system rewrites what the reader made, mark it, and let them see and undo the change | 1 | 1 |
| Keep the UI stillNothing moves, appears or takes focus unless the reader asked for it; chrome that hides stays hidden until a deliberate gesture | 3 | 2 |
| Make it predictableThe same gesture always gives the same result, and the reader can set the state directly instead of coaxing it | 1 | 1 |
| Cut to the essentialRemove or move down everything that is not the lead, the doors and the next step | 3 | 3 |
| Write for a strangerRewrite the words for someone arriving for the first time | 1 | 1 |
| Show it up frontPut the signal the reader decides by (length, author, short version, real numbers) where they look first | 7 | 6 |
| Say what it isLabel it, in the reader's terms, at the moment it matters | 8 | 7 |
| Start emptyInputs start unselected; record only what the reader did | 1 | 1 |
| Ask firstMake keeping, adding or following a tap the reader makes | 2 | 2 |
| Make it a linkGive the view, filter or label an address, and make it go there | 2 | 2 |
| Build the way inCreate the missing page or path: tag pages, series, start here, a branded 404 | 8 | 7 |
| Open a channelSend it to a person by default, with consent, and give the reader a receipt | 3 | 3 |
| Generate from one sourcePublish once and generate every copy, count and label from one manifest | 4 | 3 |
| Check it at buildMake the release fail when it happens again | 3 | 1 |
| Move it to the workshopTake builder things off reader pages, one link away | 4 | 4 |
| Render on the first loadShow the content in the HTML, with no scripts and no prior visit needed | 2 | 2 |
| Date the claimGenerate or date every statement about now, and mark fixes with their version | 2 | 1 |
| Design for the hostUse the host's own mechanisms (route variable, sg.state, vault snapshot) instead of the browser's defaults | 4 | 4 |
| Test where readers areRun it on the device, browser and host readers actually use before showing it | 1 | 1 |
By principle
The rule it breaks. Each principle has a one-minute test on the principles page.
| Principle | Findings | Open |
|---|---|---|
| A decision comes with what you need to make itAny prompt that asks the reader to decide (allow, pay, share, delete) first says, in plain words, what will happen, what it touches, whether it can be undone, and why it is being asked. The raw detail is there for checking, not as the explanation. | 2 | 2 |
| Work is never lost to one tap or a silent failureWhat the reader has made (a recording, a draft, a note) cannot be destroyed by a single unlabelled tap, and is kept when something fails. Destructive actions ask first or can be undone; failures keep the raw capture and offer a retry. | 1 | 1 |
| The reader can always tell what the system is doingAt every moment the interface shows whether it is listening, working, paused, done or failed. A process that stops shows that it stopped; it never just goes quiet. | 1 | 1 |
| The first screen is for a strangerOn a phone, the first screen says what this is, who it is for, and where to go next. The lead is on it. Chrome, metadata and method come after. | 8 | 6 |
| Nothing moves that the reader did not moveWhile the reader is reading, the interface holds still. Toolbars, keyboards, banners and panels appear, move or take focus only on a deliberate gesture made for that purpose, never as a side effect of scrolling or reading. | 3 | 2 |
| The same gesture gives the same result, so it can be learnedEvery interaction behaves the same way every time, triggered by something the reader controls (where they tap, how far they scroll), never by something they cannot see or repeat (how fast they flicked, what state an animation was in). | 1 | 1 |
| Label the money, and never surprise with a chargeEvery number that is money says what it is. The first time anything is charged, the reader is told before or as it happens. Wording about balances never reads as debt or threat. | 5 | 4 |
| A default is not an answerInputs that ask the reader's opinion start empty. Only what the reader actually did is recorded. | 2 | 2 |
| Ask before keepingNothing is added to the reader's lists, profile or storage because they opened something. Keeping is a tap the reader makes. | 2 | 2 |
| Every view is a linkAnything a reader can see, they can send: a filter, a search, a tag, a desk, a part of a series. The address changes when the view does. | 4 | 3 |
| No dead endsEverything that looks like a way in is one: tags link to pages, missing pages offer the way back, each article ends with one next step. | 7 | 6 |
| One source of truth for every factEach piece of content is published once, at one canonical address. Every count, date and label is generated from one manifest at build time. | 4 | 3 |
| The publication is not the workshopReader pages carry reader things. How the site is built (versions, author tooling, agent strips, release history, admin) lives in one clearly separate area, one link away. | 4 | 4 |
| Feedback reaches someone, and the reader gets a receiptEvery rating, request or 'what is missing' goes somewhere a person reads it, by default and with plain consent, and the reader keeps a receipt of what was sent. | 3 | 3 |
| Say how long, and what kind, before the reader commitsEvery card and every link to a long piece shows reading time and format. Every long piece opens with a short version. | 3 | 3 |
| Say who wrote it, and howThe byline names the person and the way the piece was made (with agents, from voice notes), where the reader looks, not in the footer. The purpose of the publication is one link away. | 4 | 4 |
| Content is visible without waiting for scriptsThe page renders its content in HTML and shows it at once. Scripts enhance; they never gate what the reader can see. | 2 | 2 |
| What a page says about the present is true nowLabels like 'edition of', 'currently', 'broken' and 'live' are dated or generated, and change when the facts do. A fixed problem is marked fixed, with the version. | 4 | 3 |
| A vault app works inside the host, not just on its ownAn app is tested where readers open it: inside the vault host's sandboxed frame. Routing never assigns location.hash, storage goes through the host, and network reads come from the vault. | 3 | 3 |
By severity
High loses the reader or their trust on the first visit; medium costs effort or a return; low is polish.
By status
As of the date each finding was last checked.
By kind
A failure works against the reader; a gap is something they need that is not there.