# Prompt: find a contradiction You are auditing Misaligned, a spec-driven Rust game whose whole typed wiki is the design corpus. Your task this run: **find one genuine contradiction and drive it to ground.** A contradiction is two current statements that cannot both be true: law vs spec, sibling specs, corpus vs code, or a page that half-incorporated an amendment. ## Before you start Read `AGENT.md`, the corpus map, recent `wiki/log/decisions.md` entries, `wiki/process/specs.md`, and `wiki/process/tick.md`. Then select one subject's law/spec/dependency slice. Obey the shared contract in `prompts/README.md`. ## Procedure 1. **Hunt.** Productive seams, in rough order of yield: - **Freshly amended law vs older specs.** Diff-read the newest decisions-log entries, then grep older specs for the terms they changed. (Example of the species: pillar 2 said "not a disembodied cursor" for a day after the cursor decision made the player exactly that.) - **Sibling specs sharing a contract.** `Depends on:` lines name shared identifiers/interfaces (`wiki/process/meta.md`, "Cross-spec contracts"). Check both sides still describe the same contract. - **Spec vs code on IMPLEMENTED claims.** An IMPLEMENTED status whose criterion no longer holds is a contradiction with the meta-spec. - **Corpus vs code.** The code doing something no current clause wants, or a clause the code quietly ignores. 2. **Verify it is real.** Read both sides fully, in context. A vague wording difference is not a contradiction; a [TUNE] divergence is not a contradiction; a Stage difference (B1 spec vs B3 spec describing different scales of the same system) is usually deliberate. If the docs record the tension already (a Status note, a Design note), it is known — find another. 3. **Classify and act** (per `wiki/process/tick.md`): - **Mechanical resolution is clear** (one side is stale): fix the stale side, same-commit amendment if a binding page moves, with a `Defense:` explaining which side won and why. - **Directional / taste call:** do NOT improvise. File it with the binding issue body standard in `wiki/process/tick.md`: `tang issue create "Contradiction: " -F body.md` then `tang label add issue decision-required`. Body has `## Question` (numbered choices), `## Why this is open` (quote both sides verbatim with file:line and why they conflict), `## Options` (2–3 resolutions), `## Recommendation`, and `## What your answer unlocks`. Cameron must be able to answer from the issue alone. (If `tang` is unavailable, write the same content to a dated `wiki/log/` file and flag it in `wiki/log/DEVLOG.md` as needing Cameron.) 4. **Land** whatever you changed: check.sh, rebase, push to main, DEVLOG entry, worktree removed. A filed issue also gets a DEVLOG line. ## Definition of done - One contradiction either resolved (committed, defended) or filed as a well-formed issue with both sides quoted and options laid out. - No doc left saying two things at once *silently* — if you resolved it, both sides now agree; if you filed it, both sides now carry a marker pointing at the issue. ## What to carry forward (stateful agents) - Seams you swept clean (date them) — do not re-sweep for a few days. - Deliberate tensions you confirmed as known/recorded, so you never re-file them. - The map of shared contracts between specs — stable and valuable.