From 48c84bab9cbb860905d31daab1f552e72ac4e1ab Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Wed, 7 Oct 2026 10:23:29 -0700 Subject: [PATCH] Separate ecological observations from genomic candidates (batch95) --- .../Rice_P_Uptake_Intercropping_SynCom4.html | 89 +- .../Richmond_Mine_AMD_Biofilm.html | 520 ++----- .../Rifle_Aquifer_Bioanode_EET_Community.html | 457 +----- .../2026-10-07T165430Z-codex-e897cd.yaml | 27 + .../2026-10-07T165430Z-codex-c2c481.yaml | 30 + .../2026-10-07T170109Z-codex-9aaed4.yaml | 27 + .../2026-10-07T165431Z-codex-59d672.yaml | 26 + .../Rice_P_Uptake_Intercropping_SynCom4.yaml | 92 +- kb/communities/Richmond_Mine_AMD_Biofilm.yaml | 410 ++--- .../Rifle_Aquifer_Bioanode_EET_Community.yaml | 224 +-- reports/causal_graph_review/README.md | 19 + .../adversarial-review-20261007-batch95.yaml | 239 +++ .../cache-provenance-20261007-batch95.json | 129 ++ .../20261007-four-records-batch95.yaml | 669 +++++++++ reports/causal_graph_review/inventory.tsv | 8 +- reports/causal_graph_review/summary.json | 8 +- .../validation-20261007-batch95.json | 1318 +++++++++++++++++ tests/test_causal_review_batch95.py | 151 ++ tests/test_participating_taxa.py | 1 + 19 files changed, 3148 insertions(+), 1296 deletions(-) create mode 100644 history/records/Rice_P_Uptake_Intercropping_SynCom4/2026-10-07T165430Z-codex-e897cd.yaml create mode 100644 history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T165430Z-codex-c2c481.yaml create mode 100644 history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T170109Z-codex-9aaed4.yaml create mode 100644 history/records/Rifle_Aquifer_Bioanode_EET_Community/2026-10-07T165431Z-codex-59d672.yaml create mode 100644 reports/causal_graph_review/adversarial-review-20261007-batch95.yaml create mode 100644 reports/causal_graph_review/cache-provenance-20261007-batch95.json create mode 100644 reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml create mode 100644 reports/causal_graph_review/validation-20261007-batch95.json create mode 100644 tests/test_causal_review_batch95.py diff --git a/docs/communities/Rice_P_Uptake_Intercropping_SynCom4.html b/docs/communities/Rice_P_Uptake_Intercropping_SynCom4.html index cc09e5dc0..2812a4df3 100644 --- a/docs/communities/Rice_P_Uptake_Intercropping_SynCom4.html +++ b/docs/communities/Rice_P_Uptake_Intercropping_SynCom4.html @@ -642,7 +642,7 @@

Ecological Interactions

Ecological interaction network for Rice Phosphorus Uptake Intercropping SynCom4 - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (mutualism). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
@@ -650,8 +650,8 @@

Ecological Interactions

Mutualism + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -660,9 +660,8 @@

Ecological Interactions

Soil Available Phosphorus Activation

- MUTUALISM
-

Intercropping-derived SynCom members directly activate the plant-accessible soil phosphorus pool, increasing the phosphate available for rice roots in pot experiments.

+

SynCom inoculation increased available soil phosphorus in the rice pot experiment, alongside lower rhizosphere pH and changes in phosphorus fractions. This is a measured inoculation response; contributions of particular strains or acids are not separately resolved.

@@ -686,7 +685,7 @@

Soil Available Phosphorus Activation

→ Phosphorus Acquisition Promotion -

SynCom-driven phosphate activation contributes to the belowground phosphorus-acquisition program that also changes root morphology and up-regulates rice Pi transporter genes.

+

PARTIAL: greater soil phosphorus availability is a proposed contributor to improved rice phosphorus acquisition. The comparisons do not isolate this contribution from root architectural and transport-associated responses.

@@ -716,9 +715,8 @@

Evidence

Phosphorus Acquisition Promotion

- MUTUALISM
-

SynCom members increase soil available phosphorus and support root-to-shoot phosphorus transport.

+

SynCom-treated rice showed altered root architecture, phosphorus allocation and expression of phosphate-transporter genes. PARTIAL: these observations support the proposed acquisition/translocation pathway, but expression and endpoint concentrations do not independently establish transporter-mediated flux or necessity.

@@ -753,7 +751,7 @@

Phosphorus Acquisition Promotion

→ Rice Biomass and Phosphorus Uptake Increase -

Better available-phosphorus access, larger root absorptive surface, and higher root-to-shoot Pi transporter expression drive the measured increases in potted rice biomass and phosphorus uptake.

+

PARTIAL: improved phosphorus access, root architecture and transport-associated responses are proposed contributors to the positive pot biomass/phosphorus outcome. Their separate contributions and necessity for that outcome remain unresolved.

@@ -769,20 +767,7 @@

Evidence

PMID:39684532 - - SUPPORT (IN_VITRO) - - -
"A bacterial synthetic community (SynCom) composed of four bacterial strains (Variovorax paradoxus, Novosphingobium subterraneum, Hydrogenophaga pseudoflava, Acidovorax sp.) significantly enhanced the biomass and P uptake of potted rice plants."
- - - -
  • -
    - - PMID:39684532 - - - SUPPORT (IN_VIVO) + - PARTIAL (IN_VIVO)
    "promotion of root-to-shoot P translocation through up-regulation of Pi transporter genes (OsPht1;1, OsPht1;2, OsPht1;4, OsPht1;6)"
    @@ -796,9 +781,8 @@

    Evidence

    Rice Biomass and Phosphorus Uptake Increase

    - MUTUALISM
    -

    The synthetic community significantly enhances rice biomass and phosphorus uptake in the pot assays, tying the soil-phosphorus and root-translocation effects to the plant-growth endpoint.

    +

    The four-strain SynCom significantly increased rice dry biomass and phosphorus uptake in the pot comparison. This positive inoculation outcome is distinct from the field rice/soybean intercropping comparison, where rice yield and phosphorus uptake decreased. Benefit to rice is not evidence of reciprocal bacterial fitness.

    @@ -807,10 +791,6 @@

    Rice Biomass and Phosphorus Uptake Increase

    Metabolites: - phosphorus - (CHEBI:28659), - phosphate ion (CHEBI:35780) @@ -832,7 +812,7 @@

    Evidence

    PMID:39684532 - - SUPPORT (IN_VITRO) + - SUPPORT (IN_VIVO)
    "A bacterial synthetic community (SynCom) composed of four bacterial strains (Variovorax paradoxus, Novosphingobium subterraneum, Hydrogenophaga pseudoflava, Acidovorax sp.) significantly enhanced the biomass and P uptake of potted rice plants."
    @@ -848,6 +828,45 @@

    Evidence

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + Which pathways mediate the positive pot response? +

    +

    The complete primary main text distinguishes negative field intercropping effects on rice from positive SynCom pot effects. Soil-P fractions, root traits, root IAA and transporter expression support proposed pathways but do not establish each mediator as necessary. Preserve both existing directions as PARTIAL. MUTUALISM requires reciprocal benefit, not a plant response alone. Non-graph CROSS_FEEDER labels and aliased evidence are unchanged pending issue1764.

    + +

    Attaches to: ecological_interactions#Soil Available Phosphorus Activation, ecological_interactions#Phosphorus Acquisition Promotion, ecological_interactions#Rice Biomass and Phosphorus Uptake Increase

    + + + +
    + 1 evidence item(s) + +
    +
    + IN_VIVO + SUPPORT + + + + PMID:39684532 + + +
    +

    the yield and P uptake of intercropped rice were lower than those of rice grown in monoculture

    +

    The field comparison must not be conflated with SynCom inoculation of potted rice.

    +
    + +
    + + +
    + +
    @@ -1057,7 +1076,7 @@

    Evidence

    (function() { var intId = "interaction:0"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1085,7 +1104,7 @@

    Evidence

    (function() { var intId = "interaction:1"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1098,7 +1117,7 @@

    Evidence

    processes.push("phosphate ion transport"); - var evidenceCount = 2; + var evidenceCount = 1; nodes.push({ id: intId, @@ -1117,12 +1136,10 @@

    Evidence

    (function() { var intId = "interaction:2"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; - metabolites.push("phosphorus"); - metabolites.push("phosphate ion"); diff --git a/docs/communities/Richmond_Mine_AMD_Biofilm.html b/docs/communities/Richmond_Mine_AMD_Biofilm.html index 78b03f734..adcba9773 100644 --- a/docs/communities/Richmond_Mine_AMD_Biofilm.html +++ b/docs/communities/Richmond_Mine_AMD_Biofilm.html @@ -795,7 +795,7 @@

    Ecological Interactions

    Ecological interaction network for Richmond Mine AMD Biofilm - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding, mutualism, syntrophy, competition). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
    @@ -803,23 +803,8 @@

    Ecological Interactions

    Cross-feeding -
    -
    - Mutualism -
    -
    - Syntrophy -
    -
    - Competition + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
    @@ -828,15 +813,19 @@

    Ecological Interactions

    Ferrous Iron Oxidation by Leptospirillum

    - CROSS_FEEDING
    -

    Leptospirillum group II oxidizes ferrous iron [Fe(II)] to ferric iron [Fe(III)] as the primary energy source for chemolithoautotrophic growth. This process generates reducing equivalents used for CO₂ fixation through the Calvin-Benson-Bassham cycle. The ferric iron produced serves as the oxidant for pyrite dissolution, creating a positive feedback loop that perpetuates extreme acidity. Iron oxidation is the predominant metabolism in the biofilm, reflected in Leptospirillum comprising 78% of detected clones. -

    +

    Iron-oxidizing Leptospirillum populations contribute ferric iron to Richmond Mine mineral oxidation. Group II and III occurrence and dominance vary among samples and times; canonical member identifiers are retained without identifying every clone as the 5-way CG population. Clone fractions are not iron-oxidation rates. No Calvin-cycle pathway or direct nutrient cross-feeding is asserted.

    + + -

    Source Taxon: Leptospirillum group II

    +

    Participating Taxa: + Leptospirillum group II, + Leptospirillum ferrodiazotrophum + +

    @@ -854,23 +843,6 @@

    Ferrous Iron Oxidation by Leptospirillum

    -

    Biological Processes:

    - -
    @@ -878,7 +850,7 @@

    Ferrous Iron Oxidation by Leptospirillum

    → Pyrite Dissolution -

    Fe(III) oxidizes pyrite to generate more Fe(II) and sulfuric acid

    +

    Leptospirillum iron oxidation contributes regenerated ferric oxidant to pyrite dissolution in the oxygen-supplied mine system. The source supports this community redox coupling, not a species-resolved dissolution rate or direct pairwise nutrient exchange.

    @@ -891,13 +863,13 @@

    Evidence

  • - PMID:10966399 + PMID:19429552 - SUPPORT (IN_VIVO)
    -
    "Nearest relatives to the majority of sequences came from iron-oxidizing acidophiles, and it appears that iron oxidation is the predominant metabolic characteristic of the organisms in the slime"
    +
    "coexisting acidophilic iron-oxidizing Leptospirillum group II and III bacteria"
  • @@ -910,7 +882,7 @@

    Evidence

    - SUPPORT (IN_VIVO) -
    "The detachment of thiosulfate () as a leaving group in pyrite oxidation should result in the formation and persistence of tetrathionate in low pH ferric iron-rich AMD solutions"
    +
    "microorganisms oxidize ferrous to ferric iron"
    @@ -921,15 +893,17 @@

    Evidence

    Ferrous Iron Oxidation by Ferroplasma

    - CROSS_FEEDING
    -

    Ferroplasma acidarmanus oxidizes ferrous iron microaerophilically in extremely acidic microniches (pH approaching 0.5). This archaeon thrives where pH is too low for bacterial competitors, filling an ecological niche unavailable to Leptospirillum and Acidithiobacillus. Ferroplasma maintains cytoplasmic pH ~5.6 through specialized proton-pumping mechanisms while oxidizing Fe(II) in near-zero pH environments. The organism exhibits extreme metal resistance, tolerating high concentrations of arsenic and copper that would inhibit bacterial iron oxidizers. -

    +

    Ferroplasma is an iron-oxidizing contributor to the Richmond Mine ferric-iron pool. Comparative culture evidence supports iron-oxidizing mixotrophy and an organic-carbon requirement for F. acidarmanus Fer1. Field geochemistry supports its community role, not autotrophic carbon fixation, a measured species-specific flux or competitive exclusion of bacterial iron oxidizers.

    + -

    Source Taxon: Ferroplasma acidarmanus

    +

    Participating Taxa: + Ferroplasma acidarmanus + +

    @@ -947,17 +921,6 @@

    Ferrous Iron Oxidation by Ferroplasma

    -

    Biological Processes:

    - -
    @@ -965,7 +928,7 @@

    Ferrous Iron Oxidation by Ferroplasma

    → Pyrite Dissolution -

    Fe(III) from Ferroplasma contributes to pyrite oxidation

    +

    Ferroplasma iron oxidation contributes ferric oxidant to pyrite dissolution in the site-level redox model. Isolate physiology does not apportion that field flux or establish reciprocal fitness with Leptospirillum.

    @@ -991,13 +954,13 @@

    Evidence

  • - doi:10.1111/j.1462-2920.2005.00861.x + doi:10.1186/1467-4866-5-13 - - SUPPORT (IN_VITRO) + - SUPPORT (IN_VIVO)
    -
    "However, during the last few years, new studies of a number of acidic environments, particularly mining waste waters, acidic pools, etc., in diverse geographical locations have revealed the presence of new cell wall‐lacking archaea related to the recently described, acidophilic, ferrous‐iron oxidizing Ferroplasma acidiphilum"
    +
    "the dominance of iron-oxidizing microorganisms (Ferroplasma acidarmanus and Leptospirillum spp.) ensures a continual supply of ferric iron"
  • @@ -1008,17 +971,21 @@

    Evidence

    Pyrite Dissolution

    - MUTUALISM
    -

    Ferric iron generated by Leptospirillum and Ferroplasma oxidizes pyrite (FeS₂) minerals according to: FeS₂ + 14Fe³⁺ + 8H₂O → 15Fe²⁺ + 2SO₄²⁻ + 16H⁺. This process releases ferrous iron, sulfate, and protons, generating extreme acidity (pH 0.5-1.0) and solubilizing metals. The Richmond Mine community oxidizes approximately 1-2 × 10⁵ moles of pyrite per day, demonstrating the massive scale of microbially-mediated mineral dissolution. Sulfate concentrations increase dramatically, and the released Fe(II) is re-oxidized by the microbial community, creating a closed iron redox cycle. -

    +

    Microbially regenerated ferric iron oxidizes pyrite, releasing ferrous iron for subsequent microbial oxidation and contributing sulfate and acidity. The reported approximately 1-2 x 10^5 moles pyrite/day is a mine-outflow-derived estimate at the sampled times, not the rate of this particular biofilm or any pair of species. The coupled cycle depends on external oxygen and mineral supply; it is not closed or self-sustaining.

    -

    Source Taxon: Leptospirillum group II

    +

    Participating Taxa: -

    Target Taxon: Ferroplasma acidarmanus

    + Leptospirillum group II, + + Leptospirillum ferrodiazotrophum, + + Ferroplasma acidarmanus + +

    @@ -1047,7 +1014,7 @@

    Pyrite Dissolution

    → Ferrous Iron Oxidation by Leptospirillum -

    Released Fe(II) is re-oxidized by iron-oxidizing community

    +

    Pyrite oxidation reduces ferric iron and releases ferrous iron that supports subsequent Leptospirillum iron oxidation. This existing feedback is chemically grounded and depends on external oxygen/mineral supply; it is not proof of ecological mutualism.

    @@ -1066,7 +1033,7 @@

    Evidence

    - SUPPORT (IN_VIVO)
    -
    "The detachment of thiosulfate () as a leaving group in pyrite oxidation should result in the formation and persistence of tetrathionate in low pH ferric iron-rich AMD solutions"
    +
    "acceleration of the otherwise slow Fe-oxidation reaction"
    @@ -1076,87 +1043,10 @@

    Evidence

    doi:10.1186/1467-4866-5-13 - - PARTIAL (IN_VIVO) - - -
    "oxidation of approximately 1 × 105 to 2 × 105 moles pyrite/day"
    - - - - - - - -
    -
    -

    Nitrogen Fixation by Leptospirillum Group III

    - MUTUALISM -
    -

    Leptospirillum ferrodiazotrophum (group III) fixes atmospheric nitrogen through nitrogenase activity, providing fixed nitrogen to the nitrogen-limited biofilm community. This organism is the only Leptospirillum capable of nitrogen fixation, making it a keystone species despite not being numerically dominant. Fixed nitrogen is released through cell lysis, excretion, or after predation, becoming available to other community members including groups II Leptospirillum and Ferroplasma that lack nitrogen fixation genes. Group III typically appears in later stages of biofilm development, suggesting nitrogen limitation shapes community succession. -

    - - -

    Source Taxon: Leptospirillum ferrodiazotrophum

    - - - - - -

    Metabolites: - - dinitrogen - (CHEBI:17997), - - ammonia - (CHEBI:16134) - -

    - - - -

    Biological Processes:

    - - - - - - -

    Evidence

    - -
    + +

    A small subset of 3D cryo-electron tomographic reconstructions

    +

    The primary abstract limits the observed contacts to a subset of reconstructions.

    + + - - + + @@ -2143,7 +2016,7 @@

    Evidence

    (function() { var intId = "interaction:0"; - var intType = "CROSS_FEEDING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -2154,12 +2027,6 @@

    Evidence

    var processes = []; - - processes.push("iron ion transport"); - - processes.push("carbon fixation"); - - var evidenceCount = 2; nodes.push({ @@ -2173,18 +2040,26 @@

    Evidence

    }); - var srcKey = "Leptospirillum group II"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ + + "Leptospirillum group II", + + "Leptospirillum ferrodiazotrophum" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); (function() { var intId = "interaction:1"; - var intType = "CROSS_FEEDING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -2195,10 +2070,6 @@

    Evidence

    var processes = []; - - processes.push("carbon fixation"); - - var evidenceCount = 2; nodes.push({ @@ -2212,18 +2083,24 @@

    Evidence

    }); - var srcKey = "Ferroplasma acidarmanus"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ + + "Ferroplasma acidarmanus" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); (function() { var intId = "interaction:2"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -2249,62 +2126,28 @@

    Evidence

    }); - var srcKey = "Leptospirillum group II"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } - - - - var tgtKey = "Ferroplasma acidarmanus"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } - - })(); - - (function() { - var intId = "interaction:3"; - var intType = "MUTUALISM"; - var metabolites = []; - - metabolites.push("dinitrogen"); - metabolites.push("ammonia"); + var participantKeys = [ + "Leptospirillum group II", - var processes = []; - + "Leptospirillum ferrodiazotrophum", - processes.push("nitrogen fixation"); + "Ferroplasma acidarmanus" - - var evidenceCount = 2; - - nodes.push({ - id: intId, - label: "Nitrogen Fixation by Leptospirillum Group III", - type: "interaction", - interactionType: intType, - metabolites: metabolites, - processes: processes, - evidenceCount: evidenceCount + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } }); - - var srcKey = "Leptospirillum ferrodiazotrophum"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } - - - })(); (function() { - var intId = "interaction:4"; - var intType = "SYNTROPHY"; + var intId = "interaction:3"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -2326,36 +2169,22 @@

    Evidence

    }); - var srcKey = "Ferroplasma acidarmanus"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } - - var tgtKey = "Micrarchaeota (ARMAN-1/2)"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } - })(); (function() { - var intId = "interaction:5"; - var intType = "SYNTROPHY"; + var intId = "interaction:4"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("interspecies interaction between organisms"); - - var evidenceCount = 1; nodes.push({ id: intId, - label: "Thermoplasmatales-Parvarchaeota Cell Contact", + label: "Higher-pH Acidithiobacillus Distribution", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -2364,66 +2193,19 @@

    Evidence

    }); - var srcKey = "Ferroplasma acidarmanus"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ - var tgtKey = "Parvarchaeota (ARMAN-4/5)"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } + "Acidithiobacillus ferrooxidans" - })(); - - (function() { - var intId = "interaction:6"; - var intType = "COMPETITION"; - var metabolites = []; - - - metabolites.push("Fe(II)"); - - metabolites.push("Fe(III)"); - - metabolites.push("elemental sulfur"); - - - var processes = []; - - - processes.push("iron ion transport"); - - processes.push("carbon fixation"); - - - var evidenceCount = 2; - - nodes.push({ - id: intId, - label: "Iron and Sulfur Oxidation at Higher pH Refugia", - type: "interaction", - interactionType: intType, - metabolites: metabolites, - processes: processes, - evidenceCount: evidenceCount + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } }); - - var srcKey = "Acidithiobacillus ferrooxidans"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } - - - - var tgtKey = "Leptospirillum group II"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } - })(); @@ -2445,7 +2227,7 @@

    Evidence

    var svg = d3.select("#network-svg"); var width = container.clientWidth - 32; // Dynamic height based on node count: minimum 500px, add 40px per node - var nodeCount = 13; + var nodeCount = 11; var height = Math.max(500, 400 + nodeCount * 20); svg.attr("width", width).attr("height", height); diff --git a/docs/communities/Rifle_Aquifer_Bioanode_EET_Community.html b/docs/communities/Rifle_Aquifer_Bioanode_EET_Community.html index 52644d974..e7ec8b32b 100644 --- a/docs/communities/Rifle_Aquifer_Bioanode_EET_Community.html +++ b/docs/communities/Rifle_Aquifer_Bioanode_EET_Community.html @@ -786,7 +786,7 @@

    Ecological Interactions

    Ecological interaction network for Rifle Aquifer Bioanode Extracellular Electron Transfer Community - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (competition, niche partitioning). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
    @@ -794,13 +794,8 @@

    Ecological Interactions

    Competition -
    -
    - Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
    @@ -809,10 +804,8 @@

    Ecological Interactions

    Acetate-Fed Iron-Oxide-Like Bioanode Selection

    - NICHE_PARTITIONING
    -

    Microbial electrochemical cells inoculated with Rifle aquifer material were fed acetate as the sole carbon source and poised at iron-oxide-like anode potentials for years, enriching electrode-attached biofilms whose growth depended on extracellular electron transfer to the anode. -

    +

    Acetate-fed microbial electrochemical cells enriched electroactive consortia from Rifle aquifer material. Electrode-attached biofilm and planktonic communities differed, and the systems produced current. This is an observed community response to the enrichment environment, not proof that every member directly respires the anode or occupies a demonstrated partitioned niche.

    @@ -853,14 +846,7 @@

    Acetate-Fed Iron-Oxide-Like Bioanode Selection

    → Multiheme Geobacter Electrode Dominance -

    The acetate bioanodes selected a novel MHC-rich Geobacter as the dominant electrode-attached organism. -

    -
    - -
    - → Non-Geobacter EET Gene Repertoire -

    The same enrichments also recovered diverse non-Geobacter organisms with MHCs, candidate porin-cytochrome complexes, and e-pili. -

    +

    PARTIAL: the acetate-fed electrode environment enriched a biofilm dominated by the novel Geobacter population. The observed enrichment supports selection in this system, but does not establish competitive exclusion, a single causal contribution of its MHC inventory or dominance throughout the natural aquifer.

    @@ -879,7 +865,7 @@

    Evidence

    - SUPPORT (IN_VITRO) -
    "using acetate as the sole carbon source"
    +
    "Electroactive biofilms were established and maintained for almost 4 years"
    @@ -890,10 +876,8 @@

    Evidence

    Multiheme Geobacter Electrode Dominance

    - COMPETITION
    -

    Six near-complete and one partial Geobacter genomes dominated the electrode-attached biofilm DNA, with the leading S0_RifleGW_Geobacter_53_40 genome encoding 72 candidate multiheme c-type cytochromes. -

    +

    A novel Geobacter population dominated the sampled electrode-attached community, and its recovered genome encoded at least 72 putative multiheme c-type cytochromes. This combines observed biofilm composition with predicted genomic capacity; it does not establish competition, conductivity of each candidate protein or the organism's natural aquifer niche.

    @@ -908,29 +892,7 @@

    Multiheme Geobacter Electrode Dominance

    -

    Biological Processes:

    - - - - -
    - Downstream Effects: - -
    - → Candidate Porin-Cytochrome Complex Distribution -

    Geobacter genomes had the greatest number and diversity of candidate porin-cytochrome complex porin types. -

    -
    -
    @@ -955,267 +917,51 @@

    Evidence

    -
    -
    -

    Non-Geobacter EET Gene Repertoire

    - NICHE_PARTITIONING -
    -

    Beyond the dominant Geobacter, Actinobacteria, Ignavibacteria, Chloroflexi, Acidobacteria, Firmicutes, and Beta- and Gammaproteobacteria genomes also encoded large multiheme c-type cytochromes, candidate porin-cytochrome complexes, and/or putative conductive e-pili. -

    - - - - -

    Participating Taxa: - - EET-capable Rifle aquifer Actinobacteria, - - EET-capable Rifle aquifer Ignavibacteria, - - EET-capable Rifle aquifer Chloroflexi, - - EET-capable Rifle aquifer Acidobacteria, - - EET-capable Rifle aquifer Firmicutes, - - EET-capable Rifle aquifer Beta- and Gammaproteobacteria - -

    - - - - - -

    Biological Processes:

    - - - - -
    - Downstream Effects: - -
    - → Candidate Porin-Cytochrome Complex Distribution -

    Acidobacteria, Betaproteobacteria, and Ignavibacteria were among the high-MHC genomes encoding candidate porin-cytochrome complexes. -

    -
    - -
    - - - -

    Evidence

    - - -
    - -
    -
    -

    Candidate Porin-Cytochrome Complex Distribution

    - NICHE_PARTITIONING -
    -

    Twelve high-MHC near-complete genomes encoded at least one candidate outer-membrane porin-cytochrome complex, extending potential trans-outer membrane electron conduits from Geobacter into Acidobacteria, Betaproteobacteria, and Ignavibacteria. -

    - - - - - - - - -

    Biological Processes:

    - - - - - - -

    Evidence

    - - -
    - -
    -
    -

    e-Pili and OmcS Conductive Filament Potential

    - NICHE_PARTITIONING -
    -

    Putative conductive type-IV pilins were detected in 16 of the 31 EET-related genomes under strict aromatic-residue criteria, and cytochrome OmcS homolog searches recovered 22 sequences, nearly all from Geobacter, that could support conductive extracellular filaments. -

    - - - - - - - - -

    Biological Processes:

    - - - - - - -

    Evidence

    - - -
    - -
    -
    -

    Rifle Mineral Redox Candidate Set

    - NICHE_PARTITIONING -
    -

    Only a small subset of the thousands of organisms previously detected in the Rifle aquifer have the genetic potential to mediate mineral redox transformations.

    + + +
    +

    Knowledge gaps & discussions (1)

    +
    +

    + KNOWLEDGE_GAP + OPEN + Which genomic candidates actually mediate environmental EET or interspecies feedback? +

    +

    The complete primary main text supports community current, enrichment and biofilm dominance. Non-Geobacter MHCs, candidate PCCs, e-pili and OmcS homologs are valuable genomic predictions, not demonstrated niche partitioning, conductivity, mineral flux or syntrophic partnerships. The candidate-set conclusion does not exclude EET potential in all other aquifer organisms. Remove four inventory/conclusion nodes and three analysis-order arrows while preserving the environmental-selection observation and one PARTIAL dominance direction. The source leaves the dominant organism's environmental niche unresolved and gives inconsistent near-complete-genome denominators in the PCC caption versus main text; no denominator is silently adjudicated. Non-graph functional-role labels and canonical taxonomy remain issue1764; cultivation setup is unchanged.

    +

    Attaches to: ecological_interactions#Acetate-Fed Iron-Oxide-Like Bioanode Selection, ecological_interactions#Multiheme Geobacter Electrode Dominance

    -

    Biological Processes:

    -
      +
      + 1 evidence item(s) -
    • - electron transport chain - (GO:0022900) -
    • - -
    +
    +
    + COMPUTATIONAL + PARTIAL + PMID:32849356 -

    Evidence

    -
      - -
    • -
      - - PMID:32849356 - - - SUPPORT (IN_VITRO)
      +

      may have the potential to mediate mineral redox transformations

      +

      The primary abstract explicitly describes potential, not experimentally measured natural-community flux.

      +
    -
    "a small subset of the thousands of organisms previously detected in the Rifle aquifer that may have the potential to mediate mineral redox transformations"
    + - - -
    -
    - - -
    @@ -1485,7 +1231,7 @@

    Environmental Factors

    (function() { var intId = "interaction:0"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1519,15 +1265,11 @@

    Environmental Factors

    (function() { var intId = "interaction:1"; - var intType = "COMPETITION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("electron transport chain"); - - var evidenceCount = 1; nodes.push({ @@ -1554,139 +1296,6 @@

    Environmental Factors

    } }); - })(); - - (function() { - var intId = "interaction:2"; - var intType = "NICHE_PARTITIONING"; - var metabolites = []; - - var processes = []; - - - processes.push("electron transport chain"); - - - var evidenceCount = 1; - - nodes.push({ - id: intId, - label: "Non-Geobacter EET Gene Repertoire", - type: "interaction", - interactionType: intType, - metabolites: metabolites, - processes: processes, - evidenceCount: evidenceCount - }); - - - - - var participantKeys = [ - - "EET-capable Rifle aquifer Actinobacteria", - - "EET-capable Rifle aquifer Ignavibacteria", - - "EET-capable Rifle aquifer Chloroflexi", - - "EET-capable Rifle aquifer Acidobacteria", - - "EET-capable Rifle aquifer Firmicutes", - - "EET-capable Rifle aquifer Beta- and Gammaproteobacteria" - - ]; - participantKeys.forEach(function(key) { - if (taxonNodeIds[key]) { - links.push({ source: taxonNodeIds[key], target: intId }); - } - }); - - })(); - - (function() { - var intId = "interaction:3"; - var intType = "NICHE_PARTITIONING"; - var metabolites = []; - - var processes = []; - - - processes.push("electron transport chain"); - - - var evidenceCount = 2; - - nodes.push({ - id: intId, - label: "Candidate Porin-Cytochrome Complex Distribution", - type: "interaction", - interactionType: intType, - metabolites: metabolites, - processes: processes, - evidenceCount: evidenceCount - }); - - - - - })(); - - (function() { - var intId = "interaction:4"; - var intType = "NICHE_PARTITIONING"; - var metabolites = []; - - var processes = []; - - - processes.push("electron transport chain"); - - - var evidenceCount = 2; - - nodes.push({ - id: intId, - label: "e-Pili and OmcS Conductive Filament Potential", - type: "interaction", - interactionType: intType, - metabolites: metabolites, - processes: processes, - evidenceCount: evidenceCount - }); - - - - - })(); - - (function() { - var intId = "interaction:5"; - var intType = "NICHE_PARTITIONING"; - var metabolites = []; - - var processes = []; - - - processes.push("electron transport chain"); - - - var evidenceCount = 1; - - nodes.push({ - id: intId, - label: "Rifle Mineral Redox Candidate Set", - type: "interaction", - interactionType: intType, - metabolites: metabolites, - processes: processes, - evidenceCount: evidenceCount - }); - - - - })(); @@ -1708,7 +1317,7 @@

    Environmental Factors

    var svg = d3.select("#network-svg"); var width = container.clientWidth - 32; // Dynamic height based on node count: minimum 500px, add 40px per node - var nodeCount = 13; + var nodeCount = 9; var height = Math.max(500, 400 + nodeCount * 20); svg.attr("width", width).attr("height", height); diff --git a/history/records/Rice_P_Uptake_Intercropping_SynCom4/2026-10-07T165430Z-codex-e897cd.yaml b/history/records/Rice_P_Uptake_Intercropping_SynCom4/2026-10-07T165430Z-codex-e897cd.yaml new file mode 100644 index 000000000..43d307530 --- /dev/null +++ b/history/records/Rice_P_Uptake_Intercropping_SynCom4/2026-10-07T165430Z-codex-e897cd.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml + slug: Rice_P_Uptake_Intercropping_SynCom4 +session: + id: 2026-10-07T165430Z-codex-e897cd + timestamp: '2026-10-07T16:54:30Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1761 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain measured available-P response without MUTUALISM and qualify existing acquisition + arrow.; Retain transport-associated root observations as PARTIAL, not measured transporter + flux or necessary mediation.; Retain positive pot biomass/P outcome, distinguish the adverse + field comparison and remove elemental-phosphorus grounding. + details: Source-based self-adversarial review; reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml diff --git a/history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T165430Z-codex-c2c481.yaml b/history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T165430Z-codex-c2c481.yaml new file mode 100644 index 000000000..2cc7a87e4 --- /dev/null +++ b/history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T165430Z-codex-c2c481.yaml @@ -0,0 +1,30 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Richmond_Mine_AMD_Biofilm.yaml + slug: Richmond_Mine_AMD_Biofilm +session: + id: 2026-10-07T165430Z-codex-c2c481 + timestamp: '2026-10-07T16:54:30Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1762 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain iron-oxidizing Leptospirillum contribution with group/sample scope and the + existing ferric-oxidant arrow.; Retain Ferroplasma contribution and existing arrow without + carbon fixation, competitive exclusion or pairwise CROSS_FEEDING.; Retain the real iron/mineral + feedback with external supply and mine-wide flux scope, not MUTUALISM.; Retain generic + observed ARMAN contact without species/subgroup pairing or SYNTROPHY.; Rename and bound + the existing higher-pH node to observed A. ferrooxidans distribution, not COMPETITION + or intrinsic genomic metabolism. + details: Source-based self-adversarial review; reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml diff --git a/history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T170109Z-codex-9aaed4.yaml b/history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T170109Z-codex-9aaed4.yaml new file mode 100644 index 000000000..a9b419a2d --- /dev/null +++ b/history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T170109Z-codex-9aaed4.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Richmond_Mine_AMD_Biofilm.yaml + slug: Richmond_Mine_AMD_Biofilm +session: + id: 2026-10-07T170109Z-codex-9aaed4 + timestamp: '2026-10-07T17:01:09Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1762 +events: +- type: EDIT + outcome: changed + sections: + - interactions + summary: Remove copied taxon narratives and GTDB metadata from seven graph participant entries; + retain only canonical preferred_term and term identity. Prevent non-graph nitrogen-sharing, + competitive-exclusion and pH claims from re-entering repaired graph nodes. + details: Prepublication adversarial diff check found copied non-graph notes in participant + objects. Canonical taxonomy and its raw block remain unchanged. Initial verification deliberately + interrupted; all final gates rerun. diff --git a/history/records/Rifle_Aquifer_Bioanode_EET_Community/2026-10-07T165431Z-codex-59d672.yaml b/history/records/Rifle_Aquifer_Bioanode_EET_Community/2026-10-07T165431Z-codex-59d672.yaml new file mode 100644 index 000000000..167de33f0 --- /dev/null +++ b/history/records/Rifle_Aquifer_Bioanode_EET_Community/2026-10-07T165431Z-codex-59d672.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml + slug: Rifle_Aquifer_Bioanode_EET_Community +session: + id: 2026-10-07T165431Z-codex-59d672 + timestamp: '2026-10-07T16:54:31Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1763 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain electroactive community enrichment, without NICHE_PARTITIONING or universal + direct EET.; Retain observed biofilm dominance and genomic capacity without COMPETITION + or analysis-order arrows. + details: Source-based self-adversarial review; reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml diff --git a/kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml b/kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml index e30117a7a..7c460dea9 100644 --- a/kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml +++ b/kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml @@ -108,10 +108,9 @@ taxonomy: - *id001 ecological_interactions: - name: Soil Available Phosphorus Activation - description: Intercropping-derived SynCom members directly activate the - plant-accessible soil phosphorus pool, increasing the phosphate available - for rice roots in pot experiments. - interaction_type: MUTUALISM + description: SynCom inoculation increased available soil phosphorus in the rice pot experiment, alongside lower + rhizosphere pH and changes in phosphorus fractions. This is a measured inoculation response; contributions of + particular strains or acids are not separately resolved. scope: COMMUNITY_LEVEL metabolites: - preferred_term: phosphate @@ -120,21 +119,20 @@ ecological_interactions: label: phosphate downstream: - target: Phosphorus Acquisition Promotion - description: SynCom-driven phosphate activation contributes to the - belowground phosphorus-acquisition program that also changes root - morphology and up-regulates rice Pi transporter genes. + description: 'PARTIAL: greater soil phosphorus availability is a proposed contributor to improved rice phosphorus + acquisition. The comparisons do not isolate this contribution from root architectural and transport-associated + responses.' evidence: - reference: PMID:39684532 supports: SUPPORT evidence_source: IN_VIVO - snippet: including the direct activation of soil available P, increased root surface area - and root tip number - explanation: Supports the SynCom activation of soil available phosphorus as - an upstream route to improved rice phosphorus uptake. + snippet: including the direct activation of soil available P, increased root surface area and root tip number + explanation: Supports the SynCom activation of soil available phosphorus as an upstream route to improved rice + phosphorus uptake. - name: Phosphorus Acquisition Promotion - description: SynCom members increase soil available phosphorus and support root-to-shoot phosphorus - transport. - interaction_type: MUTUALISM + description: 'SynCom-treated rice showed altered root architecture, phosphorus allocation and expression of phosphate-transporter + genes. PARTIAL: these observations support the proposed acquisition/translocation pathway, but expression and + endpoint concentrations do not independently establish transporter-mediated flux or necessity.' scope: COMMUNITY_LEVEL metabolites: - preferred_term: phosphate ion @@ -148,35 +146,36 @@ ecological_interactions: label: phosphate ion transport downstream: - target: Rice Biomass and Phosphorus Uptake Increase - description: Better available-phosphorus access, larger root absorptive - surface, and higher root-to-shoot Pi transporter expression drive the - measured increases in potted rice biomass and phosphorus uptake. + description: 'PARTIAL: improved phosphorus access, root architecture and transport-associated responses are + proposed contributors to the positive pot biomass/phosphorus outcome. Their separate contributions and necessity + for that outcome remain unresolved.' evidence: - - *id001 - reference: PMID:39684532 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VIVO - snippet: promotion of root-to-shoot P translocation through up-regulation of Pi transporter - genes (OsPht1;1, OsPht1;2, OsPht1;4, OsPht1;6) - explanation: Links the SynCom response to inorganic-phosphate transport into and - through rice. + snippet: promotion of root-to-shoot P translocation through up-regulation of Pi transporter genes (OsPht1;1, + OsPht1;2, OsPht1;4, OsPht1;6) + explanation: Primary abstract proposes a transport route; full-text expression and allocation comparisons do + not isolate its causal mediation. - name: Rice Biomass and Phosphorus Uptake Increase - description: The synthetic community significantly enhances rice biomass and - phosphorus uptake in the pot assays, tying the soil-phosphorus and - root-translocation effects to the plant-growth endpoint. - interaction_type: MUTUALISM + description: The four-strain SynCom significantly increased rice dry biomass and phosphorus uptake in the pot + comparison. This positive inoculation outcome is distinct from the field rice/soybean intercropping comparison, + where rice yield and phosphorus uptake decreased. Benefit to rice is not evidence of reciprocal bacterial fitness. scope: COMMUNITY_LEVEL metabolites: - - preferred_term: phosphorus - term: - id: CHEBI:28659 - label: phosphorus atom - preferred_term: phosphate ion term: id: CHEBI:35780 label: phosphate ion evidence: - - *id001 + - reference: PMID:39684532 + supports: SUPPORT + evidence_source: IN_VIVO + snippet: A bacterial synthetic community (SynCom) composed of four bacterial strains (Variovorax paradoxus, + Novosphingobium subterraneum, Hydrogenophaga pseudoflava, Acidovorax sp.) significantly enhanced the biomass + and P uptake of potted rice plants. + explanation: Directly supports the positive plant outcome in pots, not reciprocal microbial benefit or mediation + by a specific pathway. environmental_factors: - name: defined synthetic community design value: Variovorax paradoxus, Novosphingobium subterraneum, Hydrogenophaga pseudoflava, and Acidovorax @@ -247,3 +246,32 @@ growth_media: snippet: bacteria were cultured in their respective liquid media on a shaker (180 rpm, 28 °C) for two days and harvested by centrifugation explanation: SynCom strains grown in liquid media at 28 °C, 180 rpm for 2 days before inoculation. +discussions: +- discussion_id: rice_phosphorus_mediation_and_context + prompt: Which pathways mediate the positive pot response? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Soil Available Phosphorus Activation + - ecological_interactions#Phosphorus Acquisition Promotion + - ecological_interactions#Rice Biomass and Phosphorus Uptake Increase + rationale: The complete primary main text distinguishes negative field intercropping effects on rice from positive + SynCom pot effects. Soil-P fractions, root traits, root IAA and transporter expression support proposed pathways + but do not establish each mediator as necessary. Preserve both existing directions as PARTIAL. MUTUALISM requires + reciprocal benefit, not a plant response alone. Non-graph CROSS_FEEDER labels and aliased evidence are unchanged + pending issue1764. + evidence: + - reference: PMID:39684532 + supports: SUPPORT + evidence_source: IN_VIVO + snippet: the yield and P uptake of intercropped rice were lower than those of rice grown in monoculture + explanation: The field comparison must not be conflated with SynCom inoculation of potted rice. +curation_history: +- timestamp: '2026-10-07T16:54:29Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: Retain measured available-P response without MUTUALISM and qualify existing acquisition arrow.; Retain + transport-associated root observations as PARTIAL, not measured transporter flux or necessary mediation.; Retain + positive pot biomass/P outcome, distinguish the adverse field comparison and remove elemental-phosphorus grounding. + Issue#1761; reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml + llm_assisted: true diff --git a/kb/communities/Richmond_Mine_AMD_Biofilm.yaml b/kb/communities/Richmond_Mine_AMD_Biofilm.yaml index 41d8037e7..c1c1e6058 100644 --- a/kb/communities/Richmond_Mine_AMD_Biofilm.yaml +++ b/kb/communities/Richmond_Mine_AMD_Biofilm.yaml @@ -276,77 +276,52 @@ taxonomy: explanation: Documents metabolic capabilities despite small genomes ecological_interactions: - name: Ferrous Iron Oxidation by Leptospirillum - description: 'Leptospirillum group II oxidizes ferrous iron [Fe(II)] to ferric iron - [Fe(III)] as the primary energy source for chemolithoautotrophic growth. This - process generates reducing equivalents used for CO₂ fixation through the Calvin-Benson-Bassham - cycle. The ferric iron produced serves as the oxidant for pyrite dissolution, - creating a positive feedback loop that perpetuates extreme acidity. Iron oxidation - is the predominant metabolism in the biofilm, reflected in Leptospirillum comprising - 78% of detected clones. - - ' - interaction_type: CROSS_FEEDING - scope: PAIRWISE - source_taxon: - preferred_term: Leptospirillum group II - term: - id: NCBITaxon:419541 - label: Leptospirillum sp. Group II '5-way CG' + description: Iron-oxidizing Leptospirillum populations contribute ferric iron to Richmond Mine mineral oxidation. + Group II and III occurrence and dominance vary among samples and times; canonical member identifiers are retained + without identifying every clone as the 5-way CG population. Clone fractions are not iron-oxidation rates. No + Calvin-cycle pathway or direct nutrient cross-feeding is asserted. + scope: COMMUNITY_LEVEL metabolites: - preferred_term: Fe(II) term: id: CHEBI:29033 label: iron(2+) - concentration: Up to 24 g/L total iron in drainage - preferred_term: Fe(III) term: id: CHEBI:29034 label: iron(3+) - concentration: Generated continuously to oxidize pyrite - biological_processes: - - preferred_term: iron ion transport - term: - id: GO:0006826 - label: iron ion transport - - preferred_term: carbon fixation - term: - id: GO:0015977 - label: carbon fixation downstream: - target: Pyrite Dissolution - description: Fe(III) oxidizes pyrite to generate more Fe(II) and sulfuric acid + description: Leptospirillum iron oxidation contributes regenerated ferric oxidant to pyrite dissolution in the + oxygen-supplied mine system. The source supports this community redox coupling, not a species-resolved dissolution + rate or direct pairwise nutrient exchange. evidence: - - reference: PMID:10966399 + - reference: PMID:19429552 supports: SUPPORT evidence_source: IN_VIVO - snippet: Nearest relatives to the majority of sequences came from iron-oxidizing - acidophiles, and it appears that iron oxidation is the predominant metabolic - characteristic of the organisms in the slime - explanation: Establishes iron oxidation as dominant metabolism + snippet: coexisting acidophilic iron-oxidizing Leptospirillum group II and III bacteria + explanation: Primary biofilm abstract supports the iron-oxidizing groups, not a universal clone abundance or + a CBB pathway. - reference: doi:10.1186/1467-4866-5-13 supports: SUPPORT evidence_source: IN_VIVO - snippet: The detachment of thiosulfate () as a leaving group in pyrite oxidation - should result in the formation and persistence of tetrathionate in low pH ferric - iron-rich AMD solutions - explanation: Documents prevalence of iron-oxidizing metabolism -- name: Ferrous Iron Oxidation by Ferroplasma - description: 'Ferroplasma acidarmanus oxidizes ferrous iron microaerophilically - in extremely acidic microniches (pH approaching 0.5). This archaeon thrives where - pH is too low for bacterial competitors, filling an ecological niche unavailable - to Leptospirillum and Acidithiobacillus. Ferroplasma maintains cytoplasmic pH - ~5.6 through specialized proton-pumping mechanisms while oxidizing Fe(II) in near-zero - pH environments. The organism exhibits extreme metal resistance, tolerating high - concentrations of arsenic and copper that would inhibit bacterial iron oxidizers. - - ' - interaction_type: CROSS_FEEDING - scope: PAIRWISE - source_taxon: - preferred_term: Ferroplasma acidarmanus + snippet: microorganisms oxidize ferrous to ferric iron + explanation: Primary geochemical discussion explains ferric-oxidant regeneration at the community level. + participating_taxa: + - preferred_term: Leptospirillum group II term: - id: NCBITaxon:97393 - label: Ferroplasma acidarmanus + id: NCBITaxon:419541 + label: Leptospirillum sp. Group II '5-way CG' + - preferred_term: Leptospirillum ferrodiazotrophum + term: + id: NCBITaxon:412449 + label: Leptospirillum ferrodiazotrophum +- name: Ferrous Iron Oxidation by Ferroplasma + description: Ferroplasma is an iron-oxidizing contributor to the Richmond Mine ferric-iron pool. Comparative culture + evidence supports iron-oxidizing mixotrophy and an organic-carbon requirement for F. acidarmanus Fer1. Field + geochemistry supports its community role, not autotrophic carbon fixation, a measured species-specific flux + or competitive exclusion of bacterial iron oxidizers. + scope: COMMUNITY_LEVEL metabolites: - preferred_term: Fe(II) term: @@ -356,55 +331,37 @@ ecological_interactions: term: id: CHEBI:29034 label: iron(3+) - biological_processes: - - preferred_term: carbon fixation - term: - id: GO:0015977 - label: carbon fixation downstream: - target: Pyrite Dissolution - description: Fe(III) from Ferroplasma contributes to pyrite oxidation + description: Ferroplasma iron oxidation contributes ferric oxidant to pyrite dissolution in the site-level redox + model. Isolate physiology does not apportion that field flux or establish reciprocal fitness with Leptospirillum. evidence: - reference: PMID:15066799 supports: SUPPORT evidence_source: IN_VITRO - snippet: All four Ferroplasma isolates were capable of growing chemoorganotrophically - on yeast extract or a range of sugars and chemomixotrophically on ferrous iron - and yeast extract or sugars, and isolate "Ferroplasma acidarmanus" Fer1(T) required - much higher levels of organic carbon - explanation: Establishes Ferroplasma iron oxidation in AMD environments - - reference: doi:10.1111/j.1462-2920.2005.00861.x + snippet: All four Ferroplasma isolates were capable of growing chemoorganotrophically on yeast extract or a + range of sugars and chemomixotrophically on ferrous iron and yeast extract or sugars, and isolate "Ferroplasma + acidarmanus" Fer1(T) required much higher levels of organic carbon + explanation: Comparative isolate physiology supports iron-oxidizing mixotrophy and organic-carbon requirements, + not community competitive exclusion. + - reference: doi:10.1186/1467-4866-5-13 supports: SUPPORT - evidence_source: IN_VITRO - snippet: However, during the last few years, new studies of a number of acidic - environments, particularly mining waste waters, acidic pools, etc., in diverse - geographical locations have revealed the presence of new cell wall‐lacking archaea - related to the recently described, acidophilic, ferrous‐iron oxidizing Ferroplasma - acidiphilum - explanation: Documents pH homeostasis enabling activity at extreme acidity -- name: Pyrite Dissolution - description: 'Ferric iron generated by Leptospirillum and Ferroplasma oxidizes pyrite - (FeS₂) minerals according to: FeS₂ + 14Fe³⁺ + 8H₂O → 15Fe²⁺ + 2SO₄²⁻ + 16H⁺. This - process releases ferrous iron, sulfate, and protons, generating extreme acidity - (pH 0.5-1.0) and solubilizing metals. The Richmond Mine community oxidizes approximately - 1-2 × 10⁵ moles of pyrite per day, demonstrating the massive scale of microbially-mediated - mineral dissolution. Sulfate concentrations increase dramatically, and the released - Fe(II) is re-oxidized by the microbial community, creating a closed iron redox - cycle. - - ' - interaction_type: MUTUALISM - scope: PAIRWISE - source_taxon: - preferred_term: Leptospirillum group II - term: - id: NCBITaxon:419541 - label: Leptospirillum sp. Group II '5-way CG' - target_taxon: - preferred_term: Ferroplasma acidarmanus + evidence_source: IN_VIVO + snippet: the dominance of iron-oxidizing microorganisms (Ferroplasma acidarmanus and Leptospirillum spp.) ensures + a continual supply of ferric iron + explanation: Primary site-level conclusion supports ferric-oxidant regeneration; it does not quantify an individual + population rate. + participating_taxa: + - preferred_term: Ferroplasma acidarmanus term: id: NCBITaxon:97393 label: Ferroplasma acidarmanus +- name: Pyrite Dissolution + description: Microbially regenerated ferric iron oxidizes pyrite, releasing ferrous iron for subsequent microbial + oxidation and contributing sulfate and acidity. The reported approximately 1-2 x 10^5 moles pyrite/day is a + mine-outflow-derived estimate at the sampled times, not the rate of this particular biofilm or any pair of species. + The coupled cycle depends on external oxygen and mineral supply; it is not closed or self-sustaining. + scope: COMMUNITY_LEVEL metabolites: - preferred_term: pyrite term: @@ -415,96 +372,46 @@ ecological_interactions: term: id: CHEBI:16189 label: sulfate - concentration: Major product of pyrite oxidation - preferred_term: sulfuric acid term: id: CHEBI:26836 label: sulfuric acid - concentration: Generates pH 0.5-1.0 downstream: - target: Ferrous Iron Oxidation by Leptospirillum - description: Released Fe(II) is re-oxidized by iron-oxidizing community + description: Pyrite oxidation reduces ferric iron and releases ferrous iron that supports subsequent Leptospirillum + iron oxidation. This existing feedback is chemically grounded and depends on external oxygen/mineral supply; + it is not proof of ecological mutualism. evidence: - reference: doi:10.1186/1467-4866-5-13 supports: SUPPORT evidence_source: IN_VIVO - snippet: The detachment of thiosulfate () as a leaving group in pyrite oxidation - should result in the formation and persistence of tetrathionate in low pH ferric - iron-rich AMD solutions - explanation: Quantifies pyrite oxidation rate and pH generation + snippet: acceleration of the otherwise slow Fe-oxidation reaction + explanation: The site-level conclusion links microbial iron oxidation to pyrite dissolution. - reference: doi:10.1186/1467-4866-5-13 - supports: PARTIAL + supports: SUPPORT evidence_source: IN_VIVO snippet: oxidation of approximately 1 × 105 to 2 × 105 moles pyrite/day - explanation: Links microbial Fe(III) generation to mineral dissolution -- name: Nitrogen Fixation by Leptospirillum Group III - description: 'Leptospirillum ferrodiazotrophum (group III) fixes atmospheric nitrogen - through nitrogenase activity, providing fixed nitrogen to the nitrogen-limited - biofilm community. This organism is the only Leptospirillum capable of nitrogen - fixation, making it a keystone species despite not being numerically dominant. - Fixed nitrogen is released through cell lysis, excretion, or after predation, - becoming available to other community members including groups II Leptospirillum - and Ferroplasma that lack nitrogen fixation genes. Group III typically appears - in later stages of biofilm development, suggesting nitrogen limitation shapes - community succession. - - ' - interaction_type: MUTUALISM - scope: PAIRWISE - source_taxon: - preferred_term: Leptospirillum ferrodiazotrophum + explanation: Primary abstract reports a mine-scale estimate; the main text specifies outflow and sampling-time + scope. + participating_taxa: + - preferred_term: Leptospirillum group II + term: + id: NCBITaxon:419541 + label: Leptospirillum sp. Group II '5-way CG' + - preferred_term: Leptospirillum ferrodiazotrophum term: id: NCBITaxon:412449 label: Leptospirillum ferrodiazotrophum - metabolites: - - preferred_term: dinitrogen - term: - id: CHEBI:17997 - label: dinitrogen - notes: N₂ from atmosphere - - preferred_term: ammonia - term: - id: CHEBI:16134 - label: ammonia - notes: Fixed nitrogen product - biological_processes: - - preferred_term: nitrogen fixation - term: - id: GO:0009399 - label: nitrogen fixation - evidence: - - reference: PMID:16204553 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: Based on the prediction that this organism is solely responsible for - nitrogen fixation in the community, we pursued a selective isolation strategy - to obtain the organism in pure culture - explanation: Establishes nitrogen fixation capacity - - reference: PMID:19429552 - supports: SUPPORT - evidence_source: IN_VIVO - snippet: Although only Leptospirillum group III can fix nitrogen, these proteins - were not identified by proteomics - explanation: Highlights keystone role in nitrogen-limited environment -- name: Thermoplasmatales-ARMAN Cell Contact - description: 'Ultrasmall ARMAN archaea occur with Thermoplasmatales in Richmond - Mine acid biofilms; 3D cryo-electron tomography showed Thermoplasmatales - protuberances penetrating ARMAN cell walls and cytoplasmic membranes, indicating - direct interspecies contact that could support parasitic or syntrophic exchange. - - ' - interaction_type: SYNTROPHY - scope: PAIRWISE - source_taxon: - preferred_term: Ferroplasma acidarmanus + - preferred_term: Ferroplasma acidarmanus term: id: NCBITaxon:97393 label: Ferroplasma acidarmanus - target_taxon: - preferred_term: Micrarchaeota (ARMAN-1/2) - term: - id: NCBITaxon:1801631 - label: Microcaldota +- name: Thermoplasmatales-ARMAN Cell Contact + description: 'The primary abstract reports direct contact in a small subset of cryo-electron tomographic reconstructions: + Thermoplasmatales protuberances penetrate ARMAN cell envelopes. It does not identify those imaged pairs as F. + acidarmanus with a particular Micrarchaeota or Parvarchaeota subgroup. Observed contact is retained, without + a demonstrated nutrient exchange, fitness effect or syntrophic metabolic feedback.' + scope: COMMUNITY_LEVEL biological_processes: - preferred_term: interspecies interaction between organisms term: @@ -514,104 +421,28 @@ ecological_interactions: - reference: PMID:20421484 supports: SUPPORT evidence_source: IN_VIVO - snippet: tomographic reconstructions clearly show penetration of the ARMAN cell wall and - cytoplasmic membranes by protuberances extended from cells of the archaeal order - Thermoplasmatales - explanation: Supports direct Thermoplasmatales-ARMAN cell contact in acid mine biofilm. -- name: Thermoplasmatales-Parvarchaeota Cell Contact - description: 'Ultrasmall ARMAN-4 and ARMAN-5 Parvarchaeota co-occur with - Thermoplasmatales in Richmond Mine acid biofilms; 3D cryo-electron tomography - showed Thermoplasmatales projections penetrating ARMAN cell envelopes, - consistent with direct interspecies contact. - - ' - interaction_type: SYNTROPHY - scope: PAIRWISE - source_taxon: - preferred_term: Ferroplasma acidarmanus - term: - id: NCBITaxon:97393 - label: Ferroplasma acidarmanus - target_taxon: - preferred_term: Parvarchaeota (ARMAN-4/5) - term: - id: NCBITaxon:1462422 - label: Candidatus Parvarchaeota - biological_processes: - - preferred_term: interspecies interaction between organisms - term: - id: GO:0044419 - label: biological process involved in interspecies interaction between organisms + snippet: tomographic reconstructions clearly show penetration of the ARMAN cell wall and cytoplasmic membranes + by protuberances extended from cells of the archaeal order Thermoplasmatales + explanation: Supports observed order-level Thermoplasmatales-ARMAN contact, not the former species/subgroup + pairing or SYNTROPHY. +- name: Higher-pH Acidithiobacillus Distribution + description: A. ferrooxidans was detected and predominated in the higher-pH Red Pool during the reported Richmond + Mine survey. Community composition covaried with pH, temperature and solution chemistry. This supports a spatial + distribution observation, not competitive exclusion, a pH optimum at 1.4 or measured iron/sulfur flux by the + same population. + scope: COMMUNITY_LEVEL evidence: - - reference: PMID:20421484 + - reference: doi:10.1186/1467-4866-5-13 supports: SUPPORT evidence_source: IN_VIVO - snippet: tomographic reconstructions clearly show penetration of the ARMAN cell wall and - cytoplasmic membranes by protuberances extended from cells of the archaeal order - Thermoplasmatales - explanation: Supports direct Thermoplasmatales-Parvarchaeota contact in acid mine biofilm. -- name: Iron and Sulfur Oxidation at Higher pH Refugia - description: 'Acidithiobacillus ferrooxidans occupies higher pH niches (pH >1.0) - such as the Red Pool (pH 1.4) where it can outcompete Leptospirillum and Ferroplasma. - This versatile chemolithoautotroph oxidizes both ferrous iron and reduced sulfur - compounds, fixing carbon and nitrogen from the atmosphere. At pH 1.4, A. ferrooxidans - grows optimally while Ferroplasma activity declines. This spatial partitioning - by pH creates distinct microenvironments within the mine where different iron - oxidizers dominate, expanding the overall metabolic capacity and pH range of the - biofilm ecosystem. A. ferrooxidans contributes to pyrite dissolution in moderate - pH zones while Leptospirillum and Ferroplasma dominate at extreme acidity (pH - <1.0). - - ' - interaction_type: COMPETITION - scope: PAIRWISE - source_taxon: - preferred_term: Acidithiobacillus ferrooxidans + snippet: Fluorescent in-situ hybridization (FISH) analyses confirmed that At. ferrooxidans predominates + explanation: Results place this observation in the higher-pH Red Pool; correlation with geochemistry is not + competition. + participating_taxa: + - preferred_term: Acidithiobacillus ferrooxidans term: id: NCBITaxon:920 label: Acidithiobacillus ferrooxidans - target_taxon: - preferred_term: Leptospirillum group II - term: - id: NCBITaxon:419541 - label: Leptospirillum sp. Group II '5-way CG' - metabolites: - - preferred_term: Fe(II) - term: - id: CHEBI:29033 - label: iron(2+) - - preferred_term: Fe(III) - term: - id: CHEBI:29034 - label: iron(3+) - - preferred_term: elemental sulfur - term: - id: CHEBI:26833 - label: sulfur atom - biological_processes: - - preferred_term: iron ion transport - term: - id: GO:0006826 - label: iron ion transport - - preferred_term: carbon fixation - term: - id: GO:0015977 - label: carbon fixation - evidence: - - reference: doi:10.1186/1467-4866-5-13 - supports: SUPPORT - evidence_source: IN_VIVO - snippet: Several novel lineages were identified within the archaeal Thermoplasmatales - order associated with the pyrite slump, and the Red Pool (pH 1.4) contained - the only population of Acidithiobacillus - explanation: Documents A. ferrooxidans presence in higher pH refugia - - reference: PMID:19077236 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: 'BACKGROUND: Acidithiobacillus ferrooxidans is a major participant in - consortia of microorganisms used for the industrial recovery of copper (bioleaching - or biomining)' - explanation: Establishes iron and sulfur oxidation capabilities environmental_factors: - name: Extreme Acidity value: 0.5-1.0 @@ -1038,3 +869,72 @@ growth_media: diazotroph culturemech_id: CultureMech:015436 culturemech_url: https://github.com/CultureBotAI/CultureMech/tree/main/kb/media/CultureMech:015436 +discussions: +- discussion_id: richmond_nitrogen_transfer + prompt: Does group III diazotrophy supply nitrogen to other biofilm members? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Ferrous Iron Oxidation by Leptospirillum + - ecological_interactions#Ferrous Iron Oxidation by Ferroplasma + - ecological_interactions#Pyrite Dissolution + - ecological_interactions#Thermoplasmatales-ARMAN Cell Contact + - ecological_interactions#Higher-pH Acidithiobacillus Distribution + rationale: The primary isolation abstract supports a free-living nitrogen-fixing organism. The biofilm proteomic + abstract reports nitrogen-fixation proteins were not identified. Neither accessible primary abstract resolves + nitrogen release, uptake by another member or the asserted succession/keystone mechanism. Remove the transfer + node without treating nondetection as proof of no capacity. Complete main texts for these sources were not accessible + in this pass; non-graph roles remain issue1764. + evidence: + - reference: PMID:16204553 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: iron-oxidizing, free-living diazotroph + explanation: The isolated organism has positive diazotrophic capacity, not demonstrated nitrogen delivery to + other members. + - reference: PMID:19429552 + supports: PARTIAL + evidence_source: IN_VIVO + snippet: Although only Leptospirillum group III can fix nitrogen, these proteins were not identified by proteomics + explanation: Protein nondetection constrains claims about demonstrated nitrogen fixation in the sampled biofilms. +- discussion_id: richmond_contact_and_field_scope + prompt: Which organisms and functions underlie the observed contacts and field redox coupling? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Ferrous Iron Oxidation by Leptospirillum + - ecological_interactions#Ferrous Iron Oxidation by Ferroplasma + - ecological_interactions#Pyrite Dissolution + - ecological_interactions#Thermoplasmatales-ARMAN Cell Contact + - ecological_interactions#Higher-pH Acidithiobacillus Distribution + rationale: Retain direct generic ARMAN contact, but leave exact imaged partners and metabolic/fitness consequences + unresolved. Current SYNTROPHY does not require obligacy; contact alone does not demonstrate the required metabolic + feedback. The coarse COMMUNITY_LEVEL contact has unspecified participants and must not be read as an observation + for every canonical member. The geochemical primary sections support a real iron/mineral feedback, variable + field populations and higher-pH A. ferrooxidans distribution, not a closed loop, competition or species-resolved + flux. The Ferroplasma review and reference Acidithiobacillus genome are not exact-system functional tests. Taxonomy + and non-graph claims remain unchanged pending issue1764. + evidence: + - reference: PMID:20421484 + supports: SUPPORT + evidence_source: IN_VIVO + snippet: A small subset of 3D cryo-electron tomographic reconstructions + explanation: The primary abstract limits the observed contacts to a subset of reconstructions. +curation_history: +- timestamp: '2026-10-07T16:54:29Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: Retain iron-oxidizing Leptospirillum contribution with group/sample scope and the existing ferric-oxidant + arrow.; Retain Ferroplasma contribution and existing arrow without carbon fixation, competitive exclusion or + pairwise CROSS_FEEDING.; Retain the real iron/mineral feedback with external supply and mine-wide flux scope, + not MUTUALISM.; Retain generic observed ARMAN contact without species/subgroup pairing or SYNTROPHY.; Rename + and bound the existing higher-pH node to observed A. ferrooxidans distribution, not COMPETITION or intrinsic + genomic metabolism. Issue#1762; reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml + llm_assisted: true +- timestamp: '2026-10-07T17:01:07Z' + curator: codex + action: FIX_ADVERSARIAL_REVIEW_FINDINGS + changes: Remove copied taxon narratives and GTDB metadata from seven graph participant entries; retain only canonical + preferred_term and term identity. Prevent non-graph nitrogen-sharing, competitive-exclusion and pH claims from + re-entering repaired graph nodes. Issue#1762. + llm_assisted: true diff --git a/kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml b/kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml index 1d3610f89..1436f62d2 100644 --- a/kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml +++ b/kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml @@ -238,13 +238,11 @@ taxonomy: explanation: Supports the Proteobacteria classes with EET capacity. ecological_interactions: - name: Acetate-Fed Iron-Oxide-Like Bioanode Selection - description: > - Microbial electrochemical cells inoculated with Rifle aquifer material were - fed acetate as the sole carbon source and poised at iron-oxide-like anode - potentials for years, enriching electrode-attached biofilms whose growth - depended on extracellular electron transfer to the anode. + description: Acetate-fed microbial electrochemical cells enriched electroactive consortia from Rifle aquifer material. + Electrode-attached biofilm and planktonic communities differed, and the systems produced current. This is an + observed community response to the enrichment environment, not proof that every member directly respires the + anode or occupies a demonstrated partitioned niche. scope: COMMUNITY_LEVEL - interaction_type: NICHE_PARTITIONING metabolites: - preferred_term: acetate term: @@ -261,183 +259,37 @@ ecological_interactions: label: electron transport chain downstream: - target: Multiheme Geobacter Electrode Dominance - description: > - The acetate bioanodes selected a novel MHC-rich Geobacter as the dominant - electrode-attached organism. - - target: Non-Geobacter EET Gene Repertoire - description: > - The same enrichments also recovered diverse non-Geobacter organisms with - MHCs, candidate porin-cytochrome complexes, and e-pili. + description: 'PARTIAL: the acetate-fed electrode environment enriched a biofilm dominated by the novel Geobacter + population. The observed enrichment supports selection in this system, but does not establish competitive + exclusion, a single causal contribution of its MHC inventory or dominance throughout the natural aquifer.' evidence: - reference: PMID:32849356 supports: SUPPORT evidence_source: IN_VITRO - snippet: using acetate as the sole carbon source - explanation: Supports acetate as the sole electron donor. + snippet: Electroactive biofilms were established and maintained for almost 4 years + explanation: Primary abstract supports long-lived electroactive community enrichment, not direct EET by every + organism. - name: Multiheme Geobacter Electrode Dominance - description: > - Six near-complete and one partial Geobacter genomes dominated the - electrode-attached biofilm DNA, with the leading S0_RifleGW_Geobacter_53_40 - genome encoding 72 candidate multiheme c-type cytochromes. + description: A novel Geobacter population dominated the sampled electrode-attached community, and its recovered + genome encoded at least 72 putative multiheme c-type cytochromes. This combines observed biofilm composition + with predicted genomic capacity; it does not establish competition, conductivity of each candidate protein or + the organism's natural aquifer niche. scope: COMMUNITY_LEVEL - interaction_type: COMPETITION participating_taxa: - preferred_term: novel multiheme-cytochrome Geobacter sp. term: id: NCBITaxon:28231 label: Geobacter - biological_processes: - - preferred_term: electron transport chain - term: - id: GO:0022900 - label: electron transport chain - downstream: - - target: Candidate Porin-Cytochrome Complex Distribution - description: > - Geobacter genomes had the greatest number and diversity of candidate - porin-cytochrome complex porin types. - evidence: - - reference: PMID:32849356 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: > - A novel Geobacter sp. with at least 72 putative multiheme c-type - cytochromes (MHCs) was the dominant electrode-attached organism - explanation: > - Supports the Geobacter dominance and multiheme-cytochrome capacity that - made Geobacter the primary anode-biofilm genome. -- name: Non-Geobacter EET Gene Repertoire - description: > - Beyond the dominant Geobacter, Actinobacteria, Ignavibacteria, Chloroflexi, - Acidobacteria, Firmicutes, and Beta- and Gammaproteobacteria genomes also - encoded large multiheme c-type cytochromes, candidate porin-cytochrome - complexes, and/or putative conductive e-pili. - scope: COMMUNITY_LEVEL - interaction_type: NICHE_PARTITIONING - participating_taxa: - - preferred_term: EET-capable Rifle aquifer Actinobacteria - term: - id: NCBITaxon:201174 - label: Actinomycetota - - preferred_term: EET-capable Rifle aquifer Ignavibacteria - term: - id: NCBITaxon:1134404 - label: Ignavibacteriota - - preferred_term: EET-capable Rifle aquifer Chloroflexi - term: - id: NCBITaxon:200795 - label: Chloroflexota - - preferred_term: EET-capable Rifle aquifer Acidobacteria - term: - id: NCBITaxon:57723 - label: Acidobacteriota - - preferred_term: EET-capable Rifle aquifer Firmicutes - term: - id: NCBITaxon:1239 - label: Bacillota - - preferred_term: EET-capable Rifle aquifer Beta- and Gammaproteobacteria - term: - id: NCBITaxon:1224 - label: Pseudomonadota - biological_processes: - - preferred_term: electron transport chain - term: - id: GO:0022900 - label: electron transport chain - downstream: - - target: Candidate Porin-Cytochrome Complex Distribution - description: > - Acidobacteria, Betaproteobacteria, and Ignavibacteria were among the - high-MHC genomes encoding candidate porin-cytochrome complexes. evidence: - reference: PMID:32849356 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - a diverse range of other electrode-associated organisms also harbored - putative MHCs with at least 10 heme-binding motifs - explanation: > - Supports the non-Geobacter breadth of candidate extracellular - electron-transfer genes. -- name: Candidate Porin-Cytochrome Complex Distribution - description: > - Twelve high-MHC near-complete genomes encoded at least one candidate - outer-membrane porin-cytochrome complex, extending potential trans-outer - membrane electron conduits from Geobacter into Acidobacteria, - Betaproteobacteria, and Ignavibacteria. - scope: COMMUNITY_LEVEL - interaction_type: NICHE_PARTITIONING - biological_processes: - - preferred_term: electron transport chain - term: - id: GO:0022900 - label: electron transport chain - evidence: - - reference: PMID:32849356 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: putative MHCs with at least 10 heme-binding motifs, as well as - porin-cytochrome complexes and e-pili - explanation: Supports the multiheme-cytochrome, porin-cytochrome, and - e-pili EET machinery. - - reference: PMID:32849356 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: > - Twelve of the 53 near-complete genomes that contain one or more MHCs - harbor at least one putative PCC - explanation: > - Supports the distribution of candidate porin-cytochrome complexes among - high-MHC genomes. -- name: e-Pili and OmcS Conductive Filament Potential - description: > - Putative conductive type-IV pilins were detected in 16 of the 31 - EET-related genomes under strict aromatic-residue criteria, and cytochrome - OmcS homolog searches recovered 22 sequences, nearly all from Geobacter, - that could support conductive extracellular filaments. - scope: COMMUNITY_LEVEL - interaction_type: NICHE_PARTITIONING - biological_processes: - - preferred_term: electron transport chain - term: - id: GO:0022900 - label: electron transport chain - evidence: - - reference: PMID:32849356 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: 16/31 contained pili meeting the strict criteria - explanation: > - Supports the strict candidate e-pilus set among genomes with EET-related - genes. - - reference: PMID:32849356 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: > - A total of 22 sequences were deemed to be true OmcS homologs, with all - but one of these found in five of the six Geobacter genomes - explanation: > - Supports the OmcS homolog search as a Geobacter-enriched conductive - filament signal. -- name: Rifle Mineral Redox Candidate Set - description: Only a small subset of the thousands of organisms previously - detected in the Rifle aquifer have the genetic potential to mediate - mineral redox transformations. - scope: COMMUNITY_LEVEL - interaction_type: NICHE_PARTITIONING - biological_processes: - - preferred_term: electron transport chain - term: - id: GO:0022900 - label: electron transport chain - evidence: - - reference: PMID:32849356 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: a small subset of the thousands of organisms previously detected - in the Rifle aquifer that may have the potential to mediate mineral redox - transformations - explanation: Supports the selective enrichment of EET-capable organisms. + snippet: 'A novel Geobacter sp. with at least 72 putative multiheme c-type cytochromes (MHCs) was the dominant + electrode-attached organism + + ' + explanation: Supports biofilm dominance and putative genomic capacity, not competitive exclusion or a causal + effect of individual cytochromes. cultivation_setup: - system_type: BIOELECTROCHEMICAL_SYSTEM instrument_detail: >- @@ -556,8 +408,36 @@ curation_history: - timestamp: '2026-10-02T06:15:13Z' curator: codex action: REVIEW_CAUSAL_GRAPH - changes: Removed four downstream edges that connected Geobacter or non-Geobacter - abundance and genomic evidence classes to e-pilus, OmcS, porin-cytochrome, - and mineral-redox candidate summaries as analysis evidence rather than - extracellular-electron-transfer causality. + changes: Removed four downstream edges that connected Geobacter or non-Geobacter abundance and genomic evidence + classes to e-pilus, OmcS, porin-cytochrome, and mineral-redox candidate summaries as analysis evidence rather + than extracellular-electron-transfer causality. llm_assisted: true +- timestamp: '2026-10-07T16:54:29Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: Retain electroactive community enrichment, without NICHE_PARTITIONING or universal direct EET.; Retain + observed biofilm dominance and genomic capacity without COMPETITION or analysis-order arrows. Issue#1763; reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml + llm_assisted: true +discussions: +- discussion_id: rifle_genomic_candidates_not_ecological_mechanisms + prompt: Which genomic candidates actually mediate environmental EET or interspecies feedback? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Acetate-Fed Iron-Oxide-Like Bioanode Selection + - ecological_interactions#Multiheme Geobacter Electrode Dominance + rationale: The complete primary main text supports community current, enrichment and biofilm dominance. Non-Geobacter + MHCs, candidate PCCs, e-pili and OmcS homologs are valuable genomic predictions, not demonstrated niche partitioning, + conductivity, mineral flux or syntrophic partnerships. The candidate-set conclusion does not exclude EET potential + in all other aquifer organisms. Remove four inventory/conclusion nodes and three analysis-order arrows while + preserving the environmental-selection observation and one PARTIAL dominance direction. The source leaves the + dominant organism's environmental niche unresolved and gives inconsistent near-complete-genome denominators + in the PCC caption versus main text; no denominator is silently adjudicated. Non-graph functional-role labels + and canonical taxonomy remain issue1764; cultivation setup is unchanged. + evidence: + - reference: PMID:32849356 + supports: PARTIAL + evidence_source: COMPUTATIONAL + snippet: may have the potential to mediate mineral redox transformations + explanation: The primary abstract explicitly describes potential, not experimentally measured natural-community + flux. diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md index 68d6b3182..1f1146c8d 100644 --- a/reports/causal_graph_review/README.md +++ b/reports/causal_graph_review/README.md @@ -1055,3 +1055,22 @@ the pinned validator's DOI-cache casing mismatch on case-sensitive filesystems; the new DOI cache follows repository convention, without claiming that issue is fixed. The initial participant-census regression failure is retained alongside the corrected expected-record list and rerun. + +## Batch95: Observations And Genomic Candidates + +[Decisions](decisions/20261007-four-records-batch95.yaml), +[validation](validation-20261007-batch95.json), +[cache provenance](cache-provenance-20261007-batch95.json) and +[self-adversarial review](adversarial-review-20261007-batch95.yaml) cover +FSQN, rice phosphorus, Richmond Mine and Rifle bioanodes. All 18 original +nodes and nine arrows have dispositions: 12 nodes and six existing directions +remain. FSQN is unchanged. The positive rice pot response is distinguished +from field intercropping and unresolved mediation. Richmond's real iron/mineral +cycle remains, without pairwise fitness or unsupported contact identities. +Rifle enrichment and dominance remain; genomic inventories are not ecological +interactions. Three records change, with no new topology or provider spend. +Two fresh primary main texts, selected Richmond geochemical sections and +primary abstracts were read; no figure-pixel or supplement certification. +All caches and non-graph blocks are preserved. Repairs #1761-#1763 await +protected-main merge; non-graph #1764 stays open. Self-review is not independent +approval or corpus completion. diff --git a/reports/causal_graph_review/adversarial-review-20261007-batch95.yaml b/reports/causal_graph_review/adversarial-review-20261007-batch95.yaml new file mode 100644 index 000000000..7b373d7ad --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261007-batch95.yaml @@ -0,0 +1,239 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 1b174298d4f58dc3222bbb020db2fc3ac123b865 +scope: +- kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml +- kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml +- kb/communities/Richmond_Mine_AMD_Biofilm.yaml +- kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml +decision_ledger: reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml +validation_report: reports/causal_graph_review/validation-20261007-batch95.json +findings: +- issue: 1761 + severity: P2 + status: addressed_in_this_change + finding: Bound rice phosphorus SynCom graph to measured plant response + disposition: Close only after protected-main merge. +- issue: 1762 + severity: P2 + status: addressed_in_this_change + finding: Repair Richmond Mine ecological claims and preserve the iron cycle + disposition: Close only after protected-main merge. +- issue: 1763 + severity: P2 + status: addressed_in_this_change + finding: Separate Rifle bioanode enrichment from genomic evidence graphs + disposition: Close only after protected-main merge. +- issue: 1764 + severity: P2 + status: open_non_graph_follow_up + finding: Review batch95 non-graph functional roles and Richmond source scope + disposition: Separate non-graph curation remains required. +adversarial_checks: +- Fresh both-root graph baseline preceded paper reads. All four whole records,18originalnodes and9arrows accounted + for.12nodes6existingdirections retained;6nodes3analysis-order arrows removed;1node renamed. No new causal topology. +- FSQN is byte-for-byte unchanged. Its microbiome-composition response and explicit COMPUTATIONAL fungal-guild prediction + remain distinct and unconnected. Zero arrows is appropriate here; no invented mediation to rice growth. Primary + evidence remains abstract-bounded, not complete-text certification. +- Rice phosphorus SynCom has a positive pot biomass/P outcome, distinct from the negative field rice/soybean intercropping + comparison. Root morphology, IAA, soil-P fractions and transporter expression do not separately establish necessary + mediation. Two existing arrows and the transport pathway remain PARTIAL; plant benefit does not establish MUTUALISM. + Graph evidence was detached from non-graph aliases before source-classification changes. Elemental-P grounding + removed from the phenotype node. +- Richmond Fe/mineral feedback remains in its actual directions. Oxygen and mineral supply bound the cycle; mine-outflow + dissolution estimates are not individual-biofilm or species rates. Iron oxidation is not iron-ion transport, direct + nutrient CROSS_FEEDING or pairwise MUTUALISM. Leptospirillum group/sample identity is bounded; Ferroplasma isolate + mixotrophy is not field autotrophy or competitive exclusion. +- Richmond generic ARMAN contact remains positive, without unsupported F. acidarmanus/subgroup identification. Duplicate + Parvarchaeota contact is removed. Nitrogen-fixing isolate capacity is preserved in a discussion, not promoted + to measured partner transfer; proteomic nondetection does not deny capacity. SYNTROPHY does not require obligacy, + but contact is not metabolic feedback. Higher-pH A. ferrooxidans distribution is retained under a renamed observation + node, not COMPETITION or reference-genome functional proof. +- Adversarial diff review caught copied taxon narratives and GTDB metadata inside seven newly populated participant + objects, which reintroduced unsupported non-graph claims. These were removed, leaving only canonical preferred_term/term + identities. Issue1762, an additional curation event/history, and an explicit regression assertion record the fix. + Initial verification was deliberately interrupted after10recorded outputs; all final gates were rerun. Prior outputs + are retained separately, not counted as final verification. +- Rifle community electroactivity/enrichment and Geobacter biofilm dominance remain. Four genomic inventory/conclusion + nodes and three analysis-order arrows are removed. MHC/PCC/e-pilus/OmcS predictions do not prove niche partitioning, + competition, universal EET, natural mineral flux or syntrophic partners. The candidate set does not exclude all + other aquifer organisms. The source leaves the dominant organism environmental niche unresolved and conflicts + in near-complete-genome denominators; no silent reconciliation. Cultivation setup remains unchanged. +- Two complete fresh primary main texts and their captions read, selected Richmond geochemical sections and five + further Richmond primary abstracts read; FSQN abstract read. No supplement/raw-data/figure-pixel review. EuropePMC + XML failures and PMC challenges do not count as access and were not bypassed. Background Ferroplasma review is + not exact-system proof; downloaded Acidithiobacillus/Parvarchaeota main texts were not read or used as functional + proof.21retained/new-discussion quotations freshly match primary text and unchanged caches; lexical matching is + not entailment. +- Three changed records,457unchangedrecords and923unchangedcaches; four append-only histories including the adversarial + participant repair. All non-graph raw blocks and canonical taxonomy remain unchanged, not recertified. Richmond + participant-set fixture is updated. Unspecified contact participants still receive coarse legacy connectivity + credit, which is not evidence for every member. +- Eight focused tests and872combined regressions pass, with four-record schema/strict/term/reference/snippet gates + and four history gates.56network warnings unchanged,zero structural defects. Deterministic HTML rendering and + exact description parsing are not screenshots. macOS reference passes do not certify Linux DOI-cache handling1091 + or loader1703. +- Ignored/hidden-inclusive local dedup and refreshed all-state issue titles/bodies have explicit exclusions; matching + prior issues read, no exhaustive PR/comment claim. Repairs1761-1763 remain open until protected-main merge;1764 + remains non-graph follow-up. Exact-head COMMENT is self-adversarial review, not independent approval. No provider + spend, new wet-lab protocol or branch-protection bypass; corpus remains incomplete. +adversarial_prepublication_fix: + issue: 1762 + participant_entries_narrowed: 7 + details: Remove copied taxon narratives and GTDB metadata from seven graph participant entries; retain only canonical + preferred_term and term identity. Prevent non-graph nitrogen-sharing, competitive-exclusion and pH claims from + re-entering repaired graph nodes. + initial_verification: Deliberately interrupted with SIGINT before completion after this diff finding; final gates + rerun from scratch. +verification: + combined_regressions: 872 passed in 505.26s (0:08:25) + new_regression_tests: 8 + total_recorded_gate_outputs: 42 + preliminary_attempt: + status: deliberately_interrupted_for_adversarial_fix + recorded_outputs: 10 + not_final_verification: true + primary_graph_snippet_proof: + graph_quotations: 16 + new_discussion_quotations: 5 + fresh_primary_matches: 21 + retained_nodes: 12 + removed_nodes: 6 + retained_arrows: 6 + removed_arrows: 3 + new_nodes_or_directions: 0 + scope: Two complete primary main texts, selected Richmond geochemical sections and fresh primary abstracts read. + All quotations matched; not automatic entailment or figure-pixel certification. + references: Four full-record CLI and local snippet checks executed on macOS,not Linux; DOI-cache casing issue1091 + remains. Literal matches do not establish entailment; FSQN and five Richmond primary sources are abstract bounded. + CLI Total checks counts issues,not executed checks. Loader1703 not certified. + snippet_counts_by_record: + kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml: + MATCH: 11 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml: + MATCH: 14 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Richmond_Mine_AMD_Biofilm.yaml: + MATCH: 41 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml: + MATCH: 17 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + full_corpus_snippet_audit: + counts: + records: 460 + total: 8931 + categories: + MATCH: 8796 + RENDERING: 20 + ASSEMBLED: 1 + WEAK: 0 + MISMATCH: 38 + NOCONTENT: 76 + caveat: Both-root informational audit exit0 is not clean-corpus certification; literal matches are not entailment. + network: + existing_findings_preserved: 56 + added_findings: {} + removed_findings: {} + interpretation: Six unsupported transfer/duplicate/inventory nodes and three analysis-order arrows removed;12nodes6directions + retained. All56warnings unchanged,zero structural defects. + tested_file_sha256: + reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml: 5a071df7d816e530b9c9547f096e16ce4be51d45a63a6a8be8a4117259b97021 + tests/test_causal_review_batch95.py: 030a1bb7f052df837e25aad11a1690ce9b19b3fe15d2122205cbfe5fb686ddce + tests/test_participating_taxa.py: 38d4a7d8cfb31468d07611a053ab6df0c427b52fc57c08e7883e4420af04adfb + reports/causal_graph_review/README.md: 9ed4b2725fd7a0e1ae4d6a3fdd28d8b36665adb37d4972b4298d96a69836c5f3 + reports/causal_graph_review/cache-provenance-20261007-batch95.json: 8c3584523b180187f07a198ff9fd564c94d825c5ebc76aed5f9b3c6e889c5915 + kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml: be926207b3e99ec9dae97be3b8f0cac07462d7e3a9adcba2305a1efe481c5470 + kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml: 9a5de564abd6e776d8f8eb5717c5d11d60cdf85a27414c0b58df620fae74dd9e + kb/communities/Richmond_Mine_AMD_Biofilm.yaml: 2e4f2eef58a26396f76ccedc7483735ea00ea52447f3af4a7469931326686b97 + kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml: 9ebd0ac8d6b48fef67e67549627557ceb23347f0de930357ed73b185c666def3 + unchanged_records: 457 + unchanged_caches: 923 + immutable_prior_history_and_decision_files: 757 + cache_changes: [] + edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] + repair_scope: Bound existing nodes/directions and remove unsupported transfer/duplicate/inventory nodes; no + new topology. Unresolved gaps are recorded, not extended. + post_commit_docs_current: Separate publication gate, not preasserted. +participant_census: + measurements: + baseline: + records: 460 + with_community_level: 397 + mixed: 125 + community_level_only: 272 + taxa: 1525 + credited_solely_by_the_rule: 1253 + current: + records: 460 + with_community_level: 398 + mixed: 125 + community_level_only: 273 + taxa: 1531 + credited_solely_by_the_rule: 1259 + delta: + records: 0 + with_community_level: 1 + mixed: 0 + community_level_only: 1 + taxa: 6 + credited_solely_by_the_rule: 6 + interpretation: Richmond mineral processes are now community-scoped with supported canonical participants; generic + contact participants remain unspecified. Legacy connectivity is not proof of any ecological mechanism or added + membership. +corpus: + records: 460 + nodes: 1412 + edges: 576 + review_status_counts: + needs_research: 48 + pending: 116 + reviewed: 296 +limitations: +- Four whole records and all18originalnodes/9arrows reviewed.12nodes and6existingdirections remain,6nodes and3analysis-order + arrows removed;1node renamed.3records changed,FSQN unchanged. No new topology or Edison dryrun/submission/spend. +- FSQN primary abstract freshly read and matched; publisher page inaccessible. Existing explicit computational-guild + scope and absent mediation edge are appropriate. No complete main text or new mechanism certified. +- Rice phosphorus and Rifle complete fresh main text through Conclusions, including embedded captions, read. No + supplement/raw-data/figure-pixel review. Rice field and pot outcomes remain distinct; Rifle candidate genomic + evidence does not demonstrate community exchange or universal EET. +- Richmond geochemical primary abstract, Introduction, Results, community discussion/site-flux section, pyrite-pathway + discussion, geochemical-community section and Conclusions read (extracted lines1-191,371-533,697-807,855-933). + Remaining methods/geochemical modeling and figure pixels not reviewed. Five other Richmond primary abstracts freshly + read after EuropePMC XML HTTP500 failures. PMC challenge not bypassed. +- Ferroplasma background review abstract read, not used as exact-system graph evidence. Acidithiobacillus reference-genome + and Parvarchaeota genomic full texts retrieved but not read as primary functional proof for these nodes. Retrieval + is not review; no new cache or copyrighted full text published. +- 'Graph nitrogen-sharing and duplicate subgroup-contact assertions removed without denying positive diazotrophic + capacity or generic contact. SYNTROPHY does not require obligacy, but the relevant metabolic feedback is unresolved. + Contact participants unspecified: legacy community-connectivity credit is not evidence for every canonical member. + Canonical taxonomy labels/IDs and non-graph raw blocks preserved, not recertified.' +- All923baselinecaches and457unchangedrecords preserved.4append-only histories. Local dedup includes ignored/hidden + files, excluding.git/docs/site/references_cache; relevant caches separately inspected. All-state issue titles/bodies + refreshed;1716/451/445/443/401/396 read, distinct. Comments/PRs not exhaustive. Repair1761-1763 close only after + protected-main merge;1764 remains open. +- Self-adversarial review is not independent approval or corpus completion. Existing loader1703 and DOI-cache casing1091 + remain. Denied/pending Edison scopes unchanged. Validation and publication are not preasserted. diff --git a/reports/causal_graph_review/cache-provenance-20261007-batch95.json b/reports/causal_graph_review/cache-provenance-20261007-batch95.json new file mode 100644 index 000000000..ac2a10624 --- /dev/null +++ b/reports/causal_graph_review/cache-provenance-20261007-batch95.json @@ -0,0 +1,129 @@ +{ + "changes": [], + "baseline_files_preserved": 923, + "primary_artifacts": { + "/private/tmp/communitymech-batch95/baseline.json": "7e1dae2cdbb83ef9e7326b39582136af4d206ab2140445bcb23b1e36831a73c0", + "/private/tmp/communitymech-batch95/dedup-local-current.txt": "94eedb671c93e2c7a539c10efb07fe1e3b4a7fde57f53a2f31886132d724cb12", + "/private/tmp/communitymech-batch95/ferro-review-metadata.json": "e62b9bffc7fb68ab30f4a2b4cbcddf343b1f045e2065332877df51e13592803f", + "/private/tmp/communitymech-batch95/ferro-review-primary.txt": "a46ffe2d9d3d1f8e4d2499a4261df338cc85ab3fa4533198a790e00164e72ac2", + "/private/tmp/communitymech-batch95/fsqn-metadata.json": "3baa64b78d7012016e5cc9882a771f4bb850d23f0c5eb5d2bc96a2240adbaafd", + "/private/tmp/communitymech-batch95/fsqn-primary.txt": "e82abfd76b2bbd9a0cb61ebec38336c628ff204c584496838d7589f8e2c79c17", + "/private/tmp/communitymech-batch95/issue-dedup-current.json": "3efdd32530d2cf928c36b2b9f6439ddbdf169d07a625a8bd9ea5636ad1dc4985", + "/private/tmp/communitymech-batch95/parva-metadata.json": "a6b29da1d34389a240202855e767b78ed2e18238c78b155d5dd581aa077150fd", + "/private/tmp/communitymech-batch95/parva-primary.txt": "d8e1c7cc3b189ad9ff1858f75098959ac89723ad2a22b6119720959dd8d5f4ba", + "/private/tmp/communitymech-batch95/parva-primary.xml": "6dc358c2a53c4abceb21bd174f48712ae13aa38af6398a3e7dd1c3064b744713", + "/private/tmp/communitymech-batch95/primary-manifest.json": "231df780554a26e362e6c8db35653988812a004336228184358b3dca4d66c119", + "/private/tmp/communitymech-batch95/ricep-metadata.json": "f6e8158f615728067ed18be3a70a38956c8820407e765bd9c3bea961f5d2c6d2", + "/private/tmp/communitymech-batch95/ricep-primary.txt": "5dd0c14471182fb042c0a1175036d933ca40f7d28c0e3ec30dc1b7f785349b9b", + "/private/tmp/communitymech-batch95/ricep-primary.xml": "44517d833ab4d74b87c5e2b78b4675c32e661ca2e544bff8ae9b6f32a6e65a84", + "/private/tmp/communitymech-batch95/rich-acido-metadata.json": "ddf1835ca4f9cd7bbe4db6f68d8391eee6fb3779735612f234bd14bfc6f715d2", + "/private/tmp/communitymech-batch95/rich-acido-primary.txt": "f3b3deceae44b168aaee40605bd4861e9c4024a3c37ef54e3bcbf2bf41119d13", + "/private/tmp/communitymech-batch95/rich-acido-primary.xml": "276b253875a09812c7a3ae3f132742e01fcfed7f7a35bb780571c8f580b38376", + "/private/tmp/communitymech-batch95/rich-arman-metadata.json": "5d6c7b131b6659a56782573b5afe231b795774ae71c81a34c9763a422bc21c1a", + "/private/tmp/communitymech-batch95/rich-arman-primary.txt": "afa417ab4a73e0b46052bcc0a9419c8ebdb3ba88d6e9c83407f4e091d446d3ae", + "/private/tmp/communitymech-batch95/rich-ferro-metadata.json": "7bb9b30570f13d11265469699c0826828393b7589f9d2b509aa6222ff6498c98", + "/private/tmp/communitymech-batch95/rich-ferro-primary.txt": "eff2ac6e9389590230bae7bfe9d8a678fe006537863a209d998486e1e9fb553d", + "/private/tmp/communitymech-batch95/rich-geochem-metadata.json": "8df4688689762242048e3c879db234f39196b5beb6473538e217c0f8d2750d62", + "/private/tmp/communitymech-batch95/rich-geochem-primary.txt": "bbaeff98d04d1bbd41d3c8d2cf6c8d8af31bf1cd912e4a7e6933c95fe6fbcfad", + "/private/tmp/communitymech-batch95/rich-geochem-primary.xml": "f9fe1d115f5273ac38357ff06ab355f09fb8972b52d376c5c8e2d68f2cbe958a", + "/private/tmp/communitymech-batch95/rich-nif-metadata.json": "69e33f5c92cbc88068a27d7fd97f230a9b530b4b52f5c83b1b8fa829a020c035", + "/private/tmp/communitymech-batch95/rich-nif-primary.txt": "62d9cc5fe1d7c65cf5c93ad3a496122b6ca4d60af6b08830c46e3d74b0511072", + "/private/tmp/communitymech-batch95/rich-proteome-metadata.json": "28500b36675f39d4ed72bd2623807a83172a56460769604c5304a28d244b669c", + "/private/tmp/communitymech-batch95/rich-proteome-primary.txt": "910e79b3b2020bb5b693a6f7b22a8403bc3b2551c93e8c4dd4ac5a0cdbdd616a", + "/private/tmp/communitymech-batch95/rich-slime-metadata.json": "a9b5bb6cec39a2afb1ba01b30229638d3d41641950a206985f20c7fd16646fd3", + "/private/tmp/communitymech-batch95/rich-slime-primary.txt": "fa2d93e93fe500ec000e02af29b2f8fc0d1b18e5982f5f08ca6f7576b8ffd2b6", + "/private/tmp/communitymech-batch95/rifle-metadata.json": "1c5b918e730ac373b3af3b894d7235e8dfad624c2919901c01ae6dec2a4ab836", + "/private/tmp/communitymech-batch95/rifle-primary.txt": "5bacf714f86ef5947113768191c1858de2368e2bbc6853e61dd72b368bdcfafd", + "/private/tmp/communitymech-batch95/rifle-primary.xml": "b721dfd8c8b90ae5b0a0a5604659dc1f9cc95827a4ff86806e2ba4eded3179a8", + "references_cache/PMID_15066799.txt": "b261bd0ce43dabbfab25dea292b44c51fab5b5def24c9536fc0e9c9de9af3ce3", + "references_cache/PMID_16204553.txt": "ab61348fbe883a0bf45999a650c545cc6c1036324dee4a079f8535f8812a8b0f", + "references_cache/PMID_19429552.md": "cae8763bc41d46dba48e04e80a3d047723fbb43719f323cd508f451bbc9543d0", + "references_cache/PMID_20421484.md": "86403c0313ce9044d81be7bc7a88cbe0bc1f94695bb947a7eeea8c0fc461f852", + "references_cache/PMID_32849356.md": "e485eb5d1c0799df22d1ea957cb4b852ff3ebd6d948c1fddaf142f46f9166285", + "references_cache/PMID_39684532.txt": "f5de158c3730aa096148f2e46b5dd8532589be0efcf8ebd9b7c799d48e9994d8", + "references_cache/PMID_42596554.txt": "ae947107b038bbbf9652351f360cb09e9d5301f94cf3dd1f54daca82c1a9e500", + "references_cache/doi_10.1186_1467-4866-5-13.md": "6a58e85b212b29496373b59969cbf084df66edfcf1dc70d61ad954ee75189e13" + }, + "source_access": [ + { + "reference": "PMID:42596554", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A42596554+AND+SRC%3AMED&format=json&resultType=core", + "accessed_scope": "Fresh primary abstract read; no full-text claim.", + "fulltext_error": null + }, + { + "reference": "PMID:39684532", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/PMC11641191/fullTextXML", + "accessed_scope": "Complete main text and embedded captions read through Conclusions; no supplements/figure pixels/raw data.", + "fulltext_error": null + }, + { + "reference": "PMID:10966399", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A10966399+AND+SRC%3AMED&format=json&resultType=core", + "accessed_scope": "Fresh primary abstract read; no full-text claim.", + "fulltext_error": "XML returned HTTP500; no full text retrieved." + }, + { + "reference": "PMID:15066799", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A15066799+AND+SRC%3AMED&format=json&resultType=core", + "accessed_scope": "Fresh primary abstract read; no full-text claim.", + "fulltext_error": "XML returned HTTP500; no full text retrieved." + }, + { + "reference": "PMID:16204553", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A16204553+AND+SRC%3AMED&format=json&resultType=core", + "accessed_scope": "Fresh primary abstract read; no full-text claim.", + "fulltext_error": "XML returned HTTP500; no full text retrieved." + }, + { + "reference": "PMID:19429552", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A19429552+AND+SRC%3AMED&format=json&resultType=core", + "accessed_scope": "Fresh primary abstract read; no full-text claim.", + "fulltext_error": "XML returned HTTP500; no full text retrieved." + }, + { + "reference": "PMID:20421484", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A20421484+AND+SRC%3AMED&format=json&resultType=core", + "accessed_scope": "Fresh primary abstract read; no full-text claim.", + "fulltext_error": "XML returned HTTP500; no full text retrieved." + }, + { + "reference": "PMID:19077236", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/PMC2621215/fullTextXML", + "accessed_scope": "Metadata/cache header and existing quoted claim inspected; retrieved main text not read or used as exact-system proof.", + "fulltext_error": null + }, + { + "reference": "PMID:35412773", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/PMC1475782/fullTextXML", + "accessed_scope": "Richmond geochemical primary abstract, Introduction, Results, community discussion/site-flux section, pyrite-pathway discussion, geochemical-community section and Conclusions read (extracted lines1-191,371-533,697-807,855-933). Remaining methods/geochemical modeling and figure pixels not reviewed. Five other Richmond primary abstracts freshly read after EuropePMC XML HTTP500 failures. PMC challenge not bypassed.", + "fulltext_error": null + }, + { + "reference": "PMID:32849356", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/PMC7399161/fullTextXML", + "accessed_scope": "Complete main text and embedded captions read through Conclusions; no supplements/figure pixels/raw data.", + "fulltext_error": null + }, + { + "reference": "doi:10.1111/j.1462-2920.2005.00861.x", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=DOI%3A%2210.1111%2Fj.1462-2920.2005.00861.x%22&format=json&resultType=core", + "accessed_scope": "Background review abstract read, not used as exact-system proof.", + "fulltext_error": null + }, + { + "reference": "doi:10.1038/s41396-017-0002-z", + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/PMC5864196/fullTextXML", + "accessed_scope": "Metadata/cache header inspected; retrieved main text not read or used as contact-identity proof.", + "fulltext_error": null + } + ], + "limitations": [ + "Four whole records and all18originalnodes/9arrows reviewed.12nodes and6existingdirections remain,6nodes and3analysis-order arrows removed;1node renamed.3records changed,FSQN unchanged. No new topology or Edison dryrun/submission/spend.", + "FSQN primary abstract freshly read and matched; publisher page inaccessible. Existing explicit computational-guild scope and absent mediation edge are appropriate. No complete main text or new mechanism certified.", + "Rice phosphorus and Rifle complete fresh main text through Conclusions, including embedded captions, read. No supplement/raw-data/figure-pixel review. Rice field and pot outcomes remain distinct; Rifle candidate genomic evidence does not demonstrate community exchange or universal EET.", + "Richmond geochemical primary abstract, Introduction, Results, community discussion/site-flux section, pyrite-pathway discussion, geochemical-community section and Conclusions read (extracted lines1-191,371-533,697-807,855-933). Remaining methods/geochemical modeling and figure pixels not reviewed. Five other Richmond primary abstracts freshly read after EuropePMC XML HTTP500 failures. PMC challenge not bypassed.", + "Ferroplasma background review abstract read, not used as exact-system graph evidence. Acidithiobacillus reference-genome and Parvarchaeota genomic full texts retrieved but not read as primary functional proof for these nodes. Retrieval is not review; no new cache or copyrighted full text published.", + "Graph nitrogen-sharing and duplicate subgroup-contact assertions removed without denying positive diazotrophic capacity or generic contact. SYNTROPHY does not require obligacy, but the relevant metabolic feedback is unresolved. Contact participants unspecified: legacy community-connectivity credit is not evidence for every canonical member. Canonical taxonomy labels/IDs and non-graph raw blocks preserved, not recertified." + ] +} diff --git a/reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml b/reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml new file mode 100644 index 000000000..fb91239f2 --- /dev/null +++ b/reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml @@ -0,0 +1,669 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 1b174298d4f58dc3222bbb020db2fc3ac123b865 +baseline_commit: 1b174298d4f58dc3222bbb020db2fc3ac123b865 +base_tree: 372dc1fd438e1a1b661a52be56428ed3d2da2cfe +pre_source_baseline_sha256: 7e1dae2cdbb83ef9e7326b39582136af4d206ab2140445bcb23b1e36831a73c0 +issues: +- 1761 +- 1762 +- 1763 +unresolved_research_issues: [] +unresolved_non_graph_issues: +- 1764 +issue_deduplication: + all_state_issue_titles_and_bodies: 1024 + matching_issues: + - 1716 + - 451 + - 445 + - 443 + - 401 + - 396 + ignored_hidden_local_search: true +source_access: +- reference: PMID:42596554 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A42596554+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Fresh primary abstract read; no full-text claim. + fulltext_error: null +- reference: PMID:39684532 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC11641191/fullTextXML + accessed_scope: Complete main text and embedded captions read through Conclusions; no supplements/figure pixels/raw + data. + fulltext_error: null +- reference: PMID:10966399 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A10966399+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Fresh primary abstract read; no full-text claim. + fulltext_error: XML returned HTTP500; no full text retrieved. +- reference: PMID:15066799 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A15066799+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Fresh primary abstract read; no full-text claim. + fulltext_error: XML returned HTTP500; no full text retrieved. +- reference: PMID:16204553 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A16204553+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Fresh primary abstract read; no full-text claim. + fulltext_error: XML returned HTTP500; no full text retrieved. +- reference: PMID:19429552 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A19429552+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Fresh primary abstract read; no full-text claim. + fulltext_error: XML returned HTTP500; no full text retrieved. +- reference: PMID:20421484 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A20421484+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Fresh primary abstract read; no full-text claim. + fulltext_error: XML returned HTTP500; no full text retrieved. +- reference: PMID:19077236 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC2621215/fullTextXML + accessed_scope: Metadata/cache header and existing quoted claim inspected; retrieved main text not read or used + as exact-system proof. + fulltext_error: null +- reference: PMID:35412773 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC1475782/fullTextXML + accessed_scope: Richmond geochemical primary abstract, Introduction, Results, community discussion/site-flux section, + pyrite-pathway discussion, geochemical-community section and Conclusions read (extracted lines1-191,371-533,697-807,855-933). + Remaining methods/geochemical modeling and figure pixels not reviewed. Five other Richmond primary abstracts + freshly read after EuropePMC XML HTTP500 failures. PMC challenge not bypassed. + fulltext_error: null +- reference: PMID:32849356 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC7399161/fullTextXML + accessed_scope: Complete main text and embedded captions read through Conclusions; no supplements/figure pixels/raw + data. + fulltext_error: null +- reference: doi:10.1111/j.1462-2920.2005.00861.x + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=DOI%3A%2210.1111%2Fj.1462-2920.2005.00861.x%22&format=json&resultType=core + accessed_scope: Background review abstract read, not used as exact-system proof. + fulltext_error: null +- reference: doi:10.1038/s41396-017-0002-z + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC5864196/fullTextXML + accessed_scope: Metadata/cache header inspected; retrieved main text not read or used as contact-identity proof. + fulltext_error: null +primary_artifacts: + /private/tmp/communitymech-batch95/baseline.json: 7e1dae2cdbb83ef9e7326b39582136af4d206ab2140445bcb23b1e36831a73c0 + /private/tmp/communitymech-batch95/dedup-local-current.txt: 94eedb671c93e2c7a539c10efb07fe1e3b4a7fde57f53a2f31886132d724cb12 + /private/tmp/communitymech-batch95/ferro-review-metadata.json: e62b9bffc7fb68ab30f4a2b4cbcddf343b1f045e2065332877df51e13592803f + /private/tmp/communitymech-batch95/ferro-review-primary.txt: a46ffe2d9d3d1f8e4d2499a4261df338cc85ab3fa4533198a790e00164e72ac2 + /private/tmp/communitymech-batch95/fsqn-metadata.json: 3baa64b78d7012016e5cc9882a771f4bb850d23f0c5eb5d2bc96a2240adbaafd + /private/tmp/communitymech-batch95/fsqn-primary.txt: e82abfd76b2bbd9a0cb61ebec38336c628ff204c584496838d7589f8e2c79c17 + /private/tmp/communitymech-batch95/issue-dedup-current.json: 3efdd32530d2cf928c36b2b9f6439ddbdf169d07a625a8bd9ea5636ad1dc4985 + /private/tmp/communitymech-batch95/parva-metadata.json: a6b29da1d34389a240202855e767b78ed2e18238c78b155d5dd581aa077150fd + /private/tmp/communitymech-batch95/parva-primary.txt: d8e1c7cc3b189ad9ff1858f75098959ac89723ad2a22b6119720959dd8d5f4ba + /private/tmp/communitymech-batch95/parva-primary.xml: 6dc358c2a53c4abceb21bd174f48712ae13aa38af6398a3e7dd1c3064b744713 + /private/tmp/communitymech-batch95/primary-manifest.json: 231df780554a26e362e6c8db35653988812a004336228184358b3dca4d66c119 + /private/tmp/communitymech-batch95/ricep-metadata.json: f6e8158f615728067ed18be3a70a38956c8820407e765bd9c3bea961f5d2c6d2 + /private/tmp/communitymech-batch95/ricep-primary.txt: 5dd0c14471182fb042c0a1175036d933ca40f7d28c0e3ec30dc1b7f785349b9b + /private/tmp/communitymech-batch95/ricep-primary.xml: 44517d833ab4d74b87c5e2b78b4675c32e661ca2e544bff8ae9b6f32a6e65a84 + /private/tmp/communitymech-batch95/rich-acido-metadata.json: ddf1835ca4f9cd7bbe4db6f68d8391eee6fb3779735612f234bd14bfc6f715d2 + /private/tmp/communitymech-batch95/rich-acido-primary.txt: f3b3deceae44b168aaee40605bd4861e9c4024a3c37ef54e3bcbf2bf41119d13 + /private/tmp/communitymech-batch95/rich-acido-primary.xml: 276b253875a09812c7a3ae3f132742e01fcfed7f7a35bb780571c8f580b38376 + /private/tmp/communitymech-batch95/rich-arman-metadata.json: 5d6c7b131b6659a56782573b5afe231b795774ae71c81a34c9763a422bc21c1a + /private/tmp/communitymech-batch95/rich-arman-primary.txt: afa417ab4a73e0b46052bcc0a9419c8ebdb3ba88d6e9c83407f4e091d446d3ae + /private/tmp/communitymech-batch95/rich-ferro-metadata.json: 7bb9b30570f13d11265469699c0826828393b7589f9d2b509aa6222ff6498c98 + /private/tmp/communitymech-batch95/rich-ferro-primary.txt: eff2ac6e9389590230bae7bfe9d8a678fe006537863a209d998486e1e9fb553d + /private/tmp/communitymech-batch95/rich-geochem-metadata.json: 8df4688689762242048e3c879db234f39196b5beb6473538e217c0f8d2750d62 + /private/tmp/communitymech-batch95/rich-geochem-primary.txt: bbaeff98d04d1bbd41d3c8d2cf6c8d8af31bf1cd912e4a7e6933c95fe6fbcfad + /private/tmp/communitymech-batch95/rich-geochem-primary.xml: f9fe1d115f5273ac38357ff06ab355f09fb8972b52d376c5c8e2d68f2cbe958a + /private/tmp/communitymech-batch95/rich-nif-metadata.json: 69e33f5c92cbc88068a27d7fd97f230a9b530b4b52f5c83b1b8fa829a020c035 + /private/tmp/communitymech-batch95/rich-nif-primary.txt: 62d9cc5fe1d7c65cf5c93ad3a496122b6ca4d60af6b08830c46e3d74b0511072 + /private/tmp/communitymech-batch95/rich-proteome-metadata.json: 28500b36675f39d4ed72bd2623807a83172a56460769604c5304a28d244b669c + /private/tmp/communitymech-batch95/rich-proteome-primary.txt: 910e79b3b2020bb5b693a6f7b22a8403bc3b2551c93e8c4dd4ac5a0cdbdd616a + /private/tmp/communitymech-batch95/rich-slime-metadata.json: a9b5bb6cec39a2afb1ba01b30229638d3d41641950a206985f20c7fd16646fd3 + /private/tmp/communitymech-batch95/rich-slime-primary.txt: fa2d93e93fe500ec000e02af29b2f8fc0d1b18e5982f5f08ca6f7576b8ffd2b6 + /private/tmp/communitymech-batch95/rifle-metadata.json: 1c5b918e730ac373b3af3b894d7235e8dfad624c2919901c01ae6dec2a4ab836 + /private/tmp/communitymech-batch95/rifle-primary.txt: 5bacf714f86ef5947113768191c1858de2368e2bbc6853e61dd72b368bdcfafd + /private/tmp/communitymech-batch95/rifle-primary.xml: b721dfd8c8b90ae5b0a0a5604659dc1f9cc95827a4ff86806e2ba4eded3179a8 + references_cache/PMID_15066799.txt: b261bd0ce43dabbfab25dea292b44c51fab5b5def24c9536fc0e9c9de9af3ce3 + references_cache/PMID_16204553.txt: ab61348fbe883a0bf45999a650c545cc6c1036324dee4a079f8535f8812a8b0f + references_cache/PMID_19429552.md: cae8763bc41d46dba48e04e80a3d047723fbb43719f323cd508f451bbc9543d0 + references_cache/PMID_20421484.md: 86403c0313ce9044d81be7bc7a88cbe0bc1f94695bb947a7eeea8c0fc461f852 + references_cache/PMID_32849356.md: e485eb5d1c0799df22d1ea957cb4b852ff3ebd6d948c1fddaf142f46f9166285 + references_cache/PMID_39684532.txt: f5de158c3730aa096148f2e46b5dd8532589be0efcf8ebd9b7c799d48e9994d8 + references_cache/PMID_42596554.txt: ae947107b038bbbf9652351f360cb09e9d5301f94cf3dd1f54daca82c1a9e500 + references_cache/doi_10.1186_1467-4866-5-13.md: 6a58e85b212b29496373b59969cbf084df66edfcf1dc70d61ad954ee75189e13 + /private/tmp/communitymech-batch95/validation-interrupted.json: 192ff46b4381a00c13f60fb17febf71063066e697c53122ca4679cb2ed22ca5e +primary_graph_snippet_count: 16 +snippet_checks: +- record: Rice_FSQN_Rhizosphere_Microbiome_SynCom + node: FSQN-induced rice microbiome beta-diversity shift + evidence_index: 0 + reference: PMID:42596554 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/fsqn-primary.txt + cache_artifact: references_cache/PMID_42596554.txt + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Rice_FSQN_Rhizosphere_Microbiome_SynCom + node: FSQN-induced rice microbiome beta-diversity shift + evidence_index: 1 + reference: PMID:42596554 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/fsqn-primary.txt + cache_artifact: references_cache/PMID_42596554.txt + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Rice_FSQN_Rhizosphere_Microbiome_SynCom + node: FSQN-associated predicted fungal functional shift + evidence_index: 0 + reference: PMID:42596554 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/fsqn-primary.txt + cache_artifact: references_cache/PMID_42596554.txt + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Rice_P_Uptake_Intercropping_SynCom4 + node: Soil Available Phosphorus Activation + evidence_index: 0 + reference: PMID:39684532 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/ricep-primary.txt + cache_artifact: references_cache/PMID_39684532.txt + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Rice_P_Uptake_Intercropping_SynCom4 + node: Phosphorus Acquisition Promotion + evidence_index: 0 + reference: PMID:39684532 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/ricep-primary.txt + cache_artifact: references_cache/PMID_39684532.txt + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Rice_P_Uptake_Intercropping_SynCom4 + node: Rice Biomass and Phosphorus Uptake Increase + evidence_index: 0 + reference: PMID:39684532 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/ricep-primary.txt + cache_artifact: references_cache/PMID_39684532.txt + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Richmond_Mine_AMD_Biofilm + node: Ferrous Iron Oxidation by Leptospirillum + evidence_index: 0 + reference: PMID:19429552 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rich-proteome-primary.txt + cache_artifact: references_cache/PMID_19429552.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Richmond_Mine_AMD_Biofilm + node: Ferrous Iron Oxidation by Leptospirillum + evidence_index: 1 + reference: doi:10.1186/1467-4866-5-13 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rich-geochem-primary.txt + cache_artifact: references_cache/doi_10.1186_1467-4866-5-13.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Richmond_Mine_AMD_Biofilm + node: Ferrous Iron Oxidation by Ferroplasma + evidence_index: 0 + reference: PMID:15066799 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rich-ferro-primary.txt + cache_artifact: references_cache/PMID_15066799.txt + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Richmond_Mine_AMD_Biofilm + node: Ferrous Iron Oxidation by Ferroplasma + evidence_index: 1 + reference: doi:10.1186/1467-4866-5-13 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rich-geochem-primary.txt + cache_artifact: references_cache/doi_10.1186_1467-4866-5-13.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Richmond_Mine_AMD_Biofilm + node: Pyrite Dissolution + evidence_index: 0 + reference: doi:10.1186/1467-4866-5-13 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rich-geochem-primary.txt + cache_artifact: references_cache/doi_10.1186_1467-4866-5-13.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Richmond_Mine_AMD_Biofilm + node: Pyrite Dissolution + evidence_index: 1 + reference: doi:10.1186/1467-4866-5-13 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rich-geochem-primary.txt + cache_artifact: references_cache/doi_10.1186_1467-4866-5-13.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Richmond_Mine_AMD_Biofilm + node: Thermoplasmatales-ARMAN Cell Contact + evidence_index: 0 + reference: PMID:20421484 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rich-arman-primary.txt + cache_artifact: references_cache/PMID_20421484.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Richmond_Mine_AMD_Biofilm + node: Higher-pH Acidithiobacillus Distribution + evidence_index: 0 + reference: doi:10.1186/1467-4866-5-13 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rich-geochem-primary.txt + cache_artifact: references_cache/doi_10.1186_1467-4866-5-13.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Rifle_Aquifer_Bioanode_EET_Community + node: Acetate-Fed Iron-Oxide-Like Bioanode Selection + evidence_index: 0 + reference: PMID:32849356 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rifle-primary.txt + cache_artifact: references_cache/PMID_32849356.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Rifle_Aquifer_Bioanode_EET_Community + node: Multiheme Geobacter Electrode Dominance + evidence_index: 0 + reference: PMID:32849356 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rifle-primary.txt + cache_artifact: references_cache/PMID_32849356.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +discussion_snippet_checks: +- record: Rice_P_Uptake_Intercropping_SynCom4 + node: rice_phosphorus_mediation_and_context + evidence_index: 0 + reference: PMID:39684532 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/ricep-primary.txt + cache_artifact: references_cache/PMID_39684532.txt + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Richmond_Mine_AMD_Biofilm + node: richmond_nitrogen_transfer + evidence_index: 0 + reference: PMID:16204553 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rich-nif-primary.txt + cache_artifact: references_cache/PMID_16204553.txt + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Richmond_Mine_AMD_Biofilm + node: richmond_nitrogen_transfer + evidence_index: 1 + reference: PMID:19429552 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rich-proteome-primary.txt + cache_artifact: references_cache/PMID_19429552.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Richmond_Mine_AMD_Biofilm + node: richmond_contact_and_field_scope + evidence_index: 0 + reference: PMID:20421484 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rich-arman-primary.txt + cache_artifact: references_cache/PMID_20421484.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +- record: Rifle_Aquifer_Bioanode_EET_Community + node: rifle_genomic_candidates_not_ecological_mechanisms + evidence_index: 0 + reference: PMID:32849356 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch95/rifle-primary.txt + cache_artifact: references_cache/PMID_32849356.md + scope: Literal-normalized quotation matched to fresh primary text and maintained cache; entailment separately + reviewed. +cache_changes: [] +edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] + repair_scope: Bound existing nodes/directions and remove unsupported transfer/duplicate/inventory nodes; no new + topology. Unresolved gaps are recorded, not extended. +limitations: +- Four whole records and all18originalnodes/9arrows reviewed.12nodes and6existingdirections remain,6nodes and3analysis-order + arrows removed;1node renamed.3records changed,FSQN unchanged. No new topology or Edison dryrun/submission/spend. +- FSQN primary abstract freshly read and matched; publisher page inaccessible. Existing explicit computational-guild + scope and absent mediation edge are appropriate. No complete main text or new mechanism certified. +- Rice phosphorus and Rifle complete fresh main text through Conclusions, including embedded captions, read. No + supplement/raw-data/figure-pixel review. Rice field and pot outcomes remain distinct; Rifle candidate genomic + evidence does not demonstrate community exchange or universal EET. +- Richmond geochemical primary abstract, Introduction, Results, community discussion/site-flux section, pyrite-pathway + discussion, geochemical-community section and Conclusions read (extracted lines1-191,371-533,697-807,855-933). + Remaining methods/geochemical modeling and figure pixels not reviewed. Five other Richmond primary abstracts freshly + read after EuropePMC XML HTTP500 failures. PMC challenge not bypassed. +- Ferroplasma background review abstract read, not used as exact-system graph evidence. Acidithiobacillus reference-genome + and Parvarchaeota genomic full texts retrieved but not read as primary functional proof for these nodes. Retrieval + is not review; no new cache or copyrighted full text published. +- 'Graph nitrogen-sharing and duplicate subgroup-contact assertions removed without denying positive diazotrophic + capacity or generic contact. SYNTROPHY does not require obligacy, but the relevant metabolic feedback is unresolved. + Contact participants unspecified: legacy community-connectivity credit is not evidence for every canonical member. + Canonical taxonomy labels/IDs and non-graph raw blocks preserved, not recertified.' +- All923baselinecaches and457unchangedrecords preserved.4append-only histories. Local dedup includes ignored/hidden + files, excluding.git/docs/site/references_cache; relevant caches separately inspected. All-state issue titles/bodies + refreshed;1716/451/445/443/401/396 read, distinct. Comments/PRs not exhaustive. Repair1761-1763 close only after + protected-main merge;1764 remains open. +- Self-adversarial review is not independent approval or corpus completion. Existing loader1703 and DOI-cache casing1091 + remain. Denied/pending Edison scopes unchanged. Validation and publication are not preasserted. +records: +- path: kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml + id: CommunityMech:000419 + original_sha256: be926207b3e99ec9dae97be3b8f0cac07462d7e3a9adcba2305a1efe481c5470 + record_sha256: be926207b3e99ec9dae97be3b8f0cac07462d7e3a9adcba2305a1efe481c5470 + status: reviewed + outcome: unchanged + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml + scope: Whole record and every existing node/direction reviewed, with source-access limits; not new-mechanism discovery + or non-graph certification. + summary: Retain measured beta-diversity/composition response without colonization-facilitation or a mediation + arrow.; Retain explicitly COMPUTATIONAL predicted fungal-guild shift, not measured fungal function or plant-growth + mediation. + node_decisions: + - node: FSQN-induced rice microbiome beta-diversity shift + rationale: Retain measured beta-diversity/composition response without colonization-facilitation or a mediation + arrow. + - node: FSQN-associated predicted fungal functional shift + rationale: Retain explicitly COMPUTATIONAL predicted fungal-guild shift, not measured fungal function or plant-growth + mediation. + removed_node_decisions: [] + renamed_nodes: {} + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - PMID:42596554 + issues: [] + allowed_changed_fields: [] + curation_events_added: 0 + history_files: [] +- path: kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml + id: CommunityMech:000110 + original_sha256: 63b0b68299b50bb4320f5742dda52f4a3e12af8d0693a66870b5b1c3a08f0525 + record_sha256: 9a5de564abd6e776d8f8eb5717c5d11d60cdf85a27414c0b58df620fae74dd9e + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml + scope: Whole record and every existing node/direction reviewed, with source-access limits; not new-mechanism discovery + or non-graph certification. + summary: Retain measured available-P response without MUTUALISM and qualify existing acquisition arrow.; Retain + transport-associated root observations as PARTIAL, not measured transporter flux or necessary mediation.; Retain + positive pot biomass/P outcome, distinguish the adverse field comparison and remove elemental-phosphorus grounding. + node_decisions: + - node: Soil Available Phosphorus Activation + rationale: Retain measured available-P response without MUTUALISM and qualify existing acquisition arrow. + - node: Phosphorus Acquisition Promotion + rationale: Retain transport-associated root observations as PARTIAL, not measured transporter flux or necessary + mediation. + - node: Rice Biomass and Phosphorus Uptake Increase + rationale: Retain positive pot biomass/P outcome, distinguish the adverse field comparison and remove elemental-phosphorus + grounding. + removed_node_decisions: [] + renamed_nodes: {} + edges_before: + - &id001 + source: Soil Available Phosphorus Activation + target: Phosphorus Acquisition Promotion + description: SynCom-driven phosphate activation contributes to the belowground phosphorus-acquisition program + that also changes root morphology and up-regulates rice Pi transporter genes. + - &id003 + source: Phosphorus Acquisition Promotion + target: Rice Biomass and Phosphorus Uptake Increase + description: Better available-phosphorus access, larger root absorptive surface, and higher root-to-shoot Pi + transporter expression drive the measured increases in potted rice biomass and phosphorus uptake. + edges_after: + - &id002 + source: Soil Available Phosphorus Activation + target: Phosphorus Acquisition Promotion + description: 'PARTIAL: greater soil phosphorus availability is a proposed contributor to improved rice phosphorus + acquisition. The comparisons do not isolate this contribution from root architectural and transport-associated + responses.' + - &id004 + source: Phosphorus Acquisition Promotion + target: Rice Biomass and Phosphorus Uptake Increase + description: 'PARTIAL: improved phosphorus access, root architecture and transport-associated responses are + proposed contributors to the positive pot biomass/phosphorus outcome. Their separate contributions and necessity + for that outcome remain unresolved.' + retained_edge_decisions: + - before: *id001 + after: *id002 + rationale: Existing direction retained with source-specific community or PARTIAL mediation limits. + - before: *id003 + after: *id004 + rationale: Existing direction retained with source-specific community or PARTIAL mediation limits. + removed_edge_decisions: [] + references: + - PMID:39684532 + issues: + - 1761 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Rice_P_Uptake_Intercropping_SynCom4/2026-10-07T165430Z-codex-e897cd.yaml +- path: kb/communities/Richmond_Mine_AMD_Biofilm.yaml + id: CommunityMech:000059 + original_sha256: 07aa61256b6d27eefa38c3dfe3b04f80fe9eee68e7df75f07c91326e3e2e4291 + record_sha256: 2e4f2eef58a26396f76ccedc7483735ea00ea52447f3af4a7469931326686b97 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml + scope: Whole record and every existing node/direction reviewed, with source-access limits; not new-mechanism discovery + or non-graph certification. + summary: Retain iron-oxidizing Leptospirillum contribution with group/sample scope and the existing ferric-oxidant + arrow.; Retain Ferroplasma contribution and existing arrow without carbon fixation, competitive exclusion or + pairwise CROSS_FEEDING.; Retain the real iron/mineral feedback with external supply and mine-wide flux scope, + not MUTUALISM.; Retain generic observed ARMAN contact without species/subgroup pairing or SYNTROPHY.; Rename + and bound the existing higher-pH node to observed A. ferrooxidans distribution, not COMPETITION or intrinsic + genomic metabolism. + node_decisions: + - node: Ferrous Iron Oxidation by Leptospirillum + rationale: Retain iron-oxidizing Leptospirillum contribution with group/sample scope and the existing ferric-oxidant + arrow. + - node: Ferrous Iron Oxidation by Ferroplasma + rationale: Retain Ferroplasma contribution and existing arrow without carbon fixation, competitive exclusion + or pairwise CROSS_FEEDING. + - node: Pyrite Dissolution + rationale: Retain the real iron/mineral feedback with external supply and mine-wide flux scope, not MUTUALISM. + - node: Thermoplasmatales-ARMAN Cell Contact + rationale: Retain generic observed ARMAN contact without species/subgroup pairing or SYNTROPHY. + - node: Higher-pH Acidithiobacillus Distribution + rationale: Rename and bound the existing higher-pH node to observed A. ferrooxidans distribution, not COMPETITION + or intrinsic genomic metabolism. + removed_node_decisions: + - node: Nitrogen Fixation by Leptospirillum Group III + rationale: Retain positive diazotrophic capacity in the discussion, but capacity and a missing proteomic signal + do not demonstrate community nitrogen transfer, release mechanism or mutualism. + - node: Thermoplasmatales-Parvarchaeota Cell Contact + rationale: Duplicates generic ARMAN contact while assigning an unsupported imaged Parvarchaeota subgroup and + F. acidarmanus partner; generic positive contact remains. + renamed_nodes: + Iron and Sulfur Oxidation at Higher pH Refugia: Higher-pH Acidithiobacillus Distribution + edges_before: + - &id005 + source: Ferrous Iron Oxidation by Leptospirillum + target: Pyrite Dissolution + description: Fe(III) oxidizes pyrite to generate more Fe(II) and sulfuric acid + - &id007 + source: Ferrous Iron Oxidation by Ferroplasma + target: Pyrite Dissolution + description: Fe(III) from Ferroplasma contributes to pyrite oxidation + - &id009 + source: Pyrite Dissolution + target: Ferrous Iron Oxidation by Leptospirillum + description: Released Fe(II) is re-oxidized by iron-oxidizing community + edges_after: + - &id006 + source: Ferrous Iron Oxidation by Leptospirillum + target: Pyrite Dissolution + description: Leptospirillum iron oxidation contributes regenerated ferric oxidant to pyrite dissolution in the + oxygen-supplied mine system. The source supports this community redox coupling, not a species-resolved dissolution + rate or direct pairwise nutrient exchange. + - &id008 + source: Ferrous Iron Oxidation by Ferroplasma + target: Pyrite Dissolution + description: Ferroplasma iron oxidation contributes ferric oxidant to pyrite dissolution in the site-level redox + model. Isolate physiology does not apportion that field flux or establish reciprocal fitness with Leptospirillum. + - &id010 + source: Pyrite Dissolution + target: Ferrous Iron Oxidation by Leptospirillum + description: Pyrite oxidation reduces ferric iron and releases ferrous iron that supports subsequent Leptospirillum + iron oxidation. This existing feedback is chemically grounded and depends on external oxygen/mineral supply; + it is not proof of ecological mutualism. + retained_edge_decisions: + - before: *id005 + after: *id006 + rationale: Existing direction retained with source-specific community or PARTIAL mediation limits. + - before: *id007 + after: *id008 + rationale: Existing direction retained with source-specific community or PARTIAL mediation limits. + - before: *id009 + after: *id010 + rationale: Existing direction retained with source-specific community or PARTIAL mediation limits. + removed_edge_decisions: [] + references: + - PMID:15066799 + - PMID:19429552 + - PMID:20421484 + - doi:10.1186/1467-4866-5-13 + issues: + - 1762 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 2 + history_files: + - history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T165430Z-codex-c2c481.yaml + - history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T170109Z-codex-9aaed4.yaml +- path: kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml + id: CommunityMech:000241 + original_sha256: 03964cd4e83bdf4138ef0ff0555f59bbca7e25759830f1f67c67621a2f75e95f + record_sha256: 9ebd0ac8d6b48fef67e67549627557ceb23347f0de930357ed73b185c666def3 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml + scope: Whole record and every existing node/direction reviewed, with source-access limits; not new-mechanism discovery + or non-graph certification. + summary: Retain electroactive community enrichment, without NICHE_PARTITIONING or universal direct EET.; Retain + observed biofilm dominance and genomic capacity without COMPETITION or analysis-order arrows. + node_decisions: + - node: Acetate-Fed Iron-Oxide-Like Bioanode Selection + rationale: Retain electroactive community enrichment, without NICHE_PARTITIONING or universal direct EET. + - node: Multiheme Geobacter Electrode Dominance + rationale: Retain observed biofilm dominance and genomic capacity without COMPETITION or analysis-order arrows. + removed_node_decisions: + - node: Non-Geobacter EET Gene Repertoire + rationale: Genomic candidate inventory or candidate-set conclusion, not an ecological interaction; retain its + evidential meaning as a knowledge gap without analysis-order arrows. + - node: Candidate Porin-Cytochrome Complex Distribution + rationale: Genomic candidate inventory or candidate-set conclusion, not an ecological interaction; retain its + evidential meaning as a knowledge gap without analysis-order arrows. + - node: e-Pili and OmcS Conductive Filament Potential + rationale: Genomic candidate inventory or candidate-set conclusion, not an ecological interaction; retain its + evidential meaning as a knowledge gap without analysis-order arrows. + - node: Rifle Mineral Redox Candidate Set + rationale: Genomic candidate inventory or candidate-set conclusion, not an ecological interaction; retain its + evidential meaning as a knowledge gap without analysis-order arrows. + renamed_nodes: {} + edges_before: + - &id011 + source: Acetate-Fed Iron-Oxide-Like Bioanode Selection + target: Multiheme Geobacter Electrode Dominance + description: 'The acetate bioanodes selected a novel MHC-rich Geobacter as the dominant electrode-attached organism. + + ' + - source: Acetate-Fed Iron-Oxide-Like Bioanode Selection + target: Non-Geobacter EET Gene Repertoire + description: 'The same enrichments also recovered diverse non-Geobacter organisms with MHCs, candidate porin-cytochrome + complexes, and e-pili. + + ' + - source: Multiheme Geobacter Electrode Dominance + target: Candidate Porin-Cytochrome Complex Distribution + description: 'Geobacter genomes had the greatest number and diversity of candidate porin-cytochrome complex + porin types. + + ' + - source: Non-Geobacter EET Gene Repertoire + target: Candidate Porin-Cytochrome Complex Distribution + description: 'Acidobacteria, Betaproteobacteria, and Ignavibacteria were among the high-MHC genomes encoding + candidate porin-cytochrome complexes. + + ' + edges_after: + - &id012 + source: Acetate-Fed Iron-Oxide-Like Bioanode Selection + target: Multiheme Geobacter Electrode Dominance + description: 'PARTIAL: the acetate-fed electrode environment enriched a biofilm dominated by the novel Geobacter + population. The observed enrichment supports selection in this system, but does not establish competitive + exclusion, a single causal contribution of its MHC inventory or dominance throughout the natural aquifer.' + retained_edge_decisions: + - before: *id011 + after: *id012 + rationale: Existing direction retained with source-specific community or PARTIAL mediation limits. + removed_edge_decisions: + - source: Acetate-Fed Iron-Oxide-Like Bioanode Selection + target: Non-Geobacter EET Gene Repertoire + description: 'The same enrichments also recovered diverse non-Geobacter organisms with MHCs, candidate porin-cytochrome + complexes, and e-pili. + + ' + rationale: Analysis-order or candidate-inventory connection, not demonstrated ecological causation. + - source: Multiheme Geobacter Electrode Dominance + target: Candidate Porin-Cytochrome Complex Distribution + description: 'Geobacter genomes had the greatest number and diversity of candidate porin-cytochrome complex + porin types. + + ' + rationale: Analysis-order or candidate-inventory connection, not demonstrated ecological causation. + - source: Non-Geobacter EET Gene Repertoire + target: Candidate Porin-Cytochrome Complex Distribution + description: 'Acidobacteria, Betaproteobacteria, and Ignavibacteria were among the high-MHC genomes encoding + candidate porin-cytochrome complexes. + + ' + rationale: Analysis-order or candidate-inventory connection, not demonstrated ecological causation. + references: + - PMID:32849356 + issues: + - 1763 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Rifle_Aquifer_Bioanode_EET_Community/2026-10-07T165431Z-codex-59d672.yaml +adversarial_prepublication_fix: + issue: 1762 + participant_entries_narrowed: 7 + details: Remove copied taxon narratives and GTDB metadata from seven graph participant entries; retain only canonical + preferred_term and term identity. Prevent non-graph nitrogen-sharing, competitive-exclusion and pH claims from + re-entering repaired graph nodes. + initial_verification: Deliberately interrupted with SIGINT before completion after this diff finding; final gates + rerun from scratch. diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index fa9c44037..ce6e1aff8 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -340,10 +340,10 @@ kb/communities/Rhodopseudomonas_Ecoli_CrossFeeding_Coculture.yaml CommunityMech: kb/communities/Rhodopseudomonas_Geobacter_Magnetite_Redox_Coculture.yaml CommunityMech:000268 21ea769fcc97b50c66ad0fd3ba76cca647ae23fde4a34ce2b7d1aea81bc69378 4 5 90.0 reports/causal_graph_review/decisions/20261007-four-records-batch94.yaml reviewed kb/communities/Rice_Acid_Soil_Bioinoculant_SynCom.yaml CommunityMech:000109 c5ad3b426974ce6bb56386d0a624bbf325f9764a86afdd3b1f59989196033113 4 4 100.0 reports/causal_graph_review/decisions/20261007-four-records-batch94.yaml reviewed kb/communities/Rice_Duckweed_Bacillus_SynCom.yaml CommunityMech:000058 6d924ddcd1a9baf67a149de2d91aaeacafdd57113f5df61b97c5ec04e5e09a4e 3 2 90.0 reports/causal_graph_review/decisions/20261007-four-records-batch94.yaml reviewed -kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml CommunityMech:000419 be926207b3e99ec9dae97be3b8f0cac07462d7e3a9adcba2305a1efe481c5470 2 0 60.0 pending -kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml CommunityMech:000110 63b0b68299b50bb4320f5742dda52f4a3e12af8d0693a66870b5b1c3a08f0525 3 2 100.0 pending -kb/communities/Richmond_Mine_AMD_Biofilm.yaml CommunityMech:000059 07aa61256b6d27eefa38c3dfe3b04f80fe9eee68e7df75f07c91326e3e2e4291 7 3 100.0 pending -kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml CommunityMech:000241 03964cd4e83bdf4138ef0ff0555f59bbca7e25759830f1f67c67621a2f75e95f 6 4 100.0 pending +kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml CommunityMech:000419 be926207b3e99ec9dae97be3b8f0cac07462d7e3a9adcba2305a1efe481c5470 2 0 60.0 reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml reviewed +kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml CommunityMech:000110 9a5de564abd6e776d8f8eb5717c5d11d60cdf85a27414c0b58df620fae74dd9e 3 2 90.0 reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml reviewed +kb/communities/Richmond_Mine_AMD_Biofilm.yaml CommunityMech:000059 2e4f2eef58a26396f76ccedc7483735ea00ea52447f3af4a7469931326686b97 5 3 89.0 reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml reviewed +kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml CommunityMech:000241 9ebd0ac8d6b48fef67e67549627557ceb23347f0de930357ed73b185c666def3 2 1 72.5 reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml reviewed kb/communities/Rifle_Uranium_Reducing_Community.yaml CommunityMech:000060 621f953a7d85a49ab9e0b4a871a2cf0ad1a303f68347c2e73517a00fe32b6f92 6 4 100.0 pending kb/communities/Rumen_Substrate_Adapted_Lignocellulose_Enrichment_Consortia.yaml CommunityMech:000389 1e4dc21a5681e0c8c23a23f7f2c6cef4dd404d4109db8c29ed2af85b16faa798 3 1 90.0 pending kb/communities/SF356_Cellulose_Degrader.yaml CommunityMech:000061 7993353be18e383675a6c3e9c8b4b892d4e1cfa193f91d8019442aad8a7e0ba2 4 3 100.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index 7bb79981e..cd1399738 100644 --- a/reports/causal_graph_review/summary.json +++ b/reports/causal_graph_review/summary.json @@ -2,14 +2,14 @@ "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", "semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.", "records": 460, - "nodes": 1418, - "edges": 579, + "nodes": 1412, + "edges": 576, "records_without_nodes": 8, "records_without_edges": 174, "review_status_counts": { "needs_research": 48, - "pending": 120, - "reviewed": 292 + "pending": 116, + "reviewed": 296 }, "structural_defects": [], "network_audit": [ diff --git a/reports/causal_graph_review/validation-20261007-batch95.json b/reports/causal_graph_review/validation-20261007-batch95.json new file mode 100644 index 000000000..8f6db746e --- /dev/null +++ b/reports/causal_graph_review/validation-20261007-batch95.json @@ -0,0 +1,1318 @@ +{ + "base_commit": "1b174298d4f58dc3222bbb020db2fc3ac123b865", + "scope": [ + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml", + "kb/communities/Richmond_Mine_AMD_Biofilm.yaml", + "kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml" + ], + "results": [ + { + "check": "focused", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch95.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/focused.log", + "log_sha256": "cee9aa82bd0c93a711bff44814e723192ff20dac515fa7ab642fc7ea89673f20", + "output_tail": "........ [100%]\n8 passed in 3.53s\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_FSQN_Rhizosphere_Microbiome_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch95/Rice_FSQN_Rhizosphere_Microbiome_SynCom-strict.tsv", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_FSQN_Rhizosphere_Microbiome_SynCom-strict.log", + "log_sha256": "62691ab80f2c88753e2c5c7cf55af789be77bc2e69b30c3a5000696b5706c809", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch95/src/communitymech/schema/communitymech.yaml\n\n=== validate-strict summary ===\n files scanned: 1\n files with ERROR: 0\n total ERROR rows: 0\n TSV: /private/tmp/communitymech-batch95/Rice_FSQN_Rhizosphere_Microbiome_SynCom-strict.tsv\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_FSQN_Rhizosphere_Microbiome_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_FSQN_Rhizosphere_Microbiome_SynCom-references.log", + "log_sha256": "1008f2b47449c207099a8ed904e1e6cae83d455f6ed2c8ee092cf92f7838f928", + "output_tail": "Validating kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_FSQN_Rhizosphere_Microbiome_SynCom-snippets.log", + "log_sha256": "aec1f2712a64b5cd549f668dd69d5e1ab54d6d5693d8f53bbce26317b755b383", + "output_tail": "# 11 evidence snippets scanned across 1 files\n MATCH 11\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_FSQN_Rhizosphere_Microbiome_SynCom-rank.log", + "log_sha256": "935af1e58a5d4c670414770a13af085ef0b56bb5ecf58433802a33a23852c1fe", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000419\",\n \"name\": \"Rice FSQN Rhizosphere Microbiome SynCom\",\n \"score\": 60.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 2,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Rice_P_Uptake_Intercropping_SynCom4-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_P_Uptake_Intercropping_SynCom4-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rice_P_Uptake_Intercropping_SynCom4-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch95/Rice_P_Uptake_Intercropping_SynCom4-strict.tsv", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_P_Uptake_Intercropping_SynCom4-strict.log", + "log_sha256": "c6eb46e01c3d80a60c2348bbdda0cc7a2805c2def6b08fd4835327aca822b1a6", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch95/src/communitymech/schema/communitymech.yaml\n\n=== validate-strict summary ===\n files scanned: 1\n files with ERROR: 0\n total ERROR rows: 0\n TSV: /private/tmp/communitymech-batch95/Rice_P_Uptake_Intercropping_SynCom4-strict.tsv\n" + }, + { + "check": "Rice_P_Uptake_Intercropping_SynCom4-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_P_Uptake_Intercropping_SynCom4-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Rice_P_Uptake_Intercropping_SynCom4-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_P_Uptake_Intercropping_SynCom4-references.log", + "log_sha256": "0cd4d27443e777b2f4b4841ad4f2c9050566d066d5dc06dfaa97c2bd85acd639", + "output_tail": "Validating kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Rice_P_Uptake_Intercropping_SynCom4-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_P_Uptake_Intercropping_SynCom4-snippets.log", + "log_sha256": "872637a69e95b3997368edea80eba5db2a2155e0ac9344b758394dcf97491410", + "output_tail": "# 14 evidence snippets scanned across 1 files\n MATCH 14\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Rice_P_Uptake_Intercropping_SynCom4-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_P_Uptake_Intercropping_SynCom4-rank.log", + "log_sha256": "852c33777a6c27814bca53457ac1b54013708c1b4b159b8edec2ff02b06043ac", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000110\",\n \"name\": \"Rice Phosphorus Uptake Intercropping SynCom4\",\n \"score\": 90.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml\"\n }\n]\n" + }, + { + "check": "Rice_P_Uptake_Intercropping_SynCom4-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Rice_P_Uptake_Intercropping_SynCom4/2026-10-07T165430Z-codex-e897cd.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rice_P_Uptake_Intercropping_SynCom4-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Richmond_Mine_AMD_Biofilm-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Richmond_Mine_AMD_Biofilm.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Richmond_Mine_AMD_Biofilm-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Richmond_Mine_AMD_Biofilm-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch95/Richmond_Mine_AMD_Biofilm-strict.tsv", + "kb/communities/Richmond_Mine_AMD_Biofilm.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Richmond_Mine_AMD_Biofilm-strict.log", + "log_sha256": "ded226e8e0028d0232459e3b17b3dece3fcd2665f344bb574f182927a1c33830", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch95/src/communitymech/schema/communitymech.yaml\n\n=== validate-strict summary ===\n files scanned: 1\n files with ERROR: 0\n total ERROR rows: 0\n TSV: /private/tmp/communitymech-batch95/Richmond_Mine_AMD_Biofilm-strict.tsv\n" + }, + { + "check": "Richmond_Mine_AMD_Biofilm-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Richmond_Mine_AMD_Biofilm.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Richmond_Mine_AMD_Biofilm-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Richmond_Mine_AMD_Biofilm-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Richmond_Mine_AMD_Biofilm.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Richmond_Mine_AMD_Biofilm-references.log", + "log_sha256": "143202cc778e5ceced68029cdfd2b3723bb6245edd6194aacaec832df36435d6", + "output_tail": "Validating kb/communities/Richmond_Mine_AMD_Biofilm.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Richmond_Mine_AMD_Biofilm.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Richmond_Mine_AMD_Biofilm-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Richmond_Mine_AMD_Biofilm.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Richmond_Mine_AMD_Biofilm-snippets.log", + "log_sha256": "ca4d937539d7669b680f995e921c3ca9316767b2bb3ccfb9b49d873b5661c23d", + "output_tail": "# 41 evidence snippets scanned across 1 files\n MATCH 41\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Richmond_Mine_AMD_Biofilm-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Richmond_Mine_AMD_Biofilm.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Richmond_Mine_AMD_Biofilm-rank.log", + "log_sha256": "8293cefbe08291d2183807deb4cb01f64aa9ca31cf8adb0b143f80d4671c33a7", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000059\",\n \"name\": \"Richmond Mine AMD Biofilm\",\n \"score\": 89.0,\n \"taxonomy\": 6,\n \"connected_taxa\": 6,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 5,\n \"downstream_edges\": 3,\n \"interaction_evidence\": 8,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Richmond_Mine_AMD_Biofilm.yaml\"\n }\n]\n" + }, + { + "check": "Richmond_Mine_AMD_Biofilm-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T165430Z-codex-c2c481.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Richmond_Mine_AMD_Biofilm-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Richmond_Mine_AMD_Biofilm-history-1", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Richmond_Mine_AMD_Biofilm/2026-10-07T170109Z-codex-9aaed4.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Richmond_Mine_AMD_Biofilm-history-1.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rifle_Aquifer_Bioanode_EET_Community-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rifle_Aquifer_Bioanode_EET_Community-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rifle_Aquifer_Bioanode_EET_Community-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch95/Rifle_Aquifer_Bioanode_EET_Community-strict.tsv", + "kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rifle_Aquifer_Bioanode_EET_Community-strict.log", + "log_sha256": "204b03f22efef7fe7163285ef979379c59ce9f9c370088bb6966901852433422", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch95/src/communitymech/schema/communitymech.yaml\n\n=== validate-strict summary ===\n files scanned: 1\n files with ERROR: 0\n total ERROR rows: 0\n TSV: /private/tmp/communitymech-batch95/Rifle_Aquifer_Bioanode_EET_Community-strict.tsv\n" + }, + { + "check": "Rifle_Aquifer_Bioanode_EET_Community-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rifle_Aquifer_Bioanode_EET_Community-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Rifle_Aquifer_Bioanode_EET_Community-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rifle_Aquifer_Bioanode_EET_Community-references.log", + "log_sha256": "b0a7f8bb10e59b847fadedefeb4e2ff983da396138420e5eb20517910fa2e090", + "output_tail": "Validating kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Rifle_Aquifer_Bioanode_EET_Community-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rifle_Aquifer_Bioanode_EET_Community-snippets.log", + "log_sha256": "5f0e8a5be45b94195ee5599498c60e06ff8db089c85d0bf23969aa37351ca96e", + "output_tail": "# 17 evidence snippets scanned across 1 files\n MATCH 17\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Rifle_Aquifer_Bioanode_EET_Community-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rifle_Aquifer_Bioanode_EET_Community-rank.log", + "log_sha256": "139a231d8cc37aca49ce3d70219773489dad6f2c0f9d8ba6ab8f688be72ff21d", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000241\",\n \"name\": \"Rifle Aquifer Bioanode Extracellular Electron Transfer Community\",\n \"score\": 72.5,\n \"taxonomy\": 7,\n \"connected_taxa\": 7,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 2,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 2,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"additional_downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml\"\n }\n]\n" + }, + { + "check": "Rifle_Aquifer_Bioanode_EET_Community-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Rifle_Aquifer_Bioanode_EET_Community/2026-10-07T165431Z-codex-59d672.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/Rifle_Aquifer_Bioanode_EET_Community-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "inventory", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "reports/causal_graph_review/build_inventory.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/inventory.log", + "log_sha256": "466686bf0f862f2b6f6976485ac099f1fc5d44335b9e7f0c11dfdd7432b92b16", + "output_tail": "{\n \"scope\": \"Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.\",\n \"semantic_review_rule\": \"Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.\",\n \"records\": 460,\n \"nodes\": 1412,\n \"edges\": 576,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 174,\n \"review_status_counts\": {\n \"needs_research\": 48,\n \"pending\": 116,\n \"reviewed\": 296\n },\n \"structural_defects\": []\n}\n" + }, + { + "check": "network", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "communitymech.cli", + "audit-network", + "--json" + ], + "exit_code": 1, + "expected_exit_codes": [ + 1 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/network.log", + "log_sha256": "8febc2a966f5c2b51cd59095a8877c8773cd1e9383e5214bcdc3832c5858c097", + "output_tail": " \"total_genomes\": 17191,\n \"is_reclassified\": false,\n \"mapping_source\": \"kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)\"\n },\n \"notes\": \"The eLife panel denotes this P. aeruginosa mutant as strain 5; represented at species level for ontology stability.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"mexZ\"\n },\n \"abundance_value\": \"Full-factorial SynCom panel member 5\",\n \"evidence\": [\n {\n \"reference\": \"PMID:42153623\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Strains 1\\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ\",\n \"explanation\": \"Maps the source's strain numbers to the eight P. aeruginosa mutant labels.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas aeruginosa mexZ' has no interactions\"\n }\n ],\n \"Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom\": [\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Twelve-Strain SynCom Suppression of Sclerotinia Sclerotia\",\n \"interaction_index\": 0,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Trinickia MC Key Contribution to Sclerotia Mortality\",\n \"interaction_index\": 1,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Space_Habitat_SevenMember_Stress_Tolerance_SynCom\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Acinetobacter radioresistens 50V1\",\n \"taxon_id\": \"NCBITaxon:40216\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Acinetobacter radioresistens 50V1\",\n \"term\": {\n \"id\": \"NCBITaxon:40216\",\n \"label\": \"Acinetobacter radioresistens\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate came from the preflight Mars Odyssey Orbiter; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"50V1\",\n \"genome_accession\": \"GCA_002834555.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Acinetobacter radioresistens | 50V1 | Preflight Mars Odyssey Orbiter | \\u2013 | Mccoy et al., 2012 | GCA_002834555.1 | TSYB/TSYA | 37 \\u00b0C | 16\\u201318 h\",\n \"explanation\": \"Identifies A. radioresistens 50V1 as a consortium member and gives its spacecraft-associated source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Acinetobacter radioresistens 50V1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Micrococcus luteus W4-Al-K1\",\n \"taxon_id\": \"NCBITaxon:1270\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Micrococcus luteus W4-Al-K1\",\n \"term\": {\n \"id\": \"NCBITaxon:1270\",\n \"label\": \"Micrococcus luteus\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from an ISS aluminum-case touch array; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"W4-Al-K1\",\n \"genome_accession\": \"GCA_057816565.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Micrococcus luteus | W4-Al-K1 | ISS, Touch Array Aluminum Case | - | Kr\\u00e4mer et al., 2025 | GCA_057816565.1 | NB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies M. luteus W4-Al-K1 as a consortium member and gives its ISS source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Micrococcus luteus W4-Al-K1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"taxon_id\": \"NCBITaxon:64702\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"term\": {\n \"id\": \"NCBITaxon:64702\",\n \"label\": \"Propionibacterium cyclohexanicum\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. cyclohexanicum type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"TA-12T\",\n \"genome_accession\": \"GCA_900111365\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"16859\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Propionibacterium cyclohexanicum | TA-12 T | Spoilt Orange Juice | DSM 16859 T | Kusano et al., 1997 | GCA_900111365 | BHI, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies P. cyclohexanicum TA-12T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Propionibacterium cyclohexanicum TA-12T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas antarctica CMS 35T\",\n \"taxon_id\": \"NCBITaxon:219572\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas antarctica CMS 35T\",\n \"term\": {\n \"id\": \"NCBITaxon:219572\",\n \"label\": \"Pseudomonas antarctica\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. antarctica type strain as a biosafety-level-1 Pseudomonas surrogate.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"CMS 35T\",\n \"genome_accession\": \"GCA_010634845\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"15318\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pseudomonas antarctica | CMS 35 T | Antarctica | DSM 15318 T | Reddy et al., 2004 | GCA_010634845 | TSYB/TSYA | Ambient | 12\\u201316 h\",\n \"explanation\": \"Identifies P. antarctica CMS 35T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "check": "just-network-json", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_codes": [ + 2 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/just-network-json.log", + "log_sha256": "8595db43420d3f0a01c57acd6ad733a531a72e962486d20b4e1c2840dda55bff", + "output_tail": "uv run communitymech audit-network --json\nerror: Failed to spawn: `communitymech`\n Caused by: No such file or directory (os error 2)\nerror: recipe `audit-network-json` failed on line 574 with exit code 2\n" + }, + { + "check": "rank-all", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/rank-all.log", + "log_sha256": "59588eefd816f04a112061d7cda583da2076cdaa796c9f8932c54685cabeebe2", + "output_tail": "ities/Soybean_N_Fixation_sfSynCom.yaml\tCommunityMech:000064\tSoybean N-Fixation Simplified SynCom\t4\t4\t0\t3\t2\t3\t\t0\t0\n402\t100.0\tkb/communities/Sphingobium_Rhodococcus_Lignin_Dimer_Valorization_Coculture.yaml\tCommunityMech:000267\tSphingobium-Rhodococcus Lignin-Dimer Valorization Coculture\t2\t2\t0\t3\t2\t7\t\t0\t0\n403\t100.0\tkb/communities/Staphylococcus_Candida_Context_Dependent_Biofilm_Coculture.yaml\tCommunityMech:000326\tStaphylococcus-Candida Context-Dependent Biofilm Coculture\t2\t2\t0\t6\t2\t13\t\t0\t0\n404\t100.0\tkb/communities/Stordalen_Mire_Methylotrophic_Methanogenesis_Community.yaml\tCommunityMech:000254\tStordalen Mire Methylotrophic Methanogenesis Community\t3\t3\t0\t4\t4\t9\t\t0\t0\n405\t100.0\tkb/communities/Streptomyces_A2_A5_A11_M7_Pesticide_Consortium.yaml\tCommunityMech:000335\tStreptomyces A2-A5-A11-M7 Pesticide-Bioremediation Consortium\t4\t4\t0\t4\t2\t5\t\t0\t0\n406\t100.0\tkb/communities/Subsurface_Carboxydocella_CO_Aquifer_Community.yaml\tCommunityMech:000251\tSubsurface Carboxydocella CO-Oxidation Aquifer Community\t1\t1\t0\t5\t2\t5\t\t0\t0\n407\t100.0\tkb/communities/Suillus_Bacillus_Thiamine_Ectomycorrhizal_SynCom.yaml\tCommunityMech:000312\tSuillus clintonianus-Bacillus altitudinis Thiamine Cross-Feeding SynCom\t3\t3\t0\t4\t3\t4\t\t0\t0\n408\t100.0\tkb/communities/Sulfide_Spring_Autotrophic_CPR_Biofilm.yaml\tCommunityMech:000222\tSulfide Spring Autotrophic CPR-Hosting Biofilm\t3\t3\t0\t3\t2\t4\t\t0\t0\n409\t100.0\tkb/communities/SynComBac10_Chicken_Intestinal_SynCom.yaml\tCommunityMech:000127\tSynComBac10 Chicken Intestinal SynCom\t3\t3\t0\t3\t2\t3\t\t0\t0\n410\t100.0\tkb/communities/SynCom_ARC_Peanut_Aflatoxin_Nodulation.yaml\tCommunityMech:000314\tSynCom ARC Peanut Aflatoxin-Control and Nodulation-Coupling Community\t5\t5\t0\t3\t2\t3\t\t0\t0\n411\t100.0\tkb/communities/SynCom_BsBv_Cigar_Tobacco_Leaf_Fermentation.yaml\tCommunityMech:000278\tSynCom BsBv Cigar Tobacco Leaf Fermentation\t2\t2\t0\t3\t2\t3\t\t0\t0\n412\t100.0\tkb/communities/SynCom_Chlorella_sorokiniana_Biogas_Slurry_Coupling_System.yaml\tCommunityMech:000285\tSynCom + Chlorella sorokiniana Biogas-slurry Coupling System\t2\t2\t0\t5\t3\t5\t\t0\t0\n413\t100.0\tkb/communities/SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.yaml\tCommunityMech:000302\tSynCom MetG2 Rhizobacteria Sugarcane Stress Resilience\t2\t2\t0\t3\t2\t4\t\t0\t0\n414\t100.0\tkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml\tCommunityMech:000283\tSesame-flavor Baijiu Fuqu SynCom (13-genus)\t13\t13\t0\t3\t2\t3\t\t0\t0\n415\t100.0\tkb/communities/SynCom_Y_Agrobacterium_Bacillus_Biofilm_Biocontrol_Coculture.yaml\tCommunityMech:000272\tSynCom Y Agrobacterium-Bacillus Biofilm Biocontrol Co-culture\t2\t2\t0\t4\t2\t6\t\t0\t0\n416\t100.0\tkb/communities/Synechococcus_Azotobacter_Photoproduction_Mutualism.yaml\tCommunityMech:000207\tSynechococcus-Azotobacter Photoproduction Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n417\t100.0\tkb/communities/Synechococcus_Bacillus_SPC.yaml\tCommunityMech:000065\tSynechococcus-Bacillus Synthetic Photosynthetic Consortium\t2\t2\t0\t3\t2\t4\t\t0\t0\n418\t100.0\tkb/communities/Synechococcus_Ecoli_SPC.yaml\tCommunityMech:000066\tSynechococcus-E.coli Synthetic Photosynthetic Consortium\t2\t2\t0\t3\t2\t4\t\t0\t0\n419\t100.0\tkb/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml\tCommunityMech:000198\tSynechococcus-Halomonas Light-Driven PHB Coculture\t2\t2\t0\t3\t2\t6\t\t0\t0\n420\t100.0\tkb/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml\tCommunityMech:000167\tSynechococcus-Pseudomonas Phototrophic PHA and DNT Coculture\t2\t2\t0\t4\t2\t8\t\t0\t0\n421\t100.0\tkb/communities/Synechococcus_Saccharomyces_SPC.yaml\tCommunityMech:000067\tSynechococcus-Saccharomyces Synthetic Photosynthetic Consortium\t2\t2\t0\t3\t2\t4\t\t0\t0\n422\t100.0\tkb/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml\tCommunityMech:000211\tSynechococcus-Shewanella D-Lactate Biophotovoltaic Consortium\t2\t2\t0\t3\t2\t6\t\t0\t0\n423\t100.0\tkb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml\tCommunityMech:000149\tSynthetic Lichen Synechococcus-Rhodotorula Coculture\t2\t2\t0\t3\t2\t4\t\t0\t0\n424\t100.0\tkb/communities/Syntrophobacter_Methanobacterium_Syntrophy.yaml\tCommunityMech:000068\tSyntrophobacter-Methanobacterium Syntrophic Consortium\t2\t2\t0\t3\t3\t8\t\t0\t0\n425\t100.0\tkb/communities/Syntrophobacter_Methanospirillum_Syntrophy.yaml\tCommunityMech:000069\tSyntrophobacter-Methanospirillum Syntrophic Consortium\t2\t2\t0\t3\t3\t5\t\t0\t0\n426\t100.0\tkb/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml\tCommunityMech:000189\tSyntrophomonas-Methanococcus Butyrate Growth Coordination Coculture\t2\t2\t0\t3\t2\t6\t\t0\t0\n427\t100.0\tkb/communities/Syntrophomonas_Methanospirillum_Syntrophy.yaml\tCommunityMech:000070\tSyntrophomonas-Methanospirillum Syntrophic Consortium\t2\t2\t0\t3\t3\t7\t\t0\t0\n428\t100.0\tkb/communities/Syntrophus_Benzoate_Degrader.yaml\tCommunityMech:000071\tSyntrophus Benzoate Degrader\t2\t2\t0\t3\t2\t6\t\t0\t0\n429\t100.0\tkb/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml\tCommunityMech:000187\tSyntrophus-Methanospirillum Gentianae Benzoate Coculture\t2\t2\t0\t3\t2\t7\t\t0\t0\n430\t100.0\tkb/communities/THOR_Rhizosphere_Model_Community.yaml\tCommunityMech:000079\tTHOR Rhizosphere Model Community\t3\t3\t0\t4\t2\t5\t\t0\t0\n431\t100.0\tkb/communities/TYQ1_Nematode_Biocontrol_SynCom.yaml\tCommunityMech:000072\tTYQ1 Nematode Biocontrol SynCom\t8\t8\t0\t4\t4\t4\t\t0\t0\n432\t100.0\tkb/communities/Teosinte_Maize_Biofertilizer_SynCom7.yaml\tCommunityMech:000100\tTeosinte-Derived Maize Biofertilizer SynCom7\t4\t4\t0\t6\t2\t12\t\t0\t0\n433\t100.0\tkb/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml\tCommunityMech:000259\tThalassiosira-Marinobacter Marine Snow Coculture\t2\t2\t0\t4\t2\t10\t\t0\t0\n434\t100.0\tkb/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml\tCommunityMech:000162\tThalassiosira-Ruegeria Phycosphere Coculture\t2\t2\t0\t3\t2\t4\t\t0\t0\n435\t100.0\tkb/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml\tCommunityMech:000182\tThermacetogenium-Methanothermobacter Acetate Oxidation Coculture\t2\t2\t0\t3\t2\t8\t\t0\t0\n436\t100.0\tkb/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml\tCommunityMech:000282\tThermophilic Lignocellulose-degrading Composting SynCom\t5\t5\t0\t3\t2\t3\t\t0\t0\n437\t100.0\tkb/communities/Thermophilic_Pyrite_QS_Consortium.yaml\tCommunityMech:000073\tThermophilic Pyrite Quorum Sensing Consortium\t3\t3\t0\t6\t2\t14\t\t0\t0\n438\t100.0\tkb/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml\tCommunityMech:000186\tThermotoga-Methanocaldococcus Hyperthermophilic Syntrophy\t2\t2\t0\t3\t2\t8\t\t0\t0\n439\t100.0\tkb/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml\tCommunityMech:000239\tThiocyanate-Degrading Afipia and Thiobacillus Bioreactor Community\t3\t3\t0\t3\t2\t3\t\t0\t0\n440\t100.0\tkb/communities/Tinto_River_Iron_Cycling_Community.yaml\tCommunityMech:000074\tTinto River Iron Cycling Community\t6\t6\t0\t5\t3\t6\t\t0\t0\n441\t100.0\tkb/communities/Tobacco_Chemotactic_Biocontrol_SynCom.yaml\tCommunityMech:000106\tTobacco Chemotactic Biocontrol SynCom\t2\t2\t0\t3\t2\t4\t\t0\t0\n442\t100.0\tkb/communities/Tomato_Oxylipin_SynCom3.yaml\tCommunityMech:000107\tTomato Oxylipin-Protective SynCom3\t3\t3\t0\t3\t2\t4\t\t0\t0\n443\t100.0\tkb/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml\tCommunityMech:000112\tTribromophenol Anaerobic Bioremediation SynCom\t3\t3\t0\t4\t3\t5\t\t0\t0\n444\t100.0\tkb/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml\tCommunityMech:000188\tTrichococcus-Syntrophomonas-Methanospirillum Butyrate Coculture\t3\t3\t0\t3\t2\t6\t\t0\t0\n445\t100.0\tkb/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml\tCommunityMech:000205\tTrichoderma-E. coli Cellulosic Isobutanol Coculture\t2\t2\t0\t3\t2\t5\t\t0\t0\n446\t100.0\tkb/communities/Trichoderma_Lactate_Platform.yaml\tCommunityMech:000075\tTrichoderma Lactate Platform for SCFA Production\t3\t3\t0\t3\t2\t3\t\t0\t0\n447\t100.0\tkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml\tCommunityMech:000270\tTrichoderma-Streptomyces Filamentous Cellulose Coculture\t2\t2\t0\t3\t2\t7\t\t0\t0\n448\t100.0\tkb/communities/Trichodesmium_Alteromonas_Marine_Consortium.yaml\tCommunityMech:000147\tTrichodesmium-Alteromonas Marine Consortium\t3\t3\t0\t3\t2\t5\t\t0\t0\n449\t100.0\tkb/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml\tCommunityMech:000337\tTropidoatractus magnetotacticus Magnetotactic Ciliate Tripartite Syntrophy\t3\t3\t0\t4\t2\t9\t\t0\t0\n450\t100.0\tkb/communities/Urine_Nitrification_SynCom.yaml\tCommunityMech:000117\tUrine Nitrification Synthetic Microbial Community\t5\t5\t0\t3\t2\t5\t\t0\t0\n451\t100.0\tkb/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml\tCommunityMech:000213\tVariovorax-Cryptococcus Vitamin Cross-Feeding Microcosm\t2\t2\t0\t3\t2\t4\t\t0\t0\n452\t100.0\tkb/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml\tCommunityMech:000328\tWaste-Sludge Electro-Fermentation Biofilm-Suspension Community\t5\t5\t0\t4\t2\t6\t\t0\t0\n453\t100.0\tkb/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.yaml\tCommunityMech:000098\tWatermelon Rhizosphere Fusarium-Protective SynCom8\t2\t2\t0\t3\t2\t7\t\t0\t0\n454\t100.0\tkb/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml\tCommunityMech:000255\tWetland Oxygen-Sulfate Greenhouse Gas Microcosm Community\t3\t3\t0\t3\t2\t6\t\t0\t0\n455\t100.0\tkb/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.yaml\tCommunityMech:000118\tWheat Straw Biogas Pretreatment SynCom\t4\t4\t0\t3\t2\t4\t\t0\t0\n456\t100.0\tkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml\tCommunityMech:000354\tYarrowia lipolytica Division-of-Labor Lipid Consortium\t2\t2\t0\t3\t2\t3\t\t0\t0\n457\t100.0\tkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml\tCommunityMech:000164\tYogurt Two-Species Starter Culture\t2\t2\t0\t4\t2\t9\t\t0\t0\n458\t100.0\tkb/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml\tCommunityMech:000210\tZymomonas-E. coli Exometabolomics-Designed Obligate Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n459\t100.0\tkb/communities/hCom2_Complex_Gut_Microbiome.yaml\tCommunityMech:000123\thCom2 Complex Gut Microbiome\t1\t1\t0\t3\t2\t3\t\t0\t0\n460\t100.0\tkb/communities/mCAFEs_Brachypodium_RCC.yaml\tCommunityMech:000078\tm-CAFEs Brachypodium Reduced Complexity Consortia\t10\t10\t0\t6\t2\t11\t\t0\t0\nPYTHONPATH=src uv run python scripts/rank_causal_graph_readiness.py \n" + }, + { + "check": "render", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "communitymech.render" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/render.log", + "log_sha256": "0ff0bcaec8bf1baacc43f00106a710c3011e285756943de7ceecb45156917e6c", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch95/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch95/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch95/docs/index.html\n" + }, + { + "check": "render-repeat", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "communitymech.render" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/render-repeat.log", + "log_sha256": "0ff0bcaec8bf1baacc43f00106a710c3011e285756943de7ceecb45156917e6c", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch95/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch95/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch95/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch95/docs/index.html\n" + }, + { + "check": "connectivity-survey", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-c", + "import json,pathlib,runpy\nfn=runpy.run_path('tests/test_community_level_connectivity_credit.py')['_survey']\nresult={}\nfor name,root in [('baseline',pathlib.Path('/private/tmp/communitymech-causal-batch94')),('current',pathlib.Path.cwd())]:\n paths=sorted(p for r in ['kb/communities','data/isolates'] for p in (root/r).rglob('*.yaml'))\n assert len(paths)==460\n fn.__globals__['record_files']=lambda:paths\n result[name]=fn()\nprint(json.dumps(result))\n" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/connectivity-survey.log", + "log_sha256": "02941670a8eeb3eb8787632c6350fb6d44d3a51420811da03b6252055cf2cbbe", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 397, \"mixed\": 125, \"community_level_only\": 272, \"taxa\": 1525, \"credited_solely_by_the_rule\": 1253}, \"current\": {\"records\": 460, \"with_community_level\": 398, \"mixed\": 125, \"community_level_only\": 273, \"taxa\": 1531, \"credited_solely_by_the_rule\": 1259}}\n" + }, + { + "check": "regressions", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch10.py", + "tests/test_causal_review_batch11.py", + "tests/test_causal_review_batch12.py", + "tests/test_causal_review_batch13.py", + "tests/test_causal_review_batch14.py", + "tests/test_causal_review_batch15.py", + "tests/test_causal_review_batch16.py", + "tests/test_causal_review_batch17.py", + "tests/test_causal_review_batch18.py", + "tests/test_causal_review_batch19.py", + "tests/test_causal_review_batch20.py", + "tests/test_causal_review_batch21.py", + "tests/test_causal_review_batch22.py", + "tests/test_causal_review_batch23.py", + "tests/test_causal_review_batch24.py", + "tests/test_causal_review_batch25.py", + "tests/test_causal_review_batch27.py", + "tests/test_causal_review_batch28.py", + "tests/test_causal_review_batch29.py", + "tests/test_causal_review_batch30.py", + "tests/test_causal_review_batch31.py", + "tests/test_causal_review_batch32.py", + "tests/test_causal_review_batch33.py", + "tests/test_causal_review_batch34.py", + "tests/test_causal_review_batch35.py", + "tests/test_causal_review_batch36.py", + "tests/test_causal_review_batch37.py", + "tests/test_causal_review_batch38.py", + "tests/test_causal_review_batch39.py", + "tests/test_causal_review_batch40.py", + "tests/test_causal_review_batch41.py", + "tests/test_causal_review_batch42.py", + "tests/test_causal_review_batch43.py", + "tests/test_causal_review_batch44.py", + "tests/test_causal_review_batch45.py", + "tests/test_causal_review_batch46.py", + "tests/test_causal_review_batch47.py", + "tests/test_causal_review_batch48.py", + "tests/test_causal_review_batch49.py", + "tests/test_causal_review_batch5.py", + "tests/test_causal_review_batch50.py", + "tests/test_causal_review_batch51.py", + "tests/test_causal_review_batch52.py", + "tests/test_causal_review_batch53.py", + "tests/test_causal_review_batch54.py", + "tests/test_causal_review_batch55.py", + "tests/test_causal_review_batch56.py", + "tests/test_causal_review_batch57.py", + "tests/test_causal_review_batch58.py", + "tests/test_causal_review_batch59.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch60.py", + "tests/test_causal_review_batch61.py", + "tests/test_causal_review_batch62.py", + "tests/test_causal_review_batch63.py", + "tests/test_causal_review_batch64.py", + "tests/test_causal_review_batch65.py", + "tests/test_causal_review_batch66.py", + "tests/test_causal_review_batch67.py", + "tests/test_causal_review_batch68.py", + "tests/test_causal_review_batch69.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch70.py", + "tests/test_causal_review_batch71.py", + "tests/test_causal_review_batch72.py", + "tests/test_causal_review_batch73.py", + "tests/test_causal_review_batch74.py", + "tests/test_causal_review_batch75.py", + "tests/test_causal_review_batch76.py", + "tests/test_causal_review_batch77.py", + "tests/test_causal_review_batch78.py", + "tests/test_causal_review_batch79.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch80.py", + "tests/test_causal_review_batch81.py", + "tests/test_causal_review_batch82.py", + "tests/test_causal_review_batch83.py", + "tests/test_causal_review_batch84.py", + "tests/test_causal_review_batch85.py", + "tests/test_causal_review_batch86.py", + "tests/test_causal_review_batch87.py", + "tests/test_causal_review_batch88.py", + "tests/test_causal_review_batch89.py", + "tests/test_causal_review_batch9.py", + "tests/test_causal_review_batch90.py", + "tests/test_causal_review_batch91.py", + "tests/test_causal_review_batch92.py", + "tests/test_causal_review_batch93.py", + "tests/test_causal_review_batch94.py", + "tests/test_causal_review_batch95.py", + "tests/test_site_audit_fixes.py", + "tests/test_causal_review_inventory.py", + "tests/test_rank_causal_graph_readiness.py", + "tests/test_network_auditor.py", + "tests/test_participating_taxa.py", + "tests/test_causal_descriptions_are_published.py", + "tests/test_published_pages_name_real_records.py", + "tests/test_reference_validator_actually_validates.py", + "tests/test_snippet_audit_artefact_classes.py", + "tests/test_reference_error_annotation.py", + "tests/test_community_level_connectivity_credit.py", + "tests/test_no_paywalled_text_in_repo.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/regressions.log", + "log_sha256": "57ebadb53888b0b641b828e86d0ce2ba8171f67e61a491e347a2570df4b01162", + "output_tail": "........................................................................ [ 8%]\n........................................................................ [ 16%]\n........................................................................ [ 24%]\n........................................................................ [ 33%]\n........................................................................ [ 41%]\n........................................................................ [ 49%]\n........................................................................ [ 57%]\n........................................................................ [ 66%]\n........................................................................ [ 74%]\n........................................................................ [ 82%]\n........................................................................ [ 90%]\n........................................................................ [ 99%]\n........ [100%]\n872 passed in 505.26s (0:08:25)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch95.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/black.log", + "log_sha256": "b9cf511501d306d2bd8355ccb165c8ddc0a6fdd62d7c72c4a7b1795cf8934c8c", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n2 files would be left unchanged.\n" + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch95.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/ruff.log", + "log_sha256": "82b3e6a6c090a57601d22943bd23fca9218d1031dbe5a7b754092f9a156b4f18", + "output_tail": "All checks passed!\n" + }, + { + "check": "audit-snippets-all", + "command": [ + "just", + "audit-snippets" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/audit-snippets-all.log", + "log_sha256": "0b32170347bbdbf37dc677faebcdb1a1857bc643ec57f11bdfc9e0a8ad584fe4", + "output_tail": "# 8931 evidence snippets scanned across 460 files\n MATCH 8796\n RENDERING 20\n ASSEMBLED 1\n WEAK 0\n MISMATCH 38\n NOCONTENT 76\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n 19 (19 hard) kb/communities/DCPP_DBS4_DCP4_DCP11d_Degradation_SynCom.yaml\n 15 (15 hard) kb/communities/Fucoidan_Seven_Degrader_Combinatorial_SynCom.yaml\n 3 (3 hard) kb/communities/Coscinodiscus_Synthetic_Community.yaml\n 1 (1 hard) kb/communities/Altered_Schaedler_Flora_Gnotobiotic_Mouse_Community.yaml\nuv run python scripts/evidence_snippet_audit.py \n" + }, + { + "check": "diff-check", + "command": [ + "git", + "diff", + "--check" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/verification-final/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + }, + { + "check": "focused-final", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch95.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/focused-final.log", + "log_sha256": "d3c4b982d4d6e6222edb6a0b21b772d4e3e8ef9112a53633634e49c13cb9ceb9", + "output_tail": "........ [100%]\n8 passed in 2.53s\n" + } + ], + "limitations": [ + "Four whole records and all18originalnodes/9arrows reviewed.12nodes and6existingdirections remain,6nodes and3analysis-order arrows removed;1node renamed.3records changed,FSQN unchanged. No new topology or Edison dryrun/submission/spend.", + "FSQN primary abstract freshly read and matched; publisher page inaccessible. Existing explicit computational-guild scope and absent mediation edge are appropriate. No complete main text or new mechanism certified.", + "Rice phosphorus and Rifle complete fresh main text through Conclusions, including embedded captions, read. No supplement/raw-data/figure-pixel review. Rice field and pot outcomes remain distinct; Rifle candidate genomic evidence does not demonstrate community exchange or universal EET.", + "Richmond geochemical primary abstract, Introduction, Results, community discussion/site-flux section, pyrite-pathway discussion, geochemical-community section and Conclusions read (extracted lines1-191,371-533,697-807,855-933). Remaining methods/geochemical modeling and figure pixels not reviewed. Five other Richmond primary abstracts freshly read after EuropePMC XML HTTP500 failures. PMC challenge not bypassed.", + "Ferroplasma background review abstract read, not used as exact-system graph evidence. Acidithiobacillus reference-genome and Parvarchaeota genomic full texts retrieved but not read as primary functional proof for these nodes. Retrieval is not review; no new cache or copyrighted full text published.", + "Graph nitrogen-sharing and duplicate subgroup-contact assertions removed without denying positive diazotrophic capacity or generic contact. SYNTROPHY does not require obligacy, but the relevant metabolic feedback is unresolved. Contact participants unspecified: legacy community-connectivity credit is not evidence for every canonical member. Canonical taxonomy labels/IDs and non-graph raw blocks preserved, not recertified.", + "All923baselinecaches and457unchangedrecords preserved.4append-only histories. Local dedup includes ignored/hidden files, excluding.git/docs/site/references_cache; relevant caches separately inspected. All-state issue titles/bodies refreshed;1716/451/445/443/401/396 read, distinct. Comments/PRs not exhaustive. Repair1761-1763 close only after protected-main merge;1764 remains open.", + "Self-adversarial review is not independent approval or corpus completion. Existing loader1703 and DOI-cache casing1091 remain. Denied/pending Edison scopes unchanged. Validation and publication are not preasserted." + ], + "reference_validator_version": "0.1.7", + "snippet_counts_by_record": { + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml": { + "MATCH": 11, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml": { + "MATCH": 14, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Richmond_Mine_AMD_Biofilm.yaml": { + "MATCH": 41, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml": { + "MATCH": 17, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "unchanged_record_files": 457, + "unchanged_cache_files": 923, + "unchanged_raw_blocks": 64, + "cache_changes": [], + "edison": { + "required_for_this_repair": false, + "required_for_unresolved_extensions": false, + "provider_submissions": 0, + "credits_spent": 0, + "dry_runs": [], + "repair_scope": "Bound existing nodes/directions and remove unsupported transfer/duplicate/inventory nodes; no new topology. Unresolved gaps are recorded, not extended." + }, + "primary_artifacts": { + "/private/tmp/communitymech-batch95/baseline.json": "7e1dae2cdbb83ef9e7326b39582136af4d206ab2140445bcb23b1e36831a73c0", + "/private/tmp/communitymech-batch95/dedup-local-current.txt": "94eedb671c93e2c7a539c10efb07fe1e3b4a7fde57f53a2f31886132d724cb12", + "/private/tmp/communitymech-batch95/ferro-review-metadata.json": "e62b9bffc7fb68ab30f4a2b4cbcddf343b1f045e2065332877df51e13592803f", + "/private/tmp/communitymech-batch95/ferro-review-primary.txt": "a46ffe2d9d3d1f8e4d2499a4261df338cc85ab3fa4533198a790e00164e72ac2", + "/private/tmp/communitymech-batch95/fsqn-metadata.json": "3baa64b78d7012016e5cc9882a771f4bb850d23f0c5eb5d2bc96a2240adbaafd", + "/private/tmp/communitymech-batch95/fsqn-primary.txt": "e82abfd76b2bbd9a0cb61ebec38336c628ff204c584496838d7589f8e2c79c17", + "/private/tmp/communitymech-batch95/issue-dedup-current.json": "3efdd32530d2cf928c36b2b9f6439ddbdf169d07a625a8bd9ea5636ad1dc4985", + "/private/tmp/communitymech-batch95/parva-metadata.json": "a6b29da1d34389a240202855e767b78ed2e18238c78b155d5dd581aa077150fd", + "/private/tmp/communitymech-batch95/parva-primary.txt": "d8e1c7cc3b189ad9ff1858f75098959ac89723ad2a22b6119720959dd8d5f4ba", + "/private/tmp/communitymech-batch95/parva-primary.xml": "6dc358c2a53c4abceb21bd174f48712ae13aa38af6398a3e7dd1c3064b744713", + "/private/tmp/communitymech-batch95/primary-manifest.json": "231df780554a26e362e6c8db35653988812a004336228184358b3dca4d66c119", + "/private/tmp/communitymech-batch95/ricep-metadata.json": "f6e8158f615728067ed18be3a70a38956c8820407e765bd9c3bea961f5d2c6d2", + "/private/tmp/communitymech-batch95/ricep-primary.txt": "5dd0c14471182fb042c0a1175036d933ca40f7d28c0e3ec30dc1b7f785349b9b", + "/private/tmp/communitymech-batch95/ricep-primary.xml": "44517d833ab4d74b87c5e2b78b4675c32e661ca2e544bff8ae9b6f32a6e65a84", + "/private/tmp/communitymech-batch95/rich-acido-metadata.json": "ddf1835ca4f9cd7bbe4db6f68d8391eee6fb3779735612f234bd14bfc6f715d2", + "/private/tmp/communitymech-batch95/rich-acido-primary.txt": "f3b3deceae44b168aaee40605bd4861e9c4024a3c37ef54e3bcbf2bf41119d13", + "/private/tmp/communitymech-batch95/rich-acido-primary.xml": "276b253875a09812c7a3ae3f132742e01fcfed7f7a35bb780571c8f580b38376", + "/private/tmp/communitymech-batch95/rich-arman-metadata.json": "5d6c7b131b6659a56782573b5afe231b795774ae71c81a34c9763a422bc21c1a", + "/private/tmp/communitymech-batch95/rich-arman-primary.txt": "afa417ab4a73e0b46052bcc0a9419c8ebdb3ba88d6e9c83407f4e091d446d3ae", + "/private/tmp/communitymech-batch95/rich-ferro-metadata.json": "7bb9b30570f13d11265469699c0826828393b7589f9d2b509aa6222ff6498c98", + "/private/tmp/communitymech-batch95/rich-ferro-primary.txt": "eff2ac6e9389590230bae7bfe9d8a678fe006537863a209d998486e1e9fb553d", + "/private/tmp/communitymech-batch95/rich-geochem-metadata.json": "8df4688689762242048e3c879db234f39196b5beb6473538e217c0f8d2750d62", + "/private/tmp/communitymech-batch95/rich-geochem-primary.txt": "bbaeff98d04d1bbd41d3c8d2cf6c8d8af31bf1cd912e4a7e6933c95fe6fbcfad", + "/private/tmp/communitymech-batch95/rich-geochem-primary.xml": "f9fe1d115f5273ac38357ff06ab355f09fb8972b52d376c5c8e2d68f2cbe958a", + "/private/tmp/communitymech-batch95/rich-nif-metadata.json": "69e33f5c92cbc88068a27d7fd97f230a9b530b4b52f5c83b1b8fa829a020c035", + "/private/tmp/communitymech-batch95/rich-nif-primary.txt": "62d9cc5fe1d7c65cf5c93ad3a496122b6ca4d60af6b08830c46e3d74b0511072", + "/private/tmp/communitymech-batch95/rich-proteome-metadata.json": "28500b36675f39d4ed72bd2623807a83172a56460769604c5304a28d244b669c", + "/private/tmp/communitymech-batch95/rich-proteome-primary.txt": "910e79b3b2020bb5b693a6f7b22a8403bc3b2551c93e8c4dd4ac5a0cdbdd616a", + "/private/tmp/communitymech-batch95/rich-slime-metadata.json": "a9b5bb6cec39a2afb1ba01b30229638d3d41641950a206985f20c7fd16646fd3", + "/private/tmp/communitymech-batch95/rich-slime-primary.txt": "fa2d93e93fe500ec000e02af29b2f8fc0d1b18e5982f5f08ca6f7576b8ffd2b6", + "/private/tmp/communitymech-batch95/rifle-metadata.json": "1c5b918e730ac373b3af3b894d7235e8dfad624c2919901c01ae6dec2a4ab836", + "/private/tmp/communitymech-batch95/rifle-primary.txt": "5bacf714f86ef5947113768191c1858de2368e2bbc6853e61dd72b368bdcfafd", + "/private/tmp/communitymech-batch95/rifle-primary.xml": "b721dfd8c8b90ae5b0a0a5604659dc1f9cc95827a4ff86806e2ba4eded3179a8", + "references_cache/PMID_15066799.txt": "b261bd0ce43dabbfab25dea292b44c51fab5b5def24c9536fc0e9c9de9af3ce3", + "references_cache/PMID_16204553.txt": "ab61348fbe883a0bf45999a650c545cc6c1036324dee4a079f8535f8812a8b0f", + "references_cache/PMID_19429552.md": "cae8763bc41d46dba48e04e80a3d047723fbb43719f323cd508f451bbc9543d0", + "references_cache/PMID_20421484.md": "86403c0313ce9044d81be7bc7a88cbe0bc1f94695bb947a7eeea8c0fc461f852", + "references_cache/PMID_32849356.md": "e485eb5d1c0799df22d1ea957cb4b852ff3ebd6d948c1fddaf142f46f9166285", + "references_cache/PMID_39684532.txt": "f5de158c3730aa096148f2e46b5dd8532589be0efcf8ebd9b7c799d48e9994d8", + "references_cache/PMID_42596554.txt": "ae947107b038bbbf9652351f360cb09e9d5301f94cf3dd1f54daca82c1a9e500", + "references_cache/doi_10.1186_1467-4866-5-13.md": "6a58e85b212b29496373b59969cbf084df66edfcf1dc70d61ad954ee75189e13", + "/private/tmp/communitymech-batch95/validation-interrupted.json": "192ff46b4381a00c13f60fb17febf71063066e697c53122ca4679cb2ed22ca5e" + }, + "immutable_prior_history_and_decision_files": 757, + "primary_graph_snippet_proof": { + "graph_quotations": 16, + "new_discussion_quotations": 5, + "fresh_primary_matches": 21, + "retained_nodes": 12, + "removed_nodes": 6, + "retained_arrows": 6, + "removed_arrows": 3, + "new_nodes_or_directions": 0, + "scope": "Two complete primary main texts, selected Richmond geochemical sections and fresh primary abstracts read. All quotations matched; not automatic entailment or figure-pixel certification." + }, + "network_delta": { + "existing_findings_preserved": 56, + "added_findings": {}, + "removed_findings": {}, + "interpretation": "Six unsupported transfer/duplicate/inventory nodes and three analysis-order arrows removed;12nodes6directions retained. All56warnings unchanged,zero structural defects." + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1398, + "arrows": 568 + }, + "render_scope": "Deterministic rendering and exact HTML-description parser, not browser screenshots; postcommit docs-current separately required.", + "participant_census": { + "measurements": { + "baseline": { + "records": 460, + "with_community_level": 397, + "mixed": 125, + "community_level_only": 272, + "taxa": 1525, + "credited_solely_by_the_rule": 1253 + }, + "current": { + "records": 460, + "with_community_level": 398, + "mixed": 125, + "community_level_only": 273, + "taxa": 1531, + "credited_solely_by_the_rule": 1259 + } + }, + "delta": { + "records": 0, + "with_community_level": 1, + "mixed": 0, + "community_level_only": 1, + "taxa": 6, + "credited_solely_by_the_rule": 6 + }, + "interpretation": "Richmond mineral processes are now community-scoped with supported canonical participants; generic contact participants remain unspecified. Legacy connectivity is not proof of any ecological mechanism or added membership." + }, + "full_corpus_snippet_counts": { + "records": 460, + "total": 8931, + "categories": { + "MATCH": 8796, + "RENDERING": 20, + "ASSEMBLED": 1, + "WEAK": 0, + "MISMATCH": 38, + "NOCONTENT": 76 + } + }, + "full_corpus_snippet_audit_caveat": "Both-root informational audit exit0 is not clean-corpus certification; literal matches are not entailment.", + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1412, + "edges": 576, + "records_without_nodes": 8, + "records_without_edges": 174, + "review_status_counts": { + "needs_research": 48, + "pending": 116, + "reviewed": 296 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml": "5a071df7d816e530b9c9547f096e16ce4be51d45a63a6a8be8a4117259b97021", + "tests/test_causal_review_batch95.py": "030a1bb7f052df837e25aad11a1690ce9b19b3fe15d2122205cbfe5fb686ddce", + "tests/test_participating_taxa.py": "38d4a7d8cfb31468d07611a053ab6df0c427b52fc57c08e7883e4420af04adfb", + "reports/causal_graph_review/README.md": "9ed4b2725fd7a0e1ae4d6a3fdd28d8b36665adb37d4972b4298d96a69836c5f3", + "reports/causal_graph_review/cache-provenance-20261007-batch95.json": "8c3584523b180187f07a198ff9fd564c94d825c5ebc76aed5f9b3c6e889c5915", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml": "be926207b3e99ec9dae97be3b8f0cac07462d7e3a9adcba2305a1efe481c5470", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml": "9a5de564abd6e776d8f8eb5717c5d11d60cdf85a27414c0b58df620fae74dd9e", + "kb/communities/Richmond_Mine_AMD_Biofilm.yaml": "2e4f2eef58a26396f76ccedc7483735ea00ea52447f3af4a7469931326686b97", + "kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml": "9ebd0ac8d6b48fef67e67549627557ceb23347f0de930357ed73b185c666def3" + }, + "pre_research_baseline": { + "base_commit": "1b174298d4f58dc3222bbb020db2fc3ac123b865", + "base_tree": "372dc1fd438e1a1b661a52be56428ed3d2da2cfe", + "research_worktree": "/private/tmp/communitymech-causal-batch94", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch95/baseline-rank.log", + "sha256": "df9253676f1b4905fad1789d6e3fc13a0b7fb8ab1409f93f8185bd704032446c" + }, + { + "name": "just-network", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_code": 2, + "log": "/private/tmp/communitymech-batch95/baseline-just-network.log", + "sha256": "8595db43420d3f0a01c57acd6ad733a531a72e962486d20b4e1c2840dda55bff" + }, + { + "name": "network", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "communitymech.cli", + "audit-network", + "--json" + ], + "exit_code": 1, + "expected_exit_code": 1, + "log": "/private/tmp/communitymech-batch95/baseline-network.log", + "sha256": "8febc2a966f5c2b51cd59095a8877c8773cd1e9383e5214bcdc3832c5858c097" + }, + { + "name": "downstream", + "command": [ + "rg", + "--no-ignore", + "--hidden", + "-n", + "downstream:", + "kb/communities", + "data/isolates", + "--glob", + "*.yaml" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch95/baseline-downstream.log", + "sha256": "6b8afc01548a9a3286b776815726442c414e859b816fd821dd69fe99f2b632f7" + } + ], + "baseline_sha256": "7e1dae2cdbb83ef9e7326b39582136af4d206ab2140445bcb23b1e36831a73c0" + }, + "reference_validator_caveat": "Four full-record CLI and local snippet checks executed on macOS,not Linux; DOI-cache casing issue1091 remains. Literal matches do not establish entailment; FSQN and five Richmond primary sources are abstract bounded. CLI Total checks counts issues,not executed checks. Loader1703 not certified.", + "status": "verified_existing_graph_repairs_with_source_access_limits", + "preliminary_attempt": { + "base_commit": "1b174298d4f58dc3222bbb020db2fc3ac123b865", + "scope": [ + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml", + "kb/communities/Richmond_Mine_AMD_Biofilm.yaml", + "kb/communities/Rifle_Aquifer_Bioanode_EET_Community.yaml" + ], + "results": [ + { + "check": "focused", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch95.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/focused.log", + "log_sha256": "d0c3c8865cfc365a3228d5efaf037b1271bb2b6db7e6623295a1128a91d59f06", + "output_tail": "........ [100%]\n8 passed in 5.82s\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/Rice_FSQN_Rhizosphere_Microbiome_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch95/Rice_FSQN_Rhizosphere_Microbiome_SynCom-strict.tsv", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/Rice_FSQN_Rhizosphere_Microbiome_SynCom-strict.log", + "log_sha256": "62691ab80f2c88753e2c5c7cf55af789be77bc2e69b30c3a5000696b5706c809", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch95/src/communitymech/schema/communitymech.yaml\n\n=== validate-strict summary ===\n files scanned: 1\n files with ERROR: 0\n total ERROR rows: 0\n TSV: /private/tmp/communitymech-batch95/Rice_FSQN_Rhizosphere_Microbiome_SynCom-strict.tsv\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/Rice_FSQN_Rhizosphere_Microbiome_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/Rice_FSQN_Rhizosphere_Microbiome_SynCom-references.log", + "log_sha256": "1008f2b47449c207099a8ed904e1e6cae83d455f6ed2c8ee092cf92f7838f928", + "output_tail": "Validating kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/Rice_FSQN_Rhizosphere_Microbiome_SynCom-snippets.log", + "log_sha256": "aec1f2712a64b5cd549f668dd69d5e1ab54d6d5693d8f53bbce26317b755b383", + "output_tail": "# 11 evidence snippets scanned across 1 files\n MATCH 11\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Rice_FSQN_Rhizosphere_Microbiome_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/Rice_FSQN_Rhizosphere_Microbiome_SynCom-rank.log", + "log_sha256": "935af1e58a5d4c670414770a13af085ef0b56bb5ecf58433802a33a23852c1fe", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000419\",\n \"name\": \"Rice FSQN Rhizosphere Microbiome SynCom\",\n \"score\": 60.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 2,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Rice_P_Uptake_Intercropping_SynCom4-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/Rice_P_Uptake_Intercropping_SynCom4-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rice_P_Uptake_Intercropping_SynCom4-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch95/Rice_P_Uptake_Intercropping_SynCom4-strict.tsv", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/Rice_P_Uptake_Intercropping_SynCom4-strict.log", + "log_sha256": "c6eb46e01c3d80a60c2348bbdda0cc7a2805c2def6b08fd4835327aca822b1a6", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch95/src/communitymech/schema/communitymech.yaml\n\n=== validate-strict summary ===\n files scanned: 1\n files with ERROR: 0\n total ERROR rows: 0\n TSV: /private/tmp/communitymech-batch95/Rice_P_Uptake_Intercropping_SynCom4-strict.tsv\n" + }, + { + "check": "Rice_P_Uptake_Intercropping_SynCom4-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch95/Rice_P_Uptake_Intercropping_SynCom4-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + } + ], + "limitations": [ + "Four whole records and all18originalnodes/9arrows reviewed.12nodes and6existingdirections remain,6nodes and3analysis-order arrows removed;1node renamed.3records changed,FSQN unchanged. No new topology or Edison dryrun/submission/spend.", + "FSQN primary abstract freshly read and matched; publisher page inaccessible. Existing explicit computational-guild scope and absent mediation edge are appropriate. No complete main text or new mechanism certified.", + "Rice phosphorus and Rifle complete fresh main text through Conclusions, including embedded captions, read. No supplement/raw-data/figure-pixel review. Rice field and pot outcomes remain distinct; Rifle candidate genomic evidence does not demonstrate community exchange or universal EET.", + "Richmond geochemical primary abstract, Introduction, Results, community discussion/site-flux section, pyrite-pathway discussion, geochemical-community section and Conclusions read (extracted lines1-191,371-533,697-807,855-933). Remaining methods/geochemical modeling and figure pixels not reviewed. Five other Richmond primary abstracts freshly read after EuropePMC XML HTTP500 failures. PMC challenge not bypassed.", + "Ferroplasma background review abstract read, not used as exact-system graph evidence. Acidithiobacillus reference-genome and Parvarchaeota genomic full texts retrieved but not read as primary functional proof for these nodes. Retrieval is not review; no new cache or copyrighted full text published.", + "Graph nitrogen-sharing and duplicate subgroup-contact assertions removed without denying positive diazotrophic capacity or generic contact. SYNTROPHY does not require obligacy, but the relevant metabolic feedback is unresolved. Contact participants unspecified: legacy community-connectivity credit is not evidence for every canonical member. Canonical taxonomy labels/IDs and non-graph raw blocks preserved, not recertified.", + "All923baselinecaches and457unchangedrecords preserved.3append-only histories. Local dedup includes ignored/hidden files, excluding.git/docs/site/references_cache; relevant caches separately inspected. All-state issue titles/bodies refreshed;1716/451/445/443/401/396 read, distinct. Comments/PRs not exhaustive. Repair1761-1763 close only after protected-main merge;1764 remains open.", + "Self-adversarial review is not independent approval or corpus completion. Existing loader1703 and DOI-cache casing1091 remain. Denied/pending Edison scopes unchanged. Validation and publication are not preasserted." + ], + "reference_validator_version": "0.1.7", + "snippet_counts_by_record": { + "kb/communities/Rice_FSQN_Rhizosphere_Microbiome_SynCom.yaml": { + "MATCH": 11, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "status": "deliberately_interrupted_for_adversarial_fix", + "interruption": "Parent and child process group interrupted; no final verification claim. All gates will be rerun after participant repair." + }, + "adversarial_prepublication_fix": { + "issue": 1762, + "participant_entries_narrowed": 7, + "details": "Remove copied taxon narratives and GTDB metadata from seven graph participant entries; retain only canonical preferred_term and term identity. Prevent non-graph nitrogen-sharing, competitive-exclusion and pH claims from re-entering repaired graph nodes.", + "initial_verification": "Deliberately interrupted with SIGINT before completion after this diff finding; final gates rerun from scratch." + }, + "total_recorded_gate_outputs": 42 +} diff --git a/tests/test_causal_review_batch95.py b/tests/test_causal_review_batch95.py new file mode 100644 index 000000000..f02653e67 --- /dev/null +++ b/tests/test_causal_review_batch95.py @@ -0,0 +1,151 @@ +"""Separate ecological observations from mediation and genomic candidates.""" + +import hashlib +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261007-four-records-batch95.yaml" + + +def records(): + ledger = yaml.safe_load(LEDGER.read_text()) + rows = ledger["records"] + return ledger, rows, [yaml.safe_load((ROOT / r["path"]).read_text()) for r in rows] + + +def test_fsqn_unchanged_predictions_are_not_mediation(): + _, rows, docs = records() + row = rows[0] + assert row["outcome"] == "unchanged" + assert row["original_sha256"] == row["record_sha256"] + assert row["allowed_changed_fields"] == row["history_files"] == [] + observed, predicted = docs[0]["ecological_interactions"] + assert not any(n.get("downstream") or n.get("interaction_type") for n in [observed, predicted]) + assert predicted["evidence"][0]["evidence_source"] == "COMPUTATIONAL" + assert "prediction" in predicted["description"] + + +def test_rice_pot_benefit_and_partial_mediation(): + _, _, docs = records() + soil, acquisition, outcome = docs[1]["ecological_interactions"] + assert all("interaction_type" not in n for n in [soil, acquisition, outcome]) + assert all( + n["downstream"][0]["description"].startswith("PARTIAL:") for n in [soil, acquisition] + ) + assert acquisition["evidence"][0]["supports"] == "PARTIAL" + assert outcome["evidence"][0]["supports"] == "SUPPORT" + assert outcome["evidence"][0]["evidence_source"] == "IN_VIVO" + assert "field rice/soybean" in outcome["description"] + assert "decreased" in outcome["description"] + assert "CHEBI:28659" not in str(outcome) + + +def test_richmond_real_cycle_is_not_pairwise_mutualism(): + _, _, docs = records() + lepto, ferro, pyrite, _, _ = docs[2]["ecological_interactions"] + assert lepto["downstream"][0]["target"] == pyrite["name"] + assert ferro["downstream"][0]["target"] == pyrite["name"] + assert pyrite["downstream"][0]["target"] == lepto["name"] + assert "external oxygen and mineral supply" in pyrite["description"] + assert "not the rate of this particular biofilm" in pyrite["description"] + for node in [lepto, ferro, pyrite]: + assert node["scope"] == "COMMUNITY_LEVEL" + assert node["participating_taxa"] + assert all(set(t) == {"preferred_term", "term"} for t in node["participating_taxa"]) + assert not any(k in node for k in ["source_taxon", "target_taxon", "interaction_type"]) + assert "GO:0006826" not in str(node) + assert "biological_processes" not in ferro + + +def test_richmond_capacity_and_contact_identity_are_bounded(): + _, rows, docs = records() + doc = docs[2] + contact = doc["ecological_interactions"][3] + assert contact["name"] == "Thermoplasmatales-ARMAN Cell Contact" + assert not any( + k in contact + for k in ["source_taxon", "target_taxon", "participating_taxa", "interaction_type"] + ) + assert "small subset" in contact["description"] + removed = {r["node"] for r in rows[2]["removed_node_decisions"]} + assert removed == { + "Nitrogen Fixation by Leptospirillum Group III", + "Thermoplasmatales-Parvarchaeota Cell Contact", + } + nitrogen_gap, contact_gap = doc["discussions"] + assert "positive diazotrophic capacity" in nitrogen_gap["evidence"][0]["explanation"] + assert "not identified by proteomics" in nitrogen_gap["evidence"][1]["snippet"] + assert "does not require obligacy" in contact_gap["rationale"] + assert ( + "must not be read as an observation for every canonical member" in contact_gap["rationale"] + ) + + +def test_richmond_refuge_is_a_distribution_observation(): + _, rows, docs = records() + node = docs[2]["ecological_interactions"][-1] + assert node["name"] == "Higher-pH Acidithiobacillus Distribution" + assert rows[2]["renamed_nodes"] == { + "Iron and Sulfur Oxidation at Higher pH Refugia": node["name"] + } + assert node["participating_taxa"][0]["term"]["id"] == "NCBITaxon:920" + assert set(node["participating_taxa"][0]) == {"preferred_term", "term"} + assert "interaction_type" not in node and "biological_processes" not in node + assert "competitive exclusion" in node["description"] + assert all(e["reference"] == "doi:10.1186/1467-4866-5-13" for e in node["evidence"]) + + +def test_rifle_enrichment_not_inventory_or_competition(): + _, rows, docs = records() + selection, dominance = docs[3]["ecological_interactions"] + assert selection["downstream"][0]["target"] == dominance["name"] + assert selection["downstream"][0]["description"].startswith("PARTIAL:") + assert "downstream" not in dominance + assert all("interaction_type" not in n for n in [selection, dominance]) + assert "not proof that every member" in selection["description"] + assert "72 putative" in dominance["description"] + assert len(rows[3]["removed_node_decisions"]) == 4 + assert len(rows[3]["removed_edge_decisions"]) == 3 + gap = docs[3]["discussions"][0] + assert gap["evidence"][0]["evidence_source"] == "COMPUTATIONAL" + assert "does not exclude EET potential in all other" in gap["rationale"] + assert "inconsistent near-complete-genome denominators" in gap["rationale"] + + +def test_all_original_nodes_and_directions_have_dispositions(): + _, rows, docs = records() + assert sum(len(r["node_decisions"]) for r in rows) == 12 + assert sum(len(r["removed_node_decisions"]) for r in rows) == 6 + assert sum(len(r["edges_before"]) for r in rows) == 9 + assert sum(len(r["retained_edge_decisions"]) for r in rows) == 6 + assert sum(len(r["removed_edge_decisions"]) for r in rows) == 3 + for row, doc in zip(rows, docs, strict=True): + assert {r["node"] for r in row["node_decisions"]} == { + n["name"] for n in doc["ecological_interactions"] + } + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + for decision in row["retained_edge_decisions"]: + assert all(decision["before"][k] == decision["after"][k] for k in ["source", "target"]) + + +def test_source_proof_history_and_unresolved_scope(): + ledger, rows, docs = records() + assert len(ledger["snippet_checks"]) == ledger["primary_graph_snippet_count"] == 16 + assert len(ledger["discussion_snippet_checks"]) == 5 + assert all( + c["cache_matched"] and c["independent_primary_match"] + for c in ledger["snippet_checks"] + ledger["discussion_snippet_checks"] + ) + assert ledger["cache_changes"] == [] + assert ledger["issues"] == [1761, 1762, 1763] + assert ledger["unresolved_non_graph_issues"] == [1764] + assert not ledger["independent_approval"] + assert ledger["edison"]["provider_submissions"] == ledger["edison"]["credits_spent"] == 0 + assert ledger["edison"]["dry_runs"] == [] + for row, doc in zip(rows[1:], docs[1:], strict=True): + assert row["curation_events_added"] == len(row["history_files"]) + assert row["curation_events_added"] == (2 if doc["id"] == "CommunityMech:000059" else 1) + assert doc["curation_history"][-1]["llm_assisted"] + assert (ROOT / row["history_files"][0]).is_file() diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py index 70c337d1c..323e3ab7f 100644 --- a/tests/test_participating_taxa.py +++ b/tests/test_participating_taxa.py @@ -386,6 +386,7 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example): "Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml", "Rhodococcus_Pseudomonas_PPOW_Consortium.yaml", "Rhodopseudomonas_Geobacter_Magnetite_Redox_Coculture.yaml", + "Richmond_Mine_AMD_Biofilm.yaml", "Rifle_Aquifer_Bioanode_EET_Community.yaml", "SF356_Cellulose_Degrader.yaml", "SO3_BS3_Lithium_Battery_Bioleaching_Consortium.yaml",