Skip to content

[architecture] Agent-grade built-app testability contract #480

Description

@100yenadmin

Summary

Define the architecture contract that makes dist/WorldOS.app observable and driveable by agents without replacing the real release gate.

This is the parent issue for the app-testability lane. It complements the UX-first sprint in #467 and the blind playtester architecture in #324.

Required architecture decisions

  • viewer/server.py exposes a stable, read-only app-status contract for the live OpenWorlds surface.
  • A deterministic scripted DM/smoke provider proves the app wiring quickly without Claude/Codex/OpenClaw latency.
  • Stable accessibility labels and data-worldos-testid hooks make the browser UI driveable without pixel guessing.
  • A single evidence bundle captures screenshots, app-status snapshots, session surface, chat, moves, provider trace, console/network logs, build SHA, art status, and failure bucket.
  • Release gates remain split: fast deterministic built-app smoke, short real-provider playtest, and full non-partial five-persona RRI.

Invariants

  • Engine remains the sole writer of campaign state.
  • GUI/native app remains a thin reader plus /move intent submitter.
  • Private art is never committed.
  • No proxy preview or harness-created backend can count as release evidence.
  • Issues close only after next-build evidence proves non-reproduction.

Acceptance criteria

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicMajor roadmap epictier-1Tier 1: Claude Code plugin

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions