diff --git a/docs/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.html b/docs/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.html
index 005e4b80c..836df1244 100644
--- a/docs/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.html
+++ b/docs/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.html
@@ -745,6 +745,25 @@
Associated Datasets
+
+ Knowledge gaps & discussions (1)
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ Which treatment-specific microbial interactions mediate dairy-wastewater removal and resource recovery?
+
+
This record describes12 mono-, co- and sequential-culture treatments, not all four phototrophs in one bottle. The data article provides endpoint16S profiles, FAPROTAX-predicted functions and CCA/RDA associations; these do not directly measure gene activity, exchanged flux or selective mediation. Related research PMID40946759 reports greater nutrient removal in sequential cultures and greater biomolecules/EPS in co-cultures, but only its abstract/highlights were reviewed. Full research Methods, treatment-specific partners, sequence timing and mediator evidence remain unresolved. Indigenous bacteria are retained without exact canonical identities. #1537 tracks new structure, including the required one-community Edison report and primary verification. A10945-character dry run exists; no provider submission or credits spent. Zero nodes/arrows is an unresolved graph gap, not evidence that interactions are absent.
+
+
Attaches to: ecological_interactions, taxonomy
+
+
+
+
+
+
+
diff --git a/docs/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.html b/docs/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.html
index bfe3a57f1..382eb4f14 100644
--- a/docs/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.html
+++ b/docs/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.html
@@ -584,7 +584,7 @@ Ecological Interactions
Ecological interaction network for Kefir Flavor Lentilactobacillus-Kluyveromyces Coculture
- Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding, mutualism, niche partitioning).
+ Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
@@ -592,18 +592,8 @@
Ecological Interactions
Cross-feeding
-
-
- Mutualism
-
-
- Niche partitioning
+ aria-hidden="true" data-symbol="symbolTriangle2"
+ data-color="#929caa"> Other
@@ -611,114 +601,20 @@ Ecological Interactions
-
Metagenomic profiling of the source kefir grains and fermented milk kefir identified Lactobacillus and Kluyveromyces as predominant genera, focusing downstream flavor-metabolism work on lactic acid bacteria and yeast from the same milk-kefir ecosystem.
-
-
-
-
-
-
-
-
+
Genome annotation predicts amino-acid, fatty-acid and alcohol/aldehyde/acid metabolism in SLAM023B and SLAM005Y. This is metabolic capacity, not measured expression, flux or exchanged precursors.
-
Biological Processes:
-
+
Participating Taxa:
+ Lentilactobacillus kefiri SLAM023B,
+ Kluyveromyces marxianus SLAM005Y
-
Evidence
-
-
-
-
-
-
-
Lentilactobacillus kefiri SLAM023B and Kluyveromyces marxianus SLAM005Y were isolated from milk kefir and hybrid sequenced, creating a strain-resolved genomic basis for interpreting metabolic cooperation in their defined coculture.
-
-
-
-
-
-
-
-
-
-
Biological Processes:
-
-
-
-
-
-
-
Evidence
-
-
-
-
-
-
-
KEGG functional annotation of the L. kefiri and K. marxianus genomes identified amino-acid and fatty-acid metabolism plus alcohol, aldehyde, and acid interconversion pathways that can generate kefir flavor compounds.
-
-
-
-
+
@@ -756,7 +652,7 @@
Evidence
PMID:42217781
- - SUPPORT (IN_VITRO)
+ - SUPPORT (COMPUTATIONAL)
"Functional annotation via Kyoto Encyclopedia of Genes and Genomes pathway mapping revealed featured pathways including AA and fatty acid metabolism"
@@ -769,7 +665,7 @@ Evidence
PMID:42217781
- - SUPPORT (IN_VITRO)
+ - SUPPORT (COMPUTATIONAL)
"interconversion of alcohol, aldehyde, and acid, contributing to the formation and generation of flavor compounds"
@@ -782,14 +678,20 @@ Evidence
-
The two kefir isolates partitioned flavor-metabolic roles, with K. marxianus SLAM005Y contributing fruity fusel alcohols and L. kefiri SLAM023B contributing fatty-acid-derived precursors for coculture flavor formation.
-
+
Milk assays show strain-associated volatile profiles. Yeast-associated alcohols and esters contrast with bacterial-associated aliphatic alcohol patterns. PARTIAL - predicted precursor roles and metabolite correlations do not establish transfer from bacterium to yeast or ecological niche partitioning.
+
+
Participating Taxa:
+
+ Lentilactobacillus kefiri SLAM023B,
+
+ Kluyveromyces marxianus SLAM005Y
+
+
@@ -819,7 +721,7 @@
Evidence
PMID:42217781
- - SUPPORT (IN_VITRO)
+ - PARTIAL (IN_VITRO)
"K. marxianus SLAM005Y produced fruity fusel alcohols, whereas L. kefiri SLAM023B contributed fatty acid-derived precursors"
@@ -832,15 +734,21 @@ Evidence
-
Coculturing SLAM023B and SLAM005Y significantly increased ester synthesis, especially ethyl acetate and isoamyl acetate, and also shifted additional flavor metabolites toward fruity, creamy, and cheese-like fermentation characteristics.
-
+
In static milk at 25 degrees C for 48 hours, coculture increased viable counts and changed volatile profiles. Results report interactions for selected fatty-acid/aldehyde endpoints, but not for five yeast-associated volatiles including ethyl acetate and isoamyl acetate. Measurements are normalized GC-MS peak areas, not sensory-panel scores. PARTIAL - abstract enhancement wording, Table3 means and a later Discussion comparator conflict; original figures need reconciliation. Higher counts and modest acidification do not identify a transferred growth factor or reproduce complete kefir fermentation.
+
Participating Taxa:
+
+ Lentilactobacillus kefiri SLAM023B,
+
+ Kluyveromyces marxianus SLAM005Y
+
+
+
Metabolites:
@@ -875,6 +783,19 @@
Coculture Acetate-Ester Enhancement
Evidence
+
+
+
+ "no significant effect of L. kefiri SLAM023B or strain interaction was detected"
+
+
+
@@ -884,7 +805,7 @@
Evidence
- SUPPORT (IN_VITRO)
- "The coculture of the 2 strains significantly enhanced ester synthesis, particularly ethyl acetate and isoamyl acetate"
+ "with notable interaction effects"
@@ -897,7 +818,7 @@ Evidence
- SUPPORT (IN_VITRO)
- "increases in ethyl octanoate and C6 and C8 fatty acids introduced fruity and cheese-like characteristics, whereas levels of grassy aldehydes were reduced"
+ "cocultivation increased viable cell counts"
@@ -907,15 +828,21 @@ Evidence
-
Correlation analysis linked the strain-resolved flavor roles and coculture metabolite shifts, supporting complementary metabolism and potential bacterial-yeast cross-feeding as an explanation for kefir flavor development.
-
+
HYPOTHESIZED - genomic potential and Spearman associations suggest complementary metabolism and possible cross-feeding. Neither donor-resolved transfer nor its necessary mediation of flavor or growth was established. Preserve positive coculture responses without converting correlation into a directed causal arrow.
+
Participating Taxa:
+
+ Lentilactobacillus kefiri SLAM023B,
+
+ Kluyveromyces marxianus SLAM005Y
+
+
+
@@ -924,7 +851,7 @@
Correlation-Supported Potential Cross-Feeding
- interspecies interaction between organisms
+ biological process involved in interspecies interaction between organisms
(GO:0044419 )
@@ -944,7 +871,7 @@ Evidence
PMID:42217781
- - SUPPORT (IN_VITRO)
+ - PARTIAL (IN_VITRO)
"Correlation analysis supported the complementary metabolic roles and potential cross-feeding mechanisms between the strains"
@@ -960,6 +887,25 @@ Evidence
+
+ Knowledge gaps & discussions (1)
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ Which metabolite transfers explain the responses, and how should conflicting ester comparisons be reconciled?
+
+
Retain positive strain-associated profiles, fatty-acid/aldehyde interactions and higher viable counts. Results report no bacterial main effect or strain interaction for ethyl acetate, isobutanol, isoamyl alcohol, isoamyl acetate and ethyl octanoate. Abstract/Table3/Discussion comparator wording conflicts; original figures, exact contrasts and raw data need verification. Genomic annotation and correlations do not trace transfer. Remove the two procedural nodes without restoring the five Oct02 workflow arrows. Public indexed body sections were read with gaps, not a complete body, original figures or supplements. Non-graph comparator and protocol metadata remain unresolved under #1536. No new causal structure or provider spend.
+
+
Attaches to: ecological_interactions#Genome-Predicted Flavor Metabolic Potential, ecological_interactions#Strain-Resolved Flavor Metabolite Profiles, ecological_interactions#Coculture Flavor And Growth Responses, ecological_interactions#Potential Bacterial-Yeast Metabolite Exchange
+
+
+
+
+
+
+
@@ -1238,48 +1184,24 @@ Evidence
(function() {
var intId = "interaction:0";
- var intType = "NICHE_PARTITIONING";
+ var intType = "UNKNOWN";
var metabolites = [];
- var processes = [];
-
-
- processes.push("fermentation");
-
-
- var evidenceCount = 1;
- nodes.push({
- id: intId,
- label: "Dominant Kefir Genera Prioritization",
- type: "interaction",
- interactionType: intType,
- metabolites: metabolites,
- processes: processes,
- evidenceCount: evidenceCount
- });
-
-
-
-
- })();
+ metabolites.push("amino acid");
- (function() {
- var intId = "interaction:1";
- var intType = "NICHE_PARTITIONING";
- var metabolites = [];
var processes = [];
- processes.push("fermentation");
+ processes.push("amino acid metabolic process");
- var evidenceCount = 1;
+ var evidenceCount = 2;
nodes.push({
id: intId,
- label: "SLAM023B-SLAM005Y Coculture Genome Sequencing",
+ label: "Genome-Predicted Flavor Metabolic Potential",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -1290,43 +1212,24 @@ Evidence
- })();
-
- (function() {
- var intId = "interaction:2";
- var intType = "CROSS_FEEDING";
- var metabolites = [];
-
-
- metabolites.push("amino acid");
+ var participantKeys = [
+ "Lentilactobacillus kefiri SLAM023B",
- var processes = [];
+ "Kluyveromyces marxianus SLAM005Y"
-
- processes.push("amino acid metabolic process");
-
-
- var evidenceCount = 2;
-
- nodes.push({
- id: intId,
- label: "KEGG Flavor Pathway Reconstruction",
- type: "interaction",
- interactionType: intType,
- metabolites: metabolites,
- processes: processes,
- evidenceCount: evidenceCount
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
});
-
-
-
})();
(function() {
- var intId = "interaction:3";
- var intType = "NICHE_PARTITIONING";
+ var intId = "interaction:1";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
@@ -1339,7 +1242,7 @@ Evidence
nodes.push({
id: intId,
- label: "Strain-Resolved Flavor Precursor Partitioning",
+ label: "Strain-Resolved Flavor Metabolite Profiles",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -1350,11 +1253,24 @@ Evidence
+ var participantKeys = [
+
+ "Lentilactobacillus kefiri SLAM023B",
+
+ "Kluyveromyces marxianus SLAM005Y"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
(function() {
- var intId = "interaction:4";
- var intType = "MUTUALISM";
+ var intId = "interaction:2";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -1369,11 +1285,11 @@ Evidence
processes.push("fermentation");
- var evidenceCount = 2;
+ var evidenceCount = 3;
nodes.push({
id: intId,
- label: "Coculture Acetate-Ester Enhancement",
+ label: "Coculture Flavor And Growth Responses",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -1384,24 +1300,37 @@ Evidence
+ var participantKeys = [
+
+ "Lentilactobacillus kefiri SLAM023B",
+
+ "Kluyveromyces marxianus SLAM005Y"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
(function() {
- var intId = "interaction:5";
- var intType = "CROSS_FEEDING";
+ var intId = "interaction:3";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
- processes.push("interspecies interaction between organisms");
+ processes.push("biological process involved in interspecies interaction between organisms");
var evidenceCount = 1;
nodes.push({
id: intId,
- label: "Correlation-Supported Potential Cross-Feeding",
+ label: "Potential Bacterial-Yeast Metabolite Exchange",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -1412,6 +1341,19 @@ Evidence
+ var participantKeys = [
+
+ "Lentilactobacillus kefiri SLAM023B",
+
+ "Kluyveromyces marxianus SLAM005Y"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
@@ -1433,7 +1375,7 @@ Evidence
var svg = d3.select("#network-svg");
var width = container.clientWidth - 32;
// Dynamic height based on node count: minimum 500px, add 40px per node
- var nodeCount = 8;
+ var nodeCount = 6;
var height = Math.max(500, 400 + nodeCount * 20);
svg.attr("width", width).attr("height", height);
diff --git a/history/records/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel/2026-10-06T195342Z-codex-bf5610.yaml b/history/records/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel/2026-10-06T195342Z-codex-bf5610.yaml
new file mode 100644
index 000000000..b96b3b897
--- /dev/null
+++ b/history/records/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel/2026-10-06T195342Z-codex-bf5610.yaml
@@ -0,0 +1,24 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml
+ slug: Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel
+session:
+ id: 2026-10-06T195342Z-codex-bf5610
+ timestamp: '2026-10-06T19:53:42Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1537
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Expose unresolved treatment-specific causal structure in the empty dairy panel.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml
diff --git a/history/records/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture/2026-10-06T195342Z-codex-2016ba.yaml b/history/records/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture/2026-10-06T195342Z-codex-2016ba.yaml
new file mode 100644
index 000000000..fcbab7302
--- /dev/null
+++ b/history/records/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture/2026-10-06T195342Z-codex-2016ba.yaml
@@ -0,0 +1,24 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml
+ slug: Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture
+session:
+ id: 2026-10-06T195342Z-codex-2016ba
+ timestamp: '2026-10-06T19:53:42Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1535
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Remove kefir procedure nodes and bound compound-specific flavor and exchange claims.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml
diff --git a/kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml b/kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml
index a541db604..b5966c600 100644
--- a/kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml
+++ b/kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml
@@ -277,5 +277,30 @@ curation_history:
curator: codex
action: CREATE_DAIRY_WASTEWATER_ALGAL_CYANOBACTERIAL_PANEL
changes: Created the Dairy Wastewater Algal-Cyanobacterial Cultivation Panel record from PMID:41561919 with evidence-backed
- phototroph membership, dairy-wastewater cultivation conditions, fractionated 16S sampling, and PRJNA1265442 dataset metadata.
+ phototroph membership, dairy-wastewater cultivation conditions, fractionated 16S sampling, and PRJNA1265442
+ dataset metadata.
llm_assisted: true
+- timestamp: '2026-10-06T19:53:41Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Expose unresolved treatment-specific causal structure in the empty dairy panel. Issue #1537; reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml'
+ llm_assisted: true
+discussions:
+- discussion_id: dairy_panel_treatment_specific_causal_structure
+ prompt: Which treatment-specific microbial interactions mediate dairy-wastewater removal and resource recovery?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions
+ - taxonomy
+ rationale: 'This record describes12 mono-, co- and sequential-culture treatments, not all four phototrophs in
+ one bottle. The data article provides endpoint16S profiles, FAPROTAX-predicted functions and CCA/RDA associations;
+ these do not directly measure gene activity, exchanged flux or selective mediation. Related research PMID40946759
+ reports greater nutrient removal in sequential cultures and greater biomolecules/EPS in co-cultures, but only
+ its abstract/highlights were reviewed. Full research Methods, treatment-specific partners, sequence timing and
+ mediator evidence remain unresolved. Indigenous bacteria are retained without exact canonical identities. #1537
+ tracks new structure, including the required one-community Edison report and primary verification. A10945-character
+ dry run exists; no provider submission or credits spent. Zero nodes/arrows is an unresolved graph gap, not evidence
+ that interactions are absent.'
+ posed_by: codex
+ posed_date: '2026-10-06'
diff --git a/kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml b/kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml
index 15f953afe..8212642fa 100644
--- a/kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml
+++ b/kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml
@@ -85,57 +85,10 @@ taxonomy:
snippet: Two strains, Kluyveromyces marxianus SLAM 005Y and Lentilactobacillus kefiri SLAM 023B, were isolated from Korean household milk kefir.
explanation: Independently identifies the same K. marxianus strain in the exact two-strain probiotic study; the paper inserts a space in the strain designation.
ecological_interactions:
-- name: Dominant Kefir Genera Prioritization
- description: >
- Metagenomic profiling of the source kefir grains and fermented milk kefir
- identified Lactobacillus and Kluyveromyces as predominant genera, focusing
- downstream flavor-metabolism work on lactic acid bacteria and yeast from the
- same milk-kefir ecosystem.
+- name: Genome-Predicted Flavor Metabolic Potential
+ description: Genome annotation predicts amino-acid, fatty-acid and alcohol/aldehyde/acid metabolism in SLAM023B
+ and SLAM005Y. This is metabolic capacity, not measured expression, flux or exchanged precursors.
scope: COMMUNITY_LEVEL
- interaction_type: NICHE_PARTITIONING
- biological_processes:
- - preferred_term: fermentation
- term:
- id: GO:0006113
- label: fermentation
- evidence:
- - reference: PMID:42217781
- supports: SUPPORT
- evidence_source: IN_VITRO
- snippet: Metagenomic analysis identified Lactobacillus and Kluyveromyces as predominant
- genera in both kefir grains and fermented milk kefir
- explanation: >
- Supports the strain-selection context linking the defined two-strain
- coculture to predominant bacteria and yeast in the source kefir.
-- name: SLAM023B-SLAM005Y Coculture Genome Sequencing
- description: >
- Lentilactobacillus kefiri SLAM023B and Kluyveromyces marxianus SLAM005Y were
- isolated from milk kefir and hybrid sequenced, creating a strain-resolved
- genomic basis for interpreting metabolic cooperation in their defined
- coculture.
- scope: COMMUNITY_LEVEL
- interaction_type: NICHE_PARTITIONING
- biological_processes:
- - preferred_term: fermentation
- term:
- id: GO:0006113
- label: fermentation
- evidence:
- - reference: PMID:42217781
- supports: SUPPORT
- evidence_source: IN_VITRO
- snippet: Lentilactobacillus kefiri SLAM023B and Kluyveromyces marxianus SLAM005Y were
- isolated and subjected to hybrid genome sequencing
- explanation: >
- Identifies the exact isolates and supports their genome sequencing before
- the strain-resolved functional analysis.
-- name: KEGG Flavor Pathway Reconstruction
- description: >
- KEGG functional annotation of the L. kefiri and K. marxianus genomes
- identified amino-acid and fatty-acid metabolism plus alcohol, aldehyde, and
- acid interconversion pathways that can generate kefir flavor compounds.
- scope: COMMUNITY_LEVEL
- interaction_type: CROSS_FEEDING
metabolites:
- preferred_term: amino acid
term:
@@ -149,27 +102,30 @@ ecological_interactions:
evidence:
- reference: PMID:42217781
supports: SUPPORT
- evidence_source: IN_VITRO
- snippet: Functional annotation via Kyoto Encyclopedia of Genes and Genomes pathway mapping
- revealed featured pathways including AA and fatty acid metabolism
- explanation: >
- Supports the genome-based reconstruction of strain pathways relevant to
- flavor metabolism.
+ evidence_source: COMPUTATIONAL
+ snippet: Functional annotation via Kyoto Encyclopedia of Genes and Genomes pathway mapping revealed featured
+ pathways including AA and fatty acid metabolism
+ explanation: Supports annotated metabolic potential, not observed cross-feeding or pathway flux.
- reference: PMID:42217781
supports: SUPPORT
- evidence_source: IN_VITRO
- snippet: interconversion of alcohol, aldehyde, and acid, contributing to the formation
- and generation of flavor compounds
- explanation: >
- Supports the annotated pathway classes that connect the genomes to flavor
- compound formation.
-- name: Strain-Resolved Flavor Precursor Partitioning
- description: >
- The two kefir isolates partitioned flavor-metabolic roles, with K. marxianus
- SLAM005Y contributing fruity fusel alcohols and L. kefiri SLAM023B
- contributing fatty-acid-derived precursors for coculture flavor formation.
+ evidence_source: COMPUTATIONAL
+ snippet: interconversion of alcohol, aldehyde, and acid, contributing to the formation and generation of flavor
+ compounds
+ explanation: Supports annotated metabolic potential, not observed cross-feeding or pathway flux.
+ participating_taxa:
+ - preferred_term: Lentilactobacillus kefiri SLAM023B
+ term:
+ id: NCBITaxon:33962
+ label: Lentilactobacillus kefiri
+ - preferred_term: Kluyveromyces marxianus SLAM005Y
+ term:
+ id: NCBITaxon:4911
+ label: Kluyveromyces marxianus
+- name: Strain-Resolved Flavor Metabolite Profiles
+ description: Milk assays show strain-associated volatile profiles. Yeast-associated alcohols and esters contrast
+ with bacterial-associated aliphatic alcohol patterns. PARTIAL - predicted precursor roles and metabolite correlations
+ do not establish transfer from bacterium to yeast or ecological niche partitioning.
scope: COMMUNITY_LEVEL
- interaction_type: NICHE_PARTITIONING
biological_processes:
- preferred_term: fermentation
term:
@@ -177,21 +133,29 @@ ecological_interactions:
label: fermentation
evidence:
- reference: PMID:42217781
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
- snippet: K. marxianus SLAM005Y produced fruity fusel alcohols, whereas L. kefiri SLAM023B
- contributed fatty acid-derived precursors
- explanation: >
- Supports the reported partitioning of flavor-associated metabolic roles
- between the yeast and bacterial isolates.
-- name: Coculture Acetate-Ester Enhancement
- description: >
- Coculturing SLAM023B and SLAM005Y significantly increased ester synthesis,
- especially ethyl acetate and isoamyl acetate, and also shifted additional
- flavor metabolites toward fruity, creamy, and cheese-like fermentation
- characteristics.
+ snippet: K. marxianus SLAM005Y produced fruity fusel alcohols, whereas L. kefiri SLAM023B contributed fatty
+ acid-derived precursors
+ explanation: Abstract-level role interpretation; indexed Results distinguish strain-associated profiles from
+ traced precursor transfer.
+ participating_taxa:
+ - preferred_term: Lentilactobacillus kefiri SLAM023B
+ term:
+ id: NCBITaxon:33962
+ label: Lentilactobacillus kefiri
+ - preferred_term: Kluyveromyces marxianus SLAM005Y
+ term:
+ id: NCBITaxon:4911
+ label: Kluyveromyces marxianus
+- name: Coculture Flavor And Growth Responses
+ description: In static milk at 25 degrees C for 48 hours, coculture increased viable counts and changed volatile
+ profiles. Results report interactions for selected fatty-acid/aldehyde endpoints, but not for five yeast-associated
+ volatiles including ethyl acetate and isoamyl acetate. Measurements are normalized GC-MS peak areas, not sensory-panel
+ scores. PARTIAL - abstract enhancement wording, Table3 means and a later Discussion comparator conflict; original
+ figures need reconciliation. Higher counts and modest acidification do not identify a transferred growth factor
+ or reproduce complete kefir fermentation.
scope: COMMUNITY_LEVEL
- interaction_type: MUTUALISM
metabolites:
- preferred_term: ethyl acetate
term:
@@ -207,43 +171,58 @@ ecological_interactions:
id: GO:0006113
label: fermentation
evidence:
+ - reference: PMID:42217781
+ supports: PARTIAL
+ evidence_source: IN_VITRO
+ snippet: no significant effect of L. kefiri SLAM023B or strain interaction was detected
+ explanation: Results, five yeast-associated volatiles; absence of a bacterial main effect or strain interaction,
+ not absence of yeast production.
- reference: PMID:42217781
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: The coculture of the 2 strains significantly enhanced ester synthesis, particularly
- ethyl acetate and isoamyl acetate
- explanation: >
- Supports the two-strain coculture as the context for enhanced acetate
- ester synthesis and names the principal esters.
+ snippet: with notable interaction effects
+ explanation: Results, heptanal, hexanal, 1-hexanol, hexanoic acid and octanoic acid; distinct from the ester
+ result.
- reference: PMID:42217781
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: increases in ethyl octanoate and C6 and C8 fatty acids introduced fruity and
- cheese-like characteristics, whereas levels of grassy aldehydes were reduced
- explanation: >
- Supports the broader coculture flavor-metabolite shift accompanying the
- acetate ester increase.
-- name: Correlation-Supported Potential Cross-Feeding
- description: >
- Correlation analysis linked the strain-resolved flavor roles and coculture
- metabolite shifts, supporting complementary metabolism and potential
- bacterial-yeast cross-feeding as an explanation for kefir flavor development.
+ snippet: cocultivation increased viable cell counts
+ explanation: Discussion, viable counts; modest acidification and a simplified milk system limit generalization.
+ participating_taxa:
+ - preferred_term: Lentilactobacillus kefiri SLAM023B
+ term:
+ id: NCBITaxon:33962
+ label: Lentilactobacillus kefiri
+ - preferred_term: Kluyveromyces marxianus SLAM005Y
+ term:
+ id: NCBITaxon:4911
+ label: Kluyveromyces marxianus
+- name: Potential Bacterial-Yeast Metabolite Exchange
+ description: HYPOTHESIZED - genomic potential and Spearman associations suggest complementary metabolism and possible
+ cross-feeding. Neither donor-resolved transfer nor its necessary mediation of flavor or growth was established.
+ Preserve positive coculture responses without converting correlation into a directed causal arrow.
scope: COMMUNITY_LEVEL
- interaction_type: CROSS_FEEDING
biological_processes:
- - preferred_term: interspecies interaction between organisms
+ - 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:42217781
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
- snippet: Correlation analysis supported the complementary metabolic roles and potential
- cross-feeding mechanisms between the strains
- explanation: >
- Supports potential cross-feeding as a correlation-backed interpretation,
- not as a directly resolved metabolite-transfer pathway.
+ snippet: Correlation analysis supported the complementary metabolic roles and potential cross-feeding mechanisms
+ between the strains
+ explanation: Supports a proposed interpretation of in-vitro associations, not a traced exchange mechanism.
+ participating_taxa:
+ - preferred_term: Lentilactobacillus kefiri SLAM023B
+ term:
+ id: NCBITaxon:33962
+ label: Lentilactobacillus kefiri
+ - preferred_term: Kluyveromyces marxianus SLAM005Y
+ term:
+ id: NCBITaxon:4911
+ label: Kluyveromyces marxianus
environmental_factors:
- name: Enhanced ethyl acetate and isoamyl acetate synthesis
value: significantly enhanced in coculture
@@ -292,7 +271,30 @@ curation_history:
- timestamp: '2026-10-02T06:10:22Z'
curator: codex
action: REVIEW_CAUSAL_GRAPH
- changes: Removed five downstream edges that encoded Kefir strain-prioritization,
- genome-sequencing, KEGG annotation, and correlation-analysis workflow order
- rather than source-backed ecological causality.
+ changes: Removed five downstream edges that encoded Kefir strain-prioritization, genome-sequencing, KEGG annotation,
+ and correlation-analysis workflow order rather than source-backed ecological causality.
+ llm_assisted: true
+- timestamp: '2026-10-06T19:53:40Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Remove kefir procedure nodes and bound compound-specific flavor and exchange claims. Issue #1535; reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml'
llm_assisted: true
+discussions:
+- discussion_id: kefir_flavor_comparators_and_transfer
+ prompt: Which metabolite transfers explain the responses, and how should conflicting ester comparisons be reconciled?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Genome-Predicted Flavor Metabolic Potential
+ - ecological_interactions#Strain-Resolved Flavor Metabolite Profiles
+ - ecological_interactions#Coculture Flavor And Growth Responses
+ - ecological_interactions#Potential Bacterial-Yeast Metabolite Exchange
+ rationale: 'Retain positive strain-associated profiles, fatty-acid/aldehyde interactions and higher viable counts.
+ Results report no bacterial main effect or strain interaction for ethyl acetate, isobutanol, isoamyl alcohol,
+ isoamyl acetate and ethyl octanoate. Abstract/Table3/Discussion comparator wording conflicts; original figures,
+ exact contrasts and raw data need verification. Genomic annotation and correlations do not trace transfer. Remove
+ the two procedural nodes without restoring the five Oct02 workflow arrows. Public indexed body sections were
+ read with gaps, not a complete body, original figures or supplements. Non-graph comparator and protocol metadata
+ remain unresolved under #1536. No new causal structure or provider spend.'
+ posed_by: codex
+ posed_date: '2026-10-06'
diff --git a/references_cache/PMID_42217781.txt b/references_cache/PMID_42217781.txt
index 125ae0d89..016e1b200 100644
--- a/references_cache/PMID_42217781.txt
+++ b/references_cache/PMID_42217781.txt
@@ -48,4 +48,26 @@ Association®. This is an open access article under the CC BY license
(https://creativecommons.org/licenses/by/4.0/).
DOI: 10.3168/jds.2026-28435
-PMID: 42217781 [Indexed for MEDLINE]
\ No newline at end of file
+PMID: 42217781 [Indexed for MEDLINE]
+
+## Verified primary body excerpts, not a complete full-text cache
+
+Source: https://www.journalofdairyscience.org/article/S0022-0302%2826%2902870-5/fulltext
+
+Kim et al., Journal of Dairy Science109(2026),7981-7999; DOI10.3168/jds.2026-28435. CC BY4.0 (license and attribution in original abstract above).
+
+Retrieved2026-10-06 from public indexed publisher text; direct publisher access returned403. No access-control bypass. Indexed retrieval SHA256: 5b1f288d45d97b0559a74bb3b0cc8760bc60d73ce11ac354ed597d50981c1996.
+
+Three brief excerpts (21 quoted words). Context labels below are curator descriptions. Original abstract is an exact unchanged prefix. Indexed body has gaps; no complete-body, original-figure, supplement or raw-data audit is implied.
+
+Context: Results, five yeast-associated volatiles; absence of a bacterial main effect or strain interaction, not absence of yeast production.
+
+no significant effect of L. kefiri SLAM023B or strain interaction was detected
+
+Context: Results, heptanal, hexanal, 1-hexanol, hexanoic acid and octanoic acid; distinct from the ester result.
+
+with notable interaction effects
+
+Context: Discussion, viable counts; modest acidification and a simplified milk system limit generalization.
+
+cocultivation increased viable cell counts
diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md
index b8e95f233..dcf93d58b 100644
--- a/reports/causal_graph_review/README.md
+++ b/reports/causal_graph_review/README.md
@@ -5,6 +5,25 @@ source-based self-adversarial review. These records are not independent approval
or proof that every graph is complete. The current inventory and summary distinguish
`reviewed`, `pending` and `needs_research`.
+## Batch59: Kefir Flavor And Dairy-Panel Gap
+
+[Decisions](decisions/20261006-kefir-dairy-batch59.yaml),
+[validation](validation-20261006-batch59.json) and
+[self-adversarial review](adversarial-review-20261006-batch59.yaml) cover kefir's
+six original nodes and the dairy panel's empty graph. Two procedural kefir nodes
+are removed; four bounded biological/potential nodes remain without arrows.
+Compound-specific interaction statistics, positive growth responses and conflicting
+ester-comparison wording remain distinct from demonstrated metabolite transfer.
+
+The dairy panel remains `needs_research`, not a certified absence of interactions.
+Its one-community Edison dry-run metadata is retained with zero provider calls or
+credits. Related primary research is limited to abstract/highlights; the data-article
+main text was read. Kefir review includes public indexed body sections with gaps,
+not complete full text or original figures. One cache appendix adds 21 verified
+excerpt words with its original prefix unchanged; 919 other caches are unchanged.
+Repair #1535 awaits protected-main merge. Metadata #1536 and research #1537 remain
+open until separately resolved.
+
## Batch58: R2A Model And Agar Antagonism
[Decisions](decisions/20261006-r2a-batch58.yaml),
diff --git a/reports/causal_graph_review/adversarial-review-20261006-batch59.yaml b/reports/causal_graph_review/adversarial-review-20261006-batch59.yaml
new file mode 100644
index 000000000..2211ce6b8
--- /dev/null
+++ b/reports/causal_graph_review/adversarial-review-20261006-batch59.yaml
@@ -0,0 +1,173 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: 277b7254fa7d78c16d801e45972e13469e4e5027
+scope:
+- kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml
+- kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml
+decision_ledger: reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml
+validation_report: reports/causal_graph_review/validation-20261006-batch59.json
+findings:
+- issue: 1535
+ severity: P2
+ status: addressed_in_this_change
+ finding: Kefir procedure nodes, genomic/transfer overclaims and compound-specific response interpretation.
+ disposition: Close only after protected-main merge.
+- issue: 1536
+ severity: P2
+ status: unresolved_non_graph
+ finding: Kefir comparison and milk protocol metadata.
+ disposition: Keep open after graph repair merge.
+- issue: 1537
+ severity: P2
+ status: unresolved_research
+ finding: Dairy treatment-specific causal extension and primary/report verification.
+ disposition: Keep open; zero nodes/edges remains needs_research.
+adversarial_checks:
+- Whole kefir and dairy records read. All six original kefir nodes and zero arrows accounted for; dairy
+ zero-node/zero-arrow gap explicitly assessed. No source selection that silently drops empty graphs.
+- Remove strain-prioritization and genome-sequencing procedures, not biological observations. Preserve
+ the five Oct02 workflow-arrow removals. Reframe annotated pathways as computational capacity, not expression,
+ flux or partner transfer.
+- Kefir Results distinguish yeast main effects without bacterial main/strain-interaction effects for five
+ volatiles from positive interactions for other fatty-acid/aldehyde endpoints. Preserve higher viable
+ counts and modest acidification; do not infer uniformly absent or positive interaction across all metabolites.
+- Expose internal abstract/Table3/Discussion ester-comparator inconsistency instead of selecting whichever
+ sentence favors a desired direction. Normalized GC-MS peak areas are not measured sensory-panel scores
+ or demonstrated metabolite transfer. Original figures, exact contrasts and raw data remain unverified.
+- Retain strain-associated profiles and the proposed exchange mechanism without a fabricated causal arrow.
+ Four retained nodes name both exact canonical strains; no taxon ID or strain change. Genomic potential
+ and Spearman correlations do not identify necessary mediation of flavor or growth.
+- Dairy is a12-treatment panel, not four phototrophs in every bottle. Endpoint16S, FAPROTAX function prediction
+ and CCA/RDA associations do not establish gene activity or mediated flux. Related research abstract
+ reports positive nutrient-removal and biomolecule/EPS outcomes; its full Methods remain unread. Do not
+ infer no interactions from the empty graph.
+- Dairy stays needs_research under1537. Preserve the prior one-community LITERATURE dry-run metadata and
+ query hash exactly;10945 characters, zero provider calls or credits. Specific paid submission/report
+ remains pending. No new node/edge is minted just to fill the empty graph.
+- Kefir source scope is complete abstract plus public indexed selected body sections, tables and main
+ captions with gaps. Direct publisher403 was not bypassed. Dairy data-article full extracted main text/Methods/Tables1-3/main
+ captions read; no original images, supplements or raw-data audits. Separate host study abstract establishes
+ identity only.
+- One cache gains three short excerpts totaling21 source words, independently matched to indexed primary
+ text, with attribution/retrieval digest and exact original prefix.919 other caches unchanged. Context
+ labels are curator prose; this is not a complete full-text cache or certification of previous cached
+ content.
+- Both full record diffs, cache appendix, regression assertions and exact participant-use set were reviewed.458
+ other records and raw non-graph blocks preserved. Both-root census unchanged;36 baseline warnings and
+ zero structural defects. Non-graph comparison/protocol1536 remains OPEN.
+- Actual schema/strict/term/reference/snippet/history/rank/regression gates and output hashes recorded.
+ Repeat rendering and456-page exact description parser checks passed; no browser-screenshot claim. Post-commit
+ docs-current remains a separate publication gate.
+- 836 all-state issue titles/bodies and46 ignored/hidden local matches searched; all six matching issue
+ bodies read, not every comment/PR or local match. Initial failed issue POST was followed by authoritative
+ newest-issue readback before retry.1535 addressed but OPEN until protected-main merge;1536/1537 remain
+ unresolved. Exact-head self-review is COMMENT, not independent approval.
+verification:
+ combined_regressions: 544 passed in 218.33s (0:03:38)
+ new_regression_tests: 8
+ schema_strict_terms_history: Passed with actual output digests
+ references: CLI Total checks counts reported issues, not executed checks. Cache MATCH does not prove
+ scientific entailment or complete provenance. Three new excerpt fragments are independently matched
+ to public indexed publisher body, with explicit gaps;919 caches unchanged. Non-graph metadata1536
+ and new-structure research1537 remain OPEN. Existing476/1091/1095 limitations remain.
+ snippet_counts_by_record:
+ kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml:
+ MATCH: 16
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml:
+ MATCH: 24
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ network:
+ existing_findings_preserved: 36
+ added_findings: {}
+ removed_findings: {}
+ black_ruff_diff: passed
+ tested_file_sha256:
+ reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml: 6eb7cba4bcbbfee3ba456be7cc886f59f3a032845a7c2ad252174cf2afb9f5f0
+ tests/test_causal_review_batch59.py: e0f66a2803e94f4b35920fdc3296f504753b05761427427c5f411d4fe811afea
+ tests/test_participating_taxa.py: 8ac7a0f05b800a5d2519e5223912b396e7507e55020af3a83b5ec2c414c26c72
+ kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml: f562c28689b45ec3c53061db80bb3c6f33c4e464fe82b7d2d8236eebf53c383d
+ kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml: 4fc81cfb17b74f44b121440c5375d5a8e2f42e76b60ee057fdc53deafa263831
+ reports/causal_graph_review/README.md: 7bb429cdc55478aa6b75b81727cae1e54ca7898a0665f9ff47c40906921255bf
+ cache_update:
+ path: references_cache/PMID_42217781.txt
+ original_sha256: 2e8f099719c00807a49200790a3a93ff7b08168a7fc806b8450add79973d4dd5
+ updated_sha256: d21dec93a47eaf53a4f0c6e9faddde751f029f1f4ed8c4e8251e9759b8543414
+ primary_artifact: /private/tmp/communitymech-batch59/kefir-indexed-primary.txt
+ primary_artifact_sha256: 5b1f288d45d97b0559a74bb3b0cc8760bc60d73ce11ac354ed597d50981c1996
+ primary_url: https://www.journalofdairyscience.org/article/S0022-0302%2826%2902870-5/fulltext
+ license: CC BY4.0; attribution retained
+ quoted_words: 21
+ original_cache_is_exact_prefix: true
+ verified_excerpts:
+ - no significant effect of L. kefiri SLAM023B or strain interaction was detected
+ - with notable interaction effects
+ - cocultivation increased viable cell counts
+ retrieval_scope: Public indexed publisher body excerpts, not complete full text; direct403 not bypassed.
+ all_excerpts_matched_indexed_primary: true
+ edison_dry_run:
+ path: research/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-edison-literature-causal-meta.yaml
+ sha256: 04042b5d68781891c536659bf65e140c24434038fdae8f27b497d2d0eae81487
+ query_sha256: 8b2c44ecfe4d09661ff2942ada98db2eac871d9262df75f977ef9629c176e788
+ query_chars: 10945
+ job: LITERATURE
+ status: dry-run
+ provider_submissions: 0
+ credits_spent: 0
+ paid_authorization: specific one-job request pending
+ post_commit_docs_current: Separate publication gate, not asserted before commit.
+participant_census:
+ measurements:
+ baseline:
+ records: 460
+ with_community_level: 390
+ mixed: 124
+ community_level_only: 266
+ taxa: 1505
+ credited_solely_by_the_rule: 1236
+ current:
+ records: 460
+ with_community_level: 390
+ mixed: 124
+ community_level_only: 266
+ taxa: 1505
+ credited_solely_by_the_rule: 1236
+ interpretation: Kefir retains four explicit community-level nodes after removing two procedures; dairy
+ retains its empty graph. Canonical taxonomy and both-root census remain unchanged.
+corpus:
+ records: 460
+ nodes: 1458
+ edges: 652
+ review_status_counts:
+ needs_research: 19
+ pending: 248
+ reviewed: 193
+limitations:
+- Kefir:all six original nodes and zero arrows reviewed; two procedural nodes removed and four biological/potential
+ nodes bounded. Five Oct02 workflow arrows are not restored. No new causal structure.
+- Kefir complete abstract and public indexed selected Methods/Results/Discussion, tables/main captions
+ read with gaps, not complete full body. Direct publisher403 not bypassed. Original figures, supplements
+ and raw data not inspected; comparator inconsistency remains explicit.
+- Dairy data-article full extracted main text/Methods/Tables1-3/main captions read. Related research PMID40946759
+ abstract/highlights only. Zero nodes/arrows remains needs_research under1537, not certified absence
+ of biological interactions.
+- Dairy one-community LITERATURE dry run retained exactly,10945 characters; zero provider calls/credits.
+ Specifically scoped paid submission/report pending. No duplicate job or new structure.
+- Canonical taxa and raw non-graph blocks preserved, not recertified. Kefir non-graph comparison/protocol
+ metadata1536 and dairy research1537 remain OPEN after the graph repair merge.
+- One cache gains21 primary-indexed verified excerpt words with original exact prefix preserved;919 other
+ caches unchanged. This is not a full-text cache or provenance certification of historical content.
+- 836 all-state issue titles/bodies searched;46 scoped ignored/hidden local matches. All six matching
+ issue bodies read, not every historical comment/PR or matching local file. Initial issue POST failed;
+ authoritative latest-issue readback preceded successful retry.
+- Self-adversarial review is COMMENT, not independent approval.1535 stays OPEN until protected-main merge.
+ SupportingReference coverage476, Linux DOI lookup1091 and writer artifact1095 remain pre-existing limitations.
diff --git a/reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml b/reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml
new file mode 100644
index 000000000..f8de632eb
--- /dev/null
+++ b/reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml
@@ -0,0 +1,167 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: 277b7254fa7d78c16d801e45972e13469e4e5027
+baseline_commit: 277b7254fa7d78c16d801e45972e13469e4e5027
+base_tree: 845cd7fd577a7880b1f409b3417103945ffe3f5c
+pre_source_baseline_sha256: 221aeb4fc9e4090fec14744266feeb3bf14f9029ef3f6dc4cd96be047f3e01a0
+issues:
+- 1535
+unresolved_non_graph_issues:
+- 1536
+unresolved_research_issues:
+- 1537
+issue_deduplication:
+ all_state_issue_titles_and_bodies: 836
+ ignored_hidden_local_search: true
+ matching_local_files: 46
+ matching_issues:
+ - 1262
+ - 1259
+ - 1240
+ - 936
+ - 401
+ - 310
+reference_cache_original_hashes:
+ references_cache/PMID_42217781.txt: 2e8f099719c00807a49200790a3a93ff7b08168a7fc806b8450add79973d4dd5
+ references_cache/PMID_41561919.txt: 815ea25a152efcf13f2c82c6f96165671cfa5ab978ce71207cd6de6f51bf4f21
+ references_cache/PMID_40969199.txt: e667020c5969ecdb323db11535d1a5056dfe951514534c08857941a7f50cd81c
+reference_cache_update:
+ path: references_cache/PMID_42217781.txt
+ original_sha256: 2e8f099719c00807a49200790a3a93ff7b08168a7fc806b8450add79973d4dd5
+ updated_sha256: d21dec93a47eaf53a4f0c6e9faddde751f029f1f4ed8c4e8251e9759b8543414
+ primary_artifact: /private/tmp/communitymech-batch59/kefir-indexed-primary.txt
+ primary_artifact_sha256: 5b1f288d45d97b0559a74bb3b0cc8760bc60d73ce11ac354ed597d50981c1996
+ primary_url: https://www.journalofdairyscience.org/article/S0022-0302%2826%2902870-5/fulltext
+ license: CC BY4.0; attribution retained
+ quoted_words: 21
+ original_cache_is_exact_prefix: true
+ verified_excerpts:
+ - no significant effect of L. kefiri SLAM023B or strain interaction was detected
+ - with notable interaction effects
+ - cocultivation increased viable cell counts
+ retrieval_scope: Public indexed publisher body excerpts, not complete full text; direct403 not bypassed.
+primary_artifacts:
+ /private/tmp/communitymech-batch59/kefir-indexed-primary.txt: 5b1f288d45d97b0559a74bb3b0cc8760bc60d73ce11ac354ed597d50981c1996
+ /private/tmp/communitymech-batch58/dairy-primary.html: 8ba91cc41265f72b497c1513d99221906a376c8c7c358fdec058b2fbc3bb7d8d
+ /private/tmp/communitymech-batch58/dairy-primary.txt: cc79e861b2d9789d308bcc81c12422f0a6a5dd54bce9e3626de13222e74c342d
+ /private/tmp/communitymech-batch58/kefir-indexed-primary.txt: ce3d219cb021e0dbc4d4f76cc5f23df4b6d797f7a7d14d43fa715e8efa0d45e1
+ /private/tmp/communitymech-batch58/kefir-statistics-indexed-primary.txt: f49861a78321db35f4f3a5e315641e23b4906337b469cc81db8e34668ce8b990
+primary_urls:
+- https://www.journalofdairyscience.org/article/S0022-0302%2826%2902870-5/fulltext
+- https://pmc.ncbi.nlm.nih.gov/articles/PMC12813464/
+- https://pubmed.ncbi.nlm.nih.gov/40946759/
+edison_dry_run:
+ path: research/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-edison-literature-causal-meta.yaml
+ sha256: 04042b5d68781891c536659bf65e140c24434038fdae8f27b497d2d0eae81487
+ query_sha256: 8b2c44ecfe4d09661ff2942ada98db2eac871d9262df75f977ef9629c176e788
+ query_chars: 10945
+ job: LITERATURE
+ status: dry-run
+ provider_submissions: 0
+ credits_spent: 0
+ paid_authorization: specific one-job request pending
+limitations:
+- Kefir:all six original nodes and zero arrows reviewed; two procedural nodes removed and four biological/potential
+ nodes bounded. Five Oct02 workflow arrows are not restored. No new causal structure.
+- Kefir complete abstract and public indexed selected Methods/Results/Discussion, tables/main captions read with
+ gaps, not complete full body. Direct publisher403 not bypassed. Original figures, supplements and raw data not
+ inspected; comparator inconsistency remains explicit.
+- Dairy data-article full extracted main text/Methods/Tables1-3/main captions read. Related research PMID40946759
+ abstract/highlights only. Zero nodes/arrows remains needs_research under1537, not certified absence of biological
+ interactions.
+- Dairy one-community LITERATURE dry run retained exactly,10945 characters; zero provider calls/credits. Specifically
+ scoped paid submission/report pending. No duplicate job or new structure.
+- Canonical taxa and raw non-graph blocks preserved, not recertified. Kefir non-graph comparison/protocol metadata1536
+ and dairy research1537 remain OPEN after the graph repair merge.
+- One cache gains21 primary-indexed verified excerpt words with original exact prefix preserved;919 other caches
+ unchanged. This is not a full-text cache or provenance certification of historical content.
+- 836 all-state issue titles/bodies searched;46 scoped ignored/hidden local matches. All six matching issue bodies
+ read, not every historical comment/PR or matching local file. Initial issue POST failed; authoritative latest-issue
+ readback preceded successful retry.
+- Self-adversarial review is COMMENT, not independent approval.1535 stays OPEN until protected-main merge. SupportingReference
+ coverage476, Linux DOI lookup1091 and writer artifact1095 remain pre-existing limitations.
+records:
+- path: kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml
+ id: CommunityMech:000332
+ original_sha256: 4485382b7e341df884ca34ff9bf9bd7d3bf0c8f36cd99f91e9714461c67e7234
+ record_sha256: f562c28689b45ec3c53061db80bb3c6f33c4e464fe82b7d2d8236eebf53c383d
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml
+ scope: Whole record and every original node/arrow, including empty-graph assessment.
+ summary: Remove kefir procedure nodes and bound compound-specific flavor and exchange claims.
+ renamed_nodes:
+ KEGG Flavor Pathway Reconstruction: Genome-Predicted Flavor Metabolic Potential
+ Strain-Resolved Flavor Precursor Partitioning: Strain-Resolved Flavor Metabolite Profiles
+ Coculture Acetate-Ester Enhancement: Coculture Flavor And Growth Responses
+ Correlation-Supported Potential Cross-Feeding: Potential Bacterial-Yeast Metabolite Exchange
+ node_decisions:
+ - node: Genome-Predicted Flavor Metabolic Potential
+ rationale: Preserve annotated potential with computational evidence, not measured exchange.
+ - node: Strain-Resolved Flavor Metabolite Profiles
+ rationale: Preserve observed profiles without demonstrated precursor transfer or niche partitioning.
+ - node: Coculture Flavor And Growth Responses
+ rationale: Preserve positive growth and compound-specific interaction responses while exposing inconsistent
+ ester comparison wording.
+ - node: Potential Bacterial-Yeast Metabolite Exchange
+ rationale: Retain the proposed exchange mechanism as HYPOTHESIZED without causal arrows.
+ removed_node_decisions:
+ - node: Dominant Kefir Genera Prioritization
+ rationale: Strain prioritization and isolation/sequencing are research procedures, not biological causal interactions;
+ provenance remains in non-graph fields.
+ - node: SLAM023B-SLAM005Y Coculture Genome Sequencing
+ rationale: Strain prioritization and isolation/sequencing are research procedures, not biological causal interactions;
+ provenance remains in non-graph fields.
+ edges_before: []
+ edges_after: []
+ retained_edge_decisions: []
+ removed_edge_decisions: []
+ references:
+ - PMID:42217781
+ - PMID:40969199
+ issues:
+ - 1535
+ - 1536
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture/2026-10-06T195342Z-codex-2016ba.yaml
+ source_review:
+ scope: Complete abstract; indexed selected Methods/Results/Discussion, tables and main captions, with body gaps.
+ No original figures, supplements or raw-data audit. Separate host source abstract used only for identity.
+ cache_provenance_certified: false
+- path: kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml
+ id: CommunityMech:000384
+ original_sha256: 1eee347250881287de8d9d9be43dd5bba641e69001b46ea19e8048aeb1214bf6
+ record_sha256: 4fc81cfb17b74f44b121440c5375d5a8e2f42e76b60ee057fdc53deafa263831
+ status: needs_research
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml
+ scope: Whole record and every original node/arrow, including empty-graph assessment.
+ summary: Expose unresolved treatment-specific causal structure in the empty dairy panel.
+ renamed_nodes: {}
+ node_decisions: []
+ removed_node_decisions: []
+ edges_before: []
+ edges_after: []
+ retained_edge_decisions: []
+ removed_edge_decisions: []
+ references:
+ - PMID:41561919
+ - PMID:40946759
+ issues:
+ - 1537
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ curation_events_added: 1
+ history_files:
+ - history/records/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel/2026-10-06T195342Z-codex-bf5610.yaml
+ source_review:
+ scope: Full extracted data-article main text, Methods4.1-4.5, Tables1-3 and main captions; related research
+ abstract/highlights only. No original figures, supplements, raw16S or functional-model rerun.
+ cache_provenance_certified: false
diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv
index a5225fd9a..11028b690 100644
--- a/reports/causal_graph_review/inventory.tsv
+++ b/reports/causal_graph_review/inventory.tsv
@@ -132,7 +132,7 @@ kb/communities/Cyprus_Copper_Sulphide_Bioleaching_Consortium.yaml CommunityMech:
kb/communities/DCPP_DBS4_DCP4_DCP11d_Degradation_SynCom.yaml CommunityMech:000410 f9b1a67fb3fcd903a1adcb16f0eb5279a3738ff6807ddc4cc9203553be36bc3a 3 0 73.3 reports/causal_graph_review/decisions/20261006-three-records-batch27.yaml needs_research
kb/communities/DIETsimp_Lignocellulose_to_Methane_DIET_Consortia.yaml CommunityMech:000297 41e06f6c3fa5433a002180badb92870c4664a3863c394d4c7d25acf38a23a3be 3 2 96.7 reports/causal_graph_review/decisions/20261006-four-records-batch28.yaml reviewed
kb/communities/DVM_Triculture.yaml CommunityMech:000021 a35537c075a8b201555340df6b43a65be0409250e87e476fb4dac682201e6f36 4 2 100.0 reports/causal_graph_review/decisions/20261006-dvm-batch57.yaml reviewed
-kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml CommunityMech:000384 1eee347250881287de8d9d9be43dd5bba641e69001b46ea19e8048aeb1214bf6 0 0 0.0 pending
+kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml CommunityMech:000384 4fc81cfb17b74f44b121440c5375d5a8e2f42e76b60ee057fdc53deafa263831 0 0 0.0 reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml needs_research
kb/communities/Dangl_SynComm_35.yaml CommunityMech:000022 9a828b5a59f88ca41699338a0187ebbe4d59da5b05fcc4ef40cf788b2ee9a277 4 2 89.4 reports/causal_graph_review/decisions/20261006-three-records-batch29.yaml reviewed
kb/communities/Deepwater_Horizon_Deep_Sea_Oil_Plume_Succession.yaml CommunityMech:000166 7cc349b1d2309b6d071aeaea72234305922c0c76458baab1469ce258142083f7 3 2 89.0 reports/causal_graph_review/decisions/20261006-three-records-batch29.yaml reviewed
kb/communities/Defined_Multispecies_Enamel_Caries_Model.yaml CommunityMech:000082 320691301cf3e2d94ca9bf69873471e12309ce32271eecc02c3b222a08e6b9d6 3 0 65.0 reports/causal_graph_review/decisions/20261006-three-records-batch29.yaml reviewed
@@ -210,7 +210,7 @@ kb/communities/KB1_Chlorinated_Ethene_Dechlorinating_Consortium.yaml CommunityMe
kb/communities/KBase_Models_for_Zahmeeth_Original_PLOS.yaml CommunityMech:000037 848044ac5bcc1eeea7cf6c1496f51aba0484b5ab84d09af30dc7ab20743e835d 3 0 59.2 reports/causal_graph_review/decisions/20261006-three-records-batch56.yaml reviewed
kb/communities/KBase_ORT_Workflow_Community_Model.yaml CommunityMech:000038 b4cfa6d608db1e2d04f70537c425d23def58fb2528394a9226b82f4cc609ebf2 3 2 90.0 reports/causal_graph_review/decisions/20261006-three-records-batch56.yaml reviewed
kb/communities/KBase_Synthetic_Bacterial_Community_R2A.yaml CommunityMech:000039 8239899f70763acf1aa6be423b37e77737a7e6367b6203888c96e163e9419753 2 0 65.0 reports/causal_graph_review/decisions/20261006-r2a-batch58.yaml reviewed
-kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml CommunityMech:000332 4485382b7e341df884ca34ff9bf9bd7d3bf0c8f36cd99f91e9714461c67e7234 6 0 75.0 pending
+kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml CommunityMech:000332 f562c28689b45ec3c53061db80bb3c6f33c4e464fe82b7d2d8236eebf53c383d 4 0 65.0 reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml reviewed
kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml CommunityMech:000344 1d9b711fa86c876ec1657a114242ebba6cb14cd8be5323a25baeae6511c9b520 1 0 65.0 pending
kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml CommunityMech:000343 e07dcd6b1d7bdfeb955aaca0f93df3aadc7f36b4e83f5869974a44e76c6232d2 0 0 0.0 pending
kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml CommunityMech:000154 774000556eeff1dbbdb5e1890c5de7d6ee0f0f9e56e40973f2e40b5c61d06960 3 2 100.0 pending
diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json
index 3e9c9e1aa..da34c0452 100644
--- a/reports/causal_graph_review/summary.json
+++ b/reports/causal_graph_review/summary.json
@@ -2,14 +2,14 @@
"scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.",
"semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.",
"records": 460,
- "nodes": 1460,
+ "nodes": 1458,
"edges": 652,
"records_without_nodes": 8,
"records_without_edges": 156,
"review_status_counts": {
- "needs_research": 18,
- "pending": 250,
- "reviewed": 192
+ "needs_research": 19,
+ "pending": 248,
+ "reviewed": 193
},
"structural_defects": [],
"network_audit": [
diff --git a/reports/causal_graph_review/validation-20261006-batch59.json b/reports/causal_graph_review/validation-20261006-batch59.json
new file mode 100644
index 000000000..0dd55289f
--- /dev/null
+++ b/reports/causal_graph_review/validation-20261006-batch59.json
@@ -0,0 +1,692 @@
+{
+ "base_commit": "277b7254fa7d78c16d801e45972e13469e4e5027",
+ "scope": [
+ "kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml",
+ "kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml"
+ ],
+ "reference_validator_version": "0.1.7",
+ "results": [
+ {
+ "check": "Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch59/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-strict.tsv",
+ "kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-strict.log",
+ "log_sha256": "249488ca2f4f035f344b5fd3823adda2e60eb1868fe34add39cef17b048de404",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch59/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-batch59/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-strict.tsv\n"
+ },
+ {
+ "check": "Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-references.log",
+ "log_sha256": "8845c006080791ff5f9b857f1467b367f40e1727f5e6cbe5128f699c164bce2e",
+ "output_tail": "Validating kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_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/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_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": "Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-snippets.log",
+ "log_sha256": "f77044cea09a90a006f3fc48666f62a208521829981c6819a3a36631506c4ec1",
+ "output_tail": "# 16 evidence snippets scanned across 1 files\n MATCH 16\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": "Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-rank.log",
+ "log_sha256": "948f54d8b5a7b82f4e8146ed0aba08256c622c9884524284cf845e638cbea05f",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000332\",\n \"name\": \"Kefir Flavor Lentilactobacillus-Kluyveromyces Coculture\",\n \"score\": 65.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 4,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 7,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Kefir_Flavor_Lentilactobacillus_Kluyveromyces_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/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture/2026-10-06T195342Z-codex-2016ba.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch59/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-strict.tsv",
+ "kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-strict.log",
+ "log_sha256": "cff8531e091a59a0cef294694a35cc31339f22a86a42eb916cabd7543dbc4716",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch59/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-batch59/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-strict.tsv\n"
+ },
+ {
+ "check": "Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-references.log",
+ "log_sha256": "71463bce98bae3d4b46fe691109455a266d53a2d2fefd4801e32a8de4b0fa51c",
+ "output_tail": "Validating kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.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/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.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": "Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-snippets.log",
+ "log_sha256": "2ffa6e242265b4c1c2eb555bd8bd14abb6cc63ed4d5a8a818da9b515db44daff",
+ "output_tail": "# 24 evidence snippets scanned across 1 files\n MATCH 24\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n"
+ },
+ {
+ "check": "Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-rank.log",
+ "log_sha256": "271317b1bc15d5ef8c6faf8afc8fbefdf33a0fccbe1fbefed201c957e6896dd1",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000384\",\n \"name\": \"Dairy Wastewater Algal-Cyanobacterial Cultivation Panel\",\n \"score\": 0.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 0,\n \"disconnected_taxa\": 4,\n \"ecological_interactions\": 0,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 0,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"ecological_interactions\"\n ],\n \"path\": \"kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel/2026-10-06T195342Z-codex-bf5610.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-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-batch59/inventory.log",
+ "log_sha256": "e163cb43e6b6df610943678be22e2dcb22025cd82e46d15ff0c048ec584c0791",
+ "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\": 1458,\n \"edges\": 652,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 156,\n \"review_status_counts\": {\n \"needs_research\": 19,\n \"pending\": 248,\n \"reviewed\": 193\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-batch59/network.log",
+ "log_sha256": "0955d3471f474fec8dcceb846ff932573d11c9833de73b2b2822241553762186",
+ "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-batch59/rank-all.log",
+ "log_sha256": "83010c96524f844ac7ed56188e519e3878ee1f1ab33c2aa93f1a197920f78d6a",
+ "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-batch59/render.log",
+ "log_sha256": "9006f6a7a0a63cae3fad80f00cef70cc7baaa36d85409bf51c2cd577c1736572",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch59/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch59/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch59/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-batch59/render-repeat.log",
+ "log_sha256": "9006f6a7a0a63cae3fad80f00cef70cc7baaa36d85409bf51c2cd577c1736572",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch59/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch59/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch59/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch59/docs/index.html\n"
+ },
+ {
+ "check": "connectivity-survey",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-c",
+ "import json, pathlib, runpy\nfn=runpy.run_path('tests/test_community_level_connectivity_credit.py')['_survey']\nresult={}\nfor name,root in [('baseline',pathlib.Path('/private/tmp/communitymech-causal-batch58')),('current',pathlib.Path.cwd())]:\n paths=sorted(p for r in ['kb/communities','data/isolates'] for p in (root/r).rglob('*.yaml'))\n assert len(paths)==460\n fn.__globals__['record_files']=lambda: paths\n result[name]=fn()\nprint(json.dumps(result))\n"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/connectivity-survey.log",
+ "log_sha256": "2ebe9a828c3195e89a0931934fd0781047b3b112d0aa63c7a5cdba7fcb0e27ee",
+ "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 390, \"mixed\": 124, \"community_level_only\": 266, \"taxa\": 1505, \"credited_solely_by_the_rule\": 1236}, \"current\": {\"records\": 460, \"with_community_level\": 390, \"mixed\": 124, \"community_level_only\": 266, \"taxa\": 1505, \"credited_solely_by_the_rule\": 1236}}\n"
+ },
+ {
+ "check": "regressions",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-m",
+ "pytest",
+ "-q",
+ "tests/test_causal_review_batch10.py",
+ "tests/test_causal_review_batch11.py",
+ "tests/test_causal_review_batch12.py",
+ "tests/test_causal_review_batch13.py",
+ "tests/test_causal_review_batch14.py",
+ "tests/test_causal_review_batch15.py",
+ "tests/test_causal_review_batch16.py",
+ "tests/test_causal_review_batch17.py",
+ "tests/test_causal_review_batch18.py",
+ "tests/test_causal_review_batch19.py",
+ "tests/test_causal_review_batch20.py",
+ "tests/test_causal_review_batch21.py",
+ "tests/test_causal_review_batch22.py",
+ "tests/test_causal_review_batch23.py",
+ "tests/test_causal_review_batch24.py",
+ "tests/test_causal_review_batch25.py",
+ "tests/test_causal_review_batch27.py",
+ "tests/test_causal_review_batch28.py",
+ "tests/test_causal_review_batch29.py",
+ "tests/test_causal_review_batch30.py",
+ "tests/test_causal_review_batch31.py",
+ "tests/test_causal_review_batch32.py",
+ "tests/test_causal_review_batch33.py",
+ "tests/test_causal_review_batch34.py",
+ "tests/test_causal_review_batch35.py",
+ "tests/test_causal_review_batch36.py",
+ "tests/test_causal_review_batch37.py",
+ "tests/test_causal_review_batch38.py",
+ "tests/test_causal_review_batch39.py",
+ "tests/test_causal_review_batch40.py",
+ "tests/test_causal_review_batch41.py",
+ "tests/test_causal_review_batch42.py",
+ "tests/test_causal_review_batch43.py",
+ "tests/test_causal_review_batch44.py",
+ "tests/test_causal_review_batch45.py",
+ "tests/test_causal_review_batch46.py",
+ "tests/test_causal_review_batch47.py",
+ "tests/test_causal_review_batch48.py",
+ "tests/test_causal_review_batch49.py",
+ "tests/test_causal_review_batch5.py",
+ "tests/test_causal_review_batch50.py",
+ "tests/test_causal_review_batch51.py",
+ "tests/test_causal_review_batch52.py",
+ "tests/test_causal_review_batch53.py",
+ "tests/test_causal_review_batch54.py",
+ "tests/test_causal_review_batch55.py",
+ "tests/test_causal_review_batch56.py",
+ "tests/test_causal_review_batch57.py",
+ "tests/test_causal_review_batch58.py",
+ "tests/test_causal_review_batch59.py",
+ "tests/test_causal_review_batch6.py",
+ "tests/test_causal_review_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-batch59/regressions.log",
+ "log_sha256": "bfc0416b9f79085eccdbe389029e3f64104884fdf9192da035fc760e1de167bb",
+ "output_tail": "........................................................................ [ 13%]\n........................................................................ [ 26%]\n........................................................................ [ 39%]\n........................................................................ [ 52%]\n........................................................................ [ 66%]\n........................................................................ [ 79%]\n........................................................................ [ 92%]\n........................................ [100%]\n544 passed in 218.33s (0:03:38)\n"
+ },
+ {
+ "check": "black",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black",
+ "--check",
+ "tests/test_causal_review_batch59.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/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_batch59.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/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-batch59/diff-check.log",
+ "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "output_tail": ""
+ },
+ {
+ "check": "indexed-source-and-dryrun-proof",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-c",
+ "import hashlib,json,pathlib,subprocess,yaml\nledger=yaml.safe_load(pathlib.Path('reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml').read_text())\nu=ledger['reference_cache_update']\nprimary=pathlib.Path(u['primary_artifact']).read_bytes()\nassert hashlib.sha256(primary).hexdigest()==u['primary_artifact_sha256']\nassert all(q in primary.decode() for q in u['verified_excerpts'])\nassert sum(len(q.split()) for q in u['verified_excerpts'])==21\noriginal=subprocess.check_output(['git','show',ledger['base_commit']+':'+u['path']])\nassert pathlib.Path(u['path']).read_bytes().startswith(original)\nd=ledger['edison_dry_run']\nm=yaml.safe_load(pathlib.Path(d['path']).read_text())\nassert m['status']=='dry-run' and len(m['query'])==10945\nassert hashlib.sha256(m['query'].encode()).hexdigest()==d['query_sha256']\nassert d['provider_submissions']==d['credits_spent']==0\nprint(json.dumps({'indexed_primary_excerpts':3,'quoted_words':21,'original_cache_prefix_preserved':True,'complete_primary_body_claimed':False,'dairy_paid_submissions':0,'dairy_graph_extension_complete':False}))\n"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch59/indexed-source-and-dryrun-proof.log",
+ "log_sha256": "8b2707ead9270686e6160ee99856df2e02dfaeaea72955278ecbea56f26d7481",
+ "output_tail": "{\"indexed_primary_excerpts\": 3, \"quoted_words\": 21, \"original_cache_prefix_preserved\": true, \"complete_primary_body_claimed\": false, \"dairy_paid_submissions\": 0, \"dairy_graph_extension_complete\": false}\n"
+ }
+ ],
+ "limitations": [
+ "Kefir:all six original nodes and zero arrows reviewed; two procedural nodes removed and four biological/potential nodes bounded. Five Oct02 workflow arrows are not restored. No new causal structure.",
+ "Kefir complete abstract and public indexed selected Methods/Results/Discussion, tables/main captions read with gaps, not complete full body. Direct publisher403 not bypassed. Original figures, supplements and raw data not inspected; comparator inconsistency remains explicit.",
+ "Dairy data-article full extracted main text/Methods/Tables1-3/main captions read. Related research PMID40946759 abstract/highlights only. Zero nodes/arrows remains needs_research under1537, not certified absence of biological interactions.",
+ "Dairy one-community LITERATURE dry run retained exactly,10945 characters; zero provider calls/credits. Specifically scoped paid submission/report pending. No duplicate job or new structure.",
+ "Canonical taxa and raw non-graph blocks preserved, not recertified. Kefir non-graph comparison/protocol metadata1536 and dairy research1537 remain OPEN after the graph repair merge.",
+ "One cache gains21 primary-indexed verified excerpt words with original exact prefix preserved;919 other caches unchanged. This is not a full-text cache or provenance certification of historical content.",
+ "836 all-state issue titles/bodies searched;46 scoped ignored/hidden local matches. All six matching issue bodies read, not every historical comment/PR or matching local file. Initial issue POST failed; authoritative latest-issue readback preceded successful retry.",
+ "Self-adversarial review is COMMENT, not independent approval.1535 stays OPEN until protected-main merge. SupportingReference coverage476, Linux DOI lookup1091 and writer artifact1095 remain pre-existing limitations.",
+ "HTML descriptions checked by exact parser and repeat renders, not browser screenshots. Post-commit docs-current is a separate publication gate."
+ ],
+ "snippet_counts_by_record": {
+ "kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml": {
+ "MATCH": 16,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml": {
+ "MATCH": 24,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ }
+ },
+ "unchanged_raw_blocks": 30,
+ "unchanged_record_files": 458,
+ "verified_cache_update": {
+ "path": "references_cache/PMID_42217781.txt",
+ "original_sha256": "2e8f099719c00807a49200790a3a93ff7b08168a7fc806b8450add79973d4dd5",
+ "updated_sha256": "d21dec93a47eaf53a4f0c6e9faddde751f029f1f4ed8c4e8251e9759b8543414",
+ "primary_artifact": "/private/tmp/communitymech-batch59/kefir-indexed-primary.txt",
+ "primary_artifact_sha256": "5b1f288d45d97b0559a74bb3b0cc8760bc60d73ce11ac354ed597d50981c1996",
+ "primary_url": "https://www.journalofdairyscience.org/article/S0022-0302%2826%2902870-5/fulltext",
+ "license": "CC BY4.0; attribution retained",
+ "quoted_words": 21,
+ "original_cache_is_exact_prefix": true,
+ "verified_excerpts": [
+ "no significant effect of L. kefiri SLAM023B or strain interaction was detected",
+ "with notable interaction effects",
+ "cocultivation increased viable cell counts"
+ ],
+ "retrieval_scope": "Public indexed publisher body excerpts, not complete full text; direct403 not bypassed.",
+ "all_excerpts_matched_indexed_primary": true
+ },
+ "unchanged_cache_files": 919,
+ "edison_dry_run": {
+ "path": "research/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-edison-literature-causal-meta.yaml",
+ "sha256": "04042b5d68781891c536659bf65e140c24434038fdae8f27b497d2d0eae81487",
+ "query_sha256": "8b2c44ecfe4d09661ff2942ada98db2eac871d9262df75f977ef9629c176e788",
+ "query_chars": 10945,
+ "job": "LITERATURE",
+ "status": "dry-run",
+ "provider_submissions": 0,
+ "credits_spent": 0,
+ "paid_authorization": "specific one-job request pending"
+ },
+ "primary_artifacts": {
+ "/private/tmp/communitymech-batch59/kefir-indexed-primary.txt": "5b1f288d45d97b0559a74bb3b0cc8760bc60d73ce11ac354ed597d50981c1996",
+ "/private/tmp/communitymech-batch58/dairy-primary.html": "8ba91cc41265f72b497c1513d99221906a376c8c7c358fdec058b2fbc3bb7d8d",
+ "/private/tmp/communitymech-batch58/dairy-primary.txt": "cc79e861b2d9789d308bcc81c12422f0a6a5dd54bce9e3626de13222e74c342d",
+ "/private/tmp/communitymech-batch58/kefir-indexed-primary.txt": "ce3d219cb021e0dbc4d4f76cc5f23df4b6d797f7a7d14d43fa715e8efa0d45e1",
+ "/private/tmp/communitymech-batch58/kefir-statistics-indexed-primary.txt": "f49861a78321db35f4f3a5e315641e23b4906337b469cc81db8e34668ce8b990"
+ },
+ "cache_provenance_caveat": "One exact-prefix cache appendix adds21 words verified against public indexed primary body.919 caches unchanged. MATCH does not certify all cached or nongraph content.",
+ "network_delta": {
+ "existing_findings_preserved": 36,
+ "added_findings": {},
+ "removed_findings": {}
+ },
+ "render_determinism": true,
+ "published_description_coverage": {
+ "pages": 456,
+ "nodes": 1444,
+ "arrows": 644
+ },
+ "participant_census": {
+ "measurements": {
+ "baseline": {
+ "records": 460,
+ "with_community_level": 390,
+ "mixed": 124,
+ "community_level_only": 266,
+ "taxa": 1505,
+ "credited_solely_by_the_rule": 1236
+ },
+ "current": {
+ "records": 460,
+ "with_community_level": 390,
+ "mixed": 124,
+ "community_level_only": 266,
+ "taxa": 1505,
+ "credited_solely_by_the_rule": 1236
+ }
+ },
+ "interpretation": "Kefir retains four explicit community-level nodes after removing two procedures; dairy retains its empty graph. Canonical taxonomy and both-root census remain unchanged."
+ },
+ "network_warning_count": 36,
+ "corpus": {
+ "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.",
+ "records": 460,
+ "nodes": 1458,
+ "edges": 652,
+ "records_without_nodes": 8,
+ "records_without_edges": 156,
+ "review_status_counts": {
+ "needs_research": 19,
+ "pending": 248,
+ "reviewed": 193
+ },
+ "structural_defects": []
+ },
+ "tested_file_sha256": {
+ "reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml": "6eb7cba4bcbbfee3ba456be7cc886f59f3a032845a7c2ad252174cf2afb9f5f0",
+ "tests/test_causal_review_batch59.py": "e0f66a2803e94f4b35920fdc3296f504753b05761427427c5f411d4fe811afea",
+ "tests/test_participating_taxa.py": "8ac7a0f05b800a5d2519e5223912b396e7507e55020af3a83b5ec2c414c26c72",
+ "kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml": "f562c28689b45ec3c53061db80bb3c6f33c4e464fe82b7d2d8236eebf53c383d",
+ "kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml": "4fc81cfb17b74f44b121440c5375d5a8e2f42e76b60ee057fdc53deafa263831",
+ "reports/causal_graph_review/README.md": "7bb429cdc55478aa6b75b81727cae1e54ca7898a0665f9ff47c40906921255bf"
+ },
+ "status": "verified_kefir_dairy_graph_review",
+ "pre_research_baseline": {
+ "base_commit": "277b7254fa7d78c16d801e45972e13469e4e5027",
+ "base_tree": "845cd7fd577a7880b1f409b3417103945ffe3f5c",
+ "research_worktree": "/private/tmp/communitymech-causal-batch58",
+ "checks": [
+ {
+ "name": "rank",
+ "command": [
+ "just",
+ "rank-causal-graphs"
+ ],
+ "exit_code": 0,
+ "expected_exit_code": 0,
+ "log": "/private/tmp/communitymech-batch59/baseline-rank.log",
+ "sha256": "ad4ab973eced97fb4f15019952e44e608619de6dc7c596de336bd02d40e53cc1",
+ "output_tail": "/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml\tCommunityMech:000337\tTropidoatractus magnetotacticus Magnetotactic Ciliate Tripartite Syntrophy\t3\t3\t0\t4\t2\t9\t\t0\t0\n450\t100.0\tkb/communities/Urine_Nitrification_SynCom.yaml\tCommunityMech:000117\tUrine Nitrification Synthetic Microbial Community\t5\t5\t0\t3\t2\t5\t\t0\t0\n451\t100.0\tkb/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml\tCommunityMech:000213\tVariovorax-Cryptococcus Vitamin Cross-Feeding Microcosm\t2\t2\t0\t3\t2\t4\t\t0\t0\n452\t100.0\tkb/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml\tCommunityMech:000328\tWaste-Sludge Electro-Fermentation Biofilm-Suspension Community\t5\t5\t0\t4\t2\t6\t\t0\t0\n453\t100.0\tkb/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.yaml\tCommunityMech:000098\tWatermelon Rhizosphere Fusarium-Protective SynCom8\t2\t2\t0\t3\t2\t7\t\t0\t0\n454\t100.0\tkb/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml\tCommunityMech:000255\tWetland Oxygen-Sulfate Greenhouse Gas Microcosm Community\t3\t3\t0\t3\t2\t6\t\t0\t0\n455\t100.0\tkb/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.yaml\tCommunityMech:000118\tWheat Straw Biogas Pretreatment SynCom\t4\t4\t0\t3\t2\t4\t\t0\t0\n456\t100.0\tkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml\tCommunityMech:000354\tYarrowia lipolytica Division-of-Labor Lipid Consortium\t2\t2\t0\t3\t2\t3\t\t0\t0\n457\t100.0\tkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml\tCommunityMech:000164\tYogurt Two-Species Starter Culture\t2\t2\t0\t4\t2\t9\t\t0\t0\n458\t100.0\tkb/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml\tCommunityMech:000210\tZymomonas-E. coli Exometabolomics-Designed Obligate Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n459\t100.0\tkb/communities/hCom2_Complex_Gut_Microbiome.yaml\tCommunityMech:000123\thCom2 Complex Gut Microbiome\t1\t1\t0\t3\t2\t3\t\t0\t0\n460\t100.0\tkb/communities/mCAFEs_Brachypodium_RCC.yaml\tCommunityMech:000078\tm-CAFEs Brachypodium Reduced Complexity Consortia\t10\t10\t0\t6\t2\t11\t\t0\t0\nPYTHONPATH=src uv run python scripts/rank_causal_graph_readiness.py \n"
+ },
+ {
+ "name": "just-network",
+ "command": [
+ "just",
+ "audit-network-json"
+ ],
+ "exit_code": 2,
+ "expected_exit_code": 2,
+ "log": "/private/tmp/communitymech-batch59/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/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "-m",
+ "communitymech.cli",
+ "audit-network",
+ "--json"
+ ],
+ "exit_code": 1,
+ "expected_exit_code": 1,
+ "log": "/private/tmp/communitymech-batch59/baseline-network.log",
+ "sha256": "0955d3471f474fec8dcceb846ff932573d11c9833de73b2b2822241553762186",
+ "output_tail": " \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n"
+ },
+ {
+ "name": "downstream",
+ "command": [
+ "rg",
+ "--no-ignore",
+ "--hidden",
+ "-n",
+ "downstream:",
+ "kb/communities",
+ "data/isolates",
+ "--glob",
+ "*.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_code": 0,
+ "log": "/private/tmp/communitymech-batch59/baseline-downstream.log",
+ "sha256": "a6db97973d0d3e8f43db8656161ba7c89d3b401caf03d249076762fb27a0aea3",
+ "output_tail": "munities/Ferroplasma_Leptospirillum_Syntrophy.yaml:125: downstream:\nkb/communities/PMI_Variovorax_Thermotolerance_Collection.yaml:330: downstream:\nkb/communities/Methylotuvimicrobium_Synechococcus_Gas_Feedstock_Coculture.yaml:157: downstream:\nkb/communities/Methylotuvimicrobium_Synechococcus_Gas_Feedstock_Coculture.yaml:203: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:311: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:365: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:135: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:177: downstream:\nkb/communities/Pepper_Phytophthora_SynCom5.yaml:123: downstream:\nkb/communities/Pepper_Phytophthora_SynCom5.yaml:146: downstream:\nkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml:342: downstream:\nkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml:381: 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/Rumen_Substrate_Adapted_Lignocellulose_Enrichment_Consortia.yaml:328: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:207: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:249: downstream:\nkb/communities/BioModels_MODEL2204300001_Kefir_Community_Model.yaml:203: downstream:\nkb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml:143: downstream:\nkb/communities/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml:104: downstream:\nkb/communities/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml:127: downstream:\nkb/communities/Phylogenetically_Diverse_Denitrifying_SynCom.yaml:76: downstream:\nkb/communities/Phylogenetically_Diverse_Denitrifying_SynCom.yaml:95: downstream:\nkb/communities/Phylogenetically_Diverse_Denitrifying_SynCom.yaml:122: downstream:\n"
+ }
+ ],
+ "baseline_sha256": "221aeb4fc9e4090fec14744266feeb3bf14f9029ef3f6dc4cd96be047f3e01a0"
+ },
+ "reference_validator_caveat": "CLI Total checks counts reported issues, not executed checks. Cache MATCH does not prove scientific entailment or complete provenance. Three new excerpt fragments are independently matched to public indexed publisher body, with explicit gaps;919 caches unchanged. Non-graph metadata1536 and new-structure research1537 remain OPEN. Existing476/1091/1095 limitations remain."
+}
diff --git a/research/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-edison-literature-causal-meta.yaml b/research/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-edison-literature-causal-meta.yaml
new file mode 100644
index 000000000..636799757
--- /dev/null
+++ b/research/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel-edison-literature-causal-meta.yaml
@@ -0,0 +1,196 @@
+slug: Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel
+community_path: kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml
+community_id: CommunityMech:000384
+job: LITERATURE
+job_id: job-futurehouse-paperqa3
+label: causal
+template_path: templates/community_causal_graph_research.md
+template_vars:
+ community_name: Dairy Wastewater Algal-Cyanobacterial Cultivation Panel
+ community_id: CommunityMech:000384
+ community_file: Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml
+ community_slug: Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel
+ community_category: BIOREMEDIATION
+ ecological_state: ENGINEERED
+ community_origin: ENGINEERED
+ description: 'A bounded non-sterile laboratory panel that compared mono-, co-, and sequential cultures
+ of the screened phototrophs Chlorella sorokiniana, Euglena gracilis, Synechocystis sp., and Desertifilum
+ tharense during dairy-wastewater treatment. The 12-day experiment grew four monocultures, four 1:1
+ dry-weight co-cultures, and four sequential cyanobacterium/microalga cultures in 50% diluted raw dairy
+ wastewater in 500 mL bottles with 250 mL working volume. Samples were fractionated into phycosphere-attached
+ and free-living bacteria for V3-V4 16S rRNA MiSeq profiling, with raw sequence data deposited under
+ NCBI BioProject PRJNA1265442. This is a panel record: the four named taxa were assayed across the
+ treatment bottles rather than all co-occurring in every bottle, and indigenous dairy-wastewater bacteria
+ were intentionally retained by non-sterile sample handling.'
+ source_summary: ''
+ environment_summary: laboratory environment | ENVO:01001405 | Controlled, non-sterile 500 mL bottle
+ cultures using 50% diluted raw dairy wastewater from a farm in Tianjin, China.
+ taxonomy_summary: Synechocystis sp. (Synechocystis) - PRIMARY_PRODUCER | Desertifilum tharense - PRIMARY_PRODUCER
+ | Chlorella sorokiniana - PRIMARY_PRODUCER | Euglena gracilis - PRIMARY_PRODUCER
+ interaction_summary: ''
+ environmental_factor_summary: Pre-treated dairy wastewater chemistry - COD 1960.0 +/- 220.0 mg/L; NH4+-N
+ 220.00 +/- 2.7 mg/L; TN 733.3 +/- 0.1 mg/L; TP 11.06 +/- 0.6 mg/L; pH 8.4 +/- 0.1 - Chemistry of the
+ 50% diluted raw dairy wastewater used to seed the non-sterile algal/cyanobacterial panel. | Culture
+ duration - 12 - All treatment bottles were cultivated for 12 days before bacterial community sampling.
+ | Phycosphere and free-living fractions - 3 µm phycosphere fraction; 0.2 µm free-living fraction -
+ Sequential filtration separated microalgae-associated bacteria from free-living bacteria in the supernatant.
+ growth_media_summary: 50% diluted raw dairy wastewater - Raw dairy wastewater from Tianjin, China was
+ handled non-sterile to retain indigenous bacteria, filtered through six layers of sterile medical
+ gauze, and diluted to 50% (v/v) with deionized water before the 250 mL working-volume bottle cultures
+ were inoculated.
+ dataset_summary: PRJNA1265442 - https://www.ncbi.nlm.nih.gov/bioproject/PRJNA1265442 | Data article
+ - dairy wastewater microalgal cultivation 16S dataset - PMID:41561919 - https://pubmed.ncbi.nlm.nih.gov/41561919/
+ evidence_summary: 'PMID:41561919: Data was collected from a 12-day laboratory-scale experiment employing
+ three distinct cultivation systems: monoculture, co-culture, and sequential culture of four algal/cyanobacterial
+ strains (Supports the three-way culture-strategy comparison across four phototroph strains.) | PMID:41561919:
+ For the co-culture systems, constituent strains were combined at a 1:1 dry weight ratio (Supports
+ the pairwise co-culture inoculation ratio.) | PMID:41561919: Chlorella sorokiniana, Euglena gracilis,
+ Synechocystis sp., and Desertifilum tharense (Identifies Synechocystis sp. as one of the algal/cyanobacterial
+ strains in the treatment panel.) | PMID:41561919: CC1 Co- Synechocystis sp. + C.sorokiniana CC2 Co-
+ Synechocystis sp. + E. gracilis (Links Synechocystis sp. to the CC1 and CC2 co-culture treatments.)
+ | PMID:41561919: Chlorella sorokiniana, Euglena gracilis, Synechocystis sp., and Desertifilum tharense
+ (Identifies Desertifilum tharense as one of the algal/cyanobacterial strains in the treatment panel.)
+ | PMID:41561919: CC3 Co- D.tharense + C. sorokiniana CC4 Co- D.tharense +E. gracilis (Links Desertifilum
+ tharense to the CC3 and CC4 co-culture treatments.) | PMID:41561919: Chlorella sorokiniana, Euglena
+ gracilis, Synechocystis sp., and Desertifilum tharense (Identifies Chlorella sorokiniana as one of
+ the algal/cyanobacterial strains in the treatment panel.) | PMID:41561919: CC1 Co- Synechocystis sp.
+ + C.sorokiniana (Links Chlorella sorokiniana to the CC1 co-culture treatment.) | PMID:41561919: CC3
+ Co- D.tharense + C. sorokiniana (Links Chlorella sorokiniana to the CC3 co-culture treatment.) | PMID:41561919:
+ Chlorella sorokiniana, Euglena gracilis, Synechocystis sp., and Desertifilum tharense (Identifies
+ Euglena gracilis as one of the algal/cyanobacterial strains in the treatment panel.) | PMID:41561919:
+ CC2 Co- Synechocystis sp. + E. gracilis (Links Euglena gracilis to the CC2 co-culture treatment.)
+ | PMID:41561919: CC4 Co- D.tharense +E. gracilis (Links Euglena gracilis to the CC4 co-culture treatment.)
+ | PMID:41561919: COD (1960.0 ± 220.0 mg/L), NH4+-N (220.00 ± 2.7 mg/L), TN (733.3 ± 0.1 mg/L), TP
+ (11.06 ± 0.6 mg/L), and pH (8.4 ± 0.1) (Reports COD, ammonium nitrogen, total nitrogen, total phosphorus,
+ and pH of the pre-treated wastewater.) | PMID:41561919: Following the 12-day cultivation period, the
+ microbial community was analyzed via 16S rRNA gene sequencing (Supports the cultivation endpoint used
+ for bacterial community profiling.) | PMID:41561919: samples were sequentially filtered: first through
+ a 3 µm polycarbonate membrane (Supports the phycosphere fractionation by 3 micrometer filtration.)
+ | PMID:41561919: subsequently through a 0.2 µm membrane to collect the free-living bacteria (Supports
+ the free-living bacterial fractionation by 0.2 micrometer filtration.) | PMID:41561919: Raw dairy
+ wastewater was collected from a dairy farm in Tianjin, China (Identifies the source material for the
+ wastewater medium.) | PMID:41561919: all handling was performed under non-sterile conditions (Supports
+ retention of native dairy-wastewater bacteria during handling.) | PMID:41561919: diluted to 50% (v/v)
+ with deionized water (Supports the dilution used for the wastewater medium.) | PMID:41561919: Three
+ distinct cultivation systems were established in 500 mL glass bottles with a 250 mL working volume
+ (Supports the bottle size and working volume of the three culture-system classes.) | PMID:41561919:
+ continuous illumination at 6000 ± 100 lux provided by four 36-watt white LED arrays (Supports the
+ light regime and LED source for the bottle cultures.) | PMID:41561919: The cultures were shaken three
+ times daily, and no external CO2 was supplemented (Supports the manual shaking and no-external-CO2
+ cultivation details.) | PMID:41561919: The raw paired-end sequencing files (in FASTQ format) generated
+ for all samples in this study are publicly available in the NCBI Sequence Read Archive (SRA) under
+ the BioProject accession number PRJNA1265442 (Links the raw 16S amplicon reads to BioProject PRJNA1265442.)
+ | PMID:41561919: Dataset on microbial community structure in response to microalgal cultivation in
+ dairy wastewater (Links the PubMed record to the data article for this dairy-wastewater cultivation
+ panel.)'
+query_chars: 10945
+query: "# Microbial Community Causal-Graph Research Template\n\n## Target Community\n- **Community name:**\
+ \ Dairy Wastewater Algal-Cyanobacterial Cultivation Panel\n- **Community id:** CommunityMech:000384\n\
+ - **Community file:** Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml\n- **Community category:**\
+ \ BIOREMEDIATION\n- **Ecological state:** ENGINEERED\n- **Community origin:** ENGINEERED\n- **Environment:**\
+ \ laboratory environment | ENVO:01001405 | Controlled, non-sterile 500 mL bottle cultures using 50%\
+ \ diluted raw dairy wastewater from a farm in Tianjin, China.\n- **Description:** A bounded non-sterile\
+ \ laboratory panel that compared mono-, co-, and sequential cultures of the screened phototrophs Chlorella\
+ \ sorokiniana, Euglena gracilis, Synechocystis sp., and Desertifilum tharense during dairy-wastewater\
+ \ treatment. The 12-day experiment grew four monocultures, four 1:1 dry-weight co-cultures, and four\
+ \ sequential cyanobacterium/microalga cultures in 50% diluted raw dairy wastewater in 500 mL bottles\
+ \ with 250 mL working volume. Samples were fractionated into phycosphere-attached and free-living bacteria\
+ \ for V3-V4 16S rRNA MiSeq profiling, with raw sequence data deposited under NCBI BioProject PRJNA1265442.\
+ \ This is a panel record: the four named taxa were assayed across the treatment bottles rather than\
+ \ all co-occurring in every bottle, and indigenous dairy-wastewater bacteria were intentionally retained\
+ \ by non-sterile sample handling.\n\n## Existing Record Context\n- **Taxa:** Synechocystis sp. (Synechocystis)\
+ \ - PRIMARY_PRODUCER | Desertifilum tharense - PRIMARY_PRODUCER | Chlorella sorokiniana - PRIMARY_PRODUCER\
+ \ | Euglena gracilis - PRIMARY_PRODUCER\n- **Known ecological interactions:** \n- **Environmental factors:**\
+ \ Pre-treated dairy wastewater chemistry - COD 1960.0 +/- 220.0 mg/L; NH4+-N 220.00 +/- 2.7 mg/L; TN\
+ \ 733.3 +/- 0.1 mg/L; TP 11.06 +/- 0.6 mg/L; pH 8.4 +/- 0.1 - Chemistry of the 50% diluted raw dairy\
+ \ wastewater used to seed the non-sterile algal/cyanobacterial panel. | Culture duration - 12 - All\
+ \ treatment bottles were cultivated for 12 days before bacterial community sampling. | Phycosphere and\
+ \ free-living fractions - 3 µm phycosphere fraction; 0.2 µm free-living fraction - Sequential filtration\
+ \ separated microalgae-associated bacteria from free-living bacteria in the supernatant.\n- **Growth\
+ \ media / culture conditions:** 50% diluted raw dairy wastewater - Raw dairy wastewater from Tianjin,\
+ \ China was handled non-sterile to retain indigenous bacteria, filtered through six layers of sterile\
+ \ medical gauze, and diluted to 50% (v/v) with deionized water before the 250 mL working-volume bottle\
+ \ cultures were inoculated.\n- **Associated datasets / resources:** PRJNA1265442 - https://www.ncbi.nlm.nih.gov/bioproject/PRJNA1265442\
+ \ | Data article - dairy wastewater microalgal cultivation 16S dataset - PMID:41561919 - https://pubmed.ncbi.nlm.nih.gov/41561919/\n\
+ - **Existing evidence:** PMID:41561919: Data was collected from a 12-day laboratory-scale experiment\
+ \ employing three distinct cultivation systems: monoculture, co-culture, and sequential culture of four\
+ \ algal/cyanobacterial strains (Supports the three-way culture-strategy comparison across four phototroph\
+ \ strains.) | PMID:41561919: For the co-culture systems, constituent strains were combined at a 1:1\
+ \ dry weight ratio (Supports the pairwise co-culture inoculation ratio.) | PMID:41561919: Chlorella\
+ \ sorokiniana, Euglena gracilis, Synechocystis sp., and Desertifilum tharense (Identifies Synechocystis\
+ \ sp. as one of the algal/cyanobacterial strains in the treatment panel.) | PMID:41561919: CC1 Co- Synechocystis\
+ \ sp. + C.sorokiniana CC2 Co- Synechocystis sp. + E. gracilis (Links Synechocystis sp. to the CC1 and\
+ \ CC2 co-culture treatments.) | PMID:41561919: Chlorella sorokiniana, Euglena gracilis, Synechocystis\
+ \ sp., and Desertifilum tharense (Identifies Desertifilum tharense as one of the algal/cyanobacterial\
+ \ strains in the treatment panel.) | PMID:41561919: CC3 Co- D.tharense + C. sorokiniana CC4 Co- D.tharense\
+ \ +E. gracilis (Links Desertifilum tharense to the CC3 and CC4 co-culture treatments.) | PMID:41561919:\
+ \ Chlorella sorokiniana, Euglena gracilis, Synechocystis sp., and Desertifilum tharense (Identifies\
+ \ Chlorella sorokiniana as one of the algal/cyanobacterial strains in the treatment panel.) | PMID:41561919:\
+ \ CC1 Co- Synechocystis sp. + C.sorokiniana (Links Chlorella sorokiniana to the CC1 co-culture treatment.)\
+ \ | PMID:41561919: CC3 Co- D.tharense + C. sorokiniana (Links Chlorella sorokiniana to the CC3 co-culture\
+ \ treatment.) | PMID:41561919: Chlorella sorokiniana, Euglena gracilis, Synechocystis sp., and Desertifilum\
+ \ tharense (Identifies Euglena gracilis as one of the algal/cyanobacterial strains in the treatment\
+ \ panel.) | PMID:41561919: CC2 Co- Synechocystis sp. + E. gracilis (Links Euglena gracilis to the CC2\
+ \ co-culture treatment.) | PMID:41561919: CC4 Co- D.tharense +E. gracilis (Links Euglena gracilis to\
+ \ the CC4 co-culture treatment.) | PMID:41561919: COD (1960.0 ± 220.0 mg/L), NH4+-N (220.00 ± 2.7 mg/L),\
+ \ TN (733.3 ± 0.1 mg/L), TP (11.06 ± 0.6 mg/L), and pH (8.4 ± 0.1) (Reports COD, ammonium nitrogen,\
+ \ total nitrogen, total phosphorus, and pH of the pre-treated wastewater.) | PMID:41561919: Following\
+ \ the 12-day cultivation period, the microbial community was analyzed via 16S rRNA gene sequencing (Supports\
+ \ the cultivation endpoint used for bacterial community profiling.) | PMID:41561919: samples were sequentially\
+ \ filtered: first through a 3 µm polycarbonate membrane (Supports the phycosphere fractionation by 3\
+ \ micrometer filtration.) | PMID:41561919: subsequently through a 0.2 µm membrane to collect the free-living\
+ \ bacteria (Supports the free-living bacterial fractionation by 0.2 micrometer filtration.) | PMID:41561919:\
+ \ Raw dairy wastewater was collected from a dairy farm in Tianjin, China (Identifies the source material\
+ \ for the wastewater medium.) | PMID:41561919: all handling was performed under non-sterile conditions\
+ \ (Supports retention of native dairy-wastewater bacteria during handling.) | PMID:41561919: diluted\
+ \ to 50% (v/v) with deionized water (Supports the dilution used for the wastewater medium.) | PMID:41561919:\
+ \ Three distinct cultivation systems were established in 500 mL glass bottles with a 250 mL working\
+ \ volume (Supports the bottle size and working volume of the three culture-system classes.) | PMID:41561919:\
+ \ continuous illumination at 6000 ± 100 lux provided by four 36-watt white LED arrays (Supports the\
+ \ light regime and LED source for the bottle cultures.) | PMID:41561919: The cultures were shaken three\
+ \ times daily, and no external CO2 was supplemented (Supports the manual shaking and no-external-CO2\
+ \ cultivation details.) | PMID:41561919: The raw paired-end sequencing files (in FASTQ format) generated\
+ \ for all samples in this study are publicly available in the NCBI Sequence Read Archive (SRA) under\
+ \ the BioProject accession number PRJNA1265442 (Links the raw 16S amplicon reads to BioProject PRJNA1265442.)\
+ \ | PMID:41561919: Dataset on microbial community structure in response to microalgal cultivation in\
+ \ dairy wastewater (Links the PubMed record to the data article for this dairy-wastewater cultivation\
+ \ panel.)\n\n## Research Objective\n\nBuild a source-backed **causal interaction graph** for the microbial\
+ \ community\n**Dairy Wastewater Algal-Cyanobacterial Cultivation Panel**, suitable for the `ecological_interactions`\
+ \ block of\n`kb/communities/Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel.yaml`. The graph's\
+ \ **nodes are mechanistic\ninteractions** and its **directed edges are causal links** (\"interaction\
+ \ A\nenables / drives / suppresses interaction B\"). Extract only relationships the\nprimary literature\
+ \ supports; do not infer edges that are not stated or directly\nimplied by an experiment.\n\n## Required\
+ \ Findings\n\n### 1. Interaction nodes (the vertices)\n\nFor each mechanistic interaction, report as\
+ \ a table row:\n\n- **name** — a short, unique interaction name (used as the node id and as the\n `target`\
+ \ of any causal edge that points to it).\n- **interaction_type** — one of: MUTUALISM, COMMENSALISM,\
+ \ CROSS_FEEDING,\n COMPETITION, PREDATION, SYNTROPHY, NICHE_PARTITIONING, STRAIN_COMPETITION,\n COLONIZATION_FACILITATION\
+ \ (or state \"OTHER: \" if none fit).\n- **scope** — PAIRWISE (organism→organism) or COMMUNITY_LEVEL\
+ \ (emergent /\n abiotically driven, e.g. electrolysis-supplied H2). PAIRWISE **must** name a\n source\
+ \ taxon.\n- **source_taxon → target_taxon** — the directed pair (who acts on whom). Give\n NCBITaxon\
+ \ CURIEs + labels where resolvable.\n- **metabolites / biological_processes** — the exchanged compound(s)\
+ \ (CHEBI) and\n process(es) (GO) that mediate the interaction.\n- **direction / sign** — does the source\
+ \ **increase (+)** or **decrease (−)** the\n target's growth/activity? State it explicitly.\n- **evidence**\
+ \ — a short **verbatim** snippet + its reference (PMID/DOI).\n\n### 2. Causal edges (the arcs)\n\nThis\
+ \ is the graph structure. For every ordered pair of nodes where the\nliterature supports a causal link,\
+ \ report a row:\n\n- **from** — upstream interaction name (a node from §1).\n- **to** — downstream interaction\
+ \ name (a node from §1).\n- **causal link** — one sentence: *how* the upstream interaction causes /\n\
+ \ enables / is required for / suppresses the downstream one (e.g. \"H2 produced\n by the syntrophic\
+ \ oxidation lowers pH2 enough for the acetogen to grow, which\n in turn supplies acetate to the methanogen\"\
+ ).\n- **evidence** — verbatim snippet + reference for the causal claim specifically\n (not just for\
+ \ the two endpoints existing).\n\nPrefer chains that a paper demonstrates by perturbation (knockout,\
+ \ substrate\nremoval, inhibitor, co-culture vs mono-culture), and say which experiment shows\neach edge.\
+ \ Flag any edge that is hypothesized rather than demonstrated.\n\n### 3. Grounding\n\n- CURIEs where\
+ \ available: NCBITaxon (taxa), CHEBI (metabolites), GO (processes),\n ENVO (environment), PMID / DOI\
+ \ (evidence).\n- Do not invent taxa, ontology ids, snippets, accession ids, or citations. If a\n node\
+ \ or edge lacks a citable source, omit it or mark it UNVERIFIED.\n\n## Output Format\n\nReturn a curation-focused\
+ \ report with:\n\n1. **Scope summary** — the consortium and the top-level function the causal graph\n\
+ \ explains (1–3 sentences).\n2. **Node table** — the interaction nodes (§1 columns).\n3. **Edge table**\
+ \ — the directed causal edges (§2 columns: from, to, causal\n link, evidence).\n4. **Adjacency / DOT\
+ \ sketch** — a compact `from -> to` edge list (or Graphviz DOT\n snippet) so the graph can be eyeballed;\
+ \ annotate edges with + / − sign.\n5. **Gaps & controversies** — edges the literature disputes, or plausible\
+ \ edges\n with no direct evidence (candidates for a `Discussion`/knowledge-gap note).\n6. **References**\
+ \ — every PMID/DOI cited, once.\n\nEach biological claim (node and edge) must carry a verbatim snippet\
+ \ and a\nreference. This report is reviewed by a curator before anything is written to\n`kb/communities/`.\n"
+submitted_at: '2026-10-06T19:21:28.556495+00:00'
+status: dry-run
+query_sha256: 8b2c44ecfe4d09661ff2942ada98db2eac871d9262df75f977ef9629c176e788
diff --git a/tests/test_causal_review_batch59.py b/tests/test_causal_review_batch59.py
new file mode 100644
index 000000000..e8c782636
--- /dev/null
+++ b/tests/test_causal_review_batch59.py
@@ -0,0 +1,144 @@
+"""Pin kefir assay limits and the unresolved empty dairy-panel graph."""
+
+import hashlib
+from pathlib import Path
+
+import yaml
+
+ROOT = Path(__file__).resolve().parents[1]
+LEDGER = ROOT / "reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml"
+KEFIR = "Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture"
+DAIRY = "Dairy_Wastewater_Algal_Cyanobacterial_Cultivation_Panel"
+
+
+def records():
+ ledger = yaml.safe_load(LEDGER.read_text())
+ rows = {Path(r["path"]).stem: r for r in ledger["records"]}
+ docs = {name: yaml.safe_load((ROOT / r["path"]).read_text()) for name, r in rows.items()}
+ return ledger, rows, docs
+
+
+def test_kefir_removes_only_procedure_nodes_without_restoring_workflow_arrows():
+ _, rows, docs = records()
+ row, doc = rows[KEFIR], docs[KEFIR]
+ assert len(doc["ecological_interactions"]) == 4
+ assert {n["node"] for n in row["removed_node_decisions"]} == {
+ "Dominant Kefir Genera Prioritization",
+ "SLAM023B-SLAM005Y Coculture Genome Sequencing",
+ }
+ assert not row["edges_before"] and not row["edges_after"]
+ assert all("downstream" not in n for n in doc["ecological_interactions"])
+ assert "Removed five downstream edges" in doc["curation_history"][0]["changes"]
+
+
+def test_kefir_canonical_strains_are_explicit_on_each_retained_node():
+ _, _, docs = records()
+ doc = docs[KEFIR]
+ assert [t["taxon_term"]["term"]["id"] for t in doc["taxonomy"]] == [
+ "NCBITaxon:33962",
+ "NCBITaxon:4911",
+ ]
+ for node in doc["ecological_interactions"]:
+ assert node["scope"] == "COMMUNITY_LEVEL"
+ assert "source_taxon" not in node and "interaction_type" not in node
+ assert [t["preferred_term"] for t in node["participating_taxa"]] == [
+ "Lentilactobacillus kefiri SLAM023B",
+ "Kluyveromyces marxianus SLAM005Y",
+ ]
+
+
+def test_kefir_preserves_capacity_and_profiles_without_asserting_transfer():
+ _, _, docs = records()
+ potential, profiles, _, exchange = docs[KEFIR]["ecological_interactions"]
+ assert all(e["evidence_source"] == "COMPUTATIONAL" for e in potential["evidence"])
+ assert "not measured expression" in potential["description"]
+ assert "do not establish transfer" in profiles["description"]
+ assert exchange["description"].startswith("HYPOTHESIZED - ")
+ assert exchange["evidence"][0]["supports"] == "PARTIAL"
+ assert "necessary mediation" in exchange["description"]
+
+
+def test_kefir_compound_specific_null_effect_does_not_erase_positive_responses():
+ _, _, docs = records()
+ doc = docs[KEFIR]
+ response = doc["ecological_interactions"][2]
+ text = response["description"]
+ assert "increased viable counts" in text
+ assert "interactions for selected fatty-acid/aldehyde endpoints" in text
+ assert "but not for five yeast-associated volatiles" in text
+ assert "normalized GC-MS peak areas" in text
+ assert "Discussion comparator conflict" in text
+ assert "not sensory-panel scores" in text
+ assert "modest acidification" in text
+ gap = doc["discussions"][-1]["rationale"]
+ for compound in [
+ "ethyl acetate",
+ "isobutanol",
+ "isoamyl alcohol",
+ "isoamyl acetate",
+ "ethyl octanoate",
+ ]:
+ assert compound in gap
+ assert "#1536" in gap
+
+
+def test_dairy_empty_graph_is_research_work_not_certified_absence():
+ ledger, rows, docs = records()
+ row, doc = rows[DAIRY], docs[DAIRY]
+ assert row["status"] == "needs_research"
+ assert doc["ecological_interactions"] == []
+ assert not row["node_decisions"] and not row["edges_before"] and not row["edges_after"]
+ assert ledger["unresolved_research_issues"] == [1537]
+ gap = doc["discussions"][-1]
+ assert gap["status"] == "OPEN"
+ assert gap["attaches_to"] == ["ecological_interactions", "taxonomy"]
+ assert "not all four phototrophs in one bottle" in gap["rationale"]
+ assert "FAPROTAX-predicted" in gap["rationale"]
+ assert "not evidence that interactions are absent" in gap["rationale"]
+ assert "only its abstract/highlights were reviewed" in gap["rationale"]
+
+
+def test_dairy_edison_artifact_is_only_an_unpaid_single_community_dry_run():
+ ledger, _, _ = records()
+ receipt = ledger["edison_dry_run"]
+ path = ROOT / receipt["path"]
+ assert hashlib.sha256(path.read_bytes()).hexdigest() == receipt["sha256"]
+ meta = yaml.safe_load(path.read_text())
+ assert meta["community_id"] == "CommunityMech:000384"
+ assert meta["status"] == "dry-run" and meta["job"] == "LITERATURE"
+ assert meta["query_chars"] == len(meta["query"]) == 10945
+ assert hashlib.sha256(meta["query"].encode()).hexdigest() == receipt["query_sha256"]
+ assert receipt["provider_submissions"] == receipt["credits_spent"] == 0
+
+
+def test_kefir_cache_preserves_original_prefix_and_labels_indexed_excerpt_scope():
+ ledger, _, _ = records()
+ update = ledger["reference_cache_update"]
+ raw = (ROOT / update["path"]).read_bytes()
+ prefix, appendix = raw.split(b"\n\n## Verified primary body excerpts", 1)
+ assert hashlib.sha256(prefix).hexdigest() == update["original_sha256"]
+ assert hashlib.sha256(raw).hexdigest() == update["updated_sha256"]
+ assert sum(len(q.split()) for q in update["verified_excerpts"]) == 21
+ assert all(q.encode() in appendix for q in update["verified_excerpts"])
+ assert b"not a complete full-text cache" in appendix
+ assert b"direct publisher access returned403" in appendix
+ assert b"No access-control bypass" in appendix
+
+
+def test_batch59_records_have_complete_decisions_and_exact_open_anchors():
+ ledger, rows, docs = records()
+ assert ledger["independent_approval"] is False
+ assert ledger["issues"] == [1535]
+ assert ledger["unresolved_non_graph_issues"] == [1536]
+ assert ledger["issue_deduplication"]["ignored_hidden_local_search"] is True
+ assert rows[KEFIR]["status"] == "reviewed"
+ for name, row in rows.items():
+ doc = docs[name]
+ assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"]
+ assert doc["curation_history"][-1]["llm_assisted"] is True
+ assert len(row["history_files"]) == 1
+ assert row["source_review"]["cache_provenance_certified"] is False
+ names = {n["name"] for n in docs[KEFIR]["ecological_interactions"]}
+ assert {r["node"] for r in rows[KEFIR]["node_decisions"]} == names
+ assert {a.split("#", 1)[1] for a in docs[KEFIR]["discussions"][-1]["attaches_to"]} == names
+ assert docs[KEFIR]["discussions"][-1]["status"] == "OPEN"
diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py
index 7b92d8940..b368e2d52 100644
--- a/tests/test_participating_taxa.py
+++ b/tests/test_participating_taxa.py
@@ -304,6 +304,7 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example):
"KBase_Models_for_Zahmeeth_Original_PLOS.yaml",
"KBase_ORT_Workflow_Community_Model.yaml",
"KBase_Synthetic_Bacterial_Community_R2A.yaml",
+ "Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml",
"Legume_Rhizobia_Mars_Simulant_Symbiosis.yaml",
"Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml",
"MSC1_Dominant_Core.yaml",