Skip to content

feat(auditor): accuracy auditor coverage for world events #1812

@CraigBuckmaster

Description

@CraigBuckmaster

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():

  1. 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.

  2. 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.

  3. 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

  • _tools/world_history_reference.py ships with consensus dates for well-attested events
  • Auditor detects date drift, theological language, and broken refs
  • CI integration matches existing auditor patterns
  • Auditor passes against the current 24 world events (after Phase 1 normalization)

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):

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions