SEM imaging showed A. fischeri colonizing P. tricornutum cell surfaces in the 30% marine broth co-culture, with filamentous structures likely corresponding to EPS from one or both partners.
+
SEM showed A. fischeri attached to P. tricornutum surfaces in the 30% marine-broth coculture. Filamentous structures were interpreted as likely EPS from one or both partners; neither their chemical identity nor their producer was established by microscopy. Preserve the physical association without treating it as proof of nutrient transfer or the cause of photosynthetic decline.
Source Taxon: Aliivibrio fischeri MCCC 1H00019
@@ -652,10 +652,10 @@
Evidence
-
Amino Acid Resource Competition
+
Proposed Amino Acid Resource Competition
COMPETITION
-
Rather than supporting a direct growth-promotion effect of A. fischeri on P. tricornutum, the EASW/30% marine broth co-culture showed nutrient depletion and pigment dynamics consistent with early competition for amino-acid resources.
+
HYPOTHESIZED - Nutrient and pigment profiles led the authors to propose early amino-acid competition. Nitrate-N and orthophosphate were measured, but amino-acid depletion and partner-resolved exchange were not. Medium-matched axenic HAC controls support a negative coculture effect on late photosynthetic performance; moderate broth enrichment itself supported axenic growth. These observations do not isolate amino-acid competition as the mechanism or show bacterial growth promotion by bioluminescence.
@@ -685,7 +685,7 @@
Evidence
PMID:42668638
- - SUPPORT (IN_VITRO)
+ - PARTIAL (IN_VITRO)
"These results are more consistent with a competitive effect in co-culture than with a growth-promoting role of A. fischeri."
@@ -714,6 +714,60 @@
Evidence
+
+
Knowledge gaps & discussions (1)
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ Which processes connect bacterial association to diatom physiological and diel responses?
+
+
Keep SEM attachment and medium-controlled late physiological decline as positive findings. Matched late physiological controls exist, but no day-8 axenic transcriptome was collected; age, nutrients and growth phase confound attribution of Co8d transcription to bacteria alone. Light-dark rhythmic gene counts do not establish endogenous clock disruption. Biomass-flux changes (+81%/-87%) are transcript-constrained model predictions, not measured intracellular or interspecies flux. EPS decline admits synthesis, dilution and catabolism explanations. Dedicated physiological/diel/model response structure remains issue #1698, with a one-community Edison dry run and no paid report; no new arrow is inferred from the two existing nodes.
+
+
Attaches to: ecological_interactions#Aliivibrio Surface Colonization of Phaeodactylum, ecological_interactions#Proposed Amino Acid Resource Competition
The observed nutrient depletion patterns and pigment dynamics suggest early-phase competition for amino acid resources between P. tricornutum and A. fischeri
+
Supports the authors' competition interpretation; nutrient/pigment observations do not directly identify exchanged or limiting amino acids.
Syntrophorhabdus aromaticivorans strain UI(T) oxidizes phenol in the M. hungatei coculture and forms 4-hydroxybenzoate and benzoate as transient intermediates, initiating methanogenic aromatic-compound mineralization by the defined pair.
-
+
S. aromaticivorans UI(T) oxidized phenol in coculture with M. hungatei. Transient 4-hydroxybenzoate and benzoate were measured and subsequently consumed. PARTIAL - These intermediates support a proposed carboxylation/dehydroxylation route, but the paper explicitly leaves the actual enzymes and mechanism unresolved; they are not demonstrated interspecies carbon cargo.
- → Community Aromatic Mineralization to Acetate and Methane
-
Phenol oxidation by strain UI(T) supplies the aromatic-intermediate flux that the syntrophic coculture carries through to acetate and methane.
-
+ → Community Aromatic Conversion to Acetate and Methane
+
Phenol conversion by UI(T), coupled to partner electron disposal, supplies the measured coculture acetate/methane endpoint. Preserve this positive direction without asserting transfer of aromatic intermediates to the methanogen or complete substrate disappearance in the 100-day assay.
"The actual mechanisms employed by strain UIT cells for the metabolism of phenol remain unclear"
+
+
+
@@ -710,8 +721,7 @@
Evidence
M. hungatei H2 Scavenging and Methanogenesis
SYNTROPHY
-
Methanospirillum hungatei provides the methanogenic sink for the S. aromaticivorans syntrophy. Inhibition of methanogenesis with 2-BES and exposure to high hydrogen partial pressure both stopped aromatic-substrate degradation, supporting H2 scavenging as a required syntrophic electron sink.
-
+
M. hungatei supplied a methanogenic electron sink: 5 mM 2-BES blocked aromatic degradation, and elevated H2 stopped phenol and 4-hydroxybenzoate degradation. These perturbations support low-H2 syntrophy under the methanogenic conditions, not merely co-occurrence. Hydrogen was detected, while the authors did not exclude formate or other carriers. Dependence is conditional: AQDS enabled acetate production without methane in BES-treated culture; attempts at axenic isolation with AQDS failed.
Source Taxon: Methanospirillum hungatei
@@ -758,14 +768,12 @@
M. hungatei H2 Scavenging and Methanogenesis
→ Phenol Oxidation by Syntrophorhabdus
-
M. hungatei H2 scavenging keeps the electron sink active for strain UI(T); when methanogenesis was blocked or hydrogen partial pressure was raised, phenol and 4-hydroxybenzoate degradation stopped.
-
+
Methanogenic electron disposal maintains conditions allowing UI(T) phenol oxidation; BES inhibition and high-H2 inhibition support this direction. This applies to the methanogenic treatment, not an absolute requirement for this partner when an alternative acceptor such as AQDS is supplied.
- → Community Aromatic Mineralization to Acetate and Methane
-
Methanogenic H2 scavenging is the partner process that lets aromatic oxidation continue through to acetate and methane in the coculture.
-
+ → Community Aromatic Conversion to Acetate and Methane
+
The active methanogenic sink allows aromatic conversion to continue and supplies the methane component of the acetate/methane endpoint. AQDS-treated inhibited cultures produced acetate without methane, separating conversion from the methanogenic product.
@@ -807,11 +815,10 @@
Evidence
-
Community Aromatic Mineralization to Acetate and Methane
+
Community Aromatic Conversion to Acetate and Methane
SYNTROPHY
-
The S. aromaticivorans-M. hungatei coculture couples strain UI(T) aromatic substrate oxidation to methanogenic electron disposal, consuming phenol, p-cresol, isophthalate, 4-hydroxybenzoate, and benzoate for growth and producing acetate and methane as end products.
-
+
The defined UI(T)-M. hungatei coculture utilized phenol, p-cresol, isophthalate, 4-hydroxybenzoate and benzoate for growth and produced acetate and methane. Preserve these positive conversion and product measurements. Acetate remains an organic product, and Table 2 reports residual substrate at 100 days; this is not complete mineralization or universal complete removal. Absence of fermentative growth in the tested inhibited cultures does not negate the AQDS alternative-electron-acceptor result.
@@ -844,7 +851,7 @@
Community Aromatic Mineralization to Acetate and Methane
+ KNOWLEDGE_GAP
+ OPEN
+ Which enzymes and electron carriers implement the observed syntrophic phenol conversion?
+
+
Preserve all three existing positive causal arrows and the BES/high-H2 perturbations. Intermediates suggest a route but do not identify its enzymes; the authors allow hydrogen and/or formate transfer. AQDS replaces the methanogenic electron sink under the tested inhibited condition, without establishing a pure isolate. Acetate/methane conversion is not complete carbon mineralization. The alternative Desulfovibrio culture is a separate experimental condition, not a third member of this canonical pair; no new topology is required for these repairs.
+
+
Attaches to: ecological_interactions#Phenol Oxidation by Syntrophorhabdus, ecological_interactions#M. hungatei H2 Scavenging and Methanogenesis, ecological_interactions#Community Aromatic Conversion to Acetate and Methane
nodes.push({
id: intId,
- label: "Community Aromatic Mineralization to Acetate and Methane",
+ label: "Community Aromatic Conversion to Acetate and Methane",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
diff --git a/docs/communities/Phormidium_Alkaline_Consortium.html b/docs/communities/Phormidium_Alkaline_Consortium.html
index 626bc878a..9442eb344 100644
--- a/docs/communities/Phormidium_Alkaline_Consortium.html
+++ b/docs/communities/Phormidium_Alkaline_Consortium.html
@@ -733,7 +733,7 @@
Ecological Interactions
@@ -746,8 +746,8 @@
Ecological Interactions
Mutualism
+ aria-hidden="true" data-symbol="symbolTriangle2"
+ data-color="#929caa"> Other
@@ -756,10 +756,8 @@
Ecological Interactions
Photosynthetic CO2 Fixation
- CROSS_FEEDING
-
Candidatus Phormidium alkaliphilum fixes atmospheric CO2 through oxygenic photosynthesis at extremely high pH (>11). The alkaline conditions permit direct CO2 capture from air without acidification issues common in neutral pH cultures. Fixed carbon is incorporated into biomass and also released as dissolved organic matter (DOM) through multiple pathways including active excretion, osmotic shock response, membrane vesicle release, and cell lysis. This DOM production supports the diverse heterotrophic community.
-
+
Ca. P. alkaliphilum is the primary producer in this alkaline consortium. Label from supplied 13C-bicarbonate entered cyanobacterial proteins and subsequently heterotrophic proteins. Preserve photosynthetic carbon input without assigning every proposed release route (excretion, vesicles, lysis or osmotic shock) as measured in this community, or treating all cultures as uniformly above pH 11.
Source Taxon: Candidatus Phormidium alkaliphilum
@@ -806,7 +804,7 @@
Photosynthetic CO2 Fixation
→ Carbon Transfer to Heterotrophs
-
Fixed carbon flows from cyanobacteria to heterotrophic populations
+
Cyanobacterial fixation supplies carbon subsequently incorporated into heterotrophic proteins, as supported by 13C-bicarbonate protein/SIP. Preserve this experimental donor-to-heterotroph direction without claiming that labeling identifies the exact exchanged compounds or a trophic cascade.
@@ -838,39 +836,18 @@
Evidence
Carbon Transfer to Heterotrophs
CROSS_FEEDING
-
Heterotrophic bacteria, particularly Wenzhouxiangella species, assimilate organic carbon released by cyanobacteria. Stable isotope probing with ¹³C-bicarbonate combined with proteomics revealed tight coupling of carbon flow from autotrophs to heterotrophs. The heterotrophic community utilizes six main ecological niches: (1) phototrophy using unused solar energy, (2) fermentation products (formate, acetate, lactate, ethanol, H₂), (3) compatible solutes released during osmotic stress, (4) storage compounds, (5) cell wall polysaccharides, and (6) dead cell biomass. Despite this carbon consumption, productivity losses to heterotrophs are relatively small compared to other photosynthetic losses.
-
-
-
-
Source Taxon: Candidatus Phormidium alkaliphilum
-
-
-
-
Target Taxon: Wenzhouxiangella sp.
-
+
Protein/SIP supports cyanobacterial carbon transfer to heterotrophs, with strong peptide coverage for Wenzhouxiangella MAG57 and Phycisphaerales MAG34. These populations lagged cyanobacterial labeling, consistent with use of macromolecular carbon; specific protein/glycogen transfer remains an interpretation. Planctomycetota is the existing broad canonical grounding for MAG34, not evidence that every member of that phylum participates. Do not assign all proposed fermentation products to Wenzhouxiangella or infer nutrient return and reciprocal fitness from carbon uptake.
Heterotrophs remineralize nutrients for cyanobacterial reuse
-
-
@@ -912,106 +881,25 @@
Evidence
-
Nutrient Remineralization
- MUTUALISM
-
-
Heterotrophic bacteria remineralize nutrients from complex organic matter, returning inorganic nutrients to the cyanobacterial primary producer. This includes breakdown of biopolymers using extracellular enzymes. The recycling of nutrients helps sustain long-term community productivity and stability.
-
"tight coupling of carbon transfer from cyanobacteria to the heterotrophic populations"
-
-
-
-
-
-
-
-
-
-
Vitamin and Cofactor Exchange
- MUTUALISM
+
Proposed Cyanobacterial Polymer Use by Verrucomicrobiota
+ CROSS_FEEDING
-
Heterotrophic community members provide essential vitamins to the cyanobacterium, including cobalamin (vitamin B12), thiamine (vitamin B1), and biotin (vitamin B7). These vitamins are essential cofactors that many cyanobacteria cannot synthesize. Heterotrophs also produce siderophores that increase iron solubility and availability in the alkaline environment, addressing a key nutrient limitation. This metabolic cooperation represents a critical mutualistic exchange supporting community stability.
-
+
PARTIAL - The four Verrucomicrobiota MAGs encode multiple glycoside hydrolases and sulfatases, supporting a proposed niche consuming cyanobacterial sulfated glycopolymers. Gene content is not a direct substrate-use or transfer assay. Low-peptide isotope signals are compatible with heterotrophic carbon assimilation but do not identify polymers as the substrate. No Planctomycetota-to-Verrucomicrobiota transfer or benefit from removal of inhibitory polymers was established.
"Use of cyanobacterial consortium increases biodiversity, which provides functional redundancy and prevents invading species from disrupting the production ecosystem"
+
"All four consortium members affiliated with Verrucomicrobiota had 6–38 genes for glycoside hydrolysis and 12–37 genes encoding sulfatases"
@@ -1054,33 +942,20 @@
Evidence
-
Oxidative Stress Reduction
- MUTUALISM
+
Alphaproteobacterial Heterotrophic Carbon Use
-
Heterotrophic bacteria help reduce oxidative stress in the community, likely by consuming reactive oxygen species or providing antioxidant compounds. This protects the photosynthetic machinery of the cyanobacteria from photo-oxidative damage and contributes to the long-term stability of the consortium.
-
-
-
-
Source Taxon: Wenzhouxiangella sp.
+
PARTIAL - Alphaproteobacterial genomes support heterotrophic niches, and the lower-peptide Rhodobacteraceae MAG58 isotope signal is consistent with cyanobacterial carbon use. Oceanicaulis MAG52 and Roseinatronobacter MAG58 also encode bacteriochlorophyll-associated phototrophic capacity, not demonstrated photosynthetic flux. The study does not establish class-wide vitamin provision, siderophore delivery, nitrogen recycling or reciprocal cyanobacterial benefit; Figure 4 has much weaker peptide coverage for MAG58 than the major heterotrophs.
"tight coupling of carbon transfer from cyanobacteria to the heterotrophic populations"
@@ -1106,127 +981,62 @@
Evidence
-
-
-
Polysaccharide Degradation
- CROSS_FEEDING
-
-
Planctomycetes and Verrucomicrobia possess glycoside hydrolases that degrade sulfated polysaccharides and other complex carbohydrates from cyanobacterial cell walls and extracellular polymeric substances. This degradation recycles carbon and prevents accumulation of recalcitrant polymers that could inhibit community function.
-
- polysaccharide catabolic process
- (GO:0000272)
-
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ Which genomic niches and reciprocal services operate in this alkaline consortium?
+
+
Retain experimental carbon flow and qualified genomic niches. Introductory examples of vitamin/siderophore delivery, nutrient remineralization and ROS protection in other phototroph systems do not demonstrate the removed exact-community services. The nutrient-return to vitamin-production arrow has no supporting experiment. Figure 3 explicitly depicts inference from gene content; Figure 4 supports carbon flow, not compound-resolved flux or a trophic cascade. Bacteroidota remains a genuine member with inferred metabolic niches, not proven nutrient-return function. Stability over years does not mean fixed membership or experimentally established redundancy mediation. Additional niche and MAG-resolved graph coverage remains issue #1699 pending scoped Edison report; no unsupported edge is added to give every taxon connectivity credit.
-
+
Attaches to: ecological_interactions#Photosynthetic CO2 Fixation, ecological_interactions#Carbon Transfer to Heterotrophs, ecological_interactions#Proposed Cyanobacterial Polymer Use by Verrucomicrobiota, ecological_interactions#Alphaproteobacterial Heterotrophic Carbon Use
tight coupling of carbon transfer from cyanobacteria to the heterotrophic populations
+
Experimental labeling supports carbon flow; full Figure 4 distinguishes the two major heterotrophic populations from lower-peptide populations.
+
-
"tight coupling of carbon transfer from cyanobacteria to the heterotrophic populations"
-
-
-
-
-
-
-
-
-
-
Alphaproteobacterial Heterotrophy and Symbiosis
- MUTUALISM
-
-
Alphaproteobacteria members contribute to the alkaline consortium through heterotrophic metabolism of cyanobacterial exudates and potentially through nitrogen cycling. This diverse group likely includes species involved in vitamin production, siderophore synthesis for iron acquisition, and organic matter degradation. Alphaproteobacteria often form close associations with phototrophs in microbial mat systems, providing complementary metabolic functions that enhance consortium stability and productivity.
});
- var srcKey = "Planctomycetota members";
+ var srcKey = "Candidatus Phormidium alkaliphilum";
if (taxonNodeIds[srcKey]) {
links.push({ source: taxonNodeIds[srcKey], target: intId });
}
@@ -1851,21 +1528,17 @@
Evidence
})();
(function() {
- var intId = "interaction:6";
- var intType = "MUTUALISM";
+ var intId = "interaction:3";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
-
- processes.push("mutualism");
-
-
var evidenceCount = 1;
nodes.push({
id: intId,
- label: "Alphaproteobacterial Heterotrophy and Symbiosis",
+ label: "Alphaproteobacterial Heterotrophic Carbon Use",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -1874,14 +1547,14 @@
Evidence
});
- var srcKey = "Alphaproteobacteria members";
+ var srcKey = "Candidatus Phormidium alkaliphilum";
if (taxonNodeIds[srcKey]) {
links.push({ source: taxonNodeIds[srcKey], target: intId });
}
- var tgtKey = "Candidatus Phormidium alkaliphilum";
+ var tgtKey = "Alphaproteobacteria members";
if (taxonNodeIds[tgtKey]) {
links.push({ source: intId, target: taxonNodeIds[tgtKey] });
}
@@ -1907,7 +1580,7 @@
Evidence
var svg = d3.select("#network-svg");
var width = container.clientWidth - 32;
// Dynamic height based on node count: minimum 500px, add 40px per node
- var nodeCount = 13;
+ var nodeCount = 10;
var height = Math.max(500, 400 + nodeCount * 20);
svg.attr("width", width).attr("height", height);
diff --git a/docs/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.html b/docs/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.html
index 8f6a8547e..06b03e4ec 100644
--- a/docs/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.html
+++ b/docs/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.html
@@ -582,7 +582,7 @@
Ecological Interactions
Phox-21 Phosphite-Driven Hydrogenogenesis
SYNTROPHY
-
Candidatus Phosphitivorax anaerolimi Phox-21 oxidizes phosphite to phosphate, sending phosphite-derived electrons into H2 production via an electron-confurcating hydrogenase.
+
Phox-21 oxidizes phosphite to phosphate coupled to H2 production in the methanogenic enrichment. Preserve the experimentally supported lithosyntrophic process. PARTIAL - The specific HndABCD electron-confurcating hydrogenase/Rnf energy-conservation mechanism is a model based on annotation, abundant proteins and thermodynamic calculations, not direct enzyme perturbation. Acetate supports mixotrophic biomass assimilation and is not the demonstrated source of methane.
PMID:41811448
- - SUPPORT (IN_VITRO)
+ - PARTIAL (COMPUTATIONAL)
"In this pathway, electrons derived from phosphite drive H2 production via an electron-confurcating hydrogenase."
@@ -655,7 +655,7 @@
Evidence
Lithosyntrophic interspecies H2 transfer
SYNTROPHY
-
Phox-21 transfers phosphite-derived reducing equivalents to Methanoculleus sp. as H2, establishing an obligate lithosyntrophic dependency in which H2 consumption by the methanogen keeps phosphite oxidation thermodynamically favorable.
+
Phox-21 supplies phosphite-derived reducing equivalents to Methanoculleus as H2. Methanogenic phosphite oxidation was inhibited by BES and by excess H2; growth and oxidation were restored with hydrogenotrophic sulfate reducer G11 in BES. These experiments support a required low-H2 sink under tested conditions, not universal dependence on this exact methanogen. Net chemical phosphite oxidation remains exergonic; the proposed H2-sensitive bottleneck concerns intracellular electron transfer and energy conservation.
Methanoculleus sp. consumes the H2 generated from phosphite-derived electrons, driving methane formation and keeping the partner phosphite-oxidation reaction near a favorable low-H2 state.
+
Methanoculleus consumes H2 and produces methane, providing the hydrogen sink for Phox-21 in the methanogenic enrichment. Phosphite oxidation and methane production were approximately stoichiometric; isotope and isolate-substrate tests support H2/CO2-derived rather than acetate-derived methane. Low H2 enables the proposed intracellular energy-conserving pathway, not an otherwise endergonic net phosphite-oxidation reaction. The syntrophic pair is embedded in an enrichment, not a demonstrated two-member pure culture.
+ KNOWLEDGE_GAP
+ OPEN
+ How should the demonstrated hydrogen-sink dependence be represented as feedback?
+
+
Preserve both donor-to-H2-to-methanogenesis arrows. Primary full text supplies BES inhibition, excess-H2 inhibition, measured low H2 and G11 rescue: a sink-to-donor feedback candidate remains unrepresented in downstream and is tracked in #1700. No new arrow without the scoped Edison workflow. HndABCD/Rnf remains a proposed intracellular model, while physiological dependence is experimentally supported. Acetate/sulfide medium contained seven taxa (Phox-21 >98%); cysteine medium contained sixteen. Non-graph two-member and taxonomy notes are not certified and remain #1701.
Candidatus Phosphitivorax anaerolimi Phox-21 oxidizes phosphite (HPO32-, oxidation state +3) to phosphate coupled to hydrogenogenesis in an obligate energetic dependency on a hydrogenotrophic methanogen, Methanoculleus sp.
+
Preserves the reported positive H2-mediated partnership; the full paper bounds the requirement using inhibition and an alternative hydrogen-consuming partner.
In this pathway, electrons derived from phosphite drive H2 production via an electron-confurcating hydrogenase.
+
The abstract summarizes the proposed hydrogenase route; full Results call it a metaproteomic and thermodynamic model, not an enzyme-specific causal experiment.
+
+
+
+
+
+
+
+
@@ -1048,14 +1102,14 @@
Evidence
});
- var srcKey = "Candidatus Phosphitivorax anaerolimi Phox-21";
+ var srcKey = "Methanoculleus sp.";
if (taxonNodeIds[srcKey]) {
links.push({ source: taxonNodeIds[srcKey], target: intId });
}
- var tgtKey = "Methanoculleus sp.";
+ var tgtKey = "Candidatus Phosphitivorax anaerolimi Phox-21";
if (taxonNodeIds[tgtKey]) {
links.push({ source: intId, target: taxonNodeIds[tgtKey] });
}
diff --git a/history/records/Phaeodactylum_Aliivibrio_Diel_Coculture/2026-10-07T084206Z-codex-8d483c.yaml b/history/records/Phaeodactylum_Aliivibrio_Diel_Coculture/2026-10-07T084206Z-codex-8d483c.yaml
new file mode 100644
index 000000000..6eebf86c8
--- /dev/null
+++ b/history/records/Phaeodactylum_Aliivibrio_Diel_Coculture/2026-10-07T084206Z-codex-8d483c.yaml
@@ -0,0 +1,25 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml
+ slug: Phaeodactylum_Aliivibrio_Diel_Coculture
+session:
+ id: 2026-10-07T084206Z-codex-8d483c
+ timestamp: '2026-10-07T08:42:06Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1694
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Preserve surface attachment while bounding EPS identity and mediation.; Retain
+ amino-acid competition as a hypothesis while preserving controlled negative physiology.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml
diff --git a/history/records/Phenol_Carboxylation_Consortium/2026-10-07T084206Z-codex-c3eb51.yaml b/history/records/Phenol_Carboxylation_Consortium/2026-10-07T084206Z-codex-c3eb51.yaml
new file mode 100644
index 000000000..6628c2e40
--- /dev/null
+++ b/history/records/Phenol_Carboxylation_Consortium/2026-10-07T084206Z-codex-c3eb51.yaml
@@ -0,0 +1,26 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Phenol_Carboxylation_Consortium.yaml
+ slug: Phenol_Carboxylation_Consortium
+session:
+ id: 2026-10-07T084206Z-codex-c3eb51
+ timestamp: '2026-10-07T08:42:06Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1695
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Preserve phenol conversion and qualify the inferred enzymatic route.; Preserve
+ perturbation-supported sink directions and condition-specific dependence.; Preserve aromatic
+ conversion without complete-mineralization or removal claims.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml
diff --git a/history/records/Phormidium_Alkaline_Consortium/2026-10-07T084206Z-codex-358cb4.yaml b/history/records/Phormidium_Alkaline_Consortium/2026-10-07T084206Z-codex-358cb4.yaml
new file mode 100644
index 000000000..0673bc3e8
--- /dev/null
+++ b/history/records/Phormidium_Alkaline_Consortium/2026-10-07T084206Z-codex-358cb4.yaml
@@ -0,0 +1,28 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Phormidium_Alkaline_Consortium.yaml
+ slug: Phormidium_Alkaline_Consortium
+session:
+ id: 2026-10-07T084206Z-codex-358cb4
+ timestamp: '2026-10-07T08:42:06Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1696
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Preserve photosynthetic carbon supply and the experimentally supported downstream
+ direction.; Preserve major-population isotope uptake with explicit participants and no
+ invented compound specificity.; Retain gene-supported polymer-use hypothesis with corrected
+ donor and recipient.; Preserve alpha heterotrophic evidence without class-wide reciprocal
+ services.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml
diff --git a/history/records/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture/2026-10-07T084207Z-codex-41dca4.yaml b/history/records/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture/2026-10-07T084207Z-codex-41dca4.yaml
new file mode 100644
index 000000000..a838a8986
--- /dev/null
+++ b/history/records/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture/2026-10-07T084207Z-codex-41dca4.yaml
@@ -0,0 +1,26 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml
+ slug: Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture
+session:
+ id: 2026-10-07T084207Z-codex-41dca4
+ timestamp: '2026-10-07T08:42:07Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1697
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Preserve phosphite-driven hydrogenogenesis and qualify the intracellular enzyme
+ model.; Preserve H2 transfer while distinguishing physiological inhibition and net thermodynamics.;
+ Correct methanogenic sink actor direction and preserve the positive methane endpoint.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml
diff --git a/kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml b/kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml
index d50322959..fdddc73f5 100644
--- a/kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml
+++ b/kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml
@@ -145,10 +145,10 @@ taxonomy:
explanation: Supports the initial A. fischeri inoculum density.
ecological_interactions:
- name: Aliivibrio Surface Colonization of Phaeodactylum
- description: >-
- SEM imaging showed A. fischeri colonizing P. tricornutum cell surfaces in
- the 30% marine broth co-culture, with filamentous structures likely
- corresponding to EPS from one or both partners.
+ description: SEM showed A. fischeri attached to P. tricornutum surfaces in the 30% marine-broth coculture. Filamentous
+ structures were interpreted as likely EPS from one or both partners; neither their chemical identity nor their
+ producer was established by microscopy. Preserve the physical association without treating it as proof of nutrient
+ transfer or the cause of photosynthetic decline.
scope: PAIRWISE
source_taxon:
preferred_term: Aliivibrio fischeri MCCC 1H00019
@@ -164,17 +164,15 @@ ecological_interactions:
- reference: PMID:42668638
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: >-
- Scanning electron microscopy (SEM) analysis demonstrated significant
- colonization of P. tricornutum cell surfaces by A. fischeri
- explanation: >-
- Supports bacterial attachment to the diatom cell surface in co-culture.
-- name: Amino Acid Resource Competition
- description: >-
- Rather than supporting a direct growth-promotion effect of A. fischeri on
- P. tricornutum, the EASW/30% marine broth co-culture showed nutrient
- depletion and pigment dynamics consistent with early competition for
- amino-acid resources.
+ snippet: Scanning electron microscopy (SEM) analysis demonstrated significant colonization of P. tricornutum
+ cell surfaces by A. fischeri
+ explanation: Supports bacterial attachment to the diatom cell surface in co-culture.
+- name: Proposed Amino Acid Resource Competition
+ description: HYPOTHESIZED - Nutrient and pigment profiles led the authors to propose early amino-acid competition.
+ Nitrate-N and orthophosphate were measured, but amino-acid depletion and partner-resolved exchange were not.
+ Medium-matched axenic HAC controls support a negative coculture effect on late photosynthetic performance; moderate
+ broth enrichment itself supported axenic growth. These observations do not isolate amino-acid competition as
+ the mechanism or show bacterial growth promotion by bioluminescence.
interaction_type: COMPETITION
scope: COMMUNITY_LEVEL
participating_taxa:
@@ -188,24 +186,19 @@ ecological_interactions:
label: Aliivibrio fischeri
evidence:
- reference: PMID:42668638
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
- snippet: >-
- These results are more consistent with a competitive effect in co-culture
- than with a growth-promoting role of A. fischeri.
- explanation: >-
- Supports the authors' interpretation that the bacterium imposed
- competitive rather than positive dynamics.
+ snippet: These results are more consistent with a competitive effect in co-culture than with a growth-promoting
+ role of A. fischeri.
+ explanation: Supports the authors' competition interpretation; nutrient/pigment observations do not directly
+ identify exchanged or limiting amino acids.
- reference: PMID:42668638
supports: PARTIAL
evidence_source: IN_VITRO
- snippet: >-
- The observed nutrient depletion patterns and pigment dynamics suggest
- early-phase competition for amino acid resources between P. tricornutum
- and A. fischeri
- explanation: >-
- Supports amino-acid competition as an inferred constraint in the early
- algae-bacteria co-culture.
+ snippet: The observed nutrient depletion patterns and pigment dynamics suggest early-phase competition for amino
+ acid resources between P. tricornutum and A. fischeri
+ explanation: Supports the authors' competition interpretation; nutrient/pigment observations do not directly
+ identify exchanged or limiting amino acids.
environmental_factors:
- name: EPS depletion during prolonged co-culture
value: peak at day 6 followed by day-8 reduction
@@ -345,11 +338,44 @@ curation_history:
- timestamp: '2026-09-27T05:25:38Z'
curator: codex
action: CREATE_PHAEODACTYLUM_ALIIVIBRIO_DIEL_COCULTURE
- changes: >-
- Created CommunityMech:000446 from PMID:42668638 and DOI
- 10.1016/j.isci.2026.117307 with evidence-backed P. tricornutum CCAP 1055/1
- and A. fischeri MCCC 1H00019 membership, EASW plus 30% marine broth
- co-culture conditions, A. fischeri surface colonization, amino-acid
- competition, EPS depletion, and transcriptomic and model-inferred flux
- effects across day-4 and day-8 diel co-cultures.
+ changes: Created CommunityMech:000446 from PMID:42668638 and DOI 10.1016/j.isci.2026.117307 with evidence-backed
+ P. tricornutum CCAP 1055/1 and A. fischeri MCCC 1H00019 membership, EASW plus 30% marine broth co-culture conditions,
+ A. fischeri surface colonization, amino-acid competition, EPS depletion, and transcriptomic and model-inferred
+ flux effects across day-4 and day-8 diel co-cultures.
llm_assisted: true
+- timestamp: '2026-10-07T08:42:05Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Preserve surface attachment while bounding EPS identity and mediation.; Retain amino-acid competition
+ as a hypothesis while preserving controlled negative physiology. Issue #1694; reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml'
+ llm_assisted: true
+discussions:
+- discussion_id: diatom-association-response-and-model-boundaries
+ prompt: Which processes connect bacterial association to diatom physiological and diel responses?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Aliivibrio Surface Colonization of Phaeodactylum
+ - ecological_interactions#Proposed Amino Acid Resource Competition
+ rationale: 'Keep SEM attachment and medium-controlled late physiological decline as positive findings. Matched
+ late physiological controls exist, but no day-8 axenic transcriptome was collected; age, nutrients and growth
+ phase confound attribution of Co8d transcription to bacteria alone. Light-dark rhythmic gene counts do not establish
+ endogenous clock disruption. Biomass-flux changes (+81%/-87%) are transcript-constrained model predictions,
+ not measured intracellular or interspecies flux. EPS decline admits synthesis, dilution and catabolism explanations.
+ Dedicated physiological/diel/model response structure remains issue #1698, with a one-community Edison dry run
+ and no paid report; no new arrow is inferred from the two existing nodes.'
+ evidence:
+ - reference: PMID:42668638
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: Scanning electron microscopy (SEM) analysis demonstrated significant colonization of P. tricornutum
+ cell surfaces by A. fischeri
+ explanation: Supports bacterial attachment to the diatom cell surface in co-culture.
+ - reference: PMID:42668638
+ supports: PARTIAL
+ evidence_source: IN_VITRO
+ snippet: The observed nutrient depletion patterns and pigment dynamics suggest early-phase competition for amino
+ acid resources between P. tricornutum and A. fischeri
+ explanation: Supports the authors' competition interpretation; nutrient/pigment observations do not directly
+ identify exchanged or limiting amino acids.
+ posed_by: codex
diff --git a/kb/communities/Phenol_Carboxylation_Consortium.yaml b/kb/communities/Phenol_Carboxylation_Consortium.yaml
index ccd218150..d43fea97c 100644
--- a/kb/communities/Phenol_Carboxylation_Consortium.yaml
+++ b/kb/communities/Phenol_Carboxylation_Consortium.yaml
@@ -97,11 +97,10 @@ taxonomy:
explanation: Supports the DSM 864 strain designation for the M. hungatei partner.
ecological_interactions:
- name: Phenol Oxidation by Syntrophorhabdus
- description: >
- Syntrophorhabdus aromaticivorans strain UI(T) oxidizes phenol in the
- M. hungatei coculture and forms 4-hydroxybenzoate and benzoate as transient
- intermediates, initiating methanogenic aromatic-compound mineralization by
- the defined pair.
+ description: S. aromaticivorans UI(T) oxidized phenol in coculture with M. hungatei. Transient 4-hydroxybenzoate
+ and benzoate were measured and subsequently consumed. PARTIAL - These intermediates support a proposed carboxylation/dehydroxylation
+ route, but the paper explicitly leaves the actual enzymes and mechanism unresolved; they are not demonstrated
+ interspecies carbon cargo.
interaction_type: SYNTROPHY
scope: PAIRWISE
source_taxon:
@@ -119,10 +118,12 @@ ecological_interactions:
term:
id: CHEBI:15882
label: phenol
- - preferred_term: benzoate
+ - preferred_term: benzoic acid
term:
id: CHEBI:30746
label: benzoic acid
+ notes: Parent-acid grounding retained; the study reports benzoate. Protonation/speciation is not resolved by
+ this graph review.
- preferred_term: 4-hydroxybenzoate
term:
id: CHEBI:17879
@@ -133,29 +134,34 @@ ecological_interactions:
id: GO:0018958
label: phenol-containing compound metabolic process
downstream:
- - target: Community Aromatic Mineralization to Acetate and Methane
- description: >
- Phenol oxidation by strain UI(T) supplies the aromatic-intermediate flux
- that the syntrophic coculture carries through to acetate and methane.
+ - target: Community Aromatic Conversion to Acetate and Methane
+ description: Phenol conversion by UI(T), coupled to partner electron disposal, supplies the measured coculture
+ acetate/methane endpoint. Preserve this positive direction without asserting transfer of aromatic intermediates
+ to the methanogen or complete substrate disappearance in the 100-day assay.
evidence:
- reference: PMID:18281436
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: During the degradation of phenol, a small amount of 4-hydroxybenzoate (a maximum of 4 microM)
- and benzoate (a maximum of 11 microM) were formed as transient intermediates.
+ snippet: During the degradation of phenol, a small amount of 4-hydroxybenzoate (a maximum of 4 microM) and benzoate
+ (a maximum of 11 microM) were formed as transient intermediates.
explanation: Identifies the transient intermediates produced during syntrophic phenol degradation.
- reference: PMID:18281436
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: This isolate is the first tangible, obligately anaerobic, syntrophic substrate-degrading
- organism capable of oxidizing phenol in association with an H(2)-scavenging methanogen partner
+ snippet: This isolate is the first tangible, obligately anaerobic, syntrophic substrate-degrading organism capable
+ of oxidizing phenol in association with an H(2)-scavenging methanogen partner
explanation: Supports strain UI(T) as the syntrophic phenol oxidizer in association with a methanogen.
+ - reference: PMID:18281436
+ supports: PARTIAL
+ evidence_source: IN_VITRO
+ snippet: The actual mechanisms employed by strain UIT cells for the metabolism of phenol remain unclear
+ explanation: Primary Discussion distinguishes intermediate measurements from the unresolved enzymatic route.
- name: M. hungatei H2 Scavenging and Methanogenesis
- description: >
- Methanospirillum hungatei provides the methanogenic sink for the
- S. aromaticivorans syntrophy. Inhibition of methanogenesis with 2-BES and
- exposure to high hydrogen partial pressure both stopped aromatic-substrate
- degradation, supporting H2 scavenging as a required syntrophic electron sink.
+ description: 'M. hungatei supplied a methanogenic electron sink: 5 mM 2-BES blocked aromatic degradation, and
+ elevated H2 stopped phenol and 4-hydroxybenzoate degradation. These perturbations support low-H2 syntrophy under
+ the methanogenic conditions, not merely co-occurrence. Hydrogen was detected, while the authors did not exclude
+ formate or other carriers. Dependence is conditional: AQDS enabled acetate production without methane in BES-treated
+ culture; attempts at axenic isolation with AQDS failed.'
interaction_type: SYNTROPHY
scope: PAIRWISE
source_taxon:
@@ -189,33 +195,32 @@ ecological_interactions:
label: methanogenesis
downstream:
- target: Phenol Oxidation by Syntrophorhabdus
- description: >
- M. hungatei H2 scavenging keeps the electron sink active for strain UI(T);
- when methanogenesis was blocked or hydrogen partial pressure was raised,
- phenol and 4-hydroxybenzoate degradation stopped.
- - target: Community Aromatic Mineralization to Acetate and Methane
- description: >
- Methanogenic H2 scavenging is the partner process that lets aromatic
- oxidation continue through to acetate and methane in the coculture.
+ description: Methanogenic electron disposal maintains conditions allowing UI(T) phenol oxidation; BES inhibition
+ and high-H2 inhibition support this direction. This applies to the methanogenic treatment, not an absolute
+ requirement for this partner when an alternative acceptor such as AQDS is supplied.
+ - target: Community Aromatic Conversion to Acetate and Methane
+ description: The active methanogenic sink allows aromatic conversion to continue and supplies the methane component
+ of the acetate/methane endpoint. AQDS-treated inhibited cultures produced acetate without methane, separating
+ conversion from the methanogenic product.
evidence:
- reference: PMID:18281436
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: The addition of 5 mM 2-BES to a coculture with M. hungatei completely inhibited
- the degradation of isophthalate, phenol, and 4-hydroxybenzoate.
+ snippet: The addition of 5 mM 2-BES to a coculture with M. hungatei completely inhibited the degradation of
+ isophthalate, phenol, and 4-hydroxybenzoate.
explanation: Blocking methanogenesis stopped aromatic-substrate degradation in the M. hungatei coculture.
- reference: PMID:18281436
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: degradation of phenol and 4-hydroxybenzoate was completely stopped when the cultures were
- exposed to a gas phase containing a high partial pressure of hydrogen
+ snippet: degradation of phenol and 4-hydroxybenzoate was completely stopped when the cultures were exposed to
+ a gas phase containing a high partial pressure of hydrogen
explanation: Raising H2 pressure blocked degradation, supporting the need for H2 scavenging.
-- name: Community Aromatic Mineralization to Acetate and Methane
- description: >
- The S. aromaticivorans-M. hungatei coculture couples strain UI(T) aromatic
- substrate oxidation to methanogenic electron disposal, consuming phenol,
- p-cresol, isophthalate, 4-hydroxybenzoate, and benzoate for growth and
- producing acetate and methane as end products.
+- name: Community Aromatic Conversion to Acetate and Methane
+ description: The defined UI(T)-M. hungatei coculture utilized phenol, p-cresol, isophthalate, 4-hydroxybenzoate
+ and benzoate for growth and produced acetate and methane. Preserve these positive conversion and product measurements.
+ Acetate remains an organic product, and Table 2 reports residual substrate at 100 days; this is not complete
+ mineralization or universal complete removal. Absence of fermentative growth in the tested inhibited cultures
+ does not negate the AQDS alternative-electron-acceptor result.
interaction_type: SYNTROPHY
scope: COMMUNITY_LEVEL
participating_taxa:
@@ -244,10 +249,12 @@ ecological_interactions:
term:
id: CHEBI:17879
label: 4-hydroxybenzoate
- - preferred_term: benzoate
+ - preferred_term: benzoic acid
term:
id: CHEBI:30746
label: benzoic acid
+ notes: Parent-acid grounding retained; the study reports benzoate. Protonation/speciation is not resolved by
+ this graph review.
- preferred_term: acetate
term:
id: CHEBI:30089
@@ -273,16 +280,16 @@ ecological_interactions:
- reference: PMID:18281436
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: In syntrophic coculture with M. hungatei , strain UIT could utilize isophthalate,
- benzoate, phenol, p -cresol, and 4-hydroxybenzoate for growth and produce
- acetate and methane as end products.
+ snippet: In syntrophic coculture with M. hungatei , strain UIT could utilize isophthalate, benzoate, phenol,
+ p -cresol, and 4-hydroxybenzoate for growth and produce acetate and methane as end products.
explanation: Supports the defined M. hungatei coculture's aromatic-substrate range and products.
- reference: PMID:18281436
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: No substrates that support the fermentative growth of strain UIT in pure culture
- (in the presence of 2-BES) were found
- explanation: Supports the obligate syntrophic requirement for strain UI(T) aromatic mineralization.
+ snippet: No substrates that support the fermentative growth of strain UIT in pure culture (in the presence of
+ 2-BES) were found
+ explanation: No fermentative growth was found in the tested inhibited cultures; this is not a universal prohibition
+ on partner-independent electron disposal with AQDS.
environmental_factors:
- name: Strict anaerobic cultivation
value: 50-ml serum vials; 20 ml medium; 37 C; no shaking
@@ -432,3 +439,38 @@ growth_media:
snippet: Phenol degradation under methanogenic conditions has long been studied, but the anaerobes
responsible for the degradation reaction are still largely unknown
explanation: Establishes strictly anaerobic, methanogenic cultivation conditions for the consortium.
+discussions:
+- discussion_id: phenol-route-and-electron-carrier-boundaries
+ prompt: Which enzymes and electron carriers implement the observed syntrophic phenol conversion?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Phenol Oxidation by Syntrophorhabdus
+ - ecological_interactions#M. hungatei H2 Scavenging and Methanogenesis
+ - ecological_interactions#Community Aromatic Conversion to Acetate and Methane
+ rationale: Preserve all three existing positive causal arrows and the BES/high-H2 perturbations. Intermediates
+ suggest a route but do not identify its enzymes; the authors allow hydrogen and/or formate transfer. AQDS replaces
+ the methanogenic electron sink under the tested inhibited condition, without establishing a pure isolate. Acetate/methane
+ conversion is not complete carbon mineralization. The alternative Desulfovibrio culture is a separate experimental
+ condition, not a third member of this canonical pair; no new topology is required for these repairs.
+ evidence:
+ - reference: PMID:18281436
+ supports: PARTIAL
+ evidence_source: IN_VITRO
+ snippet: The actual mechanisms employed by strain UIT cells for the metabolism of phenol remain unclear
+ explanation: Primary Discussion distinguishes intermediate measurements from the unresolved enzymatic route.
+ - reference: PMID:18281436
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: The addition of 5 mM 2-BES to a coculture with M. hungatei completely inhibited the degradation of
+ isophthalate, phenol, and 4-hydroxybenzoate.
+ explanation: Blocking methanogenesis stopped aromatic-substrate degradation in the M. hungatei coculture.
+ posed_by: codex
+curation_history:
+- timestamp: '2026-10-07T08:42:05Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Preserve phenol conversion and qualify the inferred enzymatic route.; Preserve perturbation-supported
+ sink directions and condition-specific dependence.; Preserve aromatic conversion without complete-mineralization
+ or removal claims. Issue #1695; reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml'
+ llm_assisted: true
diff --git a/kb/communities/Phormidium_Alkaline_Consortium.yaml b/kb/communities/Phormidium_Alkaline_Consortium.yaml
index 1725045e5..ca246028a 100644
--- a/kb/communities/Phormidium_Alkaline_Consortium.yaml
+++ b/kb/communities/Phormidium_Alkaline_Consortium.yaml
@@ -206,15 +206,10 @@ taxonomy:
explanation: Documents Planctomycetes role in polymer degradation
ecological_interactions:
- name: Photosynthetic CO2 Fixation
- description: 'Candidatus Phormidium alkaliphilum fixes atmospheric CO2 through oxygenic photosynthesis
- at extremely high pH (>11). The alkaline conditions permit direct CO2 capture from air without acidification
- issues common in neutral pH cultures. Fixed carbon is incorporated into biomass and also released
- as dissolved organic matter (DOM) through multiple pathways including active excretion, osmotic shock
- response, membrane vesicle release, and cell lysis. This DOM production supports the diverse heterotrophic
- community.
-
- '
- interaction_type: CROSS_FEEDING
+ description: Ca. P. alkaliphilum is the primary producer in this alkaline consortium. Label from supplied 13C-bicarbonate
+ entered cyanobacterial proteins and subsequently heterotrophic proteins. Preserve photosynthetic carbon input
+ without assigning every proposed release route (excretion, vesicles, lysis or osmotic shock) as measured in
+ this community, or treating all cultures as uniformly above pH 11.
scope: PAIRWISE
source_taxon:
preferred_term: Candidatus Phormidium alkaliphilum
@@ -226,12 +221,11 @@ ecological_interactions:
term:
id: CHEBI:16526
label: carbon dioxide
- concentration: Direct capture from air at pH >11
- preferred_term: dissolved organic matter
term:
id: CHEBI:50860
label: organic molecular entity
- concentration: Released through excretion, lysis, and vesicle production
+ notes: Generic organic-carbon pool; the exchanged compounds and release routes were not resolved by protein/SIP.
biological_processes:
- preferred_term: photosynthesis
term:
@@ -243,194 +237,58 @@ ecological_interactions:
label: carbon fixation
downstream:
- target: Carbon Transfer to Heterotrophs
- description: Fixed carbon flows from cyanobacteria to heterotrophic populations
+ description: Cyanobacterial fixation supplies carbon subsequently incorporated into heterotrophic proteins,
+ as supported by 13C-bicarbonate protein/SIP. Preserve this experimental donor-to-heterotroph direction without
+ claiming that labeling identifies the exact exchanged compounds or a trophic cascade.
evidence:
- reference: doi:10.3389/fmicb.2022.780346
supports: SUPPORT
evidence_source: IN_VITRO
snippet: tight coupling of carbon transfer from cyanobacteria to the heterotrophic populations
- explanation: Establishes the primary carbon fixation mechanism at alkaline pH
+ explanation: The primary protein/SIP results support transfer of photosynthetically fixed carbon; they do not
+ resolve the release route.
- name: Carbon Transfer to Heterotrophs
- description: 'Heterotrophic bacteria, particularly Wenzhouxiangella species, assimilate organic carbon
- released by cyanobacteria. Stable isotope probing with ¹³C-bicarbonate combined with proteomics revealed
- tight coupling of carbon flow from autotrophs to heterotrophs. The heterotrophic community utilizes
- six main ecological niches: (1) phototrophy using unused solar energy, (2) fermentation products (formate,
- acetate, lactate, ethanol, H₂), (3) compatible solutes released during osmotic stress, (4) storage
- compounds, (5) cell wall polysaccharides, and (6) dead cell biomass. Despite this carbon consumption,
- productivity losses to heterotrophs are relatively small compared to other photosynthetic losses.
-
- '
+ description: Protein/SIP supports cyanobacterial carbon transfer to heterotrophs, with strong peptide coverage
+ for Wenzhouxiangella MAG57 and Phycisphaerales MAG34. These populations lagged cyanobacterial labeling, consistent
+ with use of macromolecular carbon; specific protein/glycogen transfer remains an interpretation. Planctomycetota
+ is the existing broad canonical grounding for MAG34, not evidence that every member of that phylum participates.
+ Do not assign all proposed fermentation products to Wenzhouxiangella or infer nutrient return and reciprocal
+ fitness from carbon uptake.
interaction_type: CROSS_FEEDING
- scope: PAIRWISE
- source_taxon:
- preferred_term: Candidatus Phormidium alkaliphilum
- term:
- id: NCBITaxon:1807132
- label: Candidatus Phormidium alkaliphilum
- target_taxon:
- preferred_term: Wenzhouxiangella sp.
- term:
- id: NCBITaxon:1979961
- label: Wenzhouxiangella sp.
- metabolites:
- - preferred_term: formate
- term:
- id: CHEBI:15740
- label: formate
- - preferred_term: acetate
- term:
- id: CHEBI:30089
- label: acetate
- - preferred_term: lactate
- term:
- id: CHEBI:24996
- label: lactate
- - preferred_term: ethanol
- term:
- id: CHEBI:16236
- label: ethanol
- - preferred_term: dihydrogen
- term:
- id: CHEBI:18276
- label: dihydrogen
- downstream:
- - target: Nutrient Remineralization
- description: Heterotrophs remineralize nutrients for cyanobacterial reuse
- evidence:
- - reference: doi:10.3389/fmicb.2022.780346
- supports: SUPPORT
- evidence_source: IN_VITRO
- snippet: tight coupling of carbon transfer from cyanobacteria to the heterotrophic populations
- explanation: Direct evidence of carbon transfer using isotope labeling
-- name: Nutrient Remineralization
- description: 'Heterotrophic bacteria remineralize nutrients from complex organic matter, returning inorganic
- nutrients to the cyanobacterial primary producer. This includes breakdown of biopolymers using extracellular
- enzymes. The recycling of nutrients helps sustain long-term community productivity and stability.
-
- '
- interaction_type: MUTUALISM
- scope: PAIRWISE
- source_taxon:
- preferred_term: Bacteroidota members
- term:
- id: NCBITaxon:976
- label: Bacteroidota
- target_taxon:
- preferred_term: Candidatus Phormidium alkaliphilum
- term:
- id: NCBITaxon:1807132
- label: Candidatus Phormidium alkaliphilum
- metabolites:
- - preferred_term: inorganic nutrient
- term:
- id: CHEBI:33284
- label: nutrient
- biological_processes:
- - preferred_term: nutrient cycling
- term:
- id: GO:0033013
- label: tetrapyrrole metabolic process
- downstream:
- - target: Vitamin and Cofactor Exchange
- description: Remineralization supports vitamin production pathways
+ scope: COMMUNITY_LEVEL
evidence:
- reference: doi:10.3389/fmicb.2022.780346
supports: SUPPORT
evidence_source: IN_VITRO
snippet: tight coupling of carbon transfer from cyanobacteria to the heterotrophic populations
- explanation: Documents nutrient recycling by heterotrophs
-- name: Vitamin and Cofactor Exchange
- description: 'Heterotrophic community members provide essential vitamins to the cyanobacterium, including
- cobalamin (vitamin B12), thiamine (vitamin B1), and biotin (vitamin B7). These vitamins are essential
- cofactors that many cyanobacteria cannot synthesize. Heterotrophs also produce siderophores that increase
- iron solubility and availability in the alkaline environment, addressing a key nutrient limitation.
- This metabolic cooperation represents a critical mutualistic exchange supporting community stability.
-
- '
- interaction_type: MUTUALISM
- scope: PAIRWISE
- source_taxon:
- preferred_term: Bacteroidota members
- term:
- id: NCBITaxon:976
- label: Bacteroidota
- target_taxon:
- preferred_term: Candidatus Phormidium alkaliphilum
+ explanation: Experimental labeling supports carbon flow; full Figure 4 distinguishes the two major heterotrophic
+ populations from lower-peptide populations.
+ participating_taxa:
+ - preferred_term: Candidatus Phormidium alkaliphilum
term:
id: NCBITaxon:1807132
label: Candidatus Phormidium alkaliphilum
- metabolites:
- - preferred_term: cobalamin
- term:
- id: CHEBI:30411
- label: cobalamin
- notes: Vitamin B12
- - preferred_term: thiamine
- term:
- id: CHEBI:18385
- label: thiamine(1+)
- notes: Vitamin B1
- - preferred_term: biotin
- term:
- id: CHEBI:15956
- label: biotin
- notes: Vitamin B7
- biological_processes:
- - preferred_term: vitamin biosynthetic process
- term:
- id: GO:0009110
- label: vitamin biosynthetic process
- evidence:
- - reference: doi:10.3389/fmicb.2022.780346
- supports: SUPPORT
- evidence_source: IN_VITRO
- snippet: Use of cyanobacterial consortium increases biodiversity, which provides functional redundancy
- and prevents invading species from disrupting the production ecosystem
- explanation: Documents vitamin exchange as mutualistic interaction
-- name: Oxidative Stress Reduction
- description: 'Heterotrophic bacteria help reduce oxidative stress in the community, likely by consuming
- reactive oxygen species or providing antioxidant compounds. This protects the photosynthetic machinery
- of the cyanobacteria from photo-oxidative damage and contributes to the long-term stability of the
- consortium.
-
- '
- interaction_type: MUTUALISM
- scope: PAIRWISE
- source_taxon:
- preferred_term: Wenzhouxiangella sp.
+ - preferred_term: Wenzhouxiangella sp.
term:
id: NCBITaxon:1979961
label: Wenzhouxiangella sp.
- target_taxon:
- preferred_term: Candidatus Phormidium alkaliphilum
- term:
- id: NCBITaxon:1807132
- label: Candidatus Phormidium alkaliphilum
- biological_processes:
- - preferred_term: response to oxidative stress
+ - preferred_term: Planctomycetota members
term:
- id: GO:0006979
- label: response to oxidative stress
- evidence:
- - reference: doi:10.3389/fmicb.2022.780346
- supports: SUPPORT
- evidence_source: IN_VITRO
- snippet: tight coupling of carbon transfer from cyanobacteria to the heterotrophic populations
- explanation: Documents stress mitigation by heterotrophs
-- name: Polysaccharide Degradation
- description: 'Planctomycetes and Verrucomicrobia possess glycoside hydrolases that degrade sulfated
- polysaccharides and other complex carbohydrates from cyanobacterial cell walls and extracellular polymeric
- substances. This degradation recycles carbon and prevents accumulation of recalcitrant polymers that
- could inhibit community function.
-
- '
+ id: NCBITaxon:203682
+ label: Planctomycetota
+- name: Proposed Cyanobacterial Polymer Use by Verrucomicrobiota
+ description: PARTIAL - The four Verrucomicrobiota MAGs encode multiple glycoside hydrolases and sulfatases, supporting
+ a proposed niche consuming cyanobacterial sulfated glycopolymers. Gene content is not a direct substrate-use
+ or transfer assay. Low-peptide isotope signals are compatible with heterotrophic carbon assimilation but do
+ not identify polymers as the substrate. No Planctomycetota-to-Verrucomicrobiota transfer or benefit from removal
+ of inhibitory polymers was established.
interaction_type: CROSS_FEEDING
scope: PAIRWISE
source_taxon:
- preferred_term: Planctomycetota members
+ preferred_term: Candidatus Phormidium alkaliphilum
term:
- id: NCBITaxon:203682
- label: Planctomycetota
+ id: NCBITaxon:1807132
+ label: Candidatus Phormidium alkaliphilum
target_taxon:
preferred_term: Verrucomicrobiota members
term:
@@ -448,40 +306,36 @@ ecological_interactions:
label: polysaccharide catabolic process
evidence:
- reference: doi:10.3389/fmicb.2022.780346
- supports: SUPPORT
- evidence_source: IN_VITRO
- snippet: tight coupling of carbon transfer from cyanobacteria to the heterotrophic populations
- explanation: Documents specialized polymer degradation capacity
-- name: Alphaproteobacterial Heterotrophy and Symbiosis
- description: Alphaproteobacteria members contribute to the alkaline consortium through heterotrophic
- metabolism of cyanobacterial exudates and potentially through nitrogen cycling. This diverse group
- likely includes species involved in vitamin production, siderophore synthesis for iron acquisition,
- and organic matter degradation. Alphaproteobacteria often form close associations with phototrophs
- in microbial mat systems, providing complementary metabolic functions that enhance consortium stability
- and productivity.
- interaction_type: MUTUALISM
+ supports: PARTIAL
+ evidence_source: COMPUTATIONAL
+ snippet: All four consortium members affiliated with Verrucomicrobiota had 6–38 genes for glycoside hydrolysis
+ and 12–37 genes encoding sulfatases
+ explanation: Primary Results assign the hydrolase/sulfatase genomic capacity to these four MAGs, not a demonstrated
+ cross-phylum handoff.
+- name: Alphaproteobacterial Heterotrophic Carbon Use
+ description: PARTIAL - Alphaproteobacterial genomes support heterotrophic niches, and the lower-peptide Rhodobacteraceae
+ MAG58 isotope signal is consistent with cyanobacterial carbon use. Oceanicaulis MAG52 and Roseinatronobacter
+ MAG58 also encode bacteriochlorophyll-associated phototrophic capacity, not demonstrated photosynthetic flux.
+ The study does not establish class-wide vitamin provision, siderophore delivery, nitrogen recycling or reciprocal
+ cyanobacterial benefit; Figure 4 has much weaker peptide coverage for MAG58 than the major heterotrophs.
scope: PAIRWISE
source_taxon:
- preferred_term: Alphaproteobacteria members
- term:
- id: NCBITaxon:28211
- label: Alphaproteobacteria
- target_taxon:
preferred_term: Candidatus Phormidium alkaliphilum
term:
id: NCBITaxon:1807132
label: Candidatus Phormidium alkaliphilum
- biological_processes:
- - preferred_term: mutualism
+ target_taxon:
+ preferred_term: Alphaproteobacteria members
term:
- id: GO:0044403
- label: biological process involved in symbiotic interaction
+ id: NCBITaxon:28211
+ label: Alphaproteobacteria
evidence:
- reference: doi:10.3389/fmicb.2022.780346
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
snippet: tight coupling of carbon transfer from cyanobacteria to the heterotrophic populations
- explanation: Documents heterotrophic bacterial coupling with cyanobacterium
+ explanation: General experimental carbon-transfer evidence, narrowed by the lower-peptide MAG58 signal in Figure
+ 4; not support for reciprocal services or every alphaproteobacterial member.
environmental_factors:
- name: Alkaline pH
value: '>11'
@@ -633,3 +487,45 @@ cultivation_setup:
snippet: After 1 year of enrichment, the culture was transferred to tubular PBRs and was grown as
biofilms on a mesh
explanation: Defines the photobioreactor (PBR) cultivation system used for the consortium.
+discussions:
+- discussion_id: phormidium-observed-carbon-versus-proposed-services
+ prompt: Which genomic niches and reciprocal services operate in this alkaline consortium?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Photosynthetic CO2 Fixation
+ - ecological_interactions#Carbon Transfer to Heterotrophs
+ - ecological_interactions#Proposed Cyanobacterial Polymer Use by Verrucomicrobiota
+ - ecological_interactions#Alphaproteobacterial Heterotrophic Carbon Use
+ rationale: 'Retain experimental carbon flow and qualified genomic niches. Introductory examples of vitamin/siderophore
+ delivery, nutrient remineralization and ROS protection in other phototroph systems do not demonstrate the removed
+ exact-community services. The nutrient-return to vitamin-production arrow has no supporting experiment. Figure
+ 3 explicitly depicts inference from gene content; Figure 4 supports carbon flow, not compound-resolved flux
+ or a trophic cascade. Bacteroidota remains a genuine member with inferred metabolic niches, not proven nutrient-return
+ function. Stability over years does not mean fixed membership or experimentally established redundancy mediation.
+ Additional niche and MAG-resolved graph coverage remains issue #1699 pending scoped Edison report; no unsupported
+ edge is added to give every taxon connectivity credit.'
+ evidence:
+ - reference: doi:10.3389/fmicb.2022.780346
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: tight coupling of carbon transfer from cyanobacteria to the heterotrophic populations
+ explanation: Experimental labeling supports carbon flow; full Figure 4 distinguishes the two major heterotrophic
+ populations from lower-peptide populations.
+ - reference: doi:10.3389/fmicb.2022.780346
+ supports: PARTIAL
+ evidence_source: COMPUTATIONAL
+ snippet: All four consortium members affiliated with Verrucomicrobiota had 6–38 genes for glycoside hydrolysis
+ and 12–37 genes encoding sulfatases
+ explanation: Primary Results assign the hydrolase/sulfatase genomic capacity to these four MAGs, not a demonstrated
+ cross-phylum handoff.
+ posed_by: codex
+curation_history:
+- timestamp: '2026-10-07T08:42:05Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Preserve photosynthetic carbon supply and the experimentally supported downstream direction.; Preserve
+ major-population isotope uptake with explicit participants and no invented compound specificity.; Retain gene-supported
+ polymer-use hypothesis with corrected donor and recipient.; Preserve alpha heterotrophic evidence without class-wide
+ reciprocal services. Issue #1696; reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml'
+ llm_assisted: true
diff --git a/kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml b/kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml
index cd7215b44..44fe9af52 100644
--- a/kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml
+++ b/kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml
@@ -77,9 +77,11 @@ taxonomy:
explanation: Identifies Methanoculleus sp. as the hydrogenotrophic methanogenic member.
ecological_interactions:
- name: Phox-21 Phosphite-Driven Hydrogenogenesis
- description: Candidatus Phosphitivorax anaerolimi Phox-21 oxidizes phosphite to
- phosphate, sending phosphite-derived electrons into H2 production via an
- electron-confurcating hydrogenase.
+ description: Phox-21 oxidizes phosphite to phosphate coupled to H2 production in the methanogenic enrichment.
+ Preserve the experimentally supported lithosyntrophic process. PARTIAL - The specific HndABCD electron-confurcating
+ hydrogenase/Rnf energy-conservation mechanism is a model based on annotation, abundant proteins and thermodynamic
+ calculations, not direct enzyme perturbation. Acetate supports mixotrophic biomass assimilation and is not the
+ demonstrated source of methane.
interaction_type: SYNTROPHY
scope: PAIRWISE
source_taxon:
@@ -99,26 +101,29 @@ ecological_interactions:
label: dihydrogen
downstream:
- target: Lithosyntrophic interspecies H2 transfer
- description: Phox-21 hydrogenogenesis supplies the H2 carrier that is consumed by
- the hydrogenotrophic Methanoculleus partner.
+ description: Phox-21 hydrogenogenesis supplies the H2 carrier that is consumed by the hydrogenotrophic Methanoculleus
+ partner.
evidence:
- reference: PMID:41811448
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: 'we describe "lithosyntrophy," a mode of syntrophic interaction in which electrons that
- drive hydrogenotrophic methanogenesis originate from an inorganic compound rather than from
- the canonical organic substrates.'
- explanation: Defines the obligate lithosyntrophic H2-mediated electron transfer between the two members.
+ snippet: we describe "lithosyntrophy," a mode of syntrophic interaction in which electrons that drive hydrogenotrophic
+ methanogenesis originate from an inorganic compound rather than from the canonical organic substrates.
+ explanation: Defines inorganic-electron-donor syntrophy in the enrichment; it does not establish that the culture
+ contains only two members.
- reference: PMID:41811448
- supports: SUPPORT
- evidence_source: IN_VITRO
+ supports: PARTIAL
+ evidence_source: COMPUTATIONAL
snippet: In this pathway, electrons derived from phosphite drive H2 production via an electron-confurcating
hydrogenase.
- explanation: H2 is the interspecies electron carrier produced by Phox-21 and consumed by the methanogen.
+ explanation: The abstract summarizes the proposed hydrogenase route; full Results call it a metaproteomic and
+ thermodynamic model, not an enzyme-specific causal experiment.
- name: Lithosyntrophic interspecies H2 transfer
- description: Phox-21 transfers phosphite-derived reducing equivalents to Methanoculleus sp.
- as H2, establishing an obligate lithosyntrophic dependency in which H2 consumption by
- the methanogen keeps phosphite oxidation thermodynamically favorable.
+ description: Phox-21 supplies phosphite-derived reducing equivalents to Methanoculleus as H2. Methanogenic phosphite
+ oxidation was inhibited by BES and by excess H2; growth and oxidation were restored with hydrogenotrophic sulfate
+ reducer G11 in BES. These experiments support a required low-H2 sink under tested conditions, not universal
+ dependence on this exact methanogen. Net chemical phosphite oxidation remains exergonic; the proposed H2-sensitive
+ bottleneck concerns intracellular electron transfer and energy conservation.
interaction_type: SYNTROPHY
scope: PAIRWISE
source_taxon:
@@ -138,33 +143,35 @@ ecological_interactions:
label: dihydrogen
downstream:
- target: Methanoculleus Hydrogenotrophic Methanogenesis
- description: Consumption of lithosyntrophic H2 by Methanoculleus sp. drives the
- hydrogenotrophic methanogenesis endpoint.
+ description: Consumption of lithosyntrophic H2 by Methanoculleus sp. drives the hydrogenotrophic methanogenesis
+ endpoint.
evidence:
- reference: PMID:41811448
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: Candidatus Phosphitivorax anaerolimi Phox-21 oxidizes phosphite (HPO32-, oxidation
- state +3) to phosphate coupled to hydrogenogenesis in an obligate energetic
- dependency on a hydrogenotrophic methanogen, Methanoculleus sp.
- explanation: Supports H2-mediated syntrophy between the phosphite oxidizer and
- the hydrogenotrophic Methanoculleus partner.
+ snippet: Candidatus Phosphitivorax anaerolimi Phox-21 oxidizes phosphite (HPO32-, oxidation state +3) to phosphate
+ coupled to hydrogenogenesis in an obligate energetic dependency on a hydrogenotrophic methanogen, Methanoculleus
+ sp.
+ explanation: Preserves the reported positive H2-mediated partnership; the full paper bounds the requirement
+ using inhibition and an alternative hydrogen-consuming partner.
- name: Methanoculleus Hydrogenotrophic Methanogenesis
- description: Methanoculleus sp. consumes the H2 generated from phosphite-derived
- electrons, driving methane formation and keeping the partner phosphite-oxidation
- reaction near a favorable low-H2 state.
+ description: Methanoculleus consumes H2 and produces methane, providing the hydrogen sink for Phox-21 in the methanogenic
+ enrichment. Phosphite oxidation and methane production were approximately stoichiometric; isotope and isolate-substrate
+ tests support H2/CO2-derived rather than acetate-derived methane. Low H2 enables the proposed intracellular
+ energy-conserving pathway, not an otherwise endergonic net phosphite-oxidation reaction. The syntrophic pair
+ is embedded in an enrichment, not a demonstrated two-member pure culture.
interaction_type: SYNTROPHY
scope: PAIRWISE
source_taxon:
- preferred_term: Candidatus Phosphitivorax anaerolimi Phox-21
- term:
- id: NCBITaxon:1918507
- label: Candidatus Phosphitivorax anaerolimi
- target_taxon:
preferred_term: Methanoculleus sp.
term:
id: NCBITaxon:45989
label: Methanoculleus
+ target_taxon:
+ preferred_term: Candidatus Phosphitivorax anaerolimi Phox-21
+ term:
+ id: NCBITaxon:1918507
+ label: Candidatus Phosphitivorax anaerolimi
metabolites:
- preferred_term: hydrogen (H2)
term:
@@ -183,11 +190,10 @@ ecological_interactions:
- reference: PMID:41811448
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: a mode of syntrophic interaction in which electrons that drive hydrogenotrophic
- methanogenesis originate from an inorganic compound rather than from the canonical
- organic substrates
- explanation: Supports hydrogenotrophic methanogenesis as the terminal reaction
- fueled by phosphite-derived electrons in this lithosyntrophic culture.
+ snippet: a mode of syntrophic interaction in which electrons that drive hydrogenotrophic methanogenesis originate
+ from an inorganic compound rather than from the canonical organic substrates
+ explanation: Supports the methanogenic endpoint powered by phosphite-derived electrons. Full Results provide
+ isotope, substrate and inhibition context without validating each intracellular model step.
growth_media:
- name: anoxic phosphite-oxidizing methanogenic enrichment medium
atmosphere: ANAEROBIC
@@ -205,3 +211,43 @@ growth_media:
evidence_source: IN_VITRO
snippet: Phox-21 is a mixotroph that assimilates acetate to form biomass
explanation: Documents acetate as the assimilated carbon source for biomass under mixotrophic growth.
+discussions:
+- discussion_id: phosphite-feedback-energy-and-enrichment-boundaries
+ prompt: How should the demonstrated hydrogen-sink dependence be represented as feedback?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Phox-21 Phosphite-Driven Hydrogenogenesis
+ - ecological_interactions#Lithosyntrophic interspecies H2 transfer
+ - ecological_interactions#Methanoculleus Hydrogenotrophic Methanogenesis
+ rationale: 'Preserve both donor-to-H2-to-methanogenesis arrows. Primary full text supplies BES inhibition, excess-H2
+ inhibition, measured low H2 and G11 rescue: a sink-to-donor feedback candidate remains unrepresented in downstream
+ and is tracked in #1700. No new arrow without the scoped Edison workflow. HndABCD/Rnf remains a proposed intracellular
+ model, while physiological dependence is experimentally supported. Acetate/sulfide medium contained seven taxa
+ (Phox-21 >98%); cysteine medium contained sixteen. Non-graph two-member and taxonomy notes are not certified
+ and remain #1701.'
+ evidence:
+ - reference: PMID:41811448
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: Candidatus Phosphitivorax anaerolimi Phox-21 oxidizes phosphite (HPO32-, oxidation state +3) to phosphate
+ coupled to hydrogenogenesis in an obligate energetic dependency on a hydrogenotrophic methanogen, Methanoculleus
+ sp.
+ explanation: Preserves the reported positive H2-mediated partnership; the full paper bounds the requirement
+ using inhibition and an alternative hydrogen-consuming partner.
+ - reference: PMID:41811448
+ supports: PARTIAL
+ evidence_source: COMPUTATIONAL
+ snippet: In this pathway, electrons derived from phosphite drive H2 production via an electron-confurcating
+ hydrogenase.
+ explanation: The abstract summarizes the proposed hydrogenase route; full Results call it a metaproteomic and
+ thermodynamic model, not an enzyme-specific causal experiment.
+ posed_by: codex
+curation_history:
+- timestamp: '2026-10-07T08:42:06Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Preserve phosphite-driven hydrogenogenesis and qualify the intracellular enzyme model.; Preserve H2
+ transfer while distinguishing physiological inhibition and net thermodynamics.; Correct methanogenic sink actor
+ direction and preserve the positive methane endpoint. Issue #1697; reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml'
+ llm_assisted: true
diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md
index 6e3f260a3..400d7fba3 100644
--- a/reports/causal_graph_review/README.md
+++ b/reports/causal_graph_review/README.md
@@ -5,6 +5,27 @@ source-based self-adversarial review. These records are not independent approval
or proof that every graph is complete. The current inventory and summary distinguish
`reviewed`, `pending` and `needs_research`.
+## Batch84: Diatom, Phenol, Phormidium And Phosphite
+
+[Decisions](decisions/20261007-four-records-batch84.yaml),
+[validation](validation-20261007-batch84.json) and
+[self-adversarial review](adversarial-review-20261007-batch84.yaml) cover
+15 original nodes and eight arrows. Twelve nodes and six positive arrows remain;
+three unsupported Phormidium service nodes and two arrows are removed.
+Measured attachment, carbon flow and syntrophic conversion survive, separately
+from proposed amino-acid competition, genomic niches and intracellular models.
+
+Three fresh primary main texts and one cached phenol primary were read; fresh
+phenol full-text retrieval failed. Phormidium PDF Figures 3/4 were visually
+checked. Eighteen graph quotations match their primary/cache sources, with
+phenol explicitly not counted as independent fresh full-text verification.
+All 921 caches, 456 other records and raw non-graph blocks are preserved.
+
+Repairs #1694-#1697 await protected-main merge. Extension issues #1698-#1700
+and metadata #1701 remain open afterward. Three separate Edison dry runs
+spent no credits; scoped paid questions are unanswered. This is self-review,
+not independent approval or completion of the corpus review.
+
## Batch83: Pyrene, Syntrophy And Pepper SynComs
[Decisions](decisions/20261007-four-records-batch83.yaml),
diff --git a/reports/causal_graph_review/adversarial-review-20261007-batch84.yaml b/reports/causal_graph_review/adversarial-review-20261007-batch84.yaml
new file mode 100644
index 000000000..9048df3fe
--- /dev/null
+++ b/reports/causal_graph_review/adversarial-review-20261007-batch84.yaml
@@ -0,0 +1,320 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: f29d9295102b2cac41dd1a8269ed340823a35d3b
+scope:
+- kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml
+- kb/communities/Phenol_Carboxylation_Consortium.yaml
+- kb/communities/Phormidium_Alkaline_Consortium.yaml
+- kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml
+decision_ledger: reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml
+validation_report: reports/causal_graph_review/validation-20261007-batch84.json
+findings:
+- issue: 1694
+ severity: P2
+ status: addressed_in_this_change
+ finding: Bound diatom competition claims while preserving surface attachment and physiological decline
+ disposition: Close only after protected-main merge.
+- issue: 1695
+ severity: P2
+ status: addressed_in_this_change
+ finding: Bound phenol syntrophy to measured conversion and condition-specific electron disposal
+ disposition: Close only after protected-main merge.
+- issue: 1696
+ severity: P2
+ status: addressed_in_this_change
+ finding: Repair Phormidium graph evidence and unsupported reciprocal services
+ disposition: Close only after protected-main merge.
+- issue: 1697
+ severity: P2
+ status: addressed_in_this_change
+ finding: Separate observed lithosyntrophy from proposed intracellular energy mechanism
+ disposition: Close only after protected-main merge.
+- issue: 1698
+ severity: P2
+ status: unresolved_research
+ finding: Review missing diatom physiological and diel-response graph structure
+ disposition: Keep OPEN after graph-repair merge.
+- issue: 1699
+ severity: P2
+ status: unresolved_research
+ finding: Review missing Phormidium niche and carbon-transfer graph coverage
+ disposition: Keep OPEN after graph-repair merge.
+- issue: 1700
+ severity: P2
+ status: unresolved_research
+ finding: Review missing hydrogen-removal feedback in phosphite lithosyntrophy
+ disposition: Keep OPEN after graph-repair merge.
+- issue: 1701
+ severity: P2
+ status: unresolved_non_graph
+ finding: Reconcile batch84 non-graph composition and evidence-scope claims
+ disposition: Keep OPEN after graph-repair merge.
+adversarial_checks:
+- Before papers, fresh two-root baseline covered460records/921caches,1438nodes600arrows,47warnings0structural. Every
+ original node/arrow and missing structure reviewed in four whole records:12retained nodes/6arrows and3removed
+ nodes/2arrows have dispositions. No new node or downstream arrow.
+- Diatom SEM attachment remains positive. Filamentous EPS identity/source and attachment-mediated physiological
+ damage were not established. Amino-acid competition is an author hypothesis from nutrient/pigment observations,
+ not measured amino-acid exchange. Medium-matched HAC supports negative coculture physiology; broth enrichment
+ is not a demonstrated bacterial growth benefit.
+- Late physiological controls exist, while day8axenic transcriptomics does not. Diel gene counts do not prove endogenous
+ clock disruption; transcript-constrained biomass flux and ICA modules are model/association outputs. No competition-to-clock-to-flux
+ path is invented. Additional physiological/diel structure remains1698research.
+- 'All three phenol arrows retain positive perturbation/conversion support: BES and highH2block degradation in the
+ methanogenic culture. Hydrogen is supported without excluding formate. AQDS enables acetate production under methanogenic
+ inhibition, but axenic isolation failed. The alternative Desulfovibrio culture is not added to the canonical pair.'
+- Phenol intermediates support a proposed carboxylation/dehydroxylation route, not identified enzymes or aromatic-carbon
+ transfer to the methanogen. Acetate remains an organic product and Table2has residual substrate at100days. Rename
+ mineralization to conversion; do not downgrade the measured product phenotype. Existing CHEBI30746parent-acid
+ grounding is explicitly labeled, not silently reassigned.
+- Phormidium protein/SIP genuinely supports cyanobacterial carbon flow. Major heterotroph peptide coverage is WenzhouxiangellaMAG57andPhycisphaeralesMAG34;
+ explicit canonical participants do not credit every member of their phyla. Lag supports a macromolecule-use interpretation,
+ not identified protein/glycogen transfer or a trophic cascade. Do not assign all fermentation substrates to Wenzhouxiangella.
+- Phormidium Figure3is explicitly gene-content inference. Verrucomicrobiota hydrolases/sulfatases support a polymer-use
+ hypothesis, not Planctomycetota-to-Verruco transfer. MAG58isotope signal has lower peptide coverage, while alpha
+ bacteriochlorophyll genes are capacity, not measured phototrophic flux. Canonical taxonomy is unchanged.
+- Vitamin/cofactor delivery, ROS protection and nutrient return were unsupported exact-community nodes using general
+ introductory examples. Their three nodes/two arrows are removed with rationale, not treated as negative experimental
+ results. Unrelated tetrapyrrole nutrient-cycling GO and untested mutualism removed. Bacteroidota disconnection
+ remains visible and tracked1699; no fabricated link for audit credit. Long-term crash-free culture does not establish
+ static membership or redundancy mediation.
+- Phosphite H2-mediated partnership and both donor-to-methane arrows survive. BES/highH2inhibition and G11rescue
+ support lowH2sink dependence. HndABCD/Rnfdetails remain a metaproteomic/thermodynamic model, not an enzyme perturbation.
+ Net oxidation is exergonic; the proposed bottleneck concerns intracellular energy conservation. Methanoculleus
+ is the sink actor, not the donor. Acetate assimilation is distinct from methane carbon.
+- Phosphite enrichment had seven taxa with acetate/sulfide and sixteen with cysteine, not a pure two-member culture.
+ The physiology-supported sink-to-donor feedback candidate is recorded without adding unreviewed topology;1700remains
+ research and1701tracks raw non-graph composition/identity claims.
+- Three fresh full primary main texts and one cached phenol primary read, with actual access limits recorded. PhormidiumPDFpages8/11visually
+ inspected for Figures3/4. Separate supplements/raw data and other original figures uninspected. Failed HTTP500/BioCNoresult/browser-check
+ responses are not full text. Eleven graph quotations match fresh primary and seven use cached phenol; eight new
+ discussion quotations also checked.
+- All921caches,456otherrecords and raw non-graph blocks hash-verified unchanged; four guarded curation events and
+ append-only histories. Schema/strict/terms/references/snippets/history pass; actual broad regressions, deterministic
+ renders and exact published descriptions recorded. HTML parser checks are not browser screenshots.47priorwarnings
+ preserved plus one Bacteroidota disconnection; no structural defect or auditor-rule change.
+- Dedup969all-state issue titles/bodies and hidden/ignored local search with declared exclusions; comments/PRs not
+ exhaustive. Three scoped one-community Edison dry runs, no provider job/credits; questions unanswered and prior
+ denials unchanged. Repairs1694-1697close only after protected-main merge;1698-1701remainOPEN. Self-adversarial
+ COMMENT is not independent approval. Move dependents before deleting parents.
+verification:
+ combined_regressions: 756 passed in 350.42s (0:05:50)
+ new_regression_tests: 10
+ schema_strict_terms_history: Passed with actual outputs/digests
+ references: Four full-record reference validators exit0. CLI Total checks counts issues, not executed checks.18graph
+ quotations match primary/cache content;11match independent fresh full text and7match the existing cached phenol
+ primary. Literal matching is not entailment or whole-record certification. Original921caches and non-graph blocks
+ preserved, not globally recertified.
+ snippet_counts_by_record:
+ kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml:
+ MATCH: 21
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Phenol_Carboxylation_Consortium.yaml:
+ MATCH: 26
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Phormidium_Alkaline_Consortium.yaml:
+ MATCH: 22
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml:
+ MATCH: 10
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ full_corpus_snippet_audit:
+ caveat: Full both-root recipe actually executed; exit0 is informational, not a clean-corpus certificate. Focused
+ edited-record gates separately passed. Mismatch and missing-content labels are retrieval/matching flags, not
+ findings of fabrication.
+ output: "# 8902 evidence snippets scanned across 460 files\n MATCH 8767\n RENDERING 20\n ASSEMBLED\
+ \ 1\n WEAK 0\n MISMATCH 38\n NOCONTENT 76\n\n# Files with MISMATCH/WEAK (content present but\
+ \ snippet absent) \u2014 fabrication suspects\n 19 (19 hard) kb/communities/DCPP_DBS4_DCP4_DCP11d_Degradation_SynCom.yaml\n\
+ \ 15 (15 hard) kb/communities/Fucoidan_Seven_Degrader_Combinatorial_SynCom.yaml\n 3 (3 hard) kb/communities/Coscinodiscus_Synthetic_Community.yaml\n\
+ \ 1 (1 hard) kb/communities/Altered_Schaedler_Flora_Gnotobiotic_Mouse_Community.yaml\nuv run python scripts/evidence_snippet_audit.py\
+ \ \n"
+ primary_graph_snippet_proof:
+ primary_matched: 18
+ independent_fresh_primary_matched: 11
+ cached_phenol_primary_matched: 7
+ new_discussion_quotations_primary_matched: 8
+ retained_nodes: 12
+ removed_nodes: 3
+ retained_arrows: 6
+ removed_arrows: 2
+ new_nodes_or_arrows: 0
+ fresh_main_texts_read: 3
+ cached_main_texts_read: 1
+ original_pdf_pages_visually_inspected:
+ phormidium:
+ - 8
+ - 11
+ separate_supplements_and_raw_data_audited: false
+ network:
+ existing_findings_preserved: 47
+ added_findings:
+ Phormidium_Alkaline_Consortium:
+ - type: DISCONNECTED
+ taxon: Bacteroidota members
+ taxon_id: NCBITaxon:976
+ taxon_data:
+ taxon_term:
+ preferred_term: Bacteroidota members
+ term:
+ id: NCBITaxon:976
+ label: Bacteroidota
+ gtdb_grounding_status: GROUNDED
+ gtdb_classification:
+ gtdb_id: GTDB:p__Bacteroidota
+ gtdb_taxon: Bacteroidota
+ gtdb_lineage: d__Bacteria;p__Bacteroidota
+ ncbi_source_id: NCBITaxon:976
+ majority_fraction: 0.999
+ support_genomes: 151365
+ total_genomes: 151454
+ is_reclassified: false
+ mapping_source: kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25) [grounded at p__
+ rank; 5 GTDB taxa under the NCBI taxon]
+ notes: 'Multiple heterotrophic Bacteroidota species present in the consortium. These organisms contribute
+ to organic matter degradation, polysaccharide utilization, and nutrient cycling. They occupy ecological
+ niches related to fermentation product utilization and compatible solute metabolism.
+
+ '
+ functional_role:
+ - PRIMARY_DEGRADER
+ - SECONDARY_FERMENTER
+ abundance_level: COMMON
+ evidence:
+ - reference: doi:10.3389/fmicb.2022.780346
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: Using shotgun metagenomic sequencing, 29 heterotrophic metagenome-assembled-genomes (MAGs)
+ were retrieved and were assigned to Bacteroidota, Alphaproteobacteria, Gammaproteobacteria, Verrucomicrobiota,
+ Patescibacteria, Planctomycetota, and Archaea
+ explanation: Documents presence of diverse Bacteroidota in the heterotrophic community
+ message: Taxon 'Bacteroidota members' has no interactions
+ removed_findings: {}
+ interpretation: All47existingwarnings unchanged; one new Bacteroidota disconnection records removal of unsupported
+ nutrient return. No structural defects or taxonomy/auditor-rule changes. Major carbon-transfer participants
+ explicitly include cyanobacterium,Wenzhouxiangella,Planctomycetota.
+ black_ruff_diff: passed
+ tested_file_sha256:
+ reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml: 944e494bb79234154a6a174cad642894bdbee78c8da22a7295305fa257c413ec
+ tests/test_causal_review_batch84.py: c6a5a04cc824af468062bc9cf38d3e4bd2b19228b0f620a505e2e0bb64d6d770
+ tests/test_participating_taxa.py: 3ad9940c08fd620da13f232b1a3adde4ada1f598a3afd0c3baeeae4c571505f1
+ kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml: c3b29dc71d33c53774afd1181099ef90ade79efb42a0e8ff0b55e9ea3bfffc10
+ kb/communities/Phenol_Carboxylation_Consortium.yaml: a778ef6c883f5d6b7c80dc22be5611de4027d08d4f9d3b23e9a0d330f3f768b1
+ kb/communities/Phormidium_Alkaline_Consortium.yaml: 5bd6ec7333293e123e4b68212ddd64a6db8a8efd69f446912d154b260d79f2f5
+ kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml: e2eda8deadaaa36ce6ee96ed15871e1cc8c674fea990cd76c77bc74d3e13695a
+ reports/causal_graph_review/README.md: 112d5fd1dcf32f988c4b0066eda72e863969d2b8efe52edbc26cfa35e79c5854
+ unchanged_caches: 921
+ cache_changes: []
+ unchanged_records: 456
+ edison:
+ required_for_this_repair: false
+ required_for_unresolved_extensions: true
+ provider_submissions: 0
+ credits_spent: 0
+ dry_runs:
+ - community_id: CommunityMech:000446
+ job: LITERATURE
+ query_chars: 11324
+ query_sha256: 890c4edc5f497d2845719d2fc05c34731035d42383148e5c538c1f5f305e3ab1
+ meta_path: /private/tmp/communitymech-batch84/edison-diatom/Phaeodactylum_Aliivibrio_Diel_Coculture-edison-literature-causal-meta.yaml
+ authorization: Scoped asynchronous question unanswered; preselection is not authorization.
+ - community_id: CommunityMech:000054
+ job: LITERATURE
+ query_chars: 18291
+ query_sha256: 16869e3b6ce8ae6d74a64c917aebbf558165555b9e45b651f741752e51925d35
+ meta_path: /private/tmp/communitymech-batch84/edison-phormidium/Phormidium_Alkaline_Consortium-edison-literature-causal-meta.yaml
+ authorization: Scoped asynchronous question unanswered; preselection is not authorization.
+ - community_id: CommunityMech:000290
+ job: LITERATURE
+ query_chars: 8897
+ query_sha256: 5cdb7f0f717b829e13c39e5b9f603e592757d5fec7c55d007cc12b8f1054bb54
+ meta_path: /private/tmp/communitymech-batch84/edison-phosphite/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-edison-literature-causal-meta.yaml
+ authorization: Scoped asynchronous question unanswered; preselection is not authorization.
+ post_commit_docs_current: Separate publication gate, not preasserted.
+ validation_expectation_correction: 'Initial wrapper assertion incorrectly expected zero added surveyed taxa and
+ one solely-by-rule member. The actual survey output was preserved and its implementation inspected: correct
+ deltas are six and three, not six new canonical taxa or three newly connected taxa. Resumed from digest-verified
+ successful gates; no production record or test bound was changed for this correction.'
+participant_census:
+ measurements:
+ baseline:
+ records: 460
+ with_community_level: 393
+ mixed: 125
+ community_level_only: 268
+ taxa: 1511
+ credited_solely_by_the_rule: 1240
+ current:
+ records: 460
+ with_community_level: 394
+ mixed: 126
+ community_level_only: 268
+ taxa: 1517
+ credited_solely_by_the_rule: 1243
+ delta:
+ records: 0
+ with_community_level: 1
+ mixed: 1
+ community_level_only: 0
+ taxa: 6
+ credited_solely_by_the_rule: 3
+ interpretation: The legacy survey counts all taxa in records with community-level nodes and members without pairwise
+ representation; it does not apply explicit participant lists. Phormidium adds six members to that surveyed subset
+ and three without pairwise representation (Wenzhouxiangella,Planctomycetota,Bacteroidota). The actual auditor
+ credits only the two named carbon recipients and leaves Bacteroidota disconnected. No taxonomy or auditor-rule
+ change.
+corpus:
+ records: 460
+ nodes: 1435
+ edges: 598
+ review_status_counts:
+ needs_research: 44
+ pending: 156
+ reviewed: 260
+limitations:
+- Fresh before-paper two-root baseline:460records/921caches,1438nodes600arrows,47warnings and zero structural defects.
+ Four whole records,15nodes8arrows reviewed;12nodes6arrows retained. No new node or downstream arrow.
+- Fresh primary main text read for diatom, Phormidium and phosphite, including embedded tables/captions. Phenol
+ full primary read from existing cache; fresh Europe PMC XML failed HTTP500 and official BioC returned No result.
+ No access-control bypass or fresh-fulltext claim for phenol. Original Phormidium PDF pages8/11 (Figures3/4) visually
+ inspected; separate supplements/raw data and other original figure pixels not audited.
+- Phormidium gene-based niches are not flux, compound-resolved handoffs or reciprocal services. Carbon node explicitly
+ covers canonical cyanobacterium/Wenzhouxiangella/Planctomycetota based on major SIP populations. Broad labels
+ do not imply all phylum members. Bacteroidota membership survives despite removal of unsupported nutrient-return
+ role; no topology invented for connectivity credit.
+- Phenol BES/high-H2 perturbation arrows and phosphite H2-to-methane directions remain positive. Acetate/methane
+ conversion is not complete mineralization. AQDS alternative disposal and G11 rescue bound partner exclusivity.
+ Phosphite intracellular energy-conservation model is distinct from net chemical thermodynamics; seven-member enrichment
+ is not a pure pair.
+- 'Diatom SEM/late physiological effects survive; amino-acid competition is a hypothesis. Day8 physiological controls
+ must not be conflated with absent day8 axenic transcriptomics. Diel counts/model flux/ICA are not clock-perturbation
+ or exchange measurements. Missing dedicated structure remains #1698; Phormidium niches #1699 and phosphite feedback
+ #1700 remain research.'
+- 'All921reference caches and456otherrecords/raw non-graph blocks preserved; no cache addition or source rewrite.
+ Graph benzoic-acid preferred labels now match existing CHEBI identity, without asserting chemical speciation.
+ Non-graph composition/evidence issues remain #1701.'
+- Dedup969all-state issue titles/bodies; original three matched issues1134/1136/543 read. Additional exact IDs/DOIs/PMID
+ matched no issue. Hidden/ignored local searches found22original and6additional files excluding.git/docs/site/references_cache.
+ Comments/PRs not exhaustively searched; cache full texts with long lines were not separately certified after truncated
+ display, but independently extracted main texts were read.
+- Three separate one-community Edison causal dry runs:11324/18291/8897characters. An initial --output-dir argument
+ failed before rendering and was corrected to --out-dir. No API/provider job or credits spent. Scoped paid questions
+ unanswered; earlier denied/pending scopes unchanged. Repairs1694-1697close only after protected-main merge;1698-1701remainOPEN.
+- Four append-only histories; separate validation/rendering gates are not preasserted. Self-adversarial review is
+ not independent approval or whole-corpus completion.
diff --git a/reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml b/reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml
new file mode 100644
index 000000000..d89f6da5c
--- /dev/null
+++ b/reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml
@@ -0,0 +1,543 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: f29d9295102b2cac41dd1a8269ed340823a35d3b
+baseline_commit: f29d9295102b2cac41dd1a8269ed340823a35d3b
+base_tree: 067820ab7af0e2da2b9cf5348715f8213dc003a4
+pre_source_baseline_sha256: 22f218c44d34a71bee50ad6b2fbc26a1a6affe70d4f26d757a34d7910ff745e3
+issues:
+- 1694
+- 1695
+- 1696
+- 1697
+unresolved_non_graph_issues:
+- 1701
+unresolved_research_issues:
+- 1698
+- 1699
+- 1700
+issue_deduplication:
+ all_state_issue_titles_and_bodies: 969
+ ignored_hidden_local_search: true
+ matching_issues:
+ - 1134
+ - 1136
+ - 543
+primary_artifacts:
+ /private/tmp/communitymech-batch84/baseline.json: 22f218c44d34a71bee50ad6b2fbc26a1a6affe70d4f26d757a34d7910ff745e3
+ /private/tmp/communitymech-batch84/diatom-primary.txt: b0f760ee073117100f58c26bae069fd9a78f50c05dbc6a97c99e8cbd584d0d40
+ ? /private/tmp/communitymech-batch84/edison-diatom/Phaeodactylum_Aliivibrio_Diel_Coculture-edison-literature-causal-meta.yaml
+ : 3b442d2bf432f9783af04ffdddafdca8c71ffb9f95f8851ed32fd69a5b7a2c73
+ /private/tmp/communitymech-batch84/edison-phormidium/Phormidium_Alkaline_Consortium-edison-literature-causal-meta.yaml: cd21008d9a8aafdf43f1f2d063b813ede8eb52c8f25a58a909ac717b699e7a7b
+ ? /private/tmp/communitymech-batch84/edison-phosphite/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-edison-literature-causal-meta.yaml
+ : fa165239fa30bdddfdd412e6455a4f56f2a8b5aa9b5976824b2d2f67397271b7
+ /private/tmp/communitymech-batch84/extra-issue-matches.json: 37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570
+ /private/tmp/communitymech-batch84/extra-local-matches.txt: a6590acd680ce0ebd20fd7681d901290bf2906680a725ea83165aedf98b05f5a
+ /private/tmp/communitymech-batch84/issue-matches.json: d9b44c78d6400feb78c5819797c630719a6610148f32d67b838cc9bcc4571f47
+ /private/tmp/communitymech-batch84/issues.json: 389bf5f8af594c6e22d154abd0d73f9a22003030829a913a5fb5f891721b4914
+ /private/tmp/communitymech-batch84/local-matches.txt: 3e857da80bdfede51c78332794923c9e83f5d77b2383353fc738607ae6b683ba
+ /private/tmp/communitymech-batch84/phenol-bioc.xml: 3acc5f4c51ec704cd708d3379196db9f66442a96c9bf275773710e0de0196b52
+ /private/tmp/communitymech-batch84/phormidium-page-11.png: dc1685f48ac7fa872912025a923e060821a2ebb5fe29d3087ffa1053658e8bea
+ /private/tmp/communitymech-batch84/phormidium-page-8.png: b63cef0dfbdb326994a53c4e480228d33726df28563b3733b6fbd9099d548fd3
+ /private/tmp/communitymech-batch84/phormidium-primary.pdf: d83e4e09cf2a81cb6ba3d8c12fb4bf66966fe85db1a2ff87c12af1af3a8c8576
+ /private/tmp/communitymech-batch84/phormidium-primary.txt: 063f7267ef66fba4fe75ac8b26dc9740cd5a85a98ae5ccb861628c595d95f36e
+ /private/tmp/communitymech-batch84/phosphite-primary.txt: d998504a18de23393b59fe805ccf6e6a729e9d835a92681d31cb2a1e18f7882d
+ /private/tmp/communitymech-batch84/primary-manifest.json: 83cc4cbd9ace338a87f92ebe392075ca19b7c9dbc13a214bfbd1d0858b6e7fed
+ references_cache/PMID_18281436.md: 2ac1f1c9581f3f39443f651bfdd5146243178f2b7891028f7c4b9bbad8c83577
+ references_cache/PMID_41811448.md: 1c583d2630815127fbe11a8eb987a5902eb9972c25d87e8bf0cde019baa9dfec
+ references_cache/PMID_42668638.txt: e03ff54148e46509bacd297bfff750255a4c2e029f63dbafe76168fab02bb63f
+ references_cache/doi_10.3389_fmicb.2022.780346.md: a3ba7f3dfd3bd6b6ae6338a05beead53f2cb15c89f70f0a89700cbfa0dc2b929
+primary_graph_snippet_count: 18
+independent_fresh_primary_graph_snippet_count: 11
+cache_matched_graph_snippet_count: 18
+snippet_checks:
+- record: Phaeodactylum_Aliivibrio_Diel_Coculture
+ node: Aliivibrio Surface Colonization of Phaeodactylum
+ reference: PMID:42668638
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch84/diatom-primary.txt
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phaeodactylum_Aliivibrio_Diel_Coculture
+ node: Proposed Amino Acid Resource Competition
+ reference: PMID:42668638
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch84/diatom-primary.txt
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phaeodactylum_Aliivibrio_Diel_Coculture
+ node: Proposed Amino Acid Resource Competition
+ reference: PMID:42668638
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch84/diatom-primary.txt
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phenol_Carboxylation_Consortium
+ node: Phenol Oxidation by Syntrophorhabdus
+ reference: PMID:18281436
+ cache_matched: true
+ independent_primary_match: false
+ matched_artifact: references_cache/PMID_18281436.md
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phenol_Carboxylation_Consortium
+ node: Phenol Oxidation by Syntrophorhabdus
+ reference: PMID:18281436
+ cache_matched: true
+ independent_primary_match: false
+ matched_artifact: references_cache/PMID_18281436.md
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phenol_Carboxylation_Consortium
+ node: Phenol Oxidation by Syntrophorhabdus
+ reference: PMID:18281436
+ cache_matched: true
+ independent_primary_match: false
+ matched_artifact: references_cache/PMID_18281436.md
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phenol_Carboxylation_Consortium
+ node: M. hungatei H2 Scavenging and Methanogenesis
+ reference: PMID:18281436
+ cache_matched: true
+ independent_primary_match: false
+ matched_artifact: references_cache/PMID_18281436.md
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phenol_Carboxylation_Consortium
+ node: M. hungatei H2 Scavenging and Methanogenesis
+ reference: PMID:18281436
+ cache_matched: true
+ independent_primary_match: false
+ matched_artifact: references_cache/PMID_18281436.md
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phenol_Carboxylation_Consortium
+ node: Community Aromatic Conversion to Acetate and Methane
+ reference: PMID:18281436
+ cache_matched: true
+ independent_primary_match: false
+ matched_artifact: references_cache/PMID_18281436.md
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phenol_Carboxylation_Consortium
+ node: Community Aromatic Conversion to Acetate and Methane
+ reference: PMID:18281436
+ cache_matched: true
+ independent_primary_match: false
+ matched_artifact: references_cache/PMID_18281436.md
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phormidium_Alkaline_Consortium
+ node: Photosynthetic CO2 Fixation
+ reference: doi:10.3389/fmicb.2022.780346
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch84/phormidium-primary.txt
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phormidium_Alkaline_Consortium
+ node: Carbon Transfer to Heterotrophs
+ reference: doi:10.3389/fmicb.2022.780346
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch84/phormidium-primary.txt
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phormidium_Alkaline_Consortium
+ node: Proposed Cyanobacterial Polymer Use by Verrucomicrobiota
+ reference: doi:10.3389/fmicb.2022.780346
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch84/phormidium-primary.txt
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phormidium_Alkaline_Consortium
+ node: Alphaproteobacterial Heterotrophic Carbon Use
+ reference: doi:10.3389/fmicb.2022.780346
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch84/phormidium-primary.txt
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture
+ node: Phox-21 Phosphite-Driven Hydrogenogenesis
+ reference: PMID:41811448
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch84/phosphite-primary.txt
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture
+ node: Phox-21 Phosphite-Driven Hydrogenogenesis
+ reference: PMID:41811448
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch84/phosphite-primary.txt
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture
+ node: Lithosyntrophic interspecies H2 transfer
+ reference: PMID:41811448
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch84/phosphite-primary.txt
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+- record: Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture
+ node: Methanoculleus Hydrogenotrophic Methanogenesis
+ reference: PMID:41811448
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch84/phosphite-primary.txt
+ method: NFKD/case/whitespace/punctuation normalization; phrase remains contiguous. Phenol uses cached primary,
+ not independent fresh full text.
+cache_changes: []
+edison:
+ required_for_this_repair: false
+ required_for_unresolved_extensions: true
+ provider_submissions: 0
+ credits_spent: 0
+ dry_runs:
+ - community_id: CommunityMech:000446
+ job: LITERATURE
+ query_chars: 11324
+ query_sha256: 890c4edc5f497d2845719d2fc05c34731035d42383148e5c538c1f5f305e3ab1
+ meta_path: /private/tmp/communitymech-batch84/edison-diatom/Phaeodactylum_Aliivibrio_Diel_Coculture-edison-literature-causal-meta.yaml
+ authorization: Scoped asynchronous question unanswered; preselection is not authorization.
+ - community_id: CommunityMech:000054
+ job: LITERATURE
+ query_chars: 18291
+ query_sha256: 16869e3b6ce8ae6d74a64c917aebbf558165555b9e45b651f741752e51925d35
+ meta_path: /private/tmp/communitymech-batch84/edison-phormidium/Phormidium_Alkaline_Consortium-edison-literature-causal-meta.yaml
+ authorization: Scoped asynchronous question unanswered; preselection is not authorization.
+ - community_id: CommunityMech:000290
+ job: LITERATURE
+ query_chars: 8897
+ query_sha256: 5cdb7f0f717b829e13c39e5b9f603e592757d5fec7c55d007cc12b8f1054bb54
+ meta_path: /private/tmp/communitymech-batch84/edison-phosphite/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-edison-literature-causal-meta.yaml
+ authorization: Scoped asynchronous question unanswered; preselection is not authorization.
+limitations:
+- Fresh before-paper two-root baseline:460records/921caches,1438nodes600arrows,47warnings and zero structural defects.
+ Four whole records,15nodes8arrows reviewed;12nodes6arrows retained. No new node or downstream arrow.
+- Fresh primary main text read for diatom, Phormidium and phosphite, including embedded tables/captions. Phenol
+ full primary read from existing cache; fresh Europe PMC XML failed HTTP500 and official BioC returned No result.
+ No access-control bypass or fresh-fulltext claim for phenol. Original Phormidium PDF pages8/11 (Figures3/4) visually
+ inspected; separate supplements/raw data and other original figure pixels not audited.
+- Phormidium gene-based niches are not flux, compound-resolved handoffs or reciprocal services. Carbon node explicitly
+ covers canonical cyanobacterium/Wenzhouxiangella/Planctomycetota based on major SIP populations. Broad labels
+ do not imply all phylum members. Bacteroidota membership survives despite removal of unsupported nutrient-return
+ role; no topology invented for connectivity credit.
+- Phenol BES/high-H2 perturbation arrows and phosphite H2-to-methane directions remain positive. Acetate/methane
+ conversion is not complete mineralization. AQDS alternative disposal and G11 rescue bound partner exclusivity.
+ Phosphite intracellular energy-conservation model is distinct from net chemical thermodynamics; seven-member enrichment
+ is not a pure pair.
+- 'Diatom SEM/late physiological effects survive; amino-acid competition is a hypothesis. Day8 physiological controls
+ must not be conflated with absent day8 axenic transcriptomics. Diel counts/model flux/ICA are not clock-perturbation
+ or exchange measurements. Missing dedicated structure remains #1698; Phormidium niches #1699 and phosphite feedback
+ #1700 remain research.'
+- 'All921reference caches and456otherrecords/raw non-graph blocks preserved; no cache addition or source rewrite.
+ Graph benzoic-acid preferred labels now match existing CHEBI identity, without asserting chemical speciation.
+ Non-graph composition/evidence issues remain #1701.'
+- Dedup969all-state issue titles/bodies; original three matched issues1134/1136/543 read. Additional exact IDs/DOIs/PMID
+ matched no issue. Hidden/ignored local searches found22original and6additional files excluding.git/docs/site/references_cache.
+ Comments/PRs not exhaustively searched; cache full texts with long lines were not separately certified after truncated
+ display, but independently extracted main texts were read.
+- Three separate one-community Edison causal dry runs:11324/18291/8897characters. An initial --output-dir argument
+ failed before rendering and was corrected to --out-dir. No API/provider job or credits spent. Scoped paid questions
+ unanswered; earlier denied/pending scopes unchanged. Repairs1694-1697close only after protected-main merge;1698-1701remainOPEN.
+- Four append-only histories; separate validation/rendering gates are not preasserted. Self-adversarial review is
+ not independent approval or whole-corpus completion.
+records:
+- path: kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml
+ id: CommunityMech:000446
+ original_sha256: 778b0a4f767d0df26e9888d46f674486bd6f6c53d9f6d791ccdb6a8ba1533550
+ record_sha256: c3b29dc71d33c53774afd1181099ef90ade79efb42a0e8ff0b55e9ea3bfffc10
+ status: needs_research
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml
+ scope: Whole record, every existing node/arrow and missing structures; not whole-record certification.
+ summary: Preserve surface attachment while bounding EPS identity and mediation.; Retain amino-acid competition
+ as a hypothesis while preserving controlled negative physiology.
+ renamed_nodes:
+ Amino Acid Resource Competition: Proposed Amino Acid Resource Competition
+ node_decisions:
+ - node: Aliivibrio Surface Colonization of Phaeodactylum
+ original_node: Aliivibrio Surface Colonization of Phaeodactylum
+ rationale: Preserve surface attachment while bounding EPS identity and mediation.
+ - node: Proposed Amino Acid Resource Competition
+ original_node: Amino Acid Resource Competition
+ rationale: Retain amino-acid competition as a hypothesis while preserving controlled negative physiology.
+ removed_node_decisions: []
+ edges_before: []
+ edges_after: []
+ retained_edge_decisions: []
+ removed_edge_decisions: []
+ references:
+ - PMID:42668638
+ issues:
+ - 1694
+ - 1698
+ - 1701
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Phaeodactylum_Aliivibrio_Diel_Coculture/2026-10-07T084206Z-codex-8d483c.yaml
+- path: kb/communities/Phenol_Carboxylation_Consortium.yaml
+ id: CommunityMech:000053
+ original_sha256: d0b287884655041b8d00a25103ef528db26d7551e966cafdffd662396b470ca9
+ record_sha256: a778ef6c883f5d6b7c80dc22be5611de4027d08d4f9d3b23e9a0d330f3f768b1
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml
+ scope: Whole record, every existing node/arrow and missing structures; not whole-record certification.
+ summary: Preserve phenol conversion and qualify the inferred enzymatic route.; Preserve perturbation-supported
+ sink directions and condition-specific dependence.; Preserve aromatic conversion without complete-mineralization
+ or removal claims.
+ renamed_nodes:
+ Community Aromatic Mineralization to Acetate and Methane: Community Aromatic Conversion to Acetate and Methane
+ node_decisions:
+ - node: Phenol Oxidation by Syntrophorhabdus
+ original_node: Phenol Oxidation by Syntrophorhabdus
+ rationale: Preserve phenol conversion and qualify the inferred enzymatic route.
+ - node: M. hungatei H2 Scavenging and Methanogenesis
+ original_node: M. hungatei H2 Scavenging and Methanogenesis
+ rationale: Preserve perturbation-supported sink directions and condition-specific dependence.
+ - node: Community Aromatic Conversion to Acetate and Methane
+ original_node: Community Aromatic Mineralization to Acetate and Methane
+ rationale: Preserve aromatic conversion without complete-mineralization or removal claims.
+ removed_node_decisions: []
+ edges_before:
+ - source: Phenol Oxidation by Syntrophorhabdus
+ target: Community Aromatic Mineralization to Acetate and Methane
+ description: 'Phenol oxidation by strain UI(T) supplies the aromatic-intermediate flux that the syntrophic coculture
+ carries through to acetate and methane.
+
+ '
+ - source: M. hungatei H2 Scavenging and Methanogenesis
+ target: Phenol Oxidation by Syntrophorhabdus
+ description: 'M. hungatei H2 scavenging keeps the electron sink active for strain UI(T); when methanogenesis
+ was blocked or hydrogen partial pressure was raised, phenol and 4-hydroxybenzoate degradation stopped.
+
+ '
+ - source: M. hungatei H2 Scavenging and Methanogenesis
+ target: Community Aromatic Mineralization to Acetate and Methane
+ description: 'Methanogenic H2 scavenging is the partner process that lets aromatic oxidation continue through
+ to acetate and methane in the coculture.
+
+ '
+ edges_after:
+ - source: Phenol Oxidation by Syntrophorhabdus
+ target: Community Aromatic Conversion to Acetate and Methane
+ description: Phenol conversion by UI(T), coupled to partner electron disposal, supplies the measured coculture
+ acetate/methane endpoint. Preserve this positive direction without asserting transfer of aromatic intermediates
+ to the methanogen or complete substrate disappearance in the 100-day assay.
+ - source: M. hungatei H2 Scavenging and Methanogenesis
+ target: Phenol Oxidation by Syntrophorhabdus
+ description: Methanogenic electron disposal maintains conditions allowing UI(T) phenol oxidation; BES inhibition
+ and high-H2 inhibition support this direction. This applies to the methanogenic treatment, not an absolute
+ requirement for this partner when an alternative acceptor such as AQDS is supplied.
+ - source: M. hungatei H2 Scavenging and Methanogenesis
+ target: Community Aromatic Conversion to Acetate and Methane
+ description: The active methanogenic sink allows aromatic conversion to continue and supplies the methane component
+ of the acetate/methane endpoint. AQDS-treated inhibited cultures produced acetate without methane, separating
+ conversion from the methanogenic product.
+ retained_edge_decisions:
+ - source: Phenol Oxidation by Syntrophorhabdus
+ target: Community Aromatic Conversion to Acetate and Methane
+ description: Phenol conversion by UI(T), coupled to partner electron disposal, supplies the measured coculture
+ acetate/methane endpoint. Preserve this positive direction without asserting transfer of aromatic intermediates
+ to the methanogen or complete substrate disappearance in the 100-day assay.
+ rationale: Phenol conversion by UI(T), coupled to partner electron disposal, supplies the measured coculture
+ acetate/methane endpoint. Preserve this positive direction without asserting transfer of aromatic intermediates
+ to the methanogen or complete substrate disappearance in the 100-day assay.
+ - source: M. hungatei H2 Scavenging and Methanogenesis
+ target: Phenol Oxidation by Syntrophorhabdus
+ description: Methanogenic electron disposal maintains conditions allowing UI(T) phenol oxidation; BES inhibition
+ and high-H2 inhibition support this direction. This applies to the methanogenic treatment, not an absolute
+ requirement for this partner when an alternative acceptor such as AQDS is supplied.
+ rationale: Methanogenic electron disposal maintains conditions allowing UI(T) phenol oxidation; BES inhibition
+ and high-H2 inhibition support this direction. This applies to the methanogenic treatment, not an absolute
+ requirement for this partner when an alternative acceptor such as AQDS is supplied.
+ - source: M. hungatei H2 Scavenging and Methanogenesis
+ target: Community Aromatic Conversion to Acetate and Methane
+ description: The active methanogenic sink allows aromatic conversion to continue and supplies the methane component
+ of the acetate/methane endpoint. AQDS-treated inhibited cultures produced acetate without methane, separating
+ conversion from the methanogenic product.
+ rationale: The active methanogenic sink allows aromatic conversion to continue and supplies the methane component
+ of the acetate/methane endpoint. AQDS-treated inhibited cultures produced acetate without methane, separating
+ conversion from the methanogenic product.
+ removed_edge_decisions: []
+ references:
+ - PMID:18281436
+ issues:
+ - 1695
+ - 1701
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Phenol_Carboxylation_Consortium/2026-10-07T084206Z-codex-c3eb51.yaml
+- path: kb/communities/Phormidium_Alkaline_Consortium.yaml
+ id: CommunityMech:000054
+ original_sha256: 2cd585c6cf554f62ce0bb9bd3f2412f9dcf64b7617b62e3bbc4ca36bc7cbaadf
+ record_sha256: 5bd6ec7333293e123e4b68212ddd64a6db8a8efd69f446912d154b260d79f2f5
+ status: needs_research
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml
+ scope: Whole record, every existing node/arrow and missing structures; not whole-record certification.
+ summary: Preserve photosynthetic carbon supply and the experimentally supported downstream direction.; Preserve
+ major-population isotope uptake with explicit participants and no invented compound specificity.; Retain gene-supported
+ polymer-use hypothesis with corrected donor and recipient.; Preserve alpha heterotrophic evidence without class-wide
+ reciprocal services.
+ renamed_nodes:
+ Polysaccharide Degradation: Proposed Cyanobacterial Polymer Use by Verrucomicrobiota
+ Alphaproteobacterial Heterotrophy and Symbiosis: Alphaproteobacterial Heterotrophic Carbon Use
+ node_decisions:
+ - node: Photosynthetic CO2 Fixation
+ original_node: Photosynthetic CO2 Fixation
+ rationale: Preserve photosynthetic carbon supply and the experimentally supported downstream direction.
+ - node: Carbon Transfer to Heterotrophs
+ original_node: Carbon Transfer to Heterotrophs
+ rationale: Preserve major-population isotope uptake with explicit participants and no invented compound specificity.
+ - node: Proposed Cyanobacterial Polymer Use by Verrucomicrobiota
+ original_node: Polysaccharide Degradation
+ rationale: Retain gene-supported polymer-use hypothesis with corrected donor and recipient.
+ - node: Alphaproteobacterial Heterotrophic Carbon Use
+ original_node: Alphaproteobacterial Heterotrophy and Symbiosis
+ rationale: Preserve alpha heterotrophic evidence without class-wide reciprocal services.
+ removed_node_decisions:
+ - node: Nutrient Remineralization
+ rationale: Introductory services in other systems are not established for this consortium; generic carbon-transfer
+ evidence does not support this reciprocal service.
+ - node: Vitamin and Cofactor Exchange
+ rationale: Introductory services in other systems are not established for this consortium; generic carbon-transfer
+ evidence does not support this reciprocal service.
+ - node: Oxidative Stress Reduction
+ rationale: Introductory services in other systems are not established for this consortium; generic carbon-transfer
+ evidence does not support this reciprocal service.
+ edges_before:
+ - source: Photosynthetic CO2 Fixation
+ target: Carbon Transfer to Heterotrophs
+ description: Fixed carbon flows from cyanobacteria to heterotrophic populations
+ - source: Carbon Transfer to Heterotrophs
+ target: Nutrient Remineralization
+ description: Heterotrophs remineralize nutrients for cyanobacterial reuse
+ - source: Nutrient Remineralization
+ target: Vitamin and Cofactor Exchange
+ description: Remineralization supports vitamin production pathways
+ edges_after:
+ - source: Photosynthetic CO2 Fixation
+ target: Carbon Transfer to Heterotrophs
+ description: Cyanobacterial fixation supplies carbon subsequently incorporated into heterotrophic proteins,
+ as supported by 13C-bicarbonate protein/SIP. Preserve this experimental donor-to-heterotroph direction without
+ claiming that labeling identifies the exact exchanged compounds or a trophic cascade.
+ retained_edge_decisions:
+ - source: Photosynthetic CO2 Fixation
+ target: Carbon Transfer to Heterotrophs
+ description: Cyanobacterial fixation supplies carbon subsequently incorporated into heterotrophic proteins,
+ as supported by 13C-bicarbonate protein/SIP. Preserve this experimental donor-to-heterotroph direction without
+ claiming that labeling identifies the exact exchanged compounds or a trophic cascade.
+ rationale: Cyanobacterial fixation supplies carbon subsequently incorporated into heterotrophic proteins, as
+ supported by 13C-bicarbonate protein/SIP. Preserve this experimental donor-to-heterotroph direction without
+ claiming that labeling identifies the exact exchanged compounds or a trophic cascade.
+ removed_edge_decisions:
+ - source: Carbon Transfer to Heterotrophs
+ target: Nutrient Remineralization
+ description: Heterotrophs remineralize nutrients for cyanobacterial reuse
+ rationale: Carbon uptake does not establish nutrient return, and remineralization does not establish vitamin
+ delivery in the tested consortium.
+ - source: Nutrient Remineralization
+ target: Vitamin and Cofactor Exchange
+ description: Remineralization supports vitamin production pathways
+ rationale: Carbon uptake does not establish nutrient return, and remineralization does not establish vitamin
+ delivery in the tested consortium.
+ references:
+ - doi:10.3389/fmicb.2022.780346
+ issues:
+ - 1696
+ - 1699
+ - 1701
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Phormidium_Alkaline_Consortium/2026-10-07T084206Z-codex-358cb4.yaml
+- path: kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml
+ id: CommunityMech:000290
+ original_sha256: e8b946a7240a88228f33a964a54e8d01e51cf23b2e00d60f01eb27c6ce958fb0
+ record_sha256: e2eda8deadaaa36ce6ee96ed15871e1cc8c674fea990cd76c77bc74d3e13695a
+ status: needs_research
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml
+ scope: Whole record, every existing node/arrow and missing structures; not whole-record certification.
+ summary: Preserve phosphite-driven hydrogenogenesis and qualify the intracellular enzyme model.; Preserve H2 transfer
+ while distinguishing physiological inhibition and net thermodynamics.; Correct methanogenic sink actor direction
+ and preserve the positive methane endpoint.
+ renamed_nodes: {}
+ node_decisions:
+ - node: Phox-21 Phosphite-Driven Hydrogenogenesis
+ original_node: Phox-21 Phosphite-Driven Hydrogenogenesis
+ rationale: Preserve phosphite-driven hydrogenogenesis and qualify the intracellular enzyme model.
+ - node: Lithosyntrophic interspecies H2 transfer
+ original_node: Lithosyntrophic interspecies H2 transfer
+ rationale: Preserve H2 transfer while distinguishing physiological inhibition and net thermodynamics.
+ - node: Methanoculleus Hydrogenotrophic Methanogenesis
+ original_node: Methanoculleus Hydrogenotrophic Methanogenesis
+ rationale: Correct methanogenic sink actor direction and preserve the positive methane endpoint.
+ removed_node_decisions: []
+ edges_before:
+ - source: Phox-21 Phosphite-Driven Hydrogenogenesis
+ target: Lithosyntrophic interspecies H2 transfer
+ description: Phox-21 hydrogenogenesis supplies the H2 carrier that is consumed by the hydrogenotrophic Methanoculleus
+ partner.
+ - source: Lithosyntrophic interspecies H2 transfer
+ target: Methanoculleus Hydrogenotrophic Methanogenesis
+ description: Consumption of lithosyntrophic H2 by Methanoculleus sp. drives the hydrogenotrophic methanogenesis
+ endpoint.
+ edges_after:
+ - source: Phox-21 Phosphite-Driven Hydrogenogenesis
+ target: Lithosyntrophic interspecies H2 transfer
+ description: Phox-21 hydrogenogenesis supplies the H2 carrier that is consumed by the hydrogenotrophic Methanoculleus
+ partner.
+ - source: Lithosyntrophic interspecies H2 transfer
+ target: Methanoculleus Hydrogenotrophic Methanogenesis
+ description: Consumption of lithosyntrophic H2 by Methanoculleus sp. drives the hydrogenotrophic methanogenesis
+ endpoint.
+ retained_edge_decisions:
+ - source: Phox-21 Phosphite-Driven Hydrogenogenesis
+ target: Lithosyntrophic interspecies H2 transfer
+ description: Phox-21 hydrogenogenesis supplies the H2 carrier that is consumed by the hydrogenotrophic Methanoculleus
+ partner.
+ rationale: Phox-21 hydrogenogenesis supplies the H2 carrier that is consumed by the hydrogenotrophic Methanoculleus
+ partner.
+ - source: Lithosyntrophic interspecies H2 transfer
+ target: Methanoculleus Hydrogenotrophic Methanogenesis
+ description: Consumption of lithosyntrophic H2 by Methanoculleus sp. drives the hydrogenotrophic methanogenesis
+ endpoint.
+ rationale: Consumption of lithosyntrophic H2 by Methanoculleus sp. drives the hydrogenotrophic methanogenesis
+ endpoint.
+ removed_edge_decisions: []
+ references:
+ - PMID:41811448
+ issues:
+ - 1697
+ - 1700
+ - 1701
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture/2026-10-07T084207Z-codex-41dca4.yaml
diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv
index e36e9cc96..a88accacd 100644
--- a/reports/causal_graph_review/inventory.tsv
+++ b/reports/causal_graph_review/inventory.tsv
@@ -300,10 +300,10 @@ kb/communities/Pelotomaculum_Methanocella_Propionate_RNASeq_Coculture.yaml Commu
kb/communities/Pelotomaculum_Methanothermobacter_Syntrophy.yaml CommunityMech:000052 360878e4212242ce0caf07938081bf46502f977747343a560d00684f3b725609 3 2 100.0 reports/causal_graph_review/decisions/20261007-four-records-batch83.yaml needs_research
kb/communities/Pepper_Growth_Rhizosphere_SynCom.yaml CommunityMech:000104 b8dda93ce15fd6860fd8c424d85c961c4bb7ec2187e732720927120833158c37 3 2 86.7 reports/causal_graph_review/decisions/20261007-four-records-batch83.yaml reviewed
kb/communities/Pepper_Phytophthora_SynCom5.yaml CommunityMech:000105 ed26e547580e6b5fa6662c07720f45993a2a5a49e891a8574a635cbf0a44d81e 3 2 90.0 reports/causal_graph_review/decisions/20261007-four-records-batch83.yaml needs_research
-kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml CommunityMech:000446 778b0a4f767d0df26e9888d46f674486bd6f6c53d9f6d791ccdb6a8ba1533550 2 0 60.0 pending
-kb/communities/Phenol_Carboxylation_Consortium.yaml CommunityMech:000053 d0b287884655041b8d00a25103ef528db26d7551e966cafdffd662396b470ca9 3 3 100.0 pending
-kb/communities/Phormidium_Alkaline_Consortium.yaml CommunityMech:000054 2cd585c6cf554f62ce0bb9bd3f2412f9dcf64b7617b62e3bbc4ca36bc7cbaadf 7 3 100.0 pending
-kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml CommunityMech:000290 e8b946a7240a88228f33a964a54e8d01e51cf23b2e00d60f01eb27c6ce958fb0 3 2 100.0 pending
+kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml CommunityMech:000446 c3b29dc71d33c53774afd1181099ef90ade79efb42a0e8ff0b55e9ea3bfffc10 2 0 60.0 reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml needs_research
+kb/communities/Phenol_Carboxylation_Consortium.yaml CommunityMech:000053 a778ef6c883f5d6b7c80dc22be5611de4027d08d4f9d3b23e9a0d330f3f768b1 3 3 100.0 reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml reviewed
+kb/communities/Phormidium_Alkaline_Consortium.yaml CommunityMech:000054 5bd6ec7333293e123e4b68212ddd64a6db8a8efd69f446912d154b260d79f2f5 4 1 81.7 reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml needs_research
+kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml CommunityMech:000290 e2eda8deadaaa36ce6ee96ed15871e1cc8c674fea990cd76c77bc74d3e13695a 3 2 100.0 reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml needs_research
kb/communities/Phylogenetically_Diverse_Denitrifying_SynCom.yaml CommunityMech:000113 bd336eec9803f039fb90ad644a4e2329856b624ab6f35fc0b1ec725550ccb4ef 5 4 100.0 pending
kb/communities/Pichia_Lactiplantibacillus_CCMA_Plant_Beverage_Coculture.yaml CommunityMech:000345 5938d9747c5e6390c25c63b785274d3777ee3d001ee2ad0ae395df127924dc38 0 0 0.0 pending
kb/communities/Picocystis_Activated_Sludge_Refinery_SWW_Consortium.yaml CommunityMech:000439 3b4e98ee0068741c69599d341f74912b58256dcdc28eacceed083f771439fde9 0 0 0.0 pending
diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json
index 8171f6d48..250c1e81f 100644
--- a/reports/causal_graph_review/summary.json
+++ b/reports/causal_graph_review/summary.json
@@ -2,14 +2,14 @@
"scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.",
"semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.",
"records": 460,
- "nodes": 1438,
- "edges": 600,
+ "nodes": 1435,
+ "edges": 598,
"records_without_nodes": 8,
"records_without_edges": 170,
"review_status_counts": {
- "needs_research": 41,
- "pending": 160,
- "reviewed": 259
+ "needs_research": 44,
+ "pending": 156,
+ "reviewed": 260
},
"structural_defects": [],
"network_audit": [
@@ -1325,6 +1325,50 @@
"message": "Taxon 'Rhizobium selenitireducens' has no interactions",
"severity": "warning"
},
+ {
+ "record": "Phormidium_Alkaline_Consortium",
+ "type": "DISCONNECTED",
+ "taxon": "Bacteroidota members",
+ "taxon_id": "NCBITaxon:976",
+ "taxon_data": {
+ "taxon_term": {
+ "preferred_term": "Bacteroidota members",
+ "term": {
+ "id": "NCBITaxon:976",
+ "label": "Bacteroidota"
+ },
+ "gtdb_grounding_status": "GROUNDED",
+ "gtdb_classification": {
+ "gtdb_id": "GTDB:p__Bacteroidota",
+ "gtdb_taxon": "Bacteroidota",
+ "gtdb_lineage": "d__Bacteria;p__Bacteroidota",
+ "ncbi_source_id": "NCBITaxon:976",
+ "majority_fraction": 0.999,
+ "support_genomes": 151365,
+ "total_genomes": 151454,
+ "is_reclassified": false,
+ "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25) [grounded at p__ rank; 5 GTDB taxa under the NCBI taxon]"
+ },
+ "notes": "Multiple heterotrophic Bacteroidota species present in the consortium. These organisms contribute to organic matter degradation, polysaccharide utilization, and nutrient cycling. They occupy ecological niches related to fermentation product utilization and compatible solute metabolism.\n"
+ },
+ "functional_role": [
+ "PRIMARY_DEGRADER",
+ "SECONDARY_FERMENTER"
+ ],
+ "abundance_level": "COMMON",
+ "evidence": [
+ {
+ "reference": "doi:10.3389/fmicb.2022.780346",
+ "supports": "SUPPORT",
+ "evidence_source": "IN_VITRO",
+ "snippet": "Using shotgun metagenomic sequencing, 29 heterotrophic metagenome-assembled-genomes (MAGs) were retrieved and were assigned to Bacteroidota, Alphaproteobacteria, Gammaproteobacteria, Verrucomicrobiota, Patescibacteria, Planctomycetota, and Archaea",
+ "explanation": "Documents presence of diverse Bacteroidota in the heterotrophic community"
+ }
+ ]
+ },
+ "message": "Taxon 'Bacteroidota members' has no interactions",
+ "severity": "warning"
+ },
{
"record": "Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom",
"type": "UNKNOWN_TARGET",
diff --git a/reports/causal_graph_review/validation-20261007-batch84.json b/reports/causal_graph_review/validation-20261007-batch84.json
new file mode 100644
index 000000000..8042401c0
--- /dev/null
+++ b/reports/causal_graph_review/validation-20261007-batch84.json
@@ -0,0 +1,1113 @@
+{
+ "base_commit": "f29d9295102b2cac41dd1a8269ed340823a35d3b",
+ "scope": [
+ "kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml",
+ "kb/communities/Phenol_Carboxylation_Consortium.yaml",
+ "kb/communities/Phormidium_Alkaline_Consortium.yaml",
+ "kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml"
+ ],
+ "reference_validator_version": "0.1.7",
+ "results": [
+ {
+ "check": "Phaeodactylum_Aliivibrio_Diel_Coculture-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phaeodactylum_Aliivibrio_Diel_Coculture-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Phaeodactylum_Aliivibrio_Diel_Coculture-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch84/Phaeodactylum_Aliivibrio_Diel_Coculture-strict.tsv",
+ "kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phaeodactylum_Aliivibrio_Diel_Coculture-strict.log",
+ "log_sha256": "ca1cfee51cb031100a0651744705f7cab799958b8e7ee17c093c920f68cc4aca",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch84/src/communitymech/schema/communitymech.yaml\n\n=== validate-strict summary ===\n files scanned: 1\n files with ERROR: 0\n total ERROR rows: 0\n TSV: /private/tmp/communitymech-batch84/Phaeodactylum_Aliivibrio_Diel_Coculture-strict.tsv\n"
+ },
+ {
+ "check": "Phaeodactylum_Aliivibrio_Diel_Coculture-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phaeodactylum_Aliivibrio_Diel_Coculture-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Phaeodactylum_Aliivibrio_Diel_Coculture-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phaeodactylum_Aliivibrio_Diel_Coculture-references.log",
+ "log_sha256": "26ae505e52e4dd860c937dbdce4c15808a548cabef0e3873b38d6c5aec3c67c2",
+ "output_tail": "Validating kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n",
+ "explained_output_tail": "Validating kb/communities/Phaeodactylum_Aliivibrio_Diel_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": "Phaeodactylum_Aliivibrio_Diel_Coculture-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phaeodactylum_Aliivibrio_Diel_Coculture-snippets.log",
+ "log_sha256": "cbb2cdedf7d2ed5756aac506b60071c409906c876d5eb3586f860c596629a58e",
+ "output_tail": "# 21 evidence snippets scanned across 1 files\n MATCH 21\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n"
+ },
+ {
+ "check": "Phaeodactylum_Aliivibrio_Diel_Coculture-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phaeodactylum_Aliivibrio_Diel_Coculture-rank.log",
+ "log_sha256": "74ca21f35c835df5e828ea27db2383a58d8d3ed802b5369a23a0b02e55758d1d",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000446\",\n \"name\": \"Phaeodactylum-Aliivibrio Diel Co-culture\",\n \"score\": 60.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 2,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Phaeodactylum_Aliivibrio_Diel_Coculture-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Phaeodactylum_Aliivibrio_Diel_Coculture/2026-10-07T084206Z-codex-8d483c.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phaeodactylum_Aliivibrio_Diel_Coculture-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Phenol_Carboxylation_Consortium-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Phenol_Carboxylation_Consortium.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phenol_Carboxylation_Consortium-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Phenol_Carboxylation_Consortium-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch84/Phenol_Carboxylation_Consortium-strict.tsv",
+ "kb/communities/Phenol_Carboxylation_Consortium.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phenol_Carboxylation_Consortium-strict.log",
+ "log_sha256": "5b63085f8ae7467fa701929935ba1eafc850e7f5e7210224b767892426e2e322",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch84/src/communitymech/schema/communitymech.yaml\n\n=== validate-strict summary ===\n files scanned: 1\n files with ERROR: 0\n total ERROR rows: 0\n TSV: /private/tmp/communitymech-batch84/Phenol_Carboxylation_Consortium-strict.tsv\n"
+ },
+ {
+ "check": "Phenol_Carboxylation_Consortium-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Phenol_Carboxylation_Consortium.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phenol_Carboxylation_Consortium-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Phenol_Carboxylation_Consortium-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Phenol_Carboxylation_Consortium.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phenol_Carboxylation_Consortium-references.log",
+ "log_sha256": "4130d7ac82ae39ff3d3bf1f1043645c2994d14e2514f41b18d0856879118d2ab",
+ "output_tail": "Validating kb/communities/Phenol_Carboxylation_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n",
+ "explained_output_tail": "Validating kb/communities/Phenol_Carboxylation_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": "Phenol_Carboxylation_Consortium-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Phenol_Carboxylation_Consortium.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phenol_Carboxylation_Consortium-snippets.log",
+ "log_sha256": "1125ff0dde8c88267205b8aa843a32ef58e84b65fee929f651c20facd8785df0",
+ "output_tail": "# 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": "Phenol_Carboxylation_Consortium-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Phenol_Carboxylation_Consortium.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phenol_Carboxylation_Consortium-rank.log",
+ "log_sha256": "f6df77f1c8f05a6906a4d3bdaf7b575756812de036198a19e1d5c6874f11c53e",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000053\",\n \"name\": \"Phenol Carboxylation Consortium\",\n \"score\": 100.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 3,\n \"interaction_evidence\": 7,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [],\n \"path\": \"kb/communities/Phenol_Carboxylation_Consortium.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Phenol_Carboxylation_Consortium-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Phenol_Carboxylation_Consortium/2026-10-07T084206Z-codex-c3eb51.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phenol_Carboxylation_Consortium-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Phormidium_Alkaline_Consortium-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Phormidium_Alkaline_Consortium.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phormidium_Alkaline_Consortium-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Phormidium_Alkaline_Consortium-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch84/Phormidium_Alkaline_Consortium-strict.tsv",
+ "kb/communities/Phormidium_Alkaline_Consortium.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phormidium_Alkaline_Consortium-strict.log",
+ "log_sha256": "bb9451767814f03e7794156ee8b9ddc01fccc49ea45901cb51e89081803e5f1d",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch84/src/communitymech/schema/communitymech.yaml\n\n=== validate-strict summary ===\n files scanned: 1\n files with ERROR: 0\n total ERROR rows: 0\n TSV: /private/tmp/communitymech-batch84/Phormidium_Alkaline_Consortium-strict.tsv\n"
+ },
+ {
+ "check": "Phormidium_Alkaline_Consortium-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Phormidium_Alkaline_Consortium.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phormidium_Alkaline_Consortium-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Phormidium_Alkaline_Consortium-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Phormidium_Alkaline_Consortium.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phormidium_Alkaline_Consortium-references.log",
+ "log_sha256": "7ed098578b60c64a4c48e24b1ccb569756c6c97a059f6837ae908915f6c5f7d9",
+ "output_tail": "Validating kb/communities/Phormidium_Alkaline_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n",
+ "explained_output_tail": "Validating kb/communities/Phormidium_Alkaline_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": "Phormidium_Alkaline_Consortium-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Phormidium_Alkaline_Consortium.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phormidium_Alkaline_Consortium-snippets.log",
+ "log_sha256": "96a23c88588d68e990af5d62f9c27df12879566b4125e7703a275c3bfa7adcd7",
+ "output_tail": "# 22 evidence snippets scanned across 1 files\n MATCH 22\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n"
+ },
+ {
+ "check": "Phormidium_Alkaline_Consortium-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Phormidium_Alkaline_Consortium.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phormidium_Alkaline_Consortium-rank.log",
+ "log_sha256": "f7626a3afa1df8df6ac565c5e8b63a8b84e61a99b73aa9b4018e6f804b9e10d3",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000054\",\n \"name\": \"Phormidium Alkaline Consortium\",\n \"score\": 81.7,\n \"taxonomy\": 6,\n \"connected_taxa\": 5,\n \"disconnected_taxa\": 1,\n \"ecological_interactions\": 4,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 4,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\",\n \"disconnected_taxa\"\n ],\n \"path\": \"kb/communities/Phormidium_Alkaline_Consortium.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Phormidium_Alkaline_Consortium-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Phormidium_Alkaline_Consortium/2026-10-07T084206Z-codex-358cb4.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phormidium_Alkaline_Consortium-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch84/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-strict.tsv",
+ "kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-strict.log",
+ "log_sha256": "5f9ab8fa00acc7204557291c3bd000412c2b54a2bf0d25bf2f74e1b89a3285c7",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch84/src/communitymech/schema/communitymech.yaml\n\n=== validate-strict summary ===\n files scanned: 1\n files with ERROR: 0\n total ERROR rows: 0\n TSV: /private/tmp/communitymech-batch84/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-strict.tsv\n"
+ },
+ {
+ "check": "Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-references.log",
+ "log_sha256": "6e958332a9d1c06879f6d357f9929ee516fbd32bfa6bce3cc70691849f8f625a",
+ "output_tail": "Validating kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n",
+ "explained_output_tail": "Validating kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_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": "Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-snippets.log",
+ "log_sha256": "1835af07ebf0373785ca2d25de18c6984a3cbcfdec0d2610f1d8437504408710",
+ "output_tail": "# 10 evidence snippets scanned across 1 files\n MATCH 10\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": "Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-rank.log",
+ "log_sha256": "e86ac3578f9795d78a3422dad3b27aeea87ce8699a6111c41fd816356c58e89a",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000290\",\n \"name\": \"Phosphitivorax-Methanoculleus Lithosyntrophic Phosphite-Oxidizing Methanogenic Culture\",\n \"score\": 100.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 4,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [],\n \"path\": \"kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture/2026-10-07T084207Z-codex-41dca4.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "inventory",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "reports/causal_graph_review/build_inventory.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/inventory.log",
+ "log_sha256": "885bb8607924d36ef085d7f872e5b55d7655cc7aca293e0b2c27d5be399e5e10",
+ "output_tail": "{\n \"scope\": \"Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.\",\n \"semantic_review_rule\": \"Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.\",\n \"records\": 460,\n \"nodes\": 1435,\n \"edges\": 598,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 170,\n \"review_status_counts\": {\n \"needs_research\": 44,\n \"pending\": 156,\n \"reviewed\": 260\n },\n \"structural_defects\": []\n}\n"
+ },
+ {
+ "check": "network",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-m",
+ "communitymech.cli",
+ "audit-network",
+ "--json"
+ ],
+ "exit_code": 1,
+ "expected_exit_codes": [
+ 1
+ ],
+ "log": "/private/tmp/communitymech-batch84/network.log",
+ "log_sha256": "b29c775d4f7bfde5d562cffc9e3d2405cd9e015df8f886eba46d9752c17c623a",
+ "output_tail": "ganisms contribute to organic matter degradation, polysaccharide utilization, and nutrient cycling. They occupy ecological niches related to fermentation product utilization and compatible solute metabolism.\\n\"\n },\n \"functional_role\": [\n \"PRIMARY_DEGRADER\",\n \"SECONDARY_FERMENTER\"\n ],\n \"abundance_level\": \"COMMON\",\n \"evidence\": [\n {\n \"reference\": \"doi:10.3389/fmicb.2022.780346\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Using shotgun metagenomic sequencing, 29 heterotrophic metagenome-assembled-genomes (MAGs) were retrieved and were assigned to Bacteroidota, Alphaproteobacteria, Gammaproteobacteria, Verrucomicrobiota, Patescibacteria, Planctomycetota, and Archaea\",\n \"explanation\": \"Documents presence of diverse Bacteroidota in the heterotrophic community\"\n }\n ]\n },\n \"message\": \"Taxon 'Bacteroidota members' 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": "rank-all",
+ "command": [
+ "just",
+ "rank-causal-graphs"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/rank-all.log",
+ "log_sha256": "8cadfd8bed269919a42b3a9c6d4c7ad54084b1924ca152e49fb1f5ff642939fc",
+ "output_tail": "ities/Soybean_N_Fixation_sfSynCom.yaml\tCommunityMech:000064\tSoybean N-Fixation Simplified SynCom\t4\t4\t0\t3\t2\t3\t\t0\t0\n402\t100.0\tkb/communities/Sphingobium_Rhodococcus_Lignin_Dimer_Valorization_Coculture.yaml\tCommunityMech:000267\tSphingobium-Rhodococcus Lignin-Dimer Valorization Coculture\t2\t2\t0\t3\t2\t7\t\t0\t0\n403\t100.0\tkb/communities/Staphylococcus_Candida_Context_Dependent_Biofilm_Coculture.yaml\tCommunityMech:000326\tStaphylococcus-Candida Context-Dependent Biofilm Coculture\t2\t2\t0\t6\t2\t13\t\t0\t0\n404\t100.0\tkb/communities/Stordalen_Mire_Methylotrophic_Methanogenesis_Community.yaml\tCommunityMech:000254\tStordalen Mire Methylotrophic Methanogenesis Community\t3\t3\t0\t4\t4\t9\t\t0\t0\n405\t100.0\tkb/communities/Streptomyces_A2_A5_A11_M7_Pesticide_Consortium.yaml\tCommunityMech:000335\tStreptomyces A2-A5-A11-M7 Pesticide-Bioremediation Consortium\t4\t4\t0\t4\t2\t5\t\t0\t0\n406\t100.0\tkb/communities/Subsurface_Carboxydocella_CO_Aquifer_Community.yaml\tCommunityMech:000251\tSubsurface Carboxydocella CO-Oxidation Aquifer Community\t1\t1\t0\t5\t2\t5\t\t0\t0\n407\t100.0\tkb/communities/Suillus_Bacillus_Thiamine_Ectomycorrhizal_SynCom.yaml\tCommunityMech:000312\tSuillus clintonianus-Bacillus altitudinis Thiamine Cross-Feeding SynCom\t3\t3\t0\t4\t3\t4\t\t0\t0\n408\t100.0\tkb/communities/Sulfide_Spring_Autotrophic_CPR_Biofilm.yaml\tCommunityMech:000222\tSulfide Spring Autotrophic CPR-Hosting Biofilm\t3\t3\t0\t3\t2\t4\t\t0\t0\n409\t100.0\tkb/communities/SynComBac10_Chicken_Intestinal_SynCom.yaml\tCommunityMech:000127\tSynComBac10 Chicken Intestinal SynCom\t3\t3\t0\t3\t2\t3\t\t0\t0\n410\t100.0\tkb/communities/SynCom_ARC_Peanut_Aflatoxin_Nodulation.yaml\tCommunityMech:000314\tSynCom ARC Peanut Aflatoxin-Control and Nodulation-Coupling Community\t5\t5\t0\t3\t2\t3\t\t0\t0\n411\t100.0\tkb/communities/SynCom_BsBv_Cigar_Tobacco_Leaf_Fermentation.yaml\tCommunityMech:000278\tSynCom BsBv Cigar Tobacco Leaf Fermentation\t2\t2\t0\t3\t2\t3\t\t0\t0\n412\t100.0\tkb/communities/SynCom_Chlorella_sorokiniana_Biogas_Slurry_Coupling_System.yaml\tCommunityMech:000285\tSynCom + Chlorella sorokiniana Biogas-slurry Coupling System\t2\t2\t0\t5\t3\t5\t\t0\t0\n413\t100.0\tkb/communities/SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.yaml\tCommunityMech:000302\tSynCom MetG2 Rhizobacteria Sugarcane Stress Resilience\t2\t2\t0\t3\t2\t4\t\t0\t0\n414\t100.0\tkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml\tCommunityMech:000283\tSesame-flavor Baijiu Fuqu SynCom (13-genus)\t13\t13\t0\t3\t2\t3\t\t0\t0\n415\t100.0\tkb/communities/SynCom_Y_Agrobacterium_Bacillus_Biofilm_Biocontrol_Coculture.yaml\tCommunityMech:000272\tSynCom Y Agrobacterium-Bacillus Biofilm Biocontrol Co-culture\t2\t2\t0\t4\t2\t6\t\t0\t0\n416\t100.0\tkb/communities/Synechococcus_Azotobacter_Photoproduction_Mutualism.yaml\tCommunityMech:000207\tSynechococcus-Azotobacter Photoproduction Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n417\t100.0\tkb/communities/Synechococcus_Bacillus_SPC.yaml\tCommunityMech:000065\tSynechococcus-Bacillus Synthetic Photosynthetic Consortium\t2\t2\t0\t3\t2\t4\t\t0\t0\n418\t100.0\tkb/communities/Synechococcus_Ecoli_SPC.yaml\tCommunityMech:000066\tSynechococcus-E.coli Synthetic Photosynthetic Consortium\t2\t2\t0\t3\t2\t4\t\t0\t0\n419\t100.0\tkb/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml\tCommunityMech:000198\tSynechococcus-Halomonas Light-Driven PHB Coculture\t2\t2\t0\t3\t2\t6\t\t0\t0\n420\t100.0\tkb/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml\tCommunityMech:000167\tSynechococcus-Pseudomonas Phototrophic PHA and DNT Coculture\t2\t2\t0\t4\t2\t8\t\t0\t0\n421\t100.0\tkb/communities/Synechococcus_Saccharomyces_SPC.yaml\tCommunityMech:000067\tSynechococcus-Saccharomyces Synthetic Photosynthetic Consortium\t2\t2\t0\t3\t2\t4\t\t0\t0\n422\t100.0\tkb/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml\tCommunityMech:000211\tSynechococcus-Shewanella D-Lactate Biophotovoltaic Consortium\t2\t2\t0\t3\t2\t6\t\t0\t0\n423\t100.0\tkb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml\tCommunityMech:000149\tSynthetic Lichen Synechococcus-Rhodotorula Coculture\t2\t2\t0\t3\t2\t4\t\t0\t0\n424\t100.0\tkb/communities/Syntrophobacter_Methanobacterium_Syntrophy.yaml\tCommunityMech:000068\tSyntrophobacter-Methanobacterium Syntrophic Consortium\t2\t2\t0\t3\t3\t8\t\t0\t0\n425\t100.0\tkb/communities/Syntrophobacter_Methanospirillum_Syntrophy.yaml\tCommunityMech:000069\tSyntrophobacter-Methanospirillum Syntrophic Consortium\t2\t2\t0\t3\t3\t5\t\t0\t0\n426\t100.0\tkb/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml\tCommunityMech:000189\tSyntrophomonas-Methanococcus Butyrate Growth Coordination Coculture\t2\t2\t0\t3\t2\t6\t\t0\t0\n427\t100.0\tkb/communities/Syntrophomonas_Methanospirillum_Syntrophy.yaml\tCommunityMech:000070\tSyntrophomonas-Methanospirillum Syntrophic Consortium\t2\t2\t0\t3\t3\t7\t\t0\t0\n428\t100.0\tkb/communities/Syntrophus_Benzoate_Degrader.yaml\tCommunityMech:000071\tSyntrophus Benzoate Degrader\t2\t2\t0\t3\t2\t6\t\t0\t0\n429\t100.0\tkb/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml\tCommunityMech:000187\tSyntrophus-Methanospirillum Gentianae Benzoate Coculture\t2\t2\t0\t3\t2\t7\t\t0\t0\n430\t100.0\tkb/communities/THOR_Rhizosphere_Model_Community.yaml\tCommunityMech:000079\tTHOR Rhizosphere Model Community\t3\t3\t0\t4\t2\t5\t\t0\t0\n431\t100.0\tkb/communities/TYQ1_Nematode_Biocontrol_SynCom.yaml\tCommunityMech:000072\tTYQ1 Nematode Biocontrol SynCom\t8\t8\t0\t4\t4\t4\t\t0\t0\n432\t100.0\tkb/communities/Teosinte_Maize_Biofertilizer_SynCom7.yaml\tCommunityMech:000100\tTeosinte-Derived Maize Biofertilizer SynCom7\t4\t4\t0\t6\t2\t12\t\t0\t0\n433\t100.0\tkb/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml\tCommunityMech:000259\tThalassiosira-Marinobacter Marine Snow Coculture\t2\t2\t0\t4\t2\t10\t\t0\t0\n434\t100.0\tkb/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml\tCommunityMech:000162\tThalassiosira-Ruegeria Phycosphere Coculture\t2\t2\t0\t3\t2\t4\t\t0\t0\n435\t100.0\tkb/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml\tCommunityMech:000182\tThermacetogenium-Methanothermobacter Acetate Oxidation Coculture\t2\t2\t0\t3\t2\t8\t\t0\t0\n436\t100.0\tkb/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml\tCommunityMech:000282\tThermophilic Lignocellulose-degrading Composting SynCom\t5\t5\t0\t3\t2\t3\t\t0\t0\n437\t100.0\tkb/communities/Thermophilic_Pyrite_QS_Consortium.yaml\tCommunityMech:000073\tThermophilic Pyrite Quorum Sensing Consortium\t3\t3\t0\t6\t2\t14\t\t0\t0\n438\t100.0\tkb/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml\tCommunityMech:000186\tThermotoga-Methanocaldococcus Hyperthermophilic Syntrophy\t2\t2\t0\t3\t2\t8\t\t0\t0\n439\t100.0\tkb/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml\tCommunityMech:000239\tThiocyanate-Degrading Afipia and Thiobacillus Bioreactor Community\t3\t3\t0\t3\t2\t3\t\t0\t0\n440\t100.0\tkb/communities/Tinto_River_Iron_Cycling_Community.yaml\tCommunityMech:000074\tTinto River Iron Cycling Community\t6\t6\t0\t5\t3\t6\t\t0\t0\n441\t100.0\tkb/communities/Tobacco_Chemotactic_Biocontrol_SynCom.yaml\tCommunityMech:000106\tTobacco Chemotactic Biocontrol SynCom\t2\t2\t0\t3\t2\t4\t\t0\t0\n442\t100.0\tkb/communities/Tomato_Oxylipin_SynCom3.yaml\tCommunityMech:000107\tTomato Oxylipin-Protective SynCom3\t3\t3\t0\t3\t2\t4\t\t0\t0\n443\t100.0\tkb/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml\tCommunityMech:000112\tTribromophenol Anaerobic Bioremediation SynCom\t3\t3\t0\t4\t3\t5\t\t0\t0\n444\t100.0\tkb/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml\tCommunityMech:000188\tTrichococcus-Syntrophomonas-Methanospirillum Butyrate Coculture\t3\t3\t0\t3\t2\t6\t\t0\t0\n445\t100.0\tkb/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml\tCommunityMech:000205\tTrichoderma-E. coli Cellulosic Isobutanol Coculture\t2\t2\t0\t3\t2\t5\t\t0\t0\n446\t100.0\tkb/communities/Trichoderma_Lactate_Platform.yaml\tCommunityMech:000075\tTrichoderma Lactate Platform for SCFA Production\t3\t3\t0\t3\t2\t3\t\t0\t0\n447\t100.0\tkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml\tCommunityMech:000270\tTrichoderma-Streptomyces Filamentous Cellulose Coculture\t2\t2\t0\t3\t2\t7\t\t0\t0\n448\t100.0\tkb/communities/Trichodesmium_Alteromonas_Marine_Consortium.yaml\tCommunityMech:000147\tTrichodesmium-Alteromonas Marine Consortium\t3\t3\t0\t3\t2\t5\t\t0\t0\n449\t100.0\tkb/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml\tCommunityMech:000337\tTropidoatractus magnetotacticus Magnetotactic Ciliate Tripartite Syntrophy\t3\t3\t0\t4\t2\t9\t\t0\t0\n450\t100.0\tkb/communities/Urine_Nitrification_SynCom.yaml\tCommunityMech:000117\tUrine Nitrification Synthetic Microbial Community\t5\t5\t0\t3\t2\t5\t\t0\t0\n451\t100.0\tkb/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml\tCommunityMech:000213\tVariovorax-Cryptococcus Vitamin Cross-Feeding Microcosm\t2\t2\t0\t3\t2\t4\t\t0\t0\n452\t100.0\tkb/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml\tCommunityMech:000328\tWaste-Sludge Electro-Fermentation Biofilm-Suspension Community\t5\t5\t0\t4\t2\t6\t\t0\t0\n453\t100.0\tkb/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.yaml\tCommunityMech:000098\tWatermelon Rhizosphere Fusarium-Protective SynCom8\t2\t2\t0\t3\t2\t7\t\t0\t0\n454\t100.0\tkb/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml\tCommunityMech:000255\tWetland Oxygen-Sulfate Greenhouse Gas Microcosm Community\t3\t3\t0\t3\t2\t6\t\t0\t0\n455\t100.0\tkb/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.yaml\tCommunityMech:000118\tWheat Straw Biogas Pretreatment SynCom\t4\t4\t0\t3\t2\t4\t\t0\t0\n456\t100.0\tkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml\tCommunityMech:000354\tYarrowia lipolytica Division-of-Labor Lipid Consortium\t2\t2\t0\t3\t2\t3\t\t0\t0\n457\t100.0\tkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml\tCommunityMech:000164\tYogurt Two-Species Starter Culture\t2\t2\t0\t4\t2\t9\t\t0\t0\n458\t100.0\tkb/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml\tCommunityMech:000210\tZymomonas-E. coli Exometabolomics-Designed Obligate Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n459\t100.0\tkb/communities/hCom2_Complex_Gut_Microbiome.yaml\tCommunityMech:000123\thCom2 Complex Gut Microbiome\t1\t1\t0\t3\t2\t3\t\t0\t0\n460\t100.0\tkb/communities/mCAFEs_Brachypodium_RCC.yaml\tCommunityMech:000078\tm-CAFEs Brachypodium Reduced Complexity Consortia\t10\t10\t0\t6\t2\t11\t\t0\t0\nPYTHONPATH=src uv run python scripts/rank_causal_graph_readiness.py \n"
+ },
+ {
+ "check": "render",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-m",
+ "communitymech.render"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/render.log",
+ "log_sha256": "9cb54346c00315a6225ca3b288b094c35181ff6f6fff773006515662b2cfaed3",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch84/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch84/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch84/docs/index.html\n"
+ },
+ {
+ "check": "render-repeat",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-m",
+ "communitymech.render"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/render-repeat.log",
+ "log_sha256": "9cb54346c00315a6225ca3b288b094c35181ff6f6fff773006515662b2cfaed3",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch84/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch84/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch84/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch84/docs/index.html\n"
+ },
+ {
+ "check": "connectivity-survey",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-c",
+ "import json,pathlib,runpy\nfn=runpy.run_path('tests/test_community_level_connectivity_credit.py')['_survey']\nresult={}\nfor name,root in [('baseline',pathlib.Path('/private/tmp/communitymech-causal-batch83')),('current',pathlib.Path.cwd())]:\n paths=sorted(p for r in ['kb/communities','data/isolates'] for p in (root/r).rglob('*.yaml'))\n assert len(paths)==460\n fn.__globals__['record_files']=lambda:paths\n result[name]=fn()\nprint(json.dumps(result))\n"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/connectivity-survey.log",
+ "log_sha256": "99cb7838d00994528ebca1321bccd79c54b7cab84c7e4020b8ddbcf2e17231fb",
+ "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 393, \"mixed\": 125, \"community_level_only\": 268, \"taxa\": 1511, \"credited_solely_by_the_rule\": 1240}, \"current\": {\"records\": 460, \"with_community_level\": 394, \"mixed\": 126, \"community_level_only\": 268, \"taxa\": 1517, \"credited_solely_by_the_rule\": 1243}}\n"
+ },
+ {
+ "check": "regressions",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-m",
+ "pytest",
+ "-q",
+ "tests/test_causal_review_batch10.py",
+ "tests/test_causal_review_batch11.py",
+ "tests/test_causal_review_batch12.py",
+ "tests/test_causal_review_batch13.py",
+ "tests/test_causal_review_batch14.py",
+ "tests/test_causal_review_batch15.py",
+ "tests/test_causal_review_batch16.py",
+ "tests/test_causal_review_batch17.py",
+ "tests/test_causal_review_batch18.py",
+ "tests/test_causal_review_batch19.py",
+ "tests/test_causal_review_batch20.py",
+ "tests/test_causal_review_batch21.py",
+ "tests/test_causal_review_batch22.py",
+ "tests/test_causal_review_batch23.py",
+ "tests/test_causal_review_batch24.py",
+ "tests/test_causal_review_batch25.py",
+ "tests/test_causal_review_batch27.py",
+ "tests/test_causal_review_batch28.py",
+ "tests/test_causal_review_batch29.py",
+ "tests/test_causal_review_batch30.py",
+ "tests/test_causal_review_batch31.py",
+ "tests/test_causal_review_batch32.py",
+ "tests/test_causal_review_batch33.py",
+ "tests/test_causal_review_batch34.py",
+ "tests/test_causal_review_batch35.py",
+ "tests/test_causal_review_batch36.py",
+ "tests/test_causal_review_batch37.py",
+ "tests/test_causal_review_batch38.py",
+ "tests/test_causal_review_batch39.py",
+ "tests/test_causal_review_batch40.py",
+ "tests/test_causal_review_batch41.py",
+ "tests/test_causal_review_batch42.py",
+ "tests/test_causal_review_batch43.py",
+ "tests/test_causal_review_batch44.py",
+ "tests/test_causal_review_batch45.py",
+ "tests/test_causal_review_batch46.py",
+ "tests/test_causal_review_batch47.py",
+ "tests/test_causal_review_batch48.py",
+ "tests/test_causal_review_batch49.py",
+ "tests/test_causal_review_batch5.py",
+ "tests/test_causal_review_batch50.py",
+ "tests/test_causal_review_batch51.py",
+ "tests/test_causal_review_batch52.py",
+ "tests/test_causal_review_batch53.py",
+ "tests/test_causal_review_batch54.py",
+ "tests/test_causal_review_batch55.py",
+ "tests/test_causal_review_batch56.py",
+ "tests/test_causal_review_batch57.py",
+ "tests/test_causal_review_batch58.py",
+ "tests/test_causal_review_batch59.py",
+ "tests/test_causal_review_batch6.py",
+ "tests/test_causal_review_batch60.py",
+ "tests/test_causal_review_batch61.py",
+ "tests/test_causal_review_batch62.py",
+ "tests/test_causal_review_batch63.py",
+ "tests/test_causal_review_batch64.py",
+ "tests/test_causal_review_batch65.py",
+ "tests/test_causal_review_batch66.py",
+ "tests/test_causal_review_batch67.py",
+ "tests/test_causal_review_batch68.py",
+ "tests/test_causal_review_batch69.py",
+ "tests/test_causal_review_batch7.py",
+ "tests/test_causal_review_batch70.py",
+ "tests/test_causal_review_batch71.py",
+ "tests/test_causal_review_batch72.py",
+ "tests/test_causal_review_batch73.py",
+ "tests/test_causal_review_batch74.py",
+ "tests/test_causal_review_batch75.py",
+ "tests/test_causal_review_batch76.py",
+ "tests/test_causal_review_batch77.py",
+ "tests/test_causal_review_batch78.py",
+ "tests/test_causal_review_batch79.py",
+ "tests/test_causal_review_batch8.py",
+ "tests/test_causal_review_batch80.py",
+ "tests/test_causal_review_batch81.py",
+ "tests/test_causal_review_batch82.py",
+ "tests/test_causal_review_batch83.py",
+ "tests/test_causal_review_batch84.py",
+ "tests/test_causal_review_batch9.py",
+ "tests/test_site_audit_fixes.py",
+ "tests/test_causal_review_inventory.py",
+ "tests/test_rank_causal_graph_readiness.py",
+ "tests/test_network_auditor.py",
+ "tests/test_participating_taxa.py",
+ "tests/test_causal_descriptions_are_published.py",
+ "tests/test_published_pages_name_real_records.py",
+ "tests/test_reference_validator_actually_validates.py",
+ "tests/test_snippet_audit_artefact_classes.py",
+ "tests/test_reference_error_annotation.py",
+ "tests/test_community_level_connectivity_credit.py",
+ "tests/test_no_paywalled_text_in_repo.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/regressions.log",
+ "log_sha256": "eaa0d9dc9629de1c12af53cf11a07f15dd8980109c8a5f5511c9aa0c44e4f9b7",
+ "output_tail": "........................................................................ [ 9%]\n........................................................................ [ 19%]\n........................................................................ [ 28%]\n........................................................................ [ 38%]\n........................................................................ [ 47%]\n........................................................................ [ 57%]\n........................................................................ [ 66%]\n........................................................................ [ 76%]\n........................................................................ [ 85%]\n........................................................................ [ 95%]\n.................................... [100%]\n756 passed in 350.42s (0:05:50)\n"
+ },
+ {
+ "check": "black",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black",
+ "--check",
+ "tests/test_causal_review_batch84.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/black.log",
+ "log_sha256": "b9cf511501d306d2bd8355ccb165c8ddc0a6fdd62d7c72c4a7b1795cf8934c8c",
+ "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n2 files would be left unchanged.\n"
+ },
+ {
+ "check": "ruff",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff",
+ "check",
+ "tests/test_causal_review_batch84.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/ruff.log",
+ "log_sha256": "82b3e6a6c090a57601d22943bd23fca9218d1031dbe5a7b754092f9a156b4f18",
+ "output_tail": "All checks passed!\n"
+ },
+ {
+ "check": "diff-check",
+ "command": [
+ "git",
+ "diff",
+ "--check"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/diff-check.log",
+ "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "output_tail": ""
+ },
+ {
+ "check": "primary-graph-proof",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-c",
+ "import hashlib,json,pathlib,re,subprocess,unicodedata,yaml\nP=pathlib.Path\nledger=yaml.safe_load(P('reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml').read_text())\ndef norm(s): return re.sub(r'[^a-z0-9]','',unicodedata.normalize('NFKD',s).casefold())\nfor p,h in ledger['primary_artifacts'].items(): assert hashlib.sha256(P(p).read_bytes()).hexdigest()==h\nsources={c['reference']:norm(P(c['matched_artifact']).read_text()) for c in ledger['snippet_checks']}\ngraphs=discussions=0\nfor row in ledger['records']:\n doc=yaml.safe_load(P(row['path']).read_text())\n old=yaml.safe_load(subprocess.check_output(['git','show',ledger['base_commit']+':'+row['path']],text=True))\n old_ids={d['discussion_id'] for d in old.get('discussions',[])}\n for n in doc['ecological_interactions']:\n for e in n['evidence']:\n assert norm(e['snippet']) in sources[e['reference']],(row['path'],n['name'])\n graphs+=1\n for d in doc['discussions']:\n if d['discussion_id'] in old_ids: continue\n for e in d['evidence']:\n assert norm(e['snippet']) in sources[e['reference']],(row['path'],d['discussion_id'])\n discussions+=1\nassert graphs==18 and discussions==8\nassert sum(c['independent_primary_match'] for c in ledger['snippet_checks'])==11\nprint(json.dumps(dict(primary_matched=18,independent_fresh_primary_matched=11,cached_phenol_primary_matched=7,new_discussion_quotations_primary_matched=8,retained_nodes=12,removed_nodes=3,retained_arrows=6,removed_arrows=2,new_nodes_or_arrows=0,fresh_main_texts_read=3,cached_main_texts_read=1,original_pdf_pages_visually_inspected={'phormidium':[8,11]},separate_supplements_and_raw_data_audited=False)))\n"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/primary-graph-proof.log",
+ "log_sha256": "1782dfedd02ebd66cd1979c976f56c76a9529ba24853daf33ee089ea3b013a7d",
+ "output_tail": "{\"primary_matched\": 18, \"independent_fresh_primary_matched\": 11, \"cached_phenol_primary_matched\": 7, \"new_discussion_quotations_primary_matched\": 8, \"retained_nodes\": 12, \"removed_nodes\": 3, \"retained_arrows\": 6, \"removed_arrows\": 2, \"new_nodes_or_arrows\": 0, \"fresh_main_texts_read\": 3, \"cached_main_texts_read\": 1, \"original_pdf_pages_visually_inspected\": {\"phormidium\": [8, 11]}, \"separate_supplements_and_raw_data_audited\": false}\n"
+ },
+ {
+ "check": "focused-final",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-m",
+ "pytest",
+ "-q",
+ "tests/test_causal_review_batch84.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/focused-final.log",
+ "log_sha256": "6f1df482ff77a45c8b1bb3ec325c6bdabcc4d9725488d91df0dcc3521ca1d000",
+ "output_tail": ".......... [100%]\n10 passed in 1.90s\n"
+ },
+ {
+ "check": "audit-snippets-all",
+ "command": [
+ "just",
+ "audit-snippets"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch84/audit-snippets-all.log",
+ "log_sha256": "b43637770b0c9ff32235e4b816fc274e6bfb2ad07753c137595d64ef2fdcac05",
+ "output_tail": "# 8902 evidence snippets scanned across 460 files\n MATCH 8767\n RENDERING 20\n ASSEMBLED 1\n WEAK 0\n MISMATCH 38\n NOCONTENT 76\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n 19 (19 hard) kb/communities/DCPP_DBS4_DCP4_DCP11d_Degradation_SynCom.yaml\n 15 (15 hard) kb/communities/Fucoidan_Seven_Degrader_Combinatorial_SynCom.yaml\n 3 (3 hard) kb/communities/Coscinodiscus_Synthetic_Community.yaml\n 1 (1 hard) kb/communities/Altered_Schaedler_Flora_Gnotobiotic_Mouse_Community.yaml\nuv run python scripts/evidence_snippet_audit.py \n"
+ }
+ ],
+ "limitations": [
+ "Fresh before-paper two-root baseline:460records/921caches,1438nodes600arrows,47warnings and zero structural defects. Four whole records,15nodes8arrows reviewed;12nodes6arrows retained. No new node or downstream arrow.",
+ "Fresh primary main text read for diatom, Phormidium and phosphite, including embedded tables/captions. Phenol full primary read from existing cache; fresh Europe PMC XML failed HTTP500 and official BioC returned No result. No access-control bypass or fresh-fulltext claim for phenol. Original Phormidium PDF pages8/11 (Figures3/4) visually inspected; separate supplements/raw data and other original figure pixels not audited.",
+ "Phormidium gene-based niches are not flux, compound-resolved handoffs or reciprocal services. Carbon node explicitly covers canonical cyanobacterium/Wenzhouxiangella/Planctomycetota based on major SIP populations. Broad labels do not imply all phylum members. Bacteroidota membership survives despite removal of unsupported nutrient-return role; no topology invented for connectivity credit.",
+ "Phenol BES/high-H2 perturbation arrows and phosphite H2-to-methane directions remain positive. Acetate/methane conversion is not complete mineralization. AQDS alternative disposal and G11 rescue bound partner exclusivity. Phosphite intracellular energy-conservation model is distinct from net chemical thermodynamics; seven-member enrichment is not a pure pair.",
+ "Diatom SEM/late physiological effects survive; amino-acid competition is a hypothesis. Day8 physiological controls must not be conflated with absent day8 axenic transcriptomics. Diel counts/model flux/ICA are not clock-perturbation or exchange measurements. Missing dedicated structure remains #1698; Phormidium niches #1699 and phosphite feedback #1700 remain research.",
+ "All921reference caches and456otherrecords/raw non-graph blocks preserved; no cache addition or source rewrite. Graph benzoic-acid preferred labels now match existing CHEBI identity, without asserting chemical speciation. Non-graph composition/evidence issues remain #1701.",
+ "Dedup969all-state issue titles/bodies; original three matched issues1134/1136/543 read. Additional exact IDs/DOIs/PMID matched no issue. Hidden/ignored local searches found22original and6additional files excluding.git/docs/site/references_cache. Comments/PRs not exhaustively searched; cache full texts with long lines were not separately certified after truncated display, but independently extracted main texts were read.",
+ "Three separate one-community Edison causal dry runs:11324/18291/8897characters. An initial --output-dir argument failed before rendering and was corrected to --out-dir. No API/provider job or credits spent. Scoped paid questions unanswered; earlier denied/pending scopes unchanged. Repairs1694-1697close only after protected-main merge;1698-1701remainOPEN.",
+ "Four append-only histories; separate validation/rendering gates are not preasserted. Self-adversarial review is not independent approval or whole-corpus completion.",
+ "Exact HTML-description parser and repeat-render checks, not browser screenshots. Post-commit docs-current is separate."
+ ],
+ "superseded_checks": [],
+ "snippet_counts_by_record": {
+ "kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml": {
+ "MATCH": 21,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Phenol_Carboxylation_Consortium.yaml": {
+ "MATCH": 26,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Phormidium_Alkaline_Consortium.yaml": {
+ "MATCH": 22,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml": {
+ "MATCH": 10,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ }
+ },
+ "unchanged_raw_blocks": 51,
+ "unchanged_record_files": 456,
+ "unchanged_cache_files": 921,
+ "cache_changes": [],
+ "edison": {
+ "required_for_this_repair": false,
+ "required_for_unresolved_extensions": true,
+ "provider_submissions": 0,
+ "credits_spent": 0,
+ "dry_runs": [
+ {
+ "community_id": "CommunityMech:000446",
+ "job": "LITERATURE",
+ "query_chars": 11324,
+ "query_sha256": "890c4edc5f497d2845719d2fc05c34731035d42383148e5c538c1f5f305e3ab1",
+ "meta_path": "/private/tmp/communitymech-batch84/edison-diatom/Phaeodactylum_Aliivibrio_Diel_Coculture-edison-literature-causal-meta.yaml",
+ "authorization": "Scoped asynchronous question unanswered; preselection is not authorization."
+ },
+ {
+ "community_id": "CommunityMech:000054",
+ "job": "LITERATURE",
+ "query_chars": 18291,
+ "query_sha256": "16869e3b6ce8ae6d74a64c917aebbf558165555b9e45b651f741752e51925d35",
+ "meta_path": "/private/tmp/communitymech-batch84/edison-phormidium/Phormidium_Alkaline_Consortium-edison-literature-causal-meta.yaml",
+ "authorization": "Scoped asynchronous question unanswered; preselection is not authorization."
+ },
+ {
+ "community_id": "CommunityMech:000290",
+ "job": "LITERATURE",
+ "query_chars": 8897,
+ "query_sha256": "5cdb7f0f717b829e13c39e5b9f603e592757d5fec7c55d007cc12b8f1054bb54",
+ "meta_path": "/private/tmp/communitymech-batch84/edison-phosphite/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-edison-literature-causal-meta.yaml",
+ "authorization": "Scoped asynchronous question unanswered; preselection is not authorization."
+ }
+ ]
+ },
+ "primary_artifacts": {
+ "/private/tmp/communitymech-batch84/baseline.json": "22f218c44d34a71bee50ad6b2fbc26a1a6affe70d4f26d757a34d7910ff745e3",
+ "/private/tmp/communitymech-batch84/diatom-primary.txt": "b0f760ee073117100f58c26bae069fd9a78f50c05dbc6a97c99e8cbd584d0d40",
+ "/private/tmp/communitymech-batch84/edison-diatom/Phaeodactylum_Aliivibrio_Diel_Coculture-edison-literature-causal-meta.yaml": "3b442d2bf432f9783af04ffdddafdca8c71ffb9f95f8851ed32fd69a5b7a2c73",
+ "/private/tmp/communitymech-batch84/edison-phormidium/Phormidium_Alkaline_Consortium-edison-literature-causal-meta.yaml": "cd21008d9a8aafdf43f1f2d063b813ede8eb52c8f25a58a909ac717b699e7a7b",
+ "/private/tmp/communitymech-batch84/edison-phosphite/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture-edison-literature-causal-meta.yaml": "fa165239fa30bdddfdd412e6455a4f56f2a8b5aa9b5976824b2d2f67397271b7",
+ "/private/tmp/communitymech-batch84/extra-issue-matches.json": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570",
+ "/private/tmp/communitymech-batch84/extra-local-matches.txt": "a6590acd680ce0ebd20fd7681d901290bf2906680a725ea83165aedf98b05f5a",
+ "/private/tmp/communitymech-batch84/issue-matches.json": "d9b44c78d6400feb78c5819797c630719a6610148f32d67b838cc9bcc4571f47",
+ "/private/tmp/communitymech-batch84/issues.json": "389bf5f8af594c6e22d154abd0d73f9a22003030829a913a5fb5f891721b4914",
+ "/private/tmp/communitymech-batch84/local-matches.txt": "3e857da80bdfede51c78332794923c9e83f5d77b2383353fc738607ae6b683ba",
+ "/private/tmp/communitymech-batch84/phenol-bioc.xml": "3acc5f4c51ec704cd708d3379196db9f66442a96c9bf275773710e0de0196b52",
+ "/private/tmp/communitymech-batch84/phormidium-page-11.png": "dc1685f48ac7fa872912025a923e060821a2ebb5fe29d3087ffa1053658e8bea",
+ "/private/tmp/communitymech-batch84/phormidium-page-8.png": "b63cef0dfbdb326994a53c4e480228d33726df28563b3733b6fbd9099d548fd3",
+ "/private/tmp/communitymech-batch84/phormidium-primary.pdf": "d83e4e09cf2a81cb6ba3d8c12fb4bf66966fe85db1a2ff87c12af1af3a8c8576",
+ "/private/tmp/communitymech-batch84/phormidium-primary.txt": "063f7267ef66fba4fe75ac8b26dc9740cd5a85a98ae5ccb861628c595d95f36e",
+ "/private/tmp/communitymech-batch84/phosphite-primary.txt": "d998504a18de23393b59fe805ccf6e6a729e9d835a92681d31cb2a1e18f7882d",
+ "/private/tmp/communitymech-batch84/primary-manifest.json": "83cc4cbd9ace338a87f92ebe392075ca19b7c9dbc13a214bfbd1d0858b6e7fed",
+ "references_cache/PMID_18281436.md": "2ac1f1c9581f3f39443f651bfdd5146243178f2b7891028f7c4b9bbad8c83577",
+ "references_cache/PMID_41811448.md": "1c583d2630815127fbe11a8eb987a5902eb9972c25d87e8bf0cde019baa9dfec",
+ "references_cache/PMID_42668638.txt": "e03ff54148e46509bacd297bfff750255a4c2e029f63dbafe76168fab02bb63f",
+ "references_cache/doi_10.3389_fmicb.2022.780346.md": "a3ba7f3dfd3bd6b6ae6338a05beead53f2cb15c89f70f0a89700cbfa0dc2b929"
+ },
+ "network_delta": {
+ "existing_findings_preserved": 47,
+ "added_findings": {
+ "Phormidium_Alkaline_Consortium": [
+ {
+ "type": "DISCONNECTED",
+ "taxon": "Bacteroidota members",
+ "taxon_id": "NCBITaxon:976",
+ "taxon_data": {
+ "taxon_term": {
+ "preferred_term": "Bacteroidota members",
+ "term": {
+ "id": "NCBITaxon:976",
+ "label": "Bacteroidota"
+ },
+ "gtdb_grounding_status": "GROUNDED",
+ "gtdb_classification": {
+ "gtdb_id": "GTDB:p__Bacteroidota",
+ "gtdb_taxon": "Bacteroidota",
+ "gtdb_lineage": "d__Bacteria;p__Bacteroidota",
+ "ncbi_source_id": "NCBITaxon:976",
+ "majority_fraction": 0.999,
+ "support_genomes": 151365,
+ "total_genomes": 151454,
+ "is_reclassified": false,
+ "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25) [grounded at p__ rank; 5 GTDB taxa under the NCBI taxon]"
+ },
+ "notes": "Multiple heterotrophic Bacteroidota species present in the consortium. These organisms contribute to organic matter degradation, polysaccharide utilization, and nutrient cycling. They occupy ecological niches related to fermentation product utilization and compatible solute metabolism.\n"
+ },
+ "functional_role": [
+ "PRIMARY_DEGRADER",
+ "SECONDARY_FERMENTER"
+ ],
+ "abundance_level": "COMMON",
+ "evidence": [
+ {
+ "reference": "doi:10.3389/fmicb.2022.780346",
+ "supports": "SUPPORT",
+ "evidence_source": "IN_VITRO",
+ "snippet": "Using shotgun metagenomic sequencing, 29 heterotrophic metagenome-assembled-genomes (MAGs) were retrieved and were assigned to Bacteroidota, Alphaproteobacteria, Gammaproteobacteria, Verrucomicrobiota, Patescibacteria, Planctomycetota, and Archaea",
+ "explanation": "Documents presence of diverse Bacteroidota in the heterotrophic community"
+ }
+ ]
+ },
+ "message": "Taxon 'Bacteroidota members' has no interactions"
+ }
+ ]
+ },
+ "removed_findings": {},
+ "interpretation": "All47existingwarnings unchanged; one new Bacteroidota disconnection records removal of unsupported nutrient return. No structural defects or taxonomy/auditor-rule changes. Major carbon-transfer participants explicitly include cyanobacterium,Wenzhouxiangella,Planctomycetota."
+ },
+ "render_determinism": true,
+ "published_description_coverage": {
+ "pages": 456,
+ "nodes": 1421,
+ "arrows": 590
+ },
+ "participant_census": {
+ "measurements": {
+ "baseline": {
+ "records": 460,
+ "with_community_level": 393,
+ "mixed": 125,
+ "community_level_only": 268,
+ "taxa": 1511,
+ "credited_solely_by_the_rule": 1240
+ },
+ "current": {
+ "records": 460,
+ "with_community_level": 394,
+ "mixed": 126,
+ "community_level_only": 268,
+ "taxa": 1517,
+ "credited_solely_by_the_rule": 1243
+ }
+ },
+ "delta": {
+ "records": 0,
+ "with_community_level": 1,
+ "mixed": 1,
+ "community_level_only": 0,
+ "taxa": 6,
+ "credited_solely_by_the_rule": 3
+ },
+ "interpretation": "The legacy survey counts all taxa in records with community-level nodes and members without pairwise representation; it does not apply explicit participant lists. Phormidium adds six members to that surveyed subset and three without pairwise representation (Wenzhouxiangella,Planctomycetota,Bacteroidota). The actual auditor credits only the two named carbon recipients and leaves Bacteroidota disconnected. No taxonomy or auditor-rule change."
+ },
+ "validation_expectation_correction": "Initial wrapper assertion incorrectly expected zero added surveyed taxa and one solely-by-rule member. The actual survey output was preserved and its implementation inspected: correct deltas are six and three, not six new canonical taxa or three newly connected taxa. Resumed from digest-verified successful gates; no production record or test bound was changed for this correction.",
+ "network_warning_count": 48,
+ "corpus": {
+ "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.",
+ "records": 460,
+ "nodes": 1435,
+ "edges": 598,
+ "records_without_nodes": 8,
+ "records_without_edges": 170,
+ "review_status_counts": {
+ "needs_research": 44,
+ "pending": 156,
+ "reviewed": 260
+ },
+ "structural_defects": []
+ },
+ "tested_file_sha256": {
+ "reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml": "944e494bb79234154a6a174cad642894bdbee78c8da22a7295305fa257c413ec",
+ "tests/test_causal_review_batch84.py": "c6a5a04cc824af468062bc9cf38d3e4bd2b19228b0f620a505e2e0bb64d6d770",
+ "tests/test_participating_taxa.py": "3ad9940c08fd620da13f232b1a3adde4ada1f598a3afd0c3baeeae4c571505f1",
+ "kb/communities/Phaeodactylum_Aliivibrio_Diel_Coculture.yaml": "c3b29dc71d33c53774afd1181099ef90ade79efb42a0e8ff0b55e9ea3bfffc10",
+ "kb/communities/Phenol_Carboxylation_Consortium.yaml": "a778ef6c883f5d6b7c80dc22be5611de4027d08d4f9d3b23e9a0d330f3f768b1",
+ "kb/communities/Phormidium_Alkaline_Consortium.yaml": "5bd6ec7333293e123e4b68212ddd64a6db8a8efd69f446912d154b260d79f2f5",
+ "kb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml": "e2eda8deadaaa36ce6ee96ed15871e1cc8c674fea990cd76c77bc74d3e13695a",
+ "reports/causal_graph_review/README.md": "112d5fd1dcf32f988c4b0066eda72e863969d2b8efe52edbc26cfa35e79c5854"
+ },
+ "status": "verified_assay_boundary_graph_review",
+ "full_corpus_snippet_counts": {
+ "records": 460,
+ "total": 8902,
+ "categories": {
+ "MATCH": 8767,
+ "RENDERING": 20,
+ "ASSEMBLED": 1,
+ "WEAK": 0,
+ "MISMATCH": 38,
+ "NOCONTENT": 76
+ }
+ },
+ "full_corpus_snippet_audit_caveat": "Full both-root recipe actually executed; exit0 is informational, not a clean-corpus certificate. Focused edited-record gates separately passed. Mismatch and missing-content labels are retrieval/matching flags, not findings of fabrication.",
+ "pre_research_baseline": {
+ "base_commit": "f29d9295102b2cac41dd1a8269ed340823a35d3b",
+ "base_tree": "067820ab7af0e2da2b9cf5348715f8213dc003a4",
+ "research_worktree": "/private/tmp/communitymech-causal-batch83",
+ "checks": [
+ {
+ "name": "rank",
+ "command": [
+ "just",
+ "rank-causal-graphs"
+ ],
+ "exit_code": 0,
+ "expected_exit_code": 0,
+ "log": "/private/tmp/communitymech-batch84/baseline-rank.log",
+ "sha256": "5f5bb05615c3fb7db372393b19f152ccbf8260221e5d07ea9031bf694656afbc",
+ "output_tail": "/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml\tCommunityMech:000337\tTropidoatractus magnetotacticus Magnetotactic Ciliate Tripartite Syntrophy\t3\t3\t0\t4\t2\t9\t\t0\t0\n450\t100.0\tkb/communities/Urine_Nitrification_SynCom.yaml\tCommunityMech:000117\tUrine Nitrification Synthetic Microbial Community\t5\t5\t0\t3\t2\t5\t\t0\t0\n451\t100.0\tkb/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml\tCommunityMech:000213\tVariovorax-Cryptococcus Vitamin Cross-Feeding Microcosm\t2\t2\t0\t3\t2\t4\t\t0\t0\n452\t100.0\tkb/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml\tCommunityMech:000328\tWaste-Sludge Electro-Fermentation Biofilm-Suspension Community\t5\t5\t0\t4\t2\t6\t\t0\t0\n453\t100.0\tkb/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.yaml\tCommunityMech:000098\tWatermelon Rhizosphere Fusarium-Protective SynCom8\t2\t2\t0\t3\t2\t7\t\t0\t0\n454\t100.0\tkb/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml\tCommunityMech:000255\tWetland Oxygen-Sulfate Greenhouse Gas Microcosm Community\t3\t3\t0\t3\t2\t6\t\t0\t0\n455\t100.0\tkb/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.yaml\tCommunityMech:000118\tWheat Straw Biogas Pretreatment SynCom\t4\t4\t0\t3\t2\t4\t\t0\t0\n456\t100.0\tkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml\tCommunityMech:000354\tYarrowia lipolytica Division-of-Labor Lipid Consortium\t2\t2\t0\t3\t2\t3\t\t0\t0\n457\t100.0\tkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml\tCommunityMech:000164\tYogurt Two-Species Starter Culture\t2\t2\t0\t4\t2\t9\t\t0\t0\n458\t100.0\tkb/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml\tCommunityMech:000210\tZymomonas-E. coli Exometabolomics-Designed Obligate Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n459\t100.0\tkb/communities/hCom2_Complex_Gut_Microbiome.yaml\tCommunityMech:000123\thCom2 Complex Gut Microbiome\t1\t1\t0\t3\t2\t3\t\t0\t0\n460\t100.0\tkb/communities/mCAFEs_Brachypodium_RCC.yaml\tCommunityMech:000078\tm-CAFEs Brachypodium Reduced Complexity Consortia\t10\t10\t0\t6\t2\t11\t\t0\t0\nPYTHONPATH=src uv run python scripts/rank_causal_graph_readiness.py \n"
+ },
+ {
+ "name": "just-network",
+ "command": [
+ "just",
+ "audit-network-json"
+ ],
+ "exit_code": 2,
+ "expected_exit_code": 2,
+ "log": "/private/tmp/communitymech-batch84/baseline-just-network.log",
+ "sha256": "8595db43420d3f0a01c57acd6ad733a531a72e962486d20b4e1c2840dda55bff",
+ "output_tail": "uv run communitymech audit-network --json\nerror: Failed to spawn: `communitymech`\n Caused by: No such file or directory (os error 2)\nerror: recipe `audit-network-json` failed on line 574 with exit code 2\n"
+ },
+ {
+ "name": "network",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-m",
+ "communitymech.cli",
+ "audit-network",
+ "--json"
+ ],
+ "exit_code": 1,
+ "expected_exit_code": 1,
+ "log": "/private/tmp/communitymech-batch84/baseline-network.log",
+ "sha256": "c4ff432a38a90ba8d231a4f632b4fefacb5bd830c2612cdd13de01b353c37f9f",
+ "output_tail": " \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n"
+ },
+ {
+ "name": "downstream",
+ "command": [
+ "rg",
+ "--no-ignore",
+ "--hidden",
+ "-n",
+ "downstream:",
+ "kb/communities",
+ "data/isolates",
+ "--glob",
+ "*.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_code": 0,
+ "log": "/private/tmp/communitymech-batch84/baseline-downstream.log",
+ "sha256": "4ffe9036997c9c06927a2114bc82bbd9f64bacf455edd52a988c23ef749f1f9b",
+ "output_tail": "tream:\nkb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml:198: downstream:\nkb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml:251: downstream:\nkb/communities/KBase_ORT_Workflow_Community_Model.yaml:186: downstream:\nkb/communities/KBase_ORT_Workflow_Community_Model.yaml:284: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:281: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:401: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:120: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:152: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:295: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:339: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:199: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:267: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:65: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:98: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:131: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:155: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:135: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:177: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:207: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:249: downstream:\nkb/communities/Dual_Bacillus_coagulans_Pseudomonas_putida_Lactic_Acid_Coculture.yaml:134: downstream:\nkb/communities/Dual_Bacillus_coagulans_Pseudomonas_putida_Lactic_Acid_Coculture.yaml:189: downstream:\nkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml:223: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:268: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:317: downstream:\n"
+ }
+ ],
+ "baseline_sha256": "22f218c44d34a71bee50ad6b2fbc26a1a6affe70d4f26d757a34d7910ff745e3"
+ },
+ "reference_validator_caveat": "Four full-record reference validators exit0. CLI Total checks counts issues, not executed checks.18graph quotations match primary/cache content;11match independent fresh full text and7match the existing cached phenol primary. Literal matching is not entailment or whole-record certification. Original921caches and non-graph blocks preserved, not globally recertified."
+}
diff --git a/tests/test_causal_review_batch84.py b/tests/test_causal_review_batch84.py
new file mode 100644
index 000000000..9f30b642c
--- /dev/null
+++ b/tests/test_causal_review_batch84.py
@@ -0,0 +1,146 @@
+"""Preserve observed carbon flow and syntrophy while bounding inferred mechanisms."""
+
+import hashlib
+from pathlib import Path
+
+import yaml
+
+ROOT = Path(__file__).resolve().parents[1]
+LEDGER = ROOT / "reports/causal_graph_review/decisions/20261007-four-records-batch84.yaml"
+
+
+def records():
+ ledger = yaml.safe_load(LEDGER.read_text())
+ rows = ledger["records"]
+ return ledger, rows, [yaml.safe_load((ROOT / r["path"]).read_text()) for r in rows]
+
+
+def test_diatom_attachment_survives_competition_qualification():
+ _, _, docs = records()
+ attachment, competition = docs[0]["ecological_interactions"]
+ assert "SEM showed" in attachment["description"]
+ assert competition["description"].startswith("HYPOTHESIZED -")
+ assert all(e["supports"] == "PARTIAL" for e in competition["evidence"])
+ assert "Medium-matched axenic HAC" in competition["description"]
+ assert all("downstream" not in n for n in docs[0]["ecological_interactions"])
+
+
+def test_diatom_physiological_and_transcriptomic_controls_are_distinct():
+ _, rows, docs = records()
+ discussion = docs[0]["discussions"][-1]["rationale"]
+ assert "Matched late physiological controls exist" in discussion
+ assert "no day-8 axenic transcriptome" in discussion
+ assert "model predictions, not measured" in discussion
+ assert rows[0]["status"] == "needs_research" and 1698 in rows[0]["issues"]
+
+
+def test_phenol_positive_perturbation_arrows_survive():
+ _, _, docs = records()
+ oxidation, sink, endpoint = docs[1]["ecological_interactions"]
+ assert "5 mM 2-BES blocked" in sink["description"]
+ assert "AQDS enabled acetate production without methane" in sink["description"]
+ assert oxidation["downstream"][0]["target"] == endpoint["name"]
+ assert {e["target"] for e in sink["downstream"]} == {oxidation["name"], endpoint["name"]}
+ assert all(not e["description"].startswith("HYPOTHESIZED") for e in sink["downstream"])
+
+
+def test_phenol_conversion_is_not_complete_mineralization_or_enzyme_proof():
+ _, _, docs = records()
+ oxidation, _, endpoint = docs[1]["ecological_interactions"]
+ assert "enzymes and mechanism unresolved" in oxidation["description"]
+ assert oxidation["evidence"][-1]["supports"] == "PARTIAL"
+ assert "Conversion" in endpoint["name"] and "Mineralization" not in endpoint["name"]
+ assert "residual substrate at 100 days" in endpoint["description"]
+ assert "formate or other carriers" in docs[1]["ecological_interactions"][1]["description"]
+
+
+def test_phormidium_real_carbon_flow_has_explicit_major_participants():
+ _, _, docs = records()
+ fixation, carbon, _, _ = docs[2]["ecological_interactions"]
+ assert fixation["downstream"][0]["target"] == carbon["name"]
+ assert {t["term"]["id"] for t in carbon["participating_taxa"]} == {
+ "NCBITaxon:1807132",
+ "NCBITaxon:1979961",
+ "NCBITaxon:203682",
+ }
+ assert "Protein/SIP supports" in carbon["description"]
+ assert "metabolites" not in carbon and "downstream" not in carbon
+ assert "interaction_type" not in fixation
+
+
+def test_phormidium_gene_capacity_does_not_prove_reciprocal_services():
+ _, _, docs = records()
+ nodes = docs[2]["ecological_interactions"]
+ assert len(nodes) == 4
+ assert all(n.get("interaction_type") != "MUTUALISM" for n in nodes)
+ polymers, alpha = nodes[2:]
+ assert polymers["source_taxon"]["term"]["id"] == "NCBITaxon:1807132"
+ assert polymers["target_taxon"]["term"]["id"] == "NCBITaxon:74201"
+ assert polymers["evidence"][0]["evidence_source"] == "COMPUTATIONAL"
+ assert "lower-peptide" in alpha["description"]
+ assert all(
+ p["term"]["id"] != "GO:0033013" for n in nodes for p in n.get("biological_processes", [])
+ )
+
+
+def test_phosphite_syntrophy_survives_intracellular_model_qualification():
+ _, _, docs = records()
+ donor, transfer, sink = docs[3]["ecological_interactions"]
+ assert donor["evidence"][1]["supports"] == "PARTIAL"
+ assert "not direct enzyme perturbation" in donor["description"]
+ assert "inhibited by BES and by excess H2" in transfer["description"]
+ assert "G11 in BES" in transfer["description"]
+ assert "remains exergonic" in transfer["description"]
+ assert donor["downstream"][0]["target"] == transfer["name"]
+ assert transfer["downstream"][0]["target"] == sink["name"]
+
+
+def test_phosphite_sink_actor_and_enrichment_boundaries():
+ _, rows, docs = records()
+ sink = docs[3]["ecological_interactions"][-1]
+ assert sink["source_taxon"]["term"]["id"] == "NCBITaxon:45989"
+ assert sink["target_taxon"]["term"]["id"] == "NCBITaxon:1918507"
+ assert "not a demonstrated two-member pure culture" in sink["description"]
+ assert "seven taxa" in docs[3]["discussions"][-1]["rationale"]
+ assert "downstream" not in sink
+ assert rows[3]["status"] == "needs_research" and 1700 in rows[3]["issues"]
+
+
+def test_every_original_node_arrow_and_anchor_has_a_disposition():
+ ledger, rows, docs = records()
+ assert sum(len(r["node_decisions"]) for r in rows) == 12
+ assert sum(len(r["removed_node_decisions"]) for r in rows) == 3
+ assert sum(len(r["edges_before"]) for r in rows) == 8
+ assert sum(len(r["edges_after"]) for r in rows) == 6
+ assert sum(len(r["removed_edge_decisions"]) for r in rows) == 2
+ assert ledger["primary_graph_snippet_count"] == 18
+ assert ledger["independent_fresh_primary_graph_snippet_count"] == 11
+ for row, doc in zip(rows, docs, strict=True):
+ names = {n["name"] for n in doc["ecological_interactions"]}
+ assert names == {n["node"] for n in row["node_decisions"]}
+ assert all(
+ e["target"] in names
+ for n in doc["ecological_interactions"]
+ for e in n.get("downstream", [])
+ )
+ assert all(
+ a.split("#", 1)[1] in names
+ for d in doc["discussions"]
+ for a in d["attaches_to"]
+ if a.startswith("ecological_interactions#")
+ )
+
+
+def test_history_sources_and_pending_lifecycle_are_explicit():
+ ledger, rows, docs = records()
+ assert ledger["independent_approval"] is False
+ assert ledger["issues"] == [1694, 1695, 1696, 1697]
+ assert ledger["unresolved_research_issues"] == [1698, 1699, 1700]
+ assert ledger["unresolved_non_graph_issues"] == [1701]
+ assert ledger["cache_changes"] == []
+ assert ledger["edison"]["provider_submissions"] == ledger["edison"]["credits_spent"] == 0
+ assert [d["query_chars"] for d in ledger["edison"]["dry_runs"]] == [11324, 18291, 8897]
+ for row, doc in zip(rows, docs, strict=True):
+ assert row["curation_events_added"] == len(row["history_files"]) == 1
+ assert doc["curation_history"][-1]["llm_assisted"] is True
+ assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"]
diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py
index b64783608..024dc80b0 100644
--- a/tests/test_participating_taxa.py
+++ b/tests/test_participating_taxa.py
@@ -361,6 +361,7 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example):
"Pepper_Phytophthora_SynCom5.yaml",
"Pelotomaculum_Methanocella_Propionate_RNASeq_Coculture.yaml",
"Phaeodactylum_Aliivibrio_Diel_Coculture.yaml",
+ "Phormidium_Alkaline_Consortium.yaml",
"Phenol_Carboxylation_Consortium.yaml",
"Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml",
"Prymnesium_Parvum_B12_Limited_SynCom.yaml",