From 08c92eaaa8a4bba01df187b76acfcf38f326c577 Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Wed, 7 Oct 2026 05:36:40 -0700 Subject: [PATCH] Bound removal mechanisms and repair social-spreading arrow source --- ...us_Waxy_Oil_Biodegradation_Consortium.html | 123 +- ...aligenes_FeII_Nitrogen_Removal_SynCom.html | 103 +- ...cus_Bifenthrin_Degradation_Consortium.html | 122 +- ...Pedobacter_Social_Spreading_Coculture.html | 198 ++- .../2026-10-07T122350Z-codex-d38d08.yaml | 26 + .../2026-10-07T122350Z-codex-e1f96f.yaml | 25 + .../2026-10-07T122351Z-codex-836f1f.yaml | 27 + .../2026-10-07T122351Z-codex-12ff53.yaml | 26 + ...us_Waxy_Oil_Biodegradation_Consortium.yaml | 100 +- ...aligenes_FeII_Nitrogen_Removal_SynCom.yaml | 103 +- ...cus_Bifenthrin_Degradation_Consortium.yaml | 97 +- ...Pedobacter_Social_Spreading_Coculture.yaml | 128 +- reports/causal_graph_review/README.md | 17 + .../adversarial-review-20261007-batch89.yaml | 214 ++++ .../20261007-four-records-batch89.yaml | 588 +++++++++ reports/causal_graph_review/inventory.tsv | 8 +- reports/causal_graph_review/summary.json | 4 +- .../validation-20261007-batch89.json | 1066 +++++++++++++++++ tests/test_causal_review_batch89.py | 139 +++ tests/test_participating_taxa.py | 4 + 20 files changed, 2895 insertions(+), 223 deletions(-) create mode 100644 history/records/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium/2026-10-07T122350Z-codex-d38d08.yaml create mode 100644 history/records/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom/2026-10-07T122350Z-codex-e1f96f.yaml create mode 100644 history/records/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium/2026-10-07T122351Z-codex-836f1f.yaml create mode 100644 history/records/Pseudomonas_Pedobacter_Social_Spreading_Coculture/2026-10-07T122351Z-codex-12ff53.yaml create mode 100644 reports/causal_graph_review/adversarial-review-20261007-batch89.yaml create mode 100644 reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml create mode 100644 reports/causal_graph_review/validation-20261007-batch89.json create mode 100644 tests/test_causal_review_batch89.py diff --git a/docs/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.html b/docs/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.html index b411e8fd0..265c3bf84 100644 --- a/docs/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.html +++ b/docs/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.html @@ -583,7 +583,7 @@

Ecological Interactions

Ecological interaction network for Pseudomonas-Bacillus Waxy Oil Biodegradation 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 (cross-feeding, mutualism). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding).
@@ -596,8 +596,8 @@

Ecological Interactions

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

Ecological Interactions

Interfacial Remodeling and Precursor Cross-feeding

CROSS_FEEDING -

B. subtilis G1 uses lipopeptides and small molecules to remodel the oil-water interface, improve substrate accessibility, and supply precursors assimilated by P. aeruginosa PA12. -

+

PARTIAL: the authors propose that Bacillus-mediated interface remodeling and precursor supply facilitate the partner contribution to waxy-oil conversion. Preserve this reported directed interpretation; the accessible abstract does not establish a measured transfer flux or isolate each mediator experimentally.

Source Taxon: Bacillus subtilis G1

@@ -648,8 +647,7 @@

Interfacial Remodeling and Precursor Cross-feeding

→ Multilayer Cooperative Hydrocarbon Degradation -

Bacillus-mediated oil-water interface remodeling and precursor transfer form one layer of the cooperative network that lets the two-member consortium outperform either monoculture. -

+

PARTIAL: interface remodeling and precursor transfer are proposed contributors to the reported cooperative degradation model. The abstract supports this interpretation but does not establish their necessity or relative contributions.

@@ -679,13 +677,19 @@

Evidence

Multilayer Cooperative Hydrocarbon Degradation

- MUTUALISM
-

The consortium combines interface remodeling, metabolic cross-feeding, signal exchange, and redox-energy homeostasis to outperform either monoculture. -

+

PARTIAL: multi-omics and molecular docking support the authors multilayer cooperation model. These analyses do not by themselves prove functional mediation by each proposed process or reciprocal fitness benefits; the measured consortium-versus-monoculture degradation advantage remains a separate positive result.

+ + + + +

Participating Taxa: + Pseudomonas aeruginosa PA12, + Bacillus subtilis G1 +

@@ -709,8 +713,7 @@

Multilayer Cooperative Hydrocarbon Degradation

→ High-Efficiency Waxy Oil Removal -

Interface remodeling, precursor cross-feeding, signal exchange, and redox-energy homeostasis drive high-efficiency wax removal by the two-member consortium. -

+

PARTIAL: the proposed cooperative processes are offered as an explanation for the observed wax-removal advantage. The abstract does not resolve which processes are necessary or sufficient for that endpoint.

@@ -766,13 +769,19 @@

Evidence

High-Efficiency Waxy Oil Removal

- MUTUALISM
-

The PA12-G1 cooperative network improved waxy crude oil conversion, producing 85.5% wax removal within 12 days compared with lower PA12 and G1 monoculture degradation efficiencies. -

+

The source reports 85.5% wax removal within 12 days, compared with lower monoculture degradation efficiencies of 52.5% and 42.0%. Preserve this positive treatment comparison without equating pollutant removal with reciprocal growth benefits or complete mineralization.

+ + + + +

Participating Taxa: + Pseudomonas aeruginosa PA12, + Bacillus subtilis G1 +

@@ -826,6 +835,60 @@

Evidence

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which reported cooperative processes actually mediate the removal advantage? +

+

All three nodes and both existing directions remain. Positive removal measurements are distinct from multi-omics and docking interpretations. Only the fresh abstract was accessible; absence of full methods is not evidence that perturbations were absent. No new biological mechanisms, strain combinations, optimization parameters or experimental designs were added.

+ +

Attaches to: ecological_interactions#Interfacial Remodeling and Precursor Cross-feeding, ecological_interactions#Multilayer Cooperative Hydrocarbon Degradation, ecological_interactions#High-Efficiency Waxy Oil Removal

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

enhancing substrate accessibility and supplying precursors to PA12

+

Supports the authors proposed substrate-access and precursor-transfer contribution, not independently verified transfer flux.

+
+ +
+
+ COMPUTATIONAL + SUPPORT + + + + PMID:41905048 + + +
+

Molecular docking validated the aforementioned mechanism of action

+

This is the authors wording; docking is computational support, not independent biological validation of the whole causal mechanism.

+
+ +
+ + +
+ +
@@ -1165,7 +1228,7 @@

Evidence

(function() { var intId = "interaction:1"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1189,11 +1252,24 @@

Evidence

+ var participantKeys = [ + + "Pseudomonas aeruginosa PA12", + + "Bacillus subtilis G1" + + ]; + 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 = []; @@ -1221,6 +1297,19 @@

Evidence

+ var participantKeys = [ + + "Pseudomonas aeruginosa PA12", + + "Bacillus subtilis G1" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/docs/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.html b/docs/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.html index 6e96b9c1a..5dd6fd4c5 100644 --- a/docs/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.html +++ b/docs/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.html @@ -597,7 +597,7 @@

Ecological Interactions

Ecological interaction network for Pseudomonas-Klebsiella-Alcaligenes Fe2+ Nitrogen-Removal 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 (niche partitioning). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
@@ -605,8 +605,8 @@

Ecological Interactions

Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -615,13 +615,22 @@

Ecological Interactions

Composite nitrogen-removal metabolic network

- NICHE_PARTITIONING
-

Pseudomonas stutzeri, Klebsiella sp., and Alcaligenes sp. were combined into a synthetic consortium spanning aerobic denitrification, facultative anaerobic denitrification, and heterotrophic nitrification-aerobic denitrification. Fe2+ chemical regulation increased nitrate-N removal efficiency relative to other iron species and shifted the metagenomic carbon and nitrogen network toward higher dissimilatory nitrate reduction to ammonium pathway abundance and lower denitrification pathway abundance.

+

The three-member consortium showed higher nitrate-N removal under the reported iron-species treatment comparison and associated changes in carbon/nitrogen pathway abundance. PARTIAL: complementary named capabilities do not establish niche partitioning, member-specific contributions or measured pathway flux. The abstract labels the analysis metagenomic but calls the reported counts transcript abundance, leaving the measurement type unresolved.

+

Participating Taxa: + + Pseudomonas stutzeri, + + Klebsiella sp., + + Alcaligenes sp. + +

+

Metabolites: @@ -682,6 +691,19 @@

Evidence

+
  • +
    + + PMID:42520901 + + - SUPPORT (IN_VITRO) +
    + +
    "compared with the other iron species, the Fe2+ group achieved a 20-30% increase in nitrate-N removal efficiency"
    + +
  • +
    @@ -692,7 +714,7 @@

    Evidence

    -

    Knowledge gaps & discussions (1)

    +

    Knowledge gaps & discussions (2)

    @@ -707,6 +729,56 @@

    +

    + +
    +

    + KNOWLEDGE_GAP + OPEN + What measurement supports the reported pathway shift and net nitrogen fate? +

    +

    The nitrate-N treatment response remains a measured positive endpoint. The accessible abstract mixes metagenomic sequencing with transcript-abundance terminology; it does not resolve that inconsistency, taxon-specific partitioning or flux. Nitrate disappearance alone does not establish whole-system nitrogen loss. Full text and complete nitrogen balances were not available in this review. No new arrows or experimental protocols were added.

    + +

    Attaches to: ecological_interactions#Composite nitrogen-removal metabolic network

    + + + +
    + 2 evidence item(s) + +
    +
    + COMPUTATIONAL + SUPPORT + + + + PMID:42520901 + + +
    +

    Metagenomic analysis revealed that Fe2+ modulated the carbon and nitrogen metabolic networks: in the carbon metabolic network, enrichment of the por gene in the glycolytic pathway generated substantial reducing power in the form of reduced ferredoxin; concomitantly, the transcript abundance of the dissimilatory nitrate reduction to ammonium pathway increased from 775 to 802, whereas that of the denitrification pathway decreased from 1259 to 1222.

    +

    Supports the source-reported abundance shift with an unresolved metagenomic/transcript terminology inconsistency, not verified transcription, reducing-power production or nitrogen flux.

    +
    + +
    +
    + IN_VITRO + SUPPORT + + + + PMID:42520901 + + +
    +

    compared with the other iron species, the Fe2+ group achieved a 20-30% increase in nitrate-N removal efficiency

    +

    Supports Fe2+ as the iron species that increased nitrate-N removal efficiency.

    +
    + +
    + +
    @@ -997,7 +1069,7 @@

    Evidence

    (function() { var intId = "interaction:0"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1012,7 +1084,7 @@

    Evidence

    processes.push("denitrification"); - var evidenceCount = 2; + var evidenceCount = 3; nodes.push({ id: intId, @@ -1027,6 +1099,21 @@

    Evidence

    + var participantKeys = [ + + "Pseudomonas stutzeri", + + "Klebsiella sp.", + + "Alcaligenes sp." + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/docs/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.html b/docs/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.html index 7e37780e0..e7d3e272d 100644 --- a/docs/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.html +++ b/docs/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.html @@ -598,7 +598,7 @@

    Ecological Interactions

    Ecological interaction network for Pseudomonas-Paracoccus Bifenthrin-Degrading 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 (cross-feeding, niche partitioning). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding).
    @@ -611,8 +611,8 @@

    Ecological Interactions

    Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
    @@ -621,13 +621,19 @@

    Ecological Interactions

    Hydrolyzer-oxidizer division of labor

    - NICHE_PARTITIONING
    -

    PA hydrolyzes bifenthrin into bifenthrin alcohol and trifluorochloro-chrysanthemic acid, while PP oxidizes bifenthrin alcohol and thereby relieves inhibition of PA hydrolases. -

    +

    The source reports complementary hydrolysis and oxidation steps in the two-member consortium. PARTIAL: removal of the intermediate is proposed to relieve hydrolase inhibition, but the accessible abstract does not isolate that mediator or demonstrate ecological niche partitioning.

    + + + +

    Participating Taxa: + Pseudomonas aeruginosa PA, + Paracoccus pantotrophus PP + +

    @@ -651,8 +657,7 @@

    Hydrolyzer-oxidizer division of labor

    → Accelerated Bifenthrin Removal -

    Division of labor between bifenthrin hydrolysis and bifenthrin-alcohol oxidation increases bifenthrin removal by the PA+PP consortium. -

    +

    The reported sequential transformations couple substrate breakdown to intermediate removal and are offered as the explanation for faster consortium removal. PARTIAL: hydrolase-specific mediation is not independently resolved by the accessible abstract.

    @@ -697,7 +702,7 @@

    Evidence

    Bifenthrin-intermediate cross-feeding

    CROSS_FEEDING -

    PP consumes the bifenthrin-alcohol product generated by PA, coupling the two degradation steps.

    +

    The source reports directed coupling between production and downstream transformation of the bifenthrin-alcohol intermediate. PARTIAL: this cross-feeding interpretation concerns sequential biotransformation; the abstract does not establish recipient growth dependence or directly traced carbon assimilation.

    Source Taxon: Pseudomonas aeruginosa PA

    @@ -728,8 +733,7 @@

    Bifenthrin-intermediate cross-feeding

    → Accelerated Bifenthrin Removal -

    Consumption of the bifenthrin-alcohol intermediate couples the two degradation steps and helps the consortium exceed monoculture removal rates. -

    +

    Reported downstream transformation of the intermediate couples the two degradation steps and contributes to the consortium removal advantage. PARTIAL: the accessible abstract does not separate that contribution from other concurrent processes.

    @@ -759,13 +763,19 @@

    Evidence

    Accelerated Bifenthrin Removal

    - CROSS_FEEDING
    -

    The PA+PP consortium removes bifenthrin faster and more completely than either monoculture, reaching high bifenthrin removal within seven days in the optimized aqueous mineral-salts assay. -

    +

    The consortium showed a higher bifenthrin-removal rate and greater final removal than either monoculture under the reported assay comparison. Preserve this measured advantage separately from the proposed transfer mechanism; it does not itself demonstrate complete mineralization or reciprocal partner fitness.

    + + +

    Participating Taxa: + Pseudomonas aeruginosa PA, + + Paracoccus pantotrophus PP + +

    @@ -824,6 +834,60 @@

    Evidence

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + What distinguishes intermediate transformation from assimilation and specific causal mediation? +

    +

    All three nodes and both existing directions are retained. The primary abstract supports sequential transformations and the positive consortium comparison. It does not independently resolve recipient growth dependence, carbon assimilation or the hydrolase-specific mediator; unavailable methods are not proof those tests were absent. No new biological mechanisms, growth-optimization details or experimental designs were added.

    + +

    Attaches to: ecological_interactions#Hydrolyzer-oxidizer division of labor, ecological_interactions#Bifenthrin-intermediate cross-feeding, ecological_interactions#Accelerated Bifenthrin Removal

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

    relieving steric hindrance on PA hydrolases and establishing an essential cooperative degradation partnership

    +

    Supports the authors explanation for the benefit of intermediate removal, not independently verified steric mediation.

    +
    + +
    +
    + IN_VITRO + SUPPORT + + + + PMID:42269294 + + +
    +

    k3 = 0.26 d-1 > k1 = 0.15 d-1> k2 = 0.10 d-1

    +

    Supports the PA+PP consortium degradation rate exceeding either monoculture.

    +
    + +
    + + +
    + +
    @@ -1221,7 +1285,7 @@

    Evidence

    (function() { var intId = "interaction:0"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1245,6 +1309,19 @@

    Evidence

    + var participantKeys = [ + + "Pseudomonas aeruginosa PA", + + "Paracoccus pantotrophus PP" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { @@ -1287,7 +1364,7 @@

    Evidence

    (function() { var intId = "interaction:2"; - var intType = "CROSS_FEEDING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1311,6 +1388,19 @@

    Evidence

    + var participantKeys = [ + + "Pseudomonas aeruginosa PA", + + "Paracoccus pantotrophus PP" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/docs/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.html b/docs/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.html index d0d6a011b..6fc86ff90 100644 --- a/docs/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.html +++ b/docs/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.html @@ -581,7 +581,7 @@

    Ecological Interactions

    Ecological interaction network for Pseudomonas-Pedobacter Social Spreading Coculture - 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, colonization facilitation). + 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.
    @@ -589,13 +589,8 @@

    Ecological Interactions

    Mutualism -
    -
    - Colonization facilitation + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
    @@ -604,16 +599,19 @@

    Ecological Interactions

    Interspecies Social Spreading

    - COLONIZATION_FACILITATION
    -

    Coculture of P. fluorescens Pf0-1 and Pedobacter sp. V48 reveals an emergent surface spreading phenotype on hard agar where neither monoculture spreads under the same conditions.

    +

    The canonical two-species coculture spreads across hard agar under the tested conditions while neither monoculture shows the same behavior. Preserve this emergent joint phenotype without assigning an untested one-way inducer or a specific motility motor.

    -

    Source Taxon: Pedobacter sp. V48

    +

    Participating Taxa: -

    Target Taxon: Pseudomonas fluorescens Pf0-1

    + Pseudomonas fluorescens Pf0-1, + + Pedobacter sp. V48 + +

    @@ -674,16 +672,19 @@

    Evidence

    Pseudomonas-Pedobacter Comigration

    - MUTUALISM
    -

    Both species remain present across the spreading colony, so the behavior is comigration rather than one species escaping the other.

    +

    Culture recovery and fluorescent imaging detected both partners throughout the spreading colony, with reproducible nonhomogeneous spatial distributions. This supports comigration rather than one partner escaping, not proof of reciprocal fitness benefits or a feedback cause of initiation.

    -

    Source Taxon: Pseudomonas fluorescens Pf0-1

    +

    Participating Taxa: -

    Target Taxon: Pedobacter sp. V48

    + Pseudomonas fluorescens Pf0-1, + + Pedobacter sp. V48 + +

    @@ -708,17 +709,6 @@

    Pseudomonas-Pedobacter Comigration

    -
    - Downstream Effects: - -
    - → Interspecies Social Spreading -

    Close association or contact between Pf0-1 and V48 initiates the two-species colony expansion phenotype on hard agar. -

    -
    - -
    -

    Evidence

    @@ -757,16 +747,19 @@

    Evidence

    Contact-Dependent Initiation

    - COLONIZATION_FACILITATION
    -

    In the canonical Pf0-1 plus V48 pair, initiation of social spreading requires physical proximity or contact between the two species.

    +

    Close physical association was required for initiation in the canonical pair: spreading followed colony contact, and semipermeable separation prevented it. PARTIAL: the molecular trigger and whether direct cell-cell signaling or a localized environmental process mediates the requirement remain unresolved.

    + -

    Source Taxon: Pedobacter sp. V48

    +

    Participating Taxa: + Pseudomonas fluorescens Pf0-1, -

    Target Taxon: Pseudomonas fluorescens Pf0-1

    + Pedobacter sp. V48 + +

    @@ -791,6 +784,17 @@

    Contact-Dependent Initiation

    +
    + Downstream Effects: + +
    + → Interspecies Social Spreading +

    Close association or contact between Pf0-1 and V48 initiates the two-species colony expansion phenotype on hard agar. +

    +
    + +
    +

    Evidence

    @@ -809,6 +813,19 @@

    Evidence

    +
  • +
    + + PMID:30700513 + + - SUPPORT (IN_VITRO) +
    + +
    "motility is precluded when a semipermeable membrane is placed between the two colonies"
    + +
  • +
    @@ -869,6 +886,60 @@

    Associated Datasets

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + How does the demonstrated association requirement produce the joint spreading phenotype? +

    +

    The existing contact-initiation arrow was attached to Comigration even though its text describes the existing Contact-Dependent Initiation node. It was moved unchanged to that node, repairing the source endpoint without inventing a new causal claim. All three observations and both arrows remain. The primary membrane, adjacent-colony, conditioned-medium and heat-killed-cell results support an association requirement, not a resolved signal or motor. The follow-up abstract reports different requirements for other isolate pairs; these do not override the canonical pair. Non-graph temperature, timing and cross-feeder roles remain #1736.

    + +

    Attaches to: ecological_interactions#Interspecies Social Spreading, ecological_interactions#Pseudomonas-Pedobacter Comigration, ecological_interactions#Contact-Dependent Initiation

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

    motility is precluded when a semipermeable membrane is placed between the two colonies

    +

    Supports the experimental association requirement without identifying a molecular contact sensor.

    +
    + +
    +
    + IN_VITRO + SUPPORT + + + + PMID:34288708 + + +
    +

    While Pf0-1+V48 require low nutrient but high NaCl conditions

    +

    Supports the same environment dependence in the exact-pair follow-up study.

    +
    + +
    + + +
    + +
    @@ -1106,7 +1177,7 @@

    Evidence

    (function() { var intId = "interaction:0"; - var intType = "COLONIZATION_FACILITATION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1130,23 +1201,26 @@

    Evidence

    }); - var srcKey = "Pedobacter sp. V48"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ - var tgtKey = "Pseudomonas fluorescens Pf0-1"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } + "Pseudomonas fluorescens Pf0-1", + + "Pedobacter sp. V48" + + ]; + 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 = []; var processes = []; @@ -1170,23 +1244,26 @@

    Evidence

    }); - var srcKey = "Pseudomonas fluorescens Pf0-1"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ - var tgtKey = "Pedobacter sp. V48"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } + "Pseudomonas fluorescens Pf0-1", + + "Pedobacter sp. V48" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); (function() { var intId = "interaction:2"; - var intType = "COLONIZATION_FACILITATION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1197,7 +1274,7 @@

    Evidence

    processes.push("biological process involved in interspecies interaction between organisms"); - var evidenceCount = 1; + var evidenceCount = 2; nodes.push({ id: intId, @@ -1210,17 +1287,20 @@

    Evidence

    }); - var srcKey = "Pedobacter sp. V48"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ - var tgtKey = "Pseudomonas fluorescens Pf0-1"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } + "Pseudomonas fluorescens Pf0-1", + + "Pedobacter sp. V48" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); diff --git a/history/records/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium/2026-10-07T122350Z-codex-d38d08.yaml b/history/records/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium/2026-10-07T122350Z-codex-d38d08.yaml new file mode 100644 index 000000000..7db4a30a5 --- /dev/null +++ b/history/records/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium/2026-10-07T122350Z-codex-d38d08.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml + slug: Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium +session: + id: 2026-10-07T122350Z-codex-d38d08 + timestamp: '2026-10-07T12:23:50Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1732 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve reported interface and precursor facilitation with explicit evidence bounds.; + Preserve the multilayer model without asserting mediator necessity or mutual fitness.; + Preserve measured wax removal without mineralization or fitness inference. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml diff --git a/history/records/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom/2026-10-07T122350Z-codex-e1f96f.yaml b/history/records/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom/2026-10-07T122350Z-codex-e1f96f.yaml new file mode 100644 index 000000000..133317d77 --- /dev/null +++ b/history/records/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom/2026-10-07T122350Z-codex-e1f96f.yaml @@ -0,0 +1,25 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml + slug: Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom +session: + id: 2026-10-07T122350Z-codex-e1f96f + timestamp: '2026-10-07T12:23:50Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1733 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve nitrate removal and reported abundance shifts without verified flux or + niche partitioning. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml diff --git a/history/records/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium/2026-10-07T122351Z-codex-836f1f.yaml b/history/records/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium/2026-10-07T122351Z-codex-836f1f.yaml new file mode 100644 index 000000000..1ed7817b2 --- /dev/null +++ b/history/records/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium/2026-10-07T122351Z-codex-836f1f.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml + slug: Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium +session: + id: 2026-10-07T122351Z-codex-836f1f + timestamp: '2026-10-07T12:23:51Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1734 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve complementary transformations and qualify hydrolase-specific mediation.; + Preserve directed intermediate coupling without asserting growth dependence or traced + assimilation.; Preserve superior removal without equating the endpoint with cross-feeding + or fitness. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml diff --git a/history/records/Pseudomonas_Pedobacter_Social_Spreading_Coculture/2026-10-07T122351Z-codex-12ff53.yaml b/history/records/Pseudomonas_Pedobacter_Social_Spreading_Coculture/2026-10-07T122351Z-codex-12ff53.yaml new file mode 100644 index 000000000..9111d94f1 --- /dev/null +++ b/history/records/Pseudomonas_Pedobacter_Social_Spreading_Coculture/2026-10-07T122351Z-codex-12ff53.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml + slug: Pseudomonas_Pedobacter_Social_Spreading_Coculture +session: + id: 2026-10-07T122351Z-codex-12ff53 + timestamp: '2026-10-07T12:23:51Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1735 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve emergent spreading without a one-way inducer or resolved motor.; Preserve + measured comigration without mutual-fitness or initiation-feedback inference.; Repair + the existing initiation arrow source and preserve the tested association requirement. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml diff --git a/kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml b/kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml index 2b9470c9d..6c720f781 100644 --- a/kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml +++ b/kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml @@ -93,10 +93,9 @@ taxonomy: explanation: Supports the interfacial-remodeling role of G1. ecological_interactions: - name: Interfacial Remodeling and Precursor Cross-feeding - description: > - B. subtilis G1 uses lipopeptides and small molecules to remodel the oil-water - interface, improve substrate accessibility, and supply precursors assimilated - by P. aeruginosa PA12. + description: 'PARTIAL: the authors propose that Bacillus-mediated interface remodeling and precursor supply facilitate + the partner contribution to waxy-oil conversion. Preserve this reported directed interpretation; the accessible + abstract does not establish a measured transfer flux or isolate each mediator experimentally.' interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -121,21 +120,20 @@ ecological_interactions: label: alkane catabolic process downstream: - target: Multilayer Cooperative Hydrocarbon Degradation - description: > - Bacillus-mediated oil-water interface remodeling and precursor transfer - form one layer of the cooperative network that lets the two-member - consortium outperform either monoculture. + description: 'PARTIAL: interface remodeling and precursor transfer are proposed contributors to the reported + cooperative degradation model. The abstract supports this interpretation but does not establish their necessity + or relative contributions.' evidence: - reference: PMID:41905048 supports: SUPPORT evidence_source: IN_VITRO snippet: enhancing substrate accessibility and supplying precursors to PA12 - explanation: Supports substrate-access facilitation and precursor transfer from G1 to PA12. + explanation: Supports the authors proposed substrate-access and precursor-transfer contribution, not independently + verified transfer flux. - name: Multilayer Cooperative Hydrocarbon Degradation - description: > - The consortium combines interface remodeling, metabolic cross-feeding, - signal exchange, and redox-energy homeostasis to outperform either monoculture. - interaction_type: MUTUALISM + description: 'PARTIAL: multi-omics and molecular docking support the authors multilayer cooperation model. These + analyses do not by themselves prove functional mediation by each proposed process or reciprocal fitness benefits; + the measured consortium-versus-monoculture degradation advantage remains a separate positive result.' scope: COMMUNITY_LEVEL biological_processes: - preferred_term: quorum sensing @@ -144,33 +142,39 @@ ecological_interactions: label: quorum sensing downstream: - target: High-Efficiency Waxy Oil Removal - description: > - Interface remodeling, precursor cross-feeding, signal exchange, and - redox-energy homeostasis drive high-efficiency wax removal by the - two-member consortium. + description: 'PARTIAL: the proposed cooperative processes are offered as an explanation for the observed wax-removal + advantage. The abstract does not resolve which processes are necessary or sufficient for that endpoint.' evidence: - reference: PMID:41905048 supports: SUPPORT evidence_source: IN_VITRO - snippet: a multilayer cooperative mechanism integrating interfacial remodeling, metabolic cross-feeding, signal exchange, and redox-energy homeostasis - explanation: Supports the reported community-level cooperative mechanism. + snippet: a multilayer cooperative mechanism integrating interfacial remodeling, metabolic cross-feeding, signal + exchange, and redox-energy homeostasis + explanation: Supports the reported explanatory model, not experimental necessity of every proposed component. - reference: PMID:41905048 supports: SUPPORT evidence_source: IN_VITRO snippet: via aromatic intermediates, fatty acids, and quorum-sensing signals - explanation: Supports quorum-sensing signals as one layer of the reported - cooperative network between the two strains. + explanation: Supports quorum-sensing signals as one layer of the reported cooperative network between the two + strains. - reference: PMID:41905048 supports: SUPPORT evidence_source: IN_VITRO snippet: monocultures showed lower degradation efficiencies, reaching 52.5% for PA12 and 42.0% for G1 explanation: Supports performance beyond either monoculture. + participating_taxa: + - preferred_term: Pseudomonas aeruginosa PA12 + term: + id: NCBITaxon:287 + label: Pseudomonas aeruginosa + - preferred_term: Bacillus subtilis G1 + term: + id: NCBITaxon:1423 + label: Bacillus subtilis - name: High-Efficiency Waxy Oil Removal - description: > - The PA12-G1 cooperative network improved waxy crude oil conversion, producing - 85.5% wax removal within 12 days compared with lower PA12 and G1 monoculture - degradation efficiencies. - interaction_type: MUTUALISM + description: The source reports 85.5% wax removal within 12 days, compared with lower monoculture degradation + efficiencies of 52.5% and 42.0%. Preserve this positive treatment comparison without equating pollutant removal + with reciprocal growth benefits or complete mineralization. scope: COMMUNITY_LEVEL metabolites: - preferred_term: alkane @@ -188,6 +192,15 @@ ecological_interactions: evidence_source: IN_VITRO snippet: achieving 85.5% wax removal within 12 d explanation: Supports the endpoint of high-efficiency wax removal by the two-member consortium. + participating_taxa: + - preferred_term: Pseudomonas aeruginosa PA12 + term: + id: NCBITaxon:287 + label: Pseudomonas aeruginosa + - preferred_term: Bacillus subtilis G1 + term: + id: NCBITaxon:1423 + label: Bacillus subtilis environmental_factors: - name: Waxy crude oil loading value: '2' @@ -239,3 +252,38 @@ external_resources: explanation: Links the resource to the exact community. metal_relevance: NOT_APPLICABLE metal_notes: No metal or rare-earth processing role is reported for this waxy-oil biodegradation consortium. +discussions: +- discussion_id: waxy-removal-versus-mechanistic-mediation + prompt: Which reported cooperative processes actually mediate the removal advantage? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: All three nodes and both existing directions remain. Positive removal measurements are distinct from + multi-omics and docking interpretations. Only the fresh abstract was accessible; absence of full methods is + not evidence that perturbations were absent. No new biological mechanisms, strain combinations, optimization + parameters or experimental designs were added. + attaches_to: + - ecological_interactions#Interfacial Remodeling and Precursor Cross-feeding + - ecological_interactions#Multilayer Cooperative Hydrocarbon Degradation + - ecological_interactions#High-Efficiency Waxy Oil Removal + evidence: + - reference: PMID:41905048 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: enhancing substrate accessibility and supplying precursors to PA12 + explanation: Supports the authors proposed substrate-access and precursor-transfer contribution, not independently + verified transfer flux. + - reference: PMID:41905048 + supports: SUPPORT + evidence_source: COMPUTATIONAL + snippet: Molecular docking validated the aforementioned mechanism of action + explanation: This is the authors wording; docking is computational support, not independent biological validation + of the whole causal mechanism. +curation_history: +- timestamp: '2026-10-07T12:23:49Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve reported interface and precursor facilitation with explicit evidence bounds.; Preserve the + multilayer model without asserting mediator necessity or mutual fitness.; Preserve measured wax removal without + mineralization or fitness inference. Issue #1732; reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml' + llm_assisted: true diff --git a/kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml b/kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml index 8d7f211be..21e6cd8db 100644 --- a/kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml +++ b/kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml @@ -122,12 +122,10 @@ taxonomy: bacterium. ecological_interactions: - name: Composite nitrogen-removal metabolic network - description: Pseudomonas stutzeri, Klebsiella sp., and Alcaligenes sp. were combined into a synthetic consortium spanning - aerobic denitrification, facultative anaerobic denitrification, and heterotrophic nitrification-aerobic denitrification. - Fe2+ chemical regulation increased nitrate-N removal efficiency relative to other iron species and shifted the metagenomic - carbon and nitrogen network toward higher dissimilatory nitrate reduction to ammonium pathway abundance and lower denitrification - pathway abundance. - interaction_type: NICHE_PARTITIONING + description: 'The three-member consortium showed higher nitrate-N removal under the reported iron-species treatment + comparison and associated changes in carbon/nitrogen pathway abundance. PARTIAL: complementary named capabilities + do not establish niche partitioning, member-specific contributions or measured pathway flux. The abstract labels + the analysis metagenomic but calls the reported counts transcript abundance, leaving the measurement type unresolved.' scope: COMMUNITY_LEVEL metabolites: - preferred_term: nitrate @@ -147,17 +145,38 @@ ecological_interactions: - reference: PMID:42520901 supports: SUPPORT evidence_source: IN_VITRO - snippet: comprising the aerobic denitrifier Pseudomonas stutzeri, the facultative anaerobic denitrifier Klebsiella sp., - and the heterotrophic nitrifying-aerobic denitrifying bacterium Alcaligenes sp. + snippet: comprising the aerobic denitrifier Pseudomonas stutzeri, the facultative anaerobic denitrifier Klebsiella + sp., and the heterotrophic nitrifying-aerobic denitrifying bacterium Alcaligenes sp. explanation: Supports the complementary nitrogen-metabolism capacities represented in the consortium. - reference: PMID:42520901 supports: SUPPORT evidence_source: COMPUTATIONAL - snippet: 'Metagenomic analysis revealed that Fe2+ modulated the carbon and nitrogen metabolic networks: in the carbon - metabolic network, enrichment of the por gene in the glycolytic pathway generated substantial reducing power in the - form of reduced ferredoxin; concomitantly, the transcript abundance of the dissimilatory nitrate reduction to ammonium - pathway increased from 775 to 802, whereas that of the denitrification pathway decreased from 1259 to 1222.' - explanation: Supports the Fe2+-associated shift in carbon and nitrogen network abundance. + snippet: 'Metagenomic analysis revealed that Fe2+ modulated the carbon and nitrogen metabolic networks: in the + carbon metabolic network, enrichment of the por gene in the glycolytic pathway generated substantial reducing + power in the form of reduced ferredoxin; concomitantly, the transcript abundance of the dissimilatory nitrate + reduction to ammonium pathway increased from 775 to 802, whereas that of the denitrification pathway decreased + from 1259 to 1222.' + explanation: Supports the source-reported abundance shift with an unresolved metagenomic/transcript terminology + inconsistency, not verified transcription, reducing-power production or nitrogen flux. + - reference: PMID:42520901 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: compared with the other iron species, the Fe2+ group achieved a 20-30% increase in nitrate-N removal + efficiency + explanation: Supports Fe2+ as the iron species that increased nitrate-N removal efficiency. + participating_taxa: + - preferred_term: Pseudomonas stutzeri + term: + id: NCBITaxon:316 + label: Stutzerimonas stutzeri + - preferred_term: Klebsiella sp. + term: + id: NCBITaxon:570 + label: Klebsiella + - preferred_term: Alcaligenes sp. + term: + id: NCBITaxon:507 + label: Alcaligenes environmental_factors: - name: Ferrous iron regulation value: Fe2+ @@ -217,19 +236,47 @@ external_resources: explanation: Lists the primary DOI-linked article for the Fe2+-regulated SynCom. discussions: - discussion_id: fe2_syncom_exact_strains_and_cultivation_conditions - prompt: Which Pseudomonas stutzeri, Klebsiella sp., and Alcaligenes sp. strains, nitrogen source, iron doses, PAM dose, - medium recipe, inoculation ratio, and incubation conditions were used to assemble and assay the Fe2+-regulated nitrogen-removal - consortium? + prompt: Which Pseudomonas stutzeri, Klebsiella sp., and Alcaligenes sp. strains, nitrogen source, iron doses, + PAM dose, medium recipe, inoculation ratio, and incubation conditions were used to assemble and assay the Fe2+-regulated + nitrogen-removal consortium? kind: KNOWLEDGE_GAP status: OPEN attaches_to: - engineering_design#assembly_strategy - growth_media#Fe2+-regulated nitrogen-removal assay - rationale: PubMed exposes the abstract but PubMed Central does not link open full text for PMID:42520901. The abstract identifies - the three member taxa and Fe2+/PAM perturbation design but not the strain designations or cultivation details needed for - a fully reproducible setup. + rationale: PubMed exposes the abstract but PubMed Central does not link open full text for PMID:42520901. The + abstract identifies the three member taxa and Fe2+/PAM perturbation design but not the strain designations or + cultivation details needed for a fully reproducible setup. posed_by: codex posed_date: '2026-09-14' +- discussion_id: fe2-abundance-versus-nitrogen-flux + prompt: What measurement supports the reported pathway shift and net nitrogen fate? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: The nitrate-N treatment response remains a measured positive endpoint. The accessible abstract mixes + metagenomic sequencing with transcript-abundance terminology; it does not resolve that inconsistency, taxon-specific + partitioning or flux. Nitrate disappearance alone does not establish whole-system nitrogen loss. Full text and + complete nitrogen balances were not available in this review. No new arrows or experimental protocols were added. + attaches_to: + - ecological_interactions#Composite nitrogen-removal metabolic network + evidence: + - reference: PMID:42520901 + supports: SUPPORT + evidence_source: COMPUTATIONAL + snippet: 'Metagenomic analysis revealed that Fe2+ modulated the carbon and nitrogen metabolic networks: in the + carbon metabolic network, enrichment of the por gene in the glycolytic pathway generated substantial reducing + power in the form of reduced ferredoxin; concomitantly, the transcript abundance of the dissimilatory nitrate + reduction to ammonium pathway increased from 775 to 802, whereas that of the denitrification pathway decreased + from 1259 to 1222.' + explanation: Supports the source-reported abundance shift with an unresolved metagenomic/transcript terminology + inconsistency, not verified transcription, reducing-power production or nitrogen flux. + - reference: PMID:42520901 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: compared with the other iron species, the Fe2+ group achieved a 20-30% increase in nitrate-N removal + efficiency + explanation: Supports Fe2+ as the iron species that increased nitrate-N removal efficiency. metals_present: - IRON rare_earth_elements_present: [] @@ -240,18 +287,24 @@ curation_history: - timestamp: '2026-09-14T03:19:25Z' curator: codex action: CURATE_FE2_NITROGEN_SYNCOM - changes: Added the Fe2+-regulated Pseudomonas-Klebsiella-Alcaligenes nitrogen-removal SynCom from PMID:42520901 with abstract-backed - member, perturbation, and metagenomic claims. + changes: Added the Fe2+-regulated Pseudomonas-Klebsiella-Alcaligenes nitrogen-removal SynCom from PMID:42520901 + with abstract-backed member, perturbation, and metagenomic claims. llm_assisted: true - timestamp: '2026-09-14T03:23:07Z' curator: codex action: ADD_FE2_GTDB_STATUSES - changes: Replaced the provisional NOT_ATTEMPTED GTDB state for Pseudomonas stutzeri with the same-taxon stored ambiguous - outcome, and marked the genus-level Klebsiella and Alcaligenes members unresolved. + changes: Replaced the provisional NOT_ATTEMPTED GTDB state for Pseudomonas stutzeri with the same-taxon stored + ambiguous outcome, and marked the genus-level Klebsiella and Alcaligenes members unresolved. llm_assisted: true - timestamp: '2026-09-14T03:30:25Z' curator: codex action: ADDRESS_REVIEW_878 - changes: Removed the manually copied Klebsiella GTDB classification so genus-level Klebsiella remains UNRESOLVED until - gtdb_ground.py can derive a reproducible current grounding. + changes: Removed the manually copied Klebsiella GTDB classification so genus-level Klebsiella remains UNRESOLVED + until gtdb_ground.py can derive a reproducible current grounding. + llm_assisted: true +- timestamp: '2026-10-07T12:23:49Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve nitrate removal and reported abundance shifts without verified flux or niche partitioning. + Issue #1733; reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml' llm_assisted: true diff --git a/kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml b/kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml index 48ca926ae..c61ee3705 100644 --- a/kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml +++ b/kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml @@ -99,11 +99,9 @@ taxonomy: explanation: Supports PP's intermediate-degradation and cross-feeding roles. ecological_interactions: - name: Hydrolyzer-oxidizer division of labor - description: > - PA hydrolyzes bifenthrin into bifenthrin alcohol and - trifluorochloro-chrysanthemic acid, while PP oxidizes bifenthrin alcohol and - thereby relieves inhibition of PA hydrolases. - interaction_type: NICHE_PARTITIONING + description: 'The source reports complementary hydrolysis and oxidation steps in the two-member consortium. PARTIAL: + removal of the intermediate is proposed to relieve hydrolase inhibition, but the accessible abstract does not + isolate that mediator or demonstrate ecological niche partitioning.' scope: COMMUNITY_LEVEL biological_processes: - preferred_term: xenobiotic metabolic process @@ -112,22 +110,35 @@ ecological_interactions: label: xenobiotic metabolic process downstream: - target: Accelerated Bifenthrin Removal - description: > - Division of labor between bifenthrin hydrolysis and bifenthrin-alcohol - oxidation increases bifenthrin removal by the PA+PP consortium. + description: 'The reported sequential transformations couple substrate breakdown to intermediate removal and + are offered as the explanation for faster consortium removal. PARTIAL: hydrolase-specific mediation is not + independently resolved by the accessible abstract.' evidence: - reference: PMID:42269294 supports: SUPPORT evidence_source: IN_VITRO - snippet: PA served as the hydrolyzer, cleaving the ester bond of bifenthrin to generate bifenthrin alcohol and trifluorochloro-chrysanthemic acid, while PP, as the oxidizer, efficiently degraded bifenthrin alcohol + snippet: PA served as the hydrolyzer, cleaving the ester bond of bifenthrin to generate bifenthrin alcohol and + trifluorochloro-chrysanthemic acid, while PP, as the oxidizer, efficiently degraded bifenthrin alcohol explanation: Supports the strain-specific hydrolysis and oxidation steps. - reference: PMID:42269294 supports: SUPPORT evidence_source: IN_VITRO snippet: relieving steric hindrance on PA hydrolases and establishing an essential cooperative degradation partnership - explanation: Supports the functional consequence of PP removing the inhibitory intermediate. + explanation: Supports the authors explanation for the benefit of intermediate removal, not independently verified + steric mediation. + participating_taxa: + - preferred_term: Pseudomonas aeruginosa PA + term: + id: NCBITaxon:287 + label: Pseudomonas aeruginosa + - preferred_term: Paracoccus pantotrophus PP + term: + id: NCBITaxon:82367 + label: Paracoccus pantotrophus - name: Bifenthrin-intermediate cross-feeding - description: PP consumes the bifenthrin-alcohol product generated by PA, coupling the two degradation steps. + description: 'The source reports directed coupling between production and downstream transformation of the bifenthrin-alcohol + intermediate. PARTIAL: this cross-feeding interpretation concerns sequential biotransformation; the abstract + does not establish recipient growth dependence or directly traced carbon assimilation.' interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -147,22 +158,21 @@ ecological_interactions: label: xenobiotic metabolic process downstream: - target: Accelerated Bifenthrin Removal - description: > - Consumption of the bifenthrin-alcohol intermediate couples the two - degradation steps and helps the consortium exceed monoculture removal - rates. + description: 'Reported downstream transformation of the intermediate couples the two degradation steps and contributes + to the consortium removal advantage. PARTIAL: the accessible abstract does not separate that contribution + from other concurrent processes.' evidence: - reference: PMID:42269294 supports: SUPPORT evidence_source: IN_VITRO - snippet: PA served as the hydrolyzer, cleaving the ester bond of bifenthrin to generate bifenthrin alcohol and trifluorochloro-chrysanthemic acid, while PP, as the oxidizer, efficiently degraded bifenthrin alcohol - explanation: Demonstrates sequential production and consumption of the bifenthrin-alcohol intermediate. + snippet: PA served as the hydrolyzer, cleaving the ester bond of bifenthrin to generate bifenthrin alcohol and + trifluorochloro-chrysanthemic acid, while PP, as the oxidizer, efficiently degraded bifenthrin alcohol + explanation: Supports reported sequential production and transformation, not direct carbon tracing or recipient + growth dependence. - name: Accelerated Bifenthrin Removal - description: > - The PA+PP consortium removes bifenthrin faster and more completely than - either monoculture, reaching high bifenthrin removal within seven days in - the optimized aqueous mineral-salts assay. - interaction_type: CROSS_FEEDING + description: The consortium showed a higher bifenthrin-removal rate and greater final removal than either monoculture + under the reported assay comparison. Preserve this measured advantage separately from the proposed transfer + mechanism; it does not itself demonstrate complete mineralization or reciprocal partner fitness. scope: COMMUNITY_LEVEL biological_processes: - preferred_term: xenobiotic metabolic process @@ -180,6 +190,15 @@ ecological_interactions: evidence_source: IN_VITRO snippet: resulting in 92.38% removal within 7 days explanation: Supports high bifenthrin removal in the optimized consortium assay. + participating_taxa: + - preferred_term: Pseudomonas aeruginosa PA + term: + id: NCBITaxon:287 + label: Pseudomonas aeruginosa + - preferred_term: Paracoccus pantotrophus PP + term: + id: NCBITaxon:82367 + label: Paracoccus pantotrophus environmental_factors: - name: PA extracellular polymeric substances value: promoted bifenthrin adsorption and electron transfer @@ -263,3 +282,37 @@ external_resources: explanation: Links the publication to the exact community and its biodegradation phenotype. metal_relevance: NOT_APPLICABLE metal_notes: No metal or rare-earth processing role is reported for this bifenthrin-bioremediation consortium. +discussions: +- discussion_id: bifenthrin-removal-versus-assimilation + prompt: What distinguishes intermediate transformation from assimilation and specific causal mediation? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: All three nodes and both existing directions are retained. The primary abstract supports sequential + transformations and the positive consortium comparison. It does not independently resolve recipient growth dependence, + carbon assimilation or the hydrolase-specific mediator; unavailable methods are not proof those tests were absent. + No new biological mechanisms, growth-optimization details or experimental designs were added. + attaches_to: + - ecological_interactions#Hydrolyzer-oxidizer division of labor + - ecological_interactions#Bifenthrin-intermediate cross-feeding + - ecological_interactions#Accelerated Bifenthrin Removal + evidence: + - reference: PMID:42269294 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: relieving steric hindrance on PA hydrolases and establishing an essential cooperative degradation partnership + explanation: Supports the authors explanation for the benefit of intermediate removal, not independently verified + steric mediation. + - reference: PMID:42269294 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: k3 = 0.26 d-1 > k1 = 0.15 d-1> k2 = 0.10 d-1 + explanation: Supports the PA+PP consortium degradation rate exceeding either monoculture. +curation_history: +- timestamp: '2026-10-07T12:23:49Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve complementary transformations and qualify hydrolase-specific mediation.; Preserve directed + intermediate coupling without asserting growth dependence or traced assimilation.; Preserve superior removal + without equating the endpoint with cross-feeding or fitness. Issue #1734; reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml' + llm_assisted: true diff --git a/kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml b/kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml index 70f8aeb23..5c6a10769 100644 --- a/kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml +++ b/kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml @@ -114,20 +114,10 @@ taxonomy: explanation: Supports the Pedobacter member in the exact-pair follow-up study. ecological_interactions: - name: Interspecies Social Spreading - description: Coculture of P. fluorescens Pf0-1 and Pedobacter sp. V48 reveals an emergent surface - spreading phenotype on hard agar where neither monoculture spreads under the same conditions. - interaction_type: COLONIZATION_FACILITATION - scope: PAIRWISE - source_taxon: - preferred_term: Pedobacter sp. V48 - term: - id: NCBITaxon:84567 - label: Pedobacter - target_taxon: - preferred_term: Pseudomonas fluorescens Pf0-1 - term: - id: NCBITaxon:294 - label: Pseudomonas fluorescens + description: The canonical two-species coculture spreads across hard agar under the tested conditions while neither + monoculture shows the same behavior. Preserve this emergent joint phenotype without assigning an untested one-way + inducer or a specific motility motor. + scope: COMMUNITY_LEVEL biological_processes: - preferred_term: locomotion term: @@ -139,30 +129,31 @@ ecological_interactions: label: biological process involved in interspecies interaction between organisms downstream: - target: Pseudomonas-Pedobacter Comigration - description: > - Emergent social spreading carries both species across the hard-agar - surface rather than releasing only one partner from the colony. + description: 'Emergent social spreading carries both species across the hard-agar surface rather than releasing + only one partner from the colony. + + ' evidence: - reference: PMID:30700513 supports: SUPPORT evidence_source: IN_VITRO - snippet: coculture reveals an emergent phenotype that we term “interspecies social spreading,” where the mixed colony spreads across the hard surface + snippet: coculture reveals an emergent phenotype that we term “interspecies social spreading,” where the mixed + colony spreads across the hard surface explanation: Supports the emergent coculture motility phenotype. -- name: Pseudomonas-Pedobacter Comigration - description: Both species remain present across the spreading colony, so the behavior is comigration - rather than one species escaping the other. - interaction_type: MUTUALISM - scope: PAIRWISE - source_taxon: - preferred_term: Pseudomonas fluorescens Pf0-1 + participating_taxa: + - preferred_term: Pseudomonas fluorescens Pf0-1 term: id: NCBITaxon:294 label: Pseudomonas fluorescens - target_taxon: - preferred_term: Pedobacter sp. V48 + - preferred_term: Pedobacter sp. V48 term: id: NCBITaxon:84567 label: Pedobacter +- name: Pseudomonas-Pedobacter Comigration + description: Culture recovery and fluorescent imaging detected both partners throughout the spreading colony, + with reproducible nonhomogeneous spatial distributions. This supports comigration rather than one partner escaping, + not proof of reciprocal fitness benefits or a feedback cause of initiation. + scope: COMMUNITY_LEVEL biological_processes: - preferred_term: locomotion term: @@ -172,11 +163,6 @@ ecological_interactions: term: id: GO:0044419 label: biological process involved in interspecies interaction between organisms - downstream: - - target: Interspecies Social Spreading - description: > - Close association or contact between Pf0-1 and V48 initiates the - two-species colony expansion phenotype on hard agar. evidence: - reference: PMID:30700513 supports: SUPPORT @@ -188,21 +174,20 @@ ecological_interactions: evidence_source: IN_VITRO snippet: we recovered both species from each point in the spreading colony explanation: Supports that both members occupy center, middle, and edge regions of the spreading colony. -- name: Contact-Dependent Initiation - description: In the canonical Pf0-1 plus V48 pair, initiation of social spreading requires physical - proximity or contact between the two species. - interaction_type: COLONIZATION_FACILITATION - scope: PAIRWISE - source_taxon: - preferred_term: Pedobacter sp. V48 - term: - id: NCBITaxon:84567 - label: Pedobacter - target_taxon: - preferred_term: Pseudomonas fluorescens Pf0-1 + participating_taxa: + - preferred_term: Pseudomonas fluorescens Pf0-1 term: id: NCBITaxon:294 label: Pseudomonas fluorescens + - preferred_term: Pedobacter sp. V48 + term: + id: NCBITaxon:84567 + label: Pedobacter +- name: Contact-Dependent Initiation + description: 'Close physical association was required for initiation in the canonical pair: spreading followed + colony contact, and semipermeable separation prevented it. PARTIAL: the molecular trigger and whether direct + cell-cell signaling or a localized environmental process mediates the requirement remain unresolved.' + scope: COMMUNITY_LEVEL biological_processes: - preferred_term: cell communication term: @@ -218,6 +203,26 @@ ecological_interactions: evidence_source: IN_VITRO snippet: initiation of social spreading requires close association between the two species of bacteria explanation: Supports the contact/proximity dependence of the canonical pair. + - reference: PMID:30700513 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: motility is precluded when a semipermeable membrane is placed between the two colonies + explanation: Supports the experimental association requirement without identifying a molecular contact sensor. + downstream: + - target: Interspecies Social Spreading + description: 'Close association or contact between Pf0-1 and V48 initiates the two-species colony expansion + phenotype on hard agar. + + ' + participating_taxa: + - preferred_term: Pseudomonas fluorescens Pf0-1 + term: + id: NCBITaxon:294 + label: Pseudomonas fluorescens + - preferred_term: Pedobacter sp. V48 + term: + id: NCBITaxon:84567 + label: Pedobacter cultivation_setup: - cultivation_mode: BATCH system_type: OTHER @@ -339,3 +344,38 @@ associated_datasets: snippet: We previously showed that cocultured Pseudomonas fluorescens Pf0-1 and Pedobacter sp. V48 engage in interspecies social spreading explanation: Lists a follow-up publication explicitly discussing the same exact two-member pair. metal_relevance: NOT_APPLICABLE +discussions: +- discussion_id: spreading-initiation-versus-comigration + prompt: How does the demonstrated association requirement produce the joint spreading phenotype? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: 'The existing contact-initiation arrow was attached to Comigration even though its text describes the + existing Contact-Dependent Initiation node. It was moved unchanged to that node, repairing the source endpoint + without inventing a new causal claim. All three observations and both arrows remain. The primary membrane, adjacent-colony, + conditioned-medium and heat-killed-cell results support an association requirement, not a resolved signal or + motor. The follow-up abstract reports different requirements for other isolate pairs; these do not override + the canonical pair. Non-graph temperature, timing and cross-feeder roles remain #1736.' + attaches_to: + - ecological_interactions#Interspecies Social Spreading + - ecological_interactions#Pseudomonas-Pedobacter Comigration + - ecological_interactions#Contact-Dependent Initiation + evidence: + - reference: PMID:30700513 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: motility is precluded when a semipermeable membrane is placed between the two colonies + explanation: Supports the experimental association requirement without identifying a molecular contact sensor. + - reference: PMID:34288708 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: While Pf0-1+V48 require low nutrient but high NaCl conditions + explanation: Supports the same environment dependence in the exact-pair follow-up study. +curation_history: +- timestamp: '2026-10-07T12:23:50Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve emergent spreading without a one-way inducer or resolved motor.; Preserve measured comigration + without mutual-fitness or initiation-feedback inference.; Repair the existing initiation arrow source and preserve + the tested association requirement. Issue #1735; reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml' + llm_assisted: true diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md index c715260f1..389550f78 100644 --- a/reports/causal_graph_review/README.md +++ b/reports/causal_graph_review/README.md @@ -5,6 +5,23 @@ source-based self-adversarial review. These records are not independent approval or proof that every graph is complete. The current inventory and summary distinguish `reviewed`, `pending` and `needs_research`. +## Batch89: Removal Assays And Social Spreading + +[Decisions](decisions/20261007-four-records-batch89.yaml), +[validation](validation-20261007-batch89.json) and +[self-adversarial review](adversarial-review-20261007-batch89.yaml) cover +ten nodes and six arrows, all retained. One existing contact-initiation arrow +is reattached to its intended existing source node, with target and wording +unchanged. Positive removal and joint-movement observations remain separate +from inferred mediation, assimilation, partitioning and reciprocal fitness. + +One fresh primary main text and four other abstracts were read. Source limits +and the nitrogen paper's measurement terminology ambiguity remain explicit. +All 921 caches, 456 other records and raw non-graph blocks are preserved. +Repairs #1732-#1735 await protected-main merge; metadata #1736 remains open. +No new biological causal claim, paid Edison job or experimental design was +added. Self-review is not independent approval or whole-corpus completion. + ## Batch88: Enrichments, B12, Aniline And Factorial Panel [Decisions](decisions/20261007-four-records-batch88.yaml), diff --git a/reports/causal_graph_review/adversarial-review-20261007-batch89.yaml b/reports/causal_graph_review/adversarial-review-20261007-batch89.yaml new file mode 100644 index 000000000..86a75acd3 --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261007-batch89.yaml @@ -0,0 +1,214 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 8c3f238066d60d5a17db06a91dbd34e3f039f183 +scope: +- kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml +- kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml +- kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml +- kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml +decision_ledger: reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml +validation_report: reports/causal_graph_review/validation-20261007-batch89.json +findings: +- issue: 1732 + severity: P2 + status: addressed_in_this_change + finding: Separate wax-removal performance from inferred cooperative mechanisms + disposition: Close only after protected-main merge. +- issue: 1733 + severity: P2 + status: addressed_in_this_change + finding: Bound Fe2+ nitrate-removal graph to treatment endpoints and abundance evidence + disposition: Close only after protected-main merge. +- issue: 1734 + severity: P2 + status: addressed_in_this_change + finding: Separate bifenthrin biotransformation from niche and fitness assertions + disposition: Close only after protected-main merge. +- issue: 1735 + severity: P2 + status: addressed_in_this_change + finding: Repair the source attachment of the social-spreading initiation arrow + disposition: Close only after protected-main merge. +- issue: 1736 + severity: P2 + status: unresolved_non_graph + finding: Reconcile social-spreading culture fields and unsupported cross-feeder roles + disposition: Keep OPEN after graph repairs. +adversarial_checks: +- Fresh both-root baseline preceded papers; all10originalnodes6arrows retained with dispositions. One existing source + endpoint corrected; its target and causal wording are unchanged. No new biological causal claim. +- Waxy-oil removal measurements and both existing directions survive. Proposed transfer and cooperation are PARTIAL; + multi-omics and docking do not establish mediator necessity or reciprocal fitness. Unavailable methods are not + evidence that perturbations were absent. +- Nitrogen preserves improved nitrate-N removal and reported abundance shifts. Metagenomic versus transcript wording + is unresolved, not silently converted into verified expression or flux. Nitrate disappearance does not certify + whole-system nitrogen loss or niche partitioning. +- Bifenthrin sequential transformations and positive consortium comparison remain. Intermediate coupling does not + establish traced assimilation, growth dependence or reciprocal fitness. Hydrolase-specific mediation stays qualified. +- Social spreading, comigration and association requirement remain distinct positive findings. The existing initiation + arrow text names contact, so its attachment changes from Comigration to the already-existing Contact-Dependent + Initiation node. This repairs a mechanical source mismatch rather than extending the graph with a new claim. +- Primary membrane and adjacent-colony experiments support the association requirement; conditioned-medium and heat-killed-cell + results do not identify a molecular trigger or motor. Follow-up differences among other isolate pairs do not override + the canonical pair. +- Explicit canonical participants replace unsupported one-way inducer and mutual-fitness typing in social nodes. + Non-graph temperature, timing and cross-feeder-role claims are preserved outside certification under1736. +- One fresh primary main text and four fresh abstracts read. Follow-up XML500 after bounded retries. No separate + supplements, raw data or original figure pixels audited. No new growth-optimization details, strain combinations, + genetic designs or experimental procedures added. +- All921caches456otherrecords and raw non-graph blocks preserved; four append-only histories and ten focused tests. + Four explicit-participant users added, measured census updated, all56oldwarnings retained, zero structural defects. + No taxonomy or auditor-rule change. +- Executed gates and deterministic HTML-description checks are not browser screenshots or generated-model loader + certification. Loader1703remains open. Repairs1732-1735await protected-main merge;1736remains open. No paid Edison + job or inferred authorization. Self-review is not independent approval or corpus completion. +verification: + combined_regressions: 806 passed in 278.00s (0:04:38) + new_regression_tests: 10 + primary_graph_snippet_proof: + graph_quotations: 18 + discussion_quotations: 8 + fresh_primary_matches: 26 + cached_only_matches: 0 + retained_nodes: 10 + removed_nodes: 0 + retained_arrows: 6 + removed_arrows: 0 + mechanical_source_endpoint_corrections: 1 + new_biological_causal_claims: 0 + primary_main_texts_read: 1 + other_primary_abstracts_read: 4 + cache_changes: 0 + references: Four full-record reference-validator runs passed. CLI Total checks counts issues, not executed checks. + Eighteen graph and eight discussion quotations match independent fresh-primary and cache text. Literal matching + is not entailment or full-text certification. + snippet_counts_by_record: + kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml: + MATCH: 16 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml: + MATCH: 15 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml: + MATCH: 19 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml: + MATCH: 21 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + full_corpus_snippet_audit: + caveat: Both-root recipe executed. Informational exit0 does not certify a clean corpus; four focused snippet + gates pass independently. + output: "# 8922 evidence snippets scanned across 460 files\n MATCH 8787\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" + network: + existing_findings_preserved: 56 + added_findings: {} + removed_findings: {} + interpretation: All56existing warnings preserved, zero structural defects. One mechanical edge-source correction, + no taxonomy or auditor-rule changes. + tested_file_sha256: + reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml: b51f0eba09e676c943911efa627077808bc2bbf7719b9319ab07883c3c1f71a4 + tests/test_causal_review_batch89.py: cfa6035ad3554716b7f1b58a5b6579cc2149bd526839d8e380b12a9e2f322af0 + tests/test_participating_taxa.py: ed8c915fb392c44732ea69347fc1fa80e31b1e38df51c4179c29c033f803b63d + kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml: 486ebf698059e286653f489e1db2b72ac917c61cfaf31bd9200e0ebb62ac7913 + kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml: 0e4ab9a02b384bc08912fba28e9873d6c98d408ebd7aa68187adbc423a7b4c38 + kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml: 84251088dd9fe5c30bdab428f7edf3bba20a00b5433b232ac867658eb189d9ce + kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml: 0b23d93e9c3dee9108cc63022eee2c241c9df15ea94840600a6d44d4a3f2f0f8 + reports/causal_graph_review/README.md: e0b8dd50fd4b76f7a1d2fd196d7f39c6d798a3f3611955d666bac77ed64e1ba2 + unchanged_records: 456 + unchanged_caches: 921 + cache_changes: [] + edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] + repair_scope: One misattached existing arrow moved unchanged to its existing intended source; no new biological + causal claim or extension. + post_commit_docs_current: Separate publication gate, not preasserted. +participant_census: + measurements: + baseline: + records: 460 + with_community_level: 395 + mixed: 126 + community_level_only: 269 + taxa: 1521 + credited_solely_by_the_rule: 1247 + current: + records: 460 + with_community_level: 396 + mixed: 126 + community_level_only: 270 + taxa: 1523 + credited_solely_by_the_rule: 1249 + delta: + records: 0 + with_community_level: 1 + mixed: 0 + community_level_only: 1 + taxa: 2 + credited_solely_by_the_rule: 2 + interpretation: Social-spreading record changes from pairwise-only to community-level-only with explicit canonical + participants; four records gain explicit lists. No canonical taxon or auditor-rule change. +corpus: + records: 460 + nodes: 1422 + edges: 584 + review_status_counts: + needs_research: 48 + pending: 136 + reviewed: 276 +limitations: +- Fresh both-root baseline before papers:460records921caches1422nodes584arrows56warnings0structural defects. All10originalnodes6arrows + retained; one existing arrow changes source endpoint with its target and causal wording unchanged. +- Fresh social-spreading primary abstract/main methods/results/discussion and embedded tables/captions read from + EuropePMC XML. Four other fresh abstracts read. Follow-up XML500 after bounded retries. No separate supplements, + raw data or original figure pixels audited. +- Waxy oil and bifenthrin retain positive treatment outcomes, proposed mechanisms and existing directions. Abstract-bounded + mediation is explicit; multi-omics/docking do not themselves establish necessity, traced assimilation or reciprocal + fitness. No new pathogenic-growth optimization or experimental designs were added. +- Nitrogen retains measured nitrate-N improvement and source-reported abundance shifts, without niche-partitioning + or verified flux claims. The source mixes metagenomic analysis and transcript-abundance language; this ambiguity + is recorded rather than silently resolved. Nitrate disappearance is not certified as whole-system nitrogen loss. +- Social spreading preserves joint movement, comigration and the experimentally supported association prerequisite. + The existing contact-initiation edge was attached to Comigration. Reattaching its unchanged wording and target + to the already-existing Contact-Dependent Initiation node repairs an endpoint, not a new biological mechanism + or graph-extension research task. No Edison spend was needed for this mechanical repair. +- Social nodes use explicit canonical community participants rather than an untested one-way inducer or mutual-fitness + classification. Other isolate-pair findings from the follow-up abstract do not override the canonical pair. The + molecular trigger and motor remain unresolved. +- 456otherrecords, all921caches and raw non-graph blocks preserved. Four explicit-participant users added; social + changes from pairwise-only to community-level-only. No taxonomy or auditor-rule changes. Non-graph social temperature/timing/cross-feeder + follow-up remains open. +- Dedup1001all-state issue titles/bodies and17ignored/hidden local matches; .git/docs/site/references_cache excluded, + relevant caches separately inspected.353was a numeric-ID false positive. Explicitly read529general cultivation-source + scope and878Klebsiella grounding. Comments and PRs not exhaustively searched. +- No new node or biological causal claim, Edison dry run or provider submission. Earlier pending and denied spend + scopes remain unchanged. Four repair issues close only after protected-main merge; the metadata follow-up remains + open. +- Validation, rendering, publication and exact-head review are subsequent gates, not preasserted. Self-adversarial + review is not independent approval, generated-model loader certification or corpus completion. Loader1703 remains + open. diff --git a/reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml b/reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml new file mode 100644 index 000000000..361b7f682 --- /dev/null +++ b/reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml @@ -0,0 +1,588 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +source_access: +- reference: PMID:41905048 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A41905048+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Primary abstract only; full text not available through Europe PMC. + fulltext_error: null +- reference: PMID:42520901 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A42520901+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Primary abstract only; full text not available through Europe PMC. + fulltext_error: null +- reference: PMID:42269294 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A42269294+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Primary abstract only; full text not available through Europe PMC. + fulltext_error: null +- reference: PMID:30700513 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC6354810/fullTextXML + accessed_scope: Primary abstract and complete main body, embedded tables and captions; not separate supplements, + raw data or original figure pixels. + fulltext_error: null +- reference: PMID:34288708 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A34288708+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Primary abstract only; full text not available through Europe PMC. + fulltext_error: Primary XML request returned HTTP500; no full text retrieved. +base_commit: 8c3f238066d60d5a17db06a91dbd34e3f039f183 +baseline_commit: 8c3f238066d60d5a17db06a91dbd34e3f039f183 +base_tree: 858317fa4a4fd442bd33cbe81483f1a0f30f9012 +pre_source_baseline_sha256: 5842ee85f7671f8cd0c54ede882d43b1089a70e3ad37c4a008ae1c3b81d5ea75 +issues: +- 1732 +- 1733 +- 1734 +- 1735 +unresolved_research_issues: [] +unresolved_non_graph_issues: +- 1736 +issue_deduplication: + all_state_issue_titles_and_bodies: 1001 + explicitly_read_issues: + - 529 + - 878 + ignored_hidden_local_search: true + matching_issues: + - 353 +primary_artifacts: + /private/tmp/communitymech-batch89/baseline.json: 5842ee85f7671f8cd0c54ede882d43b1089a70e3ad37c4a008ae1c3b81d5ea75 + /private/tmp/communitymech-batch89/bifenthrin-metadata.json: 66a36f77f1b2817f94186906372ea58958bd0b8ba7e846bcb7e8d77634e009b3 + /private/tmp/communitymech-batch89/bifenthrin-primary.txt: 8a0df0cd14945c3e80bfc9636ecd1cdc2ee07fa442c958c51b0100261ac1340b + /private/tmp/communitymech-batch89/created-issues.json: 2d28634a9e8b7aea062080e2eafd46b05ed49bc59b6a7c4a4f42a719e209534c + /private/tmp/communitymech-batch89/issue-matches-current.json: 85fe24c7c33945b237353f4f628e7c51185fbdc4e22423ddc23ace9fe7de517d + /private/tmp/communitymech-batch89/issue-matches.json: 85fe24c7c33945b237353f4f628e7c51185fbdc4e22423ddc23ace9fe7de517d + /private/tmp/communitymech-batch89/issues-current.json: b14416f4dc900e77aab6e2247d9176b2626544e7904b9ee3989d043319f21273 + /private/tmp/communitymech-batch89/issues.json: 85c889e47cde4792a5dbaf8d6aa226ae64f35fb6a14290c95b5a64c200465f21 + /private/tmp/communitymech-batch89/local-matches-current.txt: a775f875f09fda3e1d50273f884c3f407b9a96533008ea9163d30b7b3e241d4d + /private/tmp/communitymech-batch89/local-matches.txt: 7feac519bf4601533f2384ac737766782970eee3bb64529a7951d5c8a895427b + /private/tmp/communitymech-batch89/nitrogen-metadata.json: 8631c9cf15ed757db8251625a79215e16844ebd996b99371c37632b92d93e912 + /private/tmp/communitymech-batch89/nitrogen-primary.txt: caede6b7633caaef7bb7deba46489f18b1fdc5951476897240e554179d957dbe + /private/tmp/communitymech-batch89/primary-manifest.json: ff0700b9f21ad7e1968673b7b414a3ff47e96dfcc4335d16ef182c6d50c40b07 + /private/tmp/communitymech-batch89/prior-explicit-issues.json: 6964ed22c3416e87abbed0adfec1f5bfa39e89ddfa85247a0bc0f677f55d6984 + /private/tmp/communitymech-batch89/spreading-followup-metadata.json: 8b93b5fb295b6e2cc67bb82c88f39406524f68c277d3a8051de3914a5436c7e8 + /private/tmp/communitymech-batch89/spreading-followup-primary.txt: 24906381bfbb6b8382ceede82498709c112a51e56b96789aeb6c9b36192779e9 + /private/tmp/communitymech-batch89/spreading-metadata.json: a2417c925daaf8090d0fb9ee62ce9401352f768109877651db9de81e741e5808 + /private/tmp/communitymech-batch89/spreading-primary.txt: 227eb74e8c1495dd8ad39bf3d88015472b15d5b61933d54dfecb317d832d46c4 + /private/tmp/communitymech-batch89/spreading-primary.xml: fe836b50105c22b4b88858151077e0381f3f0a8742b83e13c144a7ef6f300e01 + /private/tmp/communitymech-batch89/spreading-tables.txt: 070400afbc932b46db9abe7bd325d0ab6f7bfb3a3a84ab0702d0a9fd951695a8 + /private/tmp/communitymech-batch89/waxy-metadata.json: 963f66275064175dd6ce47cd84d57db34547eec5d9405194bd201b1d5b844371 + /private/tmp/communitymech-batch89/waxy-primary.txt: c5a4f628275e9d0de8ab452ed2a0698510f59894207f3655325686d2bdd7de60 + references_cache/PMID_30700513.md: d09ffa247a6c7003d81e09c5e3c50fb4766c4b0026311cb3b70a357f254efe44 + references_cache/PMID_34288708.txt: 2eb9b1b2c2e7c5c1a86a32ed34d0f736a3beaa2bdb0ee9f9af898d8e112ba01c + references_cache/PMID_41905048.txt: 8430b68b46028811f82af596be52f1211949f8d3e08350532d58220af7ac7b2e + references_cache/PMID_42269294.txt: d647e01fa1c0c09804abd285929c72b63c283af06c66b946f6c2e886dacb8bdb + references_cache/PMID_42520901.txt: d5b4b1fe44232381e93d57ccf677c58cb6b95f46378acf7b4ed5e9fd284259cd +primary_graph_snippet_count: 18 +snippet_checks: +- record: Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium + node: Interfacial Remodeling and Precursor Cross-feeding + evidence_index: 0 + reference: PMID:41905048 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/waxy-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium + node: Multilayer Cooperative Hydrocarbon Degradation + evidence_index: 0 + reference: PMID:41905048 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/waxy-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium + node: Multilayer Cooperative Hydrocarbon Degradation + evidence_index: 1 + reference: PMID:41905048 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/waxy-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium + node: Multilayer Cooperative Hydrocarbon Degradation + evidence_index: 2 + reference: PMID:41905048 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/waxy-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium + node: High-Efficiency Waxy Oil Removal + evidence_index: 0 + reference: PMID:41905048 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/waxy-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom + node: Composite nitrogen-removal metabolic network + evidence_index: 0 + reference: PMID:42520901 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/nitrogen-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom + node: Composite nitrogen-removal metabolic network + evidence_index: 1 + reference: PMID:42520901 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/nitrogen-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom + node: Composite nitrogen-removal metabolic network + evidence_index: 2 + reference: PMID:42520901 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/nitrogen-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium + node: Hydrolyzer-oxidizer division of labor + evidence_index: 0 + reference: PMID:42269294 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/bifenthrin-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium + node: Hydrolyzer-oxidizer division of labor + evidence_index: 1 + reference: PMID:42269294 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/bifenthrin-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium + node: Bifenthrin-intermediate cross-feeding + evidence_index: 0 + reference: PMID:42269294 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/bifenthrin-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium + node: Accelerated Bifenthrin Removal + evidence_index: 0 + reference: PMID:42269294 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/bifenthrin-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium + node: Accelerated Bifenthrin Removal + evidence_index: 1 + reference: PMID:42269294 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/bifenthrin-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Pedobacter_Social_Spreading_Coculture + node: Interspecies Social Spreading + evidence_index: 0 + reference: PMID:30700513 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/spreading-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Pedobacter_Social_Spreading_Coculture + node: Pseudomonas-Pedobacter Comigration + evidence_index: 0 + reference: PMID:30700513 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/spreading-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Pedobacter_Social_Spreading_Coculture + node: Pseudomonas-Pedobacter Comigration + evidence_index: 1 + reference: PMID:30700513 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/spreading-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Pedobacter_Social_Spreading_Coculture + node: Contact-Dependent Initiation + evidence_index: 0 + reference: PMID:30700513 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/spreading-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Pedobacter_Social_Spreading_Coculture + node: Contact-Dependent Initiation + evidence_index: 1 + reference: PMID:30700513 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/spreading-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +discussion_snippet_checks: +- record: Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium + node: waxy-removal-versus-mechanistic-mediation + evidence_index: 0 + reference: PMID:41905048 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/waxy-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium + node: waxy-removal-versus-mechanistic-mediation + evidence_index: 1 + reference: PMID:41905048 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/waxy-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom + node: fe2-abundance-versus-nitrogen-flux + evidence_index: 0 + reference: PMID:42520901 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/nitrogen-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom + node: fe2-abundance-versus-nitrogen-flux + evidence_index: 1 + reference: PMID:42520901 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/nitrogen-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium + node: bifenthrin-removal-versus-assimilation + evidence_index: 0 + reference: PMID:42269294 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/bifenthrin-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium + node: bifenthrin-removal-versus-assimilation + evidence_index: 1 + reference: PMID:42269294 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/bifenthrin-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Pedobacter_Social_Spreading_Coculture + node: spreading-initiation-versus-comigration + evidence_index: 0 + reference: PMID:30700513 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/spreading-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Pedobacter_Social_Spreading_Coculture + node: spreading-initiation-versus-comigration + evidence_index: 1 + reference: PMID:34288708 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch89/spreading-followup-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +cache_changes: [] +edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] + repair_scope: One misattached existing arrow moved unchanged to its existing intended source; no new biological + causal claim or extension. +limitations: +- Fresh both-root baseline before papers:460records921caches1422nodes584arrows56warnings0structural defects. All10originalnodes6arrows + retained; one existing arrow changes source endpoint with its target and causal wording unchanged. +- Fresh social-spreading primary abstract/main methods/results/discussion and embedded tables/captions read from + EuropePMC XML. Four other fresh abstracts read. Follow-up XML500 after bounded retries. No separate supplements, + raw data or original figure pixels audited. +- Waxy oil and bifenthrin retain positive treatment outcomes, proposed mechanisms and existing directions. Abstract-bounded + mediation is explicit; multi-omics/docking do not themselves establish necessity, traced assimilation or reciprocal + fitness. No new pathogenic-growth optimization or experimental designs were added. +- Nitrogen retains measured nitrate-N improvement and source-reported abundance shifts, without niche-partitioning + or verified flux claims. The source mixes metagenomic analysis and transcript-abundance language; this ambiguity + is recorded rather than silently resolved. Nitrate disappearance is not certified as whole-system nitrogen loss. +- Social spreading preserves joint movement, comigration and the experimentally supported association prerequisite. + The existing contact-initiation edge was attached to Comigration. Reattaching its unchanged wording and target + to the already-existing Contact-Dependent Initiation node repairs an endpoint, not a new biological mechanism + or graph-extension research task. No Edison spend was needed for this mechanical repair. +- Social nodes use explicit canonical community participants rather than an untested one-way inducer or mutual-fitness + classification. Other isolate-pair findings from the follow-up abstract do not override the canonical pair. The + molecular trigger and motor remain unresolved. +- 456otherrecords, all921caches and raw non-graph blocks preserved. Four explicit-participant users added; social + changes from pairwise-only to community-level-only. No taxonomy or auditor-rule changes. Non-graph social temperature/timing/cross-feeder + follow-up remains open. +- Dedup1001all-state issue titles/bodies and17ignored/hidden local matches; .git/docs/site/references_cache excluded, + relevant caches separately inspected.353was a numeric-ID false positive. Explicitly read529general cultivation-source + scope and878Klebsiella grounding. Comments and PRs not exhaustively searched. +- No new node or biological causal claim, Edison dry run or provider submission. Earlier pending and denied spend + scopes remain unchanged. Four repair issues close only after protected-main merge; the metadata follow-up remains + open. +- Validation, rendering, publication and exact-head review are subsequent gates, not preasserted. Self-adversarial + review is not independent approval, generated-model loader certification or corpus completion. Loader1703 remains + open. +records: +- path: kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml + id: CommunityMech:000324 + original_sha256: df94e7e995841938132c248776904c40913407fd64c6ada8568637a89980da94 + record_sha256: 486ebf698059e286653f489e1db2b72ac917c61cfaf31bd9200e0ebb62ac7913 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Preserve reported interface and precursor facilitation with explicit evidence bounds.; Preserve the multilayer + model without asserting mediator necessity or mutual fitness.; Preserve measured wax removal without mineralization + or fitness inference. + renamed_nodes: {} + node_decisions: + - node: Interfacial Remodeling and Precursor Cross-feeding + original_node: Interfacial Remodeling and Precursor Cross-feeding + rationale: Preserve reported interface and precursor facilitation with explicit evidence bounds. + - node: Multilayer Cooperative Hydrocarbon Degradation + original_node: Multilayer Cooperative Hydrocarbon Degradation + rationale: Preserve the multilayer model without asserting mediator necessity or mutual fitness. + - node: High-Efficiency Waxy Oil Removal + original_node: High-Efficiency Waxy Oil Removal + rationale: Preserve measured wax removal without mineralization or fitness inference. + removed_node_decisions: [] + edges_before: + - source: Interfacial Remodeling and Precursor Cross-feeding + target: Multilayer Cooperative Hydrocarbon Degradation + description: 'Bacillus-mediated oil-water interface remodeling and precursor transfer form one layer of the + cooperative network that lets the two-member consortium outperform either monoculture. + + ' + - source: Multilayer Cooperative Hydrocarbon Degradation + target: High-Efficiency Waxy Oil Removal + description: 'Interface remodeling, precursor cross-feeding, signal exchange, and redox-energy homeostasis drive + high-efficiency wax removal by the two-member consortium. + + ' + edges_after: + - source: Interfacial Remodeling and Precursor Cross-feeding + target: Multilayer Cooperative Hydrocarbon Degradation + description: 'PARTIAL: interface remodeling and precursor transfer are proposed contributors to the reported + cooperative degradation model. The abstract supports this interpretation but does not establish their necessity + or relative contributions.' + - source: Multilayer Cooperative Hydrocarbon Degradation + target: High-Efficiency Waxy Oil Removal + description: 'PARTIAL: the proposed cooperative processes are offered as an explanation for the observed wax-removal + advantage. The abstract does not resolve which processes are necessary or sufficient for that endpoint.' + retained_edge_decisions: + - source: Interfacial Remodeling and Precursor Cross-feeding + target: Multilayer Cooperative Hydrocarbon Degradation + description: 'PARTIAL: interface remodeling and precursor transfer are proposed contributors to the reported + cooperative degradation model. The abstract supports this interpretation but does not establish their necessity + or relative contributions.' + rationale: Existing causal claim retained; any mechanical source-endpoint correction is separately recorded. + - source: Multilayer Cooperative Hydrocarbon Degradation + target: High-Efficiency Waxy Oil Removal + description: 'PARTIAL: the proposed cooperative processes are offered as an explanation for the observed wax-removal + advantage. The abstract does not resolve which processes are necessary or sufficient for that endpoint.' + rationale: Existing causal claim retained; any mechanical source-endpoint correction is separately recorded. + removed_edge_decisions: [] + mechanical_edge_source_corrections: [] + references: + - PMID:41905048 + issues: + - 1732 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium/2026-10-07T122350Z-codex-d38d08.yaml +- path: kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml + id: CommunityMech:000372 + original_sha256: e5f837ca242988b221aca45977dfb73c915b025de96adae3f7f86ea0b0ceea8c + record_sha256: 0e4ab9a02b384bc08912fba28e9873d6c98d408ebd7aa68187adbc423a7b4c38 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Preserve nitrate removal and reported abundance shifts without verified flux or niche partitioning. + renamed_nodes: {} + node_decisions: + - node: Composite nitrogen-removal metabolic network + original_node: Composite nitrogen-removal metabolic network + rationale: Preserve nitrate removal and reported abundance shifts without verified flux or niche partitioning. + removed_node_decisions: [] + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + mechanical_edge_source_corrections: [] + references: + - PMID:42520901 + issues: + - 1733 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom/2026-10-07T122350Z-codex-e1f96f.yaml +- path: kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml + id: CommunityMech:000331 + original_sha256: 14a965d6dd69ada1059993525f7676424a0dd9c0932fade77d496523c89f6b92 + record_sha256: 84251088dd9fe5c30bdab428f7edf3bba20a00b5433b232ac867658eb189d9ce + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Preserve complementary transformations and qualify hydrolase-specific mediation.; Preserve directed intermediate + coupling without asserting growth dependence or traced assimilation.; Preserve superior removal without equating + the endpoint with cross-feeding or fitness. + renamed_nodes: {} + node_decisions: + - node: Hydrolyzer-oxidizer division of labor + original_node: Hydrolyzer-oxidizer division of labor + rationale: Preserve complementary transformations and qualify hydrolase-specific mediation. + - node: Bifenthrin-intermediate cross-feeding + original_node: Bifenthrin-intermediate cross-feeding + rationale: Preserve directed intermediate coupling without asserting growth dependence or traced assimilation. + - node: Accelerated Bifenthrin Removal + original_node: Accelerated Bifenthrin Removal + rationale: Preserve superior removal without equating the endpoint with cross-feeding or fitness. + removed_node_decisions: [] + edges_before: + - source: Hydrolyzer-oxidizer division of labor + target: Accelerated Bifenthrin Removal + description: 'Division of labor between bifenthrin hydrolysis and bifenthrin-alcohol oxidation increases bifenthrin + removal by the PA+PP consortium. + + ' + - source: Bifenthrin-intermediate cross-feeding + target: Accelerated Bifenthrin Removal + description: 'Consumption of the bifenthrin-alcohol intermediate couples the two degradation steps and helps + the consortium exceed monoculture removal rates. + + ' + edges_after: + - source: Hydrolyzer-oxidizer division of labor + target: Accelerated Bifenthrin Removal + description: 'The reported sequential transformations couple substrate breakdown to intermediate removal and + are offered as the explanation for faster consortium removal. PARTIAL: hydrolase-specific mediation is not + independently resolved by the accessible abstract.' + - source: Bifenthrin-intermediate cross-feeding + target: Accelerated Bifenthrin Removal + description: 'Reported downstream transformation of the intermediate couples the two degradation steps and contributes + to the consortium removal advantage. PARTIAL: the accessible abstract does not separate that contribution + from other concurrent processes.' + retained_edge_decisions: + - source: Hydrolyzer-oxidizer division of labor + target: Accelerated Bifenthrin Removal + description: 'The reported sequential transformations couple substrate breakdown to intermediate removal and + are offered as the explanation for faster consortium removal. PARTIAL: hydrolase-specific mediation is not + independently resolved by the accessible abstract.' + rationale: Existing causal claim retained; any mechanical source-endpoint correction is separately recorded. + - source: Bifenthrin-intermediate cross-feeding + target: Accelerated Bifenthrin Removal + description: 'Reported downstream transformation of the intermediate couples the two degradation steps and contributes + to the consortium removal advantage. PARTIAL: the accessible abstract does not separate that contribution + from other concurrent processes.' + rationale: Existing causal claim retained; any mechanical source-endpoint correction is separately recorded. + removed_edge_decisions: [] + mechanical_edge_source_corrections: [] + references: + - PMID:42269294 + issues: + - 1734 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium/2026-10-07T122351Z-codex-836f1f.yaml +- path: kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml + id: CommunityMech:000161 + original_sha256: bad2781d232113a028bdebd772399ac0c121a730de096604d6b34b6a800adf66 + record_sha256: 0b23d93e9c3dee9108cc63022eee2c241c9df15ea94840600a6d44d4a3f2f0f8 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Preserve emergent spreading without a one-way inducer or resolved motor.; Preserve measured comigration + without mutual-fitness or initiation-feedback inference.; Repair the existing initiation arrow source and preserve + the tested association requirement. + renamed_nodes: {} + node_decisions: + - node: Interspecies Social Spreading + original_node: Interspecies Social Spreading + rationale: Preserve emergent spreading without a one-way inducer or resolved motor. + - node: Pseudomonas-Pedobacter Comigration + original_node: Pseudomonas-Pedobacter Comigration + rationale: Preserve measured comigration without mutual-fitness or initiation-feedback inference. + - node: Contact-Dependent Initiation + original_node: Contact-Dependent Initiation + rationale: Repair the existing initiation arrow source and preserve the tested association requirement. + removed_node_decisions: [] + edges_before: + - source: Interspecies Social Spreading + target: Pseudomonas-Pedobacter Comigration + description: 'Emergent social spreading carries both species across the hard-agar surface rather than releasing + only one partner from the colony. + + ' + - source: Pseudomonas-Pedobacter Comigration + target: Interspecies Social Spreading + description: 'Close association or contact between Pf0-1 and V48 initiates the two-species colony expansion + phenotype on hard agar. + + ' + edges_after: + - source: Interspecies Social Spreading + target: Pseudomonas-Pedobacter Comigration + description: 'Emergent social spreading carries both species across the hard-agar surface rather than releasing + only one partner from the colony. + + ' + - source: Contact-Dependent Initiation + target: Interspecies Social Spreading + description: 'Close association or contact between Pf0-1 and V48 initiates the two-species colony expansion + phenotype on hard agar. + + ' + retained_edge_decisions: + - source: Interspecies Social Spreading + target: Pseudomonas-Pedobacter Comigration + description: 'Emergent social spreading carries both species across the hard-agar surface rather than releasing + only one partner from the colony. + + ' + rationale: Existing causal claim retained; any mechanical source-endpoint correction is separately recorded. + - source: Contact-Dependent Initiation + target: Interspecies Social Spreading + description: 'Close association or contact between Pf0-1 and V48 initiates the two-species colony expansion + phenotype on hard agar. + + ' + rationale: Existing causal claim retained; any mechanical source-endpoint correction is separately recorded. + removed_edge_decisions: [] + mechanical_edge_source_corrections: + - original_source: Pseudomonas-Pedobacter Comigration + corrected_source: Contact-Dependent Initiation + target: Interspecies Social Spreading + description: 'Close association or contact between Pf0-1 and V48 initiates the two-species colony expansion + phenotype on hard agar. + + ' + rationale: Existing causal text names the contact-initiation condition. Reattach it to that existing node, with + unchanged target and wording; no new causal claim. Primary adjacent-colony and membrane experiments verify + the intended attachment. + references: + - PMID:30700513 + issues: + - 1735 + - 1736 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Pseudomonas_Pedobacter_Social_Spreading_Coculture/2026-10-07T122351Z-codex-12ff53.yaml diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index cea27dcd7..9cab4d3a1 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -320,10 +320,10 @@ kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml Co kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml CommunityMech:000381 2e1d674f45e85230bfdd1d05aeb6f6c6b0f58b44fb478515d13b3aa7535c1225 4 1 80.0 reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml reviewed kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml CommunityMech:000461 a7a32d2a84066629338c1735cea5104beac14a152498c123567349b8cbf7be34 1 0 50.0 reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml reviewed kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml CommunityMech:000399 5771a8a97beb8ccb19b6cccad32062d896b09747ce0670788686060481cf68b9 1 0 46.9 reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml reviewed -kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml CommunityMech:000324 df94e7e995841938132c248776904c40913407fd64c6ada8568637a89980da94 3 2 100.0 pending -kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml CommunityMech:000372 e5f837ca242988b221aca45977dfb73c915b025de96adae3f7f86ea0b0ceea8c 1 0 65.0 pending -kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml CommunityMech:000331 14a965d6dd69ada1059993525f7676424a0dd9c0932fade77d496523c89f6b92 3 2 100.0 pending -kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml CommunityMech:000161 bad2781d232113a028bdebd772399ac0c121a730de096604d6b34b6a800adf66 3 2 100.0 pending +kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml CommunityMech:000324 486ebf698059e286653f489e1db2b72ac917c61cfaf31bd9200e0ebb62ac7913 3 2 93.3 reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml reviewed +kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml CommunityMech:000372 0e4ab9a02b384bc08912fba28e9873d6c98d408ebd7aa68187adbc423a7b4c38 1 0 55.0 reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml reviewed +kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml CommunityMech:000331 84251088dd9fe5c30bdab428f7edf3bba20a00b5433b232ac867658eb189d9ce 3 2 93.3 reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml reviewed +kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml CommunityMech:000161 0b23d93e9c3dee9108cc63022eee2c241c9df15ea94840600a6d44d4a3f2f0f8 3 2 90.0 reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml reviewed kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml CommunityMech:000181 298c55daea0a8c85c2dc73a7193091872b724bd484201d4ca3ee382c861602e7 3 2 100.0 pending kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml CommunityMech:000289 f210209ef928cb79871d6e29901b721878edb7022d9d5c5597b7b9e48f763dd0 3 2 100.0 pending kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml CommunityMech:000291 ee4c4d20acf4e636663a9d6d0e69237986d15c41018d7992172f8488eab4c209 3 2 100.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index ebe74aa77..2cebcafc7 100644 --- a/reports/causal_graph_review/summary.json +++ b/reports/causal_graph_review/summary.json @@ -8,8 +8,8 @@ "records_without_edges": 173, "review_status_counts": { "needs_research": 48, - "pending": 140, - "reviewed": 272 + "pending": 136, + "reviewed": 276 }, "structural_defects": [], "network_audit": [ diff --git a/reports/causal_graph_review/validation-20261007-batch89.json b/reports/causal_graph_review/validation-20261007-batch89.json new file mode 100644 index 000000000..9a3942a31 --- /dev/null +++ b/reports/causal_graph_review/validation-20261007-batch89.json @@ -0,0 +1,1066 @@ +{ + "base_commit": "8c3f238066d60d5a17db06a91dbd34e3f039f183", + "scope": [ + "kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml", + "kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml", + "kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml", + "kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml" + ], + "reference_validator_version": "0.1.7", + "results": [ + { + "check": "Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch89/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-strict.tsv", + "kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-strict.log", + "log_sha256": "99ea3f0abcb3d47e1de253b3505ce4fb224beb255f37ef6b8fed53b64f974951", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch89/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-batch89/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-strict.tsv\n" + }, + { + "check": "Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-references.log", + "log_sha256": "ffc2c112ae079396506394b64acfc062c77251ad8f1bc60612cf4054ec666c94", + "output_tail": "Validating kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_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/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_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": "Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-snippets.log", + "log_sha256": "f77044cea09a90a006f3fc48666f62a208521829981c6819a3a36631506c4ec1", + "output_tail": "# 16 evidence snippets scanned across 1 files\n MATCH 16\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": "Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-rank.log", + "log_sha256": "beac7b17711a3aebd594dd290ebd1b3b094c4fe80a2a76aebaa409babdc6289c", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000324\",\n \"name\": \"Pseudomonas-Bacillus Waxy Oil Biodegradation Consortium\",\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\": 5,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml\"\n }\n]\n" + }, + { + "check": "Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_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/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium/2026-10-07T122350Z-codex-d38d08.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch89/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-strict.tsv", + "kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-strict.log", + "log_sha256": "af2fa1aff76f3faa49556491f036e7887bab019deeef4d0fe5d5fcf7aa00ab19", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch89/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-batch89/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-strict.tsv\n" + }, + { + "check": "Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-references.log", + "log_sha256": "be72e4a561a021667b1f96fc9fcea6c2efdfa828a609d42e33179266e20c6b60", + "output_tail": "Validating kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_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/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_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": "Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-snippets.log", + "log_sha256": "826e9c1ef5038bfe5995c8f56b27f9f6d8418cb9a40f124b1547f2d75876c305", + "output_tail": "# 15 evidence snippets scanned across 1 files\n MATCH 15\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": "Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-rank.log", + "log_sha256": "ced6d81f850322dd0230c36d4a08e216a45f2edc1f693d8be8a83cbdcc1f059c", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000372\",\n \"name\": \"Pseudomonas-Klebsiella-Alcaligenes Fe2+ Nitrogen-Removal SynCom\",\n \"score\": 55.0,\n \"taxonomy\": 3,\n \"connected_taxa\": 3,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 1,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_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/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom/2026-10-07T122350Z-codex-e1f96f.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch89/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-strict.tsv", + "kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-strict.log", + "log_sha256": "38f42620faaff3e23f181e28264f8ad0e7083845e2c92528ed4815ade8f8da85", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch89/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-batch89/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-strict.tsv\n" + }, + { + "check": "Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-references.log", + "log_sha256": "ddb1ba197f5c12cb8bc59e0101621887dd4a38cb493ae4472ca401c93f66b25e", + "output_tail": "Validating kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_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/Pseudomonas_Paracoccus_Bifenthrin_Degradation_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": "Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-snippets.log", + "log_sha256": "8084678f5cf248d78dd90bd74538a6320ef0dcc9940ae3e5b5f759e13588ade6", + "output_tail": "# 19 evidence snippets scanned across 1 files\n MATCH 19\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": "Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-rank.log", + "log_sha256": "a855dfcaca07e9b5c8a747e256f3fb9296d57fe00b617d61f0897526b4d71229", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000331\",\n \"name\": \"Pseudomonas-Paracoccus Bifenthrin-Degrading Consortium\",\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\": 5,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml\"\n }\n]\n" + }, + { + "check": "Pseudomonas_Paracoccus_Bifenthrin_Degradation_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/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium/2026-10-07T122351Z-codex-836f1f.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Pedobacter_Social_Spreading_Coculture-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Pedobacter_Social_Spreading_Coculture-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Pedobacter_Social_Spreading_Coculture-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch89/Pseudomonas_Pedobacter_Social_Spreading_Coculture-strict.tsv", + "kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Pedobacter_Social_Spreading_Coculture-strict.log", + "log_sha256": "c29f86d43fd3d3ae44e99c630c8e92781084eb1292d862079919c05787e333b0", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch89/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-batch89/Pseudomonas_Pedobacter_Social_Spreading_Coculture-strict.tsv\n" + }, + { + "check": "Pseudomonas_Pedobacter_Social_Spreading_Coculture-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Pedobacter_Social_Spreading_Coculture-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Pseudomonas_Pedobacter_Social_Spreading_Coculture-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Pedobacter_Social_Spreading_Coculture-references.log", + "log_sha256": "f850e65d8f0867a334164ce94d29d173a672842fb51d807a054833ba0c6a159e", + "output_tail": "Validating kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.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/Pseudomonas_Pedobacter_Social_Spreading_Coculture.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": "Pseudomonas_Pedobacter_Social_Spreading_Coculture-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Pedobacter_Social_Spreading_Coculture-snippets.log", + "log_sha256": "cbb2cdedf7d2ed5756aac506b60071c409906c876d5eb3586f860c596629a58e", + "output_tail": "# 21 evidence snippets scanned across 1 files\n MATCH 21\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": "Pseudomonas_Pedobacter_Social_Spreading_Coculture-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Pedobacter_Social_Spreading_Coculture-rank.log", + "log_sha256": "1ecc6d61f9db487dbe8dd0021ee7a7a59d942c999154926f22811b066413674d", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000161\",\n \"name\": \"Pseudomonas-Pedobacter Social Spreading Coculture\",\n \"score\": 90.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 5,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml\"\n }\n]\n" + }, + { + "check": "Pseudomonas_Pedobacter_Social_Spreading_Coculture-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Pseudomonas_Pedobacter_Social_Spreading_Coculture/2026-10-07T122351Z-codex-12ff53.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/Pseudomonas_Pedobacter_Social_Spreading_Coculture-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-batch89/inventory.log", + "log_sha256": "ff689278246fb3f39e38ac6378aa6eab98a5ea76b679f5b667f70da870a1b466", + "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\": 1422,\n \"edges\": 584,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 173,\n \"review_status_counts\": {\n \"needs_research\": 48,\n \"pending\": 136,\n \"reviewed\": 276\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-batch89/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-batch89/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-batch89/rank-all.log", + "log_sha256": "ee8d3999d942c7888b056d36f54e71e9ef67f36c7ecf03a1d1e5cd91650e7d96", + "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-batch89/render.log", + "log_sha256": "a23354b62627d99b0fb8e664e3239bcec09837c9869c85137b18941965e27d10", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch89/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch89/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch89/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-batch89/render-repeat.log", + "log_sha256": "a23354b62627d99b0fb8e664e3239bcec09837c9869c85137b18941965e27d10", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch89/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch89/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch89/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch89/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-batch88')),('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-batch89/connectivity-survey.log", + "log_sha256": "09e1820b29ab292a310ea9cb071476b20b6d590be51189c50fd1a43700b0ebc9", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 395, \"mixed\": 126, \"community_level_only\": 269, \"taxa\": 1521, \"credited_solely_by_the_rule\": 1247}, \"current\": {\"records\": 460, \"with_community_level\": 396, \"mixed\": 126, \"community_level_only\": 270, \"taxa\": 1523, \"credited_solely_by_the_rule\": 1249}}\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_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-batch89/regressions.log", + "log_sha256": "207519045d05082defebb6ec4ca7d06c36ea1e1b2a59e27a0e6863d43674a419", + "output_tail": "........................................................................ [ 8%]\n........................................................................ [ 17%]\n........................................................................ [ 26%]\n........................................................................ [ 35%]\n........................................................................ [ 44%]\n........................................................................ [ 53%]\n........................................................................ [ 62%]\n........................................................................ [ 71%]\n........................................................................ [ 80%]\n........................................................................ [ 89%]\n........................................................................ [ 98%]\n.............. [100%]\n806 passed in 278.00s (0:04:38)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch89.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/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_batch89.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/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-batch89/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + }, + { + "check": "primary-graph-proof", + "command": [ + "in-process normalized per-evidence source checks in finalize.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/primary-graph-proof.log", + "log_sha256": "471985f4fc6d33947443aed7314e602502fe7c2affb5e84855cda64c640b3d5a", + "output_tail": "{\n \"graph_quotations\": 18,\n \"discussion_quotations\": 8,\n \"fresh_primary_matches\": 26,\n \"cached_only_matches\": 0,\n \"retained_nodes\": 10,\n \"removed_nodes\": 0,\n \"retained_arrows\": 6,\n \"removed_arrows\": 0,\n \"mechanical_source_endpoint_corrections\": 1,\n \"new_biological_causal_claims\": 0,\n \"primary_main_texts_read\": 1,\n \"other_primary_abstracts_read\": 4,\n \"cache_changes\": 0\n}\n" + }, + { + "check": "focused-final", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch89.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/focused-final.log", + "log_sha256": "057c91f8cdfa2a9e76c34c71274152126b207b81aad0b180978d8477de3b3096", + "output_tail": ".......... [100%]\n10 passed in 1.71s\n" + }, + { + "check": "audit-snippets-all", + "command": [ + "just", + "audit-snippets" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch89/audit-snippets-all.log", + "log_sha256": "8bd2883a550722c4da25385f803a33f20cd401af61a4b7aeaabfc4c6b1d5cbad", + "output_tail": "# 8922 evidence snippets scanned across 460 files\n MATCH 8787\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": [ + "Fresh both-root baseline before papers:460records921caches1422nodes584arrows56warnings0structural defects. All10originalnodes6arrows retained; one existing arrow changes source endpoint with its target and causal wording unchanged.", + "Fresh social-spreading primary abstract/main methods/results/discussion and embedded tables/captions read from EuropePMC XML. Four other fresh abstracts read. Follow-up XML500 after bounded retries. No separate supplements, raw data or original figure pixels audited.", + "Waxy oil and bifenthrin retain positive treatment outcomes, proposed mechanisms and existing directions. Abstract-bounded mediation is explicit; multi-omics/docking do not themselves establish necessity, traced assimilation or reciprocal fitness. No new pathogenic-growth optimization or experimental designs were added.", + "Nitrogen retains measured nitrate-N improvement and source-reported abundance shifts, without niche-partitioning or verified flux claims. The source mixes metagenomic analysis and transcript-abundance language; this ambiguity is recorded rather than silently resolved. Nitrate disappearance is not certified as whole-system nitrogen loss.", + "Social spreading preserves joint movement, comigration and the experimentally supported association prerequisite. The existing contact-initiation edge was attached to Comigration. Reattaching its unchanged wording and target to the already-existing Contact-Dependent Initiation node repairs an endpoint, not a new biological mechanism or graph-extension research task. No Edison spend was needed for this mechanical repair.", + "Social nodes use explicit canonical community participants rather than an untested one-way inducer or mutual-fitness classification. Other isolate-pair findings from the follow-up abstract do not override the canonical pair. The molecular trigger and motor remain unresolved.", + "456otherrecords, all921caches and raw non-graph blocks preserved. Four explicit-participant users added; social changes from pairwise-only to community-level-only. No taxonomy or auditor-rule changes. Non-graph social temperature/timing/cross-feeder follow-up remains open.", + "Dedup1001all-state issue titles/bodies and17ignored/hidden local matches; .git/docs/site/references_cache excluded, relevant caches separately inspected.353was a numeric-ID false positive. Explicitly read529general cultivation-source scope and878Klebsiella grounding. Comments and PRs not exhaustively searched.", + "No new node or biological causal claim, Edison dry run or provider submission. Earlier pending and denied spend scopes remain unchanged. Four repair issues close only after protected-main merge; the metadata follow-up remains open.", + "Validation, rendering, publication and exact-head review are subsequent gates, not preasserted. Self-adversarial review is not independent approval, generated-model loader certification or corpus completion. Loader1703 remains open.", + "Exact HTML-description parser and repeat-render checks, not browser screenshots. Post-commit docs-current is separate." + ], + "snippet_counts_by_record": { + "kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml": { + "MATCH": 16, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml": { + "MATCH": 15, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml": { + "MATCH": 19, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml": { + "MATCH": 21, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "unchanged_raw_blocks": 60, + "unchanged_record_files": 456, + "unchanged_cache_files": 921, + "cache_changes": [], + "edison": { + "required_for_this_repair": false, + "required_for_unresolved_extensions": false, + "provider_submissions": 0, + "credits_spent": 0, + "dry_runs": [], + "repair_scope": "One misattached existing arrow moved unchanged to its existing intended source; no new biological causal claim or extension." + }, + "primary_artifacts": { + "/private/tmp/communitymech-batch89/baseline.json": "5842ee85f7671f8cd0c54ede882d43b1089a70e3ad37c4a008ae1c3b81d5ea75", + "/private/tmp/communitymech-batch89/bifenthrin-metadata.json": "66a36f77f1b2817f94186906372ea58958bd0b8ba7e846bcb7e8d77634e009b3", + "/private/tmp/communitymech-batch89/bifenthrin-primary.txt": "8a0df0cd14945c3e80bfc9636ecd1cdc2ee07fa442c958c51b0100261ac1340b", + "/private/tmp/communitymech-batch89/created-issues.json": "2d28634a9e8b7aea062080e2eafd46b05ed49bc59b6a7c4a4f42a719e209534c", + "/private/tmp/communitymech-batch89/issue-matches-current.json": "85fe24c7c33945b237353f4f628e7c51185fbdc4e22423ddc23ace9fe7de517d", + "/private/tmp/communitymech-batch89/issue-matches.json": "85fe24c7c33945b237353f4f628e7c51185fbdc4e22423ddc23ace9fe7de517d", + "/private/tmp/communitymech-batch89/issues-current.json": "b14416f4dc900e77aab6e2247d9176b2626544e7904b9ee3989d043319f21273", + "/private/tmp/communitymech-batch89/issues.json": "85c889e47cde4792a5dbaf8d6aa226ae64f35fb6a14290c95b5a64c200465f21", + "/private/tmp/communitymech-batch89/local-matches-current.txt": "a775f875f09fda3e1d50273f884c3f407b9a96533008ea9163d30b7b3e241d4d", + "/private/tmp/communitymech-batch89/local-matches.txt": "7feac519bf4601533f2384ac737766782970eee3bb64529a7951d5c8a895427b", + "/private/tmp/communitymech-batch89/nitrogen-metadata.json": "8631c9cf15ed757db8251625a79215e16844ebd996b99371c37632b92d93e912", + "/private/tmp/communitymech-batch89/nitrogen-primary.txt": "caede6b7633caaef7bb7deba46489f18b1fdc5951476897240e554179d957dbe", + "/private/tmp/communitymech-batch89/primary-manifest.json": "ff0700b9f21ad7e1968673b7b414a3ff47e96dfcc4335d16ef182c6d50c40b07", + "/private/tmp/communitymech-batch89/prior-explicit-issues.json": "6964ed22c3416e87abbed0adfec1f5bfa39e89ddfa85247a0bc0f677f55d6984", + "/private/tmp/communitymech-batch89/spreading-followup-metadata.json": "8b93b5fb295b6e2cc67bb82c88f39406524f68c277d3a8051de3914a5436c7e8", + "/private/tmp/communitymech-batch89/spreading-followup-primary.txt": "24906381bfbb6b8382ceede82498709c112a51e56b96789aeb6c9b36192779e9", + "/private/tmp/communitymech-batch89/spreading-metadata.json": "a2417c925daaf8090d0fb9ee62ce9401352f768109877651db9de81e741e5808", + "/private/tmp/communitymech-batch89/spreading-primary.txt": "227eb74e8c1495dd8ad39bf3d88015472b15d5b61933d54dfecb317d832d46c4", + "/private/tmp/communitymech-batch89/spreading-primary.xml": "fe836b50105c22b4b88858151077e0381f3f0a8742b83e13c144a7ef6f300e01", + "/private/tmp/communitymech-batch89/spreading-tables.txt": "070400afbc932b46db9abe7bd325d0ab6f7bfb3a3a84ab0702d0a9fd951695a8", + "/private/tmp/communitymech-batch89/waxy-metadata.json": "963f66275064175dd6ce47cd84d57db34547eec5d9405194bd201b1d5b844371", + "/private/tmp/communitymech-batch89/waxy-primary.txt": "c5a4f628275e9d0de8ab452ed2a0698510f59894207f3655325686d2bdd7de60", + "references_cache/PMID_30700513.md": "d09ffa247a6c7003d81e09c5e3c50fb4766c4b0026311cb3b70a357f254efe44", + "references_cache/PMID_34288708.txt": "2eb9b1b2c2e7c5c1a86a32ed34d0f736a3beaa2bdb0ee9f9af898d8e112ba01c", + "references_cache/PMID_41905048.txt": "8430b68b46028811f82af596be52f1211949f8d3e08350532d58220af7ac7b2e", + "references_cache/PMID_42269294.txt": "d647e01fa1c0c09804abd285929c72b63c283af06c66b946f6c2e886dacb8bdb", + "references_cache/PMID_42520901.txt": "d5b4b1fe44232381e93d57ccf677c58cb6b95f46378acf7b4ed5e9fd284259cd" + }, + "network_delta": { + "existing_findings_preserved": 56, + "added_findings": {}, + "removed_findings": {}, + "interpretation": "All56existing warnings preserved, zero structural defects. One mechanical edge-source correction, no taxonomy or auditor-rule changes." + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1408, + "arrows": 576 + }, + "participant_census": { + "measurements": { + "baseline": { + "records": 460, + "with_community_level": 395, + "mixed": 126, + "community_level_only": 269, + "taxa": 1521, + "credited_solely_by_the_rule": 1247 + }, + "current": { + "records": 460, + "with_community_level": 396, + "mixed": 126, + "community_level_only": 270, + "taxa": 1523, + "credited_solely_by_the_rule": 1249 + } + }, + "delta": { + "records": 0, + "with_community_level": 1, + "mixed": 0, + "community_level_only": 1, + "taxa": 2, + "credited_solely_by_the_rule": 2 + }, + "interpretation": "Social-spreading record changes from pairwise-only to community-level-only with explicit canonical participants; four records gain explicit lists. No canonical taxon or auditor-rule change." + }, + "network_warning_count": 56, + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1422, + "edges": 584, + "records_without_nodes": 8, + "records_without_edges": 173, + "review_status_counts": { + "needs_research": 48, + "pending": 136, + "reviewed": 276 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml": "b51f0eba09e676c943911efa627077808bc2bbf7719b9319ab07883c3c1f71a4", + "tests/test_causal_review_batch89.py": "cfa6035ad3554716b7f1b58a5b6579cc2149bd526839d8e380b12a9e2f322af0", + "tests/test_participating_taxa.py": "ed8c915fb392c44732ea69347fc1fa80e31b1e38df51c4179c29c033f803b63d", + "kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml": "486ebf698059e286653f489e1db2b72ac917c61cfaf31bd9200e0ebb62ac7913", + "kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml": "0e4ab9a02b384bc08912fba28e9873d6c98d408ebd7aa68187adbc423a7b4c38", + "kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml": "84251088dd9fe5c30bdab428f7edf3bba20a00b5433b232ac867658eb189d9ce", + "kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml": "0b23d93e9c3dee9108cc63022eee2c241c9df15ea94840600a6d44d4a3f2f0f8", + "reports/causal_graph_review/README.md": "e0b8dd50fd4b76f7a1d2fd196d7f39c6d798a3f3611955d666bac77ed64e1ba2" + }, + "status": "verified_assay_boundary_graph_review", + "full_corpus_snippet_counts": { + "records": 460, + "total": 8922, + "categories": { + "MATCH": 8787, + "RENDERING": 20, + "ASSEMBLED": 1, + "WEAK": 0, + "MISMATCH": 38, + "NOCONTENT": 76 + } + }, + "full_corpus_snippet_audit_caveat": "Both-root recipe executed. Informational exit0 does not certify a clean corpus; four focused snippet gates pass independently.", + "pre_research_baseline": { + "base_commit": "8c3f238066d60d5a17db06a91dbd34e3f039f183", + "base_tree": "858317fa4a4fd442bd33cbe81483f1a0f30f9012", + "research_worktree": "/private/tmp/communitymech-causal-batch88", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch89/baseline-rank.log", + "sha256": "8f67339c3e19c0351db384ce3bba83d088221a77f15c10e271155f7db6e230fb", + "output_tail": "/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" + }, + { + "name": "just-network", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_code": 2, + "log": "/private/tmp/communitymech-batch89/baseline-just-network.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" + }, + { + "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-batch89/baseline-network.log", + "sha256": "8febc2a966f5c2b51cd59095a8877c8773cd1e9383e5214bcdc3832c5858c097", + "output_tail": " \"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" + }, + { + "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-batch89/baseline-downstream.log", + "sha256": "7e5e40ee258b199e7b16e72134b70d446c530343f05845c8cc035ef1824de13a", + "output_tail": "ember_Proteome_Complementarity_Consortium.yaml:153: downstream:\nkb/communities/Human_Gut_FourMember_Proteome_Complementarity_Consortium.yaml:218: downstream:\nkb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml:121: downstream:\nkb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml:149: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:268: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:317: downstream:\nkb/communities/Aerobic_Denitrification_QQ_SynCom.yaml:116: downstream:\nkb/communities/Aerobic_Denitrification_QQ_SynCom.yaml:151: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:120: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:152: downstream:\nkb/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml:159: downstream:\nkb/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml:236: downstream:\nkb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml:156: downstream:\nkb/communities/AMD_Acidophile_Heterotroph_Network.yaml:364: downstream:\nkb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml:366: downstream:\nkb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml:406: downstream:\nkb/communities/Alaska_Tundra_Permafrost_Iron_Redox_Community.yaml:156: downstream:\nkb/communities/Alaska_Tundra_Permafrost_Iron_Redox_Community.yaml:230: downstream:\nkb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml:167: downstream:\nkb/communities/Methylomicrobium_Chlorella_Methane_Sequestration_Coculture.yaml:161: downstream:\nkb/communities/Methylomicrobium_Chlorella_Methane_Sequestration_Coculture.yaml:238: downstream:\nkb/communities/Phormidium_Alkaline_Consortium.yaml:238: downstream:\nkb/communities/Chlorochromatium_Aggregatum_Phototrophic_Consortium.yaml:109: downstream:\nkb/communities/Chlorochromatium_Aggregatum_Phototrophic_Consortium.yaml:145: downstream:\n" + } + ], + "baseline_sha256": "5842ee85f7671f8cd0c54ede882d43b1089a70e3ad37c4a008ae1c3b81d5ea75" + }, + "reference_validator_caveat": "Four full-record reference-validator runs passed. CLI Total checks counts issues, not executed checks. Eighteen graph and eight discussion quotations match independent fresh-primary and cache text. Literal matching is not entailment or full-text certification." +} diff --git a/tests/test_causal_review_batch89.py b/tests/test_causal_review_batch89.py new file mode 100644 index 000000000..e8e3025be --- /dev/null +++ b/tests/test_causal_review_batch89.py @@ -0,0 +1,139 @@ +"""Preserve observations while bounding mediation and repairing an arrow source.""" + +import hashlib +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml" + + +def records(): + ledger = yaml.safe_load(LEDGER.read_text()) + rows = ledger["records"] + return ledger, rows, [yaml.safe_load((ROOT / row["path"]).read_text()) for row in rows] + + +def test_waxy_removal_and_partial_mechanisms_survive(): + _, rows, docs = records() + interface, model, removal = docs[0]["ecological_interactions"] + assert len(rows[0]["edges_after"]) == 2 + assert interface["interaction_type"] == "CROSS_FEEDING" + assert interface["description"].startswith("PARTIAL:") + assert model["description"].startswith("PARTIAL:") + assert "85.5%" in removal["description"] + assert all("interaction_type" not in n for n in [model, removal]) + + +def test_docking_is_not_independent_functional_validation(): + _, _, docs = records() + evidence = docs[0]["discussions"][-1]["evidence"][-1] + assert evidence["evidence_source"] == "COMPUTATIONAL" + assert "not independent biological validation" in evidence["explanation"] + assert "not evidence that perturbations were absent" in docs[0]["discussions"][-1]["rationale"] + + +def test_nitrate_response_is_not_partitioning_or_verified_flux(): + _, _, docs = records() + (node,) = docs[1]["ecological_interactions"] + assert "interaction_type" not in node and "downstream" not in node + assert len(node["evidence"]) == len(node["participating_taxa"]) == 3 + assert "measurement type unresolved" in node["description"] + assert "not verified transcription" in node["evidence"][1]["explanation"] + assert ( + "does not establish whole-system nitrogen loss" in docs[1]["discussions"][-1]["rationale"] + ) + + +def test_bifenthrin_transformations_are_not_assimilation_or_fitness(): + _, rows, docs = records() + division, transfer, removal = docs[2]["ecological_interactions"] + assert len(rows[2]["edges_after"]) == 2 + assert transfer["interaction_type"] == "CROSS_FEEDING" + assert "directly traced carbon assimilation" in transfer["description"] + assert "not isolate that mediator" in division["description"] + assert "complete mineralization or reciprocal partner fitness" in removal["description"] + assert all("interaction_type" not in n for n in [division, removal]) + + +def test_contact_arrow_is_reattached_without_inventing_a_claim(): + _, rows, docs = records() + spread, comigration, contact = docs[3]["ecological_interactions"] + assert "downstream" not in comigration + assert spread["downstream"][0]["target"] == comigration["name"] + assert contact["downstream"][0]["target"] == spread["name"] + (correction,) = rows[3]["mechanical_edge_source_corrections"] + old = next(e for e in rows[3]["edges_before"] if e["source"] == comigration["name"]) + new = contact["downstream"][0] + assert old["target"] == new["target"] + assert old["description"] == new["description"] == correction["description"] + assert correction["original_source"] == comigration["name"] + assert correction["corrected_source"] == contact["name"] + + +def test_social_joint_phenotype_does_not_assign_an_inducer_or_mutualism(): + _, _, docs = records() + nodes = docs[3]["ecological_interactions"] + assert all(n["scope"] == "COMMUNITY_LEVEL" for n in nodes) + assert all( + "interaction_type" not in n and "source_taxon" not in n and "target_taxon" not in n + for n in nodes + ) + canonical = [t["taxon_term"] for t in docs[3]["taxonomy"]] + for node in nodes: + assert node["participating_taxa"] == [ + {k: t[k] for k in ["preferred_term", "term"]} for t in canonical + ] + assert "semipermeable separation prevented it" in nodes[2]["description"] + assert "#1736" in docs[3]["discussions"][-1]["rationale"] + + +def test_all_original_nodes_edges_and_graph_anchors_have_dispositions(): + _, rows, docs = records() + assert sum(len(r["node_decisions"]) for r in rows) == 10 + assert sum(len(r["removed_node_decisions"]) for r in rows) == 0 + assert sum(len(r["edges_before"]) for r in rows) == 6 + assert sum(len(r["retained_edge_decisions"]) for r in rows) == 6 + assert sum(len(r["removed_edge_decisions"]) for r in rows) == 0 + for row, doc in zip(rows, docs, strict=True): + names = {n["name"] for n in doc["ecological_interactions"]} + assert names == {n["node"] for n in row["node_decisions"]} + assert all(e["target"] in names for e in row["edges_after"]) + assert all( + a.split("#", 1)[1] in names + for d in doc["discussions"] + for a in d["attaches_to"] + if a.startswith("ecological_interactions#") + ) + + +def test_source_matches_are_not_full_text_certification(): + ledger, _, _ = records() + assert ledger["primary_graph_snippet_count"] == 18 + assert len(ledger["discussion_snippet_checks"]) == 8 + checks = ledger["snippet_checks"] + ledger["discussion_snippet_checks"] + assert len(checks) == 26 and all(c["independent_primary_match"] for c in checks) + assert len(ledger["source_access"]) == 5 + + +def test_history_no_spend_and_unfinished_followups_are_explicit(): + ledger, rows, docs = records() + assert not ledger["independent_approval"] + assert ledger["issues"] == [1732, 1733, 1734, 1735] + assert ledger["unresolved_non_graph_issues"] == [1736] + assert ledger["edison"]["provider_submissions"] == ledger["edison"]["credits_spent"] == 0 + assert ledger["edison"]["dry_runs"] == [] + for row, doc in zip(rows, docs, strict=True): + assert row["curation_events_added"] == len(row["history_files"]) == 1 + assert row["status"] == "reviewed" and doc["curation_history"][-1]["llm_assisted"] + + +def test_reviewed_records_and_caches_are_hash_bound(): + ledger, rows, _ = records() + assert ledger["cache_changes"] == [] + for row in rows: + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + for path, digest in ledger["primary_artifacts"].items(): + if path.startswith("references_cache/"): + assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py index ddedd02de..190037307 100644 --- a/tests/test_participating_taxa.py +++ b/tests/test_participating_taxa.py @@ -374,6 +374,10 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example): "Prymnesium_Parvum_B12_Limited_SynCom.yaml", "Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml", "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml", + "Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml", + "Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml", + "Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml", + "Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml", "Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml", "Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml", "Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml",