22 lines
1.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Validation rules
Reject an import atomically if any error rule fails:
1. Exact documented headers; UTF-8; unique, non-empty stable keys.
2. Unique normalised names; trimmed display values; controlled enum/boolean values.
3. Every relationship endpoint and every usage foreign key resolves.
4. No self-relationships or duplicate `(from, to, type)` relationships.
5. All numeric weights are finite and in `[0,1]`.
6. Male and female weights total 1 within `0.0002`.
7. Every name/locale has exactly five ordered, contiguous, non-overlapping bands covering 1900–2026.
8. No ownership columns or project-specific aliases enter the reference package.
9. Package version and import outcome are recorded transactionally.
Behavioural invariants:
- Unknown name → no dictionary evidence, never “not a person”.
- Relationship → candidate/explanation/warning, never automatic identity merge.
- Gender prior → ranking hint, always subordinate to manuscript evidence.
- Used-name status → computed from project/book/series character data at query time.