In non-electro-stimulated microbiota, Syntrophobacteraceae MAG116 was inferred as a toluene degrader proposed to establish electron syntrophy with acetoclastic Methanosarcina spp. or Methanothrix sp. through e-pili or shared acetate.
HYPOTHESIZED - the abstract proposes MAG116-mediated toluene conversion linked to Methanosarcina OR Methanothrix through e-pili OR acetate. These are alternative partners and routes, not a demonstrated three-member assembly or resolved direct-electron-transfer flux. The non-electrostimulated model must remain distinct from electrode-associated hypotheses.
"MAG10 engaged in interspecies electron transfer with both syntroph f_Syntrophobacteraceae MAG116 and the anode"
-
Electrotrophic Aminidesulfovibrio MAG60 was inferred to capture electrons from the external circuit and share electrons and hydrogen with the hydrogenotrophic methanogen Methanobacterium MAG74.
+
HYPOTHESIZED - MAG60 could supply electrons or hydrogen to Methanobacterium MAG74. The directed pair encodes the proposed route, not a measured exchange rate, demonstrated obligate cooperation or resolved direct versus hydrogen-mediated transfer. Hydrogenase gene content alone does not demonstrate that flux.
Source Taxon: Aminidesulfovibrio sp. MAG60
@@ -934,17 +920,6 @@
Aminidesulfovibrio electron and hydrogen sharing with Methanobacterium
-
Biological Processes:
-
-
@@ -975,7 +950,7 @@
Evidence
- Knowledge gaps & discussions (1)
+ Knowledge gaps & discussions (2)
@@ -1010,6 +985,21 @@
+
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ Which candidate MAG routes are established by selective perturbation and primary reactor data?
+
+
The three abstract-supported mechanisms remain HYPOTHESIZED with PARTIAL computational evidence and zero downstream arrows. A common electrical treatment does not establish a chain among control, anode and cathode mechanisms. Preserve the alternate methanogen evidence from #1121 and recruitment evidence from #1120. Distinct MAG116 and MAG60 labels must not collapse because both use NCBITaxon:2. Full primary Methods/Results and supplements were not acquired; publisher requests failed and the ResearchGate entry requires a full-text request. This is an access limitation, not proof that full text does not exist. Non-graph roles and reactor metadata remain #1435.
+
+
Attaches to: ecological_interactions#Non-electrostimulated toluene degrader to acetoclastic methanogens, ecological_interactions#Anode-linked Desulfoprunum and Syntrophobacteraceae electron transfer, ecological_interactions#Aminidesulfovibrio electron and hydrogen sharing with Methanobacterium
+
+
+
+
@@ -1345,7 +1335,7 @@
Evidence
(function() {
var intId = "interaction:0";
- var intType = "SYNTROPHY";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -1358,10 +1348,6 @@
Evidence
var processes = [];
-
- processes.push("methanogenesis");
-
-
var evidenceCount = 1;
nodes.push({
@@ -1396,7 +1382,7 @@
Evidence
(function() {
var intId = "interaction:1";
- var intType = "SYNTROPHY";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
@@ -1433,7 +1419,7 @@
Evidence
(function() {
var intId = "interaction:2";
- var intType = "SYNTROPHY";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -1444,10 +1430,6 @@
Evidence
var processes = [];
-
- processes.push("methanogenesis");
-
-
var evidenceCount = 1;
nodes.push({
diff --git a/history/records/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture/2026-10-06T084910Z-codex-6ae26b.yaml b/history/records/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture/2026-10-06T084910Z-codex-6ae26b.yaml
new file mode 100644
index 000000000..2af301263
--- /dev/null
+++ b/history/records/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture/2026-10-06T084910Z-codex-6ae26b.yaml
@@ -0,0 +1,28 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml
+ slug: Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture
+session:
+ id: 2026-10-06T084910Z-codex-6ae26b
+ timestamp: '2026-10-06T08:49:10Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1431
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Retain genotype-specific methionine support under tested nutrient limitation.;
+ Retain reverse arginine support without collapsing same-species engineered strains.; Qualify
+ the fluorescence CV endpoint and remove interspecies GO grounding; mechanism expansion
+ remains pending.
+ details: Eleven existing nodes retained; three arrows removed and two qualified. Arg/Met
+ mechanism expansion remains pending. reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml
diff --git a/history/records/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium/2026-10-06T084910Z-codex-0245f9.yaml b/history/records/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium/2026-10-06T084910Z-codex-0245f9.yaml
new file mode 100644
index 000000000..fc67b4b75
--- /dev/null
+++ b/history/records/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium/2026-10-06T084910Z-codex-0245f9.yaml
@@ -0,0 +1,29 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml
+ slug: Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium
+session:
+ id: 2026-10-06T084910Z-codex-0245f9
+ timestamp: '2026-10-06T08:49:10Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1432
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Retain the sequential operational context without a clean HRT-only causal claim.;
+ Retain compartment composition and only a hypothesized contribution to IC removal.; Retain
+ computational potential without treating prediction as biological flux.; Retain bulk IC
+ removal without a causal product-fate claim.; Retain acetate output without proven cross-feeding
+ or an autotrophic fraction.
+ details: Eleven existing nodes retained; three arrows removed and two qualified. Arg/Met
+ mechanism expansion remains pending. reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml
diff --git a/history/records/Electrostimulated_Toluene_Methanogenic_Microbiota/2026-10-06T084910Z-codex-af5821.yaml b/history/records/Electrostimulated_Toluene_Methanogenic_Microbiota/2026-10-06T084910Z-codex-af5821.yaml
new file mode 100644
index 000000000..1909882ab
--- /dev/null
+++ b/history/records/Electrostimulated_Toluene_Methanogenic_Microbiota/2026-10-06T084910Z-codex-af5821.yaml
@@ -0,0 +1,27 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml
+ slug: Electrostimulated_Toluene_Methanogenic_Microbiota
+session:
+ id: 2026-10-06T084910Z-codex-af5821
+ timestamp: '2026-10-06T08:49:10Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1433
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Retain alternate control-system candidates without confirmed syntrophic flux.;
+ Retain the undirected anode/MAG hypothesis with MAG-specific evidence.; Retain the proposed
+ MAG60-to-MAG74 route without confirmed hydrogen or electron sharing.
+ details: Eleven existing nodes retained; three arrows removed and two qualified. Arg/Met
+ mechanism expansion remains pending. reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml
diff --git a/kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml b/kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml
index 86b4f0a1f..52444f545 100644
--- a/kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml
+++ b/kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml
@@ -110,7 +110,10 @@ taxonomy:
explanation: Identifies the methionine-auxotrophic, arginine-overproducing member.
ecological_interactions:
- name: ΔargA-ΔmetJ methionine cross-feeding
- description: The ΔargA-ΔmetJ member overproduces methionine that supports the methionine-requiring ΔmetA-ΔargR partner.
+ description: The delta-argA/delta-metJ mutant overproduces methionine supporting the methionine-requiring delta-metA/delta-argR
+ partner under the tested amino-acid limitation. Both strains are E. coli K-12 MG1655 derivatives. Reciprocal
+ growth dependence does not resolve the release route or single-cell export flux, and supplemented cultures need
+ not remain obligately mutualistic.
interaction_type: CROSS_FEEDING
scope: PAIRWISE
source_taxon:
@@ -138,14 +141,18 @@ ecological_interactions:
supports: SUPPORT
evidence_source: IN_VITRO
snippet: ΔargA-ΔmetJ required arginine (Arg) to grow but overproduced methionine (Met)
- explanation: Supports methionine overproduction by the ΔargA-ΔmetJ member and arginine auxotrophy in that same member.
+ explanation: Supports methionine overproduction by the ΔargA-ΔmetJ member and arginine auxotrophy in that same
+ member.
- reference: PMID:42592155
supports: SUPPORT
evidence_source: IN_VITRO
snippet: cooperated by exchanging two essential AAs (Met and Arg)
explanation: Supports reciprocal amino-acid exchange in the engineered pair.
- name: ΔmetA-ΔargR arginine cross-feeding
- description: The ΔmetA-ΔargR member overproduces arginine that supports the arginine-requiring ΔargA-ΔmetJ partner.
+ description: The delta-metA/delta-argR mutant supplies arginine supporting the arginine-requiring delta-argA/delta-metJ
+ partner under the tested amino-acid limitation. The same canonical taxon ID represents distinct engineered genotypes,
+ not one organism acting on itself. Supplementation can remove partner dependence; this is not universal obligate
+ exchange across media.
interaction_type: CROSS_FEEDING
scope: PAIRWISE
source_taxon:
@@ -173,15 +180,20 @@ ecological_interactions:
supports: SUPPORT
evidence_source: IN_VITRO
snippet: ΔmetA-ΔargR needed Met but overproduced Arg
- explanation: Supports arginine overproduction by the ΔmetA-ΔargR member and methionine auxotrophy in that same member.
+ explanation: Supports arginine overproduction by the ΔmetA-ΔargR member and methionine auxotrophy in that same
+ member.
- reference: PMID:42592155
supports: SUPPORT
evidence_source: IN_VITRO
snippet: cooperated by exchanging two essential AAs (Met and Arg)
explanation: Supports reciprocal amino-acid exchange in the engineered pair.
- name: Arg-Met obligate mutualism increases cell noise
- description: The reciprocal Arg/Met exchange formed a two-way positive, obligate mutualistic cross-feeding system and increased
- single-cell fluorescence noise in each strain population relative to mono-cultures.
+ description: 'In the tested nutrient-limited Arg/Met coculture, reciprocal exchange was associated with higher
+ single-cell fluorescent-reporter coefficient of variation than in supplemented monocultures. Mean amino-acid
+ matching controls supported a heterogeneity interpretation. Reporter amino-acid sensitivity and experimental
+ context matter: this is not a direct measurement of intrinsic transcriptional noise, a universal protein-noise
+ effect or evidence that noise causes community collapse. MUTUALISM denotes the restricted reciprocal-growth
+ model, not every supplementation condition.'
interaction_type: MUTUALISM
scope: COMMUNITY_LEVEL
participating_taxa:
@@ -202,22 +214,19 @@ ecological_interactions:
term:
id: CHEBI:29016
label: arginine
- biological_processes:
- - preferred_term: biological process involved in interspecies interaction between organisms
- term:
- id: GO:0044419
- label: biological process involved in interspecies interaction between organisms
evidence:
- reference: PMID:42592155
supports: SUPPORT
evidence_source: IN_VITRO
snippet: forming an obligate mutualistic relationship through exchanging essential AAs with each other
- explanation: Supports the two-way obligate mutualism created by reciprocal amino-acid exchange.
+ explanation: Supports reciprocal obligation under the tested nutrient limitation; supplementation changes the
+ interaction.
- reference: PMID:42592155
supports: SUPPORT
evidence_source: IN_VITRO
snippet: cross-feeding consistently increased cell noise of two populations
- explanation: Supports increased cell noise as an emergent result of the Arg/Met cross-feeding pair.
+ explanation: Supports the fluorescent-reporter CV endpoint in the tested Arg/Met system, not all reporters or
+ resolved intrinsic transcriptional noise.
environmental_factors:
- name: Arginine and methionine reciprocal auxotrophy
value: ΔargA-ΔmetJ requires Arg and overproduces Met; ΔmetA-ΔargR requires Met and overproduces Arg
@@ -369,28 +378,45 @@ external_resources:
explanation: Lists the PubMed Central identifier for the open full text.
discussions:
- discussion_id: arg_met_supplementary_protocol_details
- prompt: What exact M9-glucose recipe, antibiotic and IPTG concentrations, amino-acid omission/addition conditions, inoculum
- density, and culture volumes were used for each Arg/Met co-culture experiment?
+ prompt: What exact M9-glucose recipe, antibiotic and IPTG concentrations, amino-acid omission/addition conditions,
+ inoculum density, and culture volumes were used for each Arg/Met co-culture experiment?
kind: KNOWLEDGE_GAP
status: OPEN
attaches_to:
- growth_media#LB or M9-glucose E. coli aerobic culture media
- cultivation_setup
- rationale: The primary full text supports LB or M9-glucose aerobic culture at 37 C and 200 rpm and says that detailed information
- for Experiments 1-8 was presented in Supplementary data, so condition-specific recipes should be resolved from the supplement
- before asserting exact amino-acid supplementation or inoculum sizes.
+ rationale: The primary full text supports LB or M9-glucose aerobic culture at 37 C and 200 rpm and says that detailed
+ information for Experiments 1-8 was presented in Supplementary data, so condition-specific recipes should be
+ resolved from the supplement before asserting exact amino-acid supplementation or inoculum sizes.
posed_by: codex
posed_date: '2026-09-27'
- discussion_id: additional_pair_and_environmental_isolate_scope
- prompt: Should the ΔargA-ΔtrpR/ΔtrpC-ΔargR pair and BL21-GFP environmental-isolate co-cultures be curated as separate variant
- records?
+ prompt: Should the ΔargA-ΔtrpR/ΔtrpC-ΔargR pair and BL21-GFP environmental-isolate co-cultures be curated as separate
+ variant records?
kind: KNOWLEDGE_GAP
status: OPEN
- rationale: The main text reports a second K-12 MG1655 auxotrophic pair and synthetic environmental communities, but this
- record intentionally covers the primary ΔargA-ΔmetJ/ΔmetA-ΔargR arginine-methionine system rather than grouping all variant
- co-cultures under one biological identity.
+ rationale: The main text reports a second K-12 MG1655 auxotrophic pair and synthetic environmental communities,
+ but this record intentionally covers the primary ΔargA-ΔmetJ/ΔmetA-ΔargR arginine-methionine system rather than
+ grouping all variant co-cultures under one biological identity.
posed_by: codex
posed_date: '2026-09-27'
+- discussion_id: argmet_noise_mechanism_expansion
+ prompt: How do nutrient heterogeneity and reporter sensitivity mediate the Arg/Met fluorescence response?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#ΔargA-ΔmetJ methionine cross-feeding
+ - ecological_interactions#ΔmetA-ΔargR arginine cross-feeding
+ - ecological_interactions#Arg-Met obligate mutualism increases cell noise
+ rationale: 'Existing nodes are qualified, not an exhaustive mechanism graph. The primary main body supports assessing
+ additional structure for reporter sensitivity and manipulated nutrient, strain-ratio and spatial heterogeneity.
+ Mixed preincubations are not a direct spatial nutrient map, and modeled diffusion/uptake is not measured micro-scale
+ flux. Intrinsic/extrinsic noise remains unresolved. Keep distinct Arg-Trp and BL21/environmental-isolate experiments
+ outside this record. One-community Edison dry run is complete, but no provider job was submitted; expansion
+ remains needs_research under #1436 pending specific spend authorization. Preserve the existing supplement/protocol
+ and alternative-pair gaps.'
+ posed_by: codex
+ posed_date: '2026-10-06'
metals_present: []
rare_earth_elements_present: []
metal_relevance: NOT_APPLICABLE
@@ -401,6 +427,13 @@ curation_history:
curator: codex
action: CREATE_COMMUNITY_RECORD
changes: Created CommunityMech:000455 for the two-member E. coli K-12 MG1655 DeltaargA-DeltametJ plus DeltametA-DeltaargR
- Arg/Met cross-feeding coculture from PMID:42592155, with exact-member taxonomy, reciprocal amino-acid cross-feeding interactions,
- culture conditions, PubMed/DOI/PMCID resources, and supplement-scoped knowledge gaps.
+ Arg/Met cross-feeding coculture from PMID:42592155, with exact-member taxonomy, reciprocal amino-acid cross-feeding
+ interactions, culture conditions, PubMed/DOI/PMCID resources, and supplement-scoped knowledge gaps.
+ llm_assisted: true
+- timestamp: '2026-10-06T08:49:09Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Retain genotype-specific methionine support under tested nutrient limitation.; Retain reverse arginine
+ support without collapsing same-species engineered strains.; Qualify the fluorescence CV endpoint and remove
+ interspecies GO grounding; mechanism expansion remains pending. Issue #1431; reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml'
llm_assisted: true
diff --git a/kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml b/kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml
index 5bace0e6f..8c2ab1ce8 100644
--- a/kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml
+++ b/kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml
@@ -145,11 +145,9 @@ taxonomy:
explanation: Identifies Desulfovibrio as a member enriched in the electrode biofilm.
ecological_interactions:
- name: HRT-Driven Mixotrophic Consortium Enrichment
- description: >
- A continuous bioreactor held at 300 mV under progressively shorter
- hydraulic retention times used HRT to enrich a specialized mixotrophic
- consortium for inorganic-carbon utilization and acetate production.
- interaction_type: NICHE_PARTITIONING
+ description: A single electrostimulated reactor underwent sequential HRT phases and intervening batch assays.
+ Its changing composition and outputs support an operational association, not an independently replicated HRT-only
+ effect. Participants are representative genera, not the complete enrichment roster.
scope: COMMUNITY_LEVEL
metabolites:
- preferred_term: carbon dioxide
@@ -162,70 +160,79 @@ ecological_interactions:
label: acetate
downstream:
- target: Planktonic and Electrode-Biofilm Spatial Partitioning
- description: >
- HRT-driven enrichment yielded a community partitioned between the
- planktonic phase and electrode biofilm.
+ description: PARTIAL - altered residence time may select community composition, but sequential operation and
+ batch interruptions do not isolate its contribution to the endpoint compartment difference.
evidence:
- reference: doi:10.21203/rs.3.rs-9518331/v1
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: A continuous electrostimulated bioreactor was operated at a constant potential of
- 300 mV for approximately 1200 h under three HRTs
- explanation: >
- Defines the 300 mV continuous reactor and hydraulic-retention-time series
- that selected the enrichment consortium.
+ snippet: A continuous electrostimulated bioreactor was operated at a constant potential of 300 mV for approximately
+ 1200 h under three HRTs
+ explanation: 'Defines the 300 mV continuous reactor and hydraulic-retention-time series that selected the enrichment
+ consortium.
+
+ '
- reference: doi:10.21203/rs.3.rs-9518331/v1
supports: SUPPORT
evidence_source: IN_VITRO
snippet: Decreasing HRT promoted the enrichment of a specialized mixotrophic consortium
- explanation: >
- Directly supports the reduced-HRT enrichment of a specialized mixotrophic
- community.
+ explanation: 'Directly supports the reduced-HRT enrichment of a specialized mixotrophic community.
+
+ '
- reference: doi:10.21203/rs.3.rs-9518331/v1
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: Reducing HRT enhanced inorganic carbon utilization and selectively increased acetate
- production
- explanation: >
- Supports the connection between HRT reduction, inorganic-carbon use, and
- acetate-selective production.
+ snippet: Reducing HRT enhanced inorganic carbon utilization and selectively increased acetate production
+ explanation: 'Supports the connection between HRT reduction, inorganic-carbon use, and acetate-selective production.
+
+ '
+ participating_taxa:
+ - preferred_term: Enterococcus
+ term:
+ id: NCBITaxon:1350
+ label: Enterococcus
+ - preferred_term: Clostridium
+ term:
+ id: NCBITaxon:1485
+ label: Clostridium
+ - preferred_term: Desulfovibrio
+ term:
+ id: NCBITaxon:872
+ label: Desulfovibrio
- name: Planktonic and Electrode-Biofilm Spatial Partitioning
- description: >
- The enriched consortium separated into planktonic Enterococcus/Clostridium and
- electrode-biofilm Desulfovibrio/Enterococcus populations, creating a spatial
- organization associated with downstream carbon-flux changes.
- interaction_type: NICHE_PARTITIONING
+ description: Endpoint planktonic and electrode-biofilm profiles differed. Relative abundance does not demonstrate
+ taxon-specific flux, physiological niche exclusion or required partner exchange.
scope: COMMUNITY_LEVEL
- biological_processes:
- - preferred_term: biological process involved in interspecies interaction between organisms
- term:
- id: GO:0044419
- label: biological process involved in interspecies interaction between organisms
downstream:
- - target: Electrode-Biofilm Carbon-Fixation Pathway Enrichment
- description: >
- Spatial enrichment at the electrode biofilm was the context in which
- predicted carbon-fixation pathways and reducing-equivalent generation were
- concentrated.
- target: Biomass-Specific Inorganic Carbon Removal Increase
- description: >
- The organized planktonic and electrode-biofilm consortium exhibited higher
- biomass-specific inorganic carbon removal.
+ description: HYPOTHESIZED - compartment-associated exchange of reducing equivalents could support carbon uptake.
+ Composition and bulk chemistry do not selectively establish that architecture as the cause of IC removal.
evidence:
- reference: doi:10.21203/rs.3.rs-9518331/v1
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: Enterococcus and Clostridium dominating the planktonic phase and Desulfovibrio and
- Enterococcus enriched in the electrode biofilm
- explanation: >
- Identifies the taxa that dominated the planktonic phase and the electrode
- biofilm of the reduced-HRT enrichment.
+ snippet: Enterococcus and Clostridium dominating the planktonic phase and Desulfovibrio and Enterococcus enriched
+ in the electrode biofilm
+ explanation: 'Identifies the taxa that dominated the planktonic phase and the electrode biofilm of the reduced-HRT
+ enrichment.
+
+ '
+ participating_taxa:
+ - preferred_term: Enterococcus
+ term:
+ id: NCBITaxon:1350
+ label: Enterococcus
+ - preferred_term: Clostridium
+ term:
+ id: NCBITaxon:1485
+ label: Clostridium
+ - preferred_term: Desulfovibrio
+ term:
+ id: NCBITaxon:872
+ label: Desulfovibrio
- name: Electrode-Biofilm Carbon-Fixation Pathway Enrichment
- description: >
- Functional predictions placed enriched carbon-fixation pathways in the
- electrode-associated biofilm, suggesting that electrode-associated taxa
- generated reducing equivalents that supported autotrophic CO2/HCO3- fixation.
- interaction_type: SYNTROPHY
+ description: PICRUSt2 inferred carbon-fixation potential from amplicon composition. This is not measured gene
+ expression, electron transfer, hydrogen production or pathway flux; the prediction is not itself a causal actor.
scope: COMMUNITY_LEVEL
metabolites:
- preferred_term: carbon dioxide
@@ -236,38 +243,36 @@ ecological_interactions:
term:
id: CHEBI:17544
label: hydrogencarbonate
- biological_processes:
- - preferred_term: carbon fixation
- term:
- id: GO:0015977
- label: carbon fixation
- downstream:
- - target: Acetate-Directed Carbon Flux
- description: >
- Predicted biofilm carbon fixation supplied autotrophic metabolism consistent
- with the observed excess acetate beyond heterotrophic stoichiometry.
evidence:
- reference: doi:10.21203/rs.3.rs-9518331/v1
supports: SUPPORT
evidence_source: COMPUTATIONAL
- snippet: Functional predictions further revealed the enrichment of carbon fixation pathways,
- particularly in the electrode-associated biofilm
- explanation: >
- Supports predicted electrode-biofilm enrichment of carbon-fixation pathways.
+ snippet: Functional predictions further revealed the enrichment of carbon fixation pathways, particularly in
+ the electrode-associated biofilm
+ explanation: Supports predicted potential, not demonstrated carbon-fixation activity.
- reference: doi:10.21203/rs.3.rs-9518331/v1
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: COMPUTATIONAL
- snippet: electrode-associated taxa contributed to the generation of reducing equivalents and
- supported autotrophic metabolism
- explanation: >
- Supports the predicted biofilm role in supplying reducing power for
- autotrophic carbon fixation.
+ snippet: electrode-associated taxa contributed to the generation of reducing equivalents and supported autotrophic
+ metabolism
+ explanation: A proposed mechanism, not directly measured donor activity.
+ participating_taxa:
+ - preferred_term: Enterococcus
+ term:
+ id: NCBITaxon:1350
+ label: Enterococcus
+ - preferred_term: Clostridium
+ term:
+ id: NCBITaxon:1485
+ label: Clostridium
+ - preferred_term: Desulfovibrio
+ term:
+ id: NCBITaxon:872
+ label: Desulfovibrio
- name: Biomass-Specific Inorganic Carbon Removal Increase
- description: >
- The spatially organized mixotrophic consortium raised biomass-specific
- inorganic carbon removal 2.6-fold and thereby routed more inorganic carbon
- into the electrostimulated reactor's downstream acetogenic metabolism.
- interaction_type: SYNTROPHY
+ description: Biomass-specific inlet/outlet inorganic-carbon removal increased 2.6-fold. This bulk endpoint does
+ not identify assimilation, product fate or a responsible taxon, and is not an independently established cause
+ of acetate output.
scope: COMMUNITY_LEVEL
metabolites:
- preferred_term: carbon dioxide
@@ -282,26 +287,29 @@ ecological_interactions:
term:
id: CHEBI:30089
label: acetate
- downstream:
- - target: Acetate-Directed Carbon Flux
- description: >
- Increased inorganic-carbon utilization was coupled to selective acetate
- production at the shortest hydraulic retention time.
evidence:
- reference: doi:10.21203/rs.3.rs-9518331/v1
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
snippet: This syntrophic organization enhanced biomass-specific IC removal by 2.6-fold
- explanation: >
- Quantifies the inorganic-carbon removal increase linked to the spatially
- organized consortium.
+ explanation: Supports the reported bulk change; attribution to syntrophic organization is not selectively established.
+ participating_taxa:
+ - preferred_term: Enterococcus
+ term:
+ id: NCBITaxon:1350
+ label: Enterococcus
+ - preferred_term: Clostridium
+ term:
+ id: NCBITaxon:1485
+ label: Clostridium
+ - preferred_term: Desulfovibrio
+ term:
+ id: NCBITaxon:872
+ label: Desulfovibrio
- name: Acetate-Directed Carbon Flux
- description: >
- At the 14 h HRT, the enriched electrostimulated consortium selectively
- redirected carbon flux toward acetate, reached 1470 mg/L acetate, and showed
- acetate formation beyond heterotrophic stoichiometry consistent with
- additional CO2/HCO3- fixation.
- interaction_type: CROSS_FEEDING
+ description: Acetate accumulated during reactor operation. Excess over the chosen heterotrophic stoichiometric
+ model is consistent with additional routes, not a measured autotrophic fraction or demonstrated donor-to-recipient
+ cross-feeding.
scope: COMMUNITY_LEVEL
metabolites:
- preferred_term: carbon dioxide
@@ -316,32 +324,39 @@ ecological_interactions:
term:
id: CHEBI:30089
label: acetate
- biological_processes:
- - preferred_term: carbon fixation
- term:
- id: GO:0015977
- label: carbon fixation
evidence:
- reference: doi:10.21203/rs.3.rs-9518331/v1
supports: SUPPORT
evidence_source: IN_VITRO
snippet: redirected carbon flux toward acetate, a key product of acetogenic pathways
- explanation: >
- Identifies acetate as the main product toward which carbon flux was
- redirected in the enrichment.
+ explanation: 'Identifies acetate as the main product toward which carbon flux was redirected in the enrichment.
+
+ '
- reference: doi:10.21203/rs.3.rs-9518331/v1
supports: SUPPORT
evidence_source: IN_VITRO
snippet: Acetate reached 1470 mg L
- explanation: >
- Supports the peak acetate accumulation reported for the 14 h HRT condition.
+ explanation: 'Supports the peak acetate accumulation reported for the 14 h HRT condition.
+
+ '
- reference: doi:10.21203/rs.3.rs-9518331/v1
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
snippet: the acetate exceeded heterotrophic stoichiometry, indicating additional CO
- explanation: >
- Supports additional inorganic-carbon fixation contributing to the measured
- acetate pool.
+ explanation: Model-dependent inference, not isotope-resolved inorganic-carbon incorporation.
+ participating_taxa:
+ - preferred_term: Enterococcus
+ term:
+ id: NCBITaxon:1350
+ label: Enterococcus
+ - preferred_term: Clostridium
+ term:
+ id: NCBITaxon:1485
+ label: Clostridium
+ - preferred_term: Desulfovibrio
+ term:
+ id: NCBITaxon:872
+ label: Desulfovibrio
cultivation_setup:
- cultivation_mode: CONTINUOUS
system_type: BIOELECTROCHEMICAL_SYSTEM
@@ -357,3 +372,30 @@ cultivation_setup:
evidence_source: IN_VITRO
snippet: A continuous electrostimulated bioreactor was operated at a constant potential of 300 mV for approximately 1200 h under three HRTs (33, 19, and 14 h).
explanation: Names the continuous bioelectrochemical reactor, 300 mV applied potential, and HRT operation.
+discussions:
+- discussion_id: vfa_prediction_flux_and_operational_confounding
+ prompt: Which exchanges and carbon sources causally account for the reactor endpoints?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#HRT-Driven Mixotrophic Consortium Enrichment
+ - ecological_interactions#Planktonic and Electrode-Biofilm Spatial Partitioning
+ - ecological_interactions#Electrode-Biofilm Carbon-Fixation Pathway Enrichment
+ - ecological_interactions#Biomass-Specific Inorganic Carbon Removal Increase
+ - ecological_interactions#Acetate-Directed Carbon Flux
+ rationale: 'Retain two qualified links; remove composition-to-prediction, prediction-to-acetate and IC-removal-to-acetate
+ arrows. Derived annotations and correlated endpoints do not establish mediation. Resolve carbon accounting and
+ selective perturbations before assigning member fluxes. The primary preprint body was read from a public mirror,
+ not separate supplements or visual figures. Non-graph protocol and role claims remain #1434; the recurrent Enterococcus_B
+ grounding is tracked by reopened #373. Canonical NCBI participants are preserved without endorsing GTDB metadata.'
+ posed_by: codex
+ posed_date: '2026-10-06'
+curation_history:
+- timestamp: '2026-10-06T08:49:09Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Retain the sequential operational context without a clean HRT-only causal claim.; Retain compartment
+ composition and only a hypothesized contribution to IC removal.; Retain computational potential without treating
+ prediction as biological flux.; Retain bulk IC removal without a causal product-fate claim.; Retain acetate
+ output without proven cross-feeding or an autotrophic fraction. Issue #1432; reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml'
+ llm_assisted: true
diff --git a/kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml b/kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml
index b1ba89146..477bf00a3 100644
--- a/kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml
+++ b/kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml
@@ -191,9 +191,10 @@ taxonomy:
explanation: Supports MAG60 as an inferred electrotroph and hydrogen producer.
ecological_interactions:
- name: Non-electrostimulated toluene degrader to acetoclastic methanogens
- description: In non-electro-stimulated microbiota, Syntrophobacteraceae MAG116 was inferred as a toluene degrader proposed
- to establish electron syntrophy with acetoclastic Methanosarcina spp. or Methanothrix sp. through e-pili or shared acetate.
- interaction_type: SYNTROPHY
+ description: HYPOTHESIZED - the abstract proposes MAG116-mediated toluene conversion linked to Methanosarcina
+ OR Methanothrix through e-pili OR acetate. These are alternative partners and routes, not a demonstrated three-member
+ assembly or resolved direct-electron-transfer flux. The non-electrostimulated model must remain distinct from
+ electrode-associated hypotheses.
scope: COMMUNITY_LEVEL
participating_taxa:
- preferred_term: Syntrophobacteraceae MAG116
@@ -221,23 +222,18 @@ ecological_interactions:
term:
id: CHEBI:16183
label: methane
- biological_processes:
- - preferred_term: methanogenesis
- term:
- id: GO:0015948
- label: methanogenesis
evidence:
- reference: PMID:38865893
supports: PARTIAL
evidence_source: COMPUTATIONAL
snippet: proposed to establish electron syntrophy with the acetoclastic methanogen Methanosarcina spp. (or Methanothrix
sp.) through e-pili or shared acetate
- explanation: Supports the candidate non-electrostimulated electron-syntrophy route, while preserving the abstract's proposed
- status and alternate methanogen assignment.
+ explanation: Supports the candidate non-electrostimulated electron-syntrophy route, while preserving the abstract's
+ proposed status and alternate methanogen assignment.
- name: Anode-linked Desulfoprunum and Syntrophobacteraceae electron transfer
- description: In electro-stimulated microbiota, anode-recruited Desulfoprunum MAG10 was inferred to participate in interspecies
- electron transfer with Syntrophobacteraceae MAG116 and the anode, potentially mediated by c-type cytochromes.
- interaction_type: SYNTROPHY
+ description: HYPOTHESIZED - anode-associated Desulfoprunum MAG10 may exchange electrons with MAG116 and the electrode.
+ The abstract does not resolve donor-to-recipient direction between the MAGs or demonstrate a necessary transfer
+ protein. Electrode enrichment does not independently establish syntrophic flux.
scope: COMMUNITY_LEVEL
participating_taxa:
- preferred_term: Desulfoprunum sp. MAG10
@@ -252,13 +248,14 @@ ecological_interactions:
- reference: PMID:38865893
supports: PARTIAL
evidence_source: COMPUTATIONAL
- snippet: facilitated by c-type cytochromes
- explanation: Supports an inferred anode-linked electron-transfer mechanism for MAG10 rather than a directly tested pairwise
- edge.
+ snippet: MAG10 engaged in interspecies electron transfer with both syntroph f_Syntrophobacteraceae MAG116 and
+ the anode
+ explanation: Identifies the proposed MAG-specific route; the abstract qualifies its molecular mechanism, without
+ selectively testing it.
- name: Aminidesulfovibrio electron and hydrogen sharing with Methanobacterium
- description: Electrotrophic Aminidesulfovibrio MAG60 was inferred to capture electrons from the external circuit and share
- electrons and hydrogen with the hydrogenotrophic methanogen Methanobacterium MAG74.
- interaction_type: SYNTROPHY
+ description: HYPOTHESIZED - MAG60 could supply electrons or hydrogen to Methanobacterium MAG74. The directed pair
+ encodes the proposed route, not a measured exchange rate, demonstrated obligate cooperation or resolved direct
+ versus hydrogen-mediated transfer. Hydrogenase gene content alone does not demonstrate that flux.
scope: PAIRWISE
source_taxon:
preferred_term: Aminidesulfovibrio sp. MAG60
@@ -279,17 +276,13 @@ ecological_interactions:
term:
id: CHEBI:16183
label: methane
- biological_processes:
- - preferred_term: methanogenesis
- term:
- id: GO:0015948
- label: methanogenesis
evidence:
- reference: PMID:38865893
supports: PARTIAL
evidence_source: COMPUTATIONAL
snippet: could share electrons and hydrogen with the methanogen Methanobacterium sp. MAG74
- explanation: Supports the inferred electron- and hydrogen-sharing syntrophy between MAG60 and MAG74.
+ explanation: Supports the abstract-level candidate donor/recipient model, not direct proof of electron or hydrogen
+ sharing.
environmental_factors:
- name: 800 mV electro-stimulation
value: 800 mV
@@ -363,8 +356,8 @@ metal_relevance: NOT_APPLICABLE
metal_notes: No metal or rare-earth element processing role is reported for the methanogenic toluene-degrading microbiota.
discussions:
- discussion_id: full_text_bioelectrochemical_toluene_mag_details
- prompt: Curate the full text before adding medium composition, inoculum source, electrode material, reference electrode,
- MAG bin-quality metrics, exact MAG relative abundances, and public metagenome accessions.
+ prompt: Curate the full text before adding medium composition, inoculum source, electrode material, reference
+ electrode, MAG bin-quality metrics, exact MAG relative abundances, and public metagenome accessions.
kind: CURATION_TODO
status: OPEN
attaches_to:
@@ -372,30 +365,48 @@ discussions:
- growth_media
- cultivation_setup
- ecological_interactions
- rationale: The PubMed abstract supports 800 mV electro-stimulation, named MAG or genus labels, and the proposed electron-transfer
- model, but it omits the reactor geometry, reference electrode, culture medium, source inoculum, and full MAG taxonomy
- needed to refine this abstract-level record.
+ rationale: The PubMed abstract supports 800 mV electro-stimulation, named MAG or genus labels, and the proposed
+ electron-transfer model, but it omits the reactor geometry, reference electrode, culture medium, source inoculum,
+ and full MAG taxonomy needed to refine this abstract-level record.
evidence:
- reference: PMID:38865893
supports: SUPPORT
evidence_source: COMPUTATIONAL
snippet: metagenomic sequencing analyses revealed
- explanation: Shows that the cached abstract summarizes genome-resolved analyses without exposing the underlying MAG table.
+ explanation: Shows that the cached abstract summarizes genome-resolved analyses without exposing the underlying
+ MAG table.
posed_by: codex
posed_date: '2026-09-26'
+- discussion_id: toluene_mag_routes_and_primary_access
+ prompt: Which candidate MAG routes are established by selective perturbation and primary reactor data?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Non-electrostimulated toluene degrader to acetoclastic methanogens
+ - ecological_interactions#Anode-linked Desulfoprunum and Syntrophobacteraceae electron transfer
+ - ecological_interactions#Aminidesulfovibrio electron and hydrogen sharing with Methanobacterium
+ rationale: 'The three abstract-supported mechanisms remain HYPOTHESIZED with PARTIAL computational evidence and
+ zero downstream arrows. A common electrical treatment does not establish a chain among control, anode and cathode
+ mechanisms. Preserve the alternate methanogen evidence from #1121 and recruitment evidence from #1120. Distinct
+ MAG116 and MAG60 labels must not collapse because both use NCBITaxon:2. Full primary Methods/Results and supplements
+ were not acquired; publisher requests failed and the ResearchGate entry requires a full-text request. This is
+ an access limitation, not proof that full text does not exist. Non-graph roles and reactor metadata remain #1435.'
+ posed_by: codex
+ posed_date: '2026-10-06'
curation_history:
- timestamp: '2026-09-26T18:38:36Z'
curator: codex
action: CREATE_ELECTROSTIMULATED_TOLUENE_METHANOGENIC_MICROBIOTA
- changes: Created CommunityMech:000440 from PMID:38865893 with electro-stimulated methanogenic toluene microbiota membership,
- proposed MAG-resolved syntrophic electron-transfer interactions, 800 mV bioelectrochemical context, PubMed/DOI resources,
- and an abstract-level full-text curation todo.
+ changes: Created CommunityMech:000440 from PMID:38865893 with electro-stimulated methanogenic toluene microbiota
+ membership, proposed MAG-resolved syntrophic electron-transfer interactions, 800 mV bioelectrochemical context,
+ PubMed/DOI resources, and an abstract-level full-text curation todo.
llm_assisted: true
- timestamp: '2026-09-26T18:47:57Z'
curator: codex
action: FIX_ELECTROSTIMULATED_TOLUENE_REVIEW_ISSUES
- changes: 'Addressed adversarial review issues #1120 and #1121 by adding explicit Desulfoprunum MAG10 anode-recruitment evidence
- and by broadening the MAG116 acetoclastic-methanogen syntrophy snippet to include the Methanothrix alternate.'
+ changes: 'Addressed adversarial review issues #1120 and #1121 by adding explicit Desulfoprunum MAG10 anode-recruitment
+ evidence and by broadening the MAG116 acetoclastic-methanogen syntrophy snippet to include the Methanothrix
+ alternate.'
llm_assisted: true
- timestamp: '2026-09-26T18:59:02Z'
curator: codex
@@ -403,3 +414,10 @@ curation_history:
changes: Updated NCBITaxon:2629275 labels from Desulfoprunum to unclassified Desulfoprunum to match the canonical
NCBI Taxonomy label required by the ID-label correspondence gate.
llm_assisted: true
+- timestamp: '2026-10-06T08:49:09Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Retain alternate control-system candidates without confirmed syntrophic flux.; Retain the undirected
+ anode/MAG hypothesis with MAG-specific evidence.; Retain the proposed MAG60-to-MAG74 route without confirmed
+ hydrogen or electron sharing. Issue #1433; reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml'
+ llm_assisted: true
diff --git a/reports/causal_graph_review/adversarial-review-20261006-batch37.yaml b/reports/causal_graph_review/adversarial-review-20261006-batch37.yaml
new file mode 100644
index 000000000..a20e6f1ac
--- /dev/null
+++ b/reports/causal_graph_review/adversarial-review-20261006-batch37.yaml
@@ -0,0 +1,154 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: a691e1d3b93d8eb91b24f0b0cfad5072f7b7d0f8
+scope:
+- kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml
+- kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml
+- kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml
+decision_ledger: reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml
+validation_report: reports/causal_graph_review/validation-20261006-batch37.json
+findings:
+- issue: 1431
+ severity: P2
+ status: addressed_in_this_change
+ finding: 'Arg-Met graph: scope obligate exchange and fluorescence noise to the tested reporter conditions'
+ disposition: Existing graph corrected; close only after protected main merge.
+- issue: 1432
+ severity: P2
+ status: addressed_in_this_change
+ finding: 'Electrostimulated VFA graph: separate observed outputs from predicted carbon-fixation mechanisms'
+ disposition: Existing graph corrected; close only after protected main merge.
+- issue: 1433
+ severity: P2
+ status: addressed_in_this_change
+ finding: 'Toluene graph: keep MAG exchange routes hypothetical and preserve alternate partners'
+ disposition: Existing graph corrected; close only after protected main merge.
+- issue: 1434
+ severity: P2
+ status: open_nongraph_followup
+ finding: 'Electrostimulated VFA metadata: reconcile reactor protocol and inferred functional roles'
+ disposition: Non-graph fields preserved, not certified. Remains open.
+- issue: 1435
+ severity: P2
+ status: open_nongraph_followup
+ finding: 'Toluene metadata: qualify inferred MAG roles and obtain primary reactor methods'
+ disposition: Non-graph fields preserved, not certified. Remains open.
+- issue: 1436
+ severity: P2
+ status: open_graph_research
+ finding: 'Arg-Met causal expansion: resolve heterogeneity and reporter-sensitivity mechanisms'
+ disposition: Expansion remains needs_research; no provider job submitted.
+- issue: 373
+ severity: P2
+ status: reopened_existing_nongraph_followup
+ finding: Live Enterococcus_B genus-grounding recurrence verified.
+ disposition: Existing issue reused and reopened, not duplicated or claimed fixed. Taxonomy block preserved.
+adversarial_checks:
+- Whole-record and complete graph diffs checked against primary sources at the recorded access scope.
+ Eleven existing nodes retained, three arrows removed and two qualified; every original node and arrow
+ has a disposition. No new connectivity.
+- Arg/Met reciprocal genotypes retain distinct preferred labels despite NCBITaxon:511145. Growth dependence
+ is conditional on nutrient limitation; fluorescence CV is not intrinsic transcriptional noise or a universal
+ reporter effect. Same-species interaction loses interspecies GO annotation.
+- 'Arg/Met expansion is not silently omitted: source-backed heterogeneity and reporter-sensitivity structure
+ remains under #1436. Dry-run provenance recorded, no new provider job or spend; status remains needs_research.
+ Different Arg-Trp and BL21/environmental-isolate systems are excluded.'
+- VFA evidence does not justify a prediction-as-cause chain. Remove annotation-workflow and bulk-endpoint
+ mediation arrows. Retain operational selection as PARTIAL and proposed architecture contribution as
+ HYPOTHESIZED; do not imply selective proof of member exchange or autotrophic product fraction.
+- 'Three canonical VFA participants identify a representative subset, not a complete roster or required
+ contributors. Remove categorical interaction/process annotations. Non-graph protocol and role claims
+ remain #1434; existing live grounding issue #373 reopened.'
+- 'Toluene is abstract-only: preserve alternative methanogens and e-pili/acetate routes, MAG-specific
+ evidence and zero arrows. Do not import unstated transfer direction or equate gene content and electrode
+ enrichment with measured flux. All three mechanisms HYPOTHESIZED/PARTIAL, not categorical syntrophy.'
+- 'Preserve #1120 recruitment and #1121 alternate evidence, distinct MAG116/MAG60 labels despite shared
+ NCBITaxon:2, and corrected Desulfoprunum ID/label. No inaccessible full-text Methods/Results claimed;
+ #1435 remains open.'
+- VFA body was read from a public primary-preprint mirror; canonical retrieval failed. No visual figures,
+ separate supplements or raw data reviewed. No source cache changed and no publisher body restored.
+- Guarded writes, append-only history and llm-assisted events; old history/discussions semantically preserved,
+ all non-graph raw blocks, 457 other records and 920 cache files byte-preserved. Seven new tests cover
+ endpoint scope, identity, hypotheses, pending expansion, anchors and full disposition accounting.
+- 'Participant registry changes only by the VFA record: 183 to 184 users. Connectivity census and numeric
+ bounds unchanged. Exact baseline network comparison retains 33 warnings with zero errors, without invented
+ links.'
+- Repeat renders deterministic and all published descriptions checked by parser. Reference-validator 0.1.7
+ exits 0 but performs zero checks; no-op disclosed. Independent textual MATCH is not scientific validation.
+ Actual validation output tails and digests, including pre-research baseline, are committed.
+- Deduplication searched 754 all-state issue titles/bodies and ignored/hidden-inclusive local files, not
+ every comment. No independent reviewer, protected merge or full-corpus completion claimed.
+verification:
+ combined_regressions: 399 passed in 179.40s (0:02:59)
+ new_regression_tests: 7
+ schema_strict_terms_history: passed; actual output tails and digests retained
+ snippet_counts_by_record:
+ kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml:
+ MATCH: 25
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml:
+ MATCH: 14
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml:
+ MATCH: 20
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ network: Zero errors; 33 baseline warnings exactly preserved, none added.
+ black_ruff_diff: passed
+ tested_file_sha256:
+ reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml: 363b8d16d8cedae28dbbc6a5699ae9dd2de614364c305e68631891531a32e74e
+ tests/test_causal_review_batch37.py: cfd0ecaf6335ea5b2ec9df7b75dcf3cb97e026b766b20a32d20aef07afe4af80
+ tests/test_participating_taxa.py: f6d46148b7a533783a6a23bfe835b3bf906ecb08d78579fe1b8d71b649160d33
+ kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml: 2a72a54518f0a8635f1d599a91b7f750f94349c2f1c7a002159170a8f5be9c4c
+ kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml: 39dd44074408cc2e990576c6b8c40c18e2faf74c862881e9643865b69da8e0e1
+ kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml: 6d55992d0ce9ba8a4398c071862cc167ca334085174ed5c7f04aed80829588c2
+ post_commit_docs_current: Separate publication gate; not asserted in pre-commit record.
+ protected_ci_and_merge: Eligible exact-head protected checks and queue still required.
+participant_census:
+ connectivity_before:
+ community_level_only: 264
+ credited_solely_by_the_rule: 1221
+ mixed: 123
+ records: 460
+ taxa: 1494
+ with_community_level: 387
+ connectivity_after:
+ community_level_only: 264
+ credited_solely_by_the_rule: 1221
+ mixed: 123
+ records: 460
+ taxa: 1494
+ with_community_level: 387
+ exact_change: VFA representative participants added to the registry, 183 to 184 users. Arg/Met and toluene
+ already registered. Canonical terms, scopes and connectivity census unchanged; no numeric-bound changes.
+ numeric_bounds_changed: false
+corpus:
+ records: 460
+ nodes: 1469
+ edges: 692
+ review_status_counts:
+ needs_research: 8
+ pending: 300
+ reviewed: 152
+limitations:
+- Eleven existing nodes retained; three unsupported arrows removed; two qualified VFA arrows retained.
+ No added connectivity.
+- Two completed existing-graph reviews; Arg/Met remains needs_research for source-backed mechanism expansion,
+ not omitted for convenience.
+- Primary main-body access for Arg/Met and mirrored VFA preprint; toluene abstract only. No visual figures,
+ separate supplements or raw data reviewed. All source caches unchanged.
+- 'Non-graph raw blocks and canonical terms preserved, not certified. #373, #1434 and #1435 remain open.'
+- Self-adversarial review is not independent approval, protected main merge or full-corpus completion.
+ Textual snippet matching is not scientific validation.
diff --git a/reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml b/reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml
new file mode 100644
index 000000000..388aa5d0b
--- /dev/null
+++ b/reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml
@@ -0,0 +1,248 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: a691e1d3b93d8eb91b24f0b0cfad5072f7b7d0f8
+baseline_commit: a691e1d3b93d8eb91b24f0b0cfad5072f7b7d0f8
+base_tree: 2d768412771a01f162425275107046bb75a2e95c
+issues:
+- 1431
+- 1432
+- 1433
+open_nongraph_followups:
+- 373
+- 1434
+- 1435
+open_graph_research:
+- 1436
+issue_deduplication:
+ all_state_issue_titles_bodies: 754
+ ignored_hidden_local_files_included: true
+ comments_exhaustive: false
+ relevant_issues_read:
+ - 1164
+ - 373
+ - 1120
+ - 1121
+ finding: 'No exact duplicate of new graph findings in searched scope; existing #373 reopened for live grounding
+ recurrence.'
+reference_cache_original_hashes:
+ references_cache/PMID_42592155.txt: 1a6ef1962b96d963213a15999cc601ddeb2f1dd77d94189ae1d25c4d6dbc89b3
+ references_cache/doi_10.21203_rs.3.rs-9518331_v1.md: fa3f006ff07e345f4e7721d70646431623335d31ce83cdc720fbfe815de92b5e
+ references_cache/PMID_38865893.txt: e801f5d665ea8d807869572afb4ac348fa92b31d007b7819fd9c79b38723300b
+edison:
+ status: dry_run_only_no_provider_job_or_charge
+ community: CommunityMech:000455
+ prompt_characters: 11543
+ prompt_sha256: 3436fd32f7df6cafd047bdeeebc44771d16606e56aca932689f3325786b001b5
+ receipt:
+ command:
+ - just
+ - research-community-causal
+ - Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture
+ - --dry-run
+ exit_code: 0
+ log: /private/tmp/communitymech-batch37/argmet-edison-dryrun.log
+ sha256: d625151da7e2e8d85c6d718fabc959c8541d4bdb6de95de17eaa431df95fab3d
+ bytes: 1081
+ actual_provider_job: false
+ limitation: Specific spend authorization requested; no actual provider job. LiteLLM remote pricing-map fetch failed
+ and used local fallback.
+limitations:
+- Eleven existing nodes retained; three unsupported arrows removed; two qualified VFA arrows retained. No added
+ connectivity.
+- Two completed existing-graph reviews; Arg/Met remains needs_research for source-backed mechanism expansion, not
+ omitted for convenience.
+- Primary main-body access for Arg/Met and mirrored VFA preprint; toluene abstract only. No visual figures, separate
+ supplements or raw data reviewed. All source caches unchanged.
+- 'Non-graph raw blocks and canonical terms preserved, not certified. #373, #1434 and #1435 remain open.'
+- Self-adversarial review is not independent approval, protected main merge or full-corpus completion. Textual snippet
+ matching is not scientific validation.
+records:
+- path: kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml
+ id: CommunityMech:000455
+ original_sha256: 73a13f3ab90537e4f60c32b4ea2124dd2937999f86a5cca2bd0bc5af4dad4d14
+ record_sha256: 2a72a54518f0a8635f1d599a91b7f750f94349c2f1c7a002159170a8f5be9c4c
+ status: needs_research
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml
+ scope: Whole record and every existing node/arrow assessed at recorded primary access scope. Arg/Met expansion
+ remains pending; non-graph fields preserved, not certified.
+ summary: Retain genotype-specific methionine support under tested nutrient limitation.; Retain reverse arginine
+ support without collapsing same-species engineered strains.; Qualify the fluorescence CV endpoint and remove
+ interspecies GO grounding; mechanism expansion remains pending.
+ renamed_nodes: {}
+ node_decisions:
+ - node: ΔargA-ΔmetJ methionine cross-feeding
+ rationale: Retain genotype-specific methionine support under tested nutrient limitation.
+ - node: ΔmetA-ΔargR arginine cross-feeding
+ rationale: Retain reverse arginine support without collapsing same-species engineered strains.
+ - node: Arg-Met obligate mutualism increases cell noise
+ rationale: Qualify the fluorescence CV endpoint and remove interspecies GO grounding; mechanism expansion remains
+ pending.
+ removed_node_decisions: []
+ edges_before: []
+ edges_after: []
+ retained_edge_decisions: []
+ removed_edge_decisions: []
+ references:
+ - PMID:42592155
+ issues:
+ - 1431
+ - 1436
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture/2026-10-06T084910Z-codex-6ae26b.yaml
+ source_review:
+ PMID:42592155:
+ url: https://doi.org/10.1093/nsr/nwag357
+ scope: Cached primary main body through Methods and acknowledgements, including figure captions. No visual
+ figures, separate supplements or raw data.
+- path: kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml
+ id: CommunityMech:000287
+ original_sha256: 2839d3714e549d6affa0c5994e9670311e21d2648e427381ae2eaee513de0448
+ record_sha256: 39dd44074408cc2e990576c6b8c40c18e2faf74c862881e9643865b69da8e0e1
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml
+ scope: Whole record and every existing node/arrow assessed at recorded primary access scope. Arg/Met expansion
+ remains pending; non-graph fields preserved, not certified.
+ summary: Retain the sequential operational context without a clean HRT-only causal claim.; Retain compartment
+ composition and only a hypothesized contribution to IC removal.; Retain computational potential without treating
+ prediction as biological flux.; Retain bulk IC removal without a causal product-fate claim.; Retain acetate
+ output without proven cross-feeding or an autotrophic fraction.
+ renamed_nodes: {}
+ node_decisions:
+ - node: HRT-Driven Mixotrophic Consortium Enrichment
+ rationale: Retain the sequential operational context without a clean HRT-only causal claim.
+ - node: Planktonic and Electrode-Biofilm Spatial Partitioning
+ rationale: Retain compartment composition and only a hypothesized contribution to IC removal.
+ - node: Electrode-Biofilm Carbon-Fixation Pathway Enrichment
+ rationale: Retain computational potential without treating prediction as biological flux.
+ - node: Biomass-Specific Inorganic Carbon Removal Increase
+ rationale: Retain bulk IC removal without a causal product-fate claim.
+ - node: Acetate-Directed Carbon Flux
+ rationale: Retain acetate output without proven cross-feeding or an autotrophic fraction.
+ removed_node_decisions: []
+ edges_before:
+ - source: HRT-Driven Mixotrophic Consortium Enrichment
+ target: Planktonic and Electrode-Biofilm Spatial Partitioning
+ description: 'HRT-driven enrichment yielded a community partitioned between the planktonic phase and electrode
+ biofilm.
+
+ '
+ - source: Planktonic and Electrode-Biofilm Spatial Partitioning
+ target: Electrode-Biofilm Carbon-Fixation Pathway Enrichment
+ description: 'Spatial enrichment at the electrode biofilm was the context in which predicted carbon-fixation
+ pathways and reducing-equivalent generation were concentrated.
+
+ '
+ - source: Planktonic and Electrode-Biofilm Spatial Partitioning
+ target: Biomass-Specific Inorganic Carbon Removal Increase
+ description: 'The organized planktonic and electrode-biofilm consortium exhibited higher biomass-specific inorganic
+ carbon removal.
+
+ '
+ - source: Electrode-Biofilm Carbon-Fixation Pathway Enrichment
+ target: Acetate-Directed Carbon Flux
+ description: 'Predicted biofilm carbon fixation supplied autotrophic metabolism consistent with the observed
+ excess acetate beyond heterotrophic stoichiometry.
+
+ '
+ - source: Biomass-Specific Inorganic Carbon Removal Increase
+ target: Acetate-Directed Carbon Flux
+ description: 'Increased inorganic-carbon utilization was coupled to selective acetate production at the shortest
+ hydraulic retention time.
+
+ '
+ edges_after:
+ - source: HRT-Driven Mixotrophic Consortium Enrichment
+ target: Planktonic and Electrode-Biofilm Spatial Partitioning
+ description: PARTIAL - altered residence time may select community composition, but sequential operation and
+ batch interruptions do not isolate its contribution to the endpoint compartment difference.
+ - source: Planktonic and Electrode-Biofilm Spatial Partitioning
+ target: Biomass-Specific Inorganic Carbon Removal Increase
+ description: HYPOTHESIZED - compartment-associated exchange of reducing equivalents could support carbon uptake.
+ Composition and bulk chemistry do not selectively establish that architecture as the cause of IC removal.
+ retained_edge_decisions:
+ - source: HRT-Driven Mixotrophic Consortium Enrichment
+ target: Planktonic and Electrode-Biofilm Spatial Partitioning
+ rationale: PARTIAL - altered residence time may select community composition, but sequential operation and batch
+ interruptions do not isolate its contribution to the endpoint compartment difference.
+ - source: Planktonic and Electrode-Biofilm Spatial Partitioning
+ target: Biomass-Specific Inorganic Carbon Removal Increase
+ rationale: HYPOTHESIZED - compartment-associated exchange of reducing equivalents could support carbon uptake.
+ Composition and bulk chemistry do not selectively establish that architecture as the cause of IC removal.
+ removed_edge_decisions:
+ - source: Planktonic and Electrode-Biofilm Spatial Partitioning
+ target: Electrode-Biofilm Carbon-Fixation Pathway Enrichment
+ rationale: Pathway prediction is derived from composition; an annotation workflow is not an independent biological
+ causal relation.
+ - source: Electrode-Biofilm Carbon-Fixation Pathway Enrichment
+ target: Acetate-Directed Carbon Flux
+ rationale: Predicted potential cannot itself cause measured acetate production; activity and flux were not resolved.
+ - source: Biomass-Specific Inorganic Carbon Removal Increase
+ target: Acetate-Directed Carbon Flux
+ rationale: IC removal and acetate are bulk endpoints; their association does not establish product fate or mediation.
+ references:
+ - doi:10.21203/rs.3.rs-9518331/v1
+ issues:
+ - 1432
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium/2026-10-06T084910Z-codex-0245f9.yaml
+ source_review:
+ doi:10.21203/rs.3.rs-9518331/v1:
+ url: https://www.researchgate.net/publication/404868953_Hydraulic_Retention_Time_and_Electric_Stimuli_as_Key_Levers_for_Tailoring_Mixotrophic_Consortia_Toward_Enhanced_Volatile_Fatty_Acid_Production_and_Carbon_Capture
+ scope: Cached abstract plus primary preprint main body, Methods through Conclusions and Declarations, read
+ via public ResearchGate mirror. Canonical Research Square retrieval returned 403. No visual figures, separate
+ supplements or raw data. Preprint, not peer-reviewed; no new body stored in cache.
+- path: kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml
+ id: CommunityMech:000440
+ original_sha256: e2fb839f390a646f5dc997bdd7766dec1fc25b53535b2860d0f378ec5f0d70ac
+ record_sha256: 6d55992d0ce9ba8a4398c071862cc167ca334085174ed5c7f04aed80829588c2
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml
+ scope: Whole record and every existing node/arrow assessed at recorded primary access scope. Arg/Met expansion
+ remains pending; non-graph fields preserved, not certified.
+ summary: Retain alternate control-system candidates without confirmed syntrophic flux.; Retain the undirected
+ anode/MAG hypothesis with MAG-specific evidence.; Retain the proposed MAG60-to-MAG74 route without confirmed
+ hydrogen or electron sharing.
+ renamed_nodes: {}
+ node_decisions:
+ - node: Non-electrostimulated toluene degrader to acetoclastic methanogens
+ rationale: Retain alternate control-system candidates without confirmed syntrophic flux.
+ - node: Anode-linked Desulfoprunum and Syntrophobacteraceae electron transfer
+ rationale: Retain the undirected anode/MAG hypothesis with MAG-specific evidence.
+ - node: Aminidesulfovibrio electron and hydrogen sharing with Methanobacterium
+ rationale: Retain the proposed MAG60-to-MAG74 route without confirmed hydrogen or electron sharing.
+ removed_node_decisions: []
+ edges_before: []
+ edges_after: []
+ retained_edge_decisions: []
+ removed_edge_decisions: []
+ references:
+ - PMID:38865893
+ issues:
+ - 1433
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Electrostimulated_Toluene_Methanogenic_Microbiota/2026-10-06T084910Z-codex-af5821.yaml
+ source_review:
+ PMID:38865893:
+ url: https://pubmed.ncbi.nlm.nih.gov/38865893/
+ scope: Cached primary abstract only. ScienceDirect full page returned 403; other publisher/API tool retrievals
+ failed. ResearchGate entry offers a request, not acquired full text. Primary Methods/Results and supplements
+ not reviewed.
diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv
index 5cc50897f..a60003a1c 100644
--- a/reports/causal_graph_review/inventory.tsv
+++ b/reports/causal_graph_review/inventory.tsv
@@ -158,9 +158,9 @@ kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml CommunityMe
kb/communities/EcoFAB_Ring_Trial_SynCom17.yaml CommunityMech:000025 2e0f6da3387904e4f33283c5117df14ab55c80a1ec7d7290fe00343f69569f1d 5 4 87.0 reports/causal_graph_review/decisions/20261006-three-records-batch36.yaml reviewed
kb/communities/Ecoli_Bifidobacterium_bifidum_Infant_gut_HMO_Mutualism_Coculture.yaml CommunityMech:000296 31e420e8e1553817b77ff5bde0d4229ee09eca2cbf62e5d6524a275801475627 3 2 100.0 reports/causal_graph_review/decisions/20261006-three-records-batch36.yaml reviewed
kb/communities/Ecoli_GL10_XL12_D_Lactate_Mixed_Sugar_SynCom.yaml CommunityMech:000357 5d5c7c4e2d853489be775ef1cc44ec611af78b2dff902287c1bf2f18bfa9ad4d 1 0 65.0 reports/causal_graph_review/decisions/20261006-three-records-batch36.yaml reviewed
-kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml CommunityMech:000455 73a13f3ab90537e4f60c32b4ea2124dd2937999f86a5cca2bd0bc5af4dad4d14 3 0 75.0 pending
-kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml CommunityMech:000287 2839d3714e549d6affa0c5994e9670311e21d2648e427381ae2eaee513de0448 5 5 100.0 pending
-kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml CommunityMech:000440 e2fb839f390a646f5dc997bdd7766dec1fc25b53535b2860d0f378ec5f0d70ac 3 0 73.3 pending
+kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml CommunityMech:000455 2a72a54518f0a8635f1d599a91b7f750f94349c2f1c7a002159170a8f5be9c4c 3 0 75.0 reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml needs_research
+kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml CommunityMech:000287 39dd44074408cc2e990576c6b8c40c18e2faf74c862881e9643865b69da8e0e1 5 2 89.0 reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml reviewed
+kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml CommunityMech:000440 6d55992d0ce9ba8a4398c071862cc167ca334085174ed5c7f04aed80829588c2 3 0 63.3 reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml reviewed
kb/communities/Electrosynthetic_Consortia_Shewanella_Clostridium_Acetobacterium_Acetate.yaml CommunityMech:000298 d225c991b8b826dc63bb56b8094e9bc5420e5c9da7f6c2e6be693fc7dc56e9e2 3 2 100.0 pending
kb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml CommunityMech:000143 e0a94fe128d5babfb6c76a3f161d32dd8a1f1ed58a5204d55a632c28283c702b 3 2 100.0 pending
kb/communities/Engineered_Gut_Amino_Acid_CrossFeeding_Consortium.yaml CommunityMech:000151 b29aa03e39e670a5d61b55306119f11c3459c7fb5c6cf5e8fb58a92d040a8cf0 3 2 100.0 pending
diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json
index 0d6874916..36ef54e2c 100644
--- a/reports/causal_graph_review/summary.json
+++ b/reports/causal_graph_review/summary.json
@@ -3,13 +3,13 @@
"semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.",
"records": 460,
"nodes": 1469,
- "edges": 695,
+ "edges": 692,
"records_without_nodes": 8,
"records_without_edges": 146,
"review_status_counts": {
- "needs_research": 7,
- "pending": 303,
- "reviewed": 150
+ "needs_research": 8,
+ "pending": 300,
+ "reviewed": 152
},
"structural_defects": [],
"network_audit": [
diff --git a/reports/causal_graph_review/validation-20261006-batch37.json b/reports/causal_graph_review/validation-20261006-batch37.json
new file mode 100644
index 000000000..ac4f895a9
--- /dev/null
+++ b/reports/causal_graph_review/validation-20261006-batch37.json
@@ -0,0 +1,752 @@
+{
+ "base_commit": "a691e1d3b93d8eb91b24f0b0cfad5072f7b7d0f8",
+ "scope": [
+ "kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml",
+ "kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml",
+ "kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml"
+ ],
+ "reference_validator_version": "0.1.7",
+ "results": [
+ {
+ "check": "Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch37/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-strict.tsv",
+ "kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-strict.log",
+ "log_sha256": "4871d2a82f57b3a8b8fa368f514fd1e04f3d7e0991682034f02f6bc8ff7f6045",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch37/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-batch37/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-strict.tsv\n"
+ },
+ {
+ "check": "Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-references.log",
+ "log_sha256": "3efcc77190c7dab75396de6914fcfde5a018f1be8dd082dafc73711f0f312039",
+ "output_tail": "Validating kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_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/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_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": "Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-snippets.log",
+ "log_sha256": "f261f4401991124875d6e69fbc7c75c05d38b3868788199bef07a85e404ac32e",
+ "output_tail": "# 25 evidence snippets scanned across 1 files\n MATCH 25\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n"
+ },
+ {
+ "check": "Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-rank.log",
+ "log_sha256": "8b3d4d48e0c2315931a6c9967317152261e6d0f519fee61cfc55cae4f5144df1",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000455\",\n \"name\": \"E. coli K-12 MG1655 Arg-Met Cross-Feeding Coculture\",\n \"score\": 75.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 6,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"downstream\"\n ],\n \"path\": \"kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Ecoli_K12_MG1655_Arg_Met_CrossFeeding_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/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture/2026-10-06T084910Z-codex-6ae26b.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch37/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-strict.tsv",
+ "kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-strict.log",
+ "log_sha256": "ed96ce69efc6c68a9801c512e31a7b40ade709083d17913856b07a72c0a8302b",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch37/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-batch37/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-strict.tsv\n"
+ },
+ {
+ "check": "Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-references.log",
+ "log_sha256": "b03aad0e192a110ac613e28758e58c413fa4001222de18aa24bc211ebca50c47",
+ "output_tail": "Validating kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n",
+ "explained_output_tail": "Validating kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n"
+ },
+ {
+ "check": "Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-snippets.log",
+ "log_sha256": "872637a69e95b3997368edea80eba5db2a2155e0ac9344b758394dcf97491410",
+ "output_tail": "# 14 evidence snippets scanned across 1 files\n MATCH 14\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": "Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-rank.log",
+ "log_sha256": "1a5e4a3ff5e5fae8f8a58fd5906fcfc32cd755bc2fcac1bd1d048e27de5cf703",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000287\",\n \"name\": \"Electrostimulated Mixotrophic VFA-producing Enrichment Consortium\",\n \"score\": 89.0,\n \"taxonomy\": 3,\n \"connected_taxa\": 3,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 5,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 10,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium/2026-10-06T084910Z-codex-0245f9.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Electrostimulated_Toluene_Methanogenic_Microbiota-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Toluene_Methanogenic_Microbiota-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Electrostimulated_Toluene_Methanogenic_Microbiota-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch37/Electrostimulated_Toluene_Methanogenic_Microbiota-strict.tsv",
+ "kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Toluene_Methanogenic_Microbiota-strict.log",
+ "log_sha256": "f8bbe1b886b7770cd15fa5791a8a97877de271dffc6034bcaa3d7a3736bc93d7",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch37/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-batch37/Electrostimulated_Toluene_Methanogenic_Microbiota-strict.tsv\n"
+ },
+ {
+ "check": "Electrostimulated_Toluene_Methanogenic_Microbiota-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Toluene_Methanogenic_Microbiota-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Electrostimulated_Toluene_Methanogenic_Microbiota-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Toluene_Methanogenic_Microbiota-references.log",
+ "log_sha256": "f7fc9ab3bda128e2b2467e6383f763b24325e1b4790b7978ab9f11e881527b73",
+ "output_tail": "Validating kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.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/Electrostimulated_Toluene_Methanogenic_Microbiota.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": "Electrostimulated_Toluene_Methanogenic_Microbiota-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Toluene_Methanogenic_Microbiota-snippets.log",
+ "log_sha256": "32d5c17677a000100a0b22db07734e7af95b7e2b40f82a74ed21b581b1a6d4f5",
+ "output_tail": "# 20 evidence snippets scanned across 1 files\n MATCH 20\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": "Electrostimulated_Toluene_Methanogenic_Microbiota-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Toluene_Methanogenic_Microbiota-rank.log",
+ "log_sha256": "42f1ac0863a02a380e931c8fd7acb47bc6d7f60ab2708d1390687c0edb2599f2",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000440\",\n \"name\": \"Electrostimulated Toluene Methanogenic Microbiota\",\n \"score\": 63.3,\n \"taxonomy\": 6,\n \"connected_taxa\": 6,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Electrostimulated_Toluene_Methanogenic_Microbiota-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Electrostimulated_Toluene_Methanogenic_Microbiota/2026-10-06T084910Z-codex-af5821.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/Electrostimulated_Toluene_Methanogenic_Microbiota-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-batch37/inventory.log",
+ "log_sha256": "9250e05499fc560a12a4b9dbfc6999701e3ba3aa993092a4e5c5588caf7a46d4",
+ "output_tail": "{\n \"scope\": \"Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.\",\n \"semantic_review_rule\": \"Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.\",\n \"records\": 460,\n \"nodes\": 1469,\n \"edges\": 692,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 146,\n \"review_status_counts\": {\n \"needs_research\": 8,\n \"pending\": 300,\n \"reviewed\": 152\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-batch37/network.log",
+ "log_sha256": "c035fe6ed0bbf90371ab58d6557716c51eea79ac628e204173d70075f9efaa26",
+ "output_tail": "{\n \"preferred_term\": \"Legionella MAGs\",\n \"term\": {\n \"id\": \"NCBITaxon:445\",\n \"label\": \"Legionella\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The study detected Legionella-affiliated MAGs and used them in a virulence-gene risk assessment; the source did not assert pathogenicity for a cultured Legionella isolate.\\n\"\n },\n \"abundance_value\": \"Lower-abundance Legionella-affiliated MAGs detected during metagenomic risk assessment.\\n\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41457319\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"COMPUTATIONAL\",\n \"snippet\": \"detection of waterborne pathogens from the Legionella genus\",\n \"explanation\": \"Supports Legionella-affiliated lower-abundance bins as monitored biosafety-relevant members of the consortium.\\n\"\n }\n ]\n },\n \"message\": \"Taxon 'Legionella MAGs' has no interactions\"\n }\n ],\n \"Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom\": [\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Twelve-Strain SynCom Suppression of Sclerotinia Sclerotia\",\n \"interaction_index\": 0,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Trinickia MC Key Contribution to Sclerotia Mortality\",\n \"interaction_index\": 1,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Space_Habitat_SevenMember_Stress_Tolerance_SynCom\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Acinetobacter radioresistens 50V1\",\n \"taxon_id\": \"NCBITaxon:40216\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Acinetobacter radioresistens 50V1\",\n \"term\": {\n \"id\": \"NCBITaxon:40216\",\n \"label\": \"Acinetobacter radioresistens\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate came from the preflight Mars Odyssey Orbiter; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"50V1\",\n \"genome_accession\": \"GCA_002834555.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Acinetobacter radioresistens | 50V1 | Preflight Mars Odyssey Orbiter | \\u2013 | Mccoy et al., 2012 | GCA_002834555.1 | TSYB/TSYA | 37 \\u00b0C | 16\\u201318 h\",\n \"explanation\": \"Identifies A. radioresistens 50V1 as a consortium member and gives its spacecraft-associated source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Acinetobacter radioresistens 50V1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Micrococcus luteus W4-Al-K1\",\n \"taxon_id\": \"NCBITaxon:1270\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Micrococcus luteus W4-Al-K1\",\n \"term\": {\n \"id\": \"NCBITaxon:1270\",\n \"label\": \"Micrococcus luteus\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from an ISS aluminum-case touch array; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"W4-Al-K1\",\n \"genome_accession\": \"GCA_057816565.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Micrococcus luteus | W4-Al-K1 | ISS, Touch Array Aluminum Case | - | Kr\\u00e4mer et al., 2025 | GCA_057816565.1 | NB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies M. luteus W4-Al-K1 as a consortium member and gives its ISS source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Micrococcus luteus W4-Al-K1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"taxon_id\": \"NCBITaxon:64702\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"term\": {\n \"id\": \"NCBITaxon:64702\",\n \"label\": \"Propionibacterium cyclohexanicum\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. cyclohexanicum type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"TA-12T\",\n \"genome_accession\": \"GCA_900111365\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"16859\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Propionibacterium cyclohexanicum | TA-12 T | Spoilt Orange Juice | DSM 16859 T | Kusano et al., 1997 | GCA_900111365 | BHI, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies P. cyclohexanicum TA-12T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Propionibacterium cyclohexanicum TA-12T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas antarctica CMS 35T\",\n \"taxon_id\": \"NCBITaxon:219572\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas antarctica CMS 35T\",\n \"term\": {\n \"id\": \"NCBITaxon:219572\",\n \"label\": \"Pseudomonas antarctica\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. antarctica type strain as a biosafety-level-1 Pseudomonas surrogate.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"CMS 35T\",\n \"genome_accession\": \"GCA_010634845\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"15318\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pseudomonas antarctica | CMS 35 T | Antarctica | DSM 15318 T | Reddy et al., 2004 | GCA_010634845 | TSYB/TSYA | Ambient | 12\\u201316 h\",\n \"explanation\": \"Identifies P. antarctica CMS 35T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n"
+ },
+ {
+ "check": "rank-all",
+ "command": [
+ "just",
+ "rank-causal-graphs"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/rank-all.log",
+ "log_sha256": "a4d0530632319f6557098fa585b9b29649e5230108fe69721246d8017742b83e",
+ "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-batch37/render.log",
+ "log_sha256": "63464defab964a043e0fe75a2cf3a40cfc153569a63415d55091b1940100608f",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch37/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch37/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch37/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-batch37/render-repeat.log",
+ "log_sha256": "63464defab964a043e0fe75a2cf3a40cfc153569a63415d55091b1940100608f",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch37/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch37/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch37/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch37/docs/index.html\n"
+ },
+ {
+ "check": "connectivity-survey",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-c",
+ "import json,runpy; print(json.dumps(runpy.run_path(\"tests/test_community_level_connectivity_credit.py\")[\"_survey\"](),sort_keys=True))"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/connectivity-survey.log",
+ "log_sha256": "fa6c1a2c91592fb466c7966fc012c6de0b6ef57d278225d99b361d47a58993a9",
+ "output_tail": "{\"community_level_only\": 264, \"credited_solely_by_the_rule\": 1221, \"mixed\": 123, \"records\": 460, \"taxa\": 1494, \"with_community_level\": 387}\n"
+ },
+ {
+ "check": "regressions",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-m",
+ "pytest",
+ "-q",
+ "tests/test_causal_review_batch10.py",
+ "tests/test_causal_review_batch11.py",
+ "tests/test_causal_review_batch12.py",
+ "tests/test_causal_review_batch13.py",
+ "tests/test_causal_review_batch14.py",
+ "tests/test_causal_review_batch15.py",
+ "tests/test_causal_review_batch16.py",
+ "tests/test_causal_review_batch17.py",
+ "tests/test_causal_review_batch18.py",
+ "tests/test_causal_review_batch19.py",
+ "tests/test_causal_review_batch20.py",
+ "tests/test_causal_review_batch21.py",
+ "tests/test_causal_review_batch22.py",
+ "tests/test_causal_review_batch23.py",
+ "tests/test_causal_review_batch24.py",
+ "tests/test_causal_review_batch25.py",
+ "tests/test_causal_review_batch27.py",
+ "tests/test_causal_review_batch28.py",
+ "tests/test_causal_review_batch29.py",
+ "tests/test_causal_review_batch30.py",
+ "tests/test_causal_review_batch31.py",
+ "tests/test_causal_review_batch32.py",
+ "tests/test_causal_review_batch33.py",
+ "tests/test_causal_review_batch34.py",
+ "tests/test_causal_review_batch35.py",
+ "tests/test_causal_review_batch36.py",
+ "tests/test_causal_review_batch37.py",
+ "tests/test_causal_review_batch5.py",
+ "tests/test_causal_review_batch6.py",
+ "tests/test_causal_review_batch7.py",
+ "tests/test_causal_review_batch8.py",
+ "tests/test_causal_review_batch9.py",
+ "tests/test_site_audit_fixes.py",
+ "tests/test_causal_review_inventory.py",
+ "tests/test_rank_causal_graph_readiness.py",
+ "tests/test_network_auditor.py",
+ "tests/test_participating_taxa.py",
+ "tests/test_causal_descriptions_are_published.py",
+ "tests/test_published_pages_name_real_records.py",
+ "tests/test_reference_validator_actually_validates.py",
+ "tests/test_snippet_audit_artefact_classes.py",
+ "tests/test_reference_error_annotation.py",
+ "tests/test_community_level_connectivity_credit.py",
+ "tests/test_no_paywalled_text_in_repo.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/regressions.log",
+ "log_sha256": "9009edd6a2cdfe590ae65636cb34166c60d5c5c63afe09be2d7d54e8999a26fa",
+ "output_tail": "........................................................................ [ 18%]\n........................................................................ [ 36%]\n........................................................................ [ 54%]\n........................................................................ [ 72%]\n........................................................................ [ 90%]\n....................................... [100%]\n399 passed in 179.40s (0:02:59)\n"
+ },
+ {
+ "check": "black",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black",
+ "--check",
+ "tests/test_causal_review_batch37.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/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_batch37.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch37/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-batch37/diff-check.log",
+ "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "output_tail": ""
+ }
+ ],
+ "limitations": [
+ "Eleven existing nodes retained; three unsupported arrows removed; two qualified VFA arrows retained. No added connectivity.",
+ "Two completed existing-graph reviews; Arg/Met remains needs_research for source-backed mechanism expansion, not omitted for convenience.",
+ "Primary main-body access for Arg/Met and mirrored VFA preprint; toluene abstract only. No visual figures, separate supplements or raw data reviewed. All source caches unchanged.",
+ "Non-graph raw blocks and canonical terms preserved, not certified. #373, #1434 and #1435 remain open.",
+ "Self-adversarial review is not independent approval, protected main merge or full-corpus completion. Textual snippet matching is not scientific validation.",
+ "HTML descriptions checked by exact parser and repeat renders, not browser screenshots. Post-commit docs-current is a separate publication gate.",
+ "All three reference-validator commands exit 0 with Total checks: 0. This is a no-op, not evidence validation. Independent snippet counts and primary-source review are separate."
+ ],
+ "snippet_counts_by_record": {
+ "kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml": {
+ "MATCH": 25,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml": {
+ "MATCH": 14,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml": {
+ "MATCH": 20,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ }
+ },
+ "unchanged_raw_blocks": 42,
+ "unchanged_record_files": 457,
+ "unchanged_cache_files": 920,
+ "network_delta": {
+ "existing_findings_preserved": 33,
+ "new_disconnected": 0,
+ "added_findings": {},
+ "rationale": "All baseline warnings exactly preserved; no invented graph links to suppress warnings."
+ },
+ "render_determinism": true,
+ "published_description_coverage": {
+ "pages": 456,
+ "nodes": 1455,
+ "arrows": 684
+ },
+ "participant_census": {
+ "connectivity_before": {
+ "community_level_only": 264,
+ "credited_solely_by_the_rule": 1221,
+ "mixed": 123,
+ "records": 460,
+ "taxa": 1494,
+ "with_community_level": 387
+ },
+ "connectivity_after": {
+ "community_level_only": 264,
+ "credited_solely_by_the_rule": 1221,
+ "mixed": 123,
+ "records": 460,
+ "taxa": 1494,
+ "with_community_level": 387
+ },
+ "exact_change": "VFA representative participants added to the registry, 183 to 184 users. Arg/Met and toluene already registered. Canonical terms, scopes and connectivity census unchanged; no numeric-bound changes.",
+ "numeric_bounds_changed": false
+ },
+ "corpus": {
+ "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.",
+ "records": 460,
+ "nodes": 1469,
+ "edges": 692,
+ "records_without_nodes": 8,
+ "records_without_edges": 146,
+ "review_status_counts": {
+ "needs_research": 8,
+ "pending": 300,
+ "reviewed": 152
+ },
+ "structural_defects": []
+ },
+ "tested_file_sha256": {
+ "reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml": "363b8d16d8cedae28dbbc6a5699ae9dd2de614364c305e68631891531a32e74e",
+ "tests/test_causal_review_batch37.py": "cfd0ecaf6335ea5b2ec9df7b75dcf3cb97e026b766b20a32d20aef07afe4af80",
+ "tests/test_participating_taxa.py": "f6d46148b7a533783a6a23bfe835b3bf906ecb08d78579fe1b8d71b649160d33",
+ "kb/communities/Ecoli_K12_MG1655_Arg_Met_CrossFeeding_Coculture.yaml": "2a72a54518f0a8635f1d599a91b7f750f94349c2f1c7a002159170a8f5be9c4c",
+ "kb/communities/Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml": "39dd44074408cc2e990576c6b8c40c18e2faf74c862881e9643865b69da8e0e1",
+ "kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml": "6d55992d0ce9ba8a4398c071862cc167ca334085174ed5c7f04aed80829588c2"
+ },
+ "status": "verified_two_completed_reviews_and_one_pending_expansion",
+ "reference_validator_effective_checks": 0,
+ "reference_validator_caveat": "All three reference-validator commands exit 0 with Total checks: 0. This is a no-op, not evidence validation. Independent snippet counts and primary-source review are separate.",
+ "pre_research_baseline": {
+ "base_commit": "a691e1d3b93d8eb91b24f0b0cfad5072f7b7d0f8",
+ "base_tree": "2d768412771a01f162425275107046bb75a2e95c",
+ "research_worktree": "/private/tmp/communitymech-causal-batch36",
+ "checks": [
+ {
+ "name": "rank",
+ "command": [
+ "just",
+ "rank-causal-graphs"
+ ],
+ "exit_code": 0,
+ "expected_exit_code": 0,
+ "log": "/private/tmp/communitymech-batch37/baseline-rank.log",
+ "sha256": "c964453ef2b07c9a9d1d9bbba7b2d6927b92864f84c6c4bb22a9b449b269d329",
+ "output_tail": "nol_Anaerobic_Bioremediation_SynCom.yaml\tCommunityMech:000112\tTribromophenol Anaerobic Bioremediation SynCom\t3\t3\t0\t4\t3\t5\t\t0\t0\n444\t100.0\tkb/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml\tCommunityMech:000188\tTrichococcus-Syntrophomonas-Methanospirillum Butyrate Coculture\t3\t3\t0\t3\t2\t6\t\t0\t0\n445\t100.0\tkb/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml\tCommunityMech:000205\tTrichoderma-E. coli Cellulosic Isobutanol Coculture\t2\t2\t0\t3\t2\t5\t\t0\t0\n446\t100.0\tkb/communities/Trichoderma_Lactate_Platform.yaml\tCommunityMech:000075\tTrichoderma Lactate Platform for SCFA Production\t3\t3\t0\t3\t2\t3\t\t0\t0\n447\t100.0\tkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml\tCommunityMech:000270\tTrichoderma-Streptomyces Filamentous Cellulose Coculture\t2\t2\t0\t3\t2\t7\t\t0\t0\n448\t100.0\tkb/communities/Trichodesmium_Alteromonas_Marine_Consortium.yaml\tCommunityMech:000147\tTrichodesmium-Alteromonas Marine Consortium\t3\t3\t0\t3\t2\t5\t\t0\t0\n449\t100.0\tkb/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml\tCommunityMech:000337\tTropidoatractus magnetotacticus Magnetotactic Ciliate Tripartite Syntrophy\t3\t3\t0\t4\t2\t9\t\t0\t0\n450\t100.0\tkb/communities/Urine_Nitrification_SynCom.yaml\tCommunityMech:000117\tUrine Nitrification Synthetic Microbial Community\t5\t5\t0\t3\t2\t5\t\t0\t0\n451\t100.0\tkb/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml\tCommunityMech:000213\tVariovorax-Cryptococcus Vitamin Cross-Feeding Microcosm\t2\t2\t0\t3\t2\t4\t\t0\t0\n452\t100.0\tkb/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml\tCommunityMech:000328\tWaste-Sludge Electro-Fermentation Biofilm-Suspension Community\t5\t5\t0\t4\t2\t6\t\t0\t0\n453\t100.0\tkb/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.yaml\tCommunityMech:000098\tWatermelon Rhizosphere Fusarium-Protective SynCom8\t2\t2\t0\t3\t2\t7\t\t0\t0\n454\t100.0\tkb/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml\tCommunityMech:000255\tWetland Oxygen-Sulfate Greenhouse Gas Microcosm Community\t3\t3\t0\t3\t2\t6\t\t0\t0\n455\t100.0\tkb/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.yaml\tCommunityMech:000118\tWheat Straw Biogas Pretreatment SynCom\t4\t4\t0\t3\t2\t4\t\t0\t0\n456\t100.0\tkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml\tCommunityMech:000354\tYarrowia lipolytica Division-of-Labor Lipid Consortium\t2\t2\t0\t3\t2\t3\t\t0\t0\n457\t100.0\tkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml\tCommunityMech:000164\tYogurt Two-Species Starter Culture\t2\t2\t0\t4\t2\t9\t\t0\t0\n458\t100.0\tkb/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml\tCommunityMech:000210\tZymomonas-E. coli Exometabolomics-Designed Obligate Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n459\t100.0\tkb/communities/hCom2_Complex_Gut_Microbiome.yaml\tCommunityMech:000123\thCom2 Complex Gut Microbiome\t1\t1\t0\t3\t2\t3\t\t0\t0\n460\t100.0\tkb/communities/mCAFEs_Brachypodium_RCC.yaml\tCommunityMech:000078\tm-CAFEs Brachypodium Reduced Complexity Consortia\t10\t10\t0\t6\t2\t11\t\t0\t0\nPYTHONPATH=src uv run python scripts/rank_causal_graph_readiness.py \n"
+ },
+ {
+ "name": "just-network",
+ "command": [
+ "just",
+ "audit-network-json"
+ ],
+ "exit_code": 2,
+ "expected_exit_code": 2,
+ "log": "/private/tmp/communitymech-batch37/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-batch37/baseline-network.log",
+ "sha256": "c035fe6ed0bbf90371ab58d6557716c51eea79ac628e204173d70075f9efaa26",
+ "output_tail": " DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n"
+ },
+ {
+ "name": "downstream",
+ "command": [
+ "rg",
+ "--no-ignore",
+ "--hidden",
+ "-n",
+ "downstream:",
+ "kb/communities",
+ "data/isolates",
+ "--glob",
+ "*.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_code": 0,
+ "log": "/private/tmp/communitymech-batch37/baseline-downstream.log",
+ "sha256": "b1d54ebc096869aef2f581b62d9a91a8d4c0623acaf8ed8f1462e4ea9504d4f2",
+ "output_tail": ":\nkb/communities/Geobacter_Pseudomonas_Formate_Fumarate_Electroactive_Coculture.yaml:189: downstream:\nkb/communities/Pepper_Phytophthora_SynCom5.yaml:123: downstream:\nkb/communities/Pepper_Phytophthora_SynCom5.yaml:146: downstream:\nkb/communities/PMI_Variovorax_Thermotolerance_Collection.yaml:330: downstream:\nkb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml:107: downstream:\nkb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml:147: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:311: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:365: downstream:\nkb/communities/High_Ammonia_Biogas_0B_Butyrate_Oxidizing_Enrichment.yaml:233: downstream:\nkb/communities/Engineered_Gut_Amino_Acid_CrossFeeding_Consortium.yaml:159: downstream:\nkb/communities/Engineered_Gut_Amino_Acid_CrossFeeding_Consortium.yaml:186: downstream:\nkb/communities/SO3_BS3_Lithium_Battery_Bioleaching_Consortium.yaml:141: downstream:\nkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml:223: downstream:\nkb/communities/Desulfovibrio_Methanococcus_Syntrophy.yaml:138: downstream:\nkb/communities/Desulfovibrio_Methanococcus_Syntrophy.yaml:182: downstream:\nkb/communities/Desulfovibrio_Methanococcus_Syntrophy.yaml:232: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:65: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:98: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:131: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:155: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:135: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:177: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:268: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:315: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:207: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:249: downstream:\nkb/communities/Ferroplasma_Leptospirillum_Syntrophy.yaml:153: downstream:\nkb/communities/Ferroplasma_Leptospirillum_Syntrophy.yaml:200: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:281: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:401: downstream:\nkb/communities/Chromium_Sulfur_Reduction_Enrichment.yaml:159: downstream:\nkb/communities/Chromium_Sulfur_Reduction_Enrichment.yaml:200: 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/Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml:285: downstream:\nkb/communities/Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml:324: downstream:\nkb/communities/BioModels_MODEL2204300001_Kefir_Community_Model.yaml:203: downstream:\n"
+ }
+ ]
+ }
+}
diff --git a/tests/test_causal_review_batch37.py b/tests/test_causal_review_batch37.py
new file mode 100644
index 000000000..2473b9115
--- /dev/null
+++ b/tests/test_causal_review_batch37.py
@@ -0,0 +1,161 @@
+"""Guard measured endpoints, alternative routes and unresolved graph expansion."""
+
+import hashlib
+from collections import Counter
+from pathlib import Path
+
+import yaml
+
+ROOT = Path(__file__).resolve().parents[1]
+LEDGER = ROOT / "reports/causal_graph_review/decisions/20261006-three-records-batch37.yaml"
+
+
+def records():
+ ledger = yaml.safe_load(LEDGER.read_text())
+ return ledger, [yaml.safe_load((ROOT / r["path"]).read_text()) for r in ledger["records"]]
+
+
+def test_argmet_preserves_distinct_genotypes_and_conditional_reciprocity():
+ _, docs = records()
+ met, arg, noise = docs[0]["ecological_interactions"]
+ assert met["source_taxon"] == arg["target_taxon"]
+ assert met["target_taxon"] == arg["source_taxon"]
+ assert met["source_taxon"]["term"] == met["target_taxon"]["term"]
+ assert met["source_taxon"]["preferred_term"] != met["target_taxon"]["preferred_term"]
+ assert [n["interaction_type"] for n in [met, arg, noise]] == [
+ "CROSS_FEEDING",
+ "CROSS_FEEDING",
+ "MUTUALISM",
+ ]
+ assert "supplemented cultures" in met["description"]
+ assert "Supplementation" in arg["description"]
+ assert "coefficient of variation" in noise["description"]
+ assert "not a direct measurement of intrinsic transcriptional noise" in noise["description"]
+ assert "biological_processes" not in noise
+ assert all("downstream" not in n for n in [met, arg, noise])
+
+
+def test_argmet_expansion_is_not_counted_complete():
+ ledger, docs = records()
+ assert ledger["records"][0]["status"] == "needs_research"
+ assert ledger["open_graph_research"] == [1436]
+ assert ledger["edison"]["status"] == "dry_run_only_no_provider_job_or_charge"
+ assert ledger["edison"]["prompt_characters"] == 11543
+ assert ledger["edison"]["receipt"]["exit_code"] == 0
+ assert ledger["edison"]["receipt"]["actual_provider_job"] is False
+ assert "modeled diffusion/uptake" in docs[0]["discussions"][-1]["rationale"]
+ assert "BL21/environmental-isolate" in docs[0]["discussions"][-1]["rationale"]
+ assert len(docs[0]["discussions"]) == 3
+
+
+def test_vfa_has_two_qualified_links_not_a_prediction_to_flux_chain():
+ _, docs = records()
+ hrt, spatial, prediction, removal, acetate = docs[1]["ecological_interactions"]
+ assert [e["target"] for e in hrt["downstream"]] == [spatial["name"]]
+ assert hrt["downstream"][0]["description"].startswith("PARTIAL -")
+ assert [e["target"] for e in spatial["downstream"]] == [removal["name"]]
+ assert spatial["downstream"][0]["description"].startswith("HYPOTHESIZED -")
+ assert all("downstream" not in n for n in [prediction, removal, acetate])
+ for node in [hrt, spatial, prediction, removal, acetate]:
+ assert node["scope"] == "COMMUNITY_LEVEL"
+ assert len(node["participating_taxa"]) == 3
+ assert not {"interaction_type", "biological_processes"} & node.keys()
+ assert "sequential HRT phases" in hrt["description"]
+ assert "representative genera" in hrt["description"]
+ assert "PICRUSt2" in prediction["description"]
+ assert "not itself a causal actor" in prediction["description"]
+ assert prediction["evidence"][1]["supports"] == "PARTIAL"
+ assert removal["evidence"][0]["supports"] == "PARTIAL"
+ assert acetate["evidence"][2]["supports"] == "PARTIAL"
+
+
+def test_toluene_preserves_alternatives_and_distinct_mag_labels():
+ _, docs = records()
+ control, anode, cathode = docs[2]["ecological_interactions"]
+ for node in [control, anode, cathode]:
+ assert node["description"].startswith("HYPOTHESIZED -")
+ assert not {"downstream", "interaction_type", "biological_processes"} & node.keys()
+ assert all(e["supports"] == "PARTIAL" for e in node["evidence"])
+ assert all(e["evidence_source"] == "COMPUTATIONAL" for e in node["evidence"])
+ assert "Methanosarcina OR Methanothrix" in control["description"]
+ assert "e-pili OR acetate" in control["description"]
+ assert "(or Methanothrix" in control["evidence"][0]["snippet"]
+ assert "MAG10 engaged" in anode["evidence"][0]["snippet"]
+ assert "MAG116 and the anode" in anode["evidence"][0]["snippet"]
+ assert "does not resolve donor-to-recipient direction" in anode["description"]
+ assert cathode["scope"] == "PAIRWISE"
+ assert cathode["source_taxon"]["preferred_term"] == "Aminidesulfovibrio sp. MAG60"
+ assert control["participating_taxa"][0]["preferred_term"] == "Syntrophobacteraceae MAG116"
+ assert control["participating_taxa"][0]["term"] == cathode["source_taxon"]["term"]
+ assert cathode["target_taxon"]["preferred_term"] == "Methanobacterium sp. MAG74"
+
+
+def test_batch37_canonical_participants_history_and_hashes():
+ ledger, docs = records()
+ for row, doc in zip(ledger["records"], docs, strict=True):
+ canonical = {
+ (t["taxon_term"]["term"]["id"], t["taxon_term"]["preferred_term"]): t["taxon_term"]
+ for t in doc["taxonomy"]
+ }
+ names = {n["name"] for n in doc["ecological_interactions"]}
+ for node in doc["ecological_interactions"]:
+ terms = node.get("participating_taxa", []) + [
+ node[k] for k in ["source_taxon", "target_taxon"] if k in node
+ ]
+ for term in terms:
+ assert (
+ term["term"] == canonical[(term["term"]["id"], term["preferred_term"])]["term"]
+ )
+ assert all(
+ e["target"] in names and e["target"] != node["name"]
+ for e in node.get("downstream", [])
+ )
+ assert doc["discussions"][-1]["kind"] == "KNOWLEDGE_GAP"
+ assert doc["discussions"][-1]["status"] == "OPEN"
+ for gap in doc["discussions"]:
+ assert all(
+ anchor.split("#", 1)[1] in names
+ for anchor in gap.get("attaches_to", [])
+ if anchor.startswith("ecological_interactions#")
+ )
+ assert row["curation_events_added"] == 1 and len(row["history_files"]) == 1
+ assert doc["curation_history"][-1]["llm_assisted"] is True
+ assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"]
+
+
+def test_batch37_all_existing_nodes_and_arrows_have_dispositions():
+ ledger, docs = records()
+ assert ledger["independent_approval"] is False and ledger["issues"] == [1431, 1432, 1433]
+ assert sum(len(r["node_decisions"]) for r in ledger["records"]) == 11
+ assert all(not r["removed_node_decisions"] for r in ledger["records"])
+ assert sum(len(r["retained_edge_decisions"]) for r in ledger["records"]) == 2
+ assert sum(len(r["removed_edge_decisions"]) for r in ledger["records"]) == 3
+ for row, doc in zip(ledger["records"], docs, strict=True):
+ assert not row["renamed_nodes"]
+ assert Counter(d["node"] for d in row["node_decisions"]) == Counter(
+ n["name"] for n in doc["ecological_interactions"]
+ )
+ assert {(e["source"], e["target"]) for e in row["edges_before"]} == {
+ (e["source"], e["target"]) for e in row["edges_after"] + row["removed_edge_decisions"]
+ }
+ for path, digest in ledger["reference_cache_original_hashes"].items():
+ assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest
+
+
+def test_batch37_access_limits_and_nongraph_followups_are_explicit():
+ ledger, docs = records()
+ assert ledger["open_nongraph_followups"] == [373, 1434, 1435]
+ assert "abstract only" in ledger["records"][2]["source_review"]["PMID:38865893"]["scope"]
+ vfa_source = ledger["records"][1]["source_review"]["doi:10.21203/rs.3.rs-9518331/v1"]
+ assert "ResearchGate mirror" in vfa_source["scope"]
+ assert "not peer-reviewed" in vfa_source["scope"]
+ assert (
+ docs[1]["taxonomy"][0]["taxon_term"]["gtdb_classification"]["gtdb_id"]
+ == "GTDB:g__Enterococcus_B"
+ )
+ assert docs[2]["taxonomy"][3]["taxon_term"]["term"] == {
+ "id": "NCBITaxon:2629275",
+ "label": "unclassified Desulfoprunum",
+ }
+ assert ledger["issue_deduplication"]["ignored_hidden_local_files_included"] is True
+ assert ledger["issue_deduplication"]["comments_exhaustive"] is False
diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py
index 411175cb8..97d71dd71 100644
--- a/tests/test_participating_taxa.py
+++ b/tests/test_participating_taxa.py
@@ -249,6 +249,7 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example):
"East_River_Floodplain_Core_Microbiome.yaml",
"East_River_Hillslope_Riparian_Transect_Community.yaml",
"EcoFAB_Ring_Trial_SynCom17.yaml",
+ "Electrostimulated_Mixotrophic_VFA_Producing_Enrichment_Consortium.yaml",
"Electrostimulated_Toluene_Methanogenic_Microbiota.yaml",
"Ecoli_Bifidobacterium_bifidum_Infant_gut_HMO_Mutualism_Coculture.yaml",
"Ecoli_GL10_XL12_D_Lactate_Mixed_Sugar_SynCom.yaml",