Mission feed
Mission feed
Every move the crew made, in the order it made it. Not a spinner. This is the crew's own event log, streamed over server-sent events straight out of the run store. Stage errors are in here too, because a clearance tool that silently skips a shot is worse than one that admits it.
Getting everything ready Setting the run up and handing your commercial to the crew. ingest -> detecting shots pipeline 3 events 17:09:22.3
17:09:22.3
console accepted 5051960-uhd_3840_2160_25fps.mp4 (6.7s) for GLOBAL, EU, AE-ABUDHABI, NG-ARISE, NG-CHANNELS, US-CW
17:09:22.3
run run_2889483a3dbf started: asset=runs/uploads/eb75ee9fefcf/5051960-uhd_3840_2160_25fps.mp4 markets=['GLOBAL', 'EU', 'AE-ABUDHABI', 'NG-ARISE', 'NG-CHANNELS', 'US-CW']
17:09:22.3
ingest -> detecting shots
Watching the film for the first time Cutting your commercial into its own shots, listening to the soundtrack, and measuring the picture for flashing that could trouble a photosensitive viewer. found 1 cut(s) in 6.7s of film ingest 2 events 17:09:22.3
17:09:22.3
watching the film end to end, hunting for the cuts
17:09:32.7
found 1 cut(s) in 6.7s of film
Getting everything ready Setting the run up and handing your commercial to the crew. ingest -> 1 raw shot(s) merged to 1 pipeline 1 event 17:09:32.7
17:09:32.7
ingest -> 1 raw shot(s) merged to 1
Watching the film for the first time Cutting your commercial into its own shots, listening to the soundtrack, and measuring the picture for flashing that could trouble a photosensitive viewer. 1 shot(s) to read, one at a time, no skimming ingest 1 event 17:09:32.7
17:09:32.7
1 shot(s) to read, one at a time, no skimming
Listening to what is said Writing down the words in each shot, so a claim that is only spoken is caught as surely as one on screen. stage_error: shot_0: MediaError("ffmpeg exited 234: eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared\n libavutil 59. 39.100 / 59. 39.100\n libavcodec 61. 19.101 / 61. 19.101\n libavformat 61. 7.103 / 61. 7.103\n libavdevice 61. 3.100 / 61. 3.100\n libavfilter 10. 5.100 / 10. 5.100\n libswscale 8. 3.100 / 8. 3.100\n libswresample 5. 3.100 / 5. 3.100\n libpostproc 58. 3.100 / 58. 3.100\nInput #0, mov,mp4,m4a,3gp,3g2,mj2, from 'runs/uploads/eb75ee9fefcf/5051960-uhd_3840_2160_25fps.mp4':\n Metadata:\n major_brand : mp42\n minor_version : 0\n compatible_brands: mp42mp41isomavc1\n creation_time : 2020-08-07T08:45:47.000000Z\n Duration: 00:00:06.68, start: 0.000000, bitrate: 22677 kb/s\n Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 3840x2160, 22673 kb/s, 25 fps, 25 tbr, 25 tbn (default)\n Metadata:\n creation_time : 2020-08-07T08:45:47.000000Z\n handler_name : L-SMASH Video Handler\n vendor_id : [0][0][0][0]\n encoder : AVC Coding\nOutput #0, wav, to 'runs/work/run_2889483a3dbf/audio/shot_0.wav':\n[out#0/wav @ 0x556d95aa1740] Output file does not contain any stream\nError opening output file runs/work/run_2889483a3dbf/audio/shot_0.wav.\nError opening output files: Invalid argument\n") transcription 2 events 17:09:32.7
17:09:32.7
listening to shot_0 (1/1), 6.7s of audio
17:09:36.3
stage_error: shot_0: MediaError("ffmpeg exited 234: eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared\n libavutil 59. 39.100 / 59. 39.100\n libavcodec 61. 19.101 / 61. 19.101\n libavformat 61. 7.103 / 61. 7.103\n libavdevice 61. 3.100 / 61. 3.100\n libavfilter 10. 5.100 / 10. 5.100\n libswscale 8. 3.100 / 8. 3.100\n libswresample 5. 3.100 / 5. 3.100\n libpostproc 58. 3.100 / 58. 3.100\nInput #0, mov,mp4,m4a,3gp,3g2,mj2, from 'runs/uploads/eb75ee9fefcf/5051960-uhd_3840_2160_25fps.mp4':\n Metadata:\n major_brand : mp42\n minor_version : 0\n compatible_brands: mp42mp41isomavc1\n creation_time : 2020-08-07T08:45:47.000000Z\n Duration: 00:00:06.68, start: 0.000000, bitrate: 22677 kb/s\n Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 3840x2160, 22673 kb/s, 25 fps, 25 tbr, 25 tbn (default)\n Metadata:\n creation_time : 2020-08-07T08:45:47.000000Z\n handler_name : L-SMASH Video Handler\n vendor_id : [0][0][0][0]\n encoder : AVC Coding\nOutput #0, wav, to 'runs/work/run_2889483a3dbf/audio/shot_0.wav':\n[out#0/wav @ 0x556d95aa1740] Output file does not contain any stream\nError opening output file runs/work/run_2889483a3dbf/audio/shot_0.wav.\nError opening output files: Invalid argument\n")
Writing down what is actually there Looking at every shot once and describing what it holds -- a glass, a hemline, a logo -- in neutral sentences, with no verdict attached. Every market will argue about these same sentences. shot_0 -> noted 2 thing(s) worth writing down analyst 3 events 17:09:52.0
17:09:52.0
looking at shot_0 (1/1) with no idea which country will object
17:09:52.0
observe -> shot_0
17:10:00.8
shot_0 -> noted 2 thing(s) worth writing down
Getting everything ready Setting the run up and handing your commercial to the crew. analyst -> 2 observation(s) persisted pipeline 1 event 17:10:00.8
17:10:00.8
analyst -> 2 observation(s) persisted
Asking every market what it thinks One adjudicator per jurisdiction, all at once, each holding its own rulebook and looking up the statute behind anything it objects to. US-CW clearance -> cleared (0 finding(s)) adjudicator 15 events 17:10:02.5
17:10:02.5
judge -> EU (2 candidates)
17:10:02.8
judge -> NG-CHANNELS (2 candidates)
17:10:02.8
judge -> GLOBAL (0 candidates)
17:10:03.0
judge -> AE-ABUDHABI (2 candidates)
17:10:03.0
judge -> US-CW (1 candidates)
17:10:03.1
judge -> NG-ARISE (2 candidates)
17:10:12.0
citation check -> NG-CHANNELS NG-ALC-01 for obs_shot_0_000
17:10:12.6
citation check -> NG-ARISE NG-ALC-01 for obs_shot_0_000
17:10:13.6
citation check -> AE-ABUDHABI AE-ALC-01 for obs_shot_0_000
17:10:27.5
GLOBAL clearance -> cleared (0 finding(s))
17:10:27.5
EU clearance -> cleared (0 finding(s))
17:10:27.5
AE-ABUDHABI clearance -> blocked (1 finding(s))
17:10:27.5
NG-ARISE clearance -> blocked (1 finding(s))
17:10:27.5
NG-CHANNELS clearance -> blocked (1 finding(s))
17:10:27.5
US-CW clearance -> cleared (0 finding(s))
Getting everything ready Setting the run up and handing your commercial to the crew. adjudicate -> 3 finding(s) persisted across 6 market(s) pipeline 1 event 17:10:27.5
17:10:27.5
adjudicate -> 3 finding(s) persisted across 6 market(s)
Putting it all into Grafana Calling Grafana and making sure everything lands there: the numbers, the finding detail, the dashboards to read them on and the alerts that will wake the crew if something needs fixing. mcp get_dashboard_by_uid('customs-overview') publisher 7 events 17:10:27.5
17:10:27.5
publisher -> connecting to Grafana
17:10:37.2
push_verdicts -> 9 verdict(s), 6 of them a market looking and saying no
17:10:38.6
push_observations -> 2 observation(s) to Loki, 2 indexed for search
17:10:39.8
push_run_telemetry -> {'run_id': 'run_2889483a3dbf', 'markets': ['GLOBAL', 'EU', 'AE-ABUDHABI', 'NG-ARISE', 'NG-CHANNELS', 'US-CW'], 'clearances': {'GLOBAL': 'cleared', 'EU': 'cleared', 'AE-ABUDHABI': 'blocked', 'NG-ARISE': 'blocked', 'NG-CHANNELS': 'blocked', 'US-CW': 'cleared'}, 'risk_samples': '6 market(s) x 7s', 'logs': 3, 'annotations_created': 3, 'annotations_skipped_as_duplicates': 0, 'failed_stages': ['transcription']}
17:10:42.4
ensure_dashboards -> ['customs-findings', 'customs-grid', 'customs-history', 'customs-insight', 'customs-lanes', 'customs-market', 'customs-overview', 'customs-remediation', 'customs-timeline']
17:10:43.6
mcp search_dashboards('customs')
17:10:45.6
mcp get_dashboard_by_uid('customs-overview')
Fixing the shots that failed Working out the cheapest edit that would satisfy the rule, pricing it, and changing only the seconds that were objected to. omni -> fnd_AE-ABUDHABI_AE-ALC-01_obs_shot_0_000 (AE-ALC-01, AE-ABUDHABI) on 5051960-uhd_3840_2160_25fps.mp4 at 0.00-6.68s remediator 4 events 17:10:45.9
17:10:45.9
console requested remediation: AE-ALC-01 (AE-ABUDHABI) -> fnd_AE-ABUDHABI_AE-ALC-01_obs_shot_0_000 [omni, 0.67 EUR, remedy:1]
17:10:45.9
AE-ALC-01 (AE-ABUDHABI) -> concept scope, running omni anyway: The element runs through the whole scene, so a patch cannot reach it: the scene has to be regenerated with the permitted element in its place.
17:10:45.9
AE-ALC-01 (AE-ABUDHABI) -> planned omni
17:10:45.9
omni -> fnd_AE-ABUDHABI_AE-ALC-01_obs_shot_0_000 (AE-ALC-01, AE-ABUDHABI) on 5051960-uhd_3840_2160_25fps.mp4 at 0.00-6.68s
Putting it all into Grafana Calling Grafana and making sure everything lands there: the numbers, the finding detail, the dashboards to read them on and the alerts that will wake the crew if something needs fixing. mcp update_dashboard('customs-overview', replace $.description) publisher 1 event 17:10:56.7
17:10:56.7
mcp update_dashboard('customs-overview', replace $.description)
Getting everything ready Setting the run up and handing your commercial to the crew. snapshot store=True artifacts=0 pipeline 2 events 17:11:01.2
17:11:01.2
run run_2889483a3dbf done
17:11:12.3
snapshot store=True artifacts=0
Fixing the shots that failed Working out the cheapest edit that would satisfy the rule, pricing it, and changing only the seconds that were objected to. omni applied -> localized_NG-ARISE.mp4 (chg_243b3c21f3f5); rewrote the span in place with Omni; the footage is the brand's own throughout remediator 18 events 17:11:19.5
17:11:19.5
alert received: NG-ALC-01 NG-CHANNELS on 5051960-uhd_3840_2160_25fps -> fnd_NG-CHANNELS_NG-ALC-01_obs_shot_0_000
17:11:19.6
alert received: NG-ALC-01 NG-ARISE on 5051960-uhd_3840_2160_25fps -> fnd_NG-ARISE_NG-ALC-01_obs_shot_0_000
17:11:34.5
NG-ALC-01 (NG-CHANNELS) -> concept scope, running omni anyway: The element runs through the whole scene, so a patch cannot reach it: the scene has to be regenerated with the permitted element in its place.
17:11:34.5
NG-ALC-01 (NG-CHANNELS) -> planned omni
17:11:34.5
omni -> fnd_NG-CHANNELS_NG-ALC-01_obs_shot_0_000 (NG-ALC-01, NG-CHANNELS) on 5051960-uhd_3840_2160_25fps.mp4 at 0.00-6.68s
17:11:35.7
NG-ALC-01 (NG-ARISE) -> concept scope, running omni anyway: The element runs through the whole scene, so a patch cannot reach it: the scene has to be regenerated with the permitted element in its place.
17:11:35.7
NG-ALC-01 (NG-ARISE) -> planned omni
17:11:35.7
omni -> fnd_NG-ARISE_NG-ALC-01_obs_shot_0_000 (NG-ALC-01, NG-ARISE) on 5051960-uhd_3840_2160_25fps.mp4 at 0.00-6.68s
17:12:30.1
stage_error: remediate: omni failed for fnd_AE-ABUDHABI_AE-ALC-01_obs_shot_0_000; localized_AE-ABUDHABI.mp4 untouched, finding back to open
17:12:30.2
stage_error: remediate: fnd_AE-ABUDHABI_AE-ALC-01_obs_shot_0_000: OmniRefusedOutput('Omni produced an edit and then refused to return it: the footage was accepted, so what to change is the instruction rather than the clip. Nothing was charged. Omni said: Unable to show the generated video. The model could not generate the video based on the prompt provided. Try rephrasing the prompt. If you think this was an error, send feedback.')
17:12:55.0
snapshot store=True artifacts=7
17:13:57.6
stage_error: remediate: omni failed for fnd_NG-CHANNELS_NG-ALC-01_obs_shot_0_000; localized_NG-CHANNELS.mp4 untouched, finding back to open
17:13:57.6
stage_error: remediate: fnd_NG-CHANNELS_NG-ALC-01_obs_shot_0_000: OmniRefusedOutput('Omni produced an edit and then refused to return it: the footage was accepted, so what to change is the instruction rather than the clip. Nothing was charged. Omni said: Unable to show the generated video. The model could not generate the video based on the prompt provided. Try rephrasing the prompt. If you think this was an error, send feedback.')
17:14:42.7
snapshot store=True artifacts=16
17:14:44.9
omni rewrote 6.7s in place
17:14:44.9
omni instruction: Edit this video. Edit this frame from a television commercial. Replace each alcoholic drink, bottle, glass, cigarette, cigar, pipe, e-cigarette, tobacco pack or ashtray that is already visible with a permitted equivalent for Arise News -- tea in the same style of glass in place of a drink, a pen or nothing at all in place of anything smoked, a closed box with no branding in place of a pack -- keeping the same number of items in the same places and adding none. The replacement must not itself be alcohol, tobacco, a smoking device or a drug in any form: a cigar changed into a cigarette is the same finding again. Nothing in the finished shot may be lit, smoking, or giving off vapour, ash or embers. Keep the lighting, the composition, the camera angle, the hands and the people exactly as they are, and change nothing else in the frame. Do not add any new object anywhere in the frame, and do not put a replacement where there was nothing before: only what is already there may change. Keep everything else exactly the same: same shots, same motion, same performers, same lighting, same duration. Change nothing that was not named.
17:15:15.2
craft gate passed: length 6.680s, 167 frames, 22.6 dB inside it away from the box
17:15:18.6
omni applied -> localized_NG-ARISE.mp4 (chg_243b3c21f3f5); rewrote the span in place with Omni; the footage is the brand's own throughout
Checking the fix actually worked Watching the changed shots again with the same eye that found the problem, to confirm it is gone and that nothing new broke. verify -> re-observing 1 touched shot(s) of localized_NG-ARISE.mp4 verifier 1 event 17:15:18.7
17:15:18.7
verify -> re-observing 1 touched shot(s) of localized_NG-ARISE.mp4
Writing down what is actually there Looking at every shot once and describing what it holds -- a glass, a hemline, a logo -- in neutral sentences, with no verdict attached. Every market will argue about these same sentences. observe -> shot_0 analyst 1 event 17:15:18.7
17:15:18.7
observe -> shot_0
Asking every market what it thinks One adjudicator per jurisdiction, all at once, each holding its own rulebook and looking up the statute behind anything it objects to. citation check -> NG-ARISE NG-ALC-01 for obs_shot_0_000_vb169d2 adjudicator 2 events 17:16:44.8
17:16:44.8
judge -> NG-ARISE (2 candidates)
17:16:55.7
citation check -> NG-ARISE NG-ALC-01 for obs_shot_0_000_vb169d2
Checking the fix actually worked Watching the changed shots again with the same eye that found the problem, to confirm it is gone and that nothing new broke. NG-ARISE clearance recomputed -> blocked verifier 2 events 17:17:02.5
17:17:02.5
NOT fixed: NG-ALC-01 still fires at 0.00-6.68s after omni; fnd_NG-ARISE_NG-ALC-01_obs_shot_0_000 back to open
17:17:02.5
NG-ARISE clearance recomputed -> blocked
Fixing the shots that failed Working out the cheapest edit that would satisfy the rule, pricing it, and changing only the seconds that were objected to. omni applied -> localized_NG-ARISE.mp4 (chg_f8e7c778fce0); rewrote the span in place with Omni; the footage is the brand's own throughout remediator 9 events 17:17:17.0
17:17:17.0
snapshot store=True artifacts=10
17:17:51.8
alert received: NG-ALC-01 NG-ARISE on 5051960-uhd_3840_2160_25fps -> fnd_NG-ARISE_NG-ALC-01_obs_shot_0_000
17:17:55.6
NG-ALC-01 (NG-ARISE) -> concept scope, running omni anyway: The element runs through the whole scene, so a patch cannot reach it: the scene has to be regenerated with the permitted element in its place.
17:17:55.6
NG-ALC-01 (NG-ARISE) -> planned omni
17:17:55.6
omni -> fnd_NG-ARISE_NG-ALC-01_obs_shot_0_000 (NG-ALC-01, NG-ARISE) on localized_NG-ARISE.mp4 at 0.00-6.68s
17:19:54.9
omni rewrote 6.7s in place
17:19:54.9
omni instruction: Edit this video. Edit this frame from a television commercial. Replace each alcoholic drink, bottle, glass, cigarette, cigar, pipe, e-cigarette, tobacco pack or ashtray that is already visible with a permitted equivalent for Arise News -- tea in the same style of glass in place of a drink, a pen or nothing at all in place of anything smoked, a closed box with no branding in place of a pack -- keeping the same number of items in the same places and adding none. The replacement must not itself be alcohol, tobacco, a smoking device or a drug in any form: a cigar changed into a cigarette is the same finding again. Nothing in the finished shot may be lit, smoking, or giving off vapour, ash or embers. Keep the lighting, the composition, the camera angle, the hands and the people exactly as they are, and change nothing else in the frame. Do not add any new object anywhere in the frame, and do not put a replacement where there was nothing before: only what is already there may change. Keep everything else exactly the same: same shots, same motion, same performers, same lighting, same duration. Change nothing that was not named.
17:20:10.5
craft gate passed: length 6.680s, 167 frames, 30.7 dB inside it away from the box
17:20:13.3
omni applied -> localized_NG-ARISE.mp4 (chg_f8e7c778fce0); rewrote the span in place with Omni; the footage is the brand's own throughout
Checking the fix actually worked Watching the changed shots again with the same eye that found the problem, to confirm it is gone and that nothing new broke. verify -> re-observing 1 touched shot(s) of localized_NG-ARISE.mp4 verifier 1 event 17:20:13.3
17:20:13.3
verify -> re-observing 1 touched shot(s) of localized_NG-ARISE.mp4
Writing down what is actually there Looking at every shot once and describing what it holds -- a glass, a hemline, a logo -- in neutral sentences, with no verdict attached. Every market will argue about these same sentences. observe -> shot_0 analyst 2 events 17:20:13.3
17:20:13.3
observe -> shot_0
17:21:08.6
observe -> shot_0
Asking every market what it thinks One adjudicator per jurisdiction, all at once, each holding its own rulebook and looking up the statute behind anything it objects to. citation check -> NG-ARISE NG-ALC-01 for obs_shot_0_000_v3ec3ff adjudicator 2 events 17:21:36.6
17:21:36.6
judge -> NG-ARISE (2 candidates)
17:21:49.0
citation check -> NG-ARISE NG-ALC-01 for obs_shot_0_000_v3ec3ff
Checking the fix actually worked Watching the changed shots again with the same eye that found the problem, to confirm it is gone and that nothing new broke. NG-ARISE clearance recomputed -> blocked verifier 2 events 17:22:25.7
17:22:25.7
NOT fixed: NG-ALC-01 still fires at 0.00-6.68s after omni; fnd_NG-ARISE_NG-ALC-01_obs_shot_0_000 back to open
17:22:25.7
NG-ARISE clearance recomputed -> blocked
Fixing the shots that failed Working out the cheapest edit that would satisfy the rule, pricing it, and changing only the seconds that were objected to. snapshot store=True artifacts=1 remediator 1 event 17:22:39.1
17:22:39.1
snapshot store=True artifacts=1