Fission-AI/OpenSpec · error · Error

The ${METADATA_FILENAME} retirement authorization changed be

Error message

The ${METADATA_FILENAME} retirement authorization changed before archive could complete.

What it means

Error "The ${METADATA_FILENAME} retirement authorization changed before archive could complete." thrown in Fission-AI/OpenSpec.

Source

Thrown at src/core/archive.ts:809

}

/** Fail closed if the metadata authorizing a retirement leaves its snapshot. */
async function assertRetirementAuthorization(
  changeDir: string,
  expectedFingerprint: string,
  options: { verifyMarker?: boolean } = {}
): Promise<void> {
  const metadataPath = path.join(changeDir, METADATA_FILENAME);
  const before = await fingerprintPortableContent(metadataPath);
  const markerStillDeclared =
    options.verifyMarker === false || readRetireCapabilitiesMarker(changeDir).declared;
  const after = await fingerprintPortableContent(metadataPath);
  if (
    before !== expectedFingerprint ||
    after !== expectedFingerprint ||
    !markerStillDeclared
  ) {
    throw new Error(
      `The ${METADATA_FILENAME} retirement authorization changed before archive could complete.`
    );
  }
}

async function fingerprintSpecInputs(update: SpecUpdate): Promise<string> {
  return `${await fingerprintPath(update.source)}\n${await fingerprintPath(update.target)}`;
}

async function mutationTargetIdentity(mutation: SpecMutation): Promise<string> {
  try {
    const stat = await fs.stat(mutation.update.target, { bigint: true });
    return `${stat.dev}:${stat.ino}`;
  } catch (error) {
    if ((error as NodeJS.ErrnoException).code === 'ENOENT') {
      const parent = path.dirname(mutation.update.target);
      const realParent = await fs.realpath(parent).catch(() => path.resolve(parent));
      return `missing:${path.join(realParent, path.basename(mutation.update.target))}`;

View on GitHub (pinned to 6926ccb18a)

When it happens

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