diff --git a/docs/communities/Early_Dental_Biofilm_FiveSpecies.html b/docs/communities/Early_Dental_Biofilm_FiveSpecies.html index de31d4b2e..b01d36810 100644 --- a/docs/communities/Early_Dental_Biofilm_FiveSpecies.html +++ b/docs/communities/Early_Dental_Biofilm_FiveSpecies.html @@ -654,7 +654,7 @@

Ecological Interactions

Ecological interaction network for Early Dental Biofilm Five-Species Model - 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 (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.
@@ -662,13 +662,8 @@

Ecological Interactions

Niche partitioning -
-
- Colonization facilitation + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -676,10 +671,9 @@

Ecological Interactions

-

Actinomyces and S. mitis coaggregation during early biofilm assembly

- COLONIZATION_FACILITATION +

A. naeslundii and S. mitis Planktonic Coaggregation

-

Actinomyces naeslundii AK6 and Streptococcus mitis SK24 formed visible coaggregates in diluted Todd-Hewitt broth within 15 min, indicating a direct cell-cell association that can contribute to mixed-species early dental biofilm assembly.

+

A. naeslundii AK6 and S. mitis SK24 formed visible coaggregates within 15 min in a separate planktonic assay in 1/10 Todd-Hewitt broth. This is direct physical association, not a demonstrated directional benefit, colonization-facilitation effect or cause of acidification in the five-species biofilm. The authors propose an adhesion contribution but did not selectively perturb coaggregation in the pH assay.

Source Taxon: Actinomyces naeslundii

@@ -692,28 +686,7 @@

Actinomyces and S. mitis coaggregation during early biofilm assembly

-

Biological Processes:

- - - - -
- Downstream Effects: - -
- → Five-species glucose acidification of the biofilm interface -

Direct A. naeslundii-S. mitis coaggregation contributes to assembly of the reproducible five-species biofilm that was challenged with glucose for microscale pH imaging.

-
-
@@ -739,10 +712,9 @@

Evidence

-

Actinomyces and S. sanguinis coaggregation during early biofilm assembly

- COLONIZATION_FACILITATION +

A. naeslundii and S. sanguinis Planktonic Coaggregation

-

Actinomyces naeslundii AK6 also coaggregated with Streptococcus sanguinis SK150, forming small suspended aggregates within 2 h and providing a second direct pairwise attachment interaction in the five-member biofilm.

+

A. naeslundii AK6 and S. sanguinis SK150 formed small suspended aggregates within 2 h in the separate planktonic assay, weaker than the A. naeslundii-S. mitis association. The source/target fields identify the measured pair, not a direction of facilitation. This does not establish an attachment route or acidification mechanism in the five-species flow biofilm.

Source Taxon: Actinomyces naeslundii

@@ -755,29 +727,8 @@

Actinomyces and S. sanguinis coaggregation during early biofilm assembly

Biological Processes:

- - -
- Downstream Effects: - -
- → Five-species glucose acidification of the biofilm interface -

Direct A. naeslundii-S. sanguinis coaggregation provides a second attachment route into the five-species biofilm whose glucose metabolism generated stable acidic microenvironments.

-
- -
-

Evidence

@@ -803,12 +754,25 @@

Evidence

Five-species glucose acidification of the biofilm interface

- NICHE_PARTITIONING
-

After the five species were established as a reproducible flow-channel biofilm, glucose addition immediately triggered biofilm acid production and generated stable extracellular pH microenvironments at the biofilm-substrate interface.

+

Sequentially assembled five-species plastic flow-channel biofilms showed extracellular acidification after 0.4% or 10% glucose in sterile saliva, while the no-glucose control remained above pH 7. Spatial pH differences persisted for hours. This is a collective glucose-response endpoint, not demonstrated niche partitioning, metabolite exchange, species-specific acid flux or enamel demineralization. Growth in flowing diluted Todd-Hewitt broth and the later salivary glucose challenge are distinct stages.

+ + + +

Participating Taxa: + Streptococcus oralis, + Streptococcus sanguinis, + + Streptococcus mitis, + + Streptococcus downei, + + Actinomyces naeslundii + +

@@ -862,6 +826,25 @@

Evidence

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Does either pairwise coaggregation mechanism mediate biofilm acidification? +

+

Planktonic coaggregation and glucose-responsive biofilm pH were measured in different assays. Neither pair was selectively disrupted or rescued in the biofilm; physical association does not establish colonization benefit or mediation of the pH response. Resolve species-specific acid flux and the origin of persistent pH heterogeneity experimentally. The two workflow-to-outcome arrows are removed. Flow rate, growth feed, substrate and temperature-stage metadata remain under #1420.

+ +

Attaches to: ecological_interactions#A. naeslundii and S. mitis Planktonic Coaggregation, ecological_interactions#A. naeslundii and S. sanguinis Planktonic Coaggregation, ecological_interactions#Five-species glucose acidification of the biofilm interface

+ + + + +
+ +
@@ -1122,20 +1105,16 @@

Evidence

(function() { var intId = "interaction:0"; - var intType = "COLONIZATION_FACILITATION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("biofilm formation"); - - var evidenceCount = 1; nodes.push({ id: intId, - label: "Actinomyces and S. mitis coaggregation during early biofilm assembly", + label: "A. naeslundii and S. mitis Planktonic Coaggregation", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1160,20 +1139,16 @@

Evidence

(function() { var intId = "interaction:1"; - var intType = "COLONIZATION_FACILITATION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("biofilm formation"); - - var evidenceCount = 1; nodes.push({ id: intId, - label: "Actinomyces and S. sanguinis coaggregation during early biofilm assembly", + label: "A. naeslundii and S. sanguinis Planktonic Coaggregation", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1198,7 +1173,7 @@

Evidence

(function() { var intId = "interaction:2"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1226,6 +1201,25 @@

Evidence

+ var participantKeys = [ + + "Streptococcus oralis", + + "Streptococcus sanguinis", + + "Streptococcus mitis", + + "Streptococcus downei", + + "Actinomyces naeslundii" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/docs/communities/East_River_Floodplain_Core_Microbiome.html b/docs/communities/East_River_Floodplain_Core_Microbiome.html index 191e3ea27..72f204f09 100644 --- a/docs/communities/East_River_Floodplain_Core_Microbiome.html +++ b/docs/communities/East_River_Floodplain_Core_Microbiome.html @@ -655,7 +655,7 @@

Ecological Interactions

Ecological interaction network for East River Floodplain Core Microbiome - 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 (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.
@@ -663,8 +663,8 @@

Ecological Interactions

Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -673,13 +673,20 @@

Ecological Interactions

Core Floodplain Biogeochemical Potential Reservoir

- NICHE_PARTITIONING
-

High-prevalence floodplain genomes form a shared reservoir of one-carbon, sulfur, nitrogen, hydrogen, and aerobic respiratory capacity that becomes active as environmental conditions change across East River floodplain soils.

+

The 2015 operational core comprises 42 representative genomes detected in at least 89 of 94 samples without a significant association to any one floodplain. Their gene inventories define biogeochemical potential, not measured activation or flux. Listed Betaproteobacteria and Gemmatimonadota participants are partial higher-level core groupings, not a complete roster or an assertion that every genome encodes every pathway. Widely represented capacities did not predict the later transcription snapshot.

+

Participating Taxa: + + Betaproteobacteria-dominated core floodplain microbiome, + + Gemmatimonadota floodplain representatives + +

+

Metabolites: @@ -715,25 +722,23 @@

Core Floodplain Biogeochemical Potential Reservoir

-
- Downstream Effects: -
- → Core Floodplain Aerobic and Sulfur Oxidation Capacity -

Shared core genomes encode aerobic respiration, aerobic carbon monoxide oxidation, and thiosulfate oxidation capacity across meanders.

-
-
- → Low-Organic-Carbon Chemolithotrophic Activity -

The core capacity reservoir is expressed unevenly; under lower soil organic carbon, chemolithotrophic one-carbon, sulfur, hydrogen, and nitrogen redox genes become highly active.

-
+

Evidence

+
    -
+
  • +
    + PMID:34022966 + - SUPPORT (COMPUTATIONAL) +
    -

    Evidence

    -
      +
      "Widely represented genetic capacities did not predict in situ activity at one time point, but rather they define a reservoir of biogeochemical potential available as conditions change."
      + +
    • @@ -744,7 +749,7 @@

      Evidence

      - SUPPORT (COMPUTATIONAL)
      -
      "Widely represented genetic capacities did not predict in situ activity at one time point, but rather they define a reservoir of biogeochemical potential available as conditions change."
      +
      "Genomes affiliated with Acidobacteria, Bacteroidetes, and Chloroflexi were not part of the core floodplain microbiome"
    • @@ -755,13 +760,20 @@

      Evidence

      Core Floodplain Aerobic and Sulfur Oxidation Capacity

      - NICHE_PARTITIONING
      -

      The cross-site core floodplain microbiome is enriched in aerobic respiration, carbon monoxide oxidation, and thiosulfate oxidation, indicating shared redox capacity across meander-bound floodplain soils.

      +

      The operational core genome set is enriched in capacities for aerobic respiration, aerobic CO or other small-molecule oxidation, and thiosulfate oxidation. This is comparative gene-content enrichment, not measured reaction rates, cooperation or niche partitioning. The two canonical participant groups are a partial core roster; no universal per-taxon pathway assignment or substrate specificity for every CODH-like homolog is implied.

      +

      Participating Taxa: + + Betaproteobacteria-dominated core floodplain microbiome, + + Gemmatimonadota floodplain representatives + +

      +

      Metabolites: @@ -817,14 +829,19 @@

      Evidence

      -

      Low-Organic-Carbon Chemolithotrophic Activity

      - NICHE_PARTITIONING +

      Low-Organic-Carbon-Associated Gene Transcription in Floodplain L

      -

      Floodplain soils with lower organic carbon show increased activity of genes for methanol, formate, sulfide, hydrogen, and ammonia oxidation, nitrite oxidoreduction, nitrate and nitrite reduction, and carbon fixation, suggesting functional niche shifts along carbon gradients.

      +

      In the September 2016 floodplain L RNA snapshot, lower organic carbon correlated with increased transcription of selected C1, sulfur, hydrogen and nitrogen redox genes and carbon-fixation genes. This is not a carbon manipulation, measured flux, a result independently sampled in all three floodplains or activation of the entire 2015 core. Betaproteobacteria are included only as a broad grouping linked to CBB carbon-fixation capacity/activity; their overall transcription favored higher organic carbon. Other low-carbon-active groups are not reliably represented by the canonical taxonomy, so this is explicitly a partial participant list.

      +

      Participating Taxa: + + Betaproteobacteria-dominated core floodplain microbiome + +

      +

      Metabolites: @@ -871,7 +888,7 @@

      Evidence

      PMID:34022966 - - SUPPORT (COMPUTATIONAL) + - PARTIAL (COMPUTATIONAL)
      "Within all three meanders, low soil organic carbon correlated with high activity of genes involved in methanol, formate, sulfide, hydrogen, and ammonia oxidation, nitrite oxidoreduction, and nitrate and nitrite reduction."
      @@ -891,6 +908,32 @@

      Evidence

      +
    • +
      + + PMID:34022966 + + - SUPPORT (COMPUTATIONAL) +
      + +
      "we resampled floodplain L for metatranscriptomics and metagenomics"
      + +
    • + +
    • +
      + + PMID:34022966 + + - SUPPORT (COMPUTATIONAL) +
      + +
      "Activity of the Calvin Benson Bassham (CBB) pathway for CO2 fixation is linked to Betaproteobacteria, Deltaproteobacteria, Gammaproteobacteria, and NC10"
      + +
    • +
  • @@ -951,6 +994,25 @@

    Associated Datasets

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + Which genomes and environmental mechanisms link conserved capacity to measured flux? +

    +

    Core capacity enrichment is a part/whole description, not a causal consequence requiring an arrow. Gene inventories did not predict one-time expression, and the 2016 RNA study sampled only L. Direct flux and selective environmental perturbations are missing. The canonical Nitrospira genus ID cannot stand in for the paper's Nitrospirae phylum; Acidobacteriota are non-core and overall more transcriptionally active at higher organic carbon. Neither is assigned an unsupported graph link just to suppress disconnected warnings. Taxonomy and non-graph scope remain under #1421; no GTDB withholding policy is changed.

    + +

    Attaches to: ecological_interactions#Core Floodplain Biogeochemical Potential Reservoir, ecological_interactions#Core Floodplain Aerobic and Sulfur Oxidation Capacity, ecological_interactions#Low-Organic-Carbon-Associated Gene Transcription in Floodplain L

    + + + + +
    + +
    @@ -1131,7 +1193,7 @@

    Environmental Factors

    (function() { var intId = "interaction:0"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1148,7 +1210,7 @@

    Environmental Factors

    processes.push("carbon fixation"); - var evidenceCount = 1; + var evidenceCount = 2; nodes.push({ id: intId, @@ -1163,11 +1225,24 @@

    Environmental Factors

    + var participantKeys = [ + + "Betaproteobacteria-dominated core floodplain microbiome", + + "Gemmatimonadota floodplain representatives" + + ]; + 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 = []; @@ -1197,11 +1272,24 @@

    Environmental Factors

    + var participantKeys = [ + + "Betaproteobacteria-dominated core floodplain microbiome", + + "Gemmatimonadota floodplain representatives" + + ]; + 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 = []; @@ -1218,11 +1306,11 @@

    Environmental Factors

    processes.push("carbon fixation"); - var evidenceCount = 2; + var evidenceCount = 4; nodes.push({ id: intId, - label: "Low-Organic-Carbon Chemolithotrophic Activity", + label: "Low-Organic-Carbon-Associated Gene Transcription in Floodplain L", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1233,6 +1321,17 @@

    Environmental Factors

    + var participantKeys = [ + + "Betaproteobacteria-dominated core floodplain microbiome" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/docs/communities/East_River_Hillslope_Riparian_Transect_Community.html b/docs/communities/East_River_Hillslope_Riparian_Transect_Community.html index f6114f552..e3d161d25 100644 --- a/docs/communities/East_River_Hillslope_Riparian_Transect_Community.html +++ b/docs/communities/East_River_Hillslope_Riparian_Transect_Community.html @@ -671,7 +671,7 @@

    Ecological Interactions

    Ecological interaction network for East River Hillslope Riparian Transect Microbial 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 (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.
    @@ -679,8 +679,8 @@

    Ecological Interactions

    Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
    @@ -688,14 +688,23 @@

    Ecological Interactions

    -

    Groundwater and Weathered Shale Niche Filtering

    - NICHE_PARTITIONING +

    Hypothesized Groundwater and Weathered Shale Filtering

    -

    Proximity to the stream, groundwater table, and weathered shale strongly structures community composition and metabolic potential along the hillslope-to-riparian transect.

    +

    Across the September 2016 PLM transect, microbial composition and DNA-based metabolic potential covaried with depth, river proximity, groundwater and weathered shale. HYPOTHESIZED moisture, redox and substrate filtering may explain these patterns, but no selective groundwater, shale or nutrient perturbation isolated the drivers. Compartment participants retain distinct canonical labels despite sharing a broad cellular-organisms ID; they are not resolved taxa.

    +

    Participating Taxa: + + East River hillslope-riparian transect microbiome, + + riparian zone microbial communities, + + hillslope microbial communities + +

    +

    Metabolites: @@ -718,18 +727,18 @@

    Groundwater and Weathered Shale Niche Filtering

    Downstream Effects:
    - → Riparian Carbon Nitrogen and Sulfur Functional Zone -

    Groundwater saturation and weathered shale stratify the transect into floodplain niches where carbon, nitrogen, and sulfur pathway genes differentiated riparian communities from hillslope communities.

    + → Riparian Carbon Nitrogen and Sulfur Genomic Potential +

    HYPOTHESIZED - groundwater-associated low-redox conditions may favor organisms carrying anaerobic carbon, nitrogen and sulfur pathway genes, producing the observed riparian-versus-hillslope differences. Spatial gene abundance supports the model but does not isolate redox as the mediator or demonstrate flux.

    → Depth-Enriched Uncultivated Bacterial Lineages -

    The same depth and saturation gradient that separates PLM4 water-table samples localizes CPR bacteria primarily to floodplain and groundwater-saturated sediments.

    +

    HYPOTHESIZED - depth and water-table conditions may select compatible microorganisms and possible hosts, influencing candidate-phylum distributions. Observational detections support environmental filtering, but no host dependence or exclusive groundwater requirement was tested; deep hillslope exceptions remain.

    - → Weathered Shale and Saturated Sediment Selenium Reduction -

    Weathered shale and saturated sediments expose communities to mobilized selenium and the below-water-table redox conditions where srdA selenate-reductase genes were enriched.

    + → Deep Shale and Riparian Selenate Reduction Potential +

    HYPOTHESIZED - shale-derived selenium availability together with periodically reducing groundwater conditions may select selenate-respiring organisms and enrich srdA. Gene abundance and incomplete chemistry support this proposed mechanism, not experimentally demonstrated selenium reduction or export control.

    @@ -745,7 +754,7 @@

    Evidence

    PMID:31380022 - - SUPPORT (COMPUTATIONAL) + - PARTIAL (COMPUTATIONAL)
    "proximity to groundwater and underlying weathered shale"
    @@ -758,7 +767,7 @@

    Evidence

    PMID:31380022 - - SUPPORT (COMPUTATIONAL) + - PARTIAL (COMPUTATIONAL)
    "strongly impact microbial community structure and metabolic potential"
    @@ -771,7 +780,7 @@

    Evidence

    PMID:31380022 - - SUPPORT (COMPUTATIONAL) + - PARTIAL (COMPUTATIONAL)
    "the proximity to sulfate and nitrate rich Mancos shale bedrock"
    @@ -784,14 +793,21 @@

    Evidence

    -

    Riparian Carbon Nitrogen and Sulfur Functional Zone

    - NICHE_PARTITIONING +

    Riparian Carbon Nitrogen and Sulfur Genomic Potential

    -

    Riparian-zone communities differ from hillslope communities in capacities for carbon fixation, nitrogen fixation, and sulfate reduction, suggesting that riparian saturated soils and sediments act as a biogeochemical functional zone in the watershed.

    +

    Riparian samples near and below the water table differed from hillslope samples in DNA abundances of genes associated with carbon fixation, nitrogen fixation and sulfur reduction. DsrD and other reductase signatures help interpret direction, but RNA was extracted for another study and no pathway flux was measured here. This comparison supports a putative functional zone, not demonstrated interspecies niche partitioning, complete redox cycling or equivalent metabolism in all compartments.

    +

    Participating Taxa: + + riparian zone microbial communities, + + hillslope microbial communities + +

    +

    Metabolites: @@ -864,6 +880,19 @@

    Evidence

    +
  • +
    + + PMID:31380022 + + - SUPPORT (COMPUTATIONAL) +
    + +
    "While RNA was extracted for the purpose of another study"
    + +
  • +
    @@ -871,29 +900,23 @@

    Evidence

    Depth-Enriched Uncultivated Bacterial Lineages

    - NICHE_PARTITIONING
    -

    Bacteria from phyla lacking isolated representatives increase in abundance with depth, and CPR bacteria were detected in saturated riparian sediments, linking vertical hydrologic gradients to uncultivated bacterial community structure.

    +

    Non-CPR candidate phyla increased with sampling depth. CPR detections were concentrated near and below the PLM4 water table, with two Yanofskybacteria occurrences in deep hillslope samples near weathered shale. These are distinct patterns, not exclusive confinement of every uncultivated lineage to saturated riparian sediment. CPR dependency on unknown hosts is a literature-based hypothesis, not measured cross-feeding or syntrophy in this transect.

    -

    Source Taxon: riparian saturated sediment Candidate Phyla Radiation bacteria

    +

    Participating Taxa: + East River hillslope-riparian transect microbiome, + riparian saturated sediment Candidate Phyla Radiation bacteria +

    -

    Biological Processes:

    - @@ -921,7 +944,7 @@

    Evidence

    PMID:31380022 - - SUPPORT (COMPUTATIONAL) + - PARTIAL (COMPUTATIONAL)
    "riparian zone saturated sediments we found Candidate Phyla Radiation bacteria"
    @@ -934,26 +957,46 @@

    Evidence

    PMID:31380022 - - SUPPORT (COMPUTATIONAL) + - PARTIAL (COMPUTATIONAL)
    "Many are likely obligate symbionts, and as such they may often associate with anaerobic hosts"
    +
  • +
    + + PMID:31380022 + + - SUPPORT (COMPUTATIONAL) +
    + +
    "Other than the two occurrences of Yanofskybacteria species in deep samples close to the soil"
    + +
  • +
    -

    Weathered Shale and Saturated Sediment Selenium Reduction

    - NICHE_PARTITIONING +

    Deep Shale and Riparian Selenate Reduction Potential

    -

    Selenium reduction is prominent at depth in weathered shale and saturated riparian sediments, indicating a water-quality-relevant redox function associated with the deeper transect microbiome.

    +

    DNA abundance of the srdA catalytic-subunit gene was elevated in groundwater-saturated riparian samples and deep weathered shale, consistent with selenate-reduction potential. The measured srdA-selenium association lacks chemistry at the deepest high-srdA sites. Actual selenate reduction rates, selenium removal, growth support and water-quality improvement were not measured; this is not direct evidence of selenite reduction by a named taxon.

    + + +

    Participating Taxa: + riparian zone microbial communities, + + hillslope microbial communities + +

    @@ -1057,6 +1100,25 @@

    Associated Datasets

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + Which environmental mechanisms and organisms realize the inferred redox capacities? +

    +

    Selective groundwater/redox/substrate perturbations and direct flux measurements are needed to distinguish the proposed drivers. DNA abundance is metabolic potential, not transcription or activity; selenium chemistry is missing at key deep high-srdA sites. CPR partners and exchanges are unknown, and candidate phyla are not synonymous with CPR. The three original arrows remain explicit hypotheses, not niche-partitioning facts. Non-graph role and activity wording remain under #1422.

    + +

    Attaches to: ecological_interactions#Hypothesized Groundwater and Weathered Shale Filtering, ecological_interactions#Riparian Carbon Nitrogen and Sulfur Genomic Potential, ecological_interactions#Depth-Enriched Uncultivated Bacterial Lineages, ecological_interactions#Deep Shale and Riparian Selenate Reduction Potential

    + + + + +
    + +
    @@ -1378,7 +1440,7 @@

    Environmental Factors

    (function() { var intId = "interaction:0"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1393,7 +1455,7 @@

    Environmental Factors

    nodes.push({ id: intId, - label: "Groundwater and Weathered Shale Niche Filtering", + label: "Hypothesized Groundwater and Weathered Shale Filtering", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1404,11 +1466,26 @@

    Environmental Factors

    + var participantKeys = [ + + "East River hillslope-riparian transect microbiome", + + "riparian zone microbial communities", + + "hillslope microbial communities" + + ]; + 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 = []; @@ -1427,11 +1504,11 @@

    Environmental Factors

    processes.push("sulfate reduction"); - var evidenceCount = 2; + var evidenceCount = 3; nodes.push({ id: intId, - label: "Riparian Carbon Nitrogen and Sulfur Functional Zone", + label: "Riparian Carbon Nitrogen and Sulfur Genomic Potential", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1442,20 +1519,29 @@

    Environmental Factors

    + var participantKeys = [ + + "riparian zone microbial communities", + + "hillslope microbial communities" + + ]; + 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("interspecies interaction between organisms"); - - - var evidenceCount = 3; + var evidenceCount = 4; nodes.push({ id: intId, @@ -1468,18 +1554,26 @@

    Environmental Factors

    }); - var srcKey = "riparian saturated sediment Candidate Phyla Radiation bacteria"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ + + "East River hillslope-riparian transect microbiome", + + "riparian saturated sediment Candidate Phyla Radiation bacteria" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); (function() { var intId = "interaction:3"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1492,7 +1586,7 @@

    Environmental Factors

    nodes.push({ id: intId, - label: "Weathered Shale and Saturated Sediment Selenium Reduction", + label: "Deep Shale and Riparian Selenate Reduction Potential", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1503,6 +1597,19 @@

    Environmental Factors

    + var participantKeys = [ + + "riparian zone microbial communities", + + "hillslope microbial communities" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/history/records/Early_Dental_Biofilm_FiveSpecies/2026-10-06T080103Z-codex-36e2cd.yaml b/history/records/Early_Dental_Biofilm_FiveSpecies/2026-10-06T080103Z-codex-36e2cd.yaml new file mode 100644 index 000000000..bafc2a628 --- /dev/null +++ b/history/records/Early_Dental_Biofilm_FiveSpecies/2026-10-06T080103Z-codex-36e2cd.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml + slug: Early_Dental_Biofilm_FiveSpecies +session: + id: 2026-10-06T080103Z-codex-36e2cd + timestamp: '2026-10-06T08:01:03Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1417 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain measured A. naeslundii-S. mitis association without colonization or pH mediation.; + Retain weaker A. naeslundii-S. sanguinis association without a directional benefit.; Retain + five-member glucose-responsive pH heterogeneity without niche partitioning or assigned + acid flux. + details: Ten existing nodes retained; four arrows removed and three qualified. reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml diff --git a/history/records/East_River_Floodplain_Core_Microbiome/2026-10-06T080104Z-codex-11f2db.yaml b/history/records/East_River_Floodplain_Core_Microbiome/2026-10-06T080104Z-codex-11f2db.yaml new file mode 100644 index 000000000..1e738ce25 --- /dev/null +++ b/history/records/East_River_Floodplain_Core_Microbiome/2026-10-06T080104Z-codex-11f2db.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/East_River_Floodplain_Core_Microbiome.yaml + slug: East_River_Floodplain_Core_Microbiome +session: + id: 2026-10-06T080104Z-codex-11f2db + timestamp: '2026-10-06T08:01:04Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1418 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain operational core genomic potential with a partial source-supported participant + roster.; Retain core gene-content enrichment without part-whole causality or realized + flux.; Retain low-carbon-associated transcription at floodplain L with explicit taxonomic + and temporal limits. + details: Ten existing nodes retained; four arrows removed and three qualified. reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml diff --git a/history/records/East_River_Hillslope_Riparian_Transect_Community/2026-10-06T080104Z-codex-5beb64.yaml b/history/records/East_River_Hillslope_Riparian_Transect_Community/2026-10-06T080104Z-codex-5beb64.yaml new file mode 100644 index 000000000..2c3c286c5 --- /dev/null +++ b/history/records/East_River_Hillslope_Riparian_Transect_Community/2026-10-06T080104Z-codex-5beb64.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml + slug: East_River_Hillslope_Riparian_Transect_Community +session: + id: 2026-10-06T080104Z-codex-5beb64 + timestamp: '2026-10-06T08:01:04Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1419 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain environmental filtering as a source-proposed causal hypothesis.; Retain + DNA-based compartment differentiation without activity or niche-partitioning claims.; + Distinguish candidate-phylum depth enrichment from CPR location and untested host dependency.; + Retain srdA-based selenate-reduction potential without flux or water-quality claims. + details: Ten existing nodes retained; four arrows removed and three qualified. reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml diff --git a/kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml b/kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml index fe4e823f3..ee6ef0d44 100644 --- a/kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml +++ b/kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml @@ -171,13 +171,11 @@ taxonomy: the model. explanation: Documents Actinomyces naeslundii as a member of the five-species model. ecological_interactions: -- name: Actinomyces and S. mitis coaggregation during early biofilm assembly - description: >- - Actinomyces naeslundii AK6 and Streptococcus mitis SK24 formed visible - coaggregates in diluted Todd-Hewitt broth within 15 min, indicating a - direct cell-cell association that can contribute to mixed-species early - dental biofilm assembly. - interaction_type: COLONIZATION_FACILITATION +- name: A. naeslundii and S. mitis Planktonic Coaggregation + description: A. naeslundii AK6 and S. mitis SK24 formed visible coaggregates within 15 min in a separate planktonic + assay in 1/10 Todd-Hewitt broth. This is direct physical association, not a demonstrated directional benefit, + colonization-facilitation effect or cause of acidification in the five-species biofilm. The authors propose + an adhesion contribution but did not selectively perturb coaggregation in the pH assay. scope: PAIRWISE source_taxon: preferred_term: Actinomyces naeslundii @@ -189,32 +187,19 @@ ecological_interactions: term: id: NCBITaxon:28037 label: Streptococcus mitis - biological_processes: - - preferred_term: biofilm formation - term: - id: GO:0042710 - label: biofilm formation - downstream: - - target: Five-species glucose acidification of the biofilm interface - description: Direct A. naeslundii-S. mitis coaggregation contributes to - assembly of the reproducible five-species biofilm that was challenged - with glucose for microscale pH imaging. evidence: - reference: PMID:21966490 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - cells of A. naeslundii AK6 and S. mitis SK24 formed clearly visible, - slowly settling coaggregates within 15 min - explanation: >- - Documents the strongest pairwise coaggregation among the five strains used - to assemble the early dental biofilm. -- name: Actinomyces and S. sanguinis coaggregation during early biofilm assembly - description: >- - Actinomyces naeslundii AK6 also coaggregated with Streptococcus sanguinis - SK150, forming small suspended aggregates within 2 h and providing a second - direct pairwise attachment interaction in the five-member biofilm. - interaction_type: COLONIZATION_FACILITATION + snippet: cells of A. naeslundii AK6 and S. mitis SK24 formed clearly visible, slowly settling coaggregates within + 15 min + explanation: Documents the strongest pairwise coaggregation among the five strains used to assemble the early + dental biofilm. +- name: A. naeslundii and S. sanguinis Planktonic Coaggregation + description: A. naeslundii AK6 and S. sanguinis SK150 formed small suspended aggregates within 2 h in the separate + planktonic assay, weaker than the A. naeslundii-S. mitis association. The source/target fields identify the + measured pair, not a direction of facilitation. This does not establish an attachment route or acidification + mechanism in the five-species flow biofilm. scope: PAIRWISE source_taxon: preferred_term: Actinomyces naeslundii @@ -226,33 +211,20 @@ ecological_interactions: term: id: NCBITaxon:1305 label: Streptococcus sanguinis - biological_processes: - - preferred_term: biofilm formation - term: - id: GO:0042710 - label: biofilm formation - downstream: - - target: Five-species glucose acidification of the biofilm interface - description: Direct A. naeslundii-S. sanguinis coaggregation provides a - second attachment route into the five-species biofilm whose glucose - metabolism generated stable acidic microenvironments. evidence: - reference: PMID:21966490 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - When A. naeslundii AK6 was mixed with S. sanguinis SK150, small uniform - aggregates that remained in suspension formed within 2 h - explanation: >- - Documents weaker but positive coaggregation between A. naeslundii and S. - sanguinis in the same pairwise assay. + snippet: When A. naeslundii AK6 was mixed with S. sanguinis SK150, small uniform aggregates that remained in + suspension formed within 2 h + explanation: Documents weaker but positive coaggregation between A. naeslundii and S. sanguinis in the same + pairwise assay. - name: Five-species glucose acidification of the biofilm interface - description: >- - After the five species were established as a reproducible flow-channel - biofilm, glucose addition immediately triggered biofilm acid production and - generated stable extracellular pH microenvironments at the biofilm-substrate - interface. - interaction_type: NICHE_PARTITIONING + description: Sequentially assembled five-species plastic flow-channel biofilms showed extracellular acidification + after 0.4% or 10% glucose in sterile saliva, while the no-glucose control remained above pH 7. Spatial pH differences + persisted for hours. This is a collective glucose-response endpoint, not demonstrated niche partitioning, metabolite + exchange, species-specific acid flux or enamel demineralization. Growth in flowing diluted Todd-Hewitt broth + and the later salivary glucose challenge are distinct stages. scope: COMMUNITY_LEVEL metabolites: - preferred_term: glucose @@ -268,14 +240,32 @@ ecological_interactions: - reference: PMID:21966490 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - Anaerobic glycolysis in the model biofilms created a mildly acidic - environment. Decrease in pH in different areas of the biofilms varied, - and distinct extracellular pH-microenvironments were conserved over - several hours. - explanation: >- - Supports a whole-community acidification node in the causal graph without - assigning the effect to one member. + snippet: Anaerobic glycolysis in the model biofilms created a mildly acidic environment. Decrease in pH in different + areas of the biofilms varied, and distinct extracellular pH-microenvironments were conserved over several + hours. + explanation: Supports measured collective extracellular pH heterogeneity after glucose challenge, not a selective + role for either coaggregating pair or a niche-partitioning mechanism. + participating_taxa: + - preferred_term: Streptococcus oralis + term: + id: NCBITaxon:1303 + label: Streptococcus oralis + - preferred_term: Streptococcus sanguinis + term: + id: NCBITaxon:1305 + label: Streptococcus sanguinis + - preferred_term: Streptococcus mitis + term: + id: NCBITaxon:28037 + label: Streptococcus mitis + - preferred_term: Streptococcus downei + term: + id: NCBITaxon:1317 + label: Streptococcus downei + - preferred_term: Actinomyces naeslundii + term: + id: NCBITaxon:1655 + label: Actinomyces naeslundii related_ingredients: - preferred_term: glucose chebi_term: @@ -402,3 +392,27 @@ growth_media: evidence_source: IN_VITRO snippet: Organisms were cultivated aerobically on blood agar (SSI, Copenhagen, Denmark) and transferred to THB (Roth, Karlsruhe, Germany) at 35°C until mid to late exponential phase prior to experimental use explanation: Names aerobic cultivation on blood agar and THB at 35 °C for the strains. +discussions: +- discussion_id: early_dental_coaggregation_acidification_boundary + prompt: Does either pairwise coaggregation mechanism mediate biofilm acidification? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#A. naeslundii and S. mitis Planktonic Coaggregation + - ecological_interactions#A. naeslundii and S. sanguinis Planktonic Coaggregation + - ecological_interactions#Five-species glucose acidification of the biofilm interface + rationale: 'Planktonic coaggregation and glucose-responsive biofilm pH were measured in different assays. Neither + pair was selectively disrupted or rescued in the biofilm; physical association does not establish colonization + benefit or mediation of the pH response. Resolve species-specific acid flux and the origin of persistent pH + heterogeneity experimentally. The two workflow-to-outcome arrows are removed. Flow rate, growth feed, substrate + and temperature-stage metadata remain under #1420.' + posed_by: codex + posed_date: '2026-10-06' +curation_history: +- timestamp: '2026-10-06T08:01:03Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain measured A. naeslundii-S. mitis association without colonization or pH mediation.; Retain weaker + A. naeslundii-S. sanguinis association without a directional benefit.; Retain five-member glucose-responsive + pH heterogeneity without niche partitioning or assigned acid flux. Issue #1417; reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml' + llm_assisted: true diff --git a/kb/communities/East_River_Floodplain_Core_Microbiome.yaml b/kb/communities/East_River_Floodplain_Core_Microbiome.yaml index e6d7ce633..8281e7e9a 100644 --- a/kb/communities/East_River_Floodplain_Core_Microbiome.yaml +++ b/kb/communities/East_River_Floodplain_Core_Microbiome.yaml @@ -138,11 +138,11 @@ taxonomy: explanation: Supports Gemmatimonadota-related members in the East River core floodplain microbiome. ecological_interactions: - name: Core Floodplain Biogeochemical Potential Reservoir - description: High-prevalence floodplain genomes form a shared reservoir of - one-carbon, sulfur, nitrogen, hydrogen, and aerobic respiratory capacity - that becomes active as environmental conditions change across East River - floodplain soils. - interaction_type: NICHE_PARTITIONING + description: The 2015 operational core comprises 42 representative genomes detected in at least 89 of 94 samples + without a significant association to any one floodplain. Their gene inventories define biogeochemical potential, + not measured activation or flux. Listed Betaproteobacteria and Gemmatimonadota participants are partial higher-level + core groupings, not a complete roster or an assertion that every genome encodes every pathway. Widely represented + capacities did not predict the later transcription snapshot. scope: COMMUNITY_LEVEL metabolites: - preferred_term: thiosulfate @@ -162,28 +162,36 @@ ecological_interactions: term: id: GO:0015977 label: carbon fixation - downstream: - - target: Core Floodplain Aerobic and Sulfur Oxidation Capacity - description: Shared core genomes encode aerobic respiration, aerobic carbon - monoxide oxidation, and thiosulfate oxidation capacity across meanders. - - target: Low-Organic-Carbon Chemolithotrophic Activity - description: The core capacity reservoir is expressed unevenly; under lower - soil organic carbon, chemolithotrophic one-carbon, sulfur, hydrogen, and - nitrogen redox genes become highly active. evidence: - reference: PMID:34022966 supports: SUPPORT evidence_source: COMPUTATIONAL - snippet: Widely represented genetic capacities did not predict in situ activity at one time - point, but rather they define a reservoir of biogeochemical potential available - as conditions change. - explanation: Supports representing the conserved floodplain genomes as a - conditional reservoir of redox and carbon-fixation capacity. + snippet: Widely represented genetic capacities did not predict in situ activity at one time point, but rather + they define a reservoir of biogeochemical potential available as conditions change. + explanation: Supports representing the conserved floodplain genomes as a conditional reservoir of redox and + carbon-fixation capacity. + - reference: PMID:34022966 + supports: SUPPORT + evidence_source: COMPUTATIONAL + snippet: Genomes affiliated with Acidobacteria, Bacteroidetes, and Chloroflexi were not part of the core floodplain + microbiome + explanation: Explicitly excludes Acidobacteria from the operational core; abundance in the broader dataset is + not core membership. + participating_taxa: + - preferred_term: Betaproteobacteria-dominated core floodplain microbiome + term: + id: NCBITaxon:28216 + label: Betaproteobacteria + - preferred_term: Gemmatimonadota floodplain representatives + term: + id: NCBITaxon:142182 + label: Gemmatimonadota - name: Core Floodplain Aerobic and Sulfur Oxidation Capacity - description: The cross-site core floodplain microbiome is enriched in aerobic respiration, carbon monoxide - oxidation, and thiosulfate oxidation, indicating shared redox capacity across meander-bound floodplain - soils. - interaction_type: NICHE_PARTITIONING + description: The operational core genome set is enriched in capacities for aerobic respiration, aerobic CO or + other small-molecule oxidation, and thiosulfate oxidation. This is comparative gene-content enrichment, not + measured reaction rates, cooperation or niche partitioning. The two canonical participant groups are a partial + core roster; no universal per-taxon pathway assignment or substrate specificity for every CODH-like homolog + is implied. scope: COMMUNITY_LEVEL metabolites: - preferred_term: thiosulfate @@ -203,14 +211,25 @@ ecological_interactions: - reference: PMID:34022966 supports: SUPPORT evidence_source: COMPUTATIONAL - snippet: we identified a core floodplain microbiome that is enriched in capacities for aerobic - respiration, aerobic CO oxidation, and thiosulfate oxidation with the formation of elemental sulfur. + snippet: we identified a core floodplain microbiome that is enriched in capacities for aerobic respiration, + aerobic CO oxidation, and thiosulfate oxidation with the formation of elemental sulfur. explanation: Supports shared aerobic and sulfur oxidation capacity in the core community. -- name: Low-Organic-Carbon Chemolithotrophic Activity - description: Floodplain soils with lower organic carbon show increased activity of genes for methanol, - formate, sulfide, hydrogen, and ammonia oxidation, nitrite oxidoreduction, nitrate and nitrite reduction, - and carbon fixation, suggesting functional niche shifts along carbon gradients. - interaction_type: NICHE_PARTITIONING + participating_taxa: + - preferred_term: Betaproteobacteria-dominated core floodplain microbiome + term: + id: NCBITaxon:28216 + label: Betaproteobacteria + - preferred_term: Gemmatimonadota floodplain representatives + term: + id: NCBITaxon:142182 + label: Gemmatimonadota +- name: Low-Organic-Carbon-Associated Gene Transcription in Floodplain L + description: In the September 2016 floodplain L RNA snapshot, lower organic carbon correlated with increased transcription + of selected C1, sulfur, hydrogen and nitrogen redox genes and carbon-fixation genes. This is not a carbon manipulation, + measured flux, a result independently sampled in all three floodplains or activation of the entire 2015 core. + Betaproteobacteria are included only as a broad grouping linked to CBB carbon-fixation capacity/activity; their + overall transcription favored higher organic carbon. Other low-carbon-active groups are not reliably represented + by the canonical taxonomy, so this is explicitly a partial participant list. scope: COMMUNITY_LEVEL metabolites: - preferred_term: formate @@ -231,20 +250,39 @@ ecological_interactions: id: GO:0015977 label: carbon fixation evidence: + - reference: PMID:34022966 + supports: PARTIAL + evidence_source: COMPUTATIONAL + snippet: Within all three meanders, low soil organic carbon correlated with high activity of genes involved + in methanol, formate, sulfide, hydrogen, and ammonia oxidation, nitrite oxidoreduction, and nitrate and nitrite + reduction. + explanation: The abstract uses all-three-meander wording, but primary Methods and Results restrict the 2016 + RNA sampling to floodplain L. Retained as a source statement with this explicit limitation, not evidence of + three independent transcript surveys. - reference: PMID:34022966 supports: SUPPORT evidence_source: COMPUTATIONAL - snippet: Within all three meanders, low soil organic carbon correlated with high activity of genes - involved in methanol, formate, sulfide, hydrogen, and ammonia oxidation, nitrite oxidoreduction, - and nitrate and nitrite reduction. - explanation: Supports organic-carbon-linked functional shifts in the floodplain soil community. + snippet: the most highly transcribed genes were relatively rare amoCAB and nxrAB (for nitrification) genes, + followed by genes involved in methanol and formate oxidation, and nitrogen and CO2 fixation. + explanation: Supports relative gene transcription in the RNA snapshot, not measured nitrification or carbon + flux and not a per-taxon assignment of every gene. - reference: PMID:34022966 supports: SUPPORT evidence_source: COMPUTATIONAL - snippet: the most highly transcribed genes were relatively rare amoCAB and nxrAB (for nitrification) - genes, followed by genes involved in methanol and formate oxidation, and nitrogen and CO2 fixation. - explanation: Supports active nitrification, one-carbon oxidation, nitrogen fixation, and carbon fixation - gene expression in the community. + snippet: we resampled floodplain L for metatranscriptomics and metagenomics + explanation: Locates the RNA study in the middle floodplain rather than all three sites. + - reference: PMID:34022966 + supports: SUPPORT + evidence_source: COMPUTATIONAL + snippet: Activity of the Calvin Benson Bassham (CBB) pathway for CO2 fixation is linked to Betaproteobacteria, + Deltaproteobacteria, Gammaproteobacteria, and NC10 + explanation: Supports the limited higher-level Betaproteobacteria participant for carbon fixation, not every + low-carbon-associated function or every core genome. + participating_taxa: + - preferred_term: Betaproteobacteria-dominated core floodplain microbiome + term: + id: NCBITaxon:28216 + label: Betaproteobacteria environmental_factors: - name: East River meander-bound floodplain position value: upper, middle, and lower East River floodplain soils @@ -299,3 +337,28 @@ associated_datasets: ANI set), in addition to the environmental data (metadata) that support the findings of this study are available in ESS-DIVE with the identifier DOI: 10.15485/1631979 explanation: Links the record to the ESS-DIVE genome and metadata resource. +discussions: +- discussion_id: east_river_core_capacity_transcription_scope + prompt: Which genomes and environmental mechanisms link conserved capacity to measured flux? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Core Floodplain Biogeochemical Potential Reservoir + - ecological_interactions#Core Floodplain Aerobic and Sulfur Oxidation Capacity + - ecological_interactions#Low-Organic-Carbon-Associated Gene Transcription in Floodplain L + rationale: 'Core capacity enrichment is a part/whole description, not a causal consequence requiring an arrow. + Gene inventories did not predict one-time expression, and the 2016 RNA study sampled only L. Direct flux and + selective environmental perturbations are missing. The canonical Nitrospira genus ID cannot stand in for the + paper''s Nitrospirae phylum; Acidobacteriota are non-core and overall more transcriptionally active at higher + organic carbon. Neither is assigned an unsupported graph link just to suppress disconnected warnings. Taxonomy + and non-graph scope remain under #1421; no GTDB withholding policy is changed.' + posed_by: codex + posed_date: '2026-10-06' +curation_history: +- timestamp: '2026-10-06T08:01:03Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain operational core genomic potential with a partial source-supported participant roster.; Retain + core gene-content enrichment without part-whole causality or realized flux.; Retain low-carbon-associated transcription + at floodplain L with explicit taxonomic and temporal limits. Issue #1418; reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml' + llm_assisted: true diff --git a/kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml b/kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml index adf6dcff0..b9a5b22a3 100644 --- a/kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml +++ b/kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml @@ -238,11 +238,12 @@ related_ingredients: snippet: Oxidation of selenium to soluble selenite and selenate explanation: Names selenate as a soluble selenium oxidation product and reductase substrate. ecological_interactions: -- name: Groundwater and Weathered Shale Niche Filtering - description: Proximity to the stream, groundwater table, and weathered shale - strongly structures community composition and metabolic potential along the - hillslope-to-riparian transect. - interaction_type: NICHE_PARTITIONING +- name: Hypothesized Groundwater and Weathered Shale Filtering + description: Across the September 2016 PLM transect, microbial composition and DNA-based metabolic potential covaried + with depth, river proximity, groundwater and weathered shale. HYPOTHESIZED moisture, redox and substrate filtering + may explain these patterns, but no selective groundwater, shale or nutrient perturbation isolated the drivers. + Compartment participants retain distinct canonical labels despite sharing a broad cellular-organisms ID; they + are not resolved taxa. scope: COMMUNITY_LEVEL metabolites: - preferred_term: nitrate @@ -254,41 +255,56 @@ ecological_interactions: id: CHEBI:16189 label: sulfate downstream: - - target: Riparian Carbon Nitrogen and Sulfur Functional Zone - description: Groundwater saturation and weathered shale stratify the transect - into floodplain niches where carbon, nitrogen, and sulfur pathway genes - differentiated riparian communities from hillslope communities. + - target: Riparian Carbon Nitrogen and Sulfur Genomic Potential + description: HYPOTHESIZED - groundwater-associated low-redox conditions may favor organisms carrying anaerobic + carbon, nitrogen and sulfur pathway genes, producing the observed riparian-versus-hillslope differences. Spatial + gene abundance supports the model but does not isolate redox as the mediator or demonstrate flux. - target: Depth-Enriched Uncultivated Bacterial Lineages - description: The same depth and saturation gradient that separates PLM4 - water-table samples localizes CPR bacteria primarily to floodplain and - groundwater-saturated sediments. - - target: Weathered Shale and Saturated Sediment Selenium Reduction - description: Weathered shale and saturated sediments expose communities to - mobilized selenium and the below-water-table redox conditions where srdA - selenate-reductase genes were enriched. + description: HYPOTHESIZED - depth and water-table conditions may select compatible microorganisms and possible + hosts, influencing candidate-phylum distributions. Observational detections support environmental filtering, + but no host dependence or exclusive groundwater requirement was tested; deep hillslope exceptions remain. + - target: Deep Shale and Riparian Selenate Reduction Potential + description: HYPOTHESIZED - shale-derived selenium availability together with periodically reducing groundwater + conditions may select selenate-respiring organisms and enrich srdA. Gene abundance and incomplete chemistry + support this proposed mechanism, not experimentally demonstrated selenium reduction or export control. evidence: - reference: PMID:31380022 - supports: SUPPORT + supports: PARTIAL evidence_source: COMPUTATIONAL snippet: proximity to groundwater and underlying weathered shale - explanation: Supports groundwater and weathered shale as major structuring factors. + explanation: Supports a spatial association and proposed environmental driver, not selective causal mediation + or direct redox/substrate flux. - reference: PMID:31380022 - supports: SUPPORT + supports: PARTIAL evidence_source: COMPUTATIONAL snippet: strongly impact microbial community structure and metabolic potential - explanation: Supports niche filtering across the transect. + explanation: Supports a spatial association and proposed environmental driver, not selective causal mediation + or direct redox/substrate flux. - reference: PMID:31380022 - supports: SUPPORT + supports: PARTIAL evidence_source: COMPUTATIONAL snippet: the proximity to sulfate and nitrate rich Mancos shale bedrock - explanation: Supports sulfate and nitrate as shale-associated chemical - mediators of the depth-structured community shift. -- name: Riparian Carbon Nitrogen and Sulfur Functional Zone - description: Riparian-zone communities differ from hillslope communities in - capacities for carbon fixation, nitrogen fixation, and sulfate reduction, - suggesting that riparian saturated soils and sediments act as a biogeochemical - functional zone in the watershed. - interaction_type: NICHE_PARTITIONING + explanation: Supports a spatial association and proposed environmental driver, not selective causal mediation + or direct redox/substrate flux. + participating_taxa: + - preferred_term: East River hillslope-riparian transect microbiome + term: + id: NCBITaxon:131567 + label: cellular organisms + - preferred_term: riparian zone microbial communities + term: + id: NCBITaxon:131567 + label: cellular organisms + - preferred_term: hillslope microbial communities + term: + id: NCBITaxon:131567 + label: cellular organisms +- name: Riparian Carbon Nitrogen and Sulfur Genomic Potential + description: Riparian samples near and below the water table differed from hillslope samples in DNA abundances + of genes associated with carbon fixation, nitrogen fixation and sulfur reduction. DsrD and other reductase signatures + help interpret direction, but RNA was extracted for another study and no pathway flux was measured here. This + comparison supports a putative functional zone, not demonstrated interspecies niche partitioning, complete redox + cycling or equivalent metabolism in all compartments. scope: COMMUNITY_LEVEL metabolites: - preferred_term: carbon dioxide @@ -323,23 +339,27 @@ ecological_interactions: evidence_source: COMPUTATIONAL snippet: functionally differentiated from hillslope communities explanation: Supports functional differentiation from hillslope communities. -- name: Depth-Enriched Uncultivated Bacterial Lineages - description: Bacteria from phyla lacking isolated representatives increase in - abundance with depth, and CPR bacteria were detected in saturated riparian - sediments, linking vertical hydrologic gradients to uncultivated bacterial - community structure. - interaction_type: NICHE_PARTITIONING - scope: COMMUNITY_LEVEL - source_taxon: - preferred_term: riparian saturated sediment Candidate Phyla Radiation bacteria + - reference: PMID:31380022 + supports: SUPPORT + evidence_source: COMPUTATIONAL + snippet: While RNA was extracted for the purpose of another study + explanation: Prevents treating DNA co-extraction or gene abundance as an RNA-activity result in this study. + participating_taxa: + - preferred_term: riparian zone microbial communities term: - id: NCBITaxon:1783273 - label: Patescibacteria group - biological_processes: - - preferred_term: interspecies interaction between organisms + id: NCBITaxon:131567 + label: cellular organisms + - preferred_term: hillslope microbial communities term: - id: GO:0044419 - label: biological process involved in interspecies interaction between organisms + id: NCBITaxon:131567 + label: cellular organisms +- name: Depth-Enriched Uncultivated Bacterial Lineages + description: Non-CPR candidate phyla increased with sampling depth. CPR detections were concentrated near and + below the PLM4 water table, with two Yanofskybacteria occurrences in deep hillslope samples near weathered shale. + These are distinct patterns, not exclusive confinement of every uncultivated lineage to saturated riparian sediment. + CPR dependency on unknown hosts is a literature-based hypothesis, not measured cross-feeding or syntrophy in + this transect. + scope: COMMUNITY_LEVEL evidence: - reference: PMID:31380022 supports: SUPPORT @@ -347,22 +367,37 @@ ecological_interactions: snippet: consistently increase in abundance with increasing depth explanation: Supports depth-related enrichment of uncultivated bacterial phyla. - reference: PMID:31380022 - supports: SUPPORT + supports: PARTIAL evidence_source: COMPUTATIONAL snippet: riparian zone saturated sediments we found Candidate Phyla Radiation bacteria - explanation: Supports CPR presence specifically in saturated riparian sediments. + explanation: The abstract highlights saturated riparian sediment, but primary Results and Discussion also report + detections just above the water table and two deep hillslope exceptions. + - reference: PMID:31380022 + supports: PARTIAL + evidence_source: COMPUTATIONAL + snippet: Many are likely obligate symbionts, and as such they may often associate with anaerobic hosts + explanation: General literature-based hypothesis; host identity and material exchange were not established for + this transect. - reference: PMID:31380022 supports: SUPPORT evidence_source: COMPUTATIONAL - snippet: Many are likely obligate symbionts, and as such they may often associate - with anaerobic hosts - explanation: Supports interspecies dependency as the microbial context for - CPR bacteria in anaerobic floodplain sediments. -- name: Weathered Shale and Saturated Sediment Selenium Reduction - description: Selenium reduction is prominent at depth in weathered shale and - saturated riparian sediments, indicating a water-quality-relevant redox - function associated with the deeper transect microbiome. - interaction_type: NICHE_PARTITIONING + snippet: Other than the two occurrences of Yanofskybacteria species in deep samples close to the soil + explanation: Primary Discussion explicitly records deep hillslope exceptions to the dominant riparian CPR pattern. + participating_taxa: + - preferred_term: East River hillslope-riparian transect microbiome + term: + id: NCBITaxon:131567 + label: cellular organisms + - preferred_term: riparian saturated sediment Candidate Phyla Radiation bacteria + term: + id: NCBITaxon:1783273 + label: Patescibacteria group +- name: Deep Shale and Riparian Selenate Reduction Potential + description: DNA abundance of the srdA catalytic-subunit gene was elevated in groundwater-saturated riparian samples + and deep weathered shale, consistent with selenate-reduction potential. The measured srdA-selenium association + lacks chemistry at the deepest high-srdA sites. Actual selenate reduction rates, selenium removal, growth support + and water-quality improvement were not measured; this is not direct evidence of selenite reduction by a named + taxon. scope: COMMUNITY_LEVEL metabolites: - preferred_term: selenate @@ -374,19 +409,29 @@ ecological_interactions: supports: SUPPORT evidence_source: COMPUTATIONAL snippet: Selenium reduction is prominent at depth - explanation: Supports selenium reduction as a depth-associated metabolic potential. + explanation: Supports location and interpretation of srdA-associated genomic potential, not measured selenium + conversion or water-quality benefit. - reference: PMID:31380022 supports: SUPPORT evidence_source: COMPUTATIONAL snippet: weathered shale and saturated riparian zone sediments - explanation: Supports the environmental location of selenium-reduction potential. + explanation: Supports location and interpretation of srdA-associated genomic potential, not measured selenium + conversion or water-quality benefit. - reference: PMID:31380022 supports: SUPPORT evidence_source: COMPUTATIONAL - snippet: Selenate reductase encoded by the gene srdA, which is associated with - selenate respiration - explanation: Supports selenate as the substrate-linked reductase signal - enriched in the deeper transect microbiome. + snippet: Selenate reductase encoded by the gene srdA, which is associated with selenate respiration + explanation: Supports location and interpretation of srdA-associated genomic potential, not measured selenium + conversion or water-quality benefit. + participating_taxa: + - preferred_term: riparian zone microbial communities + term: + id: NCBITaxon:131567 + label: cellular organisms + - preferred_term: hillslope microbial communities + term: + id: NCBITaxon:131567 + label: cellular organisms environmental_factors: - name: Hillslope-to-riparian transect position value: depth-resolved hillslope to riparian zone transect @@ -469,3 +514,29 @@ metal_relevance: NOT_APPLICABLE metal_notes: Selenium reduction is noted as a water-quality-relevant metalloid redox function, but no metal or rare earth element is curated as a primary community function. +discussions: +- discussion_id: east_river_hillslope_environmental_mediation + prompt: Which environmental mechanisms and organisms realize the inferred redox capacities? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Hypothesized Groundwater and Weathered Shale Filtering + - ecological_interactions#Riparian Carbon Nitrogen and Sulfur Genomic Potential + - ecological_interactions#Depth-Enriched Uncultivated Bacterial Lineages + - ecological_interactions#Deep Shale and Riparian Selenate Reduction Potential + rationale: 'Selective groundwater/redox/substrate perturbations and direct flux measurements are needed to distinguish + the proposed drivers. DNA abundance is metabolic potential, not transcription or activity; selenium chemistry + is missing at key deep high-srdA sites. CPR partners and exchanges are unknown, and candidate phyla are not + synonymous with CPR. The three original arrows remain explicit hypotheses, not niche-partitioning facts. Non-graph + role and activity wording remain under #1422.' + posed_by: codex + posed_date: '2026-10-06' +curation_history: +- timestamp: '2026-10-06T08:01:03Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain environmental filtering as a source-proposed causal hypothesis.; Retain DNA-based compartment + differentiation without activity or niche-partitioning claims.; Distinguish candidate-phylum depth enrichment + from CPR location and untested host dependency.; Retain srdA-based selenate-reduction potential without flux + or water-quality claims. Issue #1419; reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml' + llm_assisted: true diff --git a/reports/causal_graph_review/adversarial-review-20261006-batch35.yaml b/reports/causal_graph_review/adversarial-review-20261006-batch35.yaml new file mode 100644 index 000000000..f474ee240 --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261006-batch35.yaml @@ -0,0 +1,158 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: fcc5445fc825caaef69b838de8fddec4254fc3b1 +scope: +- kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml +- kb/communities/East_River_Floodplain_Core_Microbiome.yaml +- kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml +decision_ledger: reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml +validation_report: reports/causal_graph_review/validation-20261006-batch35.json +findings: +- issue: 1417 + severity: P2 + status: addressed_in_this_change + finding: 'Early dental graph: separate measured coaggregation from acidification mediation' + disposition: Graph corrected; close only after protected main merge. +- issue: 1418 + severity: P2 + status: addressed_in_this_change + finding: 'East River core graph: separate core gene capacity from one-floodplain transcription' + disposition: Graph corrected; close only after protected main merge. +- issue: 1419 + severity: P2 + status: addressed_in_this_change + finding: 'East River hillslope graph: qualify environmental mechanisms and selenate reduction potential' + disposition: Graph corrected; close only after protected main merge. +- issue: 1420 + severity: P2 + status: open_nongraph_followup + finding: 'Early dental cultivation: restore reported flow rate and distinguish growth feed from saliva + challenge' + disposition: Non-graph fields preserved and not certified. Remains open. +- issue: 1421 + severity: P2 + status: open_nongraph_followup + finding: 'East River core metadata: resolve taxon rank and core-membership overclaims' + disposition: Non-graph fields preserved and not certified. Remains open. +- issue: 1422 + severity: P2 + status: open_nongraph_followup + finding: 'East River hillslope metadata: distinguish genomic potential from active metabolism and CPR + syntrophy' + disposition: Non-graph fields preserved and not certified. Remains open. +adversarial_checks: +- Actual complete graph diffs compared with cached primary main bodies at the recorded access scope. Ten + nodes retained, four arrows removed and three qualified; no new nodes or arrows. Every original arrow + has a disposition and all renamed targets/anchors resolve. +- Dental coaggregation is measured physical association in separate planktonic assays, not directional + colonization benefit or demonstrated pH mediation. Five-member glucose response is collective extracellular + acidification, not niche partitioning, species-specific flux or enamel damage. Growth feed and challenge + are distinct. +- Floodplain core is operationally 42 genomes detected in at least 89/94 samples, not every abundant lineage. + Capacity enrichment is a part/whole description and does not predict one-time transcription. Both original + arrows removed. +- Primary Methods restrict 2016 RNA to floodplain L despite broader abstract wording; retained abstract + evidence is PARTIAL with the conflict explained. Transcript counts are not carbon perturbation or flux. + Betaproteobacteria participant is only a higher-level CBB grouping and does not imply that every low-carbon + function or whole-group expression is enriched. +- 'Core participants exclude non-core Acidobacteriota and do not propagate the Nitrospirae-to-Nitrospira + rank mismatch. Two newly exposed DISCONNECTED warnings are explicit debt under #1418/#1421, not hidden + or patched with invented interactions. Canonical taxonomy and GTDB withholding unchanged.' +- Hillslope functional data are DNA-based potential, not RNA activity or measured cycling. Three environmental-driver + arrows remain HYPOTHESIZED with plausible source-proposed mechanisms, not categorical niche partitioning. + Shared-ID compartments retain exact preferred terms. +- Non-CPR candidate-phylum depth enrichment is separated from CPR distributions, including near-water-table + and two deep hillslope exceptions. Host dependency remains a literature-based hypothesis; unsupported + interspecies-process annotation removed. No measured cross-feeding or syntrophy claimed. +- SrdA enrichment concerns selenate-reduction potential; missing selenium chemistry at deep high-srdA + sites limits inference. No selenium-removal rate, selenite-reducing organism, growth benefit or water-quality + improvement claimed. +- Three guarded writes, append-only histories and llm-assisted events; non-graph raw blocks, 457 other + records and all 920 caches byte-identical. Eight new regressions cover scientific limits, participant + identity, exact anchors, hashes and full arrow accounting. +- All 31 prior network warnings preserved exactly; two source-scope warnings added, zero structural errors. + Participant registry adds only these three records, 180 to 183; broad census, taxonomy, algorithms and + numeric bounds unchanged. +- Repeated renders deterministic and exact descriptions verified across 456 pages. Reference-validator + 0.1.7 returned zero checks despite exit 0; no-op and textual snippet MATCH are not scientific validation. + No visual figures, raw data, browser screenshots or external supplement review claimed. +- 'Deduplication included 742 all-state titles/bodies and ignored/hidden-inclusive local files, not every + issue comment. #1420-1422 remain open. Existing #401 GTDB policy was distinguished from source-rank + mismatch. No provider job or charge.' +verification: + combined_regressions: 384 passed in 164.84s (0:02:44) + new_regression_tests: 8 + schema_strict_terms_history: passed; actual output tails and log digests retained + snippet_counts_by_record: + kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml: + MATCH: 17 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/East_River_Floodplain_Core_Microbiome.yaml: + MATCH: 16 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml: + MATCH: 35 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + network: Zero errors; 31 prior warnings exactly preserved and two exposed DISCONNECTED warnings disclosed. + black_ruff_diff: passed + tested_file_sha256: + reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml: efba701bb04cf8492e807965e000cefb04855d64aadd2bf2d8d41eab6c48cd91 + tests/test_causal_review_batch35.py: 36277cc680b9171ab9e584508288116c2d22d0405af3aa266bb1ac3c2f14efcd + tests/test_participating_taxa.py: 4b3fba5fa841dbdcc1258b7d9e2e9e5f70049e25c564f5d3f150cf65d4cb26b5 + kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml: 5f765b58c46852bbb55161479525a0b8f6bcc3249c385ca296978ef580a62c75 + kb/communities/East_River_Floodplain_Core_Microbiome.yaml: 152ced119bc2c3699bd6d14465561ce7fa7e5010c0defbeb40f027303b9b83e7 + kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml: fbc3e3dba6d44ba88f701bfb38ef387898aa1000579763e1ab676817c6abf0ce + post_commit_docs_current: Separate publication gate; not asserted in pre-commit record. + protected_ci_and_merge: Exact-head protected main checks and queue still required. +participant_census: + connectivity_before: + community_level_only: 265 + credited_solely_by_the_rule: 1222 + mixed: 122 + records: 460 + taxa: 1494 + with_community_level: 387 + connectivity_after: + community_level_only: 265 + credited_solely_by_the_rule: 1222 + mixed: 122 + records: 460 + taxa: 1494 + with_community_level: 387 + exact_change: 180 -> 183 users; only the three reviewed records added. Scope and broad census unchanged; + two newly exposed DISCONNECTED warnings are separately reported. No taxon or numeric-bound changes. + numeric_bounds_changed: false +corpus: + records: 460 + nodes: 1470 + edges: 697 + review_status_counts: + needs_research: 7 + pending: 306 + reviewed: 147 +limitations: +- Ten existing nodes retained; four arrows removed and three qualified. No new connectivity or provider + request. +- Cached primary main-body text and stated captions reviewed, not visual figures, raw data or separate + supplements. Source caches unchanged. +- 'Canonical taxonomy and non-graph raw blocks preserved, not certified. Partial participant lists deliberately + expose unsupported connectivity; #1420-1422 remain open.' +- Floodplain L RNA snapshot is not all-three-site flux. Higher-level participant groups are not all-member + pathway assignments; Nitrospira rank mismatch is not propagated. +- Hillslope compartment preferred terms remain distinct despite a shared broad ID; causal drivers and + CPR dependency are untested hypotheses. +- 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-batch35.yaml b/reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml new file mode 100644 index 000000000..55fe02443 --- /dev/null +++ b/reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml @@ -0,0 +1,250 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: fcc5445fc825caaef69b838de8fddec4254fc3b1 +issues: +- 1417 +- 1418 +- 1419 +open_nongraph_followups: +- 1420 +- 1421 +- 1422 +open_graph_research: [] +issue_deduplication: + all_state_issue_titles_bodies: 742 + ignored_hidden_local_files_included: true + comments_exhaustive: false + relevant_issues_read: + - 401 + - 573 + - 594 + - 595 + finding: 'No exact duplicate in searched scope; distinguish #401 GTDB withholding from source-to-NCBI rank mismatch.' +reference_cache_original_hashes: + references_cache/PMID_34022966.md: 7c3af4c3f819ab55c95b03d2032f6eec054d0d30513114d779d1238f0e023040 + references_cache/PMID_31380022.md: 704c969389b19908149169d9a3cc44a1b9ced440849689c534dca4b778978965 + references_cache/PMID_21966490.txt: 27f4616544a681693ab7fae0771d3152f80035960635df91cf11c09ddf233f0e +edison: + status: not_needed_for_existing_structure_repair_no_provider_job_or_charge + rationale: No added nodes/arrows; existing source-bounded corrections only. +limitations: +- Ten existing nodes retained; four arrows removed and three qualified. No new connectivity or provider request. +- Cached primary main-body text and stated captions reviewed, not visual figures, raw data or separate supplements. + Source caches unchanged. +- 'Canonical taxonomy and non-graph raw blocks preserved, not certified. Partial participant lists deliberately + expose unsupported connectivity; #1420-1422 remain open.' +- Floodplain L RNA snapshot is not all-three-site flux. Higher-level participant groups are not all-member pathway + assignments; Nitrospira rank mismatch is not propagated. +- Hillslope compartment preferred terms remain distinct despite a shared broad ID; causal drivers and CPR dependency + are untested hypotheses. +- 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/Early_Dental_Biofilm_FiveSpecies.yaml + id: CommunityMech:000081 + original_sha256: 2260a9a912353ed06b593abfc69ab4a622d7485b676bfc0df5592860d93c8b72 + record_sha256: 5f765b58c46852bbb55161479525a0b8f6bcc3249c385ca296978ef580a62c75 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml + scope: Whole record and every existing node/arrow assessed against primary text at recorded access scope; non-graph + fields preserved, not certified. + summary: Retain measured A. naeslundii-S. mitis association without colonization or pH mediation.; Retain weaker + A. naeslundii-S. sanguinis association without a directional benefit.; Retain five-member glucose-responsive + pH heterogeneity without niche partitioning or assigned acid flux. + renamed_nodes: + Actinomyces and S. mitis coaggregation during early biofilm assembly: A. naeslundii and S. mitis Planktonic + Coaggregation + Actinomyces and S. sanguinis coaggregation during early biofilm assembly: A. naeslundii and S. sanguinis Planktonic + Coaggregation + node_decisions: + - node: A. naeslundii and S. mitis Planktonic Coaggregation + rationale: Retain measured A. naeslundii-S. mitis association without colonization or pH mediation. + - node: A. naeslundii and S. sanguinis Planktonic Coaggregation + rationale: Retain weaker A. naeslundii-S. sanguinis association without a directional benefit. + - node: Five-species glucose acidification of the biofilm interface + rationale: Retain five-member glucose-responsive pH heterogeneity without niche partitioning or assigned acid + flux. + removed_node_decisions: [] + edges_before: + - source: Actinomyces and S. mitis coaggregation during early biofilm assembly + target: Five-species glucose acidification of the biofilm interface + description: Direct A. naeslundii-S. mitis coaggregation contributes to assembly of the reproducible five-species + biofilm that was challenged with glucose for microscale pH imaging. + - source: Actinomyces and S. sanguinis coaggregation during early biofilm assembly + target: Five-species glucose acidification of the biofilm interface + description: Direct A. naeslundii-S. sanguinis coaggregation provides a second attachment route into the five-species + biofilm whose glucose metabolism generated stable acidic microenvironments. + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: + - source: Actinomyces and S. mitis coaggregation during early biofilm assembly + target: Five-species glucose acidification of the biofilm interface + rationale: Separate coaggregation assay does not establish mediation of five-member acidification. + - source: Actinomyces and S. sanguinis coaggregation during early biofilm assembly + target: Five-species glucose acidification of the biofilm interface + rationale: Separate coaggregation assay does not establish mediation of five-member acidification. + references: + - PMID:21966490 + issues: + - 1417 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Early_Dental_Biofilm_FiveSpecies/2026-10-06T080103Z-codex-36e2cd.yaml + source_review: + PMID:21966490: + url: https://doi.org/10.1371/journal.pone.0025299 + scope: Complete cached abstract and primary main body including Methods, Results, Discussion, figure/table + text and supporting captions S1-S10; no visual figures, videos or separate supplement files. +- path: kb/communities/East_River_Floodplain_Core_Microbiome.yaml + id: CommunityMech:000137 + original_sha256: 4d229d3285c81903222a6e6f0a83d6f10ef7e531ff84e4fffb2d00bdba2447c8 + record_sha256: 152ced119bc2c3699bd6d14465561ce7fa7e5010c0defbeb40f027303b9b83e7 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml + scope: Whole record and every existing node/arrow assessed against primary text at recorded access scope; non-graph + fields preserved, not certified. + summary: Retain operational core genomic potential with a partial source-supported participant roster.; Retain + core gene-content enrichment without part-whole causality or realized flux.; Retain low-carbon-associated transcription + at floodplain L with explicit taxonomic and temporal limits. + renamed_nodes: + Low-Organic-Carbon Chemolithotrophic Activity: Low-Organic-Carbon-Associated Gene Transcription in Floodplain + L + node_decisions: + - node: Core Floodplain Biogeochemical Potential Reservoir + rationale: Retain operational core genomic potential with a partial source-supported participant roster. + - node: Core Floodplain Aerobic and Sulfur Oxidation Capacity + rationale: Retain core gene-content enrichment without part-whole causality or realized flux. + - node: Low-Organic-Carbon-Associated Gene Transcription in Floodplain L + rationale: Retain low-carbon-associated transcription at floodplain L with explicit taxonomic and temporal limits. + removed_node_decisions: [] + edges_before: + - source: Core Floodplain Biogeochemical Potential Reservoir + target: Core Floodplain Aerobic and Sulfur Oxidation Capacity + description: Shared core genomes encode aerobic respiration, aerobic carbon monoxide oxidation, and thiosulfate + oxidation capacity across meanders. + - source: Core Floodplain Biogeochemical Potential Reservoir + target: Low-Organic-Carbon Chemolithotrophic Activity + description: The core capacity reservoir is expressed unevenly; under lower soil organic carbon, chemolithotrophic + one-carbon, sulfur, hydrogen, and nitrogen redox genes become highly active. + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: + - source: Core Floodplain Biogeochemical Potential Reservoir + target: Core Floodplain Aerobic and Sulfur Oxidation Capacity + rationale: Part/whole gene-capacity restatement or unsupported core-inventory-to-transcription causality. + - source: Core Floodplain Biogeochemical Potential Reservoir + target: Low-Organic-Carbon Chemolithotrophic Activity + rationale: Part/whole gene-capacity restatement or unsupported core-inventory-to-transcription causality. + references: + - PMID:34022966 + issues: + - 1418 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/East_River_Floodplain_Core_Microbiome/2026-10-06T080104Z-codex-11f2db.yaml + source_review: + PMID:34022966: + url: https://doi.org/10.1186/s40168-020-00957-z + scope: Complete cached primary main body through GIS Methods and selected supplementary captions; no visual + figures, raw-data analysis or separate supplement files. Existing frontmatter metadata not certified. +- path: kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml + id: CommunityMech:000233 + original_sha256: ac7a17a21298810477a0506397bd2ee3a14b6a28c62d74f5eff2a65b53eed092 + record_sha256: fbc3e3dba6d44ba88f701bfb38ef387898aa1000579763e1ab676817c6abf0ce + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml + scope: Whole record and every existing node/arrow assessed against primary text at recorded access scope; non-graph + fields preserved, not certified. + summary: Retain environmental filtering as a source-proposed causal hypothesis.; Retain DNA-based compartment + differentiation without activity or niche-partitioning claims.; Distinguish candidate-phylum depth enrichment + from CPR location and untested host dependency.; Retain srdA-based selenate-reduction potential without flux + or water-quality claims. + renamed_nodes: + Groundwater and Weathered Shale Niche Filtering: Hypothesized Groundwater and Weathered Shale Filtering + Riparian Carbon Nitrogen and Sulfur Functional Zone: Riparian Carbon Nitrogen and Sulfur Genomic Potential + Weathered Shale and Saturated Sediment Selenium Reduction: Deep Shale and Riparian Selenate Reduction Potential + node_decisions: + - node: Hypothesized Groundwater and Weathered Shale Filtering + rationale: Retain environmental filtering as a source-proposed causal hypothesis. + - node: Riparian Carbon Nitrogen and Sulfur Genomic Potential + rationale: Retain DNA-based compartment differentiation without activity or niche-partitioning claims. + - node: Depth-Enriched Uncultivated Bacterial Lineages + rationale: Distinguish candidate-phylum depth enrichment from CPR location and untested host dependency. + - node: Deep Shale and Riparian Selenate Reduction Potential + rationale: Retain srdA-based selenate-reduction potential without flux or water-quality claims. + removed_node_decisions: [] + edges_before: + - source: Groundwater and Weathered Shale Niche Filtering + target: Riparian Carbon Nitrogen and Sulfur Functional Zone + description: Groundwater saturation and weathered shale stratify the transect into floodplain niches where carbon, + nitrogen, and sulfur pathway genes differentiated riparian communities from hillslope communities. + - source: Groundwater and Weathered Shale Niche Filtering + target: Depth-Enriched Uncultivated Bacterial Lineages + description: The same depth and saturation gradient that separates PLM4 water-table samples localizes CPR bacteria + primarily to floodplain and groundwater-saturated sediments. + - source: Groundwater and Weathered Shale Niche Filtering + target: Weathered Shale and Saturated Sediment Selenium Reduction + description: Weathered shale and saturated sediments expose communities to mobilized selenium and the below-water-table + redox conditions where srdA selenate-reductase genes were enriched. + edges_after: + - source: Hypothesized Groundwater and Weathered Shale Filtering + target: Riparian Carbon Nitrogen and Sulfur Genomic Potential + description: HYPOTHESIZED - groundwater-associated low-redox conditions may favor organisms carrying anaerobic + carbon, nitrogen and sulfur pathway genes, producing the observed riparian-versus-hillslope differences. Spatial + gene abundance supports the model but does not isolate redox as the mediator or demonstrate flux. + - source: Hypothesized Groundwater and Weathered Shale Filtering + target: Depth-Enriched Uncultivated Bacterial Lineages + description: HYPOTHESIZED - depth and water-table conditions may select compatible microorganisms and possible + hosts, influencing candidate-phylum distributions. Observational detections support environmental filtering, + but no host dependence or exclusive groundwater requirement was tested; deep hillslope exceptions remain. + - source: Hypothesized Groundwater and Weathered Shale Filtering + target: Deep Shale and Riparian Selenate Reduction Potential + description: HYPOTHESIZED - shale-derived selenium availability together with periodically reducing groundwater + conditions may select selenate-respiring organisms and enrich srdA. Gene abundance and incomplete chemistry + support this proposed mechanism, not experimentally demonstrated selenium reduction or export control. + retained_edge_decisions: + - source: Hypothesized Groundwater and Weathered Shale Filtering + target: Riparian Carbon Nitrogen and Sulfur Genomic Potential + rationale: HYPOTHESIZED - groundwater-associated low-redox conditions may favor organisms carrying anaerobic + carbon, nitrogen and sulfur pathway genes, producing the observed riparian-versus-hillslope differences. Spatial + gene abundance supports the model but does not isolate redox as the mediator or demonstrate flux. + - source: Hypothesized Groundwater and Weathered Shale Filtering + target: Depth-Enriched Uncultivated Bacterial Lineages + rationale: HYPOTHESIZED - depth and water-table conditions may select compatible microorganisms and possible + hosts, influencing candidate-phylum distributions. Observational detections support environmental filtering, + but no host dependence or exclusive groundwater requirement was tested; deep hillslope exceptions remain. + - source: Hypothesized Groundwater and Weathered Shale Filtering + target: Deep Shale and Riparian Selenate Reduction Potential + rationale: HYPOTHESIZED - shale-derived selenium availability together with periodically reducing groundwater + conditions may select selenate-respiring organisms and enrich srdA. Gene abundance and incomplete chemistry + support this proposed mechanism, not experimentally demonstrated selenium reduction or export control. + removed_edge_decisions: [] + references: + - PMID:31380022 + issues: + - 1419 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/East_River_Hillslope_Riparian_Transect_Community/2026-10-06T080104Z-codex-5beb64.yaml + source_review: + PMID:31380022: + url: https://doi.org/10.1002/ece3.5254 + scope: Complete first cached primary main-body rendering through conclusions, including Methods and figure + captions; duplicate appended rendering, full appendix tables, visual figures and separate supplement files + not reviewed. diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index ad880374b..cfc70e04d 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -152,9 +152,9 @@ kb/communities/Drosophila_FiveSpecies_Gnotobiotic_Gut_Microbiota.yaml CommunityM kb/communities/Drought_Rhizosphere_Iron_Actinobacteria_Community.yaml CommunityMech:000235 43a6278925edf2172f53f949f654de35a85d0139160a6445e6e09a6483967d7b 3 0 75.0 reports/causal_graph_review/decisions/20261006-three-records-batch34.yaml reviewed kb/communities/Dual_Bacillus_coagulans_Pseudomonas_putida_Lactic_Acid_Coculture.yaml CommunityMech:000286 222e691cd06dfd934351e2b0b117ad6d65d4e937c5c36d0fa6e7aa9143a1294d 3 2 88.3 reports/causal_graph_review/decisions/20261006-three-records-batch34.yaml reviewed kb/communities/ENIGMA_Denitrifying_SynCom.yaml CommunityMech:000024 a35550c54115980d58745e932271f5af7eff69dfa8eafa13c73a8bbc36e1676b 3 2 90.0 reports/causal_graph_review/decisions/20261006-three-records-batch34.yaml reviewed -kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml CommunityMech:000081 2260a9a912353ed06b593abfc69ab4a622d7485b676bfc0df5592860d93c8b72 3 2 100.0 pending -kb/communities/East_River_Floodplain_Core_Microbiome.yaml CommunityMech:000137 4d229d3285c81903222a6e6f0a83d6f10ef7e531ff84e4fffb2d00bdba2447c8 3 2 100.0 pending -kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml CommunityMech:000233 ac7a17a21298810477a0506397bd2ee3a14b6a28c62d74f5eff2a65b53eed092 4 3 100.0 pending +kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml CommunityMech:000081 5f765b58c46852bbb55161479525a0b8f6bcc3249c385ca296978ef580a62c75 3 0 61.7 reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml reviewed +kb/communities/East_River_Floodplain_Core_Microbiome.yaml CommunityMech:000137 152ced119bc2c3699bd6d14465561ce7fa7e5010c0defbeb40f027303b9b83e7 3 0 62.5 reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml reviewed +kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml CommunityMech:000233 fbc3e3dba6d44ba88f701bfb38ef387898aa1000579763e1ab676817c6abf0ce 4 3 88.8 reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml reviewed kb/communities/EcoFAB_Ring_Trial_SynCom17.yaml CommunityMech:000025 60fc1f9d6fa2748ea58289e5c6632f41f1174b6a1e7d66a8ce8bd22041f2b56b 6 5 100.0 pending kb/communities/Ecoli_Bifidobacterium_bifidum_Infant_gut_HMO_Mutualism_Coculture.yaml CommunityMech:000296 f4b35253c42baaaf97642de2cad0480f6bc362c0f10191c3e8317dd6cfbc1041 3 3 100.0 pending kb/communities/Ecoli_GL10_XL12_D_Lactate_Mixed_Sugar_SynCom.yaml CommunityMech:000357 2ff7b7aa7484493d67409006c5097c1a8f4efbb3750566a553cd008984890b8e 1 0 65.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index db5d2e3f9..f8dbb4032 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": 1470, - "edges": 701, + "edges": 697, "records_without_nodes": 8, - "records_without_edges": 144, + "records_without_edges": 146, "review_status_counts": { "needs_research": 7, - "pending": 309, - "reviewed": 144 + "pending": 306, + "reviewed": 147 }, "structural_defects": [], "network_audit": [ @@ -603,6 +603,79 @@ "message": "Taxon 'Methylophaga' has no interactions", "severity": "warning" }, + { + "record": "East_River_Floodplain_Core_Microbiome", + "type": "DISCONNECTED", + "taxon": "Acidobacteriota floodplain representatives", + "taxon_id": "NCBITaxon:57723", + "taxon_data": { + "taxon_term": { + "preferred_term": "Acidobacteriota floodplain representatives", + "term": { + "id": "NCBITaxon:57723", + "label": "Acidobacteriota" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:p__Acidobacteriota", + "gtdb_taxon": "Acidobacteriota", + "gtdb_lineage": "d__Bacteria;p__Acidobacteriota", + "ncbi_source_id": "NCBITaxon:57723", + "majority_fraction": 1.0, + "support_genomes": 203, + "total_genomes": 203, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25) [grounded at p__ rank; 1 GTDB taxa under the NCBI taxon]" + }, + "notes": "Acidobacteriota were among the abundant representative genomes reconstructed across the three meander-bound floodplains." + }, + "functional_role": [ + "PRIMARY_DEGRADER" + ], + "evidence": [ + { + "reference": "PMID:34022966", + "supports": "SUPPORT", + "evidence_source": "COMPUTATIONAL", + "snippet": "Other abundant taxa across floodplains included Deltaproteobacteria (27 representatives), Acidobacteria (21 representatives), Nitrospirae and Planctomycetes (both with 13 representatives)", + "explanation": "Supports Acidobacteriota as one of the abundant reconstructed floodplain soil lineages." + } + ] + }, + "message": "Taxon 'Acidobacteriota floodplain representatives' has no interactions", + "severity": "warning" + }, + { + "record": "East_River_Floodplain_Core_Microbiome", + "type": "DISCONNECTED", + "taxon": "Nitrospirae core floodplain members", + "taxon_id": "NCBITaxon:1234", + "taxon_data": { + "taxon_term": { + "preferred_term": "Nitrospirae core floodplain members", + "term": { + "id": "NCBITaxon:1234", + "label": "Nitrospira" + }, + "gtdb_grounding_status": "WITHHELD", + "notes": "Nitrospirae were among abundant reconstructed lineages and are consistent with the highly transcribed nitrification genes reported for the floodplain soils." + }, + "functional_role": [ + "PRIMARY_PRODUCER" + ], + "evidence": [ + { + "reference": "PMID:34022966", + "supports": "SUPPORT", + "evidence_source": "COMPUTATIONAL", + "snippet": "the most highly transcribed genes were relatively rare amoCAB and nxrAB (for nitrification) genes", + "explanation": "Supports active nitrification capacity in the floodplain soil community." + } + ] + }, + "message": "Taxon 'Nitrospirae core floodplain members' has no interactions", + "severity": "warning" + }, { "record": "Mangrove_Benzene_MFC_Bioanode_Consortium", "type": "DISCONNECTED", diff --git a/reports/causal_graph_review/validation-20261006-batch35.json b/reports/causal_graph_review/validation-20261006-batch35.json new file mode 100644 index 000000000..d32c04060 --- /dev/null +++ b/reports/causal_graph_review/validation-20261006-batch35.json @@ -0,0 +1,823 @@ +{ + "base_commit": "fcc5445fc825caaef69b838de8fddec4254fc3b1", + "scope": [ + "kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml", + "kb/communities/East_River_Floodplain_Core_Microbiome.yaml", + "kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml" + ], + "reference_validator_version": "0.1.7", + "results": [ + { + "check": "Early_Dental_Biofilm_FiveSpecies-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/Early_Dental_Biofilm_FiveSpecies-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Early_Dental_Biofilm_FiveSpecies-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch35/Early_Dental_Biofilm_FiveSpecies-strict.tsv", + "kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/Early_Dental_Biofilm_FiveSpecies-strict.log", + "log_sha256": "748b479b1e8597552e013b833afc3f0d1ffa2a0305b369a451d398b6ae071ac3", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch35/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-batch35/Early_Dental_Biofilm_FiveSpecies-strict.tsv\n" + }, + { + "check": "Early_Dental_Biofilm_FiveSpecies-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/Early_Dental_Biofilm_FiveSpecies-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Early_Dental_Biofilm_FiveSpecies-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/Early_Dental_Biofilm_FiveSpecies-references.log", + "log_sha256": "af4e23f3de98d345c13c2b413647af4d9e3b9340423d6aaf9565bd6cc1a228f2", + "output_tail": "Validating kb/communities/Early_Dental_Biofilm_FiveSpecies.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/Early_Dental_Biofilm_FiveSpecies.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": "Early_Dental_Biofilm_FiveSpecies-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/Early_Dental_Biofilm_FiveSpecies-snippets.log", + "log_sha256": "5f0e8a5be45b94195ee5599498c60e06ff8db089c85d0bf23969aa37351ca96e", + "output_tail": "# 17 evidence snippets scanned across 1 files\n MATCH 17\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Early_Dental_Biofilm_FiveSpecies-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/Early_Dental_Biofilm_FiveSpecies-rank.log", + "log_sha256": "ed6c62daa8640b5b45fd82180c1d2fdb2a44026c1bcd10006538eaabfb50611f", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000081\",\n \"name\": \"Early Dental Biofilm Five-Species Model\",\n \"score\": 61.7,\n \"taxonomy\": 5,\n \"connected_taxa\": 5,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml\"\n }\n]\n" + }, + { + "check": "Early_Dental_Biofilm_FiveSpecies-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Early_Dental_Biofilm_FiveSpecies/2026-10-06T080103Z-codex-36e2cd.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/Early_Dental_Biofilm_FiveSpecies-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "East_River_Floodplain_Core_Microbiome-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/East_River_Floodplain_Core_Microbiome.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Floodplain_Core_Microbiome-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "East_River_Floodplain_Core_Microbiome-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch35/East_River_Floodplain_Core_Microbiome-strict.tsv", + "kb/communities/East_River_Floodplain_Core_Microbiome.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Floodplain_Core_Microbiome-strict.log", + "log_sha256": "ae5532d47e1c1365f127079899a01c892f1e46c626f9b703e87a10dfd02bfc73", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch35/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-batch35/East_River_Floodplain_Core_Microbiome-strict.tsv\n" + }, + { + "check": "East_River_Floodplain_Core_Microbiome-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/East_River_Floodplain_Core_Microbiome.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Floodplain_Core_Microbiome-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "East_River_Floodplain_Core_Microbiome-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/East_River_Floodplain_Core_Microbiome.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Floodplain_Core_Microbiome-references.log", + "log_sha256": "76f7c0adf7d9c51f088f2f539b403159fd2c59d076cf977ae0f925e752f89824", + "output_tail": "Validating kb/communities/East_River_Floodplain_Core_Microbiome.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/East_River_Floodplain_Core_Microbiome.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": "East_River_Floodplain_Core_Microbiome-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/East_River_Floodplain_Core_Microbiome.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Floodplain_Core_Microbiome-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": "East_River_Floodplain_Core_Microbiome-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/East_River_Floodplain_Core_Microbiome.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Floodplain_Core_Microbiome-rank.log", + "log_sha256": "5455f9d67cc4fadca4b22b6557c562408de4cfd8983a20a508b34fcb7754b54f", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000137\",\n \"name\": \"East River Floodplain Core Microbiome\",\n \"score\": 62.5,\n \"taxonomy\": 4,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 2,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 7,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"downstream\",\n \"interaction_type\",\n \"disconnected_taxa\"\n ],\n \"path\": \"kb/communities/East_River_Floodplain_Core_Microbiome.yaml\"\n }\n]\n" + }, + { + "check": "East_River_Floodplain_Core_Microbiome-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/East_River_Floodplain_Core_Microbiome/2026-10-06T080104Z-codex-11f2db.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Floodplain_Core_Microbiome-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "East_River_Hillslope_Riparian_Transect_Community-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Hillslope_Riparian_Transect_Community-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "East_River_Hillslope_Riparian_Transect_Community-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch35/East_River_Hillslope_Riparian_Transect_Community-strict.tsv", + "kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Hillslope_Riparian_Transect_Community-strict.log", + "log_sha256": "682a811acfdc84186eff8da9ba57f6deade42fcae83e708ffe9e98daf0a72313", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch35/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-batch35/East_River_Hillslope_Riparian_Transect_Community-strict.tsv\n" + }, + { + "check": "East_River_Hillslope_Riparian_Transect_Community-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Hillslope_Riparian_Transect_Community-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "East_River_Hillslope_Riparian_Transect_Community-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Hillslope_Riparian_Transect_Community-references.log", + "log_sha256": "8aecfdde8a690c979bb93f0cfd11ae42ec0467f07a335607086fbd79d599b530", + "output_tail": "Validating kb/communities/East_River_Hillslope_Riparian_Transect_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/East_River_Hillslope_Riparian_Transect_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": "East_River_Hillslope_Riparian_Transect_Community-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Hillslope_Riparian_Transect_Community-snippets.log", + "log_sha256": "75e7147a13d2e660aed1e17742270d744e48980bb01f7023dcab412ff3b41d03", + "output_tail": "# 35 evidence snippets scanned across 1 files\n MATCH 35\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": "East_River_Hillslope_Riparian_Transect_Community-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Hillslope_Riparian_Transect_Community-rank.log", + "log_sha256": "9fa1f6486364fb4e327d981dc78151aab41c8be07167af696598e2a6d35dda76", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000233\",\n \"name\": \"East River Hillslope Riparian Transect Microbial Community\",\n \"score\": 88.8,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 4,\n \"downstream_edges\": 3,\n \"interaction_evidence\": 13,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml\"\n }\n]\n" + }, + { + "check": "East_River_Hillslope_Riparian_Transect_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/East_River_Hillslope_Riparian_Transect_Community/2026-10-06T080104Z-codex-5beb64.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/East_River_Hillslope_Riparian_Transect_Community-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-batch35/inventory.log", + "log_sha256": "513876687c75db98dc9b9667070c7aecd658acc67dba24864b7a82ef35402995", + "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\": 1470,\n \"edges\": 697,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 146,\n \"review_status_counts\": {\n \"needs_research\": 7,\n \"pending\": 306,\n \"reviewed\": 147\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-batch35/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-batch35/rank-all.log", + "log_sha256": "79b4626d29c880cb0b912c60156c47aad30af5e584e242b0579a81a6c8d5bf44", + "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-batch35/render.log", + "log_sha256": "906cf3943e887d3196f7ead5eedf0f510d1bfbcbfeb77d677c351faeb90a7033", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch35/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch35/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch35/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-batch35/render-repeat.log", + "log_sha256": "906cf3943e887d3196f7ead5eedf0f510d1bfbcbfeb77d677c351faeb90a7033", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch35/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch35/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch35/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch35/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-batch35/connectivity-survey.log", + "log_sha256": "9fe3926cb057784362c5bdd16d1a16436a418acf32ec453dc3052f6a50cfe0ba", + "output_tail": "{\"community_level_only\": 265, \"credited_solely_by_the_rule\": 1222, \"mixed\": 122, \"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_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-batch35/regressions.log", + "log_sha256": "08a383d3f4d5b480ed70dfb55c6f5f50a0bcc2079e646aa038bd99b621eb8aad", + "output_tail": "........................................................................ [ 18%]\n........................................................................ [ 37%]\n........................................................................ [ 56%]\n........................................................................ [ 75%]\n........................................................................ [ 93%]\n........................ [100%]\n384 passed in 164.84s (0:02:44)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch35.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/black.log", + "log_sha256": "b9cf511501d306d2bd8355ccb165c8ddc0a6fdd62d7c72c4a7b1795cf8934c8c", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n2 files would be left unchanged.\n" + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch35.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch35/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-batch35/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + } + ], + "limitations": [ + "Ten existing nodes retained; four arrows removed and three qualified. No new connectivity or provider request.", + "Cached primary main-body text and stated captions reviewed, not visual figures, raw data or separate supplements. Source caches unchanged.", + "Canonical taxonomy and non-graph raw blocks preserved, not certified. Partial participant lists deliberately expose unsupported connectivity; #1420-1422 remain open.", + "Floodplain L RNA snapshot is not all-three-site flux. Higher-level participant groups are not all-member pathway assignments; Nitrospira rank mismatch is not propagated.", + "Hillslope compartment preferred terms remain distinct despite a shared broad ID; causal drivers and CPR dependency are untested hypotheses.", + "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/Early_Dental_Biofilm_FiveSpecies.yaml": { + "MATCH": 17, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/East_River_Floodplain_Core_Microbiome.yaml": { + "MATCH": 16, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml": { + "MATCH": 35, + "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": 31, + "new_disconnected": 2, + "added_findings": { + "East_River_Floodplain_Core_Microbiome": [ + { + "type": "DISCONNECTED", + "taxon": "Acidobacteriota floodplain representatives", + "taxon_id": "NCBITaxon:57723", + "taxon_data": { + "taxon_term": { + "preferred_term": "Acidobacteriota floodplain representatives", + "term": { + "id": "NCBITaxon:57723", + "label": "Acidobacteriota" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:p__Acidobacteriota", + "gtdb_taxon": "Acidobacteriota", + "gtdb_lineage": "d__Bacteria;p__Acidobacteriota", + "ncbi_source_id": "NCBITaxon:57723", + "majority_fraction": 1.0, + "support_genomes": 203, + "total_genomes": 203, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25) [grounded at p__ rank; 1 GTDB taxa under the NCBI taxon]" + }, + "notes": "Acidobacteriota were among the abundant representative genomes reconstructed across the three meander-bound floodplains." + }, + "functional_role": [ + "PRIMARY_DEGRADER" + ], + "evidence": [ + { + "reference": "PMID:34022966", + "supports": "SUPPORT", + "evidence_source": "COMPUTATIONAL", + "snippet": "Other abundant taxa across floodplains included Deltaproteobacteria (27 representatives), Acidobacteria (21 representatives), Nitrospirae and Planctomycetes (both with 13 representatives)", + "explanation": "Supports Acidobacteriota as one of the abundant reconstructed floodplain soil lineages." + } + ] + }, + "message": "Taxon 'Acidobacteriota floodplain representatives' has no interactions" + }, + { + "type": "DISCONNECTED", + "taxon": "Nitrospirae core floodplain members", + "taxon_id": "NCBITaxon:1234", + "taxon_data": { + "taxon_term": { + "preferred_term": "Nitrospirae core floodplain members", + "term": { + "id": "NCBITaxon:1234", + "label": "Nitrospira" + }, + "gtdb_grounding_status": "WITHHELD", + "notes": "Nitrospirae were among abundant reconstructed lineages and are consistent with the highly transcribed nitrification genes reported for the floodplain soils." + }, + "functional_role": [ + "PRIMARY_PRODUCER" + ], + "evidence": [ + { + "reference": "PMID:34022966", + "supports": "SUPPORT", + "evidence_source": "COMPUTATIONAL", + "snippet": "the most highly transcribed genes were relatively rare amoCAB and nxrAB (for nitrification) genes", + "explanation": "Supports active nitrification capacity in the floodplain soil community." + } + ] + }, + "message": "Taxon 'Nitrospirae core floodplain members' has no interactions" + } + ] + }, + "rationale": "Partial participants expose the ungrounded Nitrospirae/genus assignment and non-core Acidobacteriota; tracked by #1418/#1421, not fabricated into supported links." + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1456, + "arrows": 689 + }, + "participant_census": { + "connectivity_before": { + "community_level_only": 265, + "credited_solely_by_the_rule": 1222, + "mixed": 122, + "records": 460, + "taxa": 1494, + "with_community_level": 387 + }, + "connectivity_after": { + "community_level_only": 265, + "credited_solely_by_the_rule": 1222, + "mixed": 122, + "records": 460, + "taxa": 1494, + "with_community_level": 387 + }, + "exact_change": "180 -> 183 users; only the three reviewed records added. Scope and broad census unchanged; two newly exposed DISCONNECTED warnings are separately reported. No taxon 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": 1470, + "edges": 697, + "records_without_nodes": 8, + "records_without_edges": 146, + "review_status_counts": { + "needs_research": 7, + "pending": 306, + "reviewed": 147 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261006-three-records-batch35.yaml": "efba701bb04cf8492e807965e000cefb04855d64aadd2bf2d8d41eab6c48cd91", + "tests/test_causal_review_batch35.py": "36277cc680b9171ab9e584508288116c2d22d0405af3aa266bb1ac3c2f14efcd", + "tests/test_participating_taxa.py": "4b3fba5fa841dbdcc1258b7d9e2e9e5f70049e25c564f5d3f150cf65d4cb26b5", + "kb/communities/Early_Dental_Biofilm_FiveSpecies.yaml": "5f765b58c46852bbb55161479525a0b8f6bcc3249c385ca296978ef580a62c75", + "kb/communities/East_River_Floodplain_Core_Microbiome.yaml": "152ced119bc2c3699bd6d14465561ce7fa7e5010c0defbeb40f027303b9b83e7", + "kb/communities/East_River_Hillslope_Riparian_Transect_Community.yaml": "fbc3e3dba6d44ba88f701bfb38ef387898aa1000579763e1ab676817c6abf0ce" + }, + "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": "fcc5445fc825caaef69b838de8fddec4254fc3b1", + "base_tree": "b1133b3c622afdf3a22e1514fe2ff2b10948d9dc", + "research_worktree": "/private/tmp/communitymech-causal-batch34", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch35/baseline-rank.log", + "sha256": "ae56f4aeafc37515a6cb5b1f77ec47f6ddfeb6a80cde99af0b126213203acdea", + "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-batch35/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-batch35/baseline-network.log", + "sha256": "2cd39b61dfce615081637c0e72d245194c41d4a2a374d65bccad7c69fcff4e63", + "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-batch35/baseline-downstream.log", + "sha256": "d5870598cc79f07c79d055ce1e9a6d602f9f146e61bbdd8f706b6b01ab5d956c", + "output_tail": "ommunity_Model.yaml:261: downstream:\nkb/communities/GOM_Oil_Degrading_Consortium.yaml:119: downstream:\nkb/communities/GOM_Oil_Degrading_Consortium.yaml:160: 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/Yogurt_TwoSpecies_Starter_Culture.yaml:199: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:267: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:311: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:365: 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/Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom.yaml:332: downstream:\nkb/communities/Sichuan_Shai_Vinegar_Yeast_Flavor_SynCom.yaml:160: downstream:\nkb/communities/Sichuan_Shai_Vinegar_Yeast_Flavor_SynCom.yaml:195: downstream:\nkb/communities/Sichuan_Shai_Vinegar_Yeast_Flavor_SynCom.yaml:233: downstream:\nkb/communities/SMutans_VParvula_ASC_Biofilm.yaml:131: downstream:\nkb/communities/SMutans_VParvula_ASC_Biofilm.yaml:179: downstream:\nkb/communities/Desulfovibrio_Methanococcus_Syntrophy.yaml:138: downstream:\nkb/communities/Desulfovibrio_Methanococcus_Syntrophy.yaml:182: downstream:\nkb/communities/Desulfovibrio_Methanococcus_Syntrophy.yaml:232: downstream:\nkb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml:107: downstream:\nkb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml:147: 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/PMI_Variovorax_Thermotolerance_Collection.yaml:330: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:281: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:401: downstream:\nkb/communities/Human_Gut_FourMember_Proteome_Complementarity_Consortium.yaml:155: downstream:\nkb/communities/Human_Gut_FourMember_Proteome_Complementarity_Consortium.yaml:201: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:268: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:315: downstream:\nkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml:223: downstream:\nkb/communities/Lake_Washington_Methane_Oxygen_Methylotroph_Community.yaml:336: downstream:\nkb/communities/SO3_BS3_Lithium_Battery_Bioleaching_Consortium.yaml:141: downstream:\n" + } + ] + } +} diff --git a/tests/test_causal_review_batch35.py b/tests/test_causal_review_batch35.py new file mode 100644 index 000000000..aaa43d442 --- /dev/null +++ b/tests/test_causal_review_batch35.py @@ -0,0 +1,159 @@ +"""Guard source-specific assay, sampling and participant boundaries.""" + +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-batch35.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_dental_coaggregation_does_not_mediate_acidification_by_assay_order(): + _, docs = records() + mitis, sanguinis, acid = docs[0]["ecological_interactions"] + assert all( + "downstream" not in n and "interaction_type" not in n for n in [mitis, sanguinis, acid] + ) + for node in [mitis, sanguinis]: + assert node["scope"] == "PAIRWISE" and "biological_processes" not in node + assert node["source_taxon"]["preferred_term"] == "Actinomyces naeslundii" + assert "separate planktonic assay" in node["description"] + assert mitis["target_taxon"]["preferred_term"] == "Streptococcus mitis" + assert sanguinis["target_taxon"]["preferred_term"] == "Streptococcus sanguinis" + assert "15 min" in mitis["description"] and "2 h" in sanguinis["description"] + assert acid["scope"] == "COMMUNITY_LEVEL" and len(acid["participating_taxa"]) == 5 + assert "no-glucose control remained above pH 7" in acid["description"] + assert "not demonstrated niche partitioning" in acid["description"] + assert "distinct stages" in acid["description"] + + +def test_floodplain_core_does_not_credit_noncore_or_wrong_rank_members(): + _, docs = records() + doc = docs[1] + reservoir, capacity, transcript = doc["ecological_interactions"] + assert all("downstream" not in n for n in [reservoir, capacity, transcript]) + expected = [doc["taxonomy"][i]["taxon_term"]["preferred_term"] for i in [0, 3]] + for node in [reservoir, capacity]: + assert [p["preferred_term"] for p in node["participating_taxa"]] == expected + assert "42 representative genomes" in reservoir["description"] + assert "89 of 94" in reservoir["description"] + assert "did not predict" in reservoir["description"] + assert [p["term"]["id"] for p in transcript["participating_taxa"]] == ["NCBITaxon:28216"] + assert doc["taxonomy"][1]["taxon_term"]["gtdb_grounding_status"] == "WITHHELD" + assert "Nitrospira genus ID" in doc["discussions"][0]["rationale"] + assert "disconnected warnings" in doc["discussions"][0]["rationale"] + + +def test_floodplain_transcription_is_a_bounded_snapshot_not_flux(): + _, docs = records() + transcript = docs[1]["ecological_interactions"][2] + assert "Floodplain L" in transcript["name"] + assert "September 2016 floodplain L RNA snapshot" in transcript["description"] + assert "not a carbon manipulation, measured flux" in transcript["description"] + assert "overall transcription favored higher organic carbon" in transcript["description"] + assert transcript["evidence"][0]["supports"] == "PARTIAL" + assert "abstract" in transcript["evidence"][0]["explanation"] + assert all(e["evidence_source"] == "COMPUTATIONAL" for e in transcript["evidence"]) + + +def test_hillslope_retains_only_hypothesized_environmental_arrows(): + _, docs = records() + filtering, function, lineages, selenium = docs[2]["ecological_interactions"] + assert {e["target"] for e in filtering["downstream"]} == { + function["name"], + lineages["name"], + selenium["name"], + } + assert all(e["description"].startswith("HYPOTHESIZED -") for e in filtering["downstream"]) + assert all(e["supports"] == "PARTIAL" for e in filtering["evidence"]) + assert "DNA abundances" in function["description"] + assert "RNA was extracted for another study" in function["description"] + assert "two Yanofskybacteria" in lineages["description"] + assert "unknown hosts" in lineages["description"] + assert "biological_processes" not in lineages + assert "selenate-reduction potential" in selenium["description"] + assert "lacks chemistry" in selenium["description"] + assert "water-quality improvement were not measured" in selenium["description"] + + +def test_hillslope_compartments_are_not_collapsed_to_shared_id(): + _, docs = records() + filtering = docs[2]["ecological_interactions"][0] + assert len(filtering["participating_taxa"]) == 3 + assert len({p["term"]["id"] for p in filtering["participating_taxa"]}) == 1 + assert len({p["preferred_term"] for p in filtering["participating_taxa"]}) == 3 + for node in docs[2]["ecological_interactions"]: + assert node["scope"] == "COMMUNITY_LEVEL" + assert not {"source_taxon", "target_taxon", "interaction_type"} & node.keys() + + +def test_batch35_canonical_participants_anchors_history_and_record_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", []) + ) + (gap,) = doc["discussions"] + 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_batch35_complete_original_arrow_accounting(): + ledger, docs = records() + assert ledger["independent_approval"] is False and ledger["issues"] == [1417, 1418, 1419] + assert sum(len(r["node_decisions"]) for r in ledger["records"]) == 10 + 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"]) == 4 + for row, doc in zip(ledger["records"], docs, strict=True): + rename = row["renamed_nodes"] + + def remap(edge, rename=rename): + return ( + rename.get(edge["source"], edge["source"]), + rename.get(edge["target"], edge["target"]), + ) + + assert not row["removed_node_decisions"] + assert Counter(d["node"] for d in row["node_decisions"]) == Counter( + n["name"] for n in doc["ecological_interactions"] + ) + assert {remap(e) for e in row["edges_before"]} == { + (e["source"], e["target"]) for e in row["edges_after"] + } | {remap(e) for e in row["removed_edge_decisions"]} + for path, digest in ledger["reference_cache_original_hashes"].items(): + assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest + + +def test_batch35_non_graph_metadata_and_source_access_are_not_certified(): + ledger, docs = records() + assert ledger["open_nongraph_followups"] == [1420, 1421, 1422] + assert ledger["open_graph_research"] == [] + assert docs[2]["taxonomy"][2]["functional_role"] == ["CROSS_FEEDER", "SYNTROPHIC_PARTNER"] + assert "fed with sterile saliva" in docs[0]["growth_media"][0]["name"] + assert "no_provider_job_or_charge" in ledger["edison"]["status"] + assert ledger["issue_deduplication"]["ignored_hidden_local_files_included"] is True + assert ledger["issue_deduplication"]["comments_exhaustive"] is False diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py index 7d9d894f1..411175cb8 100644 --- a/tests/test_participating_taxa.py +++ b/tests/test_participating_taxa.py @@ -245,6 +245,9 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example): "Drosophila_FiveSpecies_Gnotobiotic_Gut_Microbiota.yaml", "Dual_Bacillus_coagulans_Pseudomonas_putida_Lactic_Acid_Coculture.yaml", "ENIGMA_Denitrifying_SynCom.yaml", + "Early_Dental_Biofilm_FiveSpecies.yaml", + "East_River_Floodplain_Core_Microbiome.yaml", + "East_River_Hillslope_Riparian_Transect_Community.yaml", "EcoFAB_Ring_Trial_SynCom17.yaml", "Electrostimulated_Toluene_Methanogenic_Microbiota.yaml", "Ecoli_Bifidobacterium_bifidum_Infant_gut_HMO_Mutualism_Coculture.yaml",