When Knowledge Layers Disagree: Context Files vs Memory, and Conflicting Sources at Compile Time

Two-question synthesis on conflict resolution in agent knowledge substrates, sharing one spine: disagreements are resolved by provenance and channel authority, never by content plausibility or recency — and the disagreement itself is a first-class signal routed to the maintenance loop. (1) Context file vs memory: split by disagreement type — on policy the context file always wins (it is the human-authored, git-reviewed, high-integrity channel; agent-written memory is advisory recall whose recency cannot confer authority, per the TMA-NM laundering theorem), on facts neither wins (both are caches over reality; the repo/live state is the source of truth, so verify then repair the stale cache), and in every case the conflict gets logged for the lint/pruning pass rather than silently broken — memory never overrides policy, and the context file is only ever updated through its own reviewed channel. (2) Conflicting sources at compile time: a five-step protocol extracted from the vault's own practice and its three worked cases — align constructs before declaring conflict (most contradictions dissolve into non-comparability: metric, population, time axis, unit), attach provenance and evidence tier and weigh by method+incentive (never average), stage genuine conflicts explicitly on every affected page with bidirectional links, convert them into tracked open questions, and treat resolution as a compile/lint-time librarian job that queries inherit rather than re-adjudicate