Parent epic: #1808
Depends on: #1810
Goal
Extend _tools/accuracy_auditor.py to cover world events: detect date drift from consensus, theological language in summaries, and broken biblical-event references.
Depends on
- Schema extension issue (adds
certainty and related_biblical_event_ids fields)
File-by-file changes
NEW: _tools/world_history_reference.py
A reference table of consensus dates for well-attested events. Format:
CONSENSUS_DATES = {
'pyramids-giza': { 'year': -2560, 'tolerance_years': 50 },
'code-hammurabi': { 'year': -1754, 'tolerance_years': 30 },
'fall-nineveh': { 'year': -612, 'tolerance_years': 5 },
# ... ~30-50 firm-dated events
}
Tolerance reflects scholarly disagreement bounds. Events not in this table are not date-checked (the auditor remains silent rather than guessing).
MODIFY: _tools/accuracy_auditor.py
Add a new audit tier audit_world_events():
-
Date drift check: for each world event in CONSENSUS_DATES, fail if abs(event.year - consensus.year) > tolerance_years AND certainty != 'disputed'. The 'disputed' flag opts out — if a date is contested, the editor can mark it.
-
Theological language check: scan summary for theological framing keywords (God, Lord, judgment, chosen, covenant, redemption, prophecy, salvation, etc. — configurable list). Warn (not fail) if found. World events should be neutral context.
-
Reference integrity: for each related_biblical_event_ids[] entry, verify the id resolves to a known biblical event in events[]. Fail if any id is unknown.
MODIFY: .github/workflows/content-pipeline.yml (or wherever auditor runs in CI)
Auditor failures on world events should follow the same auto-issue-creation pattern as existing quality violations.
Tests
NEW: _tools/__tests__/test_world_events_auditor.py
- Date drift triggers for an event > tolerance years off
certainty='disputed' suppresses date drift
- Theological keyword in summary triggers warning
- Unknown
related_biblical_event_ids fails
- All-clean entries pass silently
Acceptance criteria
Out of scope
- Adding the consensus reference for every event — start with ~30-50 firm dates, grow over time
- Auto-correction (auditor reports, doesn't fix)
- Cross-region narrative consistency checks
Branch / commit hygiene
- Branch:
feat/auditor-world-events
- Commit prefix:
feat(auditor):
Parent epic: #1808
Depends on: #1810
Goal
Extend
_tools/accuracy_auditor.pyto cover world events: detect date drift from consensus, theological language in summaries, and broken biblical-event references.Depends on
certaintyandrelated_biblical_event_idsfields)File-by-file changes
NEW:
_tools/world_history_reference.pyA reference table of consensus dates for well-attested events. Format:
Tolerance reflects scholarly disagreement bounds. Events not in this table are not date-checked (the auditor remains silent rather than guessing).
MODIFY:
_tools/accuracy_auditor.pyAdd a new audit tier
audit_world_events():Date drift check: for each world event in
CONSENSUS_DATES, fail ifabs(event.year - consensus.year) > tolerance_yearsANDcertainty != 'disputed'. The 'disputed' flag opts out — if a date is contested, the editor can mark it.Theological language check: scan
summaryfor theological framing keywords (God,Lord,judgment,chosen,covenant,redemption,prophecy,salvation, etc. — configurable list). Warn (not fail) if found. World events should be neutral context.Reference integrity: for each
related_biblical_event_ids[]entry, verify the id resolves to a known biblical event inevents[]. Fail if any id is unknown.MODIFY:
.github/workflows/content-pipeline.yml(or wherever auditor runs in CI)Auditor failures on world events should follow the same auto-issue-creation pattern as existing quality violations.
Tests
NEW:
_tools/__tests__/test_world_events_auditor.pycertainty='disputed'suppresses date driftrelated_biblical_event_idsfailsAcceptance criteria
_tools/world_history_reference.pyships with consensus dates for well-attested eventsOut of scope
Branch / commit hygiene
feat/auditor-world-eventsfeat(auditor):