pub async fn run( solution: Solution, index: SolutionDataIndex, predicate: Predicate, constraint: usize, state: HashMap<ContentAddress, BTreeMap<Key, Value>>, ) -> Result<()>