Summary
Expose a machine-readable read-only status probe for the actual OpenWorlds viewer that the native app and harness are driving.
Interface
GET /app-status
GET /__worldos/app-status.json
Both return schema worldos.app-status.v1.
Required fields
- build: SHA and app/version string
- viewer: port, repo root, state root, provider, transcript/chat paths, chat line count
- art: art repo root, private image root, private-root-present boolean
- live session: attached campaign id, viewed campaign id, active session id, run id, move path, whether moves are writable,
can_act, active actor id/name/kind, enabled action IDs/count
- endpoints: app-status, session-surface, campaign catalog, move, chat, activity, image
Acceptance criteria
- Route is read-only and never writes
snapshot.json, move logs, chat logs, or provider state.
- Alias route returns the same payload as
/app-status.
- Viewer config advertises the app-status endpoint.
- Static/route tests prove a live campaign returns actor, run id, enabled actions, and endpoint metadata.
qa/ui_playtest_app.sh captures launcher and minted app-status snapshots as native evidence.
Summary
Expose a machine-readable read-only status probe for the actual OpenWorlds viewer that the native app and harness are driving.
Interface
GET /app-statusGET /__worldos/app-status.jsonBoth return schema
worldos.app-status.v1.Required fields
can_act, active actor id/name/kind, enabled action IDs/countAcceptance criteria
snapshot.json, move logs, chat logs, or provider state./app-status.qa/ui_playtest_app.shcaptures launcher and minted app-status snapshots as native evidence.