Fission-AI/OpenSpec · error · Error

Main spec '${p.update.id}' changed while archive was securin

Error message

Main spec '${p.update.id}' changed while archive was securing it for retirement.

What it means

Error "Main spec '${p.update.id}' changed while archive was securing it for retirement." thrown in Fission-AI/OpenSpec.

Source

Thrown at src/core/archive.ts:1803

                    (await fingerprintSpecInputs(p.update)) !==
                    `${p.sourceFingerprint}\n${p.targetFingerprint}`
                  ) {
                    throw new Error(
                      `Spec inputs for '${p.update.id}' changed before archive could retire them.`
                    );
                  }
                  mutationAttempts.add(p.update.target);
                },
                verifyDisplaced: async (displacedPath) => {
                  await assertRetirementAuthorization(
                    changeDir,
                    retirementAuthorizationFingerprint!
                  );
                  if (
                    (await fingerprintMovablePath(displacedPath)) !==
                    p.targetMovableFingerprint
                  ) {
                    throw new Error(
                      `Main spec '${p.update.id}' changed while archive was securing it for retirement.`
                    );
                  }
                },
                ...(isStoreSelectedRoot(root) ? { displayPath: p.update.target } : {}),
              }
            );
            if (!retired) continue;
            const retirementSnapshot = specSnapshotsByTarget.get(p.update.target);
            if (retirementSnapshot === undefined || displacedPath === undefined) {
              throw new Error(
                `Could not track the displaced main spec for '${p.update.id}' during retirement.`
              );
            }
            retirementSnapshot.displacedPath = displacedPath;
            retirementSnapshot.displacedFingerprint = p.targetMovableFingerprint;
            wroteAny = true;
            // A rename applied on the way to the retirement still happened;

View on GitHub (pinned to 6926ccb18a)

When it happens

Trigger: Thrown at src/core/archive.ts:1803 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/7fb8370d17c00cc4. Report an issue: GitHub.