From 40055a1198cab10ef0c848d1588f56de2624902f Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Tue, 6 Oct 2026 02:17:53 -0700 Subject: [PATCH] Qualify polymer, groundwater and microalgal causal mechanisms --- ..._Y2_Polyethylene_Degrading_Consortium.html | 127 ++- ...iotic_CPR_DPANN_Groundwater_Community.html | 289 ++++--- ...ella_Microalgal_Biorefinery_Coculture.html | 152 ++-- .../2026-10-06T090852Z-codex-d2e3d0.yaml | 28 + .../2026-10-06T090852Z-codex-64a1b6.yaml | 30 + .../2026-10-06T090853Z-codex-5f6b10.yaml | 29 + ..._Y2_Polyethylene_Degrading_Consortium.yaml | 118 +-- ...iotic_CPR_DPANN_Groundwater_Community.yaml | 260 +++--- ...ella_Microalgal_Biorefinery_Coculture.yaml | 145 ++-- .../adversarial-review-20261006-batch38.yaml | 155 ++++ .../20261006-three-records-batch38.yaml | 264 ++++++ reports/causal_graph_review/inventory.tsv | 6 +- reports/causal_graph_review/summary.json | 6 +- .../validation-20261006-batch38.json | 750 ++++++++++++++++++ tests/test_causal_review_batch38.py | 187 +++++ 15 files changed, 2005 insertions(+), 541 deletions(-) create mode 100644 history/records/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium/2026-10-06T090852Z-codex-d2e3d0.yaml create mode 100644 history/records/Episymbiotic_CPR_DPANN_Groundwater_Community/2026-10-06T090852Z-codex-64a1b6.yaml create mode 100644 history/records/Euglena_Chlorella_Microalgal_Biorefinery_Coculture/2026-10-06T090853Z-codex-5f6b10.yaml create mode 100644 reports/causal_graph_review/adversarial-review-20261006-batch38.yaml create mode 100644 reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml create mode 100644 reports/causal_graph_review/validation-20261006-batch38.json create mode 100644 tests/test_causal_review_batch38.py diff --git a/docs/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.html b/docs/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.html index a83507095..dc7a7e32a 100644 --- a/docs/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.html +++ b/docs/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.html @@ -560,7 +560,7 @@

Ecological Interactions

Ecological interaction network for Ensifer YF2 + Sphingobacterium Y2 Polyethylene-degrading Consortium - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding, mutualism). + 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.
@@ -568,13 +568,8 @@

Ecological Interactions

Cross-feeding -
-
- Mutualism + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -583,9 +578,8 @@

Ecological Interactions

Metabolic division of labor in polyethylene degradation

- CROSS_FEEDING
-

Complementary enzymatic repertoire drives synergistic PE degradation. Ensifer YF2, the primary degrader, performs backbone cleavage via oxidases (LadA, AlkB, CYP450); Sphingobacterium Y2, enriched in esterases and lipases, metabolizes the resulting intermediates through cross-feeding.

+

HYPOTHESIZED - genomic oxidase annotations in Ensifer YF2 and esterase/lipase annotations in Sphingobacterium Y2 motivate a model in which YF2 supplies polymer-derived intermediates to Y2. The directed pair represents that conceptual model, not measured donor export, identified exchanged compounds, recipient uptake or selectively established enzyme activity on polyethylene.

Source Taxon: Ensifer sp. YF2

@@ -598,17 +592,6 @@

Metabolic division of labor in polyethylene degradation

-

Biological Processes:

- -
@@ -616,7 +599,7 @@

Metabolic division of labor in polyethylene degradation

→ Synergistic enhancement of PE degradation in the dual-strain consortium -

Ensifer backbone cleavage and Sphingobacterium intermediate metabolism combine into the YF2/Y2 dual consortium's enhanced PE degradation phenotype.

+

HYPOTHESIZED - complementary transformation capacities could contribute to the stronger YF2/Y2 consortium phenotype. Genomic annotation and the coculture comparison do not isolate cross-feeding as the cause of that improvement.

@@ -632,7 +615,7 @@

Evidence

PMID:41996795 - - SUPPORT (IN_VITRO) + - PARTIAL (COMPUTATIONAL)
"YF2, encoding key oxidases (LadA, AlkB, CYP450), served as the primary degrader for backbone cleavage, while Y2, enriched with esterases and lipases, facilitated intermediate metabolism through cross-feeding."
@@ -646,43 +629,25 @@

Evidence

Synergistic enhancement of PE degradation in the dual-strain consortium

- MUTUALISM
-

Co-culture of Ensifer YF2 and Sphingobacterium Y2 degraded polyethylene more efficiently than either strain alone or the full three-strain combination, indicating emergent synergy from functional compatibility rather than taxonomic richness.

+

The abstract reports greater polyethylene degradation by the YF2/Y2 pair than by either isolate or the screened three-strain mixture including MF1. This is a consortium-output comparison, not demonstrated reciprocal fitness benefit, an identified exchanged metabolite or a formal additive-synergy test. MF1 is a comparator, not a member of this curated pair.

-

Source Taxon: Ensifer sp. YF2

- - - -

Target Taxon: Sphingobacterium sp. Y2

- +

Participating Taxa: + Ensifer sp. YF2, -

Biological Processes:

- -
- Downstream Effects: -
- → Polyethylene Oxidation and Surface Erosion -

The enhanced dual-strain consortium grows with PE as the sole carbon source and induces oxidative and physical damage to the polymer.

-
-
@@ -709,9 +674,8 @@

Evidence

Polyethylene Oxidation and Surface Erosion

- CROSS_FEEDING
-

The Ensifer YF2 and Sphingobacterium Y2 consortium utilizes polyethylene as sole carbon source while oxidizing and eroding the polymer surface.

+

The tested two-member consortium was reported to use polyethylene as the sole carbon source and to induce polymer oxidation and surface erosion. These physical and chemical endpoints do not by themselves establish complete mineralization, a measured interstrain carbon flux or a separate downstream consequence of the performance summary.

@@ -728,17 +692,6 @@

Polyethylene Oxidation and Surface Erosion

-

Biological Processes:

- - @@ -768,6 +721,25 @@

Evidence

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which exchanged compounds and enzymes account for the YF2/Y2 polymer phenotype? +

+

Retain the existing conceptual donor/recipient model and only a HYPOTHESIZED contribution to comparative performance. Remove the performance-to-surface-endpoint part/whole arrow. The available primary abstract does not expose isotope tracing, enzyme perturbations or species-resolved fitness. Preserve the exact pair and AMBIGUOUS Ensifer grounding; do not reintroduce the screened MF1 member. The publisher labels the article open access, but full-body retrieval failed in this session; this is not evidence of a paywall. Non-graph role and access/protocol claims remain #1441. No new causal structure is needed to repair the existing claims.

+ +

Attaches to: ecological_interactions#Metabolic division of labor in polyethylene degradation, ecological_interactions#Synergistic enhancement of PE degradation in the dual-strain consortium, ecological_interactions#Polyethylene Oxidation and Surface Erosion

+ + + + +
+ +
@@ -914,15 +886,11 @@

Evidence

(function() { var intId = "interaction:0"; - var intType = "CROSS_FEEDING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("alkane catabolic process"); - - var evidenceCount = 1; nodes.push({ @@ -952,15 +920,11 @@

Evidence

(function() { var intId = "interaction:1"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("alkane catabolic process"); - - var evidenceCount = 1; nodes.push({ @@ -974,31 +938,30 @@

Evidence

}); - var srcKey = "Ensifer sp. YF2"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ - var tgtKey = "Sphingobacterium sp. Y2"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } + "Ensifer sp. YF2", + + "Sphingobacterium sp. Y2" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); (function() { var intId = "interaction:2"; - var intType = "CROSS_FEEDING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("alkane catabolic process"); - - var evidenceCount = 1; nodes.push({ diff --git a/docs/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.html b/docs/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.html index b3e130d5e..6ede54bfb 100644 --- a/docs/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.html +++ b/docs/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.html @@ -612,7 +612,7 @@

Ecological Interactions

Ecological interaction network for Episymbiotic CPR Bacteria and DPANN Archaea Groundwater Community - 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 (commensalism, niche partitioning, colonization facilitation). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
@@ -620,18 +620,8 @@

Ecological Interactions

Commensalism -
-
- Niche partitioning -
-
- Colonization facilitation + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -640,28 +630,25 @@

Ecological Interactions

Groundwater CPR/DPANN-Host Coexistence

- COLONIZATION_FACILITATION
-

Genome-resolved metagenomics of eight Northern California groundwater communities recovered 746 CPR and DPANN genomes from small-celled symbionts that coexist with diverse host organisms in the aquifers. -

+

Genome-resolved surveys recovered 746 CPR and DPANN genomes across eight Northern California groundwater sites. This framework pools distinct environmental communities, not one defined three-member culture. The canonical participants are broad lineage/host categories; genome recovery and coexistence do not establish colonization facilitation or every possible host association.

+

Participating Taxa: + groundwater CPR (Candidate Phyla Radiation) bacteria, + groundwater DPANN archaea, + + groundwater CPR/DPANN host bacteria and archaea + +

-

Biological Processes:

- @@ -676,7 +663,7 @@

Evidence

PMID:33495623 - - SUPPORT (IN_VIVO) + - SUPPORT (COMPUTATIONAL)
"recovered 746 CPR and DPANN genomes in total"
@@ -689,7 +676,7 @@

Evidence

PMID:33495623 - - SUPPORT (IN_VIVO) + - SUPPORT (COMPUTATIONAL)
"site-specific diversity of CPR bacteria and DPANN archaea that coexist with diverse hosts in groundwater aquifers"
@@ -703,28 +690,25 @@

Evidence

Site-Specific CPR/DPANN Differentiation

- NICHE_PARTITIONING
-

Little species-level overlap among metagenome-assembled genomes across groundwater sites indicated that CPR and DPANN communities were differentiated by local physicochemical conditions and host populations. -

+

Most site pairs had little species-level genome overlap. Hydrogeochemistry, host composition, dispersal history, founder effects and sampling can contribute to this pattern; the comparison does not selectively demonstrate physiological niche partitioning or a universal interspecies mechanism.

+

Participating Taxa: + groundwater CPR (Candidate Phyla Radiation) bacteria, + groundwater DPANN archaea, + + groundwater CPR/DPANN host bacteria and archaea + +

-

Biological Processes:

- @@ -739,7 +723,7 @@

Evidence

PMID:33495623 - - SUPPORT (IN_VIVO) + - SUPPORT (COMPUTATIONAL)
"little species-level overlap of metagenome-assembled genomes (MAGs) across the groundwater sites"
@@ -753,34 +737,25 @@

Evidence

Size-Fraction CPR/DPANN Host-Attachment Signal

- COLONIZATION_FACILITATION
-

CPR and DPANN genomes detected in larger groundwater-cell size fractions provided genomic evidence that many ultrasmall CPR/DPANN cells remained physically attached to larger host cells during filtration. -

+

Larger size fractions contained CPR/DPANN genome signals consistent with some ultrasmall cells retaining host attachment. This is a size-fraction proxy, not direct taxonomic identification of cell pairs. Estimated cell counts used DNA yield and genome-size corrections, not direct cell counting; attachment disruption and other size-associated effects limit the interpretation.

+

Participating Taxa: + + groundwater CPR (Candidate Phyla Radiation) bacteria, + groundwater DPANN archaea, + groundwater CPR/DPANN host bacteria and archaea +

-

Biological Processes:

- @@ -795,7 +770,7 @@

Evidence

PMID:33495623 - - SUPPORT (IN_VIVO) + - PARTIAL (COMPUTATIONAL)
"indicate that a fair number of CPR/DPANN cells retain host attachment throughout the filtration process"
@@ -809,14 +784,22 @@

Evidence

CPR/DPANN Episymbiotic Attachment to Hosts

- COLONIZATION_FACILITATION
-

Cryogenic transmission electron microscopy and genomic analyses identified ultrasmall CPR and DPANN lineages that reproducibly attach to prokaryotic host-cell surfaces through pili-like structures. -

+

The authors report cryo-TEM observations of ultrasmall cells attached to larger cells in concentrated Ag groundwater, with pili-like appendages at some interfaces. Their assignment to CPR or DPANN is inferred from size and community context, not a resolved taxonomic identity for each imaged pair. These observations do not establish a necessary attachment protein, transferred resource or host fitness effect.

+

Participating Taxa: + + groundwater CPR (Candidate Phyla Radiation) bacteria, + + groundwater DPANN archaea, + + groundwater CPR/DPANN host bacteria and archaea + +

+ @@ -830,12 +813,6 @@

CPR/DPANN Episymbiotic Attachment to Hosts

class="term-link" target="_blank" rel="noopener noreferrer">GO:0007155) -
  • - biological process involved in interspecies interaction between organisms - (GO:0044419) -
  • - @@ -845,8 +822,7 @@

    CPR/DPANN Episymbiotic Attachment to Hosts

    → Host-Attached CPR Replication Stimulation -

    Host-cell surface attachment is inferred to stimulate CPR bacterial replication because attached CPR cells in larger size fractions showed higher instantaneous replication rates than unattached CPR cells from the same groundwater community. -

    +

    HYPOTHESIZED - access to host-associated resources could stimulate CPR replication. Attached-cell images and higher CPR iRep in larger fractions support this interpretation, but attachment was not selectively perturbed and the putative resource transfer was not measured. The replication comparison does not include DPANN archaea.

    @@ -862,7 +838,7 @@

    Evidence

    PMID:33495623 - - SUPPORT (IN_VIVO) + - PARTIAL (IN_VIVO)
    "CPR and DPANN lineages that reproducibly attach to host cells"
    @@ -882,6 +858,19 @@

    Evidence

    +
  • +
    + + PMID:33495623 + + - PARTIAL (IN_VIVO) +
    + +
    "likely to be CPR or DPANN organisms"
    + +
  • + @@ -889,10 +878,8 @@

    Evidence

    Host-Attached CPR Replication Stimulation

    - COMMENSALISM
    -

    Higher instantaneous replication rates in larger size fractions indicated that CPR bacteria attached to host-cell surfaces replicated faster than unattached CPR bacteria from the same groundwater community. -

    +

    At three of four size-fraction sampling points in Ag groundwater, CPR populations had significantly higher iRep in the 0.65-2.5 micrometer fraction than in the 0.1-0.2 micrometer fraction. iRep is average genome-replication state, not a single-cell growth rate or doubling time. Archaea were excluded from this analysis. An association with probable attachment does not establish causation or commensalism because host fitness was not measured.

    @@ -909,23 +896,6 @@

    Host-Attached CPR Replication Stimulation

    -

    Biological Processes:

    - - @@ -939,7 +909,7 @@

    Evidence

    PMID:33495623 - - SUPPORT (IN_VIVO) + - PARTIAL (COMPUTATIONAL)
    "host-attached CPR bacteria consistently exhibit a higher replication rate than non-host-attached CPR bacteria"
    @@ -952,13 +922,39 @@

    Evidence

    PMID:33495623 - - SUPPORT (IN_VIVO) + - PARTIAL (COMPUTATIONAL)
    "the growth of CPR bacteria seems to be stimulated by attachment to host-cell surfaces"
    +
  • +
    + + PMID:33495623 + + - SUPPORT (COMPUTATIONAL) +
    + +
    "archaeal genomes were excluded"
    + +
  • + +
  • +
    + + PMID:33495623 + + - SUPPORT (COMPUTATIONAL) +
    + +
    "average replication state of the cell population"
    + +
  • + @@ -968,6 +964,25 @@

    Evidence

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + Which hosts, resources and attachment mechanisms explain the CPR replication association? +

    +

    The only arrow remains HYPOTHESIZED. Size fractions are imperfect proxies, imaged ultrasmall-cell taxonomy is inferred, and iRep describes CPR population replication state; DPANN archaea were excluded. Host fitness and transferred resources were not measured, so commensalism and syntrophic flux are not established. Preserve the three workflow-edge removals in the 2026-10-02 history. The eight-site framework is not a single reconstructed community. PMID:32252814 concerns separate Oak Ridge groundwater rather than the same California sites; non-graph provenance and role claims remain #1442. No new partner-specific structure is supported by these observations alone.

    + +

    Attaches to: ecological_interactions#Groundwater CPR/DPANN-Host Coexistence, ecological_interactions#Site-Specific CPR/DPANN Differentiation, ecological_interactions#Size-Fraction CPR/DPANN Host-Attachment Signal, ecological_interactions#CPR/DPANN Episymbiotic Attachment to Hosts, ecological_interactions#Host-Attached CPR Replication Stimulation

    + + + + +
    + +
    @@ -1184,15 +1199,11 @@

    Environmental Factors

    (function() { var intId = "interaction:0"; - var intType = "COLONIZATION_FACILITATION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("biological process involved in interspecies interaction between organisms"); - - var evidenceCount = 2; nodes.push({ @@ -1208,19 +1219,30 @@

    Environmental Factors

    + var participantKeys = [ + + "groundwater CPR (Candidate Phyla Radiation) bacteria", + + "groundwater DPANN archaea", + + "groundwater CPR/DPANN host bacteria and archaea" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { var intId = "interaction:1"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("biological process involved in interspecies interaction between organisms"); - - var evidenceCount = 1; nodes.push({ @@ -1236,21 +1258,30 @@

    Environmental Factors

    + var participantKeys = [ + + "groundwater CPR (Candidate Phyla Radiation) bacteria", + + "groundwater DPANN archaea", + + "groundwater CPR/DPANN host bacteria and archaea" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { var intId = "interaction:2"; - var intType = "COLONIZATION_FACILITATION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("cell adhesion"); - - processes.push("biological process involved in interspecies interaction between organisms"); - - var evidenceCount = 1; nodes.push({ @@ -1266,11 +1297,26 @@

    Environmental Factors

    + var participantKeys = [ + + "groundwater CPR (Candidate Phyla Radiation) bacteria", + + "groundwater DPANN archaea", + + "groundwater CPR/DPANN host bacteria and archaea" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { var intId = "interaction:3"; - var intType = "COLONIZATION_FACILITATION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1278,10 +1324,8 @@

    Environmental Factors

    processes.push("cell adhesion"); - processes.push("biological process involved in interspecies interaction between organisms"); - - var evidenceCount = 2; + var evidenceCount = 3; nodes.push({ id: intId, @@ -1296,22 +1340,31 @@

    Environmental Factors

    + var participantKeys = [ + + "groundwater CPR (Candidate Phyla Radiation) bacteria", + + "groundwater DPANN archaea", + + "groundwater CPR/DPANN host bacteria and archaea" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { var intId = "interaction:4"; - var intType = "COMMENSALISM"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("growth"); - - processes.push("biological process involved in interspecies interaction between organisms"); - - - var evidenceCount = 2; + var evidenceCount = 4; nodes.push({ id: intId, diff --git a/docs/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.html b/docs/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.html index 90b7118c4..d9c1388d5 100644 --- a/docs/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.html +++ b/docs/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.html @@ -581,7 +581,7 @@

    Ecological Interactions

    Ecological interaction network for Euglena-Chlorella Microalgal Biorefinery 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 (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.
    @@ -589,13 +589,8 @@

    Ecological Interactions

    Mutualism -
    -
    - Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
    @@ -604,29 +599,15 @@

    Ecological Interactions

    Euglena Light Harvesting and Antioxidative Secretion

    - NICHE_PARTITIONING
    -

    Euglena gracilis contributed the light-harvesting and antioxidative metabolite-secretion side of the optimized coculture's metabolic division of labor, supplying photosynthetic and antioxidant functions that complemented Chlorella pyrenoidosa carbon fixation and lipid-metabolite release. -

    - - +

    PARTIAL - the abstract assigns enhanced light harvesting and an antioxidative secretion profile to Euglena gracilis from multi-omics. This is an organism-associated profile, not by itself niche partitioning or evidence that alpha-tocopherol was exported by this member and taken up by its partner. The underlying assays and organism-specific flux resolution were not accessed.

    -

    Participating Taxa: - - Euglena gracilis - -

    - +

    Source Taxon: Euglena gracilis

    -

    Metabolites: - alpha-tocopherol - (CHEBI:22470) -

    @@ -643,16 +624,6 @@

    Euglena Light Harvesting and Antioxidative Secretion

    -
    - Downstream Effects: - -
    - → Complementary Microalgal Metabolic Division of Labor -

    Euglena light harvesting and antioxidative secretion form one side of the coculture division of labor

    -
    - -
    -

    Evidence

    @@ -664,7 +635,7 @@

    Evidence

    PMID:42248260 - - SUPPORT (IN_VITRO) + - PARTIAL (COMPUTATIONAL)
    "EG primarily enhanced light-harvesting capacity and antioxidative metabolite secretion"
    @@ -678,19 +649,13 @@

    Evidence

    Chlorella Electron Transport and Lipid Metabolite Release

    - NICHE_PARTITIONING
    -

    Chlorella pyrenoidosa contributed increased electron-transport activity, enhanced carbon fixation, and lipid-associated metabolite release, supplying the carbon-assimilation and lipid-production functions that complemented E. gracilis light harvesting and antioxidative metabolite secretion. -

    - +

    PARTIAL - the abstract assigns enhanced electron transport, carbon-fixation capacity and lipid-associated metabolite release to the Chlorella member. This profile does not establish which compounds were transferred to Euglena or whether either member is required for the other's growth. Publication naming is retained alongside the canonical Auxenochlorella pyrenoidosa taxon label.

    +

    Source Taxon: Chlorella pyrenoidosa

    -

    Participating Taxa: - - Chlorella pyrenoidosa -

    @@ -723,16 +688,6 @@

    Chlorella Electron Transport and Lipid Metabolite Release

    -
    - Downstream Effects: - -
    - → Complementary Microalgal Metabolic Division of Labor -

    Chlorella carbon fixation and lipid-associated metabolite release form the other side of the coculture division of labor

    -
    - -
    -

    Evidence

    @@ -744,7 +699,7 @@

    Evidence

    PMID:42248260 - - SUPPORT (IN_VITRO) + - PARTIAL (COMPUTATIONAL)
    "CP intensified electron transport activity, enhanced carbon fixation capacity, and released lipid-associated metabolites"
    @@ -758,10 +713,8 @@

    Evidence

    Complementary Microalgal Metabolic Division of Labor

    - NICHE_PARTITIONING
    -

    E. gracilis enhances light harvesting and antioxidative metabolite secretion, while C. pyrenoidosa enhances electron transport, carbon fixation, and release of lipid-associated metabolites. -

    +

    HYPOTHESIZED - the two reported functional profiles suggest complementary metabolism in the optimized coculture. This summary is not a separate experimental effect caused by listing its components, nor proof of resource partitioning, identified donor/recipient exchange or necessary biochemical cooperation.

    @@ -778,17 +731,6 @@

    Complementary Microalgal Metabolic Division of Labor

    -

    Biological Processes:

    - -
    @@ -796,8 +738,7 @@

    Complementary Microalgal Metabolic Division of Labor

    → Synergistic Biorefinery Production -

    Complementary light-harvesting, antioxidative secretion, electron transport, carbon-fixation, and lipid-metabolite roles jointly drive the coculture biomass, lipid, and alpha-tocopherol production gains. -

    +

    HYPOTHESIZED - complementary photosynthetic and metabolic capacities could contribute to the aggregate production gains. The abstract links profiles and output, but does not resolve their selective mediation or demonstrate reciprocal species fitness.

    @@ -813,7 +754,7 @@

    Evidence

    PMID:42248260 - - SUPPORT (IN_VITRO) + - PARTIAL (COMPUTATIONAL)
    "Multi-omics analysis revealed a clear metabolic division of labor"
    @@ -826,7 +767,7 @@

    Evidence

    PMID:42248260 - - SUPPORT (IN_VITRO) + - PARTIAL (COMPUTATIONAL)
    "collectively driving process intensification in terms of biomass and lipid productivity"
    @@ -840,10 +781,8 @@

    Evidence

    Synergistic Biorefinery Production

    - MUTUALISM
    -

    The coculture increased biomass, lipid productivity, and alpha-tocopherol yield relative to monocultures and shortened the logarithmic growth phase. -

    +

    The optimized 3:7 coculture in TAP medium showed higher total biomass, lipid productivity and alpha-tocopherol output than the monocultures, with a shorter reported logarithmic phase. These aggregate endpoints do not establish that both species benefit. Separate exogenous alpha-lipoic acid supplementation further improved output; it is not proof of endogenous cross-feeding or the same baseline condition.

    @@ -910,6 +849,25 @@

    Evidence

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + Which organism-specific transfers or physiological changes mediate the aggregate coculture outputs? +

    +

    Remove the two profile-to-summary part/whole arrows; retain the complementarity-to-output arrow only as HYPOTHESIZED. Represent single-organism profiles as intrinsic source-only nodes, not self-edges. No alpha-tocopherol donor is assigned from the broad antioxidative profile. Total production does not demonstrate reciprocal fitness, and exogenous alpha-lipoic acid is not evidence of endogenous exchange. Primary abstract only: underlying Methods/Results and supplements were not acquired. Preserve NCBITaxon:3078 with its canonical Auxenochlorella label and the publication preferred name. Non-graph omics and protocol details remain #1443; no new microbial mechanism is inferred from the supplementation treatment.

    + +

    Attaches to: ecological_interactions#Euglena Light Harvesting and Antioxidative Secretion, ecological_interactions#Chlorella Electron Transport and Lipid Metabolite Release, ecological_interactions#Complementary Microalgal Metabolic Division of Labor, ecological_interactions#Synergistic Biorefinery Production

    + + + + +
    + +
    @@ -1205,13 +1163,9 @@

    Evidence

    (function() { var intId = "interaction:0"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; - - metabolites.push("alpha-tocopherol"); - - var processes = []; @@ -1231,24 +1185,18 @@

    Evidence

    }); + var srcKey = "Euglena gracilis"; + if (taxonNodeIds[srcKey]) { + links.push({ source: taxonNodeIds[srcKey], target: intId }); + } - var participantKeys = [ - - "Euglena gracilis" - - ]; - participantKeys.forEach(function(key) { - if (taxonNodeIds[key]) { - links.push({ source: taxonNodeIds[key], target: intId }); - } - }); })(); (function() { var intId = "interaction:1"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1276,32 +1224,22 @@

    Evidence

    }); + var srcKey = "Chlorella pyrenoidosa"; + if (taxonNodeIds[srcKey]) { + links.push({ source: taxonNodeIds[srcKey], target: intId }); + } - var participantKeys = [ - - "Chlorella pyrenoidosa" - - ]; - participantKeys.forEach(function(key) { - if (taxonNodeIds[key]) { - links.push({ source: taxonNodeIds[key], target: intId }); - } - }); })(); (function() { var intId = "interaction:2"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("carbon fixation"); - - var evidenceCount = 2; nodes.push({ @@ -1334,7 +1272,7 @@

    Evidence

    (function() { var intId = "interaction:3"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; diff --git a/history/records/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium/2026-10-06T090852Z-codex-d2e3d0.yaml b/history/records/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium/2026-10-06T090852Z-codex-d2e3d0.yaml new file mode 100644 index 000000000..4958319c4 --- /dev/null +++ b/history/records/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium/2026-10-06T090852Z-codex-d2e3d0.yaml @@ -0,0 +1,28 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml + slug: Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium +session: + id: 2026-10-06T090852Z-codex-d2e3d0 + timestamp: '2026-10-06T09:08:52Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1438 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain the genomic donor/recipient hypothesis without categorical cross-feeding + or measured polymer-enzyme flux.; Retain two-member comparative output without mutualism + or a part/whole outcome arrow.; Retain polymer surface endpoints without complete mineralization + or interstrain flux claims. + details: Twelve existing nodes retained; three part/whole arrows removed and three mechanistic + hypotheses retained. No added nodes or arrows. reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml diff --git a/history/records/Episymbiotic_CPR_DPANN_Groundwater_Community/2026-10-06T090852Z-codex-64a1b6.yaml b/history/records/Episymbiotic_CPR_DPANN_Groundwater_Community/2026-10-06T090852Z-codex-64a1b6.yaml new file mode 100644 index 000000000..5ebd2f84f --- /dev/null +++ b/history/records/Episymbiotic_CPR_DPANN_Groundwater_Community/2026-10-06T090852Z-codex-64a1b6.yaml @@ -0,0 +1,30 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml + slug: Episymbiotic_CPR_DPANN_Groundwater_Community +session: + id: 2026-10-06T090852Z-codex-64a1b6 + timestamp: '2026-10-06T09:08:52Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1439 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain the eight-site genomic framework without colonization facilitation or a + defined-culture claim.; Retain site differences without a selectively established niche + mechanism.; Retain size-fraction attachment proxies with modeled count and identification + limits.; Retain reported physical attachment with uncertain cell identities and a hypothesized + CPR consequence.; Retain CPR-only population replication-state association without causal + or host-neutrality claims. + details: Twelve existing nodes retained; three part/whole arrows removed and three mechanistic + hypotheses retained. No added nodes or arrows. reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml diff --git a/history/records/Euglena_Chlorella_Microalgal_Biorefinery_Coculture/2026-10-06T090853Z-codex-5f6b10.yaml b/history/records/Euglena_Chlorella_Microalgal_Biorefinery_Coculture/2026-10-06T090853Z-codex-5f6b10.yaml new file mode 100644 index 000000000..8b0f56480 --- /dev/null +++ b/history/records/Euglena_Chlorella_Microalgal_Biorefinery_Coculture/2026-10-06T090853Z-codex-5f6b10.yaml @@ -0,0 +1,29 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml + slug: Euglena_Chlorella_Microalgal_Biorefinery_Coculture +session: + id: 2026-10-06T090853Z-codex-5f6b10 + timestamp: '2026-10-06T09:08:53Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1440 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain the Euglena-associated profile as intrinsic without a specific tocopherol + donor claim or summary arrow.; Retain the Chlorella-associated profile as intrinsic without + proven transfer or a summary arrow.; Retain proposed complementarity and only a hypothesized + contribution to aggregate output.; Retain total production gains without reciprocal organism + fitness or supplementation conflation. + details: Twelve existing nodes retained; three part/whole arrows removed and three mechanistic + hypotheses retained. No added nodes or arrows. reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml diff --git a/kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml b/kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml index 9a952ce88..0b69aeac0 100644 --- a/kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml +++ b/kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml @@ -72,11 +72,10 @@ taxonomy: explanation: Identifies Sphingobacterium sp. Y2 as an isolated consortium member. ecological_interactions: - name: Metabolic division of labor in polyethylene degradation - description: Complementary enzymatic repertoire drives synergistic PE degradation. Ensifer YF2, the - primary degrader, performs backbone cleavage via oxidases (LadA, AlkB, CYP450); Sphingobacterium - Y2, enriched in esterases and lipases, metabolizes the resulting intermediates through - cross-feeding. - interaction_type: CROSS_FEEDING + description: HYPOTHESIZED - genomic oxidase annotations in Ensifer YF2 and esterase/lipase annotations in Sphingobacterium + Y2 motivate a model in which YF2 supplies polymer-derived intermediates to Y2. The directed pair represents + that conceptual model, not measured donor export, identified exchanged compounds, recipient uptake or selectively + established enzyme activity on polyethylene. scope: PAIRWISE source_taxon: preferred_term: Ensifer sp. YF2 @@ -88,62 +87,48 @@ ecological_interactions: term: id: NCBITaxon:28453 label: Sphingobacterium - biological_processes: - - preferred_term: alkane catabolic process - term: - id: GO:0043448 - label: alkane catabolic process downstream: - target: Synergistic enhancement of PE degradation in the dual-strain consortium - description: Ensifer backbone cleavage and Sphingobacterium intermediate - metabolism combine into the YF2/Y2 dual consortium's enhanced PE - degradation phenotype. + description: HYPOTHESIZED - complementary transformation capacities could contribute to the stronger YF2/Y2 + consortium phenotype. Genomic annotation and the coculture comparison do not isolate cross-feeding as the + cause of that improvement. + evidence: + - reference: PMID:41996795 + supports: PARTIAL + evidence_source: COMPUTATIONAL + snippet: YF2, encoding key oxidases (LadA, AlkB, CYP450), served as the primary degrader for backbone cleavage, + while Y2, enriched with esterases and lipases, facilitated intermediate metabolism through cross-feeding. + explanation: The abstract assigns roles from genomic complementarity and presents a conceptual model; it does + not expose a direct exchange or enzyme-necessity experiment. +- name: Synergistic enhancement of PE degradation in the dual-strain consortium + description: The abstract reports greater polyethylene degradation by the YF2/Y2 pair than by either isolate or + the screened three-strain mixture including MF1. This is a consortium-output comparison, not demonstrated reciprocal + fitness benefit, an identified exchanged metabolite or a formal additive-synergy test. MF1 is a comparator, + not a member of this curated pair. + scope: COMMUNITY_LEVEL evidence: - reference: PMID:41996795 supports: SUPPORT evidence_source: IN_VITRO - snippet: YF2, encoding key oxidases (LadA, AlkB, CYP450), served as the primary degrader for - backbone cleavage, while Y2, enriched with esterases and lipases, facilitated intermediate - metabolism through cross-feeding. - explanation: Genomic evidence for YF2 backbone cleavage feeding intermediates to Y2. -- name: Synergistic enhancement of PE degradation in the dual-strain consortium - description: Co-culture of Ensifer YF2 and Sphingobacterium Y2 degraded polyethylene more - efficiently than either strain alone or the full three-strain combination, indicating emergent - synergy from functional compatibility rather than taxonomic richness. - interaction_type: MUTUALISM - scope: PAIRWISE - source_taxon: - preferred_term: Ensifer sp. YF2 + snippet: A dual-strain consortium (YF2 +Y2) demonstrated enhanced degradation compared to individual strains + and the three-strain combination, indicating that functional compatibility rather than taxonomic richness + drives consortium performance. + explanation: Supports the reported comparative consortium performance, not reciprocal organism fitness or a + selectively resolved mechanism. + participating_taxa: + - preferred_term: Ensifer sp. YF2 term: id: NCBITaxon:106591 label: Ensifer - target_taxon: - preferred_term: Sphingobacterium sp. Y2 + - preferred_term: Sphingobacterium sp. Y2 term: id: NCBITaxon:28453 label: Sphingobacterium - biological_processes: - - preferred_term: alkane catabolic process - term: - id: GO:0043448 - label: alkane catabolic process - downstream: - - target: Polyethylene Oxidation and Surface Erosion - description: The enhanced dual-strain consortium grows with PE as the sole - carbon source and induces oxidative and physical damage to the polymer. - evidence: - - reference: PMID:41996795 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: A dual-strain consortium (YF2 +Y2) demonstrated enhanced degradation compared to - individual strains and the three-strain combination, indicating that functional compatibility - rather than taxonomic richness drives consortium performance. - explanation: Measured emergent synergy of the YF2+Y2 co-culture over monocultures and the 3-strain mix. - name: Polyethylene Oxidation and Surface Erosion - description: The Ensifer YF2 and Sphingobacterium Y2 consortium utilizes - polyethylene as sole carbon source while oxidizing and eroding the polymer - surface. - interaction_type: CROSS_FEEDING + description: The tested two-member consortium was reported to use polyethylene as the sole carbon source and to + induce polymer oxidation and surface erosion. These physical and chemical endpoints do not by themselves establish + complete mineralization, a measured interstrain carbon flux or a separate downstream consequence of the performance + summary. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Ensifer sp. YF2 @@ -154,19 +139,13 @@ ecological_interactions: term: id: NCBITaxon:28453 label: Sphingobacterium - biological_processes: - - preferred_term: alkane catabolic process - term: - id: GO:0043448 - label: alkane catabolic process evidence: - reference: PMID:41996795 supports: SUPPORT evidence_source: IN_VITRO - snippet: The consortium utilized PE as the sole carbon source, inducing oxidative - modifications and physical erosion of the polymer surface. - explanation: Supports the terminal polyethylene degradation phenotype of the - effective YF2/Y2 consortium. + snippet: The consortium utilized PE as the sole carbon source, inducing oxidative modifications and physical + erosion of the polymer surface. + explanation: Supports the terminal polyethylene degradation phenotype of the effective YF2/Y2 consortium. growth_media: - name: polyethylene as sole carbon source (medium composition not specified in abstract) preparation_notes: Consortium cultivated with polyethylene (PE) provided as the sole carbon source; @@ -177,3 +156,28 @@ growth_media: evidence_source: IN_VITRO snippet: The consortium utilized PE as the sole carbon source, inducing oxidative modifications and physical erosion of the polymer surface. explanation: Source reports polyethylene as the sole carbon source of the cultivation; no further growth conditions are given in the accessible abstract. +discussions: +- discussion_id: yf2_y2_genomic_model_and_polymer_endpoints + prompt: Which exchanged compounds and enzymes account for the YF2/Y2 polymer phenotype? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Metabolic division of labor in polyethylene degradation + - ecological_interactions#Synergistic enhancement of PE degradation in the dual-strain consortium + - ecological_interactions#Polyethylene Oxidation and Surface Erosion + rationale: 'Retain the existing conceptual donor/recipient model and only a HYPOTHESIZED contribution to comparative + performance. Remove the performance-to-surface-endpoint part/whole arrow. The available primary abstract does + not expose isotope tracing, enzyme perturbations or species-resolved fitness. Preserve the exact pair and AMBIGUOUS + Ensifer grounding; do not reintroduce the screened MF1 member. The publisher labels the article open access, + but full-body retrieval failed in this session; this is not evidence of a paywall. Non-graph role and access/protocol + claims remain #1441. No new causal structure is needed to repair the existing claims.' + posed_by: codex + posed_date: '2026-10-06' +curation_history: +- timestamp: '2026-10-06T09:08:51Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain the genomic donor/recipient hypothesis without categorical cross-feeding or measured polymer-enzyme + flux.; Retain two-member comparative output without mutualism or a part/whole outcome arrow.; Retain polymer + surface endpoints without complete mineralization or interstrain flux claims. Issue #1438; reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml' + llm_assisted: true diff --git a/kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml b/kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml index 238b902c3..f18ef403b 100644 --- a/kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml +++ b/kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml @@ -85,154 +85,177 @@ taxonomy: explanation: Supports the diverse host community membership. ecological_interactions: - name: Groundwater CPR/DPANN-Host Coexistence - description: > - Genome-resolved metagenomics of eight Northern California groundwater - communities recovered 746 CPR and DPANN genomes from small-celled symbionts - that coexist with diverse host organisms in the aquifers. - interaction_type: COLONIZATION_FACILITATION + description: Genome-resolved surveys recovered 746 CPR and DPANN genomes across eight Northern California groundwater + sites. This framework pools distinct environmental communities, not one defined three-member culture. The canonical + participants are broad lineage/host categories; genome recovery and coexistence do not establish colonization + facilitation or every possible host association. scope: COMMUNITY_LEVEL - biological_processes: - - preferred_term: biological process involved in interspecies interaction between organisms - term: - id: GO:0044419 - label: biological process involved in interspecies interaction between organisms evidence: - reference: PMID:33495623 supports: SUPPORT - evidence_source: IN_VIVO + evidence_source: COMPUTATIONAL snippet: recovered 746 CPR and DPANN genomes in total - explanation: > - Supports the CPR and DPANN genome collection recovered from the eight - groundwater communities. + explanation: 'Supports the CPR and DPANN genome collection recovered from the eight groundwater communities. + + ' - reference: PMID:33495623 supports: SUPPORT - evidence_source: IN_VIVO - snippet: site-specific diversity of CPR bacteria and DPANN archaea that coexist with - diverse hosts in groundwater aquifers - explanation: > - Supports coexistence between groundwater CPR/DPANN lineages and diverse - host organisms. + evidence_source: COMPUTATIONAL + snippet: site-specific diversity of CPR bacteria and DPANN archaea that coexist with diverse hosts in groundwater + aquifers + explanation: 'Supports coexistence between groundwater CPR/DPANN lineages and diverse host organisms. + + ' + participating_taxa: + - preferred_term: groundwater CPR (Candidate Phyla Radiation) bacteria + term: + id: NCBITaxon:1783273 + label: Patescibacteria group + - preferred_term: groundwater DPANN archaea + term: + id: NCBITaxon:1783276 + label: Nanobdellati + - preferred_term: groundwater CPR/DPANN host bacteria and archaea + term: + id: NCBITaxon:131567 + label: cellular organisms - name: Site-Specific CPR/DPANN Differentiation - description: > - Little species-level overlap among metagenome-assembled genomes across - groundwater sites indicated that CPR and DPANN communities were - differentiated by local physicochemical conditions and host populations. - interaction_type: NICHE_PARTITIONING + description: Most site pairs had little species-level genome overlap. Hydrogeochemistry, host composition, dispersal + history, founder effects and sampling can contribute to this pattern; the comparison does not selectively demonstrate + physiological niche partitioning or a universal interspecies mechanism. scope: COMMUNITY_LEVEL - biological_processes: - - preferred_term: biological process involved in interspecies interaction between organisms - term: - id: GO:0044419 - label: biological process involved in interspecies interaction between organisms evidence: - reference: PMID:33495623 supports: SUPPORT - evidence_source: IN_VIVO - snippet: little species-level overlap of metagenome-assembled genomes (MAGs) - across the groundwater sites + evidence_source: COMPUTATIONAL + snippet: little species-level overlap of metagenome-assembled genomes (MAGs) across the groundwater sites explanation: Supports the site-specific differentiation pattern. -- name: Size-Fraction CPR/DPANN Host-Attachment Signal - description: > - CPR and DPANN genomes detected in larger groundwater-cell size fractions - provided genomic evidence that many ultrasmall CPR/DPANN cells remained - physically attached to larger host cells during filtration. - interaction_type: COLONIZATION_FACILITATION - scope: COMMUNITY_LEVEL - biological_processes: - - preferred_term: cell adhesion + participating_taxa: + - preferred_term: groundwater CPR (Candidate Phyla Radiation) bacteria term: - id: GO:0007155 - label: cell adhesion - - preferred_term: biological process involved in interspecies interaction between organisms + id: NCBITaxon:1783273 + label: Patescibacteria group + - preferred_term: groundwater DPANN archaea term: - id: GO:0044419 - label: biological process involved in interspecies interaction between organisms + id: NCBITaxon:1783276 + label: Nanobdellati + - preferred_term: groundwater CPR/DPANN host bacteria and archaea + term: + id: NCBITaxon:131567 + label: cellular organisms +- name: Size-Fraction CPR/DPANN Host-Attachment Signal + description: Larger size fractions contained CPR/DPANN genome signals consistent with some ultrasmall cells retaining + host attachment. This is a size-fraction proxy, not direct taxonomic identification of cell pairs. Estimated + cell counts used DNA yield and genome-size corrections, not direct cell counting; attachment disruption and + other size-associated effects limit the interpretation. + scope: COMMUNITY_LEVEL evidence: - reference: PMID:33495623 - supports: SUPPORT - evidence_source: IN_VIVO - snippet: indicate that a fair number of CPR/DPANN cells retain host attachment throughout - the filtration process - explanation: > - Supports using the larger size fractions as a genomic signal of - CPR/DPANN host attachment. + supports: PARTIAL + evidence_source: COMPUTATIONAL + snippet: indicate that a fair number of CPR/DPANN cells retain host attachment throughout the filtration process + explanation: Supports the authors' interpretation of a fraction-associated genomic signal, not direct identification + of attached pairs. + participating_taxa: + - preferred_term: groundwater CPR (Candidate Phyla Radiation) bacteria + term: + id: NCBITaxon:1783273 + label: Patescibacteria group + - preferred_term: groundwater DPANN archaea + term: + id: NCBITaxon:1783276 + label: Nanobdellati + - preferred_term: groundwater CPR/DPANN host bacteria and archaea + term: + id: NCBITaxon:131567 + label: cellular organisms - name: CPR/DPANN Episymbiotic Attachment to Hosts - description: > - Cryogenic transmission electron microscopy and genomic analyses identified - ultrasmall CPR and DPANN lineages that reproducibly attach to prokaryotic - host-cell surfaces through pili-like structures. - interaction_type: COLONIZATION_FACILITATION + description: The authors report cryo-TEM observations of ultrasmall cells attached to larger cells in concentrated + Ag groundwater, with pili-like appendages at some interfaces. Their assignment to CPR or DPANN is inferred from + size and community context, not a resolved taxonomic identity for each imaged pair. These observations do not + establish a necessary attachment protein, transferred resource or host fitness effect. scope: COMMUNITY_LEVEL biological_processes: - preferred_term: cell adhesion term: id: GO:0007155 label: cell adhesion - - preferred_term: biological process involved in interspecies interaction between organisms - term: - id: GO:0044419 - label: biological process involved in interspecies interaction between organisms downstream: - target: Host-Attached CPR Replication Stimulation - description: > - Host-cell surface attachment is inferred to stimulate CPR bacterial - replication because attached CPR cells in larger size fractions showed - higher instantaneous replication rates than unattached CPR cells from the - same groundwater community. + description: HYPOTHESIZED - access to host-associated resources could stimulate CPR replication. Attached-cell + images and higher CPR iRep in larger fractions support this interpretation, but attachment was not selectively + perturbed and the putative resource transfer was not measured. The replication comparison does not include + DPANN archaea. evidence: - reference: PMID:33495623 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VIVO snippet: CPR and DPANN lineages that reproducibly attach to host cells - explanation: > - Supports reproducible CPR/DPANN episymbiotic attachment to host cells. + explanation: The combined abstract interpretation exceeds the taxonomic resolution of individual cryo-TEM images; + identity is inferred from size and context. - reference: PMID:33495623 supports: SUPPORT evidence_source: IN_VIVO snippet: attaching through pili-like structures - explanation: > - Supports the host-contact mechanism observed for ultrasmall episymbionts - in the Ag groundwater cryo-TEM images. -- name: Host-Attached CPR Replication Stimulation - description: > - Higher instantaneous replication rates in larger size fractions indicated - that CPR bacteria attached to host-cell surfaces replicated faster than - unattached CPR bacteria from the same groundwater community. - interaction_type: COMMENSALISM - scope: COMMUNITY_LEVEL + explanation: Supports reported pili-like morphology at cell interfaces, not selective demonstration of a particular + attachment molecule. + - reference: PMID:33495623 + supports: PARTIAL + evidence_source: IN_VIVO + snippet: likely to be CPR or DPANN organisms + explanation: Main text explicitly limits the taxonomic assignment of the imaged ultrasmall cells. participating_taxa: - preferred_term: groundwater CPR (Candidate Phyla Radiation) bacteria term: id: NCBITaxon:1783273 label: Patescibacteria group + - preferred_term: groundwater DPANN archaea + term: + id: NCBITaxon:1783276 + label: Nanobdellati - preferred_term: groundwater CPR/DPANN host bacteria and archaea term: id: NCBITaxon:131567 label: cellular organisms - biological_processes: - - preferred_term: growth +- name: Host-Attached CPR Replication Stimulation + description: At three of four size-fraction sampling points in Ag groundwater, CPR populations had significantly + higher iRep in the 0.65-2.5 micrometer fraction than in the 0.1-0.2 micrometer fraction. iRep is average genome-replication + state, not a single-cell growth rate or doubling time. Archaea were excluded from this analysis. An association + with probable attachment does not establish causation or commensalism because host fitness was not measured. + scope: COMMUNITY_LEVEL + participating_taxa: + - preferred_term: groundwater CPR (Candidate Phyla Radiation) bacteria term: - id: GO:0040007 - label: growth - - preferred_term: biological process involved in interspecies interaction between organisms + id: NCBITaxon:1783273 + label: Patescibacteria group + - preferred_term: groundwater CPR/DPANN host bacteria and archaea term: - id: GO:0044419 - label: biological process involved in interspecies interaction between organisms + id: NCBITaxon:131567 + label: cellular organisms evidence: + - reference: PMID:33495623 + supports: PARTIAL + evidence_source: COMPUTATIONAL + snippet: host-attached CPR bacteria consistently exhibit a higher replication rate than non-host-attached CPR + bacteria + explanation: Supports an iRep/size-fraction association in CPR populations, not a causal attachment intervention + or a measured effect on host fitness. + - reference: PMID:33495623 + supports: PARTIAL + evidence_source: COMPUTATIONAL + snippet: the growth of CPR bacteria seems to be stimulated by attachment to host-cell surfaces + explanation: Supports an iRep/size-fraction association in CPR populations, not a causal attachment intervention + or a measured effect on host fitness. - reference: PMID:33495623 supports: SUPPORT - evidence_source: IN_VIVO - snippet: host-attached CPR bacteria consistently exhibit a higher replication rate than - non-host-attached CPR bacteria - explanation: > - Supports stimulation of CPR replication in host-attached size fractions. + evidence_source: COMPUTATIONAL + snippet: archaeal genomes were excluded + explanation: The replication analysis does not establish a corresponding DPANN effect. - reference: PMID:33495623 supports: SUPPORT - evidence_source: IN_VIVO - snippet: the growth of CPR bacteria seems to be stimulated by attachment to - host-cell surfaces - explanation: > - Summarizes the inferred positive effect of host attachment on CPR growth. + evidence_source: COMPUTATIONAL + snippet: average replication state of the cell population + explanation: Defines the iRep readout; it is not an individual-cell growth rate. environmental_factors: - name: Site land use value: one agricultural and seven pristine groundwater sites @@ -306,10 +329,39 @@ curation_history: - timestamp: '2026-10-02T05:45:52Z' curator: codex action: PRUNE_CAUSAL_GRAPH_WORKFLOW_EDGES - changes: > - Removed three downstream edges that connected CPR/DPANN genome recovery to - cross-site and size-fraction comparisons, and size-fraction host-attachment - signals to direct imaging, as analysis steps rather than groundwater - mechanisms. Kept the host-attachment to CPR replication edge and rewrote its - description to state the inferred host-surface stimulation mechanism. + changes: 'Removed three downstream edges that connected CPR/DPANN genome recovery to cross-site and size-fraction + comparisons, and size-fraction host-attachment signals to direct imaging, as analysis steps rather than groundwater + mechanisms. Kept the host-attachment to CPR replication edge and rewrote its description to state the inferred + host-surface stimulation mechanism. + + ' + llm_assisted: true +- timestamp: '2026-10-06T09:08:52Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain the eight-site genomic framework without colonization facilitation or a defined-culture claim.; + Retain site differences without a selectively established niche mechanism.; Retain size-fraction attachment + proxies with modeled count and identification limits.; Retain reported physical attachment with uncertain cell + identities and a hypothesized CPR consequence.; Retain CPR-only population replication-state association without + causal or host-neutrality claims. Issue #1439; reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml' llm_assisted: true +discussions: +- discussion_id: groundwater_attachment_identity_and_replication_causality + prompt: Which hosts, resources and attachment mechanisms explain the CPR replication association? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Groundwater CPR/DPANN-Host Coexistence + - ecological_interactions#Site-Specific CPR/DPANN Differentiation + - ecological_interactions#Size-Fraction CPR/DPANN Host-Attachment Signal + - ecological_interactions#CPR/DPANN Episymbiotic Attachment to Hosts + - ecological_interactions#Host-Attached CPR Replication Stimulation + rationale: 'The only arrow remains HYPOTHESIZED. Size fractions are imperfect proxies, imaged ultrasmall-cell + taxonomy is inferred, and iRep describes CPR population replication state; DPANN archaea were excluded. Host + fitness and transferred resources were not measured, so commensalism and syntrophic flux are not established. + Preserve the three workflow-edge removals in the 2026-10-02 history. The eight-site framework is not a single + reconstructed community. PMID:32252814 concerns separate Oak Ridge groundwater rather than the same California + sites; non-graph provenance and role claims remain #1442. No new partner-specific structure is supported by + these observations alone.' + posed_by: codex + posed_date: '2026-10-06' diff --git a/kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml b/kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml index 3905b5572..deb7a24e9 100644 --- a/kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml +++ b/kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml @@ -74,50 +74,34 @@ taxonomy: explanation: Supports the electron-transport, carbon-fixation, and metabolite-release role of C. pyrenoidosa. ecological_interactions: - name: Euglena Light Harvesting and Antioxidative Secretion - description: > - Euglena gracilis contributed the light-harvesting and antioxidative - metabolite-secretion side of the optimized coculture's metabolic division of - labor, supplying photosynthetic and antioxidant functions that complemented - Chlorella pyrenoidosa carbon fixation and lipid-metabolite release. - interaction_type: NICHE_PARTITIONING - scope: COMMUNITY_LEVEL - participating_taxa: - - preferred_term: Euglena gracilis - term: - id: NCBITaxon:3039 - label: Euglena gracilis - metabolites: - - preferred_term: alpha-tocopherol - term: - id: CHEBI:22470 - label: alpha-tocopherol + description: PARTIAL - the abstract assigns enhanced light harvesting and an antioxidative secretion profile to + Euglena gracilis from multi-omics. This is an organism-associated profile, not by itself niche partitioning + or evidence that alpha-tocopherol was exported by this member and taken up by its partner. The underlying assays + and organism-specific flux resolution were not accessed. + scope: PAIRWISE biological_processes: - preferred_term: photosynthesis term: id: GO:0015979 label: photosynthesis - downstream: - - target: Complementary Microalgal Metabolic Division of Labor - description: Euglena light harvesting and antioxidative secretion form one side of the coculture division of labor evidence: - reference: PMID:42248260 - supports: SUPPORT - evidence_source: IN_VITRO + supports: PARTIAL + evidence_source: COMPUTATIONAL snippet: EG primarily enhanced light-harvesting capacity and antioxidative metabolite secretion - explanation: Supports the Euglena-specific light-harvesting and antioxidative-secretion role. -- name: Chlorella Electron Transport and Lipid Metabolite Release - description: > - Chlorella pyrenoidosa contributed increased electron-transport activity, - enhanced carbon fixation, and lipid-associated metabolite release, supplying - the carbon-assimilation and lipid-production functions that complemented - E. gracilis light harvesting and antioxidative metabolite secretion. - interaction_type: NICHE_PARTITIONING - scope: COMMUNITY_LEVEL - participating_taxa: - - preferred_term: Chlorella pyrenoidosa + explanation: Supports the organism-associated interpretation reported from multi-omics, without access to its + underlying assay resolution or a demonstrated transfer flux. + source_taxon: + preferred_term: Euglena gracilis term: - id: NCBITaxon:3078 - label: Auxenochlorella pyrenoidosa + id: NCBITaxon:3039 + label: Euglena gracilis +- name: Chlorella Electron Transport and Lipid Metabolite Release + description: PARTIAL - the abstract assigns enhanced electron transport, carbon-fixation capacity and lipid-associated + metabolite release to the Chlorella member. This profile does not establish which compounds were transferred + to Euglena or whether either member is required for the other's growth. Publication naming is retained alongside + the canonical Auxenochlorella pyrenoidosa taxon label. + scope: PAIRWISE metabolites: - preferred_term: lipid term: @@ -132,21 +116,23 @@ ecological_interactions: term: id: GO:0008610 label: lipid biosynthetic process - downstream: - - target: Complementary Microalgal Metabolic Division of Labor - description: Chlorella carbon fixation and lipid-associated metabolite release form the other side of the coculture division of labor evidence: - reference: PMID:42248260 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: CP intensified electron transport activity, enhanced carbon fixation capacity, and released lipid-associated metabolites - explanation: Supports the Chlorella-specific electron-transport, carbon-fixation, and lipid-metabolite role. + supports: PARTIAL + evidence_source: COMPUTATIONAL + snippet: CP intensified electron transport activity, enhanced carbon fixation capacity, and released lipid-associated + metabolites + explanation: Supports the organism-associated interpretation reported from multi-omics, without access to its + underlying assay resolution or a demonstrated transfer flux. + source_taxon: + preferred_term: Chlorella pyrenoidosa + term: + id: NCBITaxon:3078 + label: Auxenochlorella pyrenoidosa - name: Complementary Microalgal Metabolic Division of Labor - description: > - E. gracilis enhances light harvesting and antioxidative metabolite secretion, - while C. pyrenoidosa enhances electron transport, carbon fixation, and release - of lipid-associated metabolites. - interaction_type: NICHE_PARTITIONING + description: HYPOTHESIZED - the two reported functional profiles suggest complementary metabolism in the optimized + coculture. This summary is not a separate experimental effect caused by listing its components, nor proof of + resource partitioning, identified donor/recipient exchange or necessary biochemical cooperation. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Euglena gracilis @@ -157,33 +143,29 @@ ecological_interactions: term: id: NCBITaxon:3078 label: Auxenochlorella pyrenoidosa - biological_processes: - - preferred_term: carbon fixation - term: - id: GO:0015977 - label: carbon fixation downstream: - target: Synergistic Biorefinery Production - description: > - Complementary light-harvesting, antioxidative secretion, electron - transport, carbon-fixation, and lipid-metabolite roles jointly drive the - coculture biomass, lipid, and alpha-tocopherol production gains. + description: HYPOTHESIZED - complementary photosynthetic and metabolic capacities could contribute to the aggregate + production gains. The abstract links profiles and output, but does not resolve their selective mediation or + demonstrate reciprocal species fitness. evidence: - reference: PMID:42248260 - supports: SUPPORT - evidence_source: IN_VITRO + supports: PARTIAL + evidence_source: COMPUTATIONAL snippet: Multi-omics analysis revealed a clear metabolic division of labor - explanation: Supports community-level metabolic specialization. + explanation: Supports the authors' multi-omics interpretation of complementarity, not a selectively established + causal mechanism for the aggregate production gains. - reference: PMID:42248260 - supports: SUPPORT - evidence_source: IN_VITRO + supports: PARTIAL + evidence_source: COMPUTATIONAL snippet: collectively driving process intensification in terms of biomass and lipid productivity - explanation: Supports the combined effect of complementary member functions. + explanation: Supports the authors' multi-omics interpretation of complementarity, not a selectively established + causal mechanism for the aggregate production gains. - name: Synergistic Biorefinery Production - description: > - The coculture increased biomass, lipid productivity, and alpha-tocopherol - yield relative to monocultures and shortened the logarithmic growth phase. - interaction_type: MUTUALISM + description: The optimized 3:7 coculture in TAP medium showed higher total biomass, lipid productivity and alpha-tocopherol + output than the monocultures, with a shorter reported logarithmic phase. These aggregate endpoints do not establish + that both species benefit. Separate exogenous alpha-lipoic acid supplementation further improved output; it + is not proof of endogenous cross-feeding or the same baseline condition. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Euglena gracilis @@ -203,7 +185,8 @@ ecological_interactions: - reference: PMID:42248260 supports: SUPPORT evidence_source: IN_VITRO - snippet: corresponding to 1.18-1.52-fold, 1.58-2.81-fold, and 2.13-9.90-fold increases relative to monoculture systems + snippet: corresponding to 1.18-1.52-fold, 1.58-2.81-fold, and 2.13-9.90-fold increases relative to monoculture + systems explanation: Supports coculture production gains relative to monocultures. - reference: PMID:42248260 supports: SUPPORT @@ -264,3 +247,31 @@ external_resources: explanation: Links the resource to the exact community. metal_relevance: NOT_APPLICABLE metal_notes: No metal or rare-earth processing role is reported for this microalgal coculture. +discussions: +- discussion_id: microalgal_profiles_transfer_and_fitness + prompt: Which organism-specific transfers or physiological changes mediate the aggregate coculture outputs? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Euglena Light Harvesting and Antioxidative Secretion + - ecological_interactions#Chlorella Electron Transport and Lipid Metabolite Release + - ecological_interactions#Complementary Microalgal Metabolic Division of Labor + - ecological_interactions#Synergistic Biorefinery Production + rationale: 'Remove the two profile-to-summary part/whole arrows; retain the complementarity-to-output arrow only + as HYPOTHESIZED. Represent single-organism profiles as intrinsic source-only nodes, not self-edges. No alpha-tocopherol + donor is assigned from the broad antioxidative profile. Total production does not demonstrate reciprocal fitness, + and exogenous alpha-lipoic acid is not evidence of endogenous exchange. Primary abstract only: underlying Methods/Results + and supplements were not acquired. Preserve NCBITaxon:3078 with its canonical Auxenochlorella label and the + publication preferred name. Non-graph omics and protocol details remain #1443; no new microbial mechanism is + inferred from the supplementation treatment.' + posed_by: codex + posed_date: '2026-10-06' +curation_history: +- timestamp: '2026-10-06T09:08:52Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain the Euglena-associated profile as intrinsic without a specific tocopherol donor claim or summary + arrow.; Retain the Chlorella-associated profile as intrinsic without proven transfer or a summary arrow.; Retain + proposed complementarity and only a hypothesized contribution to aggregate output.; Retain total production + gains without reciprocal organism fitness or supplementation conflation. Issue #1440; reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml' + llm_assisted: true diff --git a/reports/causal_graph_review/adversarial-review-20261006-batch38.yaml b/reports/causal_graph_review/adversarial-review-20261006-batch38.yaml new file mode 100644 index 000000000..121da64c8 --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261006-batch38.yaml @@ -0,0 +1,155 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: a22f0f871bdfe84762b2dfcf2e38cb2c2d17949f +scope: +- kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml +- kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml +- kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml +decision_ledger: reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml +validation_report: reports/causal_graph_review/validation-20261006-batch38.json +findings: +- issue: 1438 + severity: P2 + status: addressed_in_this_change + finding: 'Ensifer YF2 Y2 graph: distinguish genomic cross-feeding model from measured polymer effects' + disposition: Existing graph corrected; close only after protected main merge. +- issue: 1439 + severity: P2 + status: addressed_in_this_change + finding: 'CPR DPANN graph: qualify size-fraction attachment and CPR-only replication inference' + disposition: Existing graph corrected; close only after protected main merge. +- issue: 1440 + severity: P2 + status: addressed_in_this_change + finding: 'Euglena Chlorella graph: separate intrinsic profiles, proposed complementarity and total production' + disposition: Existing graph corrected; close only after protected main merge. +- issue: 1441 + severity: P2 + status: open_nongraph_followup + finding: 'Ensifer YF2 Y2 metadata: correct access claim and qualify genome-inferred organism roles' + disposition: Non-graph fields preserved, not certified. Remains open. +- issue: 1442 + severity: P2 + status: open_nongraph_followup + finding: 'CPR DPANN metadata: separate Northern California hosts from Oak Ridge genomic context' + disposition: Non-graph fields preserved, not certified. Remains open. +- issue: 1443 + severity: P2 + status: open_nongraph_followup + finding: 'Euglena Chlorella metadata: resolve member-specific omics and supplementation conditions' + disposition: Non-graph fields preserved, not certified. Remains open. +adversarial_checks: +- Whole records and complete graph diffs checked against primary sources at recorded access scope. Twelve + existing nodes retained, three part/whole arrows removed and three remaining arrows qualified as HYPOTHESIZED. + Every original node and arrow has a disposition. No added connectivity. +- Ensifer genomic complementarity is a conceptual donor/recipient model, not measured exchange, enzyme + necessity or complete polymer mineralization. Comparative consortium output is not reciprocal fitness + or formal additive synergy. Preserve AMBIGUOUS Ensifer grounding and exclude the MF1 comparator from + membership. +- 'Ensifer publisher indexed text labels the paper open access. Retrieval failure does not establish a + paywall; non-graph access and inferred role claims remain #1441. No full-body access claimed.' +- CPR/DPANN is an eight-site framework, not a defined three-member culture. Keep broad canonical categories + without assigning all possible partner associations. Remove categorical colonization facilitation, niche + partitioning and commensalism. +- Size fractions are attachment proxies and cell numbers are DNA/genome-size estimates. Cryo-TEM cell + identity is inferred; pili-like morphology is not a necessary protein or measured resource flux. Figure + captions and text were read, not images. +- CPR iRep measures average genome-replication state, not a single-cell growth rate. Archaea were excluded. + The only attachment-to-replication arrow remains a hypothesis without selective intervention or host-fitness + evidence. Earlier workflow-arrow removals remain intact. +- 'Separate Oak Ridge source is not the California framework. Secondary source read only through early + Results for provenance. Non-graph roles/provenance and stale cache metadata remain #1442; no cache modified.' +- Euglena and Chlorella profiles are intrinsic source-only nodes under the existing PAIRWISE convention, + not self-edges. Remove both profile-to-summary arrows and the unsupported Euglena-specific alpha-tocopherol + donor assignment. Preserve the publication name plus canonical Auxenochlorella label. +- 'Multi-omics interpretations do not resolve exact transfer or selective mediation. Aggregate output + is not reciprocal fitness; exogenous alpha-lipoic acid is a distinct treatment, not endogenous cross-feeding. + Abstract-only protocol and underlying omics-assay gaps remain #1443.' +- Guarded writes and append-only history with llm-assisted events. Prior history semantically preserved; + all non-graph raw blocks, 457 other records and 920 cache files byte-preserved. Eight new tests cover + these distinctions, identities, histories, anchors and complete disposition accounting. +- All three records were already in the 184-user participant registry. Euglena intrinsic profiles change + mixed-scope census from 123 to 124 and sole broad credit from 1221 to 1219; no taxonomy or numeric-bound + changes. All 33 network warnings exactly preserved with zero errors. +- Repeated renders deterministic and all published descriptions parser-checked. Reference-validator 0.1.7 + performs zero checks despite exit 0; no-op disclosed. Textual MATCH is not scientific validation. Actual + output tails and digests, including the pre-research baseline, are committed. +- Deduplication searched 760 all-state issue titles/bodies and ignored/hidden-inclusive local files, not + every comment. No independent reviewer, protected merge or full-corpus completion claimed. No Edison + job or charge was needed for these existing-structure repairs. +verification: + combined_regressions: 407 passed in 203.34s (0:03:23) + new_regression_tests: 8 + schema_strict_terms_history: passed; actual output tails and digests retained + snippet_counts_by_record: + kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml: + MATCH: 6 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml: + MATCH: 19 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml: + MATCH: 16 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + network: Zero errors; 33 baseline warnings exactly preserved, none added. + black_ruff_diff: passed + tested_file_sha256: + reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml: 788d30c2bbcf8de2a515f5a32349e09db6f4ac476aab03479e1b8e06674d6d56 + tests/test_causal_review_batch38.py: 1f8a7711a2a13a56a3a6519cdc11c995e350a7aa88e94246d6178a44b8467429 + kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml: 57ac6be6ce479d6e721e7c7a81a54ede921eee8620e3b466d061750d7d24d60c + kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml: 365db2424aa243d7f2727a5bb344aae80293574cc6a1d2db7e5780ccb475eb09 + kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml: 4d5cdc403a12e77b46efdff937eebb29fd0e3b71418a497ea69287ac0a8d0bfc + post_commit_docs_current: Separate publication gate; not asserted in pre-commit record. + protected_ci_and_merge: Eligible exact-head protected checks and queue still required. +participant_census: + connectivity_before: + community_level_only: 264 + credited_solely_by_the_rule: 1221 + mixed: 123 + records: 460 + taxa: 1494 + with_community_level: 387 + connectivity_after: + community_level_only: 263 + credited_solely_by_the_rule: 1219 + mixed: 124 + records: 460 + taxa: 1494 + with_community_level: 387 + exact_change: All three records already registered; 184-user roster unchanged. Two intrinsic microalgal + profiles make Euglena/Chlorella mixed-scope (123 to 124) and lower sole broad credit by two (1221 + to 1219). No taxonomy or numeric-bound changes. + numeric_bounds_changed: false +corpus: + records: 460 + nodes: 1469 + edges: 689 + review_status_counts: + needs_research: 8 + pending: 297 + reviewed: 155 +limitations: +- Twelve existing nodes retained; three part/whole arrows removed; one explicitly hypothesized mechanism + link retained in each record. No added connectivity. +- Primary full main body for CPR/DPANN, abstract-only access for Ensifer and Euglena. Separate Oak Ridge + source read only through early Results to resolve provenance. No visual figures, separate supplements + or raw data reviewed. +- 'Canonical taxonomy and non-graph raw blocks preserved, not certified; #1441-1443 remain open. Access + failure is not proof of a paywall.' +- Single-organism microalgal profiles become intrinsic source-only PAIRWISE, not self-edges. Higher aggregate + output does not establish reciprocal organism fitness. +- Self-adversarial review is not independent approval, protected main merge or full-corpus completion. + Textual snippet matching is not scientific validation. diff --git a/reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml b/reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml new file mode 100644 index 000000000..804dbe91e --- /dev/null +++ b/reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml @@ -0,0 +1,264 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: a22f0f871bdfe84762b2dfcf2e38cb2c2d17949f +baseline_commit: a22f0f871bdfe84762b2dfcf2e38cb2c2d17949f +base_tree: 53fbd8501df23432e22ae64785408cff1c614027 +issues: +- 1438 +- 1439 +- 1440 +open_nongraph_followups: +- 1441 +- 1442 +- 1443 +open_graph_research: [] +issue_deduplication: + all_state_issue_titles_bodies: 760 + ignored_hidden_local_files_included: true + comments_exhaustive: false + relevant_issues_read: + - 757 + - 382 + - 376 + - 369 + finding: No exact duplicate in searched scope; existing Ensifer taxonomy corrections and CPR workflow-arrow pruning + preserved. +reference_cache_original_hashes: + references_cache/PMID_32252814.md: fa4a7f671f2b82f7b560d241b3afeafa0e0e166bbe39b14c98d9056e017dca45 + references_cache/PMID_42248260.txt: c9e7b10ee96beacc3839d931b72ca9e2237476ccdbd637ea639ad23a9fd95d06 + references_cache/PMID_41996795.md: 8f3a0a8ebba422912961d04df1d22b44e44f8d384cc767670d1d186eda9cb605 + references_cache/PMID_33495623.txt: ebd08537cd681044d563e52704fb20ac576c6865e39f0959f2c56956a50bf4ae + references_cache/PMID_33495623.md: c8951d3d91ab4748ac5717c055fc194859bf51fb4461d2ab253d5cb67d73bfd6 +edison: + status: not_needed_for_existing_structure_repair_no_provider_job_or_charge + rationale: No new nodes/arrows; existing hypotheses and outcomes are corrected. External supplementation does + not establish a new endogenous exchange, and observational groundwater data do not resolve new partner-specific + mechanisms. +limitations: +- Twelve existing nodes retained; three part/whole arrows removed; one explicitly hypothesized mechanism link retained + in each record. No added connectivity. +- Primary full main body for CPR/DPANN, abstract-only access for Ensifer and Euglena. Separate Oak Ridge source + read only through early Results to resolve provenance. No visual figures, separate supplements or raw data reviewed. +- 'Canonical taxonomy and non-graph raw blocks preserved, not certified; #1441-1443 remain open. Access failure + is not proof of a paywall.' +- Single-organism microalgal profiles become intrinsic source-only PAIRWISE, not self-edges. Higher aggregate output + does not establish reciprocal organism fitness. +- Self-adversarial review is not independent approval, protected main merge or full-corpus completion. Textual snippet + matching is not scientific validation. +records: +- path: kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml + id: CommunityMech:000299 + original_sha256: 5b40f0230b5889ca76a5a0780186ed46a92e9f3b7ef96477ae493d2b8101d5d6 + record_sha256: 57ac6be6ce479d6e721e7c7a81a54ede921eee8620e3b466d061750d7d24d60c + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml + scope: Whole record and every existing node/arrow assessed at recorded primary access scope; non-graph fields + preserved, not certified. + summary: Retain the genomic donor/recipient hypothesis without categorical cross-feeding or measured polymer-enzyme + flux.; Retain two-member comparative output without mutualism or a part/whole outcome arrow.; Retain polymer + surface endpoints without complete mineralization or interstrain flux claims. + renamed_nodes: {} + node_decisions: + - node: Metabolic division of labor in polyethylene degradation + rationale: Retain the genomic donor/recipient hypothesis without categorical cross-feeding or measured polymer-enzyme + flux. + - node: Synergistic enhancement of PE degradation in the dual-strain consortium + rationale: Retain two-member comparative output without mutualism or a part/whole outcome arrow. + - node: Polyethylene Oxidation and Surface Erosion + rationale: Retain polymer surface endpoints without complete mineralization or interstrain flux claims. + removed_node_decisions: [] + edges_before: + - source: Metabolic division of labor in polyethylene degradation + target: Synergistic enhancement of PE degradation in the dual-strain consortium + description: Ensifer backbone cleavage and Sphingobacterium intermediate metabolism combine into the YF2/Y2 + dual consortium's enhanced PE degradation phenotype. + - source: Synergistic enhancement of PE degradation in the dual-strain consortium + target: Polyethylene Oxidation and Surface Erosion + description: The enhanced dual-strain consortium grows with PE as the sole carbon source and induces oxidative + and physical damage to the polymer. + edges_after: + - source: Metabolic division of labor in polyethylene degradation + target: Synergistic enhancement of PE degradation in the dual-strain consortium + description: HYPOTHESIZED - complementary transformation capacities could contribute to the stronger YF2/Y2 + consortium phenotype. Genomic annotation and the coculture comparison do not isolate cross-feeding as the + cause of that improvement. + retained_edge_decisions: + - source: Metabolic division of labor in polyethylene degradation + target: Synergistic enhancement of PE degradation in the dual-strain consortium + rationale: HYPOTHESIZED - complementary transformation capacities could contribute to the stronger YF2/Y2 consortium + phenotype. Genomic annotation and the coculture comparison do not isolate cross-feeding as the cause of that + improvement. + removed_edge_decisions: + - source: Synergistic enhancement of PE degradation in the dual-strain consortium + target: Polyethylene Oxidation and Surface Erosion + rationale: The surface phenotype is part of the reported performance, not an independently established downstream + effect. + references: + - PMID:41996795 + issues: + - 1438 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium/2026-10-06T090852Z-codex-d2e3d0.yaml + source_review: + PMID:41996795: + url: https://www.sciencedirect.com/science/article/pii/S014765132600480X + scope: Complete cached primary abstract only. Publisher indexed text labels Open access / Creative Commons + and PubMed Free article; page retrieval returned403 and public publisher XML API retrieval failed. ResearchGate + request-only. No full Methods/Results, visual figures, supplements or raw data acquired. +- path: kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml + id: CommunityMech:000237 + original_sha256: 7f431b7ff46107d7d3a2fadd7dd99741e135627368f85ae917265810ccb716c9 + record_sha256: 365db2424aa243d7f2727a5bb344aae80293574cc6a1d2db7e5780ccb475eb09 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml + scope: Whole record and every existing node/arrow assessed at recorded primary access scope; non-graph fields + preserved, not certified. + summary: Retain the eight-site genomic framework without colonization facilitation or a defined-culture claim.; + Retain site differences without a selectively established niche mechanism.; Retain size-fraction attachment + proxies with modeled count and identification limits.; Retain reported physical attachment with uncertain cell + identities and a hypothesized CPR consequence.; Retain CPR-only population replication-state association without + causal or host-neutrality claims. + renamed_nodes: {} + node_decisions: + - node: Groundwater CPR/DPANN-Host Coexistence + rationale: Retain the eight-site genomic framework without colonization facilitation or a defined-culture claim. + - node: Site-Specific CPR/DPANN Differentiation + rationale: Retain site differences without a selectively established niche mechanism. + - node: Size-Fraction CPR/DPANN Host-Attachment Signal + rationale: Retain size-fraction attachment proxies with modeled count and identification limits. + - node: CPR/DPANN Episymbiotic Attachment to Hosts + rationale: Retain reported physical attachment with uncertain cell identities and a hypothesized CPR consequence. + - node: Host-Attached CPR Replication Stimulation + rationale: Retain CPR-only population replication-state association without causal or host-neutrality claims. + removed_node_decisions: [] + edges_before: + - source: CPR/DPANN Episymbiotic Attachment to Hosts + target: Host-Attached CPR Replication Stimulation + description: 'Host-cell surface attachment is inferred to stimulate CPR bacterial replication because attached + CPR cells in larger size fractions showed higher instantaneous replication rates than unattached CPR cells + from the same groundwater community. + + ' + edges_after: + - source: CPR/DPANN Episymbiotic Attachment to Hosts + target: Host-Attached CPR Replication Stimulation + description: HYPOTHESIZED - access to host-associated resources could stimulate CPR replication. Attached-cell + images and higher CPR iRep in larger fractions support this interpretation, but attachment was not selectively + perturbed and the putative resource transfer was not measured. The replication comparison does not include + DPANN archaea. + retained_edge_decisions: + - source: CPR/DPANN Episymbiotic Attachment to Hosts + target: Host-Attached CPR Replication Stimulation + rationale: HYPOTHESIZED - access to host-associated resources could stimulate CPR replication. Attached-cell + images and higher CPR iRep in larger fractions support this interpretation, but attachment was not selectively + perturbed and the putative resource transfer was not measured. The replication comparison does not include + DPANN archaea. + removed_edge_decisions: [] + references: + - PMID:33495623 + - PMID:32252814 + issues: + - 1439 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Episymbiotic_CPR_DPANN_Groundwater_Community/2026-10-06T090852Z-codex-64a1b6.yaml + source_review: + PMID:33495623: + url: https://pmc.ncbi.nlm.nih.gov/articles/PMC7906910/ + scope: Cached primary abstract plus full OA main body through all Methods and reporting-summary/supplement + listing, including figure captions. No visual figures, separate supplements or raw data. Cached .md front + matter says abstract_only but actual body includes full text; bytes preserved. + PMID:32252814: + url: https://doi.org/10.1186/s40168-020-00825-w + scope: Cached abstract, Introduction and early Results read to establish separate Oak Ridge sampling scope. + Remaining main body and separate supplements not reviewed; used only to flag non-graph provenance, not to + support new graph mechanisms. +- path: kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml + id: CommunityMech:000325 + original_sha256: 83f811771cf8658d473066c8bc48b9cf2c75f792926fba1655e38930b15ab476 + record_sha256: 4d5cdc403a12e77b46efdff937eebb29fd0e3b71418a497ea69287ac0a8d0bfc + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml + scope: Whole record and every existing node/arrow assessed at recorded primary access scope; non-graph fields + preserved, not certified. + summary: Retain the Euglena-associated profile as intrinsic without a specific tocopherol donor claim or summary + arrow.; Retain the Chlorella-associated profile as intrinsic without proven transfer or a summary arrow.; Retain + proposed complementarity and only a hypothesized contribution to aggregate output.; Retain total production + gains without reciprocal organism fitness or supplementation conflation. + renamed_nodes: {} + node_decisions: + - node: Euglena Light Harvesting and Antioxidative Secretion + rationale: Retain the Euglena-associated profile as intrinsic without a specific tocopherol donor claim or summary + arrow. + - node: Chlorella Electron Transport and Lipid Metabolite Release + rationale: Retain the Chlorella-associated profile as intrinsic without proven transfer or a summary arrow. + - node: Complementary Microalgal Metabolic Division of Labor + rationale: Retain proposed complementarity and only a hypothesized contribution to aggregate output. + - node: Synergistic Biorefinery Production + rationale: Retain total production gains without reciprocal organism fitness or supplementation conflation. + removed_node_decisions: [] + edges_before: + - source: Euglena Light Harvesting and Antioxidative Secretion + target: Complementary Microalgal Metabolic Division of Labor + description: Euglena light harvesting and antioxidative secretion form one side of the coculture division of + labor + - source: Chlorella Electron Transport and Lipid Metabolite Release + target: Complementary Microalgal Metabolic Division of Labor + description: Chlorella carbon fixation and lipid-associated metabolite release form the other side of the coculture + division of labor + - source: Complementary Microalgal Metabolic Division of Labor + target: Synergistic Biorefinery Production + description: 'Complementary light-harvesting, antioxidative secretion, electron transport, carbon-fixation, + and lipid-metabolite roles jointly drive the coculture biomass, lipid, and alpha-tocopherol production gains. + + ' + edges_after: + - source: Complementary Microalgal Metabolic Division of Labor + target: Synergistic Biorefinery Production + description: HYPOTHESIZED - complementary photosynthetic and metabolic capacities could contribute to the aggregate + production gains. The abstract links profiles and output, but does not resolve their selective mediation or + demonstrate reciprocal species fitness. + retained_edge_decisions: + - source: Complementary Microalgal Metabolic Division of Labor + target: Synergistic Biorefinery Production + rationale: HYPOTHESIZED - complementary photosynthetic and metabolic capacities could contribute to the aggregate + production gains. The abstract links profiles and output, but does not resolve their selective mediation or + demonstrate reciprocal species fitness. + removed_edge_decisions: + - source: Euglena Light Harvesting and Antioxidative Secretion + target: Complementary Microalgal Metabolic Division of Labor + rationale: The organism profile composes the complementarity summary; part/whole narration is not a biological + causal effect. + - source: Chlorella Electron Transport and Lipid Metabolite Release + target: Complementary Microalgal Metabolic Division of Labor + rationale: The organism profile composes the complementarity summary; part/whole narration is not a biological + causal effect. + references: + - PMID:42248260 + issues: + - 1440 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Euglena_Chlorella_Microalgal_Biorefinery_Coculture/2026-10-06T090853Z-codex-5f6b10.yaml + source_review: + PMID:42248260: + url: https://pubmed.ncbi.nlm.nih.gov/42248260/ + scope: Complete cached primary MEDLINE abstract. Publisher page returned403 and public XML API retrieval failed; + ResearchGate request-only. No full Methods/Results, visual figures, supplements or raw data acquired. diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index a60003a1c..e5e7f31c9 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -164,10 +164,10 @@ kb/communities/Electrostimulated_Toluene_Methanogenic_Microbiota.yaml CommunityM kb/communities/Electrosynthetic_Consortia_Shewanella_Clostridium_Acetobacterium_Acetate.yaml CommunityMech:000298 d225c991b8b826dc63bb56b8094e9bc5420e5c9da7f6c2e6be693fc7dc56e9e2 3 2 100.0 pending kb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml CommunityMech:000143 e0a94fe128d5babfb6c76a3f161d32dd8a1f1ed58a5204d55a632c28283c702b 3 2 100.0 pending kb/communities/Engineered_Gut_Amino_Acid_CrossFeeding_Consortium.yaml CommunityMech:000151 b29aa03e39e670a5d61b55306119f11c3459c7fb5c6cf5e8fb58a92d040a8cf0 3 2 100.0 pending -kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml CommunityMech:000299 5b40f0230b5889ca76a5a0780186ed46a92e9f3b7ef96477ae493d2b8101d5d6 3 2 100.0 pending -kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml CommunityMech:000237 7f431b7ff46107d7d3a2fadd7dd99741e135627368f85ae917265810ccb716c9 5 1 90.0 pending +kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml CommunityMech:000299 57ac6be6ce479d6e721e7c7a81a54ede921eee8620e3b466d061750d7d24d60c 3 1 75.0 reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml reviewed +kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml CommunityMech:000237 365db2424aa243d7f2727a5bb344aae80293574cc6a1d2db7e5780ccb475eb09 5 1 76.0 reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml reviewed kb/communities/Eucalyptus_Nursery_FiveStrain_Inoculant_SynCom.yaml CommunityMech:000316 57c4e57ef2f110cdd11f6fd91d55af1f43ac613b6a12e0e59e96fb855762f638 3 0 75.0 pending -kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml CommunityMech:000325 83f811771cf8658d473066c8bc48b9cf2c75f792926fba1655e38930b15ab476 4 3 100.0 pending +kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml CommunityMech:000325 4d5cdc403a12e77b46efdff937eebb29fd0e3b71418a497ea69287ac0a8d0bfc 4 1 78.8 reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml reviewed kb/communities/Ewaste_Bioleaching_Consortium.yaml CommunityMech:000026 97fa72a9222421bd40e3ba7bdf14ccaabaeeda0ac5114fd5dda987dc6bda6a7f 3 3 100.0 pending kb/communities/FOS_Lactobacillus_MinimalCore_GutLiver_SynCom.yaml CommunityMech:000466 6a7169713b35a9a4e57ecf540aa7679052fc01b4f43a05a998be1beb5e40acb1 3 0 65.0 pending kb/communities/Ferroplasma_Leptospirillum_Syntrophy.yaml CommunityMech:000027 f357e3ec553f3c8ff1448687f6bf1ab557d2aa72e9e011162ce4b583bdb9a7e7 4 2 100.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index 36ef54e2c..9e064149b 100644 --- a/reports/causal_graph_review/summary.json +++ b/reports/causal_graph_review/summary.json @@ -3,13 +3,13 @@ "semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.", "records": 460, "nodes": 1469, - "edges": 692, + "edges": 689, "records_without_nodes": 8, "records_without_edges": 146, "review_status_counts": { "needs_research": 8, - "pending": 300, - "reviewed": 152 + "pending": 297, + "reviewed": 155 }, "structural_defects": [], "network_audit": [ diff --git a/reports/causal_graph_review/validation-20261006-batch38.json b/reports/causal_graph_review/validation-20261006-batch38.json new file mode 100644 index 000000000..9197af7e1 --- /dev/null +++ b/reports/causal_graph_review/validation-20261006-batch38.json @@ -0,0 +1,750 @@ +{ + "base_commit": "a22f0f871bdfe84762b2dfcf2e38cb2c2d17949f", + "scope": [ + "kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml", + "kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml", + "kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml" + ], + "reference_validator_version": "0.1.7", + "results": [ + { + "check": "Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch38/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-strict.tsv", + "kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-strict.log", + "log_sha256": "fb1aa790059572626ffe33d0f83f8fcc1c21b41dfb688dc8f2ecf4656c324ad2", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch38/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-batch38/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-strict.tsv\n" + }, + { + "check": "Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-references.log", + "log_sha256": "c40c80a348b194bf3b1c46147016a79649e0797901094e3ffbf6deb082ff987e", + "output_tail": "Validating kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-snippets.log", + "log_sha256": "c701a14a68be45219232ec1037f210e46fb14d49e54b85702ad029b20c3f0666", + "output_tail": "# 6 evidence snippets scanned across 1 files\n MATCH 6\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-rank.log", + "log_sha256": "4e9195e81c3df08ce8f22c3092e55c932b64ff87e9bfcf5c250ee63a157d5101", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000299\",\n \"name\": \"Ensifer YF2 + Sphingobacterium Y2 Polyethylene-degrading Consortium\",\n \"score\": 75.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml\"\n }\n]\n" + }, + { + "check": "Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium/2026-10-06T090852Z-codex-d2e3d0.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Episymbiotic_CPR_DPANN_Groundwater_Community-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Episymbiotic_CPR_DPANN_Groundwater_Community-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Episymbiotic_CPR_DPANN_Groundwater_Community-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch38/Episymbiotic_CPR_DPANN_Groundwater_Community-strict.tsv", + "kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Episymbiotic_CPR_DPANN_Groundwater_Community-strict.log", + "log_sha256": "9d9ff043e53b25ccbfcac6dfb05ab3a8d71f821ac61752f72c5ce9d3e035608e", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch38/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-batch38/Episymbiotic_CPR_DPANN_Groundwater_Community-strict.tsv\n" + }, + { + "check": "Episymbiotic_CPR_DPANN_Groundwater_Community-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Episymbiotic_CPR_DPANN_Groundwater_Community-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Episymbiotic_CPR_DPANN_Groundwater_Community-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Episymbiotic_CPR_DPANN_Groundwater_Community-references.log", + "log_sha256": "12b5c6e2cf3bbe490af5d042fa6b357955625ece229d8c472a2283ba3ccd0d0b", + "output_tail": "Validating kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Episymbiotic_CPR_DPANN_Groundwater_Community-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Episymbiotic_CPR_DPANN_Groundwater_Community-snippets.log", + "log_sha256": "8084678f5cf248d78dd90bd74538a6320ef0dcc9940ae3e5b5f759e13588ade6", + "output_tail": "# 19 evidence snippets scanned across 1 files\n MATCH 19\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Episymbiotic_CPR_DPANN_Groundwater_Community-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Episymbiotic_CPR_DPANN_Groundwater_Community-rank.log", + "log_sha256": "d6eac5e20970dda45469f6b41b4da5bb2daf78e42eda9dbd81910ab22cce6d0c", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000237\",\n \"name\": \"Episymbiotic CPR Bacteria and DPANN Archaea Groundwater Community\",\n \"score\": 76.0,\n \"taxonomy\": 3,\n \"connected_taxa\": 3,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 5,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 11,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml\"\n }\n]\n" + }, + { + "check": "Episymbiotic_CPR_DPANN_Groundwater_Community-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Episymbiotic_CPR_DPANN_Groundwater_Community/2026-10-06T090852Z-codex-64a1b6.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Episymbiotic_CPR_DPANN_Groundwater_Community-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Euglena_Chlorella_Microalgal_Biorefinery_Coculture-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Euglena_Chlorella_Microalgal_Biorefinery_Coculture-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Euglena_Chlorella_Microalgal_Biorefinery_Coculture-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch38/Euglena_Chlorella_Microalgal_Biorefinery_Coculture-strict.tsv", + "kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Euglena_Chlorella_Microalgal_Biorefinery_Coculture-strict.log", + "log_sha256": "42add30ed03c425e5ab11a5627fa7fa689bc1a4281957e28cf7c0aea7a8ab839", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch38/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-batch38/Euglena_Chlorella_Microalgal_Biorefinery_Coculture-strict.tsv\n" + }, + { + "check": "Euglena_Chlorella_Microalgal_Biorefinery_Coculture-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Euglena_Chlorella_Microalgal_Biorefinery_Coculture-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Euglena_Chlorella_Microalgal_Biorefinery_Coculture-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Euglena_Chlorella_Microalgal_Biorefinery_Coculture-references.log", + "log_sha256": "a5fb8863d2503d271a003c47e4ceb4838bba7b287a5626a31961c8b5e933ee9d", + "output_tail": "Validating kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_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/Euglena_Chlorella_Microalgal_Biorefinery_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": "Euglena_Chlorella_Microalgal_Biorefinery_Coculture-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Euglena_Chlorella_Microalgal_Biorefinery_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": "Euglena_Chlorella_Microalgal_Biorefinery_Coculture-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Euglena_Chlorella_Microalgal_Biorefinery_Coculture-rank.log", + "log_sha256": "98871500d706e1608dbd2de48ffb55018d2cb079f2696cc987d6e5b926e24b93", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000325\",\n \"name\": \"Euglena-Chlorella Microalgal Biorefinery Coculture\",\n \"score\": 78.8,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 4,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 6,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml\"\n }\n]\n" + }, + { + "check": "Euglena_Chlorella_Microalgal_Biorefinery_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/Euglena_Chlorella_Microalgal_Biorefinery_Coculture/2026-10-06T090853Z-codex-5f6b10.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/Euglena_Chlorella_Microalgal_Biorefinery_Coculture-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "inventory", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "reports/causal_graph_review/build_inventory.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/inventory.log", + "log_sha256": "d1ac05dbdf9f36a0a17db07b5bae00057cb47fd5b0664e9afef0f205f722fccc", + "output_tail": "{\n \"scope\": \"Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.\",\n \"semantic_review_rule\": \"Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.\",\n \"records\": 460,\n \"nodes\": 1469,\n \"edges\": 689,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 146,\n \"review_status_counts\": {\n \"needs_research\": 8,\n \"pending\": 297,\n \"reviewed\": 155\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-batch38/network.log", + "log_sha256": "c035fe6ed0bbf90371ab58d6557716c51eea79ac628e204173d70075f9efaa26", + "output_tail": "{\n \"preferred_term\": \"Legionella MAGs\",\n \"term\": {\n \"id\": \"NCBITaxon:445\",\n \"label\": \"Legionella\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The study detected Legionella-affiliated MAGs and used them in a virulence-gene risk assessment; the source did not assert pathogenicity for a cultured Legionella isolate.\\n\"\n },\n \"abundance_value\": \"Lower-abundance Legionella-affiliated MAGs detected during metagenomic risk assessment.\\n\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41457319\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"COMPUTATIONAL\",\n \"snippet\": \"detection of waterborne pathogens from the Legionella genus\",\n \"explanation\": \"Supports Legionella-affiliated lower-abundance bins as monitored biosafety-relevant members of the consortium.\\n\"\n }\n ]\n },\n \"message\": \"Taxon 'Legionella MAGs' has no interactions\"\n }\n ],\n \"Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom\": [\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Twelve-Strain SynCom Suppression of Sclerotinia Sclerotia\",\n \"interaction_index\": 0,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Trinickia MC Key Contribution to Sclerotia Mortality\",\n \"interaction_index\": 1,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Space_Habitat_SevenMember_Stress_Tolerance_SynCom\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Acinetobacter radioresistens 50V1\",\n \"taxon_id\": \"NCBITaxon:40216\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Acinetobacter radioresistens 50V1\",\n \"term\": {\n \"id\": \"NCBITaxon:40216\",\n \"label\": \"Acinetobacter radioresistens\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate came from the preflight Mars Odyssey Orbiter; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"50V1\",\n \"genome_accession\": \"GCA_002834555.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Acinetobacter radioresistens | 50V1 | Preflight Mars Odyssey Orbiter | \\u2013 | Mccoy et al., 2012 | GCA_002834555.1 | TSYB/TSYA | 37 \\u00b0C | 16\\u201318 h\",\n \"explanation\": \"Identifies A. radioresistens 50V1 as a consortium member and gives its spacecraft-associated source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Acinetobacter radioresistens 50V1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Micrococcus luteus W4-Al-K1\",\n \"taxon_id\": \"NCBITaxon:1270\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Micrococcus luteus W4-Al-K1\",\n \"term\": {\n \"id\": \"NCBITaxon:1270\",\n \"label\": \"Micrococcus luteus\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from an ISS aluminum-case touch array; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"W4-Al-K1\",\n \"genome_accession\": \"GCA_057816565.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Micrococcus luteus | W4-Al-K1 | ISS, Touch Array Aluminum Case | - | Kr\\u00e4mer et al., 2025 | GCA_057816565.1 | NB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies M. luteus W4-Al-K1 as a consortium member and gives its ISS source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Micrococcus luteus W4-Al-K1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"taxon_id\": \"NCBITaxon:64702\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"term\": {\n \"id\": \"NCBITaxon:64702\",\n \"label\": \"Propionibacterium cyclohexanicum\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. cyclohexanicum type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"TA-12T\",\n \"genome_accession\": \"GCA_900111365\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"16859\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Propionibacterium cyclohexanicum | TA-12 T | Spoilt Orange Juice | DSM 16859 T | Kusano et al., 1997 | GCA_900111365 | BHI, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies P. cyclohexanicum TA-12T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Propionibacterium cyclohexanicum TA-12T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas antarctica CMS 35T\",\n \"taxon_id\": \"NCBITaxon:219572\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas antarctica CMS 35T\",\n \"term\": {\n \"id\": \"NCBITaxon:219572\",\n \"label\": \"Pseudomonas antarctica\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. antarctica type strain as a biosafety-level-1 Pseudomonas surrogate.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"CMS 35T\",\n \"genome_accession\": \"GCA_010634845\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"15318\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pseudomonas antarctica | CMS 35 T | Antarctica | DSM 15318 T | Reddy et al., 2004 | GCA_010634845 | TSYB/TSYA | Ambient | 12\\u201316 h\",\n \"explanation\": \"Identifies P. antarctica CMS 35T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "check": "rank-all", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/rank-all.log", + "log_sha256": "4deb9a7503ea2a7afac848ad5fc9117a2a68f5d50c35e314d5f7e412a9f8da57", + "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-batch38/render.log", + "log_sha256": "fff7f8b51b53baa6dc28d8b3dbd570244b07a9cd475298a73ad2382595f45fda", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch38/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch38/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch38/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-batch38/render-repeat.log", + "log_sha256": "fff7f8b51b53baa6dc28d8b3dbd570244b07a9cd475298a73ad2382595f45fda", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch38/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch38/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch38/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch38/docs/index.html\n" + }, + { + "check": "connectivity-survey", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-c", + "import json,runpy; print(json.dumps(runpy.run_path(\"tests/test_community_level_connectivity_credit.py\")[\"_survey\"](),sort_keys=True))" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/connectivity-survey.log", + "log_sha256": "fb47676e0ec6945737e5aeeba11192e7b8ff073a9e93ce8809972a4316c7c565", + "output_tail": "{\"community_level_only\": 263, \"credited_solely_by_the_rule\": 1219, \"mixed\": 124, \"records\": 460, \"taxa\": 1494, \"with_community_level\": 387}\n" + }, + { + "check": "regressions", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch10.py", + "tests/test_causal_review_batch11.py", + "tests/test_causal_review_batch12.py", + "tests/test_causal_review_batch13.py", + "tests/test_causal_review_batch14.py", + "tests/test_causal_review_batch15.py", + "tests/test_causal_review_batch16.py", + "tests/test_causal_review_batch17.py", + "tests/test_causal_review_batch18.py", + "tests/test_causal_review_batch19.py", + "tests/test_causal_review_batch20.py", + "tests/test_causal_review_batch21.py", + "tests/test_causal_review_batch22.py", + "tests/test_causal_review_batch23.py", + "tests/test_causal_review_batch24.py", + "tests/test_causal_review_batch25.py", + "tests/test_causal_review_batch27.py", + "tests/test_causal_review_batch28.py", + "tests/test_causal_review_batch29.py", + "tests/test_causal_review_batch30.py", + "tests/test_causal_review_batch31.py", + "tests/test_causal_review_batch32.py", + "tests/test_causal_review_batch33.py", + "tests/test_causal_review_batch34.py", + "tests/test_causal_review_batch35.py", + "tests/test_causal_review_batch36.py", + "tests/test_causal_review_batch37.py", + "tests/test_causal_review_batch38.py", + "tests/test_causal_review_batch5.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch9.py", + "tests/test_site_audit_fixes.py", + "tests/test_causal_review_inventory.py", + "tests/test_rank_causal_graph_readiness.py", + "tests/test_network_auditor.py", + "tests/test_participating_taxa.py", + "tests/test_causal_descriptions_are_published.py", + "tests/test_published_pages_name_real_records.py", + "tests/test_reference_validator_actually_validates.py", + "tests/test_snippet_audit_artefact_classes.py", + "tests/test_reference_error_annotation.py", + "tests/test_community_level_connectivity_credit.py", + "tests/test_no_paywalled_text_in_repo.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/regressions.log", + "log_sha256": "7b293d0ca9f2822e666cd0f6b65224eded327f9badaa0813eb3f68b383d4f268", + "output_tail": "........................................................................ [ 17%]\n........................................................................ [ 35%]\n........................................................................ [ 53%]\n........................................................................ [ 70%]\n........................................................................ [ 88%]\n............................................... [100%]\n407 passed in 203.34s (0:03:23)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch38.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/black.log", + "log_sha256": "1a56c7cd8457fd05d978cfbd139d7bfd86e86acaa9b57668e718ef8bccc0cf48", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n1 file would be left unchanged.\n" + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch38.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch38/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-batch38/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + } + ], + "limitations": [ + "Twelve existing nodes retained; three part/whole arrows removed; one explicitly hypothesized mechanism link retained in each record. No added connectivity.", + "Primary full main body for CPR/DPANN, abstract-only access for Ensifer and Euglena. Separate Oak Ridge source read only through early Results to resolve provenance. No visual figures, separate supplements or raw data reviewed.", + "Canonical taxonomy and non-graph raw blocks preserved, not certified; #1441-1443 remain open. Access failure is not proof of a paywall.", + "Single-organism microalgal profiles become intrinsic source-only PAIRWISE, not self-edges. Higher aggregate output does not establish reciprocal organism fitness.", + "Self-adversarial review is not independent approval, protected main merge or full-corpus completion. Textual snippet matching is not scientific validation.", + "HTML descriptions checked by exact parser and repeat renders, not browser screenshots. Post-commit docs-current is a separate publication gate.", + "All three reference-validator commands exit 0 with Total checks: 0. This is a no-op, not evidence validation. Independent snippet counts and primary-source review are separate." + ], + "snippet_counts_by_record": { + "kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml": { + "MATCH": 6, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml": { + "MATCH": 19, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml": { + "MATCH": 16, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "unchanged_raw_blocks": 40, + "unchanged_record_files": 457, + "unchanged_cache_files": 920, + "network_delta": { + "existing_findings_preserved": 33, + "new_disconnected": 0, + "added_findings": {}, + "rationale": "All baseline warnings exactly preserved; no invented graph links to suppress warnings." + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1455, + "arrows": 681 + }, + "participant_census": { + "connectivity_before": { + "community_level_only": 264, + "credited_solely_by_the_rule": 1221, + "mixed": 123, + "records": 460, + "taxa": 1494, + "with_community_level": 387 + }, + "connectivity_after": { + "community_level_only": 263, + "credited_solely_by_the_rule": 1219, + "mixed": 124, + "records": 460, + "taxa": 1494, + "with_community_level": 387 + }, + "exact_change": "All three records already registered; 184-user roster unchanged. Two intrinsic microalgal profiles make Euglena/Chlorella mixed-scope (123 to 124) and lower sole broad credit by two (1221 to 1219). No taxonomy or numeric-bound changes.", + "numeric_bounds_changed": false + }, + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1469, + "edges": 689, + "records_without_nodes": 8, + "records_without_edges": 146, + "review_status_counts": { + "needs_research": 8, + "pending": 297, + "reviewed": 155 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml": "788d30c2bbcf8de2a515f5a32349e09db6f4ac476aab03479e1b8e06674d6d56", + "tests/test_causal_review_batch38.py": "1f8a7711a2a13a56a3a6519cdc11c995e350a7aa88e94246d6178a44b8467429", + "kb/communities/Ensifer_YF2_Sphingobacterium_Y2_Polyethylene_Degrading_Consortium.yaml": "57ac6be6ce479d6e721e7c7a81a54ede921eee8620e3b466d061750d7d24d60c", + "kb/communities/Episymbiotic_CPR_DPANN_Groundwater_Community.yaml": "365db2424aa243d7f2727a5bb344aae80293574cc6a1d2db7e5780ccb475eb09", + "kb/communities/Euglena_Chlorella_Microalgal_Biorefinery_Coculture.yaml": "4d5cdc403a12e77b46efdff937eebb29fd0e3b71418a497ea69287ac0a8d0bfc" + }, + "status": "verified_three_completed_existing_graph_reviews", + "reference_validator_effective_checks": 0, + "reference_validator_caveat": "All three reference-validator commands exit 0 with Total checks: 0. This is a no-op, not evidence validation. Independent snippet counts and primary-source review are separate.", + "pre_research_baseline": { + "base_commit": "a22f0f871bdfe84762b2dfcf2e38cb2c2d17949f", + "base_tree": "53fbd8501df23432e22ae64785408cff1c614027", + "research_worktree": "/private/tmp/communitymech-causal-batch37", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch38/baseline-rank.log", + "sha256": "a4d0530632319f6557098fa585b9b29649e5230108fe69721246d8017742b83e", + "output_tail": "nol_Anaerobic_Bioremediation_SynCom.yaml\tCommunityMech:000112\tTribromophenol Anaerobic Bioremediation SynCom\t3\t3\t0\t4\t3\t5\t\t0\t0\n444\t100.0\tkb/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml\tCommunityMech:000188\tTrichococcus-Syntrophomonas-Methanospirillum Butyrate Coculture\t3\t3\t0\t3\t2\t6\t\t0\t0\n445\t100.0\tkb/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml\tCommunityMech:000205\tTrichoderma-E. coli Cellulosic Isobutanol Coculture\t2\t2\t0\t3\t2\t5\t\t0\t0\n446\t100.0\tkb/communities/Trichoderma_Lactate_Platform.yaml\tCommunityMech:000075\tTrichoderma Lactate Platform for SCFA Production\t3\t3\t0\t3\t2\t3\t\t0\t0\n447\t100.0\tkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml\tCommunityMech:000270\tTrichoderma-Streptomyces Filamentous Cellulose Coculture\t2\t2\t0\t3\t2\t7\t\t0\t0\n448\t100.0\tkb/communities/Trichodesmium_Alteromonas_Marine_Consortium.yaml\tCommunityMech:000147\tTrichodesmium-Alteromonas Marine Consortium\t3\t3\t0\t3\t2\t5\t\t0\t0\n449\t100.0\tkb/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml\tCommunityMech:000337\tTropidoatractus magnetotacticus Magnetotactic Ciliate Tripartite Syntrophy\t3\t3\t0\t4\t2\t9\t\t0\t0\n450\t100.0\tkb/communities/Urine_Nitrification_SynCom.yaml\tCommunityMech:000117\tUrine Nitrification Synthetic Microbial Community\t5\t5\t0\t3\t2\t5\t\t0\t0\n451\t100.0\tkb/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml\tCommunityMech:000213\tVariovorax-Cryptococcus Vitamin Cross-Feeding Microcosm\t2\t2\t0\t3\t2\t4\t\t0\t0\n452\t100.0\tkb/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml\tCommunityMech:000328\tWaste-Sludge Electro-Fermentation Biofilm-Suspension Community\t5\t5\t0\t4\t2\t6\t\t0\t0\n453\t100.0\tkb/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.yaml\tCommunityMech:000098\tWatermelon Rhizosphere Fusarium-Protective SynCom8\t2\t2\t0\t3\t2\t7\t\t0\t0\n454\t100.0\tkb/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml\tCommunityMech:000255\tWetland Oxygen-Sulfate Greenhouse Gas Microcosm Community\t3\t3\t0\t3\t2\t6\t\t0\t0\n455\t100.0\tkb/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.yaml\tCommunityMech:000118\tWheat Straw Biogas Pretreatment SynCom\t4\t4\t0\t3\t2\t4\t\t0\t0\n456\t100.0\tkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml\tCommunityMech:000354\tYarrowia lipolytica Division-of-Labor Lipid Consortium\t2\t2\t0\t3\t2\t3\t\t0\t0\n457\t100.0\tkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml\tCommunityMech:000164\tYogurt Two-Species Starter Culture\t2\t2\t0\t4\t2\t9\t\t0\t0\n458\t100.0\tkb/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml\tCommunityMech:000210\tZymomonas-E. coli Exometabolomics-Designed Obligate Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n459\t100.0\tkb/communities/hCom2_Complex_Gut_Microbiome.yaml\tCommunityMech:000123\thCom2 Complex Gut Microbiome\t1\t1\t0\t3\t2\t3\t\t0\t0\n460\t100.0\tkb/communities/mCAFEs_Brachypodium_RCC.yaml\tCommunityMech:000078\tm-CAFEs Brachypodium Reduced Complexity Consortia\t10\t10\t0\t6\t2\t11\t\t0\t0\nPYTHONPATH=src uv run python scripts/rank_causal_graph_readiness.py \n" + }, + { + "name": "just-network", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_code": 2, + "log": "/private/tmp/communitymech-batch38/baseline-just-network.log", + "sha256": "8595db43420d3f0a01c57acd6ad733a531a72e962486d20b4e1c2840dda55bff", + "output_tail": "uv run communitymech audit-network --json\nerror: Failed to spawn: `communitymech`\n Caused by: No such file or directory (os error 2)\nerror: recipe `audit-network-json` failed on line 574 with exit code 2\n" + }, + { + "name": "network", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "communitymech.cli", + "audit-network", + "--json" + ], + "exit_code": 1, + "expected_exit_code": 1, + "log": "/private/tmp/communitymech-batch38/baseline-network.log", + "sha256": "c035fe6ed0bbf90371ab58d6557716c51eea79ac628e204173d70075f9efaa26", + "output_tail": " DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "name": "downstream", + "command": [ + "rg", + "--no-ignore", + "--hidden", + "-n", + "downstream:", + "kb/communities", + "data/isolates", + "--glob", + "*.yaml" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch38/baseline-downstream.log", + "sha256": "9e97d686dbe8e6d4d8cc7ea67f62c636c2bfbaa429962d80ed1a09fb22075f25", + "output_tail": "/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/At_RSPHERE_SynCom.yaml:207: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:249: downstream:\nkb/communities/Clostridium_Carboxidivorans_Kluyveri_CO_Chain_Elongation_Coculture.yaml:247: downstream:\nkb/communities/Clostridium_Carboxidivorans_Kluyveri_CO_Chain_Elongation_Coculture.yaml:344: downstream:\nkb/communities/BioModels_MODEL2204300001_Kefir_Community_Model.yaml:203: downstream:\nkb/communities/Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml:285: downstream:\nkb/communities/Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml:324: downstream:\nkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml:223: 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:\nkb/communities/Methylotuvimicrobium_Synechococcus_Gas_Feedstock_Coculture.yaml:157: downstream:\nkb/communities/Methylotuvimicrobium_Synechococcus_Gas_Feedstock_Coculture.yaml:203: downstream:\nkb/communities/Clostridium_Thermocellum_Saccharoperbutylacetonicum_Cellulosic_Butanol_Coculture.yaml:147: downstream:\nkb/communities/Clostridium_Thermocellum_Saccharoperbutylacetonicum_Cellulosic_Butanol_Coculture.yaml:222: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:135: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:177: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:295: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:339: downstream:\nkb/communities/PMI_Variovorax_Thermotolerance_Collection.yaml:330: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:199: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:267: downstream:\nkb/communities/Lake_Washington_Methane_Oxygen_Methylotroph_Community.yaml:336: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:281: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:401: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:120: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:152: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:65: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:98: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:131: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:155: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:268: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:315: downstream:\n" + } + ] + } +} diff --git a/tests/test_causal_review_batch38.py b/tests/test_causal_review_batch38.py new file mode 100644 index 000000000..181c01b1b --- /dev/null +++ b/tests/test_causal_review_batch38.py @@ -0,0 +1,187 @@ +"""Keep genomic models, attachment proxies and aggregate outcomes distinct.""" + +import hashlib +from collections import Counter +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261006-three-records-batch38.yaml" + + +def records(): + ledger = yaml.safe_load(LEDGER.read_text()) + return ledger, [yaml.safe_load((ROOT / r["path"]).read_text()) for r in ledger["records"]] + + +def test_ensifer_keeps_a_genomic_hypothesis_not_measured_exchange(): + _, docs = records() + model, performance, surface = docs[0]["ecological_interactions"] + assert model["scope"] == "PAIRWISE" + assert model["source_taxon"]["preferred_term"] == "Ensifer sp. YF2" + assert model["target_taxon"]["preferred_term"] == "Sphingobacterium sp. Y2" + assert model["description"].startswith("HYPOTHESIZED -") + assert model["evidence"][0]["supports"] == "PARTIAL" + assert model["evidence"][0]["evidence_source"] == "COMPUTATIONAL" + assert [e["target"] for e in model["downstream"]] == [performance["name"]] + assert model["downstream"][0]["description"].startswith("HYPOTHESIZED -") + assert "not measured donor export" in model["description"] + for node in [performance, surface]: + assert node["scope"] == "COMMUNITY_LEVEL" + assert len(node["participating_taxa"]) == 2 + assert "downstream" not in node + assert all( + not {"interaction_type", "biological_processes"} & n.keys() + for n in [model, performance, surface] + ) + assert "MF1 is a comparator" in performance["description"] + assert "not demonstrated reciprocal fitness" in performance["description"] + assert "do not by themselves establish complete mineralization" in surface["description"] + + +def test_cpr_records_a_multisite_framework_and_imperfect_attachment_proxy(): + _, docs = records() + coexist, sites, fractions, attachment, replication = docs[1]["ecological_interactions"] + assert "eight Northern California" in coexist["description"] + assert "not one defined three-member culture" in coexist["description"] + assert "founder effects" in sites["description"] + assert "not direct taxonomic identification" in fractions["description"] + assert "DNA yield and genome-size corrections" in fractions["description"] + assert fractions["evidence"][0]["supports"] == "PARTIAL" + assert fractions["evidence"][0]["evidence_source"] == "COMPUTATIONAL" + for node in [coexist, sites, fractions, attachment]: + assert len(node["participating_taxa"]) == 3 + assert len(replication["participating_taxa"]) == 2 + assert all("interaction_type" not in n for n in docs[1]["ecological_interactions"]) + assert all("downstream" not in n for n in [coexist, sites, fractions, replication]) + assert "2026-10-02" in docs[1]["discussions"][-1]["rationale"] + assert "separate Oak Ridge groundwater" in docs[1]["discussions"][-1]["rationale"] + + +def test_cpr_replication_does_not_include_archaea_or_prove_host_neutrality(): + _, docs = records() + *_, attachment, replication = docs[1]["ecological_interactions"] + assert [e["target"] for e in attachment["downstream"]] == [replication["name"]] + assert attachment["downstream"][0]["description"].startswith("HYPOTHESIZED -") + assert "not selectively perturbed" in attachment["downstream"][0]["description"] + assert "inferred from size" in attachment["description"] + assert [p["term"]["id"] for p in attachment["biological_processes"]] == ["GO:0007155"] + assert "three of four" in replication["description"] + assert "average genome-replication state" in replication["description"] + assert "not a single-cell growth rate or doubling time" in replication["description"] + assert "Archaea were excluded" in replication["description"] + assert "host fitness was not measured" in replication["description"] + assert "biological_processes" not in replication + assert all(e["evidence_source"] == "COMPUTATIONAL" for e in replication["evidence"]) + assert all(e["supports"] == "PARTIAL" for e in replication["evidence"][:2]) + + +def test_euglena_profiles_are_intrinsic_without_specific_tocopherol_export(): + _, docs = records() + eg, cp, complement, output = docs[2]["ecological_interactions"] + for node in [eg, cp]: + assert node["scope"] == "PAIRWISE" + assert ( + not {"interaction_type", "target_taxon", "participating_taxa", "downstream"} + & node.keys() + ) + assert node["description"].startswith("PARTIAL -") + assert all(e["supports"] == "PARTIAL" for e in node["evidence"]) + assert all(e["evidence_source"] == "COMPUTATIONAL" for e in node["evidence"]) + assert eg["source_taxon"]["preferred_term"] == "Euglena gracilis" + assert cp["source_taxon"]["preferred_term"] == "Chlorella pyrenoidosa" + assert cp["source_taxon"]["term"] == { + "id": "NCBITaxon:3078", + "label": "Auxenochlorella pyrenoidosa", + } + assert "metabolites" not in eg + assert "alpha-tocopherol was exported" in eg["description"] + assert output["metabolites"][0]["term"]["id"] == "CHEBI:22470" + assert complement["description"].startswith("HYPOTHESIZED -") + + +def test_microalgal_total_output_does_not_establish_reciprocal_fitness(): + _, docs = records() + _, _, complement, output = docs[2]["ecological_interactions"] + assert [e["target"] for e in complement["downstream"]] == [output["name"]] + assert complement["downstream"][0]["description"].startswith("HYPOTHESIZED -") + assert all(e["supports"] == "PARTIAL" for e in complement["evidence"]) + assert "downstream" not in output + for node in [complement, output]: + assert node["scope"] == "COMMUNITY_LEVEL" + assert len(node["participating_taxa"]) == 2 + assert "interaction_type" not in node + assert "3:7 coculture in TAP" in output["description"] + assert "do not establish that both species benefit" in output["description"] + assert "exogenous alpha-lipoic acid" in output["description"] + assert "not proof of endogenous cross-feeding" in output["description"] + + +def test_batch38_canonical_participants_anchors_history_and_hashes(): + ledger, docs = records() + for row, doc in zip(ledger["records"], docs, strict=True): + canonical = { + (t["taxon_term"]["term"]["id"], t["taxon_term"]["preferred_term"]): t["taxon_term"] + for t in doc["taxonomy"] + } + names = {n["name"] for n in doc["ecological_interactions"]} + for node in doc["ecological_interactions"]: + terms = node.get("participating_taxa", []) + [ + node[k] for k in ["source_taxon", "target_taxon"] if k in node + ] + for term in terms: + assert ( + term["term"] == canonical[(term["term"]["id"], term["preferred_term"])]["term"] + ) + assert all( + e["target"] in names and e["target"] != node["name"] + for e in node.get("downstream", []) + ) + assert len(doc["discussions"]) == 1 + gap = doc["discussions"][0] + assert gap["kind"] == "KNOWLEDGE_GAP" and gap["status"] == "OPEN" + assert set(gap["attaches_to"]) == {"ecological_interactions#" + n for n in names} + assert row["curation_events_added"] == 1 and len(row["history_files"]) == 1 + assert doc["curation_history"][-1]["llm_assisted"] is True + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + + +def test_batch38_all_nodes_and_arrows_have_explicit_dispositions(): + ledger, docs = records() + assert ledger["independent_approval"] is False and ledger["issues"] == [1438, 1439, 1440] + assert sum(len(r["node_decisions"]) for r in ledger["records"]) == 12 + assert all( + not r["removed_node_decisions"] and not r["renamed_nodes"] for r in ledger["records"] + ) + assert sum(len(r["retained_edge_decisions"]) for r in ledger["records"]) == 3 + assert sum(len(r["removed_edge_decisions"]) for r in ledger["records"]) == 3 + for row, doc in zip(ledger["records"], docs, strict=True): + assert row["status"] == "reviewed" + assert Counter(d["node"] for d in row["node_decisions"]) == Counter( + n["name"] for n in doc["ecological_interactions"] + ) + assert {(e["source"], e["target"]) for e in row["edges_before"]} == { + (e["source"], e["target"]) for e in row["edges_after"] + row["removed_edge_decisions"] + } + assert len(row["edges_after"]) == 1 + assert row["edges_after"][0]["description"].startswith("HYPOTHESIZED -") + for path, digest in ledger["reference_cache_original_hashes"].items(): + assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest + + +def test_batch38_does_not_certify_nongraph_fields_or_unread_sources(): + ledger, docs = records() + assert ledger["open_nongraph_followups"] == [1441, 1442, 1443] + assert ledger["open_graph_research"] == [] + assert "no_provider_job_or_charge" in ledger["edison"]["status"] + assert docs[0]["taxonomy"][0]["taxon_term"]["gtdb_grounding_status"] == "AMBIGUOUS" + assert len(docs[0]["taxonomy"]) == 2 + assert "paywalled" in docs[0]["growth_media"][0]["preparation_notes"] + source = ledger["records"][0]["source_review"]["PMID:41996795"]["scope"] + assert "Open access" in source and "retrieval returned403" in source + assert "Remaining main body" in ledger["records"][1]["source_review"]["PMID:32252814"]["scope"] + cache = (ROOT / "references_cache/PMID_33495623.md").read_text() + assert "content_type: abstract_only" in cache and "OPEN-ACCESS FULL TEXT" in cache + assert ledger["issue_deduplication"]["ignored_hidden_local_files_included"] is True + assert ledger["issue_deduplication"]["comments_exhaustive"] is False