Gate 1: Expensive to re-derive
A future agent starting cold would need non-trivial tool calls, failed attempts, external lookups, or multi-step diagnosis to rediscover it. If the next agent can find it in one Read or one search, SKIP.
Gate 2: No better home
A guardrail (test, type, lint, assertion, CI check) cannot encode it, AND it is not already in AGENTS.md, MEMORY.md, or the diff. If a better home exists, use it.
If either gate fails, drop to SHOULD or SKIP. MUST is genuinely rare.