Follow-up from PR #598, which wires lpsn (GSS base) and lpsn_api (JSON-API enrichment) into merge.yaml.
Problem
The lpsn_api merge source lists data/transformed/lpsn_api/{nodes,edges}.tsv as required inputs. Those files can only be produced by poetry run kg transform -s lpsn_api, which raises RuntimeError without LPSN_USERNAME/LPSN_PASSWORD (and network access to the DSMZ API). So any environment that runs kg merge -y merge.yaml without LPSN credentials — a fresh checkout, CI, or a contributor without a DSMZ account — now fails on missing input files. Before this PR, LPSN was absent from the merge, so a credential-less merge succeeded.
The lpsn base source (GSS/CSV, no creds) is comparatively safe; lpsn_api is the credential-gated one.
Options
- Document that
merge.yaml now presupposes an authenticated lpsn_api transform run (README / merge docs), and keep it as-is (acceptable if the canonical build always has LPSN creds).
- Make the
lpsn_api source optional — e.g. a merge.nolpsn.yaml variant, or skip-if-missing semantics, so credential-less merges still succeed.
- Split the base
lpsn (always merged) from lpsn_api (opt-in).
Licensing note
LPSN data is CC BY-SA 4.0. Wiring it into the merge was an explicit maintainer decision; this issue is only about the operational credential coupling, not the licensing choice.
Follow-up from PR #598, which wires
lpsn(GSS base) andlpsn_api(JSON-API enrichment) intomerge.yaml.Problem
The
lpsn_apimerge source listsdata/transformed/lpsn_api/{nodes,edges}.tsvas required inputs. Those files can only be produced bypoetry run kg transform -s lpsn_api, which raisesRuntimeErrorwithoutLPSN_USERNAME/LPSN_PASSWORD(and network access to the DSMZ API). So any environment that runskg merge -y merge.yamlwithout LPSN credentials — a fresh checkout, CI, or a contributor without a DSMZ account — now fails on missing input files. Before this PR, LPSN was absent from the merge, so a credential-less merge succeeded.The
lpsnbase source (GSS/CSV, no creds) is comparatively safe;lpsn_apiis the credential-gated one.Options
merge.yamlnow presupposes an authenticatedlpsn_apitransform run (README / merge docs), and keep it as-is (acceptable if the canonical build always has LPSN creds).lpsn_apisource optional — e.g. amerge.nolpsn.yamlvariant, or skip-if-missing semantics, so credential-less merges still succeed.lpsn(always merged) fromlpsn_api(opt-in).Licensing note
LPSN data is CC BY-SA 4.0. Wiring it into the merge was an explicit maintainer decision; this issue is only about the operational credential coupling, not the licensing choice.