{"record":{"id":"2eb8fb3f9eb13095","repo":"Fission-AI/OpenSpec","slug":"store-registry-changed","errorCode":"store_registry_changed","errorMessage":"Store '${id}' changed before cleanup completed.","messagePattern":"Store '(.+?)' changed before cleanup completed\\.","errorType":"error_code","errorClass":"StoreError","httpStatus":null,"severity":"error","filePath":"src/core/store/registry.ts","lineNumber":191,"sourceCode":"    actual.branch === expected.branch\n  );\n}\n\nfunction storeBackendsMatch(\n  actual: StoreGitBackendConfig,\n  expected: StoreGitBackendConfig\n): boolean {\n  return sameCheckout(actual, expected) && actual.remote === expected.remote;\n}\n\nfunction assertExpectedRegisteredBackend(\n  id: string,\n  actual: StoreGitBackendConfig,\n  expected: StoreGitBackendConfig | undefined\n): void {\n  if (!expected || storeBackendsMatch(actual, expected)) return;\n\n  throw new StoreError(\n    `Store '${id}' changed before cleanup completed.`,\n    'store_registry_changed',\n    {\n      target: 'store.registry',\n      fix: 'Retry the cleanup command after reviewing the current store registration.',\n    }\n  );\n}\n\nfunction withoutRegisteredStore(\n  registry: StoreRegistryState | null,\n  id: string,\n  expectedBackend?: StoreGitBackendConfig\n): { next: StoreRegistryState; removed: StoreRegistryEntry } {\n  const removed = getRegisteredStoreOrThrow(registry, id);\n  assertExpectedRegisteredBackend(id, removed.backend, expectedBackend);\n  const stores = { ...(registry?.stores ?? {}) };\n  delete stores[id];","sourceCodeStart":173,"sourceCodeEnd":209,"githubUrl":"https://github.com/Fission-AI/OpenSpec/blob/6926ccb18afa4ff621112813e9968334576ee11a/src/core/store/registry.ts#L173-L209","documentation":"Error \"Store '${id}' changed before cleanup completed.\" thrown in Fission-AI/OpenSpec.","triggerScenarios":"Thrown at src/core/store/registry.ts:191 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6926ccb18afa4ff621112813e9968334576ee11a","analyzedAt":"2026-08-25T12:29:45.729Z","schemaVersion":2},"datasetVersion":"2026-08-25T16:17:27.014Z"}