Recording · Day 4

Council meeting - Public hearing

Technical details
Recording ID 835
Meeting ID 11
File path 0e27337b-8aef-4120-98ba-d423eb22af68.mkv
Recording information
Status
Completed
Duration
9h18m
Start time
2026-03-30 13:30
End time
2026-03-31 04:47
Extract audio
Extract WAV audio for transcription and diarization
Storage & files
File type Storage Path / Key Status Action
Video S3 0e27337b-8aef-4120-98ba-d423eb22af68.mkv Exists
Transcript S3 d6d10ecb-33a6-4867-942a-ab86f2ddb61d.json Exists
WAV S3 ec39f75e-a725-4673-93a2-f25f1d72e257.wav Exists
Diarization Pyannote S3 8bb1f5a6-8dba-40b0-a4c2-5555aa10ef65.json Exists
Diarization Gemini S3 2f70075c-e38f-4376-b0f0-da4209271ddc.json Exists
Diarization Consolidated S3 74ed6e63-f10a-41cb-805e-561763ce2b7f.json Exists
Transcription progress
Completed
Loading transcription status…
Full recording transcript and speaker diarization data available for download.
Gemini-refined · speaker labels improved with AI using meeting agenda context
Processing logs
171 entries 2 errors 52 warnings
21:14:06 [INFO] Consolidation completed: 985 segments (reduced from 4272)
21:14:06 [INFO] {"step": "consolidation", "status": "completed", "updated_at": "2026-06-17T15:14:06.587830-06:00", "consolidated_path": "2f70075c-e38f-4376-b0f0-da4209271ddc.diarization.consolidated.json", "stats": {"original_segment_count": 4272, "consolidated_segment_count": 985, "reduction_percent": 76.94}}
21:14:06 [INFO] {"step": "consolidation", "status": "processing", "updated_at": "2026-06-17T15:14:06.080369-06:00"}
21:14:06 [INFO] Speaker refinement completed
21:14:06 [INFO] {"step": "gemini", "status": "completed", "updated_at": "2026-06-17T15:14:06.045110-06:00", "output_path": "/tmp/tmpdixml5gz.json"}
21:14:05 [INFO] ================================================================================
21:14:05 [INFO] CHUNKING COMPLETE: Successfully merged all 3 chunks in 250.5s
21:14:05 [INFO] ================================================================================
21:14:05 [INFO] ✓ Unique speaker mappings discovered: 83
21:14:05 [INFO] ✓ Speakers: 9 named, 68 generic
21:14:05 [INFO] ✓ Segment count: 4272/4272
21:14:05 [WARNING] Large gap detected at segment 4181: 32675.285s -> 32681.245s
21:14:05 [WARNING] Large gap detected at segment 3879: 30788.585s -> 30796.645s
21:14:05 [WARNING] Large gap detected at segment 3867: 30754.625s -> 30760.545s
21:14:05 [WARNING] Large gap detected at segment 3835: 30619.945s -> 30629.565s
21:14:05 [WARNING] Large gap detected at segment 3817: 30503.805s -> 30509.685s
21:14:05 [WARNING] Large gap detected at segment 3730: 29699.825s -> 29705.205s
21:14:05 [WARNING] Large gap detected at segment 3720: 29550.305s -> 29557.325s
21:14:05 [WARNING] Large gap detected at segment 3690: 29280.045s -> 29287.905s
21:14:05 [WARNING] Large gap detected at segment 3682: 29185.725s -> 29193.525s
21:14:05 [WARNING] Large gap detected at segment 3657: 28954.705s -> 28985.525s
21:14:05 [WARNING] Large gap detected at segment 3640: 28692.045s -> 28706.345s
21:14:05 [WARNING] Large gap detected at segment 3557: 28148.045s -> 28154.865s
21:14:05 [WARNING] Large gap detected at segment 3554: 28135.225s -> 28142.405s
21:14:05 [WARNING] Large gap detected at segment 3550: 28109.685s -> 28123.385s
21:14:05 [WARNING] Large gap detected at segment 3496: 27783.925s -> 27792.265s
21:14:05 [WARNING] Large gap detected at segment 3427: 27147.705s -> 27154.025s
21:14:05 [WARNING] Large gap detected at segment 3378: 26828.245s -> 26833.745s
21:14:05 [WARNING] Large gap detected at segment 3375: 26812.745s -> 26821.245s
21:14:05 [WARNING] Large gap detected at segment 3292: 25986.625s -> 25997.285s
21:14:05 [WARNING] Large gap detected at segment 3280: 25813.345s -> 25818.865s
21:14:05 [WARNING] Large gap detected at segment 3267: 25762.405s -> 25768.705s
21:14:05 [WARNING] Large gap detected at segment 3247: 25698.745s -> 25704.485s
21:14:05 [WARNING] Large gap detected at segment 3239: 25667.865s -> 25673.385s
21:14:05 [WARNING] Large gap detected at segment 3204: 25575.585s -> 25581.785s
21:14:05 [WARNING] Large gap detected at segment 3115: 25066.985s -> 25072.185s
21:14:05 [WARNING] Large gap detected at segment 2951: 22635.225s -> 22642.485s
21:14:05 [WARNING] Large gap detected at segment 2704: 20949.905s -> 20961.445s
21:14:05 [WARNING] Large gap detected at segment 2493: 19744.405s -> 19753.425s
21:14:05 [WARNING] Overlap detected at segment 2295: 18343.285s -> 18340.205s
21:14:05 [WARNING] Large gap detected at segment 2150: 17291.965s -> 17298.725s
21:14:05 [WARNING] Large gap detected at segment 1910: 15223.305s -> 15231.705s
21:14:05 [WARNING] Large gap detected at segment 1908: 15210.325s -> 15217.645s
21:14:05 [WARNING] Large gap detected at segment 1900: 14893.665s -> 14911.785s
21:14:04 [WARNING] Large gap detected at segment 1861: 14383.205s -> 14389.585s
21:14:04 [WARNING] Large gap detected at segment 1856: 14356.825s -> 14373.465s
21:14:04 [WARNING] Large gap detected at segment 1341: 9614.085s -> 9624.205s
21:14:04 [WARNING] Large gap detected at segment 971: 7091.285s -> 7096.825s
21:14:04 [WARNING] Large gap detected at segment 677: 5637.685s -> 5644.005s
21:14:04 [WARNING] Large gap detected at segment 675: 5629.165s -> 5634.405s
21:14:04 [WARNING] Large gap detected at segment 661: 5566.265s -> 5573.545s
21:14:04 [WARNING] Large gap detected at segment 654: 5538.685s -> 5544.085s
21:14:04 [WARNING] Large gap detected at segment 531: 4422.985s -> 4429.445s
21:14:04 [WARNING] Large gap detected at segment 359: 2804.165s -> 2811.005s
21:14:04 [WARNING] Large gap detected at segment 352: 2740.145s -> 2747.305s
21:14:04 [WARNING] Large gap detected at segment 243: 2071.305s -> 2079.605s
21:14:04 [WARNING] Large gap detected at segment 240: 2055.965s -> 2062.825s
21:14:04 [WARNING] Large gap detected at segment 238: 2042.705s -> 2048.845s
21:14:04 [WARNING] Large gap detected at segment 203: 1819.425s -> 1824.785s
21:14:04 [WARNING] Large gap detected at segment 91: 639.265s -> 645.125s
21:14:04 [WARNING] Large gap detected at segment 50: 303.085s -> 308.685s
21:14:04 [WARNING] Large gap detected at segment 22: 37.625s -> 43.205s
21:14:04 [INFO] VALIDATING MERGED RESULT
21:14:04 [INFO] --------------------------------------------------------------------------------
21:14:04 [DEBUG] Saved chunk 3 state to database
21:14:04 [INFO] Chunk 3: ✓ Refined successfully. Total speaker mappings: 83
21:14:04 [INFO] Chunk 3: Added 33 new speaker mappings. Total: 83
21:14:04 [INFO] Chunk 3: Gemini returned 43 speakers (5 refined: Councillor A. Chabot, Councillor D. McLean, Councillor R. Dhaliwal, Mayor J. Gondek, Public Speaker)
21:14:04 [INFO] Chunk 3: Successfully refined 5 segments with sparse mapping
21:14:04 [INFO] Saved parsed JSON: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.gemini_debug/chunk_003_parsed.json
21:14:04 [INFO] Saved chunk response: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.gemini_debug/chunk_003_response.txt
21:14:04 [INFO] Chunk 3: Gemini finish_reason: FinishReason.STOP
21:14:04 [INFO] Chunk 3: Received Gemini API response in 43.8s
21:13:20 [INFO] Chunk 3: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 198037 chars)...
21:13:20 [INFO] Saved chunk input: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.gemini_debug/chunk_003_input.json
21:13:20 [INFO] Time range: 23490.3s - 33468.0s
21:13:20 [INFO] Processing chunk 3/3 (1269 segments)
21:13:20 [INFO] --------------------------------------------------------------------------------
21:13:20 [DEBUG] Saved chunk 2 state to database
21:13:20 [INFO] Chunk 2: ✓ Refined successfully. Total speaker mappings: 63
21:13:20 [INFO] Chunk 2: Added 35 new speaker mappings. Total: 63
21:13:20 [INFO] Chunk 2: Gemini returned 44 speakers (5 refined: City Clerk City Clerk, Councillor A. Chabot, Councillor R. Dhaliwal, Mayor J. Gondek, Public Speaker)
21:13:20 [INFO] Chunk 2: Successfully refined 30 segments with sparse mapping
21:13:20 [INFO] Saved parsed JSON: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.gemini_debug/chunk_002_parsed.json
21:13:20 [INFO] Saved chunk response: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.gemini_debug/chunk_002_response.txt
21:13:20 [INFO] Chunk 2: Gemini finish_reason: FinishReason.STOP
21:13:20 [INFO] Chunk 2: Received Gemini API response in 55.9s
21:12:24 [INFO] Chunk 2: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 249503 chars)...
21:12:24 [INFO] Saved chunk input: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.gemini_debug/chunk_002_input.json
21:12:24 [INFO] Time range: 10933.2s - 23488.7s
21:12:24 [INFO] Processing chunk 2/3 (1501 segments)
21:12:24 [INFO] --------------------------------------------------------------------------------
21:12:24 [DEBUG] Saved chunk 1 state to database
21:12:24 [INFO] Chunk 1: ✓ Refined successfully. Total speaker mappings: 39
21:12:24 [INFO] Chunk 1: Added 39 new speaker mappings. Total: 39
21:12:24 [INFO] Chunk 1: Gemini returned 19 speakers (9 refined: Administration, City Clerk City Clerk, Councillor A. Chabot, Councillor D. McLean, Councillor J. Mian, Councillor R. Dhaliwal, Councillor T. Wong, Mayor J. Gondek, Public Speaker)
21:12:24 [INFO] Chunk 1: Successfully refined 1416 segments with sparse mapping
21:12:24 [INFO] Saved parsed JSON: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.gemini_debug/chunk_001_parsed.json
21:12:24 [INFO] Saved chunk response: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.gemini_debug/chunk_001_response.txt
21:12:24 [INFO] Chunk 1: Gemini finish_reason: FinishReason.STOP
21:12:24 [INFO] Chunk 1: Received Gemini API response in 149.7s
21:09:54 [INFO] Chunk 1: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 215586 chars)...
21:09:54 [INFO] Saved chunk input: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.gemini_debug/chunk_001_input.json
21:09:54 [INFO] Time range: 0.0s - 10931.5s
21:09:54 [INFO] Processing chunk 1/3 (1502 segments)
21:09:54 [INFO] --------------------------------------------------------------------------------
21:09:54 [INFO] Prior run found but no chunks completed. Starting from chunk 1/3
21:09:54 [INFO] Chunk tracking initialized in database
21:09:54 [INFO] Creating chunk tracking records for 3 chunks
21:09:54 [INFO] Split into 3 chunks
21:09:54 [INFO] ================================================================================
21:09:54 [INFO] City Clerk City Clerk, Councillor S. Sharp, Councillor J. Wyness, Councillor J. Mian, Councillor S. Chu, Councillor R. Dhaliwal, Councillor R. Pootmans, Councillor T. Wong, Councillor C. Walcott, Councillor G. Carra, Councillor A. Chabot, Councillor K. Penner, Councillor E. Spencer, Councillor D. McLean, Councillor P. Demong, Mayor J. Gondek, Council The provided text does not contain an attendance section or a list of council members., Administration There is no attendance information in the provided text., Public Speaker This document section does not contain any names of public speakers., Council no names can be extracted. The provided text does not contain an attendance section or a list of council members. Therefore, Administration There is no attendance section in the provided text., Administration An administration or staff attendance section was not found in the provided text.
21:09:54 [INFO] ================================================================================
21:09:54 [INFO] CHUNKING STRATEGY: Speaker list being used:
21:09:54 [INFO] ================================================================================
21:09:54 [INFO] CHUNKING: Processing 4272 segments in chunks of 1500
21:09:54 [INFO] ================================================================================
21:09:54 [WARNING] Creating debug folder: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.gemini_debug. These folders are not auto-cleaned. Clean up with: rm -rf *.gemini_debug/
21:09:54 [INFO] Large meeting detected (4272 segments). Using chunking strategy.
21:09:54 [INFO] Starting speaker refinement
21:09:53 [INFO] Cleanup completed: 86 segments corrected
21:09:53 [INFO] {"step": "cleanup", "status": "completed", "updated_at": "2026-06-17T15:09:53.486116-06:00", "applied_count": 86}
21:09:52 [INFO] {"step": "cleanup", "status": "processing", "updated_at": "2026-06-17T15:09:52.956020-06:00"}
21:09:52 [INFO] Starting name cleanup step
21:09:52 [INFO] Diarization completed and attached: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.diarization.pyannote.json
21:09:52 [INFO] Diarization completed successfully!
21:09:52 [INFO] {"step": "diarization", "status": "completed", "updated_at": "2026-06-17T15:09:52.900325-06:00", "output_path": "/tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.diarization.pyannote.json"}
21:09:52 [INFO] Extracted 4272 turn-based segments
21:09:52 [INFO] Diarization results saved to /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.mkv.diarization.pyannote.json
21:09:52 [INFO] Job completed! Retrieving results...
21:09:52 [INFO] Job status: completed
21:09:52 [INFO] Speaker diarization completed
21:09:52 [INFO] Speaker diarization completed
21:09:52 [INFO] Poll #1: Status: succeeded
21:09:39 [INFO] Diarization job started (Job ID: d344810e-dbce-4f1a-ad19-ffc5b813c631). Processing audio...
21:09:39 [INFO] Job d344810e-dbce-4f1a-ad19-ffc5b813c631 already completed. Using existing results.
21:09:35 [INFO] Found existing pyannote job (ID: d344810e-dbce-4f1a-ad19-ffc5b813c631). Checking status...
21:09:35 [INFO] Found existing pyannote job (ID: d344810e-dbce-4f1a-ad19-ffc5b813c631). Checking status...
21:09:35 [INFO] Starting speaker diarization via pyannote.ai API
21:09:35 [INFO] Starting speaker diarization via pyannote.ai API
21:09:32 [INFO] Using S3 pre-signed URL for diarization
21:09:31 [INFO] {"step": "diarization", "status": "processing", "updated_at": "2026-06-17T15:09:31.933916-06:00"}
21:09:31 [INFO] Starting transcription + diarization
21:09:31 [INFO] Audio extracted and attached: /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.wav
21:09:31 [INFO] {"step": "extraction", "status": "completed", "updated_at": "2026-06-17T15:09:31.922904-06:00", "wav_path": "/tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.wav"}
21:09:17 [INFO] Audio extracted to /tmp/tmp29p_y6ll/0e27337b-8aef-4120-98ba-d423eb22af68.wav
21:06:08 [INFO] Extracting audio to WAV format
21:06:08 [INFO] Extracting audio to WAV format
21:06:07 [INFO] {"step": "extraction", "status": "processing", "updated_at": "2026-06-17T15:06:07.989106-06:00"}
21:06:07 [INFO] Starting audio extraction
21:04:47 [INFO] Downloading video from S3 for processing
20:46:42 [INFO] Job submitted successfully via webhook. Returning early.
20:46:41 [INFO] Webhooks enabled: https://ccai-api.pixeltree.ca/api/webhooks/pyannote
20:46:41 [INFO] Submitting diarization + transcription job to pyannote.ai (URL: https://ccai-prod.s3.amazonaws.com/c1392c82-bc03-4eda-94d3-6f3d42205311.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQK6LNXA7XP5KSEWG%2F20260617%2Fca-central-1%2Fs3%2Faws4_request&X-Amz-Date=20260617T204641Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=3468d3be151b659a7d8bbb708f6613c7ada869165dde423928b9db7f3e264b7e)
20:46:41 [INFO] Starting speaker diarization via pyannote.ai API
20:46:41 [INFO] Starting speaker diarization via pyannote.ai API
20:46:41 [INFO] Using S3 pre-signed URL for diarization
20:46:41 [INFO] {"step": "diarization", "status": "processing", "updated_at": "2026-06-17T14:46:41.655117-06:00"}
20:46:41 [INFO] Starting transcription + diarization
20:46:41 [INFO] Audio extracted and attached: /tmp/tmpoqwgfdiz/0e27337b-8aef-4120-98ba-d423eb22af68.wav
20:46:41 [INFO] {"step": "extraction", "status": "completed", "updated_at": "2026-06-17T14:46:41.643863-06:00", "wav_path": "/tmp/tmpoqwgfdiz/0e27337b-8aef-4120-98ba-d423eb22af68.wav"}
20:46:25 [INFO] Audio extracted to /tmp/tmpoqwgfdiz/0e27337b-8aef-4120-98ba-d423eb22af68.wav
20:43:11 [INFO] Extracting audio to WAV format
20:43:11 [INFO] Extracting audio to WAV format
20:43:11 [INFO] {"step": "extraction", "status": "processing", "updated_at": "2026-06-17T14:43:11.793161-06:00"}
20:43:11 [INFO] Starting audio extraction
20:41:52 [INFO] Downloading video from S3 for processing
20:26:09 [INFO] Download completed successfully
20:19:18 [INFO] Manual retry initiated by user
16:52:08 [ERROR] Step full failed: Recording 835 has no file path
16:44:20 [ERROR] Step full failed: Recording 835 has no file path