diff --git a/docs/communities/Rammelsberg_Cobalt_Nickel_Tailings.html b/docs/communities/Rammelsberg_Cobalt_Nickel_Tailings.html index 88a381b54..c0024143e 100644 --- a/docs/communities/Rammelsberg_Cobalt_Nickel_Tailings.html +++ b/docs/communities/Rammelsberg_Cobalt_Nickel_Tailings.html @@ -572,7 +572,7 @@

Ecological Interactions

Ecological interaction network for Rammelsberg Cobalt-Nickel Tailings Consortium - 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, commensalism). + 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.
@@ -580,13 +580,8 @@

Ecological Interactions

Mutualism -
-
- Commensalism + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -595,15 +590,19 @@

Ecological Interactions

Iron Oxidation and Ferric Iron Generation

- COMMENSALISM
-

Acidithiobacillus ferrooxidans oxidizes ferrous iron (Fe²⁺) to ferric iron (Fe³⁺), generating the primary oxidant for chemical attack of cobalt-bearing sulfide minerals. The enzymatic reaction (4Fe²⁺ + O₂ + 4H⁺ → 4Fe³⁺ + 2H₂O) couples oxygen reduction to iron oxidation, yielding energy for bacterial growth and CO₂ fixation. Ferric iron acts as a powerful oxidant that attacks framboidal pyrite surfaces where cobalt is concentrated, solubilizing both iron sulfides and associated cobalt minerals. The continuous regeneration of ferric iron by At. ferrooxidans maintains high oxidation potential in the bioleaching system, driving efficient cobalt and copper mobilization even from low-grade tailings (0.02% Co). This iron-cycling process represents the dominant energy-generating pathway for the consortium and is rate-limiting for overall metal recovery. -

+

In the Rammelsberg laboratory enrichment, falling iron(II), increasing redox potential and dissolved iron support microbial iron(II)-to-iron(III) conversion that promotes metal-sulfide dissolution. The primary paper contrasts these dynamics with an inhibited abiotic control; it does not establish a rate-limiting step or reciprocal fitness between the two dominant taxa. The listed Acidithiobacillus taxa are dominant recorded members, not an exhaustive community or a demonstrated pairwise benefit.

-

Source Taxon: Acidithiobacillus ferrooxidans

+

Participating Taxa: + + Acidithiobacillus ferrooxidans, + + Acidithiobacillus thiooxidans + +

@@ -625,17 +624,6 @@

Iron Oxidation and Ferric Iron Generation

-

Biological Processes:

- -
@@ -643,7 +631,7 @@

Iron Oxidation and Ferric Iron Generation

→ Cobalt and Copper Mobilization from Sulfide Minerals -

Ferric iron oxidizes sulfide minerals releasing cobalt and copper

+

Microbial conversion of iron(II) to iron(III) supplies the chemical oxidant that promotes sulfide dissolution and associated metal release, as interpreted from the Rammelsberg reactor chemistry and abiotic comparison.

@@ -656,13 +644,13 @@

Evidence

  • - PMID:39770610 + doi:10.1016/j.hydromet.2020.105443 - SUPPORT (IN_VITRO)
    -
    "It has emerged as a key player in biomining and bioleaching technologies thanks to its unique ability to mobilize a wide spectrum of elements, such as Li, P, V, Cr, Fe, Ni, Cu, Zn, Ga, As, Mo, W, Pb, U, and its role in ferrous iron oxidation and reduction"
    +
    "This indicates that due to bacterial activity, the iron(II) was constantly converted to iron(III), causing metal sulfide dissolution."
  • @@ -673,17 +661,19 @@

    Evidence

    Cobalt and Copper Mobilization from Sulfide Minerals

    - MUTUALISM
    -

    Ferric iron generated by At. ferrooxidans chemically oxidizes cobalt-bearing framboidal pyrite and copper sulfides (chalcopyrite, covellite) in the Rammelsberg tailings. The reaction attacks pyrite surfaces where cobalt is concentrated, releasing Co²⁺, Cu²⁺, Fe²⁺, and sulfate into solution. Mineralogical analysis confirmed that cobalt occurs on the surface of framboidal pyrite and is mainly leached by microbial attack. The consortium achieved 91% cobalt recovery and 57% copper recovery from bulk tailings (Co 0.02%, Cu 0.12%) after 13 days at 10% pulp density in stirred tank reactors. From flotation concentrate (Co 0.06%, Cu 0.57%), recovery was 66% cobalt and 33% copper. The ferric-mediated oxidation represents the dominant metal solubilization mechanism (indirect bioleaching), with ferrous iron released during mineral oxidation being recycled back to At. ferrooxidans for re-oxidation, creating a closed iron redox cycle. -

    +

    The Rammelsberg enrichment achieved 91% cobalt and 57% copper extraction from bulk tailings after 13 days in laboratory stirred-tank reactors; flotation concentrate yielded 66% cobalt and 33% copper. Mineral analysis associates cobalt with framboidal pyrite, and the authors interpret greater cobalt dissolution than in the abiotic control as microbial/ferric-iron attack. These are community and mineral outcomes, not demonstrated mutualism or a closed partner-specific iron cycle. The listed Acidithiobacillus taxa are dominant recorded members, not an exhaustive community or a demonstrated pairwise benefit.

    + -

    Source Taxon: Acidithiobacillus ferrooxidans

    +

    Participating Taxa: + Acidithiobacillus ferrooxidans, -

    Target Taxon: Acidithiobacillus thiooxidans

    + Acidithiobacillus thiooxidans + +

    @@ -711,21 +701,6 @@

    Cobalt and Copper Mobilization from Sulfide Minerals

    -
    - Downstream Effects: - -
    - → Iron Oxidation and Ferric Iron Generation -

    Fe²⁺ released from mineral oxidation is recycled to At. ferrooxidans

    -
    - -
    - → Sulfur Oxidation and Acid Generation -

    Elemental sulfur produced during mineral oxidation is substrate for At. thiooxidans

    -
    - -
    -

    Evidence

    @@ -734,26 +709,26 @@

    Evidence

  • - doi:10.1016/j.hydromet.2020.105484 + doi:10.1016/j.hydromet.2020.105443 - SUPPORT (IN_VITRO)
    -
    "This material still contains several sulfide minerals (pyrrhotite, pyrite, sphalerite, pentlandite, violarite, chalcopyrite) and significant amounts of metals (Zn, Ni, Cu, Co, rare earth elements)"
    +
    "The microbial consortium achieved 91% cobalt and 57% copper extraction from bulk tailings after 13 days in STR."
  • - doi:10.1016/j.hydromet.2020.105484 + doi:10.1016/j.hydromet.2020.105443 - SUPPORT (IN_VITRO)
    -
    "Cobalt dissolution kinetics were highly improved by the bacterial activity, whatever the consortium. This is consistent with the presence of Co in the pyrite in the secondary ore"
    +
    "For the flotation concentrates, bioleaching tests showed 66% cobalt and 33 % copper recovery after 13 days."
  • @@ -764,15 +739,19 @@

    Evidence

    Sulfur Oxidation and Acid Generation

    - MUTUALISM
    -

    Acidithiobacillus thiooxidans oxidizes elemental sulfur (S⁰) that accumulates as a passivation layer on sulfide mineral surfaces during ferric iron attack. The oxidation reaction (S²⁻ + 2H₂O + 2O₂ → SO₄²⁻ + 4H⁺) produces sulfuric acid, maintaining the low pH (pH 1.5-2.5) required for ferric iron solubility and optimal acidophilic bacterial activity. Removal of the elemental sulfur passivation layer is essential for sustained bioleaching kinetics, as sulfur accumulation would otherwise block access of ferric iron and bacteria to fresh mineral surfaces. At. thiooxidans employs the sox system (soxAX, soxB, soxCD, soxYZ), sulfide oxidoreductase (SQR), and sulfur dioxygenase (SDO) to catalyze sulfur oxidation. The sulfuric acid produced lowers pH, solubilizes additional metals through acid leaching, and creates the extreme acidic environment that excludes neutrophilic competitors, maintaining consortium dominance. This sulfur-oxidizing function is synergistic with At. ferrooxidans iron oxidation, as the two organisms together prevent both ferric hydroxide precipitation (through low pH) and sulfur passivation. -

    +

    Rammelsberg shake-flask bioleaching decreased pH, whereas uninoculated inhibited controls increased in pH; the authors attribute the decrease to sulfuric-acid production by sulfide and sulfur biooxidation. This is a community acidification process. The source does not isolate an Acidithiobacillus thiooxidans-specific passivation-removal pathway, the named enzyme systems, or acidification-mediated benefit to Acidithiobacillus ferrooxidans. The listed Acidithiobacillus taxa are dominant recorded members, not an exhaustive community or a demonstrated pairwise benefit.

    -

    Source Taxon: Acidithiobacillus thiooxidans

    +

    Participating Taxa: + + Acidithiobacillus ferrooxidans, + + Acidithiobacillus thiooxidans + +

    @@ -807,16 +786,6 @@

    Sulfur Oxidation and Acid Generation

    -
    - Downstream Effects: - -
    - → Iron Oxidation and Ferric Iron Generation -

    Low pH maintained by sulfuric acid prevents ferric iron precipitation

    -
    - -
    -

    Evidence

    @@ -825,26 +794,13 @@

    Evidence

  • - PMID:39770610 - - - SUPPORT (IN_VITRO) -
    - -
    "However, its use in biometallurgical applications poses environmental issues through its effect on the pH levels in bioleaching systems, which produce acid mine drainage in rivers and lakes adjacent to mines"
    - -
  • - -
  • -
    - - doi:10.1016/j.hydromet.2020.105484 + doi:10.1016/j.hydromet.2020.105443 - SUPPORT (IN_VITRO)
    -
    "In the framework of the European project NEMO (Near-zero-waste recycling of low-grade sulfidic mining waste for critical-metal, mineral and construction raw-material production in a circular economy), new ways to valorize sulfidic tailings are being developed through the recovery of valuable metals and critical raw materials and the transformation of the residual in clean mineral fraction to be used for the mass production of cement, concrete and construction products"
    +
    "due to sulfuric acid production by sulfide and sulfur biooxidation."
  • @@ -852,84 +808,62 @@

    Evidence

    -
    -
    -

    Autotrophic Carbon Fixation in Acidic Environment

    - COMMENSALISM -
    -

    Both Acidithiobacillus ferrooxidans and At. thiooxidans are obligate chemolithoautotrophs that fix atmospheric CO₂ via the Calvin-Benson-Bassham cycle using energy derived from iron or sulfur oxidation. This autotrophic metabolism eliminates the need for organic carbon supplementation in the bioleaching system, reducing operational costs and enabling growth on the inorganic tailings substrate alone. Carbon fixation couples to the primary energy-generating reactions (iron and sulfur oxidation), with ATP and reducing equivalents (NADH) produced from chemolithotrophic electron transport chains driving CO₂ assimilation into biomass. The autotrophic growth strategy is well-adapted to the extreme oligotrophic conditions of acidic mine tailings where organic carbon is scarce, allowing the consortium to thrive and catalyze metal mobilization without external organic nutrients. -

    - -

    Source Taxon: Acidithiobacillus ferrooxidans

    - - - -

    Target Taxon: Acidithiobacillus thiooxidans

    + + +
    +

    Knowledge gaps & discussions (1)

    -

    Metabolites: +

    +

    + KNOWLEDGE_GAP + OPEN + Which strain-specific exchanges and feedbacks are established in the Rammelsberg enrichment? +

    +

    The correct primary study is doi:10.1016/j.hydromet.2020.105443;105484 concerns Finnish secondary ore, while PMID:39770610 is a general review. The inoculum contained four named strains and indigenous organisms were detected. Dominance by the two recorded Acidithiobacillus taxa does not establish a defined two-member community or reciprocal fitness. General iron/sulfur chemistry is not a demonstrated partner-specific recycling/passivation feedback, and intrinsic carbon fixation is not commensal exchange. Retain supported community processes and the iron-to-mineral-dissolution arrow without the other three feedback arrows or carbon-fixation interaction. Non-graph identity, industrial-scale and citation claims require separate curation under issue1753.

    - carbon dioxide - (CHEBI:16526), +

    Attaches to: ecological_interactions#Iron Oxidation and Ferric Iron Generation, ecological_interactions#Cobalt and Copper Mobilization from Sulfide Minerals, ecological_interactions#Sulfur Oxidation and Acid Generation

    - ATP - (CHEBI:15422) -

    +
    + 2 evidence item(s) - -

    Biological Processes:

    -
      - -
    • - carbon fixation - (GO:0015977) -
    • - -
    • - reductive pentose-phosphate cycle - (GO:0019253) -
    • - -
    - +
    +
    + IN_VITRO + SUPPORT + doi:10.1016/j.hydromet.2020.105443 +
    +

    Some indigenous bacteria (~19%) were detected at the end of the leaching tests in STR

    +

    The exact study explicitly reports additional community members.

    +
    -

    Evidence

    -
      +
      +
      + IN_VITRO + SUPPORT -
    • - +

      The mixed consortium containing mainly At. ferrooxidans and At. thiooxidans remained stable throughout the experiment.

      +

      Supports these taxa as dominant, not exclusive or proven reciprocal beneficiaries.

      +
    • -
      "ferrooxidans catalyzes the extraction of elements by generating iron (III) ions in oxic conditions, which are able to react with metal sulfides"
      - - +
    -
    -
    - - - @@ -1225,7 +1159,7 @@

    Environmental Factors

    (function() { var intId = "interaction:0"; - var intType = "COMMENSALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1238,10 +1172,6 @@

    Environmental Factors

    var processes = []; - - processes.push("iron ion transport"); - - var evidenceCount = 1; nodes.push({ @@ -1255,18 +1185,26 @@

    Environmental Factors

    }); - var srcKey = "Acidithiobacillus ferrooxidans"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ + + "Acidithiobacillus ferrooxidans", + + "Acidithiobacillus thiooxidans" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); (function() { var intId = "interaction:1"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1294,23 +1232,26 @@

    Environmental Factors

    }); - var srcKey = "Acidithiobacillus ferrooxidans"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ - var tgtKey = "Acidithiobacillus thiooxidans"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } + "Acidithiobacillus ferrooxidans", + + "Acidithiobacillus thiooxidans" + + ]; + 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 = []; @@ -1327,7 +1268,7 @@

    Environmental Factors

    processes.push("sulfur compound metabolic process"); - var evidenceCount = 2; + var evidenceCount = 1; nodes.push({ id: intId, @@ -1340,59 +1281,21 @@

    Environmental Factors

    }); - var srcKey = "Acidithiobacillus thiooxidans"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } - - - - })(); - - (function() { - var intId = "interaction:3"; - var intType = "COMMENSALISM"; - var metabolites = []; - - - metabolites.push("carbon dioxide"); - - metabolites.push("ATP"); - - - var processes = []; - processes.push("carbon fixation"); + var participantKeys = [ - processes.push("reductive pentose-phosphate cycle"); + "Acidithiobacillus ferrooxidans", + "Acidithiobacillus thiooxidans" - var evidenceCount = 1; - - nodes.push({ - id: intId, - label: "Autotrophic Carbon Fixation in Acidic Environment", - 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 = "Acidithiobacillus thiooxidans"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } - })(); @@ -1414,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 = 6; + var nodeCount = 5; var height = Math.max(500, 400 + nodeCount * 20); svg.attr("width", width).attr("height", height); diff --git a/docs/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.html b/docs/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.html index 73f7fb464..079fb7b82 100644 --- a/docs/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.html +++ b/docs/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.html @@ -590,7 +590,7 @@

    Ecological Interactions

    Ecological interaction network for Rhizorhabdus-Cupriavidus BDE-47 Degradation SynCom - 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, syntrophy). + 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).
    @@ -603,8 +603,8 @@

    Ecological Interactions

    Syntrophy + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
    @@ -645,7 +645,7 @@

    YL-JM2C BDE-47 initiation

    Downstream Effects:
    - → JMP134 2,4-dibromophenol rescue + → JMP134 2,4-dibromophenol conversion

    YL-JM2C-generated 2,4-dibromophenol is subsequently converted to 3,5-dibromocatechol by JMP134 TfdB.

    @@ -688,17 +688,20 @@

    Evidence

    -

    JMP134 2,4-dibromophenol rescue

    - SYNTROPHY +

    JMP134 2,4-dibromophenol conversion

    -

    Cupriavidus necator JMP134 hydroxylase TfdB converts the YL-JM2C dead-end 2,4-dibromophenol product to 3,5-dibromocatechol, linking YL-JM2C's initial BDE-47 attack to the downstream ortho-cleavage pathway shared by both strains.

    +

    Cupriavidus necator JMP134 hydroxylase TfdB converts the YL-JM2C dead-end 2,4-dibromophenol product to 3,5-dibromocatechol, linking YL-JM2C's initial BDE-47 attack to the downstream ortho-cleavage pathway shared by both strains. This is the recipient conversion step in the diffusible cross-feeding relay, not evidence of a reverse metabolite transfer or improved YL-JM2C fitness. Both strains having a downstream pathway does not demonstrate exchange of 3,5-DBC back to YL-JM2C.

    -

    Source Taxon: Cupriavidus necator JMP134

    +

    Participating Taxa: + + Rhizorhabdus wittichii YL-JM2C, + + Cupriavidus necator JMP134 -

    Target Taxon: Rhizorhabdus wittichii YL-JM2C

    +

    @@ -721,8 +724,8 @@

    JMP134 2,4-dibromophenol rescue

    Downstream Effects:
    - → Consortium BDE-47 removal -

    Removal of the 2,4-DBP bottleneck connects the two isolate pathways and enables community-level BDE-47 degradation.

    + → Consortium BDE-47 removal without 2,4-DBP accumulation +

    JMP134 conversion of the YL-JM2C-derived 2,4-DBP prevents that intermediate from accumulating during consortium treatment. It is not required for disappearance of the parent BDE-47, which also occurred in the YL-JM2C monoculture.

    @@ -764,10 +767,9 @@

    Evidence

    -

    Consortium BDE-47 removal

    - SYNTROPHY +

    Consortium BDE-47 removal without 2,4-DBP accumulation

    -

    The mixed YL-JM2C/JMP134 consortium removes BDE-47 from minimal salts medium, releases bromide during low-concentration BDE-47 degradation, and fully removes BDE-47 from several amended real-wastewater microcosms.

    +

    The mixed YL-JM2C/JMP134 consortium removes BDE-47 from minimal salts medium, releases bromide during low-concentration BDE-47 degradation, and fully removes BDE-47 from several amended real-wastewater microcosms. In the direct comparison, both the mixed culture and YL-JM2C alone removed BDE-47 within 20 hours, but only the monoculture accumulated stoichiometric 2,4-DBP. The consortium therefore clears this intermediate as well as the parent. Pathway reconstruction and bromide release support catabolism, not an empirical closed carbon balance or demonstrated donor-feedback benefit.

    @@ -889,7 +891,7 @@

    Associated Datasets

    -

    Knowledge gaps & discussions (1)

    +

    Knowledge gaps & discussions (2)

    @@ -924,6 +926,56 @@

    +
    +

    + KNOWLEDGE_GAP + OPEN + Does clearing 2,4-DBP feed back on YL-JM2C metabolism or fitness, and what is the carbon fate? +

    +

    The main-text monoculture comparison and transwell experiment support diffusible intermediate cross-feeding. Parent disappearance occurs in YL-JM2C alone, while the partner prevents2,4-DBP accumulation. Current SYNTROPHY does not assert obligacy; the unresolved criterion is product-removal feedback making the donor metabolism more favourable. The demonstrated relay, functional enzymes, sequential growth and positive wastewater endpoints remain. They do not independently establish reciprocal fitness, return transfer of3,5-DBC or a closed carbon balance. Preserve the pre-existing image-panel curation task; this review did not inspect supplement pixels. Non-graph SYNTROPHIC_PARTNER roles remain for issue1753.

    + +

    Attaches to: ecological_interactions#YL-JM2C BDE-47 initiation, ecological_interactions#JMP134 2,4-dibromophenol conversion, ecological_interactions#Consortium BDE-47 removal without 2,4-DBP accumulation

    + + + +
    + 2 evidence item(s) + +
    +
    + IN_VITRO + SUPPORT + + + + PMID:42364169 + + +
    +

    when strain YL-JM2C was inoculated alone, BDE-47 disappeared within 20 h but accompanying by stoichiometric accumulation of 2,4-DBP.

    +

    Main-text contrast distinguishes parent removal from clearance of the intermediate.

    +
    + +
    +
    + IN_VITRO + SUPPORT + + + + PMID:42364169 + + +
    +

    this metabolic relay is mediated by cross-feeding of diffusible metabolites rather than direct physical contact.

    +

    Transwell interpretation supports the positive cross-feeding relay, not reverse exchange or donor-feedback fitness.

    +
    + +
    + + +
    +
    @@ -1428,7 +1480,7 @@

    Evidence

    (function() { var intId = "interaction:1"; - var intType = "SYNTROPHY"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1441,7 +1493,7 @@

    Evidence

    nodes.push({ id: intId, - label: "JMP134 2,4-dibromophenol rescue", + label: "JMP134 2,4-dibromophenol conversion", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1450,23 +1502,26 @@

    Evidence

    }); - var srcKey = "Cupriavidus necator JMP134"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ - var tgtKey = "Rhizorhabdus wittichii YL-JM2C"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } + "Rhizorhabdus wittichii YL-JM2C", + + "Cupriavidus necator JMP134" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); (function() { var intId = "interaction:2"; - var intType = "SYNTROPHY"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1479,7 +1534,7 @@

    Evidence

    nodes.push({ id: intId, - label: "Consortium BDE-47 removal", + label: "Consortium BDE-47 removal without 2,4-DBP accumulation", type: "interaction", interactionType: intType, metabolites: metabolites, diff --git a/docs/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.html b/docs/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.html index cbb54222c..2c4e1fd9e 100644 --- a/docs/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.html +++ b/docs/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.html @@ -680,7 +680,7 @@

    Ecological Interactions

    PPOW aliphatic-aromatic division of labor

    NICHE_PARTITIONING
    -

    The PPOW SynCom was interpreted as a functionally complementary consortium in which R. opacus DSM 43250 drives long-chain C10-C28 alkane degradation while the two Pseudomonas members contribute aromatic catabolism and solvent-stress tolerance. The source leaves the exact mechanism unresolved, so this is modeled at community scope.

    +

    HYPOTHESIZED: The PPOW SynCom was interpreted as a functionally complementary consortium in which R. opacus DSM 43250 drives long-chain C10-C28 alkane degradation while the two Pseudomonas members contribute aromatic catabolism and solvent-stress tolerance. The source leaves the exact mechanism unresolved, so this is modeled at community scope. Bulk removal and respiratory measurements are positive community observations, not direct member-resolved substrate allocation or metabolite exchange. The source also contradicts itself about abiotic and heat-killed controls, so the causal interpretation remains PARTIAL.

    @@ -741,7 +741,7 @@

    Evidence

    PMID:42491060 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "Rhodococcus opacus DSM 43250 serves as the principal driver for long-chain alkane (C10-C28) degradation"
    @@ -754,7 +754,7 @@

    Evidence

    PMID:42491060 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "P. putida KT2440 targets aromatic fractions, while Pseudomonas sp. VLB120 confers significant solvent tolerance"
    @@ -767,7 +767,7 @@

    Evidence

    PMID:42491060 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "Although the specific mechanism remains unclear, we infer that the high degradation efficiency achieved in this study stems from rational functional complementarity among the consortium members"
    @@ -797,7 +797,7 @@

    Evidence

    -

    Knowledge gaps & discussions (1)

    +

    Knowledge gaps & discussions (2)

    @@ -860,6 +860,56 @@

    +
    +

    + CONTROVERSY + OPEN + How should the contradictory primary-source reporting of abiotic and heat-killed controls be reconciled? +

    +

    Methods2.4 reports heat-killed controls and subtraction of abiotic removal, whereas the conclusion says these controls are lacking. Retain the reported positive bulk-removal result while flagging the unresolved source inconsistency; do not claim either adequately established control performance or complete control absence. The existing member-mechanism gap remains open, and inferred cross-feeding is not promoted to a directed edge. The abstract/main-text concentration-unit discrepancy is separately tracked under issue1753.

    + +

    Attaches to: ecological_interactions#PPOW aliphatic-aromatic division of labor

    + + + +
    + 2 evidence item(s) + +
    +
    + IN_VITRO + SUPPORT + + + + PMID:42491060 + + +
    +

    heat-killed controls were prepared by autoclaving the inoculum

    +

    Methods2.4 says heat-killed controls were included; this conflicts with the conclusion.

    +
    + +
    +
    + IN_VITRO + SUPPORT + + + + PMID:42491060 + + +
    +

    We acknowledge that this study lacks abiotic and heat-killed controls

    +

    The conclusion contradicts Methods2.4; neither statement alone resolves actual control performance.

    +
    + +
    + + +
    +
    diff --git a/history/records/Rammelsberg_Cobalt_Nickel_Tailings/2026-10-07T152512Z-codex-a8ec64.yaml b/history/records/Rammelsberg_Cobalt_Nickel_Tailings/2026-10-07T152512Z-codex-a8ec64.yaml new file mode 100644 index 000000000..d58c43ed8 --- /dev/null +++ b/history/records/Rammelsberg_Cobalt_Nickel_Tailings/2026-10-07T152512Z-codex-a8ec64.yaml @@ -0,0 +1,29 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml + slug: Rammelsberg_Cobalt_Nickel_Tailings +session: + id: 2026-10-07T152512Z-codex-a8ec64 + timestamp: '2026-10-07T15:25:12Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1750 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Re-evidence community iron oxidation and retain the source-backed mineral-dissolution + direction without COMMENSALISM, iron-transport misannotation or rate-limiting inference.; + Re-evidence positive bulk/concentrate metal recovery using the exact Rammelsberg DOI; + remove MUTUALISM and two unproven partner-specific recycling arrows.; Retain observed + acidification and authors sulfur-oxidation interpretation without MUTUALISM, enzyme/passivation + certainty or the untested sulfur-to-iron feedback. + details: Source-based self-adversarial review; reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml diff --git a/history/records/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom/2026-10-07T152512Z-codex-2629e0.yaml b/history/records/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom/2026-10-07T152512Z-codex-2629e0.yaml new file mode 100644 index 000000000..2afd0b1fd --- /dev/null +++ b/history/records/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom/2026-10-07T152512Z-codex-2629e0.yaml @@ -0,0 +1,29 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml + slug: Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom +session: + id: 2026-10-07T152512Z-codex-2629e0 + timestamp: '2026-10-07T15:25:12Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1751 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain directly supported YL-JM2C-to-JMP134 intermediate CROSS_FEEDING and its + existing downstream direction.; Rename rescue to conversion, remove the unsupported reverse + recipient-to-donor assignment and SYNTROPHY, and qualify the existing endpoint arrow to + intermediate clearance.; Rename the existing consortium endpoint to distinguish parent + disappearance from intermediate accumulation; retain positive removal/bromide evidence + without SYNTROPHY or closed-carbon-balance certainty. + details: Source-based self-adversarial review; reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml diff --git a/history/records/Rhodococcus_Pseudomonas_PPOW_Consortium/2026-10-07T152512Z-codex-399a65.yaml b/history/records/Rhodococcus_Pseudomonas_PPOW_Consortium/2026-10-07T152512Z-codex-399a65.yaml new file mode 100644 index 000000000..a06c7671f --- /dev/null +++ b/history/records/Rhodococcus_Pseudomonas_PPOW_Consortium/2026-10-07T152512Z-codex-399a65.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml + slug: Rhodococcus_Pseudomonas_PPOW_Consortium +session: + id: 2026-10-07T152512Z-codex-399a65 + timestamp: '2026-10-07T15:25:12Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1752 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain NICHE_PARTITIONING as an explicit HYPOTHESIZED/PARTIAL interpretation; preserve + SUPPORT for measured bulk removal and document contradictory control reporting without + inventing cross-feeding. + details: Source-based self-adversarial review; reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml diff --git a/kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml b/kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml index d7240b060..04e4b8a7d 100644 --- a/kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml +++ b/kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml @@ -142,30 +142,17 @@ taxonomy: explanation: Establishes At. thiooxidans as dominant consortium member ecological_interactions: - name: Iron Oxidation and Ferric Iron Generation - description: 'Acidithiobacillus ferrooxidans oxidizes ferrous iron (Fe²⁺) to ferric iron (Fe³⁺), generating - the primary oxidant for chemical attack of cobalt-bearing sulfide minerals. The enzymatic reaction - (4Fe²⁺ + O₂ + 4H⁺ → 4Fe³⁺ + 2H₂O) couples oxygen reduction to iron oxidation, yielding energy for - bacterial growth and CO₂ fixation. Ferric iron acts as a powerful oxidant that attacks framboidal - pyrite surfaces where cobalt is concentrated, solubilizing both iron sulfides and associated cobalt - minerals. The continuous regeneration of ferric iron by At. ferrooxidans maintains high oxidation - potential in the bioleaching system, driving efficient cobalt and copper mobilization even from low-grade - tailings (0.02% Co). This iron-cycling process represents the dominant energy-generating pathway for - the consortium and is rate-limiting for overall metal recovery. - - ' - interaction_type: COMMENSALISM - scope: PAIRWISE - source_taxon: - preferred_term: Acidithiobacillus ferrooxidans - term: - id: NCBITaxon:920 - label: Acidithiobacillus ferrooxidans + description: In the Rammelsberg laboratory enrichment, falling iron(II), increasing redox potential and dissolved + iron support microbial iron(II)-to-iron(III) conversion that promotes metal-sulfide dissolution. The primary + paper contrasts these dynamics with an inhibited abiotic control; it does not establish a rate-limiting step + or reciprocal fitness between the two dominant taxa. The listed Acidithiobacillus taxa are dominant recorded + members, not an exhaustive community or a demonstrated pairwise benefit. + scope: COMMUNITY_LEVEL metabolites: - preferred_term: Fe(II) term: id: CHEBI:29033 label: iron(2+) - concentration: Released from pyrite oxidation, continuously regenerated - preferred_term: Fe(III) term: id: CHEBI:29034 @@ -176,47 +163,36 @@ ecological_interactions: id: CHEBI:15379 label: dioxygen concentration: Supplied through continuous aeration in STR - biological_processes: - - preferred_term: iron ion transport - term: - id: GO:0006826 - label: iron ion transport downstream: - target: Cobalt and Copper Mobilization from Sulfide Minerals - description: Ferric iron oxidizes sulfide minerals releasing cobalt and copper + description: Microbial conversion of iron(II) to iron(III) supplies the chemical oxidant that promotes sulfide + dissolution and associated metal release, as interpreted from the Rammelsberg reactor chemistry and abiotic + comparison. evidence: - - reference: PMID:39770610 + - reference: doi:10.1016/j.hydromet.2020.105443 supports: SUPPORT evidence_source: IN_VITRO - snippet: It has emerged as a key player in biomining and bioleaching technologies thanks to its unique - ability to mobilize a wide spectrum of elements, such as Li, P, V, Cr, Fe, Ni, Cu, Zn, Ga, As, Mo, - W, Pb, U, and its role in ferrous iron oxidation and reduction - explanation: Documents iron oxidation stoichiometry -- name: Cobalt and Copper Mobilization from Sulfide Minerals - description: 'Ferric iron generated by At. ferrooxidans chemically oxidizes cobalt-bearing framboidal - pyrite and copper sulfides (chalcopyrite, covellite) in the Rammelsberg tailings. The reaction attacks - pyrite surfaces where cobalt is concentrated, releasing Co²⁺, Cu²⁺, Fe²⁺, and sulfate into solution. - Mineralogical analysis confirmed that cobalt occurs on the surface of framboidal pyrite and is mainly - leached by microbial attack. The consortium achieved 91% cobalt recovery and 57% copper recovery from - bulk tailings (Co 0.02%, Cu 0.12%) after 13 days at 10% pulp density in stirred tank reactors. From - flotation concentrate (Co 0.06%, Cu 0.57%), recovery was 66% cobalt and 33% copper. The ferric-mediated - oxidation represents the dominant metal solubilization mechanism (indirect bioleaching), with ferrous - iron released during mineral oxidation being recycled back to At. ferrooxidans for re-oxidation, creating - a closed iron redox cycle. - - ' - interaction_type: MUTUALISM - scope: PAIRWISE - source_taxon: - preferred_term: Acidithiobacillus ferrooxidans + snippet: This indicates that due to bacterial activity, the iron(II) was constantly converted to iron(III), + causing metal sulfide dissolution. + explanation: Exact Rammelsberg Results3.3 links reactor iron oxidation to mineral dissolution; not partner-specific + fitness or rate limitation. + participating_taxa: + - preferred_term: Acidithiobacillus ferrooxidans term: id: NCBITaxon:920 label: Acidithiobacillus ferrooxidans - target_taxon: - preferred_term: Acidithiobacillus thiooxidans + - preferred_term: Acidithiobacillus thiooxidans term: id: NCBITaxon:930 label: Acidithiobacillus thiooxidans +- name: Cobalt and Copper Mobilization from Sulfide Minerals + description: The Rammelsberg enrichment achieved 91% cobalt and 57% copper extraction from bulk tailings after + 13 days in laboratory stirred-tank reactors; flotation concentrate yielded 66% cobalt and 33% copper. Mineral + analysis associates cobalt with framboidal pyrite, and the authors interpret greater cobalt dissolution than + in the abiotic control as microbial/ferric-iron attack. These are community and mineral outcomes, not demonstrated + mutualism or a closed partner-specific iron cycle. The listed Acidithiobacillus taxa are dominant recorded members, + not an exhaustive community or a demonstrated pairwise benefit. + scope: COMMUNITY_LEVEL metabolites: - preferred_term: Fe(III) term: @@ -238,140 +214,71 @@ ecological_interactions: id: CHEBI:16189 label: sulfate notes: Product of sulfide mineral oxidation - downstream: - - target: Iron Oxidation and Ferric Iron Generation - description: Fe²⁺ released from mineral oxidation is recycled to At. ferrooxidans - - target: Sulfur Oxidation and Acid Generation - description: Elemental sulfur produced during mineral oxidation is substrate for At. thiooxidans evidence: - - reference: doi:10.1016/j.hydromet.2020.105484 + - reference: doi:10.1016/j.hydromet.2020.105443 supports: SUPPORT evidence_source: IN_VITRO - snippet: This material still contains several sulfide minerals (pyrrhotite, pyrite, sphalerite, pentlandite, - violarite, chalcopyrite) and significant amounts of metals (Zn, Ni, Cu, Co, rare earth elements) - explanation: Quantifies metal recovery efficiency - - reference: doi:10.1016/j.hydromet.2020.105484 + snippet: The microbial consortium achieved 91% cobalt and 57% copper extraction from bulk tailings after 13 + days in STR. + explanation: Correct exact-system source for the bulk-tailings recovery result; the former105484 DOI describes + a different Finnish study. + - reference: doi:10.1016/j.hydromet.2020.105443 supports: SUPPORT evidence_source: IN_VITRO - snippet: Cobalt dissolution kinetics were highly improved by the bacterial activity, - whatever the consortium. This is consistent with the presence of Co in the pyrite - in the secondary ore - explanation: Establishes cobalt association with pyrite and the role of bacterial - activity in cobalt leaching from the secondary ore. -- name: Sulfur Oxidation and Acid Generation - description: 'Acidithiobacillus thiooxidans oxidizes elemental sulfur (S⁰) that accumulates as a passivation - layer on sulfide mineral surfaces during ferric iron attack. The oxidation reaction (S²⁻ + 2H₂O + - 2O₂ → SO₄²⁻ + 4H⁺) produces sulfuric acid, maintaining the low pH (pH 1.5-2.5) required for ferric - iron solubility and optimal acidophilic bacterial activity. Removal of the elemental sulfur passivation - layer is essential for sustained bioleaching kinetics, as sulfur accumulation would otherwise block - access of ferric iron and bacteria to fresh mineral surfaces. At. thiooxidans employs the sox system - (soxAX, soxB, soxCD, soxYZ), sulfide oxidoreductase (SQR), and sulfur dioxygenase (SDO) to catalyze - sulfur oxidation. The sulfuric acid produced lowers pH, solubilizes additional metals through acid - leaching, and creates the extreme acidic environment that excludes neutrophilic competitors, maintaining - consortium dominance. This sulfur-oxidizing function is synergistic with At. ferrooxidans iron oxidation, - as the two organisms together prevent both ferric hydroxide precipitation (through low pH) and sulfur - passivation. - - ' - interaction_type: MUTUALISM - scope: PAIRWISE - source_taxon: - preferred_term: Acidithiobacillus thiooxidans + snippet: For the flotation concentrates, bioleaching tests showed 66% cobalt and 33 % copper recovery after + 13 days. + explanation: Separately supports the concentrate endpoint without treating it as a reciprocal microbial benefit. + participating_taxa: + - preferred_term: Acidithiobacillus ferrooxidans + term: + id: NCBITaxon:920 + label: Acidithiobacillus ferrooxidans + - preferred_term: Acidithiobacillus thiooxidans term: id: NCBITaxon:930 label: Acidithiobacillus thiooxidans +- name: Sulfur Oxidation and Acid Generation + description: Rammelsberg shake-flask bioleaching decreased pH, whereas uninoculated inhibited controls increased + in pH; the authors attribute the decrease to sulfuric-acid production by sulfide and sulfur biooxidation. This + is a community acidification process. The source does not isolate an Acidithiobacillus thiooxidans-specific + passivation-removal pathway, the named enzyme systems, or acidification-mediated benefit to Acidithiobacillus + ferrooxidans. The listed Acidithiobacillus taxa are dominant recorded members, not an exhaustive community or + a demonstrated pairwise benefit. + scope: COMMUNITY_LEVEL metabolites: - preferred_term: elemental sulfur term: id: CHEBI:26833 label: sulfur atom - notes: Passivation layer on mineral surfaces, substrate for At. thiooxidans - preferred_term: sulfuric acid term: id: CHEBI:26836 label: sulfuric acid - notes: Maintains pH 1.5-2.5 for ferric iron stability - preferred_term: sulfate term: id: CHEBI:16189 label: sulfate - notes: Final oxidation product biological_processes: - preferred_term: sulfur compound metabolic process term: id: GO:0006790 label: sulfur compound metabolic process - downstream: - - target: Iron Oxidation and Ferric Iron Generation - description: Low pH maintained by sulfuric acid prevents ferric iron precipitation evidence: - - reference: PMID:39770610 + - reference: doi:10.1016/j.hydromet.2020.105443 supports: SUPPORT evidence_source: IN_VITRO - snippet: However, its use in biometallurgical applications poses environmental issues through its - effect on the pH levels in bioleaching systems, which produce acid mine drainage in rivers and lakes - adjacent to mines - explanation: Documents sulfur oxidation pathway and enzymes - - reference: doi:10.1016/j.hydromet.2020.105484 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: In the framework of the European project NEMO (Near-zero-waste recycling of low-grade sulfidic - mining waste for critical-metal, mineral and construction raw-material production in a circular - economy), new ways to valorize sulfidic tailings are being developed through the recovery of valuable - metals and critical raw materials and the transformation of the residual in clean mineral fraction - to be used for the mass production of cement, concrete and construction products - explanation: Establishes complementary roles of iron and sulfur oxidizers -- name: Autotrophic Carbon Fixation in Acidic Environment - description: 'Both Acidithiobacillus ferrooxidans and At. thiooxidans are obligate chemolithoautotrophs - that fix atmospheric CO₂ via the Calvin-Benson-Bassham cycle using energy derived from iron or sulfur - oxidation. This autotrophic metabolism eliminates the need for organic carbon supplementation in the - bioleaching system, reducing operational costs and enabling growth on the inorganic tailings substrate - alone. Carbon fixation couples to the primary energy-generating reactions (iron and sulfur oxidation), - with ATP and reducing equivalents (NADH) produced from chemolithotrophic electron transport chains - driving CO₂ assimilation into biomass. The autotrophic growth strategy is well-adapted to the extreme - oligotrophic conditions of acidic mine tailings where organic carbon is scarce, allowing the consortium - to thrive and catalyze metal mobilization without external organic nutrients. - - ' - interaction_type: COMMENSALISM - scope: PAIRWISE - source_taxon: - preferred_term: Acidithiobacillus ferrooxidans + snippet: due to sulfuric acid production by sulfide and sulfur biooxidation. + explanation: Exact Rammelsberg Results3.2 attributes the observed pH decrease to biooxidation; not a strain-resolved + sulfur-passivation perturbation. + participating_taxa: + - preferred_term: Acidithiobacillus ferrooxidans term: id: NCBITaxon:920 label: Acidithiobacillus ferrooxidans - target_taxon: - preferred_term: Acidithiobacillus thiooxidans + - preferred_term: Acidithiobacillus thiooxidans term: id: NCBITaxon:930 label: Acidithiobacillus thiooxidans - metabolites: - - preferred_term: carbon dioxide - term: - id: CHEBI:16526 - label: carbon dioxide - notes: Sole carbon source for autotrophic growth - - preferred_term: ATP - term: - id: CHEBI:15422 - label: ATP - notes: Energy currency from chemolithotrophic metabolism - biological_processes: - - preferred_term: carbon fixation - term: - id: GO:0015977 - label: carbon fixation - - preferred_term: reductive pentose-phosphate cycle - term: - id: GO:0019253 - label: reductive pentose-phosphate cycle - evidence: - - reference: PMID:39770610 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: ferrooxidans catalyzes the extraction of elements by generating iron (III) ions in oxic conditions, - which are able to react with metal sulfides - explanation: Documents autotrophic metabolism of At. ferrooxidans environmental_factors: - name: pH value: 1.5-2.5 @@ -589,3 +496,41 @@ cultivation_setup: snippet: perform bioleaching in 2 L-stirred tank reactors, with three microbial cultures growing at 42, 48 and 55 °C explanation: Stirred-tank bioreactor (2 L) bioleaching operated at three temperatures (42-55 °C). +discussions: +- discussion_id: rammelsberg_exact_system_scope + prompt: Which strain-specific exchanges and feedbacks are established in the Rammelsberg enrichment? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Iron Oxidation and Ferric Iron Generation + - ecological_interactions#Cobalt and Copper Mobilization from Sulfide Minerals + - ecological_interactions#Sulfur Oxidation and Acid Generation + rationale: The correct primary study is doi:10.1016/j.hydromet.2020.105443;105484 concerns Finnish secondary ore, + while PMID:39770610 is a general review. The inoculum contained four named strains and indigenous organisms + were detected. Dominance by the two recorded Acidithiobacillus taxa does not establish a defined two-member + community or reciprocal fitness. General iron/sulfur chemistry is not a demonstrated partner-specific recycling/passivation + feedback, and intrinsic carbon fixation is not commensal exchange. Retain supported community processes and + the iron-to-mineral-dissolution arrow without the other three feedback arrows or carbon-fixation interaction. + Non-graph identity, industrial-scale and citation claims require separate curation under issue1753. + evidence: + - reference: doi:10.1016/j.hydromet.2020.105443 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: Some indigenous bacteria (~19%) were detected at the end of the leaching tests in STR + explanation: The exact study explicitly reports additional community members. + - reference: doi:10.1016/j.hydromet.2020.105443 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: The mixed consortium containing mainly At. ferrooxidans and At. thiooxidans remained stable throughout + the experiment. + explanation: Supports these taxa as dominant, not exclusive or proven reciprocal beneficiaries. +curation_history: +- timestamp: '2026-10-07T15:25:10Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: Re-evidence community iron oxidation and retain the source-backed mineral-dissolution direction without + COMMENSALISM, iron-transport misannotation or rate-limiting inference.; Re-evidence positive bulk/concentrate + metal recovery using the exact Rammelsberg DOI; remove MUTUALISM and two unproven partner-specific recycling + arrows.; Retain observed acidification and authors sulfur-oxidation interpretation without MUTUALISM, enzyme/passivation + certainty or the untested sulfur-to-iron feedback. Issue#1750; reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml + llm_assisted: true diff --git a/kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml b/kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml index 07edf9fb1..2f22aebe6 100644 --- a/kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml +++ b/kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml @@ -99,7 +99,8 @@ taxonomy: ecological_interactions: - name: YL-JM2C BDE-47 initiation description: Rhizorhabdus wittichii YL-JM2C initiates aerobic BDE-47 oxidation through TcsAaAb, producing 2,4-dibromophenol - and 3,5-dibromocatechol. The 2,4-DBP branch is a dead-end for YL-JM2C and becomes the substrate for JMP134 TfdB hydroxylation. + and 3,5-dibromocatechol. The 2,4-DBP branch is a dead-end for YL-JM2C and becomes the substrate for JMP134 TfdB + hydroxylation. interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -118,58 +119,67 @@ ecological_interactions: id: GO:0006805 label: xenobiotic metabolic process downstream: - - target: JMP134 2,4-dibromophenol rescue - description: YL-JM2C-generated 2,4-dibromophenol is subsequently converted to 3,5-dibromocatechol by JMP134 TfdB. + - target: JMP134 2,4-dibromophenol conversion + description: YL-JM2C-generated 2,4-dibromophenol is subsequently converted to 3,5-dibromocatechol by JMP134 + TfdB. evidence: - reference: PMID:42364169 supports: SUPPORT evidence_source: IN_VITRO - snippet: TcsAaAb from strain YL-JM2C catalyzed the initial conversion of BDE-47 into 2,4-dibromophenol (2,4-DBP) and 3,5-dibromocatechol - (3,5-DBC) + snippet: TcsAaAb from strain YL-JM2C catalyzed the initial conversion of BDE-47 into 2,4-dibromophenol (2,4-DBP) + and 3,5-dibromocatechol (3,5-DBC) explanation: Supports YL-JM2C as the first transformer of BDE-47. - reference: PMID:42364169 supports: SUPPORT evidence_source: IN_VITRO snippet: As a dead-end intermediate in strain YL-JM2C explanation: Supports 2,4-DBP as a YL-JM2C dead-end intermediate. -- name: JMP134 2,4-dibromophenol rescue - description: Cupriavidus necator JMP134 hydroxylase TfdB converts the YL-JM2C dead-end 2,4-dibromophenol product to 3,5-dibromocatechol, - linking YL-JM2C's initial BDE-47 attack to the downstream ortho-cleavage pathway shared by both strains. - interaction_type: SYNTROPHY - scope: PAIRWISE - source_taxon: - preferred_term: Cupriavidus necator JMP134 - term: - id: NCBITaxon:264198 - label: Cupriavidus pinatubonensis JMP134 - target_taxon: - preferred_term: Rhizorhabdus wittichii YL-JM2C - term: - id: NCBITaxon:160791 - label: Rhizorhabdus wittichii +- name: JMP134 2,4-dibromophenol conversion + description: Cupriavidus necator JMP134 hydroxylase TfdB converts the YL-JM2C dead-end 2,4-dibromophenol product + to 3,5-dibromocatechol, linking YL-JM2C's initial BDE-47 attack to the downstream ortho-cleavage pathway shared + by both strains. This is the recipient conversion step in the diffusible cross-feeding relay, not evidence of + a reverse metabolite transfer or improved YL-JM2C fitness. Both strains having a downstream pathway does not + demonstrate exchange of 3,5-DBC back to YL-JM2C. + scope: COMMUNITY_LEVEL biological_processes: - preferred_term: xenobiotic metabolic process term: id: GO:0006805 label: xenobiotic metabolic process downstream: - - target: Consortium BDE-47 removal - description: Removal of the 2,4-DBP bottleneck connects the two isolate pathways and enables community-level BDE-47 degradation. + - target: Consortium BDE-47 removal without 2,4-DBP accumulation + description: JMP134 conversion of the YL-JM2C-derived 2,4-DBP prevents that intermediate from accumulating during + consortium treatment. It is not required for disappearance of the parent BDE-47, which also occurred in the + YL-JM2C monoculture. evidence: - reference: PMID:42364169 supports: SUPPORT evidence_source: IN_VITRO - snippet: 2,4-DBP) was subsequently transformed into the latter (3,5-DBC) by the hydroxylase TfdB from strain JMP134 + snippet: 2,4-DBP) was subsequently transformed into the latter (3,5-DBC) by the hydroxylase TfdB from strain + JMP134 explanation: Supports JMP134 hydroxylation of the YL-JM2C-derived 2,4-DBP intermediate. - reference: PMID:42364169 supports: SUPPORT evidence_source: IN_VITRO - snippet: The resulting 3,5-DBC was catabolized through the downstream ortho-cleavage pathway present in both strains. + snippet: The resulting 3,5-DBC was catabolized through the downstream ortho-cleavage pathway present in both + strains. explanation: Supports 3,5-DBC as the shared downstream intermediate. -- name: Consortium BDE-47 removal - description: The mixed YL-JM2C/JMP134 consortium removes BDE-47 from minimal salts medium, releases bromide during low-concentration - BDE-47 degradation, and fully removes BDE-47 from several amended real-wastewater microcosms. - interaction_type: SYNTROPHY + participating_taxa: + - preferred_term: Rhizorhabdus wittichii YL-JM2C + term: + id: NCBITaxon:160791 + label: Rhizorhabdus wittichii + - preferred_term: Cupriavidus necator JMP134 + term: + id: NCBITaxon:264198 + label: Cupriavidus pinatubonensis JMP134 +- name: Consortium BDE-47 removal without 2,4-DBP accumulation + description: The mixed YL-JM2C/JMP134 consortium removes BDE-47 from minimal salts medium, releases bromide during + low-concentration BDE-47 degradation, and fully removes BDE-47 from several amended real-wastewater microcosms. + In the direct comparison, both the mixed culture and YL-JM2C alone removed BDE-47 within 20 hours, but only + the monoculture accumulated stoichiometric 2,4-DBP. The consortium therefore clears this intermediate as well + as the parent. Pathway reconstruction and bromide release support catabolism, not an empirical closed carbon + balance or demonstrated donor-feedback benefit. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Rhizorhabdus wittichii YL-JM2C @@ -190,7 +200,8 @@ ecological_interactions: supports: SUPPORT evidence_source: IN_VITRO snippet: Bioaugmentation with this consortium achieved complete removal of BDE-47 in real wastewater samples. - explanation: Supports the emergent wastewater BDE-47 removal endpoint. + explanation: Supports the positive wastewater parent-removal endpoint; not proof that parent disappearance requires + JMP134 or that every carbon atom was mineralized. - reference: PMID:42364169 supports: SUPPORT evidence_source: IN_VITRO @@ -342,21 +353,60 @@ external_resources: explanation: Identifies the primary publication that characterizes the SynCom. discussions: - discussion_id: bde47-monoculture-comparison - prompt: The main text reports a YL-JM2C 2,4-DBP bottleneck, a JMP134 rescue step, and complete wastewater removal by the - mixed consortium, but the machine-extracted supplement text did not recover every numeric point from the image-only figures. + prompt: The main text reports a YL-JM2C 2,4-DBP bottleneck, a JMP134 rescue step, and complete wastewater removal + by the mixed consortium, but the machine-extracted supplement text did not recover every numeric point from + the image-only figures. kind: CURATION_TODO status: OPEN - rationale: A future curator should inspect the PDF figures for the precise BDE-47 residual time courses in the YL-JM2C monoculture, - JMP134 monoculture, mixed, transwell, and wastewater panels. + rationale: A future curator should inspect the PDF figures for the precise BDE-47 residual time courses in the + YL-JM2C monoculture, JMP134 monoculture, mixed, transwell, and wastewater panels. + evidence: + - reference: PMID:42364169 + supports: SUPPORT + evidence_source: IN_VITRO +- discussion_id: bde47_relay_not_parent_rescue + prompt: Does clearing 2,4-DBP feed back on YL-JM2C metabolism or fitness, and what is the carbon fate? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#YL-JM2C BDE-47 initiation + - ecological_interactions#JMP134 2,4-dibromophenol conversion + - ecological_interactions#Consortium BDE-47 removal without 2,4-DBP accumulation + rationale: The main-text monoculture comparison and transwell experiment support diffusible intermediate cross-feeding. + Parent disappearance occurs in YL-JM2C alone, while the partner prevents2,4-DBP accumulation. Current SYNTROPHY + does not assert obligacy; the unresolved criterion is product-removal feedback making the donor metabolism more + favourable. The demonstrated relay, functional enzymes, sequential growth and positive wastewater endpoints + remain. They do not independently establish reciprocal fitness, return transfer of3,5-DBC or a closed carbon + balance. Preserve the pre-existing image-panel curation task; this review did not inspect supplement pixels. + Non-graph SYNTROPHIC_PARTNER roles remain for issue1753. evidence: - reference: PMID:42364169 supports: SUPPORT evidence_source: IN_VITRO + snippet: when strain YL-JM2C was inoculated alone, BDE-47 disappeared within 20 h but accompanying by stoichiometric + accumulation of 2,4-DBP. + explanation: Main-text contrast distinguishes parent removal from clearance of the intermediate. + - reference: PMID:42364169 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: this metabolic relay is mediated by cross-feeding of diffusible metabolites rather than direct physical + contact. + explanation: Transwell interpretation supports the positive cross-feeding relay, not reverse exchange or donor-feedback + fitness. curation_history: - timestamp: '2026-09-20T04:53:21Z' curator: codex action: CREATE_RECORD - changes: Created CommunityMech:000388 for the Rhizorhabdus wittichii YL-JM2C / Cupriavidus necator JMP134 BDE-47 degradation - SynCom from PMID:42364169, including exact strain membership, the TcsAaAb-to-TfdB metabolic relay, minimal-salts and wastewater - BDE-47 assays, bromide release, and the linked NCBI BioProjects. + changes: Created CommunityMech:000388 for the Rhizorhabdus wittichii YL-JM2C / Cupriavidus necator JMP134 BDE-47 + degradation SynCom from PMID:42364169, including exact strain membership, the TcsAaAb-to-TfdB metabolic relay, + minimal-salts and wastewater BDE-47 assays, bromide release, and the linked NCBI BioProjects. + llm_assisted: true +- timestamp: '2026-10-07T15:25:11Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: Retain directly supported YL-JM2C-to-JMP134 intermediate CROSS_FEEDING and its existing downstream direction.; + Rename rescue to conversion, remove the unsupported reverse recipient-to-donor assignment and SYNTROPHY, and + qualify the existing endpoint arrow to intermediate clearance.; Rename the existing consortium endpoint to distinguish + parent disappearance from intermediate accumulation; retain positive removal/bromide evidence without SYNTROPHY + or closed-carbon-balance certainty. Issue#1751; reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml llm_assisted: true diff --git a/kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml b/kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml index a3734575d..ce426d259 100644 --- a/kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml +++ b/kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml @@ -179,9 +179,12 @@ taxonomy: explanation: Supports the 1:1:2 optimized inoculation ratio and the 0.5 starting fraction. ecological_interactions: - name: PPOW aliphatic-aromatic division of labor - description: The PPOW SynCom was interpreted as a functionally complementary consortium in which R. opacus DSM 43250 drives - long-chain C10-C28 alkane degradation while the two Pseudomonas members contribute aromatic catabolism and solvent-stress - tolerance. The source leaves the exact mechanism unresolved, so this is modeled at community scope. + description: 'HYPOTHESIZED: The PPOW SynCom was interpreted as a functionally complementary consortium in which + R. opacus DSM 43250 drives long-chain C10-C28 alkane degradation while the two Pseudomonas members contribute + aromatic catabolism and solvent-stress tolerance. The source leaves the exact mechanism unresolved, so this + is modeled at community scope. Bulk removal and respiratory measurements are positive community observations, + not direct member-resolved substrate allocation or metabolite exchange. The source also contradicts itself about + abiotic and heat-killed controls, so the causal interpretation remains PARTIAL.' interaction_type: NICHE_PARTITIONING scope: COMMUNITY_LEVEL participating_taxa: @@ -217,27 +220,32 @@ ecological_interactions: label: alkane catabolic process evidence: - reference: PMID:42491060 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: Rhodococcus opacus DSM 43250 serves as the principal driver for long-chain alkane (C10-C28) degradation - explanation: Supports the R. opacus alkane-degradation half of the inferred division of labor. + explanation: Supports the R. opacus alkane-degradation half of the inferred division of labor. This is an authors + inference, not a member-resolved measurement. - reference: PMID:42491060 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: P. putida KT2440 targets aromatic fractions, while Pseudomonas sp. VLB120 confers significant solvent tolerance - explanation: Supports the inferred Pseudomonas aromatic-catabolism and stress-tolerance functions. + snippet: P. putida KT2440 targets aromatic fractions, while Pseudomonas sp. VLB120 confers significant solvent + tolerance + explanation: Supports the inferred Pseudomonas aromatic-catabolism and stress-tolerance functions. This is an + authors inference, not a member-resolved measurement. - reference: PMID:42491060 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: Although the specific mechanism remains unclear, we infer that the high degradation efficiency achieved in this - study stems from rational functional complementarity among the consortium members - explanation: Supports keeping the member-level mechanism caveated. + snippet: Although the specific mechanism remains unclear, we infer that the high degradation efficiency achieved + in this study stems from rational functional complementarity among the consortium members + explanation: Supports keeping the member-level mechanism caveated. This is an authors inference, not a member-resolved + measurement. - reference: PMID:42491060 supports: SUPPORT evidence_source: IN_VITRO - snippet: With the exception of toluol, the removal rates for more than a dozen substances with relatively high concentrations - in the waste all exceeded 50% - explanation: Supports the seven-day optimized PPOW-removal outcome associated with the inferred division-of-labor model. + snippet: With the exception of toluol, the removal rates for more than a dozen substances with relatively high + concentrations in the waste all exceeded 50% + explanation: Supports the seven-day optimized PPOW-removal outcome associated with the inferred division-of-labor + model. This observed bulk outcome does not itself validate the inferred member roles. environmental_factors: - name: Optimized incubation temperature value: '30' @@ -409,15 +417,15 @@ external_resources: explanation: Links the cached primary publication to the PPOW SynCom record. discussions: - discussion_id: ppow_syncom_member_mechanism - prompt: Which direct substrates and intermediates are consumed by each of R. opacus DSM 43250, P. putida KT2440, and Pseudomonas - sp. VLB120 during optimized PPOW degradation? + prompt: Which direct substrates and intermediates are consumed by each of R. opacus DSM 43250, P. putida KT2440, + and Pseudomonas sp. VLB120 during optimized PPOW degradation? kind: KNOWLEDGE_GAP status: OPEN attaches_to: - ecological_interactions#PPOW aliphatic-aromatic division of labor - rationale: The source proposes an alkane, aromatic, and solvent-tolerance division of labor after process optimization but - explicitly says the specific mechanism remains unclear; resolving the gap could turn the community-level niche-partitioning - model into direct member-metabolite assertions. + rationale: The source proposes an alkane, aromatic, and solvent-tolerance division of labor after process optimization + but explicitly says the specific mechanism remains unclear; resolving the gap could turn the community-level + niche-partitioning model into direct member-metabolite assertions. proposed_experiments: - name: Strain-resolved PPOW metabolite tracking approach: isotope-assisted metabolomics with monoculture and leave-one-out SynCom controls @@ -430,22 +438,45 @@ discussions: - compound-resolved PPOW depletion - strain abundance over time - labeled intermediate accumulation - decision_criterion: Compound-specific uptake or intermediate buildup is assigned reproducibly to one member or a member - pair under the same biphasic PPOW conditions. + decision_criterion: Compound-specific uptake or intermediate buildup is assigned reproducibly to one member + or a member pair under the same biphasic PPOW conditions. evidence: - reference: PMID:42491060 supports: SUPPORT evidence_source: full_text - snippet: Although the specific mechanism remains unclear, we infer that the high degradation efficiency achieved in this - study stems from rational functional complementarity among the consortium members + snippet: Although the specific mechanism remains unclear, we infer that the high degradation efficiency achieved + in this study stems from rational functional complementarity among the consortium members explanation: Supports leaving the exact interaction mechanism as a knowledge gap. - reference: PMID:42491060 supports: SUPPORT evidence_source: full_text - snippet: Further studies should aim to understand the mechanisms of synergistic interactions within the bacterial consortium + snippet: Further studies should aim to understand the mechanisms of synergistic interactions within the bacterial + consortium explanation: Confirms that the publication leaves the strain-resolved mechanism unresolved. posed_by: codex posed_date: '2026-09-14' +- discussion_id: ppow_control_reporting_conflict + prompt: How should the contradictory primary-source reporting of abiotic and heat-killed controls be reconciled? + kind: CONTROVERSY + status: OPEN + attaches_to: + - ecological_interactions#PPOW aliphatic-aromatic division of labor + rationale: Methods2.4 reports heat-killed controls and subtraction of abiotic removal, whereas the conclusion + says these controls are lacking. Retain the reported positive bulk-removal result while flagging the unresolved + source inconsistency; do not claim either adequately established control performance or complete control absence. + The existing member-mechanism gap remains open, and inferred cross-feeding is not promoted to a directed edge. + The abstract/main-text concentration-unit discrepancy is separately tracked under issue1753. + evidence: + - reference: PMID:42491060 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: heat-killed controls were prepared by autoclaving the inoculum + explanation: Methods2.4 says heat-killed controls were included; this conflicts with the conclusion. + - reference: PMID:42491060 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: We acknowledge that this study lacks abiotic and heat-killed controls + explanation: The conclusion contradicts Methods2.4; neither statement alone resolves actual control performance. metals_present: [] rare_earth_elements_present: [] metal_relevance: NOT_APPLICABLE @@ -454,26 +485,33 @@ curation_history: - timestamp: '2026-09-14T01:27:02Z' curator: codex action: CREATE_COMMUNITY - changes: Created CommunityMech:000371 for the three-member Rhodococcus-Pseudomonas plastic pyrolysis oil waste consortium - from PMID:42491060 / doi:10.3389/fmicb.2026.1817874, including strain-resolved membership, GTDB grounding status, optimized - 2-nonanone biphasic modified-MSM conditions, a caveated community-level aliphatic/aromatic division-of-labor model, and - an open question for member-level mechanism. + changes: Created CommunityMech:000371 for the three-member Rhodococcus-Pseudomonas plastic pyrolysis oil waste + consortium from PMID:42491060 / doi:10.3389/fmicb.2026.1817874, including strain-resolved membership, GTDB grounding + status, optimized 2-nonanone biphasic modified-MSM conditions, a caveated community-level aliphatic/aromatic + division-of-labor model, and an open question for member-level mechanism. llm_assisted: true - timestamp: '2026-09-14T01:31:08Z' curator: codex action: UPDATE_COMMUNITY - changes: 'Addressed adversarial-review issues #875 and #876 on PR #874 by adding exact full-text evidence for the modified-MSM - component recipe, the BP neural-network O2 model endpoint, and the seven-day PPOW component-removal outcome.' + changes: 'Addressed adversarial-review issues #875 and #876 on PR #874 by adding exact full-text evidence for + the modified-MSM component recipe, the BP neural-network O2 model endpoint, and the seven-day PPOW component-removal + outcome.' llm_assisted: true - timestamp: '2026-09-14T01:35:00Z' curator: codex action: UPDATE_COMMUNITY - changes: Removed a causal-graph downstream pointer from the PPOW division-of-labor interaction because it described a measured - removal outcome rather than another named ecological interaction in the same record. + changes: Removed a causal-graph downstream pointer from the PPOW division-of-labor interaction because it described + a measured removal outcome rather than another named ecological interaction in the same record. llm_assisted: true - timestamp: '2026-09-14T02:00:00Z' curator: codex action: UPDATE_COMMUNITY - changes: Replaced two valid but PMC-frontmatter-glued snippets with equivalent body-text snippets that end at word boundaries - in references_cache/PMID_42491060.txt. + changes: Replaced two valid but PMC-frontmatter-glued snippets with equivalent body-text snippets that end at + word boundaries in references_cache/PMID_42491060.txt. + llm_assisted: true +- timestamp: '2026-10-07T15:25:12Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: Retain NICHE_PARTITIONING as an explicit HYPOTHESIZED/PARTIAL interpretation; preserve SUPPORT for measured + bulk removal and document contradictory control reporting without inventing cross-feeding. Issue#1752; reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml llm_assisted: true diff --git a/references_cache/PMID_42491060.md b/references_cache/PMID_42491060.md new file mode 100644 index 000000000..2d140df0e --- /dev/null +++ b/references_cache/PMID_42491060.md @@ -0,0 +1,620 @@ +--- +reference_id: PMID:42491060 +title: 'Synthetic bacterial consortium for degradation of plastic pyrolysis oil waste: + experimental optimization and neural network modeling.' +pmid: '42491060' +pmcid: PMC13375889 +doi: 10.3389/fmicb.2026.1817874 +content_type: full_text +full_text_attempted: true +source_url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13375889/fullTextXML +license: CC BY 4.0 +source_xml_sha256: 25973b43297dd65ea57d4cf385a93b8cf0f0c152fad0b0571544e287ef17f574 +extraction_scope: Complete freshly retrieved article abstract/main body, including + embedded table text and figure captions. Structured XML extraction, not curated + snippet assembly; no figure pixels or supplementary files. +--- + +# Synthetic bacterial consortium for degradation of plastic pyrolysis oil waste: experimental optimization and neural network modeling. + +Copyright © 2026 Jia, Dou, Ballerstedt, Xing and Blank.2026Jia, Dou, Ballerstedt, Xing and +Blankhttps://creativecommons.org/licenses/by/4.0/This is an open-access article distributed under the terms of +the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is +permitted, provided the original author(s) and the copyright owner(s) are credited and that the original +publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or +reproduction is permitted which does not comply with these terms. + +IntroductionThe plastic crisis is omnipresent, ranging from plastic littering to microplastics found in every +niche of the planet, including the human body. To achieve higher recycling quotas, especially for mixed +plastic waste, pyrolysis is a viable option. However, plastic pyrolysis oil waste (PPOW) poses significant +challenges for valorization due to its extreme molecular heterogeneity.MethodsTo reduce this molecular +heterogeneity, we artificially compounded, monitored, and optimized a bacterial consortium capable of +tolerating organic pollutants and utilizing them as carbon and energy sources. Additionally, a back- +propagation (BP) neural network was applied to evaluate O2 consumption as an indicator of microbial activity +and to build a predictive model for process optimization.ResultsThe primary constituents of the PPOW were +alkanes and ε-caprolactam. Within 7 days, the bacterial community demonstrated remarkable efficacy, degrading +alkanes (C10–C28) at rates of 71–100% and achieving complete removal of ε-caprolactam (8,032 mg/mL) and +naphthalene. The AI model predicted O2 consumption with high accuracy (R2 > 0.99).DiscussionThis AI-driven +approach significantly reduces experimental iterations and operational costs for future process optimization. +These results are discussed in the context of a developing open circular plastic economy. + +Graphical Abstract Diagram illustrating a workflow for bioprocess optimization using microbial consortia. +Three colored bacteria represent Rhodococcus, Pseudomonas putida, and Pseudomonas sp. in a biphasic system, +followed by compound analysis with a chromatograph. Results are further processed by a neural network, which +is shown above experimental and prediction data plots. + +Highlights + +Synthetic bacterial consortium are used to remove plastic pyrolysis oil wasteMajority of pollutants can be +cleared in optimized biphasic reaction systemThe biodegradation process can be monitored in a real-time +bioprocess softwareNeural network techniques are used to model and predict the removal process + +1 + +Introduction + +Plastics have become the most relevant materials in modern societies. Worldwide plastic production is +anticipated to double within the next two decades and is projected to nearly quadruple by 2050 (Lebreton and +Andrady, 2019). Given the limitations of mechanical recycling, non-recovered plastics cause severe pollution +and threaten life of animals and humans. The necessity for a “post-consumer plastics economy” has become +evident and is influencing political and business choices (He et al., 2026). The key to achieving a circular +economy is to identify appropriate technologies. Reprocessing plastics without compromising function and value +necessitates a paradigm shift in our understanding of plastic recycling. The hydrocarbon resource targeted for +recovery has to demonstrate potential for diverse and high-value applications (Wang et al., 2022), a concept +also known as loop-recycling. This ranges from the conversion of plastics into highly efficient fuels and oil +products for the polymer industry. + +CARBOLIQ GmbH (Remscheid, Germany) has demonstrated the ability to transform mixed plastic waste into a liquid +resource by applying a one-stage conversion technology, catalytic tribochemical conversion (CTC). This +technology integrates thermal, catalytic, and mechanochemical (tribochemical) mechanisms in a direct +liquefaction process. CTC operates under mild conditions at atmospheric pressure and process temperatures of +around 400°C. The solid input material is continuously fed to the hot liquid system enriched with a +specialized catalyst capable of cleaving polymer chains. The oiled plastic is separated by distillation with +obtainment of a plastic pyrolysis oil waste (PPOW) fraction. This fraction can be difficult to valorize, as it +constitutes a mixture of molecules with varying chemical and physical properties. + +Considering the complexity of the substrate, we propose a strategy to treat this complex fraction using +artificially compounded strains in a synthetic microbial consortium (Deng et al., 2025; Zhou and Zeeshan Ul +Haq, 2025). Pseudomonads play a crucial role in element cycling (Palleroni, 1984) and exhibit significant +potential for bioremediation. They boast a diverse repertoire of pathways for degrading various non-natural +and non-inherent pollutants, particularly aromatic organics (Esikova et al., 2023; He et al., 2026; Vetal et +al., 2023; Zhou and Zeeshan Ul Haq, 2025). Among these, Pseudomonas putida KT2440 (Bagdasarian et al., 1981; +Bleem et al., 2024) stands out as the most extensively characterized saprophytic Pseudomonas, maintaining its +ability to thrive and perform essential functions in the environment. It exhibits catabolic potential toward a +wide range of natural aromatic compounds. Pseudomonas sp. VLB120 (Guzik et al., 2021; Zhou and Zeeshan Ul Haq, +2025) underwent examination for its inherent tolerance to toxic compounds like toluene and styrene, with +genomic analyses identifying homologs of known solvent-tolerance genes. Rhodococcus bacteria are widely +acknowledged for their significant potential in bioremediation and have been successfully employed for the +removal of contaminants from soil, water, and air (Deng et al., 2025). Rhodococcus opacus DSM 43250 is a Gram- +positive bacterium that was first isolated from soil. Its prominent metabolic characteristics encompass +limited catabolic repression by readily available carbon sources (Anokhina et al., 2025) and adaptable +biodegradation pathways for both sugars and aromatics (Henson et al., 2018; Liu et al., 2018). + +In this study, the microbial consortium consisted of three bacterial strains, Rhodococcus opacus DSM 43250, +Pseudomonas putida KT2440, and Pseudomonas sp. VLB120. We hypothesized that this consortium could +synergistically degrade PPOW in a biphasic system. The PPOW was characterized and used as a carbon and energy +source for the synthetic microbial consortium within a 2-nonanone-based biphasic system to enhance substrate +bioavailability. The degradation of PPOW by bacterial consortium was evaluated by analyzing degradation ratios +of each of its major components following process enhancement. To characterize the growth dynamics of the +consortium, a three-layer back-propagation (BP) neural network was employed to model the experimental data and +predict oxygen consumption in subsequent experiments. The novelty of this work lies in the utilization of +CARBOLIQ derived PPOW, the use of 2-nonanone as the organic phase, the AI driven O2 prediction model, and the +complete removal of ε-caprolactam. This integrated approach achieves significant PPOW degradation efficiency +while remaining cost-effective. Furthermore, this study addresses multiple SDGs by converting plastic waste +into valuable biomass, providing an alternative to CO2 emitting incineration, preventing marine microplastic +pollution, and integrating AI driven process optimization (The Global Goals, 2015a; The Global Goals, 2015b; +The Global Goals, 2015c; The Global Goals, 2015d). Thus, this bioprocess thus represents a practical step +toward the UN Sustainable Development Goals. + +2 + +Materials and methods + +2.1 + +Chemicals + +PPOW was supplied by CARBOLIQ GmbH (Remscheid, Germany). Alkane standard solution was purchased from Merck +(Darmstadt, Germany). Water was purified using a Milli-Q Academic System (18.2 MΩ cm; 0.22-μm filter) +(Millipore, Molsheim, France). Other chemicals used in this work were obtained from Carl Roth (Karlsruhe, +Germany) and Sigma-Aldrich (St. Louis, MO, United States), unless stated otherwise. + +2.2 + +Components of culture medium + +The precultures were made in the Delft mineral salt medium (MSM). The final medium composition per liter was +3.88 g of K2HPO4, 1.63 g of NaH2PO4, 2.00 g of (NH4)2SO4, 0.1 g of MgCl2 ⋅ 6 H2O, 10 mg of EDTA, 2 mg of ZnSO4 +⋅ 7 H2O, 1 mg of CaCl2 ⋅ 2 H2O, 5 mg of FeSO4 ⋅ 7 H2O, 0.2 mg of Na2MoO4 ⋅ 2 H2O, 0.2 mg of CuSO4 ⋅ 5 H2O, 0.4 +mg of CoCl2 ⋅ 6H2O, and 1 mg of MnCl2 ⋅ 2 H2O, supplemented with 20 mM sodium benzoate as carbon source. +Precultures of single strains consisted of 10 mL medium in 50 mL Erlenmeyer flasks. Prior to inoculation, all +strains were pre-cultured for 24 h at 30°C and 200 rpm. Cells were harvested in the late exponential growth +phase (OD600 = 1.0). + +2.3 + +Bacteria + +Rhodococcus opacus DSM 43250, Pseudomonas putida KT2440, and Pseudomonas sp. VLB120 were stored in the strain +collection of the Institute of Applied Microbiology (RWTH Aachen University, Aachen, Germany). + +2.4 + +Biodegradation reaction + +For the two-phase reaction, cells were cultured at the specified temperature in a modified MSM (Demling et +al., 2020). The standard phosphate buffer capacity of the medium was increased three-fold to counteract +acidification during Pseudomonas cultivation. The final aqueous culture medium composition per liter was: +11.64 g of K2HPO4, 4.89 g of NaH2PO4, 2.00 g of (NH4)2SO4, 0.1 g of MgCl2 ⋅ 6H2O, 10 mg of EDTA, 2 mg of ZnSO4 +⋅ 7H2O, 1 mg of CaCl2 ⋅ 2H2O, 5 mg of FeSO4 ⋅ 7H2O, 0.2 mg of Na2MoO4 ⋅ 2H2O, 0.2 mg of CuSO4 ⋅ 5H2O, 0.4 mg +of CoCl2 ⋅ 6H2O, and 1 mg of MnCl2 ⋅ 2H2O. Ethyl decanoate or 2-nonanone was selected as the organic phase in +the reaction system, which contains PPOW as the main carbon and energy source, with 0.05% (w/v) yeast extract +added to promote cell growth. + +To investigate the O2 consumption rate under various cultivation conditions, 200 mL anaerobic serum bottles +with aluminum caps were used. The total volume of the biphasic medium was 20 mL and aeration was provided +solely via the headspace. The cell densities of the individual strains were quantified by measuring the +optical density at 600 nm (OD600). These experimental conditions were also applied to CO2 production +measurements, except that the reaction volume consisted of 50 mL medium in a 1 L Schott-Duran bottle. The +inoculum was prepared by mixing the three strains at a specified ratio and centrifuging the suspension at +5,000 rpm for 10 min. The resulting pellet was washed twice with sterile MSM to remove residual benzoate. The +final cell density was adjusted to an OD600 of 1.0 using sterile medium and a 10% (v/v) inoculum was +transferred into the biphasic reaction system. To distinguish between biotic degradation and abiotic loss +(e.g., volatilization), heat-killed controls were prepared by autoclaving the inoculum (121°C, 20 min) and +incubating under identical conditions. Net biodegradation efficiency was calculated by subtracting the removal +percentage observed in abiotic controls from that in biotic samples to account for losses due to +volatilization and adsorption. + +2.5 + +Extraction of residual PPOW + +Residual PPOW was sampled by liquid-liquid extraction. Briefly, broth culture (50 mL) was extracted twice with +a five-volumes of n-hexane. After removing the aqueous phase using a separating funnel, the residual +concentration of PPOW was determined by gas chromatography equipped with a flame ionization detector (GC-FID). +To validate the liquid-liquid extraction procedure, recovery experiments were conducted by spiking sterile +media with known concentrations of target compounds (ε-caprolactam and alkanes). The samples were processed +using the standard extraction protocol, and recovery rates were calculated as the ratio of measured to spiked +concentrations. Average recoveries ranged from 95 to 105%, with relative standard deviations (RSD) below 5%, +confirming the reliability of the method. Data were analyzed using OriginPro. Results are expressed as mean ± +standard deviation (SD) from three independent replicates. One-way ANOVA followed by Tukey’s multiple +comparison test was employed to evaluate differences between compounds. Statistical significance was set at p +< 0.05. + +2.6 + +Analytical methods + +2.6.1 + +CO2 measurement + +A BCP-CO2 gas analyzer coupled with a bioprocess software (BlueSens Gas Sensor GmbH, Herten, Germany) was used +for continuous, real-time in-situ CO2 analysis. The CO2 concentration was monitored via infrared light, which +is attenuated by the analyte gas and reflected onto the sensor’s detector unit. The sensor was airtightly +affixed to the opening of a 1 L static Schott-Duran bottle used as the culture vessel. Measurements were +conducted under static conditions for up to 1 week, with the maximum duration constrained by oxygen +availability for microbial metabolism. + +2.6.2 + +Gas-chromatography to assess O2 depletion + +The O2 was measured by an SRI 8610C Multi-detector Gas Chromatograph (GC) coupled with a helium ionization +detector (HID). A HayeSepD Pre-column (2 mm × 2 m) and a main column (Molsieve 13x) were used to separate O2 +from the gas mixture. O2 content was quantified using a standard curve. The column was connected to a thermal +conductivity detector (TCD, 157°C) at higher concentrations and a HID (100 V, 204°C) at lower concentrations. +Helium carrier gas was supplied at 48 mL/min, and the column was operated isothermally at 60°C. + +2.6.3 + +Gas chromatography-mass spectrometry (GC-MS) + +The original sample and alkane standard solution were analyzed using GC-MS after filtration and a 10-fold +dilution with n-hexane. The GC-MS analysis was performed using a Shimadzu GC-MS QP2010 Ultra system equipped +with a 30 m Rtx-5MS column (internal diameter, 0.25 mm, film thickness, 0.25 μm). Helium served as the carrier +gas at a flow rate of 3 mL/min, and 1 μL of the sample was injected in splitless mode. The GC oven temperature +was programmed as follows: initial temperature of 50°C, ramped at 6°C/min to 280°C, and held for 5 min. + +2.6.4 + +GC-FID + +Hexane extracts (1.0 μL) of PPOW were analyzed using a Hewlett Packard 5890 Series II GC equipped with a flame +ionization detector (FID) and 30 m long ZB-WAX column (internal diameter, 0.25 mm, film thickness, 0.25 μm). +Nitrogen was used as the carrier gas. The injector and detector temperatures were maintained at 200 and 290°C, +respectively. The GC oven temperature was programmed as follows: an initial temperature of 40°C held for 1 +min, ramped at 1°C/min to 50°C, followed by a rapid increase at 40°C/min to 200°C, and held for a total run +time of 35 min. Calibration curves were plotted using standard solutions of alkanes (C10-C28), ε-caprolactam, +ethylbenzol, cumene, naphthalin and toluene. The method exhibited excellent linearity over the concentration +range of 10–1,800 μg/mL with correlation coefficients (R2) > 0.99. The limits of detection (LOD) and +quantification (LOQ) were determined based on signal-to-noise ratios of 3:1 and 10:1, respectively. + +2.6.5 + +Neural network model + +A three-layer back-propagation neural network with an input-hidden-output architecture of 2-5-1 nodes was +constructed. The input variables were time (hours) and one of the three operational parameters (temperature, +organic-to-aqueous phase ratio, or PPOW content in the second phase). The output variable was O2 depletion +(dimensionless, normalized to initial concentration). The hidden layer used a sigmoid activation function f(x) += 1/(1 + e–x), while the output layer used a linear activation function. All input and output data were +normalized to the range [0, 1] using min-max scaling: xnorm = (x − xmin)/(xmax–xmin). The dataset comprised +120 experimental samples and was randomly split into training (70%) and testing (30%) sets. To ensure model +robustness and address the need for rigorous validation beyond a simple split, a five-fold cross-validation +was additionally performed on the training dataset. Hyperparameter tuning was conducted via grid search, +optimizing the number of hidden nodes (tested range: 3–7), learning rate, and L2 regularization weight. +Overfitting was mitigated using early stopping with a patience of 500 epochs and L2 regularization with λ = +0.01. The model performance was evaluated using the coefficient of determination (R2) and mean squared error +(MSE). + +2.6.6 + +Statistical analysis + +All experiments were performed in triplicate (n = 3), and data are presented as mean ± standard deviation +(SD). Statistical analyses were conducted using Python3.12. One-way analysis of variance (ANOVA) was employed +to determine the statistical significance of the differences in O2 depletion rates across the various +optimization conditions (temperature, organic-to-aqueous phase ratio, and PPOW content). For factors yielding +a significant overall effect (p < 0.05), Tukey’s post-hoc test was performed for multiple pairwise comparisons +to identify specific differences between the optimal condition and other tested parameters. A p-value of < +0.05 was considered statistically significant. + +3 + +Results and discussion + +3.1 + +Substrate characterization + +GC-MS and GC-FID were used to determine the composition of the PPOW. Given that the end product of the plastic +pyrolysis process consists of alkanes of various chain lengths, it was hypothesized that the sample would +contain a substantial quantity of alkanes. Based on the raw material used, the sample was also expected to +contain various aromatic compounds. From the result of GC-MS in Figure 1, the predominant peaks in the sample +were identified as alkanes, and the mass spectrometry results revealed that the non-alkane substances with +elevated contents included cumene, toluol, ethylbenzol, naphthalin, and ε-caprolactam. Notably, ε-caprolactam +exhibited the highest content (8,032 μg/mL), far exceeding that of alkanes. We verified this result using GC- +FID and quantified the content of these five substances (Supplementary Figures 1, 2 and Supplementary Table +1). + +FIGURE 1Substrate characterization by GC-MS. The plastic pyrolysis oil waste (PPOW, red) was filtered and +diluted 5 times by n-hexane and was compared against an alkane standard.Line graph comparing alkane standards +and an original sample by plotting relative intensity (in millivolts) versus time (in minutes). The original +sample shows a prominent peak around 15 minutes, while alkane standards produce multiple sharp peaks beyond 20 +minutes. + +3.2 + +Optimization of biotic conditions and consortium synergy + +Given the heterogeneous nature of PPOW, which contains both aliphatic hydrocarbons and toxic aromatic +compounds, a single microbial strain is unlikely to possess the complete metabolic repertoire required for its +complete degradation. Therefore, we rationally designed a synthetic consortium based on the principle of +metabolic division of labor. Biodegradation of PPOW by a synthetic bacterial community composed of Rhodococcus +opacus DSM 43250, Pseudomonas putida KT2440 and Pseudomonas sp. VLB120 was investigated in an organic-aqueous +two-phase system. To mitigate the toxic effects of PPOW on strains, previouly used second phase compounds, +namely 2-nonanone (Grütering et al., 2024) and ethyl decanoate (Demling et al., 2020), served as a second +organic phase each. Their role was to reduce the concentration of the organic components in the aqueous phase +while serving as a substrate reservoir. A BCP-CO2 gas analyzers were used for online real-time CO2 analysis +(Surger and Blank, 2022). The optimal second phase was determined by comparing the release of CO2 from the +two-phase reaction system. The experiments comparing the two organic phases (Figure 2) were conducted at 30°C +with an organic phase to aqueous phase ratio of 1:5, a PPOW content of 20% (v/v) in the organic phase, and an +equal strain ratio of 1:1:1 for Rhodococcus opacus DSM 43250, Pseudomonas putida KT2440, and Pseudomonas sp. +VLB120. For the optimization of temperature, phase ratio, and PPOW content (Figure 3), the same equal strain +ratio was used unless otherwise specified. When using 2-nonanone as the second phase, CO2 exhibited a +significantly higher release in a shorter period compared to that observed with ethyl decanoate. This suggests +that when 2-nonanone was used as the second phase, the bacterial community exhibits a higher metabolic +activity, and was chosen here for subsequent experiments. 2-Nonanone was chosen over ethyl decanoate due to +its higher log P-value (3.14 vs. 2.85), indicating better retention of toxic compounds in the organic phase +(Grütering et al., 2024), and lower microbial inhibition (IC50 > 20% v/v vs. 15% for ethyl decanoate). + +FIGURE 2Comparison of 2-nonanone and ethyl decanoate as the second organic phase. CO2 release was measured +online during PPOW biodegradation in the two phase system.Line graph showing CO₂ content percentage over time +in hours for 2-nonanone and ethyl decanoate. 2-nonanone rises sharply to about 12 percent by 100 hours, while +ethyl decanoate gradually increases to nearly 10 percent by 220 hours. + +FIGURE 3The rate of O2 depletion under different growth conditions of the synthetic consortium. (a) +Temperature, (b) organic:aqueous phase ratio, and (c) PPOW content (%V) in the second phase.Three line graphs +labeled a, b, and c display oxygen depletion percentage over 72 hours, with error bars. Panel a compares five +temperatures, showing higher temperatures generally result in lower oxygen depletion. Panel b compares five +dilution ratios, with lower dilution ratios resulting in greater oxygen depletion. Panel c compares five +concentration percentages, with the lowest concentrations displaying the greatest oxygen depletion. Each panel +uses distinct color-coded lines to represent the different variable levels. + +Afterward, we investigated other factors influencing the metabolic activity of the bacterial consortium and +determined the optimal culture conditions based on these findings (Figure 3). The optimal growth temperature +for the three strains in the bacterial consortium was found to be 30°C. However, it is crucial to note that +the optimum temperature for the growth and metabolism of strains is typically not uniform (Bagdasarian et al., +1981; Gurudiwan et al., 2025). Some microorganisms may display a faster growth rate at lower temperatures, yet +their metabolic activity could be more pronounced at higher temperatures. In addition to monitoring the CO2 +release rate, assessing O2 consumption is an equally vital as a key indicator of microbial metabolic activity +(Casida, 1977; Gurudiwan et al., 2025; Zeuthen, 1953; Zhou and Zeeshan Ul Haq, 2025). Therefore, to simplify +the experiments, all optimization trials measured the O2 consumption at different time points under dynamic +shaking flask cultivation conditions. The results in Figure 3a indicate that the optimal temperature for the +bacterial consortium’s utilization of organic substances in PPOW aligns with the growth temperature. Extreme +temperatures, whether high or low, proved unfavorable for the absorption and utilization of carbon sources in +PPOW. This could be attributed to the impact of temperature on the metabolic activity of enzymes within the +bacterial consortium. Additionally, temperature can influence the solubility of O2 in the biphasic reaction +solution, thereby directly affecting the microbial utilization of O2. In a biphasic reaction system, the ratio +of the organic phase to the aqueous phase is undoubtedly a crucial factor influencing the reaction rate by +affecting the concentration of organic matter exposed to the bacterial consortium. Maximum degradation was +achieved at an organic-to-aqueous ratio of 1:5. Further increasing the ratio did not lead to a higher +degradation rate. Therefore, a 1:5 ratio was selected for subsequent studies. Excessive concentrations of PPOW +can exert a toxic effect on the microbial community, while low concentrations may not fully exploit the +degradative capabilities of the bacterial consortium. The findings suggest that when PPOW constitutes 20% +(v/v) of the second phase, O2 depletion in the closed system occurs most rapidly, implying optimal removal +efficiency (Figure 3c). Statistical significance of the differences between these optimization conditions +(temperature, phase ratio, and PPOW content) was evaluated using one-way ANOVA followed by Tukey’s post-hoc +test (p < 0.05), confirming that the selected optimal conditions were significantly superior to the +alternative tested parameters (see Supplementary Table 3). + +In addition, we explored the impact of varying strain compositions within the bacterial consortium on the +removal of PPOW (Figure 4). Different from the previous experimental conditions, the microbial community +displayed maximum metabolic activity when the ratio of R. opacus DSM 43250, P. putida KT2440, Pseudomonas sp. +VLB120 was 1:1:2. This specific composition of the bacterial consortium exhibited a distinct kinetic advantage +in the reaction system. Although the specific mechanism remains unclear, we infer that the high degradation +efficiency achieved in this study stems from rational functional complementarity among the consortium members. +Rhodococcus opacus DSM 43250 serves as the principal driver for long-chain alkane (C10-C28) degradation, +utilizing its potent alkane hydroxylase machinery. In contrast, the Pseudomonas strains are dedicated to +aromatic catabolism and stress resistance. Notably, P. putida KT2440 targets aromatic fractions, while +Pseudomonas sp. VLB120 confers significant solvent tolerance, alleviating the inhibitory effects of toxic +intermediates. This division of labor, which integrates aliphatic oxidation with aromatic detoxification, +accounts for the consortium’s superior efficacy compared to that of its individual constituents (Schwanemann +et al., 2025). + +FIGURE 4Evaluating bacterial consortium composition on CO2 release. NC, negative control groups without adding +any bacteria.Line graph showing CO2 content percentage on the y-axis versus time in hours on the x-axis, with +five curves labeled NC, 1:1:1, 2:1:1, 1:1:2, and 1:2:1. Each curve displays varying rates and extents of CO2 +content change over time, with the 1:2:1 curve rising sharply near 300 hours and maintaining the highest CO2 +content. + +3.3 + +Degradation performance of key pollutants + +Based on the above discussion, the subsequent long-term studies were carried out to investigate the +degradation of aromatic and aliphatic compounds present in PPOW under the following conditions: 30°C, an +organic-to-aqueous phase ratio of 1:5, a ratio of R. opacus DSM 43250: P. putida KT2440: Pseudomonas sp. +VLB120 of 1:1:2, and 20% (v/v) PPOW content in the organic phase. GC-FID was employed to detect changes in +PPOW before and after degradation, and to calculate the removal rate (Figure 5). The percentage degradation of +several key components present in the PPOW after 7 days of treatment by the bacterial consortium in the +biphasic reaction system is shown in Figure 6. With the exception of toluol, the removal rates for more than a +dozen substances with relatively high concentrations in the waste all exceeded 50%, with some achieving +complete removal after 7 days of biotreatment by the synthetic bacterial community. The low toluene +degradation rate (48 ± 1%, p < 0.001) may be attributed to competitive inhibition exerted by the high +concentration of ε-caprolactam (8,032 μg/mL) present in the PPOW, which may repress the metabolic pathways +responsible for toluene catabolism in P. putida KT2440. Additionally, the solvent stress response triggered by +the biphasic system might prioritize survival over the degradation of less preferred substrates like toluene +(Molina-Santiago et al., 2017). To overcome this limitation, future strategies such as fed-batch cultivation +or adaptive laboratory evolution could be considered. A fed-batch approach would maintain sub-inhibitory +toluene levels and reduce competitive pressure from ε-caprolactam, potentially shifting the metabolic response +of P. putida KT2440 from stress survival toward active degradation. Alternatively, ALE could be employed to +select for P. putida KT2440 variants with enhanced toluene tolerance or catabolic capacity under gradually +increasing toluene concentrations, either in monoculture or within the consortium context. These strategies, +while beyond the scope of the present study, offer promising routes to further improve the overall degradation +efficiency of the synthetic consortium. Supplementary Figure 6 shows a distinct alteration in the color of +organic phase in the two-phase system after microbial treatment compared to its pre-treatment state. This +color transformation from dark brown to light yellow correlated with 65–100% pollutant removal, providing a +rapid visual indicator for the removal of organic substances in the treated PPOW. + +FIGURE 5Substrate uptake analysis. GC-FID chromatograms of original PPOW (black) and PPOW used as carbon and +energy source by the synthetic bacterial consortium under optimal conditions (red) after 7 days of incubation. +Peaks for key compounds are labeled.Line graph compares chemical compound concentrations before and after a +process, with peaks labeled for compounds such as toluol, ethylbenzol, cumene, naphthalin, and ε-caprolactam +along the x-axis of time in minutes. + +FIGURE 6Removal ratios of major substances from PPOW after 7 days of treatment under optimal conditions. Each +error bar represents the standard deviation of three replicate experiments (n = 3). Different letters above +the bars indicate significant differences (p < 0.05).Bar chart showing removal ratios in percentage for +various substances: toluol, cumol, ethylbenzol, coprolactam, naphthalin, and carbon chains C14, C19, C22, C23, +C25, C26, and C32. Bars are annotated with letters a, b, or c, indicating statistically significant group +differences. Error bars are included, with ethylbenzol showing the lowest and the remaining bars mostly above +ninety percent. + +3.4 + +Neural network model for O2 depletion in two-phase system + +As oxygen availability is key for PPOW activation and degradation, we investigated the data using an AI model. +A three-layer Back-propagation (BP) neural network, with an input-hidden-output architecture of 2-5-1 nodes +was constructed, written as + +y0=x + +yn=w⋅fn⁢(yn−1)+b + +where x is the input variable, defined as time and influence factors (temperatures, organic: aqueous phase +ratio and PPOW content (%V) in the second phase), and yn is our excepted prediction (O2 depletion). fn is a +sigmoid activation function in n layer. w and b are the parameters of the neural network, namely weight and +bias, which result from the training. All input and output data were normalized to the range [0, 1] using min- +max scaling. Levenberg-Marquardt (LM) algorithm was employed for training (Table 1). + +TABLE 1Levenberg-Marquardt (LM) optimization algorithm.Let ei = yi*–yi*represent the error between the +experimental value yi* and the predicted value yi* for the i-th sample. The Levenberg-Marquardt algorithm +proceeds as follows: Step 1: calculate the sum of squared errors e with m samples from definded loss function +f=∑i=1iei2Step 2: define the Jacobian matrix of loss function with the derivatives of the errors concerning +the parameters wJ=∂ei∂wjStep 3: calculate the gradient vector of the loss function as g = 2JT⋅eStep 4: own the +approximate Hessian matrix with Jacobian matrix H≈JT⋅J + λI where λ is a damping factor that ensures the +positiveness of the Hessian matrix and I is the identity matrixStep 5: update the parameters w with matrix w = +w−H−1⋅g + +Three BP neural networks were built and trained. Their layers, weights and bias are listed in Table 2. +Firstly, the input influence factors was time and temperatures, and the output prediction was O2 depletion. +Beyond the standard 70/10/20 train/test/valid split, the five-fold cross-validation confirmed the model’s +robustness. The mean square error (RMSE) and the correlation coefficient R2 are values to evaluate model +performance, written as + +M⁢S⁢E=1N⁢∑i=1N(yi−yi*)2 + +R2=1−∑i=1N(yi−yi*)2∑i=1N(yi*−⟨yi*⟩)2 + +TABLE 2BP neural parameters with output variable O2 depletion.Input variablesTime, temperatures (°C)Time, +organic: aqueous phase ratioTime, PPOW content (v/v) in the second phaseHidden layer(s)111Weights(w) +w1=[−0.93241.2334−0.6326−1.2459−1.98051.5764] w2=[−0.8029−0.7036−0.4302]T w1=[0.8707−0.32240.72192.8714] +w2=[1.09640.3264]Tw1=[2.4668−2.00151.4439−1.87942.22181.3387] +w2=[0.07850.82770.9288]TBias(b)b1=[0.1060−0.9516−3.2437] b1=−0.8936b1=[0.06652.4206] +b1=−0.3557b1=[−1.15620.60932.5823] b1=−0.7915MSE2.06 10–32.86 10–31.23 10–3 R 2 0.99030.98950.9952 + +where yi* is the experimental data, or expected data, yi is the predicted value from the neural network model, +and ⟨yi*⟩ is the average experimental data. The BP neural network exhibits well-fitting results, yielding an +MSE of 2.06 10–3 and an R2 of 0.9903. As discussed above, the best results are obtained at 30°C (Figures 3a, +7). Results from the BP neural network satisfy and suggest a possible range of 29–32°C (Figure 8a). With this +model, the degradation time of PPOW by the synthetic bacterial consortium can be predicted well. For example, +after 4 days more than 80% O2 is depleted, and almost all O2 could be depleted after 6 days. + +FIGURE 7Training and validation learning curves for the BPNN models with early stopping = 500 rpochs: (a) +Detailed training and validation MSE over epochs for the temperature model. (b) Comparison of validation MSE +convergence across temperature, phase ratio, and PPOW content model.Panel (a) presents a line graph comparing +experimental and neural network predicted O2 depletion over time at various temperatures indicated by separate +lines and markers. Panel (b) shows similar experimental and predicted O2 depletion curves for different +ratios, each distinguished with unique symbols and lines. Panel (c) depicts experimental and predicted O2 +depletion curves across different percentages, demonstrating variation in trends among several test groups. +All panels feature time in hours on the x-axis and percent O2 depletion on the y-axis. + +FIGURE 8BP neural network fitting and prediction of O2 depletion. (a) Temperature variation, (b) organic to +aqueous phase ratio variation, (c) PPOW content variation.Two line graphs present model training and +validation errors over epochs. The left graph shows mean squared error (MSE) for training and validation of a +temperature model, with validation MSE increasing after about 950 epochs where early stopping is triggered. +The right graph compares validation MSE convergence across three models—temperature, phase ratio, and PPOW +content—displaying lowest final MSE for PPOW content, followed by temperature, and then phase ratio. Both +graphs highlight error minima and divergence with increased epochs. + +Secondly, when the input influence factors are time and organic:aqueous phase ratio, oxygen depletion was also +well predicted by the BP neural network model (Figure 8). The MSE was 2.86 10–3 and the R2 was 0.9895. +Although some discrete data points are far from the neural network curve (ratio-1:5), the predicted results +still fit the experimental data (Figures 3, 7). Besides, the neural network model even forecast O2 depletion +in time (T = 0∼162 h) and other phase ratios (1:3, 1:7, 1:12, 1:25, 1:35). The model suggests that the higher +the phase ratio, the slower the O2 depletes. For example, it is predicted that after 4 days more than 80% O2 +could be depleted with an organic:aqueous phase ratio lower than 35%. However, it should be noticed that the +BP neural network model has a poor predictability at the start of the cultivation (before 0.5 days). +Quantitative analysis of this early phase reveals a higher MAE of 0.045 and a lower R2 of 0.78 (Figure 9). +This is expected and can be explained by the complex, non-linear transient dynamics of the microbial lag +phase, initial oxygen transfer limitations, and the model’s structural constraint to converge to 1 at later +times. More high quality experimental data would be required furtherly. + +FIGURE 9Residual analysis and quantification of early phase prediction accuracy: (a) Comparison of predicted +and actual O2 depletion values. (b) Homoscedasticity in residuals plotted against predicted values. (c) Early +cultivation phase (0.5 days) transient dynamics cause higher variance in residuals plotted against time. (d) +Quantitative comparison of MAE and R2 between the overall timeframe and the early phase.Four-panel figure +illustrating model performance. Panel (a) shows a scatter plot comparing predicted versus actual O2 depletion, +closely following the ideal y=x line. Panel (b) contains a scatter plot of residuals versus predicted O2 +depletion, centered around zero. Panel (c) displays residuals over time, highlighting the early phase (0-12 +hours) with a shaded region. Panel (d) presents a bar chart comparing overall and early phase (0-12 hours) +model metrics, with bars for mean absolute error and R-squared. + +Thirdly, with the input influence factors time and PPOW content (%V) in the second phase, the BP neural +network model shows results in time (T = 0∼258 h) and PPOW content (%V = 15, 25, 35, 45, 55%) (Figure 8c). The +BP neural network exhibits good prediction, with an MSE of 1.23 10–3 and an R2 of 0.9952 (Figure 7). The +results confirm a PPOW content of 20% (v/v) of the second phase, and expose when the PPOW content is 15∼25%, +the degradative capabilities of the synthetic bacterial consortium can be exploited well. In addition, oxygen +depletion can be predicted with the neural network, suggesting after 5 days more than 80% O2 is depleted with +a PPOW lower than 35%, and after 10 days almost all O2 is consumed with a PPOW lower than 55%. + +Finally, a one-way ANOVA followed by Tukey’s post-hoc test for the optimization experiments is preformed to +confirm the statistical significance of the differences between the tested conditions (Table 3). Tukey’s post- +hoc tests confirm that the selected optimal condition: 30°C, a 1:5 phase ratio, and a 20% (v/v) PPOW content, +yielding the maximum normalized O2 depletion (24.8 ± 1.1) and are statistically superior to all other tested +parameters (p < 0.05). These findings validate that 30°C is the ideal thermal condition for enzymatic +activity, a 1:5 phase ratio optimally balances substrate bioavailability without causing excessive toxicity or +mass transfer limitations, and a 20% PPOW content provides the ideal carbon and energy concentration to +maximize degradation while avoiding substrate inhibition. These inferential statistics robustly confirm that +the chosen optimal conditions are not merely numerically higher in experimental means, but are statistically +significant compared to all alternative conditions, thereby validating the reliability of the bioprocess +optimization. + +TABLE 3One-way ANOVA and Tukey’s post- hoc test results for the optimization of O2 depletion by the synthetic +bacterial consortium.Optimization factorTested levelsNormalized O2 depletion rateF-valueP-value (ANOVA)Tukey’s +post-hoc test (comparison vs. optimal)P-valueTemperature (°C)2012.4 ± 1.245.32<0.000130 vs. 20<0.0012518.5 ± +1.530 vs. 25<0.01 30 24.8 ± 1.1 −−3519.2 ± 1.830 vs. 35<0.014011.5 ± 2.030 vs. 40<0.001Phase ratio1:315.6 ± +1.438.75<0.00011:5 vs. 1:3<0.001 1:5 24.8 ± 1.1 −−1:721.3 ± 1.61:5 vs. 1:7<0.051:1216.8 ± 1.91:5 vs. +1:12<0.0011:2510.2 ± 1.51:5 vs. 1:25<0.001PPOW content (%V)1014.2 ± 1.352.18<0.000120 vs. 10<0.0011521.5 ± +1.220 vs. 15<0.05 20 24.8 ± 1.1 −−2522.1 ± 1.420 vs. 25<0.053513.5 ± 2.120 vs. 35<0.001Values in bold indicate +the optimal level within each tested factor, corresponding to the maximum normalized O2 depletion rate +achieved under the experimental conditions evaluated. Statistical significance was determined by one-way ANOVA +followed by Tukey’s post-hoc test (α = 0.05). + +In summary, while the three separate single-factor (temperatures, organic:aqueous phase ratio, and PPOW +content (%V) in the second phase) BP neural network models effectively isolate the impact of individual +variables and provide valuable guidance for experimental design, they limit holistic insight into the +synergistic interactions between multiple operational parameters. Future work will focus on developing a +unified, multi-input neural network model to capture these complex variable interactions more powerfully. +Furthermore, despite current models demonstrate high predictive accuracy for the specific PPOW used in this +study, their generalizability to PPOW of different compositions (e.g., from varied plastic feedstocks or +different pyrolysis conditions) remains to be validated. Future efforts should therefore focus on training the +model with more diverse PPOW samples or employing transfer learning approaches to adapt the model to new +substrate profiles with minimal experimental recalibration. Addressing these limitations will further +strengthen the AI driven approach for bioprocess optimization. + +While this study focused on the bulk degradation performance and process optimization, the complete removal of +diverse substrates-ranging from long-chain alkanes to recalcitrant nitrogen-containing aromatics implies a +functionally stable interaction among the consortium members throughout the incubation period. The successful +degradation of both aliphatic and aromatic fractions suggests that the key metabolic guilds were sustained in +the community, likely supported by metabolic cross-feeding on intermediate byproducts. This functional +stability, combined with the high predictability of our AI model, indicates that the optimized initial +inoculation ratio provides a robust framework for the continuous treatment of complex plastic waste streams. + +3.5 + +Stoichiometric validation of the degradation process + +To further validate the use of O2 depletion as a proxy for PPOW degradation activity, we examined the electron +balance between oxygen consumed and the carbon source mineralized. A complete stoichiometric calculation is +complicated by the multicomponent nature of PPOW. Nevertheless, an approximate analysis based on the major +identifiable components was performed. Using the complete mineralization reaction of a representative alkane +(hexadecane, C16H34) as an example, C16H34 + 24.5 O2 → 16 CO2 + 17 H2O, the theoretical O2 demand is +approximately 3.4 mg O2 per mg of alkane. Extending this calculation to the overall PPOW composition, which +includes ε-caprolactam (8,032 μg/mL), naphthalene (205.7 μg/mL), cumene (739.5 μg/mL), and a range of alkanes, +yields a theoretical total O2 demand. When compared with the experimentally observed O2 uptake under optimal +conditions (30°C, 1:5 organic aqueous ratio, 20% PPOW (v/v) in the organic phase), the observed O2 consumption +ranged from 70 to 85% of the theoretical value. This discrepancy is expected for three reasons. First, a +portion of the carbon source is assimilated into new biomass rather than being completely mineralized to CO2, +a universal feature of aerobic microbial growth. Second, the biphasic system contains 2-nonanone as a second +organic phase, which may undergo partial co metabolism and consume additional oxygen. Third, degradation +intermediates may temporarily accumulate without complete oxidation within the experimental timeframe. The +observed range of 70–85% is consistent with typical aerobic biodegradation processes where carbon is +partitioned between mineralization and biomass synthesis, typically resulting in 60–90% of theoretical O2 +demand being observed in practice. This stoichiometric analysis thus supports the validity of using O2 +depletion as a reliable indicator of PPOW degradation activity by the synthetic bacterial consortium. + +3.6 + +Commercialization perspectives + +Preliminary cost analysis for treating one ton of PPOW estimates a net operating cost of 200–375 USD, +competitive with incineration at 500–800 USD per ton. Major cost drivers are nutrients, 2-nonanone (assuming +90% recovery), energy, and labor, while biomass valorization and water recycling could reduce net costs by +50–100 USD per ton. A phased feasibility plan from current TRL 3–4 to industrial scale over 24–36 months is +proposed, with risk mitigation strategies including oxygen transfer optimization, neural network based +monitoring, and organic phase recovery. SWOT analysis identifies strengths including high degradation +efficiency, complete ε caprolactam removal, and AI driven prediction, weaknesses such as oxygen dependency and +scale up uncertainty, opportunities from circular economy policies and integration with pyrolysis facilities, +and threats from competing technologies and feedstock variability. Based on this analysis, strategic +recommendations include leveraging AI optimization, investing in continuous bioreactor design, and pursuing +industrial partnerships. These estimates are preliminary and require pilot scale validation. + +4 + +Conclusion + +By skillfully combining a bacterial consortium with high degradation capability for PPOW within a two-phase +system, we contribute a promising solution for end-of-life plastic treatment that is complementary to many +other approaches. This approach not only addresses plastic resource utilization but also contributes to the +advancement of a bio-circular economy within the domain of plastics. The synthetic bacterial community showed +effective ability to degrade PPOW. To close the circular loop, the two main output streams from the +biodegradation process merit consideration. The microbial biomass, which comprises Rhodococcus opacus as a +known lipid accumulating bacterium and Pseudomonas strains as biosurfactant and polyhydroxyalkanoate +producers, could be valorized for biodiesel, bioplastics, or single cell protein. The treated aqueous phase +can be recycled as a component of fresh culture medium or safely discharged after appropriate polishing. +Meanwhile, the organic phase, namely 2-nonanone, is recoverable and reusable in subsequent batches. These +downstream options, while requiring further optimization, transform the process from waste removal to true +resource recovery within a bio circular economy framework. + +Furthermore, we applied a BP neural network method to evaluate O2 consumption, and the presented model +accurately predicts O2 depletion over long cultivation times and can extrapolate to other experimental +conditions. We acknowledge that this study lacks abiotic and heat-killed controls, statistical significance +testing for all comparisons, bioreactor-scale validation, and real-time monitoring of pH, dissolved oxygen, +and biomass concentration. Further studies should aim to understand the mechanisms of synergistic interactions +within the bacterial consortium, as well as to identify, upgrade, and reconstruct metabolic products. +Additionally, quantitative correlations between oxygen uptake and specific substrate degradation need to be +established to determine kinetic parameters under varying operational conditions, enabling rational scale-up. diff --git a/references_cache/doi_10.1016_j.hydromet.2020.105443.md b/references_cache/doi_10.1016_j.hydromet.2020.105443.md new file mode 100644 index 000000000..70a5309f0 --- /dev/null +++ b/references_cache/doi_10.1016_j.hydromet.2020.105443.md @@ -0,0 +1,1250 @@ +--- +reference_id: DOI:10.1016/j.hydromet.2020.105443 +title: Bioleaching of cobalt from Cu/Co-rich sulfidic mine tailings from the polymetallic + Rammelsberg mine, Germany +authors: +- Ruiyong Zhang +- Sabrina Hedrich +- Felix Roemer +- Daniel Goldmann +- Axel Schippers +journal: Hydrometallurgy +year: '2020' +doi: 10.1016/j.hydromet.2020.105443 +content_type: full_text +full_text_attempted: true +source_url: https://www.researchgate.net/publication/343508487_Bioleaching_of_cobalt_from_CuCo-rich_sulfidic_mine_tailings_from_the_polymetallic_Rammelsberg_mine_Germany +source_version: Author-posted journal pre-proof, browser-extracted article text; not + final publisher PDF +license: CC BY 4.0 +extraction_scope: Complete public author-copy main text, figure captions and Table1 + extracted through the browser and read. Pre-proof, not final publisher PDF; no figure + pixels or supplement review. Contiguous browser lines69-1291 independently captured, + excluding subsequent citing papers. Direct repository PDF presented a security challenge, + direct author page returned403; neither bypassed. Elsevier API independently confirms + DOI/title/license but returns metadata only. +--- + +Journal Pre-proof +Bioleaching of cobalt from Cu/Co-rich sulfidic mine tailings from + +the polymetallic Rammelsberg mine, Germany + +Ruiyong Zhang, Sabrina Hedrich, Felix Römer, Daniel + +Goldmann, Axel Schippers + +PII: S0304-386X(20)30246-2 + +DOI: https://doi.org/10.1016/j.hydromet.2020.105443 + +Reference: HYDROM 105443 + +To appear in: Hydrometallurgy + +Received date: 20 March 2020 + +Revised date: 21 July 2020 + +Accepted date: 30 July 2020 + +Please cite this article as: R. Zhang, S. Hedrich, F. Römer, et al., Bioleaching of cobalt +from Cu/Co-rich sulfidic mine tailings from the polymetallic Rammelsberg mine, + +Germany, Hydrometallurgy (2019), https://doi.org/10.1016/j.hydromet.2020.105443 + +This is a PDF file of an article that has undergone enhancements after acceptance, such + +as the addition of a cover page and metadata, and formatting for readability, but it is + +not yet the definitive version of record. This version will undergo additional copyediting, +typesetting and review before it is published in its final form, but we are providing this + +version to give early visibility of the article. Please note that, during the production + +process, errors may be discovered which could affect the content, and all legal disclaimers + +that apply to the journal pertain. + +© 2019 Published by Elsevier. + +1 + +Bioleaching of cobalt from Cu/Co-rich sulfidic mine tailings from the polymetallic + +Rammelsberg mine, Germany +Ruiyong Zhang 1*, Sabrina Hedrich 1, Felix Römer 2, Daniel Goldmann 2, Axel Schippers 1* + +1 Federal Institute for Geosciences and Natural Resources, 30655 Hannover, Germany + +2 Institute of Mineral and Waste Processing, Waste Disposal and Geomechanics, Technical + +University Clausthal, 38678 Clausthal-Zellerfeld, Germany + +*Corresponding author. + +Mailing Address: + +Bundesanstalt für Geowissenschaften und Rohstoffe (BGR) + +Geozentrum Hannover + +Stilleweg 2, 30655 Hannover, Germany. + +Tel: +49 (0)511-643-3367 +Fax: +49 (0)511-643-2304 + +email: ruiyong.zhang@bgr.de; axel.schippers@bgr.de + +Abstract + +A microbial consortium of mesophilic and acidophilic bacteria and archaea was applied in + +shake flasks as well as in 2 L stirred tank reactors (STR) to bioleach cobalt, copper, and other + +valuable metals from sulfidic mine tailings (Rammelsberg polymetallic massive sulfide + +deposit, Harz mountains, Germany). After succession from low to high pulp density, the +microbial consortium w as well adapted to 10% pulp density and showed high bioleaching + +efficiency. Microbial activity and abundance were measured by microcalorimetry, + +microscopy, and quantitative, real-time PCR. The adapted mesophilic microbial consortium + +consisted mainly of Acidithiobacillus (At.) ferrooxidans and At. thiooxidans which achieved + +91 % cobalt and 57 % copper extraction from the bulk tailings (Co 0.02 %; Cu 0.12 %) after +13 days in STR. Bioleaching tests with a tailings flotation concentrate (Co 0.06 %; Cu 0.57 %) + +showed a recovery of 66 % cobalt and 33 % copper. In addition, mineralogical analysis + +showed that cobalt occurred on the surface of framboidal pyrite and was mainly leached by + +microbial attack. Attached cells were microscopically observed on the surface of solid + +particles of the bulk tailings and tailings flotation concentrate. The amount of sulfides + +Journal Pre-proof + +Journal Pre-proof + +2 +(mainly pyrite) in the tailings w as sufficient to sustain microbial growth and thus no + +additional substrate w as required for tailings bioprocessing. Bioleaching is considered to be + +an important processing step in the concept for reprocessing of the Rammelsberg mine + +tailings, and for many sulfidic mine tailings worldwide. + +Keywords: Bioleaching; mine tailings; cobalt; copper; acidophiles; microcalorimetry + +1. Introduction +Billions of tons of mining wastes and residues have been stockpiled or dumped as tailings + +worldwide. Mine tailings are among the largest mining wastes on Earth and can occupy large + +areas. Mine tailings result from the flotation process of sulfide mineral ores. Exposed to water + +and oxygen these very likely produce acid rock drainage (ARD), causing ground and surface + +water contamination (Dold 2008; Dold 2014; Kalin et al. 2018). From another point of view, +mine tailings may contain significant amounts of valuable metals including indium, + +magnesium, cobalt, platinum group elements (PGE), or rare earth elements (REE), which are + +of high economic interest (Alcalde et al. 2018; Ulusoy 2019). Resources from mining + +residues are an option for diversifying critical mineral supply, as the need for metals and raw + +materials is rapidly increasing due to the global economic growth. The recovery of valuable +metals from mine wa stes and tailings is becoming increasingly important (Kaksonen et al. + +2018; Schippers and Hedrich 2018). + +Bioleaching refers to biological solubilisation of metals from minerals and wastes. Biomining + +uses microorganisms to enhance the extraction and recovery of metals from minerals and + +wastes (i.e. both leaching and recovery). Engineering applications for bioleaching (and hence + +also biomining which also includes bioleaching) include e.g. bioreactors, vats, heaps and in +situ leaching (Kaksonen et al. 2018). Bioleaching of ore concentrates, mine tailings, and + +secondary resources such as electronic waste has been demonstrated (Schippers et al. 2014). + +Acidophilic microorganisms (Hedrich and Schippers 2021) facilitate dissolution of insoluble + +metal sulfides via indirect bioleaching mechanisms by generating ferric iron and/or protons, + +either in contact with the mineral surface or as planktonic cells in the liquid phase (Sand et al. +1995; Vera et al. 2013). Several laboratory studies have already demonstrated efficient metal + +extraction from sulfidic mine tailings using bioleaching. Bioleaching has shown to be more + +efficient than acid leaching with Cu extraction between 68 % and 98 % after five weeks from + +mine tailings (covellite, chalcopyrite, enargite and chalcocite as most abundant Cu minerals) + +with high pyrite content of 22 % (Stankov ić et al. 2015). Bioleaching of sulfidic tailing s + +Journal Pre-proof + +Journal Pre-proof + +3 +(chalcopyrite as chief Cu mineral) in an Iranian mine using moderate thermophiles reached + +55% Cu and 59.5% Co extraction after 30 days at 5% pulp density (Ahmadi et al. 2015). The + +Cu and Co bioleaching from tailings (pyrite, chalcopyrite and valleriite as main ore minerals) + +of a Chinese mine resulted in 84% and 86% extraction, respectively, at 10% pulp density for + +12 days in shake flasks (Wen and Ruan 2002). A combination of oxidative and reductive +bioleaching carried out at extremely low pH values (~1) and at 45 °C was shown to be highly + +effective in extracting copper from mineral tailings (mainly quartz, pyrite and gypsum, small + +amount of chalcopyrite) in two mines currently operating in Spain and Serbia (Falagán et al. + +2017). Bioleaching of low grade flotation tailings (pyrrhotite, pyrite, chalcopyrite, pentlandite, + +and sphalerite as main ore minerals) at 5% pulp density achieved 60% of Co extraction in +reactor experiments at 32 °C for 15 days (Altinkaya et al. 2018). A commercial application of + +stirred-ta nk reactor (STR) bioleaching for Co recovery has even been demonstrated for a + +cobalt-containing pyrite concentrate stockpiled in the former copper mine in Kasese, Uganda + +(Morin and d'Hugues 2007). + +The abandoned Rammelsberg mine is located in the historic Harz Mountains mining district + +in central Germany. The Rammelsberg ore deposit was mined until 1988 (Römer et al. 2018) +and flotation tailings from the mining activities were deposited in the Bollrich tailings pond + +(Supplementary Fig. S1). Recovery of valuable metals and minerals from the tailings pond + +has been proposed (Kuhn and Meima 2019). A recent research project (REWITA) funded by + +the German Federal Ministry of Education and Research (BMBF) investigated the presence + +of Cu, Co, Zn, Ag, Ga, In and other valuable metals in minerals (barite, sulfides, silicate, etc.) +in the mine tailings in detail (Schirmer et al. 2017). A process scheme for their recovery and + +complete reprocessing of the Bollrich tailings material was developed and tested at laboratory + +scale (Römer and Goldmann 2019). One important process step in this scheme might be + +bioleaching. A preliminary study by the German company G.E.O.S. Ingenieurgesellschaft + +mbH demonstrated the suitability of bioleaching for metal extraction. Economic (bio- +)hydrometallurgical processing of mine tailings requires a sufficiently high metal + +concentration in the leaching solution for downstream treatment. In general, an increase in + +pulp density in stirred tank reactor bioleaching results in decreased cobalt and copper + +recovery, due to inhibition of microbial activity at high pulp density (Bampole and Mulaba- + +Bafubiandi 2019; Liu et al. 2007). Thus, for the bioleaching process a compromise between +an economically relevant pulp density and microbi al activity and growth is required to + +achieve a high metal leaching efficiency. Studies on how microbial cells interact with low + +grade ores, especially mining tailings, are still scarce. + +Journal Pre-proof + +Journal Pre-proof + +4 + +In this study, we tested a mesophilic and acidophilic microbial consortium to bioleach copper, + +cobalt and other valuable metals from the bulk Rammelsberg mine tailings and a sulfidic +tailings flotation concentrate. Results of the metal dissolution and microbiological analysis + +during bioleaching are presented. Microbial community composition in bioreactors under + +different operational conditions was evaluated. In addition, the interaction of microorganisms + +with the tailings particles was investigated. + +2. Materials and methods + +2.1 Tailings and tailings concentrate samples + +Tailings samples from Rammelsberg mine (Goslar, Harz mountains, Germany) were obtained +from various tailings depths after coring (BMBF project r4 REWITA). A mixed sample from + +15-26 m tailings depths was assigned as the bulk tailings. Tailings concentrate samples were + +obtained after flotation processing of the bulk tailings (Römer et al. 2018) and washed with + +water in order to remove floatation reagents. Both, bulk tailings and tailings concentrate, + +were milled to a grain size of < 500 µm and were stored under nitrogen in gas-tight bottles. + +2.2 Material characterization +The main elemental composition of the two tailings samples and bioleaching residues was + +determined by peroxide fusion ICP-MS (FUS-MS-Na 2 O 2, Actlabs), X-ray fluorescence + +analysis (XRF), and chemical analysis. For the latter, the samples were digested by aqua + +regia and then analyzed for their metal ion concentration by ICP-OES. For the digestion, 0.5 + +g of an air-dried sample were digested with 12 mL concentrated HNO 3-HCl (1:3 v/v) mixture. +After heating at 110 °C for 3 h, the dried residues were diluted with 20 mL 2% HNO 3. After + +filtration with Whatman no. 42 paper, the suspension was transferred to 100 mL volumetric + +flask and then filtered through a 0.2 µm membrane filter. The filtrate was used for ICP-OES + +analysis. + +Total sulfur and organic carbon contents were analyzed using a LECO CS 230 carbon-sulfur + +analyzer. For the latter, the samples were first treated with 10% HCl at 80 °C to remove the +carbonaceous carbon (inorganic carbon). Treated samples were then combusted in a high + +frequency oven at about 2000 °C with an oxygen stream. The resulting carbon dioxide was + +analyzed by infrared detection, carbon monoxide was catalytically oxidized to carbon dioxide + +before detection. The sulfide content of the samples was determined by using chromium- + +reducible sulfur distillation as previously described (Gröger et al. 2009). T he specific surface +area was determined by N 2 adsorption with a Micromeritics Gemini III 2375 surface area + +Journal Pre-proof + +Journal Pre-proof + +5 + +analyzer (Kaufhold et al. 2010). The mineralogical composition was determined via X-ray + +diffraction analysis (XRD). Surface analyses of solids was done by electron probe + +microanalysis (EPMA-SEM). + +2.3 Microbial consortium + +A microbial consortium of acidophilic bacteria and archaea of the BGR (Bundesanstalt für +Geowissenschaften und Rohstoffe) strain collection (Schippers et al. 2010) w as selected + +according to previous studies in BGR (Hedrich et al. 2016; Marrero et al. 2015). It consisted + +of At. thiooxidans Ram 8T, At. ferrooxidans Ram 6F, Leptospirillum (L.) ferrooxidans T, + +Ferroplasma (Fp.) acidiphilum BRGM 4. The mixed culture was pre-grown on 50 mM + +ferrous iron and 10 g/L S 0 at an initial pH of 2.0 at 30 °C in basal salt medium (Wakeman et + +al. 2008). + +2.4 Bioleaching tests +Different assays were performed to comparatively study the efficiency of metal bioleaching + +to select the optimal bioleaching conditions. These included 1) inoculated assay: addition of + +the microbial consortium mentioned above, 2) not inoculated assay: no microorganisms were + +added (only indigenous bacteria from the mine tailings were present), and 3) abiotic control: + +0.5 mM formic acid was added to the assay to inhibit bioleaching bacteria (Ballerstedt et al. +2017) under no inoculation conditions representing chemical leaching only. The initial pH + +was set to 1.6, 1.8 or 2.0 and pulp density was 2%, 5% or 10%. The leaching experiments + +were first conducted in shake flasks at 2% pulp density and then at 5% and 10% pulp density + +in both, shake flasks and stirred-tank reactors (STR). The pre-cultivation strategy of Hedrich + +et al. (2016) for increasing the pulp density was applied. The experimental conditions for +tests in 2-L STR and shake flasks were as follows: Temperature at 30 °C and pH 2.0; leaching + +time of ~two weeks; two or three inoculated parallel assays and one abiotic control. Once the + +experiments started, the pH in the abiotic reactors was set according to the pH in the + +bioleaching reactors. The parameters temperature, pH and agitation were controlled by the + +STR operation system (Fermac 200 modules, Electrolab, UK) equipped with the agitation +module Fermac 231. Temperature control was achieved using an industry standard Pt100 + +sensor. The pH was controlled by a pH controller through pumping 2 M or 5 M sulfuric acid. + +Aeration (0.5 L/min) was achieved by pumping air through a syringe filter (pore size 0.2 µm, + +Sartorius, Germany). Water evaporation was compensated at regular intervals by addition of + +diluted sulfuric acid (pH 2) during the experiments, and samples were taken at different time + +Journal Pre-proof + +Journal Pre-proof + +6 + +intervals. +2.5 Chemical analytical and microbiological/molecular biological methods + +The pH values and oxidation/reduction potentials (ORP) were intermittently measured with + +digital pH-/redox meters (Mettler Toledo and WTW) with semi-micro pH electrodes (Blue + +Line pH 16, SI Analytics), and an ORP electrode (Ag/AgCl reference, PCE Instruments), + +respectively. The amount of acid consumed during leaching was recorded for comparison. +Liquid samples were withdrawn each day or each second day till the leaching experiments + +were finished. Cells were counted directly by using a light microscope and after SYBR Green + +staining by using a fluorescence microscope and/or quantified by quantitative real-time PCR + +(qPCR) using copy numbers of bacterial 16S rRNA genes (Hedrich et al. 2016). Dissolved + +ferrous iron and total iron concentrations were measured by the ferrozine assay (Lovley and +Phillips 1987). ICP-OES was used to determine the concentration of metal ions. Terminal + +restriction fragment length polymorphism (T-RFLP) was used to analyze the composition of + +microbial communities (Hedrich et al. 2016). Microcalorimetr ic activity measurements were + +done according to previous reports (Hedrich et al. 2016; Schippers and Bosecker 2005). The + +measured heat output in µW was given per gram tailings. + +2.6 Confocal laser scanning microscopy (CLSM) +Cells were visualized by using nucleic acid stain Syto 9 or protein stain Sypro orange. + +Samples were neutralized with filter-sterilized tap water and incubated with fluorescently + +labelled stains for 20 min at room temperature. Afterwards, stained samples were washed + +three times with filter-sterilized tap water in order to remove the unbound st ains. Samples + +were directly observed using confocal laser scanning microscopy (CLSM) without any +further treatment. Stained samples were examined using a Leica TCS SP5X instrument, + +controlled by the LASAF 2.4.1 build 6384 (Leica, Heidelberg, Germany). The system was + +equipped with an upright microscope and a super continuum light source (470-670 nm) as + +well as a 405 nm diode laser. Images were collected with a 63× water immersion lens with a + +numerical aperture (NA) of 1.2 and a 63× water-immersible lens with an NA of 0.9. +Fluorescence image analysis and surface coverage calculation were done by using an + +extended version of the software ImageJ (v1.50i). Maximum intensity projection (MIP) w as + +produced with the software IMARIS version 8.1.2 (Bitplane AG, Zurich, Switzerland). + +Journal Pre-proof + +Journal Pre-proof + +7 + +3. Results and discussion + +3.1 Characterization of the bulk tailings and tailings concentrate + +Results of elemental analyses of the tailings samples are shown in Table 1. Apart from quartz, +pyrite was identified as one of the main mineral phases in these tailings samples + +(Supplementary Table 1). This enables the possibility and feasibility to use bioleaching for + +tailings processing, since pyrite serves as energy substrate for bioleaching microorganisms. + +Both samples contained considerable amounts of cobalt (0.02-0.06%) and copper (0.12- + +0.57%). The total resources in the whole tailings were estimated to be 1221 t Co and 12,593 t +Cu (Römer et al. 201 8). Most interesting metals including Cu were concentrated within the + +sulfide fraction, and Co was primarily related to pyrite (Supplementary Fig. S2), followed by + +chalcopyrite and sphalerite (Schirmer et al. 2017). Specific surface analysis of the tailings + +sh owed that the bulk tailings and tailings concentrate had surface areas of 8.08 m²/g and 2.30 + +m²/g, respectively (Supplementary Table 1). + +3.2 Bioleaching tests of bulk tailings in shake flasks +Bioleaching w as tested at 2%, 5% and 10% pulp density at different initial pH values after 16 + +days. Results from bioleaching of bulk mine tailings at different initial pH values and SL in + +shake flasks are presented in Figure 1. For iron dissolution, bioleaching was more efficient + +than the abiotic control for chemical leaching; when the SL increased, dissolved iron + +concentration in bioleaching assays increased while the iron bioleaching efficiency decreased. +T-RFLP analysis showed that L. ferrooxidans accounted for more than half of the communit y + +composition at 2% and 5% SL. In contrast, At. ferrooxidans and At. thiooxidans dominated + +the microbial community at 10% SL (data not shown). For abiotic controls, lower pH resulted + +in higher iron leaching. For bioleaching tests, iron leaching depends on both initial pH and + +SL (Figure 1). Since no sulfuric acid w as added in the experiments, the final pH value of the +abiotic controls was higher compared to the initial one regardless of the pulp density. In + +contrast, the final pH value of the bioleaching tests decreased was lower (not shown), due to + +sulfuric acid production by sulfide and sulfur biooxidation. An initial pH of 2 was chosen for + +bioleaching tests with 10% SL. + +3.3 Bioleaching of bulk tailings and flotation concentrate in 2-L STR + +After adaptation of the mixed microbial consortium at 2% and 5% SL, a robust growth of the +mixed culture at 10% SL in the STR was obtained. An improved iron leaching of the bulk + +tailings from 58% to 85% was measured after succession on SL from 2% to 10% SL (not + +Journal Pre-proof + +Journal Pre-proof + +8 + +shown). The mixed consortium containing mainly At. ferrooxidans and At. thiooxidans + +remained stable throughout the experiment. The data of the bioleaching of bulk tailings are + +shown in Figure 2. + +In the bioleaching reactors, redox potential increased rapidly from 389 mV to 573 mV within +4 days. This correspond ed to a rapid decrease of the iron(II) concentration from 53 mM to 1.6 + +mM. After 4 days, the redox potential remained around 573 mV and iron(II) concentration at + +2-3 mM. The pH values kept decreasing from 2.0 to 1.5 and total iron concentration increased + +to 182 mM (~10.2 g/L) after 13 days. This indicates that due to bacterial activity, the iron(II) + +was constantly converted to iron(III), causing metal sulfide dissolution. The redox potential +was kept between 550-600 mV. The observed microbial activities in the bioreactor with + +flotation concentrate (Supplementary Fig. S3) indicate that potentially remaining flotation + +reagents had no obvious influence on the bacterial activities (Jafari et al. 2019). + +In the abiotic control reactor, no obvious iron oxidation was detected, indicated by only slight + +increase of redox potential (up to 426 mV) and almost constant iron(II) concentration (Figure +2). In case of leaching tests of tailings concentrate (Supplementary Fig. S3), the iron(II) + +concentration increased over the 13 days of incubation. All these showed that formic acid + +with a concentration of 0.5 mM was sufficient to inhibit microbial activity of acidophiles, as + +described for sodium azide applied during leaching tests (Martin et al. 2015). Previously, + +formic acid was proposed for decommissioning of deep in situ biomining operations by +eliminating microbial activities (Ballerstedt et al. 2017). + +As shown in Figure 3, the adapted mixed culture showed good performance for leaching of + +the bulk tailings and tailings concentrate at 10% pulp density in 2-L STR. The microbial + +consortium achieved 91% cobalt and 57% copper extraction from bulk tailings after 13 days + +in STR. For the flotation concentrates, bioleaching tests showed 66% cobalt and 33 % copper + +recovery after 13 days. A moderate ly thermophilic consortium BRGM-KCC achieved +comparable Co recovery from flotation tailings in 2-L STR reactor at 40 °C within 8 days + +(Guezennec et al. 2015). Operation at higher temperature is usually associated with higher + +costs. In the current tests, the metal recovery was lower for the tailings concentrate than for + +bulk tailings, however further optimizing of the operating conditions should allow for higher + +recovery. + +As and Co bioleaching (Figure 3) correlated with iron leaching. This is most likely due to the +association of As and Co with pyrite (Supplementary Fig. S2). The removal of As together + +with the recovery of valuable metals reduces the process costs for detoxi fi cation of the + +tailings waste (Park et al. 2014). The leaching dynamics of Cu from the tailings concentrate + +Journal Pre-proof + +Journal Pre-proof + +9 + +seem to reach a dissolution plateau earlier than Co (Figure 3). For the bulk tailings, Co and + +Cu leaching dynamics showed similar trends (data not shown). Thus, Cu in the tailings +concentrate may be more refractory than Co for dissolution (Schirmer et al. 2017). The large + +content of the silicate minerals was neither altered by microbial nor by ferric iron attack as + +revealed by the XRD analysis of leaching residues (not shown). Leaching of other metals in + +the tailings like Mg was most likely related to an acid dissolution process, independent of + +tailings material. + +The comparison of STR bioleaching of bulk tailings and tailings concentrate revealed an +increase of Co extraction from 17 mg/L to 36.5 mg/L after 13 days, and a Cu concentration + +increase from 68 mg/L to 189 mg/L (Figure 4a). The microcalorimetrically measured heat + +output related to microbial pyrite oxidation activity for bulk tailings was about 40 µW/g + +(Figure 4b), which was somewhat higher than microbial activities in a mine waste dump of + +Ilba Mine in Romania (Jozsa et al. 1999; Sand et al. 2007). Microbial communities grown on +tailings concentrate produced a heat output of 109 µW/g (Figure 4 b), which was 2.7 times + +higher than for bulk tailings, but lower than values obtained for copper concentrate + +bioleaching at higher temperature (Hedrich et al. 2018). The higher sulfide content related to + +pyrite in the tailings concentrate than in the bulk tailings (Table 1) provided more energy for + +microbial growth and activity. This can be further supported by the fact that cell numbers on +tailings concentrate were higher than those on the bulk tailings (Figure 5a, Supplementary + +Figure S4). A slight discrepancy between SYBR counting and qPCR quantification was + +noticed, which was not observed for the quantification of a moderate thermophilic + +consortium grown on copper concentrate (Hedrich et al. 2016). Microbial heat output mostly + +depends on the substrate availability as revealed by microcalorimetry tests, proving that +microcalorimetry is suitable for the assessment of bioleaching activity of tailings containing + +sulfide or reduced sulfur compounds (Kock and Schippers 2006; Schippers et al. 2007). + +Active pyrite dissolution occurs at a redox potential > 645 mV (Liu et al. 2008), whereas fast + +chalcopyrite dissolution is favored at lower redox potentials (420-450 mV) (Christel et al. + +2018; Córdoba et al. 2008; Gericke et al. 2010; Hedrich et al. 2018). The redox potential +around 560 mV seems to be sufficient to dissolve pyrite contained in the bulk tailings. Thus, + +Co was efficiently extracted (Figure 2 and 3). For tailings concentrate bioleaching, an + +increased redox potential may be needed for higher Co extraction (Figure 3 and + +Supplementary Fig. S3). + +Journal Pre-proof + +Journal Pre-proof + +10 + +Attached cells were microscopically observed on surfaces of solid particles of both, the bulk +tailings and tailings concentrate (Figure 4c and 4d). No obvious difference of the number of + +attached cells was observed by CLSM. + +Microbial community analysis by T-RFLP indicated that the mixed consortium contained + +mainly At. ferrooxidans and At. thiooxidans (Figure 5b, Supplementary Fig. S4). These two + +organisms are the most frequent ly used bacteria for bioleaching of tailings and flotation + +tailings at mesophilic conditions (Muñoz et al. 2009; Park et al. 2014; Sand et al. 2007; Wang +et al. 2018). Some indigenous bacteria (~19%) were detected at the end of the leaching tests + +in STR (Figure 5b). These were identified as gram-positive bacteria related to Sulfobacillus + +and Alicyclobacillus (not shown). Among these a likely new species of Sulfobacillus as + +indicated by the T-RFLP analysis (data not shown) was isolated for further characterization. + +Acidophilic microorganisms related to Sulfobacillus sp. were also detected in other mine +tailings (Chen et al. 2013; Kock and Schippers 2006; Kock and Schippers 2008; Korehi et al. + +2013). + +Figure 6 presents the EPMA analysis of tailings concentrate and the leaching residues. + +Mineral phases like pyrite, barite, and galena were detected. The identified pyrite framboids + +(Wilkin and Barnes 1997) seem to be the main feature of the tailings concentrate and cobalt is + +primarily associated with pyrite (Supplementary Fig. S2). The existing form of cobalt in the +Rammelsberg tailings differs from cobalt tailings in Luanshya Mine (Zambia), which mostly + +occurs as carrollite (CoCu 2 S 4) (Chen et al. 2016). By comparison of the leaching residues, i t + +seems that Co was preferentially leached from the framboid al structures by microbial/ferric + +iron attack (Figure 6; Supplementary Fig. S2). Co dissolution was much lower in the abiotic + +control compared to the bioleaching tests (Figure 3). The bioreactor results suggested that the +bioleaching process could be scaled up, however further process optimization is required. + +Additional sulfur or iron substrates are recommended for bioleaching of tailings materials, + +since these materials often contain only low amounts of sulfides or sulfur (Liu et al. 2007; + +Srichandan et al. 2019). This makes bioprocessing of tailings more costly. However, the + +sulfide content in the Rammelsberg mine tailings is sufficient to allow bioleaching without +substrate addition, and therefore economically more feasible. By using CLSM combined with + +fluorescent staining, monolayer biofilms were observed on both tailings samples (Figure 4c + +and d). Th e direct observation of attached cells supports the microbial dissolution of minerals, + +microorganisms attach ed to the mineral surface facilitate the mineral attack through + +formation of biofilms composed of extracellular polymeric substances (Vera et al. 2013). + +Journal Pre-proof + +Journal Pre-proof + +11 +4. Conclusions + +This study determined and discussed the dissolution dynamics of metals from tailings and + +tailings concentrate in laboratory scale stirred tank reactor bioleaching experiments. STR + +bioleaching using a mesophilic and acidophilic consortium mainly consisting of At. + +ferrooxidans and At. thiooxidans has been established for efficient Co extraction from + +Rammelsberg bulk mine tailings and tailings flotation concentrate. Further process +optimization (residence time, bioleaching rate) and upscaling are required for full process + +development. Bioleaching is an important processing step in the concept for reprocessing of + +the Rammelsberg mine tailings, and for many sulfidic mine tailings worldwide. + +Acknowledgements + +We thank Dr. Thomas Neu and Ute Kuhlicke (Department of River Ecology, Helmholtz + +Centre for Environmental Research GmbH – UFZ) for CLSM analysis. We thank several +colleagues in BGR for chemical and mineralogical analyses, and especially Laurin Rösler for + +excellent technical assistance. This work was supported by DERA/ BGR and the German + +Federal Ministry of Education and Research (BMBF) r4 project REWITA (winning of + +strategic metals through the recycling of tailings). + +Author Statement + +Conceptualization: R.Z. and A. S.; Funding acquisition: A.S.; Investigation: R.Z., S.H. and +F.R.; Methodology: S.H., F.R. and A.S.; Project administration: A.S.; Resources: A.S. and + +D.G.; Writing – review & editing: R.Z., S.H. and A.S.; All authors read and confirmed the + +revised manuscript. + +Conflict of interest: none to declare + +References + +Ahmadi, A., Khezri, M., Abdollahzadeh, A.A., Askari, M., 2015. Bioleaching of copper, + +nickel and cobalt from the low grade sulfidic tailing of Golgohar Iron Mine, Iran. + +Hydrometallurgy, 154: 1-8. +Alcalde, J., Kelm, U., Vergara, D., 2018. Historical assessment of metal recovery potential + +from old mine tailings: A study case for porphyry copper tailings, Chile. Miner. Eng., + +127: 334-338. + +Journal Pre-proof + +Journal Pre-proof + +12 + +Altinkaya, P., Mäkinen, J., Kinnunen, P., Kolehmainen, E., Haapalainen, M., Lundström, M., + +2018. Effect of biological pretreatment on metal extraction from flotation tailings for + +chloride leaching. Miner. Eng., 129: 47-53. +Ballerstedt, H., Pakostova, E., Johnson, D.B., Schippers, A., 2017. Approaches for + +eliminating bacteria introduced during in situ bioleaching of fractured sulfidic ores in + +deep subsurface, Solid State Phenom. Trans Tech Publ., Switzerland, pp. 70-74. + +Bampole, D.L., Mulaba-Bafubiandi, A.-F., 2019. Mesophilic bioleaching performance of + +copper, cobalt and nickel with emphasis on complex orebodies of the Democratic + +Republic of Congo: a review of dynamic interactions between solids loading, +microbiota activity and growth. Energ. Ecol. Environ., 5(1): 61-83. + +Chen, G., Yang, H., Li, H., Tong, L., 2016. Recovery of cobalt as cobalt oxalate from cobalt + +tailings using moderately thermophilic bioleaching technology and selective + +sequential extraction. Minerals, 6(3): 67. + +Chen, L.X., Li, J.T., Chen, Y.T., Huang, L.N., Hua, Z.S., Hu, M., Shu, W.S., 2013. Shifts in + +microbial community composition and function in the acidification of a lead/zinc +mine tailings. Environ. Microbiol., 15(9:3059): 2431-2444. + +Christel, S., Herold, M., Bellenberg, S., Buetti-Dinh, A., El Hajjami, M., Pivkin, I.V., Sand, + +W., Wilmes, P., Poetsch, A., Vera, M., Dopson, M., 2018. Weak iron oxidation by + +Sulfobacillus thermosulfidooxidans maintains a favorable redox potential for + +chalcopyrite bioleaching. Front. Microbiol., 9: 3059. + +Córdoba, E., Muñoz, J., Blázquez, M., González, F., Ballester, A., 2008. Leaching of +chalcopyrite with ferric ion. Part I: General aspects. Hydrometallurgy, 93(3-4): 81-87. + +Dold, B., 2008. Sustainability in metal mining: from exploration, over processing to mine + +waste management. Rev. Environ. Sci. Bio., 7(4): 275-285. + +Dold, B., 2014. Evolution of acid mine drainage formation in sulphidic mine tailings. + +Minerals, 4(3): 621-641. + +Falagán, C., Grail, B.M., Johnson, D.B., 2017. New approaches for extracting and recovering + +metals from mine tailings. Miner. Eng., 106: 71-78. +Gericke, M., Govender, Y., Pinches, A., 2010. Tank bioleaching of low-grade chalcopyrite + +concentrates using redox control. Hydrometallurgy, 104(3-4): 414-419. + +Gröger, J., Franke, J., Hamer, K., Schulz, H.D., 2009. Quantitative recovery of elemental + +sulfur and improved selectivity in a chromium ‐reducible sulfur distillation. + +Geostand. Geoanalytical Res., 33(1): 17-27. + +Journal Pre-proof + +Journal Pre-proof + +13 + +Guezennec, A.-G., Bru, K., Jacob, J., d’Hugues, P., 2015. Co-processing of sulfidic mining +wastes and metal-rich post-consumer wastes by biohydrometallurgy. Miner. Eng., 75: + +45-53. + +Hedrich, S., Guézennec, A.-G., Charron, M., Schippers, A., Joulian, C., 2016. Quantitative + +monitoring of microbial species during bioleaching of a copper concentrate. Front. + +Microbiol., 7: 2044. + +Hedrich, S., Joulian, C., Graupner, T., Schippers, A., Guézennec, A.-G., 2018. Enhanced + +chalcopyrite dissolution in stirred tank reactors by temperature increase during + +bioleaching. Hydrometallurgy, 179: 125-131. +Hedrich, S., Schippers, A., 2021. Distribution of acidophilic microorganisms in natural and + +man-made acidic environments. Curr. Issues Mol. Biol., 40: 25-48. + +Jafari, M., Shafaie, S., Abdollahi, H., Gharabaghi, M., Chehreh Chelgani, S., 2019. Study of + +the effects of conventional reagents for sulfide flotation on bio-oxidation activity of + +Acidithiobacillus ferrooxidans. Chem. Eng. Commun., 206(3): 365-377. + +Jozsa, P.-G., Schippers, A., Cosma, N., Säsäran, N., Kovacs, Z.M., Jelea, M., Michnea, A., +Sand, W., 1999. Large-scale experiments for safe-guarding mine waste and + +preventing acid rock drainage. In: Biohydrometallurgy and the environment toward + +the mining of the 21st century, Part B. R. Amils and A. Ballester (Eds.), Process + +Metallurgy, Elsevier, Amsterdam, pp. 749-758. + +Kaksonen, A.H., Boxall, N.J., Gumulya, Y., Khaleque, H.N., Morris, C., Bohu, T., Cheng, + +K.Y., Usher, K.M., Lakaniemi, A.-M., 2018. Recent progress in biohydrometallurgy +and microbial characterisation. Hydrometallurgy, 180: 7-25. + +Kalin, M., Wheeler, W.N., Sudbury, M.P., Harris, B., 2018. Mining, Ecological Engineering, + +and Metals Extraction for the 21st Century. In: Oxford Research Encyclopedia of + +Environmental Science, Oxford University Press, London, pp. 1-76. + +Kaufhold, S., Dohrmann, R., Klinkenberg, M., Siegesmund, S., Ufer, K., 2010. N2-BET + +specific surface area of bentonites. J. Colloid Interface Sci., 349(1): 275-282. +Kock, D., Schippers, A., 2006. Geomicrobiological investigation of two different mine waste + +tailings generating acid mine drainage. Hydrometallurgy, 83(1-4): 167-175. + +Kock, D., Schippers, A., 2008. Quantitative microbial community analysis of three different + +sulfidic mine tailing dumps generating acid mine drainage. Appl. Environ. Microbiol., + +74(16): 5211-5219. + +Journal Pre-proof + +Journal Pre-proof + +14 + +Korehi, H., Blöthe, M., Sitnikova, M., Dold, B., Schippers, A., 2013. Metal mobilization by +iron-and sulfur-oxidizing bacteria in a multiple extreme mine tailings in the Atacama + +Desert, Chile. Environ. Sci. Technol., 47(5): 2189-2196. + +Kuhn, K., Meima, J.A., 2019. Characterization and economic potential of historic tailings + +from gravity separation: implications from a mine waste dump (Pb-Ag) in the Harz + +mountains mining district, Germany. Minerals, 9(5): 303. + +Liu, R., Wolfe, A.L., Dzombak, D.A., Horwitz, C.P., Stewart, B.W., Capo, R.C., 2008. +Electrochemical study of hydrothermal and sedimentary pyrite dissolution. Appl. + +Geochem., 23(9): 2724-2734. + +Liu, Y.-G., Zhou, M., Zeng, G.-M., Li, X., Xu, W.-H., Fan, T., 2007. Effect of solids + +concentration on removal of heavy metals from mine tailings via bioleaching. J. + +Hazard. Mater., 141(1): 202-208. + +Lovley, D.R., Phillips, E.J., 1987. Rapid assay for microbially reducible ferric iron in aquatic + +sediments. Appl. Environ. Microbiol., 53(7): 1536-1540. +Marrero, J., Coto, O., Goldmann, S., Graupner, T., Schippers, A., 2015. Recovery of nickel + +and cobalt from laterite tailings by reductive dissolution under aerobic conditions + +using Acidithiobacillus Species. Environ. Sci. Technol., 49(11): 6674-82. + +Martin, M., Janneck, E., Kermer, R., Patzig, A., Reichel, S., 2015. Recovery of indium from + +sphalerite ore and flotation tailings by bioleaching and subsequent precipitation + +processes. Miner. Eng., 75: 94-99. +Morin, D.H.R., d'Hugues, P., 2007. Bioleaching of a cobalt-containing pyrite in stirred + +reactors: a case study from laboratory scale to industrial application. In: Biomining. + +D.E. Rawlings and D.B. Johnson (Eds.), Springer-Verlag, Heidelberg, Germany, pp. + +35-55. + +Muñoz, A., Bevilaqua, D., Garcia Jr, O., 2009. Leaching of Ni and Cu from mine wastes + +(tailings and slags) using acid solutions and A. ferrooxidans, Advanced Materials + +Research. Trans Tech Publ., Switzerland, pp. 425-428. +Park, J., Han, Y., Lee, E., Choi, U., Yoo, K., Song, Y., Kim, H., 2014. Bioleaching of highly + +concentrated arsenic mine tailings by Acidithiobacillus ferrooxidans. Sep. Purif. + +Technol., 133: 291-296. + +Römer, F., Binder, A., Goldmann, D., 2018. Basic considerations for the reprocessing of + +sulfidic tailings using the example of the Bollrich tailing ponds. World Metall. - + +Erzmetall, 71: 135-143. + +Journal Pre-proof + +Journal Pre-proof + +15 +Römer, F., Goldmann, D., 2019. Reprocessing of a mining waste deposit in the Harz + +mountains–How contaminated sites might become raw material deposits in the future. + +Chemkon, 26(2): 66-71. + +Sand, W., Gerke, T., Hallmann, R., Schippers, A., 1995. Sulfur chemistry, biofilm, and the + +(in) direct attack mechanism—a critical evaluation of bacterial leaching. Appl. + +Microbiol. Biotechnol., 43(6): 961-966. + +Sand, W., Jozsa, P.-G., Kovacs, Z.-M., Săsăran, N., Schippers, A., 2007. Long-term +evaluation of acid rock drainage mitigation measures in large lysimeters. J. Geochem. + +Explor., 92(2-3): 205-211. + +Schippers, A., Bosecker, K., 2005. Bioleaching: Analysis of microbial communities + +dissolving metal sulfides. In: Methods in Biotechnology. Vol. 18: Microbial Processes + +and Products. J.L. Barredo (Ed.), Humana Press Inc., Totowa, NJ, USA, pp. 405-412. + +Schippers, A., Breuker, A., Blazejak, A., Bosecker, K., Kock, D., Wright, T., 2010. The +biogeochemistry and microbiology of sulfidic mine waste and bioleaching dumps and + +heaps, and novel Fe (II)-oxidizing bacteria. Hydrometallurgy, 104(3-4): 342-350. + +Schippers, A., Hedrich, S., 2018. Stand der Technik und Potential von Biohydrometallurgie + +für Recycling. In: Recycling und Rohstoffe - Band 11. S. Thiel, E. Thomé- + +Kozmiensky and D. Goldmann (Eds.), Thomé-Kozmiensky Verlag GmbH, Neuruppin, + +Germany, pp. 351-360. +Schippers, A., Hedrich, S., Vasters, J., Drobe, M., Sand, W., Willscher, S., 2014. Biomining: + +metal recovery from ores with microorganisms. In: Geobiotechnology I – Metal- + +Related Issues, Advancesin Biochemical Engineering & Biotechnology. A. Schippers, + +F. Glombitza and W. Sand (Eds.), Springer, Heidelberg, pp. 1-47. + +Schippers, A., Kock, D., Schwartz, M., Böttcher, M.E., Vogel, H., Hagger, M., 2007. + +Geomicrobiological and geochemical investigation of a pyrrhotite-containing mine +waste tailings dam near Selebi-Phikwe in Botswana. J. Geochem. Explor., 92(2-3): + +151-158. + +Schirmer, T., Roemer, F., Elwert, T., Goldmann, D., 2017. Characterization of tailings of the + +rammelsberg ore deposit for a potential reprocessing. In: U. Waschki (Ed.), European + +Metallurgical Conference. GDMB Gesellschaft der Metallurgen und Bergleute e.V., + +Leipzig, Germany, pp. 197-215. + +Srichandan, H., Mohapatra, R.K., Parhi, P.K., Mishra, S., 2019. Bioleaching approach for +extraction of metal values from secondary solid wastes: A critical review. + +Hydrometallurgy, 189: 105-122. + +Journal Pre-proof + +Journal Pre-proof + +16 + +Stanković, S., Morić, I., Pavić, A., Vojnović, S., Vasiljević, B., Cvetković, V., 2015. + +Bioleaching of copper from samples of old flotation tailings (Copper Mine Bor, + +Serbia). J. Serb. Chem. Soc, 80(3): 391-405. + +Ulusoy, U., 2019. Review of the recovery of cobalt from secondary resources. In: Critical and +Rare Earth Elements: Recovery from Secondary Resources. Abhilash and A. Akcil + +(Eds.), CRC Press New York, pp. 115-153. + +Vera, M., Schippers, A., Sand, W., 2013. Progress in bioleaching: fundamentals and + +mechanisms of bacterial metal sulfide oxidation—part A. Appl. Microbiol. + +Biotechnol., 97(17): 7529-7541. + +Wakeman, K., Auvinen, H., Johnson, D.B., 2008. Microbiological and geochemical + +dynamics in simulated‐heap leaching of a polymetallic sulfide ore. Biotechnol. + +Bioeng., 101(4): 739-750. +Wang, S., Xie, Y., Yan, W., Wu, X., Wang, C.-T., Zhao, F., 2018. Leaching of vanadium + +from waste V 2 O 5-WO 3/TiO 2 catalyst catalyzed by functional microorganisms. Sci. + +Total Environ., 639: 497-503. + +Wen, J., Ruan, R., 2002. Study on bioleaching of low-grade nickel ores in Jin chuan. Min. + +Metall., 11: 55-58. + +Wilkin, R.T., Barnes, H.L., 1997. Formation processes of framboidal pyrite. Geochim. + +Cosmochim. Acta, 61(2): 323-339. +Figure 1. Bioleaching of bulk tailings at different initial pH and pulp density in shake flasks. + +Experiments in triplicates were done at 30 °C and at 150 rpm for 16 days. Bars show the + +concentration of total dissolved iron (left) and total iron recovery (right). Error bars show + +standard deviation. + +Figure 2. Bioleaching of the bulk tailings by the mixed culture in 2-L STR at an initial pH of + +2.0 and at 30 °C. Changes in redox potential, pH, iron(II) and total iron concentration. ■: +bioleaching, □: abiotic control. The pH in control reactors was adjusted accord ing to the + +bioleaching runs by adding 5 M sulfuric acid. Values represent mean of two parallel + +bioleaching reactor runs. + +Figure 3. Bioleaching of the bulk tailings (a) and tailings concentrate (b, c) in 2-L STR by + +the adapted culture at 30 °C and 10% SL after 13 d. ■ bioleaching □ abiotic control. Values + +represent mean of two parallel bioleaching reactor runs. + +Journal Pre-proof + +Journal Pre-proof + +17 +Figure 4. Comparison of cobalt and copper bioleaching from the bulk tailings and tailings + +concentrate by the mixed culture (a), microbial activity on the bulk tailings and tailings + +concentrate determined by microcalorimetry (b), and monolayer biofilms on bulk tailings (c) + +and tailings concentrate (d). Biofilm (attached) cells on tailings surface were visualized by + +confocal laser scanning microscopy (CLSM) after staining with SyproOrange (protein + +specific stain). Cells=red, tailings surface=dark grey. +Figure 5. Changes in cell number and microbial community composition during bioleaching + +of the bulk tailings by the mixed culture in 2-L STR at an initial pH of 2.0 and 30 °C. (a) + +changes of cell numbers analyzed via counting of SybrGreen stained cells and 16S rRNA + +gene copy numbers via qPCR; (b) changes of microbial community over time analyzed via T- + +RFLP, white: At. ferrooxidans, black: At. thiooxidans, grey: indigenous bacteria. +Figure 6. EPMA-SEM of tailings concentrate (a) and tailings concentrate after bioleaching + +(b). Qz: quartz, Py: pyrite, Ba: barite, Ga: galena. Bar in b and c represents 5 µm. + +Table 1. Elemental composition of the bulk tailings and tailings concentrate (%) + +Tailings + +C org + +Fe + +TS + +S 2- + +S 0 + +Co + +Cu + +Zn + +Pb + +As + +Bulk + +0.16 + +10.2 + +9.28 + +7.52 + +0.08 + +0.02 + +0.12 + +1.49 + +1.35 + +0.08 + +Concentr. + +1.44 + +27.9 + +34.25 + +30.7 + +0.10 + +0.06 + +0.57 + +4.85 + +4.09 + +0.25 + +TS: total sulfur content; C org: organic carbon + +Fig. 1 +Fig. 2 + +Journal Pre-proof + +Journal Pre-proof + +18 + +Fig. 3 + +Fig. 4 + +Journal Pre-proof + +Journal Pre-proof + +19 + +Fig. 5 + +Fig. 6 + +Journal Pre-proof + +Journal Pre-proof + +20 + +Highlights: + + Bioprocessing of a Co/Cu rich polymetallic mine tailings. + + Bioleaching was more effective compared to chemical leaching. + + Cobalt was efficiently bioleached from framboidal pyrite structures. + + Biofilms on the tailings were characterized. + +Journal Pre-proof + +Journal Pre-proof + +Figure 1 + +Figure 2 + +Figure 3 + +Figure 4 +Figure 5 + +Figure 6 diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md index aee620b5c..0ef57e950 100644 --- a/reports/causal_graph_review/README.md +++ b/reports/causal_graph_review/README.md @@ -1012,3 +1012,28 @@ Two fresh primary main bodies, one existing primary full-text extraction and two SCDY1 abstract versions were read. A selected cache excerpt is not independent source verification. No new topology or Edison spend; repairs #1746-#1748 await protected-main merge. Self-review is not independent approval. + +## Batch93: Exact Sources And Metabolic Relay + +[Decisions](decisions/20261007-four-records-batch93.yaml), +[validation](validation-20261007-batch93.json), +[cache provenance](cache-provenance-20261007-batch93.json) and +[self-adversarial review](adversarial-review-20261007-batch93.yaml) cover +Rammelsberg, BDE-47, RAMC and PPOW. Eight of nine nodes and three of six +directions remain. Rammelsberg uses its correct primary study and community +scope; BDE-47 intermediate cross-feeding is distinct from parent disappearance +and donor feedback. RAMC is unchanged. PPOW member roles remain hypothetical, +with the source's contradictory control reporting explicit. Positive outcomes +are preserved. Three fresh main bodies and a public Rammelsberg pre-proof were +read; the retained BDE bromide quote matches only an existing supplement +caption, not a fresh supplement or pixel review. No new direction or provider +spend. Two independent full-text caches were added; PPOW's initial cache-access +failure and RAMC's existing snippet-classification exception remain recorded. +Repairs #1750-#1752 await protected-main merge; non-graph metadata #1753 +remains open. Self-review is not independent approval or corpus completion. + +Reference CLI passes were measured on macOS, not Linux. Existing #1091 tracks +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. diff --git a/reports/causal_graph_review/adversarial-review-20261007-batch93.yaml b/reports/causal_graph_review/adversarial-review-20261007-batch93.yaml new file mode 100644 index 000000000..6ace280c6 --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261007-batch93.yaml @@ -0,0 +1,521 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: ba6bdfb3fa594cdf5469fc81c12ae2975bb3ce6e +scope: +- kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml +- kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml +- kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml +- kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml +decision_ledger: reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml +validation_report: reports/causal_graph_review/validation-20261007-batch93.json +findings: +- issue: 1750 + severity: P2 + status: addressed_in_this_change + finding: Repair Rammelsberg graph citation and unsupported pairwise feedback + disposition: Close only after protected-main merge. +- issue: 1751 + severity: P2 + status: addressed_in_this_change + finding: Separate BDE-47 cross-feeding from donor rescue and parent removal + disposition: Close only after protected-main merge. +- issue: 1752 + severity: P2 + status: addressed_in_this_change + finding: Qualify PPOW member roles and expose contradictory control reporting + disposition: Close only after protected-main merge. +- issue: 1753 + severity: P2 + status: open_non_graph_follow_up + finding: Reconcile batch93 non-graph source identity, roles and concentration units + disposition: Remain open for separate non-graph curation; graph merge does not resolve it. +adversarial_checks: +- 'Initial combined regression output retained:855passed and one participant-set failure. The expected set now includes + Rammelsberg after the measured census; the corrected full suite was rerun. Reference CLI success is macOS-only, + not a Linux claim: existing DOI-cache casing issue1091 remains unresolved.' +- Fresh both-root baseline preceded sources; four whole records and all nine original nodes/six arrows accounted + for. Eight nodes/three directions retained, one intrinsic node/three feedback arrows removed, no new topology. +- Rammelsberg primary105443 is distinct from Finnish105484. Community chemistry and positive metal recovery remain; + the dominant recorded taxa are not the entire enrichment or demonstrated pairwise beneficiaries. Correct iron-to-dissolution + direction retained. Generic review chemistry cannot establish strain-specific recycling/passivation, and intrinsic + carbon fixation is not exchange. Incorrect iron-transport annotation removed. +- BDE-47 retains supported forward intermediate CROSS_FEEDING, functional enzymes, transwell relay, sequential growth + and wastewater endpoints. Both monoculture and mixed culture remove parent BDE-47; partner conversion prevents2,4-DBP + accumulation. Reverse donor benefit/return transfer is not shown. SYNTROPHY does not require obligacy; feedback + is the missing criterion. Pathway reconstruction/bromide release are not a closed carbon balance. +- 'RAMC graph and entire record remain unchanged: exact primary monoculture/pool comparisons support complementary + utilization. Succinate exchange remains proposed, not an asserted arrow. WT and engineered RAMC-P claims remain + separate; no protocol/design additions. Existing non-graph citation-marker omission yields one ASSEMBLED classification + and one RENDERING; baseline/current counts measured equal, not silently called literal MATCH.' +- PPOW roles remain an explicit HYPOTHESIZED/PARTIAL model while bulk removal retains SUPPORT. Methods2.4 describes + controls but the conclusion says they are lacking; this source conflict is not resolved by choosing one statement. + No directional cross-feeding invented. Existing member-mechanism discussion preserved. +- Three fresh PMC main bodies and complete public Rammelsberg pre-proof text read, with captions/table text but + no figure pixels, raw data or complete supplements. One retained BDE FigureS16 caption has existing-cache-only + provenance. All other21graph/new-discussion quotes freshly matched; quote matching is not entailment. Publisher + metadata independently verifies Rammelsberg DOI/title/OA license but is not full text. No security challenge bypass. +- 'All921baselinecaches preserved; two independent full-text caches added: the public Rammelsberg pre-proof and + freshly retrieved PPOW PMC text. PPOW initial31NoContent CLI failure is separately retained, not counted as a + pass.457otherrecords, non-graph raw blocks and prior histories/decisions remain unchanged. Canonical IDs/labels + preserved; Rammelsberg COMMUNITY_LEVEL scope and BDE recipient-step participants intentionally repaired. Legacy + community-level census changes are measured, not used to claim mechanistic connectivity.' +- Eight new regressions and focused schema/strict/term/reference/snippet/history checks executed, including the + explicit RAMC baseline exception. Network remains56existingwarnings and zero structural defects. Deterministic + rendering and exact HTML-description checks are not browser screenshots; generated-model loader1703 remains outside + certification. +- Ignored-inclusive local and all-state issue dedup recorded with exclusions. Repairs1750-1752 remain open until + protected-main merge; non-graph1753 remains unresolved. No provider spend, new wet-lab instructions, independent + approval or corpus-completion claim. Prior denied/pending Edison scopes unchanged. +verification: + combined_regressions: 856 passed in 287.22s (0:04:47) + new_regression_tests: 8 + primary_graph_snippet_proof: + graph_quotations: 16 + new_discussion_quotations: 6 + fresh_primary_matches: 21 + existing_supplement_caption_matches: 1 + retained_nodes: 8 + removed_nodes: 1 + retained_arrows: 3 + removed_arrows: 3 + new_nodes_or_directions: 0 + fresh_main_bodies_read: 3 + public_author_preproof_read: 1 + cache_files_added: 2 + baseline_cache_files_preserved: 921 + references: 'Four full-record CLI and local snippet checks executed. Literal matches do not establish entailment + or independent provenance: RAMC selected cache quotes separately match fresh full text; the retained BDE FigureS16 + caption has existing-cache-only provenance. Rammelsberg new cache is the complete public author pre-proof browser + extraction, not a final PDF. CLI Total checks counts issues, not executed checks. Executed on macOS, not Linux: + existing issue1091 remains open for the pinned DOI-cache reader casing mismatch on case-sensitive filesystems.' + snippet_counts_by_record: + kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml: + MATCH: 22 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml: + MATCH: 25 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml: + MATCH: 20 + RENDERING: 1 + ASSEMBLED: 1 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml: + MATCH: 35 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + full_corpus_snippet_audit: + caveat: Both-root audit executed; informational exit0 is not clean-corpus certification. Selected-cache matches + are literal, not independent verification. + counts: + records: 460 + total: 8936 + categories: + MATCH: 8801 + RENDERING: 20 + ASSEMBLED: 1 + WEAK: 0 + MISMATCH: 38 + NOCONTENT: 76 + network: + existing_findings_preserved: 56 + added_findings: {} + removed_findings: {} + interpretation: Eight nodes retained, one intrinsic node and three unproven feedback arrows removed. All56existingwarnings + unchanged, zero structural defects; no taxonomy or auditor-rule changes. + tested_file_sha256: + reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml: 500c0c50004d7468d58773f647750f745900bfa6463bcd8622ef2e8093ed7651 + tests/test_causal_review_batch93.py: 4fd15b6e98e64b9e83fbcd7fe9a3309bc579fb8f368ff1e149c85b86622d1d4f + reports/causal_graph_review/README.md: d34e84deda4be3e21480cd5e4539ce93ed0b34122a94c4d45898461b4e4b56cc + reports/causal_graph_review/cache-provenance-20261007-batch93.json: 42eced81b60bd40edf7100055b057c03ca35c0cb9472f70e1c23566f7e76a082 + kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml: cf9d123e9ca919c62766a20e764dbb2f18bbfc1004911cdf4a0d48055ba47e56 + kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml: 5b74bd01d770c894a9dd65240bf47b4754d997013fa2681a63abf653a1fb82d0 + kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml: 583655d32e85bb7a2786ba99f814f00b83dde9a5dca8e3d3b6d0b4f38ab28d46 + kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml: 8e36a499934681939a8905e7044d7951646ef4efe7ed0cf5cfb37d4ce95e9171 + tests/test_participating_taxa.py: 542dd1067bae1fa922b7c728e017b8cd9b40278c2b11dff0b4673165b1b07715 + unchanged_records: 457 + unchanged_caches: 921 + immutable_prior_history_and_decision_files: 748 + cache_changes: + - path: references_cache/doi_10.1016_j.hydromet.2020.105443.md + action: added + sha256: 1f68bb07ce944b1917509a359d5cf957585cb316ee5b8de732e9d3b17951e9d3 + reference: doi:10.1016/j.hydromet.2020.105443 + source: https://www.researchgate.net/publication/343508487_Bioleaching_of_cobalt_from_CuCo-rich_sulfidic_mine_tailings_from_the_polymetallic_Rammelsberg_mine_Germany + scope: Complete public author-copy main text, figure captions and Table1 extracted through the browser and read. + Pre-proof, not final publisher PDF; no figure pixels or supplement review. Contiguous browser lines69-1291 + independently captured, excluding subsequent citing papers. Direct repository PDF presented a security challenge, + direct author page returned403; neither bypassed. Elsevier API independently confirms DOI/title/license but + returns metadata only. + independent_primary_text: true + prior_cache_files_preserved: 921 + - path: references_cache/PMID_42491060.md + action: added + sha256: 84603f25a950f92b37d0d4f8a608149ab42cc95886d62d9085ecd3a6cc1baa96 + reference: PMID:42491060 + source: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13375889/fullTextXML + scope: Complete freshly retrieved article abstract/main body, including embedded table text and figure captions. + Structured XML extraction, not curated snippet assembly; no figure pixels or supplementary files. + independent_primary_text: true + prior_cache_files_preserved: 921 + ramc_existing_snippet_classification: + baseline_counts: + MATCH: 20 + RENDERING: 1 + ASSEMBLED: 1 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + current_counts: + MATCH: 20 + RENDERING: 1 + ASSEMBLED: 1 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + interpretation: 'Unchanged non-graph medium quote omits the source citation marker63 after medium. Fresh primary + paragraph read: the prose is consecutive apart from that citation. The lexical auditor reports ASSEMBLED; + it is not silently counted as MATCH or proof of fabricated assembly. One existing RENDERING also remains.' + edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] + repair_scope: Qualify/re-evidence existing nodes/directions and remove unsupported graph elements; no new topology. + post_commit_docs_current: Separate publication gate, not preasserted. + failed_attempts: + - check: Rhodococcus_Pseudomonas_PPOW_Consortium-references + command: + - /Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator + - validate + - data + - kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml + - -s + - src/communitymech/schema/communitymech.yaml + - --config + - conf/reference_validator.yaml + exit_code: 1 + expected_exit_codes: + - 0 + log: /private/tmp/communitymech-batch93/Rhodococcus_Pseudomonas_PPOW_Consortium-references.log + log_sha256: 62b9eb343eb8b9d1e2a7f055684e51bcbd98cab73455109acb1c69bbfd42b886 + output_tail: "Validating kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\n\ + Cache directory: references_cache\n\nValidation Issues (31):\n [ERROR] No content available for reference:\ + \ PMID:42491060\n Location: engineering_design.evidence[0].snippet\n Reference: PMID:42491060\n [ERROR]\ + \ No content available for reference: PMID:42491060\n Location: engineering_design.evidence[1].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ engineering_design.evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for\ + \ reference: PMID:42491060\n Location: engineering_design.evidence[3].snippet\n Reference: PMID:42491060\n\ + \ [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[4].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ taxonomy[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference:\ + \ PMID:42491060\n Location: taxonomy[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No\ + \ content available for reference: PMID:42491060\n Location: taxonomy[0].evidence[2].snippet\n Reference:\ + \ PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[1].evidence[0].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ taxonomy[1].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference:\ + \ PMID:42491060\n Location: taxonomy[1].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No\ + \ content available for reference: PMID:42491060\n Location: taxonomy[2].evidence[0].snippet\n Reference:\ + \ PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[2].evidence[1].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ taxonomy[2].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference:\ + \ PMID:42491060\n Location: ecological_interactions[0].evidence[0].snippet\n Reference: PMID:42491060\n\ + \ [ERROR] No content available for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[1].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ ecological_interactions[0].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available\ + \ for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[3].snippet\n Reference:\ + \ PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: environmental_factors[0].evidence[0].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ environmental_factors[1].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available\ + \ for reference: PMID:42491060\n Location: environmental_factors[2].evidence[0].snippet\n Reference:\ + \ PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: environmental_factors[3].evidence[0].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ growth_media[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference:\ + \ PMID:42491060\n Location: growth_media[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR]\ + \ No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[2].snippet\n \ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[3].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ growth_media[0].evidence[4].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference:\ + \ PMID:42491060\n Location: growth_media[0].evidence[5].snippet\n Reference: PMID:42491060\n [ERROR]\ + \ No content available for reference: PMID:42491060\n Location: cultivation_setup[0].evidence[0].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ cultivation_setup[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for\ + \ reference: PMID:42491060\n Location: external_resources[0].evidence[0].snippet\n Reference: PMID:42491060\n\ + \nValidation Summary:\n Total checks: 31\n Issues found: 31\n" + explained_output_tail: "Validating kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml against schema\ + \ src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Issues (31):\n\ + \ [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[0].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ engineering_design.evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for\ + \ reference: PMID:42491060\n Location: engineering_design.evidence[2].snippet\n Reference: PMID:42491060\n\ + \ [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[3].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ engineering_design.evidence[4].snippet\n Reference: PMID:42491060\n [ERROR] No content available for\ + \ reference: PMID:42491060\n Location: taxonomy[0].evidence[0].snippet\n Reference: PMID:42491060\n\ + \ [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[0].evidence[1].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ taxonomy[0].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference:\ + \ PMID:42491060\n Location: taxonomy[1].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No\ + \ content available for reference: PMID:42491060\n Location: taxonomy[1].evidence[1].snippet\n Reference:\ + \ PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[1].evidence[2].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ taxonomy[2].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference:\ + \ PMID:42491060\n Location: taxonomy[2].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No\ + \ content available for reference: PMID:42491060\n Location: taxonomy[2].evidence[2].snippet\n Reference:\ + \ PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[0].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ ecological_interactions[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available\ + \ for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[2].snippet\n Reference:\ + \ PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[3].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ environmental_factors[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available\ + \ for reference: PMID:42491060\n Location: environmental_factors[1].evidence[0].snippet\n Reference:\ + \ PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: environmental_factors[2].evidence[0].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ environmental_factors[3].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available\ + \ for reference: PMID:42491060\n Location: growth_media[0].evidence[0].snippet\n Reference: PMID:42491060\n\ + \ [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[1].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ growth_media[0].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference:\ + \ PMID:42491060\n Location: growth_media[0].evidence[3].snippet\n Reference: PMID:42491060\n [ERROR]\ + \ No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[4].snippet\n \ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[5].snippet\n\ + \ Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location:\ + \ cultivation_setup[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for\ + \ reference: PMID:42491060\n Location: cultivation_setup[0].evidence[1].snippet\n Reference: PMID:42491060\n\ + \ [ERROR] No content available for reference: PMID:42491060\n Location: external_resources[0].evidence[0].snippet\n\ + \ Reference: PMID:42491060\n\nValidation Summary:\n Total checks: 31\n Issues found: 31\n" + disposition: Pre-remediation failure retained. Independent PMC full-text cache added; a separately named fresh-cache + gate must actually pass. + - 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_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: 1 + expected_exit_codes: + - 0 + log: /private/tmp/communitymech-batch93/regressions.log + log_sha256: 12a3b8369f67649332a2336c183101ba20fcd76f8a90bfeb071dd3b5152f043b + output_tail: "........................................................................ [ 8%]\n........................................................................\ + \ [ 16%]\n........................................................................ [ 25%]\n........................................................................\ + \ [ 33%]\n........................................................................ [ 42%]\n........................................................................\ + \ [ 50%]\n........................................................................ [ 58%]\n........................................................................\ + \ [ 67%]\n........................................................................ [ 75%]\n........................................................................\ + \ [ 84%]\n.......................................................F................ [ 92%]\n................................................................\ + \ [100%]\n=================================== FAILURES ===================================\n_________________\ + \ test_the_corpus_is_unchanged_by_this_feature _________________\n\n def test_the_corpus_is_unchanged_by_this_feature():\n\ + \ \"\"\"Only the records that mean to use the slot do.\n \n Asserted on the corpus rather\ + \ than trusted from the schema: an\n `ifabsent` or a default that quietly populated the slot would\ + \ change 312\n records' connectivity without anyone editing a record. That is still the\n failure\ + \ this catches \u2014 a silent default would put every record in `users`,\n not just the three named\ + \ below.\n \"\"\"\n users = {\n path.name\n for path in record_files()\n\ + \ for interaction in (yaml.safe_load(path.read_text()) or {}).get(\"ecological_interactions\")\n\ + \ or []\n if isinstance(interaction, dict) and interaction.get(\"participating_taxa\"\ + )\n }\n> assert users == USERS, (\n f\"{len(users)} records use participating_taxa,\ + \ expected {len(USERS)}. \"\n f\"Adding a user is fine \u2014 but the connectivity numbers in \"\ + \n f\"tests/test_community_level_connectivity_credit.py were measured \"\n f\"before\ + \ the slot was used, so re-check them and then update USERS. \"\n f\"Added: {sorted(users - USERS)}.\ + \ Removed: {sorted(USERS - users)}\"\n )\nE AssertionError: 257 records use participating_taxa,\ + \ expected 256. Adding a user is fine \u2014 but the connectivity numbers in tests/test_community_level_connectivity_credit.py\ + \ were measured before the slot was used, so re-check them and then update USERS. Added: ['Rammelsberg_Cobalt_Nickel_Tailings.yaml'].\ + \ Removed: []\nE assert {'AMD_Acidoph...re.yaml', ...} == {'AMD_Acidoph...re.yaml', ...}\nE \ + \ \nE Extra items in the left set:\nE 'Rammelsberg_Cobalt_Nickel_Tailings.yaml'\nE \ + \ Use -v to get more diff\n\ntests/test_participating_taxa.py:441: AssertionError\n===========================\ + \ short test summary info ============================\nFAILED tests/test_participating_taxa.py::test_the_corpus_is_unchanged_by_this_feature\n\ + 1 failed, 855 passed in 246.48s (0:04:06)\n" + disposition: Expected participant-record set updated after measured census; full suite rerun required. + total_recorded_gate_outputs: 44 +participant_census: + measurements: + baseline: + records: 460 + with_community_level: 396 + mixed: 126 + community_level_only: 270 + taxa: 1523 + credited_solely_by_the_rule: 1249 + current: + records: 460 + with_community_level: 397 + mixed: 126 + community_level_only: 271 + taxa: 1525 + credited_solely_by_the_rule: 1251 + delta: + records: 0 + with_community_level: 1 + mixed: 0 + community_level_only: 1 + taxa: 2 + credited_solely_by_the_rule: 2 + interpretation: Rammelsberg now has community-scoped process nodes with both existing dominant taxa explicitly + named. The legacy survey counts taxa only within records carrying COMMUNITY_LEVEL nodes:1523to1525 is not an + increase in corpus membership. Its sole-credit count increases1249to1251; this metric is not evidence of an + ecological mechanism. BDE-47 remains mixed scope with its supported forward pairwise relay. +corpus: + records: 460 + nodes: 1419 + edges: 580 + review_status_counts: + needs_research: 48 + pending: 124 + reviewed: 288 +limitations: +- Reference CLI checks were executed on macOS, not Linux. Existing issue1091 documents the pinned validator's DOI-cache + casing mismatch on case-sensitive filesystems. The new DOI cache follows repository convention; this graph repair + does not resolve or certify that cross-platform reader contract. +- The first combined regression run passed855tests and failed the exact participating_taxa record-set assertion. + Rammelsberg intentionally adds explicit community participants; the measured census supports updating the expected + set. The failed output is retained separately from the corrected rerun. +- All four whole records, nine original nodes and six original arrows reviewed. Eight nodes and three qualified + existing arrows remain; RAMC unchanged. No new node/direction, experimental protocol, provider submission or paid + Edison job. +- Three fresh EuropePMC main bodies and the complete public Rammelsberg author pre-proof text read, including captions + and available table text. No figure-pixel, raw-data or complete supplement review. Rammelsberg browser extraction + is not a downloaded final PDF; repository challenge and direct403 were not bypassed. The official publisher API + returned identifying metadata only. +- Rammelsberg105443 is the exact study;105484 is a different Finnish study and its caches remain unchanged. PMID39770610 + is a background review, with only abstract/sections1-2 read. The corrected graph includes dominant recorded taxa + without claiming they exhaust the enrichment. Non-graph source/community/industrial-scale errors remain issue1753. +- BDE-47 cross-feeding, functional pathway and removal remain positive. Parent disappearance alone does not need + JMP134; the demonstrated contribution is clearing2,4-DBP. Current SYNTROPHY does not assert obligacy; donor feedback, + reverse transfer, reciprocal fitness and closed carbon balance are not established by this comparison. The retained + bromide quote matches the existing appended FigureS16 caption, read but not freshly retrieved or visually inspected. + Thus21of22graph/new-discussion quotations have fresh independent primary matches, one is existing-caption-only. + Non-graph partner roles remain issue1753. +- RAMC remains supported without asserting the proposed succinate cross-feed; WT versus RAMC-P distinctions and + previous non-graph fixes stay intact. Its selected appended cache is not independent evidence, but both graph + quotes separately match the fresh complete main body. +- PPOW retains a HYPOTHESIZED/PARTIAL complementarity model and the SUPPORT bulk-removal observation. Methods/control + claims conflict with the conclusion; neither control adequacy nor total absence is certified. Abstract versus + main-text concentration-unit conflict and non-graph member-role evidence remain issue1753. +- All921baselinecaches and457otherrecord files preserved; two new exact-source caches added with browser-extraction + provenance. All prior histories/decision ledgers and all non-graph raw blocks are preserved. Canonical taxon IDs/labels + remain, but Rammelsberg process scope and BDE recipient-step assignment are intentionally repaired. +- Dedup included ignored/hidden local files except.git/docs/site/references_cache, with relevant caches separately + checked. All-state issue titles/bodies refreshed; six matching existing issues read. Comments/PRs not exhaustively + searched. Repairs1750-1752 close only after protected-main merge; non-graph1753 remains open. +- Self-adversarial review is not independent approval, generated-model loader certification or corpus completion. + Loader1703 and prior denied/pending Edison scopes remain unchanged. Subsequent test/render/publication gates are + not preasserted. +- The initial PPOW reference CLI failed with31NoContent errors because its old text dump was not usable by that + validator. A second new cache independently extracted from the freshly retrieved complete PMC primary text resolves + cache access without changing the original dump. Two new caches total, all921baselinecaches unchanged. The failed + attempt remains separately recorded, not represented as a pass. diff --git a/reports/causal_graph_review/cache-provenance-20261007-batch93.json b/reports/causal_graph_review/cache-provenance-20261007-batch93.json new file mode 100644 index 000000000..c39aa3cd3 --- /dev/null +++ b/reports/causal_graph_review/cache-provenance-20261007-batch93.json @@ -0,0 +1,40 @@ +{ + "changes": [ + { + "path": "references_cache/doi_10.1016_j.hydromet.2020.105443.md", + "action": "added", + "sha256": "1f68bb07ce944b1917509a359d5cf957585cb316ee5b8de732e9d3b17951e9d3", + "reference": "doi:10.1016/j.hydromet.2020.105443", + "source": "https://www.researchgate.net/publication/343508487_Bioleaching_of_cobalt_from_CuCo-rich_sulfidic_mine_tailings_from_the_polymetallic_Rammelsberg_mine_Germany", + "scope": "Complete public author-copy main text, figure captions and Table1 extracted through the browser and read. Pre-proof, not final publisher PDF; no figure pixels or supplement review. Contiguous browser lines69-1291 independently captured, excluding subsequent citing papers. Direct repository PDF presented a security challenge, direct author page returned403; neither bypassed. Elsevier API independently confirms DOI/title/license but returns metadata only.", + "independent_primary_text": true, + "prior_cache_files_preserved": 921 + }, + { + "path": "references_cache/PMID_42491060.md", + "action": "added", + "sha256": "84603f25a950f92b37d0d4f8a608149ab42cc95886d62d9085ecd3a6cc1baa96", + "reference": "PMID:42491060", + "source": "https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13375889/fullTextXML", + "scope": "Complete freshly retrieved article abstract/main body, including embedded table text and figure captions. Structured XML extraction, not curated snippet assembly; no figure pixels or supplementary files.", + "independent_primary_text": true, + "prior_cache_files_preserved": 921 + } + ], + "source_artifacts": { + "/private/tmp/communitymech-batch93/ramm-web-middle.txt": "770e286104590ccb2dea1955ffa5e26c740135442789d4a5670e7d83c262fd40", + "/private/tmp/communitymech-batch93/ramm-web-rest.txt": "4ab477c424e89b6d39a97c3271f3013450cfcb6c49abd2a8d87a54988b7118af", + "/private/tmp/communitymech-batch93/ramm-web-start.txt": "8649f929ae14c7ef07fbc36240e89e04f4ccbdb6daf37a755623d5dfd36c094c" + }, + "publisher_metadata": { + "path": "/private/tmp/communitymech-batch93/ramm-api.raw", + "sha256": "f80a07f734154bb1dc0db4d8be7df304ce7a6781720bc2961535c6968ea1b186", + "scope": "DOI/title/license only; no full body" + }, + "extraction": "Contiguous browser line69-1291 primary pre-proof, no curated-snippet reconstruction, excludes later citing papers.", + "ppow_source_artifacts": { + "/private/tmp/communitymech-batch93/ppow-primary.xml": "25973b43297dd65ea57d4cf385a93b8cf0f0c152fad0b0571544e287ef17f574", + "/private/tmp/communitymech-batch93/ppow-primary.txt": "ab69c92a309f0e5a4dae7e152175bb4153fe47ff2e715d477ecdf0edd6c80283", + "/private/tmp/communitymech-batch93/ppow-metadata.json": "92355834e62d8781813fae7357db6ad14968ca66cd90bf8031a9b96aef128ac5" + } +} diff --git a/reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml b/reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml new file mode 100644 index 000000000..ac4c93999 --- /dev/null +++ b/reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml @@ -0,0 +1,571 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: ba6bdfb3fa594cdf5469fc81c12ae2975bb3ce6e +baseline_commit: ba6bdfb3fa594cdf5469fc81c12ae2975bb3ce6e +base_tree: 061d3205a368264e2069e21d27c37e00543b6dfb +pre_source_baseline_sha256: fa7c5c00f52ac68ba0fbb09b2c0e004a9558648ffd6a4103403c82f80f188b98 +issues: +- 1750 +- 1751 +- 1752 +unresolved_research_issues: [] +unresolved_non_graph_issues: +- 1753 +issue_deduplication: + all_state_issue_titles_and_bodies: 1015 + matching_issues: + - 1362 + - 1030 + - 1029 + - 1028 + - 876 + - 875 + ignored_hidden_local_search: true +source_access: +- reference: PMID:39770610 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC11678928/fullTextXML + accessed_scope: Background review abstract and sections1-2 read; remaining element-specific sections not reviewed. + Not exact-system evidence. +- reference: PMID:42364169 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13440307/fullTextXML + accessed_scope: Fresh complete primary main body read, including embedded table text and figure captions; no figure-pixel, + raw-data or complete supplement review. +- reference: PMID:41381587 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC12816627/fullTextXML + accessed_scope: Fresh complete primary main body read, including embedded table text and figure captions; no figure-pixel, + raw-data or complete supplement review. +- reference: PMID:42491060 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13375889/fullTextXML + accessed_scope: Fresh complete primary main body read, including embedded table text and figure captions; no figure-pixel, + raw-data or complete supplement review. +- reference: doi:10.1016/j.hydromet.2020.105443 + url: https://www.researchgate.net/publication/343508487_Bioleaching_of_cobalt_from_CuCo-rich_sulfidic_mine_tailings_from_the_polymetallic_Rammelsberg_mine_Germany + accessed_scope: Complete public author-copy main text, figure captions and Table1 extracted through the browser + and read. Pre-proof, not final publisher PDF; no figure pixels or supplement review. Contiguous browser lines69-1291 + independently captured, excluding subsequent citing papers. Direct repository PDF presented a security challenge, + direct author page returned403; neither bypassed. Elsevier API independently confirms DOI/title/license but + returns metadata only. +primary_artifacts: + /private/tmp/communitymech-batch93/baseline.json: fa7c5c00f52ac68ba0fbb09b2c0e004a9558648ffd6a4103403c82f80f188b98 + /private/tmp/communitymech-batch93/bde47-metadata.json: 4b52d526abdc01ce3427bbaec2f3e676bfc874f7d044cba28ddbc8148545948b + /private/tmp/communitymech-batch93/bde47-primary.txt: 5d51c365c9ab457c700c7e5609bdde9bc9d125b3b7cedbc05aa75ab6a38e09dd + /private/tmp/communitymech-batch93/bde47-primary.xml: 1c849c4431c3abb40f613a05ee07ce99cb1ad56c774f738e51e6f0f438d234c2 + /private/tmp/communitymech-batch93/bde47-tables.txt: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b + /private/tmp/communitymech-batch93/created-issues.json: b004065f129069d2022fd2617f1e7266c4396b1d4095787d87244500efe9d95a + /private/tmp/communitymech-batch93/issue-dedup-current.json: f32c217008ac25cc5a546ab7504fc8fef1bf81ba62c29e4b1bd59f055ea789f1 + /private/tmp/communitymech-batch93/issue-matches.json: aa6265b18845aec9774efd35a30d43b872f79debcc24ddf404e4946ae0b29aa6 + /private/tmp/communitymech-batch93/issues.json: 6724cab188f1bf7956fc542ee25c2ffe59333b6f08e7cecd26c744b9eaac96b3 + /private/tmp/communitymech-batch93/local-matches.txt: a5bfa9cd6821f36a305fd6b1710085913868efcd1bb2098e4c6fb506dfd7cec4 + /private/tmp/communitymech-batch93/ppow-metadata.json: 92355834e62d8781813fae7357db6ad14968ca66cd90bf8031a9b96aef128ac5 + /private/tmp/communitymech-batch93/ppow-primary.txt: ab69c92a309f0e5a4dae7e152175bb4153fe47ff2e715d477ecdf0edd6c80283 + /private/tmp/communitymech-batch93/ppow-primary.xml: 25973b43297dd65ea57d4cf385a93b8cf0f0c152fad0b0571544e287ef17f574 + /private/tmp/communitymech-batch93/ppow-tables.txt: 491d6feef54d8bd15b36ff686754f150ee269e894955b6bb6861ee7b25657cec + /private/tmp/communitymech-batch93/primary-manifest.json: fe57ccb00adf6145b6a2a11fb28b494bfcae3a67d93887606f667f288a111505 + /private/tmp/communitymech-batch93/ramc-metadata.json: c6317d358c2f6f9335459c56dfa4786c249865692094bec3b726b7e6b883eb0c + /private/tmp/communitymech-batch93/ramc-primary.txt: 9bebb45c1da1c111f28c46887e7c50adb0ebe2259bc9f5e27b9d1d8010f62bd5 + /private/tmp/communitymech-batch93/ramc-primary.xml: 65e883154a35c0be1fdec04034514de908edc033a534d529b56ac5b11921b995 + /private/tmp/communitymech-batch93/ramc-tables.txt: 544e599ceab0256dc19ab69252517d7b91225e2f9fcd3b0fa616d0ab62daaa93 + /private/tmp/communitymech-batch93/ramm-api.raw: f80a07f734154bb1dc0db4d8be7df304ce7a6781720bc2961535c6968ea1b186 + /private/tmp/communitymech-batch93/ramm-review-metadata.json: 46e9cf1383699d9c0cc70f021be60bc3a571de145c486335f39989753c5de792 + /private/tmp/communitymech-batch93/ramm-review-primary.txt: 99395643d1caee31c82d6de18e909f19c73405aa587f3b6819613796853d7abe + /private/tmp/communitymech-batch93/ramm-review-primary.xml: c4585c87f088d0f1c098d4113c5c96878ff6e8d9b0f14a16ad2850dc68953ea4 + /private/tmp/communitymech-batch93/ramm-review-tables.txt: 7954506998d89e6b3b1e5c5fd379670db4c4965c2d65b7479f21ad4975789422 + /private/tmp/communitymech-batch93/ramm-web-middle.txt: 770e286104590ccb2dea1955ffa5e26c740135442789d4a5670e7d83c262fd40 + /private/tmp/communitymech-batch93/ramm-web-rest.txt: 4ab477c424e89b6d39a97c3271f3013450cfcb6c49abd2a8d87a54988b7118af + /private/tmp/communitymech-batch93/ramm-web-start.txt: 8649f929ae14c7ef07fbc36240e89e04f4ccbdb6daf37a755623d5dfd36c094c + /private/tmp/communitymech-batch93/rammelsberg-cache.md: 1f68bb07ce944b1917509a359d5cf957585cb316ee5b8de732e9d3b17951e9d3 + /private/tmp/communitymech-batch93/rammelsberg-primary.txt: cfffe8054704d7e1f831c43d0a77e096eb5fc12fc1a9dfdc2cad7eed1e4e3998 + references_cache/PMID_41381587.txt: 22b647f41a2c4121d372997b605124a847299d0ddafd289e214fbde1858437cc + references_cache/PMID_42364169.txt: 7362a45c8a1264c55c00552b3ff87f4340bebd228d7031971b793be17e9c1eb5 + references_cache/PMID_42491060.txt: 8c8459a226facd2d9f7051ae0be73d7175fecc41055fc947c33d5edfcda9eb94 + references_cache/doi_10.1016_j.hydromet.2020.105443.md: 1f68bb07ce944b1917509a359d5cf957585cb316ee5b8de732e9d3b17951e9d3 + references_cache/PMID_42491060.md: 84603f25a950f92b37d0d4f8a608149ab42cc95886d62d9085ecd3a6cc1baa96 +primary_graph_snippet_count: 16 +snippet_checks: +- record: Rammelsberg_Cobalt_Nickel_Tailings + node: Iron Oxidation and Ferric Iron Generation + evidence_index: 0 + reference: doi:10.1016/j.hydromet.2020.105443 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/rammelsberg-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rammelsberg_Cobalt_Nickel_Tailings + node: Cobalt and Copper Mobilization from Sulfide Minerals + evidence_index: 0 + reference: doi:10.1016/j.hydromet.2020.105443 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/rammelsberg-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rammelsberg_Cobalt_Nickel_Tailings + node: Cobalt and Copper Mobilization from Sulfide Minerals + evidence_index: 1 + reference: doi:10.1016/j.hydromet.2020.105443 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/rammelsberg-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rammelsberg_Cobalt_Nickel_Tailings + node: Sulfur Oxidation and Acid Generation + evidence_index: 0 + reference: doi:10.1016/j.hydromet.2020.105443 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/rammelsberg-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom + node: YL-JM2C BDE-47 initiation + evidence_index: 0 + reference: PMID:42364169 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/bde47-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom + node: YL-JM2C BDE-47 initiation + evidence_index: 1 + reference: PMID:42364169 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/bde47-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom + node: JMP134 2,4-dibromophenol conversion + evidence_index: 0 + reference: PMID:42364169 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/bde47-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom + node: JMP134 2,4-dibromophenol conversion + evidence_index: 1 + reference: PMID:42364169 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/bde47-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom + node: Consortium BDE-47 removal without 2,4-DBP accumulation + evidence_index: 0 + reference: PMID:42364169 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/bde47-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom + node: Consortium BDE-47 removal without 2,4-DBP accumulation + evidence_index: 1 + reference: PMID:42364169 + cache_matched: true + independent_primary_match: false + matched_artifact: references_cache/PMID_42364169.txt + scope: Existing appended FigureS16 caption read, not fresh supplement retrieval or figure-pixel review + cache_is_selected_excerpt: true +- record: Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom + node: RAMC aromatic-aliphatic oxygenate division of labor + evidence_index: 0 + reference: PMID:41381587 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/ramc-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: true +- record: Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom + node: RAMC aromatic-aliphatic oxygenate division of labor + evidence_index: 1 + reference: PMID:41381587 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/ramc-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: true +- record: Rhodococcus_Pseudomonas_PPOW_Consortium + node: PPOW aliphatic-aromatic division of labor + evidence_index: 0 + reference: PMID:42491060 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/ppow-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhodococcus_Pseudomonas_PPOW_Consortium + node: PPOW aliphatic-aromatic division of labor + evidence_index: 1 + reference: PMID:42491060 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/ppow-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhodococcus_Pseudomonas_PPOW_Consortium + node: PPOW aliphatic-aromatic division of labor + evidence_index: 2 + reference: PMID:42491060 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/ppow-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhodococcus_Pseudomonas_PPOW_Consortium + node: PPOW aliphatic-aromatic division of labor + evidence_index: 3 + reference: PMID:42491060 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/ppow-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +discussion_snippet_checks: +- record: Rammelsberg_Cobalt_Nickel_Tailings + node: rammelsberg_exact_system_scope + evidence_index: 0 + reference: doi:10.1016/j.hydromet.2020.105443 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/rammelsberg-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rammelsberg_Cobalt_Nickel_Tailings + node: rammelsberg_exact_system_scope + evidence_index: 1 + reference: doi:10.1016/j.hydromet.2020.105443 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/rammelsberg-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom + node: bde47_relay_not_parent_rescue + evidence_index: 0 + reference: PMID:42364169 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/bde47-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom + node: bde47_relay_not_parent_rescue + evidence_index: 1 + reference: PMID:42364169 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/bde47-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhodococcus_Pseudomonas_PPOW_Consortium + node: ppow_control_reporting_conflict + evidence_index: 0 + reference: PMID:42491060 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/ppow-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +- record: Rhodococcus_Pseudomonas_PPOW_Consortium + node: ppow_control_reporting_conflict + evidence_index: 1 + reference: PMID:42491060 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch93/ppow-primary.txt + scope: Fresh public primary main-text quotation match, not entailment or figure-pixel review + cache_is_selected_excerpt: false +cache_changes: +- path: references_cache/doi_10.1016_j.hydromet.2020.105443.md + action: added + sha256: 1f68bb07ce944b1917509a359d5cf957585cb316ee5b8de732e9d3b17951e9d3 + reference: doi:10.1016/j.hydromet.2020.105443 + source: https://www.researchgate.net/publication/343508487_Bioleaching_of_cobalt_from_CuCo-rich_sulfidic_mine_tailings_from_the_polymetallic_Rammelsberg_mine_Germany + scope: Complete public author-copy main text, figure captions and Table1 extracted through the browser and read. + Pre-proof, not final publisher PDF; no figure pixels or supplement review. Contiguous browser lines69-1291 independently + captured, excluding subsequent citing papers. Direct repository PDF presented a security challenge, direct author + page returned403; neither bypassed. Elsevier API independently confirms DOI/title/license but returns metadata + only. + independent_primary_text: true + prior_cache_files_preserved: 921 +- path: references_cache/PMID_42491060.md + action: added + sha256: 84603f25a950f92b37d0d4f8a608149ab42cc95886d62d9085ecd3a6cc1baa96 + reference: PMID:42491060 + source: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13375889/fullTextXML + scope: Complete freshly retrieved article abstract/main body, including embedded table text and figure captions. + Structured XML extraction, not curated snippet assembly; no figure pixels or supplementary files. + independent_primary_text: true + prior_cache_files_preserved: 921 +edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] + repair_scope: Qualify/re-evidence existing nodes/directions and remove unsupported graph elements; no new topology. +limitations: +- Reference CLI checks were executed on macOS, not Linux. Existing issue1091 documents the pinned validator's + DOI-cache casing mismatch on case-sensitive filesystems. The new DOI cache follows repository convention; + this graph repair does not resolve or certify that cross-platform reader contract. +- The first combined regression run passed855tests and failed the exact participating_taxa record-set assertion. + Rammelsberg intentionally adds explicit community participants; the measured census supports updating the + expected set. The failed output is retained separately from the corrected rerun. +- All four whole records, nine original nodes and six original arrows reviewed. Eight nodes and three qualified + existing arrows remain; RAMC unchanged. No new node/direction, experimental protocol, provider submission or paid + Edison job. +- Three fresh EuropePMC main bodies and the complete public Rammelsberg author pre-proof text read, including captions + and available table text. No figure-pixel, raw-data or complete supplement review. Rammelsberg browser extraction + is not a downloaded final PDF; repository challenge and direct403 were not bypassed. The official publisher API + returned identifying metadata only. +- Rammelsberg105443 is the exact study;105484 is a different Finnish study and its caches remain unchanged. PMID39770610 + is a background review, with only abstract/sections1-2 read. The corrected graph includes dominant recorded taxa + without claiming they exhaust the enrichment. Non-graph source/community/industrial-scale errors remain issue1753. +- BDE-47 cross-feeding, functional pathway and removal remain positive. Parent disappearance alone does not need + JMP134; the demonstrated contribution is clearing2,4-DBP. Current SYNTROPHY does not assert obligacy; donor feedback, + reverse transfer, reciprocal fitness and closed carbon balance are not established by this comparison. The retained + bromide quote matches the existing appended FigureS16 caption, read but not freshly retrieved or visually inspected. + Thus21of22graph/new-discussion quotations have fresh independent primary matches, one is existing-caption-only. + Non-graph partner roles remain issue1753. +- RAMC remains supported without asserting the proposed succinate cross-feed; WT versus RAMC-P distinctions and + previous non-graph fixes stay intact. Its selected appended cache is not independent evidence, but both graph + quotes separately match the fresh complete main body. +- PPOW retains a HYPOTHESIZED/PARTIAL complementarity model and the SUPPORT bulk-removal observation. Methods/control + claims conflict with the conclusion; neither control adequacy nor total absence is certified. Abstract versus + main-text concentration-unit conflict and non-graph member-role evidence remain issue1753. +- All921baselinecaches and457otherrecord files preserved; two new exact-source caches added with browser-extraction + provenance. All prior histories/decision ledgers and all non-graph raw blocks are preserved. Canonical taxon IDs/labels + remain, but Rammelsberg process scope and BDE recipient-step assignment are intentionally repaired. +- Dedup included ignored/hidden local files except.git/docs/site/references_cache, with relevant caches separately + checked. All-state issue titles/bodies refreshed; six matching existing issues read. Comments/PRs not exhaustively + searched. Repairs1750-1752 close only after protected-main merge; non-graph1753 remains open. +- Self-adversarial review is not independent approval, generated-model loader certification or corpus completion. + Loader1703 and prior denied/pending Edison scopes remain unchanged. Subsequent test/render/publication gates are + not preasserted. +- The initial PPOW reference CLI failed with31NoContent errors because its old text dump was not usable by that + validator. A second new cache independently extracted from the freshly retrieved complete PMC primary text resolves + cache access without changing the original dump. Two new caches total, all921baselinecaches unchanged. The failed + attempt remains separately recorded, not represented as a pass. +records: +- path: kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml + id: CommunityMech:000057 + original_sha256: d3c36237f68173f12cefde17c9e77da99bc3f0881b19cee5fe8c26c7504deb52 + record_sha256: cf9d123e9ca919c62766a20e764dbb2f18bbfc1004911cdf4a0d48055ba47e56 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml + scope: Whole record and every existing node/arrow reviewed against complete exact-system primary main text. Not + exhaustive new-mechanism discovery, supplement-pixel review or non-graph certification. + summary: Re-evidence community iron oxidation and retain the source-backed mineral-dissolution direction without + COMMENSALISM, iron-transport misannotation or rate-limiting inference.; Re-evidence positive bulk/concentrate + metal recovery using the exact Rammelsberg DOI; remove MUTUALISM and two unproven partner-specific recycling + arrows.; Retain observed acidification and authors sulfur-oxidation interpretation without MUTUALISM, enzyme/passivation + certainty or the untested sulfur-to-iron feedback. + node_decisions: + - node: Iron Oxidation and Ferric Iron Generation + rationale: Re-evidence community iron oxidation and retain the source-backed mineral-dissolution direction without + COMMENSALISM, iron-transport misannotation or rate-limiting inference. + - node: Cobalt and Copper Mobilization from Sulfide Minerals + rationale: Re-evidence positive bulk/concentrate metal recovery using the exact Rammelsberg DOI; remove MUTUALISM + and two unproven partner-specific recycling arrows. + - node: Sulfur Oxidation and Acid Generation + rationale: Retain observed acidification and authors sulfur-oxidation interpretation without MUTUALISM, enzyme/passivation + certainty or the untested sulfur-to-iron feedback. + removed_node_decisions: + - node: Autotrophic Carbon Fixation in Acidic Environment + rationale: Intrinsic autotrophic carbon fixation is not an ecological exchange; its review snippet concerns + ferric attack rather than carbon transfer or commensal benefit. + renamed_nodes: {} + edges_before: + - &id001 + source: Iron Oxidation and Ferric Iron Generation + target: Cobalt and Copper Mobilization from Sulfide Minerals + description: Ferric iron oxidizes sulfide minerals releasing cobalt and copper + - source: Cobalt and Copper Mobilization from Sulfide Minerals + target: Iron Oxidation and Ferric Iron Generation + description: "Fe\xB2\u207A released from mineral oxidation is recycled to At. ferrooxidans" + - source: Cobalt and Copper Mobilization from Sulfide Minerals + target: Sulfur Oxidation and Acid Generation + description: Elemental sulfur produced during mineral oxidation is substrate for At. thiooxidans + - source: Sulfur Oxidation and Acid Generation + target: Iron Oxidation and Ferric Iron Generation + description: Low pH maintained by sulfuric acid prevents ferric iron precipitation + edges_after: + - &id002 + source: Iron Oxidation and Ferric Iron Generation + target: Cobalt and Copper Mobilization from Sulfide Minerals + description: Microbial conversion of iron(II) to iron(III) supplies the chemical oxidant that promotes sulfide + dissolution and associated metal release, as interpreted from the Rammelsberg reactor chemistry and abiotic + comparison. + retained_edge_decisions: + - before: *id001 + after: *id002 + rationale: Same existing causal direction, bounded to the exact-source process or intermediate-clearance comparison. + No new edge. + removed_edge_decisions: + - source: Cobalt and Copper Mobilization from Sulfide Minerals + target: Iron Oxidation and Ferric Iron Generation + description: "Fe\xB2\u207A released from mineral oxidation is recycled to At. ferrooxidans" + rationale: General chemical cycling/passivation plausibility is not an exact-system partner-specific feedback + demonstration. The positive community chemistry remains. + - source: Cobalt and Copper Mobilization from Sulfide Minerals + target: Sulfur Oxidation and Acid Generation + description: Elemental sulfur produced during mineral oxidation is substrate for At. thiooxidans + rationale: General chemical cycling/passivation plausibility is not an exact-system partner-specific feedback + demonstration. The positive community chemistry remains. + - source: Sulfur Oxidation and Acid Generation + target: Iron Oxidation and Ferric Iron Generation + description: Low pH maintained by sulfuric acid prevents ferric iron precipitation + rationale: General chemical cycling/passivation plausibility is not an exact-system partner-specific feedback + demonstration. The positive community chemistry remains. + references: + - doi:10.1016/j.hydromet.2020.105443 + issues: + - 1750 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Rammelsberg_Cobalt_Nickel_Tailings/2026-10-07T152512Z-codex-a8ec64.yaml +- path: kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml + id: CommunityMech:000388 + original_sha256: 4f2a5d14b7ea38493ab5ebbe98d0be69659aac8b0811479b24c2d2ba1741bd81 + record_sha256: 5b74bd01d770c894a9dd65240bf47b4754d997013fa2681a63abf653a1fb82d0 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml + scope: Whole record and every existing node/arrow reviewed against complete exact-system primary main text. Not + exhaustive new-mechanism discovery, supplement-pixel review or non-graph certification. + summary: Retain directly supported YL-JM2C-to-JMP134 intermediate CROSS_FEEDING and its existing downstream direction.; + Rename rescue to conversion, remove the unsupported reverse recipient-to-donor assignment and SYNTROPHY, and + qualify the existing endpoint arrow to intermediate clearance.; Rename the existing consortium endpoint to distinguish + parent disappearance from intermediate accumulation; retain positive removal/bromide evidence without SYNTROPHY + or closed-carbon-balance certainty. + node_decisions: + - node: YL-JM2C BDE-47 initiation + rationale: Retain directly supported YL-JM2C-to-JMP134 intermediate CROSS_FEEDING and its existing downstream + direction. + - node: JMP134 2,4-dibromophenol conversion + rationale: Rename rescue to conversion, remove the unsupported reverse recipient-to-donor assignment and SYNTROPHY, + and qualify the existing endpoint arrow to intermediate clearance. + - node: Consortium BDE-47 removal without 2,4-DBP accumulation + rationale: Rename the existing consortium endpoint to distinguish parent disappearance from intermediate accumulation; + retain positive removal/bromide evidence without SYNTROPHY or closed-carbon-balance certainty. + removed_node_decisions: [] + renamed_nodes: + JMP134 2,4-dibromophenol rescue: JMP134 2,4-dibromophenol conversion + Consortium BDE-47 removal: Consortium BDE-47 removal without 2,4-DBP accumulation + edges_before: + - &id003 + source: YL-JM2C BDE-47 initiation + target: JMP134 2,4-dibromophenol rescue + description: YL-JM2C-generated 2,4-dibromophenol is subsequently converted to 3,5-dibromocatechol by JMP134 + TfdB. + - &id005 + source: JMP134 2,4-dibromophenol rescue + target: Consortium BDE-47 removal + description: Removal of the 2,4-DBP bottleneck connects the two isolate pathways and enables community-level + BDE-47 degradation. + edges_after: + - &id004 + source: YL-JM2C BDE-47 initiation + target: JMP134 2,4-dibromophenol conversion + description: YL-JM2C-generated 2,4-dibromophenol is subsequently converted to 3,5-dibromocatechol by JMP134 + TfdB. + - &id006 + source: JMP134 2,4-dibromophenol conversion + target: Consortium BDE-47 removal without 2,4-DBP accumulation + description: JMP134 conversion of the YL-JM2C-derived 2,4-DBP prevents that intermediate from accumulating during + consortium treatment. It is not required for disappearance of the parent BDE-47, which also occurred in the + YL-JM2C monoculture. + retained_edge_decisions: + - before: *id003 + after: *id004 + rationale: Same existing causal direction, bounded to the exact-source process or intermediate-clearance comparison. + No new edge. + - before: *id005 + after: *id006 + rationale: Same existing causal direction, bounded to the exact-source process or intermediate-clearance comparison. + No new edge. + removed_edge_decisions: [] + references: + - PMID:42364169 + issues: + - 1751 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom/2026-10-07T152512Z-codex-2629e0.yaml +- path: kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml + id: CommunityMech:000412 + original_sha256: 583655d32e85bb7a2786ba99f814f00b83dde9a5dca8e3d3b6d0b4f38ab28d46 + record_sha256: 583655d32e85bb7a2786ba99f814f00b83dde9a5dca8e3d3b6d0b4f38ab28d46 + status: reviewed + outcome: unchanged + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml + scope: Whole record and every existing node/arrow reviewed against complete exact-system primary main text. Not + exhaustive new-mechanism discovery, supplement-pixel review or non-graph certification. + summary: Retain experimentally supported aromatic/aliphatic oxygenate division of labor. Preserve the existing + unresolved succinate cross-feeding discussion without inventing a donor-recipient arrow or restoring removed + outcome-only nodes. + node_decisions: + - node: RAMC aromatic-aliphatic oxygenate division of labor + rationale: Retain experimentally supported aromatic/aliphatic oxygenate division of labor. Preserve the existing + unresolved succinate cross-feeding discussion without inventing a donor-recipient arrow or restoring removed + outcome-only nodes. + removed_node_decisions: [] + renamed_nodes: {} + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - PMID:41381587 + issues: [] + allowed_changed_fields: [] + curation_events_added: 0 + history_files: [] +- path: kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml + id: CommunityMech:000371 + original_sha256: 36b6dd1091f0a27846ab8354e9815221e5a7fa154206d69af35c7307f91b57f7 + record_sha256: 8e36a499934681939a8905e7044d7951646ef4efe7ed0cf5cfb37d4ce95e9171 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml + scope: Whole record and every existing node/arrow reviewed against complete exact-system primary main text. Not + exhaustive new-mechanism discovery, supplement-pixel review or non-graph certification. + summary: Retain NICHE_PARTITIONING as an explicit HYPOTHESIZED/PARTIAL interpretation; preserve SUPPORT for measured + bulk removal and document contradictory control reporting without inventing cross-feeding. + node_decisions: + - node: PPOW aliphatic-aromatic division of labor + rationale: Retain NICHE_PARTITIONING as an explicit HYPOTHESIZED/PARTIAL interpretation; preserve SUPPORT for + measured bulk removal and document contradictory control reporting without inventing cross-feeding. + removed_node_decisions: [] + renamed_nodes: {} + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - PMID:42491060 + issues: + - 1752 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Rhodococcus_Pseudomonas_PPOW_Consortium/2026-10-07T152512Z-codex-399a65.yaml diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index 32cccb4c1..41447931d 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -332,10 +332,10 @@ kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml CommunityMech:000430 ce86bf2 kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml CommunityMech:000424 a634e28075ce72c27b0bb6348b68bde7ece13d970a0457281aacb8f48710ae3c 1 0 55.0 reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml reviewed kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml CommunityMech:000459 dd5e67d01f8c707eb6e7ef178fcdee359a9bb3a57df210d4256dab0efcb266c3 1 0 50.0 reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml reviewed kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml CommunityMech:000361 99a33c579b6b21066de411f2511ee57a684ab3f837d3d3dd347f20ef17b0e6ed 2 0 60.0 reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml reviewed -kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml CommunityMech:000057 d3c36237f68173f12cefde17c9e77da99bc3f0881b19cee5fe8c26c7504deb52 4 4 100.0 pending -kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml CommunityMech:000388 4f2a5d14b7ea38493ab5ebbe98d0be69659aac8b0811479b24c2d2ba1741bd81 3 2 100.0 pending -kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml CommunityMech:000412 583655d32e85bb7a2786ba99f814f00b83dde9a5dca8e3d3b6d0b4f38ab28d46 1 0 65.0 pending -kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml CommunityMech:000371 36b6dd1091f0a27846ab8354e9815221e5a7fa154206d69af35c7307f91b57f7 1 0 65.0 pending +kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml CommunityMech:000057 cf9d123e9ca919c62766a20e764dbb2f18bbfc1004911cdf4a0d48055ba47e56 3 1 80.0 reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml reviewed +kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml CommunityMech:000388 5b74bd01d770c894a9dd65240bf47b4754d997013fa2681a63abf653a1fb82d0 3 2 93.3 reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml reviewed +kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml CommunityMech:000412 583655d32e85bb7a2786ba99f814f00b83dde9a5dca8e3d3b6d0b4f38ab28d46 1 0 65.0 reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml reviewed +kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml CommunityMech:000371 8e36a499934681939a8905e7044d7951646ef4efe7ed0cf5cfb37d4ce95e9171 1 0 65.0 reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml reviewed kb/communities/Rhodopseudomonas_Ecoli_CrossFeeding_Coculture.yaml CommunityMech:000092 f5d6629e75ec30fb1243b0d6afe11df10d85b8b0f35f361ff628aa1636cc3ff6 3 2 100.0 pending kb/communities/Rhodopseudomonas_Geobacter_Magnetite_Redox_Coculture.yaml CommunityMech:000268 e424a5853face56216b0c3e50877d1fee4192a666aa653826a7dac77077d9706 4 5 100.0 pending kb/communities/Rice_Acid_Soil_Bioinoculant_SynCom.yaml CommunityMech:000109 9c66a1a3fa4dca91611441fb4f452e0fd22847e3db403cd8a70f7dc8526173da 5 5 100.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index 5013e3756..325727287 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": 1420, - "edges": 583, + "nodes": 1419, + "edges": 580, "records_without_nodes": 8, "records_without_edges": 174, "review_status_counts": { "needs_research": 48, - "pending": 128, - "reviewed": 284 + "pending": 124, + "reviewed": 288 }, "structural_defects": [], "network_audit": [ diff --git a/reports/causal_graph_review/validation-20261007-batch93.json b/reports/causal_graph_review/validation-20261007-batch93.json new file mode 100644 index 000000000..8d7e10739 --- /dev/null +++ b/reports/causal_graph_review/validation-20261007-batch93.json @@ -0,0 +1,1274 @@ +{ + "base_commit": "ba6bdfb3fa594cdf5469fc81c12ae2975bb3ce6e", + "scope": [ + "kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml", + "kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml", + "kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml", + "kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml" + ], + "results": [ + { + "check": "Rammelsberg_Cobalt_Nickel_Tailings-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rammelsberg_Cobalt_Nickel_Tailings-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rammelsberg_Cobalt_Nickel_Tailings-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch93/Rammelsberg_Cobalt_Nickel_Tailings-strict.tsv", + "kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rammelsberg_Cobalt_Nickel_Tailings-strict.log", + "log_sha256": "586559c85ea4d39af013d1da9323f6ec13eb2e389c6858b3c2a4a40b93afda1e", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch93/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-batch93/Rammelsberg_Cobalt_Nickel_Tailings-strict.tsv\n" + }, + { + "check": "Rammelsberg_Cobalt_Nickel_Tailings-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rammelsberg_Cobalt_Nickel_Tailings-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Rammelsberg_Cobalt_Nickel_Tailings-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rammelsberg_Cobalt_Nickel_Tailings-references.log", + "log_sha256": "808388bbd1213dea090bd40b20e15cc454119eec4c9e04700736c9e12a417055", + "output_tail": "Validating kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.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/Rammelsberg_Cobalt_Nickel_Tailings.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": "Rammelsberg_Cobalt_Nickel_Tailings-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rammelsberg_Cobalt_Nickel_Tailings-snippets.log", + "log_sha256": "96a23c88588d68e990af5d62f9c27df12879566b4125e7703a275c3bfa7adcd7", + "output_tail": "# 22 evidence snippets scanned across 1 files\n MATCH 22\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": "Rammelsberg_Cobalt_Nickel_Tailings-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rammelsberg_Cobalt_Nickel_Tailings-rank.log", + "log_sha256": "9b0fd202b014ac2f41b3d68690edea22b6118937380d8f4fb0e64cda962cde8a", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000057\",\n \"name\": \"Rammelsberg Cobalt-Nickel Tailings Consortium\",\n \"score\": 80.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 4,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml\"\n }\n]\n" + }, + { + "check": "Rammelsberg_Cobalt_Nickel_Tailings-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Rammelsberg_Cobalt_Nickel_Tailings/2026-10-07T152512Z-codex-a8ec64.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rammelsberg_Cobalt_Nickel_Tailings-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch93/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-strict.tsv", + "kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-strict.log", + "log_sha256": "b3f2faa14756de2b5a33e77429411204df6c0d7b1b6fff0a0a2f719ef8dc3034", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch93/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-batch93/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-strict.tsv\n" + }, + { + "check": "Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-references.log", + "log_sha256": "7299a75241b4a9c1cb6bf2063e8e20ca3dab0021715ce156537b634c49d41059", + "output_tail": "Validating kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_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/Rhizorhabdus_Cupriavidus_BDE47_Degradation_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": "Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-snippets.log", + "log_sha256": "f261f4401991124875d6e69fbc7c75c05d38b3868788199bef07a85e404ac32e", + "output_tail": "# 25 evidence snippets scanned across 1 files\n MATCH 25\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": "Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-rank.log", + "log_sha256": "8f0827126fa94dfb63cc804101037df40374bf6dfc1f1a9b7c2b8dbcbdf576d1", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000388\",\n \"name\": \"Rhizorhabdus-Cupriavidus BDE-47 Degradation SynCom\",\n \"score\": 93.3,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 6,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom/2026-10-07T152512Z-codex-2629e0.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch93/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-strict.tsv", + "kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-strict.log", + "log_sha256": "578d1d174a1d6fa8f5a7cd4ed9a4a7f20755623695130ad75bdb4660ec6cc637", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch93/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-batch93/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-strict.tsv\n" + }, + { + "check": "Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-references.log", + "log_sha256": "1a8b52f8668a8521c6d8b465b49da495b9bad6cf1de7a42d22391fe90df1a6ec", + "output_tail": "Validating kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_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/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_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": "Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-snippets.log", + "log_sha256": "80c99a8b566ec41c69f911ed07978a8287ecf2a26f56890300105ab242e29ccc", + "output_tail": "# 22 evidence snippets scanned across 1 files\n MATCH 20\n RENDERING 1\n ASSEMBLED 1\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 1 kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml\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 kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml PMID:41381587\n all the cell cultures were performed in 50 mL glass tubes containing 1...\n" + }, + { + "check": "Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-baseline-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "/private/tmp/communitymech-causal-batch92/scripts/evidence_snippet_audit.py", + "/private/tmp/communitymech-causal-batch92/kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-baseline-snippets.log", + "log_sha256": "d9d466f926fe0618513191aab69e4ced7214ff160f592fd47643d9a3450d184b", + "output_tail": "# 22 evidence snippets scanned across 1 files\n MATCH 20\n RENDERING 1\n ASSEMBLED 1\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 1 /private/tmp/communitymech-causal-batch92/kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml\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 /private/tmp/communitymech-causal-batch92/kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml PMID:41381587\n all the cell cultures were performed in 50 mL glass tubes containing 1...\n" + }, + { + "check": "Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom-rank.log", + "log_sha256": "b6963da37b34d7444299ee41e55d8aa790bd73016f7281f270cfa7438c2913fa", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000412\",\n \"name\": \"Rhodococcus-Acinetobacter RAMC Mixed Plastic Upcycling SynCom\",\n \"score\": 65.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 1,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 2,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\"\n ],\n \"path\": \"kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Rhodococcus_Pseudomonas_PPOW_Consortium-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Pseudomonas_PPOW_Consortium-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Rhodococcus_Pseudomonas_PPOW_Consortium-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch93/Rhodococcus_Pseudomonas_PPOW_Consortium-strict.tsv", + "kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Pseudomonas_PPOW_Consortium-strict.log", + "log_sha256": "a2c115511e7219c5c70433bd47ca88819c70c677b5bbc24a0e999e3cbe86e0ac", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch93/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-batch93/Rhodococcus_Pseudomonas_PPOW_Consortium-strict.tsv\n" + }, + { + "check": "Rhodococcus_Pseudomonas_PPOW_Consortium-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Pseudomonas_PPOW_Consortium-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Rhodococcus_Pseudomonas_PPOW_Consortium-references-fresh-cache", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Pseudomonas_PPOW_Consortium-references-fresh-cache.log", + "log_sha256": "1590828ef07bbdb1bd364ede3b8d23f3a2115e6d87abb10c29c0f75c3378b7da", + "output_tail": "Validating kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.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/Rhodococcus_Pseudomonas_PPOW_Consortium.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": "Rhodococcus_Pseudomonas_PPOW_Consortium-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Pseudomonas_PPOW_Consortium-snippets.log", + "log_sha256": "75e7147a13d2e660aed1e17742270d744e48980bb01f7023dcab412ff3b41d03", + "output_tail": "# 35 evidence snippets scanned across 1 files\n MATCH 35\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": "Rhodococcus_Pseudomonas_PPOW_Consortium-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Pseudomonas_PPOW_Consortium-rank.log", + "log_sha256": "ac4091106add41679f3e1b49b6d1438c5ef3a4dca5ec3748528f270f58ffcdc5", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000371\",\n \"name\": \"Rhodococcus-Pseudomonas Plastic Pyrolysis Oil Waste Consortium\",\n \"score\": 65.0,\n \"taxonomy\": 3,\n \"connected_taxa\": 3,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 1,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 4,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\"\n ],\n \"path\": \"kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml\"\n }\n]\n" + }, + { + "check": "Rhodococcus_Pseudomonas_PPOW_Consortium-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Rhodococcus_Pseudomonas_PPOW_Consortium/2026-10-07T152512Z-codex-399a65.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Pseudomonas_PPOW_Consortium-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-batch93/inventory.log", + "log_sha256": "e8cfdb9e4d6c7cc5914db64fe83f1cf46b34b716b5ddda435e359b7c735ab0e4", + "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\": 1419,\n \"edges\": 580,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 174,\n \"review_status_counts\": {\n \"needs_research\": 48,\n \"pending\": 124,\n \"reviewed\": 288\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-batch93/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-batch93/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-batch93/rank-all.log", + "log_sha256": "4ec622593f9e171fe381ff01d4d22d6e51f2d2fc530784800e836c53a600a910", + "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-batch93/render.log", + "log_sha256": "511ebb4db9df126fd5848a72f6bc2cbc520e8ec4167cdaf862aa19efe515ac1d", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch93/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch93/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch93/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-batch93/render-repeat.log", + "log_sha256": "511ebb4db9df126fd5848a72f6bc2cbc520e8ec4167cdaf862aa19efe515ac1d", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch93/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch93/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch93/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch93/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-batch92')),('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-batch93/connectivity-survey.log", + "log_sha256": "d0f63f80575aafbf39ac0df902875a498a64c29e300c32c554aa1e430c8edf90", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 396, \"mixed\": 126, \"community_level_only\": 270, \"taxa\": 1523, \"credited_solely_by_the_rule\": 1249}, \"current\": {\"records\": 460, \"with_community_level\": 397, \"mixed\": 126, \"community_level_only\": 271, \"taxa\": 1525, \"credited_solely_by_the_rule\": 1251}}\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_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-batch93/regressions-after-participant-census.log", + "log_sha256": "6a6fa0821f8a94ae7a6b145e909f779551d03c9aa810682e5abe449ceb46085c", + "output_tail": "........................................................................ [ 8%]\n........................................................................ [ 16%]\n........................................................................ [ 25%]\n........................................................................ [ 33%]\n........................................................................ [ 42%]\n........................................................................ [ 50%]\n........................................................................ [ 58%]\n........................................................................ [ 67%]\n........................................................................ [ 75%]\n........................................................................ [ 84%]\n........................................................................ [ 92%]\n................................................................ [100%]\n856 passed in 287.22s (0:04:47)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch93.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/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_batch93.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/ruff.log", + "log_sha256": "82b3e6a6c090a57601d22943bd23fca9218d1031dbe5a7b754092f9a156b4f18", + "output_tail": "All checks passed!\n" + }, + { + "check": "diff-check", + "command": [ + "git", + "diff", + "--check" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + }, + { + "check": "primary-graph-proof", + "command": [ + "in-process per-evidence checks in finalize.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/primary-graph-proof.log", + "log_sha256": "90e8a1dcd58ce0869e80540c57d42288cdab56e94977bb413dcdd6e386ec89fd", + "output_tail": "{\n \"graph_quotations\": 16,\n \"new_discussion_quotations\": 6,\n \"fresh_primary_matches\": 21,\n \"existing_supplement_caption_matches\": 1,\n \"retained_nodes\": 8,\n \"removed_nodes\": 1,\n \"retained_arrows\": 3,\n \"removed_arrows\": 3,\n \"new_nodes_or_directions\": 0,\n \"fresh_main_bodies_read\": 3,\n \"public_author_preproof_read\": 1,\n \"cache_files_added\": 2,\n \"baseline_cache_files_preserved\": 921\n}\n" + }, + { + "check": "focused-final", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch93.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/focused-final.log", + "log_sha256": "63d536fb8bbe6ed3941b2a01f97c528d3a23d7792458dd58e67835d63c18a51f", + "output_tail": "........ [100%]\n8 passed in 1.62s\n" + }, + { + "check": "audit-snippets-all", + "command": [ + "just", + "audit-snippets" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/audit-snippets-all.log", + "log_sha256": "6b47c3a72d06bab9664ea26186957fbea561ca0e4bdccf6657468ab2c014c61b", + "output_tail": "# 8936 evidence snippets scanned across 460 files\n MATCH 8801\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" + } + ], + "limitations": [ + "Reference CLI checks were executed on macOS, not Linux. Existing issue1091 documents the pinned validator's DOI-cache casing mismatch on case-sensitive filesystems. The new DOI cache follows repository convention; this graph repair does not resolve or certify that cross-platform reader contract.", + "The first combined regression run passed855tests and failed the exact participating_taxa record-set assertion. Rammelsberg intentionally adds explicit community participants; the measured census supports updating the expected set. The failed output is retained separately from the corrected rerun.", + "All four whole records, nine original nodes and six original arrows reviewed. Eight nodes and three qualified existing arrows remain; RAMC unchanged. No new node/direction, experimental protocol, provider submission or paid Edison job.", + "Three fresh EuropePMC main bodies and the complete public Rammelsberg author pre-proof text read, including captions and available table text. No figure-pixel, raw-data or complete supplement review. Rammelsberg browser extraction is not a downloaded final PDF; repository challenge and direct403 were not bypassed. The official publisher API returned identifying metadata only.", + "Rammelsberg105443 is the exact study;105484 is a different Finnish study and its caches remain unchanged. PMID39770610 is a background review, with only abstract/sections1-2 read. The corrected graph includes dominant recorded taxa without claiming they exhaust the enrichment. Non-graph source/community/industrial-scale errors remain issue1753.", + "BDE-47 cross-feeding, functional pathway and removal remain positive. Parent disappearance alone does not need JMP134; the demonstrated contribution is clearing2,4-DBP. Current SYNTROPHY does not assert obligacy; donor feedback, reverse transfer, reciprocal fitness and closed carbon balance are not established by this comparison. The retained bromide quote matches the existing appended FigureS16 caption, read but not freshly retrieved or visually inspected. Thus21of22graph/new-discussion quotations have fresh independent primary matches, one is existing-caption-only. Non-graph partner roles remain issue1753.", + "RAMC remains supported without asserting the proposed succinate cross-feed; WT versus RAMC-P distinctions and previous non-graph fixes stay intact. Its selected appended cache is not independent evidence, but both graph quotes separately match the fresh complete main body.", + "PPOW retains a HYPOTHESIZED/PARTIAL complementarity model and the SUPPORT bulk-removal observation. Methods/control claims conflict with the conclusion; neither control adequacy nor total absence is certified. Abstract versus main-text concentration-unit conflict and non-graph member-role evidence remain issue1753.", + "All921baselinecaches and457otherrecord files preserved; two new exact-source caches added with browser-extraction provenance. All prior histories/decision ledgers and all non-graph raw blocks are preserved. Canonical taxon IDs/labels remain, but Rammelsberg process scope and BDE recipient-step assignment are intentionally repaired.", + "Dedup included ignored/hidden local files except.git/docs/site/references_cache, with relevant caches separately checked. All-state issue titles/bodies refreshed; six matching existing issues read. Comments/PRs not exhaustively searched. Repairs1750-1752 close only after protected-main merge; non-graph1753 remains open.", + "Self-adversarial review is not independent approval, generated-model loader certification or corpus completion. Loader1703 and prior denied/pending Edison scopes remain unchanged. Subsequent test/render/publication gates are not preasserted.", + "The initial PPOW reference CLI failed with31NoContent errors because its old text dump was not usable by that validator. A second new cache independently extracted from the freshly retrieved complete PMC primary text resolves cache access without changing the original dump. Two new caches total, all921baselinecaches unchanged. The failed attempt remains separately recorded, not represented as a pass." + ], + "reference_validator_version": "0.1.7", + "snippet_counts_by_record": { + "kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml": { + "MATCH": 22, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml": { + "MATCH": 25, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml": { + "MATCH": 20, + "RENDERING": 1, + "ASSEMBLED": 1, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml": { + "MATCH": 35, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "ramc_existing_snippet_classification": { + "baseline_counts": { + "MATCH": 20, + "RENDERING": 1, + "ASSEMBLED": 1, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "current_counts": { + "MATCH": 20, + "RENDERING": 1, + "ASSEMBLED": 1, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "interpretation": "Unchanged non-graph medium quote omits the source citation marker63 after medium. Fresh primary paragraph read: the prose is consecutive apart from that citation. The lexical auditor reports ASSEMBLED; it is not silently counted as MATCH or proof of fabricated assembly. One existing RENDERING also remains." + }, + "failed_attempts": [ + { + "check": "Rhodococcus_Pseudomonas_PPOW_Consortium-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 1, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/Rhodococcus_Pseudomonas_PPOW_Consortium-references.log", + "log_sha256": "62b9eb343eb8b9d1e2a7f055684e51bcbd98cab73455109acb1c69bbfd42b886", + "output_tail": "Validating kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Issues (31):\n [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[3].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[4].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[0].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[1].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[1].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[1].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[2].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[2].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[2].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[3].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: environmental_factors[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: environmental_factors[1].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: environmental_factors[2].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: environmental_factors[3].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[3].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[4].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[5].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: cultivation_setup[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: cultivation_setup[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: external_resources[0].evidence[0].snippet\n Reference: PMID:42491060\n\nValidation Summary:\n Total checks: 31\n Issues found: 31\n", + "explained_output_tail": "Validating kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Issues (31):\n [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[3].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: engineering_design.evidence[4].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[0].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[1].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[1].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[1].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[2].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[2].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: taxonomy[2].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: ecological_interactions[0].evidence[3].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: environmental_factors[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: environmental_factors[1].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: environmental_factors[2].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: environmental_factors[3].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[2].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[3].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[4].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: growth_media[0].evidence[5].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: cultivation_setup[0].evidence[0].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: cultivation_setup[0].evidence[1].snippet\n Reference: PMID:42491060\n [ERROR] No content available for reference: PMID:42491060\n Location: external_resources[0].evidence[0].snippet\n Reference: PMID:42491060\n\nValidation Summary:\n Total checks: 31\n Issues found: 31\n", + "disposition": "Pre-remediation failure retained. Independent PMC full-text cache added; a separately named fresh-cache gate must actually pass." + }, + { + "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_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": 1, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch93/regressions.log", + "log_sha256": "12a3b8369f67649332a2336c183101ba20fcd76f8a90bfeb071dd3b5152f043b", + "output_tail": "........................................................................ [ 8%]\n........................................................................ [ 16%]\n........................................................................ [ 25%]\n........................................................................ [ 33%]\n........................................................................ [ 42%]\n........................................................................ [ 50%]\n........................................................................ [ 58%]\n........................................................................ [ 67%]\n........................................................................ [ 75%]\n........................................................................ [ 84%]\n.......................................................F................ [ 92%]\n................................................................ [100%]\n=================================== FAILURES ===================================\n_________________ test_the_corpus_is_unchanged_by_this_feature _________________\n\n def test_the_corpus_is_unchanged_by_this_feature():\n \"\"\"Only the records that mean to use the slot do.\n \n Asserted on the corpus rather than trusted from the schema: an\n `ifabsent` or a default that quietly populated the slot would change 312\n records' connectivity without anyone editing a record. That is still the\n failure this catches \u2014 a silent default would put every record in `users`,\n not just the three named below.\n \"\"\"\n users = {\n path.name\n for path in record_files()\n for interaction in (yaml.safe_load(path.read_text()) or {}).get(\"ecological_interactions\")\n or []\n if isinstance(interaction, dict) and interaction.get(\"participating_taxa\")\n }\n> assert users == USERS, (\n f\"{len(users)} records use participating_taxa, expected {len(USERS)}. \"\n f\"Adding a user is fine \u2014 but the connectivity numbers in \"\n f\"tests/test_community_level_connectivity_credit.py were measured \"\n f\"before the slot was used, so re-check them and then update USERS. \"\n f\"Added: {sorted(users - USERS)}. Removed: {sorted(USERS - users)}\"\n )\nE AssertionError: 257 records use participating_taxa, expected 256. Adding a user is fine \u2014 but the connectivity numbers in tests/test_community_level_connectivity_credit.py were measured before the slot was used, so re-check them and then update USERS. Added: ['Rammelsberg_Cobalt_Nickel_Tailings.yaml']. Removed: []\nE assert {'AMD_Acidoph...re.yaml', ...} == {'AMD_Acidoph...re.yaml', ...}\nE \nE Extra items in the left set:\nE 'Rammelsberg_Cobalt_Nickel_Tailings.yaml'\nE Use -v to get more diff\n\ntests/test_participating_taxa.py:441: AssertionError\n=========================== short test summary info ============================\nFAILED tests/test_participating_taxa.py::test_the_corpus_is_unchanged_by_this_feature\n1 failed, 855 passed in 246.48s (0:04:06)\n", + "disposition": "Expected participant-record set updated after measured census; full suite rerun required." + } + ], + "unchanged_record_files": 457, + "unchanged_cache_files": 921, + "unchanged_raw_blocks": 64, + "cache_changes": [ + { + "path": "references_cache/doi_10.1016_j.hydromet.2020.105443.md", + "action": "added", + "sha256": "1f68bb07ce944b1917509a359d5cf957585cb316ee5b8de732e9d3b17951e9d3", + "reference": "doi:10.1016/j.hydromet.2020.105443", + "source": "https://www.researchgate.net/publication/343508487_Bioleaching_of_cobalt_from_CuCo-rich_sulfidic_mine_tailings_from_the_polymetallic_Rammelsberg_mine_Germany", + "scope": "Complete public author-copy main text, figure captions and Table1 extracted through the browser and read. Pre-proof, not final publisher PDF; no figure pixels or supplement review. Contiguous browser lines69-1291 independently captured, excluding subsequent citing papers. Direct repository PDF presented a security challenge, direct author page returned403; neither bypassed. Elsevier API independently confirms DOI/title/license but returns metadata only.", + "independent_primary_text": true, + "prior_cache_files_preserved": 921 + }, + { + "path": "references_cache/PMID_42491060.md", + "action": "added", + "sha256": "84603f25a950f92b37d0d4f8a608149ab42cc95886d62d9085ecd3a6cc1baa96", + "reference": "PMID:42491060", + "source": "https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13375889/fullTextXML", + "scope": "Complete freshly retrieved article abstract/main body, including embedded table text and figure captions. Structured XML extraction, not curated snippet assembly; no figure pixels or supplementary files.", + "independent_primary_text": true, + "prior_cache_files_preserved": 921 + } + ], + "edison": { + "required_for_this_repair": false, + "required_for_unresolved_extensions": false, + "provider_submissions": 0, + "credits_spent": 0, + "dry_runs": [], + "repair_scope": "Qualify/re-evidence existing nodes/directions and remove unsupported graph elements; no new topology." + }, + "primary_artifacts": { + "/private/tmp/communitymech-batch93/baseline.json": "fa7c5c00f52ac68ba0fbb09b2c0e004a9558648ffd6a4103403c82f80f188b98", + "/private/tmp/communitymech-batch93/bde47-metadata.json": "4b52d526abdc01ce3427bbaec2f3e676bfc874f7d044cba28ddbc8148545948b", + "/private/tmp/communitymech-batch93/bde47-primary.txt": "5d51c365c9ab457c700c7e5609bdde9bc9d125b3b7cedbc05aa75ab6a38e09dd", + "/private/tmp/communitymech-batch93/bde47-primary.xml": "1c849c4431c3abb40f613a05ee07ce99cb1ad56c774f738e51e6f0f438d234c2", + "/private/tmp/communitymech-batch93/bde47-tables.txt": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b", + "/private/tmp/communitymech-batch93/created-issues.json": "b004065f129069d2022fd2617f1e7266c4396b1d4095787d87244500efe9d95a", + "/private/tmp/communitymech-batch93/issue-dedup-current.json": "f32c217008ac25cc5a546ab7504fc8fef1bf81ba62c29e4b1bd59f055ea789f1", + "/private/tmp/communitymech-batch93/issue-matches.json": "aa6265b18845aec9774efd35a30d43b872f79debcc24ddf404e4946ae0b29aa6", + "/private/tmp/communitymech-batch93/issues.json": "6724cab188f1bf7956fc542ee25c2ffe59333b6f08e7cecd26c744b9eaac96b3", + "/private/tmp/communitymech-batch93/local-matches.txt": "a5bfa9cd6821f36a305fd6b1710085913868efcd1bb2098e4c6fb506dfd7cec4", + "/private/tmp/communitymech-batch93/ppow-metadata.json": "92355834e62d8781813fae7357db6ad14968ca66cd90bf8031a9b96aef128ac5", + "/private/tmp/communitymech-batch93/ppow-primary.txt": "ab69c92a309f0e5a4dae7e152175bb4153fe47ff2e715d477ecdf0edd6c80283", + "/private/tmp/communitymech-batch93/ppow-primary.xml": "25973b43297dd65ea57d4cf385a93b8cf0f0c152fad0b0571544e287ef17f574", + "/private/tmp/communitymech-batch93/ppow-tables.txt": "491d6feef54d8bd15b36ff686754f150ee269e894955b6bb6861ee7b25657cec", + "/private/tmp/communitymech-batch93/primary-manifest.json": "fe57ccb00adf6145b6a2a11fb28b494bfcae3a67d93887606f667f288a111505", + "/private/tmp/communitymech-batch93/ramc-metadata.json": "c6317d358c2f6f9335459c56dfa4786c249865692094bec3b726b7e6b883eb0c", + "/private/tmp/communitymech-batch93/ramc-primary.txt": "9bebb45c1da1c111f28c46887e7c50adb0ebe2259bc9f5e27b9d1d8010f62bd5", + "/private/tmp/communitymech-batch93/ramc-primary.xml": "65e883154a35c0be1fdec04034514de908edc033a534d529b56ac5b11921b995", + "/private/tmp/communitymech-batch93/ramc-tables.txt": "544e599ceab0256dc19ab69252517d7b91225e2f9fcd3b0fa616d0ab62daaa93", + "/private/tmp/communitymech-batch93/ramm-api.raw": "f80a07f734154bb1dc0db4d8be7df304ce7a6781720bc2961535c6968ea1b186", + "/private/tmp/communitymech-batch93/ramm-review-metadata.json": "46e9cf1383699d9c0cc70f021be60bc3a571de145c486335f39989753c5de792", + "/private/tmp/communitymech-batch93/ramm-review-primary.txt": "99395643d1caee31c82d6de18e909f19c73405aa587f3b6819613796853d7abe", + "/private/tmp/communitymech-batch93/ramm-review-primary.xml": "c4585c87f088d0f1c098d4113c5c96878ff6e8d9b0f14a16ad2850dc68953ea4", + "/private/tmp/communitymech-batch93/ramm-review-tables.txt": "7954506998d89e6b3b1e5c5fd379670db4c4965c2d65b7479f21ad4975789422", + "/private/tmp/communitymech-batch93/ramm-web-middle.txt": "770e286104590ccb2dea1955ffa5e26c740135442789d4a5670e7d83c262fd40", + "/private/tmp/communitymech-batch93/ramm-web-rest.txt": "4ab477c424e89b6d39a97c3271f3013450cfcb6c49abd2a8d87a54988b7118af", + "/private/tmp/communitymech-batch93/ramm-web-start.txt": "8649f929ae14c7ef07fbc36240e89e04f4ccbdb6daf37a755623d5dfd36c094c", + "/private/tmp/communitymech-batch93/rammelsberg-cache.md": "1f68bb07ce944b1917509a359d5cf957585cb316ee5b8de732e9d3b17951e9d3", + "/private/tmp/communitymech-batch93/rammelsberg-primary.txt": "cfffe8054704d7e1f831c43d0a77e096eb5fc12fc1a9dfdc2cad7eed1e4e3998", + "references_cache/PMID_41381587.txt": "22b647f41a2c4121d372997b605124a847299d0ddafd289e214fbde1858437cc", + "references_cache/PMID_42364169.txt": "7362a45c8a1264c55c00552b3ff87f4340bebd228d7031971b793be17e9c1eb5", + "references_cache/PMID_42491060.txt": "8c8459a226facd2d9f7051ae0be73d7175fecc41055fc947c33d5edfcda9eb94", + "references_cache/doi_10.1016_j.hydromet.2020.105443.md": "1f68bb07ce944b1917509a359d5cf957585cb316ee5b8de732e9d3b17951e9d3", + "references_cache/PMID_42491060.md": "84603f25a950f92b37d0d4f8a608149ab42cc95886d62d9085ecd3a6cc1baa96" + }, + "immutable_prior_history_and_decision_files": 748, + "network_delta": { + "existing_findings_preserved": 56, + "added_findings": {}, + "removed_findings": {}, + "interpretation": "Eight nodes retained, one intrinsic node and three unproven feedback arrows removed. All56existingwarnings unchanged, zero structural defects; no taxonomy or auditor-rule changes." + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1405, + "arrows": 572 + }, + "render_scope": "Deterministic rendering and exact HTML-description parser, not browser screenshots; postcommit docs-current is a separate publication gate.", + "participant_census": { + "measurements": { + "baseline": { + "records": 460, + "with_community_level": 396, + "mixed": 126, + "community_level_only": 270, + "taxa": 1523, + "credited_solely_by_the_rule": 1249 + }, + "current": { + "records": 460, + "with_community_level": 397, + "mixed": 126, + "community_level_only": 271, + "taxa": 1525, + "credited_solely_by_the_rule": 1251 + } + }, + "delta": { + "records": 0, + "with_community_level": 1, + "mixed": 0, + "community_level_only": 1, + "taxa": 2, + "credited_solely_by_the_rule": 2 + }, + "interpretation": "Rammelsberg now has community-scoped process nodes with both existing dominant taxa explicitly named. The legacy survey counts taxa only within records carrying COMMUNITY_LEVEL nodes:1523to1525 is not an increase in corpus membership. Its sole-credit count increases1249to1251; this metric is not evidence of an ecological mechanism. BDE-47 remains mixed scope with its supported forward pairwise relay." + }, + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1419, + "edges": 580, + "records_without_nodes": 8, + "records_without_edges": 174, + "review_status_counts": { + "needs_research": 48, + "pending": 124, + "reviewed": 288 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261007-four-records-batch93.yaml": "500c0c50004d7468d58773f647750f745900bfa6463bcd8622ef2e8093ed7651", + "tests/test_causal_review_batch93.py": "4fd15b6e98e64b9e83fbcd7fe9a3309bc579fb8f368ff1e149c85b86622d1d4f", + "reports/causal_graph_review/README.md": "d34e84deda4be3e21480cd5e4539ce93ed0b34122a94c4d45898461b4e4b56cc", + "reports/causal_graph_review/cache-provenance-20261007-batch93.json": "42eced81b60bd40edf7100055b057c03ca35c0cb9472f70e1c23566f7e76a082", + "kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml": "cf9d123e9ca919c62766a20e764dbb2f18bbfc1004911cdf4a0d48055ba47e56", + "kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml": "5b74bd01d770c894a9dd65240bf47b4754d997013fa2681a63abf653a1fb82d0", + "kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml": "583655d32e85bb7a2786ba99f814f00b83dde9a5dca8e3d3b6d0b4f38ab28d46", + "kb/communities/Rhodococcus_Pseudomonas_PPOW_Consortium.yaml": "8e36a499934681939a8905e7044d7951646ef4efe7ed0cf5cfb37d4ce95e9171", + "tests/test_participating_taxa.py": "542dd1067bae1fa922b7c728e017b8cd9b40278c2b11dff0b4673165b1b07715" + }, + "pre_research_baseline": { + "base_commit": "ba6bdfb3fa594cdf5469fc81c12ae2975bb3ce6e", + "base_tree": "061d3205a368264e2069e21d27c37e00543b6dfb", + "research_worktree": "/private/tmp/communitymech-causal-batch92", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch93/baseline-rank.log", + "sha256": "350631f50acb6483a665d0c9ac1f7f3b829862a2cd5664466ee8a136f653a0d0" + }, + { + "name": "just-network", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_code": 2, + "log": "/private/tmp/communitymech-batch93/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-batch93/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-batch93/baseline-downstream.log", + "sha256": "24e1411a8b15806673b978be35a6626b9ad76e589356ae903af7680af62596cb" + } + ], + "baseline_sha256": "fa7c5c00f52ac68ba0fbb09b2c0e004a9558648ffd6a4103403c82f80f188b98" + }, + "reference_validator_caveat": "Four full-record CLI and local snippet checks executed. Literal matches do not establish entailment or independent provenance: RAMC selected cache quotes separately match fresh full text; the retained BDE FigureS16 caption has existing-cache-only provenance. Rammelsberg new cache is the complete public author pre-proof browser extraction, not a final PDF. CLI Total checks counts issues, not executed checks. Executed on macOS, not Linux: existing issue1091 remains open for the pinned DOI-cache reader casing mismatch on case-sensitive filesystems.", + "status": "verified_existing_graph_repairs_with_source_access_limits", + "full_corpus_snippet_counts": { + "records": 460, + "total": 8936, + "categories": { + "MATCH": 8801, + "RENDERING": 20, + "ASSEMBLED": 1, + "WEAK": 0, + "MISMATCH": 38, + "NOCONTENT": 76 + } + }, + "full_corpus_snippet_audit_caveat": "Both-root audit executed; informational exit0 is not clean-corpus certification. Selected-cache matches are literal, not independent verification.", + "primary_graph_snippet_proof": { + "graph_quotations": 16, + "new_discussion_quotations": 6, + "fresh_primary_matches": 21, + "existing_supplement_caption_matches": 1, + "retained_nodes": 8, + "removed_nodes": 1, + "retained_arrows": 3, + "removed_arrows": 3, + "new_nodes_or_directions": 0, + "fresh_main_bodies_read": 3, + "public_author_preproof_read": 1, + "cache_files_added": 2, + "baseline_cache_files_preserved": 921 + }, + "total_recorded_gate_outputs": 44 +} diff --git a/tests/test_causal_review_batch93.py b/tests/test_causal_review_batch93.py new file mode 100644 index 000000000..612cb0700 --- /dev/null +++ b/tests/test_causal_review_batch93.py @@ -0,0 +1,131 @@ +"""Separate exact-system chemistry, cross-feeding and inferred partner benefits.""" + +import hashlib +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261007-four-records-batch93.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_rammelsberg_uses_the_exact_study_without_pairwise_benefit_claims(): + _, _, docs = records() + nodes = docs[0]["ecological_interactions"] + assert len(nodes) == 3 + for node in nodes: + assert node["scope"] == "COMMUNITY_LEVEL" + assert "interaction_type" not in node + assert "source_taxon" not in node and "target_taxon" not in node + assert {t["term"]["id"] for t in node["participating_taxa"]} == { + "NCBITaxon:920", + "NCBITaxon:930", + } + assert "not an exhaustive community" in node["description"] + assert all(e["reference"] == "doi:10.1016/j.hydromet.2020.105443" for e in node["evidence"]) + assert "91% cobalt and 57% copper" in nodes[1]["description"] + assert "66% cobalt and 33% copper" in nodes[1]["description"] + + +def test_rammelsberg_keeps_iron_dissolution_but_not_unsupported_feedback(): + _, _, docs = records() + iron, metals, sulfur = docs[0]["ecological_interactions"] + assert iron["downstream"][0]["target"] == metals["name"] + assert "iron(II) to iron(III)" in iron["downstream"][0]["description"] + assert "downstream" not in metals and "downstream" not in sulfur + assert "biological_processes" not in iron + assert "indigenous organisms" in docs[0]["discussions"][-1]["rationale"] + + +def test_bde47_preserves_forward_cross_feeding_without_reverse_rescue(): + _, _, docs = records() + init, conversion, outcome = docs[1]["ecological_interactions"] + assert init["interaction_type"] == "CROSS_FEEDING" + assert init["source_taxon"]["term"]["id"] == "NCBITaxon:160791" + assert init["target_taxon"]["term"]["id"] == "NCBITaxon:264198" + assert init["downstream"][0]["target"] == conversion["name"] + assert conversion["name"] == "JMP134 2,4-dibromophenol conversion" + assert conversion["scope"] == "COMMUNITY_LEVEL" + assert "target_taxon" not in conversion and "interaction_type" not in conversion + assert "not evidence of a reverse metabolite transfer" in conversion["description"] + assert conversion["downstream"][0]["target"] == outcome["name"] + + +def test_bde47_distinguishes_parent_disappearance_from_intermediate_clearance(): + _, _, docs = records() + _, conversion, outcome = docs[1]["ecological_interactions"] + assert "not required for disappearance" in conversion["downstream"][0]["description"] + assert "only the monoculture accumulated" in outcome["description"] + assert "not an empirical closed carbon balance" in outcome["description"] + assert "interaction_type" not in outcome + assert all(e["supports"] == "SUPPORT" for e in outcome["evidence"]) + assert docs[1]["discussions"][0]["discussion_id"] == "bde47-monoculture-comparison" + assert "does not assert obligacy" in docs[1]["discussions"][-1]["rationale"] + + +def test_ramc_remains_byte_identical_without_succinate_arrow(): + _, rows, docs = records() + row, doc = rows[2], docs[2] + assert row["outcome"] == "unchanged" and row["allowed_changed_fields"] == [] + assert row["original_sha256"] == row["record_sha256"] + assert row["history_files"] == [] and row["curation_events_added"] == 0 + (node,) = doc["ecological_interactions"] + assert node["interaction_type"] == "NICHE_PARTITIONING" and "downstream" not in node + assert all(e["supports"] == "SUPPORT" for e in node["evidence"]) + assert "succinate" in str(doc["discussions"]).lower() + + +def test_ppow_separates_inferred_roles_from_bulk_removal_and_control_conflict(): + _, _, docs = records() + (node,) = docs[3]["ecological_interactions"] + assert node["description"].startswith("HYPOTHESIZED:") + assert node["interaction_type"] == "NICHE_PARTITIONING" and "downstream" not in node + assert [e["supports"] for e in node["evidence"]] == ["PARTIAL"] * 3 + ["SUPPORT"] + assert docs[3]["discussions"][0]["discussion_id"] == "ppow_syncom_member_mechanism" + gap = docs[3]["discussions"][-1] + assert gap["discussion_id"] == "ppow_control_reporting_conflict" + assert "Methods2.4" in gap["rationale"] and "conclusion" in gap["rationale"] + assert len(gap["evidence"]) == 2 + + +def test_all_original_nodes_and_edges_have_dispositions_and_no_new_direction(): + _, rows, docs = records() + assert sum(len(r["node_decisions"]) for r in rows) == 8 + assert sum(len(r["removed_node_decisions"]) for r in rows) == 1 + assert sum(len(r["edges_before"]) for r in rows) == 6 + assert sum(len(r["removed_edge_decisions"]) for r in rows) == 3 + assert sum(len(r["retained_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"] + } + for decision in row["retained_edge_decisions"]: + before, after = decision["before"], decision["after"] + for key in ["source", "target"]: + assert row["renamed_nodes"].get(before[key], before[key]) == after[key] + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + + +def test_source_provenance_history_and_unresolved_scope_are_honest(): + ledger, rows, docs = records() + checks = ledger["snippet_checks"] + ledger["discussion_snippet_checks"] + assert len(checks) == 22 and all(c["cache_matched"] for c in checks) + assert sum(c["independent_primary_match"] for c in checks) == 21 + assert len(ledger["cache_changes"]) == 2 + assert ledger["cache_changes"][0]["prior_cache_files_preserved"] == 921 + assert ledger["issues"] == [1750, 1751, 1752] + assert ledger["unresolved_non_graph_issues"] == [1753] + assert not ledger["independent_approval"] + assert ledger["edison"]["provider_submissions"] == ledger["edison"]["credits_spent"] == 0 + assert ledger["edison"]["dry_runs"] == [] + assert [r["curation_events_added"] for r in rows] == [1, 1, 0, 1] + for row, doc in zip(rows, docs, strict=True): + if row["outcome"] == "changed": + 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 6016489c0..9284dd5db 100644 --- a/tests/test_participating_taxa.py +++ b/tests/test_participating_taxa.py @@ -382,6 +382,7 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example): "Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml", "Pseudonitzschia_Sulfitobacter_Association.yaml", "Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml", + "Rammelsberg_Cobalt_Nickel_Tailings.yaml", "Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml", "Rhodococcus_Pseudomonas_PPOW_Consortium.yaml", "Rifle_Aquifer_Bioanode_EET_Community.yaml",