def resolve_or_create()

in src/databao_context_engine/services/embedding_shard_resolver.py [0:0]


    def resolve_or_create(self, *, embedder: str, model_id: str, dim: int) -> str:
        row = self._registry.get(embedder=embedder, model_id=model_id)
        if row:
            if row.dim != dim:
                raise ValueError(f"Model already registered with dim={row.dim}, requested dim={dim}")
            return row.table_name

        table_name = self._policy.build(embedder=embedder, model_id=model_id, dim=dim)
        self._create_table_and_index(table_name, dim)

        self._registry.create(
            embedder=embedder,
            model_id=model_id,
            dim=dim,
            table_name=table_name,
        )

        return table_name