1.4 KiB
1.4 KiB
MVP Acceptance Checklist
API
GET /v1/healthreturns version/build/uptime and active sprite pack.GET /v1/staterequires bearer token.POST /v1/commandrequires bearer token and returns202for valid command.POST /v1/commandsaccepts batch in-order.- malformed JSON returns
400, server remains alive.
Command Pipeline
- duplicate command IDs are ignored within dedupe window.
SetStateupdates state and default animation mapping.- transient state with
ttl_msreturns to durable state. SetTransformpersists x/y/scale.SetFlagspersists click-through/always-on-top/visible.
Config
- first run bootstraps
config.toml. auth_tokengenerated and reused across restarts.
Sprite
- selected sprite pack loads when present.
- missing selected pack falls back to
default. - runtime
SetSpritePacksuccessfully switches pack without restart. - failed runtime
SetSpritePackkeeps current visuals and reports error in state snapshot.
Platform
- capability flags are exposed in
/v1/health. - non-supported platform operations do not crash the process.
Evidence
cargo test --workspacepasses.- API auth coverage exists in
crates/sprimo-api/src/lib.rstests. - Config bootstrap and roundtrip coverage exists in
crates/sprimo-config/src/lib.rstests. - Sprite fallback coverage exists in
crates/sprimo-sprite/src/lib.rstests.