The checker says try.started (members at their commits) and try.ended for a whole try; the indexer writes and deletes the candidate from them and finds the open tries again at its start through checker_tries, never reading the checker's state. The try's digests are judged inside the one pass that takes the seats; the definitions of every contracts module of each member are read; the config declarations leave a try's candidate alone. Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i