6b634fd9f8
decline_reason() only ever read a candidate's own grade, so a candidate boundary-classify graded high/complete-triple -- meaning it cleared FR-4.2 fine -- fell through to the generic 'did not clear the filing threshold' line when stability-classify downgraded it afterward. That's the opposite of what happened, and it directly contradicted the correct FR-4.5 section rendered a few lines below it in the same judgment-calls drawer, poisoning the next audit's step-2b recall with a false reason. Found live: real audit of anxious (2026-07-30) downgraded agent-wip/release-policy-derivation at 11.85% of audited spend -- the one gate it DID clear -- and the drawer said it didn't. Filed and now fixed as kotkan/claude-plugin-inference-arbitrage#16. Fix keeps FR-4.2's own check order first (a candidate can coincidentally be named in an unrelated stability finding without having actually cleared those checks) and only replaces the final fallback, since a candidate that reaches it cleared every earlier check on its own grade -- it cannot have also failed the filing threshold on its own merits. New regression case (h) in tests/memory.test.sh. Suite: all tests pass.