diff --git a/data/traits/environment/facultative_psychrophilic.yaml b/data/traits/environment/facultative_psychrophilic.yaml index 5bdc0a9..4c2f5d0 100644 --- a/data/traits/environment/facultative_psychrophilic.yaml +++ b/data/traits/environment/facultative_psychrophilic.yaml @@ -46,7 +46,7 @@ causal_graphs: growth. - node_id: membrane_fluidity label: membrane fluidity - node_type: BIOLOGICAL_PROCESS + node_type: QUALITY description: Physical state of the membrane needed for transport and growth. grounding: METPO:1007505 - node_id: unsaturated_fatty_acids @@ -143,3 +143,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007505×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:12Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: membrane fluidity: BIOLOGICAL_PROCESS → QUALITY ×1.' + llm_assisted: true diff --git a/data/traits/environment/mesophilic.yaml b/data/traits/environment/mesophilic.yaml index dbc705f..81f2d05 100644 --- a/data/traits/environment/mesophilic.yaml +++ b/data/traits/environment/mesophilic.yaml @@ -38,7 +38,7 @@ causal_graphs: description: Ambient temperature in the ~20–45 °C mesophilic range. - node_id: membrane_fluidity label: membrane fluidity - node_type: BIOLOGICAL_PROCESS + node_type: QUALITY description: Physical state of the cytoplasmic membrane supporting transport and bioenergetics. grounding: METPO:1007505 @@ -150,3 +150,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007505×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:12Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: membrane fluidity: BIOLOGICAL_PROCESS → QUALITY ×1.' + llm_assisted: true diff --git a/data/traits/environment/neutrophilic.yaml b/data/traits/environment/neutrophilic.yaml index 687b799..b821d10 100644 --- a/data/traits/environment/neutrophilic.yaml +++ b/data/traits/environment/neutrophilic.yaml @@ -46,7 +46,7 @@ causal_graphs: grounding: GO:0030641 - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Electrochemical proton gradient coupled to energy metabolism. grounding: METPO:1007500 - node_id: cation_proton_antiporter @@ -152,3 +152,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (PATO:0001432×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:12Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/environment/obligately_aerobic.yaml b/data/traits/environment/obligately_aerobic.yaml index 23890ed..93d5acb 100644 --- a/data/traits/environment/obligately_aerobic.yaml +++ b/data/traits/environment/obligately_aerobic.yaml @@ -49,7 +49,7 @@ causal_graphs: description: Oxygen-reducing terminal oxidase complexes. - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Electrochemical gradient powering ATP synthesis. grounding: METPO:1007500 edges: @@ -121,3 +121,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007500×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:12Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/environment/ph_optimum.yaml b/data/traits/environment/ph_optimum.yaml index 929a748..d6c55ef 100644 --- a/data/traits/environment/ph_optimum.yaml +++ b/data/traits/environment/ph_optimum.yaml @@ -46,7 +46,7 @@ causal_graphs: grounding: GO:0030641 - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Electrochemical proton gradient powering ATP synthesis and transport. grounding: METPO:1007500 - node_id: maximal_growth_rate @@ -141,3 +141,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007500×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:12Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/environment/psychrophilic.yaml b/data/traits/environment/psychrophilic.yaml index 81bd2ec..d630709 100644 --- a/data/traits/environment/psychrophilic.yaml +++ b/data/traits/environment/psychrophilic.yaml @@ -37,7 +37,7 @@ causal_graphs: grounding: PATO:0000383 - node_id: membrane_fluidity label: membrane fluidity - node_type: BIOLOGICAL_PROCESS + node_type: QUALITY description: Physical state of the membrane needed for transport and growth. grounding: METPO:1007505 - node_id: unsaturated_fatty_acids @@ -168,3 +168,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007505×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: membrane fluidity: BIOLOGICAL_PROCESS → QUALITY ×1.' + llm_assisted: true diff --git a/data/traits/environment/psychrotolerant.yaml b/data/traits/environment/psychrotolerant.yaml index 3330981..9943025 100644 --- a/data/traits/environment/psychrotolerant.yaml +++ b/data/traits/environment/psychrotolerant.yaml @@ -38,7 +38,7 @@ causal_graphs: grounding: PATO:0000383 - node_id: membrane_fluidity label: membrane fluidity - node_type: BIOLOGICAL_PROCESS + node_type: QUALITY description: Physical state of the cytoplasmic membrane supporting transport and bioenergetics. grounding: METPO:1007505 @@ -152,3 +152,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007505×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: membrane fluidity: BIOLOGICAL_PROCESS → QUALITY ×1.' + llm_assisted: true diff --git a/data/traits/environment/temperature_optimum.yaml b/data/traits/environment/temperature_optimum.yaml index 8c56ec6..ba06405 100644 --- a/data/traits/environment/temperature_optimum.yaml +++ b/data/traits/environment/temperature_optimum.yaml @@ -38,7 +38,7 @@ causal_graphs: description: Ambient growth temperature imposed on the cell. - node_id: membrane_fluidity label: membrane fluidity - node_type: BIOLOGICAL_PROCESS + node_type: QUALITY description: Physical state of the cytoplasmic membrane supporting transport and bioenergetics. grounding: METPO:1007505 @@ -150,3 +150,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007505×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: membrane fluidity: BIOLOGICAL_PROCESS → QUALITY ×1.' + llm_assisted: true diff --git a/data/traits/environment/temperature_preference.yaml b/data/traits/environment/temperature_preference.yaml index 6b54913..60049bf 100644 --- a/data/traits/environment/temperature_preference.yaml +++ b/data/traits/environment/temperature_preference.yaml @@ -46,7 +46,7 @@ causal_graphs: description: Hot growth condition that challenges protein and membrane stability. - node_id: membrane_fluidity label: membrane fluidity - node_type: BIOLOGICAL_PROCESS + node_type: QUALITY description: Physical state of the membrane affecting transport and cell function. grounding: METPO:1007505 - node_id: protein_stability @@ -143,3 +143,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007505×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: membrane fluidity: BIOLOGICAL_PROCESS → QUALITY ×1.' + llm_assisted: true diff --git a/data/traits/metabolism/aerobic_respiration.yaml b/data/traits/metabolism/aerobic_respiration.yaml index d04dcce..f9588ca 100644 --- a/data/traits/metabolism/aerobic_respiration.yaml +++ b/data/traits/metabolism/aerobic_respiration.yaml @@ -59,7 +59,7 @@ causal_graphs: description: Reduced product of oxygen reduction. - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Electrochemical ion gradient generated across the coupling membrane. grounding: METPO:1007500 - node_id: atp_synthase @@ -174,3 +174,9 @@ curation_history: changes: Grounded 2 causal-node grounding field(s) via mappings/node_grounding.tsv (UniProtKB:A0A075NZN5×1, UniProtKB:A0A415TT77×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/metabolism/oxidative_phosphorylation.yaml b/data/traits/metabolism/oxidative_phosphorylation.yaml index 0314a19..d980604 100644 --- a/data/traits/metabolism/oxidative_phosphorylation.yaml +++ b/data/traits/metabolism/oxidative_phosphorylation.yaml @@ -40,7 +40,7 @@ causal_graphs: description: Membrane across which ions are translocated. - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Transmembrane electrochemical proton gradient. grounding: METPO:1007500 - node_id: atp_synthase @@ -141,3 +141,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007500×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/metabolism/respiration.yaml b/data/traits/metabolism/respiration.yaml index 9794b69..b590215 100644 --- a/data/traits/metabolism/respiration.yaml +++ b/data/traits/metabolism/respiration.yaml @@ -62,7 +62,7 @@ causal_graphs: grounding: GO:0022900 - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Electrochemical ion gradient generated across a coupling membrane. grounding: METPO:1007500 - node_id: atp_synthase @@ -197,3 +197,9 @@ curation_history: changes: Grounded 2 causal-node grounding field(s) via mappings/node_grounding.tsv (CHEBI:17499×1, GO:0022900×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/morphology/gliding.yaml b/data/traits/morphology/gliding.yaml index 3cdd197..721e837 100644 --- a/data/traits/morphology/gliding.yaml +++ b/data/traits/morphology/gliding.yaml @@ -45,7 +45,7 @@ causal_graphs: description: Secretion-associated machinery linked to Flavobacterium gliding. - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Electrochemical gradient powering some gliding motors. grounding: METPO:1007500 edges: @@ -116,3 +116,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007500×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/physiology/carboxydotrophic.yaml b/data/traits/physiology/carboxydotrophic.yaml index 202ba30..9664055 100644 --- a/data/traits/physiology/carboxydotrophic.yaml +++ b/data/traits/physiology/carboxydotrophic.yaml @@ -58,7 +58,7 @@ causal_graphs: description: Terminal oxidase enabling respiration during CO oxidation. - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Ion gradient used for energy conservation. grounding: METPO:1007500 - node_id: reduced_pyridine_nucleotides @@ -182,3 +182,9 @@ curation_history: changes: Grounded 2 causal-node grounding field(s) via mappings/node_grounding.tsv (UniProtKB:A0A061JSS8×1, UniProtKB:A0A099I9V3×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/physiology/chemolithoautotrophic.yaml b/data/traits/physiology/chemolithoautotrophic.yaml index 776bf4e..8a23a35 100644 --- a/data/traits/physiology/chemolithoautotrophic.yaml +++ b/data/traits/physiology/chemolithoautotrophic.yaml @@ -43,7 +43,7 @@ causal_graphs: grounding: GO:0022900 - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Electrochemical gradient generated by energy-conserving electron transfer. grounding: METPO:1007500 @@ -54,7 +54,7 @@ causal_graphs: description: Energy carrier supporting biosynthesis. - node_id: reducing_power label: reducing power - node_type: CHEMICAL + node_type: CAPACITY description: NAD(P)H or related reductants supporting CO2 reduction. grounding: METPO:1007503 - node_id: carbon_dioxide @@ -215,3 +215,10 @@ curation_history: changes: Grounded 2 causal-node grounding field(s) via mappings/node_grounding.tsv (GO:0022900×1, GO:0015977×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 2 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1; reducing power: + CHEMICAL → CAPACITY ×1.' + llm_assisted: true diff --git a/data/traits/physiology/chemolithoheterotrophic.yaml b/data/traits/physiology/chemolithoheterotrophic.yaml index 6a91561..a0ac3ea 100644 --- a/data/traits/physiology/chemolithoheterotrophic.yaml +++ b/data/traits/physiology/chemolithoheterotrophic.yaml @@ -61,7 +61,7 @@ causal_graphs: grounding: GO:0022904 - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Electrochemical ion gradient generated by respiratory electron transport. grounding: METPO:1007500 - node_id: atp @@ -214,3 +214,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (CHEBI:50860×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/physiology/chemoorganotrophic.yaml b/data/traits/physiology/chemoorganotrophic.yaml index bb85d6a..790dc75 100644 --- a/data/traits/physiology/chemoorganotrophic.yaml +++ b/data/traits/physiology/chemoorganotrophic.yaml @@ -55,7 +55,7 @@ causal_graphs: grounding: METPO:1007504 - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Ion gradient generated by respiratory electron transport. grounding: METPO:1007500 - node_id: atp @@ -177,3 +177,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (CHEBI:50860×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/physiology/chemotrophic.yaml b/data/traits/physiology/chemotrophic.yaml index 87e62e9..c269496 100644 --- a/data/traits/physiology/chemotrophic.yaml +++ b/data/traits/physiology/chemotrophic.yaml @@ -65,7 +65,7 @@ causal_graphs: grounding: METPO:1007504 - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Electrochemical ion gradient generated by electron transport. grounding: METPO:1007500 - node_id: atp @@ -192,3 +192,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (CHEBI:50860×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/physiology/hydrogenotrophic.yaml b/data/traits/physiology/hydrogenotrophic.yaml index d009ee1..23edff0 100644 --- a/data/traits/physiology/hydrogenotrophic.yaml +++ b/data/traits/physiology/hydrogenotrophic.yaml @@ -48,7 +48,7 @@ causal_graphs: grounding: GO:0022900 - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Ion gradient used for energy conservation. grounding: METPO:1007500 - node_id: carbon_dioxide @@ -185,3 +185,9 @@ curation_history: changes: Grounded 2 causal-node grounding field(s) via mappings/node_grounding.tsv (GO:0022900×1, GO:0015977×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/physiology/lithoautotrophic.yaml b/data/traits/physiology/lithoautotrophic.yaml index 3d62d10..8341df9 100644 --- a/data/traits/physiology/lithoautotrophic.yaml +++ b/data/traits/physiology/lithoautotrophic.yaml @@ -41,7 +41,7 @@ causal_graphs: description: Conversion of redox energy into ion gradients and ATP. - node_id: reducing_power label: reducing power - node_type: CHEMICAL + node_type: CAPACITY description: Reduced electron carriers used in biosynthesis. grounding: METPO:1007503 - node_id: carbon_dioxide @@ -169,3 +169,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (GO:0015977×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: reducing power: CHEMICAL → CAPACITY ×1.' + llm_assisted: true diff --git a/data/traits/physiology/lithotrophic.yaml b/data/traits/physiology/lithotrophic.yaml index cfefff4..34188f4 100644 --- a/data/traits/physiology/lithotrophic.yaml +++ b/data/traits/physiology/lithotrophic.yaml @@ -57,7 +57,7 @@ causal_graphs: grounding: GO:0022900 - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Electrochemical ion gradient used for energy conservation. grounding: METPO:1007500 - node_id: atp @@ -158,3 +158,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (GO:0022900×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:13Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/physiology/organotrophic.yaml b/data/traits/physiology/organotrophic.yaml index 3ac4941..d984f12 100644 --- a/data/traits/physiology/organotrophic.yaml +++ b/data/traits/physiology/organotrophic.yaml @@ -56,7 +56,7 @@ causal_graphs: grounding: GO:0022904 - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Electrochemical ion gradient generated by respiration. grounding: METPO:1007500 - node_id: atp @@ -178,3 +178,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (CHEBI:50860×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:14Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/physiology/photolithoautotrophic.yaml b/data/traits/physiology/photolithoautotrophic.yaml index c571c54..ed8efd3 100644 --- a/data/traits/physiology/photolithoautotrophic.yaml +++ b/data/traits/physiology/photolithoautotrophic.yaml @@ -61,7 +61,7 @@ causal_graphs: description: Oxidation of reduced sulfur compounds during phototrophic metabolism. - node_id: reducing_power label: reducing power - node_type: CHEMICAL + node_type: CAPACITY description: Reduced electron carriers used for biosynthesis. grounding: METPO:1007503 - node_id: carbon_dioxide @@ -221,3 +221,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (GO:0015977×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:14Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: reducing power: CHEMICAL → CAPACITY ×1.' + llm_assisted: true diff --git a/data/traits/physiology/photoorganoheterotrophic.yaml b/data/traits/physiology/photoorganoheterotrophic.yaml index af1511e..1a8a3ab 100644 --- a/data/traits/physiology/photoorganoheterotrophic.yaml +++ b/data/traits/physiology/photoorganoheterotrophic.yaml @@ -53,7 +53,7 @@ causal_graphs: grounding: GO:0009767 - node_id: proton_motive_force label: proton motive force - node_type: BIOLOGICAL_PROCESS + node_type: STATE description: Ion gradient generated by electron transport. grounding: METPO:1007500 - node_id: atp @@ -185,3 +185,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (CHEBI:50860×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:14Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: proton motive force: BIOLOGICAL_PROCESS → STATE ×1.' + llm_assisted: true diff --git a/data/traits/physiology/phototrophic.yaml b/data/traits/physiology/phototrophic.yaml index 961d39e..311002c 100644 --- a/data/traits/physiology/phototrophic.yaml +++ b/data/traits/physiology/phototrophic.yaml @@ -64,7 +64,7 @@ causal_graphs: description: Energy carrier generated by phototrophic electron transport. - node_id: reducing_power label: reducing power - node_type: CHEMICAL + node_type: CAPACITY description: NAD(P)H or reduced ferredoxin generated by photosynthetic electron transport. grounding: METPO:1007503 @@ -158,3 +158,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (METPO:1007503×1). llm_assisted: true +- timestamp: '2026-05-26T02:30:14Z' + curator: claude + action: RETYPE_CAUSAL_NODES + changes: 'Re-typed 1 causal-node node_type field(s) to align with CausalNodeTypeEnum + semantics: reducing power: CHEMICAL → CAPACITY ×1.' + llm_assisted: true diff --git a/mappings/node_grounding.tsv b/mappings/node_grounding.tsv index 0d3e365..4fb1794 100644 --- a/mappings/node_grounding.tsv +++ b/mappings/node_grounding.tsv @@ -39,13 +39,13 @@ low temperature ENVIRONMENTAL_FACTOR PATO:0000383 decreased temperature PATO hig anaerobic condition ENVIRONMENTAL_FACTOR ENVO:01001057 anaerobic environment ENVO high exact ENVO term anoxic condition ENVIRONMENTAL_FACTOR ENVO:01001057 anaerobic environment ENVO high ENVO collapses anoxic and anaerobic into one environment class carotenoid biosynthesis BIOLOGICAL_PROCESS GO:0016117 carotenoid biosynthetic process GO high exact GO term; pigmentation contexts -proton motive force BIOLOGICAL_PROCESS METPO:1007500 proton motive force METPO high proposed upstream in proposals/metpo_traitmech_v3; 16 nodes (mistyped as BIOLOGICAL_PROCESS in corpus — semantically a bioenergetic state) +proton motive force STATE METPO:1007500 proton motive force METPO high proposed upstream in proposals/metpo_traitmech_v3; 16 nodes — re-typed BIOLOGICAL_PROCESS → STATE after CausalNodeTypeEnum gained the STATE permissible value (bioenergetic gradient, not a process) biomass CHEMICAL METPO:1007501 microbial biomass METPO high proposed upstream in proposals/metpo_traitmech_v3; 16 nodes — re-typed BIOLOGICAL_PROCESS → CHEMICAL via scripts/retype_causal_nodes.py (closest existing CausalNodeTypeEnum fit for aggregate biochemistry) inorganic electron donor CHEMICAL METPO:1007502 inorganic electron donor METPO high proposed upstream in proposals/metpo_traitmech_v3; 7 nodes — class-of-chemicals abstraction for lithotrophy -reducing power CHEMICAL METPO:1007503 reducing power METPO high proposed upstream in proposals/metpo_traitmech_v3; 4 nodes — electron-pool capacity +reducing power CAPACITY METPO:1007503 reducing power METPO high proposed upstream in proposals/metpo_traitmech_v3; 4 nodes — re-typed CHEMICAL → CAPACITY after CausalNodeTypeEnum gained the CAPACITY permissible value (electron-donating pool, not a single chemical) terminal electron acceptor CHEMICAL METPO:1007504 terminal electron acceptor METPO high proposed upstream in proposals/metpo_traitmech_v3; 3 nodes as CHEMICAL (also 2 as MOLECULAR_FUNCTION below) terminal electron acceptor MOLECULAR_FUNCTION METPO:1007504 terminal electron acceptor METPO high same proposed METPO class covers both senses; MOLECULAR_FUNCTION typing surfaces the role-of interpretation -membrane fluidity BIOLOGICAL_PROCESS METPO:1007505 membrane fluidity METPO high proposed upstream in proposals/metpo_traitmech_v3; 6 nodes (mistyped as BIOLOGICAL_PROCESS — semantically a membrane quality) +membrane fluidity QUALITY METPO:1007505 membrane fluidity METPO high proposed upstream in proposals/metpo_traitmech_v3; 6 nodes — re-typed BIOLOGICAL_PROCESS → QUALITY after CausalNodeTypeEnum gained the QUALITY permissible value (PATO-style attribute, not a process) mreb GENE_OR_PROTEIN UniProtKB:A0A1B1UYY2 MreB UniProt high representative UniProt entry selected via kg-microbe merged-kg_uniprot_nodes.tsv (name-ends-with-label + alphabetic-first CURIE) na+/h+ antiporter GENE_OR_PROTEIN UniProtKB:A0A068T423 Na+/H+ antiporter UniProt high representative UniProt entry selected via kg-microbe merged-kg_uniprot_nodes.tsv (name-ends-with-label + alphabetic-first CURIE) ftsz GENE_OR_PROTEIN UniProtKB:C0LUM8 FtsZ UniProt high representative UniProt entry selected via kg-microbe merged-kg_uniprot_nodes.tsv (name-ends-with-label + alphabetic-first CURIE) diff --git a/proposals/metpo_traitmech_v1/metpo_proposal_classes_robot.tsv b/proposals/metpo_traitmech_v1/metpo_proposal_classes_robot.tsv index 5623d37..bfd2aa8 100644 --- a/proposals/metpo_traitmech_v1/metpo_proposal_classes_robot.tsv +++ b/proposals/metpo_traitmech_v1/metpo_proposal_classes_robot.tsv @@ -14,3 +14,6 @@ METPO:1007417 causal-graph organelle node A trait causal node that denotes a mic METPO:1007418 causal-graph cellular localization node A trait causal node that denotes a cellular component or subcellular localization (cytoplasm, membrane, periplasm, cell wall, etc.) at which a trait mechanism is realized. TraitMech:src/traitmech/schema/traitmech.yaml#CausalNodeTypeEnum.CELLULAR_LOCALIZATION METPO:1007410 cellular component node|localization node GO:0005575 metpo_traitmech_2026_05 HIGH leaf — CausalNodeTypeEnum.CELLULAR_LOCALIZATION METPO:1007419 causal-graph molecular function node A trait causal node that denotes a molecular activity or function (catalysis, transport, binding) contributing to the trait mechanism. TraitMech:src/traitmech/schema/traitmech.yaml#CausalNodeTypeEnum.MOLECULAR_FUNCTION METPO:1007410 molecular function node|molecular activity node GO:0003674 metpo_traitmech_2026_05 HIGH leaf — CausalNodeTypeEnum.MOLECULAR_FUNCTION METPO:1007420 causal-graph biological process node A trait causal node that denotes a biological process (e.g. respiration, nitrogen fixation, biofilm formation) that is part of, or causally upstream of, the trait mechanism. TraitMech:src/traitmech/schema/traitmech.yaml#CausalNodeTypeEnum.BIOLOGICAL_PROCESS METPO:1007410 biological process node GO:0008150 metpo_traitmech_2026_05 HIGH leaf — CausalNodeTypeEnum.BIOLOGICAL_PROCESS +METPO:1007421 causal-graph state node A trait causal node that denotes a bioenergetic or molecular state of the cell — a gradient or steady-value (e.g. proton motive force, redox state of the quinone pool) that mediates the trait mechanism. Distinct from a process: the state is the thing maintained, not its establishment. TraitMech:src/traitmech/schema/traitmech.yaml#CausalNodeTypeEnum.STATE METPO:1007410 state node|bioenergetic state node metpo_traitmech_2026_05 HIGH leaf — CausalNodeTypeEnum.STATE (extended via the STATE/QUALITY/CAPACITY enum extension) +METPO:1007422 causal-graph quality node A trait causal node that denotes a quality or measurable attribute of a cellular component (PATO-style axis attached to a microbial entity) — e.g. membrane fluidity, GC content, motility speed — that modulates the trait mechanism. TraitMech:src/traitmech/schema/traitmech.yaml#CausalNodeTypeEnum.QUALITY METPO:1007410 quality node|attribute node PATO:0000001 metpo_traitmech_2026_05 HIGH leaf — CausalNodeTypeEnum.QUALITY (extended via the STATE/QUALITY/CAPACITY enum extension) +METPO:1007423 causal-graph capacity node A trait causal node that denotes a metabolic or functional capacity — an electron-donating pool, ATP charge, or other reservoir-of-X notion that is neither a single chemical species nor a process (e.g. reducing power, energy charge). TraitMech:src/traitmech/schema/traitmech.yaml#CausalNodeTypeEnum.CAPACITY METPO:1007410 capacity node|reservoir node metpo_traitmech_2026_05 HIGH leaf — CausalNodeTypeEnum.CAPACITY (extended via the STATE/QUALITY/CAPACITY enum extension) diff --git a/proposals/metpo_traitmech_v3/proposal.md b/proposals/metpo_traitmech_v3/proposal.md index aa7fa5a..7b01101 100644 --- a/proposals/metpo_traitmech_v3/proposal.md +++ b/proposals/metpo_traitmech_v3/proposal.md @@ -73,20 +73,30 @@ them under a richer parent (e.g. *bioenergetic state*, | `terminal electron acceptor` | individual CHEBIs (O₂, NO₃⁻, SO₄²⁻) | role-of class is missing upstream; corpus mixes CHEMICAL + MOLECULAR_FUNCTION node-typings of the same concept | | `membrane fluidity` | PATO:0001985 (viscosity) | viscosity is closely related but is a generic physical quality; membrane-specific lipid-mobility sense has no exact upstream term | -### Node-typing notes - -Four of these are *mis-typed* in the corpus (a separate cleanup): -- `proton motive force` and `membrane fluidity` appear under - `node_type: BIOLOGICAL_PROCESS` but are semantically a - bioenergetic state and a membrane quality respectively. -- `microbial biomass` and `reducing power` are typed as - `BIOLOGICAL_PROCESS` / `CHEMICAL` but are aggregate matter and - capacity respectively. - -Lifting them to METPO with proper classification gives downstream -re-typing migrations a target. The mapping TSV in this PR grounds -them via the corpus's current (mis-)typing so the corpus-side fix -can land separately. +### Node-typing notes (resolved post-merge) + +When v3 first landed, four of these classes were *mis-typed* in +the corpus because the `CausalNodeTypeEnum` lacked appropriate +values: +- `proton motive force` and `membrane fluidity` appeared under + `node_type: BIOLOGICAL_PROCESS` (semantically a bioenergetic + state and a membrane quality). +- `microbial biomass` and `reducing power` were typed as + `BIOLOGICAL_PROCESS` / `CHEMICAL` (aggregate matter and capacity). + +All four are now correctly typed: +- `biomass` → `CHEMICAL` (PR #72, the closest existing fit at + the time). +- `proton motive force` → `STATE` (after the enum was + extended with `STATE`/`QUALITY`/`CAPACITY`). +- `membrane fluidity` → `QUALITY` (same enum-extension batch). +- `reducing power` → `CAPACITY` (same enum-extension batch). + +The v1 cohort's `CausalNodeTypeEnum` lift was extended in-place +(Path B per the metpo-proposal skill) to mint three new leaf +classes — `METPO:1007421` (state node), `METPO:1007422` (quality +node), `METPO:1007423` (capacity node) — keeping the subset tag +`metpo_traitmech_2026_05`. ## Hierarchy decisions diff --git a/scripts/retype_causal_nodes.py b/scripts/retype_causal_nodes.py index 84c057c..66aff68 100644 --- a/scripts/retype_causal_nodes.py +++ b/scripts/retype_causal_nodes.py @@ -45,27 +45,33 @@ # (label_lower, current_node_type) → new_node_type. # # Scope rule: only re-type when an existing CausalNodeTypeEnum value -# is a clean semantic fit. For mis-typed nodes whose proper category -# is missing from the enum (bioenergetic STATE, membrane QUALITY, -# metabolic CAPACITY), defer to a follow-up that extends the enum. +# is a clean semantic fit. The first entry (biomass) landed in +# PR #72; the next three landed after the enum was extended +# with STATE / QUALITY / CAPACITY values. RETYPES: dict[tuple[str, str], str] = { # Microbial biomass is aggregate biochemistry — best existing fit # in CausalNodeTypeEnum is CHEMICAL (a chemical entity / mixture). - # Currently mis-typed as BIOLOGICAL_PROCESS in the v3 proposal - # (proposals/metpo_traitmech_v3/proposal.md, "Node-typing notes"). ("biomass", "BIOLOGICAL_PROCESS"): "CHEMICAL", + + # Proton motive force is a bioenergetic state (electrochemical + # gradient), not a process. STATE was added to the enum in the same batch. + ("proton motive force", "BIOLOGICAL_PROCESS"): "STATE", + + # Membrane fluidity is a PATO-style quality of the membrane, not + # a process. QUALITY was added to the enum in the same batch. + ("membrane fluidity", "BIOLOGICAL_PROCESS"): "QUALITY", + + # Reducing power is a metabolic capacity (electron-donating + # pool), not a single chemical species. CAPACITY was added to + # the enum in the same batch. + ("reducing power", "CHEMICAL"): "CAPACITY", } -# Mis-typed labels that the current enum can't represent cleanly. -# Listed here so the PR description and proposal.md stay in sync. -DEFERRED = [ - ("proton motive force", "BIOLOGICAL_PROCESS", - "needs a bioenergetic-STATE enum value"), - ("membrane fluidity", "BIOLOGICAL_PROCESS", - "needs a QUALITY enum value (PATO axis)"), - ("reducing power", "CHEMICAL", - "needs a metabolic-CAPACITY enum value"), -] +# All mis-typed labels surfaced in the v3 proposal are now resolved +# (PR #72 for biomass; the STATE/QUALITY/CAPACITY batch for the other three). New mis-typings +# discovered after this batch should be appended above with a comment +# pointing at where the new enum value (if needed) was added. +DEFERRED: list[tuple[str, str, str]] = [] def retype_nodes_in_doc(doc: dict[str, Any]) -> tuple[int, Counter]: diff --git a/src/traitmech/schema/traitmech.yaml b/src/traitmech/schema/traitmech.yaml index b8ad7d8..5020f8f 100644 --- a/src/traitmech/schema/traitmech.yaml +++ b/src/traitmech/schema/traitmech.yaml @@ -440,3 +440,21 @@ enums: description: A molecular activity or function. BIOLOGICAL_PROCESS: description: A biological process. + STATE: + description: >- + A bioenergetic or molecular state of the cell (e.g. proton + motive force, redox state of the quinone pool) that + mediates a trait mechanism. Distinct from a process: the + state is the gradient / steady-value, not its establishment. + QUALITY: + description: >- + A quality or measurable attribute of a cellular component + (e.g. membrane fluidity, GC content, motility speed) — + a PATO-style axis attached to a microbial entity that + modulates the trait mechanism. + CAPACITY: + description: >- + A metabolic or functional capacity — an electron-donating + pool, ATP charge, or other reservoir-of-X notion that is + neither a single chemical species nor a process. Examples + include reducing power (NADH/NADPH pool) and energy charge.