Fission-AI/OpenSpec · error · ChangeMetadataError
Failed to read metadata: ${ioError.message}
Error message
Failed to read metadata: ${ioError.message} What it means
Error "Failed to read metadata: ${ioError.message}" thrown in Fission-AI/OpenSpec.
Source
Thrown at src/utils/change-metadata.ts:109
* @returns The validated metadata, or null if no metadata file exists
* @throws ChangeMetadataError if the file exists but is invalid
*/
export function readChangeMetadata(
changeDir: string,
projectRoot?: string
): ChangeMetadata | null {
const metaPath = path.join(changeDir, METADATA_FILENAME);
if (!fs.existsSync(metaPath)) {
return null;
}
let content: string;
try {
content = fs.readFileSync(metaPath, 'utf-8');
} catch (err) {
const ioError = err instanceof Error ? err : new Error(String(err));
throw new ChangeMetadataError(
`Failed to read metadata: ${ioError.message}`,
metaPath,
ioError
);
}
let parsed: unknown;
try {
parsed = yaml.parse(content);
} catch (err) {
const parseError = err instanceof Error ? err : new Error(String(err));
throw new ChangeMetadataError(
`Invalid YAML in metadata file: ${parseError.message}`,
metaPath,
parseError
);
}
View on GitHub (pinned to 6926ccb18a)
When it happens
Trigger: Thrown at src/utils/change-metadata.ts:109 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/1c715b933ad193e3.
Report an issue: GitHub.