Skip to content

Odysseus Voice Orb v0.2.0-alpha.1

Pre-release
Pre-release

Choose a tag to compare

User-initiated camera and allowlisted local media for the maintained Odysseus Voice Orb fork, based on upstream c80462e4621c1a3360e5441843bb83b4691a8766. This remains a fork release, not a plugin.

Camera and media boundary

  • Exact single-purpose commands open/close the browser camera, describe one current frame, or play one bundled manifest ID.
  • Frames are JPEG/PNG only, no larger than 1024×576 and approximately 1 MiB decoded; MIME, base64, magic bytes, and dimensions are validated.
  • Raw frame bytes stay in browser/request memory and are not written to history, diagnostics, uploads, caches, or logs.
  • Camera tracks stop on Close Eyes, End Voice, errors, permission loss, track end, page hide, hidden-page transition, pending-permission invalidation, and media-mode switches.
  • The bundled demonstration is a checksummed same-origin silent abstract WebM dedicated under CC0 1.0; arbitrary URLs and undeclared media are rejected.

Verified release gates

  • Release Python suite: 4,656 passed, 4 skipped.
  • Four fake-device browser lifecycle cases passed; focused foreground, voice, and media contracts passed.
  • Compose validation, public/media scrub, full-history secret scan, dependency audit, Docker build, and blocking HIGH/CRITICAL Trivy scan passed.
  • A transient GitHub cache-export failure was retried without changing the tag or bypassing a gate; the final workflow attempt is fully green.
  • Native Linux amd64 and arm64 images were joined into one OCI index and anonymously read back from GHCR.

Immutable container

ghcr.io/madpanda3d/odysseus@sha256:e256a8535edc6e6fd602e06887581bca5ef239750f4f5a1412270f6231af5508

Platform manifests: linux/amd64sha256:7269a2f0fb6dd0ae1427f795b2a824530a1ca4af02db0cdcd3fabfdada77f7a5; linux/arm64sha256:111d2cb1fca2dfce2bc11f8e106305f4821e69fa7a92a6a3a713bb93f07cd8e9. Pin the index digest in deployments.

No database migration is introduced. voice-orb-v0.1.0-alpha.2 remains the camera-free rollback point.