Recording · Day 1

Regular Meeting of Council

Technical details
Recording ID 829
Meeting ID 64
File path b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv
Recording information
Status
Failed
Duration
3666h21m
Start time
2026-01-27 14:30
End time
2026-06-29 15:50
Storage & files
File type Storage Path / Key Status Action
Video S3 b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv Exists
Transcript S3 31886737-fdb5-4817-a740-8a141296e7d9.json Exists
WAV S3 4d49ced7-1a34-491a-8a63-6b03ae3a54ba.wav Exists
Diarization Pyannote S3 bcad3ba4-1ffd-4563-b942-d67a887aaae0.json Exists
Diarization Gemini S3 3c0656cc-8a39-4915-a215-9158516d11ea.json Exists
Diarization Consolidated S3 3d70714b-b200-4831-95d6-a0d45a2c74e2.json Exists
Transcription

Recording must be completed before transcription can begin.

Full recording transcript and speaker diarization data available for download.
Gemini-refined · speaker labels improved with AI using meeting agenda context
Processing logs
181 entries 6 errors 67 warnings
16:07:02 [INFO] Consolidation completed: 476 segments (reduced from 1537)
16:07:02 [INFO] {"step": "consolidation", "status": "completed", "updated_at": "2026-06-29T10:07:02.106130-06:00", "consolidated_path": "3c0656cc-8a39-4915-a215-9158516d11ea.diarization.consolidated.json", "stats": {"original_segment_count": 1537, "consolidated_segment_count": 476, "reduction_percent": 69.03}}
16:07:01 [INFO] {"step": "consolidation", "status": "processing", "updated_at": "2026-06-29T10:07:01.789457-06:00"}
16:07:01 [INFO] Speaker refinement completed
16:07:01 [INFO] {"step": "gemini", "status": "completed", "updated_at": "2026-06-29T10:07:01.775522-06:00", "output_path": "/tmp/tmprnf_fqeg.json"}
16:07:01 [INFO] ================================================================================
16:07:01 [INFO] CHUNKING COMPLETE: Successfully merged all 2 chunks in 113.6s
16:07:01 [INFO] ================================================================================
16:07:01 [INFO] ✓ Unique speaker mappings discovered: 31
16:07:01 [INFO] ✓ Speakers: 11 named, 36 generic
16:07:01 [INFO] ✓ Segment count: 1537/1537
16:07:01 [WARNING] Large gap detected at segment 1498: 14743.365s -> 14918.885s
16:07:01 [WARNING] Large gap detected at segment 1497: 10766.205s -> 14737.985s
16:07:01 [WARNING] Large gap detected at segment 1482: 10710.645s -> 10732.505s
16:07:01 [WARNING] Large gap detected at segment 1473: 10662.045s -> 10673.805s
16:07:01 [WARNING] Large gap detected at segment 1452: 10567.145s -> 10583.005s
16:07:01 [WARNING] Large gap detected at segment 1417: 10440.265s -> 10452.445s
16:07:01 [WARNING] Large gap detected at segment 1402: 10372.325s -> 10380.465s
16:07:01 [WARNING] Large gap detected at segment 1401: 10248.605s -> 10368.865s
16:07:01 [WARNING] Large gap detected at segment 1361: 10000.785s -> 10006.385s
16:07:01 [WARNING] Large gap detected at segment 1344: 9830.045s -> 9840.605s
16:07:01 [WARNING] Large gap detected at segment 1308: 9590.845s -> 9609.305s
16:07:01 [WARNING] Large gap detected at segment 1290: 9511.105s -> 9525.145s
16:07:01 [WARNING] Large gap detected at segment 1266: 9370.965s -> 9376.925s
16:07:01 [WARNING] Large gap detected at segment 1263: 9351.225s -> 9363.205s
16:07:01 [WARNING] Large gap detected at segment 1254: 9268.485s -> 9273.785s
16:07:01 [WARNING] Large gap detected at segment 1243: 9163.185s -> 9176.645s
16:07:01 [WARNING] Large gap detected at segment 1220: 9018.965s -> 9025.385s
16:07:01 [WARNING] Large gap detected at segment 1131: 8468.905s -> 8488.005s
16:07:01 [WARNING] Large gap detected at segment 1090: 8121.925s -> 8127.825s
16:07:01 [WARNING] Large gap detected at segment 1085: 8088.785s -> 8100.605s
16:07:01 [WARNING] Large gap detected at segment 1077: 7984.525s -> 8033.765s
16:07:01 [WARNING] Large gap detected at segment 1076: 7971.885s -> 7977.085s
16:07:01 [WARNING] Large gap detected at segment 1073: 7956.325s -> 7961.645s
16:07:01 [WARNING] Large gap detected at segment 1071: 7943.905s -> 7949.245s
16:07:01 [WARNING] Large gap detected at segment 1070: 7934.645s -> 7939.785s
16:07:01 [WARNING] Large gap detected at segment 1069: 7924.425s -> 7930.085s
16:07:01 [WARNING] Large gap detected at segment 1067: 7910.005s -> 7915.385s
16:07:01 [WARNING] Large gap detected at segment 1066: 7901.205s -> 7906.225s
16:07:01 [WARNING] Large gap detected at segment 1064: 7885.785s -> 7890.885s
16:07:01 [WARNING] Large gap detected at segment 1058: 7845.805s -> 7851.425s
16:07:01 [WARNING] Large gap detected at segment 1057: 7836.025s -> 7841.085s
16:07:01 [WARNING] Large gap detected at segment 1056: 7826.065s -> 7831.665s
16:07:01 [WARNING] Large gap detected at segment 1055: 7819.965s -> 7825.065s
16:07:01 [WARNING] Large gap detected at segment 1053: 7807.165s -> 7812.985s
16:07:01 [WARNING] Large gap detected at segment 1051: 7798.205s -> 7803.445s
16:07:01 [WARNING] Large gap detected at segment 1050: 7791.625s -> 7797.005s
16:07:01 [WARNING] Large gap detected at segment 1049: 7782.045s -> 7787.705s
16:07:01 [WARNING] Large gap detected at segment 1048: 7772.585s -> 7778.965s
16:07:01 [WARNING] Large gap detected at segment 1016: 7652.145s -> 7662.625s
16:07:01 [WARNING] Large gap detected at segment 1009: 7590.065s -> 7609.485s
16:07:01 [WARNING] Large gap detected at segment 910: 7153.865s -> 7167.305s
16:07:01 [WARNING] Large gap detected at segment 880: 7033.585s -> 7046.425s
16:07:01 [WARNING] Large gap detected at segment 879: 7027.205s -> 7032.545s
16:07:01 [WARNING] Large gap detected at segment 825: 6818.445s -> 6837.905s
16:07:01 [WARNING] Large gap detected at segment 810: 6694.905s -> 6700.625s
16:07:01 [WARNING] Large gap detected at segment 730: 5728.165s -> 5733.445s
16:07:01 [WARNING] Large gap detected at segment 709: 5482.685s -> 5488.785s
16:07:01 [WARNING] Large gap detected at segment 646: 4283.725s -> 4288.925s
16:07:01 [WARNING] Large gap detected at segment 633: 4129.265s -> 4134.865s
16:07:01 [WARNING] Large gap detected at segment 621: 3867.065s -> 3873.705s
16:07:01 [WARNING] Large gap detected at segment 483: 3472.645s -> 3478.625s
16:07:01 [WARNING] Large gap detected at segment 482: 3462.885s -> 3471.485s
16:07:01 [WARNING] Large gap detected at segment 481: 3454.485s -> 3460.245s
16:07:01 [WARNING] Large gap detected at segment 473: 3414.245s -> 3428.665s
16:07:01 [WARNING] Large gap detected at segment 458: 3355.325s -> 3367.165s
16:07:01 [WARNING] Large gap detected at segment 380: 2574.485s -> 2580.205s
16:07:01 [WARNING] Large gap detected at segment 370: 2408.365s -> 2413.885s
16:07:01 [WARNING] Large gap detected at segment 368: 2358.025s -> 2363.585s
16:07:01 [WARNING] Large gap detected at segment 356: 2200.745s -> 2211.305s
16:07:01 [WARNING] Large gap detected at segment 348: 2163.525s -> 2172.885s
16:07:01 [WARNING] Large gap detected at segment 330: 2075.105s -> 2084.965s
16:07:01 [WARNING] Large gap detected at segment 300: 1888.165s -> 1900.225s
16:07:01 [WARNING] Large gap detected at segment 288: 1756.085s -> 1764.325s
16:07:01 [WARNING] Large gap detected at segment 285: 1698.005s -> 1709.105s
16:07:01 [WARNING] Large gap detected at segment 73: 528.425s -> 539.265s
16:07:01 [WARNING] Large gap detected at segment 38: 313.745s -> 326.225s
16:07:01 [INFO] VALIDATING MERGED RESULT
16:07:01 [INFO] --------------------------------------------------------------------------------
16:07:01 [DEBUG] Saved chunk 2 state to database
16:07:01 [INFO] Chunk 2: ✓ Refined successfully. Total speaker mappings: 31
16:07:01 [INFO] Chunk 2: Added 3 new speaker mappings. Total: 31
16:07:01 [INFO] Chunk 2: Gemini returned 3 speakers (0 refined: none)
16:07:01 [INFO] Chunk 2: Successfully refined 0 segments with sparse mapping
16:07:01 [INFO] Saved parsed JSON: /tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv.gemini_debug/chunk_002_parsed.json
16:07:01 [INFO] Saved chunk response: /tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv.gemini_debug/chunk_002_response.txt
16:07:01 [INFO] Chunk 2: Gemini finish_reason: FinishReason.STOP
16:07:01 [INFO] Chunk 2: Received Gemini API response in 17.3s
16:06:43 [INFO] Chunk 2: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 11066 chars)...
16:06:43 [INFO] Saved chunk input: /tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv.gemini_debug/chunk_002_input.json
16:06:43 [INFO] Time range: 14971.5s - 15022.3s
16:06:43 [INFO] Processing chunk 2/2 (14 segments)
16:06:43 [INFO] --------------------------------------------------------------------------------
16:06:43 [DEBUG] Saved chunk 1 state to database
16:06:43 [INFO] Chunk 1: ✓ Refined successfully. Total speaker mappings: 31
16:06:43 [INFO] Chunk 1: Added 31 new speaker mappings. Total: 31
16:06:43 [INFO] Chunk 1: Gemini returned 47 speakers (11 refined: City Clerk K. Martin, Councillor A. Chabot, Councillor D. McLean, Councillor D.J. Kelly, Councillor H. Clark, Councillor J. Pantazopoulos, Councillor J. Wyness, Councillor L. Johnston, Councillor M. Atkinson, Mayor J. Farkas, Public Speaker)
16:06:43 [INFO] Chunk 1: Successfully refined 574 segments with sparse mapping
16:06:43 [INFO] Saved parsed JSON: /tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv.gemini_debug/chunk_001_parsed.json
16:06:43 [INFO] Saved chunk response: /tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv.gemini_debug/chunk_001_response.txt
16:06:43 [INFO] Chunk 1: Gemini finish_reason: FinishReason.STOP
16:06:43 [INFO] Chunk 1: Received Gemini API response in 95.6s
16:05:08 [INFO] Chunk 1: Starting Gemini API call (model: gemini-2.5-pro, prompt length: 216194 chars)...
16:05:08 [INFO] Saved chunk input: /tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv.gemini_debug/chunk_001_input.json
16:05:08 [INFO] Time range: 5.2s - 14966.5s
16:05:08 [INFO] Processing chunk 1/2 (1523 segments)
16:05:08 [INFO] --------------------------------------------------------------------------------
16:05:08 [INFO] Prior run found but no chunks completed. Starting from chunk 1/2
16:05:08 [INFO] Chunk tracking initialized in database
16:05:08 [INFO] Creating chunk tracking records for 2 chunks
16:05:08 [INFO] Split into 2 chunks
16:05:08 [INFO] ================================================================================
16:05:08 [INFO] Councillor R. Ward, Councillor A. Yule, Councillor 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 A. Brown, General Manager C. Arthurs, General Manager K. Black, General Manager D. Hamilton, General Manager D. Morgan, General Manager M. Thompson, City Clerk K. Martin, Deputy City Clerk J. Fraser, Leader, Legislative Services M. A. Cario, Senior Legislative Specialist J. Palaschuk, Public Speaker There are no public speakers mentioned in this section., Public Speaker There were no public speakers listed in this section., Public Speaker There are no public speakers listed in this section. The text only lists council members and the mayor who voted., Public Speaker There were no public speakers in this section., Public Speaker There were no public speakers in this section. The text only lists the names of Councillors and the Mayor who voted., Public Speaker There were no public speakers mentioned in this section. The text only lists the names of councillors and the mayor who voted., Public Speaker There were no public speakers mentioned in this section., Public Speaker There are no public speakers listed in this section., Public Speaker There are no public speakers mentioned in the provided text., Public Speaker There are no public speakers listed in the provided text., Public Speaker There are no public speakers listed in the provided section text.
16:05:08 [INFO] ================================================================================
16:05:08 [INFO] CHUNKING STRATEGY: Speaker list being used:
16:05:08 [INFO] ================================================================================
16:05:08 [INFO] CHUNKING: Processing 1537 segments in chunks of 1500
16:05:08 [INFO] ================================================================================
16:05:08 [WARNING] Creating debug folder: /tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv.gemini_debug. These folders are not auto-cleaned. Clean up with: rm -rf *.gemini_debug/
16:05:08 [INFO] Large meeting detected (1537 segments). Using chunking strategy.
16:05:07 [INFO] Starting speaker refinement
16:05:07 [INFO] Cleanup completed: 154 segments corrected
16:05:07 [INFO] {"step": "cleanup", "status": "completed", "updated_at": "2026-06-29T10:05:07.065870-06:00", "applied_count": 154}
16:05:06 [INFO] {"step": "cleanup", "status": "processing", "updated_at": "2026-06-29T10:05:06.798009-06:00"}
16:05:06 [INFO] Starting name cleanup step
16:05:06 [INFO] Diarization completed and attached: /tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv.diarization.pyannote.json
16:05:06 [INFO] Diarization completed successfully!
16:05:06 [INFO] {"step": "diarization", "status": "completed", "updated_at": "2026-06-29T10:05:06.770386-06:00", "output_path": "/tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv.diarization.pyannote.json"}
16:05:06 [INFO] Extracted 1537 turn-based segments
16:05:06 [INFO] Diarization results saved to /tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.mkv.diarization.pyannote.json
16:05:06 [INFO] Job completed! Retrieving results...
16:05:06 [INFO] Job status: completed
16:05:06 [INFO] Speaker diarization completed
16:05:06 [INFO] Speaker diarization completed
16:05:06 [INFO] Poll #1: Status: succeeded
16:04:54 [INFO] Diarization job started (Job ID: d7452f0e-89d1-4fb8-8d7b-6fccc14ad667). Processing audio...
16:04:54 [INFO] Job d7452f0e-89d1-4fb8-8d7b-6fccc14ad667 already completed. Using existing results.
16:04:53 [INFO] Found existing pyannote job (ID: d7452f0e-89d1-4fb8-8d7b-6fccc14ad667). Checking status...
16:04:53 [INFO] Found existing pyannote job (ID: d7452f0e-89d1-4fb8-8d7b-6fccc14ad667). Checking status...
16:04:53 [INFO] Starting speaker diarization via pyannote.ai API
16:04:53 [INFO] Starting speaker diarization via pyannote.ai API
16:04:51 [INFO] Using S3 pre-signed URL for diarization
16:04:51 [INFO] {"step": "diarization", "status": "processing", "updated_at": "2026-06-29T10:04:51.378562-06:00"}
16:04:51 [INFO] Starting transcription + diarization
16:04:51 [INFO] Audio extracted and attached: /tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.wav
16:04:51 [INFO] {"step": "extraction", "status": "completed", "updated_at": "2026-06-29T10:04:51.368412-06:00", "wav_path": "/tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.wav"}
16:04:47 [INFO] Audio extracted to /tmp/tmpte7ws0me/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.wav
16:04:01 [INFO] Extracting audio to WAV format
16:04:01 [INFO] Extracting audio to WAV format
16:04:01 [INFO] {"step": "extraction", "status": "processing", "updated_at": "2026-06-29T10:04:01.668721-06:00"}
16:04:01 [INFO] Starting audio extraction
16:03:46 [INFO] Downloading video from S3 for processing
15:50:33 [ERROR] All 3 download attempts failed
15:50:33 [ERROR] Download attempt 3/3 failed: Failed to download video from https://pub-calgary.escribemeetings.com/Players/ISIStandAlonePlayer.aspx?Id=16b8ae82-821b-411b-b5e0-9168b1564cbf
15:50:30 [INFO] Retry attempt 2/3
15:50:20 [INFO] Retrying in 10 seconds...
15:50:20 [ERROR] Download attempt 2/3 failed: Failed to download video from https://pub-calgary.escribemeetings.com/Players/ISIStandAlonePlayer.aspx?Id=16b8ae82-821b-411b-b5e0-9168b1564cbf
15:50:17 [INFO] Retry attempt 1/3
15:50:12 [INFO] Retrying in 5 seconds...
15:50:12 [ERROR] Download attempt 1/3 failed: Failed to download video from https://pub-calgary.escribemeetings.com/Players/ISIStandAlonePlayer.aspx?Id=16b8ae82-821b-411b-b5e0-9168b1564cbf
15:50:08 [INFO] Manual retry initiated by user
15:50:07 [INFO] Job submitted successfully via webhook. Returning early.
15:50:06 [INFO] Webhooks enabled: https://ccai-api.pixeltree.ca/api/webhooks/pyannote
15:50:06 [INFO] Submitting diarization + transcription job to pyannote.ai (URL: https://ccai-prod.s3.amazonaws.com/459667a4-4004-48cf-9f7e-15fc62fb1929.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQK6LNXA7XP5KSEWG%2F20260629%2Fca-central-1%2Fs3%2Faws4_request&X-Amz-Date=20260629T155006Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=3186b67271af059bc41d4a4a08bf590bd6a9622a148f6de0ae1659756dc453a7)
15:50:06 [INFO] Starting speaker diarization via pyannote.ai API
15:50:06 [INFO] Starting speaker diarization via pyannote.ai API
15:50:06 [INFO] Using S3 pre-signed URL for diarization
15:50:06 [INFO] {"step": "diarization", "status": "processing", "updated_at": "2026-06-29T09:50:06.799954-06:00"}
15:50:06 [INFO] Starting transcription + diarization
15:50:06 [INFO] Audio extracted and attached: /tmp/tmp6_zacadb/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.wav
15:50:06 [INFO] {"step": "extraction", "status": "completed", "updated_at": "2026-06-29T09:50:06.788996-06:00", "wav_path": "/tmp/tmp6_zacadb/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.wav"}
15:50:02 [INFO] Audio extracted to /tmp/tmp6_zacadb/b6d4db2f-8f08-4cb5-b04b-83d0b351efe9.wav
15:49:11 [INFO] Extracting audio to WAV format
15:49:11 [INFO] Extracting audio to WAV format
15:49:11 [INFO] {"step": "extraction", "status": "processing", "updated_at": "2026-06-29T09:49:11.631286-06:00"}
15:49:11 [INFO] Starting audio extraction
15:48:55 [INFO] Downloading video from S3 for processing
21:48:00 [INFO] Download completed successfully
21:45:44 [INFO] Manual retry initiated by user
16:52:25 [ERROR] Step full failed: Recording 829 has no file path
16:41:32 [ERROR] Step full failed: Recording 829 has no file path