graph: introduce GapState