-
Inoculation with the Priestia flexa and Pseudomonas putida SynCom substantially reduced arsenic accumulation in rice roots, shoots and grains by coordinating down-regulation of arsenic-transporter genes that drive arsenic uptake and internal translocation.
+
The Priestia flexa and Pseudomonas putida SynCom reduced arsenic accumulation in rice roots, shoots and grains. PARTIAL: the abstract attributes this effect to coordinated transporter-gene downregulation; accessible evidence does not establish transporter necessity, individual-strain contribution or reciprocal microbial benefit.
+
Participating Taxa:
+
+ Priestia flexa,
+
+ Pseudomonas putida,
+
+ Oryza sativa var. Sarju-52
+
+
+
@@ -662,12 +671,21 @@
Evidence
-
The two-member SynCom restored host photosynthetic and metabolic function under arsenic exposure, with improved photosynthesis, increased soluble sugars, reduced proline accumulation, and suppression of overactive antioxidant-enzyme responses.
+
SynCom inoculation improved photosynthesis and soluble sugars and reduced proline accumulation and antioxidant-enzyme overactivation under arsenic stress. Preserve these positive rice responses without asserting reciprocal mutualism or an untested causal direction between these composite outcome nodes.
+
+
+
Participating Taxa:
+ Priestia flexa,
+
+ Pseudomonas putida,
+
+ Oryza sativa var. Sarju-52
+
+
@@ -713,6 +731,60 @@
Evidence
+
+ Knowledge gaps & discussions (1)
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ Which bacterial activities and host transporters mediate the SynCom benefit?
+
+
The accessible abstract supports two-member inoculation, arsenic restriction and host physiological improvement. Full text was unavailable. It does not establish reciprocal benefit, strain necessity or a direction between the two existing outcome nodes. Transporter downregulation remains the authors explanation, with causal mediation qualified; no new structure is needed for this repair.
+
+
Attaches to: ecological_interactions#SynCom restriction of rice arsenic accumulation, ecological_interactions#SynCom restoration of rice stress physiology
+
+
+
+
+ 2 evidence item(s)
+
+
+
+
SynCom substantially reduced arsenic accumulation in roots, shoots and grains by coordinate downregulation of arsenic transporter genes
+
Supports the reported whole-SynCom endpoint and proposed transporter explanation, not mediator-specific intervention proof.
+
+
+
+
+
Inoculation with SynCom restored physiological function and metabolic balance, as evidenced by improved photosynthesis, increased soluble sugars, and reduced proline accumulation.
+
Supports improved host photosynthetic and metabolic performance under arsenic stress after SynCom inoculation.
+
+
+
+
+
+
+
+
@@ -913,7 +985,7 @@
Environmental Factors
(function() {
var intId = "interaction:0";
- var intType = "MUTUALISM";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
@@ -937,11 +1009,26 @@
Environmental Factors
+ var participantKeys = [
+
+ "Priestia flexa",
+
+ "Pseudomonas putida",
+
+ "Oryza sativa var. Sarju-52"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
(function() {
var intId = "interaction:1";
- var intType = "MUTUALISM";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
@@ -965,6 +1052,21 @@
Environmental Factors
+ var participantKeys = [
+
+ "Priestia flexa",
+
+ "Pseudomonas putida",
+
+ "Oryza sativa var. Sarju-52"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
diff --git a/docs/communities/Prochlorococcus_Alteromonas_Helper_Coculture.html b/docs/communities/Prochlorococcus_Alteromonas_Helper_Coculture.html
index c544da309..469f69c9c 100644
--- a/docs/communities/Prochlorococcus_Alteromonas_Helper_Coculture.html
+++ b/docs/communities/Prochlorococcus_Alteromonas_Helper_Coculture.html
@@ -569,7 +569,7 @@
Ecological Interactions
@@ -577,13 +577,8 @@
Ecological Interactions
Commensalism
-
-
- Colonization facilitation
+ aria-hidden="true" data-symbol="symbolTriangle2"
+ data-color="#929caa"> Other
@@ -592,9 +587,8 @@
Ecological Interactions
-
Alteromonas protects Prochlorococcus by removing hydrogen peroxide and other reactive oxygen species. This detoxification service reduces oxidative stress for Prochlorococcus, which lacks catalase, and increases its growth under otherwise inhibitory peroxide and temperature conditions.
+
Alteromonas scavenging of hydrogen peroxide protects Prochlorococcus and supports growth under inhibitory peroxide and temperature conditions. Preserve this positive facilitation; it does not establish detoxification of every reactive oxygen species or a neutral fitness effect on Alteromonas.
Source Taxon: Alteromonas macleodii EZ55
@@ -633,8 +627,7 @@
Hydrogen Peroxide Cross-Protection
→ Helper-Dependent Prochlorococcus Growth
-
Alteromonas hydrogen-peroxide removal relieves oxidative stress enough to support helper-dependent Prochlorococcus growth.
-
+
Hydrogen-peroxide removal reduces oxidative inhibition and permits helper-dependent Prochlorococcus growth. Retain this source-supported direction within the laboratory assay conditions, not as a universal requirement at every density or temperature.
@@ -677,9 +670,8 @@
Evidence
-
Elevated carbon dioxide weakens the Alteromonas helper interaction by decreasing Alteromonas catalase gene expression and reducing the rate at which cocultures remove hydrogen peroxide. This makes Prochlorococcus more vulnerable to oxidative stress under projected high-CO2 conditions.
+
At 800 versus 400 ppm CO2, cocultures showed reduced Alteromonas catalase transcripts, approximately sixfold lower peroxide removal and longer Prochlorococcus post-transfer lag with greater apparent die-off. PARTIAL: catalase-mediated weakening is the authors explanation; available evidence does not isolate catalase necessity from other CO2 responses.
Source Taxon: Alteromonas macleodii EZ55
@@ -722,8 +714,7 @@
Carbon Dioxide Perturbation of Helper Function
→ Hydrogen Peroxide Cross-Protection
-
Elevated carbon dioxide lowers Alteromonas catalase expression and hydrogen-peroxide removal, weakening the helper detoxification service that protects Prochlorococcus from oxidative stress.
-
+
PARTIAL: reduced catalase expression is proposed to lower peroxide removal and weaken protection. Retain the measured treatment-associated loss of detoxification without treating transcript abundance as proof of the sole causal mediator.
@@ -766,10 +757,8 @@
Evidence
-
Peroxide scavenging by A. macleodii EZ55 lowers oxidative stress and facilitates the growth of Prochlorococcus MIT9312 at ecologically relevant cell concentrations.
-
+
Helper coculture facilitates Prochlorococcus growth under the tested peroxide and thermal conditions at ecologically relevant concentrations. Preserve the positive growth response while keeping the separate temperature and CO2 experiments distinct.
Source Taxon: Alteromonas macleodii EZ55
@@ -871,6 +860,58 @@
Associated Datasets
+
+ Knowledge gaps & discussions (1)
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ How much of the CO2 response is mediated specifically by helper catalase?
+
+
Peroxide protection remains supported and both existing directions remain. CO2-associated catalase transcription and peroxide-removal changes support a partial explanation, not exclusive mediation. Fresh abstracts were read; only introduction and early thermal methods were exposed by the public publisher archive before subsequent retrieval failures. No full-methods, supplement or figure-pixel verification is claimed. Exact strain and separate medium contexts remain #1722; missing access does not prove experiments are absent.
+
+
Attaches to: ecological_interactions#Hydrogen Peroxide Cross-Protection, ecological_interactions#Carbon Dioxide Perturbation of Helper Function, ecological_interactions#Helper-Dependent Prochlorococcus Growth
+
+
+
+
+ 2 evidence item(s)
+
+
+
+
Alteromonas facilitate the growth of Prochlorococcus by scavenging HOOH
+
Directly supports the helper-bacterium peroxide-scavenging mechanism.
+
+
+
+
+
decreased expression of the catalase gene
+
Supports decreased catalase transcription, not a catalase-specific necessity or rescue experiment.
+
+
+
+
+
+
+
+
@@ -1105,7 +1146,7 @@
Evidence
(function() {
var intId = "interaction:0";
- var intType = "COMMENSALISM";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -1147,7 +1188,7 @@
Evidence
(function() {
var intId = "interaction:1";
- var intType = "COLONIZATION_FACILITATION";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -1191,7 +1232,7 @@
Evidence
(function() {
var intId = "interaction:2";
- var intType = "COMMENSALISM";
+ var intType = "UNKNOWN";
var metabolites = [];
diff --git a/history/records/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community/2026-10-07T111703Z-codex-3554dd.yaml b/history/records/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community/2026-10-07T111703Z-codex-3554dd.yaml
new file mode 100644
index 000000000..6fe74a36c
--- /dev/null
+++ b/history/records/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community/2026-10-07T111703Z-codex-3554dd.yaml
@@ -0,0 +1,27 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml
+ slug: Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community
+session:
+ id: 2026-10-07T111703Z-codex-3554dd
+ timestamp: '2026-10-07T11:17:03Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1718
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Preserve genomic guild diversity without certifying activity or flux.; Preserve
+ proposed alcohol methanogenesis without invented cross-feeding.; Preserve predicted viral
+ links and qualify lysis and ecosystem effect.; Preserve niche explanation as an unresolved
+ ecosystem hypothesis.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml
diff --git a/history/records/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community/2026-10-07T111704Z-codex-7ce947.yaml b/history/records/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community/2026-10-07T111704Z-codex-7ce947.yaml
new file mode 100644
index 000000000..c7e475d22
--- /dev/null
+++ b/history/records/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community/2026-10-07T111704Z-codex-7ce947.yaml
@@ -0,0 +1,24 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml
+ slug: Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community
+session:
+ id: 2026-10-07T111704Z-codex-7ce947
+ timestamp: '2026-10-07T11:17:04Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1719
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Preserve oxygen-related transcript association with cohort and causal limits.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml
diff --git a/history/records/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom/2026-10-07T111705Z-codex-3af789.yaml b/history/records/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom/2026-10-07T111705Z-codex-3af789.yaml
new file mode 100644
index 000000000..109f68a8b
--- /dev/null
+++ b/history/records/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom/2026-10-07T111705Z-codex-3af789.yaml
@@ -0,0 +1,25 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml
+ slug: Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom
+session:
+ id: 2026-10-07T111705Z-codex-3af789
+ timestamp: '2026-10-07T11:17:05Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1720
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Preserve reduced arsenic and qualify transporter mediation.; Preserve host physiology
+ without unsupported mutualism or new direction.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml
diff --git a/history/records/Prochlorococcus_Alteromonas_Helper_Coculture/2026-10-07T111705Z-codex-8699b2.yaml b/history/records/Prochlorococcus_Alteromonas_Helper_Coculture/2026-10-07T111705Z-codex-8699b2.yaml
new file mode 100644
index 000000000..089ab88aa
--- /dev/null
+++ b/history/records/Prochlorococcus_Alteromonas_Helper_Coculture/2026-10-07T111705Z-codex-8699b2.yaml
@@ -0,0 +1,26 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml
+ slug: Prochlorococcus_Alteromonas_Helper_Coculture
+session:
+ id: 2026-10-07T111705Z-codex-8699b2
+ timestamp: '2026-10-07T11:17:05Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1721
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Preserve peroxide protection without broad ROS or neutral-helper assumptions.;
+ Preserve measured CO2 effects with qualified catalase-specific mediation.; Preserve positive
+ helper growth within distinct assay contexts.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml
diff --git a/kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml b/kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml
index 9a2eaac8e..19ae8c8e2 100644
--- a/kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml
+++ b/kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml
@@ -135,16 +135,10 @@ taxonomy:
explanation: Supports virus-host relationships with key sulfur- and methane-cycling guilds.
ecological_interactions:
- name: Diverse Sulfate-Reduction Guild
- description: Candidate sulfate reducers encode sulfate-reduction marker genes
- and span multiple bacterial phyla, supporting high sulfate reduction and
- carbon mineralization in Prairie Pothole wetland sediments.
- interaction_type: NICHE_PARTITIONING
+ description: 'Candidate sulfate-reducer marker genes and MAGs support diverse genomic potential. PARTIAL: predicted
+ donor use and reaction direction are not measured fluxes or experimentally confirmed sulfate reduction for each
+ genome.'
scope: COMMUNITY_LEVEL
- source_taxon:
- preferred_term: Prairie Pothole candidate sulfate reducers
- term:
- id: NCBITaxon:2
- label: Bacteria
metabolites:
- preferred_term: sulfate
term:
@@ -169,9 +163,9 @@ ecological_interactions:
label: catabolic process
downstream:
- target: Niche Differentiation In Heterogeneous Wetland Sediment
- description: Sulfate-reducer metabolic versatility is one component of the
- diversity inferred to sustain high carbon and sulfur cycling rates in the
- heterogeneous sediment matrix.
+ description: 'HYPOTHESIZED: metabolic versatility may allow sulfate-reducing guilds to occupy different sediment
+ niches and contribute to high cycling rates; substrate partitioning and its effect on ecosystem rates were
+ not experimentally isolated.'
evidence:
- reference: PMID:30086797
supports: SUPPORT
@@ -183,22 +177,16 @@ ecological_interactions:
evidence_source: COMPUTATIONAL
snippet: utilizing a wide variety of electron donors, such as methanol and other alcohols
explanation: Supports metabolic versatility among candidate sulfate reducers.
+ participating_taxa:
+ - preferred_term: Prairie Pothole candidate sulfate reducers
+ term:
+ id: NCBITaxon:2
+ label: Bacteria
- name: Alcohol-Linked Methanogenesis Potential
- description: Methanogen marker genes and reconstructed methanogen genomes
- suggest that multiple methanogenesis pathways operate in these sediments,
- with ethanol and 2-propanol hypothesized as important substrates.
- interaction_type: CROSS_FEEDING
+ description: 'HYPOTHESIZED: methanogen markers, putative alcohol dehydrogenases and porewater alcohols suggest
+ alcohol-fueled methanogenesis. These findings do not identify an interspecies producer-to-consumer transfer
+ route or quantify its contribution.'
scope: COMMUNITY_LEVEL
- source_taxon:
- preferred_term: Prairie Pothole wetland sediment microbial community
- term:
- id: NCBITaxon:131567
- label: cellular organisms
- target_taxon:
- preferred_term: Prairie Pothole methanogens
- term:
- id: NCBITaxon:2157
- label: Archaea
metabolites:
- preferred_term: methane
term:
@@ -228,22 +216,16 @@ ecological_interactions:
evidence_source: COMPUTATIONAL
snippet: these alcohols may drive a significant fraction of methanogenesis
explanation: Supports the alcohol-linked methanogenesis hypothesis in this ecosystem.
-- name: Viral Control Of Sulfate Reducers And Methanogens
- description: Novel viral populations were predicted to infect dominant
- sulfate-reducing and methanogenic hosts, suggesting top-down viral control
- over sulfur and carbon cycling guilds.
- interaction_type: PREDATION
- scope: COMMUNITY_LEVEL
- source_taxon:
- preferred_term: Prairie Pothole wetland sediment viruses
+ participating_taxa:
+ - preferred_term: Prairie Pothole methanogens
term:
- id: NCBITaxon:10239
- label: Viruses
- target_taxon:
- preferred_term: Prairie Pothole wetland sediment microbial community
- term:
- id: NCBITaxon:131567
- label: cellular organisms
+ id: NCBITaxon:2157
+ label: Archaea
+- name: Predicted Viral Links to Sulfate Reducers and Methanogens
+ description: 'Metagenomic analyses predict virus-host links. HYPOTHESIZED: infection could affect these guilds,
+ but host predictions can be false positives and do not establish current lysis or its effect on sulfur and carbon
+ cycling.'
+ scope: COMMUNITY_LEVEL
biological_processes:
- preferred_term: virus-host interaction
term:
@@ -251,9 +233,9 @@ ecological_interactions:
label: symbiont-mediated perturbation of host process
downstream:
- target: Niche Differentiation In Heterogeneous Wetland Sediment
- description: Predicted infection of dominant sulfate reducers and
- methanogens adds a viral control to the processes inferred to modulate
- wetland carbon and sulfur cycling.
+ description: 'HYPOTHESIZED: host lysis may open niche space and release substrates, potentially changing diversity
+ and cycling. Host suppression and substrate release could have opposing effects, so this existing direction
+ has no established net sign.'
evidence:
- reference: PMID:30086797
supports: SUPPORT
@@ -265,11 +247,22 @@ ecological_interactions:
evidence_source: COMPUTATIONAL
snippet: approximately 80% of viral populations being unclassified
explanation: Supports novelty of the viral populations involved in the interaction.
+ participating_taxa:
+ - preferred_term: Prairie Pothole candidate sulfate reducers
+ term:
+ id: NCBITaxon:2
+ label: Bacteria
+ - preferred_term: Prairie Pothole methanogens
+ term:
+ id: NCBITaxon:2157
+ label: Archaea
+ - preferred_term: Prairie Pothole wetland sediment viruses
+ term:
+ id: NCBITaxon:10239
+ label: Viruses
- name: Niche Differentiation In Heterogeneous Wetland Sediment
- description: The source study concludes that microbial diversity, metabolic
- versatility, dynamic environmental conditions, viral infection, and sediment
- niche differentiation together modulate carbon and sulfur cycling.
- interaction_type: NICHE_PARTITIONING
+ description: 'HYPOTHESIZED: diversity, metabolic versatility, local geochemistry and viral activity may jointly
+ explain heterogeneous niches and high cycling rates. The study does not resolve their causal contributions.'
scope: COMMUNITY_LEVEL
metabolites:
- preferred_term: methane
@@ -294,12 +287,29 @@ ecological_interactions:
supports: SUPPORT
evidence_source: COMPUTATIONAL
snippet: diversity is likely key to extremely high rates of methanogenesis and sulfate reduction
- explanation: Supports diversity as a mechanism for high biogeochemical rates.
+ explanation: Supports the authors proposed diversity explanation, not an experimentally isolated mechanism.
- reference: PMID:30086797
supports: SUPPORT
evidence_source: COMPUTATIONAL
snippet: modulating carbon and sulfur cycling in this ecosystem
explanation: Supports ecosystem-scale relevance of the inferred interactions.
+ participating_taxa:
+ - preferred_term: Prairie Pothole wetland sediment microbial community
+ term:
+ id: NCBITaxon:131567
+ label: cellular organisms
+ - preferred_term: Prairie Pothole candidate sulfate reducers
+ term:
+ id: NCBITaxon:2
+ label: Bacteria
+ - preferred_term: Prairie Pothole methanogens
+ term:
+ id: NCBITaxon:2157
+ label: Archaea
+ - preferred_term: Prairie Pothole wetland sediment viruses
+ term:
+ id: NCBITaxon:10239
+ label: Viruses
environmental_factors:
- name: Prairie Pothole wetland sediment
value: North American Prairie Pothole Region
@@ -445,3 +455,37 @@ rare_earth_elements_present: []
metal_relevance: NOT_APPLICABLE
metal_notes: No metal or rare earth element processing role is curated for this
Prairie Pothole wetland sulfur-carbon virus-host community.
+discussions:
+- discussion_id: prairie-genomic-potential-and-viral-effect-sign
+ prompt: Which predicted activities and viral effects control measured ecosystem rates?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ posed_by: codex
+ rationale: Retain the genomic findings and both proposed directions. Candidate genomes do not guarantee sulfate-reduction
+ direction; alcohol use and viral host links remain inferred. Viral suppression versus release of labile substrates
+ could lower or raise cycling rates. Exact activities, lysis and net effects need experiments; no new arrows
+ were added.
+ attaches_to:
+ - ecological_interactions#Diverse Sulfate-Reduction Guild
+ - ecological_interactions#Alcohol-Linked Methanogenesis Potential
+ - ecological_interactions#Predicted Viral Links to Sulfate Reducers and Methanogens
+ - ecological_interactions#Niche Differentiation In Heterogeneous Wetland Sediment
+ evidence:
+ - reference: PMID:30086797
+ supports: SUPPORT
+ evidence_source: COMPUTATIONAL
+ snippet: these alcohols may drive a significant fraction of methanogenesis
+ explanation: Supports the alcohol-linked methanogenesis hypothesis in this ecosystem.
+ - reference: PMID:30086797
+ supports: SUPPORT
+ evidence_source: COMPUTATIONAL
+ snippet: viral populations were predicted to target dominant sulfate reducers and methanogens
+ explanation: Supports virus-host targeting of key sulfur- and methane-cycling guilds.
+curation_history:
+- timestamp: '2026-10-07T11:16:58Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Preserve genomic guild diversity without certifying activity or flux.; Preserve proposed alcohol methanogenesis
+ without invented cross-feeding.; Preserve predicted viral links and qualify lysis and ecosystem effect.; Preserve
+ niche explanation as an unresolved ecosystem hypothesis. Issue #1718; reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml'
+ llm_assisted: true
diff --git a/kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml b/kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml
index 368c51e11..d5f336e54 100644
--- a/kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml
+++ b/kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml
@@ -54,11 +54,10 @@ taxonomy:
explanation: Supports the Escherichia spp. members and cohort.
ecological_interactions:
- name: Higher Low-Oxygen Diametric Ratios in NEC Samples
- description: Diametric ratios of genes associated with low oxygen levels
- were significantly higher in samples from infants later diagnosed with
- NEC than in samples without NEC, suggesting hypoxic conditions in the
- NEC-developing gut.
- interaction_type: COMMENSALISM
+ description: Escherichia transcript ratios associated with low oxygen were higher in samples from infants later
+ diagnosed with NEC. This four-infant observational result suggests lower oxygen exposure, not directly measured
+ hypoxia, microbial commensalism or proof of NEC causation. Twenty repeated samples are not twenty independent
+ infants.
scope: COMMUNITY_LEVEL
metabolites:
- preferred_term: oxygen
@@ -74,60 +73,15 @@ ecological_interactions:
- reference: PMID:32130257
supports: SUPPORT
evidence_source: IN_VIVO
- snippet: significantly higher diametric ratios of genes associated with
- low oxygen levels in samples of infants later diagnosed with NEC than
- in samples without NEC
- explanation: Supports the curated NEC-versus-non-NEC oxygen-condition
- difference.
-- name: Diametric-Ratio Generalizes to Other Conditions
- description: The diametric-ratio method extends beyond oxygen to examine
- other physiological conditions such as nitric oxide exposure and
- osmotic pressure.
- interaction_type: COMMENSALISM
- scope: COMMUNITY_LEVEL
- metabolites:
- - preferred_term: nitric oxide
- term:
- id: CHEBI:16480
- label: nitric oxide
- biological_processes:
- - preferred_term: response to osmotic stress
- term:
- id: GO:0006970
- label: response to osmotic stress
- evidence:
- - reference: PMID:32130257
- supports: SUPPORT
- evidence_source: IN_VIVO
- snippet: this method can be used for examining other physiological
- conditions, such as exposure to nitric oxide and osmotic pressure
- explanation: Supports the method generalization.
-- name: MAG-Anchored Diametric-Ratio In Situ Physiology
- description: Sample-specific metagenome-assembled genomes (MAGs) anchored
- transcript mapping, and transcript ratios of genes with opposite
- transcription responses (the diametric-ratio method) eliminated biases
- related to organism abundance.
- interaction_type: COMMENSALISM
- scope: COMMUNITY_LEVEL
- biological_processes:
- - preferred_term: gene expression
+ snippet: significantly higher diametric ratios of genes associated with low oxygen levels in samples of infants
+ later diagnosed with NEC than in samples without NEC
+ explanation: Supports the observed transcript-ratio association; physiological interpretation is indirect and
+ confounded.
+ participating_taxa:
+ - preferred_term: premature-infant-gut Escherichia spp.
term:
- id: GO:0010467
- label: gene expression
- evidence:
- - reference: PMID:32130257
- supports: SUPPORT
- evidence_source: IN_VIVO
- snippet: Sample-specific meta-genomic assembled genomes (MAGs) were used
- as reference genomes to accurately identify the origin of RNA reads
- explanation: Supports the MAG-anchored mapping.
- - reference: PMID:32130257
- supports: SUPPORT
- evidence_source: IN_VIVO
- snippet: transcript ratios of genes with opposite transcription responses
- were compared to eliminate biases related to differences in organismal
- abundance
- explanation: Supports the curated diametric-ratio method.
+ id: NCBITaxon:561
+ label: Escherichia
environmental_factors:
- name: Cohort composition
value: 4 premature infants, 2 with NEC, 20 fecal samples
@@ -169,7 +123,38 @@ curation_history:
- timestamp: '2026-10-02T06:00:47Z'
curator: codex
action: REPAIR_CAUSAL_GRAPH
- changes: Removed two diametric-ratio analysis edges that linked MAG-resolved
- transcript mapping to later NEC oxygen-ratio comparisons and method
- generalization rather than to biological causal outcomes.
+ changes: Removed two diametric-ratio analysis edges that linked MAG-resolved transcript mapping to later NEC oxygen-ratio
+ comparisons and method generalization rather than to biological causal outcomes.
+ llm_assisted: true
+- timestamp: '2026-10-07T11:17:01Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Preserve oxygen-related transcript association with cohort and causal limits. Issue #1719; reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml'
llm_assisted: true
+discussions:
+- discussion_id: infant-ratios-versus-causal-physiology
+ prompt: Do transcript-ratio differences reflect NEC-related physiology or cohort confounding?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ posed_by: codex
+ rationale: 'MAG mapping and diametric ratios are analytical methods, not ecological interactions. Full text reports
+ lower NO-related ratios in NEC and an osmotic-ratio difference, but the latter significance wording conflicts
+ with a printed p>0.05. Gestational age, delivery mode and birth weight differ between the two NEC and two control
+ infants. Preserve those observations without diagnostic validation or causal arrows. Methods remain in the record
+ description. Non-graph interpretation and source inconsistency remain #1722.'
+ attaches_to:
+ - ecological_interactions#Higher Low-Oxygen Diametric Ratios in NEC Samples
+ evidence:
+ - reference: PMID:32130257
+ supports: SUPPORT
+ evidence_source: IN_VIVO
+ snippet: significantly higher diametric ratios of genes associated with low oxygen levels in samples of infants
+ later diagnosed with NEC than in samples without NEC
+ explanation: Supports the observed transcript-ratio association; physiological interpretation is indirect and
+ confounded.
+ - reference: PMID:32130257
+ supports: SUPPORT
+ evidence_source: IN_VIVO
+ snippet: this method can be used for examining other physiological conditions, such as exposure to nitric oxide
+ and osmotic pressure
+ explanation: Supports the method generalization.
diff --git a/kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml b/kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml
index 606c37690..0b06d1753 100644
--- a/kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml
+++ b/kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml
@@ -114,12 +114,9 @@ taxonomy:
explanation: Identifies Oryza sativa var. Sarju-52 as the host plant assayed with the SynCom.
ecological_interactions:
- name: SynCom restriction of rice arsenic accumulation
- description: >-
- Inoculation with the Priestia flexa and Pseudomonas putida SynCom
- substantially reduced arsenic accumulation in rice roots, shoots and grains
- by coordinating down-regulation of arsenic-transporter genes that drive
- arsenic uptake and internal translocation.
- interaction_type: MUTUALISM
+ description: 'The Priestia flexa and Pseudomonas putida SynCom reduced arsenic accumulation in rice roots, shoots
+ and grains. PARTIAL: the abstract attributes this effect to coordinated transporter-gene downregulation; accessible
+ evidence does not establish transporter necessity, individual-strain contribution or reciprocal microbial benefit.'
scope: COMMUNITY_LEVEL
biological_processes:
- preferred_term: response to toxic substance
@@ -130,24 +127,32 @@ ecological_interactions:
- reference: PMID:42691895
supports: SUPPORT
evidence_source: IN_VIVO
- snippet: >-
- SynCom substantially reduced arsenic accumulation in roots, shoots and
- grains by coordinate downregulation of arsenic transporter genes
- explanation: >-
- Links the whole SynCom to lowered arsenic accumulation and to suppression
- of rice arsenic-transporter gene expression.
+ snippet: SynCom substantially reduced arsenic accumulation in roots, shoots and grains by coordinate downregulation
+ of arsenic transporter genes
+ explanation: Supports the reported whole-SynCom endpoint and proposed transporter explanation, not mediator-specific
+ intervention proof.
- reference: PMID:42691895
supports: SUPPORT
evidence_source: IN_VIVO
snippet: Lsi1, Lsi2, Lsi3, OsNIP1;1, and OsNIP3;3
explanation: Names the rice arsenic-transporter genes that were coordinately down-regulated by SynCom treatment.
+ participating_taxa:
+ - preferred_term: Priestia flexa
+ term:
+ id: NCBITaxon:86664
+ label: Priestia flexa
+ - preferred_term: Pseudomonas putida
+ term:
+ id: NCBITaxon:303
+ label: Pseudomonas putida
+ - preferred_term: Oryza sativa var. Sarju-52
+ term:
+ id: NCBITaxon:4530
+ label: Oryza sativa
- name: SynCom restoration of rice stress physiology
- description: >-
- The two-member SynCom restored host photosynthetic and metabolic function
- under arsenic exposure, with improved photosynthesis, increased soluble
- sugars, reduced proline accumulation, and suppression of overactive
- antioxidant-enzyme responses.
- interaction_type: MUTUALISM
+ description: SynCom inoculation improved photosynthesis and soluble sugars and reduced proline accumulation and
+ antioxidant-enzyme overactivation under arsenic stress. Preserve these positive rice responses without asserting
+ reciprocal mutualism or an untested causal direction between these composite outcome nodes.
scope: COMMUNITY_LEVEL
biological_processes:
- preferred_term: response to stress
@@ -158,13 +163,23 @@ ecological_interactions:
- reference: PMID:42691895
supports: SUPPORT
evidence_source: IN_VIVO
- snippet: >-
- Inoculation with SynCom restored physiological function and metabolic
- balance, as evidenced by improved photosynthesis, increased soluble
- sugars, and reduced proline accumulation.
- explanation: >-
- Supports improved host photosynthetic and metabolic performance under
- arsenic stress after SynCom inoculation.
+ snippet: Inoculation with SynCom restored physiological function and metabolic balance, as evidenced by improved
+ photosynthesis, increased soluble sugars, and reduced proline accumulation.
+ explanation: Supports improved host photosynthetic and metabolic performance under arsenic stress after SynCom
+ inoculation.
+ participating_taxa:
+ - preferred_term: Priestia flexa
+ term:
+ id: NCBITaxon:86664
+ label: Priestia flexa
+ - preferred_term: Pseudomonas putida
+ term:
+ id: NCBITaxon:303
+ label: Pseudomonas putida
+ - preferred_term: Oryza sativa var. Sarju-52
+ term:
+ id: NCBITaxon:4530
+ label: Oryza sativa
environmental_factors:
- name: Arsenite and arsenate stress
value: As(III), 18 mg/kg; As(V), 50 mg/kg
@@ -202,3 +217,38 @@ metal_relevance: SIGNIFICANT
metal_notes: >-
Arsenic is the defining metalloid stressor in this SynCom assay but is not one
of the MetalEnum values available in this schema.
+discussions:
+- discussion_id: rice-transporter-mediation-and-partner-benefit
+ prompt: Which bacterial activities and host transporters mediate the SynCom benefit?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ posed_by: codex
+ rationale: The accessible abstract supports two-member inoculation, arsenic restriction and host physiological
+ improvement. Full text was unavailable. It does not establish reciprocal benefit, strain necessity or a direction
+ between the two existing outcome nodes. Transporter downregulation remains the authors explanation, with causal
+ mediation qualified; no new structure is needed for this repair.
+ attaches_to:
+ - ecological_interactions#SynCom restriction of rice arsenic accumulation
+ - ecological_interactions#SynCom restoration of rice stress physiology
+ evidence:
+ - reference: PMID:42691895
+ supports: SUPPORT
+ evidence_source: IN_VIVO
+ snippet: SynCom substantially reduced arsenic accumulation in roots, shoots and grains by coordinate downregulation
+ of arsenic transporter genes
+ explanation: Supports the reported whole-SynCom endpoint and proposed transporter explanation, not mediator-specific
+ intervention proof.
+ - reference: PMID:42691895
+ supports: SUPPORT
+ evidence_source: IN_VIVO
+ snippet: Inoculation with SynCom restored physiological function and metabolic balance, as evidenced by improved
+ photosynthesis, increased soluble sugars, and reduced proline accumulation.
+ explanation: Supports improved host photosynthetic and metabolic performance under arsenic stress after SynCom
+ inoculation.
+curation_history:
+- timestamp: '2026-10-07T11:17:02Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Preserve reduced arsenic and qualify transporter mediation.; Preserve host physiology without unsupported
+ mutualism or new direction. Issue #1720; reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml'
+ llm_assisted: true
diff --git a/kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml b/kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml
index 3a3e965d0..2fde6270d 100644
--- a/kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml
+++ b/kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml
@@ -134,10 +134,9 @@ taxonomy:
explanation: Supports Alteromonas EZ55 as the paired heterotrophic member.
ecological_interactions:
- name: Hydrogen Peroxide Cross-Protection
- description: Alteromonas protects Prochlorococcus by removing hydrogen peroxide and other reactive oxygen
- species. This detoxification service reduces oxidative stress for Prochlorococcus, which lacks catalase,
- and increases its growth under otherwise inhibitory peroxide and temperature conditions.
- interaction_type: COMMENSALISM
+ description: Alteromonas scavenging of hydrogen peroxide protects Prochlorococcus and supports growth under inhibitory
+ peroxide and temperature conditions. Preserve this positive facilitation; it does not establish detoxification
+ of every reactive oxygen species or a neutral fitness effect on Alteromonas.
scope: PAIRWISE
source_taxon:
preferred_term: Alteromonas macleodii EZ55
@@ -162,9 +161,9 @@ ecological_interactions:
label: response to oxidative stress
downstream:
- target: Helper-Dependent Prochlorococcus Growth
- description: >
- Alteromonas hydrogen-peroxide removal relieves oxidative stress enough to
- support helper-dependent Prochlorococcus growth.
+ description: Hydrogen-peroxide removal reduces oxidative inhibition and permits helper-dependent Prochlorococcus
+ growth. Retain this source-supported direction within the laboratory assay conditions, not as a universal
+ requirement at every density or temperature.
evidence:
- reference: PMID:29087377
supports: SUPPORT
@@ -177,10 +176,10 @@ ecological_interactions:
snippet: lacks the gene catalase and relies on 'helper' bacteria
explanation: Supports the dependence of Prochlorococcus on helper bacteria for oxidative stress relief.
- name: Carbon Dioxide Perturbation of Helper Function
- description: Elevated carbon dioxide weakens the Alteromonas helper interaction by decreasing Alteromonas
- catalase gene expression and reducing the rate at which cocultures remove hydrogen peroxide. This
- makes Prochlorococcus more vulnerable to oxidative stress under projected high-CO2 conditions.
- interaction_type: COLONIZATION_FACILITATION
+ description: 'At 800 versus 400 ppm CO2, cocultures showed reduced Alteromonas catalase transcripts, approximately
+ sixfold lower peroxide removal and longer Prochlorococcus post-transfer lag with greater apparent die-off. PARTIAL:
+ catalase-mediated weakening is the authors explanation; available evidence does not isolate catalase necessity
+ from other CO2 responses.'
scope: PAIRWISE
source_taxon:
preferred_term: Alteromonas macleodii EZ55
@@ -208,27 +207,24 @@ ecological_interactions:
label: response to oxidative stress
downstream:
- target: Hydrogen Peroxide Cross-Protection
- description: >
- Elevated carbon dioxide lowers Alteromonas catalase expression and
- hydrogen-peroxide removal, weakening the helper detoxification service
- that protects Prochlorococcus from oxidative stress.
+ description: 'PARTIAL: reduced catalase expression is proposed to lower peroxide removal and weaken protection.
+ Retain the measured treatment-associated loss of detoxification without treating transcript abundance as proof
+ of the sole causal mediator.'
evidence:
- reference: doi:10.1038/ismej.2017.189
supports: SUPPORT
evidence_source: IN_VITRO
snippet: decreased expression of the catalase gene
- explanation: Supports the mechanism by which elevated CO2 perturbs Alteromonas helper function.
+ explanation: Supports decreased catalase transcription, not a catalase-specific necessity or rescue experiment.
- reference: doi:10.1038/ismej.2017.189
supports: SUPPORT
evidence_source: IN_VITRO
snippet: decrease in removal rates of hydrogen peroxide
explanation: Supports reduced peroxide detoxification under elevated CO2.
- name: Helper-Dependent Prochlorococcus Growth
- description: >
- Peroxide scavenging by A. macleodii EZ55 lowers oxidative stress and
- facilitates the growth of Prochlorococcus MIT9312 at ecologically relevant
- cell concentrations.
- interaction_type: COMMENSALISM
+ description: Helper coculture facilitates Prochlorococcus growth under the tested peroxide and thermal conditions
+ at ecologically relevant concentrations. Preserve the positive growth response while keeping the separate temperature
+ and CO2 experiments distinct.
scope: PAIRWISE
source_taxon:
preferred_term: Alteromonas macleodii EZ55
@@ -260,9 +256,10 @@ ecological_interactions:
supports: SUPPORT
evidence_source: IN_VITRO
snippet: Alteromonas facilitate the growth of Prochlorococcus by scavenging HOOH
- explanation: >
- Supports helper-bacterium peroxide scavenging as a mechanism that
- facilitates Prochlorococcus growth.
+ explanation: 'Supports helper-bacterium peroxide scavenging as a mechanism that facilitates Prochlorococcus
+ growth.
+
+ '
environmental_factors:
- name: Hydrogen peroxide stress
value: Ambient to elevated HOOH treatments
@@ -358,3 +355,37 @@ growth_media:
μmol photons m−2 s−1 on a 14:10 light–dark cycle.'
explanation: Gives incubation temperature (21 °C), light intensity (150 µmol photons
m-2 s-1), and photoperiod (14:10 light:dark).
+discussions:
+- discussion_id: helper-detoxification-versus-co2-mediation
+ prompt: How much of the CO2 response is mediated specifically by helper catalase?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ posed_by: codex
+ rationale: 'Peroxide protection remains supported and both existing directions remain. CO2-associated catalase
+ transcription and peroxide-removal changes support a partial explanation, not exclusive mediation. Fresh abstracts
+ were read; only introduction and early thermal methods were exposed by the public publisher archive before subsequent
+ retrieval failures. No full-methods, supplement or figure-pixel verification is claimed. Exact strain and separate
+ medium contexts remain #1722; missing access does not prove experiments are absent.'
+ attaches_to:
+ - ecological_interactions#Hydrogen Peroxide Cross-Protection
+ - ecological_interactions#Carbon Dioxide Perturbation of Helper Function
+ - ecological_interactions#Helper-Dependent Prochlorococcus Growth
+ evidence:
+ - reference: PMID:29087377
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: Alteromonas facilitate the growth of Prochlorococcus by scavenging HOOH
+ explanation: Directly supports the helper-bacterium peroxide-scavenging mechanism.
+ - reference: doi:10.1038/ismej.2017.189
+ supports: SUPPORT
+ evidence_source: IN_VITRO
+ snippet: decreased expression of the catalase gene
+ explanation: Supports decreased catalase transcription, not a catalase-specific necessity or rescue experiment.
+curation_history:
+- timestamp: '2026-10-07T11:17:02Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Preserve peroxide protection without broad ROS or neutral-helper assumptions.; Preserve measured CO2
+ effects with qualified catalase-specific mediation.; Preserve positive helper growth within distinct assay contexts.
+ Issue #1721; reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml'
+ llm_assisted: true
diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md
index e49990a49..8b0c34c58 100644
--- a/reports/causal_graph_review/README.md
+++ b/reports/causal_graph_review/README.md
@@ -5,6 +5,24 @@ source-based self-adversarial review. These records are not independent approval
or proof that every graph is complete. The current inventory and summary distinguish
`reviewed`, `pending` and `needs_research`.
+## Batch87: Wetland, Infant Gut, Rice And Helper Coculture
+
+[Decisions](decisions/20261007-four-records-batch87.yaml),
+[validation](validation-20261007-batch87.json) and
+[self-adversarial review](adversarial-review-20261007-batch87.yaml) cover
+12 original nodes and four arrows. Ten nodes and all four directions remain;
+two infant-analysis method nodes are removed. Positive genomic findings,
+transcript-ratio associations, rice benefits and helper protection remain.
+Viral effects and niche mechanisms are hypotheses; transporter and catalase
+mediation are qualified separately from measured treatment outcomes.
+
+Two primary main texts and three other abstracts were read. Helper full-text
+retrieval failed after a partial publisher extraction, so full methods and
+supplements are not certified. All 921 caches, 456 other records and raw
+non-graph blocks are preserved. Repairs #1718-#1721 await protected-main merge;
+non-graph #1722 stays open. No new graph topology or paid Edison job was added.
+Self-review is not independent approval or completion of the corpus.
+
## Batch85: Denitrification, Beverage, Refinery And Pine
[Decisions](decisions/20261007-four-records-batch85.yaml),
diff --git a/reports/causal_graph_review/adversarial-review-20261007-batch87.yaml b/reports/causal_graph_review/adversarial-review-20261007-batch87.yaml
new file mode 100644
index 000000000..bae9b9188
--- /dev/null
+++ b/reports/causal_graph_review/adversarial-review-20261007-batch87.yaml
@@ -0,0 +1,209 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: 00d6309f1d3f48a891807dcf0ffcb2250d267e33
+scope:
+- kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml
+- kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml
+- kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml
+- kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml
+decision_ledger: reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml
+validation_report: reports/causal_graph_review/validation-20261007-batch87.json
+findings:
+- issue: 1718
+ severity: P2
+ status: addressed_in_this_change
+ finding: Qualify Prairie Pothole genomic guilds and unresolved viral causal effects
+ disposition: Close only after protected-main merge.
+- issue: 1719
+ severity: P2
+ status: addressed_in_this_change
+ finding: Remove infant analytical workflow nodes and bound oxygen-NEC association
+ disposition: Close only after protected-main merge.
+- issue: 1720
+ severity: P2
+ status: addressed_in_this_change
+ finding: Bound rice SynCom benefit to host endpoints without reciprocal mutualism
+ disposition: Close only after protected-main merge.
+- issue: 1721
+ severity: P2
+ status: addressed_in_this_change
+ finding: Separate helper peroxide protection from qualified CO2 catalase mediation
+ disposition: Close only after protected-main merge.
+- issue: 1722
+ severity: P2
+ status: unresolved_non_graph
+ finding: Reconcile helper strain context and infant non-graph interpretation
+ disposition: Keep OPEN after graph repairs.
+adversarial_checks:
+- Fresh both-root baseline preceded papers. All12originalnodes4arrows have dispositions:10nodes4arrows retained;
+ two infant analytical-method nodes removed; no new topology.
+- Prairie genes, MAGs and predicted host links remain positive findings. Genomic potential is not measured flux
+ or reaction direction. Alcohol-fueled methanogenesis remains hypothesized without invented producer-to-consumer
+ cross-feeding.
+- Prairie niche and viral arrows remain explicitly HYPOTHESIZED. The primary discussion warns of false-positive
+ host links and opposing possible effects of host suppression versus substrate release. No established sign of
+ ecosystem effect or measured lysis is claimed.
+- Infant four-person observational oxygen-ratio signal is preserved, not direct oxygen measurement, NEC causation
+ or diagnostic validation. Twenty repeated samples are not independent infants. Methods belong in context; NO/osmotic
+ observations and source significance discrepancy remain explicit.
+- Rice positive arsenic and host physiology endpoints survive. Transporter downregulation is retained as the primary
+ authors explanation with PARTIAL mediation. Two bacteria and rice host receive canonical participant labels, without
+ claiming reciprocal mutualism or drawing an unsupported endpoint-to-endpoint arrow.
+- Helper peroxide detoxification and growth benefit survive as a supported direction. CO2 treatment results remain
+ positive observations, including catalase transcription, sixfold peroxide-removal reduction and lag/apparent die-off.
+ PARTIAL catalase mediation does not imply those measurements are merely hypothetical.
+- Helper removes all-ROS, neutral-helper-fitness and colonization classifications unsupported by cited snippets.
+ Separate thermal and CO2 assays remain distinct. Missing access is not evidence that perturbations were never
+ performed. VOL4/strain/medium context is a non-graph follow-up, not silently edited.
+- Two fresh main texts read, three other abstracts read; only initial helper thermal methods exposed by public browser
+ extraction. No full helper main-text, separate supplement, raw-data or figure-pixel audit. Failed requests and
+ discarded unrelated DOI/PMC guesses are disclosed; no paywall bypass.
+- All921caches,456otherrecords and raw non-graph blocks preserved. Four append-only histories and ten focused tests.
+ Three participant-list users added; census and all51warning entries unchanged; no structural defects or auditor-rule
+ edits.
+- Actual local gates and deterministic HTML-description checks ran; they are not browser screenshots or generated-model
+ load certification. Loader1703 remains open. Repairs1718-1721await protected-main merge; metadata1722 staysopen.
+ No paid Edison job or inferred spend authorization; self-review is not independent approval or corpus completion.
+verification:
+ combined_regressions: 786 passed in 236.68s (0:03:56)
+ new_regression_tests: 10
+ primary_graph_snippet_proof:
+ primary_graph_quotations: 17
+ primary_discussion_quotations: 8
+ retained_nodes: 10
+ removed_nodes: 2
+ retained_arrows: 4
+ removed_arrows: 0
+ new_topology: 0
+ primary_main_texts_read: 2
+ other_primary_abstracts_read: 3
+ helper_partial_publisher_access: Introduction and early thermal methods only; no full methods/results/discussion
+ or local full-text artifact.
+ cache_changes: 0
+ references: Four full-record reference-validator runs passed. CLI Total checks counts issues, not executed checks.
+ Seventeen graph and eight discussion quotations independently match primary extracts and existing caches; literal
+ matching is not entailment. Rice and helper evidence is abstract-bounded, not whole-methods verification.
+ snippet_counts_by_record:
+ kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml:
+ MATCH: 28
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml:
+ MATCH: 6
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml:
+ MATCH: 11
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml:
+ MATCH: 19
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ full_corpus_snippet_audit:
+ caveat: Both-root recipe executed. Informational exit0 does not certify a clean corpus; four focused snippet
+ gates pass independently.
+ output: "# 8907 evidence snippets scanned across 460 files\n MATCH 8772\n RENDERING 20\n ASSEMBLED\
+ \ 1\n WEAK 0\n MISMATCH 38\n NOCONTENT 76\n\n# Files with MISMATCH/WEAK (content present but\
+ \ snippet absent) \u2014 fabrication suspects\n 19 (19 hard) kb/communities/DCPP_DBS4_DCP4_DCP11d_Degradation_SynCom.yaml\n\
+ \ 15 (15 hard) kb/communities/Fucoidan_Seven_Degrader_Combinatorial_SynCom.yaml\n 3 (3 hard) kb/communities/Coscinodiscus_Synthetic_Community.yaml\n\
+ \ 1 (1 hard) kb/communities/Altered_Schaedler_Flora_Gnotobiotic_Mouse_Community.yaml\nuv run python scripts/evidence_snippet_audit.py\
+ \ \n"
+ network:
+ existing_findings_preserved: 51
+ added_findings: {}
+ removed_findings: {}
+ interpretation: All51existing warning entries preserved; zero structural defects. No taxonomy or auditor-rule
+ changes.
+ tested_file_sha256:
+ reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml: 87ea16ec0e5a5f804d35a8c2a9f1ac5a5ef7a7417de4bb1f108fae086bc6beb7
+ tests/test_causal_review_batch87.py: 995f79c99694242e49ee164e0a0141ad9f1c5d442c2febe6b2b207ee2972e3c8
+ tests/test_participating_taxa.py: 8a721adff42c1a05cc7f1830fda1dca74b0c3c83f07d8dc1ecaa24b6b5417547
+ kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml: 308c9b0010ffed9d84d8e99cd1365b2d46ce98ea19957d09a679a7c2855681e9
+ kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml: 3e501c7d6ab82739e66c7d78b1191589c2a784ebb8dc12b820f0b319cf2a1abf
+ kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml: ff8f7cc7901006581e7df1c86ec9a4ddb371cde42fe0d48e0212de275860cf91
+ kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml: e61cbc9c58aa1d2fbd87cda0251d7ffb3d22fedb5837387d6b28ed9c56f3d801
+ reports/causal_graph_review/README.md: 0d23c761be4a069599b36dba27e478e4213175dac5424d61483fde1cd20532a7
+ unchanged_records: 456
+ unchanged_caches: 921
+ cache_changes: []
+ edison:
+ required_for_this_repair: false
+ required_for_unresolved_extensions: false
+ provider_submissions: 0
+ credits_spent: 0
+ dry_runs: []
+ post_commit_docs_current: Separate publication gate, not preasserted.
+participant_census:
+ measurements:
+ baseline:
+ records: 460
+ with_community_level: 395
+ mixed: 126
+ community_level_only: 269
+ taxa: 1521
+ credited_solely_by_the_rule: 1247
+ current:
+ records: 460
+ with_community_level: 395
+ mixed: 126
+ community_level_only: 269
+ taxa: 1521
+ credited_solely_by_the_rule: 1247
+ delta:
+ records: 0
+ with_community_level: 0
+ mixed: 0
+ community_level_only: 0
+ taxa: 0
+ credited_solely_by_the_rule: 0
+ interpretation: Community-level census unchanged; three records gain explicit canonical participant lists. No
+ canonical taxon or auditor-rule change.
+corpus:
+ records: 460
+ nodes: 1423
+ edges: 586
+ review_status_counts:
+ needs_research: 48
+ pending: 144
+ reviewed: 268
+limitations:
+- Fresh two-root baseline before sources:460records921caches,1425nodes586arrows,51warnings and zero structural defects.
+ All12originalnodes4arrows reviewed;10nodes4arrows retained, two analytical-method nodes removed.
+- Prairie and infant primary main methods/results/discussion and embedded captions read from fresh XML. No separate
+ supplements, raw data or figure-pixel review. Prairie appended bibliography/associated-data content is not a read
+ set of cited papers.
+- Rice and both helper abstracts read. EuropePMC helper XML returned500 after bounded retries; publisher download
+ returned403. Public browser exposed thermal introduction/early methods only. No whole helper methods/results/discussion
+ or supplement review. Wrong initially guessed PMC6081809 and ismej2017188 resolve to unrelated publications and
+ were discarded, never used as evidence.
+- Prairie positive gene/MAG/host-link observations retained; activity, cross-feeding, lysis and net viral effect
+ remain inferred. Both proposed ecosystem directions remain HYPOTHESIZED, not blanket deletion of source findings.
+- Infant positive oxygen-ratio association retained with four-infant confounding. Methods removed from graph, positive
+ NO/osmotic context retained in discussion. No direct oxygen measurement, validated diagnosis or NEC causal arrow
+ claimed.
+- Rice retains arsenic restriction and physiological improvement with PARTIAL transporter mediation; no reciprocal
+ mutualism or arbitrary arrow between composite endpoints. Helper retains peroxide-to-growth direction and measured
+ CO2 effects, with PARTIAL catalase-specific mediation.
+- 456otherrecords, all921caches and raw non-graph record blocks preserved. No taxonomy or audit-rule edits. Non-graph1722
+ and preexisting loader1703 remain OPEN; graph review is not whole-record certification.
+- Dedup990all-state issue titles/bodies and23ignored/hidden local matches; .git/docs/site/references_cache excluded,
+ relevant caches separately inspected. Closed258/419 read; no semantic duplicate identified within this declared
+ scope, not an exhaustive comment/PR search.
+- No added topology, Edison dry run or paid submission in this batch; no spend authorization inferred. Earlier pending
+ and denied scopes unchanged. Repairs1718-1721close only after protected-main merge;1722staysOPEN.
+- Validation, rendering, publication and exact-head review are subsequent actual gates, not preasserted. Self-adversarial
+ review is not independent approval or corpus completion.
diff --git a/reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml b/reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml
new file mode 100644
index 000000000..7ce1a9e5a
--- /dev/null
+++ b/reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml
@@ -0,0 +1,533 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+source_access:
+- reference: PMID:30086797
+ url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC6081815/fullTextXML
+ accessed_scope: Primary abstract and complete main body, embedded tables and captions; not separate supplements,
+ raw data or original figure pixels.
+ fulltext_error: null
+- reference: PMID:32130257
+ url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC7055874/fullTextXML
+ accessed_scope: Primary abstract and complete main body, embedded tables and captions; not separate supplements,
+ raw data or original figure pixels.
+ fulltext_error: null
+- reference: PMID:42691895
+ url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A42691895+AND+SRC%3AMED&format=json&resultType=core
+ accessed_scope: Primary abstract only; full text not available through Europe PMC.
+ fulltext_error: null
+- reference: PMID:29087377
+ url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A29087377+AND+SRC%3AMED&format=json&resultType=core
+ accessed_scope: Primary abstract only; full text not available through Europe PMC.
+ fulltext_error: Primary XML request returned HTTP500; no full text retrieved.
+- reference: doi:10.1038/ismej.2017.189
+ url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=DOI%3A10.1038%2Fismej.2017.189&format=json&resultType=core
+ accessed_scope: Primary abstract only; full text not available through Europe PMC.
+ fulltext_error: Primary XML request returned HTTP500; no full text retrieved.
+- reference: PMID:29087377
+ url: https://academic.oup.com/ismej/article/12/2/473/7475402
+ accessed_scope: 'Public browser extraction exposed introduction and early methods through quantification heading.
+ Whole methods/results/discussion NOT read: subsequent requests failed. Methods distinguish VOL4 as MIT9312 derivative;
+ this supports metadata follow-up only. No local full-text artifact obtained.'
+base_commit: 00d6309f1d3f48a891807dcf0ffcb2250d267e33
+baseline_commit: 00d6309f1d3f48a891807dcf0ffcb2250d267e33
+base_tree: 1f4a0e3cda1ea8054239e14db2bd1df3d081df67
+pre_source_baseline_sha256: eb5f1a3f39c4d0d20d1058402272f60e05a4c83a4efb0871e6a68f9acc561b55
+issues:
+- 1718
+- 1719
+- 1720
+- 1721
+unresolved_research_issues: []
+unresolved_non_graph_issues:
+- 1722
+issue_deduplication:
+ all_state_issue_titles_and_bodies: 990
+ ignored_hidden_local_search: true
+ matching_issues:
+ - 258
+ - 419
+primary_artifacts:
+ /private/tmp/communitymech-batch87/baseline.json: eb5f1a3f39c4d0d20d1058402272f60e05a4c83a4efb0871e6a68f9acc561b55
+ /private/tmp/communitymech-batch87/created-issues.json: 3af1861dd1c807d7187856c258801cbaec6379a11da4bc12f66eb2bfcf6c8911
+ /private/tmp/communitymech-batch87/helper-co2-metadata.json: e2089d67ad16275ce3c5996283deba4367297a5918434568da379485e0674480
+ /private/tmp/communitymech-batch87/helper-co2-primary.txt: 95aa6ebf9b688815981e67e823ee72e266529f5794b5438354170f91a7ae6574
+ /private/tmp/communitymech-batch87/helper-temperature-metadata.json: 1ac82e9deab9ae568531eb23bd0dc9d8e91840d1b45fab6dd5aa56c17af4e3cc
+ /private/tmp/communitymech-batch87/helper-temperature-primary.txt: 79024d53ab6eb75de338b4de7995719ec517c94a7910fbdcd60f9b7f46aa8459
+ /private/tmp/communitymech-batch87/infant-metadata.json: d6251d20c3803ffa4780bed44ba62f4459aeaa70c678adae9c0f89b077ee9883
+ /private/tmp/communitymech-batch87/infant-primary.txt: 177ae727324f2d4e666a135f6af3857bfaf9daa27621b19419fab9fcf00eda8c
+ /private/tmp/communitymech-batch87/infant-primary.xml: d8dc32b684fce7794ece809601552531af8abed1379784a12664df9e739c001e
+ /private/tmp/communitymech-batch87/infant-tables.txt: 9e8aff7255a324a3ef99c548275afa408d8fb2312b197a85a20826db942b272c
+ /private/tmp/communitymech-batch87/issue-matches-current.json: 1af1902bf84d1690a9dfbbe39593981e7116a3d36c33fa96eebc94f717e79a04
+ /private/tmp/communitymech-batch87/issue-matches.json: 1af1902bf84d1690a9dfbbe39593981e7116a3d36c33fa96eebc94f717e79a04
+ /private/tmp/communitymech-batch87/issues-current.json: cc82ec87b229e81037796f148a51c8e59705b0719ac7ff15c45596c2ddc746cd
+ /private/tmp/communitymech-batch87/issues.json: 51b486f48966fb69b7c5666a8ab00823820685610ad2036dd8e49ba12524cfd3
+ /private/tmp/communitymech-batch87/local-matches-current.txt: 076057380c3b70a8454b5da11c2c1c46613a7b66842836335ffdd708e2b79864
+ /private/tmp/communitymech-batch87/local-matches.txt: 71690876d2133ce2b74310f27aadb9964967e9b003ca45b45302bbd3201d18ce
+ /private/tmp/communitymech-batch87/prairie-metadata.json: 7e3b3a70423c8dd49ccd928b8c99fe13b98a3587466511d2d895dbc1991a5533
+ /private/tmp/communitymech-batch87/prairie-primary.txt: acea99724817943143d95ef0003188e6a8310796325781ba2f3fa0d951fb4d6d
+ /private/tmp/communitymech-batch87/prairie-primary.xml: d5290ede12d66b30d8d9b5e6bb1442cb0eba7706c9ee4acd0a7a6694b981172d
+ /private/tmp/communitymech-batch87/prairie-tables.txt: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+ /private/tmp/communitymech-batch87/primary-manifest.json: b07cd67b06ca4efad2e51a967c64b35362d9f6ce341f1a028c62250799fe7d28
+ /private/tmp/communitymech-batch87/publisher-manifest.json: bf386ee960608bf05508e891ea45001ad1f3819a427a613779b3538d10b3221e
+ /private/tmp/communitymech-batch87/rice-metadata.json: 7ea24e8624a338c34319bf23e3daabe6a8702ef0700ff8cd5a61275ed28943e1
+ /private/tmp/communitymech-batch87/rice-primary.txt: b98e12c9aacf0b84a7ac9d0f4398045728c9a0956ba742d2e032f1e812a6ba88
+ references_cache/PMID_29087377.md: 3965c0c6d4a9dd1382e8f783c119211cc556629b5499bf3d1aa7e14a3af4dc37
+ references_cache/PMID_30086797.md: 92e9139a58b6af9d7f1a3f118d86208262c0a06bb261ba2b97893c6508485150
+ references_cache/PMID_32130257.md: f4cebd8b18d133c80fabe4ae5795c4acfccc8a36e483f7f554e3f34bc9c9d45d
+ references_cache/PMID_42691895.txt: 416d8159bed7c3df71fb4876cc22de8f08b8763472f75fc202c39d0d919938c8
+ references_cache/doi_10.1038_ismej.2017.189.md: 2e5f062d066e076d0c0c6e55a3a909ae67711de007dcebcb9167b8104f7e3867
+primary_graph_snippet_count: 17
+snippet_checks:
+- record: Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community
+ node: Diverse Sulfate-Reduction Guild
+ evidence_index: 0
+ reference: PMID:30086797
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/prairie-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community
+ node: Diverse Sulfate-Reduction Guild
+ evidence_index: 1
+ reference: PMID:30086797
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/prairie-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community
+ node: Alcohol-Linked Methanogenesis Potential
+ evidence_index: 0
+ reference: PMID:30086797
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/prairie-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community
+ node: Alcohol-Linked Methanogenesis Potential
+ evidence_index: 1
+ reference: PMID:30086797
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/prairie-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community
+ node: Predicted Viral Links to Sulfate Reducers and Methanogens
+ evidence_index: 0
+ reference: PMID:30086797
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/prairie-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community
+ node: Predicted Viral Links to Sulfate Reducers and Methanogens
+ evidence_index: 1
+ reference: PMID:30086797
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/prairie-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community
+ node: Niche Differentiation In Heterogeneous Wetland Sediment
+ evidence_index: 0
+ reference: PMID:30086797
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/prairie-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community
+ node: Niche Differentiation In Heterogeneous Wetland Sediment
+ evidence_index: 1
+ reference: PMID:30086797
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/prairie-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community
+ node: Higher Low-Oxygen Diametric Ratios in NEC Samples
+ evidence_index: 0
+ reference: PMID:32130257
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/infant-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom
+ node: SynCom restriction of rice arsenic accumulation
+ evidence_index: 0
+ reference: PMID:42691895
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/rice-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom
+ node: SynCom restriction of rice arsenic accumulation
+ evidence_index: 1
+ reference: PMID:42691895
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/rice-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom
+ node: SynCom restoration of rice stress physiology
+ evidence_index: 0
+ reference: PMID:42691895
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/rice-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prochlorococcus_Alteromonas_Helper_Coculture
+ node: Hydrogen Peroxide Cross-Protection
+ evidence_index: 0
+ reference: PMID:29087377
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/helper-temperature-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prochlorococcus_Alteromonas_Helper_Coculture
+ node: Hydrogen Peroxide Cross-Protection
+ evidence_index: 1
+ reference: doi:10.1038/ismej.2017.189
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/helper-co2-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prochlorococcus_Alteromonas_Helper_Coculture
+ node: Carbon Dioxide Perturbation of Helper Function
+ evidence_index: 0
+ reference: doi:10.1038/ismej.2017.189
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/helper-co2-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prochlorococcus_Alteromonas_Helper_Coculture
+ node: Carbon Dioxide Perturbation of Helper Function
+ evidence_index: 1
+ reference: doi:10.1038/ismej.2017.189
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/helper-co2-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prochlorococcus_Alteromonas_Helper_Coculture
+ node: Helper-Dependent Prochlorococcus Growth
+ evidence_index: 0
+ reference: PMID:29087377
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/helper-temperature-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+discussion_snippet_checks:
+- record: Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community
+ node: prairie-genomic-potential-and-viral-effect-sign
+ evidence_index: 0
+ reference: PMID:30086797
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/prairie-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community
+ node: prairie-genomic-potential-and-viral-effect-sign
+ evidence_index: 1
+ reference: PMID:30086797
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/prairie-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community
+ node: infant-ratios-versus-causal-physiology
+ evidence_index: 0
+ reference: PMID:32130257
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/infant-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community
+ node: infant-ratios-versus-causal-physiology
+ evidence_index: 1
+ reference: PMID:32130257
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/infant-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom
+ node: rice-transporter-mediation-and-partner-benefit
+ evidence_index: 0
+ reference: PMID:42691895
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/rice-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom
+ node: rice-transporter-mediation-and-partner-benefit
+ evidence_index: 1
+ reference: PMID:42691895
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/rice-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prochlorococcus_Alteromonas_Helper_Coculture
+ node: helper-detoxification-versus-co2-mediation
+ evidence_index: 0
+ reference: PMID:29087377
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/helper-temperature-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+- record: Prochlorococcus_Alteromonas_Helper_Coculture
+ node: helper-detoxification-versus-co2-mediation
+ evidence_index: 1
+ reference: doi:10.1038/ismej.2017.189
+ cache_matched: true
+ independent_primary_match: true
+ matched_artifact: /private/tmp/communitymech-batch87/helper-co2-primary.txt
+ method: Normalized contiguous match; literal match is not scientific entailment.
+cache_changes: []
+edison:
+ required_for_this_repair: false
+ required_for_unresolved_extensions: false
+ provider_submissions: 0
+ credits_spent: 0
+ dry_runs: []
+limitations:
+- Fresh two-root baseline before sources:460records921caches,1425nodes586arrows,51warnings and zero structural defects.
+ All12originalnodes4arrows reviewed;10nodes4arrows retained, two analytical-method nodes removed.
+- Prairie and infant primary main methods/results/discussion and embedded captions read from fresh XML. No separate
+ supplements, raw data or figure-pixel review. Prairie appended bibliography/associated-data content is not a read
+ set of cited papers.
+- Rice and both helper abstracts read. EuropePMC helper XML returned500 after bounded retries; publisher download
+ returned403. Public browser exposed thermal introduction/early methods only. No whole helper methods/results/discussion
+ or supplement review. Wrong initially guessed PMC6081809 and ismej2017188 resolve to unrelated publications and
+ were discarded, never used as evidence.
+- Prairie positive gene/MAG/host-link observations retained; activity, cross-feeding, lysis and net viral effect
+ remain inferred. Both proposed ecosystem directions remain HYPOTHESIZED, not blanket deletion of source findings.
+- Infant positive oxygen-ratio association retained with four-infant confounding. Methods removed from graph, positive
+ NO/osmotic context retained in discussion. No direct oxygen measurement, validated diagnosis or NEC causal arrow
+ claimed.
+- Rice retains arsenic restriction and physiological improvement with PARTIAL transporter mediation; no reciprocal
+ mutualism or arbitrary arrow between composite endpoints. Helper retains peroxide-to-growth direction and measured
+ CO2 effects, with PARTIAL catalase-specific mediation.
+- 456otherrecords, all921caches and raw non-graph record blocks preserved. No taxonomy or audit-rule edits. Non-graph1722
+ and preexisting loader1703 remain OPEN; graph review is not whole-record certification.
+- Dedup990all-state issue titles/bodies and23ignored/hidden local matches; .git/docs/site/references_cache excluded,
+ relevant caches separately inspected. Closed258/419 read; no semantic duplicate identified within this declared
+ scope, not an exhaustive comment/PR search.
+- No added topology, Edison dry run or paid submission in this batch; no spend authorization inferred. Earlier pending
+ and denied scopes unchanged. Repairs1718-1721close only after protected-main merge;1722staysOPEN.
+- Validation, rendering, publication and exact-head review are subsequent actual gates, not preasserted. Self-adversarial
+ review is not independent approval or corpus completion.
+records:
+- path: kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml
+ id: CommunityMech:000256
+ original_sha256: 4915600c5a3956d22763c840a68047f13e374bd30bbcb50753fad24d411dfd7c
+ record_sha256: 308c9b0010ffed9d84d8e99cd1365b2d46ce98ea19957d09a679a7c2855681e9
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml
+ scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery.
+ summary: Preserve genomic guild diversity without certifying activity or flux.; Preserve proposed alcohol methanogenesis
+ without invented cross-feeding.; Preserve predicted viral links and qualify lysis and ecosystem effect.; Preserve
+ niche explanation as an unresolved ecosystem hypothesis.
+ renamed_nodes:
+ Viral Control Of Sulfate Reducers And Methanogens: Predicted Viral Links to Sulfate Reducers and Methanogens
+ node_decisions:
+ - node: Diverse Sulfate-Reduction Guild
+ original_node: Diverse Sulfate-Reduction Guild
+ rationale: Preserve genomic guild diversity without certifying activity or flux.
+ - node: Alcohol-Linked Methanogenesis Potential
+ original_node: Alcohol-Linked Methanogenesis Potential
+ rationale: Preserve proposed alcohol methanogenesis without invented cross-feeding.
+ - node: Predicted Viral Links to Sulfate Reducers and Methanogens
+ original_node: Viral Control Of Sulfate Reducers And Methanogens
+ rationale: Preserve predicted viral links and qualify lysis and ecosystem effect.
+ - node: Niche Differentiation In Heterogeneous Wetland Sediment
+ original_node: Niche Differentiation In Heterogeneous Wetland Sediment
+ rationale: Preserve niche explanation as an unresolved ecosystem hypothesis.
+ removed_node_decisions: []
+ edges_before:
+ - source: Diverse Sulfate-Reduction Guild
+ target: Niche Differentiation In Heterogeneous Wetland Sediment
+ description: Sulfate-reducer metabolic versatility is one component of the diversity inferred to sustain high
+ carbon and sulfur cycling rates in the heterogeneous sediment matrix.
+ - source: Viral Control Of Sulfate Reducers And Methanogens
+ target: Niche Differentiation In Heterogeneous Wetland Sediment
+ description: Predicted infection of dominant sulfate reducers and methanogens adds a viral control to the processes
+ inferred to modulate wetland carbon and sulfur cycling.
+ edges_after:
+ - source: Diverse Sulfate-Reduction Guild
+ target: Niche Differentiation In Heterogeneous Wetland Sediment
+ description: 'HYPOTHESIZED: metabolic versatility may allow sulfate-reducing guilds to occupy different sediment
+ niches and contribute to high cycling rates; substrate partitioning and its effect on ecosystem rates were
+ not experimentally isolated.'
+ - source: Predicted Viral Links to Sulfate Reducers and Methanogens
+ target: Niche Differentiation In Heterogeneous Wetland Sediment
+ description: 'HYPOTHESIZED: host lysis may open niche space and release substrates, potentially changing diversity
+ and cycling. Host suppression and substrate release could have opposing effects, so this existing direction
+ has no established net sign.'
+ retained_edge_decisions:
+ - source: Diverse Sulfate-Reduction Guild
+ target: Niche Differentiation In Heterogeneous Wetland Sediment
+ description: 'HYPOTHESIZED: metabolic versatility may allow sulfate-reducing guilds to occupy different sediment
+ niches and contribute to high cycling rates; substrate partitioning and its effect on ecosystem rates were
+ not experimentally isolated.'
+ rationale: Existing direction preserved at explicitly stated evidence scope; no new topology.
+ - source: Predicted Viral Links to Sulfate Reducers and Methanogens
+ target: Niche Differentiation In Heterogeneous Wetland Sediment
+ description: 'HYPOTHESIZED: host lysis may open niche space and release substrates, potentially changing diversity
+ and cycling. Host suppression and substrate release could have opposing effects, so this existing direction
+ has no established net sign.'
+ rationale: Existing direction preserved at explicitly stated evidence scope; no new topology.
+ removed_edge_decisions: []
+ references:
+ - PMID:30086797
+ issues:
+ - 1718
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community/2026-10-07T111703Z-codex-3554dd.yaml
+- path: kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml
+ id: CommunityMech:000253
+ original_sha256: 7daa27bfe845572e03b932798ad8e828474a2e53619638e6e3ec521da488baa6
+ record_sha256: 3e501c7d6ab82739e66c7d78b1191589c2a784ebb8dc12b820f0b319cf2a1abf
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml
+ scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery.
+ summary: Preserve oxygen-related transcript association with cohort and causal limits.
+ renamed_nodes: {}
+ node_decisions:
+ - node: Higher Low-Oxygen Diametric Ratios in NEC Samples
+ original_node: Higher Low-Oxygen Diametric Ratios in NEC Samples
+ rationale: Preserve oxygen-related transcript association with cohort and causal limits.
+ removed_node_decisions:
+ - node: Diametric-Ratio Generalizes to Other Conditions
+ rationale: Analytical mapping or method generalization is not a biological interaction; methods and positive
+ observations remain as contextual discussion.
+ - node: MAG-Anchored Diametric-Ratio In Situ Physiology
+ rationale: Analytical mapping or method generalization is not a biological interaction; methods and positive
+ observations remain as contextual discussion.
+ edges_before: []
+ edges_after: []
+ retained_edge_decisions: []
+ removed_edge_decisions: []
+ references:
+ - PMID:32130257
+ issues:
+ - 1719
+ - 1722
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community/2026-10-07T111704Z-codex-7ce947.yaml
+- path: kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml
+ id: CommunityMech:000341
+ original_sha256: 5236484550c81789c73cfa9d0d0037a5b5e92fe8178c681f5767097fd4b05f1f
+ record_sha256: ff8f7cc7901006581e7df1c86ec9a4ddb371cde42fe0d48e0212de275860cf91
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml
+ scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery.
+ summary: Preserve reduced arsenic and qualify transporter mediation.; Preserve host physiology without unsupported
+ mutualism or new direction.
+ renamed_nodes: {}
+ node_decisions:
+ - node: SynCom restriction of rice arsenic accumulation
+ original_node: SynCom restriction of rice arsenic accumulation
+ rationale: Preserve reduced arsenic and qualify transporter mediation.
+ - node: SynCom restoration of rice stress physiology
+ original_node: SynCom restoration of rice stress physiology
+ rationale: Preserve host physiology without unsupported mutualism or new direction.
+ removed_node_decisions: []
+ edges_before: []
+ edges_after: []
+ retained_edge_decisions: []
+ removed_edge_decisions: []
+ references:
+ - PMID:42691895
+ issues:
+ - 1720
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom/2026-10-07T111705Z-codex-3af789.yaml
+- path: kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml
+ id: CommunityMech:000131
+ original_sha256: 1268b6b8854498b5bdb499ef129e2b1186854cf02f722a67d50c098799c229e5
+ record_sha256: e61cbc9c58aa1d2fbd87cda0251d7ffb3d22fedb5837387d6b28ed9c56f3d801
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml
+ scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery.
+ summary: Preserve peroxide protection without broad ROS or neutral-helper assumptions.; Preserve measured CO2
+ effects with qualified catalase-specific mediation.; Preserve positive helper growth within distinct assay contexts.
+ renamed_nodes: {}
+ node_decisions:
+ - node: Hydrogen Peroxide Cross-Protection
+ original_node: Hydrogen Peroxide Cross-Protection
+ rationale: Preserve peroxide protection without broad ROS or neutral-helper assumptions.
+ - node: Carbon Dioxide Perturbation of Helper Function
+ original_node: Carbon Dioxide Perturbation of Helper Function
+ rationale: Preserve measured CO2 effects with qualified catalase-specific mediation.
+ - node: Helper-Dependent Prochlorococcus Growth
+ original_node: Helper-Dependent Prochlorococcus Growth
+ rationale: Preserve positive helper growth within distinct assay contexts.
+ removed_node_decisions: []
+ edges_before:
+ - source: Hydrogen Peroxide Cross-Protection
+ target: Helper-Dependent Prochlorococcus Growth
+ description: 'Alteromonas hydrogen-peroxide removal relieves oxidative stress enough to support helper-dependent
+ Prochlorococcus growth.
+
+ '
+ - source: Carbon Dioxide Perturbation of Helper Function
+ target: Hydrogen Peroxide Cross-Protection
+ description: 'Elevated carbon dioxide lowers Alteromonas catalase expression and hydrogen-peroxide removal,
+ weakening the helper detoxification service that protects Prochlorococcus from oxidative stress.
+
+ '
+ edges_after:
+ - source: Hydrogen Peroxide Cross-Protection
+ target: Helper-Dependent Prochlorococcus Growth
+ description: Hydrogen-peroxide removal reduces oxidative inhibition and permits helper-dependent Prochlorococcus
+ growth. Retain this source-supported direction within the laboratory assay conditions, not as a universal
+ requirement at every density or temperature.
+ - source: Carbon Dioxide Perturbation of Helper Function
+ target: Hydrogen Peroxide Cross-Protection
+ description: 'PARTIAL: reduced catalase expression is proposed to lower peroxide removal and weaken protection.
+ Retain the measured treatment-associated loss of detoxification without treating transcript abundance as proof
+ of the sole causal mediator.'
+ retained_edge_decisions:
+ - source: Hydrogen Peroxide Cross-Protection
+ target: Helper-Dependent Prochlorococcus Growth
+ description: Hydrogen-peroxide removal reduces oxidative inhibition and permits helper-dependent Prochlorococcus
+ growth. Retain this source-supported direction within the laboratory assay conditions, not as a universal
+ requirement at every density or temperature.
+ rationale: Existing direction preserved at explicitly stated evidence scope; no new topology.
+ - source: Carbon Dioxide Perturbation of Helper Function
+ target: Hydrogen Peroxide Cross-Protection
+ description: 'PARTIAL: reduced catalase expression is proposed to lower peroxide removal and weaken protection.
+ Retain the measured treatment-associated loss of detoxification without treating transcript abundance as proof
+ of the sole causal mediator.'
+ rationale: Existing direction preserved at explicitly stated evidence scope; no new topology.
+ removed_edge_decisions: []
+ references:
+ - PMID:29087377
+ - doi:10.1038/ismej.2017.189
+ issues:
+ - 1721
+ - 1722
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Prochlorococcus_Alteromonas_Helper_Coculture/2026-10-07T111705Z-codex-8699b2.yaml
diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv
index 9975c8fe0..7f1560350 100644
--- a/reports/causal_graph_review/inventory.tsv
+++ b/reports/causal_graph_review/inventory.tsv
@@ -312,10 +312,10 @@ kb/communities/Pleuromutilin_Degrading_Artificial_Consortium_5_Strain.yaml Commu
kb/communities/Polaromonas_Vanadium_Reduction_Community.yaml CommunityMech:000055 bdb14ed3d33c4a9adc05479849201bf3530bd23d9867a2bc5ddb635b9507a3a5 2 1 66.2 reports/causal_graph_review/decisions/20261007-four-records-batch86.yaml reviewed
kb/communities/Populus_Salt_Tolerant_SynComs.yaml CommunityMech:000090 c96458a84a7951d477b792d0a23164f263c4dee76dae2593656d4b39699b10bd 3 2 98.3 reports/causal_graph_review/decisions/20261007-four-records-batch86.yaml reviewed
kb/communities/Poultry_Wastewater_ThreeStrain_Electroactive_Consortium.yaml CommunityMech:000330 932b57ad58aa3a1f58b9ad9be0163d2210a7cfa593964b37abc6d3a83d7f3ebb 3 2 85.0 reports/causal_graph_review/decisions/20261007-four-records-batch86.yaml reviewed
-kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml CommunityMech:000256 4915600c5a3956d22763c840a68047f13e374bd30bbcb50753fad24d411dfd7c 4 2 100.0 pending
-kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml CommunityMech:000253 7daa27bfe845572e03b932798ad8e828474a2e53619638e6e3ec521da488baa6 3 0 75.0 pending
-kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml CommunityMech:000341 5236484550c81789c73cfa9d0d0037a5b5e92fe8178c681f5767097fd4b05f1f 2 0 70.0 pending
-kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml CommunityMech:000131 1268b6b8854498b5bdb499ef129e2b1186854cf02f722a67d50c098799c229e5 3 2 100.0 pending
+kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml CommunityMech:000256 308c9b0010ffed9d84d8e99cd1365b2d46ce98ea19957d09a679a7c2855681e9 4 2 90.0 reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml reviewed
+kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml CommunityMech:000253 3e501c7d6ab82739e66c7d78b1191589c2a784ebb8dc12b820f0b319cf2a1abf 1 0 65.0 reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml reviewed
+kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml CommunityMech:000341 ff8f7cc7901006581e7df1c86ec9a4ddb371cde42fe0d48e0212de275860cf91 2 0 60.0 reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml reviewed
+kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml CommunityMech:000131 e61cbc9c58aa1d2fbd87cda0251d7ffb3d22fedb5837387d6b28ed9c56f3d801 3 2 90.0 reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml reviewed
kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml CommunityMech:000271 21dac4771b0eed96f72c4baf038c1dfb5b92298c0dfa43ba408b95c390eb2640 4 3 100.0 pending
kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml CommunityMech:000381 e9ebc8f9222bf415ff85fde9a884dde98c23d4ebfbbd0ea03bd2e2f6af570ae6 4 3 100.0 pending
kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml CommunityMech:000461 bb49ae139972e06c576cc613c4c20ca6704e6be79754707166b57a4c7c3a39cd 1 0 50.0 pending
diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json
index 896ada9e7..bd717b872 100644
--- a/reports/causal_graph_review/summary.json
+++ b/reports/causal_graph_review/summary.json
@@ -2,14 +2,14 @@
"scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.",
"semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.",
"records": 460,
- "nodes": 1425,
+ "nodes": 1423,
"edges": 586,
"records_without_nodes": 8,
"records_without_edges": 173,
"review_status_counts": {
"needs_research": 48,
- "pending": 148,
- "reviewed": 264
+ "pending": 144,
+ "reviewed": 268
},
"structural_defects": [],
"network_audit": [
diff --git a/reports/causal_graph_review/validation-20261007-batch87.json b/reports/causal_graph_review/validation-20261007-batch87.json
new file mode 100644
index 000000000..8e5ff552b
--- /dev/null
+++ b/reports/causal_graph_review/validation-20261007-batch87.json
@@ -0,0 +1,1065 @@
+{
+ "base_commit": "00d6309f1d3f48a891807dcf0ffcb2250d267e33",
+ "scope": [
+ "kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml",
+ "kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml",
+ "kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml",
+ "kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml"
+ ],
+ "reference_validator_version": "0.1.7",
+ "results": [
+ {
+ "check": "Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch87/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-strict.tsv",
+ "kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-strict.log",
+ "log_sha256": "c148c78066a0cacb841eed518fab1ad6c0cd15edc4cdd26a9532c1142c43f729",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch87/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-batch87/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-strict.tsv\n"
+ },
+ {
+ "check": "Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-references.log",
+ "log_sha256": "f84de8c7654526e1ca59e86cb265335dfadb881df3f265276bbbefa6e48bd30b",
+ "output_tail": "Validating kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.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/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.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": "Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-snippets.log",
+ "log_sha256": "d353a2e438e49543043d94dbd2d275ccc825dad7bb23be8ad43bf853927d2fe3",
+ "output_tail": "# 28 evidence snippets scanned across 1 files\n MATCH 28\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n"
+ },
+ {
+ "check": "Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-rank.log",
+ "log_sha256": "16f1a63f38e2915c82fc5191b308f9ac9b3c4f515e43d22fb4b21f4461f8d0fe",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000256\",\n \"name\": \"Prairie Pothole Wetland Sulfur-Carbon Virus-Host Community\",\n \"score\": 90.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 4,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 8,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community/2026-10-07T111703Z-codex-3554dd.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch87/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-strict.tsv",
+ "kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-strict.log",
+ "log_sha256": "7cbb2f5278c3f9f72d6be4c0348d3b1acf818d14a26df69d842f1a966708a399",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch87/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-batch87/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-strict.tsv\n"
+ },
+ {
+ "check": "Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-references.log",
+ "log_sha256": "ec9960c795a30f4b152f9de818d0aa6098a19e1ec6e6324e3201602969f88ede",
+ "output_tail": "Validating kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.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/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.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": "Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-snippets.log",
+ "log_sha256": "c701a14a68be45219232ec1037f210e46fb14d49e54b85702ad029b20c3f0666",
+ "output_tail": "# 6 evidence snippets scanned across 1 files\n MATCH 6\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": "Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-rank.log",
+ "log_sha256": "bbb92c5caf5c768e17dc4f4c12ed1410de2bcaa351ccac8f742d5a4f691c2b67",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000253\",\n \"name\": \"Premature Infant Gut Escherichia In-Situ Physiological-Condition Community\",\n \"score\": 65.0,\n \"taxonomy\": 1,\n \"connected_taxa\": 1,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 1,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 1,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\"\n ],\n \"path\": \"kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community/2026-10-07T111704Z-codex-7ce947.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch87/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-strict.tsv",
+ "kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-strict.log",
+ "log_sha256": "cdabd662cc45c502ad0fb18f8d268dd21975c65c50fed45b3f2b54a9fa3aa057",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch87/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-batch87/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-strict.tsv\n"
+ },
+ {
+ "check": "Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-references.log",
+ "log_sha256": "b6e7cc251062c975542c55cada953983c73de26e334f8695789b31a2e3fc7716",
+ "output_tail": "Validating kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_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/Priestia_Pseudomonas_Rice_Arsenic_Stress_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": "Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-snippets.log",
+ "log_sha256": "aec1f2712a64b5cd549f668dd69d5e1ab54d6d5693d8f53bbce26317b755b383",
+ "output_tail": "# 11 evidence snippets scanned across 1 files\n MATCH 11\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": "Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-rank.log",
+ "log_sha256": "a34b22fb2f4e98885028801d5a85adac8d4f2575f3b256583481f3331142ddee",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000341\",\n \"name\": \"Priestia-Pseudomonas Rice Arsenic-Stress SynCom\",\n \"score\": 60.0,\n \"taxonomy\": 3,\n \"connected_taxa\": 3,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 2,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Priestia_Pseudomonas_Rice_Arsenic_Stress_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/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom/2026-10-07T111705Z-codex-3af789.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Prochlorococcus_Alteromonas_Helper_Coculture-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prochlorococcus_Alteromonas_Helper_Coculture-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Prochlorococcus_Alteromonas_Helper_Coculture-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch87/Prochlorococcus_Alteromonas_Helper_Coculture-strict.tsv",
+ "kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prochlorococcus_Alteromonas_Helper_Coculture-strict.log",
+ "log_sha256": "136f3199d309139ab01ad74dad7dea563538dadf3ac03f68ed32a0c9e4830c09",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch87/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-batch87/Prochlorococcus_Alteromonas_Helper_Coculture-strict.tsv\n"
+ },
+ {
+ "check": "Prochlorococcus_Alteromonas_Helper_Coculture-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prochlorococcus_Alteromonas_Helper_Coculture-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Prochlorococcus_Alteromonas_Helper_Coculture-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prochlorococcus_Alteromonas_Helper_Coculture-references.log",
+ "log_sha256": "563bd1b97f8b26d52d1a5fbdaf1a4140cecac47014d02937dc8b09010ae452e1",
+ "output_tail": "Validating kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n",
+ "explained_output_tail": "Validating kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n"
+ },
+ {
+ "check": "Prochlorococcus_Alteromonas_Helper_Coculture-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prochlorococcus_Alteromonas_Helper_Coculture-snippets.log",
+ "log_sha256": "8084678f5cf248d78dd90bd74538a6320ef0dcc9940ae3e5b5f759e13588ade6",
+ "output_tail": "# 19 evidence snippets scanned across 1 files\n MATCH 19\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n"
+ },
+ {
+ "check": "Prochlorococcus_Alteromonas_Helper_Coculture-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prochlorococcus_Alteromonas_Helper_Coculture-rank.log",
+ "log_sha256": "f4902cf833d4ee796d794da963938a3292fe3ce0f89824d1afbf514a456f9fff",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000131\",\n \"name\": \"Prochlorococcus-Alteromonas Helper Coculture\",\n \"score\": 90.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 5,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Prochlorococcus_Alteromonas_Helper_Coculture-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Prochlorococcus_Alteromonas_Helper_Coculture/2026-10-07T111705Z-codex-8699b2.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/Prochlorococcus_Alteromonas_Helper_Coculture-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "inventory",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "reports/causal_graph_review/build_inventory.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/inventory.log",
+ "log_sha256": "3b1cb1fecb232d04b0f699be4f9e506e4210876c5f514a7c980c07b1310cef50",
+ "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\": 1423,\n \"edges\": 586,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 173,\n \"review_status_counts\": {\n \"needs_research\": 48,\n \"pending\": 144,\n \"reviewed\": 268\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-batch87/network.log",
+ "log_sha256": "a6d29124a0c095699e61c528d138db88a169daedb19ef83a140faf1d442748c4",
+ "output_tail": "a associated with Polaromonas, a genus belonging to the family Burkholderiaceae, were potentially responsible for VV reduction\",\n \"explanation\": \"Documents Geobacter presence in Fe/V-contaminated tailings\"\n },\n {\n \"reference\": \"PMID:33125214\",\n \"supports\": \"PARTIAL\",\n \"evidence_source\": \"IN_VIVO\",\n \"snippet\": \"reduce the more toxic and mobile VV to the less toxic and immobile VIV\",\n \"explanation\": \"Describes role in sequential metal reduction processes\"\n },\n {\n \"reference\": \"PMID:19077236\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"It is a chemolithoautrophic, gamma-proteobacterium using energy from the oxidation of iron- and sulfur-containing minerals for growth\",\n \"explanation\": \"Confirms V(V) reduction capability\"\n }\n ]\n },\n \"message\": \"Taxon 'Geobacter species' has no interactions\"\n }\n ],\n \"Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom\": [\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Twelve-Strain SynCom Suppression of Sclerotinia Sclerotia\",\n \"interaction_index\": 0,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Trinickia MC Key Contribution to Sclerotia Mortality\",\n \"interaction_index\": 1,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Space_Habitat_SevenMember_Stress_Tolerance_SynCom\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Acinetobacter radioresistens 50V1\",\n \"taxon_id\": \"NCBITaxon:40216\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Acinetobacter radioresistens 50V1\",\n \"term\": {\n \"id\": \"NCBITaxon:40216\",\n \"label\": \"Acinetobacter radioresistens\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate came from the preflight Mars Odyssey Orbiter; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"50V1\",\n \"genome_accession\": \"GCA_002834555.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Acinetobacter radioresistens | 50V1 | Preflight Mars Odyssey Orbiter | \\u2013 | Mccoy et al., 2012 | GCA_002834555.1 | TSYB/TSYA | 37 \\u00b0C | 16\\u201318 h\",\n \"explanation\": \"Identifies A. radioresistens 50V1 as a consortium member and gives its spacecraft-associated source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Acinetobacter radioresistens 50V1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Micrococcus luteus W4-Al-K1\",\n \"taxon_id\": \"NCBITaxon:1270\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Micrococcus luteus W4-Al-K1\",\n \"term\": {\n \"id\": \"NCBITaxon:1270\",\n \"label\": \"Micrococcus luteus\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from an ISS aluminum-case touch array; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"W4-Al-K1\",\n \"genome_accession\": \"GCA_057816565.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Micrococcus luteus | W4-Al-K1 | ISS, Touch Array Aluminum Case | - | Kr\\u00e4mer et al., 2025 | GCA_057816565.1 | NB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies M. luteus W4-Al-K1 as a consortium member and gives its ISS source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Micrococcus luteus W4-Al-K1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"taxon_id\": \"NCBITaxon:64702\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"term\": {\n \"id\": \"NCBITaxon:64702\",\n \"label\": \"Propionibacterium cyclohexanicum\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. cyclohexanicum type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"TA-12T\",\n \"genome_accession\": \"GCA_900111365\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"16859\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Propionibacterium cyclohexanicum | TA-12 T | Spoilt Orange Juice | DSM 16859 T | Kusano et al., 1997 | GCA_900111365 | BHI, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies P. cyclohexanicum TA-12T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Propionibacterium cyclohexanicum TA-12T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas antarctica CMS 35T\",\n \"taxon_id\": \"NCBITaxon:219572\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas antarctica CMS 35T\",\n \"term\": {\n \"id\": \"NCBITaxon:219572\",\n \"label\": \"Pseudomonas antarctica\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. antarctica type strain as a biosafety-level-1 Pseudomonas surrogate.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"CMS 35T\",\n \"genome_accession\": \"GCA_010634845\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"15318\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pseudomonas antarctica | CMS 35 T | Antarctica | DSM 15318 T | Reddy et al., 2004 | GCA_010634845 | TSYB/TSYA | Ambient | 12\\u201316 h\",\n \"explanation\": \"Identifies P. antarctica CMS 35T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n"
+ },
+ {
+ "check": "just-network-json",
+ "command": [
+ "just",
+ "audit-network-json"
+ ],
+ "exit_code": 2,
+ "expected_exit_codes": [
+ 2
+ ],
+ "log": "/private/tmp/communitymech-batch87/just-network-json.log",
+ "log_sha256": "8595db43420d3f0a01c57acd6ad733a531a72e962486d20b4e1c2840dda55bff",
+ "output_tail": "uv run communitymech audit-network --json\nerror: Failed to spawn: `communitymech`\n Caused by: No such file or directory (os error 2)\nerror: recipe `audit-network-json` failed on line 574 with exit code 2\n"
+ },
+ {
+ "check": "rank-all",
+ "command": [
+ "just",
+ "rank-causal-graphs"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/rank-all.log",
+ "log_sha256": "0e2c498d2107fc965be213552fe0812d14e241f580e8415272c39b20bb4a5aac",
+ "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-batch87/render.log",
+ "log_sha256": "d70f40a49a16e88440477d6c8011fd9a4539142892c14acd4e3276596f2f06d6",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch87/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch87/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch87/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-batch87/render-repeat.log",
+ "log_sha256": "d70f40a49a16e88440477d6c8011fd9a4539142892c14acd4e3276596f2f06d6",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch87/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch87/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch87/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch87/docs/index.html\n"
+ },
+ {
+ "check": "connectivity-survey",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-c",
+ "import json,pathlib,runpy\nfn=runpy.run_path('tests/test_community_level_connectivity_credit.py')['_survey']\nresult={}\nfor name,root in [('baseline',pathlib.Path('/private/tmp/communitymech-causal-batch86')),('current',pathlib.Path.cwd())]:\n paths=sorted(p for r in ['kb/communities','data/isolates'] for p in (root/r).rglob('*.yaml'))\n assert len(paths)==460\n fn.__globals__['record_files']=lambda:paths\n result[name]=fn()\nprint(json.dumps(result))\n"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/connectivity-survey.log",
+ "log_sha256": "ce86aea5d561f1eb333b75c72f60f23cf01ecb86a6235f749af6d652e6707eb8",
+ "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 395, \"mixed\": 126, \"community_level_only\": 269, \"taxa\": 1521, \"credited_solely_by_the_rule\": 1247}, \"current\": {\"records\": 460, \"with_community_level\": 395, \"mixed\": 126, \"community_level_only\": 269, \"taxa\": 1521, \"credited_solely_by_the_rule\": 1247}}\n"
+ },
+ {
+ "check": "regressions",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-m",
+ "pytest",
+ "-q",
+ "tests/test_causal_review_batch10.py",
+ "tests/test_causal_review_batch11.py",
+ "tests/test_causal_review_batch12.py",
+ "tests/test_causal_review_batch13.py",
+ "tests/test_causal_review_batch14.py",
+ "tests/test_causal_review_batch15.py",
+ "tests/test_causal_review_batch16.py",
+ "tests/test_causal_review_batch17.py",
+ "tests/test_causal_review_batch18.py",
+ "tests/test_causal_review_batch19.py",
+ "tests/test_causal_review_batch20.py",
+ "tests/test_causal_review_batch21.py",
+ "tests/test_causal_review_batch22.py",
+ "tests/test_causal_review_batch23.py",
+ "tests/test_causal_review_batch24.py",
+ "tests/test_causal_review_batch25.py",
+ "tests/test_causal_review_batch27.py",
+ "tests/test_causal_review_batch28.py",
+ "tests/test_causal_review_batch29.py",
+ "tests/test_causal_review_batch30.py",
+ "tests/test_causal_review_batch31.py",
+ "tests/test_causal_review_batch32.py",
+ "tests/test_causal_review_batch33.py",
+ "tests/test_causal_review_batch34.py",
+ "tests/test_causal_review_batch35.py",
+ "tests/test_causal_review_batch36.py",
+ "tests/test_causal_review_batch37.py",
+ "tests/test_causal_review_batch38.py",
+ "tests/test_causal_review_batch39.py",
+ "tests/test_causal_review_batch40.py",
+ "tests/test_causal_review_batch41.py",
+ "tests/test_causal_review_batch42.py",
+ "tests/test_causal_review_batch43.py",
+ "tests/test_causal_review_batch44.py",
+ "tests/test_causal_review_batch45.py",
+ "tests/test_causal_review_batch46.py",
+ "tests/test_causal_review_batch47.py",
+ "tests/test_causal_review_batch48.py",
+ "tests/test_causal_review_batch49.py",
+ "tests/test_causal_review_batch5.py",
+ "tests/test_causal_review_batch50.py",
+ "tests/test_causal_review_batch51.py",
+ "tests/test_causal_review_batch52.py",
+ "tests/test_causal_review_batch53.py",
+ "tests/test_causal_review_batch54.py",
+ "tests/test_causal_review_batch55.py",
+ "tests/test_causal_review_batch56.py",
+ "tests/test_causal_review_batch57.py",
+ "tests/test_causal_review_batch58.py",
+ "tests/test_causal_review_batch59.py",
+ "tests/test_causal_review_batch6.py",
+ "tests/test_causal_review_batch60.py",
+ "tests/test_causal_review_batch61.py",
+ "tests/test_causal_review_batch62.py",
+ "tests/test_causal_review_batch63.py",
+ "tests/test_causal_review_batch64.py",
+ "tests/test_causal_review_batch65.py",
+ "tests/test_causal_review_batch66.py",
+ "tests/test_causal_review_batch67.py",
+ "tests/test_causal_review_batch68.py",
+ "tests/test_causal_review_batch69.py",
+ "tests/test_causal_review_batch7.py",
+ "tests/test_causal_review_batch70.py",
+ "tests/test_causal_review_batch71.py",
+ "tests/test_causal_review_batch72.py",
+ "tests/test_causal_review_batch73.py",
+ "tests/test_causal_review_batch74.py",
+ "tests/test_causal_review_batch75.py",
+ "tests/test_causal_review_batch76.py",
+ "tests/test_causal_review_batch77.py",
+ "tests/test_causal_review_batch78.py",
+ "tests/test_causal_review_batch79.py",
+ "tests/test_causal_review_batch8.py",
+ "tests/test_causal_review_batch80.py",
+ "tests/test_causal_review_batch81.py",
+ "tests/test_causal_review_batch82.py",
+ "tests/test_causal_review_batch83.py",
+ "tests/test_causal_review_batch84.py",
+ "tests/test_causal_review_batch85.py",
+ "tests/test_causal_review_batch86.py",
+ "tests/test_causal_review_batch87.py",
+ "tests/test_causal_review_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-batch87/regressions.log",
+ "log_sha256": "6ec983d8fcabdcc214661b0a262b60af708c262177a95a21c4e9d0ededb819d9",
+ "output_tail": "........................................................................ [ 9%]\n........................................................................ [ 18%]\n........................................................................ [ 27%]\n........................................................................ [ 36%]\n........................................................................ [ 45%]\n........................................................................ [ 54%]\n........................................................................ [ 64%]\n........................................................................ [ 73%]\n........................................................................ [ 82%]\n........................................................................ [ 91%]\n.................................................................. [100%]\n786 passed in 236.68s (0:03:56)\n"
+ },
+ {
+ "check": "black",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black",
+ "--check",
+ "tests/test_causal_review_batch87.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/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_batch87.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/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-batch87/diff-check.log",
+ "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "output_tail": ""
+ },
+ {
+ "check": "primary-graph-proof",
+ "command": [
+ "in-process normalized per-evidence source checks in finalize.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/primary-graph-proof.log",
+ "log_sha256": "344393095110992c30edb62e28ff54d21eb2cebbcdd5134048a2aa3cbfad2037",
+ "output_tail": "{\n \"primary_graph_quotations\": 17,\n \"primary_discussion_quotations\": 8,\n \"retained_nodes\": 10,\n \"removed_nodes\": 2,\n \"retained_arrows\": 4,\n \"removed_arrows\": 0,\n \"new_topology\": 0,\n \"primary_main_texts_read\": 2,\n \"other_primary_abstracts_read\": 3,\n \"helper_partial_publisher_access\": \"Introduction and early thermal methods only; no full methods/results/discussion or local full-text artifact.\",\n \"cache_changes\": 0\n}\n"
+ },
+ {
+ "check": "focused-final",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-m",
+ "pytest",
+ "-q",
+ "tests/test_causal_review_batch87.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/focused-final.log",
+ "log_sha256": "16a1e7fd4d6835c2d69825b400f264e4e3f782e3368a260701edff04030ddc06",
+ "output_tail": ".......... [100%]\n10 passed in 1.42s\n"
+ },
+ {
+ "check": "audit-snippets-all",
+ "command": [
+ "just",
+ "audit-snippets"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch87/audit-snippets-all.log",
+ "log_sha256": "9beb2b6053533fca195eae48945de1401264fe72296a0879b11a2c75851ee134",
+ "output_tail": "# 8907 evidence snippets scanned across 460 files\n MATCH 8772\n RENDERING 20\n ASSEMBLED 1\n WEAK 0\n MISMATCH 38\n NOCONTENT 76\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n 19 (19 hard) kb/communities/DCPP_DBS4_DCP4_DCP11d_Degradation_SynCom.yaml\n 15 (15 hard) kb/communities/Fucoidan_Seven_Degrader_Combinatorial_SynCom.yaml\n 3 (3 hard) kb/communities/Coscinodiscus_Synthetic_Community.yaml\n 1 (1 hard) kb/communities/Altered_Schaedler_Flora_Gnotobiotic_Mouse_Community.yaml\nuv run python scripts/evidence_snippet_audit.py \n"
+ }
+ ],
+ "limitations": [
+ "Fresh two-root baseline before sources:460records921caches,1425nodes586arrows,51warnings and zero structural defects. All12originalnodes4arrows reviewed;10nodes4arrows retained, two analytical-method nodes removed.",
+ "Prairie and infant primary main methods/results/discussion and embedded captions read from fresh XML. No separate supplements, raw data or figure-pixel review. Prairie appended bibliography/associated-data content is not a read set of cited papers.",
+ "Rice and both helper abstracts read. EuropePMC helper XML returned500 after bounded retries; publisher download returned403. Public browser exposed thermal introduction/early methods only. No whole helper methods/results/discussion or supplement review. Wrong initially guessed PMC6081809 and ismej2017188 resolve to unrelated publications and were discarded, never used as evidence.",
+ "Prairie positive gene/MAG/host-link observations retained; activity, cross-feeding, lysis and net viral effect remain inferred. Both proposed ecosystem directions remain HYPOTHESIZED, not blanket deletion of source findings.",
+ "Infant positive oxygen-ratio association retained with four-infant confounding. Methods removed from graph, positive NO/osmotic context retained in discussion. No direct oxygen measurement, validated diagnosis or NEC causal arrow claimed.",
+ "Rice retains arsenic restriction and physiological improvement with PARTIAL transporter mediation; no reciprocal mutualism or arbitrary arrow between composite endpoints. Helper retains peroxide-to-growth direction and measured CO2 effects, with PARTIAL catalase-specific mediation.",
+ "456otherrecords, all921caches and raw non-graph record blocks preserved. No taxonomy or audit-rule edits. Non-graph1722 and preexisting loader1703 remain OPEN; graph review is not whole-record certification.",
+ "Dedup990all-state issue titles/bodies and23ignored/hidden local matches; .git/docs/site/references_cache excluded, relevant caches separately inspected. Closed258/419 read; no semantic duplicate identified within this declared scope, not an exhaustive comment/PR search.",
+ "No added topology, Edison dry run or paid submission in this batch; no spend authorization inferred. Earlier pending and denied scopes unchanged. Repairs1718-1721close only after protected-main merge;1722staysOPEN.",
+ "Validation, rendering, publication and exact-head review are subsequent actual gates, not preasserted. Self-adversarial review is not independent approval or corpus completion.",
+ "Exact HTML-description parser and repeat-render checks, not browser screenshots. Post-commit docs-current is separate."
+ ],
+ "snippet_counts_by_record": {
+ "kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml": {
+ "MATCH": 28,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml": {
+ "MATCH": 6,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml": {
+ "MATCH": 11,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml": {
+ "MATCH": 19,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ }
+ },
+ "unchanged_raw_blocks": 61,
+ "unchanged_record_files": 456,
+ "unchanged_cache_files": 921,
+ "cache_changes": [],
+ "edison": {
+ "required_for_this_repair": false,
+ "required_for_unresolved_extensions": false,
+ "provider_submissions": 0,
+ "credits_spent": 0,
+ "dry_runs": []
+ },
+ "primary_artifacts": {
+ "/private/tmp/communitymech-batch87/baseline.json": "eb5f1a3f39c4d0d20d1058402272f60e05a4c83a4efb0871e6a68f9acc561b55",
+ "/private/tmp/communitymech-batch87/created-issues.json": "3af1861dd1c807d7187856c258801cbaec6379a11da4bc12f66eb2bfcf6c8911",
+ "/private/tmp/communitymech-batch87/helper-co2-metadata.json": "e2089d67ad16275ce3c5996283deba4367297a5918434568da379485e0674480",
+ "/private/tmp/communitymech-batch87/helper-co2-primary.txt": "95aa6ebf9b688815981e67e823ee72e266529f5794b5438354170f91a7ae6574",
+ "/private/tmp/communitymech-batch87/helper-temperature-metadata.json": "1ac82e9deab9ae568531eb23bd0dc9d8e91840d1b45fab6dd5aa56c17af4e3cc",
+ "/private/tmp/communitymech-batch87/helper-temperature-primary.txt": "79024d53ab6eb75de338b4de7995719ec517c94a7910fbdcd60f9b7f46aa8459",
+ "/private/tmp/communitymech-batch87/infant-metadata.json": "d6251d20c3803ffa4780bed44ba62f4459aeaa70c678adae9c0f89b077ee9883",
+ "/private/tmp/communitymech-batch87/infant-primary.txt": "177ae727324f2d4e666a135f6af3857bfaf9daa27621b19419fab9fcf00eda8c",
+ "/private/tmp/communitymech-batch87/infant-primary.xml": "d8dc32b684fce7794ece809601552531af8abed1379784a12664df9e739c001e",
+ "/private/tmp/communitymech-batch87/infant-tables.txt": "9e8aff7255a324a3ef99c548275afa408d8fb2312b197a85a20826db942b272c",
+ "/private/tmp/communitymech-batch87/issue-matches-current.json": "1af1902bf84d1690a9dfbbe39593981e7116a3d36c33fa96eebc94f717e79a04",
+ "/private/tmp/communitymech-batch87/issue-matches.json": "1af1902bf84d1690a9dfbbe39593981e7116a3d36c33fa96eebc94f717e79a04",
+ "/private/tmp/communitymech-batch87/issues-current.json": "cc82ec87b229e81037796f148a51c8e59705b0719ac7ff15c45596c2ddc746cd",
+ "/private/tmp/communitymech-batch87/issues.json": "51b486f48966fb69b7c5666a8ab00823820685610ad2036dd8e49ba12524cfd3",
+ "/private/tmp/communitymech-batch87/local-matches-current.txt": "076057380c3b70a8454b5da11c2c1c46613a7b66842836335ffdd708e2b79864",
+ "/private/tmp/communitymech-batch87/local-matches.txt": "71690876d2133ce2b74310f27aadb9964967e9b003ca45b45302bbd3201d18ce",
+ "/private/tmp/communitymech-batch87/prairie-metadata.json": "7e3b3a70423c8dd49ccd928b8c99fe13b98a3587466511d2d895dbc1991a5533",
+ "/private/tmp/communitymech-batch87/prairie-primary.txt": "acea99724817943143d95ef0003188e6a8310796325781ba2f3fa0d951fb4d6d",
+ "/private/tmp/communitymech-batch87/prairie-primary.xml": "d5290ede12d66b30d8d9b5e6bb1442cb0eba7706c9ee4acd0a7a6694b981172d",
+ "/private/tmp/communitymech-batch87/prairie-tables.txt": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b",
+ "/private/tmp/communitymech-batch87/primary-manifest.json": "b07cd67b06ca4efad2e51a967c64b35362d9f6ce341f1a028c62250799fe7d28",
+ "/private/tmp/communitymech-batch87/publisher-manifest.json": "bf386ee960608bf05508e891ea45001ad1f3819a427a613779b3538d10b3221e",
+ "/private/tmp/communitymech-batch87/rice-metadata.json": "7ea24e8624a338c34319bf23e3daabe6a8702ef0700ff8cd5a61275ed28943e1",
+ "/private/tmp/communitymech-batch87/rice-primary.txt": "b98e12c9aacf0b84a7ac9d0f4398045728c9a0956ba742d2e032f1e812a6ba88",
+ "references_cache/PMID_29087377.md": "3965c0c6d4a9dd1382e8f783c119211cc556629b5499bf3d1aa7e14a3af4dc37",
+ "references_cache/PMID_30086797.md": "92e9139a58b6af9d7f1a3f118d86208262c0a06bb261ba2b97893c6508485150",
+ "references_cache/PMID_32130257.md": "f4cebd8b18d133c80fabe4ae5795c4acfccc8a36e483f7f554e3f34bc9c9d45d",
+ "references_cache/PMID_42691895.txt": "416d8159bed7c3df71fb4876cc22de8f08b8763472f75fc202c39d0d919938c8",
+ "references_cache/doi_10.1038_ismej.2017.189.md": "2e5f062d066e076d0c0c6e55a3a909ae67711de007dcebcb9167b8104f7e3867"
+ },
+ "network_delta": {
+ "existing_findings_preserved": 51,
+ "added_findings": {},
+ "removed_findings": {},
+ "interpretation": "All51existing warning entries preserved; zero structural defects. No taxonomy or auditor-rule changes."
+ },
+ "render_determinism": true,
+ "published_description_coverage": {
+ "pages": 456,
+ "nodes": 1409,
+ "arrows": 578
+ },
+ "participant_census": {
+ "measurements": {
+ "baseline": {
+ "records": 460,
+ "with_community_level": 395,
+ "mixed": 126,
+ "community_level_only": 269,
+ "taxa": 1521,
+ "credited_solely_by_the_rule": 1247
+ },
+ "current": {
+ "records": 460,
+ "with_community_level": 395,
+ "mixed": 126,
+ "community_level_only": 269,
+ "taxa": 1521,
+ "credited_solely_by_the_rule": 1247
+ }
+ },
+ "delta": {
+ "records": 0,
+ "with_community_level": 0,
+ "mixed": 0,
+ "community_level_only": 0,
+ "taxa": 0,
+ "credited_solely_by_the_rule": 0
+ },
+ "interpretation": "Community-level census unchanged; three records gain explicit canonical participant lists. No canonical taxon or auditor-rule change."
+ },
+ "network_warning_count": 51,
+ "corpus": {
+ "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.",
+ "records": 460,
+ "nodes": 1423,
+ "edges": 586,
+ "records_without_nodes": 8,
+ "records_without_edges": 173,
+ "review_status_counts": {
+ "needs_research": 48,
+ "pending": 144,
+ "reviewed": 268
+ },
+ "structural_defects": []
+ },
+ "tested_file_sha256": {
+ "reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml": "87ea16ec0e5a5f804d35a8c2a9f1ac5a5ef7a7417de4bb1f108fae086bc6beb7",
+ "tests/test_causal_review_batch87.py": "995f79c99694242e49ee164e0a0141ad9f1c5d442c2febe6b2b207ee2972e3c8",
+ "tests/test_participating_taxa.py": "8a721adff42c1a05cc7f1830fda1dca74b0c3c83f07d8dc1ecaa24b6b5417547",
+ "kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml": "308c9b0010ffed9d84d8e99cd1365b2d46ce98ea19957d09a679a7c2855681e9",
+ "kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml": "3e501c7d6ab82739e66c7d78b1191589c2a784ebb8dc12b820f0b319cf2a1abf",
+ "kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml": "ff8f7cc7901006581e7df1c86ec9a4ddb371cde42fe0d48e0212de275860cf91",
+ "kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml": "e61cbc9c58aa1d2fbd87cda0251d7ffb3d22fedb5837387d6b28ed9c56f3d801",
+ "reports/causal_graph_review/README.md": "0d23c761be4a069599b36dba27e478e4213175dac5424d61483fde1cd20532a7"
+ },
+ "status": "verified_assay_boundary_graph_review",
+ "full_corpus_snippet_counts": {
+ "records": 460,
+ "total": 8907,
+ "categories": {
+ "MATCH": 8772,
+ "RENDERING": 20,
+ "ASSEMBLED": 1,
+ "WEAK": 0,
+ "MISMATCH": 38,
+ "NOCONTENT": 76
+ }
+ },
+ "full_corpus_snippet_audit_caveat": "Both-root recipe executed. Informational exit0 does not certify a clean corpus; four focused snippet gates pass independently.",
+ "pre_research_baseline": {
+ "base_commit": "00d6309f1d3f48a891807dcf0ffcb2250d267e33",
+ "base_tree": "1f4a0e3cda1ea8054239e14db2bd1df3d081df67",
+ "research_worktree": "/private/tmp/communitymech-causal-batch86",
+ "checks": [
+ {
+ "name": "rank",
+ "command": [
+ "just",
+ "rank-causal-graphs"
+ ],
+ "exit_code": 0,
+ "expected_exit_code": 0,
+ "log": "/private/tmp/communitymech-batch87/baseline-rank.log",
+ "sha256": "fca909c8a07c352b0043c743b44e27289b2eae1badbc5b270ccff28b5081fda9",
+ "output_tail": "/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml\tCommunityMech:000337\tTropidoatractus magnetotacticus Magnetotactic Ciliate Tripartite Syntrophy\t3\t3\t0\t4\t2\t9\t\t0\t0\n450\t100.0\tkb/communities/Urine_Nitrification_SynCom.yaml\tCommunityMech:000117\tUrine Nitrification Synthetic Microbial Community\t5\t5\t0\t3\t2\t5\t\t0\t0\n451\t100.0\tkb/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml\tCommunityMech:000213\tVariovorax-Cryptococcus Vitamin Cross-Feeding Microcosm\t2\t2\t0\t3\t2\t4\t\t0\t0\n452\t100.0\tkb/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml\tCommunityMech:000328\tWaste-Sludge Electro-Fermentation Biofilm-Suspension Community\t5\t5\t0\t4\t2\t6\t\t0\t0\n453\t100.0\tkb/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.yaml\tCommunityMech:000098\tWatermelon Rhizosphere Fusarium-Protective SynCom8\t2\t2\t0\t3\t2\t7\t\t0\t0\n454\t100.0\tkb/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml\tCommunityMech:000255\tWetland Oxygen-Sulfate Greenhouse Gas Microcosm Community\t3\t3\t0\t3\t2\t6\t\t0\t0\n455\t100.0\tkb/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.yaml\tCommunityMech:000118\tWheat Straw Biogas Pretreatment SynCom\t4\t4\t0\t3\t2\t4\t\t0\t0\n456\t100.0\tkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml\tCommunityMech:000354\tYarrowia lipolytica Division-of-Labor Lipid Consortium\t2\t2\t0\t3\t2\t3\t\t0\t0\n457\t100.0\tkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml\tCommunityMech:000164\tYogurt Two-Species Starter Culture\t2\t2\t0\t4\t2\t9\t\t0\t0\n458\t100.0\tkb/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml\tCommunityMech:000210\tZymomonas-E. coli Exometabolomics-Designed Obligate Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n459\t100.0\tkb/communities/hCom2_Complex_Gut_Microbiome.yaml\tCommunityMech:000123\thCom2 Complex Gut Microbiome\t1\t1\t0\t3\t2\t3\t\t0\t0\n460\t100.0\tkb/communities/mCAFEs_Brachypodium_RCC.yaml\tCommunityMech:000078\tm-CAFEs Brachypodium Reduced Complexity Consortia\t10\t10\t0\t6\t2\t11\t\t0\t0\nPYTHONPATH=src uv run python scripts/rank_causal_graph_readiness.py \n"
+ },
+ {
+ "name": "just-network",
+ "command": [
+ "just",
+ "audit-network-json"
+ ],
+ "exit_code": 2,
+ "expected_exit_code": 2,
+ "log": "/private/tmp/communitymech-batch87/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-batch87/baseline-network.log",
+ "sha256": "a6d29124a0c095699e61c528d138db88a169daedb19ef83a140faf1d442748c4",
+ "output_tail": " \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n"
+ },
+ {
+ "name": "downstream",
+ "command": [
+ "rg",
+ "--no-ignore",
+ "--hidden",
+ "-n",
+ "downstream:",
+ "kb/communities",
+ "data/isolates",
+ "--glob",
+ "*.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_code": 0,
+ "log": "/private/tmp/communitymech-batch87/baseline-downstream.log",
+ "sha256": "ccaf2c8ca8082512425f8577ff85343f29141e26f4394324850157970d8e9dc9",
+ "output_tail": "ge_Succession_Community.yaml:93: downstream:\nkb/communities/Infant_Gut_DNA_Phage_Succession_Community.yaml:128: 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/Chlorella_Azospirillum_Synthetic_Mutualism.yaml:207: downstream:\nkb/communities/Chlorella_Azospirillum_Synthetic_Mutualism.yaml:252: downstream:\nkb/communities/OMM12_Gnotobiotic_Mouse_Gut_Community.yaml:89: downstream:\nkb/communities/Miscanthus_REE_Tailings_Nitrogen_SynCom10.yaml:136: downstream:\nkb/communities/Miscanthus_REE_Tailings_Nitrogen_SynCom10.yaml:201: downstream:\nkb/communities/KBase_ORT_Workflow_Community_Model.yaml:186: downstream:\nkb/communities/KBase_ORT_Workflow_Community_Model.yaml:284: 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/Human_Gut_FourMember_Proteome_Complementarity_Consortium.yaml:153: downstream:\nkb/communities/Human_Gut_FourMember_Proteome_Complementarity_Consortium.yaml:218: downstream:\nkb/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml:196: downstream:\nkb/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml:242: downstream:\nkb/communities/SMutans_VParvula_ASC_Biofilm.yaml:131: downstream:\nkb/communities/SMutans_VParvula_ASC_Biofilm.yaml:179: downstream:\nkb/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml:179: downstream:\nkb/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml:232: downstream:\nkb/communities/Parachlorella_Saccharomyces_Mutualistic_Coculture.yaml:83: downstream:\nkb/communities/Parachlorella_Saccharomyces_Mutualistic_Coculture.yaml:122: downstream:\nkb/communities/Moss_Microbe_Complex_Regolith_Biofertilizer.yaml:167: downstream:\n"
+ }
+ ],
+ "baseline_sha256": "eb5f1a3f39c4d0d20d1058402272f60e05a4c83a4efb0871e6a68f9acc561b55"
+ },
+ "reference_validator_caveat": "Four full-record reference-validator runs passed. CLI Total checks counts issues, not executed checks. Seventeen graph and eight discussion quotations independently match primary extracts and existing caches; literal matching is not entailment. Rice and helper evidence is abstract-bounded, not whole-methods verification."
+}
diff --git a/tests/test_causal_review_batch87.py b/tests/test_causal_review_batch87.py
new file mode 100644
index 000000000..b1d2802fe
--- /dev/null
+++ b/tests/test_causal_review_batch87.py
@@ -0,0 +1,141 @@
+"""Keep measured findings distinct from methods and unproven causal mediation."""
+
+import hashlib
+from pathlib import Path
+
+import yaml
+
+ROOT = Path(__file__).resolve().parents[1]
+LEDGER = ROOT / "reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml"
+
+
+def records():
+ ledger = yaml.safe_load(LEDGER.read_text())
+ rows = ledger["records"]
+ return ledger, rows, [yaml.safe_load((ROOT / row["path"]).read_text()) for row in rows]
+
+
+def test_prairie_retains_findings_and_two_qualified_directions():
+ _, rows, docs = records()
+ nodes = docs[0]["ecological_interactions"]
+ assert len(nodes) == 4 and len(rows[0]["edges_after"]) == 2
+ assert all("interaction_type" not in n for n in nodes)
+ assert "genomic potential" in nodes[0]["description"]
+ assert nodes[1]["description"].startswith("HYPOTHESIZED:")
+ assert "false positives" in nodes[2]["description"]
+ assert nodes[3]["description"].startswith("HYPOTHESIZED:")
+ assert all(e["description"].startswith("HYPOTHESIZED:") for e in rows[0]["edges_after"])
+
+
+def test_prairie_does_not_invent_crossfeeding_or_signed_viral_effect():
+ _, _, docs = records()
+ nodes = docs[0]["ecological_interactions"]
+ assert [len(n["participating_taxa"]) for n in nodes] == [1, 1, 3, 4]
+ assert nodes[1]["participating_taxa"][0]["term"]["id"] == "NCBITaxon:2157"
+ assert "no established net sign" in nodes[2]["downstream"][0]["description"]
+ assert "interspecies producer-to-consumer transfer" in nodes[1]["description"]
+
+
+def test_infant_methods_removed_but_observation_retained():
+ _, rows, docs = records()
+ (node,) = docs[1]["ecological_interactions"]
+ assert "four-infant observational" in node["description"]
+ assert "not directly measured hypoxia" in node["description"]
+ assert "Twenty repeated samples" in node["description"]
+ assert len(rows[1]["removed_node_decisions"]) == 2
+ assert "downstream" not in node and "interaction_type" not in node
+ assert node["participating_taxa"][0]["term"]["id"] == "NCBITaxon:561"
+
+
+def test_infant_confounding_and_other_positive_observations_remain():
+ _, _, docs = records()
+ text = docs[1]["discussions"][-1]["rationale"]
+ for value in [
+ "lower NO-related ratios",
+ "osmotic-ratio",
+ "p>0.05",
+ "Gestational age",
+ "birth weight",
+ "#1722",
+ ]:
+ assert value in text
+
+
+def test_rice_preserves_two_host_endpoints_without_mutualism():
+ _, _, docs = records()
+ nodes = docs[2]["ecological_interactions"]
+ assert len(nodes) == 2
+ assert "reduced arsenic accumulation" in nodes[0]["description"]
+ assert "PARTIAL:" in nodes[0]["description"]
+ assert "improved photosynthesis" in nodes[1]["description"]
+ for n in nodes:
+ assert "interaction_type" not in n and "downstream" not in n
+ assert [p["term"]["id"] for p in n["participating_taxa"]] == [
+ "NCBITaxon:86664",
+ "NCBITaxon:303",
+ "NCBITaxon:4530",
+ ]
+
+
+def test_helper_positive_protection_survives_distinct_from_co2_mediation():
+ _, rows, docs = records()
+ protection, co2, growth = docs[3]["ecological_interactions"]
+ assert protection["downstream"][0]["target"] == growth["name"]
+ assert not protection["downstream"][0]["description"].startswith("HYPOTHESIZED")
+ assert co2["downstream"][0]["target"] == protection["name"]
+ assert co2["downstream"][0]["description"].startswith("PARTIAL:")
+ assert "sixfold lower peroxide removal" in co2["description"]
+ assert "post-transfer lag" in co2["description"]
+ assert len(rows[3]["edges_after"]) == 2
+ assert all("interaction_type" not in n for n in [protection, co2, growth])
+
+
+def test_helper_access_limits_and_assay_distinctions_are_not_hidden():
+ _, _, docs = records()
+ text = docs[3]["discussions"][-1]["rationale"]
+ assert "No full-methods" in text and "retrieval failures" in text
+ assert "missing access does not prove experiments are absent" in text
+ assert (
+ "separate temperature and CO2 experiments"
+ in docs[3]["ecological_interactions"][2]["description"]
+ )
+
+
+def test_all_original_nodes_edges_and_anchors_have_dispositions():
+ ledger, rows, docs = records()
+ assert sum(len(r["node_decisions"]) for r in rows) == 10
+ assert sum(len(r["removed_node_decisions"]) for r in rows) == 2
+ assert sum(len(r["edges_before"]) for r in rows) == 4
+ assert sum(len(r["retained_edge_decisions"]) for r in rows) == 4
+ assert all(not r["removed_edge_decisions"] for r in rows)
+ assert ledger["primary_graph_snippet_count"] == 17
+ assert len(ledger["discussion_snippet_checks"]) == 8
+ for row, doc in zip(rows, docs, strict=True):
+ names = {n["name"] for n in doc["ecological_interactions"]}
+ assert names == {n["node"] for n in row["node_decisions"]}
+ assert all(e["target"] in names for e in row["edges_after"])
+ assert all(
+ a.split("#", 1)[1] in names for d in doc["discussions"] for a in d["attaches_to"]
+ )
+
+
+def test_history_no_spend_and_unfinished_lifecycle_are_explicit():
+ ledger, rows, docs = records()
+ assert not ledger["independent_approval"]
+ assert ledger["issues"] == [1718, 1719, 1720, 1721]
+ assert ledger["unresolved_non_graph_issues"] == [1722]
+ assert ledger["edison"]["provider_submissions"] == ledger["edison"]["credits_spent"] == 0
+ assert ledger["edison"]["dry_runs"] == []
+ for row, doc in zip(rows, docs, strict=True):
+ assert row["curation_events_added"] == len(row["history_files"]) == 1
+ assert row["status"] == "reviewed" and doc["curation_history"][-1]["llm_assisted"]
+
+
+def test_reviewed_records_and_all_evidence_caches_are_hash_bound():
+ ledger, rows, _ = records()
+ assert ledger["cache_changes"] == []
+ for row in rows:
+ assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"]
+ for path, digest in ledger["primary_artifacts"].items():
+ if path.startswith("references_cache/"):
+ assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest
diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py
index b8cc7a5d1..ddedd02de 100644
--- a/tests/test_participating_taxa.py
+++ b/tests/test_participating_taxa.py
@@ -367,6 +367,9 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example):
"Pleuromutilin_Degrading_Artificial_Consortium_5_Strain.yaml",
"Polaromonas_Vanadium_Reduction_Community.yaml",
"Poultry_Wastewater_ThreeStrain_Electroactive_Consortium.yaml",
+ "Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml",
+ "Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml",
+ "Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml",
"Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml",
"Prymnesium_Parvum_B12_Limited_SynCom.yaml",
"Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml",