| name | candidate-edit |
| description | Edit candidate entries in district override JSONs. Use when: correcting candidate names, updating party affiliations, adjusting confidence levels, updating sourceNotes, fixing typos in candidate data. |
Candidate Edit
When to Use
- Correcting a candidate name (e.g. spelling fix, wrong person)
- Changing party or partyFull
- Upgrading or downgrading confidence level
- Updating sourceNote with newer source
- Refreshing lastReviewed date
Canonical Files
research/constituency-live-fields/<district>.json
research/candidate-facts/<candidateId>.json
research/candidate-timelines/<candidateId>.json
public/data/district-candidates/<district>.json
Procedure
- Find the candidate in
research/constituency-live-fields/<district>.json first
- Fix the structured research candidate entry, not just the generated public row
- If staged facts or timeline text is now wrong, update the matching staged files too
- Trigger publication-agent for touched candidate rows
- Run the data-validation skill
Confidence Upgrade Rules
Upgrade to High when:
- Candidate directly named in official party list (Congress, BJP, CPI(M), IUML dated lists)
- Multiple independent verified sources confirm the same name
Keep at Medium when:
- Single news source or sitting-MLA retention logic only
- Party list exists but specific seat isn't individually confirmed
Downgrade to Low when:
- Source is Wikipedia, compiled tables, or undated articles
- Conflicting names across sources
- Candidate expected to step aside but successor unknown
Always Update Together
When changing confidence, also update:
lastReviewed → today's date (YYYY-MM-DD)
sourceNote → cite the source that justifies the new confidence level
ID Convention
Published candidate rows now use research-style IDs such as:
candidate-varkala-cpim-2026
candidate-manjeri-u-a-latheef-2026
candidate-kondotty-iuml-2026
Do NOT Change
- Do not add
age, education, photo, or timeline unless explicitly asked
- Do not change
constituencyId — that's a constituency-edit operation
- Do not treat generated
public/data/district-candidates/*.json as the source of truth; resync from research