Fan Oxygen Audit pressures memorial custody

Design intent

Prove that fan pressure can challenge the material cost of memorial/voice custody without adding a broad global pressure system.

Affected objects

Cards: card.fan_cell.candle_queue, card.resource.oxygen_ledger, card.sponsor.saintglass_memorial_grant, card.inspector.archive_notary, card.artist_archive.lio_aftervoice.

Rites: rite.fan_oxygen_audit, rite.memorial_voice_permit.

Events: event.fan_oxygen_audit_opened, event.oxygen_ledger_requested, event.audit_answered, event.audit_suppressed, event.audit_recruited, event.memorial_oxygen_riot.

Counters: counter.memorial_oxygen_cost, counter.fan_trust, counter.sponsor_claim, counter.inspector_heat, counter.schedule_slots_free.

Oracle

Within 30 turns, a memorial archive exists, the fan audit opens, four audit responses are offered, at least one response requires the oxygen ledger or creates a miss branch, and replay evidence records the selected branch plus local counter movement.

Progress metric

fanOxygenAuditProgress = 0..5: memorial object, audit opened, ledger requested, response chosen, response resolved, custody consequence or oxygen riot.

Evidence

  • Code sibling: fan-oxygen-audit-memorial-cost.lens.ts
  • Replay fixture: lens/replays/archive-voice-custody-memorial-permit.replay.json
  • Evaluator: scripts/evaluate_lenses.mjs