A 12-character short (head-tip, merge-base, merge-head) expands only through the code index or a walk of the live base branch. A commit that is in a pack but on no branch does not expand: a rebase or squash merge whose head branch is deleted, and every older version. Add a prefix search over the fanout slice that each pack index already gives the lookup, between the code index and the bounded walk. A short that names two objects resolves to none.