From 8fa609ddb74c931718eb4b4f6b8ab4d71f58d67e Mon Sep 17 00:00:00 2001 From: tokebe <43009413+tokebe@users.noreply.github.com> Date: Tue, 27 Jan 2026 12:29:24 -0500 Subject: [PATCH 1/6] BTE: inject submitter information --- workers/bte_lookup/worker.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/workers/bte_lookup/worker.py b/workers/bte_lookup/worker.py index 84cabf0..6db0c20 100644 --- a/workers/bte_lookup/worker.py +++ b/workers/bte_lookup/worker.py @@ -90,6 +90,14 @@ async def run_async_lookup( ) -> AsyncResponse: """Return an async lookup response with callback id.""" try: + if "submitter" not in message: + message["submitter"] = ( + "infores:shepherd-bte:{maturity}@{location}@{url}".format( + maturity=settings.server_maturity, + location=settings.server_location, + url=settings.server_url, + ) + ) response = await client.post( settings.kg_retrieval_url, json=message, From 8c606ff9ed63e3b796ae5b409b82d8623a08b479 Mon Sep 17 00:00:00 2001 From: tokebe <43009413+tokebe@users.noreply.github.com> Date: Thu, 19 Feb 2026 11:53:12 -0500 Subject: [PATCH 2/6] Aragorn: inject submitter information --- workers/aragorn_lookup/worker.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/workers/aragorn_lookup/worker.py b/workers/aragorn_lookup/worker.py index 4b1492b..9b70e0c 100644 --- a/workers/aragorn_lookup/worker.py +++ b/workers/aragorn_lookup/worker.py @@ -133,6 +133,14 @@ async def aragorn_lookup(task, logger: logging.Logger): message["callback"] = f"{settings.callback_host}/aragorn/callback/{callback_id}" # with open("./debug/direct_query.json", "w", encoding="utf-8") as f: # json.dump(message, f, indent=2) + if "submitter" not in message: + message["submitter"] = ( + "infores:shepherd-bte:{maturity}@{location}@{url}".format( + maturity=settings.server_maturity, + location=settings.server_location, + url=settings.server_url, + ) + ) if use_gandalf: logger.debug("""Sending lookup query to gandalf.""") @@ -166,6 +174,15 @@ async def aragorn_lookup(task, logger: logging.Logger): if use_gandalf: for expanded_message in expanded_messages: callback_id = str(uuid.uuid4())[:8] + if "submitter" not in expanded_message: + expanded_message["submitter"] = ( + "infores:shepherd-aragorn:{maturity}@{location}@{url}".format( + maturity=settings.server_maturity, + location=settings.server_location, + url=settings.server_url, + ) + ) + # Put callback UID and query ID in postgres await add_callback_id(query_id, callback_id, logger) logger.debug("""Sending lookup query to gandalf.""") From 5e839808cd26cbc34c54cb87b2afa46dcddcd33c Mon Sep 17 00:00:00 2001 From: tokebe <43009413+tokebe@users.noreply.github.com> Date: Thu, 19 Feb 2026 11:55:55 -0500 Subject: [PATCH 3/6] Run black --- workers/merge_message/worker.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/merge_message/worker.py b/workers/merge_message/worker.py index d4e63ff..9c551b1 100644 --- a/workers/merge_message/worker.py +++ b/workers/merge_message/worker.py @@ -327,7 +327,9 @@ def filter_repeated_nodes(response, logger: logging.Logger): original_result_count = len(response["message"].get("results", [])) if original_result_count == 0: return - results = list(filter(lambda x: has_unique_nodes(x), response["message"]["results"])) + results = list( + filter(lambda x: has_unique_nodes(x), response["message"]["results"]) + ) response["message"]["results"] = results if len(results) != original_result_count: filter_kgraph_orphans(response, logger) From 03aed0538e0593da894b2bca573fac0255f4ab9d Mon Sep 17 00:00:00 2001 From: Max Wang Date: Mon, 2 Mar 2026 15:45:27 -0500 Subject: [PATCH 4/6] Adjust where submitter is getting set for Aragorn --- workers/aragorn_lookup/worker.py | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/workers/aragorn_lookup/worker.py b/workers/aragorn_lookup/worker.py index 9b70e0c..56e7c38 100644 --- a/workers/aragorn_lookup/worker.py +++ b/workers/aragorn_lookup/worker.py @@ -120,6 +120,14 @@ async def aragorn_lookup(task, logger: logging.Logger): parameters["tiers"] = parameters.get("tiers") or [settings.default_data_tier] use_gandalf = parameters.get("gandalf", False) message["parameters"] = parameters + if "submitter" not in message: + message["submitter"] = ( + "infores:shepherd-aragorn:{maturity}@{location}@{url}".format( + maturity=settings.server_maturity, + location=settings.server_location, + url=settings.server_url, + ) + ) try: infer, question_qnode, answer_qnode, pathfinder = examine_query(message) except Exception as e: @@ -133,14 +141,6 @@ async def aragorn_lookup(task, logger: logging.Logger): message["callback"] = f"{settings.callback_host}/aragorn/callback/{callback_id}" # with open("./debug/direct_query.json", "w", encoding="utf-8") as f: # json.dump(message, f, indent=2) - if "submitter" not in message: - message["submitter"] = ( - "infores:shepherd-bte:{maturity}@{location}@{url}".format( - maturity=settings.server_maturity, - location=settings.server_location, - url=settings.server_url, - ) - ) if use_gandalf: logger.debug("""Sending lookup query to gandalf.""") @@ -174,14 +174,6 @@ async def aragorn_lookup(task, logger: logging.Logger): if use_gandalf: for expanded_message in expanded_messages: callback_id = str(uuid.uuid4())[:8] - if "submitter" not in expanded_message: - expanded_message["submitter"] = ( - "infores:shepherd-aragorn:{maturity}@{location}@{url}".format( - maturity=settings.server_maturity, - location=settings.server_location, - url=settings.server_url, - ) - ) # Put callback UID and query ID in postgres await add_callback_id(query_id, callback_id, logger) @@ -362,6 +354,7 @@ def expand_aragorn_query(input_message, logger: logging.Logger): { "message": {"query_graph": qg}, "parameters": input_message["parameters"], + "submitter": input_message["submitter"], } ] # If we don't have any AMIE expansions, this will just generate the direct query @@ -388,6 +381,7 @@ def expand_aragorn_query(input_message, logger: logging.Logger): if "log_level" in input_message: message["log_level"] = input_message["log_level"] message["parameters"] = input_message["parameters"] + message["submitter"] = input_message["submitter"] messages.append(message) return messages From e4046bef5ee13dc1c601fcae52b33f8365886235 Mon Sep 17 00:00:00 2001 From: Max Wang Date: Mon, 2 Mar 2026 15:53:30 -0500 Subject: [PATCH 5/6] Adjust where submitter is getting set for BTE --- workers/bte_lookup/worker.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/workers/bte_lookup/worker.py b/workers/bte_lookup/worker.py index 6db0c20..7cceab6 100644 --- a/workers/bte_lookup/worker.py +++ b/workers/bte_lookup/worker.py @@ -90,14 +90,6 @@ async def run_async_lookup( ) -> AsyncResponse: """Return an async lookup response with callback id.""" try: - if "submitter" not in message: - message["submitter"] = ( - "infores:shepherd-bte:{maturity}@{location}@{url}".format( - maturity=settings.server_maturity, - location=settings.server_location, - url=settings.server_url, - ) - ) response = await client.post( settings.kg_retrieval_url, json=message, @@ -126,6 +118,14 @@ async def bte_lookup(task, logger: logging.Logger): parameters["timeout"] = parameters.get("timeout", settings.lookup_timeout) parameters["tiers"] = parameters.get("tiers") or [settings.default_data_tier] message["parameters"] = parameters + if "submitter" not in message: + message["submitter"] = ( + "infores:shepherd-bte:{maturity}@{location}@{url}".format( + maturity=settings.server_maturity, + location=settings.server_location, + url=settings.server_url, + ) + ) try: infer, question_qnode, answer_qnode, pathfinder = examine_query(message) except Exception as e: @@ -362,6 +362,7 @@ def fill_templates( del message["message"]["knowledge_graph"] message["parameters"] = query_body["parameters"] message["workflow"] = [{"id": "lookup"}] + message["submitter"] = query_body["submitter"] filled_templates.append(message) return filled_templates @@ -412,6 +413,7 @@ def expand_bte_query(query_dict: dict[str, Any], logger: logging.Logger) -> list { "message": {"query_graph": query_graph}, "parameters": query_dict["parameters"], + "submitter": query_dict["submitter"], } ] expanded_queries.extend(filled_templates) From 4bfcb5f00a0f4feaae73a29add989381f227dcaf Mon Sep 17 00:00:00 2001 From: Max Wang Date: Mon, 2 Mar 2026 15:54:24 -0500 Subject: [PATCH 6/6] Run black --- workers/aragorn_pathfinder/worker.py | 6 +++--- workers/arax/inject_shepherd_arax_provenance.py | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/workers/aragorn_pathfinder/worker.py b/workers/aragorn_pathfinder/worker.py index 361a5b7..9afe88c 100644 --- a/workers/aragorn_pathfinder/worker.py +++ b/workers/aragorn_pathfinder/worker.py @@ -119,7 +119,7 @@ async def shadowfax(task, logger: logging.Logger): "biolink:translates_to", "biolink:translation_of", "biolink:has_gene_product", - "biolink:gene_product_of" + "biolink:gene_product_of", ], }, "e1": { @@ -146,7 +146,7 @@ async def shadowfax(task, logger: logging.Logger): "biolink:translates_to", "biolink:translation_of", "biolink:has_gene_product", - "biolink:gene_product_of" + "biolink:gene_product_of", ], }, "e2": { @@ -173,7 +173,7 @@ async def shadowfax(task, logger: logging.Logger): "biolink:translates_to", "biolink:translation_of", "biolink:has_gene_product", - "biolink:gene_product_of" + "biolink:gene_product_of", ], }, }, diff --git a/workers/arax/inject_shepherd_arax_provenance.py b/workers/arax/inject_shepherd_arax_provenance.py index 62e5077..9a2a3ed 100644 --- a/workers/arax/inject_shepherd_arax_provenance.py +++ b/workers/arax/inject_shepherd_arax_provenance.py @@ -2,7 +2,6 @@ from typing import Any, Dict - SHEPHERD_ARAX_SOURCE = { "resource_id": "infores:shepherd-arax", "resource_role": "aggregator_knowledge_source",