A chapter of the Move Weight Foundation
Miami, OKof 14

Self-sustaining site monitor

Automation Status

Last run: 2026-10-25T03:31:34+00:00. Mode: daily. Overall status: attention.

Open raw status JSON News Videos Agenda packets Finance transcripts

Current Totals

534Meeting Manifest Count
534Published Meetings
2026-10-20Newest Published Meeting
0Meetings Awaiting Publish
512Meeting Transcripts
51Youtube Uploads
85Youtube Channel Pull
510Youtube Captions
534Official Video Records
55News Items
12News Sources
995Search Records
84Finance Transcripts
24Agenda Packets

Last Run Jobs

JobStatusTimeOutput
Discover agenda packets and build audit pagesok4.54s
output
agenda packet auto: discovered=24 rendered=24
Crawl official Miami Web TV videosok1.54s
output
Crawled 534 official Granicus videos
Merged manifest now has 534 meetings
Wrote /opt/miamiok-granicus-videos.json
Rebuild official/YouTube video APIok0.1s
output
Skipping invalid YouTube upload marker /var/www/exposemiamiok/html/meetings/631/youtube_uploaded.json: Expecting value: line 1 column 1 (char 0)
Skipping invalid YouTube upload marker /var/www/exposemiamiok/html/meetings/630/youtube_uploaded.json: Expecting value: line 1 column 1 (char 0)
Pull YouTube channel uploads from YouTube APIok1.97s
output
/usr/local/lib/python3.11/dist-packages/google/api_core/_python_version_support.py:273: FutureWarning: You are using a Python version (3.11.2) which Google will stop supporting in new releases of google.api_core once it reaches its end of life (2027-10-24). Please upgrade to the latest Python version, or at least Python 3.12, to continue receiving updates for google.api_core past that date.
  warnings.warn(message, FutureWarning)
Rebuild public videos pageok0.18s
output
Skipping invalid YouTube upload marker /var/www/exposemiamiok/html/meetings/631/youtube_uploaded.json: Expecting value: line 1 column 1 (char 0)
Skipping invalid YouTube upload marker /var/www/exposemiamiok/html/meetings/630/youtube_uploaded.json: Expecting value: line 1 column 1 (char 0)
Refresh local news RSS feedsok6.2s
output
wrote /var/www/exposemiamiok/html/data/local-news-feeds.json items=55 sources=12
Rebuild site search indexok2.89s
output
wrote /var/www/exposemiamiok/html/data/site-search-index.json records=995
Crime watch feed aggregatorok4.3s
output
y; body found in Tar Creek in Ottawa Count — Google News - Ottawa
  [ 6] OSBI, sheriff's office investigating body found by hunters in Ottawa County - KT — Google News - Ottawa
  [ 6] More charges filed in Joplin Jail drug exchanges — Joplin Globe
  [ 6] Commerce couple sentenced to life in prison for murder, child neglect — Joplin Globe
  [ 6] Suspect identified in 4-year-old Joplin shooting — Joplin Globe
  [ 6] Man stopped in Jasper County convicted of drug possession — Joplin Globe
  [ 5] Proactive Patrol Ends in High-Speed Pursuit, Crash, and Arrest of Texas Car Thef — Google News - Miami
Normalize menu and logo shellok0.56s
output
full menu updated checked=940 changed=29 nav_items=18 js=adc52e4b css=d3945bb5
Download missing meeting agenda attachmentsskipped0s
output
Command target is missing; job skipped.
Rebuild meetings index pageok4.37s
output
meetings index rebuilt: 534 meetings, 204 KB
  transcripts 510 | agendas 510 | minutes 20 | video 508
  pushed to GitHub
Verify YouTube upload/transcript stateok1.31s
output
/usr/local/lib/python3.11/dist-packages/google/api_core/_python_version_support.py:273: FutureWarning: You are using a Python version (3.11.2) which Google will stop supporting in new releases of google.api_core once it reaches its end of life (2027-10-24). Please upgrade to the latest Python version, or at least Python 3.12, to continue receiving updates for google.api_core past that date.
  warnings.warn(message, FutureWarning)
Post-upload video page refreshok0.16s
output
Skipping invalid YouTube upload marker /var/www/exposemiamiok/html/meetings/631/youtube_uploaded.json: Expecting value: line 1 column 1 (char 0)
Skipping invalid YouTube upload marker /var/www/exposemiamiok/html/meetings/630/youtube_uploaded.json: Expecting value: line 1 column 1 (char 0)
Post-upload YouTube channel pullok1.51s
output
/usr/local/lib/python3.11/dist-packages/google/api_core/_python_version_support.py:273: FutureWarning: You are using a Python version (3.11.2) which Google will stop supporting in new releases of google.api_core once it reaches its end of life (2027-10-24). Please upgrade to the latest Python version, or at least Python 3.12, to continue receiving updates for google.api_core past that date.
  warnings.warn(message, FutureWarning)
Post-upload search refreshok2.73s
output
wrote /var/www/exposemiamiok/html/data/site-search-index.json records=995
SEO sitemap and schema refreshok0.25s
output
ding robots.txt...
robots.txt written
[3/5] Building schema.org structured data...
Schema injected into HTML pages
[4/5] Building Miami Oklahoma landing page...
Miami landing page: 11885 bytes
[5/5] Building Ottawa County landing page...
Ottawa County landing page: 6548 bytes

=== DONE ===
Sitemap:  820 URLs
Robots:   /robots.txt
Schema:   JSON-LD injected into all pages
Landing:  /miami-oklahoma.html
Landing:  /ottawa-county-guide.html

Submit:   https://search.google.com/search-console
          -> Add property: exposemiamiok.com
          -> Sitemaps -> https://exposemiamiok.com/sitemap.xml
Post-upload menu normalizationok0.54s
output
full menu updated checked=940 changed=4 nav_items=18 js=adc52e4b css=d3945bb5

Schedule

Hourly: agenda packets, official videos, video page, RSS news, search, menu repair.

Daily: hourly jobs plus meeting attachment refresh, meetings index rebuild, YouTube transcript/API verification, video/search/menu refresh. The upload/caption batch runs from the dedicated 2:00 AM uploader.

Weekly: daily jobs plus City and Ottawa County finance downloads, finance transcript rebuild, audit-lead refresh, search/menu refresh.