mesh/delivery merged: source.main moved to novox/mesh-host@27a956448c0a
mesh/check checking 0bbdae1d9dfb on 27a956448c0a
The checker asks by the composition key, <group>.<heads hash> (ADR 0593 §7), but the indexer keys a candidate by its group alone (delivery.CandidatesKey). The node-engine read the ask's key as the bucket key, so every check's composition was refused on every node with "the indexer holds no candidate" (mesh-catalog #599, 2026-11-02). It now parses the ask, reads CandidatesKey(group), and answers unready when the group's candidate has moved to other heads. Both tests' fixtures had captured the wrong key; they now key by group, with a slash in the group name. Quick fix: this lookup. Thorough fix (a shared SDK reader that takes a composition key and returns the candidate at those heads) not taken: one reader, one repository. Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL