fermentation
(Cellobiose Hydrolysis And Glucose Scavenging Feedback
Downstream Effects:
-
→ Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity
-
Glucose scavenging by E. coli relieves feedback inhibition of C. phytofermentans cellulolytic-enzyme synthesis and increases cellulose-derived sugar flux through the consortium.
+
→ Measured Planktonic Conversion and Biofilm Biomass Outcomes
+
PARTIAL - glucose scavenging can relieve inhibition and sustain cellobiose conversion, consistent with glucose-addition, extracellular-enzyme and coculture comparisons. This supports the planktonic conversion model, not a direct measurement of biofilm ethanol output.
@@ -678,7 +667,7 @@ Evidence
PMID:33268782
- - SUPPORT (IN_VITRO)
+ - PARTIAL (IN_VITRO)
"E. coli consumed inhibitory byproducts from cellobiose catabolism"
@@ -704,18 +693,21 @@ Evidence
-
The two members exchange nutrients through biomass turnover: C. phytofermentans necromass supports E. coli growth, while E. coli necromass provides peptides or biomass-derived nutrients that promote C. phytofermentans growth and viability.
-
+
Added C. phytofermentans necromass supports aerobic E. coli growth, while filtered sonicated E. coli necromass enhances anaerobic C. phytofermentans growth. CFU measurements separately support better C. phytofermentans viability in coculture. PARTIAL - peptide mediation and the contribution of endogenous biomass turnover within intact consortia remain proposed; the reciprocal effects were tested in distinct assays.
-
Source Taxon: Clostridium phytofermentans ISDg
+
Participating Taxa:
-
Target Taxon: Escherichia coli K-12 MG1655
+ Clostridium phytofermentans ISDg,
+
+ Escherichia coli K-12 MG1655
+
+
@@ -729,25 +721,14 @@
Reciprocal Necromass Catabolism
-
Biological Processes:
-
-
Downstream Effects:
-
→ Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity
-
Reciprocal necromass catabolism transfers nutrients and energy between the two trophic levels, increasing C. phytofermentans and E. coli biomass accumulation.
+
→ Measured Planktonic Conversion and Biofilm Biomass Outcomes
+
PARTIAL - necromass-addition controls support resource recovery as a contributor to partner growth and consortium biomass. They do not isolate its contribution to all planktonic products or establish biofilm ethanol production.
@@ -790,9 +771,8 @@
Evidence
-
In colony biofilms, E. coli consumes oxygen and helps maintain an anoxic zone that allows the obligate anaerobe C. phytofermentans to persist during oxic perturbation, while E. coli occupies the more oxic upper biofilm region.
+
Oxygen microprofiles and species distributions support E. coli respiration maintaining an anoxic region after biofilms first grow anoxically. Fully oxic inoculation did not yield the enhanced consortium phenotype. PARTIAL - qPCR-based cell equivalents and spatial persistence do not alone measure viability or establish a colonization-facilitation effect.
Source Taxon: Escherichia coli K-12 MG1655
@@ -830,8 +810,8 @@
Biofilm Oxygen Partitioning
Downstream Effects:
-
→ Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity
-
E. coli oxygen consumption maintains an anoxic biofilm zone that lets the obligate anaerobe C. phytofermentans persist during oxic perturbation.
+
→ Measured Planktonic Conversion and Biofilm Biomass Outcomes
+
PARTIAL - biological oxygen consumption helps preserve an anoxic region after the anoxic-to-oxic transition and supports the biofilm biomass response. It is not a demonstrated driver of biofilm ethanol output, which was not directly measured.
@@ -873,10 +853,9 @@
Evidence
-
Cross-feeding, positive feedback, necromass catabolism, and oxygen partitioning let the C. phytofermentans-E. coli consortium deplete more cellobiose, produce more ethanol, and accumulate more planktonic and biofilm biomass than the summed monocultures.
+
Anoxic planktonic coculture depleted more cellobiose and glycerol and produced more ethanol and biomass than the summed monocultures. Anoxic-to-oxic biofilms accumulated more total biomass plus extracellular material; their cellobiose use and ethanol output were not directly measured. These condition-specific outcomes do not by themselves establish each mechanism or constitute a separate syntrophy process.
@@ -912,12 +891,6 @@
Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity
Biological Processes:
+
+ Knowledge gaps & discussions (1)
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ How much does each exchange mechanism contribute to viable biofilm biomass and product formation?
+
+
Glucose and necromass interventions support specific mechanisms, while oxygen profiles show a protected region after anoxic establishment. Partner-resolved transfer and viability assays would separate contributions. Direct biofilm substrate/product measurements are needed before assigning its inferred ethanol and cellobiose outcomes to these arrows.
+
+
Attaches to: ecological_interactions#Cellobiose Hydrolysis And Glucose Scavenging Feedback, ecological_interactions#Reciprocal Necromass-Supported Partner Growth, ecological_interactions#Biofilm Oxygen Partitioning, ecological_interactions#Measured Planktonic Conversion and Biofilm Biomass Outcomes
+
+
+
+
+
+
+
@@ -1483,8 +1475,6 @@
Evidence
var processes = [];
- processes.push("cellulose catabolic process");
-
processes.push("fermentation");
@@ -1526,15 +1516,11 @@
Evidence
var processes = [];
-
- processes.push("fermentation");
-
-
var evidenceCount = 2;
nodes.push({
id: intId,
- label: "Reciprocal Necromass Catabolism",
+ label: "Reciprocal Necromass-Supported Partner Growth",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -1543,23 +1529,26 @@
Evidence
});
- var srcKey = "Clostridium phytofermentans ISDg";
- if (taxonNodeIds[srcKey]) {
- links.push({ source: taxonNodeIds[srcKey], target: intId });
- }
+ var participantKeys = [
- var tgtKey = "Escherichia coli K-12 MG1655";
- if (taxonNodeIds[tgtKey]) {
- links.push({ source: intId, target: taxonNodeIds[tgtKey] });
- }
+ "Clostridium phytofermentans ISDg",
+
+ "Escherichia coli K-12 MG1655"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
})();
(function() {
var intId = "interaction:2";
- var intType = "COLONIZATION_FACILITATION";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -1601,7 +1590,7 @@
Evidence
(function() {
var intId = "interaction:3";
- var intType = "SYNTROPHY";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -1615,8 +1604,6 @@
Evidence
var processes = [];
- processes.push("cellulose catabolic process");
-
processes.push("biofilm formation");
@@ -1624,7 +1611,7 @@
Evidence
nodes.push({
id: intId,
- label: "Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity",
+ label: "Measured Planktonic Conversion and Biofilm Biomass Outcomes",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
diff --git a/docs/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.html b/docs/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.html
index 589b155ea..12deab713 100644
--- a/docs/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.html
+++ b/docs/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.html
@@ -601,6 +601,11 @@
Ecological Interactions
aria-hidden="true" data-symbol="symbolSquare"
data-color="#9f2ebb"> Mutualism
+
+ Other
+
@@ -610,7 +615,7 @@ Ecological Interactions
Cellulose Hydrolysis Feeds Yeast Fermentation
CROSS_FEEDING
- C. phytofermentans hydrolyzes alpha-cellulose and releases soluble sugars that can be fermented by S. cerevisiae cdt-1.
+ C. phytofermentans hydrolysis supplies soluble sugars, including cellodextrins and glucose, that support S. cerevisiae cdt-1. Cellulose is the upstream feedstock. The approximately 22 g/L ethanol result used added endoglucanase; unsupplemented coculture did not show the same productivity improvement. Under the low-oxygen ethanol-production regime, ethanol is an output rather than the proposed sugar-transfer currency.
Source Taxon: Clostridium phytofermentans ISDg
@@ -662,9 +667,8 @@ Cellulose Hydrolysis Feeds Yeast Fermentation
Downstream Effects:
-
→ Long-Term Symbiotic Population Maintenance
-
C. phytofermentans cellulose hydrolysis supplies soluble sugars that support yeast fermentation during the maintained bacterium-yeast population pairing.
-
+
→ Oxygen-Dependent Long-Term Population Maintenance
+
Bacterial cellulose hydrolysis provides soluble carbon that can sustain yeast in the oxygen-controlled culture. PARTIAL - the long-term viable-count comparison supports this cooperation but does not directly partition carbon transfer or isolate every stabilizing mechanism.
@@ -709,7 +713,7 @@ Evidence
Oxygen Protection of Anaerobic Cellulolytic Partner
MUTUALISM
- S. cerevisiae cdt-1 removes introduced oxygen, protecting oxygen-sensitive C. phytofermentans and allowing the coculture to persist under controlled oxygen delivery.
+ The oxygen-removal arm of a condition-dependent mutualism protects oxygen-sensitive C. phytofermentans, while bacterial sugar supply benefits the yeast. Semi-aerobic mono-/coculture comparisons support respiratory protection, and controlled low oxygen delivery supports yeast persistence. This is not a claim that either organism universally requires its partner under other culture conditions.
Source Taxon: Saccharomyces cerevisiae cdt-1
@@ -747,9 +751,8 @@ Oxygen Protection of Anaerobic Cellulolytic Partner
Downstream Effects:
-
→ Long-Term Symbiotic Population Maintenance
-
Yeast oxygen removal protects the anaerobic cellulolytic partner under controlled oxygen transfer, allowing both populations to persist in the long-term symbiosis.
-
+
→ Oxygen-Dependent Long-Term Population Maintenance
+
PARTIAL - yeast respiratory protection together with oxygen-supported yeast growth and bacterial sugar supply can stabilize the pairing. Oxygen-positive versus oxygen-negative viable-count controls support the conditional cooperation, without selectively measuring every mediator.
@@ -791,17 +794,20 @@ Evidence
-
Controlled diffusive oxygen transfer supported maintenance of both C. phytofermentans and S. cerevisiae cdt-1 populations for 50 days.
+
With controlled oxygen delivery, both partners remained culturable at the reported 30-, 40- and 50-day samples; without oxygen the yeast fell below detection before day 30. This long-term arm used 25 mL medium and 150 g/L alpha-cellulose. Population maintenance is a community outcome, distinct from the enzyme-assisted ethanol experiment and from an unconditional mutualism claim.
-
Source Taxon: Saccharomyces cerevisiae cdt-1
+
Participating Taxa:
-
Target Taxon: Clostridium phytofermentans ISDg
+ Clostridium phytofermentans ISDg,
+
+ Saccharomyces cerevisiae cdt-1
+
+
@@ -847,6 +853,25 @@
Evidence
+
+ Knowledge gaps & discussions (1)
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ How do oxygen delivery and hydrolytic capacity separately control persistence and ethanol productivity?
+
+
The oxygen controls support conditional cooperation and viable population maintenance, while additional endoglucanase improves conversion. These are different experimental arms. Mediator-specific or partner-resolved measurements would separate respiratory protection, sugar supply and enzyme effects without inferring universal obligacy or unsupplemented productivity gains.
+
+
Attaches to: ecological_interactions#Cellulose Hydrolysis Feeds Yeast Fermentation, ecological_interactions#Oxygen Protection of Anaerobic Cellulolytic Partner, ecological_interactions#Oxygen-Dependent Long-Term Population Maintenance
+
+
+
+
+
+
+
@@ -1378,7 +1403,7 @@
Evidence
(function() {
var intId = "interaction:2";
- var intType = "MUTUALISM";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
@@ -1391,7 +1416,7 @@
Evidence
nodes.push({
id: intId,
- label: "Long-Term Symbiotic Population Maintenance",
+ label: "Oxygen-Dependent Long-Term Population Maintenance",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -1400,17 +1425,20 @@
Evidence
});
- var srcKey = "Saccharomyces cerevisiae cdt-1";
- if (taxonNodeIds[srcKey]) {
- links.push({ source: taxonNodeIds[srcKey], target: intId });
- }
+ var participantKeys = [
- var tgtKey = "Clostridium phytofermentans ISDg";
- if (taxonNodeIds[tgtKey]) {
- links.push({ source: intId, target: taxonNodeIds[tgtKey] });
- }
+ "Clostridium phytofermentans ISDg",
+
+ "Saccharomyces cerevisiae cdt-1"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
})();
diff --git a/docs/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.html b/docs/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.html
index 32693743e..4c4254474 100644
--- a/docs/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.html
+++ b/docs/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.html
@@ -585,7 +585,7 @@
Ecological Interactions
Ecological interaction network for Clostridium-Thermoanaerobacter Cellulosic Bioethanol 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, commensalism).
+ Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding).
@@ -598,8 +598,8 @@
Ecological Interactions
Commensalism
+ aria-hidden="true" data-symbol="symbolTriangle2"
+ data-color="#929caa"> Other
@@ -610,7 +610,7 @@ Ecological Interactions
Cellulose Hydrolysis Supporting Coculture Fermentation
CROSS_FEEDING
- C. thermocellum LQRI supplies cellulolytic activity that enables the two-member coculture to ferment recalcitrant cellulose to ethanol under anaerobic process conditions.
+ PARTIAL - LQRI hydrolysis is proposed to supply soluble sugars to noncellulolytic, saccharolytic X514. Lower sugar accumulation in coculture supports this model, not directly traced transfer. Cellulose is the feedstock and ethanol the output, not the exchanged compounds; improved ethanol production does not imply universally improved cellulose utilization.
Source Taxon: Clostridium thermocellum LQRI
@@ -658,9 +658,8 @@ Cellulose Hydrolysis Supporting Coculture Fermentation
Downstream Effects:
-
→ X514-Enhanced Ethanolic Fermentation
-
C. thermocellum cellulose hydrolysis supplies the recalcitrant cellulosic substrate conversion that X514-containing cocultures redirect toward higher ethanol output.
-
+
→ Enhanced Ethanol Output in X514 Cocultures
+
PARTIAL - access to LQRI-derived soluble sugars can support X514 fermentation and higher community ethanol output. Partner flux and the separate contributions of sugar removal and operating conditions remain unresolved.
@@ -676,7 +675,7 @@ Evidence
PMID:23275517
- - SUPPORT (IN_VITRO)
+ - PARTIAL (IN_VITRO)
"improve bioethanol production from the fermentation of recalcitrant cellulosic materials"
@@ -689,7 +688,7 @@ Evidence
PMID:23275517
- - SUPPORT (IN_VITRO)
+ - PARTIAL (IN_VITRO)
"tested in the semicontinuous fermentor as a model system"
@@ -702,17 +701,20 @@ Evidence
-
Thermoanaerobacter X514 increased ethanol production in C. thermocellum cocultures, with stronger enhancement than the Thermoanaerobacter 39E comparator.
+
The 2011 abstract reports greater ethanol output in C. thermocellum cocultures and stronger enhancement with X514 than 39E. The separate LQRI-X514 fed-batch study shows condition-dependent improvements relative to LQRI monoculture. This is a community product phenotype, not demonstrated ethanol donation from X514 to LQRI.
-
Source Taxon: Thermoanaerobacter pseudethanolicus strain X514
+
Participating Taxa:
-
Target Taxon: Clostridium thermocellum LQRI
+ Clostridium thermocellum LQRI,
+
+ Thermoanaerobacter pseudethanolicus strain X514
+
+
@@ -776,18 +778,15 @@
Evidence
-
The higher ethanol performance of X514 cocultures was associated with a complete vitamin B12 biosynthesis pathway, suggesting a cofactor-linked mechanism for selecting robust ethanolic fermentation partners.
+
PARTIAL - comparative genomes associate X514 performance with B12 biosynthesis capacity; supplementation improved 39E ethanol production. This supports a proposed cofactor-related contribution, not demonstrated vitamin donation to LQRI or commensalism. The separate fed-batch study supplied vitamins and does not establish B12 autonomy.
Source Taxon: Thermoanaerobacter pseudethanolicus strain X514
-
Target Taxon: Clostridium thermocellum LQRI
-
Metabolites:
@@ -817,9 +816,8 @@
Vitamin B12-Linked Fermentation Robustness
Downstream Effects:
-
→ X514-Enhanced Ethanolic Fermentation
-
X514 cobalamin biosynthesis is associated with the partner's stronger ethanolic-fermentation enhancement in C. thermocellum cocultures.
-
+
→ Enhanced Ethanol Output in X514 Cocultures
+
HYPOTHESIZED - B12 biosynthesis may support X514 fermentation and thereby contribute to coculture ethanol output. Comparative genomes and the 39E supplementation response support this proposal, but do not selectively establish the causal contribution in X514.
@@ -835,7 +833,7 @@
Evidence
PMID:21868218
- - SUPPORT (IN_VITRO)
+ - PARTIAL (IN_VITRO)
"complete vitamin B(12) biosynthesis pathway"
@@ -848,7 +846,7 @@ Evidence
PMID:21868218
- - SUPPORT (IN_VITRO)
+ - PARTIAL (IN_VITRO)
"improved ethanol production in strain 39E by 203%"
@@ -864,6 +862,25 @@ Evidence
+
+ Knowledge gaps & discussions (1)
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ What is the causal contribution of sugar exchange and X514 B12 biosynthesis to community ethanol output?
+
+
Partner-resolved flux and selective X514 perturbation would distinguish the proposed mechanisms. The 2011 abstract supports the comparative association and 39E supplementation response, not vitamin transfer. The 2013 fed-batch medium contains added vitamins and its process comparisons are not a test of biosynthetic autonomy.
+
+
Attaches to: ecological_interactions#Cellulose Hydrolysis Supporting Coculture Fermentation, ecological_interactions#Enhanced Ethanol Output in X514 Cocultures, ecological_interactions#X514 B12 Biosynthesis and Proposed Fermentation Support
+
+
+
+
+
+
+
@@ -1290,7 +1307,7 @@ Evidence
(function() {
var intId = "interaction:1";
- var intType = "CROSS_FEEDING";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -1307,7 +1324,7 @@ Evidence
nodes.push({
id: intId,
- label: "X514-Enhanced Ethanolic Fermentation",
+ label: "Enhanced Ethanol Output in X514 Cocultures",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -1316,23 +1333,26 @@ Evidence
});
- var srcKey = "Thermoanaerobacter pseudethanolicus strain X514";
- if (taxonNodeIds[srcKey]) {
- links.push({ source: taxonNodeIds[srcKey], target: intId });
- }
+ var participantKeys = [
- var tgtKey = "Clostridium thermocellum LQRI";
- if (taxonNodeIds[tgtKey]) {
- links.push({ source: intId, target: taxonNodeIds[tgtKey] });
- }
+ "Clostridium thermocellum LQRI",
+
+ "Thermoanaerobacter pseudethanolicus strain X514"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
})();
(function() {
var intId = "interaction:2";
- var intType = "COMMENSALISM";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -1349,7 +1369,7 @@ Evidence
nodes.push({
id: intId,
- label: "Vitamin B12-Linked Fermentation Robustness",
+ label: "X514 B12 Biosynthesis and Proposed Fermentation Support",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -1365,11 +1385,6 @@ Evidence
- var tgtKey = "Clostridium thermocellum LQRI";
- if (taxonNodeIds[tgtKey]) {
- links.push({ source: intId, target: taxonNodeIds[tgtKey] });
- }
-
})();
diff --git a/history/records/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium/2026-10-06T005604Z-codex-b04d5d.yaml b/history/records/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium/2026-10-06T005604Z-codex-b04d5d.yaml
new file mode 100644
index 000000000..dd7eb3e5d
--- /dev/null
+++ b/history/records/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium/2026-10-06T005604Z-codex-b04d5d.yaml
@@ -0,0 +1,30 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml
+ slug: Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium
+session:
+ id: 2026-10-06T005604Z-codex-b04d5d
+ timestamp: '2026-10-06T00:56:04Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1335
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Preserve glucose cross-feeding and positive inhibition/enzyme controls while bounding
+ feedback and cellobiose-versus-polymer scope.; Represent reciprocal necromass assays with
+ both existing participants; retain growth and CFU support without isolating peptides or
+ asserting anaerobic metabolism in the aerobic assay.; Preserve oxygen consumption and
+ spatial partitioning after anoxic establishment; remove unsupported colonization typing
+ and bound qPCR interpretation.; Separate directly measured planktonic products from biofilm
+ mass and unmeasured biofilm product flux; remove aggregate endpoint syntrophy.
+ details: Source-based self-adversarial graph repairs; no new nodes/arrows. reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml
diff --git a/history/records/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture/2026-10-06T005604Z-codex-10cfff.yaml b/history/records/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture/2026-10-06T005604Z-codex-10cfff.yaml
new file mode 100644
index 000000000..923bd3c3d
--- /dev/null
+++ b/history/records/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture/2026-10-06T005604Z-codex-10cfff.yaml
@@ -0,0 +1,27 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml
+ slug: Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture
+session:
+ id: 2026-10-06T005604Z-codex-10cfff
+ timestamp: '2026-10-06T00:56:04Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1336
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Retain soluble-sugar cross-feeding with enzyme-assisted output context, distinguishing
+ feedstock, exchange and product.; Retain the positive respiratory-protection and conditional
+ mutualism evidence, not universal partner dependence.; Represent oxygen-dependent viable
+ population maintenance as a two-member outcome and keep the separate long-term assay conditions.
+ details: Source-based self-adversarial graph repairs; no new nodes/arrows. reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml
diff --git a/history/records/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture/2026-10-06T005605Z-codex-1f7709.yaml b/history/records/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture/2026-10-06T005605Z-codex-1f7709.yaml
new file mode 100644
index 000000000..9a4afe6db
--- /dev/null
+++ b/history/records/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture/2026-10-06T005605Z-codex-1f7709.yaml
@@ -0,0 +1,28 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml
+ slug: Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture
+session:
+ id: 2026-10-06T005605Z-codex-1f7709
+ timestamp: '2026-10-06T00:56:05Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1337
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Retain the proposed sugar-supply direction with flux and condition bounds, not
+ direct cellulose or ethanol donation.; Retain comparative community ethanol production
+ without an unsupported donor-recipient output relation.; Retain biosynthetic capacity
+ and the 39E intervention as support for an explicitly hypothesized X514 contribution,
+ not vitamin donation or commensalism.
+ details: Source-based self-adversarial graph repairs; no new nodes/arrows. reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml
diff --git a/kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml b/kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml
index 9e446cb86..2a233121e 100644
--- a/kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml
+++ b/kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml
@@ -133,9 +133,11 @@ taxonomy:
explanation: Supports the exact E. coli strain used.
ecological_interactions:
- name: Cellobiose Hydrolysis And Glucose Scavenging Feedback
- description: C. phytofermentans releases cellobiase activity that hydrolyzes cellobiose to glucose;
- E. coli consumes the released glucose, reducing product inhibition and creating a positive feedback
- loop that enhances cellulose-derived sugar catabolism.
+ description: C. phytofermentans extracellular cellobiase hydrolyzes cellobiose to glucose, supporting E. coli
+ cross-feeding. Glucose-addition and spent-medium enzyme assays support inhibitory feedback. PARTIAL - relief
+ through E. coli glucose consumption is the proposed consortium mechanism; its regulation and contribution to
+ each outcome are not selectively resolved. These consortium experiments use cellobiose, not direct polymer-cellulose
+ conversion.
interaction_type: CROSS_FEEDING
scope: PAIRWISE
source_taxon:
@@ -158,78 +160,73 @@ ecological_interactions:
id: CHEBI:17234
label: glucose
biological_processes:
- - preferred_term: cellulose catabolic process
- term:
- id: GO:0030245
- label: cellulose catabolic process
- preferred_term: fermentation
term:
id: GO:0006113
label: fermentation
downstream:
- - target: Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity
- description: Glucose scavenging by E. coli relieves feedback inhibition
- of C. phytofermentans cellulolytic-enzyme synthesis and increases
- cellulose-derived sugar flux through the consortium.
+ - target: Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ description: PARTIAL - glucose scavenging can relieve inhibition and sustain cellobiose conversion, consistent
+ with glucose-addition, extracellular-enzyme and coculture comparisons. This supports the planktonic conversion
+ model, not a direct measurement of biofilm ethanol output.
evidence:
- reference: PMID:33268782
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
snippet: E. coli consumed inhibitory byproducts from cellobiose catabolism
- explanation: Supports glucose/byproduct scavenging by E. coli as a positive interaction.
+ explanation: Supports the proposed feedback mechanism; primary glucose-addition and extracellular-cellobiase
+ experiments provide complementary support without resolving every consortium flux.
- reference: PMID:33268782
supports: SUPPORT
evidence_source: IN_VITRO
snippet: released cellobiase enzyme which hydrolyzed cellobiose into glucose extracellularly
explanation: Supports the extracellular cellobiose-to-glucose mechanism.
-- name: Reciprocal Necromass Catabolism
- description: >
- The two members exchange nutrients through biomass turnover: C. phytofermentans necromass
- supports E. coli growth, while E. coli necromass provides peptides or biomass-derived nutrients that
- promote C. phytofermentans growth and viability.
+- name: Reciprocal Necromass-Supported Partner Growth
+ description: Added C. phytofermentans necromass supports aerobic E. coli growth, while filtered sonicated E. coli
+ necromass enhances anaerobic C. phytofermentans growth. CFU measurements separately support better C. phytofermentans
+ viability in coculture. PARTIAL - peptide mediation and the contribution of endogenous biomass turnover within
+ intact consortia remain proposed; the reciprocal effects were tested in distinct assays.
interaction_type: CROSS_FEEDING
- scope: PAIRWISE
- source_taxon:
- preferred_term: Clostridium phytofermentans ISDg
- term:
- id: NCBITaxon:357809
- label: Lachnoclostridium phytofermentans ISDg
- target_taxon:
- preferred_term: Escherichia coli K-12 MG1655
- term:
- id: NCBITaxon:511145
- label: Escherichia coli str. K-12 substr. MG1655
+ scope: COMMUNITY_LEVEL
metabolites:
- preferred_term: peptide
term:
id: CHEBI:16670
label: peptide
- biological_processes:
- - preferred_term: fermentation
- term:
- id: GO:0006113
- label: fermentation
+ notes: Proposed growth-supporting component of E. coli necromass; the lysate and yeast-extract assays do not
+ isolate a specific peptide mediator.
downstream:
- - target: Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity
- description: Reciprocal necromass catabolism transfers nutrients and energy
- between the two trophic levels, increasing C. phytofermentans and E. coli
- biomass accumulation.
+ - target: Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ description: PARTIAL - necromass-addition controls support resource recovery as a contributor to partner growth
+ and consortium biomass. They do not isolate its contribution to all planktonic products or establish biofilm
+ ethanol production.
evidence:
- reference: PMID:33268782
supports: SUPPORT
evidence_source: IN_VITRO
snippet: E. coli necromass enhanced C. phytofermentans growth
- explanation: Supports necromass-mediated support from E. coli to C. phytofermentans.
+ explanation: Supports the named partner-growth response to necromass; the precise exchanged compounds and intact-consortium
+ contribution remain incompletely resolved.
- reference: PMID:33268782
supports: SUPPORT
evidence_source: IN_VITRO
snippet: C. phytofermentans necromass aided E. coli growth
- explanation: Supports the reciprocal necromass contribution to E. coli.
+ explanation: Supports the named partner-growth response to necromass; the precise exchanged compounds and intact-consortium
+ contribution remain incompletely resolved.
+ participating_taxa:
+ - preferred_term: Clostridium phytofermentans ISDg
+ term:
+ id: NCBITaxon:357809
+ label: Lachnoclostridium phytofermentans ISDg
+ - preferred_term: Escherichia coli K-12 MG1655
+ term:
+ id: NCBITaxon:511145
+ label: Escherichia coli str. K-12 substr. MG1655
- name: Biofilm Oxygen Partitioning
- description: In colony biofilms, E. coli consumes oxygen and helps maintain an anoxic zone that allows
- the obligate anaerobe C. phytofermentans to persist during oxic perturbation, while E. coli occupies
- the more oxic upper biofilm region.
- interaction_type: COLONIZATION_FACILITATION
+ description: Oxygen microprofiles and species distributions support E. coli respiration maintaining an anoxic
+ region after biofilms first grow anoxically. Fully oxic inoculation did not yield the enhanced consortium phenotype.
+ PARTIAL - qPCR-based cell equivalents and spatial persistence do not alone measure viability or establish a
+ colonization-facilitation effect.
scope: PAIRWISE
source_taxon:
preferred_term: Escherichia coli K-12 MG1655
@@ -252,28 +249,28 @@ ecological_interactions:
id: GO:0042710
label: biofilm formation
downstream:
- - target: Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity
- description: E. coli oxygen consumption maintains an anoxic biofilm zone
- that lets the obligate anaerobe C. phytofermentans persist during oxic
- perturbation.
+ - target: Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ description: PARTIAL - biological oxygen consumption helps preserve an anoxic region after the anoxic-to-oxic
+ transition and supports the biofilm biomass response. It is not a demonstrated driver of biofilm ethanol output,
+ which was not directly measured.
evidence:
- reference: PMID:33268782
supports: SUPPORT
evidence_source: IN_VITRO
snippet: E. coli consuming O2, creating an anoxic environment for C. phytofermentans
- explanation: Supports oxygen consumption by E. coli as a facilitative biofilm mechanism.
+ explanation: Supports respiratory oxygen removal, complemented by measured oxygen profiles; the protective regime
+ follows anoxic biofilm establishment.
- reference: PMID:33268782
supports: SUPPORT
evidence_source: IN_VITRO
snippet: C. phytofermentans resided primarily in the anoxic bottom of the biofilm
- explanation: Supports spatial oxygen niche partitioning in the consortium biofilm.
-- name: Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity
- description: >-
- Cross-feeding, positive feedback, necromass catabolism, and oxygen partitioning
- let the C. phytofermentans-E. coli consortium deplete more cellobiose, produce
- more ethanol, and accumulate more planktonic and biofilm biomass than the summed
- monocultures.
- interaction_type: SYNTROPHY
+ explanation: Supports the spatial distribution measured by laser microdissection and genomic qPCR, not a direct
+ viable-cell count.
+- name: Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ description: Anoxic planktonic coculture depleted more cellobiose and glycerol and produced more ethanol and biomass
+ than the summed monocultures. Anoxic-to-oxic biofilms accumulated more total biomass plus extracellular material;
+ their cellobiose use and ethanol output were not directly measured. These condition-specific outcomes do not
+ by themselves establish each mechanism or constitute a separate syntrophy process.
scope: COMMUNITY_LEVEL
participating_taxa:
- preferred_term: Clostridium phytofermentans ISDg
@@ -298,10 +295,6 @@ ecological_interactions:
id: CHEBI:16236
label: ethanol
biological_processes:
- - preferred_term: cellulose catabolic process
- term:
- id: GO:0030245
- label: cellulose catabolic process
- preferred_term: biofilm formation
term:
id: GO:0042710
@@ -310,9 +303,10 @@ ecological_interactions:
- reference: PMID:33268782
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: enhanced substrate depletion, enhanced ethanol secretion, and enhanced biomass
- production as compared to monocultures
- explanation: Supports the emergent cellobiose, ethanol, and biomass endpoint.
+ snippet: enhanced substrate depletion, enhanced ethanol secretion, and enhanced biomass production as compared
+ to monocultures
+ explanation: Supports directly measured planktonic endpoints. Biofilm gravimetric productivity includes extracellular
+ material; substrate and ethanol improvements in biofilms are proposed, not measured.
cultivation_setup:
- cultivation_mode: BATCH
system_type: SERUM_BOTTLE
@@ -630,3 +624,30 @@ rare_earth_elements_present: []
metal_relevance: NOT_APPLICABLE
metal_notes: Trace metals are components of the modified GS-2 medium, but the curated community is not
reported as a metal or rare earth element processing system.
+discussions:
+- discussion_id: cellobiose_biofilm_mechanism_partition
+ prompt: How much does each exchange mechanism contribute to viable biofilm biomass and product formation?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Cellobiose Hydrolysis And Glucose Scavenging Feedback
+ - ecological_interactions#Reciprocal Necromass-Supported Partner Growth
+ - ecological_interactions#Biofilm Oxygen Partitioning
+ - ecological_interactions#Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ rationale: Glucose and necromass interventions support specific mechanisms, while oxygen profiles show a protected
+ region after anoxic establishment. Partner-resolved transfer and viability assays would separate contributions.
+ Direct biofilm substrate/product measurements are needed before assigning its inferred ethanol and cellobiose
+ outcomes to these arrows.
+ posed_by: codex
+ posed_date: '2026-10-05'
+curation_history:
+- timestamp: '2026-10-06T00:56:03Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Preserve glucose cross-feeding and positive inhibition/enzyme controls while bounding feedback and cellobiose-versus-polymer
+ scope.; Represent reciprocal necromass assays with both existing participants; retain growth and CFU support
+ without isolating peptides or asserting anaerobic metabolism in the aerobic assay.; Preserve oxygen consumption
+ and spatial partitioning after anoxic establishment; remove unsupported colonization typing and bound qPCR interpretation.;
+ Separate directly measured planktonic products from biofilm mass and unmeasured biofilm product flux; remove
+ aggregate endpoint syntrophy. Issue #1335; reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml'
+ llm_assisted: true
diff --git a/kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml b/kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml
index 98d6e9d26..0298b64ec 100644
--- a/kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml
+++ b/kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml
@@ -155,8 +155,10 @@ related_ingredients:
explanation: Names oxygen as the mediator removed by the yeast in the symbiosis.
ecological_interactions:
- name: Cellulose Hydrolysis Feeds Yeast Fermentation
- description: C. phytofermentans hydrolyzes alpha-cellulose and releases soluble sugars
- that can be fermented by S. cerevisiae cdt-1.
+ description: C. phytofermentans hydrolysis supplies soluble sugars, including cellodextrins and glucose, that
+ support S. cerevisiae cdt-1. Cellulose is the upstream feedstock. The approximately 22 g/L ethanol result used
+ added endoglucanase; unsupplemented coculture did not show the same productivity improvement. Under the low-oxygen
+ ethanol-production regime, ethanol is an output rather than the proposed sugar-transfer currency.
interaction_type: CROSS_FEEDING
scope: PAIRWISE
source_taxon:
@@ -192,11 +194,10 @@ ecological_interactions:
id: GO:0006113
label: fermentation
downstream:
- - target: Long-Term Symbiotic Population Maintenance
- description: >
- C. phytofermentans cellulose hydrolysis supplies soluble sugars that
- support yeast fermentation during the maintained bacterium-yeast
- population pairing.
+ - target: Oxygen-Dependent Long-Term Population Maintenance
+ description: Bacterial cellulose hydrolysis provides soluble carbon that can sustain yeast in the oxygen-controlled
+ culture. PARTIAL - the long-term viable-count comparison supports this cooperation but does not directly partition
+ carbon transfer or isolate every stabilizing mechanism.
evidence:
- reference: PMID:23628342
supports: SUPPORT
@@ -207,11 +208,13 @@ ecological_interactions:
supports: SUPPORT
evidence_source: IN_VITRO
snippet: produced approximately 22 g/L ethanol
- explanation: Supports the ethanol-producing outcome of the bacterium-yeast coculture.
+ explanation: Supports the approximately 22 g/L coculture endpoint with added endoglucanase, not an unsupplemented
+ productivity gain or a partner-resolved sugar flux.
- name: Oxygen Protection of Anaerobic Cellulolytic Partner
- description: S. cerevisiae cdt-1 removes introduced oxygen, protecting oxygen-sensitive
- C. phytofermentans and allowing the coculture to persist under controlled oxygen
- delivery.
+ description: The oxygen-removal arm of a condition-dependent mutualism protects oxygen-sensitive C. phytofermentans,
+ while bacterial sugar supply benefits the yeast. Semi-aerobic mono-/coculture comparisons support respiratory
+ protection, and controlled low oxygen delivery supports yeast persistence. This is not a claim that either organism
+ universally requires its partner under other culture conditions.
interaction_type: MUTUALISM
scope: PAIRWISE
source_taxon:
@@ -235,11 +238,10 @@ ecological_interactions:
id: GO:0044419
label: biological process involved in interspecies interaction between organisms
downstream:
- - target: Long-Term Symbiotic Population Maintenance
- description: >
- Yeast oxygen removal protects the anaerobic cellulolytic partner under
- controlled oxygen transfer, allowing both populations to persist in the
- long-term symbiosis.
+ - target: Oxygen-Dependent Long-Term Population Maintenance
+ description: PARTIAL - yeast respiratory protection together with oxygen-supported yeast growth and bacterial
+ sugar supply can stabilize the pairing. Oxygen-positive versus oxygen-negative viable-count controls support
+ the conditional cooperation, without selectively measuring every mediator.
evidence:
- reference: PMID:23628342
supports: SUPPORT
@@ -251,21 +253,12 @@ ecological_interactions:
evidence_source: IN_VITRO
snippet: maintained by controlled oxygen transport
explanation: Supports controlled oxygen delivery as the stabilizing environmental mechanism.
-- name: Long-Term Symbiotic Population Maintenance
- description: Controlled diffusive oxygen transfer supported maintenance of both
- C. phytofermentans and S. cerevisiae cdt-1 populations for 50 days.
- interaction_type: MUTUALISM
- scope: PAIRWISE
- source_taxon:
- preferred_term: Saccharomyces cerevisiae cdt-1
- term:
- id: NCBITaxon:4932
- label: Saccharomyces cerevisiae
- target_taxon:
- preferred_term: Clostridium phytofermentans ISDg
- term:
- id: NCBITaxon:357809
- label: Lachnoclostridium phytofermentans ISDg
+- name: Oxygen-Dependent Long-Term Population Maintenance
+ description: With controlled oxygen delivery, both partners remained culturable at the reported 30-, 40- and 50-day
+ samples; without oxygen the yeast fell below detection before day 30. This long-term arm used 25 mL medium and
+ 150 g/L alpha-cellulose. Population maintenance is a community outcome, distinct from the enzyme-assisted ethanol
+ experiment and from an unconditional mutualism claim.
+ scope: COMMUNITY_LEVEL
biological_processes:
- preferred_term: interspecies interaction between organisms
term:
@@ -276,7 +269,17 @@ ecological_interactions:
supports: SUPPORT
evidence_source: IN_VITRO
snippet: maintenance of populations of 105 to 106 CFU/mL for 50 days
- explanation: Supports long-term maintenance of both members under controlled oxygen transfer.
+ explanation: Supports reported long-term maintenance. The primary Results specify separate long-term culture
+ conditions and sampled viable counts; the abstract population range is not a continuous time-resolved measurement.
+ participating_taxa:
+ - preferred_term: Clostridium phytofermentans ISDg
+ term:
+ id: NCBITaxon:357809
+ label: Lachnoclostridium phytofermentans ISDg
+ - preferred_term: Saccharomyces cerevisiae cdt-1
+ term:
+ id: NCBITaxon:4932
+ label: Saccharomyces cerevisiae
cultivation_setup:
- cultivation_mode: BATCH
system_type: SERUM_BOTTLE
@@ -465,3 +468,27 @@ rare_earth_elements_present: []
metal_relevance: NOT_APPLICABLE
metal_notes: No metal or rare earth element processing role is curated for this cellulose-to-ethanol
coculture.
+discussions:
+- discussion_id: yeast_cellulose_stability_and_productivity
+ prompt: How do oxygen delivery and hydrolytic capacity separately control persistence and ethanol productivity?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Cellulose Hydrolysis Feeds Yeast Fermentation
+ - ecological_interactions#Oxygen Protection of Anaerobic Cellulolytic Partner
+ - ecological_interactions#Oxygen-Dependent Long-Term Population Maintenance
+ rationale: The oxygen controls support conditional cooperation and viable population maintenance, while additional
+ endoglucanase improves conversion. These are different experimental arms. Mediator-specific or partner-resolved
+ measurements would separate respiratory protection, sugar supply and enzyme effects without inferring universal
+ obligacy or unsupplemented productivity gains.
+ posed_by: codex
+ posed_date: '2026-10-05'
+curation_history:
+- timestamp: '2026-10-06T00:56:04Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Retain soluble-sugar cross-feeding with enzyme-assisted output context, distinguishing feedstock, exchange
+ and product.; Retain the positive respiratory-protection and conditional mutualism evidence, not universal partner
+ dependence.; Represent oxygen-dependent viable population maintenance as a two-member outcome and keep the separate
+ long-term assay conditions. Issue #1336; reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml'
+ llm_assisted: true
diff --git a/kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml b/kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml
index 6d4aacc3f..70b294e49 100644
--- a/kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml
+++ b/kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml
@@ -117,8 +117,10 @@ taxonomy:
explanation: Supports X514 as a non-cellulolytic Thermoanaerobacter member evaluated with C. thermocellum.
ecological_interactions:
- name: Cellulose Hydrolysis Supporting Coculture Fermentation
- description: C. thermocellum LQRI supplies cellulolytic activity that enables the two-member coculture
- to ferment recalcitrant cellulose to ethanol under anaerobic process conditions.
+ description: PARTIAL - LQRI hydrolysis is proposed to supply soluble sugars to noncellulolytic, saccharolytic
+ X514. Lower sugar accumulation in coculture supports this model, not directly traced transfer. Cellulose is
+ the feedstock and ethanol the output, not the exchanged compounds; improved ethanol production does not imply
+ universally improved cellulose utilization.
interaction_type: CROSS_FEEDING
scope: PAIRWISE
source_taxon:
@@ -150,37 +152,28 @@ ecological_interactions:
id: GO:0006113
label: fermentation
downstream:
- - target: X514-Enhanced Ethanolic Fermentation
- description: >
- C. thermocellum cellulose hydrolysis supplies the recalcitrant
- cellulosic substrate conversion that X514-containing cocultures redirect
- toward higher ethanol output.
+ - target: Enhanced Ethanol Output in X514 Cocultures
+ description: PARTIAL - access to LQRI-derived soluble sugars can support X514 fermentation and higher community
+ ethanol output. Partner flux and the separate contributions of sugar removal and operating conditions remain
+ unresolved.
evidence:
- reference: PMID:23275517
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
snippet: improve bioethanol production from the fermentation of recalcitrant cellulosic materials
- explanation: Supports cellulose fermentation as the central bioprocess function of the coculture.
+ explanation: Supports the coculture process context. The primary fed-batch Discussion proposes soluble-carbon
+ supply; bulk sugar concentrations do not directly trace donor-to-recipient transfer.
- reference: PMID:23275517
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
snippet: tested in the semicontinuous fermentor as a model system
- explanation: Supports the controlled fermentor context for the interaction.
-- name: X514-Enhanced Ethanolic Fermentation
- description: Thermoanaerobacter X514 increased ethanol production in C. thermocellum cocultures, with
- stronger enhancement than the Thermoanaerobacter 39E comparator.
- interaction_type: CROSS_FEEDING
- scope: PAIRWISE
- source_taxon:
- preferred_term: Thermoanaerobacter pseudethanolicus strain X514
- term:
- id: NCBITaxon:399726
- label: Thermoanaerobacter sp. X514
- target_taxon:
- preferred_term: Clostridium thermocellum LQRI
- term:
- id: NCBITaxon:572545
- label: Acetivibrio thermocellus DSM 2360
+ explanation: Supports the coculture process context. The primary fed-batch Discussion proposes soluble-carbon
+ supply; bulk sugar concentrations do not directly trace donor-to-recipient transfer.
+- name: Enhanced Ethanol Output in X514 Cocultures
+ description: The 2011 abstract reports greater ethanol output in C. thermocellum cocultures and stronger enhancement
+ with X514 than 39E. The separate LQRI-X514 fed-batch study shows condition-dependent improvements relative to
+ LQRI monoculture. This is a community product phenotype, not demonstrated ethanol donation from X514 to LQRI.
+ scope: COMMUNITY_LEVEL
metabolites:
- preferred_term: ethanol
term:
@@ -196,28 +189,28 @@ ecological_interactions:
supports: SUPPORT
evidence_source: IN_VITRO
snippet: improved ethanol production by 194-440%
- explanation: Supports the enhanced ethanol production phenotype in Clostridium-Thermoanaerobacter cocultures.
+ explanation: The reported 194-440% range summarizes multiple coculture comparisons, not one fixed X514 effect
+ size or ethanol-transfer assay.
- reference: PMID:21868218
supports: SUPPORT
evidence_source: IN_VITRO
snippet: Strain X514 enhanced ethanolic fermentation much more effectively
- explanation: Supports X514 as the more effective Thermoanaerobacter partner for ethanolic fermentation.
-- name: Vitamin B12-Linked Fermentation Robustness
- description: The higher ethanol performance of X514 cocultures was associated with a complete vitamin
- B12 biosynthesis pathway, suggesting a cofactor-linked mechanism for selecting robust ethanolic
- fermentation partners.
- interaction_type: COMMENSALISM
- scope: PAIRWISE
- source_taxon:
- preferred_term: Thermoanaerobacter pseudethanolicus strain X514
- term:
- id: NCBITaxon:399726
- label: Thermoanaerobacter sp. X514
- target_taxon:
- preferred_term: Clostridium thermocellum LQRI
+ explanation: Supports X514 versus 39E partner performance; it does not identify ethanol donation to LQRI.
+ participating_taxa:
+ - preferred_term: Clostridium thermocellum LQRI
term:
id: NCBITaxon:572545
label: Acetivibrio thermocellus DSM 2360
+ - preferred_term: Thermoanaerobacter pseudethanolicus strain X514
+ term:
+ id: NCBITaxon:399726
+ label: Thermoanaerobacter sp. X514
+- name: X514 B12 Biosynthesis and Proposed Fermentation Support
+ description: PARTIAL - comparative genomes associate X514 performance with B12 biosynthesis capacity; supplementation
+ improved 39E ethanol production. This supports a proposed cofactor-related contribution, not demonstrated vitamin
+ donation to LQRI or commensalism. The separate fed-batch study supplied vitamins and does not establish B12
+ autonomy.
+ scope: PAIRWISE
metabolites:
- preferred_term: cobalamin
term:
@@ -229,23 +222,28 @@ ecological_interactions:
id: GO:0009236
label: cobalamin biosynthetic process
downstream:
- - target: X514-Enhanced Ethanolic Fermentation
- description: >
- X514 cobalamin biosynthesis is associated with the partner's stronger
- ethanolic-fermentation enhancement in C. thermocellum cocultures.
+ - target: Enhanced Ethanol Output in X514 Cocultures
+ description: HYPOTHESIZED - B12 biosynthesis may support X514 fermentation and thereby contribute to coculture
+ ethanol output. Comparative genomes and the 39E supplementation response support this proposal, but do not
+ selectively establish the causal contribution in X514.
evidence:
- reference: PMID:21868218
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
snippet: complete vitamin B(12) biosynthesis pathway
- explanation: Supports X514 cobalamin biosynthesis capacity as a proposed mechanism linked to ethanol
- fermentation performance.
+ explanation: Supports genomic biosynthetic capacity and its association with performance, not measured vitamin
+ export or recipient benefit.
- reference: PMID:21868218
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
snippet: improved ethanol production in strain 39E by 203%
- explanation: Supports vitamin B12 availability as a factor affecting ethanol production in related
- Thermoanaerobacter cocultures.
+ explanation: Retains the positive 39E supplementation result without treating it as selective X514 perturbation;
+ the mechanism paper is available here only as an abstract.
+ source_taxon:
+ preferred_term: Thermoanaerobacter pseudethanolicus strain X514
+ term:
+ id: NCBITaxon:399726
+ label: Thermoanaerobacter sp. X514
environmental_factors:
- name: Initial cellulose concentration
value: 40 to 80 g liter(-1) cellulose
@@ -382,3 +380,28 @@ rare_earth_elements_present: []
metal_relevance: NOT_APPLICABLE
metal_notes: No metal or rare earth element processing role was reported for this cellulosic bioethanol
coculture in the curated sources.
+discussions:
+- discussion_id: x514_sugar_flux_and_b12_causality
+ prompt: What is the causal contribution of sugar exchange and X514 B12 biosynthesis to community ethanol output?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Cellulose Hydrolysis Supporting Coculture Fermentation
+ - ecological_interactions#Enhanced Ethanol Output in X514 Cocultures
+ - ecological_interactions#X514 B12 Biosynthesis and Proposed Fermentation Support
+ rationale: Partner-resolved flux and selective X514 perturbation would distinguish the proposed mechanisms. The
+ 2011 abstract supports the comparative association and 39E supplementation response, not vitamin transfer. The
+ 2013 fed-batch medium contains added vitamins and its process comparisons are not a test of biosynthetic autonomy.
+ posed_by: codex
+ posed_date: '2026-10-05'
+curation_history:
+- timestamp: '2026-10-06T00:56:04Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Retain the proposed sugar-supply direction with flux and condition bounds, not direct cellulose or ethanol
+ donation.; Retain comparative community ethanol production without an unsupported donor-recipient output relation.
+ Keep the abstract-level C. thermocellum comparison separate from the LQRI-specific fed-batch study.; Retain
+ biosynthetic capacity and the 39E intervention as support for an explicitly hypothesized X514 contribution,
+ not vitamin donation or commensalism. Retain X514 as the source of its intrinsic capacity with no recipient,
+ rather than using community-level scope. Issue #1337; reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml'
+ llm_assisted: true
diff --git a/reports/causal_graph_review/adversarial-review-20261005-batch21.yaml b/reports/causal_graph_review/adversarial-review-20261005-batch21.yaml
new file mode 100644
index 000000000..c86bc5b38
--- /dev/null
+++ b/reports/causal_graph_review/adversarial-review-20261005-batch21.yaml
@@ -0,0 +1,109 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: cf322d4f9793d1a7e6ebd14eabefca78bf805fdb
+decision_ledger: reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml
+validation_report: reports/causal_graph_review/validation-20261005-batch21.json
+scope:
+- kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml
+- kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml
+- kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml
+findings:
+- issue: 1335
+ severity: P2
+ finding: Cellobiose versus polymer scope, reciprocal necromass direction, oxygen-regime and viability bounds,
+ and unmeasured biofilm product claims.
+ disposition: addressed_and_locally_verified
+- issue: 1336
+ severity: P2
+ finding: Enzyme-assisted productivity was not distinguished from unsupplemented conversion and separate oxygen-dependent
+ viable population maintenance.
+ disposition: addressed_and_locally_verified
+- issue: 1337
+ severity: P2
+ finding: Community ethanol output and intrinsic B12 capacity were encoded as donor-recipient interactions; association
+ exceeded selective X514 causal support.
+ disposition: addressed_and_locally_verified
+open_nongraph_followups:
+- issue: 1338
+ disposition: intentionally_not_closed_by_graph_only_patch
+- issue: 746
+ disposition: existing_grounding_provenance_followup_not_duplicated
+adversarial_checks:
+- 'Every original node and arrow accounted for: ten nodes and seven arrows retained, five exact renames, no new
+ structure or Edison spend.'
+- Challenge excessive skepticism with the glucose-addition and extracellular-cellobiase controls. Preserve their
+ positive support without asserting selective consortium regulation or polymer conversion in cellobiose-fed experiments.
+- Keep both necromass growth effects, with aerobic E. coli and anaerobic C. phytofermentans assays distinct. Retain
+ positive CFU support while bounding specific peptide mediation and endogenous consortium turnover.
+- Use both existing canonical participants for reciprocal necromass effects; do not encode only the opposite donor-recipient
+ direction or classify the aerobic assay as fermentation.
+- Oxygen microprofiles support biological oxygen removal after anoxic biofilm establishment. Fully oxic inoculation
+ and genomic qPCR prevent unqualified establishment or viable-cell claims.
+- Biofilm total biomass includes extracellular material. Cellobiose consumption and ethanol were measured in planktonic
+ cultures, not directly in biofilms; retain the outcomes and qualify all three causal arrows.
+- 'Remove aggregate syntrophy typing: measured products alone are not a separate mechanism of product removal making
+ upstream metabolism favorable.'
+- Keep yeast respiratory protection and reciprocal sugar benefit as condition-dependent MUTUALISM. The actual enum
+ does not require universal obligacy; do not erase the supported positive controls.
+- The approximately 22 g/L ethanol comparison used added endoglucanase. It cannot establish the same productivity
+ improvement in unsupplemented coculture.
+- Long-term maintenance used 25 mL and 150 g/L cellulose, with viable counts at 30, 40 and 50 days. This is a separate
+ arm from enzyme-assisted production, not continuous monitoring or an unconditional mutualism endpoint.
+- 'Do not claim ethanol cannot be exchanged in all oxygen regimes: the sugar/output distinction is limited to the
+ low-oxygen ethanol-production regime.'
+- LQRI-to-X514 sugar transfer is a supported proposal, not directly traced flux. Higher ethanol does not imply greater
+ cellulose utilization under every process condition.
+- Represent ethanol output with both existing canonical participants, not ethanol donation to LQRI; the 194-440%
+ range spans multiple coculture comparisons. Keep the species-level 2011 abstract distinct from the LQRI-specific
+ fed-batch study rather than claiming abstract strain resolution.
+- B12 genomic capacity and the positive 39E supplementation response support a hypothesis, not selective X514 causality
+ or vitamin donation. The vitamin-supplemented fed-batch study does not demonstrate biosynthetic autonomy.
+- 'Challenge the initial draft against the actual schema: intrinsic B12 capacity retains X514 as its single source
+ with no recipient, rather than community-level scope. The hypothesized downstream contribution targets community
+ ethanol output. No invented donor-recipient relation or commensalism sign is retained.'
+- 'All four reference caches and unrelated YAML blocks remain byte-identical. Unrelated metadata is not certified;
+ #1338 and existing #746 remain open.'
+- Three primary main bodies with Methods and tables/captions plus the complete 2011 mechanism abstract reviewed.
+ No image or supplementary-file inspection, independent approval, or corpus completion claimed.
+verification:
+ status: local_validation_complete
+ checks: 30
+ records: 460
+ nodes: 1474
+ edges: 710
+ review_status_counts:
+ needs_research: 3
+ pending: 345
+ reviewed: 112
+ structural_defects: 0
+ network_errors: 0
+ network_warnings: 25
+ new_network_warnings: 0
+ unchanged_raw_blocks: 55
+ snippet_counts:
+ MATCH: 83
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ published_description_coverage:
+ pages: 456
+ node_descriptions: 1460
+ edge_descriptions: 702
+ render_determinism: passed
+ regressions: 262 passed in 220.78s (0:03:40)
+ rights: 3 passed in 2.34s
+ rights_import_root_verified: true
+ caches_unchanged: true
+ primary_artifact_hashes_rechecked: true
+ participant_registry_change: Add only the intentional yeast-cellulose and X514 users; exact-set equality and connectivity
+ bounds retained.
+ connectivity_survey:
+ records: 460
+ with_community_level: 387
+ mixed: 120
+ community_level_only: 267
+ taxa: 1495
+ credited_solely_by_the_rule: 1218
diff --git a/reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml b/reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml
new file mode 100644
index 000000000..3ad70b90a
--- /dev/null
+++ b/reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml
@@ -0,0 +1,302 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: cf322d4f9793d1a7e6ebd14eabefca78bf805fdb
+issues:
+- 1335
+- 1336
+- 1337
+open_nongraph_followups:
+- 1338
+- 746
+issue_deduplication:
+ all_state_issue_titles_bodies: 674
+ ignored_hidden_local_files_included: true
+ comments_exhaustive: false
+ relevant_issues_read:
+ - 639
+ - 605
+ - 529
+ - 746
+ - 749
+ - 752
+ finding: No duplicate exact graph issue in searched scope; broader provenance and enum work remains separate.
+reference_cache_original_hashes:
+ references_cache/PMID_21868218.md: 7fd8135ce1128391fbd624d330b685c9642bae5ed4aeb5f56730db5ec35b5dde
+ references_cache/PMID_23628342.md: 28d1da49aa2fa358bdfeded20f3e04b5e7dcaecd4f67085ea81353b8fe42f6e9
+ references_cache/PMID_33268782.md: 7616b7daddd7a3b0416ddbece46acf73ec62ab64ead8b6c8fd1aee79858183d2
+ references_cache/PMID_23275517.md: e3946fd427450f64248b382a1d7cd0102360217b2c3830934d2713035cb47268
+limitations:
+- All ten nodes and seven arrows retained with five exact renames; no new structure or Edison spend.
+- Three primary main bodies and one abstract reviewed; no visual images/supplements inspected.
+- Four existing reference caches unchanged; no copyrighted full body added to git.
+- Unrelated metadata and canonical taxonomy preserved, not scientifically certified; issue1338 and existing746 remain
+ open.
+- Self-adversarial review is not independent approval or corpus completion.
+records:
+- path: kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml
+ id: CommunityMech:000196
+ original_sha256: cc831b8ffc6ef81e59ddd671f8e071abe8e9a9ac68b27eac4a6fbc0811d7db94
+ record_sha256: 9a4fdb8dc3bbda96d454f371df026770f3baa65a1cff23b8c43d883ff3105836
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml
+ scope: Whole record and every original node/arrow; primary access scope bounded below.
+ summary: Preserve glucose cross-feeding and positive inhibition/enzyme controls while bounding feedback and cellobiose-versus-polymer
+ scope.; Represent reciprocal necromass assays with both existing participants; retain growth and CFU support
+ without isolating peptides or asserting anaerobic metabolism in the aerobic assay.; Preserve oxygen consumption
+ and spatial partitioning after anoxic establishment; remove unsupported colonization typing and bound qPCR interpretation.;
+ Separate directly measured planktonic products from biofilm mass and unmeasured biofilm product flux; remove
+ aggregate endpoint syntrophy.
+ renamed_nodes:
+ Reciprocal Necromass Catabolism: Reciprocal Necromass-Supported Partner Growth
+ Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity: Measured Planktonic Conversion and Biofilm Biomass
+ Outcomes
+ node_decisions:
+ - node: Cellobiose Hydrolysis And Glucose Scavenging Feedback
+ rationale: Preserve glucose cross-feeding and positive inhibition/enzyme controls while bounding feedback and
+ cellobiose-versus-polymer scope.
+ - node: Reciprocal Necromass-Supported Partner Growth
+ rationale: Represent reciprocal necromass assays with both existing participants; retain growth and CFU support
+ without isolating peptides or asserting anaerobic metabolism in the aerobic assay.
+ - node: Biofilm Oxygen Partitioning
+ rationale: Preserve oxygen consumption and spatial partitioning after anoxic establishment; remove unsupported
+ colonization typing and bound qPCR interpretation.
+ - node: Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ rationale: Separate directly measured planktonic products from biofilm mass and unmeasured biofilm product flux;
+ remove aggregate endpoint syntrophy.
+ edges_before:
+ - source: Cellobiose Hydrolysis And Glucose Scavenging Feedback
+ target: Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity
+ description: Glucose scavenging by E. coli relieves feedback inhibition of C. phytofermentans cellulolytic-enzyme
+ synthesis and increases cellulose-derived sugar flux through the consortium.
+ - source: Reciprocal Necromass Catabolism
+ target: Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity
+ description: Reciprocal necromass catabolism transfers nutrients and energy between the two trophic levels,
+ increasing C. phytofermentans and E. coli biomass accumulation.
+ - source: Biofilm Oxygen Partitioning
+ target: Enhanced Cellulosic-Sugar Conversion and Biofilm Productivity
+ description: E. coli oxygen consumption maintains an anoxic biofilm zone that lets the obligate anaerobe C.
+ phytofermentans persist during oxic perturbation.
+ edges_after:
+ - source: Cellobiose Hydrolysis And Glucose Scavenging Feedback
+ target: Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ description: PARTIAL - glucose scavenging can relieve inhibition and sustain cellobiose conversion, consistent
+ with glucose-addition, extracellular-enzyme and coculture comparisons. This supports the planktonic conversion
+ model, not a direct measurement of biofilm ethanol output.
+ - source: Reciprocal Necromass-Supported Partner Growth
+ target: Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ description: PARTIAL - necromass-addition controls support resource recovery as a contributor to partner growth
+ and consortium biomass. They do not isolate its contribution to all planktonic products or establish biofilm
+ ethanol production.
+ - source: Biofilm Oxygen Partitioning
+ target: Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ description: PARTIAL - biological oxygen consumption helps preserve an anoxic region after the anoxic-to-oxic
+ transition and supports the biofilm biomass response. It is not a demonstrated driver of biofilm ethanol output,
+ which was not directly measured.
+ retained_edge_decisions:
+ - source: Cellobiose Hydrolysis And Glucose Scavenging Feedback
+ target: Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ rationale: PARTIAL - glucose scavenging can relieve inhibition and sustain cellobiose conversion, consistent
+ with glucose-addition, extracellular-enzyme and coculture comparisons. This supports the planktonic conversion
+ model, not a direct measurement of biofilm ethanol output.
+ - source: Reciprocal Necromass-Supported Partner Growth
+ target: Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ rationale: PARTIAL - necromass-addition controls support resource recovery as a contributor to partner growth
+ and consortium biomass. They do not isolate its contribution to all planktonic products or establish biofilm
+ ethanol production.
+ - source: Biofilm Oxygen Partitioning
+ target: Measured Planktonic Conversion and Biofilm Biomass Outcomes
+ rationale: PARTIAL - biological oxygen consumption helps preserve an anoxic region after the anoxic-to-oxic
+ transition and supports the biofilm biomass response. It is not a demonstrated driver of biofilm ethanol output,
+ which was not directly measured.
+ removed_edge_decisions: []
+ references:
+ - PMID:33268782
+ issues:
+ - 1335
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ source_review:
+ PMID:33268782:
+ url: https://doi.org/10.1038/s41522-020-00170-8
+ path: /private/tmp/communitymech-batch21/PMC7710750.xml
+ sha256: 91b35a900f6ea079b87e24787c35ce19e42304601b88bd5402da7d20a108af8d
+ license: CC BY 4.0
+ reviewed_scope: Whole primary main body, three tables and nine captions read; images and supplements not inspected.
+ history_files:
+ - history/records/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium/2026-10-06T005604Z-codex-b04d5d.yaml
+- path: kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml
+ id: CommunityMech:000206
+ original_sha256: 5667bd49d4cff29eb9ece6d046c8fac61a8aca27bbb55e3369fea82c63ba611d
+ record_sha256: fa05e29f87dd939c2d7a694b88083fb080077be68faa3d53007d0762609c7915
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml
+ scope: Whole record and every original node/arrow; primary access scope bounded below.
+ summary: Retain soluble-sugar cross-feeding with enzyme-assisted output context, distinguishing feedstock, exchange
+ and product.; Retain the positive respiratory-protection and conditional mutualism evidence, not universal partner
+ dependence.; Represent oxygen-dependent viable population maintenance as a two-member outcome and keep the separate
+ long-term assay conditions.
+ renamed_nodes:
+ Long-Term Symbiotic Population Maintenance: Oxygen-Dependent Long-Term Population Maintenance
+ node_decisions:
+ - node: Cellulose Hydrolysis Feeds Yeast Fermentation
+ rationale: Retain soluble-sugar cross-feeding with enzyme-assisted output context, distinguishing feedstock,
+ exchange and product.
+ - node: Oxygen Protection of Anaerobic Cellulolytic Partner
+ rationale: Retain the positive respiratory-protection and conditional mutualism evidence, not universal partner
+ dependence.
+ - node: Oxygen-Dependent Long-Term Population Maintenance
+ rationale: Represent oxygen-dependent viable population maintenance as a two-member outcome and keep the separate
+ long-term assay conditions.
+ edges_before:
+ - source: Cellulose Hydrolysis Feeds Yeast Fermentation
+ target: Long-Term Symbiotic Population Maintenance
+ description: 'C. phytofermentans cellulose hydrolysis supplies soluble sugars that support yeast fermentation
+ during the maintained bacterium-yeast population pairing.
+
+ '
+ - source: Oxygen Protection of Anaerobic Cellulolytic Partner
+ target: Long-Term Symbiotic Population Maintenance
+ description: 'Yeast oxygen removal protects the anaerobic cellulolytic partner under controlled oxygen transfer,
+ allowing both populations to persist in the long-term symbiosis.
+
+ '
+ edges_after:
+ - source: Cellulose Hydrolysis Feeds Yeast Fermentation
+ target: Oxygen-Dependent Long-Term Population Maintenance
+ description: Bacterial cellulose hydrolysis provides soluble carbon that can sustain yeast in the oxygen-controlled
+ culture. PARTIAL - the long-term viable-count comparison supports this cooperation but does not directly partition
+ carbon transfer or isolate every stabilizing mechanism.
+ - source: Oxygen Protection of Anaerobic Cellulolytic Partner
+ target: Oxygen-Dependent Long-Term Population Maintenance
+ description: PARTIAL - yeast respiratory protection together with oxygen-supported yeast growth and bacterial
+ sugar supply can stabilize the pairing. Oxygen-positive versus oxygen-negative viable-count controls support
+ the conditional cooperation, without selectively measuring every mediator.
+ retained_edge_decisions:
+ - source: Cellulose Hydrolysis Feeds Yeast Fermentation
+ target: Oxygen-Dependent Long-Term Population Maintenance
+ rationale: Bacterial cellulose hydrolysis provides soluble carbon that can sustain yeast in the oxygen-controlled
+ culture. PARTIAL - the long-term viable-count comparison supports this cooperation but does not directly partition
+ carbon transfer or isolate every stabilizing mechanism.
+ - source: Oxygen Protection of Anaerobic Cellulolytic Partner
+ target: Oxygen-Dependent Long-Term Population Maintenance
+ rationale: PARTIAL - yeast respiratory protection together with oxygen-supported yeast growth and bacterial
+ sugar supply can stabilize the pairing. Oxygen-positive versus oxygen-negative viable-count controls support
+ the conditional cooperation, without selectively measuring every mediator.
+ removed_edge_decisions: []
+ references:
+ - PMID:23628342
+ issues:
+ - 1336
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ source_review:
+ PMID:23628342:
+ url: https://doi.org/10.1186/1754-6834-6-59
+ path: /private/tmp/communitymech-batch21/PMC3653780.xml
+ sha256: 3db696d51deeadee8570d2136696451462a35c25bace69c3a3853fbad9efb8e0
+ license: CC BY 2.0
+ reviewed_scope: Whole primary main body and six main captions read; images and supplementary files not inspected.
+ history_files:
+ - history/records/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture/2026-10-06T005604Z-codex-10cfff.yaml
+- path: kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml
+ id: CommunityMech:000168
+ original_sha256: 4b15f63df86a441462b92e2edc669c7f2c53d39aa31af98335b613267c612871
+ record_sha256: 0b2e76d94c5f2eb1d40c8505f71e811b3b4784ed0322a278f4b27628a37e7e63
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml
+ scope: Whole record and every original node/arrow; primary access scope bounded below.
+ summary: Retain the proposed sugar-supply direction with flux and condition bounds, not direct cellulose or ethanol
+ donation.; Retain comparative community ethanol production without an unsupported donor-recipient output relation.
+ Keep the abstract-level C. thermocellum comparison separate from the LQRI-specific fed-batch study.; Retain
+ biosynthetic capacity and the 39E intervention as support for an explicitly hypothesized X514 contribution,
+ not vitamin donation or commensalism. Retain X514 as the source of its intrinsic capacity with no recipient,
+ rather than using community-level scope.
+ renamed_nodes:
+ X514-Enhanced Ethanolic Fermentation: Enhanced Ethanol Output in X514 Cocultures
+ Vitamin B12-Linked Fermentation Robustness: X514 B12 Biosynthesis and Proposed Fermentation Support
+ node_decisions:
+ - node: Cellulose Hydrolysis Supporting Coculture Fermentation
+ rationale: Retain the proposed sugar-supply direction with flux and condition bounds, not direct cellulose or
+ ethanol donation.
+ - node: Enhanced Ethanol Output in X514 Cocultures
+ rationale: Retain comparative community ethanol production without an unsupported donor-recipient output relation.
+ Keep the abstract-level C. thermocellum comparison separate from the LQRI-specific fed-batch study.
+ - node: X514 B12 Biosynthesis and Proposed Fermentation Support
+ rationale: Retain biosynthetic capacity and the 39E intervention as support for an explicitly hypothesized X514
+ contribution, not vitamin donation or commensalism. Retain X514 as the source of its intrinsic capacity with
+ no recipient, rather than using community-level scope.
+ edges_before:
+ - source: Cellulose Hydrolysis Supporting Coculture Fermentation
+ target: X514-Enhanced Ethanolic Fermentation
+ description: 'C. thermocellum cellulose hydrolysis supplies the recalcitrant cellulosic substrate conversion
+ that X514-containing cocultures redirect toward higher ethanol output.
+
+ '
+ - source: Vitamin B12-Linked Fermentation Robustness
+ target: X514-Enhanced Ethanolic Fermentation
+ description: 'X514 cobalamin biosynthesis is associated with the partner''s stronger ethanolic-fermentation
+ enhancement in C. thermocellum cocultures.
+
+ '
+ edges_after:
+ - source: Cellulose Hydrolysis Supporting Coculture Fermentation
+ target: Enhanced Ethanol Output in X514 Cocultures
+ description: PARTIAL - access to LQRI-derived soluble sugars can support X514 fermentation and higher community
+ ethanol output. Partner flux and the separate contributions of sugar removal and operating conditions remain
+ unresolved.
+ - source: X514 B12 Biosynthesis and Proposed Fermentation Support
+ target: Enhanced Ethanol Output in X514 Cocultures
+ description: HYPOTHESIZED - B12 biosynthesis may support X514 fermentation and thereby contribute to coculture
+ ethanol output. Comparative genomes and the 39E supplementation response support this proposal, but do not
+ selectively establish the causal contribution in X514.
+ retained_edge_decisions:
+ - source: Cellulose Hydrolysis Supporting Coculture Fermentation
+ target: Enhanced Ethanol Output in X514 Cocultures
+ rationale: PARTIAL - access to LQRI-derived soluble sugars can support X514 fermentation and higher community
+ ethanol output. Partner flux and the separate contributions of sugar removal and operating conditions remain
+ unresolved.
+ - source: X514 B12 Biosynthesis and Proposed Fermentation Support
+ target: Enhanced Ethanol Output in X514 Cocultures
+ rationale: HYPOTHESIZED - B12 biosynthesis may support X514 fermentation and thereby contribute to coculture
+ ethanol output. Comparative genomes and the 39E supplementation response support this proposal, but do not
+ selectively establish the causal contribution in X514.
+ removed_edge_decisions: []
+ references:
+ - PMID:21868218
+ - PMID:23275517
+ issues:
+ - 1337
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ source_review:
+ PMID:21868218:
+ url: https://pubmed.ncbi.nlm.nih.gov/21868218/
+ reviewed_scope: Complete abstract; publisher full body unavailable. Do not infer the full experiment from
+ the abstract.
+ copyright: 2011 Elsevier; all rights reserved; existing abstract cache unchanged.
+ PMID:23275517:
+ url: https://journals.asm.org/doi/10.1128/AEM.02617-12
+ reviewed_scope: Publisher Introduction, Methods, Results, Discussion, both tables and six main captions read;
+ no visual images/supplements. Initial direct full URL failed, PubMed publisher link succeeded.
+ copyright: 2013 ASM; all rights reserved; no full body added to git.
+ history_files:
+ - history/records/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture/2026-10-06T005605Z-codex-1f7709.yaml
+self_review_followup:
+ issue: 1337
+ finding: The first draft used community-level scope for single-source intrinsic B12 capacity and conflated abstract-level
+ strain scope with the separate LQRI fed-batch study.
+ disposition: Corrected before commit; retained existing X514 source and no recipient, interaction type, or participant
+ list. Separated species-level abstract and strain-specific fed-batch comparisons. No node or arrow added.
diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv
index 289256627..68e0a8ad0 100644
--- a/reports/causal_graph_review/inventory.tsv
+++ b/reports/causal_graph_review/inventory.tsv
@@ -111,9 +111,9 @@ kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Cocult
kb/communities/Clostridium_Cellulovorans_Rhodopseudomonas_Cellulose_Biohydrogen_Coculture.yaml CommunityMech:000264 609d1b7276a71d3a613fe7ffc299e75b6e4862e12c8057e6edf87822ff2816cb 3 1 83.3 reports/causal_graph_review/decisions/20261005-three-records-batch20.yaml reviewed
kb/communities/Clostridium_Ecoli_Nitratidesulfovibrio_Minority_Mediator_Consortium.yaml CommunityMech:000333 2f6a2ce202dc1f694ca8135b2fa16a97affaee218748de4a8de42ebf127a5e7a 4 0 67.5 reports/causal_graph_review/decisions/20261005-three-records-batch20.yaml reviewed
kb/communities/Clostridium_Ljungdahlii_Kluyveri_Syngas_Alcohol_Coculture.yaml CommunityMech:000202 20f83f2018d5e58a63e1886835d1b4728359a8bbc1f3ed5b1f14bf2e828bd217 4 2 95.0 reports/causal_graph_review/decisions/20261005-three-records-batch20.yaml reviewed
-kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml CommunityMech:000196 cc831b8ffc6ef81e59ddd671f8e071abe8e9a9ac68b27eac4a6fbc0811d7db94 4 3 100.0 pending
-kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml CommunityMech:000206 5667bd49d4cff29eb9ece6d046c8fac61a8aca27bbb55e3369fea82c63ba611d 3 2 100.0 pending
-kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml CommunityMech:000168 4b15f63df86a441462b92e2edc669c7f2c53d39aa31af98335b613267c612871 3 2 100.0 pending
+kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml CommunityMech:000196 9a4fdb8dc3bbda96d454f371df026770f3baa65a1cff23b8c43d883ff3105836 4 3 95.0 reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml reviewed
+kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml CommunityMech:000206 fa05e29f87dd939c2d7a694b88083fb080077be68faa3d53007d0762609c7915 3 2 96.7 reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml reviewed
+kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml CommunityMech:000168 0b2e76d94c5f2eb1d40c8505f71e811b3b4784ed0322a278f4b27628a37e7e63 3 2 93.3 reports/causal_graph_review/decisions/20261005-three-records-batch21.yaml reviewed
kb/communities/Clostridium_Thermoanaerobacterium_JN4_GD17_Cellulosic_Biofuel_Coculture.yaml CommunityMech:000180 b6f8ea43a3a9d190f0856b266b4a7ad1c387289e880e2b2f4910ccb8b35783e1 3 2 100.0 pending
kb/communities/Clostridium_Thermocellum_Saccharoperbutylacetonicum_Cellulosic_Butanol_Coculture.yaml CommunityMech:000208 368e5d952f21395ef6de9a0f39a8d95efb9926e67aa33ff832653e6c914e11b1 3 2 100.0 pending
kb/communities/Coastal_Forested_Wetland_Seawater_Ion_Microcosm_Community.yaml CommunityMech:000258 1850870ed129fcf8920066077ec7fedb8e219deb291882404cafc637171fb418 4 2 100.0 pending
diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json
index e96ecc0b1..028e6fb47 100644
--- a/reports/causal_graph_review/summary.json
+++ b/reports/causal_graph_review/summary.json
@@ -8,8 +8,8 @@
"records_without_edges": 141,
"review_status_counts": {
"needs_research": 3,
- "pending": 348,
- "reviewed": 109
+ "pending": 345,
+ "reviewed": 112
},
"structural_defects": [],
"network_audit": [
diff --git a/reports/causal_graph_review/validation-20261005-batch21.json b/reports/causal_graph_review/validation-20261005-batch21.json
new file mode 100644
index 000000000..0a8914b4b
--- /dev/null
+++ b/reports/causal_graph_review/validation-20261005-batch21.json
@@ -0,0 +1,563 @@
+{
+ "base_commit": "cf322d4f9793d1a7e6ebd14eabefca78bf805fdb",
+ "scope": [
+ "kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml",
+ "kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml",
+ "kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml"
+ ],
+ "reference_validator_version": "0.1.7",
+ "results": [
+ {
+ "check": "Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium-schema",
+ "command": [
+ "linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "No issues found\n"
+ },
+ {
+ "check": "Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium-strict",
+ "command": [
+ "python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium-strict.tsv",
+ "kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.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_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium-strict.tsv\n"
+ },
+ {
+ "check": "Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium-terms",
+ "command": [
+ "linkml-term-validator",
+ "validate-data",
+ "kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium-references-explained",
+ "command": [
+ "linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "Validating kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n"
+ },
+ {
+ "check": "Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium-snippets",
+ "command": [
+ "python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "# 33 evidence snippets scanned across 1 files\n MATCH 33\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_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium-rank",
+ "command": [
+ "python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000196\",\n \"name\": \"Clostridium phytofermentans-E. coli Cellobiose Biofilm Consortium\",\n \"score\": 95.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 4,\n \"downstream_edges\": 3,\n \"interaction_evidence\": 7,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium-history-0",
+ "command": [
+ "linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium/2026-10-06T005604Z-codex-b04d5d.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "No issues found\n"
+ },
+ {
+ "check": "Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture-schema",
+ "command": [
+ "linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "No issues found\n"
+ },
+ {
+ "check": "Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture-strict",
+ "command": [
+ "python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture-strict.tsv",
+ "kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_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_Saccharomyces_Cellulose_Ethanol_Coculture-strict.tsv\n"
+ },
+ {
+ "check": "Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture-terms",
+ "command": [
+ "linkml-term-validator",
+ "validate-data",
+ "kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture-references-explained",
+ "command": [
+ "linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_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_Saccharomyces_Cellulose_Ethanol_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_Saccharomyces_Cellulose_Ethanol_Coculture-snippets",
+ "command": [
+ "python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "# 26 evidence snippets scanned across 1 files\n MATCH 26\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_Saccharomyces_Cellulose_Ethanol_Coculture-rank",
+ "command": [
+ "python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000206\",\n \"name\": \"Clostridium-Saccharomyces Cellulose Ethanol 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\": 5,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture-history-0",
+ "command": [
+ "linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture/2026-10-06T005604Z-codex-10cfff.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "No issues found\n"
+ },
+ {
+ "check": "Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture-schema",
+ "command": [
+ "linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "No issues found\n"
+ },
+ {
+ "check": "Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture-strict",
+ "command": [
+ "python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture-strict.tsv",
+ "kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_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_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture-strict.tsv\n"
+ },
+ {
+ "check": "Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture-terms",
+ "command": [
+ "linkml-term-validator",
+ "validate-data",
+ "kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture-references-explained",
+ "command": [
+ "linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_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_Thermoanaerobacter_Cellulosic_Bioethanol_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_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture-snippets",
+ "command": [
+ "python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "# 24 evidence snippets scanned across 1 files\n MATCH 24\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_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture-rank",
+ "command": [
+ "python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "output": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000168\",\n \"name\": \"Clostridium-Thermoanaerobacter Cellulosic Bioethanol Coculture\",\n \"score\": 93.3,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 6,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture-history-0",
+ "command": [
+ "linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture/2026-10-06T005605Z-codex-1f7709.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\": 710,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 141,\n \"review_status_counts\": {\n \"needs_research\": 3,\n \"pending\": 345,\n \"reviewed\": 112\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_batch20.py",
+ "tests/test_causal_review_batch21.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": "........................................................................ [ 27%]\n........................................................................ [ 54%]\n........................................................................ [ 82%]\n.............................................. [100%]\n262 passed in 220.78s (0:03:40)\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 2.34s\n"
+ },
+ {
+ "check": "black",
+ "command": [
+ "black",
+ "--check",
+ "tests/test_causal_review_batch21.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_batch21.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 674 prior issue titles/bodies and ignored-inclusive local reports/history/research/tests searched; comments not exhaustive.",
+ "Biofilm, yeast and fed-batch X514 primary main bodies, Methods, tables/captions read. The 2011 X514 mechanism paper is abstract-only. Images/supplements not inspected.",
+ "Ten nodes retained, five exact renames, all seven arrows retained and qualified. No new causal structure or Edison spend.",
+ "Non-graph followup #1338 and existing #746 remain open; unrelated YAML blocks and four reference caches byte-preserved.",
+ "Generated pages checked by deterministic rendering and exact parsed description coverage, not browser screenshots."
+ ],
+ "previous_attempts": [
+ {
+ "status": "passed",
+ "failed_checks": [],
+ "reason_for_rerun": "Repeat all gates after self-review corrected intrinsic X514 B12 scope and separated the abstract-level comparison from the strain-specific fed-batch study."
+ },
+ {
+ "status": null,
+ "failed_checks": [],
+ "reason_for_rerun": "Repeat all gates after self-review corrected intrinsic X514 B12 scope and separated the abstract-level comparison from the strain-specific fed-batch study."
+ }
+ ],
+ "unchanged_raw_blocks": 55,
+ "reference_caches_unchanged": true,
+ "participant_registry_only_adds_intentional_user": true,
+ "connectivity_test_bounds_unchanged": true,
+ "new_network_warnings": [],
+ "render_determinism": "passed",
+ "published_description_coverage": {
+ "pages": 456,
+ "node_descriptions": 1460,
+ "edge_descriptions": 702
+ },
+ "rights_import_root_verified": true,
+ "connectivity_survey": {
+ "records": 460,
+ "with_community_level": 387,
+ "mixed": 120,
+ "community_level_only": 267,
+ "taxa": 1495,
+ "credited_solely_by_the_rule": 1218
+ },
+ "snippet_counts": {
+ "MATCH": 83,
+ "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": 710,
+ "records_without_nodes": 8,
+ "records_without_edges": 141,
+ "review_status_counts": {
+ "needs_research": 3,
+ "pending": 345,
+ "reviewed": 112
+ },
+ "structural_defects": []
+ },
+ "network_warning_count": 25,
+ "status": "passed"
+}
diff --git a/tests/test_causal_review_batch21.py b/tests/test_causal_review_batch21.py
new file mode 100644
index 000000000..cf232fb19
--- /dev/null
+++ b/tests/test_causal_review_batch21.py
@@ -0,0 +1,166 @@
+"""Preserve supported conversion mechanisms without promoting assay inference."""
+
+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-batch21.yaml"
+STEMS = [
+ "Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium",
+ "Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture",
+ "Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture",
+]
+
+
+def record(index):
+ return yaml.safe_load((ROOT / "kb/communities" / f"{STEMS[index]}.yaml").read_text())
+
+
+def assert_participants(node, doc, indices=None):
+ selected = doc["taxonomy"]
+ if indices is not None:
+ selected = [selected[i] for i in indices]
+ assert node["scope"] == "COMMUNITY_LEVEL"
+ assert "source_taxon" not in node and "target_taxon" not in node
+ assert node["participating_taxa"] == [
+ {"preferred_term": t["taxon_term"]["preferred_term"], "term": t["taxon_term"]["term"]}
+ for t in selected
+ ]
+
+
+def test_biofilm_keeps_glucose_controls_without_polymer_conversion_claim():
+ sugar, _, _, output = record(0)["ecological_interactions"]
+ assert sugar["interaction_type"] == "CROSS_FEEDING"
+ assert "Glucose-addition and spent-medium enzyme assays" in sugar["description"]
+ assert "cellobiose, not direct polymer-cellulose conversion" in sugar["description"]
+ assert sugar["evidence"][0]["supports"] == "PARTIAL"
+ for node in (sugar, output):
+ assert "GO:0030245" not in {p["term"]["id"] for p in node["biological_processes"]}
+ nodes = record(0)["ecological_interactions"]
+ assert [n["downstream"][0]["target"] for n in nodes[:3]] == [output["name"]] * 3
+ assert all(n["downstream"][0]["description"].startswith("PARTIAL") for n in nodes[:3])
+
+
+def test_reciprocal_necromass_preserves_distinct_assays_and_viability_control():
+ doc = record(0)
+ node = doc["ecological_interactions"][1]
+ assert_participants(node, doc)
+ assert node["interaction_type"] == "CROSS_FEEDING"
+ assert "biological_processes" not in node
+ assert "aerobic E. coli growth" in node["description"]
+ assert "anaerobic C. phytofermentans growth" in node["description"]
+ assert "CFU measurements" in node["description"]
+ assert "distinct assays" in node["description"]
+ assert "do not isolate a specific peptide mediator" in node["metabolites"][0]["notes"]
+
+
+def test_biofilm_oxygen_and_products_are_bounded_by_measurements():
+ _, _, oxygen, output = record(0)["ecological_interactions"]
+ assert "interaction_type" not in oxygen and "interaction_type" not in output
+ assert "Oxygen microprofiles" in oxygen["description"]
+ assert "first grow anoxically" in oxygen["description"]
+ assert "Fully oxic inoculation did not" in oxygen["description"]
+ assert "do not alone measure viability" in oxygen["description"]
+ assert "more ethanol and biomass than the summed monocultures" in output["description"]
+ assert "biomass plus extracellular material" in output["description"]
+ assert "cellobiose use and ethanol output were not directly measured" in output["description"]
+
+
+def test_yeast_keeps_conditional_mutualism_and_enzyme_assisted_productivity():
+ sugar, oxygen, maintenance = record(1)["ecological_interactions"]
+ assert sugar["interaction_type"] == "CROSS_FEEDING"
+ assert "22 g/L ethanol result used added endoglucanase" in sugar["description"]
+ assert "unsupplemented coculture did not" in sugar["description"]
+ assert oxygen["interaction_type"] == "MUTUALISM"
+ assert "respiratory protection" in oxygen["description"]
+ assert (
+ "not a claim that either organism universally requires its partner" in oxygen["description"]
+ )
+ for node in (sugar, oxygen):
+ assert node["downstream"][0]["target"] == maintenance["name"]
+ assert "PARTIAL" in node["downstream"][0]["description"]
+
+
+def test_yeast_maintenance_is_a_separate_viable_count_arm():
+ doc = record(1)
+ maintenance = doc["ecological_interactions"][2]
+ assert_participants(maintenance, doc)
+ assert "interaction_type" not in maintenance
+ assert "30-, 40- and 50-day samples" in maintenance["description"]
+ assert "below detection before day 30" in maintenance["description"]
+ assert "25 mL medium and 150 g/L" in maintenance["description"]
+ assert "distinct from the enzyme-assisted ethanol experiment" in maintenance["description"]
+
+
+def test_x514_product_output_is_not_ethanol_donation_or_directly_traced_sugar():
+ doc = record(2)
+ supply, output, _ = doc["ecological_interactions"]
+ assert supply["interaction_type"] == "CROSS_FEEDING"
+ assert "not directly traced transfer" in supply["description"]
+ assert "does not imply universally improved cellulose utilization" in supply["description"]
+ assert supply["downstream"][0]["target"] == output["name"]
+ assert_participants(output, doc)
+ assert "interaction_type" not in output
+ assert "not demonstrated ethanol donation" in output["description"]
+ assert "multiple coculture comparisons" in output["evidence"][0]["explanation"]
+ assert "The 2011 abstract" in output["description"]
+ assert "separate LQRI-X514 fed-batch study" in output["description"]
+
+
+def test_x514_b12_preserves_39e_control_without_claiming_vitamin_donation():
+ doc = record(2)
+ _, output, vitamin = doc["ecological_interactions"]
+ assert vitamin["scope"] == "PAIRWISE"
+ canonical = doc["taxonomy"][1]["taxon_term"]
+ assert vitamin["source_taxon"] == {
+ "preferred_term": canonical["preferred_term"],
+ "term": canonical["term"],
+ }
+ assert "target_taxon" not in vitamin and "participating_taxa" not in vitamin
+ assert "interaction_type" not in vitamin
+ assert "supplementation improved 39E ethanol production" in vitamin["description"]
+ assert "not demonstrated vitamin donation" in vitamin["description"]
+ assert "fed-batch study supplied vitamins" in vitamin["description"]
+ assert vitamin["downstream"][0]["target"] == output["name"]
+ assert vitamin["downstream"][0]["description"].startswith("HYPOTHESIZED")
+ assert all(e["supports"] == "PARTIAL" for e in vitamin["evidence"])
+
+
+def test_batch21_ledger_accounts_for_every_node_arrow_and_cache():
+ ledger = yaml.safe_load(LEDGER.read_text())
+ assert ledger["independent_approval"] is False
+ assert len(ledger["reference_cache_original_hashes"]) == 4
+ rows = ledger["records"]
+ assert len(rows) == 3
+ assert sum(len(r["node_decisions"]) for r in rows) == 10
+ assert sum(len(r["retained_edge_decisions"]) for r in rows) == 7
+ assert sum(len(r["removed_edge_decisions"]) for r in rows) == 0
+ assert sum(len(r["renamed_nodes"]) for r in rows) == 5
+ for row in rows:
+ raw = (ROOT / row["path"]).read_bytes()
+ assert hashlib.sha256(raw).hexdigest() == row["record_sha256"]
+ doc = yaml.safe_load(raw)
+ nodes = doc["ecological_interactions"]
+ names = {n["name"] for n in nodes}
+ assert Counter(d["node"] for d in row["node_decisions"]) == Counter(names)
+ edges = [{"source": n["name"], **e} for n in nodes for e in n.get("downstream", [])]
+ assert row["edges_after"] == edges
+ renames = row["renamed_nodes"]
+ before = {
+ (renames.get(e["source"], e["source"]), renames.get(e["target"], e["target"]))
+ for e in row["edges_before"]
+ }
+ assert before == {(e["source"], e["target"]) for e in row["retained_edge_decisions"]}
+ assert all(e["target"] in names for e in edges)
+ assert any(d["kind"] == "KNOWLEDGE_GAP" for d in doc["discussions"])
+ assert all(
+ a.split("#", 1)[1] in names
+ for d in doc["discussions"]
+ for a in d["attaches_to"]
+ if a.startswith("ecological_interactions#")
+ )
+ for path, expected in ledger["reference_cache_original_hashes"].items():
+ assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == expected
diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py
index b32e6b31f..6523eb9e7 100644
--- a/tests/test_participating_taxa.py
+++ b/tests/test_participating_taxa.py
@@ -216,6 +216,8 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example):
"Clostridium_Caldicellulosiruptor_Minimal_Medium_Coculture.yaml",
"Clostridium_Ljungdahlii_Kluyveri_Syngas_Alcohol_Coculture.yaml",
"Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml",
+ "Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml",
+ "Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml",
"Community_G_GenX_Biodegradation_Consortium.yaml",
"Coniochaeta_Sphingobacterium_Citrobacter_Wheat_Straw_Consortium.yaml",
"Cordyceps_Malbranchea_Antimicrobial_Coculture.yaml",