Fission-AI/OpenSpec · error · StoreError
store_metadata_id_mismatch
store_metadata_id_mismatch
Error message
Store metadata id '${metadata.id}' does not match requested id '${id}'. What it means
Error "Store metadata id '${metadata.id}' does not match requested id '${id}'." thrown in Fission-AI/OpenSpec.
Source
Thrown at src/core/store/operations.ts:498
);
}
// Stores may be Git-backed, but creating one inside an implementation
// repo is almost always an accidental nested-repo setup.
await assertSetupPathIsNotNestedInGitRepo(storeRoot, {
allowInsideGitRepository: input.allowInsideGitRepository,
});
let metadata: Awaited<ReturnType<typeof readStoreMetadataForOperation>> = null;
let backend: StoreGitBackendConfig | undefined;
if (kind === 'directory') {
assertNotConfigOnlyPointerRoot(storeRoot);
metadata = await readStoreMetadataForOperation(storeRoot);
if (metadata) {
if (metadata.id !== id) {
throw new StoreError(
`Store metadata id '${metadata.id}' does not match requested id '${id}'.`,
'store_metadata_id_mismatch',
{
target: 'store.metadata',
fix: `Use id '${metadata.id}' or choose a different setup path.`,
}
);
}
if (input.remote !== undefined) {
// Silent acceptance is the forbidden outcome: the identity file
// already exists, so --remote cannot reach the committed shape.
throw remoteRequiresHandEditError(id, storeRoot);
}
} else {
const openspecRoot = await inspectOpenSpecRoot(storeRoot);
const safeFreshDirectory = await isDirectoryEmpty(storeRoot) || await isGitOnlyDirectory(storeRoot);
if (!openspecRoot.healthy && !safeFreshDirectory) {
throw new StoreError(View on GitHub (pinned to 6926ccb18a)
When it happens
Trigger: Thrown at src/core/store/operations.ts:498 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Fission-AI/OpenSpec@6926ccb18a (2026-08-25).
Data as JSON: /api/errors/1c7e8ff128ea48f5.
Report an issue: GitHub.