diff --git a/docs/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.html b/docs/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.html index ac31e547e..d3135f419 100644 --- a/docs/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.html +++ b/docs/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.html @@ -585,7 +585,7 @@

Ecological Interactions

Ecological interaction network for Clostridium cellulolyticum-Geobacter sulfurreducens Cellulose MFC 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, syntrophy, 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).
@@ -593,18 +593,13 @@

Ecological Interactions

Mutualism + aria-hidden="true" data-symbol="symbolDiamond" + data-color="#57c7ab"> Cross-feeding
Syntrophy -
-
- Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -613,9 +608,9 @@

Ecological Interactions

Cellulose Fermentation Feeding Electrode Respiration

- SYNTROPHY + CROSS_FEEDING
-

C. cellulolyticum metabolizes cellulose and produces fermentation products that enable G. sulfurreducens to respire on the anode, linking insoluble cellulosic biomass to electricity generation.

+

C. cellulolyticum fermentation supplies products that support G. sulfurreducens anode respiration in the defined cellulose-fed MFC. Binary current production and the negative pure-culture controls support functional complementarity. The primary abstract calls this syntrophy, but does not demonstrate obligate growth dependence or isolate product removal as the mechanism favoring the fermenter. Hydrogen, acetate and ethanol were reported as residual metabolites; that list does not establish uptake of every compound, especially ethanol, by Geobacter or quantify partner-specific transfer.

Source Taxon: Clostridium cellulolyticum

@@ -672,8 +667,7 @@

Cellulose Fermentation Feeding Electrode Respiration

→ Defined Binary Electricity Production -

Fermentation products from C. cellulolyticum provide the carbon and electron flow that allows the binary coculture to respire on the anode and produce current from cellulose. -

+

Fermentative conversion of cellulose supplies electron-donor products for G. sulfurreducens anode respiration, enabling current from substrates on which neither pure culture produced electricity. The conversion is supported by the binary-versus-pure-culture comparison; the accessible abstract does not resolve each metabolite contribution or transfer rate.

@@ -702,7 +696,7 @@

Evidence

PMID:17695929 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
"Hydrogen, acetate, and ethanol were the main residual metabolites"
@@ -716,9 +710,8 @@

Evidence

Defined Binary Electricity Production

- MUTUALISM
-

Neither pure culture alone produced electricity from the cellulose substrates, while the binary coculture generated current and improved CMC degradation, demonstrating division of labor between cellulose hydrolysis and extracellular electron transfer.

+

The binary coculture produced current from CMC and MN301 cellulose, whereas neither pure culture did so. CMC degradation increased from 42% in C. cellulolyticum monoculture to 64% in coculture. These measured conversion and substrate-degradation outcomes support division of labor, but do not by themselves establish reciprocal fitness benefits or a unique metabolite-removal mechanism.

Source Taxon: Clostridium cellulolyticum

@@ -793,10 +786,9 @@

Evidence

-

Substrate-Dependent Spatial Partitioning

- NICHE_PARTITIONING +

Observed Substrate-Dependent Spatial Distribution

-

During growth on particulate MN301 cellulose, C. cellulolyticum is enriched on suspended cellulose particles while G. sulfurreducens is enriched on the electrode biofilm, partitioning the cellulose-hydrolysis and anode-respiration niches within the reactor.

+

FISH and qPCR showed that most C. cellulolyticum cells were associated with suspended MN301 cellulose particles and most G. sulfurreducens cells with the electrode. With soluble CMC, both organisms occurred in suspension and biofilm samples. This is substrate-dependent spatial distribution, not a demonstrated requirement that physical separation causes or improves electricity generation, nor an isolated resource-partitioning mechanism.

Source Taxon: Clostridium cellulolyticum

@@ -819,17 +811,6 @@

Substrate-Dependent Spatial Partitioning

-
- Downstream Effects: - -
- → Defined Binary Electricity Production -

Particulate cellulose separates cellulolytic activity on suspended particles from Geobacter-rich anode respiration, preserving the cellulose-to-electricity division of labor. -

-
- -
-

Evidence

@@ -874,6 +855,19 @@

Evidence

+
  • +
    + + PMID:18725730 + + - SUPPORT (IN_VITRO) +
    + +
    "both bacteria resided in suspension and biofilm samples"
    + +
  • +
    @@ -883,6 +877,25 @@

    Evidence

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + Which exchanged products and spatial arrangements causally control current and partner fitness? +

    +

    PMIDs:17695929 and 18725730 were reviewed through fresh primary abstracts and cached snippets; full bodies were not obtained through the attempted public DOI/search routes. Residual metabolites do not measure individual uptake, and FISH/qPCR localization does not establish its causal benefit. Partner-resolved metabolite flux, spatial perturbations and growth measurements are needed to separate these mechanisms. Preserve binary current and increased CMC degradation as measured endpoints.

    + +

    Attaches to: ecological_interactions#Cellulose Fermentation Feeding Electrode Respiration, ecological_interactions#Defined Binary Electricity Production, ecological_interactions#Observed Substrate-Dependent Spatial Distribution

    + + + + +
    + +
    @@ -1272,7 +1285,7 @@

    Evidence

    (function() { var intId = "interaction:0"; - var intType = "SYNTROPHY"; + var intType = "CROSS_FEEDING"; var metabolites = []; @@ -1322,7 +1335,7 @@

    Evidence

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

    Evidence

    (function() { var intId = "interaction:2"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1375,11 +1388,11 @@

    Evidence

    var processes = []; - var evidenceCount = 3; + var evidenceCount = 4; nodes.push({ id: intId, - label: "Substrate-Dependent Spatial Partitioning", + label: "Observed Substrate-Dependent Spatial Distribution", type: "interaction", interactionType: intType, metabolites: metabolites, diff --git a/docs/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.html b/docs/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.html index ca56b66bd..379a14d83 100644 --- a/docs/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.html +++ b/docs/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.html @@ -585,7 +585,7 @@

    Ecological Interactions

    Ecological interaction network for Clostridium cellulovorans-Beijerinckii AECC ABE 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 (cross-feeding, competition). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding).
    @@ -598,8 +598,8 @@

    Ecological Interactions

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

    Ecological Interactions

    Lignocellulose Saccharification Feeding Solventogenesis

    CROSS_FEEDING -

    C. cellulovorans 743B saccharifies AECC lignocellulose and releases soluble sugars that are subsequently utilized by C. beijerinckii NCIMB 8052 for ABE solvent production. -

    +

    C. cellulovorans 743B saccharifies AECC and supplies soluble sugars for C. beijerinckii NCIMB 8052 solventogenesis. The primary study compares monocultures and coculture, measures sugar accumulation and depletion, and reports ABE output. Cellulose is the polymer substrate and ABE compounds are products, not molecules all transferred between partners. Inoculation timing, ratio and pH-control duration also affect performance; product supply alone does not establish the cause of the population dynamics.

    Source Taxon: Clostridium cellulovorans 743B

    @@ -663,17 +662,6 @@

    Lignocellulose Saccharification Feeding Solventogenesis

    -
    - Downstream Effects: - -
    - → Cooperation and Competition During Coculture Dynamics -

    C. cellulovorans product release couples AECC saccharification to C. beijerinckii solventogenesis, creating the two-strain abundance dynamics tracked as cooperation and competition during coculture. -

    -
    - -
    -

    Evidence

    @@ -714,8 +702,7 @@

    Evidence

    Butyric Acid Support of Butanol Production

    CROSS_FEEDING -

    C. cellulovorans replaces external butyric-acid addition by producing butyric acid in situ, which supports solventogenesis and butanol production by C. beijerinckii. -

    +

    PARTIAL - C. cellulovorans produces butyric acid in monoculture, and the coculture produces butanol without external butyric-acid addition. Acid accumulation followed by reassimilation during solventogenesis supports an in-situ cosubstrate contribution to C. beijerinckii. The primary study also changes pH control and inoculation conditions. It does not trace the partner origin of every acid molecule or isolate butyrate necessity from these covariates, and does not establish that butyrate causes upstream AECC saccharification.

    Source Taxon: Clostridium cellulovorans 743B

    @@ -753,17 +740,6 @@

    Butyric Acid Support of Butanol Production

    -
    - Downstream Effects: - -
    - → Lignocellulose Saccharification Feeding Solventogenesis -

    C. cellulovorans butyric-acid production is part of the in situ substrate supply that lets C. beijerinckii convert AECC-derived intermediates to ABE solvents without external cellulase or butyric-acid addition. -

    -
    - -
    -

    Evidence

    @@ -775,7 +751,7 @@

    Evidence

    PMID:25023325 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "produce butyric acid, instead of adding cellulase and butyric acid to the medium"
    @@ -788,7 +764,7 @@

    Evidence

    PMID:25023325 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "soluble sugars and butyric acid generated can be subsequently utilized"
    @@ -801,11 +777,9 @@

    Evidence

    -

    Cooperation and Competition During Coculture Dynamics

    - COMPETITION +

    Population Dynamics and Proposed Competition

    -

    The two strains cooperate through division of labor but also show changing abundance dynamics consistent with cooperation and competition during the co-culture process. -

    +

    PARTIAL - the reported 16S-based abundance assay showed changing partner proportions during coculture, with early C. cellulovorans dominance and later C. beijerinckii dominance. The authors interpret stage-dependent cooperation and competition in relation to pH and nutrient availability, but explicitly leave the molecular mechanism unresolved. Methods describe RNA extraction and cDNA for this assay, so the reported proportions are not direct cell counts. The experiments vary inoculation and pH conditions; abundance changes alone do not isolate reciprocal resource competition or its molecular mediator.

    @@ -838,7 +812,7 @@

    Evidence

    PMID:25023325 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "mechanisms of cooperation and competition between the two strains during the co-culture process"
    @@ -867,6 +841,25 @@

    Evidence

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + How much of solventogenesis and partner dynamics is mediated by acid transfer, pH and resource competition? +

    +

    PMID:25023325 supports sugar supply, in-situ acid formation and measured solvent production, and experimentally compares inoculation timing, ratio and pH-control duration. The full primary Results/Discussion leave molecular competition/cooperation unresolved. RNA/cDNA-based 16S proportions are not direct cell counts. Partner-resolved flux, selective acid perturbations with matched pH, and independent population quantification would distinguish these contributions. Butyrate provision does not itself establish a causal arrow to upstream saccharification.

    + +

    Attaches to: ecological_interactions#Lignocellulose Saccharification Feeding Solventogenesis, ecological_interactions#Butyric Acid Support of Butanol Production, ecological_interactions#Population Dynamics and Proposed Competition

    + + + + +
    + +
    @@ -1365,7 +1358,7 @@

    Evidence

    (function() { var intId = "interaction:2"; - var intType = "COMPETITION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1378,7 +1371,7 @@

    Evidence

    nodes.push({ id: intId, - label: "Cooperation and Competition During Coculture Dynamics", + label: "Population Dynamics and Proposed Competition", type: "interaction", interactionType: intType, metabolites: metabolites, diff --git a/docs/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.html b/docs/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.html index dbe58e6ba..6504d21e9 100644 --- a/docs/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.html +++ b/docs/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.html @@ -585,7 +585,7 @@

    Ecological Interactions

    Ecological interaction network for Clostridium cellulovorans-Methanosarcina barkeri Cellulose Methane 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 (cross-feeding, mutualism, syntrophy). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding, syntrophy).
    @@ -598,13 +598,13 @@

    Ecological Interactions

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

    Ecological Interactions

    Cellulose Fermentation to Methanogenesis Precursors

    CROSS_FEEDING -

    C. cellulovorans degrades cellulose and releases H2, formate, acetate, and other fermentation products that can feed methanogenesis by M. barkeri.

    +

    C. cellulovorans 743B ferments cellulose to hydrogen, formate and acetate that support M. barkeri Fusaro methanogenesis in the tested coculture. Methane production, undetectable hydrogen and transient formate/acetate accumulation followed by depletion support the supply model. Other fermentation products, including butyrate and lactate, are not thereby established as substrates consumed by M. barkeri. Product pools reflect simultaneous production and consumption, not directly resolved partner-specific fluxes.

    Source Taxon: Clostridium cellulovorans 743B

    @@ -671,9 +671,8 @@

    Cellulose Fermentation to Methanogenesis Precursors

    Downstream Effects:
    - → Multi-Substrate Methanogenesis by M. barkeri -

    Hydrogen, formate, and acetate released during C. cellulovorans cellulose fermentation supply the substrates consumed by M. barkeri for multi-substrate methanogenesis. -

    + → Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri +

    Cellulose fermentation supplies hydrogen, formate and acetate for coculture-associated methanogenesis by M. barkeri. Exact-pair gas/product profiles and controls support this relationship, but do not resolve each precursor contribution; formate use is condition-dependent rather than evidence that formate alone supports the methanogen.

    @@ -705,7 +704,7 @@

    Evidence

    - SUPPORT (IN_VITRO) -
    "Clostridium cellulovorans 743B"
    +
    "no H2 was detected in the cocultures throughout the cultivation period"
    @@ -715,10 +714,10 @@

    Evidence

    -

    Multi-Substrate Methanogenesis by M. barkeri

    +

    Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri

    SYNTROPHY
    -

    M. barkeri consumes hydrogen, formate, and acetate produced during cellulose fermentation to generate methane through hydrogenotrophic/formate-linked and acetoclastic methanogenic routes.

    +

    PARTIAL - coculture methane production and hydrogen, formate and acetate depletion, together with RT-qPCR, support the authors' acetoclastic and CO2-reduction model. M. barkeri did not grow with formate alone after nine months. A mixed-substrate monoculture consumed only about 1.5 mM of 10 mM supplied formate and little acetate, unlike the coculture. The specific formate-linked pathway and each electron contribution remain inferred rather than directly traced. The M. barkeri-to-C. cellulovorans direction represents proposed product-removal feedback to the fermenter, not donation of methanogenesis substrates in that direction.

    Source Taxon: Methanosarcina barkeri Fusaro

    @@ -772,9 +771,8 @@

    Multi-Substrate Methanogenesis by M. barkeri

    Downstream Effects:
    - → Methanogen-Enabled Cellulose Degradation and pH Stabilization -

    M. barkeri consumption of cellulose-fermentation products lowers hydrogen and volatile fatty acid accumulation, stabilizing pH and improving cellulose degradation by C. cellulovorans. -

    + → Coculture-Associated Cellulose Degradation and pH Stabilization +

    HYPOTHESIZED - M. barkeri consumption of formate and acetate, together with hydrogen removal and a changed C. cellulovorans fermentation pattern, reduces accumulated acid products and could help stabilize pH and sustain cellulose degradation. The measured coculture outcomes support this model, but do not isolate product removal or pH as the unique mediator. Lower butyrate/lactate pools are not evidence that the methanogen consumed those acids.

    @@ -790,7 +788,7 @@

    Evidence

    PMID:28191038 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "simultaneous utilization of hydrogen, formate, and acetate for methanogenesis"
    @@ -803,23 +801,35 @@

    Evidence

    PMID:28191038 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "methanogens in both cocultures were able to efficiently utilize"
    +
  • +
    + + PMID:28191038 + + - SUPPORT (IN_VITRO) +
    + +
    "monocultures of M. barkeri were unable to grow with formate alone"
    + +
  • +
    -

    Methanogen-Enabled Cellulose Degradation and pH Stabilization

    - MUTUALISM +

    Coculture-Associated Cellulose Degradation and pH Stabilization

    -

    Product consumption by M. barkeri lowers H2 and VFA accumulation, stabilizes pH, and improves cellulose degradation relative to C. cellulovorans monoculture.

    +

    Coculturing with M. barkeri increased the extent of cellulose degradation by 13.8% relative to C. cellulovorans monoculture, with a final pH around 6.7 rather than 6.1. These are measured outcomes. HYPOTHESIZED - formate/acetate consumption and altered fermenter production jointly contribute to the smaller pH decline and improved degradation. Butyrate and lactate accumulated to lower levels without net depletion, and C. cellulovorans cell growth was not significantly improved; the reported growth yields were similar. This is not demonstrated reciprocal fitness mutualism or uniquely established pH mediation.

    Source Taxon: Methanosarcina barkeri Fusaro

    @@ -877,7 +887,7 @@

    Evidence

    - SUPPORT (IN_VITRO)
    -
    "produced by C. cellulovorans during cellulose degradation"
    +
    "the presence of methanogens did not result in significant differences in cell growth"
    @@ -900,7 +910,7 @@

    Evidence

    PMID:28191038 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "stabilized pH for C. cellulovorans"
    @@ -916,6 +926,25 @@

    Evidence

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + Which pathways and partner changes mediate coculture-specific formate use and improved cellulose degradation? +

    +

    PMID:28191038 supports reproducible gas and VFA profiles, formate-only failure, limited mixed-substrate monoculture formate use and altered gene expression. Its conceptual pathways do not directly measure partner flux. Product removal and changed fermenter production can both affect pools and pH. Matched-pH interventions, partner-resolved flux and selective formate-pathway perturbations would separate mediation from association. Increased cellulose degradation did not significantly increase C. cellulovorans cell growth. The distinct M. mazei comparison is not added as a member of this record.

    + +

    Attaches to: ecological_interactions#Cellulose Fermentation to Methanogenesis Precursors, ecological_interactions#Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri, ecological_interactions#Coculture-Associated Cellulose Degradation and pH Stabilization

    + + + + +
    + +
    @@ -1345,11 +1374,11 @@

    Evidence

    processes.push("methanogenesis"); - var evidenceCount = 2; + var evidenceCount = 3; nodes.push({ id: intId, - label: "Multi-Substrate Methanogenesis by M. barkeri", + label: "Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1374,7 +1403,7 @@

    Evidence

    (function() { var intId = "interaction:2"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1395,7 +1424,7 @@

    Evidence

    nodes.push({ id: intId, - label: "Methanogen-Enabled Cellulose Degradation and pH Stabilization", + label: "Coculture-Associated Cellulose Degradation and pH Stabilization", type: "interaction", interactionType: intType, metabolites: metabolites, diff --git a/history/records/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture/2026-10-05T234230Z-codex-ce1a08.yaml b/history/records/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture/2026-10-05T234230Z-codex-ce1a08.yaml new file mode 100644 index 000000000..7f18ea53a --- /dev/null +++ b/history/records/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture/2026-10-05T234230Z-codex-ce1a08.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml + slug: Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture +session: + id: 2026-10-05T234230Z-codex-ce1a08 + timestamp: '2026-10-05T23:42:30Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1324 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain the supported fermentation-to-current link with residual-pool and non-obligate-syntrophy + limits.; Preserve binary current and improved CMC degradation without categorical reciprocal + mutualism.; Preserve both substrate-dependent localization patterns; remove its unsupported + causal arrow and niche typing. + details: Source-based self-adversarial graph repairs; no new nodes/arrows. reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml diff --git a/history/records/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture/2026-10-05T234230Z-codex-a71416.yaml b/history/records/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture/2026-10-05T234230Z-codex-a71416.yaml new file mode 100644 index 000000000..d1a139eeb --- /dev/null +++ b/history/records/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture/2026-10-05T234230Z-codex-a71416.yaml @@ -0,0 +1,28 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml + slug: Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture +session: + id: 2026-10-05T234230Z-codex-a71416 + timestamp: '2026-10-05T23:42:30Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1325 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain substrate provision and measured output; remove the unsupported arrow asserting + that provision determines competition dynamics.; Retain qualified in-situ acid support; + remove the cosubstrate-to-upstream-saccharification arrow and avoid traced-flux or necessity + claims.; Preserve experimental abundance dynamics and operating-condition comparisons + without categorical competition or direct-cell-count claims. + details: Source-based self-adversarial graph repairs; no new nodes/arrows. reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml diff --git a/history/records/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture/2026-10-05T234231Z-codex-aa4e0f.yaml b/history/records/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture/2026-10-05T234231Z-codex-aa4e0f.yaml new file mode 100644 index 000000000..06124af92 --- /dev/null +++ b/history/records/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture/2026-10-05T234231Z-codex-aa4e0f.yaml @@ -0,0 +1,28 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml + slug: Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture +session: + id: 2026-10-05T234231Z-codex-aa4e0f + timestamp: '2026-10-05T23:42:31Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1326 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain cellulose-derived precursor supply and methane link; distinguish measured + pools from resolved flux and exclude other VFAs from blanket uptake.; Preserve coculture-specific + multisubstrate findings and negative controls; qualify pathway/feedback inference without + inventing reverse donation.; Preserve improved cellulose degradation and pH, while qualifying + mediation and retaining unchanged fermenter growth rather than categorical mutualism. + details: Source-based self-adversarial graph repairs; no new nodes/arrows. reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml diff --git a/kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml b/kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml index 752973321..b28b7a622 100644 --- a/kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml +++ b/kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml @@ -114,10 +114,13 @@ taxonomy: explanation: Supports the anode-associated role of Geobacter in the particulate-cellulose MFC. ecological_interactions: - name: Cellulose Fermentation Feeding Electrode Respiration - description: C. cellulolyticum metabolizes cellulose and produces fermentation products that enable - G. sulfurreducens to respire on the anode, linking insoluble cellulosic biomass to electricity - generation. - interaction_type: SYNTROPHY + description: C. cellulolyticum fermentation supplies products that support G. sulfurreducens anode respiration + in the defined cellulose-fed MFC. Binary current production and the negative pure-culture controls support functional + complementarity. The primary abstract calls this syntrophy, but does not demonstrate obligate growth dependence + or isolate product removal as the mechanism favoring the fermenter. Hydrogen, acetate and ethanol were reported + as residual metabolites; that list does not establish uptake of every compound, especially ethanol, by Geobacter + or quantify partner-specific transfer. + interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: preferred_term: Clostridium cellulolyticum @@ -138,14 +141,20 @@ ecological_interactions: term: id: CHEBI:30089 label: acetate + notes: Reported residual metabolite; inclusion does not assert direct measurement of Geobacter uptake or transfer + flux. - preferred_term: dihydrogen term: id: CHEBI:18276 label: dihydrogen + notes: Reported residual metabolite; inclusion does not assert direct measurement of Geobacter uptake or transfer + flux. - preferred_term: ethanol term: id: CHEBI:16236 label: ethanol + notes: Reported residual metabolite; inclusion does not assert direct measurement of Geobacter uptake or transfer + flux. biological_processes: - preferred_term: cellulose catabolic process term: @@ -157,27 +166,29 @@ ecological_interactions: label: fermentation downstream: - target: Defined Binary Electricity Production - description: > - Fermentation products from C. cellulolyticum provide the carbon and - electron flow that allows the binary coculture to respire on the anode - and produce current from cellulose. + description: Fermentative conversion of cellulose supplies electron-donor products for G. sulfurreducens anode + respiration, enabling current from substrates on which neither pure culture produced electricity. The conversion + is supported by the binary-versus-pure-culture comparison; the accessible abstract does not resolve each metabolite + contribution or transfer rate. evidence: - reference: PMID:17695929 supports: SUPPORT evidence_source: IN_VITRO snippet: requires a syntrophic microbial community - explanation: Supports the syntrophic interpretation for cellulose-to-anode conversion. + explanation: The authors use syntrophy for the conversion model, but the repository type additionally asserts + a metabolic benefit from product removal. The accessible abstract does not isolate that mechanism; CROSS_FEEDING + preserves the supported supply model without that extra assertion. - reference: PMID:17695929 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: Hydrogen, acetate, and ethanol were the main residual metabolites - explanation: Supports the fermentation product context linking cellulose metabolism to Geobacter - electrode respiration. + explanation: This is a residual-pool observation, not a partner-resolved uptake experiment. It does not establish + that Geobacter consumes all three listed products. - name: Defined Binary Electricity Production - description: Neither pure culture alone produced electricity from the cellulose substrates, while the - binary coculture generated current and improved CMC degradation, demonstrating division of labor - between cellulose hydrolysis and extracellular electron transfer. - interaction_type: MUTUALISM + description: The binary coculture produced current from CMC and MN301 cellulose, whereas neither pure culture + did so. CMC degradation increased from 42% in C. cellulolyticum monoculture to 64% in coculture. These measured + conversion and substrate-degradation outcomes support division of labor, but do not by themselves establish + reciprocal fitness benefits or a unique metabolite-removal mechanism. scope: PAIRWISE source_taxon: preferred_term: Clostridium cellulolyticum @@ -213,13 +224,12 @@ ecological_interactions: supports: SUPPORT evidence_source: IN_VITRO snippet: increased CMC degradation from 42% to 64% - explanation: Supports improved cellulose derivative degradation in coculture relative to C. cellulolyticum - alone. -- name: Substrate-Dependent Spatial Partitioning - description: During growth on particulate MN301 cellulose, C. cellulolyticum is enriched on suspended - cellulose particles while G. sulfurreducens is enriched on the electrode biofilm, partitioning the - cellulose-hydrolysis and anode-respiration niches within the reactor. - interaction_type: NICHE_PARTITIONING + explanation: Supports improved cellulose derivative degradation in coculture relative to C. cellulolyticum alone. +- name: Observed Substrate-Dependent Spatial Distribution + description: FISH and qPCR showed that most C. cellulolyticum cells were associated with suspended MN301 cellulose + particles and most G. sulfurreducens cells with the electrode. With soluble CMC, both organisms occurred in + suspension and biofilm samples. This is substrate-dependent spatial distribution, not a demonstrated requirement + that physical separation causes or improves electricity generation, nor an isolated resource-partitioning mechanism. scope: PAIRWISE source_taxon: preferred_term: Clostridium cellulolyticum @@ -236,12 +246,6 @@ ecological_interactions: term: id: CHEBI:18246 label: (1->4)-beta-D-glucan - downstream: - - target: Defined Binary Electricity Production - description: > - Particulate cellulose separates cellulolytic activity on suspended - particles from Geobacter-rich anode respiration, preserving the - cellulose-to-electricity division of labor. evidence: - reference: PMID:18725730 supports: SUPPORT @@ -258,6 +262,12 @@ ecological_interactions: evidence_source: IN_VITRO snippet: most Geobacter cells were attached to the electrode explanation: Supports G. sulfurreducens localization on the electrode. + - reference: PMID:18725730 + snippet: both bacteria resided in suspension and biofilm samples + explanation: Supports the soluble-CMC comparison, preventing generalization of particulate-cellulose localization + to every condition. + evidence_source: IN_VITRO + supports: SUPPORT cultivation_setup: - cultivation_mode: FED_BATCH system_type: MICROBIAL_FUEL_CELL @@ -440,3 +450,28 @@ rare_earth_elements_present: [] metal_relevance: NOT_APPLICABLE metal_notes: No direct metal or rare earth element processing role is curated for this cellulose-fed microbial fuel cell record. +discussions: +- discussion_id: cellulose_mfc_metabolite_and_spatial_mediation + prompt: Which exchanged products and spatial arrangements causally control current and partner fitness? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Cellulose Fermentation Feeding Electrode Respiration + - ecological_interactions#Defined Binary Electricity Production + - ecological_interactions#Observed Substrate-Dependent Spatial Distribution + rationale: PMIDs:17695929 and 18725730 were reviewed through fresh primary abstracts and cached snippets; full + bodies were not obtained through the attempted public DOI/search routes. Residual metabolites do not measure + individual uptake, and FISH/qPCR localization does not establish its causal benefit. Partner-resolved metabolite + flux, spatial perturbations and growth measurements are needed to separate these mechanisms. Preserve binary + current and increased CMC degradation as measured endpoints. + posed_by: codex + posed_date: '2026-10-05' +curation_history: +- timestamp: '2026-10-05T23:42:29Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain the supported fermentation-to-current link with residual-pool and non-obligate-syntrophy limits.; + Preserve binary current and improved CMC degradation without categorical reciprocal mutualism.; Preserve both + substrate-dependent localization patterns; remove its unsupported causal arrow and niche typing. Issue #1324; + reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml' + llm_assisted: true diff --git a/kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml b/kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml index 3794ab2df..c89bedafd 100644 --- a/kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml +++ b/kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml @@ -121,10 +121,11 @@ taxonomy: explanation: Supports the solventogenic, non-cellulolytic role. ecological_interactions: - name: Lignocellulose Saccharification Feeding Solventogenesis - description: > - C. cellulovorans 743B saccharifies AECC lignocellulose and releases soluble - sugars that are subsequently utilized by C. beijerinckii NCIMB 8052 for ABE - solvent production. + description: C. cellulovorans 743B saccharifies AECC and supplies soluble sugars for C. beijerinckii NCIMB 8052 + solventogenesis. The primary study compares monocultures and coculture, measures sugar accumulation and depletion, + and reports ABE output. Cellulose is the polymer substrate and ABE compounds are products, not molecules all + transferred between partners. Inoculation timing, ratio and pH-control duration also affect performance; product + supply alone does not establish the cause of the population dynamics. interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -163,28 +164,27 @@ ecological_interactions: term: id: GO:0006113 label: fermentation - downstream: - - target: Cooperation and Competition During Coculture Dynamics - description: > - C. cellulovorans product release couples AECC saccharification to - C. beijerinckii solventogenesis, creating the two-strain abundance - dynamics tracked as cooperation and competition during coculture. evidence: - reference: PMID:25023325 supports: SUPPORT evidence_source: IN_VITRO - snippet: soluble sugars and butyric acid generated can be subsequently utilized by Clostridium beijerinckii NCIMB 8052 - explanation: Supports cross-feeding of C. cellulovorans products to C. beijerinckii. + snippet: soluble sugars and butyric acid generated can be subsequently utilized by Clostridium beijerinckii + NCIMB 8052 + explanation: The abstract states the proposed supply relationship; primary Results additionally compare sugar + profiles, AECC degradation and solvent outputs across monocultures and coculture. It is not a traced partner-specific + flux measurement. - reference: PMID:25023325 supports: SUPPORT evidence_source: IN_VITRO snippet: produce solvents by consolidated bioprocessing (CBP) with alkali extracted deshelled corn cobs (AECC) - explanation: Supports AECC lignocellulose conversion to ABE solvents by the coculture. + explanation: Supports the overall coculture output, not an arrow from substrate provision to a uniquely identified + competition mechanism. - name: Butyric Acid Support of Butanol Production - description: > - C. cellulovorans replaces external butyric-acid addition by producing - butyric acid in situ, which supports solventogenesis and butanol production - by C. beijerinckii. + description: PARTIAL - C. cellulovorans produces butyric acid in monoculture, and the coculture produces butanol + without external butyric-acid addition. Acid accumulation followed by reassimilation during solventogenesis + supports an in-situ cosubstrate contribution to C. beijerinckii. The primary study also changes pH control and + inoculation conditions. It does not trace the partner origin of every acid molecule or isolate butyrate necessity + from these covariates, and does not establish that butyrate causes upstream AECC saccharification. interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -211,29 +211,26 @@ ecological_interactions: term: id: GO:0006113 label: fermentation - downstream: - - target: Lignocellulose Saccharification Feeding Solventogenesis - description: > - C. cellulovorans butyric-acid production is part of the in situ substrate - supply that lets C. beijerinckii convert AECC-derived intermediates to - ABE solvents without external cellulase or butyric-acid addition. evidence: - reference: PMID:25023325 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: produce butyric acid, instead of adding cellulase and butyric acid to the medium - explanation: Supports in situ butyric acid production by C. cellulovorans as part of the design. + explanation: The abstract states the design objective. Primary Results support acid formation and butanol production + without added butyrate, but do not isolate an essential butyrate-only mediator. - reference: PMID:25023325 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: soluble sugars and butyric acid generated can be subsequently utilized - explanation: Supports use of generated butyric acid by the solventogenic partner. -- name: Cooperation and Competition During Coculture Dynamics - description: > - The two strains cooperate through division of labor but also show changing - abundance dynamics consistent with cooperation and competition during the - co-culture process. - interaction_type: COMPETITION + explanation: Supports the cosubstrate interpretation, not quantitative donor-resolved acid flux. Primary Results + discuss acid reassimilation together with pH and sugar availability. +- name: Population Dynamics and Proposed Competition + description: PARTIAL - the reported 16S-based abundance assay showed changing partner proportions during coculture, + with early C. cellulovorans dominance and later C. beijerinckii dominance. The authors interpret stage-dependent + cooperation and competition in relation to pH and nutrient availability, but explicitly leave the molecular + mechanism unresolved. Methods describe RNA extraction and cDNA for this assay, so the reported proportions are + not direct cell counts. The experiments vary inoculation and pH conditions; abundance changes alone do not isolate + reciprocal resource competition or its molecular mediator. scope: COMMUNITY_LEVEL biological_processes: - preferred_term: interspecies interaction between organisms @@ -242,15 +239,18 @@ ecological_interactions: label: biological process involved in interspecies interaction between organisms evidence: - reference: PMID:25023325 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: mechanisms of cooperation and competition between the two strains during the co-culture process - explanation: Supports the coexistence of cooperative and competitive dynamics. + explanation: The abstract summarizes the authors' interpretation; the primary Results/Discussion explicitly + state that the molecular mechanism remains unclear. Do not promote the summary wording to an isolated competition + experiment. - reference: PMID:25023325 supports: SUPPORT evidence_source: IN_VITRO snippet: real-time PCR assay based on the 16S rRNA gene sequence was performed - explanation: Supports strain-abundance tracking as evidence for community dynamics. + explanation: Supports the reported abundance assay. Primary Methods use RNA/cDNA, not direct cell counting; + this is an experimental population proxy, not computational-only evidence. environmental_factors: - name: Alkali extracted deshelled corn cobs value: sole carbon source @@ -385,3 +385,28 @@ metal_relevance: NOT_APPLICABLE metal_notes: > No metal or rare earth element processing role is curated for this AECC acetone-butanol-ethanol coculture. +discussions: +- discussion_id: aecc_abe_flux_and_competition_mediation + prompt: How much of solventogenesis and partner dynamics is mediated by acid transfer, pH and resource competition? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Lignocellulose Saccharification Feeding Solventogenesis + - ecological_interactions#Butyric Acid Support of Butanol Production + - ecological_interactions#Population Dynamics and Proposed Competition + rationale: PMID:25023325 supports sugar supply, in-situ acid formation and measured solvent production, and experimentally + compares inoculation timing, ratio and pH-control duration. The full primary Results/Discussion leave molecular + competition/cooperation unresolved. RNA/cDNA-based 16S proportions are not direct cell counts. Partner-resolved + flux, selective acid perturbations with matched pH, and independent population quantification would distinguish + these contributions. Butyrate provision does not itself establish a causal arrow to upstream saccharification. + posed_by: codex + posed_date: '2026-10-05' +curation_history: +- timestamp: '2026-10-05T23:42:30Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain substrate provision and measured output; remove the unsupported arrow asserting that provision + determines competition dynamics.; Retain qualified in-situ acid support; remove the cosubstrate-to-upstream-saccharification + arrow and avoid traced-flux or necessity claims.; Preserve experimental abundance dynamics and operating-condition + comparisons without categorical competition or direct-cell-count claims. Issue #1325; reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml' + llm_assisted: true diff --git a/kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml b/kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml index 8ac7a767d..6be0a5452 100644 --- a/kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml +++ b/kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml @@ -111,8 +111,11 @@ taxonomy: explanation: Supports the methanogenic cross-feeding role of M. barkeri in the coculture. ecological_interactions: - name: Cellulose Fermentation to Methanogenesis Precursors - description: C. cellulovorans degrades cellulose and releases H2, formate, acetate, and other - fermentation products that can feed methanogenesis by M. barkeri. + description: C. cellulovorans 743B ferments cellulose to hydrogen, formate and acetate that support M. barkeri + Fusaro methanogenesis in the tested coculture. Methane production, undetectable hydrogen and transient formate/acetate + accumulation followed by depletion support the supply model. Other fermentation products, including butyrate + and lactate, are not thereby established as substrates consumed by M. barkeri. Product pools reflect simultaneous + production and consumption, not directly resolved partner-specific fluxes. interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -152,27 +155,31 @@ ecological_interactions: id: GO:0006113 label: fermentation downstream: - - target: Multi-Substrate Methanogenesis by M. barkeri - description: > - Hydrogen, formate, and acetate released during C. cellulovorans cellulose - fermentation supply the substrates consumed by M. barkeri for - multi-substrate methanogenesis. + - target: Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri + description: Cellulose fermentation supplies hydrogen, formate and acetate for coculture-associated methanogenesis + by M. barkeri. Exact-pair gas/product profiles and controls support this relationship, but do not resolve + each precursor contribution; formate use is condition-dependent rather than evidence that formate alone supports + the methanogen. evidence: - reference: PMID:28191038 supports: SUPPORT evidence_source: IN_VITRO snippet: produced by C. cellulovorans during cellulose degradation - explanation: Supports production of methanogenesis substrates by C. cellulovorans. + explanation: Supports the source of the methanogenesis precursors, not consumption of every VFA or quantitative + donor-resolved flux. - reference: PMID:28191038 - supports: SUPPORT + snippet: no H2 was detected in the cocultures throughout the cultivation period + explanation: Supports the coculture gas profile in the primary Results; absence of accumulated hydrogen does + not quantify its production and consumption separately. evidence_source: IN_VITRO - snippet: Clostridium cellulovorans 743B - explanation: Supports cellulose degradation by C. cellulovorans as the primary source of cross-fed - metabolites. -- name: Multi-Substrate Methanogenesis by M. barkeri - description: M. barkeri consumes hydrogen, formate, and acetate produced during cellulose - fermentation to generate methane through hydrogenotrophic/formate-linked and acetoclastic - methanogenic routes. + supports: SUPPORT +- name: Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri + description: PARTIAL - coculture methane production and hydrogen, formate and acetate depletion, together with + RT-qPCR, support the authors' acetoclastic and CO2-reduction model. M. barkeri did not grow with formate alone + after nine months. A mixed-substrate monoculture consumed only about 1.5 mM of 10 mM supplied formate and little + acetate, unlike the coculture. The specific formate-linked pathway and each electron contribution remain inferred + rather than directly traced. The M. barkeri-to-C. cellulovorans direction represents proposed product-removal + feedback to the fermenter, not donation of methanogenesis substrates in that direction. interaction_type: SYNTROPHY scope: PAIRWISE source_taxon: @@ -212,27 +219,37 @@ ecological_interactions: id: GO:0015948 label: methanogenesis downstream: - - target: Methanogen-Enabled Cellulose Degradation and pH Stabilization - description: > - M. barkeri consumption of cellulose-fermentation products lowers hydrogen - and volatile fatty acid accumulation, stabilizing pH and improving - cellulose degradation by C. cellulovorans. + - target: Coculture-Associated Cellulose Degradation and pH Stabilization + description: HYPOTHESIZED - M. barkeri consumption of formate and acetate, together with hydrogen removal and + a changed C. cellulovorans fermentation pattern, reduces accumulated acid products and could help stabilize + pH and sustain cellulose degradation. The measured coculture outcomes support this model, but do not isolate + product removal or pH as the unique mediator. Lower butyrate/lactate pools are not evidence that the methanogen + consumed those acids. evidence: - reference: PMID:28191038 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: simultaneous utilization of hydrogen, formate, and acetate for methanogenesis - explanation: Supports M. barkeri consumption of the three C. cellulovorans products for methane - formation. + explanation: Supports the authors' coculture-specific multisubstrate interpretation; the full paper distinguishes + formate-only failure and limited mixed-substrate monoculture consumption from the coculture phenotype. - reference: PMID:28191038 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: methanogens in both cocultures were able to efficiently utilize - explanation: Supports consumption of C. cellulovorans fermentation products by the methanogen. -- name: Methanogen-Enabled Cellulose Degradation and pH Stabilization - description: Product consumption by M. barkeri lowers H2 and VFA accumulation, stabilizes pH, and - improves cellulose degradation relative to C. cellulovorans monoculture. - interaction_type: MUTUALISM + explanation: Supports product utilization in the tested coculture, not unconditional formate growth, directly + measured pathway flux or exclusive causal mediation of the fermenter response. + - reference: PMID:28191038 + snippet: monocultures of M. barkeri were unable to grow with formate alone + explanation: The negative control bounds formate use to the tested substrate and coculture context. + evidence_source: IN_VITRO + supports: SUPPORT +- name: Coculture-Associated Cellulose Degradation and pH Stabilization + description: Coculturing with M. barkeri increased the extent of cellulose degradation by 13.8% relative to C. + cellulovorans monoculture, with a final pH around 6.7 rather than 6.1. These are measured outcomes. HYPOTHESIZED + - formate/acetate consumption and altered fermenter production jointly contribute to the smaller pH decline + and improved degradation. Butyrate and lactate accumulated to lower levels without net depletion, and C. cellulovorans + cell growth was not significantly improved; the reported growth yields were similar. This is not demonstrated + reciprocal fitness mutualism or uniquely established pH mediation. scope: PAIRWISE source_taxon: preferred_term: Methanosarcina barkeri Fusaro @@ -264,20 +281,23 @@ ecological_interactions: label: methanogenesis evidence: - reference: PMID:28191038 - supports: SUPPORT + snippet: the presence of methanogens did not result in significant differences in cell growth + explanation: The primary Results distinguish enhanced cellulose degradation from unchanged fermenter cell growth; + do not turn the functional endpoint into reciprocal fitness. evidence_source: IN_VITRO - snippet: produced by C. cellulovorans during cellulose degradation - explanation: Supports methanogen consumption of cellulolytic fermentation products. + supports: SUPPORT - reference: PMID:28191038 supports: SUPPORT evidence_source: IN_VITRO snippet: degradation was observed in both cocultures - explanation: Supports improved cellulose degradation in coculture. + explanation: Supports enhanced cellulose degradation as an endpoint, not significant improvement of fermenter + cell growth or an isolated mediator. - reference: PMID:28191038 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: stabilized pH for C. cellulovorans - explanation: Supports pH stabilization as an interaction outcome. + explanation: Supports the more stable pH. The primary Results attribute it to both VFA consumption and a changed + production pattern; no matched-pH intervention isolates its necessity. cultivation_setup: - cultivation_mode: BATCH system_type: SERUM_BOTTLE @@ -472,3 +492,30 @@ rare_earth_elements_present: [] metal_relevance: NOT_APPLICABLE metal_notes: No metal or rare earth element processing role is curated for this cellulose-to-methane coculture. +discussions: +- discussion_id: cellulose_methane_formate_and_ph_mediation + prompt: Which pathways and partner changes mediate coculture-specific formate use and improved cellulose degradation? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Cellulose Fermentation to Methanogenesis Precursors + - ecological_interactions#Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri + - ecological_interactions#Coculture-Associated Cellulose Degradation and pH Stabilization + rationale: PMID:28191038 supports reproducible gas and VFA profiles, formate-only failure, limited mixed-substrate + monoculture formate use and altered gene expression. Its conceptual pathways do not directly measure partner + flux. Product removal and changed fermenter production can both affect pools and pH. Matched-pH interventions, + partner-resolved flux and selective formate-pathway perturbations would separate mediation from association. + Increased cellulose degradation did not significantly increase C. cellulovorans cell growth. The distinct M. + mazei comparison is not added as a member of this record. + posed_by: codex + posed_date: '2026-10-05' +curation_history: +- timestamp: '2026-10-05T23:42:30Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain cellulose-derived precursor supply and methane link; distinguish measured pools from resolved + flux and exclude other VFAs from blanket uptake.; Preserve coculture-specific multisubstrate findings and negative + controls; qualify pathway/feedback inference without inventing reverse donation.; Preserve improved cellulose + degradation and pH, while qualifying mediation and retaining unchanged fermenter growth rather than categorical + mutualism. Issue #1326; reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml' + llm_assisted: true diff --git a/reports/causal_graph_review/adversarial-review-20261005-batch19.yaml b/reports/causal_graph_review/adversarial-review-20261005-batch19.yaml new file mode 100644 index 000000000..d16691f63 --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261005-batch19.yaml @@ -0,0 +1,89 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: db05129c5f8a9fb47b6ed716405dce1be845a207 +scope: +- kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml +- kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml +- kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml +findings: +- issue: 1324 + severity: P2 + finding: Residual pools overstated as resolved transfer, unsupported product-removal syntrophy/reciprocal mutualism + and localization-to-current causality. + disposition: addressed_and_locally_verified +- issue: 1325 + severity: P2 + finding: Unsupported cosubstrate-to-saccharification and supply-to-dynamics arrows, categorical competition and + abundance-assay overinterpretation. + disposition: addressed_and_locally_verified +- issue: 1326 + severity: P2 + finding: Missing formate controls, conceptual pathway certainty, unique pH mediation and reciprocal-growth overstatement. + disposition: addressed_and_locally_verified +open_nongraph_followups: +- issue: 1327 + disposition: intentionally_not_closed_by_graph_only_patch + scope: Growth-media inputs versus products, abundance/assay basis, chemical scope and non-graph substrate claims. +adversarial_checks: +- Read each complete record and account for every original node and arrow; preserve three supported or qualified + arrows, remove three, add none. +- Preserve MFC binary current and 42%-to-64% CMC degradation; residual H2/acetate/ethanol do not show uptake of + every listed molecule. +- 'Check the repository SYNTROPHY definition: product removal must favor the first partner. Use CROSS_FEEDING for + the MFC supply model because the accessible evidence does not isolate that removal mechanism.' +- Preserve particulate and soluble-substrate localization comparisons without asserting spatial causality or resource-partitioning + benefit. +- Preserve AECC sugar supply, acid formation and solvent output, while distinguishing mixed pools from traced donor-specific + flux and butyrate necessity. +- Do not turn a cosubstrate arm into an upstream saccharification cause or product supply into an isolated competition + mechanism. +- Record pH/inoculation interventions and RNA/cDNA abundance-assay scope; keep experimental provenance, without + treating proportions as direct cell counts. +- Retain methane formate-only failure and limited mixed-substrate monoculture uptake, not unconditional formate + growth or unmeasured pathway flux. +- Keep M. barkeri-to-fermenter direction explicitly as proposed product-removal feedback, not reverse substrate + donation. +- Retain increased cellulose degradation and pH alongside unchanged fermenter growth; describe similar reported + growth yields without inventing a significance test for yield. +- Distinguish consumption of formate/acetate from reduced butyrate/lactate production and qualify pH mediation. +- Preserve both exact-pair memberships and NCIMB 8052 withheld GTDB grounding; the M. mazei comparison is not an + additional member. +- All five reference caches and unrelated top-level YAML blocks preserved; primary XML stays outside git. +- MFC sources abstract-bounded; two primary main bodies/Methods/tables/captions read, no visual images or supplements + claimed. +- No new structure or Edison spend. Self-adversarial review is not independent approval or completion of all 460 + records. +verification: + status: local_validation_complete + checks: 30 + records: 460 + nodes: 1474 + edges: 713 + review_status_counts: + needs_research: 3 + pending: 351 + reviewed: 106 + structural_defects: 0 + network_errors: 0 + network_warnings: 25 + new_network_warnings: 0 + unchanged_raw_blocks: 53 + snippet_counts: + MATCH: 79 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + published_description_coverage: + pages: 456 + node_descriptions: 1460 + edge_descriptions: 705 + render_determinism: passed + regressions: 247 passed in 163.73s (0:02:43) + rights: 3 passed in 1.48s + rights_import_root_verified: true + caches_unchanged: true + primary_artifact_hashes_rechecked: true + participant_connectivity_and_gtdb_census_tests_unchanged: true diff --git a/reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml b/reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml new file mode 100644 index 000000000..9e9576b75 --- /dev/null +++ b/reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml @@ -0,0 +1,289 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: db05129c5f8a9fb47b6ed716405dce1be845a207 +issues: +- 1324 +- 1325 +- 1326 +open_nongraph_followups: +- 1327 +issue_deduplication: + all_state_issue_titles_bodies: 665 + ignored_hidden_local_files_included: true + comments_exhaustive: false + relevant_issues_read: + - 1093 + - 965 + - 353 + - 258 + finding: 'No duplicate exact-record graph issue in searched scope; #965 concerns a different methane panel.' +reference_cache_original_hashes: + references_cache/PMID_17695929.md: 0a6d3e9ad135d3fe881f76e15e22b3e279efa320996df6bb82d2b598a2f07c87 + references_cache/PMID_18725730.md: 474fa53897b2d368427ee153d7dca517de6deb0a4282fda7c8c68d52e4b7b5d3 + references_cache/PMID_25023325.md: f7a1480962fad030f4ad09055620073fdd4dfd22adcef1d4afe357d43386cf18 + references_cache/PMID_28191038.md: fb32f16dc75d0e39eee473d5d206a61e8a3e704b92311d465041f84559684043 + references_cache/PMID_28191038.txt: 49ca6d1ea53da6637ee0f6d52d7b4f6489dbef5e67007f12a1759b8ad4fd4b5e +limitations: +- No new nodes/arrows and no Edison spend. Four exact node renames; three arrows removed. +- MFC sources abstract-bounded; AECC ABE and cellulose-methane main bodies read. Images/supplements not visually + inspected. +- Primary XML remains outside git; all five reference caches unchanged. ABE primary-body detail documented in explanations + and this ledger; quoted snippets remain the cached abstract. +- 'Separate non-graph followup #1327 remains open; unrelated top-level raw YAML blocks preserved.' +- Self-adversarial review is not independent approval or corpus completion. Protected checks and queue remain required. +records: +- path: kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml + id: CommunityMech:000175 + original_sha256: f26ac9c808de9e10d5a521ae725163bda200335d9cd63120f267b4a54566b26a + record_sha256: bafb8c0e58150b2e586e92c84725b0e3ad88001a64c2d1acb1d2889ede2810b3 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml + scope: Whole record and all three original nodes plus both original arrows; source scope bounded below. + summary: Retain the supported fermentation-to-current link with residual-pool and non-obligate-syntrophy limits.; + Preserve binary current and improved CMC degradation without categorical reciprocal mutualism.; Preserve both + substrate-dependent localization patterns; remove its unsupported causal arrow and niche typing. + renamed_nodes: + Substrate-Dependent Spatial Partitioning: Observed Substrate-Dependent Spatial Distribution + node_decisions: + - node: Cellulose Fermentation Feeding Electrode Respiration + rationale: Retain fermentation-to-current supply as CROSS_FEEDING; the repository SYNTROPHY product-removal + mechanism is not isolated by the accessible abstract. + - node: Defined Binary Electricity Production + rationale: Preserve binary current and improved CMC degradation without categorical reciprocal mutualism. + - node: Observed Substrate-Dependent Spatial Distribution + rationale: Preserve both substrate-dependent localization patterns; remove its unsupported causal arrow and + niche typing. + edges_before: + - source: Cellulose Fermentation Feeding Electrode Respiration + target: Defined Binary Electricity Production + description: 'Fermentation products from C. cellulolyticum provide the carbon and electron flow that allows + the binary coculture to respire on the anode and produce current from cellulose. + + ' + - source: Substrate-Dependent Spatial Partitioning + target: Defined Binary Electricity Production + description: 'Particulate cellulose separates cellulolytic activity on suspended particles from Geobacter-rich + anode respiration, preserving the cellulose-to-electricity division of labor. + + ' + edges_after: + - source: Cellulose Fermentation Feeding Electrode Respiration + target: Defined Binary Electricity Production + description: Fermentative conversion of cellulose supplies electron-donor products for G. sulfurreducens anode + respiration, enabling current from substrates on which neither pure culture produced electricity. The conversion + is supported by the binary-versus-pure-culture comparison; the accessible abstract does not resolve each metabolite + contribution or transfer rate. + retained_edge_decisions: + - source: Cellulose Fermentation Feeding Electrode Respiration + target: Defined Binary Electricity Production + rationale: Fermentative conversion of cellulose supplies electron-donor products for G. sulfurreducens anode + respiration, enabling current from substrates on which neither pure culture produced electricity. The conversion + is supported by the binary-versus-pure-culture comparison; the accessible abstract does not resolve each metabolite + contribution or transfer rate. + removed_edge_decisions: + - source: Substrate-Dependent Spatial Partitioning + target: Defined Binary Electricity Production + description: 'Particulate cellulose separates cellulolytic activity on suspended particles from Geobacter-rich + anode respiration, preserving the cellulose-to-electricity division of labor. + + ' + rationale: Substrate-dependent localization is not an experimentally established cause of electricity generation. + references: + - PMID:17695929 + - PMID:18725730 + issues: + - 1324 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + source_review: + PMID:17695929: + url: https://pubmed.ncbi.nlm.nih.gov/17695929/ + reviewed_scope: Fresh primary abstract, cached abstract and author-institution bibliographic record; no full + body obtained through attempted public DOI/search routes. Access-attempt limit, not a global absence claim. + PMID:18725730: + url: https://pubmed.ncbi.nlm.nih.gov/18725730/ + reviewed_scope: Fresh primary abstract, cached abstract and author-institution bibliographic record; no full + body obtained through attempted public DOI/search routes. Access-attempt limit, not a global absence claim. + history_files: + - history/records/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture/2026-10-05T234230Z-codex-ce1a08.yaml +- path: kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml + id: CommunityMech:000323 + original_sha256: 5cdc48563e8dd1d7329d626dfc3dda7a1c2d50baae327e241753603f6da4ed16 + record_sha256: caf85d65ddbfd4b6c591335118414b5a2ceda81b17fbd201a4b1c8fb8641ce2c + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml + scope: Whole record and all three original nodes plus both original arrows; source scope bounded below. + summary: Retain substrate provision and measured output; remove the unsupported arrow asserting that provision + determines competition dynamics.; Retain qualified in-situ acid support; remove the cosubstrate-to-upstream-saccharification + arrow and avoid traced-flux or necessity claims.; Preserve experimental abundance dynamics and operating-condition + comparisons without categorical competition or direct-cell-count claims. + renamed_nodes: + Cooperation and Competition During Coculture Dynamics: Population Dynamics and Proposed Competition + node_decisions: + - node: Lignocellulose Saccharification Feeding Solventogenesis + rationale: Retain substrate provision and measured output; remove the unsupported arrow asserting that provision + determines competition dynamics. + - node: Butyric Acid Support of Butanol Production + rationale: Retain qualified in-situ acid support; remove the cosubstrate-to-upstream-saccharification arrow + and avoid traced-flux or necessity claims. + - node: Population Dynamics and Proposed Competition + rationale: Preserve experimental abundance dynamics and operating-condition comparisons without categorical + competition or direct-cell-count claims. + edges_before: + - source: Lignocellulose Saccharification Feeding Solventogenesis + target: Cooperation and Competition During Coculture Dynamics + description: 'C. cellulovorans product release couples AECC saccharification to C. beijerinckii solventogenesis, + creating the two-strain abundance dynamics tracked as cooperation and competition during coculture. + + ' + - source: Butyric Acid Support of Butanol Production + target: Lignocellulose Saccharification Feeding Solventogenesis + description: 'C. cellulovorans butyric-acid production is part of the in situ substrate supply that lets C. + beijerinckii convert AECC-derived intermediates to ABE solvents without external cellulase or butyric-acid + addition. + + ' + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: + - source: Lignocellulose Saccharification Feeding Solventogenesis + target: Cooperation and Competition During Coculture Dynamics + description: 'C. cellulovorans product release couples AECC saccharification to C. beijerinckii solventogenesis, + creating the two-strain abundance dynamics tracked as cooperation and competition during coculture. + + ' + rationale: The source supports cosubstrate provision and condition-dependent dynamics, not this directed mediator-to-outcome + relation. + - source: Butyric Acid Support of Butanol Production + target: Lignocellulose Saccharification Feeding Solventogenesis + description: 'C. cellulovorans butyric-acid production is part of the in situ substrate supply that lets C. + beijerinckii convert AECC-derived intermediates to ABE solvents without external cellulase or butyric-acid + addition. + + ' + rationale: The source supports cosubstrate provision and condition-dependent dynamics, not this directed mediator-to-outcome + relation. + references: + - PMID:25023325 + issues: + - 1325 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + source_review: + PMID:25023325: + pmcid: PMC4223388 + url: https://europepmc.org/articles/PMC4223388 + path: /private/tmp/communitymech-batch19/PMC4223388.xml + sha256: 6a213942846cec1ba99d6fe3df0d65f9add34568a818adfb69fce41cac2c8968 + reviewed_scope: Full primary Background, Results/Discussion, Conclusions, Methods, four main figure captions + and Table 1 read; images not visually inspected. Europe PMC marks the article open access; XML copyright + notice alone does not state a license, so no full text is added to the repository. + stored_in_repository: false + history_files: + - history/records/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture/2026-10-05T234230Z-codex-a71416.yaml +- path: kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml + id: CommunityMech:000174 + original_sha256: 34f7bb765800398a1514972aa5de38e1b03804e0bbcd714e0a33c65b557aece4 + record_sha256: c6b526dc6a76ffb307bdd56cc43df3b3365fc2def4fe027d53924869f5746d78 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml + scope: Whole record and all three original nodes plus both original arrows; source scope bounded below. + summary: Retain cellulose-derived precursor supply and methane link; distinguish measured pools from resolved + flux and exclude other VFAs from blanket uptake.; Preserve coculture-specific multisubstrate findings and negative + controls; qualify pathway/feedback inference without inventing reverse donation.; Preserve improved cellulose + degradation and pH, while qualifying mediation and retaining unchanged fermenter growth rather than categorical + mutualism. + renamed_nodes: + Multi-Substrate Methanogenesis by M. barkeri: Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri + Methanogen-Enabled Cellulose Degradation and pH Stabilization: Coculture-Associated Cellulose Degradation and + pH Stabilization + node_decisions: + - node: Cellulose Fermentation to Methanogenesis Precursors + rationale: Retain cellulose-derived precursor supply and methane link; distinguish measured pools from resolved + flux and exclude other VFAs from blanket uptake. + - node: Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri + rationale: Preserve coculture-specific multisubstrate findings and negative controls; qualify pathway/feedback + inference without inventing reverse donation. + - node: Coculture-Associated Cellulose Degradation and pH Stabilization + rationale: Preserve improved cellulose degradation and pH, while qualifying mediation and retaining unchanged + fermenter growth rather than categorical mutualism. + edges_before: + - source: Cellulose Fermentation to Methanogenesis Precursors + target: Multi-Substrate Methanogenesis by M. barkeri + description: 'Hydrogen, formate, and acetate released during C. cellulovorans cellulose fermentation supply + the substrates consumed by M. barkeri for multi-substrate methanogenesis. + + ' + - source: Multi-Substrate Methanogenesis by M. barkeri + target: Methanogen-Enabled Cellulose Degradation and pH Stabilization + description: 'M. barkeri consumption of cellulose-fermentation products lowers hydrogen and volatile fatty acid + accumulation, stabilizing pH and improving cellulose degradation by C. cellulovorans. + + ' + edges_after: + - source: Cellulose Fermentation to Methanogenesis Precursors + target: Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri + description: Cellulose fermentation supplies hydrogen, formate and acetate for coculture-associated methanogenesis + by M. barkeri. Exact-pair gas/product profiles and controls support this relationship, but do not resolve + each precursor contribution; formate use is condition-dependent rather than evidence that formate alone supports + the methanogen. + - source: Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri + target: Coculture-Associated Cellulose Degradation and pH Stabilization + description: HYPOTHESIZED - M. barkeri consumption of formate and acetate, together with hydrogen removal and + a changed C. cellulovorans fermentation pattern, reduces accumulated acid products and could help stabilize + pH and sustain cellulose degradation. The measured coculture outcomes support this model, but do not isolate + product removal or pH as the unique mediator. Lower butyrate/lactate pools are not evidence that the methanogen + consumed those acids. + retained_edge_decisions: + - source: Cellulose Fermentation to Methanogenesis Precursors + target: Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri + rationale: Cellulose fermentation supplies hydrogen, formate and acetate for coculture-associated methanogenesis + by M. barkeri. Exact-pair gas/product profiles and controls support this relationship, but do not resolve + each precursor contribution; formate use is condition-dependent rather than evidence that formate alone supports + the methanogen. + - source: Coculture-Associated Multi-Substrate Methanogenesis by M. barkeri + target: Coculture-Associated Cellulose Degradation and pH Stabilization + rationale: HYPOTHESIZED - M. barkeri consumption of formate and acetate, together with hydrogen removal and + a changed C. cellulovorans fermentation pattern, reduces accumulated acid products and could help stabilize + pH and sustain cellulose degradation. The measured coculture outcomes support this model, but do not isolate + product removal or pH as the unique mediator. Lower butyrate/lactate pools are not evidence that the methanogen + consumed those acids. + removed_edge_decisions: [] + references: + - PMID:28191038 + issues: + - 1326 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + source_review: + PMID:28191038: + pmcid: PMC5297212 + url: https://europepmc.org/articles/PMC5297212 + path: /private/tmp/communitymech-batch19/PMC5297212.xml + sha256: 341b838b72428a0cbc581db1acb8df23054e24ec8eddfdd8ca653d353f77bc16 + reviewed_scope: Full primary Background, Methods, Results, Discussion, Conclusions, main table and six figure + captions read. CC BY 4.0. Supplements and images not inspected; descriptions of supplement results were + read in the main body. + stored_in_repository: false + history_files: + - history/records/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture/2026-10-05T234231Z-codex-aa4e0f.yaml +post_edit_adversarial_corrections: +- issue: 1324 + correction: Use CROSS_FEEDING for MFC supply after checking the exact repository SYNTROPHY definition; retain + the authors' terminology in prose with limits. +- issue: 1326 + correction: Separate the stated nonsignificant cell-growth comparison from numerically similar growth yields; + do not invent a significance test for yield. diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index 21c995081..ae099dcca 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -105,9 +105,9 @@ kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml Comm kb/communities/Clostridium_Autoethanogenum_Kluyveri_Syngas_Coculture.yaml CommunityMech:000172 21ed35857776bcd6e203c18ade2249e16cc8abb31fea0c5bc169df9b394c8861 3 2 96.7 reports/causal_graph_review/decisions/20261005-three-records-batch18.yaml reviewed kb/communities/Clostridium_Caldicellulosiruptor_Minimal_Medium_Coculture.yaml CommunityMech:000193 d4d2ba27f20dc52220bd8e443288c91b3b7e7a0606f8c2cc4855d63e48423e20 3 0 65.0 reports/causal_graph_review/decisions/20261005-three-records-batch18.yaml reviewed kb/communities/Clostridium_Carboxidivorans_Kluyveri_CO_Chain_Elongation_Coculture.yaml CommunityMech:000266 dfc0feb9084b682e6d5f9dfc9529d9ae7f146e31371d63c63960ffe6a3fd391a 3 2 96.7 reports/causal_graph_review/decisions/20261005-three-records-batch18.yaml reviewed -kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml CommunityMech:000175 f26ac9c808de9e10d5a521ae725163bda200335d9cd63120f267b4a54566b26a 3 2 100.0 pending -kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml CommunityMech:000323 5cdc48563e8dd1d7329d626dfc3dda7a1c2d50baae327e241753603f6da4ed16 3 2 100.0 pending -kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml CommunityMech:000174 34f7bb765800398a1514972aa5de38e1b03804e0bbcd714e0a33c65b557aece4 3 2 100.0 pending +kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml CommunityMech:000175 bafb8c0e58150b2e586e92c84725b0e3ad88001a64c2d1acb1d2889ede2810b3 3 1 83.3 reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml reviewed +kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml CommunityMech:000323 caf85d65ddbfd4b6c591335118414b5a2ceda81b17fbd201a4b1c8fb8641ce2c 3 0 71.7 reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml reviewed +kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml CommunityMech:000174 c6b526dc6a76ffb307bdd56cc43df3b3365fc2def4fe027d53924869f5746d78 3 2 96.7 reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml reviewed kb/communities/Clostridium_Cellulovorans_Rhodopseudomonas_Cellulose_Biohydrogen_Coculture.yaml CommunityMech:000264 784e79c6f8f3a4e87cabd49443686dce3284ed635752ca1dad687677a88b4004 3 2 100.0 pending kb/communities/Clostridium_Ecoli_Nitratidesulfovibrio_Minority_Mediator_Consortium.yaml CommunityMech:000333 2be858bacadcd30dc027e1b78c106675bebf13d50fd5d05221cc09c731e27cd2 4 2 100.0 pending kb/communities/Clostridium_Ljungdahlii_Kluyveri_Syngas_Alcohol_Coculture.yaml CommunityMech:000202 073efc4de28a6503de9a6ca62e8078c01ef5a5a779fdf31dc7a8dbe960cb6c05 4 2 100.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index 84d94fefa..49d7f4124 100644 --- a/reports/causal_graph_review/summary.json +++ b/reports/causal_graph_review/summary.json @@ -3,13 +3,13 @@ "semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.", "records": 460, "nodes": 1474, - "edges": 716, + "edges": 713, "records_without_nodes": 8, - "records_without_edges": 139, + "records_without_edges": 140, "review_status_counts": { "needs_research": 3, - "pending": 354, - "reviewed": 103 + "pending": 351, + "reviewed": 106 }, "structural_defects": [], "network_audit": [ diff --git a/reports/causal_graph_review/validation-20261005-batch19.json b/reports/causal_graph_review/validation-20261005-batch19.json new file mode 100644 index 000000000..138d09350 --- /dev/null +++ b/reports/causal_graph_review/validation-20261005-batch19.json @@ -0,0 +1,560 @@ +{ + "base_commit": "db05129c5f8a9fb47b6ed716405dce1be845a207", + "scope": [ + "kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml", + "kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml", + "kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml" + ], + "reference_validator_version": "0.1.7", + "results": [ + { + "check": "Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture-schema", + "command": [ + "linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "No issues found\n" + }, + { + "check": "Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture-strict", + "command": [ + "python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture-strict.tsv", + "kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "Validating 1 files with 1 workers; schema=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: /Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture-strict.tsv\n" + }, + { + "check": "Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture-terms", + "command": [ + "linkml-term-validator", + "validate-data", + "kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "\u2705 Validation passed\n" + }, + { + "check": "Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture-references-explained", + "command": [ + "linkml-reference-validator", + "validate", + "data", + "kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "Validating kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_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": "Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture-snippets", + "command": [ + "python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "# 28 evidence snippets scanned across 1 files\n MATCH 28\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": "Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture-rank", + "command": [ + "python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000175\",\n \"name\": \"Clostridium cellulolyticum-Geobacter sulfurreducens Cellulose MFC Coculture\",\n \"score\": 83.3,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 8,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml\"\n }\n]\n" + }, + { + "check": "Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture-history-0", + "command": [ + "linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture/2026-10-05T234230Z-codex-ce1a08.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "No issues found\n" + }, + { + "check": "Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture-schema", + "command": [ + "linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "No issues found\n" + }, + { + "check": "Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture-strict", + "command": [ + "python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture-strict.tsv", + "kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "Validating 1 files with 1 workers; schema=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: /Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture-strict.tsv\n" + }, + { + "check": "Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture-terms", + "command": [ + "linkml-term-validator", + "validate-data", + "kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "\u2705 Validation passed\n" + }, + { + "check": "Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture-references-explained", + "command": [ + "linkml-reference-validator", + "validate", + "data", + "kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "Validating kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_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": "Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture-snippets", + "command": [ + "python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "# 23 evidence snippets scanned across 1 files\n MATCH 23\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": "Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture-rank", + "command": [ + "python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000323\",\n \"name\": \"Clostridium cellulovorans-Beijerinckii AECC ABE Coculture\",\n \"score\": 71.7,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 6,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture.yaml\"\n }\n]\n" + }, + { + "check": "Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture-history-0", + "command": [ + "linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture/2026-10-05T234230Z-codex-a71416.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "No issues found\n" + }, + { + "check": "Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture-schema", + "command": [ + "linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "No issues found\n" + }, + { + "check": "Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture-strict", + "command": [ + "python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture-strict.tsv", + "kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "Validating 1 files with 1 workers; schema=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: /Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture-strict.tsv\n" + }, + { + "check": "Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture-terms", + "command": [ + "linkml-term-validator", + "validate-data", + "kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "\u2705 Validation passed\n" + }, + { + "check": "Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture-references-explained", + "command": [ + "linkml-reference-validator", + "validate", + "data", + "kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "Validating kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_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": "Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture-snippets", + "command": [ + "python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "# 28 evidence snippets scanned across 1 files\n MATCH 28\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": "Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture-rank", + "command": [ + "python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000174\",\n \"name\": \"Clostridium cellulovorans-Methanosarcina barkeri Cellulose Methane Coculture\",\n \"score\": 96.7,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 8,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml\"\n }\n]\n" + }, + { + "check": "Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture-history-0", + "command": [ + "linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture/2026-10-05T234231Z-codex-aa4e0f.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "No issues found\n" + }, + { + "check": "inventory", + "command": [ + "python3", + "reports/causal_graph_review/build_inventory.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "{\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\": 1474,\n \"edges\": 713,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 140,\n \"review_status_counts\": {\n \"needs_research\": 3,\n \"pending\": 351,\n \"reviewed\": 106\n },\n \"structural_defects\": []\n}\n" + }, + { + "check": "network", + "command": [ + "python3", + "-m", + "communitymech.cli", + "audit-network", + "--json" + ], + "exit_code": 1, + "expected_exit_codes": [ + 1 + ], + "output": "Pinus massoniana' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Protective Enzyme and Resistance-Gene Activation\",\n \"interaction_index\": 2,\n \"taxon\": \"Pinus massoniana\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Pinus massoniana' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Brocadia_Low_Nitrogen_Anammox_Consortium\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Ca. Kuenenia early-acclimation lineage\",\n \"taxon_id\": \"NCBITaxon:380738\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Ca. Kuenenia early-acclimation lineage\",\n \"term\": {\n \"id\": \"NCBITaxon:380738\",\n \"label\": \"Candidatus Kuenenia\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"Ca. Kuenenia was resolved at genus level as an early-acclimation anammox lineage that was ultimately replaced by Ca. Brocadia.\"\n },\n \"functional_role\": [\n \"PRIMARY_PRODUCER\"\n ],\n \"evidence\": [\n {\n \"reference\": \"PMID:42323145\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"COMPUTATIONAL\",\n \"snippet\": \"During early acclimation, Ca. Kuenenia reduced the expression of costly biosynthetic pathways\",\n \"explanation\": \"Supports Ca. Kuenenia as the early-acclimation lineage tracked in the biofilter succession study.\"\n }\n ]\n },\n \"message\": \"Taxon 'Ca. Kuenenia early-acclimation lineage' has no interactions\"\n }\n ],\n \"Mangrove_Benzene_MFC_Bioanode_Consortium\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pelobacter\",\n \"taxon_id\": \"NCBITaxon:18\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pelobacter\",\n \"term\": {\n \"id\": \"NCBITaxon:18\",\n \"label\": \"Pelobacter\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"Pelobacter was a lower-abundance genus in the benzene-fed 16S profile; no species-level identity or functional role was resolved.\\n\"\n },\n \"relative_abundance\": 2.22,\n \"relative_abundance_unit\": \"percent\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41210787\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pelobacter, Desulfurumonas, and Pseudomonas were also identified at 2.22, 1.64, and 0.87%\",\n \"explanation\": \"Supports Pelobacter as a minor detected genus in the benzene-fed MFC biofilm.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pelobacter' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas\",\n \"taxon_id\": \"NCBITaxon:286\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas\",\n \"term\": {\n \"id\": \"NCBITaxon:286\",\n \"label\": \"Pseudomonas\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"Pseudomonas was a lower-abundance genus in the benzene-fed 16S profile; no species-level identity or functional role was resolved.\\n\"\n },\n \"relative_abundance\": 0.87,\n \"relative_abundance_unit\": \"percent\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41210787\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pelobacter, Desulfurumonas, and Pseudomonas were also identified at 2.22, 1.64, and 0.87%\",\n \"explanation\": \"Supports Pseudomonas as a minor detected genus in the benzene-fed MFC biofilm.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas' has no interactions\"\n }\n ],\n \"Nitrifying_Wastewater_Ammonia_Oxidizing_Consortium\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Legionella MAGs\",\n \"taxon_id\": \"NCBITaxon:445\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Legionella MAGs\",\n \"term\": {\n \"id\": \"NCBITaxon:445\",\n \"label\": \"Legionella\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The study detected Legionella-affiliated MAGs and used them in a virulence-gene risk assessment; the source did not assert pathogenicity for a cultured Legionella isolate.\\n\"\n },\n \"abundance_value\": \"Lower-abundance Legionella-affiliated MAGs detected during metagenomic risk assessment.\\n\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41457319\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"COMPUTATIONAL\",\n \"snippet\": \"detection of waterborne pathogens from the Legionella genus\",\n \"explanation\": \"Supports Legionella-affiliated lower-abundance bins as monitored biosafety-relevant members of the consortium.\\n\"\n }\n ]\n },\n \"message\": \"Taxon 'Legionella MAGs' 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": "render", + "command": [ + "python3", + "-m", + "communitymech.render" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "South_Bay_Salt_Pond_Methane_Restoration_Community.html\n \u2713 Soy_Sauce_Temporal_SevenSpecies_SynCom.yaml \u2192 docs/communities/Soy_Sauce_Temporal_SevenSpecies_SynCom.html\n \u2713 Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.yaml \u2192 docs/communities/Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.html\n \u2713 Soybean_N_Fixation_sfSynCom.yaml \u2192 docs/communities/Soybean_N_Fixation_sfSynCom.html\n \u2713 Soymilk_Mixed_Starter_Metabolic_Division_SynCom.yaml \u2192 docs/communities/Soymilk_Mixed_Starter_Metabolic_Division_SynCom.html\n \u2713 Space_Habitat_SevenMember_Stress_Tolerance_SynCom.yaml \u2192 docs/communities/Space_Habitat_SevenMember_Stress_Tolerance_SynCom.html\n \u2713 Sphingobium_Nitrososphaera_Phenanthrene_Carbon_SynCom.yaml \u2192 docs/communities/Sphingobium_Nitrososphaera_Phenanthrene_Carbon_SynCom.html\n \u2713 Sphingobium_Rhodococcus_Lignin_Dimer_Valorization_Coculture.yaml \u2192 docs/communities/Sphingobium_Rhodococcus_Lignin_Dimer_Valorization_Coculture.html\n \u2713 Staged_Cattle_Manure_Ensifer_Bacillus_SynCom.yaml \u2192 docs/communities/Staged_Cattle_Manure_Ensifer_Bacillus_SynCom.html\n \u2713 Staphylococcus_Candida_Context_Dependent_Biofilm_Coculture.yaml \u2192 docs/communities/Staphylococcus_Candida_Context_Dependent_Biofilm_Coculture.html\n \u2713 Stordalen_Mire_Methylotrophic_Methanogenesis_Community.yaml \u2192 docs/communities/Stordalen_Mire_Methylotrophic_Methanogenesis_Community.html\n \u2713 Streptomyces_A2_A5_A11_M7_Pesticide_Consortium.yaml \u2192 docs/communities/Streptomyces_A2_A5_A11_M7_Pesticide_Consortium.html\n \u2713 Subsurface_Carboxydocella_CO_Aquifer_Community.yaml \u2192 docs/communities/Subsurface_Carboxydocella_CO_Aquifer_Community.html\n \u2713 Suillus_Bacillus_Thiamine_Ectomycorrhizal_SynCom.yaml \u2192 docs/communities/Suillus_Bacillus_Thiamine_Ectomycorrhizal_SynCom.html\n \u2713 Sulfide_Spring_Autotrophic_CPR_Biofilm.yaml \u2192 docs/communities/Sulfide_Spring_Autotrophic_CPR_Biofilm.html\n \u2713 SynComBac10_Chicken_Intestinal_SynCom.yaml \u2192 docs/communities/SynComBac10_Chicken_Intestinal_SynCom.html\n \u2713 SynCom_ARC_Peanut_Aflatoxin_Nodulation.yaml \u2192 docs/communities/SynCom_ARC_Peanut_Aflatoxin_Nodulation.html\n \u2713 SynCom_BsBv_Cigar_Tobacco_Leaf_Fermentation.yaml \u2192 docs/communities/SynCom_BsBv_Cigar_Tobacco_Leaf_Fermentation.html\n \u2713 SynCom_Chlorella_sorokiniana_Biogas_Slurry_Coupling_System.yaml \u2192 docs/communities/SynCom_Chlorella_sorokiniana_Biogas_Slurry_Coupling_System.html\n \u2713 SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.yaml \u2192 docs/communities/SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.html\n \u2713 SynCom_Pseudomonas_Rahnella_Artemisia_Phytoremediation.yaml \u2192 docs/communities/SynCom_Pseudomonas_Rahnella_Artemisia_Phytoremediation.html\n \u2713 SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml \u2192 docs/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.html\n \u2713 SynCom_Y_Agrobacterium_Bacillus_Biofilm_Biocontrol_Coculture.yaml \u2192 docs/communities/SynCom_Y_Agrobacterium_Bacillus_Biofilm_Biocontrol_Coculture.html\n \u2713 Synechococcus_Azotobacter_Photoproduction_Mutualism.yaml \u2192 docs/communities/Synechococcus_Azotobacter_Photoproduction_Mutualism.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to docs/communities\n \u2713 Generated browser at docs/browser.html\n \u2713 Generated landing at docs/index.html\n" + }, + { + "check": "render-repeat", + "command": [ + "python3", + "-m", + "communitymech.render" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "South_Bay_Salt_Pond_Methane_Restoration_Community.html\n \u2713 Soy_Sauce_Temporal_SevenSpecies_SynCom.yaml \u2192 docs/communities/Soy_Sauce_Temporal_SevenSpecies_SynCom.html\n \u2713 Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.yaml \u2192 docs/communities/Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.html\n \u2713 Soybean_N_Fixation_sfSynCom.yaml \u2192 docs/communities/Soybean_N_Fixation_sfSynCom.html\n \u2713 Soymilk_Mixed_Starter_Metabolic_Division_SynCom.yaml \u2192 docs/communities/Soymilk_Mixed_Starter_Metabolic_Division_SynCom.html\n \u2713 Space_Habitat_SevenMember_Stress_Tolerance_SynCom.yaml \u2192 docs/communities/Space_Habitat_SevenMember_Stress_Tolerance_SynCom.html\n \u2713 Sphingobium_Nitrososphaera_Phenanthrene_Carbon_SynCom.yaml \u2192 docs/communities/Sphingobium_Nitrososphaera_Phenanthrene_Carbon_SynCom.html\n \u2713 Sphingobium_Rhodococcus_Lignin_Dimer_Valorization_Coculture.yaml \u2192 docs/communities/Sphingobium_Rhodococcus_Lignin_Dimer_Valorization_Coculture.html\n \u2713 Staged_Cattle_Manure_Ensifer_Bacillus_SynCom.yaml \u2192 docs/communities/Staged_Cattle_Manure_Ensifer_Bacillus_SynCom.html\n \u2713 Staphylococcus_Candida_Context_Dependent_Biofilm_Coculture.yaml \u2192 docs/communities/Staphylococcus_Candida_Context_Dependent_Biofilm_Coculture.html\n \u2713 Stordalen_Mire_Methylotrophic_Methanogenesis_Community.yaml \u2192 docs/communities/Stordalen_Mire_Methylotrophic_Methanogenesis_Community.html\n \u2713 Streptomyces_A2_A5_A11_M7_Pesticide_Consortium.yaml \u2192 docs/communities/Streptomyces_A2_A5_A11_M7_Pesticide_Consortium.html\n \u2713 Subsurface_Carboxydocella_CO_Aquifer_Community.yaml \u2192 docs/communities/Subsurface_Carboxydocella_CO_Aquifer_Community.html\n \u2713 Suillus_Bacillus_Thiamine_Ectomycorrhizal_SynCom.yaml \u2192 docs/communities/Suillus_Bacillus_Thiamine_Ectomycorrhizal_SynCom.html\n \u2713 Sulfide_Spring_Autotrophic_CPR_Biofilm.yaml \u2192 docs/communities/Sulfide_Spring_Autotrophic_CPR_Biofilm.html\n \u2713 SynComBac10_Chicken_Intestinal_SynCom.yaml \u2192 docs/communities/SynComBac10_Chicken_Intestinal_SynCom.html\n \u2713 SynCom_ARC_Peanut_Aflatoxin_Nodulation.yaml \u2192 docs/communities/SynCom_ARC_Peanut_Aflatoxin_Nodulation.html\n \u2713 SynCom_BsBv_Cigar_Tobacco_Leaf_Fermentation.yaml \u2192 docs/communities/SynCom_BsBv_Cigar_Tobacco_Leaf_Fermentation.html\n \u2713 SynCom_Chlorella_sorokiniana_Biogas_Slurry_Coupling_System.yaml \u2192 docs/communities/SynCom_Chlorella_sorokiniana_Biogas_Slurry_Coupling_System.html\n \u2713 SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.yaml \u2192 docs/communities/SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.html\n \u2713 SynCom_Pseudomonas_Rahnella_Artemisia_Phytoremediation.yaml \u2192 docs/communities/SynCom_Pseudomonas_Rahnella_Artemisia_Phytoremediation.html\n \u2713 SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml \u2192 docs/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.html\n \u2713 SynCom_Y_Agrobacterium_Bacillus_Biofilm_Biocontrol_Coculture.yaml \u2192 docs/communities/SynCom_Y_Agrobacterium_Bacillus_Biofilm_Biocontrol_Coculture.html\n \u2713 Synechococcus_Azotobacter_Photoproduction_Mutualism.yaml \u2192 docs/communities/Synechococcus_Azotobacter_Photoproduction_Mutualism.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to docs/communities\n \u2713 Generated browser at docs/browser.html\n \u2713 Generated landing at docs/index.html\n" + }, + { + "check": "regressions", + "command": [ + "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_batch5.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch9.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" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "........................................................................ [ 29%]\n........................................................................ [ 58%]\n........................................................................ [ 87%]\n............................... [100%]\n247 passed in 163.73s (0:02:43)\n" + }, + { + "check": "workspace-rights", + "command": [ + "python3", + "-m", + "pytest", + "-q", + "tests/test_no_paywalled_text_in_repo.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "... [100%]\n3 passed in 1.48s\n" + }, + { + "check": "black", + "command": [ + "black", + "--check", + "tests/test_causal_review_batch19.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "All done! \u2728 \ud83c\udf70 \u2728\n1 file would be left unchanged.\n" + }, + { + "check": "ruff", + "command": [ + "ruff", + "check", + "tests/test_causal_review_batch19.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "All checks passed!\n" + }, + { + "check": "diff-check", + "command": [ + "git", + "diff", + "--check" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "output": "" + } + ], + "limitations": [ + "Source-based self-adversarial review, not independent approval or corpus completion.", + "Actual baseline just audit-network-json lacked its console entry point; exact repository CLI implementation used. No dependency changes.", + "All 665 prior issue titles/bodies and ignored-inclusive local reports/history/research/tests searched; comments not exhaustive.", + "Both MFC papers abstract-bounded. AECC ABE and cellulose-methane primary main bodies read. Images and supplements not visually inspected.", + "Nine nodes retained, four exact renames, three arrows removed and three retained. No new causal structure or Edison spend.", + "Non-graph followup #1327 remains open; unrelated YAML blocks and five reference caches byte-preserved.", + "Generated pages checked by deterministic rendering and exact parsed description coverage, not browser screenshots." + ], + "previous_attempts": [ + { + "status": "failed", + "failed_checks": [ + { + "check": "ruff", + "command": [ + "ruff", + "check", + "tests/test_causal_review_batch19.py" + ], + "exit_code": 1, + "expected_exit_codes": [ + 0 + ], + "output": "I001 [*] Import block is un-sorted or un-formatted\n --> tests/test_causal_review_batch19.py:3:1\n |\n1 | \"\"\"Keep cellulose-conversion outcomes distinct from untested mediation.\"\"\"\n2 |\n3 | / from collections import Counter\n4 | | import hashlib\n5 | | from pathlib import Path\n6 | |\n7 | | import yaml\n | |___________^\n8 |\n9 | ROOT = Path(__file__).resolve().parents[1]\n |\nhelp: Organize imports\n |\n2 |\n3 + import hashlib\n4 | from collections import Counter\n - import hashlib\n5 | from pathlib import Path\n |\n\nFound 1 error.\n[*] 1 fixable with the `--fix` option.\n" + } + ], + "reason_for_rerun": "Repeat all gates after inspecting the earlier attempt." + } + ], + "unchanged_raw_blocks": 53, + "reference_caches_unchanged": true, + "new_network_warnings": [], + "render_determinism": "passed", + "published_description_coverage": { + "pages": 456, + "node_descriptions": 1460, + "edge_descriptions": 705 + }, + "rights_import_root_verified": true, + "snippet_counts": { + "MATCH": 79, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1474, + "edges": 713, + "records_without_nodes": 8, + "records_without_edges": 140, + "review_status_counts": { + "needs_research": 3, + "pending": 351, + "reviewed": 106 + }, + "structural_defects": [] + }, + "network_warning_count": 25, + "status": "passed" +} diff --git a/tests/test_causal_review_batch19.py b/tests/test_causal_review_batch19.py new file mode 100644 index 000000000..a20ba634e --- /dev/null +++ b/tests/test_causal_review_batch19.py @@ -0,0 +1,125 @@ +"""Keep cellulose-conversion outcomes distinct from untested mediation.""" + +import hashlib +from collections import Counter +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261005-three-records-batch19.yaml" + + +def load(stem): + return yaml.safe_load((ROOT / "kb/communities" / (stem + ".yaml")).read_text()) + + +def test_mfc_current_does_not_require_demonstrated_spatial_separation(): + doc = load("Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture") + supply, current, spatial = doc["ecological_interactions"] + assert supply["interaction_type"] == "CROSS_FEEDING" + assert "does not demonstrate obligate growth dependence" in supply["description"] + assert "especially ethanol" in supply["description"] + assert supply["evidence"][1]["supports"] == "PARTIAL" + assert all("residual metabolite" in m["notes"] for m in supply["metabolites"][1:]) + assert supply["downstream"][0]["target"] == current["name"] + assert "42%" in current["description"] and "64%" in current["description"] + assert "interaction_type" not in current + assert "interaction_type" not in spatial and "downstream" not in spatial + assert spatial["name"] == "Observed Substrate-Dependent Spatial Distribution" + assert "With soluble CMC, both organisms" in spatial["description"] + + +def test_abe_cosubstrate_supply_is_not_upstream_saccharification_or_competition(): + doc = load("Clostridium_Cellulovorans_Beijerinckii_AECC_ABE_Coculture") + sugar, acid, dynamics = doc["ecological_interactions"] + assert all("downstream" not in n for n in (sugar, acid, dynamics)) + assert sugar["interaction_type"] == acid["interaction_type"] == "CROSS_FEEDING" + assert acid["description"].startswith("PARTIAL") + assert "without external butyric-acid addition" in acid["description"] + assert "isolate butyrate necessity" in acid["description"] + assert all(e["supports"] == "PARTIAL" for e in acid["evidence"]) + assert "interaction_type" not in dynamics + assert dynamics["description"].startswith("PARTIAL") + assert "RNA extraction and cDNA" in dynamics["description"] + assert "not direct cell counts" in dynamics["description"] + assert dynamics["evidence"][1]["evidence_source"] == "IN_VITRO" + assert "molecular mechanism unresolved" in dynamics["description"] + assert doc["taxonomy"][1]["taxon_term"]["gtdb_grounding_status"] == "WITHHELD" + + +def test_methane_preserves_formate_controls_and_qualifies_feedback(): + doc = load("Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture") + supply, methane, feedback = doc["ecological_interactions"] + assert supply["downstream"][0]["target"] == methane["name"] + assert methane["downstream"][0]["target"] == feedback["name"] + assert methane["source_taxon"]["term"]["id"] == "NCBITaxon:269797" + assert methane["target_taxon"]["term"]["id"] == "NCBITaxon:573061" + assert "not donation" in methane["description"] + assert "did not grow with formate alone after nine months" in methane["description"] + assert "1.5 mM of 10 mM" in methane["description"] + assert methane["downstream"][0]["description"].startswith("HYPOTHESIZED") + assert ( + "changed C. cellulovorans fermentation pattern" in methane["downstream"][0]["description"] + ) + assert "13.8%" in feedback["description"] + assert "cell growth was not significantly improved" in feedback["description"] + assert "reported growth yields were similar" in feedback["description"] + assert "interaction_type" not in feedback + assert {t["taxon_term"]["term"]["id"] for t in doc["taxonomy"]} == { + "NCBITaxon:573061", + "NCBITaxon:269797", + } + + +def test_batch19_hashes_scope_and_complete_graph_accounting(): + ledger = yaml.safe_load(LEDGER.read_text()) + assert ledger["independent_approval"] is False + assert ledger["issues"] == [1324, 1325, 1326] + assert ledger["open_nongraph_followups"] == [1327] + assert len(ledger["records"]) == 3 + totals = Counter() + for row in ledger["records"]: + raw = (ROOT / row["path"]).read_bytes() + assert hashlib.sha256(raw).hexdigest() == row["record_sha256"] + doc = yaml.safe_load(raw) + names = {n["name"] for n in doc["ecological_interactions"]} + assert len(names) == 3 + assert Counter(d["node"] for d in row["node_decisions"]) == Counter(names) + renames = row["renamed_nodes"] + before = { + (renames.get(e["source"], e["source"]), renames.get(e["target"], e["target"])) + for e in row["edges_before"] + } + after = {(e["source"], e["target"]) for e in row["edges_after"]} + removed = { + (renames.get(e["source"], e["source"]), renames.get(e["target"], e["target"])) + for e in row["removed_edge_decisions"] + } + assert before == after | removed and not after & removed + assert after == {(e["source"], e["target"]) for e in row["retained_edge_decisions"]} + assert after == { + (n["name"], e["target"]) + for n in doc["ecological_interactions"] + for e in n.get("downstream", []) + } + assert set(row["allowed_changed_fields"]) == { + "ecological_interactions", + "discussions", + "curation_history", + } + assert row["curation_events_added"] == 1 and len(row["history_files"]) == 1 + assert all((ROOT / p).is_file() for p in row["history_files"]) + assert all( + a.split("#", 1)[1] in names + for d in doc["discussions"] + for a in d.get("attaches_to", []) + if a.startswith("ecological_interactions#") + ) + totals.update( + before=len(before), after=len(after), removed=len(removed), renames=len(renames) + ) + assert totals == {"before": 6, "after": 3, "removed": 3, "renames": 4} + assert len(ledger["reference_cache_original_hashes"]) == 5 + for path, expected in ledger["reference_cache_original_hashes"].items(): + assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == expected