StatifierBlocks.Editor.Findings (StatifierBlocks v0.6.0)

Copy Markdown View Source

The document-level findings list (ADR-0005 decision 11), rendered as the drawer's Findings tab.

Decision 11 makes the anchor the whole routing mechanism, and the three inline positions - beneath a field, on a slot header, on a block's chrome

  • are rendered by the components that own those positions. What is left for this one is the list view: every finding in the document, in one place, where selecting one selects and reveals its anchor.

Why it is a drawer tab

It shipped as a text block under the canvas, and operator ruling R4 (2026-08-29) retired that position: a list of findings is a grid of rows about the whole document, which is exactly 1A's admission test for the drawer, and the canvas is for the document rather than for a report about it. The inspector's Findings tab is unaffected and stays the selected block's findings (3A), as do the per-card counts - three positions for three scopes, which is the distinction that stopped being legible while a fourth list sat under the canvas saying "Findings" with no scope on it.

A row is severity, subject and message, in that order: the severity is what an author scans down, the subject is the block they will click, and the message is the sentence they read once they have found the row they want. The subject carries both the block's label and its id - the label is what they recognise, the id is what they will paste into a bug report.

Two cases are easy to render wrong and are handled explicitly.

A finding whose anchor names a block id the document does not contain is an orphan. StatifierBlocks.ViewModel collects those separately rather than dropping them, and they are listed here without a reveal control, because there is nothing to reveal. A caller that supplies a finding against a block that has since been deleted sees it, which is the only honest thing to do with it.

Severity is three-valued since the 2026-08-29 amendments, and every source except :lint produces :error. :lint covers both of the others. It renders as a warning for something still compilable and correct once the host acts - the record's example, an invoke type with no registered handler. It renders as :info for something worth the author's attention with nothing wrong at all: the first producer is StatifierBlocks.Datamodel's undeclared-path advisory (amendment 11e-11g), which arrives here rather than through a channel of its own, because 11g says there is no second channel to build.

Nothing in this panel branches on which of the two it is. The severity reaches the markup as a class and a data-severity, exactly as it did when there were two values, which is the property that let a third one be added without touching the list view.

Summary

Functions

Every finding in the document, each one reachable from its entry.

Functions

findings(assigns)

Every finding in the document, each one reachable from its entry.

Attributes