Skip to content

ADMIN UI ARCHITECTURE — PHASE 4

Status

  • Phase: 4
  • Authority: Normative
  • Scope: Read-only developer UI for observability and explanation
  • Depends on:
  • PHASE4_VISION.md
  • PHASE4_INVARIANTS.md
  • OBSERVABILITY_API.md
  • PERFORMANCE_OBSERVABILITY.md
  • SEMANTIC_EQUIVALENCE.md

This document defines the architecture, boundaries, and obligations of the AeroDB Admin UI.

If the UI violates any rule in this document, it MUST NOT ship.


1. Purpose

The Admin UI exists to make AeroDB:

  • Inspectable
  • Explainable
  • Trustworthy

It exists to reveal internal truth, not to simplify or abstract it away.

The UI is not: - A database client - An admin console - A management plane - A production dashboard

It is a local inspection instrument.


2. Core UI Principle

The Glass Box UI Principle

The Admin UI must show AeroDB as it actually is,
not as users might wish it to be.

This means: - Internal identifiers are shown, not hidden - Raw state is preferred over summaries - Complexity is not collapsed into “green lights”

If something is complicated, the UI must show that complication honestly.


3. Architectural Boundaries

UI-1: Strict Read-Only Boundary

The UI MUST:

  • Consume only OBSERVABILITY_API.md
  • Perform no writes
  • Perform no control actions
  • Trigger no background work

The UI is incapable of changing AeroDB state.


UI-2: API Fidelity

For every UI element:

  • There must be a direct API source
  • UI labels must match API semantics
  • No inferred or derived state is allowed unless explicitly labeled

If the API cannot explain it, the UI must not invent it.


UI-3: Removability

The UI MUST be:

  • Optional
  • Fully removable
  • Isolated from core runtime

Removing the UI must leave AeroDB behavior unchanged.


4. Deployment Model

4.1 Local-Only Assumption

The Admin UI assumes:

  • Local developer environment
  • Trusted user
  • Debug / inspection usage

The UI MUST NOT: - Advertise production readiness - Imply security hardening - Support multi-user access


4.2 UI Runtime Separation

The UI MUST:

  • Run as a separate process or static frontend
  • Communicate via HTTP to Observability API
  • Never link directly against storage or MVCC code

This preserves isolation and passivity.


5. Information Architecture (Mandatory Views)

The UI MUST implement the following views.


5.1 Overview / Status View

Purpose: High-level orientation

Displays: - Lifecycle state (booting / running / recovering) - Current CommitId high-water mark - WAL durability boundary - Phase enablement flags

Rules: - No health scores - No “OK / WARN / ERROR” simplifications - Raw state first, explanation second


5.2 WAL Inspector

Purpose: Durability and ordering transparency

Displays: - WAL files and segments - Append offsets - Durable offsets - Truncation points - Checksum status

Rules: - No hiding of offsets - Explicit durability boundaries - Visual separation of “written” vs “durable”


5.3 MVCC Inspector

Purpose: Visibility and isolation clarity

Displays: - CommitId ranges - Active snapshots - Snapshot CommitIds - GC watermark (if applicable)

Rules: - Show numeric CommitIds - No abstract “time” metaphors - Snapshot identity must be explicit


5.4 Snapshot & Checkpoint View

Purpose: Persistence safety inspection

Displays: - Active snapshots - Last completed checkpoint - WAL coverage per checkpoint - Pending / aborted checkpoints

Rules: - Clear distinction between “prepared” and “durable” - No implied safety before fsync


5.5 Index Inspector

Purpose: Query acceleration transparency

Displays: - Index identifiers - Index type - Build status - Entry counts - Rebuild state

Rules: - Indexes clearly labeled as advisory - No claims of completeness or authority


5.6 Replication View (Conditional)

Purpose: Replica safety inspection

Displays: - Node role (primary / replica) - WAL prefix position - Replica lag (CommitId-based) - Snapshot bootstrap status

Rules: - No heuristic “lag OK” indicators - No peer reachability assumptions


5.7 Query Explanation View

Purpose: Deterministic reasoning

Displays: - Query text - Execution plan - Index usage - Snapshot used - Bounds applied

Rules: - Explanation must match /v1/explain/query - No speculative reasoning - No performance promises


5.8 Read Visibility Explanation View

Purpose: MVCC trust

Displays: - Document identifier - Version chain - CommitId comparisons - Visibility decision

Rules: - Step-by-step visibility logic - Exact CommitId comparisons - No narrative shortcuts


5.9 Recovery Explanation View

Purpose: Failure trust

Displays: - Last crash point - Recovery start point - Snapshot selected - WAL replay range - Validation steps

Rules: - Must reflect real recovery - No “successful recovery” banners - Raw steps first, summary last


6. UI Interaction Rules

UI-4: No Control Interactions

The UI MUST NOT include:

  • Buttons that trigger actions
  • Forms that submit mutations
  • Toggles that affect runtime behavior

If an interaction changes state, the UI is invalid.


UI-5: Explicit Cost Visibility

If an API call is expensive:

  • The UI MUST show that cost
  • The UI MUST not auto-refresh aggressively
  • Polling intervals must be explicit

Hidden cost is forbidden.


7. Determinism & Stability

UI-6: Stable Rendering

Given identical API responses:

  • UI output MUST be identical
  • Ordering MUST be stable
  • No random IDs or animations

The UI must be diff-friendly.


8. Error Handling

UI-7: Error Transparency

Errors MUST be shown:

  • With raw error codes
  • With invariant references
  • Without user-friendly dilution

The UI explains errors; it does not soften them.


9. Forbidden UI Patterns

The following are explicitly forbidden:

  • “Traffic light” health indicators
  • Auto-healing messaging
  • Hidden state aggregation
  • Collapsing failures into “unknown”
  • Pretty timelines that imply causality
  • Marketing language

If it looks like a dashboard, it is wrong.


10. Testing Requirements

The Admin UI MUST be tested for:

  • Read-only enforcement
  • API fidelity
  • Deterministic rendering
  • Disablement safety
  • Error surface correctness

UI tests must assume: - Partial data - Failure states - Mid-recovery visibility


11. Phase 4 Completion Criteria (UI)

Phase 4 UI is complete when:

  • A developer can explain any read result
  • A crash can be understood without logs
  • WAL durability boundaries are visible
  • MVCC behavior is inspectable
  • Replication safety can be reasoned about

Without reading source code.


12. Final Rule

The Admin UI must never reassure.
It must only reveal.

If the UI makes AeroDB feel “safe” without evidence, it has already failed.


END OF DOCUMENT