Atlas Maintenance Checklist
This file documents the current maintenance contract so the implementation stays aligned.
1) Property policy
- Unitary / strict
- MID
- Wikidata QID
- birth date
- coordinates
- Lenient for now
- VIAF (many-to-one / cluster-style)
- ISNI
- other ambiguous authority identifiers
2) Source responsibilities
resolve_entity
- searches / resolves
- marks
wikidata_status = hit
- does not persist the full Wikidata payload by default
maintain_entities.py
- downloads the full Wikidata entity object
- persists it
- performs type-specific enrichment
- supersedes conflicting claims when appropriate
3) Type inference
- Use Wikidata
P31 as the primary type signal.
- Reason over the Wikidata ontology hierarchy first.
- If the ontology cannot decide, ask the LLM.
- If the type is already clear, skip to enrichment + write-back.
4) Type-specific enrichment
- Person
- birth date (strict)
- birth place
- citizenship
- Location
- latitude (strict)
- longitude (strict)
- country / region when available
- Organization
- inception
- headquarters
- industry
5) Supersession rules
- Never silently overwrite a claim.
- If a stronger claim replaces a weaker one:
- mark the old claim as
superseded
- create the new claim as
active
- Normal JSON must show only active claims.
6) JSON output policy
- Normal
resolve_entity output should stay compact and human-readable.
- Use
payloads=true for raw payload snapshots.
- Use
debug=true for full claim/provenance detail.
7) Persistence policy
- Persist the full Wikidata object once, then reuse it.
- Refresh only on explicit command.
- Maintenance is the only path that should write enriched payloads back.
8) Verification
For a single entity, the test loop is:
- resolve
- maintain
- resolve again
- verify that type, identifiers, and type-specific enrichment are correct