defmodule OrgGarden.Resolvers.DOI do @moduledoc """ Last-resort citation resolver — always succeeds. If the citation key looks like a DOI (starts with "10."), returns a `https://doi.org/...` link. Otherwise returns the key itself as a plain label with no URL. """ @spec resolve(String.t()) :: {:ok, map()} def resolve(key) do if String.starts_with?(key, "10.") do {:ok, %{label: key, url: "https://doi.org/#{key}"}} else {:ok, %{label: key, url: nil}} end end end