astrid-runtime/astrid · error
legacy capsule authority receipt is not a regular file
Error message
legacy capsule authority receipt is not a regular file: {} What it means
Fired by retire_legacy_authority_receipt when the active receipt's symlink metadata shows it is a symlink or not a regular file. A redirected or non-regular receipt could point at content outside the authority directory.
Solutions
- Remove the bogus symlink/non-file and reinstall the capsule to regenerate the receipt
- Investigate how the receipt was replaced (tampering or crashed migration)
- Never link authority receipts; they must be regular files
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/astrid-capsule-install/src/authority.rs:259 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of astrid-runtime/astrid@affd8760f4 (2026-09-09).
Data as JSON: /api/errors/12a6162461815d65.
Report an issue: GitHub.
Appendix: source
Thrown at crates/astrid-capsule-install/src/authority.rs:259
Err(error) => {
return Err(error).with_context(|| {
format!(
"inspect legacy capsule authority {label} {}",
path.display()
)
});
},
}
}
let metadata = std::fs::symlink_metadata(&paths.active).with_context(|| {
format!(
"legacy capsule authority receipt disappeared before retirement: {}",
paths.active.display()
)
})?;
if metadata.file_type().is_symlink() || !metadata.is_file() {
bail!(
"legacy capsule authority receipt is not a regular file: {}",
paths.active.display()
);
}
astrid_core::platform_fs::verify_no_redirects(&paths.active).with_context(|| {
format!(
"verify legacy capsule authority receipt {}",
paths.active.display()
)
})?;
let actual = std::fs::read(&paths.active)
.with_context(|| format!("read legacy capsule authority {}", paths.active.display()))?;
if actual != expected_bytes {
bail!(
"legacy capsule authority receipt changed before retirement: {}",
paths.active.display()
);
}View on GitHub (pinned to affd8760f4)