Skip to content

Add editable playlist preparation and resumable screen publishing - #14

Merged
gersham merged 2 commits into
mainfrom
feat/playlist-workflows
Sep 10, 2026
Merged

gersham merged 2 commits into
mainfrom
feat/playlist-workflows

Conversation

@nxtman123

@nxtman123 nxtman123 commented Sep 10, 2026 •

Copy link
Copy Markdown
Collaborator

Agents currently have to construct full-screen playlist geometry, strip inspection metadata before editing, and coordinate playlist creation with screen assignment themselves. This adds a supported prepare/edit/publish workflow using the existing backend contracts.

  • playlist init builds a validated image/video playlist from ordered ready media IDs and explicit or observed screen dimensions.
  • playlist show --output FILE writes an editable document and reports its source revision. --editable returns the document in the JSON envelope. Dynamic selectors, schedules, motion, and application pins are preserved.
  • screen publish SCREEN FILE --expect-rev REV creates and assigns a playlist, then reads back the assignment. A private local journal resumes ambiguous writes without duplicating playlist creation; revision conflicts stop, and unfinished replay expires after the server's 24-hour idempotency window. Assignment verification is explicitly separate from playback verification.
  • Playlist inputs accept stdin (-); generation accepts --prompt-file FILE|-.
  • --expect-rev becomes the preferred CLI spelling; --if-match remains compatible, both together are rejected, and HTTP If-Match semantics are unchanged.

Validation: build/typecheck/lint, public check, vendor internal consistency, 197 focused tests (including integration with main’s write recovery and nonblocking connection changes), mock smoke, package dry-run, release artifact check (19 exact runtime dependencies), and clean npm installation passed. The broader suite ran with 587 passes, 1 skip, and 5 failures caused by unavailable Liberation fonts on this macOS host; CI installs those fonts. Additional workflow and write-recovery integration tests passed in the final focused run. No live server or Player validation was run. Vendored contracts and runtime hashes are unchanged.

Documentation drafts are intentionally excluded pending operator approval: CLI README in the main checkout, plugin skill/reference sources and docs-only generated copies, and website CLI/start/agent guides remain uncommitted. No publication or deployment is included.

@gersham
gersham merged commit e21fcc5 into main Sep 10, 2026
6 checks passed
@gersham
gersham deleted the feat/playlist-workflows branch September 10, 2026 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants