diff --git a/src/infrastructure/persistence/yaml_definition_repository.ts b/src/infrastructure/persistence/yaml_definition_repository.ts index 6b62977b..9056150d 100644 --- a/src/infrastructure/persistence/yaml_definition_repository.ts +++ b/src/infrastructure/persistence/yaml_definition_repository.ts @@ -247,6 +247,7 @@ export class YamlDefinitionRepository implements DefinitionRepository { const data = definition.toData(); // Ensure type metadata is always present in persisted YAML data.type = type.normalized; + await modelRegistry.ensureTypeLoaded(type); const modelDef = modelRegistry.get(type); data.typeVersion = modelDef?.version ?? data.typeVersion; // Remove undefined values since YAML can't stringify them diff --git a/src/infrastructure/persistence/yaml_evaluated_definition_repository.ts b/src/infrastructure/persistence/yaml_evaluated_definition_repository.ts index 8deb91e0..31655311 100644 --- a/src/infrastructure/persistence/yaml_evaluated_definition_repository.ts +++ b/src/infrastructure/persistence/yaml_evaluated_definition_repository.ts @@ -243,6 +243,7 @@ export class YamlEvaluatedDefinitionRepository { const data = definition.toData(); // Ensure type metadata is always present in persisted YAML data.type = type.normalized; + await modelRegistry.ensureTypeLoaded(type); const modelDef = modelRegistry.get(type); data.typeVersion = modelDef?.version ?? data.typeVersion; // Remove undefined values since YAML can't stringify them