feat: publish downloadable wakeword trainer source

This commit is contained in:
2026-08-14 05:03:00 -05:00
parent 000671eb93
commit aab9ce0fe7
30 changed files with 6757 additions and 2 deletions
@@ -0,0 +1,26 @@
"""Explicitly non-promotable upstream smoke wrapper; it never runs setup."""
from __future__ import annotations
import json
import sys
from pathlib import Path
from stage_evidence import run_stage
def main(config_path: Path) -> int:
request = json.loads(Path("/run/request.json").read_text(encoding="utf-8"))
payload = request.get("request", {})
if payload.get("run_kind") != "quarantined_smoke":
raise ValueError("quarantined smoke wrapper requires run_kind=quarantined_smoke")
# Setup, if needed for this deliberately non-promotable smoke, is a separate
# operator operation. This container stays network-isolated either way.
run_stage("provenance", ["python", "/opt/jr-wakeword/record-image-provenance.py"])
run_stage("run", ["livekit-wakeword", "run", str(config_path)])
run_stage("finalize", ["python", "/opt/jr-wakeword/finalize-run.py", str(config_path)])
return 0
if __name__ == "__main__":
raise SystemExit(main(Path(sys.argv[1])))