Data health

Every fact on Mzalendo is drillable to its source. This page shows when we last fetched each one, whether it is within its freshness target, and how to verify it yourself.

25sources tracked
1within SLA
24SLA breached
10never run
2failed last attempt

Parked scheduled jobs (14)

These jobs are defined in the beat schedule but the production task-policy partition withholds them from unattended execution — they do not run automatically. Listed here so the withholding is visible, not silent. Each is reviewed by its date below.

JobTaskWhy parkedReview by
daily-embed-new-hansard-content hansard.embed_new_content Writes vector embeddings; parked with the Hansard pipeline. 2026-08-15
daily-hansard-scrape-and-process hansard.daily_scrape_and_process Downloads and mutates the Hansard corpus; unattended ingest awaits governance conversion. Operators run the daily pipeline manually until then. 2026-08-15
daily-parlgoke-roster-snapshot parliament.parlgoke_roster_snapshot Captures editorial snapshots directly; needs raw-observation conversion. 2026-08-15
daily-roster-accuracy-check parliament.roster_accuracy_check Writes RosterVerificationRun outside the crawler API; needs raw-observation conversion. 2026-08-15
daily-search-health-check search.health_check_deployment May create/repair database search objects; run in maintenance windows instead. 2026-09-01
daily-sync-contribution-counts parliament.sync_contribution_counts Mutates citizen-visible denormalized counts; awaiting an audited operational role. 2026-08-15
daily-sync-policytopic-counts topics.sync_policytopic_counts Mutates citizen-visible denormalized counts; awaiting an audited operational role. 2026-08-15
retry-failed-downloads production.retry_failed_downloads Mutates download retry state; parked with the Hansard pipeline. 2026-08-15
sentiment-check-spikes sentiment.check_spikes Parked with sentiment-ingest. 2026-09-01
sentiment-ingest sentiment.ingest Sentiment feature parked (client deprioritized; classifier credentials unfunded); source SLA relaxed to weekly in sources.py to match. 2026-09-01
weekly-cleanup-stale-processing production.retry_failed_processing Mutates processing retry state; parked with the Hansard pipeline. 2026-08-15
weekly-committee-membership-audit parliament.audit_committee_membership Captures committee snapshots directly; needs raw-observation conversion. 2026-08-15
weekly-legislation-scrape legislation.scrape Upserts legislation rows; unattended ingest awaits governance conversion. Operators run it manually. 2026-08-15
weekly-search-maintenance search.health_check_maintenance Performs search backfill/reindex; run in maintenance windows instead. 2026-09-01

Roster drift

How the parliament.go.ke MP & Senator directories compare to our local roster. Green = within 2 rows, amber = 3-10, red = >10.

National Assembly 341 on parliament.go.ke · 349 local (8 row delta) 0 missing-local · 8 missing-remote 10 Jul 02:45

Missing locally (on parliament.go.ke, not in our roster)

None.

Missing remotely (in our roster, not on parliament.go.ke)

  • Abdi Ali Abdi · id 83
  • Ali Wario · id 656
  • Julius Musili Mawathe · id 7134
  • Mugambi Murwithania Rindikiri · id 9081
  • Wetangula Moses Masika · id 13528
  • Denar Joseph Hamisi · id 13761
  • Mwangi Teresia Wanjiru · id 13783
  • Iraya Joseph Wainaina · id 13798
Senate 67 on parliament.go.ke · 67 local (0 row delta) 0 missing-local · 0 missing-remote 10 Jul 02:48

Missing locally (on parliament.go.ke, not in our roster)

None.

Missing remotely (in our roster, not on parliament.go.ke)

None.

Extractor queue

Per-extractor delta vs the previous run + currently-pending Celery tasks. Use this when a downstream count looks stale.

Extractor Last run Rows last run Δ vs previous Queue depth Last success
Bill stages
bill_stage_extractor
Success — wrote rows
1 Jul 10:15
0 0 0 1 Jul 10:15
Gazette notices
kenyalaw_gazette_extract
Success — wrote rows
1 Jul 10:23
0 -6 0 1 Jul 10:23
Motions
hansard_motions_extract
Success — wrote rows
10 Jul 03:23
0 0 0 10 Jul 03:23
Petitions
hansard_petitions_extract
Success — wrote rows
10 Jul 03:27
0 0 0 10 Jul 03:27
Questions
hansard_questions_extract
Success — wrote rows
10 Jul 03:34
0 -1 0 10 Jul 03:34
Statements
hansard_statements_extract
Success — wrote rows
10 Jul 03:47
0 0 0 10 Jul 03:47
Papers laid
hansard_papers_laid_extract
Success — wrote rows
10 Jul 03:51
0 0 0 10 Jul 03:51
Votes
hansard_votes_extract
Success — wrote rows
10 Jul 03:56
15 -3 0 10 Jul 03:56

Speaker-attribution drain

589926 total speech rows
375036 attributed
214890 NULL contributor
63.6% resolved share
0 resolved last 24h

AI search coverage

1712 of 830966 Hansard chunks are embedded (0%). This is what the chat assistant searches over.

Hansard

Source Last run Status Rows Freshness SLA Authority
Hansard — National Assembly
tazabu_hansard_na · http
never No_run 0 129600 s · breached Verify on source ↗
Hansard — Senate
tazabu_hansard_senate · http
never No_run 0 129600 s · breached Verify on source ↗
Guard: tracker/Hansard reconciliation (weekly)
guard_audit_tracker_hansard_reconciliation · api
never No_run 0 1036800 s · breached Verify on source ↗

Legislation

Source Last run Status Rows Freshness SLA Authority
Bills — Parliament of Kenya
parlgoke_bills · http
never No_run 0 691200 s · breached Verify on source ↗
Acts — Kenya Law
kenyalaw_acts · http
21 Jun 2026, 21:56
22d ago
Success 2966 691200 s · breached Verify on source ↗
Acts — long-title + commencement enrichment (Kenya Law)
kenyalaw_acts_enrich · http
23 Jun 2026, 02:20
21d ago
Empty 6 129600 s · breached Verify on source ↗
Motions tracker — National Assembly
parliament_motions_tracker_na · http
3 Jul 2026, 16:51
10d ago
Failed 18 691200 s · breached Verify on source ↗
Motions tracker — Senate
parliament_motions_tracker_senate · http
2 Jul 2026, 12:53
11d ago
Failed 56 691200 s · breached Verify on source ↗
Questions tracker — National Assembly
parliament_question_tracker_na · http
2 Jul 2026, 15:17
11d ago
Success 24 691200 s · breached Verify on source ↗
Petitions tracker — National Assembly
parliament_petitions_tracker_na · http
5 Jul 2026, 14:13
8d ago
Success 61 691200 s · breached Verify on source ↗
Petitions tracker — Senate
parliament_petitions_tracker_senate · http
2 Jul 2026, 12:09
11d ago
Empty 82 691200 s · breached Verify on source ↗
Statements tracker — National Assembly
parliament_statements_tracker_national_assembly · http
3 Jul 2026, 13:27
10d ago
Success 880 691200 s · breached Verify on source ↗
Statements tracker — Senate
parliament_statements_tracker_senate · http
2 Jul 2026, 15:44
11d ago
Success 515 691200 s · breached Verify on source ↗
Order Papers — National Assembly
parlgoke_order_papers_na · browser
10 Jul 2026, 03:21
4d ago
Success 50 129600 s · breached Verify on source ↗
Order Papers — Senate
parlgoke_order_papers_senate · browser
10 Jul 2026, 03:00
4d ago
Success 50 129600 s · breached Verify on source ↗
Guard: cross-store vote-duplicate (daily)
guard_audit_votes_cross_store · api
never No_run 0 194400 s · breached Verify on source ↗

Gazette

Source Last run Status Rows Freshness SLA Authority
Kenya Gazette — Kenya Law
kenyalaw_gazette · http
5 Jul 2026, 06:40
9d ago
Success 102 691200 s · breached Verify on source ↗

Members

Source Last run Status Rows Freshness SLA Authority
MPs — National Assembly directory
parlgoke_members_na · http
10 Jul 2026, 02:45
4d ago
Success 341 129600 s · breached Verify on source ↗
Senators — Senate directory
parlgoke_members_senate · http
10 Jul 2026, 02:48
4d ago
Success 67 129600 s · breached Verify on source ↗
Certified member sources — raw Parliament observation
certified_member_sources · http
never No_run 0 129600 s · breached Verify on source ↗
Committee membership reconciliation
committee_membership_audit · http
10 Jul 2026, 05:44
4d ago
Success 0 691200 s Verify on source ↗
Official county and constituency stable-ID inventory
official_boundary_inventory · http
never No_run 0 691200 s · breached Verify on source ↗
Guard: 13th-Parliament reconciliation (daily)
guard_audit_13th_reconciliation · api
never No_run 0 194400 s · breached Verify on source ↗
Guard: topic-coverage (daily)
guard_audit_topic_coverage · api
never No_run 0 194400 s · breached Verify on source ↗
Guard: member-totals parity (daily)
guard_audit_member_totals · api
never No_run 0 194400 s · breached Verify on source ↗