From d45a7fdbfa63580b3ff59abd40d6656d376b79f8 Mon Sep 17 00:00:00 2001
From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com>
Date: Tue, 6 Oct 2026 03:02:35 -0700
Subject: [PATCH] Bound nursery, bioleaching and FOS graph evidence
---
...s_Nursery_FiveStrain_Inoculant_SynCom.html | 230 +++--
.../Ewaste_Bioleaching_Consortium.html | 145 +--
...obacillus_MinimalCore_GutLiver_SynCom.html | 152 +++-
.../2026-10-06T094746Z-codex-67bbd2.yaml | 28 +
.../2026-10-06T094747Z-codex-bd4c72.yaml | 28 +
.../2026-10-06T094747Z-codex-bb2e7e.yaml | 29 +
...s_Nursery_FiveStrain_Inoculant_SynCom.yaml | 206 +++--
.../Ewaste_Bioleaching_Consortium.yaml | 156 ++--
...obacillus_MinimalCore_GutLiver_SynCom.yaml | 195 +++-
.../adversarial-review-20261006-batch39.yaml | 173 ++++
.../20261006-three-records-batch39.yaml | 255 ++++++
reports/causal_graph_review/inventory.tsv | 6 +-
reports/causal_graph_review/summary.json | 6 +-
.../validation-20261006-batch39.json | 856 ++++++++++++++++++
tests/test_causal_review_batch39.py | 167 ++++
tests/test_participating_taxa.py | 1 +
16 files changed, 2319 insertions(+), 314 deletions(-)
create mode 100644 history/records/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom/2026-10-06T094746Z-codex-67bbd2.yaml
create mode 100644 history/records/Ewaste_Bioleaching_Consortium/2026-10-06T094747Z-codex-bd4c72.yaml
create mode 100644 history/records/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom/2026-10-06T094747Z-codex-bb2e7e.yaml
create mode 100644 reports/causal_graph_review/adversarial-review-20261006-batch39.yaml
create mode 100644 reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml
create mode 100644 reports/causal_graph_review/validation-20261006-batch39.json
create mode 100644 tests/test_causal_review_batch39.py
diff --git a/docs/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.html b/docs/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.html
index bb487ff83..24ac2da03 100644
--- a/docs/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.html
+++ b/docs/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.html
@@ -691,7 +691,7 @@
Ecological Interactions
Ecological interaction network for Eucalyptus Nursery Five-Strain Bacterial Inoculant Consortium
- Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (mutualism, colonization facilitation).
+ Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
@@ -699,13 +699,8 @@
Ecological Interactions
Mutualism
-
-
- Colonization facilitation
+ aria-hidden="true" data-symbol="symbolTriangle2"
+ data-color="#929caa"> Other
@@ -714,40 +709,37 @@ Ecological Interactions
-
The five-strain consortium was built from Eucalyptus root and rhizosphere isolates selected in previous work for phosphate solubilization, indolic-compound production, nifH presence, nitrogen cycling traits and rhizosphere colonization traits. That trait pool is the engineered community starting point for the nursery-scale root-endophyte and seedling-performance responses.
-
+
The five bacterial inoculant members were selected using prior phosphate-solubilization screens, with nifH detected and indolic compounds produced by some candidates. These prior traits do not demonstrate nitrogen fixation in the nursery, specific indole-3-acetic acid exchange or persistence of each inoculant. The participants name the inoculant, not every member of the native root microbiome.
+
Participating Taxa:
+ Bacillus subtilis,
-
Metabolites:
+ Paraburkholderia caribensis,
- phosphate
- (CHEBI:18367 ),
+ Methylobacterium tardum,
+
+ Paenibacillus sp. (putative novel species),
- indole-3-acetic acid
- (CHEBI:16411 )
+ Mesorhizobium sp. (putative novel species)
-
Biological Processes:
-
@@ -769,6 +761,19 @@
Evidence
+
+
+
+ "direct nitrogen fixation was not measured in this study"
+
+
+
@@ -776,28 +781,31 @@ Evidence
-
The five-strain inoculant changed 13-week Eucalyptus root endophytic community structure by Bray-Curtis nMDS and two-way PERMANOVA without a significant shift in richness or Shannon diversity. The source did not resolve this into a pairwise displacement or niche-partitioning mechanism, so this is curated as a measured community-level graph node.
-
+
At 13 weeks, inoculation changed root community structure by PERMANOVA without significantly changing richness or Shannon diversity. No genus or phylum showed robust differential abundance after ANCOM-BC-2 sensitivity analysis; reported Mesorhizobium enrichment and Ralstonia reduction are exploratory, not proof of inoculant persistence or disease suppression. Endpoint profiles of 30 A/B-category seedlings do not resolve strain-specific colonization through time. Participants identify inoculant plus host context, not an exhaustive root community.
+
Participating Taxa:
+ Bacillus subtilis,
+ Paraburkholderia caribensis,
+
+ Methylobacterium tardum,
+
+ Paenibacillus sp. (putative novel species),
+
+ Mesorhizobium sp. (putative novel species),
+
+ Eucalyptus (three clones)
+
+
-
Biological Processes:
-
@@ -819,6 +827,19 @@
Evidence
+
+
+
+ "No taxa were identified as robustly differentially abundant after ANCOM-BC-2 sensitivity analysis"
+
+
+
@@ -826,14 +847,28 @@ Evidence
-
Two of three Eucalyptus genotypes showed improved seedling quality after inoculation, and one showed mortality fall from 21.8% to 6.7%. The benefit is therefore conditional on host genotype rather than a uniform property of the consortium.
-
+
The nursery trial compared five-strain inoculation with a water control across three Eucalyptus genotypes. At 13 weeks, quality improvements were genotype-dependent: the reported nonviable/dead category fell from 21.8% to 6.7% for genotype Y, and genotype Z had improved quality. The operational dead category also included severe stem curvature greater than 45 degrees, so this is not exclusively literal mortality. Morphological responses were not uniformly positive across genotypes and traits. Host outcomes do not establish reciprocal bacterial fitness or a resolved microbial mediator.
+
Participating Taxa:
+
+ Bacillus subtilis,
+
+ Paraburkholderia caribensis,
+
+ Methylobacterium tardum,
+
+ Paenibacillus sp. (putative novel species),
+
+ Mesorhizobium sp. (putative novel species),
+
+ Eucalyptus (three clones)
+
+
+
@@ -869,6 +904,19 @@
Evidence
+
+
+
+ "Seedlings exhibiting severe stem curvature (defined as a deviation greater than 45° from the vertical axis) or found dead during the evaluation period were counted as dead"
+
+
+
@@ -878,6 +926,25 @@ Evidence
+
+ Knowledge gaps & discussions (1)
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ Which inoculant functions mediate the genotype-dependent nursery response?
+
+
Prior trait screens do not establish nursery nitrogen fixation or specific IAA flux. Root compositional change does not demonstrate persistence of each inoculant; differential taxon trends were not robust after sensitivity analysis. Host quality is genotype-dependent and the dead category includes severe stem curvature. Preserve both workflow-arrow removals from 2026-10-02: none of these observations resolves a mediator linking traits, root composition and host outcome. The control received water; the trial does not isolate PBS-carrier effects. Canonical five-member inoculant and Eucalyptus host labels are preserved, including AMBIGUOUS Paenibacillus grounding. Non-graph fields are preserved, not certified.
+
+
Attaches to: ecological_interactions#Complementary Nitrogen-Phosphate Trait Pool, ecological_interactions#Root Endophytic Community Restructuring, ecological_interactions#Genotype-Dependent Improvement of Seedling Quality and Survival
+
+
+
+
+
+
+
@@ -1220,22 +1287,16 @@ Evidence
(function() {
var intId = "interaction:0";
- var intType = "COLONIZATION_FACILITATION";
+ var intType = "UNKNOWN";
var metabolites = [];
metabolites.push("phosphate");
- metabolites.push("indole-3-acetic acid");
-
var processes = [];
-
- processes.push("nitrogen fixation");
-
-
- var evidenceCount = 1;
+ var evidenceCount = 2;
nodes.push({
id: intId,
@@ -1250,20 +1311,35 @@ Evidence
+ var participantKeys = [
+
+ "Bacillus subtilis",
+
+ "Paraburkholderia caribensis",
+
+ "Methylobacterium tardum",
+
+ "Paenibacillus sp. (putative novel species)",
+
+ "Mesorhizobium sp. (putative novel species)"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
(function() {
var intId = "interaction:1";
- var intType = "COLONIZATION_FACILITATION";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
-
- processes.push("symbiotic process");
-
-
- var evidenceCount = 1;
+ var evidenceCount = 2;
nodes.push({
id: intId,
@@ -1278,11 +1354,32 @@ Evidence
+ var participantKeys = [
+
+ "Bacillus subtilis",
+
+ "Paraburkholderia caribensis",
+
+ "Methylobacterium tardum",
+
+ "Paenibacillus sp. (putative novel species)",
+
+ "Mesorhizobium sp. (putative novel species)",
+
+ "Eucalyptus (three clones)"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
(function() {
var intId = "interaction:2";
- var intType = "MUTUALISM";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
@@ -1291,7 +1388,7 @@ Evidence
processes.push("growth");
- var evidenceCount = 1;
+ var evidenceCount = 2;
nodes.push({
id: intId,
@@ -1306,6 +1403,27 @@ Evidence
+ var participantKeys = [
+
+ "Bacillus subtilis",
+
+ "Paraburkholderia caribensis",
+
+ "Methylobacterium tardum",
+
+ "Paenibacillus sp. (putative novel species)",
+
+ "Mesorhizobium sp. (putative novel species)",
+
+ "Eucalyptus (three clones)"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
diff --git a/docs/communities/Ewaste_Bioleaching_Consortium.html b/docs/communities/Ewaste_Bioleaching_Consortium.html
index f2a28ddd0..25685586a 100644
--- a/docs/communities/Ewaste_Bioleaching_Consortium.html
+++ b/docs/communities/Ewaste_Bioleaching_Consortium.html
@@ -572,7 +572,7 @@ Ecological Interactions
Ecological interaction network for E-waste Bioleaching Consortium
- Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (syntrophy, competition).
+ Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
@@ -580,13 +580,8 @@
Ecological Interactions
Syntrophy
-
-
- Competition
+ aria-hidden="true" data-symbol="symbolTriangle2"
+ data-color="#929caa"> Other
@@ -595,10 +590,8 @@ Ecological Interactions
-
The Leptospirillum ferriphilum-dominated FeOB culture oxidizes ferrous iron to ferric iron in acidic, PCB-enriched leachates. Its bio-oxidation supplies a ferric-iron-rich lixiviant for the PCB-bioleaching stirred-tank reactor, and repeated subculture selects for iron oxidation after exposure to increasing PCB leachate loads.
-
+
The Leptospirillum ferriphilum-dominated FeOB culture, with Sulfobacillus benefaciens as the other named member, regenerates ferric iron from ferrous iron in acidic PCB systems. Redox potential is used to infer iron oxidation; this is not an iron-transporter or carbon-fixation assay. Culture-level activity does not establish obligate syntrophy or resolve each member's contribution. Faster oxidation after subculture did not accelerate batch metal dissolution in this experiment.
@@ -627,23 +620,6 @@
Ferrous Iron Oxidation for Metal Dissolution
-
Biological Processes:
-
-
@@ -651,7 +627,7 @@
Ferrous Iron Oxidation for Metal Dissolution
→ Base Metal Exposure in PCB Leachate
-
Ferric-iron-rich lixiviant feeds the PCB bioleaching reactor that generates metal-rich leachates
+
Regenerated Fe(III) can oxidatively dissolve PCB metals and is reduced to Fe(II), exposing the culture to dissolved metals. This is an oxidant/substrate feedback, not a claim that faster biological regeneration increased the measured batch dissolution rate: initial ferric consumption and acidic dissolution dominated those batches.
@@ -687,6 +663,19 @@
Evidence
+
+
+
+ "FeOB uses the resulting Fe(II) as a source of energy to regenerate the ferric iron"
+
+
+
@@ -694,10 +683,8 @@ Evidence
-
Ferric iron generated by the FeOB culture was used to leach spent printed circuit boards, creating acidic PCB leachates containing elevated copper, iron, zinc, nickel, lead, cobalt, and other metals. The pre-adapted FeOB culture retained growth and iron oxidation in leachate representing up to 6% PCB content, linking the ferric-iron regeneration step to continued activity under mixed base-metal exposure.
-
+
Ferric reduction and acidic dissolution released metals from solid PCBs in the 2.2-L stirred-tank assays. The listed Cu, Zn and Ni concentrations belong to the 1% and 2% solid-PCB treatments, not the separate equivalent-leachate flask series. Metal dissolution supplies Fe(II) for microbial reoxidation while creating mixed-metal exposure. Dissolution reached its maximum after seven days regardless of subculture; the shorter iron-oxidation lag did not accelerate this batch endpoint. These are chemical/culture observations, not interspecies competition.
@@ -737,7 +724,7 @@
Base Metal Exposure in PCB Leachate
→ Ferrous Iron Oxidation for Metal Dissolution
-
FeOB subcultures from PCB leachate regenerate ferric iron after exposure to toxic metal mixtures
+
Oxidative metal dissolution reduces Fe(III) to Fe(II), replenishing the substrate that the FeOB culture can reoxidize. This chemically coupled return path is supported by the reaction scheme and the immediate redox drop after PCB addition, not merely by transferring a leachate to another subculture.
@@ -760,6 +747,45 @@ Evidence
+
+
+
+ "Leachates of 1% (w/v) PCBs reached a maximum of 2.6 g L–1 Cu, 30 mg L–1 Ni, and 303 mg L–1 Zn, whereas leachates of 2% (w/v) PCBs contained up to 4.2 g L–1 Cu, 52 mg L–1 Ni, and 543 mg L–1 Zn."
+
+
+
+
+
+
+ "indicating that Fe(III) was being reduced"
+
+
+
+
+
+
+ "maximum dissolution yield after 7 days as in the previous experiments, regardless of the subculture"
+
+
+
@@ -767,10 +793,8 @@ Evidence
-
Printed circuit boards contain toxic components (brominated flame retardants, epoxy resins, heavy metals, plasticizers) that inhibit acidophilic bacteria. PCB materials delay the pre-oxidation phase (lag before exponential iron oxidation) from 11 days at 1% PCB load to 18 days at 2% load. Above 8% PCB concentration, no bacterial growth occurs. The consortium adapts to PCB toxicity through successive subculturing, which reduces the lag phase by up to 2.6-fold under batch conditions. Adaptation mechanisms may include upregulation of detoxification genes, altered membrane composition, or selection of resistant subpopulations. This demonstrates microbial resilience and evolutionary responses to anthropogenic waste toxicity.
-
+
PCB exposure delayed culture iron oxidation. In solid-PCB stirred tanks, the adapted culture had pre-oxidation lags of 11 days at 1% and 18 days at 2%. Serial 2% subcultures shortened the lag from 18 to 13 to 7 days; after a ten-day storage pause it lengthened to 11 days before shortening again. Separately, no growth or microbial iron-oxidation activity was observed at 8% equivalent chemical leachate during the 25-day flask assay; this is not a universal above-8% threshold. Operational adaptation does not identify genetic resistance, altered membranes or a specific toxic compound. Planktonic counts omit attached biomass and are affected by solids.
@@ -785,14 +809,6 @@
PCB Toxicity and Microbial Adaptation
-
Metabolites:
-
- organic molecular entity
- (CHEBI:50860 )
-
-
-
Biological Processes:
@@ -813,7 +829,7 @@
PCB Toxicity and Microbial Adaptation
→ Ferrous Iron Oxidation for Metal Dissolution
-
PCB toxicity delays iron oxidation, whereas successive subculturing restores faster FeOB activity
+
PCB exposure delays iron-oxidizing activity, while serial transfer under the tested 2% solid-PCB conditions shortens the pre-oxidation lag. This operational history changes the onset of culture activity; the molecular adaptation mechanism is unresolved and the faster onset did not accelerate batch metal dissolution.
@@ -871,6 +887,25 @@ Evidence
+
+ Knowledge gaps & discussions (1)
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ Which toxic components and physiological changes determine the iron-oxidation lag?
+
+
Retain the FeIII/FeII chemical-biological feedback rather than a subculture-workflow cycle. Retain the operational adaptation-to-oxidation link without claiming measured genetic detoxification, membrane changes or obligatory syntrophy. In these batches metal dissolution reached maximum after seven days regardless of subculture, despite faster iron oxidation. Distinguish equivalent-leachate flask toxicity from solid-PCB stirred-tank concentrations and continuous-startup results. Non-graph acidity, assay-regime and organism-role claims remain #1448; preserve the prior #596 vessel evidence correction. No new nodes or arrows are required.
+
+
Attaches to: ecological_interactions#Ferrous Iron Oxidation for Metal Dissolution, ecological_interactions#Base Metal Exposure in PCB Leachate, ecological_interactions#PCB Toxicity and Microbial Adaptation
+
+
+
+
+
+
+
@@ -1215,7 +1250,7 @@ Evidence
(function() {
var intId = "interaction:0";
- var intType = "SYNTROPHY";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -1226,13 +1261,7 @@ Evidence
var processes = [];
-
- processes.push("iron ion transport");
-
- processes.push("carbon fixation");
-
-
- var evidenceCount = 2;
+ var evidenceCount = 3;
nodes.push({
id: intId,
@@ -1264,7 +1293,7 @@ Evidence
(function() {
var intId = "interaction:1";
- var intType = "COMPETITION";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -1277,7 +1306,7 @@ Evidence
var processes = [];
- var evidenceCount = 1;
+ var evidenceCount = 4;
nodes.push({
id: intId,
@@ -1309,13 +1338,9 @@ Evidence
(function() {
var intId = "interaction:2";
- var intType = "COMPETITION";
+ var intType = "UNKNOWN";
var metabolites = [];
-
- metabolites.push("organic molecular entity");
-
-
var processes = [];
diff --git a/docs/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.html b/docs/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.html
index 764ca52c5..f01c1c213 100644
--- a/docs/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.html
+++ b/docs/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.html
@@ -760,25 +760,32 @@ Ecological Interactions
- In 2% FOS DP ~ 10 whole-community cultures, L. plantarum PBS067, L. reuteri PBS072, and E. coli ATCC 25922 increased to about 10^8 bacterial counts/mL after 48 h, while B. cellulosilyticus CL02T12C19 and F. plautii 1_3_50AFAA reached about 10^7 bacterial counts/mL. L. acidophilus PBS066 was a tracked member, but its lower growth was consistent with the absence of scrB expression in this condition.
+ After 48 h in the seven-strain community with 2% FOS, species-specific DNA-qPCR estimated about 10^8 bacterial counts/mL for L. plantarum, L. reuteri and E. coli and about 10^7 for B. cellulosilyticus and F. plautii. Calibration used strain-specific genomic-DNA standards, not CFU viability or direct cell counting. Low L. acidophilus abundance and absent scrB expression are associated observations, not selective gene causality. The 1% glucose reference is not carbon-mass matched to 2% FOS.
+ Participating Taxa:
+ Lactiplantibacillus plantarum PBS067,
+ Lactobacillus acidophilus PBS066,
+
+ Limosilactobacillus reuteri PBS072,
+
+ Bacteroides cellulosilyticus CL02T12C19,
+
+ Clostridium symbiosum WAL-14673,
+
+ Flavonifractor plautii 1_3_50AFAA,
+
+ Escherichia coli ATCC 25922
+
+
- Biological Processes:
-
-
- carbohydrate metabolic process
- (GO:0005975 )
-
-
@@ -813,6 +820,19 @@ Evidence
+
+
+
+ "calibration curves from serial dilutions of strain-specific genomic DNA"
+
+
+
@@ -821,7 +841,7 @@ Evidence
- Lactobacillus FOS-utilization genes were not expressed as a fixed monoculture program: L. reuteri sacK1 remained active in the probiotic consortium at 48 h, while L. plantarum sacA/sacK1 were expressed earlier in the consortium and at 48 h in the seven-strain reconstructed whole community.
+ Homology identified putative FOS-utilization genes in the three probiotic strains. RNA/cDNA-qPCR showed community- and time-associated expression differences, including L. plantarum sacA/sacK1 and L. reuteri fructokinase; whole-community 48-h expression excluded L. acidophilus scrB. Expression normalized to species 16S and glucose reference does not establish necessary enzyme activity, inability to use FOS or partner-resolved cross-feeding. Participants name the assayed probiotic members, not every member of the seven-strain culture.
@@ -864,7 +884,7 @@ Evidence
PMID:42781020
- - SUPPORT (IN_VITRO)
+ - PARTIAL (IN_VITRO)
"the differential expression of LP genes (sacA and sacK1) between the monoculture and the probiotic consortium at 48 h suggests that interspecies interactions modulate the transcriptional regulation of FOS utilization pathways"
@@ -892,10 +912,28 @@ Evidence
- FOS-grown cultures of the probiotic formulation, minimal core, and reconstructed whole community produced distinct GC-MS carboxylic-acid profiles; the whole community showed a broader profile than either subcommunity alone.
+ Qualitative GC-MS of derivatized culture extracts showed a broader carboxylic-acid profile for the reconstructed whole community. Figure 7C labels acetic acid, lactic acid and butanoic acid among other peaks; the propanoic-acid marker appears in minimal-core panel B, not separately in panel C. This does not establish physiological absence of propionate from the whole community. Profiles do not measure absolute production, donor-resolved flux or the host-active compound, and glucose-grown profiles were similar. Canonical acetate/butyrate terms represent the reported acid identities, not measured ionic speciation.
+
+
+
+
+ Participating Taxa:
+
+ Lactiplantibacillus plantarum PBS067,
+
+ Lactobacillus acidophilus PBS066,
+
+ Limosilactobacillus reuteri PBS072,
+
+ Bacteroides cellulosilyticus CL02T12C19,
+ Clostridium symbiosum WAL-14673,
+ Flavonifractor plautii 1_3_50AFAA,
+ Escherichia coli ATCC 25922
+
+
@@ -909,10 +947,6 @@ Whole-community organic-acid profile broadening
(CHEBI:28358 ),
- propionic acid
- (CHEBI:30768 ),
-
butyrate
(CHEBI:17968 )
@@ -965,6 +999,19 @@ Evidence
+
+
+
+ "were qualitatively analyzed using a gas chromatograph"
+
+
+
@@ -975,7 +1022,7 @@ Evidence
- Knowledge gaps & discussions (1)
+ Knowledge gaps & discussions (2)
@@ -1021,6 +1068,21 @@
+
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ How should the extract pretreatment response be represented without inventing its active mediator?
+
+
The existing nodes report DNA-qPCR abundance, relative transcript levels and qualitative chemical profiles, not partner-resolved cross-feeding. Actual Figure 7 does not separately label propionate in whole-community panel C; do not infer its biological absence. The source also reports 0.1 mg/mL extract pretreatment of HepG2 for 24 h, removal, then 0.25 mM palmitate for 24 h, with lipid and Cd36 mRNA responses. This missing graph endpoint remains #1450 pending a separately authorized Edison expansion and source review; do not claim graph completeness. Active compounds and Cd36 mediation are unresolved. Preserve the earlier active-metabolite discussion and #1206 role correction. Non-graph pretreatment and readout wording remain #1449.
+
+
Attaches to: ecological_interactions#FOS-driven whole-community strain modulation, ecological_interactions#Community-context Lactobacillus FOS-pathway expression, ecological_interactions#Whole-community organic-acid profile broadening
+
+
+
+
@@ -1581,11 +1643,7 @@ Evidence
var processes = [];
-
- processes.push("carbohydrate metabolic process");
-
-
- var evidenceCount = 2;
+ var evidenceCount = 3;
nodes.push({
id: intId,
@@ -1600,6 +1658,29 @@ Evidence
+ var participantKeys = [
+
+ "Lactiplantibacillus plantarum PBS067",
+
+ "Lactobacillus acidophilus PBS066",
+
+ "Limosilactobacillus reuteri PBS072",
+
+ "Bacteroides cellulosilyticus CL02T12C19",
+
+ "Clostridium symbiosum WAL-14673",
+
+ "Flavonifractor plautii 1_3_50AFAA",
+
+ "Escherichia coli ATCC 25922"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
(function() {
@@ -1655,8 +1736,6 @@ Evidence
metabolites.push("lactic acid");
- metabolites.push("propionic acid");
-
metabolites.push("butyrate");
@@ -1666,7 +1745,7 @@ Evidence
processes.push("fermentation");
- var evidenceCount = 2;
+ var evidenceCount = 3;
nodes.push({
id: intId,
@@ -1681,6 +1760,29 @@ Evidence
+ var participantKeys = [
+
+ "Lactiplantibacillus plantarum PBS067",
+
+ "Lactobacillus acidophilus PBS066",
+
+ "Limosilactobacillus reuteri PBS072",
+
+ "Bacteroides cellulosilyticus CL02T12C19",
+
+ "Clostridium symbiosum WAL-14673",
+
+ "Flavonifractor plautii 1_3_50AFAA",
+
+ "Escherichia coli ATCC 25922"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
diff --git a/history/records/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom/2026-10-06T094746Z-codex-67bbd2.yaml b/history/records/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom/2026-10-06T094746Z-codex-67bbd2.yaml
new file mode 100644
index 000000000..eee4b1e70
--- /dev/null
+++ b/history/records/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom/2026-10-06T094746Z-codex-67bbd2.yaml
@@ -0,0 +1,28 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml
+ slug: Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom
+session:
+ id: 2026-10-06T094746Z-codex-67bbd2
+ timestamp: '2026-10-06T09:47:46Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1445
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Retain prior inoculant trait pool without nursery nitrogen-fixation, specific IAA
+ exchange or colonization facilitation.; Retain root compositional endpoint without robust
+ taxon-specific displacement or strain persistence.; Retain genotype-dependent operational
+ seedling-quality outcomes without reciprocal microbial fitness.
+ details: 'Nine existing nodes and three arrows retained. FOS host-response expansion remains
+ #1450. reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml'
diff --git a/history/records/Ewaste_Bioleaching_Consortium/2026-10-06T094747Z-codex-bd4c72.yaml b/history/records/Ewaste_Bioleaching_Consortium/2026-10-06T094747Z-codex-bd4c72.yaml
new file mode 100644
index 000000000..2678e86cb
--- /dev/null
+++ b/history/records/Ewaste_Bioleaching_Consortium/2026-10-06T094747Z-codex-bd4c72.yaml
@@ -0,0 +1,28 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Ewaste_Bioleaching_Consortium.yaml
+ slug: Ewaste_Bioleaching_Consortium
+session:
+ id: 2026-10-06T094747Z-codex-bd4c72
+ timestamp: '2026-10-06T09:47:47Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1446
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Retain culture iron oxidation without syntrophy or inappropriate transport/carbon-fixation
+ annotations.; Retain actual ferric/ferrous feedback with assay-specific metal concentrations
+ and no faster-dissolution claim.; Retain operational adaptation and its oxidation-lag
+ effect without a universal threshold or resolved genetic mechanism.
+ details: 'Nine existing nodes and three arrows retained. FOS host-response expansion remains
+ #1450. reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml'
diff --git a/history/records/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom/2026-10-06T094747Z-codex-bb2e7e.yaml b/history/records/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom/2026-10-06T094747Z-codex-bb2e7e.yaml
new file mode 100644
index 000000000..fe1dff658
--- /dev/null
+++ b/history/records/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom/2026-10-06T094747Z-codex-bb2e7e.yaml
@@ -0,0 +1,29 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml
+ slug: FOS_Lactobacillus_MinimalCore_GutLiver_SynCom
+session:
+ id: 2026-10-06T094747Z-codex-bb2e7e
+ timestamp: '2026-10-06T09:47:47Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1447
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Retain DNA-qPCR abundance estimates without viability, matched-carbon or selective
+ scrB causality claims.; Retain context-associated transcription without proved transfer
+ or necessary enzyme activity.; Retain qualitative whole-community acid profile and remove
+ the unsupported panel-specific propionate assignment; host-response expansion remains
+ pending.
+ details: 'Nine existing nodes and three arrows retained. FOS host-response expansion remains
+ #1450. reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml'
diff --git a/kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml b/kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml
index fe0d9cac8..67517e5ec 100644
--- a/kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml
+++ b/kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml
@@ -204,67 +204,106 @@ taxonomy:
explanation: Names the host and the nursery field setting in which the consortium was assessed.
ecological_interactions:
- name: Complementary Nitrogen-Phosphate Trait Pool
- description: >
- The five-strain consortium was built from Eucalyptus root and rhizosphere isolates selected in
- previous work for phosphate solubilization, indolic-compound production, nifH presence, nitrogen
- cycling traits and rhizosphere colonization traits. That trait pool is the engineered community
- starting point for the nursery-scale root-endophyte and seedling-performance responses.
- interaction_type: COLONIZATION_FACILITATION
+ description: The five bacterial inoculant members were selected using prior phosphate-solubilization screens,
+ with nifH detected and indolic compounds produced by some candidates. These prior traits do not demonstrate
+ nitrogen fixation in the nursery, specific indole-3-acetic acid exchange or persistence of each inoculant. The
+ participants name the inoculant, not every member of the native root microbiome.
scope: COMMUNITY_LEVEL
metabolites:
- preferred_term: phosphate
term:
id: CHEBI:18367
label: phosphate(3-)
- notes: Phosphate solubilization was a primary trait used when selecting members of the SynCom.
- - preferred_term: indole-3-acetic acid
- term:
- id: CHEBI:16411
- label: indole-3-acetic acid
- notes: Indolic-compound production was detected in some candidate strains in previous studies.
- biological_processes:
- - preferred_term: nitrogen fixation
- term:
- id: GO:0009399
- label: nitrogen fixation
+ notes: Prior phosphate-solubilization screening, not measured phosphate transfer or nursery flux.
evidence:
- reference: PMID:42050290
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: These bacteria were selected for their strong performance in phosphate solubilization
- tests, and some exhibited the presence of the nifH gene (indicating potential nitrogen-fixing
- capacity) as well as the production of indolic compounds
- explanation: >
- Names phosphate solubilization, nifH presence and indolic-compound production as previously
- characterized plant-growth-promoting traits of the five-strain Eucalyptus consortium.
+ snippet: These bacteria were selected for their strong performance in phosphate solubilization tests, and some
+ exhibited the presence of the nifH gene (indicating potential nitrogen-fixing capacity) as well as the production
+ of indolic compounds
+ explanation: Reports prior screening traits; nifH indicates potential, not measured nursery nitrogen fixation,
+ and indolic compounds do not uniquely identify IAA.
+ - reference: PMID:42050290
+ supports: SUPPORT
+ evidence_source: IN_VIVO
+ snippet: direct nitrogen fixation was not measured in this study
+ explanation: The source explicitly limits the functional interpretation.
+ participating_taxa:
+ - preferred_term: Bacillus subtilis
+ term:
+ id: NCBITaxon:1423
+ label: Bacillus subtilis
+ - preferred_term: Paraburkholderia caribensis
+ term:
+ id: NCBITaxon:75105
+ label: Paraburkholderia caribensis
+ - preferred_term: Methylobacterium tardum
+ term:
+ id: NCBITaxon:374432
+ label: Methylobacterium tardum
+ - preferred_term: Paenibacillus sp. (putative novel species)
+ term:
+ id: NCBITaxon:44249
+ label: Paenibacillus
+ - preferred_term: Mesorhizobium sp. (putative novel species)
+ term:
+ id: NCBITaxon:68287
+ label: Mesorhizobium
- name: Root Endophytic Community Restructuring
- description: >
- The five-strain inoculant changed 13-week Eucalyptus root endophytic community structure by
- Bray-Curtis nMDS and two-way PERMANOVA without a significant shift in richness or Shannon
- diversity. The source did not resolve this into a pairwise displacement or niche-partitioning
- mechanism, so this is curated as a measured community-level graph node.
- interaction_type: COLONIZATION_FACILITATION
+ description: At 13 weeks, inoculation changed root community structure by PERMANOVA without significantly changing
+ richness or Shannon diversity. No genus or phylum showed robust differential abundance after ANCOM-BC-2 sensitivity
+ analysis; reported Mesorhizobium enrichment and Ralstonia reduction are exploratory, not proof of inoculant
+ persistence or disease suppression. Endpoint profiles of 30 A/B-category seedlings do not resolve strain-specific
+ colonization through time. Participants identify inoculant plus host context, not an exhaustive root community.
scope: COMMUNITY_LEVEL
- biological_processes:
- - preferred_term: symbiotic process
- term:
- id: GO:0044403
- label: biological process involved in symbiotic interaction
evidence:
- reference: PMID:42050290
supports: SUPPORT
evidence_source: IN_VIVO
- snippet: While inoculation did not significantly affect bacterial richness and diversity, it
- altered the root microbial community structure
- explanation: >
- States the compositional shift and the absence of a diversity change, which together define
- the measured community-level effect of introducing the inoculant.
+ snippet: While inoculation did not significantly affect bacterial richness and diversity, it altered the root
+ microbial community structure
+ explanation: 'States the compositional shift and the absence of a diversity change, which together define the
+ measured community-level effect of introducing the inoculant.
+
+ '
+ - reference: PMID:42050290
+ supports: SUPPORT
+ evidence_source: COMPUTATIONAL
+ snippet: No taxa were identified as robustly differentially abundant after ANCOM-BC-2 sensitivity analysis
+ explanation: Limits interpretation of the plotted taxon-level trends.
+ participating_taxa:
+ - preferred_term: Bacillus subtilis
+ term:
+ id: NCBITaxon:1423
+ label: Bacillus subtilis
+ - preferred_term: Paraburkholderia caribensis
+ term:
+ id: NCBITaxon:75105
+ label: Paraburkholderia caribensis
+ - preferred_term: Methylobacterium tardum
+ term:
+ id: NCBITaxon:374432
+ label: Methylobacterium tardum
+ - preferred_term: Paenibacillus sp. (putative novel species)
+ term:
+ id: NCBITaxon:44249
+ label: Paenibacillus
+ - preferred_term: Mesorhizobium sp. (putative novel species)
+ term:
+ id: NCBITaxon:68287
+ label: Mesorhizobium
+ - preferred_term: Eucalyptus (three clones)
+ term:
+ id: NCBITaxon:3932
+ label: Eucalyptus
- name: Genotype-Dependent Improvement of Seedling Quality and Survival
- description: >
- Two of three Eucalyptus genotypes showed improved seedling quality after inoculation, and one
- showed mortality fall from 21.8% to 6.7%. The benefit is therefore conditional on host genotype
- rather than a uniform property of the consortium.
- interaction_type: MUTUALISM
+ description: 'The nursery trial compared five-strain inoculation with a water control across three Eucalyptus
+ genotypes. At 13 weeks, quality improvements were genotype-dependent: the reported nonviable/dead category fell
+ from 21.8% to 6.7% for genotype Y, and genotype Z had improved quality. The operational dead category also included
+ severe stem curvature greater than 45 degrees, so this is not exclusively literal mortality. Morphological responses
+ were not uniformly positive across genotypes and traits. Host outcomes do not establish reciprocal bacterial
+ fitness or a resolved microbial mediator.'
scope: COMMUNITY_LEVEL
biological_processes:
- preferred_term: growth
@@ -275,12 +314,42 @@ ecological_interactions:
- reference: PMID:42050290
supports: SUPPORT
evidence_source: IN_VIVO
- snippet: Two genotypes exhibited improved seedling quality, with a higher proportion classified
- into superior categories, and one genotype showed a significant reduction in mortality (from
- 21.8% to 6.7%)
- explanation: >
- Supports the host-genotype-dependent seedling quality and survival
- response to five-strain inoculation.
+ snippet: Two genotypes exhibited improved seedling quality, with a higher proportion classified into superior
+ categories, and one genotype showed a significant reduction in mortality (from 21.8% to 6.7%)
+ explanation: Supports the reported host response; the main Methods operational definition includes severely
+ curved seedlings in the dead category.
+ - reference: PMID:42050290
+ supports: SUPPORT
+ evidence_source: IN_VIVO
+ snippet: Seedlings exhibiting severe stem curvature (defined as a deviation greater than 45° from the vertical
+ axis) or found dead during the evaluation period were counted as dead
+ explanation: The full operational definition includes severely curved seedlings as well as dead seedlings; the
+ reported category is broader than literal mortality.
+ participating_taxa:
+ - preferred_term: Bacillus subtilis
+ term:
+ id: NCBITaxon:1423
+ label: Bacillus subtilis
+ - preferred_term: Paraburkholderia caribensis
+ term:
+ id: NCBITaxon:75105
+ label: Paraburkholderia caribensis
+ - preferred_term: Methylobacterium tardum
+ term:
+ id: NCBITaxon:374432
+ label: Methylobacterium tardum
+ - preferred_term: Paenibacillus sp. (putative novel species)
+ term:
+ id: NCBITaxon:44249
+ label: Paenibacillus
+ - preferred_term: Mesorhizobium sp. (putative novel species)
+ term:
+ id: NCBITaxon:68287
+ label: Mesorhizobium
+ - preferred_term: Eucalyptus (three clones)
+ term:
+ id: NCBITaxon:3932
+ label: Eucalyptus
growth_media:
- name: Phytate Low liquid medium, strain preculture
composition:
@@ -343,10 +412,35 @@ curation_history:
- timestamp: '2026-10-02T05:49:32Z'
curator: codex
action: PRUNE_CAUSAL_GRAPH_WORKFLOW_EDGES
- changes: >
- Removed two downstream edges from the complementary
- nitrogen-phosphate-trait pool to the root-endophytic community and
- genotype-dependent seedling response nodes because the edge descriptions
- linked the selected inoculant to later nursery measurements rather than to a
- resolved ecological mechanism.
+ changes: 'Removed two downstream edges from the complementary nitrogen-phosphate-trait pool to the root-endophytic
+ community and genotype-dependent seedling response nodes because the edge descriptions linked the selected inoculant
+ to later nursery measurements rather than to a resolved ecological mechanism.
+
+ '
+ llm_assisted: true
+- timestamp: '2026-10-06T09:47:45Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Retain prior inoculant trait pool without nursery nitrogen-fixation, specific IAA exchange or colonization
+ facilitation.; Retain root compositional endpoint without robust taxon-specific displacement or strain persistence.;
+ Retain genotype-dependent operational seedling-quality outcomes without reciprocal microbial fitness. Issue
+ #1445; reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml'
llm_assisted: true
+discussions:
+- discussion_id: eucalyptus_nursery_trait_expression_and_host_mediation
+ prompt: Which inoculant functions mediate the genotype-dependent nursery response?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Complementary Nitrogen-Phosphate Trait Pool
+ - ecological_interactions#Root Endophytic Community Restructuring
+ - ecological_interactions#Genotype-Dependent Improvement of Seedling Quality and Survival
+ rationale: 'Prior trait screens do not establish nursery nitrogen fixation or specific IAA flux. Root compositional
+ change does not demonstrate persistence of each inoculant; differential taxon trends were not robust after sensitivity
+ analysis. Host quality is genotype-dependent and the dead category includes severe stem curvature. Preserve
+ both workflow-arrow removals from 2026-10-02: none of these observations resolves a mediator linking traits,
+ root composition and host outcome. The control received water; the trial does not isolate PBS-carrier effects.
+ Canonical five-member inoculant and Eucalyptus host labels are preserved, including AMBIGUOUS Paenibacillus
+ grounding. Non-graph fields are preserved, not certified.'
+ posed_by: codex
+ posed_date: '2026-10-06'
diff --git a/kb/communities/Ewaste_Bioleaching_Consortium.yaml b/kb/communities/Ewaste_Bioleaching_Consortium.yaml
index a847ce06c..a5dad654b 100644
--- a/kb/communities/Ewaste_Bioleaching_Consortium.yaml
+++ b/kb/communities/Ewaste_Bioleaching_Consortium.yaml
@@ -122,13 +122,11 @@ taxonomy:
explanation: Documents Sulfobacillus benefaciens as the other named member of the FeOB culture
ecological_interactions:
- name: Ferrous Iron Oxidation for Metal Dissolution
- description: 'The Leptospirillum ferriphilum-dominated FeOB culture oxidizes ferrous iron to ferric
- iron in acidic, PCB-enriched leachates. Its bio-oxidation supplies a ferric-iron-rich lixiviant for
- the PCB-bioleaching stirred-tank reactor, and repeated subculture selects for iron oxidation after
- exposure to increasing PCB leachate loads.
-
- '
- interaction_type: SYNTROPHY
+ description: The Leptospirillum ferriphilum-dominated FeOB culture, with Sulfobacillus benefaciens as the other
+ named member, regenerates ferric iron from ferrous iron in acidic PCB systems. Redox potential is used to infer
+ iron oxidation; this is not an iron-transporter or carbon-fixation assay. Culture-level activity does not establish
+ obligate syntrophy or resolve each member's contribution. Faster oxidation after subculture did not accelerate
+ batch metal dissolution in this experiment.
scope: COMMUNITY_LEVEL
participating_taxa:
- preferred_term: Leptospirillum ferriphilum
@@ -150,42 +148,37 @@ ecological_interactions:
id: CHEBI:29034
label: iron(3+)
concentration: Generated oxidant for metal dissolution
- biological_processes:
- - preferred_term: iron ion transport
- term:
- id: GO:0006826
- label: iron ion transport
- - preferred_term: carbon fixation
- term:
- id: GO:0015977
- label: carbon fixation
downstream:
- target: Base Metal Exposure in PCB Leachate
- description: Ferric-iron-rich lixiviant feeds the PCB bioleaching reactor that generates metal-rich
- leachates
+ description: 'Regenerated Fe(III) can oxidatively dissolve PCB metals and is reduced to Fe(II), exposing the
+ culture to dissolved metals. This is an oxidant/substrate feedback, not a claim that faster biological regeneration
+ increased the measured batch dissolution rate: initial ferric consumption and acidic dissolution dominated
+ those batches.'
evidence:
- reference: doi:10.3389/fmicb.2021.669738
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: This study aimed to investigate the capacity of an acidophilic iron-oxidizing culture, mainly
- composed of Leptospirillum ferriphilum, to oxidize iron in PCB-enriched environments
+ snippet: This study aimed to investigate the capacity of an acidophilic iron-oxidizing culture, mainly composed
+ of Leptospirillum ferriphilum, to oxidize iron in PCB-enriched environments
explanation: Supports iron oxidation by the L. ferriphilum-dominated culture in PCB-enriched leachates
- reference: doi:10.3389/fmicb.2021.669738
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: This culture was mainly made up of L. ferriphilum and Sulfobacillus benefaciens,
- with L. ferriphilum being the predominant species
- explanation: Documents the Leptospirillum-Sulfobacillus FeOB membership used to generate ferric
- lixiviant
+ snippet: This culture was mainly made up of L. ferriphilum and Sulfobacillus benefaciens, with L. ferriphilum
+ being the predominant species
+ explanation: Documents the Leptospirillum-Sulfobacillus FeOB membership used to generate ferric lixiviant
+ - reference: doi:10.3389/fmicb.2021.669738
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: FeOB uses the resulting Fe(II) as a source of energy to regenerate the ferric iron
+ explanation: Defines the biological regeneration step in the source's iron-redox mechanism.
- name: Base Metal Exposure in PCB Leachate
- description: 'Ferric iron generated by the FeOB culture was used to leach spent printed circuit boards,
- creating acidic PCB leachates containing elevated copper, iron, zinc, nickel, lead, cobalt, and other
- metals. The pre-adapted FeOB culture retained growth and iron oxidation in leachate representing
- up to 6% PCB content, linking the ferric-iron regeneration step to continued activity under mixed
- base-metal exposure.
-
- '
- interaction_type: COMPETITION
+ description: Ferric reduction and acidic dissolution released metals from solid PCBs in the 2.2-L stirred-tank
+ assays. The listed Cu, Zn and Ni concentrations belong to the 1% and 2% solid-PCB treatments, not the separate
+ equivalent-leachate flask series. Metal dissolution supplies Fe(II) for microbial reoxidation while creating
+ mixed-metal exposure. Dissolution reached its maximum after seven days regardless of subculture; the shorter
+ iron-oxidation lag did not accelerate this batch endpoint. These are chemical/culture observations, not interspecies
+ competition.
scope: COMMUNITY_LEVEL
participating_taxa:
- preferred_term: Leptospirillum ferriphilum
@@ -201,41 +194,55 @@ ecological_interactions:
term:
id: CHEBI:29036
label: copper(2+)
- concentration: 2.6-4.2 g/L (100% yield)
+ concentration: 2.6 and 4.2 g/L in 1% and 2% solid-PCB STR assays, respectively
- preferred_term: zinc(2+)
term:
id: CHEBI:29105
label: zinc(2+)
- concentration: 303-543 mg/L (100% yield)
+ concentration: 303 and 543 mg/L in 1% and 2% solid-PCB STR assays, respectively
- preferred_term: nickel(2+)
term:
id: CHEBI:49786
label: nickel(2+)
- concentration: 30-52 mg/L (70% yield)
+ concentration: 30 and 52 mg/L in 1% and 2% solid-PCB STR assays, respectively
downstream:
- target: Ferrous Iron Oxidation for Metal Dissolution
- description: FeOB subcultures from PCB leachate regenerate ferric iron after exposure to toxic metal
- mixtures
+ description: Oxidative metal dissolution reduces Fe(III) to Fe(II), replenishing the substrate that the FeOB
+ culture can reoxidize. This chemically coupled return path is supported by the reaction scheme and the immediate
+ redox drop after PCB addition, not merely by transferring a leachate to another subculture.
evidence:
- reference: doi:10.3389/fmicb.2021.669738
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: The culture pre-adapted to 1% (w/v) PCB content successfully thrived in leachates with the
- equivalent of 6% of PCBs, containing 8.5 g L–1 Cu, 8 g L–1 Fe, 1 g L–1 Zn, 92 mg L–1 Ni, 12.6
- mg L–1 Pb, and 4.4 mg L–1 Co, among other metals
- explanation: Documents the mixed-metal PCB leachate that the pre-adapted culture tolerated
+ snippet: The culture pre-adapted to 1% (w/v) PCB content successfully thrived in leachates with the equivalent
+ of 6% of PCBs, containing 8.5 g L–1 Cu, 8 g L–1 Fe, 1 g L–1 Zn, 92 mg L–1 Ni, 12.6 mg L–1 Pb, and 4.4 mg L–1
+ Co, among other metals
+ explanation: Separate flask tolerance context at 6% equivalent leachate, not evidence for the listed 1/2% solid-PCB
+ stirred-tank concentrations.
+ - reference: doi:10.3389/fmicb.2021.669738
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: Leachates of 1% (w/v) PCBs reached a maximum of 2.6 g L–1 Cu, 30 mg L–1 Ni, and 303 mg L–1 Zn, whereas
+ leachates of 2% (w/v) PCBs contained up to 4.2 g L–1 Cu, 52 mg L–1 Ni, and 543 mg L–1 Zn.
+ explanation: Main Results explicitly assign the concentration series to the 1% and 2% solid-PCB reactors.
+ - reference: doi:10.3389/fmicb.2021.669738
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: indicating that Fe(III) was being reduced
+ explanation: The immediate redox drop after PCB addition supports ferric reduction in the same batch system.
+ - reference: doi:10.3389/fmicb.2021.669738
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: maximum dissolution yield after 7 days as in the previous experiments, regardless of the subculture
+ explanation: Improved iron-oxidation lag did not improve this batch dissolution endpoint.
- name: PCB Toxicity and Microbial Adaptation
- description: 'Printed circuit boards contain toxic components (brominated flame retardants, epoxy resins,
- heavy metals, plasticizers) that inhibit acidophilic bacteria. PCB materials delay the pre-oxidation
- phase (lag before exponential iron oxidation) from 11 days at 1% PCB load to 18 days at 2% load. Above
- 8% PCB concentration, no bacterial growth occurs. The consortium adapts to PCB toxicity through successive
- subculturing, which reduces the lag phase by up to 2.6-fold under batch conditions. Adaptation mechanisms
- may include upregulation of detoxification genes, altered membrane composition, or selection of resistant
- subpopulations. This demonstrates microbial resilience and evolutionary responses to anthropogenic
- waste toxicity.
-
- '
- interaction_type: COMPETITION
+ description: PCB exposure delayed culture iron oxidation. In solid-PCB stirred tanks, the adapted culture had
+ pre-oxidation lags of 11 days at 1% and 18 days at 2%. Serial 2% subcultures shortened the lag from 18 to 13
+ to 7 days; after a ten-day storage pause it lengthened to 11 days before shortening again. Separately, no growth
+ or microbial iron-oxidation activity was observed at 8% equivalent chemical leachate during the 25-day flask
+ assay; this is not a universal above-8% threshold. Operational adaptation does not identify genetic resistance,
+ altered membranes or a specific toxic compound. Planktonic counts omit attached biomass and are affected by
+ solids.
scope: COMMUNITY_LEVEL
participating_taxa:
- preferred_term: Leptospirillum ferriphilum
@@ -246,12 +253,6 @@ ecological_interactions:
term:
id: NCBITaxon:453960
label: Sulfobacillus benefaciens
- metabolites:
- - preferred_term: organic molecular entity
- term:
- id: CHEBI:50860
- label: organic molecular entity
- notes: Brominated flame retardants, epoxy resins, plasticizers (toxic)
biological_processes:
- preferred_term: response to toxic substance
term:
@@ -259,15 +260,16 @@ ecological_interactions:
label: response to toxic substance
downstream:
- target: Ferrous Iron Oxidation for Metal Dissolution
- description: PCB toxicity delays iron oxidation, whereas successive subculturing restores faster
- FeOB activity
+ description: PCB exposure delays iron-oxidizing activity, while serial transfer under the tested 2% solid-PCB
+ conditions shortens the pre-oxidation lag. This operational history changes the onset of culture activity;
+ the molecular adaptation mechanism is unresolved and the faster onset did not accelerate batch metal dissolution.
evidence:
- reference: doi:10.3389/fmicb.2021.669738
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: However, the inhibiting effect of PCBs limited the microbial activity by delaying the onset
- of the exponential iron oxidation
- explanation: Quantifies PCB toxicity effects
+ snippet: However, the inhibiting effect of PCBs limited the microbial activity by delaying the onset of the
+ exponential iron oxidation
+ explanation: Supports an inhibitory delay, not a measured specific toxin or genetic response.
- reference: doi:10.3389/fmicb.2021.669738
supports: SUPPORT
evidence_source: IN_VITRO
@@ -277,7 +279,7 @@ ecological_interactions:
supports: SUPPORT
evidence_source: IN_VITRO
snippet: Successive subcultures boosted the activity of the culture by reducing this delay by up to 2.6 times
- explanation: Documents the adaptation/subculture mechanism
+ explanation: Supports the serial-subculture effect on lag, not a demonstrated genetic adaptation mechanism.
environmental_factors:
- name: Extreme Acidity
value: 1.2 ± 0.1
@@ -417,3 +419,29 @@ cultivation_setup:
evidence_source: IN_VITRO
snippet: reducing this delay by up to 2.6 times under batch conditions. Subcultures also favored the rapid establishment of high microbial activity in continuous mode
explanation: Documents that the cultivation was operated in both batch and continuous modes.
+discussions:
+- discussion_id: ewaste_redox_feedback_toxicity_and_adaptation
+ prompt: Which toxic components and physiological changes determine the iron-oxidation lag?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Ferrous Iron Oxidation for Metal Dissolution
+ - ecological_interactions#Base Metal Exposure in PCB Leachate
+ - ecological_interactions#PCB Toxicity and Microbial Adaptation
+ rationale: 'Retain the FeIII/FeII chemical-biological feedback rather than a subculture-workflow cycle. Retain
+ the operational adaptation-to-oxidation link without claiming measured genetic detoxification, membrane changes
+ or obligatory syntrophy. In these batches metal dissolution reached maximum after seven days regardless of subculture,
+ despite faster iron oxidation. Distinguish equivalent-leachate flask toxicity from solid-PCB stirred-tank concentrations
+ and continuous-startup results. Non-graph acidity, assay-regime and organism-role claims remain #1448; preserve
+ the prior #596 vessel evidence correction. No new nodes or arrows are required.'
+ posed_by: codex
+ posed_date: '2026-10-06'
+curation_history:
+- timestamp: '2026-10-06T09:47:46Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Retain culture iron oxidation without syntrophy or inappropriate transport/carbon-fixation annotations.;
+ Retain actual ferric/ferrous feedback with assay-specific metal concentrations and no faster-dissolution claim.;
+ Retain operational adaptation and its oxidation-lag effect without a universal threshold or resolved genetic
+ mechanism. Issue #1446; reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml'
+ llm_assisted: true
diff --git a/kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml b/kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml
index 86740286a..698c7ab88 100644
--- a/kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml
+++ b/kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml
@@ -249,32 +249,64 @@ taxonomy:
explanation: Identifies E. coli ATCC 25922 as a human-derived minimal-core member.
ecological_interactions:
- name: FOS-driven whole-community strain modulation
- description: In 2% FOS DP ~ 10 whole-community cultures, L. plantarum PBS067, L. reuteri PBS072, and E. coli ATCC 25922
- increased to about 10^8 bacterial counts/mL after 48 h, while B. cellulosilyticus CL02T12C19 and F. plautii 1_3_50AFAA
- reached about 10^7 bacterial counts/mL. L. acidophilus PBS066 was a tracked member, but its lower growth was consistent
- with the absence of scrB expression in this condition.
+ description: After 48 h in the seven-strain community with 2% FOS, species-specific DNA-qPCR estimated about 10^8
+ bacterial counts/mL for L. plantarum, L. reuteri and E. coli and about 10^7 for B. cellulosilyticus and F. plautii.
+ Calibration used strain-specific genomic-DNA standards, not CFU viability or direct cell counting. Low L. acidophilus
+ abundance and absent scrB expression are associated observations, not selective gene causality. The 1% glucose
+ reference is not carbon-mass matched to 2% FOS.
scope: COMMUNITY_LEVEL
- biological_processes:
- - preferred_term: carbohydrate metabolic process
- term:
- id: GO:0005975
- label: carbohydrate metabolic process
evidence:
- reference: PMID:42781020
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: in the whole community, FOS promotes the growth of L. plantarum PBS067, L. reuteri PBS072, and E. coli reaching
- values of bacterial counts around ~108 at 48 h
+ snippet: in the whole community, FOS promotes the growth of L. plantarum PBS067, L. reuteri PBS072, and E. coli
+ reaching values of bacterial counts around ~108 at 48 h
explanation: Supports the dominant LP/LR/EC 48 h response in FOS-grown whole communities.
- reference: PMID:42781020
supports: SUPPORT
evidence_source: IN_VITRO
snippet: B. cellulosilyticus and F. plautii showed values of ~107 bacterial counts/mL
explanation: Supports the lower BC/FP 48 h FOS-grown whole-community counts.
+ - reference: PMID:42781020
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: calibration curves from serial dilutions of strain-specific genomic DNA
+ explanation: Defines the enumeration method and prevents conflation with CFU or RNA expression assays.
+ participating_taxa:
+ - preferred_term: Lactiplantibacillus plantarum PBS067
+ term:
+ id: NCBITaxon:1590
+ label: Lactiplantibacillus plantarum
+ - preferred_term: Lactobacillus acidophilus PBS066
+ term:
+ id: NCBITaxon:1579
+ label: Lactobacillus acidophilus
+ - preferred_term: Limosilactobacillus reuteri PBS072
+ term:
+ id: NCBITaxon:1598
+ label: Limosilactobacillus reuteri
+ - preferred_term: Bacteroides cellulosilyticus CL02T12C19
+ term:
+ id: NCBITaxon:246787
+ label: Bacteroides cellulosilyticus
+ - preferred_term: Clostridium symbiosum WAL-14673
+ term:
+ id: NCBITaxon:1512
+ label: '[Clostridium] symbiosum'
+ - preferred_term: Flavonifractor plautii 1_3_50AFAA
+ term:
+ id: NCBITaxon:292800
+ label: Flavonifractor plautii
+ - preferred_term: Escherichia coli ATCC 25922
+ term:
+ id: NCBITaxon:562
+ label: Escherichia coli
- name: Community-context Lactobacillus FOS-pathway expression
- description: 'Lactobacillus FOS-utilization genes were not expressed as a fixed monoculture program: L. reuteri sacK1 remained
- active in the probiotic consortium at 48 h, while L. plantarum sacA/sacK1 were expressed earlier in the consortium and
- at 48 h in the seven-strain reconstructed whole community.'
+ description: Homology identified putative FOS-utilization genes in the three probiotic strains. RNA/cDNA-qPCR
+ showed community- and time-associated expression differences, including L. plantarum sacA/sacK1 and L. reuteri
+ fructokinase; whole-community 48-h expression excluded L. acidophilus scrB. Expression normalized to species
+ 16S and glucose reference does not establish necessary enzyme activity, inability to use FOS or partner-resolved
+ cross-feeding. Participants name the assayed probiotic members, not every member of the seven-strain culture.
scope: COMMUNITY_LEVEL
participating_taxa:
- preferred_term: Lactiplantibacillus plantarum PBS067
@@ -296,38 +328,46 @@ ecological_interactions:
label: carbohydrate metabolic process
evidence:
- reference: PMID:42781020
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
- snippet: the differential expression of LP genes (sacA and sacK1) between the monoculture and the probiotic consortium
- at 48 h suggests that interspecies interactions modulate the transcriptional regulation of FOS utilization pathways
- explanation: Supports community-context regulation of L. plantarum FOS genes.
+ snippet: the differential expression of LP genes (sacA and sacK1) between the monoculture and the probiotic
+ consortium at 48 h suggests that interspecies interactions modulate the transcriptional regulation of FOS
+ utilization pathways
+ explanation: Supports the authors' inference from context-associated transcription, not a selective interaction
+ perturbation or identified transfer.
- reference: PMID:42781020
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: In the reconstructed microbial community at 48 h, all FOS-related genes identified in the probiotic strains were
- expressed, with the exception of scrB from LA
+ snippet: In the reconstructed microbial community at 48 h, all FOS-related genes identified in the probiotic
+ strains were expressed, with the exception of scrB from LA
explanation: Supports the whole-community Lactobacillus FOS-expression profile at 48 h.
- name: Whole-community organic-acid profile broadening
- description: FOS-grown cultures of the probiotic formulation, minimal core, and reconstructed whole community produced distinct
- GC-MS carboxylic-acid profiles; the whole community showed a broader profile than either subcommunity alone.
+ description: Qualitative GC-MS of derivatized culture extracts showed a broader carboxylic-acid profile for the
+ reconstructed whole community. Figure 7C labels acetic acid, lactic acid and butanoic acid among other peaks;
+ the propanoic-acid marker appears in minimal-core panel B, not separately in panel C. This does not establish
+ physiological absence of propionate from the whole community. Profiles do not measure absolute production, donor-resolved
+ flux or the host-active compound, and glucose-grown profiles were similar. Canonical acetate/butyrate terms
+ represent the reported acid identities, not measured ionic speciation.
scope: COMMUNITY_LEVEL
metabolites:
- preferred_term: acetate
term:
id: CHEBI:30089
label: acetate
+ notes: Qualitative Figure 7C peak identity; not quantified yield, ionic speciation or a demonstrated host-active
+ mediator.
- preferred_term: lactic acid
term:
id: CHEBI:28358
label: rac-lactic acid
- - preferred_term: propionic acid
- term:
- id: CHEBI:30768
- label: propionic acid
+ notes: Qualitative Figure 7C peak identity; not quantified yield, ionic speciation or a demonstrated host-active
+ mediator.
- preferred_term: butyrate
term:
id: CHEBI:17968
label: butyrate
+ notes: Qualitative Figure 7C peak identity; not quantified yield, ionic speciation or a demonstrated host-active
+ mediator.
biological_processes:
- preferred_term: fermentation
term:
@@ -337,14 +377,49 @@ ecological_interactions:
- reference: PMID:42781020
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: In the probiotic formulation, the metabolic profile showed typical fermentation products of lactobacilli, including
- acetic acid
- explanation: Supports lactobacilli-associated organic-acid detection in the probiotic formulation.
+ snippet: In the probiotic formulation, the metabolic profile showed typical fermentation products of lactobacilli,
+ including acetic acid
+ explanation: Probiotic subcommunity context only; whole-community assignments additionally depend on direct
+ inspection of Figure 7C.
- reference: PMID:42781020
supports: SUPPORT
evidence_source: IN_VITRO
snippet: The whole reconstructed microbial community exhibited a broader metabolite profile
explanation: Supports broader organic-acid diversity in the seven-strain whole community.
+ - reference: PMID:42781020
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: were qualitatively analyzed using a gas chromatograph
+ explanation: The Methods define a qualitative assay, not absolute yields or metabolite flux.
+ participating_taxa:
+ - preferred_term: Lactiplantibacillus plantarum PBS067
+ term:
+ id: NCBITaxon:1590
+ label: Lactiplantibacillus plantarum
+ - preferred_term: Lactobacillus acidophilus PBS066
+ term:
+ id: NCBITaxon:1579
+ label: Lactobacillus acidophilus
+ - preferred_term: Limosilactobacillus reuteri PBS072
+ term:
+ id: NCBITaxon:1598
+ label: Limosilactobacillus reuteri
+ - preferred_term: Bacteroides cellulosilyticus CL02T12C19
+ term:
+ id: NCBITaxon:246787
+ label: Bacteroides cellulosilyticus
+ - preferred_term: Clostridium symbiosum WAL-14673
+ term:
+ id: NCBITaxon:1512
+ label: '[Clostridium] symbiosum'
+ - preferred_term: Flavonifractor plautii 1_3_50AFAA
+ term:
+ id: NCBITaxon:292800
+ label: Flavonifractor plautii
+ - preferred_term: Escherichia coli ATCC 25922
+ term:
+ id: NCBITaxon:562
+ label: Escherichia coli
environmental_factors:
- name: fructooligosaccharides DP ~ 10
value: '2'
@@ -500,16 +575,16 @@ metal_notes: PMID:42781020 describes FOS-driven organic-acid metabolism in a gut
bioremediation, or rare-earth-element processing.
discussions:
- discussion_id: fos_lactobacillus_hepg2_active_metabolites_unresolved
- prompt: Which FOS-derived microbial metabolite or metabolite combination causally reduces HepG2 lipid accumulation and Cd36
- expression?
+ prompt: Which FOS-derived microbial metabolite or metabolite combination causally reduces HepG2 lipid accumulation
+ and Cd36 expression?
kind: KNOWLEDGE_GAP
status: OPEN
attaches_to:
- ecological_interactions#Whole-community organic-acid profile broadening
- engineering_design
- rationale: Finazzi et al. measured community-level organic-acid profiles and exposed HepG2 cells to extracted bacterial
- metabolites, but the study reports that the specific metabolites responsible for the observed host-cell response were
- not identified.
+ rationale: Finazzi et al. measured community-level organic-acid profiles and exposed HepG2 cells to extracted
+ bacterial metabolites, but the study reports that the specific metabolites responsible for the observed host-cell
+ response were not identified.
evidence:
- reference: PMID:42781020
supports: SUPPORT
@@ -518,8 +593,8 @@ discussions:
explanation: States the source-level limitation on causal metabolite assignment.
proposed_experiments:
- name: Fractionated FOS-fermentation metabolite add-back
- description: Fractionate FOS-grown whole-community supernatants and add individual organic acids or reconstructed mixtures
- back to palmitate-induced HepG2 cells to test lipid accumulation and Cd36 expression.
+ description: Fractionate FOS-grown whole-community supernatants and add individual organic acids or reconstructed
+ mixtures back to palmitate-induced HepG2 cells to test lipid accumulation and Cd36 expression.
approach: metabolite fractionation and targeted add-back
model_systems:
- FOS-grown seven-strain in vitro human-gut community
@@ -532,29 +607,55 @@ discussions:
- Oil Red O lipid staining
- Cd36 RT-qPCR
- targeted SCFA and organic-acid quantification
- decision_criterion: A fraction or reconstructed metabolite mixture that reproduces both reduced lipid accumulation and
- lower Cd36 expression would nominate a causal metabolite set for follow-up.
+ decision_criterion: A fraction or reconstructed metabolite mixture that reproduces both reduced lipid accumulation
+ and lower Cd36 expression would nominate a causal metabolite set for follow-up.
posed_by: codex
posed_date: '2026-09-28'
+- discussion_id: fos_readout_scope_and_host_response_expansion
+ prompt: How should the extract pretreatment response be represented without inventing its active mediator?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#FOS-driven whole-community strain modulation
+ - ecological_interactions#Community-context Lactobacillus FOS-pathway expression
+ - ecological_interactions#Whole-community organic-acid profile broadening
+ rationale: 'The existing nodes report DNA-qPCR abundance, relative transcript levels and qualitative chemical
+ profiles, not partner-resolved cross-feeding. Actual Figure 7 does not separately label propionate in whole-community
+ panel C; do not infer its biological absence. The source also reports 0.1 mg/mL extract pretreatment of HepG2
+ for 24 h, removal, then 0.25 mM palmitate for 24 h, with lipid and Cd36 mRNA responses. This missing graph endpoint
+ remains #1450 pending a separately authorized Edison expansion and source review; do not claim graph completeness.
+ Active compounds and Cd36 mediation are unresolved. Preserve the earlier active-metabolite discussion and #1206
+ role correction. Non-graph pretreatment and readout wording remain #1449.'
+ posed_by: codex
+ posed_date: '2026-10-06'
curation_history:
- timestamp: '2026-09-28T17:56:43Z'
curator: codex
action: CREATE_COMMUNITY
- changes: Created CommunityMech:000466 for PMID:42781020 / doi:10.3389/fmicb.2026.1866842, a defined seven-strain FOS-grown
- reductionist gut-liver SynCom with three DSM Lactobacillus probiotic strains, four minimal-core gut bacteria, FOS/glucose
- mMRS growth conditions, RT-qPCR and GC-MS evidence, PubMed/DOI/PMC resources, and an open discussion for the unresolved
- causal host-cell metabolites.
+ changes: Created CommunityMech:000466 for PMID:42781020 / doi:10.3389/fmicb.2026.1866842, a defined seven-strain
+ FOS-grown reductionist gut-liver SynCom with three DSM Lactobacillus probiotic strains, four minimal-core gut
+ bacteria, FOS/glucose mMRS growth conditions, RT-qPCR and GC-MS evidence, PubMed/DOI/PMC resources, and an open
+ discussion for the unresolved causal host-cell metabolites.
llm_assisted: true
- timestamp: '2026-09-28T17:59:27Z'
curator: codex
action: ADD_GTDB_GROUNDINGS
- changes: Added GTDB grounding status to all seven FOS gut-liver SynCom taxonomy entries, reused species-level GTDB groundings
- for L. plantarum, L. acidophilus, C. symbiosum, and E. coli, and left L. reuteri, B. cellulosilyticus, and F. plautii
- unresolved because the local NCBI2GTDB.tsv.gz mapping was unavailable.
+ changes: Added GTDB grounding status to all seven FOS gut-liver SynCom taxonomy entries, reused species-level
+ GTDB groundings for L. plantarum, L. acidophilus, C. symbiosum, and E. coli, and left L. reuteri, B. cellulosilyticus,
+ and F. plautii unresolved because the local NCBI2GTDB.tsv.gz mapping was unavailable.
llm_assisted: true
- timestamp: '2026-09-28T18:06:13Z'
curator: codex
action: REMOVE_UNSUPPORTED_FUNCTIONAL_ROLES
- changes: Removed seven PRIMARY_DEGRADER member roles from CommunityMech:000466 after adversarial review found the source
- supported strain membership and FOS response measurements but not uniform primary-degrader labels for every member (#1206).
+ changes: Removed seven PRIMARY_DEGRADER member roles from CommunityMech:000466 after adversarial review found
+ the source supported strain membership and FOS response measurements but not uniform primary-degrader labels
+ for every member (#1206).
+ llm_assisted: true
+- timestamp: '2026-10-06T09:47:46Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Retain DNA-qPCR abundance estimates without viability, matched-carbon or selective scrB causality claims.;
+ Retain context-associated transcription without proved transfer or necessary enzyme activity.; Retain qualitative
+ whole-community acid profile and remove the unsupported panel-specific propionate assignment; host-response
+ expansion remains pending. Issue #1447; reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml'
llm_assisted: true
diff --git a/reports/causal_graph_review/adversarial-review-20261006-batch39.yaml b/reports/causal_graph_review/adversarial-review-20261006-batch39.yaml
new file mode 100644
index 000000000..5a254fa60
--- /dev/null
+++ b/reports/causal_graph_review/adversarial-review-20261006-batch39.yaml
@@ -0,0 +1,173 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: 14e92e488e3100d1070ff27b2524688f73e59b6c
+scope:
+- kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml
+- kb/communities/Ewaste_Bioleaching_Consortium.yaml
+- kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml
+decision_ledger: reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml
+validation_report: reports/causal_graph_review/validation-20261006-batch39.json
+findings:
+- issue: 1445
+ severity: P2
+ status: addressed_in_this_change
+ finding: 'Eucalyptus nursery graph: separate prior traits, root composition and genotype-specific quality'
+ disposition: Existing-graph defect corrected; close only after protected main merge.
+- issue: 1446
+ severity: P2
+ status: addressed_in_this_change
+ finding: 'E-waste graph: preserve real iron feedback without syntrophy, competition or faster-dissolution
+ claims'
+ disposition: Existing-graph defect corrected; close only after protected main merge.
+- issue: 1447
+ severity: P2
+ status: addressed_in_this_change
+ finding: 'FOS gut-liver graph: qualify qPCR, expression and whole-community metabolite evidence'
+ disposition: Existing-graph defect corrected; close only after protected main merge.
+- issue: 1448
+ severity: P2
+ status: open_nongraph_followup
+ finding: 'E-waste metadata: distinguish acid dosing, assay regimes and untested organism roles'
+ disposition: Non-graph fields preserved, not certified. Remains open.
+- issue: 1449
+ severity: P2
+ status: open_nongraph_followup
+ finding: 'FOS gut-liver metadata: distinguish HepG2 pretreatment from rescue of established steatosis'
+ disposition: Non-graph fields preserved, not certified. Remains open.
+- issue: 1450
+ severity: P2
+ status: open_graph_research
+ finding: 'FOS gut-liver causal expansion: curate extract pretreatment and host-cell response with unresolved
+ mediator'
+ disposition: FOS remains needs_research. One-community dry run completed; specific authorization requested,
+ no provider job or charge.
+post_edit_corrections:
+- Expanded Eucalyptus endpoint snippet to include the severe-curvature criterion; classified the nursery
+ functional-measurement limitation as IN_VIVO.
+- Expanded e-waste snippet to include complete concentration units, all three metals and both solid-PCB
+ assay levels; no truncated g L unit.
+- Initial regression suite passed, but Ruff found SIM300 in a new assertion; corrected before the full
+ post-refinement verification. Initial incomplete verification retained separately, not reported as a
+ passed run.
+adversarial_checks:
+- Whole records, prior relevant histories and complete graph diffs reviewed against primary full main
+ bodies. Nine existing nodes and all three arrows retained with explicit dispositions. No invented links
+ or new structure.
+- Eucalyptus prior trait screens do not measure nursery nitrogen fixation or specific IAA exchange. Remove
+ colonization facilitation and mutualism; root compositional change does not prove member persistence
+ or robust taxon displacement. Explicit participants name inoculant/host context, not the exhaustive
+ root microbiome.
+- Eucalyptus dead category includes severe stem curvature, not literal mortality alone. Outcomes are genotype-dependent;
+ water control does not isolate the PBS carrier. Preserve the two workflow-arrow removals and AMBIGUOUS
+ Paenibacillus grounding.
+- E-waste FeIII dissolution and FeII regeneration constitute a real chemical-biological feedback. Rewrite
+ both directions as oxidant/substrate coupling rather than a leachate-transfer workflow. Preserve all
+ three existing arrows and remove syntrophy/competition categories.
+- Redox-inferred iron oxidation does not assay iron transport or carbon fixation. Serial transfer shortens
+ pre-oxidation lag, not the seven-day batch dissolution endpoint. Do not claim identified genetic resistance,
+ altered membranes, specific toxins or a universal above-8% inhibition threshold.
+- 'Separate 1/2% solid-PCB stirred-tank concentrations from equivalent-leachate toxicity flasks and continuous-startup
+ regimes. Account for the storage pause, 25-day observation window and planktonic-count limitations.
+ Preserve #596 vessel evidence. Non-graph acid-dosing/role claims remain #1448.'
+- FOS bacterial counts are DNA-qPCR estimates, not CFU viability. Expression is RNA/cDNA-based and genes
+ were homology-assigned; observed context differences do not establish selective gene causality or partner-resolved
+ cross-feeding. The glucose and FOS conditions are not carbon-mass matched.
+- Actual Figure 7 inspected, not publisher-generated alt text. Propionate peak 2 appears in minimal-core
+ B but not separately in whole-community C. Remove the whole-specific assignment without inferring physiological
+ absence. Retained acid identities are qualitative, not ionic-speciation, yield, flux or active-mediator
+ measurements.
+- 'The FOS host assay pretreated cells with extract, removed it, then challenged with palmitate. Cd36
+ mRNA association is not mediation, protein change or a clinical effect. The missing endpoint remains
+ #1450; FOS is needs_research, not a completed graph. One-community Edison dry run completed without
+ API call or credit spend; specific job authorization requested.'
+- 'Keep all seven FOS canonical strains and #1206 role corrections. Preserve the prior active-metabolite
+ gap and proposed experiments semantically; do not present those proposals as performed work. Non-graph
+ pretreatment/readout wording remains #1449.'
+- Guarded writes and append-only histories with llm-assisted events. Prior history/discussions and all
+ non-graph raw blocks preserved; 457 other records and 920 caches byte-identical. Eight new tests cover
+ source boundaries, participants, topology, histories and pending research.
+- Add only Eucalyptus to the participant registry (184 to 185). Connectivity census and numeric bounds
+ unchanged. All 33 baseline warnings exactly preserved, zero structural errors. No topology invented
+ to suppress sparse/disconnected warnings.
+- Repeat renders deterministic and every published node/arrow description parser-checked. Reference-validator
+ 0.1.7 exits 0 with zero effective checks; explicitly a no-op. Textual snippet MATCH is not scientific
+ validation. Actual output tails, digests, baseline and Edison dry-run output are retained.
+- Issue deduplication searched 766 all-state titles/bodies and ignored/hidden-inclusive local files, not
+ all comments. No other figure images, separate supplements or raw data reviewed. Self-adversarial review
+ is not independent approval, protected merge or full-corpus completion.
+verification:
+ combined_regressions: 415 passed in 182.97s (0:03:02)
+ new_regression_tests: 8
+ schema_strict_terms_history: passed; actual output tails and digests retained
+ snippet_counts_by_record:
+ kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml:
+ MATCH: 17
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Ewaste_Bioleaching_Consortium.yaml:
+ MATCH: 25
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml:
+ MATCH: 31
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ network: Zero errors; 33 baseline warnings exactly preserved, none added.
+ black_ruff_diff: passed
+ tested_file_sha256:
+ reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml: a1dee2681584def997c377ad6ae941a5595a60c864f2efbd465d907812d1ffe2
+ tests/test_causal_review_batch39.py: b76b69039c1ae43beb42e957cc0cd508042adfa3d9d2786617eabeccc5c18a81
+ tests/test_participating_taxa.py: abedbb9e64b503b9feaa1f2758ed88a000e9f5ef2ccba137058e76d6bc84f546
+ kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml: e14a2eea79cf30da31d464f571f728fe07984e9cc854938340d075f8a2e02fd0
+ kb/communities/Ewaste_Bioleaching_Consortium.yaml: e55cc485b57d871ad1a431bd2de7ea20588cde4e61029b769e095b1380499965
+ kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml: 0ca3ae19e967be3786f5495c5633b088efc2afd4dbe18c322eb2a3a6447d29ef
+ post_commit_docs_current: Separate publication gate; not asserted in pre-commit record.
+ protected_ci_and_merge: Eligible exact-head checks and protected queue still required.
+participant_census:
+ connectivity_before:
+ community_level_only: 263
+ credited_solely_by_the_rule: 1219
+ mixed: 124
+ records: 460
+ taxa: 1494
+ with_community_level: 387
+ connectivity_after:
+ community_level_only: 263
+ credited_solely_by_the_rule: 1219
+ mixed: 124
+ records: 460
+ taxa: 1494
+ with_community_level: 387
+ exact_change: 'Eucalyptus newly registered: participant roster grows from 184 to 185. Ewaste and FOS
+ already registered. Connectivity census and numeric bounds unchanged; canonical taxonomy preserved.'
+ numeric_bounds_changed: false
+corpus:
+ records: 460
+ nodes: 1469
+ edges: 689
+ review_status_counts:
+ needs_research: 9
+ pending: 294
+ reviewed: 157
+limitations:
+- 'Nine existing nodes and three arrows retained; no new structure. Two record reviews complete; FOS remains
+ needs_research under #1450.'
+- Full cached primary main bodies read for all three records, actual FOS Figure 7 visually inspected.
+ No other figure images, separate supplements or raw data reviewed. Publisher-generated alt text is not
+ visual evidence.
+- 'Canonical taxonomy, prior discussions/history and all non-graph raw blocks preserved, not certified.
+ Non-graph followups #1448 and #1449 remain open.'
+- One-community FOS Edison dry run only; no provider job or spend. Previously authorized unrelated jobs
+ are not blanket authorization for this one.
+- Source-based self-adversarial review is not independent approval, protected merge or full-corpus completion.
+ Textual snippet matching is not scientific validation.
diff --git a/reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml b/reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml
new file mode 100644
index 000000000..43270d75e
--- /dev/null
+++ b/reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml
@@ -0,0 +1,255 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: 14e92e488e3100d1070ff27b2524688f73e59b6c
+baseline_commit: 14e92e488e3100d1070ff27b2524688f73e59b6c
+base_tree: 84d3ed987ac9c1d96f7ead3cba9fae9dffac5fd7
+issues:
+- 1445
+- 1446
+- 1447
+open_nongraph_followups:
+- 1448
+- 1449
+open_graph_research:
+- 1450
+issue_deduplication:
+ all_state_titles_bodies: 766
+ snapshot: /private/tmp/communitymech-batch39/issues.json
+ ignored_hidden_local_files_included: true
+ local_matching_files: 32
+ comments_exhaustive: false
+ relevant_bodies_read:
+ - 596
+ - 1206
+ - 816
+ - 1027
+ - 1140
+ finding: 'No exact candidate-graph defect duplicate in searched title/body scope. #596 is the existing broad snippet-audit
+ backlog, not a new per-record causal defect; its prior Ewaste vessel correction must remain intact. #1206 is
+ the fixed FOS role issue, not the new graph/readout or pretreatment-scope findings. Other matches concern different
+ records.'
+ local_history_reviewed:
+ - history/records/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom/2026-10-02T054932Z-codex-euc316.yaml
+ - history/records/Ewaste_Bioleaching_Consortium/2026-08-31T075011Z-claude-code-e0000c.yaml
+ - history/records/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom/2026-09-28T180634Z-claude-code-0cd199.yaml
+ - reports/yaml_record_review/20260928T180512Z-FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.md
+reference_cache_original_hashes:
+ references_cache/PMID_42050290.txt: d029dde7adacabd0d81fe2af2fbae0983c96daf83c807472a74baeafb0d0570c
+ references_cache/doi_10.3389_fmicb.2021.669738.md: b4afee1db278dc5e428a4b2eb4755e4f3cce18e8a045cf3b4affec3ba80f6a9a
+ references_cache/PMID_42781020.txt: 1d7403bbc62cf62cbd5793103be8e00982e4f8e13a53897a334d7ddd8c90201b
+edison:
+ status: FOS_dry_run_completed_specific_authorization_requested_no_provider_job
+ query_sha256: 9e38a8a777c684c84336af9d518fece7d182d2756094704c4e361a0b0e1f13e4
+ query_chars: 13999
+ metadata_sha256: e224571fb37495237bff2d697ccfb2fa5d99eb806b358feb0f2838fff4b96a32
+ dryrun:
+ command:
+ - just
+ - research-community-causal
+ - FOS_Lactobacillus_MinimalCore_GutLiver_SynCom
+ - --dry-run
+ exit_code: 0
+ log: /private/tmp/communitymech-batch39/fos-edison-dryrun.log
+ sha256: c0efa8d53b652cd5fc19a6a40afec7012005b967eb89446524d0d792ba0154be
+ bytes: 1073
+ actual_provider_job: false
+ rationale: Existing-node repairs add no structure. The missing FOS host response remains separately tracked, not
+ silently excluded from completeness.
+limitations:
+- 'Nine existing nodes and three arrows retained; no new structure. Two record reviews complete; FOS remains needs_research
+ under #1450.'
+- Full cached primary main bodies read for all three records, actual FOS Figure 7 visually inspected. No other figure
+ images, separate supplements or raw data reviewed. Publisher-generated alt text is not visual evidence.
+- 'Canonical taxonomy, prior discussions/history and all non-graph raw blocks preserved, not certified. Non-graph
+ followups #1448 and #1449 remain open.'
+- One-community FOS Edison dry run only; no provider job or spend. Previously authorized unrelated jobs are not
+ blanket authorization for this one.
+- Source-based self-adversarial review is not independent approval, protected merge or full-corpus completion. Textual
+ snippet matching is not scientific validation.
+records:
+- path: kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml
+ id: CommunityMech:000316
+ original_sha256: 57c4e57ef2f110cdd11f6fd91d55af1f43ac613b6a12e0e59e96fb855762f638
+ record_sha256: e14a2eea79cf30da31d464f571f728fe07984e9cc854938340d075f8a2e02fd0
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml
+ scope: Whole record and every existing node/arrow assessed; FOS missing host-response structure remains pending.
+ Non-graph fields preserved, not certified.
+ summary: Retain prior inoculant trait pool without nursery nitrogen-fixation, specific IAA exchange or colonization
+ facilitation.; Retain root compositional endpoint without robust taxon-specific displacement or strain persistence.;
+ Retain genotype-dependent operational seedling-quality outcomes without reciprocal microbial fitness.
+ renamed_nodes: {}
+ node_decisions:
+ - node: Complementary Nitrogen-Phosphate Trait Pool
+ rationale: Retain prior inoculant trait pool without nursery nitrogen-fixation, specific IAA exchange or colonization
+ facilitation.
+ - node: Root Endophytic Community Restructuring
+ rationale: Retain root compositional endpoint without robust taxon-specific displacement or strain persistence.
+ - node: Genotype-Dependent Improvement of Seedling Quality and Survival
+ rationale: Retain genotype-dependent operational seedling-quality outcomes without reciprocal microbial fitness.
+ removed_node_decisions: []
+ edges_before: []
+ edges_after: []
+ retained_edge_decisions: []
+ removed_edge_decisions: []
+ references:
+ - PMID:42050290
+ issues:
+ - 1445
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom/2026-10-06T094746Z-codex-67bbd2.yaml
+ source_review:
+ PMID:42050290:
+ url: https://pmc.ncbi.nlm.nih.gov/articles/PMC13124775/
+ scope: Complete cached MEDLINE abstract; fold -s -w150 lines51-460 cover full main body through declarations/reference
+ boundary. No separate supplements or raw data. Other figure images not reviewed.
+- path: kb/communities/Ewaste_Bioleaching_Consortium.yaml
+ id: CommunityMech:000026
+ original_sha256: 97fa72a9222421bd40e3ba7bdf14ccaabaeeda0ac5114fd5dda987dc6bda6a7f
+ record_sha256: e55cc485b57d871ad1a431bd2de7ea20588cde4e61029b769e095b1380499965
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml
+ scope: Whole record and every existing node/arrow assessed; FOS missing host-response structure remains pending.
+ Non-graph fields preserved, not certified.
+ summary: Retain culture iron oxidation without syntrophy or inappropriate transport/carbon-fixation annotations.;
+ Retain actual ferric/ferrous feedback with assay-specific metal concentrations and no faster-dissolution claim.;
+ Retain operational adaptation and its oxidation-lag effect without a universal threshold or resolved genetic
+ mechanism.
+ renamed_nodes: {}
+ node_decisions:
+ - node: Ferrous Iron Oxidation for Metal Dissolution
+ rationale: Retain culture iron oxidation without syntrophy or inappropriate transport/carbon-fixation annotations.
+ - node: Base Metal Exposure in PCB Leachate
+ rationale: Retain actual ferric/ferrous feedback with assay-specific metal concentrations and no faster-dissolution
+ claim.
+ - node: PCB Toxicity and Microbial Adaptation
+ rationale: Retain operational adaptation and its oxidation-lag effect without a universal threshold or resolved
+ genetic mechanism.
+ removed_node_decisions: []
+ edges_before:
+ - source: Ferrous Iron Oxidation for Metal Dissolution
+ target: Base Metal Exposure in PCB Leachate
+ description: Ferric-iron-rich lixiviant feeds the PCB bioleaching reactor that generates metal-rich leachates
+ - source: Base Metal Exposure in PCB Leachate
+ target: Ferrous Iron Oxidation for Metal Dissolution
+ description: FeOB subcultures from PCB leachate regenerate ferric iron after exposure to toxic metal mixtures
+ - source: PCB Toxicity and Microbial Adaptation
+ target: Ferrous Iron Oxidation for Metal Dissolution
+ description: PCB toxicity delays iron oxidation, whereas successive subculturing restores faster FeOB activity
+ edges_after:
+ - source: Ferrous Iron Oxidation for Metal Dissolution
+ target: Base Metal Exposure in PCB Leachate
+ description: 'Regenerated Fe(III) can oxidatively dissolve PCB metals and is reduced to Fe(II), exposing the
+ culture to dissolved metals. This is an oxidant/substrate feedback, not a claim that faster biological regeneration
+ increased the measured batch dissolution rate: initial ferric consumption and acidic dissolution dominated
+ those batches.'
+ - source: Base Metal Exposure in PCB Leachate
+ target: Ferrous Iron Oxidation for Metal Dissolution
+ description: Oxidative metal dissolution reduces Fe(III) to Fe(II), replenishing the substrate that the FeOB
+ culture can reoxidize. This chemically coupled return path is supported by the reaction scheme and the immediate
+ redox drop after PCB addition, not merely by transferring a leachate to another subculture.
+ - source: PCB Toxicity and Microbial Adaptation
+ target: Ferrous Iron Oxidation for Metal Dissolution
+ description: PCB exposure delays iron-oxidizing activity, while serial transfer under the tested 2% solid-PCB
+ conditions shortens the pre-oxidation lag. This operational history changes the onset of culture activity;
+ the molecular adaptation mechanism is unresolved and the faster onset did not accelerate batch metal dissolution.
+ retained_edge_decisions:
+ - source: Ferrous Iron Oxidation for Metal Dissolution
+ target: Base Metal Exposure in PCB Leachate
+ rationale: 'Regenerated Fe(III) can oxidatively dissolve PCB metals and is reduced to Fe(II), exposing the culture
+ to dissolved metals. This is an oxidant/substrate feedback, not a claim that faster biological regeneration
+ increased the measured batch dissolution rate: initial ferric consumption and acidic dissolution dominated
+ those batches.'
+ - source: Base Metal Exposure in PCB Leachate
+ target: Ferrous Iron Oxidation for Metal Dissolution
+ rationale: Oxidative metal dissolution reduces Fe(III) to Fe(II), replenishing the substrate that the FeOB culture
+ can reoxidize. This chemically coupled return path is supported by the reaction scheme and the immediate redox
+ drop after PCB addition, not merely by transferring a leachate to another subculture.
+ - source: PCB Toxicity and Microbial Adaptation
+ target: Ferrous Iron Oxidation for Metal Dissolution
+ rationale: PCB exposure delays iron-oxidizing activity, while serial transfer under the tested 2% solid-PCB
+ conditions shortens the pre-oxidation lag. This operational history changes the onset of culture activity;
+ the molecular adaptation mechanism is unresolved and the faster onset did not accelerate batch metal dissolution.
+ removed_edge_decisions: []
+ references:
+ - doi:10.3389/fmicb.2021.669738
+ issues:
+ - 1446
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Ewaste_Bioleaching_Consortium/2026-10-06T094747Z-codex-bd4c72.yaml
+ source_review:
+ doi:10.3389/fmicb.2021.669738:
+ url: https://www.frontiersin.org/journals/microbiology/articles/10.3389/fmicb.2021.669738/full
+ scope: fold -s -w150 lines1-405 includes abstract, full main body, tables/captions and supplementary listing.
+ Publisher web text also accessed through initial Methods; cached full body is primary review source. No
+ separate supplements or raw data. Other figure images not reviewed.
+- path: kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml
+ id: CommunityMech:000466
+ original_sha256: 6a7169713b35a9a4e57ecf540aa7679052fc01b4f43a05a998be1beb5e40acb1
+ record_sha256: 0ca3ae19e967be3786f5495c5633b088efc2afd4dbe18c322eb2a3a6447d29ef
+ status: needs_research
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml
+ scope: Whole record and every existing node/arrow assessed; FOS missing host-response structure remains pending.
+ Non-graph fields preserved, not certified.
+ summary: Retain DNA-qPCR abundance estimates without viability, matched-carbon or selective scrB causality claims.;
+ Retain context-associated transcription without proved transfer or necessary enzyme activity.; Retain qualitative
+ whole-community acid profile and remove the unsupported panel-specific propionate assignment; host-response
+ expansion remains pending.
+ renamed_nodes: {}
+ node_decisions:
+ - node: FOS-driven whole-community strain modulation
+ rationale: Retain DNA-qPCR abundance estimates without viability, matched-carbon or selective scrB causality
+ claims.
+ - node: Community-context Lactobacillus FOS-pathway expression
+ rationale: Retain context-associated transcription without proved transfer or necessary enzyme activity.
+ - node: Whole-community organic-acid profile broadening
+ rationale: Retain qualitative whole-community acid profile and remove the unsupported panel-specific propionate
+ assignment; host-response expansion remains pending.
+ removed_node_decisions: []
+ edges_before: []
+ edges_after: []
+ retained_edge_decisions: []
+ removed_edge_decisions: []
+ references:
+ - PMID:42781020
+ issues:
+ - 1447
+ - 1450
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom/2026-10-06T094747Z-codex-bb2e7e.yaml
+ source_review:
+ PMID:42781020:
+ url: https://www.frontiersin.org/journals/microbiology/articles/10.3389/fmicb.2026.1866842/full
+ scope: Full cached primary main body, tables/captions and supplement listing. Actual publisher Figure 7 visually
+ inspected; no other figure images, separate supplements or raw data reviewed.
+ figure:
+ url: https://www.frontiersin.org/files/Articles/1866842/xml-images/fmicb-17-1866842-g0007.webp
+ sha256: 1bb88d1592ba84d83d37a091eec13b0f31af143e867fbf2f09fb0c6b9c7d8a1d
+ finding: Propionate peak 2 labeled in minimal-core B, not separately in whole-community C; no physiological
+ absence inferred.
+post_edit_adversarial_corrections:
+- Expanded Eucalyptus endpoint snippet to include the severe-curvature criterion; classified the nursery functional-measurement
+ limitation as IN_VIVO.
+- Expanded e-waste snippet to include complete concentration units, all three metals and both solid-PCB assay levels;
+ no truncated g L unit.
+- Initial regression suite passed, but Ruff found SIM300 in a new assertion; corrected before the full post-refinement
+ verification. Initial incomplete verification retained separately, not reported as a passed run.
diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv
index e5e7f31c9..99f6a58d2 100644
--- a/reports/causal_graph_review/inventory.tsv
+++ b/reports/causal_graph_review/inventory.tsv
@@ -166,10 +166,10 @@ kb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml CommunityMech:0001
kb/communities/Engineered_Gut_Amino_Acid_CrossFeeding_Consortium.yaml CommunityMech:000151 b29aa03e39e670a5d61b55306119f11c3459c7fb5c6cf5e8fb58a92d040a8cf0 3 2 100.0 pending
kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml CommunityMech:000299 57ac6be6ce479d6e721e7c7a81a54ede921eee8620e3b466d061750d7d24d60c 3 1 75.0 reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml reviewed
kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml CommunityMech:000237 365db2424aa243d7f2727a5bb344aae80293574cc6a1d2db7e5780ccb475eb09 5 1 76.0 reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml reviewed
-kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml CommunityMech:000316 57c4e57ef2f110cdd11f6fd91d55af1f43ac613b6a12e0e59e96fb855762f638 3 0 75.0 pending
+kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml CommunityMech:000316 e14a2eea79cf30da31d464f571f728fe07984e9cc854938340d075f8a2e02fd0 3 0 63.3 reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml reviewed
kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml CommunityMech:000325 4d5cdc403a12e77b46efdff937eebb29fd0e3b71418a497ea69287ac0a8d0bfc 4 1 78.8 reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml reviewed
-kb/communities/Ewaste_Bioleaching_Consortium.yaml CommunityMech:000026 97fa72a9222421bd40e3ba7bdf14ccaabaeeda0ac5114fd5dda987dc6bda6a7f 3 3 100.0 pending
-kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml CommunityMech:000466 6a7169713b35a9a4e57ecf540aa7679052fc01b4f43a05a998be1beb5e40acb1 3 0 65.0 pending
+kb/communities/Ewaste_Bioleaching_Consortium.yaml CommunityMech:000026 e55cc485b57d871ad1a431bd2de7ea20588cde4e61029b769e095b1380499965 3 3 90.0 reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml reviewed
+kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml CommunityMech:000466 0ca3ae19e967be3786f5495c5633b088efc2afd4dbe18c322eb2a3a6447d29ef 3 0 63.3 reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml needs_research
kb/communities/Ferroplasma_Leptospirillum_Syntrophy.yaml CommunityMech:000027 f357e3ec553f3c8ff1448687f6bf1ab557d2aa72e9e011162ce4b583bdb9a7e7 4 2 100.0 pending
kb/communities/Fomitopsis_Ecoli_Nutritional_Stress_Coculture.yaml CommunityMech:000457 7626c8ddd2ae88e323ebf2ae6058a19ff70e0a17d647b7b5f941be91def3af78 2 0 67.5 pending
kb/communities/FourSpecies_Aerobic_Lung_Microbiome_Model.yaml CommunityMech:000432 01531be768a6ce1f2a546d2ee5ee9ca8e134bcc08a77eb7d6cf47e3eafe0c29f 0 0 0.0 pending
diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json
index 9e064149b..75d481096 100644
--- a/reports/causal_graph_review/summary.json
+++ b/reports/causal_graph_review/summary.json
@@ -7,9 +7,9 @@
"records_without_nodes": 8,
"records_without_edges": 146,
"review_status_counts": {
- "needs_research": 8,
- "pending": 297,
- "reviewed": 155
+ "needs_research": 9,
+ "pending": 294,
+ "reviewed": 157
},
"structural_defects": [],
"network_audit": [
diff --git a/reports/causal_graph_review/validation-20261006-batch39.json b/reports/causal_graph_review/validation-20261006-batch39.json
new file mode 100644
index 000000000..dac0e536b
--- /dev/null
+++ b/reports/causal_graph_review/validation-20261006-batch39.json
@@ -0,0 +1,856 @@
+{
+ "base_commit": "14e92e488e3100d1070ff27b2524688f73e59b6c",
+ "scope": [
+ "kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml",
+ "kb/communities/Ewaste_Bioleaching_Consortium.yaml",
+ "kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml"
+ ],
+ "reference_validator_version": "0.1.7",
+ "results": [
+ {
+ "check": "Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch39/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-strict.tsv",
+ "kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-strict.log",
+ "log_sha256": "992e0517546e6d7505f7ef47345bd05476f4482f1fa8446444b3008589805d44",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch39/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-batch39/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-strict.tsv\n"
+ },
+ {
+ "check": "Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-references.log",
+ "log_sha256": "b6bae982c386a27c311de9918933867c69a5983ed5ee6118c9052c4e3a50788d",
+ "output_tail": "Validating kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n",
+ "explained_output_tail": "Validating kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n"
+ },
+ {
+ "check": "Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-snippets.log",
+ "log_sha256": "5f0e8a5be45b94195ee5599498c60e06ff8db089c85d0bf23969aa37351ca96e",
+ "output_tail": "# 17 evidence snippets scanned across 1 files\n MATCH 17\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": "Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-rank.log",
+ "log_sha256": "2beed85b7e54a3a61f76c67c95c1805a2f19c40ad611255f20abb50158f95e65",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000316\",\n \"name\": \"Eucalyptus Nursery Five-Strain Bacterial Inoculant Consortium\",\n \"score\": 63.3,\n \"taxonomy\": 6,\n \"connected_taxa\": 6,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 6,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom/2026-10-06T094746Z-codex-67bbd2.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Ewaste_Bioleaching_Consortium-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Ewaste_Bioleaching_Consortium.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Ewaste_Bioleaching_Consortium-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Ewaste_Bioleaching_Consortium-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch39/Ewaste_Bioleaching_Consortium-strict.tsv",
+ "kb/communities/Ewaste_Bioleaching_Consortium.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Ewaste_Bioleaching_Consortium-strict.log",
+ "log_sha256": "30a8ef95d076ca4bba9d9a725b50c60e2b2c86148a2415e658c20b1ebf9f8120",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch39/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-batch39/Ewaste_Bioleaching_Consortium-strict.tsv\n"
+ },
+ {
+ "check": "Ewaste_Bioleaching_Consortium-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Ewaste_Bioleaching_Consortium.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Ewaste_Bioleaching_Consortium-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Ewaste_Bioleaching_Consortium-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Ewaste_Bioleaching_Consortium.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Ewaste_Bioleaching_Consortium-references.log",
+ "log_sha256": "8cd5028a0dfd165b9eb7c447933c957190c86cc05b50df8998c57d7802d53504",
+ "output_tail": "Validating kb/communities/Ewaste_Bioleaching_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/Ewaste_Bioleaching_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": "Ewaste_Bioleaching_Consortium-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Ewaste_Bioleaching_Consortium.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Ewaste_Bioleaching_Consortium-snippets.log",
+ "log_sha256": "f261f4401991124875d6e69fbc7c75c05d38b3868788199bef07a85e404ac32e",
+ "output_tail": "# 25 evidence snippets scanned across 1 files\n MATCH 25\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n"
+ },
+ {
+ "check": "Ewaste_Bioleaching_Consortium-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Ewaste_Bioleaching_Consortium.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Ewaste_Bioleaching_Consortium-rank.log",
+ "log_sha256": "55d187420a631ed18164c221dffd80d44295a70fc01f40361575eb93808aaa9c",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000026\",\n \"name\": \"E-waste Bioleaching Consortium\",\n \"score\": 90.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 3,\n \"interaction_evidence\": 10,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Ewaste_Bioleaching_Consortium.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Ewaste_Bioleaching_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/Ewaste_Bioleaching_Consortium/2026-10-06T094747Z-codex-bd4c72.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/Ewaste_Bioleaching_Consortium-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch39/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-strict.tsv",
+ "kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-strict.log",
+ "log_sha256": "0dbc46d919818668c267d974007e4cca2007967235b1e28b63a90a8e70d245a3",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch39/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-batch39/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-strict.tsv\n"
+ },
+ {
+ "check": "FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-references.log",
+ "log_sha256": "8b5180ff921285ec34f7452dcaadf1f9822eace4da5e5a58e135a7f46bcf821e",
+ "output_tail": "Validating kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n",
+ "explained_output_tail": "Validating kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n"
+ },
+ {
+ "check": "FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-snippets.log",
+ "log_sha256": "7cb30458f959a4a7649fd96c05ca0aecb145f69b34e2ebea471b4c38e6956f10",
+ "output_tail": "# 31 evidence snippets scanned across 1 files\n MATCH 31\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": "FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-rank.log",
+ "log_sha256": "fcf4d27adde47465b798ca0147096aa06dbab499e099afd3d6aaa6b3c7d8fb3b",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000466\",\n \"name\": \"FOS Lactobacillus-Minimal Core Gut-Liver SynCom\",\n \"score\": 63.3,\n \"taxonomy\": 7,\n \"connected_taxa\": 7,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 8,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom/2026-10-06T094747Z-codex-bb2e7e.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-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-batch39/post-adversarial/inventory.log",
+ "log_sha256": "54795a1c65de6e14e326e88b08a0338fb9290c67215b9b25731110026bfd5d98",
+ "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\": 1469,\n \"edges\": 689,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 146,\n \"review_status_counts\": {\n \"needs_research\": 9,\n \"pending\": 294,\n \"reviewed\": 157\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-batch39/post-adversarial/network.log",
+ "log_sha256": "c035fe6ed0bbf90371ab58d6557716c51eea79ac628e204173d70075f9efaa26",
+ "output_tail": "{\n \"preferred_term\": \"Legionella MAGs\",\n \"term\": {\n \"id\": \"NCBITaxon:445\",\n \"label\": \"Legionella\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The study detected Legionella-affiliated MAGs and used them in a virulence-gene risk assessment; the source did not assert pathogenicity for a cultured Legionella isolate.\\n\"\n },\n \"abundance_value\": \"Lower-abundance Legionella-affiliated MAGs detected during metagenomic risk assessment.\\n\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41457319\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"COMPUTATIONAL\",\n \"snippet\": \"detection of waterborne pathogens from the Legionella genus\",\n \"explanation\": \"Supports Legionella-affiliated lower-abundance bins as monitored biosafety-relevant members of the consortium.\\n\"\n }\n ]\n },\n \"message\": \"Taxon 'Legionella MAGs' has no interactions\"\n }\n ],\n \"Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom\": [\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Twelve-Strain SynCom Suppression of Sclerotinia Sclerotia\",\n \"interaction_index\": 0,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Trinickia MC Key Contribution to Sclerotia Mortality\",\n \"interaction_index\": 1,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Space_Habitat_SevenMember_Stress_Tolerance_SynCom\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Acinetobacter radioresistens 50V1\",\n \"taxon_id\": \"NCBITaxon:40216\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Acinetobacter radioresistens 50V1\",\n \"term\": {\n \"id\": \"NCBITaxon:40216\",\n \"label\": \"Acinetobacter radioresistens\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate came from the preflight Mars Odyssey Orbiter; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"50V1\",\n \"genome_accession\": \"GCA_002834555.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Acinetobacter radioresistens | 50V1 | Preflight Mars Odyssey Orbiter | \\u2013 | Mccoy et al., 2012 | GCA_002834555.1 | TSYB/TSYA | 37 \\u00b0C | 16\\u201318 h\",\n \"explanation\": \"Identifies A. radioresistens 50V1 as a consortium member and gives its spacecraft-associated source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Acinetobacter radioresistens 50V1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Micrococcus luteus W4-Al-K1\",\n \"taxon_id\": \"NCBITaxon:1270\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Micrococcus luteus W4-Al-K1\",\n \"term\": {\n \"id\": \"NCBITaxon:1270\",\n \"label\": \"Micrococcus luteus\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from an ISS aluminum-case touch array; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"W4-Al-K1\",\n \"genome_accession\": \"GCA_057816565.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Micrococcus luteus | W4-Al-K1 | ISS, Touch Array Aluminum Case | - | Kr\\u00e4mer et al., 2025 | GCA_057816565.1 | NB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies M. luteus W4-Al-K1 as a consortium member and gives its ISS source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Micrococcus luteus W4-Al-K1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"taxon_id\": \"NCBITaxon:64702\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"term\": {\n \"id\": \"NCBITaxon:64702\",\n \"label\": \"Propionibacterium cyclohexanicum\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. cyclohexanicum type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"TA-12T\",\n \"genome_accession\": \"GCA_900111365\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"16859\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Propionibacterium cyclohexanicum | TA-12 T | Spoilt Orange Juice | DSM 16859 T | Kusano et al., 1997 | GCA_900111365 | BHI, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies P. cyclohexanicum TA-12T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Propionibacterium cyclohexanicum TA-12T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas antarctica CMS 35T\",\n \"taxon_id\": \"NCBITaxon:219572\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas antarctica CMS 35T\",\n \"term\": {\n \"id\": \"NCBITaxon:219572\",\n \"label\": \"Pseudomonas antarctica\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. antarctica type strain as a biosafety-level-1 Pseudomonas surrogate.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"CMS 35T\",\n \"genome_accession\": \"GCA_010634845\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"15318\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pseudomonas antarctica | CMS 35 T | Antarctica | DSM 15318 T | Reddy et al., 2004 | GCA_010634845 | TSYB/TSYA | Ambient | 12\\u201316 h\",\n \"explanation\": \"Identifies P. antarctica CMS 35T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n"
+ },
+ {
+ "check": "rank-all",
+ "command": [
+ "just",
+ "rank-causal-graphs"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/rank-all.log",
+ "log_sha256": "a4de322b2c22e49602e9271959f68c103ab17c1806cbd15849b658a8fcb68b02",
+ "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-batch39/post-adversarial/render.log",
+ "log_sha256": "63d03b05afc5ad2219a7f071051eea0394f8627026a0fb4fb65e8180be04228f",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch39/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch39/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch39/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-batch39/post-adversarial/render-repeat.log",
+ "log_sha256": "63d03b05afc5ad2219a7f071051eea0394f8627026a0fb4fb65e8180be04228f",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch39/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch39/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch39/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch39/docs/index.html\n"
+ },
+ {
+ "check": "connectivity-survey",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-c",
+ "import json,runpy; print(json.dumps(runpy.run_path(\"tests/test_community_level_connectivity_credit.py\")[\"_survey\"](),sort_keys=True))"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/connectivity-survey.log",
+ "log_sha256": "fb47676e0ec6945737e5aeeba11192e7b8ff073a9e93ce8809972a4316c7c565",
+ "output_tail": "{\"community_level_only\": 263, \"credited_solely_by_the_rule\": 1219, \"mixed\": 124, \"records\": 460, \"taxa\": 1494, \"with_community_level\": 387}\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_batch5.py",
+ "tests/test_causal_review_batch6.py",
+ "tests/test_causal_review_batch7.py",
+ "tests/test_causal_review_batch8.py",
+ "tests/test_causal_review_batch9.py",
+ "tests/test_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-batch39/post-adversarial/regressions.log",
+ "log_sha256": "40c4fd201cd19956a80da1e0e2573488f8dec55bb1dc195907d7e8b8528c41bb",
+ "output_tail": "........................................................................ [ 17%]\n........................................................................ [ 34%]\n........................................................................ [ 52%]\n........................................................................ [ 69%]\n........................................................................ [ 86%]\n....................................................... [100%]\n415 passed in 182.97s (0:03:02)\n"
+ },
+ {
+ "check": "black",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black",
+ "--check",
+ "tests/test_causal_review_batch39.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/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_batch39.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/post-adversarial/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-batch39/post-adversarial/diff-check.log",
+ "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "output_tail": ""
+ }
+ ],
+ "limitations": [
+ "Nine existing nodes and three arrows retained; no new structure. Two record reviews complete; FOS remains needs_research under #1450.",
+ "Full cached primary main bodies read for all three records, actual FOS Figure 7 visually inspected. No other figure images, separate supplements or raw data reviewed. Publisher-generated alt text is not visual evidence.",
+ "Canonical taxonomy, prior discussions/history and all non-graph raw blocks preserved, not certified. Non-graph followups #1448 and #1449 remain open.",
+ "One-community FOS Edison dry run only; no provider job or spend. Previously authorized unrelated jobs are not blanket authorization for this one.",
+ "Source-based self-adversarial review is not independent approval, protected merge or full-corpus completion. Textual snippet matching is not scientific validation.",
+ "HTML descriptions checked by exact parser and repeat renders, not browser screenshots. Post-commit docs-current is a separate publication gate.",
+ "All three reference-validator commands exit 0 with Total checks: 0. This is a no-op, not evidence validation. Independent snippet counts and primary-source review are separate."
+ ],
+ "snippet_counts_by_record": {
+ "kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml": {
+ "MATCH": 17,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Ewaste_Bioleaching_Consortium.yaml": {
+ "MATCH": 25,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml": {
+ "MATCH": 31,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ }
+ },
+ "unchanged_raw_blocks": 46,
+ "unchanged_record_files": 457,
+ "unchanged_cache_files": 920,
+ "network_delta": {
+ "existing_findings_preserved": 33,
+ "new_disconnected": 0,
+ "added_findings": {},
+ "rationale": "All baseline warnings exactly preserved; no invented graph links to suppress warnings."
+ },
+ "render_determinism": true,
+ "published_description_coverage": {
+ "pages": 456,
+ "nodes": 1455,
+ "arrows": 681
+ },
+ "participant_census": {
+ "connectivity_before": {
+ "community_level_only": 263,
+ "credited_solely_by_the_rule": 1219,
+ "mixed": 124,
+ "records": 460,
+ "taxa": 1494,
+ "with_community_level": 387
+ },
+ "connectivity_after": {
+ "community_level_only": 263,
+ "credited_solely_by_the_rule": 1219,
+ "mixed": 124,
+ "records": 460,
+ "taxa": 1494,
+ "with_community_level": 387
+ },
+ "exact_change": "Eucalyptus newly registered: participant roster grows from 184 to 185. Ewaste and FOS already registered. Connectivity census and numeric bounds unchanged; canonical taxonomy preserved.",
+ "numeric_bounds_changed": false
+ },
+ "corpus": {
+ "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.",
+ "records": 460,
+ "nodes": 1469,
+ "edges": 689,
+ "records_without_nodes": 8,
+ "records_without_edges": 146,
+ "review_status_counts": {
+ "needs_research": 9,
+ "pending": 294,
+ "reviewed": 157
+ },
+ "structural_defects": []
+ },
+ "tested_file_sha256": {
+ "reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml": "a1dee2681584def997c377ad6ae941a5595a60c864f2efbd465d907812d1ffe2",
+ "tests/test_causal_review_batch39.py": "b76b69039c1ae43beb42e957cc0cd508042adfa3d9d2786617eabeccc5c18a81",
+ "tests/test_participating_taxa.py": "abedbb9e64b503b9feaa1f2758ed88a000e9f5ef2ccba137058e76d6bc84f546",
+ "kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml": "e14a2eea79cf30da31d464f571f728fe07984e9cc854938340d075f8a2e02fd0",
+ "kb/communities/Ewaste_Bioleaching_Consortium.yaml": "e55cc485b57d871ad1a431bd2de7ea20588cde4e61029b769e095b1380499965",
+ "kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml": "0ca3ae19e967be3786f5495c5633b088efc2afd4dbe18c322eb2a3a6447d29ef"
+ },
+ "status": "verified_two_completed_reviews_and_one_research_pending_repair",
+ "reference_validator_effective_checks": 0,
+ "reference_validator_caveat": "All three reference-validator commands exit 0 with Total checks: 0. This is a no-op, not evidence validation. Independent snippet counts and primary-source review are separate.",
+ "pre_research_baseline": {
+ "base_commit": "14e92e488e3100d1070ff27b2524688f73e59b6c",
+ "base_tree": "84d3ed987ac9c1d96f7ead3cba9fae9dffac5fd7",
+ "research_worktree": "/private/tmp/communitymech-causal-batch38",
+ "checks": [
+ {
+ "name": "rank",
+ "command": [
+ "just",
+ "rank-causal-graphs"
+ ],
+ "exit_code": 0,
+ "expected_exit_code": 0,
+ "log": "/private/tmp/communitymech-batch39/baseline-rank.log",
+ "sha256": "4deb9a7503ea2a7afac848ad5fc9117a2a68f5d50c35e314d5f7e412a9f8da57",
+ "output_tail": "nol_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"
+ },
+ {
+ "name": "just-network",
+ "command": [
+ "just",
+ "audit-network-json"
+ ],
+ "exit_code": 2,
+ "expected_exit_code": 2,
+ "log": "/private/tmp/communitymech-batch39/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-batch39/baseline-network.log",
+ "sha256": "c035fe6ed0bbf90371ab58d6557716c51eea79ac628e204173d70075f9efaa26",
+ "output_tail": " 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"
+ },
+ {
+ "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-batch39/baseline-downstream.log",
+ "sha256": "7a4bef3a693f8d414b662ac1b167c0d42e05bc02665004ae1a5c52807d3fb79b",
+ "output_tail": "mmunities/SMutans_VParvula_ASC_Biofilm.yaml:179: downstream:\nkb/communities/Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom.yaml:332: downstream:\nkb/communities/Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.yaml:98: downstream:\nkb/communities/Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.yaml:155: downstream:\nkb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml:121: downstream:\nkb/communities/Rice_P_Uptake_Intercropping_SynCom4.yaml:149: downstream:\nkb/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml:179: downstream:\nkb/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml:232: downstream:\nkb/communities/Groundwater_Elusimicrobia_Diverse_Metabolisms.yaml:96: downstream:\nkb/communities/High_Ammonia_Biogas_0B_Butyrate_Oxidizing_Enrichment.yaml:233: downstream:\nkb/communities/Miscanthus_REE_Tailings_Nitrogen_SynCom10.yaml:135: downstream:\nkb/communities/Miscanthus_REE_Tailings_Nitrogen_SynCom10.yaml:173: downstream:\nkb/communities/Geobacter_Pseudomonas_Formate_Fumarate_Electroactive_Coculture.yaml:142: downstream:\nkb/communities/Geobacter_Pseudomonas_Formate_Fumarate_Electroactive_Coculture.yaml:189: downstream:\nkb/communities/Shewanella_Streptococcus_Starch_Microbial_Fuel_Cell.yaml:140: downstream:\nkb/communities/Shewanella_Streptococcus_Starch_Microbial_Fuel_Cell.yaml:221: downstream:\nkb/communities/Moss_Microbe_Complex_Regolith_Biofertilizer.yaml:169: downstream:\nkb/communities/Moss_Microbe_Complex_Regolith_Biofertilizer.yaml:199: downstream:\nkb/communities/Parachlorella_Saccharomyces_Mutualistic_Coculture.yaml:83: downstream:\nkb/communities/Parachlorella_Saccharomyces_Mutualistic_Coculture.yaml:121: downstream:\nkb/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml:196: downstream:\nkb/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml:242: downstream:\nkb/communities/Human_Gut_FourMember_Proteome_Complementarity_Consortium.yaml:155: downstream:\nkb/communities/Human_Gut_FourMember_Proteome_Complementarity_Consortium.yaml:201: 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/Chromium_Sulfur_Reduction_Enrichment.yaml:159: downstream:\nkb/communities/Chromium_Sulfur_Reduction_Enrichment.yaml:200: downstream:\nkb/communities/Synechococcus_Azotobacter_Photoproduction_Mutualism.yaml:151: downstream:\nkb/communities/Synechococcus_Azotobacter_Photoproduction_Mutualism.yaml:192: downstream:\nkb/communities/Sichuan_Shai_Vinegar_Yeast_Flavor_SynCom.yaml:160: downstream:\nkb/communities/Sichuan_Shai_Vinegar_Yeast_Flavor_SynCom.yaml:195: downstream:\nkb/communities/Sichuan_Shai_Vinegar_Yeast_Flavor_SynCom.yaml:233: downstream:\nkb/communities/KBase_ORT_Workflow_Community_Model.yaml:170: downstream:\nkb/communities/KBase_ORT_Workflow_Community_Model.yaml:261: downstream:\n"
+ }
+ ]
+ },
+ "edison_dryrun_output": "Edison job: LITERATURE (job-futurehouse-paperqa3)\nTemplate: templates/community_causal_graph_research.md\nOutput dir: research/communities\nCommunities: 1\nMode: DRY RUN (no API calls, no credits spent)\n\n[DRY RUN] kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml -> research/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-edison-literature-causal.md\n job=LITERATURE query_chars=13999 meta=research/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom-edison-literature-causal-meta.yaml\nuv run --extra dev python scripts/research_community_edison.py --target FOS_Lactobacillus_MinimalCore_GutLiver_SynCom --template templates/community_causal_graph_research.md --label causal --out-dir research/communities --dry-run\n\u001b[92m02:44:16 - LiteLLM:WARNING\u001b[0m: get_model_cost_map.py:271 - LiteLLM: Failed to fetch remote model cost map from https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json: [Errno 8] nodename nor servname provided, or not known. Falling back to local backup.\n",
+ "superseded_initial_validation": {
+ "report_sha256": "6bf1151c4efdbb45f8af5e42f488d6caddb542a160eb309fc8b8bec11a9b048e",
+ "status": "incomplete_due_to_new_test_SIM300_then_superseded_by_evidence_refinement",
+ "results": [
+ {
+ "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_batch5.py",
+ "tests/test_causal_review_batch6.py",
+ "tests/test_causal_review_batch7.py",
+ "tests/test_causal_review_batch8.py",
+ "tests/test_causal_review_batch9.py",
+ "tests/test_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-batch39/regressions.log",
+ "log_sha256": "502f7f1425df44ae3453977250c055db1fcb758adc2e37f8030300daec7478c4",
+ "output_tail": "........................................................................ [ 17%]\n........................................................................ [ 34%]\n........................................................................ [ 52%]\n........................................................................ [ 69%]\n........................................................................ [ 86%]\n....................................................... [100%]\n415 passed in 178.88s (0:02:58)\n"
+ },
+ {
+ "check": "black",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black",
+ "--check",
+ "tests/test_causal_review_batch39.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/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_batch39.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 1,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch39/ruff.log",
+ "log_sha256": "3d2cdc67c495a1accc25760155d800843171f25decc2fa724b5fbebb4f1586b1",
+ "output_tail": "SIM300 [*] Yoda condition detected\n --> tests/test_causal_review_batch39.py:27:12\n |\n25 | assert \"specific indole-3-acetic acid exchange\" in traits[\"description\"]\n26 | assert all(\"biological_processes\" not in n for n in [traits, roots])\n27 | assert \"AMBIGUOUS\" == docs[0][\"taxonomy\"][3][\"taxon_term\"][\"gtdb_grounding_status\"]\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n28 | assert \"No genus or phylum showed robust differential abundance\" in roots[\"description\"]\n29 | assert \"30 A/B-category seedlings\" in roots[\"description\"]\n |\n |\n26 | assert all(\"biological_processes\" not in n for n in [traits, roots])\n - assert \"AMBIGUOUS\" == docs[0][\"taxonomy\"][3][\"taxon_term\"][\"gtdb_grounding_status\"]\n27 + assert docs[0][\"taxonomy\"][3][\"taxon_term\"][\"gtdb_grounding_status\"] == \"AMBIGUOUS\"\n28 | assert \"No genus or phylum showed robust differential abundance\" in roots[\"description\"]\n |\n\nFound 1 error.\n[*] 1 fixable with the `--fix` option.\n"
+ }
+ ],
+ "resolution": "Assertion order fixed, evidence snippets expanded and nursery evidence classification corrected. All focused and regression checks rerun on the final bytes; only that final run supplies tested_file_sha256."
+ }
+}
diff --git a/tests/test_causal_review_batch39.py b/tests/test_causal_review_batch39.py
new file mode 100644
index 000000000..e84e1d241
--- /dev/null
+++ b/tests/test_causal_review_batch39.py
@@ -0,0 +1,167 @@
+"""Preserve assay boundaries and an explicit unresolved host-response expansion."""
+
+import hashlib
+from collections import Counter
+from pathlib import Path
+
+import yaml
+
+ROOT = Path(__file__).resolve().parents[1]
+LEDGER = ROOT / "reports/causal_graph_review/decisions/20261006-three-records-batch39.yaml"
+
+
+def records():
+ ledger = yaml.safe_load(LEDGER.read_text())
+ return ledger, [yaml.safe_load((ROOT / r["path"]).read_text()) for r in ledger["records"]]
+
+
+def test_eucalyptus_prior_traits_are_not_measured_nursery_flux():
+ _, docs = records()
+ traits, roots, quality = docs[0]["ecological_interactions"]
+ assert len(traits["participating_taxa"]) == 5
+ assert len(roots["participating_taxa"]) == len(quality["participating_taxa"]) == 6
+ assert [m["term"]["id"] for m in traits["metabolites"]] == ["CHEBI:18367"]
+ assert "do not demonstrate nitrogen fixation" in traits["description"]
+ assert "specific indole-3-acetic acid exchange" in traits["description"]
+ assert all("biological_processes" not in n for n in [traits, roots])
+ assert docs[0]["taxonomy"][3]["taxon_term"]["gtdb_grounding_status"] == "AMBIGUOUS"
+ assert traits["evidence"][-1]["evidence_source"] == "IN_VIVO"
+ assert "No genus or phylum showed robust differential abundance" in roots["description"]
+ assert "30 A/B-category seedlings" in roots["description"]
+
+
+def test_eucalyptus_outcomes_do_not_restore_workflow_arrows_or_mutualism():
+ _, docs = records()
+ nodes = docs[0]["ecological_interactions"]
+ assert all(not {"interaction_type", "downstream"} & n.keys() for n in nodes)
+ assert "water control" in nodes[2]["description"]
+ assert "not exclusively literal mortality" in nodes[2]["description"]
+ assert "greater than 45 degrees" in nodes[2]["description"]
+ assert "Seedlings exhibiting severe stem curvature" in nodes[2]["evidence"][-1]["snippet"]
+ assert "do not establish reciprocal bacterial fitness" in nodes[2]["description"]
+ assert "2026-10-02" in docs[0]["discussions"][-1]["rationale"]
+
+
+def test_ewaste_keeps_actual_redox_feedback_not_a_transfer_workflow():
+ _, docs = records()
+ oxidation, metals, adaptation = docs[1]["ecological_interactions"]
+ assert [e["target"] for e in oxidation["downstream"]] == [metals["name"]]
+ assert [e["target"] for e in metals["downstream"]] == [oxidation["name"]]
+ assert [e["target"] for e in adaptation["downstream"]] == [oxidation["name"]]
+ assert "oxidant/substrate feedback" in oxidation["downstream"][0]["description"]
+ assert "reduces Fe(III) to Fe(II)" in metals["downstream"][0]["description"]
+ assert "immediate redox drop" in metals["downstream"][0]["description"]
+ assert "biological_processes" not in oxidation
+ assert "metabolites" not in adaptation
+ assert all("interaction_type" not in n for n in [oxidation, metals, adaptation])
+
+
+def test_ewaste_shorter_oxidation_lag_is_not_faster_batch_dissolution():
+ _, docs = records()
+ oxidation, metals, adaptation = docs[1]["ecological_interactions"]
+ assert "did not accelerate batch metal dissolution" in oxidation["description"]
+ assert "seven days regardless of subculture" in metals["description"]
+ assert "whereas leachates of 2% (w/v) PCBs" in metals["evidence"][1]["snippet"]
+ assert metals["evidence"][1]["snippet"].endswith("Zn.")
+ assert all("1% and 2% solid-PCB STR" in m["concentration"] for m in metals["metabolites"])
+ assert "18 to 13 to 7 days" in adaptation["description"]
+ assert "ten-day storage pause" in adaptation["description"]
+ assert (
+ "8% equivalent chemical leachate during the 25-day flask assay" in adaptation["description"]
+ )
+ assert "not a universal above-8% threshold" in adaptation["description"]
+ assert "does not identify genetic resistance" in adaptation["description"]
+ assert "omit attached biomass" in adaptation["description"]
+
+
+def test_fos_distinguishes_dna_enumeration_from_expression_and_flux():
+ _, docs = records()
+ abundance, expression, metabolites = docs[2]["ecological_interactions"]
+ assert len(abundance["participating_taxa"]) == len(metabolites["participating_taxa"]) == 7
+ assert len(expression["participating_taxa"]) == 3
+ assert "DNA-qPCR estimated" in abundance["description"]
+ assert "not CFU viability" in abundance["description"]
+ assert "not carbon-mass matched" in abundance["description"]
+ assert "biological_processes" not in abundance
+ assert "RNA/cDNA-qPCR" in expression["description"]
+ assert "partner-resolved cross-feeding" in expression["description"]
+ assert expression["evidence"][0]["supports"] == "PARTIAL"
+ assert all("downstream" not in n for n in [abundance, expression, metabolites])
+ assert all("functional_role" not in t for t in docs[2]["taxonomy"])
+
+
+def test_fos_figure_specific_assignments_do_not_imply_physiological_absence():
+ ledger, docs = records()
+ metabolites = docs[2]["ecological_interactions"][2]
+ assert [m["term"]["id"] for m in metabolites["metabolites"]] == [
+ "CHEBI:30089",
+ "CHEBI:28358",
+ "CHEBI:17968",
+ ]
+ assert "does not establish physiological absence" in metabolites["description"]
+ assert "glucose-grown profiles were similar" in metabolites["description"]
+ assert "not measured ionic speciation" in metabolites["description"]
+ assert all("not quantified yield" in m["notes"] for m in metabolites["metabolites"])
+ source = ledger["records"][2]["source_review"]["PMID:42781020"]
+ assert "visually inspected" in source["scope"]
+ assert len(source["figure"]["sha256"]) == 64
+
+
+def test_batch39_complete_dispositions_canonical_participants_and_history():
+ ledger, docs = records()
+ assert ledger["independent_approval"] is False and ledger["issues"] == [1445, 1446, 1447]
+ assert sum(len(r["node_decisions"]) for r in ledger["records"]) == 9
+ assert sum(len(r["retained_edge_decisions"]) for r in ledger["records"]) == 3
+ for row, doc in zip(ledger["records"], docs, strict=True):
+ canonical = {
+ (t["taxon_term"]["term"]["id"], t["taxon_term"]["preferred_term"]): t["taxon_term"]
+ for t in doc["taxonomy"]
+ }
+ names = {n["name"] for n in doc["ecological_interactions"]}
+ for node in doc["ecological_interactions"]:
+ assert node["scope"] == "COMMUNITY_LEVEL"
+ for term in node["participating_taxa"]:
+ assert (
+ term["term"] == canonical[(term["term"]["id"], term["preferred_term"])]["term"]
+ )
+ assert all(
+ e["target"] in names and e["target"] != node["name"]
+ for e in node.get("downstream", [])
+ )
+ assert Counter(d["node"] for d in row["node_decisions"]) == Counter(names)
+ assert not row["removed_node_decisions"] and not row["renamed_nodes"]
+ assert not row["removed_edge_decisions"]
+ assert {(e["source"], e["target"]) for e in row["edges_before"]} == {
+ (e["source"], e["target"]) for e in row["edges_after"]
+ }
+ gap = doc["discussions"][-1]
+ assert gap["kind"] == "KNOWLEDGE_GAP" and gap["status"] == "OPEN"
+ assert set(gap["attaches_to"]) == {"ecological_interactions#" + n for n in names}
+ assert row["curation_events_added"] == 1 and 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"]
+
+
+def test_fos_expansion_stays_pending_and_nongraph_fields_are_not_certified():
+ ledger, docs = records()
+ assert [r["status"] for r in ledger["records"]] == ["reviewed", "reviewed", "needs_research"]
+ assert ledger["open_nongraph_followups"] == [1448, 1449]
+ assert ledger["open_graph_research"] == [1450]
+ assert ledger["edison"]["dryrun"]["actual_provider_job"] is False
+ assert ledger["edison"]["query_chars"] == 13999
+ assert len(docs[2]["discussions"]) == 2
+ assert (
+ docs[2]["discussions"][0]["discussion_id"]
+ == "fos_lactobacillus_hepg2_active_metabolites_unresolved"
+ )
+ assert docs[2]["discussions"][0]["proposed_experiments"]
+ rationale = docs[2]["discussions"][-1]["rationale"]
+ assert "0.1 mg/mL" in rationale and "removal, then 0.25 mM palmitate" in rationale
+ assert "do not claim graph completeness" in rationale and "#1450" in rationale
+ assert (
+ "sulfuric acid generation from sulfur oxidation"
+ in docs[1]["environmental_factors"][0]["description"]
+ )
+ assert ledger["issue_deduplication"]["ignored_hidden_local_files_included"] is True
+ for path, digest in ledger["reference_cache_original_hashes"].items():
+ assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest
diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py
index 97d71dd71..7ee9a5b1a 100644
--- a/tests/test_participating_taxa.py
+++ b/tests/test_participating_taxa.py
@@ -256,6 +256,7 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example):
"Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml",
"Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml",
"Episymbiotic_CPR_DPANN_Groundwater_Community.yaml",
+ "Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml",
"Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml",
"Ewaste_Bioleaching_Consortium.yaml",
"FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml",