State-Aware UI Design for AI-Powered Applications
A UI that treats partial data the same as complete data misleads users. State-aware UI design propagates the honesty of GTL through to the interface itself.
GTL honesty has to survive the journey from the database through the API to the UI. If the API returns state: "partial" and the UI renders the score as if it were complete, same badge, same colour, same confidence indicator, the honesty has been lost at the last mile. State-aware UI design ensures the GTL state reaches the user in a form they can understand and act on.
Three UI States, Not Two
Most UIs implement two states: loading and loaded. GTL-aware UIs implement three data states on top of loading: complete (render fully), partial (render with caveat), and empty (render with explanation). The loading state is about network latency. The GTL states are about data completeness. They are orthogonal — a partially computed result can arrive instantly.
How to Signal Partial State Without Alarming Users
A partial result is not a failure. It is honest, useful, and actionable. The UI should convey this calmly. In SiteNexis, partial scores are displayed with the score value and a small indicator: "Partial — [sub-score name] excluded. [Reason]." The score badge uses an amber outline instead of a solid fill. The tooltip explains what was computed and what was not. No red alerts, no "error" language — partial is a valid data state, not an exception.
◆Never show a partial score without showing what was excluded. A Machine Trust Score of 74 marked partial means nothing to the user without: "Schema trust alignment score excluded — sameAs URLs returned 404 during this scan."
Empty State as Contextual Explanation
Empty state in the UI should answer: why is this empty, and what happens next? "Temporal authority analysis requires two audits. Baseline established on this scan. Run a second audit to unlock velocity and drift data." This is not an error message. It is an explanation of the system's design. Users who understand GTL states trust the platform more, not less, because the platform is being transparent about what it knows.
State Inheritance in Composite Views
When a dashboard view aggregates multiple GTL-wrapped scores into a composite view, the composite view inherits the lowest state. If three scores are complete and one is partial, the composite is partial. If any score is empty, it is surfaced individually with its reason — it does not silently degrade the composite. This prevents a UI that shows a confidently rendered composite score while one of its components was never computed.
GTL Systems — Part 4 of 10