## Context Spun out of `Stackbilt-dev/stackbilt-web#177` (route tarotscript's Old Farmer's Almanac codex through the Evidence Engine for attestation). That issue's "Path A" (curated public-domain library seed + existing pipeline) needs nothing here. **This issue is Path B** — the real authority/sourcing-discipline work, which lives in `evidence-core` because policy and requirements are owned here, not in stackbilt-web. ## Problem The Evidence Engine currently cannot enforce three things the almanac use case (and any tradition/folklore/historical-sourcing content) needs. All three are absent because: - a **domain** is just a routing/label tag in stackbilt-web — it carries no policy; - the policy lever is `EvidencePolicyVersion` → `EvidenceRequirements`, a **global** set of 13 requirement types, none of which express sourcing provenance or claim modality; - the EEAT score is a **completeness** metric — it counts whether required pillars are *present*, so a fabricated citation scores identically to a real one (citations are counted structurally, never verified). Net effect: a "blessed when EEAT ≥ threshold AND receipt non-tampered" gate would launder fabricated citations rather than catch them. ## Asks 1. **New requirement type — claim modality.** Distinguish "the tradition holds X" (a sourceable historical claim) from "X is physically true" (a scientific claim the tradition does not license). Needs a new `EvidenceRequirement` value + validator logic, not just a label. 2. **New policy preset for sourcing discipline.** A preset (e.g. `historical_public_domain`) that requires public-domain / primary-source provenance and rejects modern copyrighted source text as a primary citation. 3. **Citation-resolution tripwire.** A validation pass that fails any in-content citation that does not resolve to a real evidence-library / research-cache asset. This is the actual anti-fabrication gate; today nothing resolves a citation *string* back to a stored asset. ## Non-goals / boundaries - No stackbilt-web changes required for Path A; once (1)–(3) land here, stackbilt-web wires the new preset/requirement through `/attest` and surfaces the tripwire outcome. - Threshold tuning + the `approved → blessed` promotion gate stay tarotscript-side (`tarotscript#167`). ## References - `Stackbilt-dev/stackbilt-web#177` triage comment (full architectural analysis) - AEGIS wiki: `almanac-codex-evidence-engine-attestation`, `evidence-engine-compose-and-trust-surface` - Honesty framing: receipts prove non-mutation, not truth — enforce authenticity upstream (here), not at the trust page.