Memory Contradiction Evidence Auditor 20260727
Overview
This net-new draft implements the 2026-07-27 Merlin priority for Memory Hygiene and Contradiction Auditor. Its stdlib-first analyzer reviews these evidence signals: record owner, source reference, record date, review date, retention rule, expiry rule, supersession link, contradiction check, duplicate check, sensitive boundary, repair proposal, restore point, reviewer signoff.
It is advisory and read-only. It does not perform remediation, discover private data, call networks, control services, or mutate files. It does not certify a downstream release, security, listing, package, or production state.
When to Use
- Before acting on redacted local notes containing owner, provenance, freshness, retention, contradiction, repair, restore, and reviewer evidence.
- When a reproducible
PASS,REVIEW,BLOCKED, orERRORevidence-gap report is needed. - To prepare clean, risky, missing, guarded-path, and oversized-input cases for independent Viper QA.
Do not use it to automatically discover, rewrite, archive, or delete memory; call networks; alter configuration; schedule work; deploy; publish; or create products.
Safety Contract
- Reads only direct
--textor one explicitly supplied local notes file. - Refuses hidden or sensitive-looking paths, symlinks, non-files, and inputs over 200,000 characters.
- Uses Python standard-library modules only and always reports
mutated_files: []. - Local
PASSis advisory and is not independent approval or authorization to remediate.
Main Script
scripts/memory_contradiction_evidence_auditor.py supports --notes, --text, --self-test, and --json.
Operator Workflow
1. Prepare redacted evidence notes. Complete when no secrets or private personal data are present.
2. Run python3 scripts/memory_contradiction_evidence_auditor.py --notes notes.txt --json. Complete when structured output is returned and source content is unchanged.
3. Assign every finding to an owner or explicit deferral. Complete when no finding is silently ignored.
4. Hand unchanged artifacts and local evidence to Viper. Complete while status remains PENDING_VIPER.
Result Semantics
PASS: at least nine expected signals and no risk signal.REVIEW: partial evidence or one bounded concern.BLOCKED: at least two risks or evidence score below 25.ERROR: missing, guarded, oversized, or unreadable input.
Test Scenarios
- Complete evidence should produce
PASS. - Stale, contradictory, orphaned, duplicate, boundary-breach, or unapproved-rewrite evidence should produce
BLOCKEDwhen at least two risk phrases are present. - Missing input should return
ERRORwithmissing_notes. - Hidden, sensitive-looking, symlinked, directory, and oversized inputs should be refused without mutation.
Common Pitfalls
1. Treating local analyzer PASS as independent approval.
2. Supplying secret values instead of redacted evidence references.
3. Mistaking recommendations for authorized remediation.
4. Omitting ownership, reviewer, restore, or rollback evidence.
Verification Checklist
- [ ]
python3 -m py_compile scripts/memory_contradiction_evidence_auditor.pyexits 0 with isolated bytecode output. - [ ] Two
--self-test --jsonruns are byte-for-byte identical. - [ ] Self-test returns
ok=true, clean=PASS, risky=BLOCKED, andmutated_files=[]. - [ ] Input guards and repository security/static checks pass.
- [ ] Draft remains
PENDING_VIPER.
Draft Status
PENDING_VIPER — Iceman build evidence is not an independent downstream verdict.