Skip to content

DEV-A4 zowietek: ground workmode-convergence streamplay protocol + enable index-scoped convergence #140

Description

@aperim-agent

Context

PR #139 made the zowietek workmode-convergence path fail-safe: converge_mode now requires an explicit DecodeIndex and refuses (ConvergenceUngrounded) rather than ever emitting a global, un-indexed streamplay/stop (the prior behavior — confirmed dangerous by the readiness audit wc3tvqa4w, since a global stop would halt the operator's production decode).

The index-scoped convergence wire path is implemented and unit-tested, but convergence_index() returns None everywhere, so convergence is currently refused until grounded. This is a deliberate safety posture, not a silent partial-ship — the blocker is real and external: there is no ZowieTek SDK on the build box to ground the invented streamplay opts.

The open work (requires the vendor SDK + a spare ZowieBox)

Per docs/research/managed-devices.md §3.3, the workmode-switch protocol is currently modeled on un-probed, invented opts (streamplay/opt=stop with data=Null, streamplay/opt=start with a fabricated {"mode":...} body). To enable live convergence:

  1. Ground the protocol against the operator's ZowieTek SDK: capture the real workmode-switch / decode-control calls — confirm or replace the streamplay stop/start opts and bodies.
  2. Determine stop scope: confirm whether streamplay/stop is global or per-decode-index, and wire convergence_index() to return a real spare decode-table index (never the production index).
  3. Validate on a spare unit / spare decode index ONLY (never the production ZowieBox) per the hardware-validation runbook — confirm the 00004 wrong-workmode rejection behavior live, and that stop/start are scoped.
  4. Once grounded + validated, enable convergence_index() so set-mode actually converges.

Safety gate

Until this lands, the driver cannot issue a workmode mutating call (it refuses). Do NOT remove the ConvergenceUngrounded guard or hardcode an index without SDK grounding + spare-unit validation. See the hardware-validation runbook + the zowietek production-safety posture.

Blocks: DEV-A4 live workmode set/convergence on hardware (the read-only status path is unaffected and works today).

Metadata

Metadata

Assignees

No one assigned

    Labels

    devices-displayDevices domain / display-out / sync / cast program

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions