Evidence Vault

Source registry & import health

Every source the system may read, with crawl method, rate limits, reliability and honest status. Statuses reflect the true registry and import state — never a simulation of activity.

Data mode

Live data

Database-backed data only; gaps render as honest empty states.

Registry

16 / 20 enabled

20 seeded · 4 verified news feeds · 8 pending feed verification

Live coverage

100% of 56 DUN

172 candidates · 56 historical results · 9 articles

Evidence on file

246 source receipts

0 pending manual review · last import: 2 Jul, 03:43 pm

Probability model & import freshness

Probability estimates

56 / 56 seats

0 seats insufficient · 56 on winner-level 2022 baseline only

Model version

baseline-1.0

Last run: 2 Jul, 09:52 am

Model confidence

40 low · 16 medium

Intentionally conservative: winner-level baseline, no news or sentiment signals yet.

Import freshness

OpenDOSM
2 Jul, 08:13 am
Candidates (manual)
2 Jul, 08:24 am
2022 results (manual)
2 Jul, 08:39 am

News & narrative layer

Feeds verified

4 / 13 news sources

Every feed is verified with robots-checked probes before ingestion; the rest stay read-only pending verification. Feed URLs are never guessed.

Stored articles

9 (9 relevant)

Latest ingest: 2 Jul, 03:16 pm

Narrative clusters

0 · no run yet

Deterministic issue/seat grouping only — no LLM summaries, no sentiment claims.

Entity reviews pending

0

Ambiguous candidate/seat mentions wait for manual resolution — never stored as facts.

Automated operations

Last news import

2 Jul, 03:16 pm

Most recent article stored from any verified feed.

Last narrative run

never

Clustering re-runs over the full stored article set after every ingest.

Last source verification

2 Jul, 03:43 pm

Most recent robots-checked feed probe across the registry.

Last cron run

2 Jul, 03:43 pm

news completed · sources 4/4 · fetched 40 · kept 3 · duplicates 3 · review 0 · clusters +0 · failures 0 · 48074ms

Tier 1 · Official

SPR — Suruhanjaya Pilihan Raya

Enabled

https://www.spr.gov.my

Method
static_html
Reliability
98%
Rate limit
30/h
Registry
Seeded
Last crawl
Never
Last success
Never

Official portal. Crawl gently; verify robots.txt before each run.

Public informational pages only. Robots-checked static fetch; anything interactive or blocked routes to manual import.

MySPR Semak

Disabled

https://mysprsemak.spr.gov.my

Method
manual
Reliability
98%
Rate limit
Registry
Seeded
Last crawl
Never
Last success
Never

Unavailable — access restricted. Interactive lookup service; no bulk crawling. Manual verification workflow only.

Interactive lookup service (CAPTCHA-protected). Never scraped. Official data enters via the manual import templates in data/import/.

Manual review required

OpenDOSM

Enabled

https://open.dosm.gov.my

Method
api
Reliability
97%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 08:14 am
Last success
2 Jul, 08:14 am

Official open-data API for demographic context.

data catalogue API at api.data.gov.my (no key required; gentle rate limits).

SPR Dashboard (dashboard.spr.gov.my)

Disabled

https://dashboard.spr.gov.my

Method
manual
Reliability
97%
Rate limit
12/h
Registry
Seeded
Last crawl
Never
Last success
Never

JavaScript-heavy dashboard. Automated extraction is off until its terms and robots policy are confirmed; use manual import in the meantime.

If automated access is confirmed permissible, a Playwright adapter may render public pages; otherwise stays manual-import only.

Manual review required

data.gov.my (data catalogue)

Enabled

https://api.data.gov.my

Method
api
Reliability
97%
Rate limit
60/h
Registry
Seeded
Last crawl
Never
Last success
Never

Official open-data catalogue API (shared infrastructure with OpenDOSM).

Used by the OpenDOSM adapter for population datasets.

Tier 2 · Structured

ElectionData.MY / Open Election API

Enabled

https://electiondata.my

Method
api
Reliability
90%
Rate limit
120/h
Registry
Seeded
Last crawl
Never
Last success
Never

Machine-readable cross-check for historical results and candidates.

Bearer token via ELECTIONDATA_API_KEY. Endpoint paths are configured, not guessed — see the adapter for setup.

Tier 3 · Verified news

Bernama

Enabled

https://www.bernama.com

Method
rss
Reliability
92%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 11:41 am
Last success
Never
Feed
No public feed
Feed status
Access pending

Pending feed verification

Access not yet confirmed — the source stays in the registry and is re-probed before any ingestion. Last probe: no working feed URL

National wire service. RSS path must be confirmed from bernama.com before enabling ingestion — none configured yet.

Astro Awani

Enabled

https://www.astroawani.com

Method
rss
Reliability
88%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 11:41 am
Last success
Never
Feed
No public feed
Feed status
Access pending

Pending feed verification

Access not yet confirmed — the source stays in the registry and is re-probed before any ingestion. Last probe: no working feed URL

RSS path must be confirmed from astroawani.com before enabling ingestion.

The Star

Enabled

https://www.thestar.com.my

Method
rss
Reliability
88%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 11:41 am
Last success
Never
Feed
Pending verification
Feed status
Access pending

Pending feed verification

Access not yet confirmed — the source stays in the registry and is re-probed before any ingestion. Last probe: HTTP 404

Publisher-documented RSS index at thestar.com.my/rss (path candidate, unverified).

Malay Mail

Enabled

https://www.malaymail.com

Method
rss
Reliability
86%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 03:43 pm
Last success
2 Jul, 03:43 pm
Feed
Verified
Feed status
ok

Feed verified working 2026-07-02 (see data/reports/news-source-health.md); article pages robots-allowed.

Malaysiakini

Disabled

https://www.malaysiakini.com

Method
rss
Reliability
87%
Rate limit
30/h
Registry
Seeded
Last crawl
Never
Last success
Never
Feed
No public feed
Feed status
Access pending

Unavailable — access restricted. Most articles are behind a paywall; only openly published headlines/summaries may be used. No paywall bypass.

Paywalled — disabled. Only openly published headlines/summaries may ever be used; no paywall bypass.

Manual review required

Sinar Harian

Enabled

https://www.sinarharian.com.my

Method
rss
Reliability
84%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 11:41 am
Last success
Never
Feed
No public feed
Feed status
Access pending

Pending feed verification

Access not yet confirmed — the source stays in the registry and is re-probed before any ingestion. Last probe: no working feed URL

RSS path must be confirmed from sinarharian.com.my before enabling ingestion.

Berita Harian

Enabled

https://www.bharian.com.my

Method
rss
Reliability
85%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 11:41 am
Last success
Never
Feed
No public feed
Feed status
Access pending

Pending feed verification

Access not yet confirmed — the source stays in the registry and is re-probed before any ingestion. Last probe: no working feed URL

RSS path must be confirmed from bharian.com.my before enabling ingestion.

Harian Metro

Enabled

https://www.hmetro.com.my

Method
rss
Reliability
80%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 11:41 am
Last success
Never
Feed
No public feed
Feed status
Access pending

Pending feed verification

Access not yet confirmed — the source stays in the registry and is re-probed before any ingestion. Last probe: no working feed URL

RSS path must be confirmed from hmetro.com.my before enabling ingestion.

Free Malaysia Today

Enabled

https://www.freemalaysiatoday.com

Method
rss
Reliability
84%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 03:43 pm
Last success
2 Jul, 03:43 pm
Feed
Verified
Feed status
ok

WordPress feed verified working 2026-07-02 (see data/reports/news-source-health.md); article pages robots-allowed.

New Straits Times

Enabled

https://www.nst.com.my

Method
rss
Reliability
86%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 11:41 am
Last success
Never
Feed
No public feed
Feed status
Access pending

Pending feed verification

Access not yet confirmed — the source stays in the registry and is re-probed before any ingestion. Last probe: no working feed URL

RSS path must be confirmed from nst.com.my before enabling ingestion.

Utusan Malaysia

Enabled

https://www.utusan.com.my

Method
rss
Reliability
80%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 03:43 pm
Last success
2 Jul, 03:43 pm
Feed
Verified
Feed status
ok

WordPress feed verified working 2026-07-02 (see data/reports/news-source-health.md); article pages robots-allowed.

Malaysia Gazette

Enabled

https://malaysiagazette.com

Method
rss
Reliability
78%
Rate limit
30/h
Registry
Seeded
Last crawl
2 Jul, 11:41 am
Last success
Never
Feed
Pending verification
Feed status
Access pending

Pending feed verification

Access not yet confirmed — the source stays in the registry and is re-probed before any ingestion. Last probe: Invalid character in tag name Line: 137 Column: 182 Char: ;

WordPress feed candidate, unverified.

Manual review required

RTM

Enabled

https://berita.rtm.gov.my

Method
rss
Reliability
90%
Rate limit
60/h
Registry
Seeded
Last crawl
2 Jul, 03:43 pm
Last success
2 Jul, 03:43 pm
Feed
Verified
Feed status
ok

Public broadcaster news portal. Feed verified working 2026-07-02 (see data/reports/news-source-health.md); article pages robots-allowed.

Tier 4 · Public web

Public social pages (official party/candidate pages)

Disabled

about:registry/public-social

Method
api
Reliability
55%
Rate limit
30/h
Registry
Seeded
Last crawl
Never
Last success
Never

Only via allowed APIs or legally accessible public embeds. No private groups, no login-only content, no personal-data collection.

Disabled until a legally reviewed public-API integration exists.

Manual review required

Source receipts on file

showing latest 100 of 246 receipts
ReceiptTierRetrievedConfidenceStatus
RTMTier 3 · Verified news2 Jul, 03:43 pmConf · MediumUnverified
RTMTier 3 · Verified news2 Jul, 03:43 pmConf · MediumUnverified
Utusan MalaysiaTier 3 · Verified news2 Jul, 03:43 pmConf · MediumUnverified
RTMTier 3 · Verified news2 Jul, 03:20 pmConf · MediumUnverified
RTMTier 3 · Verified news2 Jul, 03:20 pmConf · MediumUnverified
RTMTier 3 · Verified news2 Jul, 03:20 pmConf · MediumUnverified
Utusan MalaysiaTier 3 · Verified news2 Jul, 03:20 pmConf · MediumUnverified
RTMTier 3 · Verified news2 Jul, 03:16 pmConf · MediumUnverified
RTMTier 3 · Verified news2 Jul, 03:16 pmConf · MediumUnverified
RTMTier 3 · Verified news2 Jul, 03:16 pmConf · MediumUnverified
Utusan MalaysiaTier 3 · Verified news2 Jul, 03:16 pmConf · MediumUnverified
Utusan MalaysiaTier 3 · Verified news2 Jul, 11:51 amConf · MediumUnverified
Free Malaysia TodayTier 3 · Verified news2 Jul, 11:51 amConf · MediumUnverified
Free Malaysia TodayTier 3 · Verified news2 Jul, 11:51 amConf · MediumUnverified
Free Malaysia TodayTier 3 · Verified news2 Jul, 11:51 amConf · MediumUnverified
Malay MailTier 3 · Verified news2 Jul, 11:48 amConf · MediumUnverified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (results)Tier 3 · Verified news2 Jul, 08:39 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified
Manual analyst import (candidates)Tier 3 · Verified news2 Jul, 08:24 amConf · LowPartially verified