mode: load in the loader Helm chart creates one Kubernetes Job per compendium file, and each Job's load_all calls merge_semantic_meta_data() at the end. So the merge — which reads every file-* key and re-sums all source-prefix counts — runs dozens of times per load, redundantly, and is what duplicates the semantic_types list (see companion issue).
It should run exactly once, after all compendium Jobs finish. Options: a separate final Job/step in the chart, or a loader entrypoint that only does the merge. Coordinate with the mode: load sharding in the translator-devops chart.
Context: node_normalizer/loader/loader.py merge_semantic_meta_data / load_all; documentation/Development.md.
mode: loadin the loader Helm chart creates one Kubernetes Job per compendium file, and each Job'sload_allcallsmerge_semantic_meta_data()at the end. So the merge — which reads everyfile-*key and re-sums all source-prefix counts — runs dozens of times per load, redundantly, and is what duplicates thesemantic_typeslist (see companion issue).It should run exactly once, after all compendium Jobs finish. Options: a separate final Job/step in the chart, or a loader entrypoint that only does the merge. Coordinate with the
mode: loadsharding in the translator-devops chart.Context:
node_normalizer/loader/loader.pymerge_semantic_meta_data/load_all;documentation/Development.md.