Recording · Strategic

Council meeting - Strategic

Technical details
Recording ID 868
Meeting ID 42
File path ed408072-eaa2-428d-9925-b99169a70a4f.mkv
Recording information
Status
Completed
Duration
8h12m
Start time
2026-06-17 15:25
End time
2026-06-18 05:38
Extract audio
Extract WAV audio for transcription and diarization
Storage & files
File type Storage Path / Key Status Action
Video S3 ed408072-eaa2-428d-9925-b99169a70a4f.mkv Exists
Transcript S3 d90f57bb-581a-4190-9206-29da5ff5180f.json Exists
WAV S3 59ff87dd-0063-4a04-aaeb-4bfbe1dbd4bd.wav Exists
Diarization Pyannote S3 9c069cc3-3b26-4c3b-999f-ba31db829d69.json Exists
Diarization Gemini S3 9d5bc7b0-c0e7-4eb1-a0ae-475e4e827040.json Exists
Diarization Consolidated S3 5b8c7810-d604-4630-b40e-4d74e1471864.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
155 entries 50 warnings
22:37:07 [INFO] Consolidation completed: 776 segments (reduced from 2870)
22:37:07 [INFO] {"step": "consolidation", "status": "completed", "updated_at": "2026-06-17T16:37:07.572442-06:00", "consolidated_path": "8df76e99-7c1f-4639-8d62-badbd68ad8e8.json", "stats": {"original_segment_count": 2870, "consolidated_segment_count": 776, "reduction_percent": 72.96}}
22:37:05 [INFO] {"step": "consolidation", "status": "processing", "updated_at": "2026-06-17T16:37:05.716769-06:00"}
22:36:56 [INFO] Speaker refinement completed
22:36:56 [INFO] {"step": "refinement", "status": "completed", "updated_at": "2026-06-17T16:36:56.727292-06:00", "output_path": "/tmp/tmp1u8lb57i.json"}
22:36:56 [INFO] ================================================================================
22:36:56 [INFO] CHUNKING COMPLETE: Successfully merged all 2 chunks in 180.4s
22:36:56 [INFO] ================================================================================
22:36:56 [INFO] ✓ Unique speaker mappings discovered: 18
22:36:55 [INFO] ✓ Speakers: 12 named, 28 generic
22:36:55 [INFO] ✓ Segment count: 2870/2870
22:36:55 [WARNING] Large gap detected at segment 2853: 29450.025s -> 29461.865s
22:36:55 [WARNING] Overlap detected at segment 2795: 29254.465s -> 29253.805s
22:36:55 [WARNING] Large gap detected at segment 2794: 29247.465s -> 29252.565s
22:36:55 [WARNING] Large gap detected at segment 2785: 29218.065s -> 29223.985s
22:36:55 [WARNING] Large gap detected at segment 2784: 29205.065s -> 29216.705s
22:36:55 [WARNING] Large gap detected at segment 2701: 28639.885s -> 28646.445s
22:36:55 [WARNING] Large gap detected at segment 2692: 28604.585s -> 28616.325s
22:36:55 [WARNING] Large gap detected at segment 2686: 28576.565s -> 28588.645s
22:36:55 [WARNING] Large gap detected at segment 2656: 28451.045s -> 28456.205s
22:36:55 [WARNING] Large gap detected at segment 2654: 28443.225s -> 28448.605s
22:36:55 [WARNING] Large gap detected at segment 2648: 28402.925s -> 28421.865s
22:36:55 [WARNING] Large gap detected at segment 2542: 27665.285s -> 27673.645s
22:36:55 [WARNING] Overlap detected at segment 2472: 27292.925s -> 27291.445s
22:36:55 [WARNING] Large gap detected at segment 2459: 27244.205s -> 27258.145s
22:36:55 [WARNING] Large gap detected at segment 2450: 27102.665s -> 27107.925s
22:36:55 [WARNING] Large gap detected at segment 2323: 26545.205s -> 26551.005s
22:36:55 [WARNING] Large gap detected at segment 2319: 26524.725s -> 26530.745s
22:36:55 [WARNING] Large gap detected at segment 1989: 23803.005s -> 23815.985s
22:36:55 [WARNING] Large gap detected at segment 1949: 21492.505s -> 23682.345s
22:36:55 [WARNING] Large gap detected at segment 1876: 20777.945s -> 20786.265s
22:36:55 [WARNING] Large gap detected at segment 1873: 20766.345s -> 20772.165s
22:36:55 [WARNING] Large gap detected at segment 1844: 20491.645s -> 20497.365s
22:36:55 [WARNING] Large gap detected at segment 1822: 20246.225s -> 20252.805s
22:36:55 [WARNING] Large gap detected at segment 1821: 20233.765s -> 20243.365s
22:36:55 [WARNING] Large gap detected at segment 1653: 18604.345s -> 18609.765s
22:36:55 [WARNING] Overlap detected at segment 1637: 18517.205s -> 18515.965s
22:36:55 [WARNING] Large gap detected at segment 1606: 18306.305s -> 18311.585s
22:36:55 [WARNING] Overlap detected at segment 1475: 17250.525s -> 17248.745s
22:36:55 [WARNING] Large gap detected at segment 1443: 17101.945s -> 17108.185s
22:36:55 [WARNING] Large gap detected at segment 1228: 16368.805s -> 16375.125s
22:36:55 [WARNING] Large gap detected at segment 1200: 16284.425s -> 16291.425s
22:36:55 [WARNING] Large gap detected at segment 1117: 15956.625s -> 15962.005s
22:36:55 [WARNING] Large gap detected at segment 1116: 15947.445s -> 15955.345s
22:36:55 [WARNING] Large gap detected at segment 1080: 15781.005s -> 15786.185s
22:36:55 [WARNING] Large gap detected at segment 1076: 15768.765s -> 15774.505s
22:36:55 [WARNING] Large gap detected at segment 921: 15059.025s -> 15064.485s
22:36:55 [WARNING] Large gap detected at segment 837: 10139.245s -> 14738.605s
22:36:55 [WARNING] Overlap detected at segment 809: 10014.605s -> 10012.565s
22:36:55 [WARNING] Large gap detected at segment 801: 9959.505s -> 9965.065s
22:36:55 [WARNING] Large gap detected at segment 403: 6565.845s -> 6827.725s
22:36:55 [WARNING] Large gap detected at segment 402: 2916.525s -> 6561.665s
22:36:55 [WARNING] Large gap detected at segment 390: 2876.265s -> 2885.185s
22:36:55 [WARNING] Overlap detected at segment 351: 2734.545s -> 2733.825s
22:36:55 [WARNING] Large gap detected at segment 177: 2173.085s -> 2178.325s
22:36:55 [WARNING] Large gap detected at segment 143: 1766.425s -> 1772.265s
22:36:55 [WARNING] Large gap detected at segment 138: 1746.005s -> 1751.945s
22:36:55 [WARNING] Large gap detected at segment 128: 1715.625s -> 1725.705s
22:36:55 [WARNING] Large gap detected at segment 106: 1638.065s -> 1658.005s
22:36:55 [INFO] VALIDATING MERGED RESULT
22:36:55 [INFO] --------------------------------------------------------------------------------
22:36:55 [DEBUG] Saved chunk 2 state to database
22:36:55 [INFO] Chunk 2: ✓ Refined successfully. Total speaker mappings: 18
22:36:55 [INFO] Chunk 2: Added 17 new speaker mappings. Total: 18
22:36:55 [INFO] Chunk 2: Gemini returned 28 speakers (2 refined: Councillor D.J. Kelly, Councillor L. Johnston)
22:36:55 [INFO] Chunk 2: Successfully refined 2 segments with sparse mapping
22:36:55 [INFO] Saved parsed JSON: /tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.mkv.gemini_debug/chunk_002_parsed.json
22:36:55 [INFO] Saved chunk response: /tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.mkv.gemini_debug/chunk_002_response.txt
22:36:55 [INFO] Chunk 2: Gemini finish_reason: FinishReason.STOP
22:36:55 [INFO] Chunk 2: Received Gemini API response in 75.9s
22:35:39 [INFO] Chunk 2: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 194324 chars)...
22:35:39 [INFO] Saved chunk input: /tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.mkv.gemini_debug/chunk_002_input.json
22:35:39 [INFO] Time range: 17562.5s - 29507.0s
22:35:39 [INFO] Processing chunk 2/2 (1353 segments)
22:35:39 [INFO] --------------------------------------------------------------------------------
22:35:39 [DEBUG] Saved chunk 1 state to database
22:35:39 [INFO] Chunk 1: ✓ Refined successfully. Total speaker mappings: 11
22:35:39 [INFO] Chunk 1: Added 11 new speaker mappings. Total: 11
22:35:39 [INFO] Chunk 1: Gemini returned 24 speakers (12 refined: City Clerk K. Martin, Councillor / Deputy Mayor J. Pantazopoulos, Councillor A. Chabot, Councillor D. McLean, Councillor D.J. Kelly, Councillor H. Clark, Councillor J. Wyness, Councillor L. Johnston, Councillor M. Jamieson, Councillor R. Dhaliwal, General Manager D. Hamilton, Mayor J. Farkas)
22:35:39 [INFO] Chunk 1: Successfully refined 763 segments with sparse mapping
22:35:39 [INFO] Saved parsed JSON: /tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.mkv.gemini_debug/chunk_001_parsed.json
22:35:39 [INFO] Saved chunk response: /tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.mkv.gemini_debug/chunk_001_response.txt
22:35:39 [INFO] Chunk 1: Gemini finish_reason: FinishReason.STOP
22:35:39 [INFO] Chunk 1: Received Gemini API response in 103.8s
22:33:55 [INFO] Chunk 1: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 175260 chars)...
22:33:55 [INFO] Saved chunk input: /tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.mkv.gemini_debug/chunk_001_input.json
22:33:55 [INFO] Time range: 1078.2s - 17561.0s
22:33:55 [INFO] Processing chunk 1/2 (1517 segments)
22:33:55 [INFO] --------------------------------------------------------------------------------
22:33:55 [INFO] Prior run found but no chunks completed. Starting from chunk 1/2
22:33:55 [INFO] Chunk tracking initialized in database
22:33:55 [INFO] Creating chunk tracking records for 2 chunks
22:33:55 [INFO] Split into 2 chunks
22:33:55 [INFO] ================================================================================
22:33:55 [INFO] Councillor R. Ward, Councillor A. Yule, Councillor / Deputy Mayor J. Pantazopoulos, Councillor M. Jamieson, Councillor H. Clark, Councillor R. Dhaliwal, Councillor M. Atkinson, Councillor K. Tyers, Councillor D.J. Kelly, Councillor A. Chabot, Councillor N. Schmidt, Councillor J. Wyness, Councillor L. Johnston, Councillor D. McLean, Mayor J. Farkas, Chief Administrative Officer D. Duckworth, Chief Operating Officer S. Dalgleish, City Solicitor and General Counsel J. Floen, Chief Financial Officer L. Tochor, General Manager Chris Arthurs, A/General Manager K. Choi, General Manager D. Hamilton, General Manager D. Morgan, General Manager M. Thompson, City Clerk K. Martin, Leader, Legislative Services M. A. Cario, Senior Legislative Specialist J. Booth, Senior Legislative Specialist C. Doi
22:33:55 [INFO] ================================================================================
22:33:55 [INFO] CHUNKING STRATEGY: Speaker list being used:
22:33:55 [INFO] ================================================================================
22:33:55 [INFO] CHUNKING: Processing 2870 segments in chunks of 1500
22:33:55 [INFO] ================================================================================
22:33:55 [WARNING] Creating debug folder: /tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.mkv.gemini_debug. These folders are not auto-cleaned. Clean up with: rm -rf *.gemini_debug/
22:33:55 [INFO] Large meeting detected (2870 segments). Using chunking strategy.
22:33:54 [INFO] Starting speaker refinement
15:49:03 [INFO] Consolidation completed: 750 segments (reduced from 2870)
15:49:03 [INFO] {"step": "consolidation", "status": "completed", "updated_at": "2026-06-17T09:49:03.895848-06:00", "consolidated_path": "3693c8ec-1a43-474f-bc3b-72b1bfdf6f44.diarization.consolidated.json", "stats": {"original_segment_count": 2870, "consolidated_segment_count": 750, "reduction_percent": 73.87}}
15:49:03 [INFO] {"step": "consolidation", "status": "processing", "updated_at": "2026-06-17T09:49:03.306261-06:00"}
15:49:02 [WARNING] No speaker list available, skipping refinement
15:48:54 [INFO] Starting speaker refinement
15:48:53 [INFO] Cleanup completed: 147 segments corrected
15:48:53 [INFO] {"step": "cleanup", "status": "completed", "updated_at": "2026-06-17T09:48:53.765081-06:00", "applied_count": 147}
15:48:53 [INFO] {"step": "cleanup", "status": "processing", "updated_at": "2026-06-17T09:48:53.272765-06:00"}
15:48:53 [INFO] Starting name cleanup step
15:48:53 [INFO] Diarization completed and attached: /tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.mkv.diarization.pyannote.json
15:48:53 [INFO] Diarization completed successfully!
15:48:53 [INFO] {"step": "diarization", "status": "completed", "updated_at": "2026-06-17T09:48:53.219297-06:00", "output_path": "/tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.mkv.diarization.pyannote.json"}
15:48:53 [INFO] Extracted 2870 turn-based segments
15:48:53 [INFO] Diarization results saved to /tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.mkv.diarization.pyannote.json
15:48:52 [INFO] Job completed! Retrieving results...
15:48:52 [INFO] Job status: completed
15:48:52 [INFO] Speaker diarization completed
15:48:52 [INFO] Speaker diarization completed
15:48:52 [INFO] Poll #1: Status: succeeded
15:48:40 [INFO] Diarization job started (Job ID: 9a6846d1-78cd-49ec-bede-ed53dd153329). Processing audio...
15:48:40 [INFO] Job 9a6846d1-78cd-49ec-bede-ed53dd153329 already completed. Using existing results.
15:48:37 [INFO] Found existing pyannote job (ID: 9a6846d1-78cd-49ec-bede-ed53dd153329). Checking status...
15:48:37 [INFO] Found existing pyannote job (ID: 9a6846d1-78cd-49ec-bede-ed53dd153329). Checking status...
15:48:37 [INFO] Starting speaker diarization via pyannote.ai API
15:48:37 [INFO] Starting speaker diarization via pyannote.ai API
15:48:35 [INFO] Using S3 pre-signed URL for diarization
15:48:35 [INFO] {"step": "diarization", "status": "processing", "updated_at": "2026-06-17T09:48:35.261498-06:00"}
15:48:35 [INFO] Starting transcription + diarization
15:48:35 [INFO] Audio extracted and attached: /tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.wav
15:48:35 [INFO] {"step": "extraction", "status": "completed", "updated_at": "2026-06-17T09:48:35.250916-06:00", "wav_path": "/tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.wav"}
15:48:19 [INFO] Audio extracted to /tmp/tmpyy7rogan/ed408072-eaa2-428d-9925-b99169a70a4f.wav
15:45:33 [INFO] Extracting audio to WAV format
15:45:33 [INFO] Extracting audio to WAV format
15:45:32 [INFO] {"step": "extraction", "status": "processing", "updated_at": "2026-06-17T09:45:32.988161-06:00"}
15:45:32 [INFO] Starting audio extraction
15:44:50 [INFO] Downloading video from S3 for processing
15:32:12 [INFO] Job submitted successfully via webhook. Returning early.
15:32:11 [INFO] Webhooks enabled: https://ccai-api.pixeltree.ca/api/webhooks/pyannote
15:32:11 [INFO] Submitting diarization + transcription job to pyannote.ai (URL: https://ccai-prod.s3.amazonaws.com/4f799c67-1022-4178-9e54-e2f5b97cfc04.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQK6LNXA7XP5KSEWG%2F20260617%2Fca-central-1%2Fs3%2Faws4_request&X-Amz-Date=20260617T153211Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=42ba53bcf6e3cf7e0a0dfe0c607b08c5fa7dfb439c33e2848b594725b49ce290)
15:32:11 [INFO] Starting speaker diarization via pyannote.ai API
15:32:11 [INFO] Starting speaker diarization via pyannote.ai API
15:32:11 [INFO] Using S3 pre-signed URL for diarization
15:32:11 [INFO] {"step": "diarization", "status": "processing", "updated_at": "2026-06-17T09:32:11.514414-06:00"}
15:32:11 [INFO] Starting transcription + diarization
15:32:11 [INFO] Audio extracted and attached: /tmp/tmp2tv7_0c1/ed408072-eaa2-428d-9925-b99169a70a4f.wav
15:32:11 [INFO] {"step": "extraction", "status": "completed", "updated_at": "2026-06-17T09:32:11.500461-06:00", "wav_path": "/tmp/tmp2tv7_0c1/ed408072-eaa2-428d-9925-b99169a70a4f.wav"}
15:32:04 [INFO] Audio extracted to /tmp/tmp2tv7_0c1/ed408072-eaa2-428d-9925-b99169a70a4f.wav
15:30:29 [INFO] Extracting audio to WAV format
15:30:29 [INFO] Extracting audio to WAV format
15:30:29 [INFO] {"step": "extraction", "status": "processing", "updated_at": "2026-06-17T09:30:29.746957-06:00"}
15:30:29 [INFO] Starting audio extraction
15:30:04 [INFO] Downloading video from S3 for processing