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.