AENET.cloud PUBLIC GATEWAY
K.PUBLIC.GATEWAY
system-detail K.PUBLIC.SYSTEM

ui-contract

UI Contract

The single source of truth for the public UI structure — pages, navigation, components, coordinates, states, motion, colors, typography and locales — consumed by both the web and Swift renderers.

Status: active Last updated: 2026-08-16

System ID

ui-contract

Status

active

Architecture layers

  • L2 Public Application (UI contract)

Inputs

  • Design tokens (design/), release manifest (release/), locale files

Outputs

  • UI contract JSON consumed by web and Swift renderers

Public interfaces

  • ui-contract/manifest.json + contracts JSON + schemas/

Security boundary

Public UI structure only. It is never a source of truth for the AENET Core, and it carries no private data.

Data direction

Design/release sources → UI contract → renderers (web, Swift). One-way, public.

What

Make every public page a renderer of one system, so web and Swift stay consistent and updates never break a visitor session.

Why

Two renderers (web + Swift) used to risk diverging. The UI Contract fixes this with one JSON source of truth plus release compatibility and rollback.

How

Design/release sources → UI contract → renderers (web, Swift). One-way, public.

  • Define page, navigation, component, coordinate, state, motion, color, typography and locale contracts
  • Provide schemas for validation
  • Support versioned releases with compatibility checks
  • Drive web and Swift renderers from the same JSON

Example

One page model (ui-contract/pages.json + blocks.json) is rendered by both the web shell and the Swift UI, so the two surfaces stay compatible.

Inputs

  • Design tokens (design/), release manifest (release/), locale files

Outputs

  • UI contract JSON consumed by web and Swift renderers

Dependencies

aenet-cloud-publicxgridrgbm

Lifecycle

  • UI contract v1
  • unified UI contract (v0.5)
  • resilient UI + versioned releases

Use cases

  • Web and Swift render the same page model
  • Release compatibility gates updates without breaking sessions
  • Data states keep a failing section from blanking the page

Limitations

  • Public UI structure only — never core truth
  • Renderers must stay compatible with supported schema majors

Questions people ask

These questions are answered by the content on this page.

  • What is the AENET UI Contract?
  • How do web and Swift stay consistent?
  • What does the UI contract define?
  • How do versioned releases protect visitor sessions?

Evidence

Verified states only — nothing on this page is a prediction.

  • ui-contract/manifest.json
  • ui-contract/*.json
  • docs/UI_CONTRACT.md
  • docs/RESILIENT_UI.md
  • docs/RELEASE_COMPATIBILITY.md

Next step