chore: update scripts/build_release.py for the caption pixel gate
This commit is contained in:
1 parent
fd09282d8d
commit
d1c858b940
1 file changed
+7
-1
@@ -163,11 +163,17 @@ def main() -> int:
|
||||
raise SystemExit("Release demo produced no on-camera caption receipt")
|
||||
recorded = json.loads(caption_receipt.read_text(encoding="utf-8"))
|
||||
onscreen = [str(line) for line in (recorded.get("captions") or [])]
|
||||
if recorded.get("releaseDelta") != release_delta or not any(release_delta in line for line in onscreen):
|
||||
# A pushed string is not proof of pixels. Only captions the demo measured as a painted,
|
||||
# on-top, in-frame bar (style + elementFromPoint + band pixel change) count as on camera.
|
||||
verified = [str(item.get("text")) for item in (recorded.get("captionsVerified") or [])
|
||||
if item.get("visible") is True and item.get("bandChanged") is True]
|
||||
if recorded.get("releaseDelta") != release_delta or not any(release_delta in line for line in verified):
|
||||
raise SystemExit("Release demo did not state the declared release delta on camera")
|
||||
for required in DEMO_REQUIRED_CAPTIONS:
|
||||
if not any(required in line for line in onscreen):
|
||||
raise SystemExit(f"Release demo is missing a required on-camera caption: {required}")
|
||||
if not any(required in line for line in verified):
|
||||
raise SystemExit(f"Release demo caption never painted on screen: {required}")
|
||||
finally:
|
||||
server.terminate()
|
||||
try:
|
||||
|
||||
Reference in new issue
Block a user