(&self, run_id: &str)
| 157 | } |
| 158 | |
| 159 | async fn load_loop_checkpoint(&self, run_id: &str) -> Result<Option<LoopCheckpoint>> { |
| 160 | match self.loop_checkpoints.read().await.get(run_id).cloned() { |
| 161 | // Enforce the same future-schema rejection as the file store so |
| 162 | // the contract holds uniformly across backends. |
| 163 | Some(cp) => { |
| 164 | cp.ensure_loadable()?; |
| 165 | Ok(Some(cp)) |
| 166 | } |
| 167 | None => Ok(None), |
| 168 | } |
| 169 | } |
| 170 | |
| 171 | async fn delete_loop_checkpoint(&self, run_id: &str) -> Result<()> { |
| 172 | self.loop_checkpoints.write().await.remove(run_id); |
nothing calls this directly
no test coverage detected