Fission-AI/OpenSpec · error · Error
The archived delta for
Error message
The archived delta for '${proposed.update.id}' changed during the final move. What it means
Thrown after the change directory has been moved to the archive, when the archived copy of a delta's content fingerprint differs from the fingerprint recorded before the move. Means the move itself (or concurrent access) corrupted or altered the archived delta; detects incomplete or unstable directory moves that need rollback.
Solutions
- Re-run the archive with the tree stable
- Verify the archived copy is complete if the abort happened mid-move
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/core/archive.ts:1950 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/91fa9028d0b720c5.
Report an issue: GitHub.
Appendix: source
Thrown at src/core/archive.ts:1950
{ verifyMarker: false }
);
if (stagedSource) {
await assertRetirementAuthorization(
stagedSource,
retirementAuthorizationFingerprint!
);
}
}
for (const proposed of prepared) {
const archivedSource = path.join(
archivePath,
path.relative(changeDir, proposed.update.source)
);
if (
(await fingerprintPortableContent(archivedSource)) !==
proposed.sourceContentFingerprint
) {
throw new Error(
`The archived delta for '${proposed.update.id}' changed during the final move.`
);
}
if (stagedSource) {
const stagedDelta = path.join(
stagedSource,
path.relative(changeDir, proposed.update.source)
);
if (
(await fingerprintPortableContent(stagedDelta)) !==
proposed.sourceContentFingerprint
) {
throw new Error(
`The active delta for '${proposed.update.id}' changed during the fallback copy.`
);
}
}
}View on GitHub (pinned to 6926ccb18a)