Skip to content

Add Kansas City Council Legistar scraper#187

Draft
ThatXliner wants to merge 1 commit into
codex/nc-tx-scrapers-consolidatedfrom
codex/kansas-city-council
Draft

Add Kansas City Council Legistar scraper#187
ThatXliner wants to merge 1 commit into
codex/nc-tx-scrapers-consolidatedfrom
codex/kansas-city-council

Conversation

@ThatXliner

Copy link
Copy Markdown
Collaborator

Summary

  • add a current-cycle Kansas City Council adapter backed by the official structured Legistar Event, EventItem, attachment, and Vote endpoints
  • persist meetings, cancellations/revisions, Central Time locations, official documents, video links, legislation references, actions/outcomes, and named votes through the existing provider-neutral local-government tables and API
  • add deterministic fixtures, tests, scraper registration, environment metadata, source hashes/versions, idempotent transactional upserts, and documentation

Scope and behavior

Discovery is restricted to Kansas City Council body ID 138 and the active four-year Council term. Hidden test meetings are excluded and no prior-cycle archive is backfilled. Meetings run sequentially with at most two vote lookups in flight through the shared retry/backoff client. Kansas City actioned items are checked for votes even when Legistar leaves EventItemRollCallFlag unset.

This reuses the civic schema introduced by the base PR. It adds no schema fields, hand-written DDL, or migration files.

Verification

  • pnpm --filter @acme/scraper test — 31 tests passed
  • pnpm --parallel --filter @acme/scraper --filter @acme/api --filter @acme/db typecheck
  • targeted Prettier check for all changed source, fixture, registration, environment, and documentation files
  • pnpm --filter @acme/scraper build

Closes #185

@vercel

vercel Bot commented Jul 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
billion-nextjs Ready Ready Preview, Comment Jul 22, 2026 4:05pm

@ThatXliner

Copy link
Copy Markdown
Collaborator Author

Source inventory and app-presentation follow-up

Official source added

This PR ingests the Kansas City, Missouri Legistar Web API for City Council body ID 138 during the active Council term:

  • meetings, Central Time dates/locations, cancellations, and revisions
  • agenda items and municipal-legislation references
  • actions, motions, outcomes, and tally text
  • agendas, minutes, packets, attachments, and video
  • named roll-call votes when published

It uses PR #181's provider-neutral local-government tables with stable IDs, hashes, source versions, and transactional upserts. No API key or migration is needed.

App status and proposed presentation

The shared localGovernment API can serve this data, but Expo currently queries all jurisdictions and links to the source instead of rendering stored detail.

  • Resolve the saved address to kansas-city-mo.
  • Present it under City & County Meetings, separate from state bills.
  • Add meeting detail for status/time/location, agenda sections, actions/outcomes, named votes, and official documents/video.
  • Show municipal file/reference numbers without implying they are Missouri General Assembly bills.
  • Display source name, official link, fetched time, and a stale-data state.
  • Distinguish “no upcoming meetings” from “collection has not run recently.”

The scraper is CLI-registered, but continuous collection still needs a deployed scheduler.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant