From d6016b3de911cca9a2ce3751c1917d9ad0961990 Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Tue, 6 Oct 2026 20:56:46 -0700 Subject: [PATCH] Bound mat carbon models, conditional floc assembly and Naica physiology --- ...Hot_Spring_Phototrophic_Mat_Community.html | 114 +- ...ycle_Bioflocculation_Model_Consortium.html | 53 +- .../Naica_Deep_Subsurface_Thermophilic.html | 101 +- .../2026-10-07T033847Z-codex-9ff8ba.yaml | 27 + .../2026-10-07T033847Z-codex-288b87.yaml | 27 + .../2026-10-07T033848Z-codex-7b6b99.yaml | 27 + ...Hot_Spring_Phototrophic_Mat_Community.yaml | 136 +- ...ycle_Bioflocculation_Model_Consortium.yaml | 77 +- .../Naica_Deep_Subsurface_Thermophilic.yaml | 117 +- reports/causal_graph_review/README.md | 23 + .../adversarial-review-20261007-batch76.yaml | 210 ++ .../20261007-four-records-batch76.yaml | 477 +++++ reports/causal_graph_review/inventory.tsv | 8 +- reports/causal_graph_review/summary.json | 8 +- .../validation-20261007-batch76.json | 1718 +++++++++++++++++ tests/test_causal_review_batch76.py | 145 ++ 16 files changed, 2990 insertions(+), 278 deletions(-) create mode 100644 history/records/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community/2026-10-07T033847Z-codex-9ff8ba.yaml create mode 100644 history/records/NCycle_Bioflocculation_Model_Consortium/2026-10-07T033847Z-codex-288b87.yaml create mode 100644 history/records/Naica_Deep_Subsurface_Thermophilic/2026-10-07T033848Z-codex-7b6b99.yaml create mode 100644 reports/causal_graph_review/adversarial-review-20261007-batch76.yaml create mode 100644 reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml create mode 100644 reports/causal_graph_review/validation-20261007-batch76.json create mode 100644 tests/test_causal_review_batch76.py diff --git a/docs/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.html b/docs/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.html index cfe3afc3e..cc639fce8 100644 --- a/docs/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.html +++ b/docs/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.html @@ -691,7 +691,7 @@

Ecological Interactions

Ecological interaction network for Mushroom Spring Hot-Spring Phototrophic Mat 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.
@@ -699,8 +699,8 @@

Ecological Interactions

Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -708,11 +708,9 @@

Ecological Interactions

-

Diel Phototrophic Carbon Fixation

- NICHE_PARTITIONING +

Putative Diel Phototrophic Carbon Fixation

-

Roseiflexus and Chloroflexus populations show diel expression of bacteriochlorophyll, reaction-center, and 3-hydroxypropionate carbon dioxide fixation genes, indicating time-resolved phototrophic carbon metabolism in the mat. -

+

Metatranscriptomics measured diel expression in Roseiflexus and Chloroflexus populations: bacteriochlorophyll and reaction-center transcripts were more abundant at night, whereas key 3-hydroxypropionate carbon-fixation genes were expressed during the day. PARTIAL - The authors infer daytime photomixotrophic carbon fixation from these RNA patterns; direct fixation flux or resource partitioning between the genera is not established by the available abstract.

@@ -767,7 +765,7 @@

Evidence

PMID:23575369 - - SUPPORT (COMPUTATIONAL) + - PARTIAL (COMPUTATIONAL)
"expressed key genes involved in the 3-hydroxypropionate (3-OHP) carbon dioxide fixation bi-cycle during the day"
@@ -793,11 +791,9 @@

Evidence

-

Phototroph Storage Polymer Cycling

- NICHE_PARTITIONING +

Putative Diel Phototroph Storage Polymer Cycling

-

Filamentous anoxygenic phototrophs shift between synthesis and use of storage polymers across the diel cycle, coupling light availability to community carbon and energy flow. -

+

PARTIAL - Diel expression of storage-polymer synthesis and degradation genes supports the authors proposed model: nighttime polyhydroxyalkanoate and wax-ester synthesis with glycogen fermentation, followed by daytime use of stored carbon and electron reserves. Polymer turnover and flux through this model are inferred from transcripts in the available abstract, not directly measured here.

@@ -837,9 +833,8 @@

Phototroph Storage Polymer Cycling

Downstream Effects:
- → Diel Phototrophic Carbon Fixation -

Daytime degradation of polyhydroxyalkanoates and wax esters supplies carbon and electron reserves that support filamentous-anoxygenic- phototroph photomixotrophy through the 3-OHP bi-cycle. -

+ → Putative Diel Phototrophic Carbon Fixation +

HYPOTHESIZED - The source model proposes that daytime polyhydroxyalkanoate and wax-ester degradation supplies carbon and electron reserves that support photomixotrophic carbon fixation through the 3-OHP bi-cycle. This metabolic link targets putative carbon fixation, not a demonstrated effect of polymer degradation on gene expression.

@@ -855,7 +850,7 @@

Evidence

PMID:23575369 - - SUPPORT (COMPUTATIONAL) + - PARTIAL (COMPUTATIONAL)
"storage polymers, including glycogen, polyhydroxyalkanoates and wax esters"
@@ -868,7 +863,7 @@

Evidence

PMID:23575369 - - SUPPORT (COMPUTATIONAL) + - PARTIAL (COMPUTATIONAL)
"in daytime, polyhydroxyalkanoates and wax esters are degraded"
@@ -881,18 +876,20 @@

Evidence

-

Upper-Mat and Undermat Nitrogen Fixation Partitioning

- NICHE_PARTITIONING +

Upper-Mat and Undermat Nitrogen Fixation Potential

-

Nitrogen fixation potential is spatially partitioned between Synechococcus spp. in the upper phototrophic layer and Thermodesulfovibrio sp. in the undermat, while nitrate and nitrite metabolism appears limited. -

+

PARTIAL - The undermat study contrasts previously demonstrated Synechococcus nitrogen fixation with putative Thermodesulfovibrio diazotrophy supported by nifHDK and accessory genes. Thermodesulfovibrio nitrogen fixation was not demonstrated in this study. This is a comparison of spatially associated capacities, not nitrogen transfer between these taxa or exclusive layer occupancy. Limited nitrate/nitrite gene recovery in abundant-member partial genomes does not establish pathway absence.

+ + -

Source Taxon: Mushroom Spring Synechococcus spp.

+

Participating Taxa: + Mushroom Spring Synechococcus spp., + Mushroom Spring Thermodesulfovibrio sp. -

Target Taxon: Mushroom Spring Thermodesulfovibrio sp.

+

@@ -922,7 +919,7 @@

Evidence

PMID:28634470 - - SUPPORT (COMPUTATIONAL) + - PARTIAL (COMPUTATIONAL)
"Nitrogen fixation appears to be limited to Synechococcus spp. in the upper mat layer and Thermodesulfovibrio sp. in the undermat"
@@ -935,7 +932,7 @@

Evidence

PMID:28634470 - - SUPPORT (COMPUTATIONAL) + - PARTIAL (COMPUTATIONAL)
"nitrate/nitrite metabolism was limited"
@@ -949,10 +946,8 @@

Evidence

Stratified Chlorophototrophic Community Structure

- NICHE_PARTITIONING
-

The Mushroom Spring mat is a stratified, highly uneven phototrophic community in which upper-layer cyanobacteria coexist with abundant filamentous anoxygenic phototrophs and an undermat assemblage resolved by amplicon and metagenomic sequencing. -

+

Amplicon and metagenomic sequencing resolve a diverse but extremely uneven Mushroom Spring undermat and a stratified phototrophic mat. Upper-layer members also occur in the undermat: the layers differ in relative abundance, not exclusive occupancy. This positive community-structure result does not establish nitrogen transfer or show that stratification causes nitrogen fixation.

@@ -986,17 +981,6 @@

Stratified Chlorophototrophic Community Structure

-
- Downstream Effects: - -
- → Upper-Mat and Undermat Nitrogen Fixation Partitioning -

Vertical separation of the upper phototrophic layer and orange undermat places nitrogen-fixation potential in Synechococcus spp. above the Thermodesulfovibrio sp. undermat population. -

-
- -
-

Evidence

@@ -1090,6 +1074,25 @@

Associated Datasets

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which observations distinguish activity and causal mediation from inferred potential? +

+

Preserve measured RNA and community structure. The 2013 carbon-flow model is explicit in the accessible abstract; full-text XML failed and publisher access was restricted, so do not claim a complete Methods audit. The 2017 main body supports inferred Thermodesulfovibrio diazotrophy, with maturation genes relevant beyond nifHDK alone. Incomplete genomes limit absence claims. Distinct sampling campaigns and overlapping layers do not establish spatially directed nitrogen exchange or a stratification-to-fixation causal link.

+ +

Attaches to: ecological_interactions#Putative Diel Phototrophic Carbon Fixation, ecological_interactions#Putative Diel Phototroph Storage Polymer Cycling, ecological_interactions#Upper-Mat and Undermat Nitrogen Fixation Potential, ecological_interactions#Stratified Chlorophototrophic Community Structure

+ + + + +
+ +
@@ -1296,7 +1299,7 @@

Environmental Factors

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

Environmental Factors

nodes.push({ id: intId, - label: "Diel Phototrophic Carbon Fixation", + label: "Putative Diel Phototrophic Carbon Fixation", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1343,7 +1346,7 @@

Environmental Factors

(function() { var intId = "interaction:1"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1358,7 +1361,7 @@

Environmental Factors

nodes.push({ id: intId, - label: "Phototroph Storage Polymer Cycling", + label: "Putative Diel Phototroph Storage Polymer Cycling", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1386,7 +1389,7 @@

Environmental Factors

(function() { var intId = "interaction:2"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1399,7 +1402,7 @@

Environmental Factors

nodes.push({ id: intId, - label: "Upper-Mat and Undermat Nitrogen Fixation Partitioning", + label: "Upper-Mat and Undermat Nitrogen Fixation Potential", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1408,23 +1411,26 @@

Environmental Factors

}); - var srcKey = "Mushroom Spring Synechococcus spp."; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ - var tgtKey = "Mushroom Spring Thermodesulfovibrio sp."; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } + "Mushroom Spring Synechococcus spp.", + + "Mushroom Spring Thermodesulfovibrio sp." + + ]; + 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 = []; var processes = []; diff --git a/docs/communities/NCycle_Bioflocculation_Model_Consortium.html b/docs/communities/NCycle_Bioflocculation_Model_Consortium.html index 412f8b2ac..7b94d76b6 100644 --- a/docs/communities/NCycle_Bioflocculation_Model_Consortium.html +++ b/docs/communities/NCycle_Bioflocculation_Model_Consortium.html @@ -516,7 +516,7 @@

Ecological Interactions

Ecological interaction network for N-Cycle Bioflocculation Model Consortium - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (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.
@@ -524,8 +524,8 @@

Ecological Interactions

Colonization facilitation + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -534,9 +534,8 @@

Ecological Interactions

Alginate-Entrapped Nitrifier Microcolony Formation

- COLONIZATION_FACILITATION
-

Alginate entrapment and oxic/anoxic sequencing-batch-reactor cycles generated strong nitrifier microcolonies before the entrapped aggregates were released into denitrifier flocs.

+

Alginate entrapment during oxic/anoxic reactor cycles produced stable nitrifier microcolonies, mostly composed of one species. Microcolonies persisted after alginate dissolution with retained N-cycle activity. The artificial retention matrix is not itself a demonstrated interspecies colonization-facilitation interaction.

@@ -563,7 +562,7 @@

Alginate-Entrapped Nitrifier Microcolony Formation

→ Nitrifier-Denitrifier Macrocluster Formation -

Release of the nitrifier microcolonies into suspension seeded larger macroclusters with the denitrifier flocs.

+

Released nitrifier microcolonies provided building blocks incorporated into mixed denitrifier macroclusters after centrifugation and resuspension in calcium-rich HEPES-buffered medium. Release alone did not yield these macroclusters. PARTIAL - Calcium bridging is proposed; its contribution was not fully decoupled from centrifugation.

@@ -593,9 +592,8 @@

Evidence

Nitrifier-Denitrifier Macrocluster Formation

- COLONIZATION_FACILITATION
-

Released nitrifier aggregates formed macroclusters with denitrifier flocs, yielding a bottom-up living model of a full-scale activated-sludge floc.

+

Mixed macroclusters containing nitrifier colonies and Azoarcus flocs appeared after centrifugation at 3000 g for 10 min and resuspension in calcium-rich HEPES-buffered medium, persisting for about 10 days under aerobic stirring. Release alone did not generate these structures. FISH preparation caused separate artefactual aggregation; the later suspended macroclusters were a real positive result. Calcium and centrifugation effects were not fully decoupled.

@@ -617,16 +615,6 @@

Nitrifier-Denitrifier Macrocluster Formation

-
- Downstream Effects: - -
- → Bottom-Up Activated Sludge Floc Model -

Macrocluster formation with denitrifier flocs builds the bottom-up living model used to study full-scale activated-sludge bioflocculation.

-
- -
-

Evidence

@@ -652,10 +640,8 @@

Evidence

Bottom-Up Activated Sludge Floc Model

- COLONIZATION_FACILITATION
-

The reduced N-cycle consortium uses released nitrifier microcolonies and denitrifier flocs as a bottom-up living model of full-scale activated-sludge flocs for mechanistic bioflocculation studies. -

+

The nitrifier-microcolony/denitrifier-floc assembly provides a reduced bottom-up proof-of-concept model of activated-sludge flocs. It retains N-cycle function, but its use as a model is an interpretation of the same assembly, not a separate downstream biological event or proof of full-scale performance. The authors recommend operation that separates medium exchange from centrifugation when testing calcium effects.

@@ -704,6 +690,25 @@

Evidence

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which observations distinguish activity and causal mediation from inferred potential? +

+

Preserve stable nitrifier microcolonies, real mixed macroclusters and retained nitrogen cycling. Separate FISH-induced artefacts from unstained suspension observations. Selectively test calcium/cation bridging without centrifugation and characterize matrix composition before claiming an isolated EPS mechanism or biotic facilitation. Remove the model-utility workflow arrow, not the positive physical assembly result.

+ +

Attaches to: ecological_interactions#Alginate-Entrapped Nitrifier Microcolony Formation, ecological_interactions#Nitrifier-Denitrifier Macrocluster Formation, ecological_interactions#Bottom-Up Activated Sludge Floc Model

+ + + + +
+ +
@@ -892,7 +897,7 @@

Evidence

(function() { var intId = "interaction:0"; - var intType = "COLONIZATION_FACILITATION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -920,7 +925,7 @@

Evidence

(function() { var intId = "interaction:1"; - var intType = "COLONIZATION_FACILITATION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -948,7 +953,7 @@

Evidence

(function() { var intId = "interaction:2"; - var intType = "COLONIZATION_FACILITATION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; diff --git a/docs/communities/Naica_Deep_Subsurface_Thermophilic.html b/docs/communities/Naica_Deep_Subsurface_Thermophilic.html index 873bd5066..e5487b9a7 100644 --- a/docs/communities/Naica_Deep_Subsurface_Thermophilic.html +++ b/docs/communities/Naica_Deep_Subsurface_Thermophilic.html @@ -741,7 +741,7 @@

Ecological Interactions

Ecological interaction network for Naica Deep Subsurface Thermophilic 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 (competition, 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.
@@ -749,13 +749,8 @@

Ecological Interactions

Competition -
-
- Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -763,10 +758,9 @@

Ecological Interactions

-

Thermophilic Archaeal and OP3 Selection

- NICHE_PARTITIONING +

Inferred Thermophily of Naica Archaeal and OP3 Lineages

-

The Naica hydrothermal aquifer selected archaeal and OP3 lineages with elevated 16S rRNA GC content, indicating thermophily in the low-diversity prokaryotic community.

+

PARTIAL - Elevated 16S rRNA GC content suggests thermophily of detected archaeal lineages and some OP3 OTUs in Naica hydrothermal waters. This sequence-based inference is not a measured growth-temperature response or demonstrated ecological selection; it does not apply uniformly to all OP3 lineages.

@@ -798,16 +792,6 @@

Thermophilic Archaeal and OP3 Selection

-
- Downstream Effects: - -
- → Thermophilic Ammonia Oxidation -

The thermophilic environmental filter defines the hot, energy-limited niche in which Thaumarchaeota amoA genes support archaeal ammonia oxidation.

-
- -
-

Evidence

@@ -819,10 +803,10 @@

Evidence

doi:10.3389/fmicb.2013.00037 - - SUPPORT (IN_VIVO) + - PARTIAL (IN_VIVO)
-
"The high GC content of 16S rRNA gene sequences belonging to the archaea and to some OP3 OTUs suggests that at least these lineages are thermophilic"
+
"high GC content of 16S rRNA gene sequences belonging to the archaea and to some OP3 OTUs suggests that at least these lineages are thermophilic"
@@ -832,10 +816,9 @@

Evidence

-

Thermophilic Ammonia Oxidation

- NICHE_PARTITIONING +

Putative Thermophilic Archaeal Ammonia Oxidation

-

Archaeal ammonia monooxygenase genes were amplified from Naica samples, supporting thermophilic ammonia oxidation by Thaumarchaeota in an extremely energy-limited aquifer.

+

PARTIAL - Archaeal AamoA genes amplified from Naica water support putative ammonia-oxidizing capacity and the authors chemolithoautotrophic interpretation. Gene detection does not measure ammonia oxidation or carbon-fixation flux, assign activity to every detected archaeal lineage, or quantify ammonia and nitrite concentrations.

Source Taxon: Thaumarchaeota

@@ -862,9 +845,9 @@

Thermophilic Ammonia Oxidation

-
"Genes encoding archaeal ammonium monooxygenase (AamoA) were amplified, suggesting that Naica Thaumarchaeota are involved in nitrification"
+
"genes encoding archaeal ammonium monooxygenase (AamoA) were amplified, suggesting that Naica Thaumarchaeota are involved in nitrification"
@@ -901,10 +884,10 @@

Evidence

doi:10.3389/fmicb.2013.00037 - - SUPPORT (IN_VIVO) + - PARTIAL (IN_VIVO)
-
"these organisms are likely thermophilic chemolithoautotrophs adapted to thrive in an extremely energy-limited environment"
+
"These organisms are likely thermophilic chemolithoautotrophs adapted to thrive in an extremely energy-limited environment"
@@ -914,10 +897,9 @@

Evidence

-

Electron Donor Limitation Filters Sulfate Reduction

- COMPETITION +

Putative Electron-Donor Limitation of Sulfate Reduction

-

The sulfate-rich Naica aquifer lacks evidence that sulfate reduction is a dominant terminal metabolism; dsrAB marker amplification was unsuccessful, appreciable hydrogen sulfide was not detected, and the paper argues that both organic matter and hydrogen are extremely low. This electron-donor limitation constrains sulfate reduction despite the aquifer's sulfate abundance.

+

PARTIAL - Failed dsrA amplification and reported lack of appreciable hydrogen sulfide led the authors to infer that sulfate reduction, if present, was not dominant in the sulfate-rich aquifer. They proposed low organic matter and hydrogen as an electron-donor constraint. Negative PCR is not pathway absence, and this explanation was not a donor-rescue experiment or demonstration of competition. Co-occurring AamoA detection does not establish a causal link to ammonia oxidation.

@@ -955,16 +937,6 @@

Electron Donor Limitation Filters Sulfate Reduction

-
- Downstream Effects: - -
- → Thermophilic Ammonia Oxidation -

Electron-donor scarcity constrained sulfate reduction in the same energy-limited aquifer where archaeal AamoA genes supported ammonia oxidation by Thaumarchaeota.

-
- -
-

Evidence

@@ -979,7 +951,7 @@

Evidence

- SUPPORT (IN_VIVO)
-
"We failed to amplify dsrA genes encoding the dissimilatory sulfite reductase, which further reinforces the idea that Naica-associated microbial communities do not"
+
"We failed to amplify dsrA genes encoding the dissimilatory sulfite reductase"
@@ -989,7 +961,7 @@

Evidence

doi:10.3389/fmicb.2013.00037 - - SUPPORT (IN_VIVO) + - PARTIAL (IN_VIVO)
"At any rate, for sulfate reduction to occur, either organic matter or inorganic electron donors, typically H2, must be present to fuel the redox reaction. However, both appear to be extremely low in the aquifer"
@@ -1005,6 +977,25 @@

Evidence

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which observations distinguish activity and causal mediation from inferred potential? +

+

Distinguish high-GC thermophily inference and AamoA capacity from measured growth and metabolic rates. Low-biomass sampling, primer detection limits and contamination considerations bound negative and positive detections. The source presents sulfate reduction as not dominant if present; hydrogen-sulfide absence includes unpublished observations. Test donor rescue and oxidation rates before adding causal arrows among co-occurring environmental explanations. Canonical taxonomic groundings are retained; non-graph physiological metadata needs separate reconciliation.

+ +

Attaches to: ecological_interactions#Inferred Thermophily of Naica Archaeal and OP3 Lineages, ecological_interactions#Putative Thermophilic Archaeal Ammonia Oxidation, ecological_interactions#Putative Electron-Donor Limitation of Sulfate Reduction

+ + + + +
+ +
@@ -1236,7 +1227,7 @@

Environmental Factors

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

Environmental Factors

nodes.push({ id: intId, - label: "Thermophilic Archaeal and OP3 Selection", + label: "Inferred Thermophily of Naica Archaeal and OP3 Lineages", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1279,7 +1270,7 @@

Environmental Factors

(function() { var intId = "interaction:1"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1291,7 +1282,7 @@

Environmental Factors

var processes = []; - processes.push("nitrification"); + processes.push("ammonia oxidation"); processes.push("carbon fixation"); @@ -1300,7 +1291,7 @@

Environmental Factors

nodes.push({ id: intId, - label: "Thermophilic Ammonia Oxidation", + label: "Putative Thermophilic Archaeal Ammonia Oxidation", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1320,7 +1311,7 @@

Environmental Factors

(function() { var intId = "interaction:2"; - var intType = "COMPETITION"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1341,7 +1332,7 @@

Environmental Factors

nodes.push({ id: intId, - label: "Electron Donor Limitation Filters Sulfate Reduction", + label: "Putative Electron-Donor Limitation of Sulfate Reduction", type: "interaction", interactionType: intType, metabolites: metabolites, diff --git a/history/records/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community/2026-10-07T033847Z-codex-9ff8ba.yaml b/history/records/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community/2026-10-07T033847Z-codex-9ff8ba.yaml new file mode 100644 index 000000000..49f86736d --- /dev/null +++ b/history/records/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community/2026-10-07T033847Z-codex-9ff8ba.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml + slug: Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community +session: + id: 2026-10-07T033847Z-codex-9ff8ba + timestamp: '2026-10-07T03:38:47Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1632 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve measured diel expression, not metabolic flux or demonstrated niche partitioning.; + Retain proposed polymer-to-photomixotrophy link as HYPOTHESIZED.; Bound diazotrophic potential + and partial-genome absence; replace unsupported directional taxa with participants.; Preserve + uneven overlapping mat structure; remove spatial-context arrow. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml diff --git a/history/records/NCycle_Bioflocculation_Model_Consortium/2026-10-07T033847Z-codex-288b87.yaml b/history/records/NCycle_Bioflocculation_Model_Consortium/2026-10-07T033847Z-codex-288b87.yaml new file mode 100644 index 000000000..c55e68a3b --- /dev/null +++ b/history/records/NCycle_Bioflocculation_Model_Consortium/2026-10-07T033847Z-codex-288b87.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml + slug: NCycle_Bioflocculation_Model_Consortium +session: + id: 2026-10-07T033847Z-codex-288b87 + timestamp: '2026-10-07T03:38:47Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1633 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve microcolonies and their conditional contribution to mixed structures.; + Preserve actual macroclusters with centrifugation/calcium and imaging boundaries; remove + model-utility arrow.; Retain proof-of-concept utility without a second biological causal + stage. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml diff --git a/history/records/Naica_Deep_Subsurface_Thermophilic/2026-10-07T033848Z-codex-7b6b99.yaml b/history/records/Naica_Deep_Subsurface_Thermophilic/2026-10-07T033848Z-codex-7b6b99.yaml new file mode 100644 index 000000000..eaaa680a1 --- /dev/null +++ b/history/records/Naica_Deep_Subsurface_Thermophilic/2026-10-07T033848Z-codex-7b6b99.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml + slug: Naica_Deep_Subsurface_Thermophilic +session: + id: 2026-10-07T033848Z-codex-7b6b99 + timestamp: '2026-10-07T03:38:48Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1634 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain lineage-specific inferred thermophily; remove environmental-context arrow.; + Retain putative oxidation; correct GO grounding and remove unmeasured graph concentrations.; + Retain proposed donor constraint with negative-PCR limits; remove co-occurrence arrow + and unsupported competition. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml diff --git a/kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml b/kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml index 104a078c4..c93f60efa 100644 --- a/kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml +++ b/kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml @@ -150,13 +150,12 @@ taxonomy: snippet: Metagenome binning recovered partial genomes of all abundant community members explanation: Supports genome-resolved assignment of abundant undermat community members. ecological_interactions: -- name: Diel Phototrophic Carbon Fixation - description: > - Roseiflexus and Chloroflexus populations show diel expression of - bacteriochlorophyll, reaction-center, and 3-hydroxypropionate carbon - dioxide fixation genes, indicating time-resolved phototrophic carbon - metabolism in the mat. - interaction_type: NICHE_PARTITIONING +- name: Putative Diel Phototrophic Carbon Fixation + description: 'Metatranscriptomics measured diel expression in Roseiflexus and Chloroflexus populations: bacteriochlorophyll + and reaction-center transcripts were more abundant at night, whereas key 3-hydroxypropionate carbon-fixation + genes were expressed during the day. PARTIAL - The authors infer daytime photomixotrophic carbon fixation from + these RNA patterns; direct fixation flux or resource partitioning between the genera is not established by the + available abstract.' scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Mushroom Spring Roseiflexus spp. @@ -183,21 +182,22 @@ ecological_interactions: label: carbon fixation evidence: - reference: PMID:23575369 - supports: SUPPORT + supports: PARTIAL evidence_source: COMPUTATIONAL - snippet: expressed key genes involved in the 3-hydroxypropionate (3-OHP) carbon dioxide fixation bi-cycle during the day - explanation: Supports daytime carbon dioxide fixation by phototrophic Chloroflexi populations. + snippet: expressed key genes involved in the 3-hydroxypropionate (3-OHP) carbon dioxide fixation bi-cycle during + the day + explanation: Directly supports measured daytime expression and indirectly supports putative carbon fixation; + it is not a fixation-flux measurement. - reference: PMID:23575369 supports: SUPPORT evidence_source: COMPUTATIONAL snippet: Transcripts for genes involved in the biosynthesis of bacteriochlorophylls explanation: Supports diel expression of phototrophy genes in the mat community. -- name: Phototroph Storage Polymer Cycling - description: > - Filamentous anoxygenic phototrophs shift between synthesis and use of - storage polymers across the diel cycle, coupling light availability to - community carbon and energy flow. - interaction_type: NICHE_PARTITIONING +- name: Putative Diel Phototroph Storage Polymer Cycling + description: 'PARTIAL - Diel expression of storage-polymer synthesis and degradation genes supports the authors + proposed model: nighttime polyhydroxyalkanoate and wax-ester synthesis with glycogen fermentation, followed + by daytime use of stored carbon and electron reserves. Polymer turnover and flux through this model are inferred + from transcripts in the available abstract, not directly measured here.' scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Mushroom Spring Roseiflexus spp. @@ -218,39 +218,29 @@ ecological_interactions: id: GO:0015977 label: carbon fixation downstream: - - target: Diel Phototrophic Carbon Fixation - description: > - Daytime degradation of polyhydroxyalkanoates and wax esters supplies - carbon and electron reserves that support filamentous-anoxygenic- - phototroph photomixotrophy through the 3-OHP bi-cycle. + - target: Putative Diel Phototrophic Carbon Fixation + description: HYPOTHESIZED - The source model proposes that daytime polyhydroxyalkanoate and wax-ester degradation + supplies carbon and electron reserves that support photomixotrophic carbon fixation through the 3-OHP bi-cycle. + This metabolic link targets putative carbon fixation, not a demonstrated effect of polymer degradation on + gene expression. evidence: - reference: PMID:23575369 - supports: SUPPORT + supports: PARTIAL evidence_source: COMPUTATIONAL snippet: storage polymers, including glycogen, polyhydroxyalkanoates and wax esters - explanation: Supports storage polymer metabolism as a diel feature of the phototrophic mat. + explanation: Supports the transcript-informed conceptual model, not directly measured polymer turnover. - reference: PMID:23575369 - supports: SUPPORT + supports: PARTIAL evidence_source: COMPUTATIONAL snippet: in daytime, polyhydroxyalkanoates and wax esters are degraded - explanation: Supports daytime use of storage polymers by phototrophic Chloroflexi. -- name: Upper-Mat and Undermat Nitrogen Fixation Partitioning - description: > - Nitrogen fixation potential is spatially partitioned between Synechococcus - spp. in the upper phototrophic layer and Thermodesulfovibrio sp. in the - undermat, while nitrate and nitrite metabolism appears limited. - interaction_type: NICHE_PARTITIONING + explanation: Supports the transcript-informed conceptual model, not directly measured polymer turnover. +- name: Upper-Mat and Undermat Nitrogen Fixation Potential + description: PARTIAL - The undermat study contrasts previously demonstrated Synechococcus nitrogen fixation with + putative Thermodesulfovibrio diazotrophy supported by nifHDK and accessory genes. Thermodesulfovibrio nitrogen + fixation was not demonstrated in this study. This is a comparison of spatially associated capacities, not nitrogen + transfer between these taxa or exclusive layer occupancy. Limited nitrate/nitrite gene recovery in abundant-member + partial genomes does not establish pathway absence. scope: COMMUNITY_LEVEL - source_taxon: - preferred_term: Mushroom Spring Synechococcus spp. - term: - id: NCBITaxon:1129 - label: Synechococcus - target_taxon: - preferred_term: Mushroom Spring Thermodesulfovibrio sp. - term: - id: NCBITaxon:28261 - label: Thermodesulfovibrio biological_processes: - preferred_term: nitrogen fixation term: @@ -258,22 +248,32 @@ ecological_interactions: label: nitrogen fixation evidence: - reference: PMID:28634470 - supports: SUPPORT + supports: PARTIAL evidence_source: COMPUTATIONAL - snippet: Nitrogen fixation appears to be limited to Synechococcus spp. in the upper mat layer and Thermodesulfovibrio sp. in the undermat - explanation: Supports spatial niche partitioning of nitrogen fixation potential. + snippet: Nitrogen fixation appears to be limited to Synechococcus spp. in the upper mat layer and Thermodesulfovibrio + sp. in the undermat + explanation: Supports the authors genomic and spatial interpretation; incomplete genomes, unresolved Thermodesulfovibrio + activity and overlapping layers limit causal inference. - reference: PMID:28634470 - supports: SUPPORT + supports: PARTIAL evidence_source: COMPUTATIONAL snippet: nitrate/nitrite metabolism was limited - explanation: Supports the limited nitrate/nitrite metabolism context for nitrogen cycling. + explanation: Supports the authors genomic and spatial interpretation; incomplete genomes, unresolved Thermodesulfovibrio + activity and overlapping layers limit causal inference. + participating_taxa: + - preferred_term: Mushroom Spring Synechococcus spp. + term: + id: NCBITaxon:1129 + label: Synechococcus + - preferred_term: Mushroom Spring Thermodesulfovibrio sp. + term: + id: NCBITaxon:28261 + label: Thermodesulfovibrio - name: Stratified Chlorophototrophic Community Structure - description: > - The Mushroom Spring mat is a stratified, highly uneven phototrophic - community in which upper-layer cyanobacteria coexist with abundant - filamentous anoxygenic phototrophs and an undermat assemblage resolved by - amplicon and metagenomic sequencing. - interaction_type: NICHE_PARTITIONING + description: 'Amplicon and metagenomic sequencing resolve a diverse but extremely uneven Mushroom Spring undermat + and a stratified phototrophic mat. Upper-layer members also occur in the undermat: the layers differ in relative + abundance, not exclusive occupancy. This positive community-structure result does not establish nitrogen transfer + or show that stratification causes nitrogen fixation.' scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Mushroom Spring Synechococcus spp. @@ -297,12 +297,6 @@ ecological_interactions: term: id: GO:0044419 label: biological process involved in interspecies interaction between organisms - downstream: - - target: Upper-Mat and Undermat Nitrogen Fixation Partitioning - description: > - Vertical separation of the upper phototrophic layer and orange undermat - places nitrogen-fixation potential in Synechococcus spp. above the - Thermodesulfovibrio sp. undermat population. evidence: - reference: PMID:28634470 supports: SUPPORT @@ -487,3 +481,29 @@ metal_relevance: NOT_APPLICABLE metal_notes: > No metal or rare earth processing role is curated for this hot-spring phototrophic mat community. +discussions: +- discussion_id: mushroom_transcripts_potential_and_spatial_context + prompt: Which observations distinguish activity and causal mediation from inferred potential? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + posed_date: '2026-10-07' + rationale: Preserve measured RNA and community structure. The 2013 carbon-flow model is explicit in the accessible + abstract; full-text XML failed and publisher access was restricted, so do not claim a complete Methods audit. + The 2017 main body supports inferred Thermodesulfovibrio diazotrophy, with maturation genes relevant beyond + nifHDK alone. Incomplete genomes limit absence claims. Distinct sampling campaigns and overlapping layers do + not establish spatially directed nitrogen exchange or a stratification-to-fixation causal link. + attaches_to: + - ecological_interactions#Putative Diel Phototrophic Carbon Fixation + - ecological_interactions#Putative Diel Phototroph Storage Polymer Cycling + - ecological_interactions#Upper-Mat and Undermat Nitrogen Fixation Potential + - ecological_interactions#Stratified Chlorophototrophic Community Structure +curation_history: +- timestamp: '2026-10-07T03:38:46Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve measured diel expression, not metabolic flux or demonstrated niche partitioning.; Retain proposed + polymer-to-photomixotrophy link as HYPOTHESIZED.; Bound diazotrophic potential and partial-genome absence; replace + unsupported directional taxa with participants.; Preserve uneven overlapping mat structure; remove spatial-context + arrow. Issue #1632; reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml' + llm_assisted: true diff --git a/kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml b/kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml index 7da23b9a1..c9613a97c 100644 --- a/kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml +++ b/kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml @@ -53,10 +53,9 @@ taxonomy: - *id001 ecological_interactions: - name: Alginate-Entrapped Nitrifier Microcolony Formation - description: Alginate entrapment and oxic/anoxic sequencing-batch-reactor cycles - generated strong nitrifier microcolonies before the entrapped aggregates were - released into denitrifier flocs. - interaction_type: COLONIZATION_FACILITATION + description: Alginate entrapment during oxic/anoxic reactor cycles produced stable nitrifier microcolonies, mostly + composed of one species. Microcolonies persisted after alginate dissolution with retained N-cycle activity. + The artificial retention matrix is not itself a demonstrated interspecies colonization-facilitation interaction. scope: COMMUNITY_LEVEL biological_processes: - preferred_term: biofilm formation @@ -65,45 +64,42 @@ ecological_interactions: label: biofilm formation downstream: - target: Nitrifier-Denitrifier Macrocluster Formation - description: Release of the nitrifier microcolonies into suspension seeded larger - macroclusters with the denitrifier flocs. + description: Released nitrifier microcolonies provided building blocks incorporated into mixed denitrifier macroclusters + after centrifugation and resuspension in calcium-rich HEPES-buffered medium. Release alone did not yield these + macroclusters. PARTIAL - Calcium bridging is proposed; its contribution was not fully decoupled from centrifugation. evidence: - reference: PMID:40536564 supports: SUPPORT evidence_source: IN_VITRO snippet: Strong nitrifier microcolonies were formed during oxic/anoxic cycles in sequencing batch reactors, using alginate entrapment as a cell retention system. - explanation: Supports the aggregate-formation process in the defined N-cycle - consortium under sequencing-batch-reactor cultivation. + explanation: Supports the aggregate-formation process in the defined N-cycle consortium under sequencing-batch-reactor + cultivation. - name: Nitrifier-Denitrifier Macrocluster Formation - description: Released nitrifier aggregates formed macroclusters with denitrifier - flocs, yielding a bottom-up living model of a full-scale activated-sludge floc. - interaction_type: COLONIZATION_FACILITATION + description: Mixed macroclusters containing nitrifier colonies and Azoarcus flocs appeared after centrifugation + at 3000 g for 10 min and resuspension in calcium-rich HEPES-buffered medium, persisting for about 10 days under + aerobic stirring. Release alone did not generate these structures. FISH preparation caused separate artefactual + aggregation; the later suspended macroclusters were a real positive result. Calcium and centrifugation effects + were not fully decoupled. scope: COMMUNITY_LEVEL biological_processes: - preferred_term: biofilm formation term: id: GO:0042710 label: biofilm formation - downstream: - - target: Bottom-Up Activated Sludge Floc Model - description: Macrocluster formation with denitrifier flocs builds the - bottom-up living model used to study full-scale activated-sludge - bioflocculation. evidence: - reference: PMID:40536564 supports: SUPPORT evidence_source: IN_VITRO - snippet: After the release of these aggregates into suspension, macroclusters with flocs - of the denitrifier were observed - explanation: Supports macrocluster formation by released nitrifier aggregates - and denitrifier flocs. + snippet: After the release of these aggregates into suspension, macroclusters with flocs of the denitrifier + were observed + explanation: Abstract supports the observed endpoint; complete main-body Methods and Results qualify it by centrifugation + plus calcium-rich resuspension, not release alone. - name: Bottom-Up Activated Sludge Floc Model - description: > - The reduced N-cycle consortium uses released nitrifier microcolonies and - denitrifier flocs as a bottom-up living model of full-scale activated-sludge - flocs for mechanistic bioflocculation studies. - interaction_type: COLONIZATION_FACILITATION + description: The nitrifier-microcolony/denitrifier-floc assembly provides a reduced bottom-up proof-of-concept + model of activated-sludge flocs. It retains N-cycle function, but its use as a model is an interpretation of + the same assembly, not a separate downstream biological event or proof of full-scale performance. The authors + recommend operation that separates medium exchange from centrifugation when testing calcium effects. scope: COMMUNITY_LEVEL biological_processes: - preferred_term: biofilm formation @@ -114,10 +110,10 @@ ecological_interactions: - reference: PMID:40536564 supports: SUPPORT evidence_source: IN_VITRO - snippet: a living model of a full-scale activated sludge floc can be built through the use of this bottom-up approach - explanation: > - Supports the bottom-up full-scale floc model as the community-level - outcome of released aggregate macrocluster formation. + snippet: a living model of a full-scale activated sludge floc can be built through the use of this bottom-up + approach + explanation: Supports the proposed model utility, not a separate causal stage or demonstrated equivalence to + full-scale flocs. related_ingredients: - preferred_term: alginate chebi_term: @@ -177,3 +173,26 @@ cultivation_setup: snippet: Strong nitrifier microcolonies were formed during oxic/anoxic cycles in sequencing batch reactors, using alginate entrapment as a cell retention system. explanation: Establishes the sequencing-batch-reactor cultivation mode with alginate entrapment. +discussions: +- discussion_id: floc_calcium_centrifugation_and_imaging + prompt: Which observations distinguish activity and causal mediation from inferred potential? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + posed_date: '2026-10-07' + rationale: Preserve stable nitrifier microcolonies, real mixed macroclusters and retained nitrogen cycling. Separate + FISH-induced artefacts from unstained suspension observations. Selectively test calcium/cation bridging without + centrifugation and characterize matrix composition before claiming an isolated EPS mechanism or biotic facilitation. + Remove the model-utility workflow arrow, not the positive physical assembly result. + attaches_to: + - ecological_interactions#Alginate-Entrapped Nitrifier Microcolony Formation + - ecological_interactions#Nitrifier-Denitrifier Macrocluster Formation + - ecological_interactions#Bottom-Up Activated Sludge Floc Model +curation_history: +- timestamp: '2026-10-07T03:38:47Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve microcolonies and their conditional contribution to mixed structures.; Preserve actual macroclusters + with centrifugation/calcium and imaging boundaries; remove model-utility arrow.; Retain proof-of-concept utility + without a second biological causal stage. Issue #1633; reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml' + llm_assisted: true diff --git a/kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml b/kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml index bc61182c1..e3625c8f0 100644 --- a/kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml +++ b/kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml @@ -239,10 +239,10 @@ taxonomy: Beta-proteobacteria explanation: Documents Betaproteobacteria detection ecological_interactions: -- name: Thermophilic Archaeal and OP3 Selection - description: The Naica hydrothermal aquifer selected archaeal and OP3 lineages with elevated 16S rRNA - GC content, indicating thermophily in the low-diversity prokaryotic community. - interaction_type: NICHE_PARTITIONING +- name: Inferred Thermophily of Naica Archaeal and OP3 Lineages + description: PARTIAL - Elevated 16S rRNA GC content suggests thermophily of detected archaeal lineages and some + OP3 OTUs in Naica hydrothermal waters. This sequence-based inference is not a measured growth-temperature response + or demonstrated ecological selection; it does not apply uniformly to all OP3 lineages. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Thaumarchaeota @@ -262,21 +262,17 @@ ecological_interactions: term: id: GO:0009408 label: response to heat - downstream: - - target: Thermophilic Ammonia Oxidation - description: The thermophilic environmental filter defines the hot, energy-limited niche in which - Thaumarchaeota amoA genes support archaeal ammonia oxidation. evidence: - reference: doi:10.3389/fmicb.2013.00037 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VIVO - snippet: The high GC content of 16S rRNA gene sequences belonging to the archaea and to some OP3 OTUs - suggests that at least these lineages are thermophilic - explanation: Supports thermophilic selection of archaeal and OP3 lineages in the Naica community. -- name: Thermophilic Ammonia Oxidation - description: Archaeal ammonia monooxygenase genes were amplified from Naica samples, supporting thermophilic - ammonia oxidation by Thaumarchaeota in an extremely energy-limited aquifer. - interaction_type: NICHE_PARTITIONING + snippet: high GC content of 16S rRNA gene sequences belonging to the archaea and to some OP3 OTUs suggests that + at least these lineages are thermophilic + explanation: Supports inferred thermophily of specified lineages, not a growth assay or selection mechanism. +- name: Putative Thermophilic Archaeal Ammonia Oxidation + description: PARTIAL - Archaeal AamoA genes amplified from Naica water support putative ammonia-oxidizing capacity + and the authors chemolithoautotrophic interpretation. Gene detection does not measure ammonia oxidation or carbon-fixation + flux, assign activity to every detected archaeal lineage, or quantify ammonia and nitrite concentrations. scope: COMMUNITY_LEVEL source_taxon: preferred_term: Thaumarchaeota @@ -288,41 +284,44 @@ ecological_interactions: term: id: CHEBI:16134 label: ammonia - concentration: Trace (oligotrophic) + notes: Putative substrate or product of the inferred oxidation pathway; concentration was not measured by the + cited gene-detection evidence. - preferred_term: nitrite term: id: CHEBI:16301 label: nitrite - concentration: Product of ammonia oxidation + notes: Putative substrate or product of the inferred oxidation pathway; concentration was not measured by the + cited gene-detection evidence. biological_processes: - - preferred_term: nitrification + - preferred_term: ammonia oxidation term: - id: GO:0019676 - label: ammonia assimilation cycle + id: GO:0019329 + label: ammonia oxidation - preferred_term: carbon fixation term: id: GO:0015977 label: carbon fixation evidence: - reference: doi:10.3389/fmicb.2013.00037 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VIVO - snippet: Genes encoding archaeal ammonium monooxygenase (AamoA) were amplified, suggesting that Naica - Thaumarchaeota are involved in nitrification - explanation: Supports ammonia oxidation by Naica Thaumarchaeota. + snippet: genes encoding archaeal ammonium monooxygenase (AamoA) were amplified, suggesting that Naica Thaumarchaeota + are involved in nitrification + explanation: Supports the authors gene-based metabolic inference, not measured oxidation, carbon fixation or + substrate concentration. - reference: doi:10.3389/fmicb.2013.00037 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VIVO - snippet: these organisms are likely thermophilic chemolithoautotrophs adapted to thrive in an extremely - energy-limited environment - explanation: Documents extreme oligotrophic adaptation -- name: Electron Donor Limitation Filters Sulfate Reduction - description: The sulfate-rich Naica aquifer lacks evidence that sulfate - reduction is a dominant terminal metabolism; dsrAB marker amplification was - unsuccessful, appreciable hydrogen sulfide was not detected, and the paper - argues that both organic matter and hydrogen are extremely low. This electron-donor limitation constrains - sulfate reduction despite the aquifer's sulfate abundance. - interaction_type: COMPETITION + snippet: These organisms are likely thermophilic chemolithoautotrophs adapted to thrive in an extremely energy-limited + environment + explanation: Supports the authors gene-based metabolic inference, not measured oxidation, carbon fixation or + substrate concentration. +- name: Putative Electron-Donor Limitation of Sulfate Reduction + description: PARTIAL - Failed dsrA amplification and reported lack of appreciable hydrogen sulfide led the authors + to infer that sulfate reduction, if present, was not dominant in the sulfate-rich aquifer. They proposed low + organic matter and hydrogen as an electron-donor constraint. Negative PCR is not pathway absence, and this explanation + was not a donor-rescue experiment or demonstration of competition. Co-occurring AamoA detection does not establish + a causal link to ammonia oxidation. scope: COMMUNITY_LEVEL metabolites: - preferred_term: organic molecular entity @@ -342,26 +341,20 @@ ecological_interactions: term: id: GO:0019420 label: dissimilatory sulfate reduction - downstream: - - target: Thermophilic Ammonia Oxidation - description: Electron-donor scarcity constrained sulfate reduction in the same energy-limited aquifer - where archaeal AamoA genes supported ammonia oxidation by Thaumarchaeota. evidence: - reference: doi:10.3389/fmicb.2013.00037 supports: SUPPORT evidence_source: IN_VIVO - snippet: We failed to amplify dsrA genes encoding the dissimilatory sulfite reductase, which further - reinforces the idea that Naica-associated microbial communities do not - explanation: Supports the lack of a dominant sulfate-reduction signal in the - assayed Naica water samples. + snippet: We failed to amplify dsrA genes encoding the dissimilatory sulfite reductase + explanation: Directly supports failed marker amplification, not absence of sulfate reducers or dominant-metabolism + certainty. - reference: doi:10.3389/fmicb.2013.00037 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VIVO - snippet: At any rate, for sulfate reduction to occur, either organic matter or inorganic electron - donors, typically H2, must be present to fuel the redox reaction. However, both appear - to be extremely low in the aquifer - explanation: Supports electron-donor limitation as the reason sulfate - reduction is not a dominant terminal metabolism. + snippet: At any rate, for sulfate reduction to occur, either organic matter or inorganic electron donors, typically + H2, must be present to fuel the redox reaction. However, both appear to be extremely low in the aquifer + explanation: Supports proposed donor scarcity; no isolated donor-limitation perturbation or competitive fitness + effect is demonstrated. environmental_factors: - name: Temperature value: 54-60 @@ -440,3 +433,27 @@ metals_present: metal_relevance: SIGNIFICANT metal_notes: Metal/REE detected via environmental factor measurements; Metal/REE detected via keyword matching in description (context-validated) +discussions: +- discussion_id: naica_gene_detection_and_donor_limitation + prompt: Which observations distinguish activity and causal mediation from inferred potential? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + posed_date: '2026-10-07' + rationale: Distinguish high-GC thermophily inference and AamoA capacity from measured growth and metabolic rates. + Low-biomass sampling, primer detection limits and contamination considerations bound negative and positive detections. + The source presents sulfate reduction as not dominant if present; hydrogen-sulfide absence includes unpublished + observations. Test donor rescue and oxidation rates before adding causal arrows among co-occurring environmental + explanations. Canonical taxonomic groundings are retained; non-graph physiological metadata needs separate reconciliation. + attaches_to: + - ecological_interactions#Inferred Thermophily of Naica Archaeal and OP3 Lineages + - ecological_interactions#Putative Thermophilic Archaeal Ammonia Oxidation + - ecological_interactions#Putative Electron-Donor Limitation of Sulfate Reduction +curation_history: +- timestamp: '2026-10-07T03:38:47Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain lineage-specific inferred thermophily; remove environmental-context arrow.; Retain putative oxidation; + correct GO grounding and remove unmeasured graph concentrations.; Retain proposed donor constraint with negative-PCR + limits; remove co-occurrence arrow and unsupported competition. Issue #1634; reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml' + llm_assisted: true diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md index 228beaaa3..0400d380b 100644 --- a/reports/causal_graph_review/README.md +++ b/reports/causal_graph_review/README.md @@ -5,6 +5,29 @@ source-based self-adversarial review. These records are not independent approval or proof that every graph is complete. The current inventory and summary distinguish `reviewed`, `pending` and `needs_research`. +## Batch76: Mat Transcripts, Floc Assembly And Inferred Metabolism + +[Decisions](decisions/20261007-four-records-batch76.yaml), +[validation](validation-20261007-batch76.json) and +[self-adversarial review](adversarial-review-20261007-batch76.yaml) cover all +11 original nodes and six arrows. Three records are repaired, four context or +model-utility arrows removed, and the valid NDC6 graph reviewed unchanged. + +Measured mat transcripts, uneven overlapping populations, stable nitrifier +microcolonies and actual mixed macroclusters remain. Polymer flux and Naica +metabolic activity are qualified as inferred; calcium-rich resuspension and +centrifugation conditions are explicit. Negative PCR does not establish absence. +Naica ammonia oxidation now uses the correct GO term, not ammonia assimilation. + +All 18 graph quotations match fresh primary text and existing caches. Three +complete main bodies were read; diel and NDC6 review remains abstract-bounded, +with only a partial indexed view of the diel Methods. No separate supplements, +raw data or original figure pixels were audited. All caches and non-graph blocks +are preserved. No Edison submission or new topology is involved in these repairs. +Three append-only histories accompany repairs #1632-#1634, which stay open until +protected-main merge; separate metadata #1635 remains open afterward. +Self-adversarial review is not independent approval. + ## Batch75: Fermentation, Fraction Conversion And Probiotic Growth [Decisions](decisions/20261007-four-records-batch75.yaml), diff --git a/reports/causal_graph_review/adversarial-review-20261007-batch76.yaml b/reports/causal_graph_review/adversarial-review-20261007-batch76.yaml new file mode 100644 index 000000000..b3acb9704 --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261007-batch76.yaml @@ -0,0 +1,210 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 3a00e0cc7d5a343addb3f766c5f065340af1eb36 +scope: +- kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml +- kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml +- kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml +- kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml +decision_ledger: reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml +validation_report: reports/causal_graph_review/validation-20261007-batch76.json +findings: +- issue: 1632 + severity: P2 + status: addressed_in_this_change + finding: Mat transcripts, putative carbon-fixation endpoint and spatial nitrogen claims. + disposition: Close only after protected-main merge. +- issue: 1633 + severity: P2 + status: addressed_in_this_change + finding: Conditional floc assembly and model-utility arrow. + disposition: Close only after protected-main merge. +- issue: 1634 + severity: P2 + status: addressed_in_this_change + finding: Naica inferred physiology, ontology, exact quotations and context arrows. + disposition: Close only after protected-main merge. +- issue: 1635 + severity: P2 + status: unresolved_non_graph + finding: N-cycle exact membership and Naica physiological metadata. + disposition: Keep OPEN after graph-repair merge. +adversarial_checks: +- All four whole records and every original node/arrow reviewed after fresh both-root baseline. Three complete main + bodies plus tables/captions; two abstract-bounded sources and only partial indexed diel Methods. Access errors + and subscription barriers respected, not bypassed. No claim that unseen controls are absent. +- Retain measured Mushroom Spring RNA patterns. The metabolic endpoint remains putative carbon fixation so the polymer-reserve + arrow does not spuriously become a cause of gene expression. This intermediate self-review finding was corrected, + and complete verification rerun with superseded outputs preserved. Polymer flux is the explicit source model, + not a measured flux assay. +- Thermodesulfovibrio nitrogen fixation is putative even with accessory nif genes; prior Synechococcus activity + is not transferred to it. Remove source/target implication and preserve canonical participants. Partial genomes + limit absence conclusions; mat layers overlap and distinct sampling campaigns are not a simultaneous intervention. + Remove spatial restatement arrow without discarding measured community structure. +- Preserve real stable nitrifier microcolonies and mixed macroclusters. Release alone did not suffice; centrifugation + plus calcium-rich resuspension and their unresolved separation are explicit. FISH-induced aggregation is a separate + artefact, not a reason to deny later suspended clusters. Remove only the model-utility causal stage, not biological + assembly. +- 'NDC6 is valid unchanged: measured aggregate low-temperature removal and functional complementation need no arbitrary + arrow. Preserve1197/1198 no-mutualism and optimization-versus-three-day boundaries. Do not falsely recast reported + gene-expression evidence as metagenomics or assert unmeasured per-member fitness.' +- Naica thermophily is inferred from high GC in specified lineages, not universal OP3 growth measurements. AamoA + detection supports putative oxidation but not flux or concentrations. Correct assimilation GO0019676 to oxidation + GO0019329, verified against AmiGO, without taxonomy changes. +- Negative dsrA amplification does not establish absence. Preserve proposed donor scarcity and non-dominance interpretation + with sampling/primer limits, unpublished H2S context and no claimed donor-rescue assay. Neither environmental + context nor co-occurrence with AamoA creates a causal link. Unsupported competition label and two context arrows + removed. +- Three case-inexact graph quotations corrected and the truncated negative-PCR quote shortened; all18 graph quotes + match both fresh source and cache. Original erroneous cache-suffix search is not evidence of absence.920 caches + and all raw non-graph blocks remain untouched; residual metadata claims tracked separately in1635. +- Every11 nodes and6 original arrows accounted for;11nodes2arrows remain. Three guarded writes and histories;457 + records including NDC6 unchanged. Zero structural defects and44 baseline warnings unchanged. Connectivity census + unchanged, not evidence of member-level effects. +- Actual schema, strict, terms, full-record references, snippets, histories, both-root inventory/network/rank, regression, + lint and deterministic rendering checks retained. Exact descriptions parsed across456 generated pages, not browser + screenshots. Postcommit docs-current is separate. +- No new topology or paid provider call. Earlier Edison authorization scopes are unchanged.916 issue bodies and27 + ignored/hidden local matches deduplicated;1197/1198/939/396 preserved. No exhaustive PR-comment audit.1632-1634 + stay OPEN until protected-main merge;1635 stays OPEN afterward. Self-review is not independent approval or corpus + completion. +verification: + combined_regressions: 677 passed in 244.49s (0:04:04) + new_regression_tests: 8 + schema_strict_terms_history: Passed with actual outputs/digests + references: All four full-record reference validators exit0. CLI Total checks counts issues, not executed checks. + All18 graph quotations independently match fresh primary XML/abstract and existing caches. Cache matching is + not entailment. Diel and NDC sources remain abstract-bounded; all920 caches unchanged, not recertified. Prior + batch73 non-graph reference exception is outside this batch. + snippet_counts_by_record: + kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml: + MATCH: 29 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml: + MATCH: 10 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml: + MATCH: 20 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml: + MATCH: 21 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + primary_graph_snippet_proof: + automatically_primary_matched: 18 + new_nodes_or_arrows: 0 + complete_primary_main_texts_read: 3 + abstract_bounded_sources: 2 + separate_supplements_or_original_figure_pixels_inspected: false + network: + existing_findings_preserved: 44 + added_findings: {} + removed_findings: {} + interpretation: All44 baseline warnings preserved exactly. Community scope remains aggregate, not resolved member-specific + activity. No taxonomy or auditor-rule changes. + black_ruff_diff: passed + tested_file_sha256: + reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml: d47e9413b55b8d9a4400a2736a3d3474d0b4b59384bbfccb86144d148c72d3fb + tests/test_causal_review_batch76.py: 544c58aab2b596fff744ab779ff803bd2d987978450b7279f449c904e6a8deac + kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml: 8d131584e1660e832aa9da1946b7d4181fca2c0bccd3fe88dc20ff4dcc4c8fed + kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml: f0b81d66223077f101b4157c1d115a99d0be593a2b9b4a0c2dcfb8f6ad38f21a + kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml: 1a1c02d8b33165075608eba9bc482646843cecfe41a7a99c3d47f5ab9bbb5c97 + kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml: 18f4bc69aff646a74cd4f402b36be2a789d02e69a04efcd9c43a94e2c15dc8e9 + reports/causal_graph_review/README.md: 5b53fb08cc7a5d3a8d9ef53410687db660bae18d43c514069ef1d9c5f45388f8 + unchanged_caches: 920 + unchanged_records: 457 + edison: + required_for_this_repair: false + provider_submissions: 0 + credits_spent: 0 + rationale: Existing nodes and two qualified links retained; four noncausal links removed. No new causal structure. + Prior pending/denied scopes unchanged. + post_commit_docs_current: Separate publication gate, not asserted before commit. +participant_census: + measurements: + baseline: + records: 460 + with_community_level: 393 + mixed: 125 + community_level_only: 268 + taxa: 1511 + credited_solely_by_the_rule: 1240 + current: + records: 460 + with_community_level: 393 + mixed: 125 + community_level_only: 268 + taxa: 1511 + credited_solely_by_the_rule: 1240 + delta: + records: 0 + with_community_level: 0 + mixed: 0 + community_level_only: 0 + taxa: 0 + credited_solely_by_the_rule: 0 + interpretation: No scope-count change, taxonomy edit, or auditor-rule change. Aggregate outcomes do not establish + member-resolved activity. +corpus: + records: 460 + nodes: 1447 + edges: 616 + review_status_counts: + needs_research: 26 + pending: 188 + reviewed: 246 +limitations: +- Fresh pre-paper baseline covered460 records and920 caches across both roots including ignored/hidden YAML. All11 + original nodes and6 arrows reviewed;11 nodes and2 arrows retained. Three records repaired with three histories; + NDC6 byte-for-byte unchanged. +- Full primary main bodies, embedded tables and captions read for undermat, bioflocculation and Naica. Diel and + NDC6 fresh primary abstracts read; diel indexed publisher view was only partially read through early Results. + Diel XML returned500, PMC challenge and normal publisher403; NDC publisher is a subscription preview. No access-barrier + bypass or full-Methods claim for those two. Separate supplements, raw data and original figure pixels not audited. +- All graph quotations match fresh primary and existing caches with whitespace-only normalization. Three case-inexact + Naica graph quotes corrected to source text, and a misleadingly truncated negative-PCR quote shortened. This is + not entailment proof or recertification of920 unchanged caches. Original search using two incorrect cache suffixes + errored and truncated; corrected structured exact-reference matching supersedes it. No complete paper uploaded. +- Mushroom measured diel transcripts and uneven overlapping mat populations retained. Polymer flux remains the explicitly + proposed model; Thermodesulfovibrio nitrogen fixation is putative, not Synechococcus-to-Thermodesulfovibrio transfer. + nifHDK alone and partial-genome absence are insufficient. Distinct sampling campaigns are not merged into a simultaneous + experiment. +- Biofloc microcolonies and positive mixed macroclusters retained with calcium-rich resuspension and centrifugation + conditions. Release alone did not suffice; FISH preparation caused separate artefacts. Calcium versus centrifugation + remains unresolved. Model utility is not a second biological causal event; no full-scale performance equivalence + or isolated EPS mechanism inferred. +- NDC6 aggregate removal and functional complementation retained unchanged. Existing1197/1198 fixes preserve no + unsupported mutualism and the distinction between three-day10C performance and separate10.2C optimization. Gene-expression + evidence is actually reported, not reclassified as metagenomics. Sparse valid graph does not require invented + topology. +- Naica high-GC thermophily and AamoA capacity remain positive but inferred, not growth/flux measurements. Correct + GO0019676 assimilation to GO0019329 oxidation, confirmed against AmiGO. Negative dsrA PCR is not absence; donor + scarcity is proposed, not competition or causal promotion of oxidation. No taxonomy edits, including396 near-tie + and curated groundings. +- Dedup scanned916 all-state issue titles/bodies and27 local matching files with ignored/hidden-inclusive search + excluding git/docs/site/cache. Matching1197/1198/939/396 bodies read and preserved. No exhaustive PR-comment audit + or global source-absence claim. +- 'No new topology: repairs and evidence qualification require no Edison extension. Zero provider submissions/credits. + Earlier scoped paid questions and the AM_AB denial are not overridden.' +- Three repair issues stay OPEN until protected-main merge; separate metadata issue stays OPEN afterward. Non-graph + blocks are preserved, not certified. Self-adversarial review is not independent approval; corpus review remains + unfinished. +- 'Self-adversarial review corrected an intermediate endpoint rename: the retained polymer link targets putative + carbon fixation, not gene expression. Measured RNA remains positive evidence; no new node or arrow, no second + curation event, and initial validation outputs are retained as superseded.' diff --git a/reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml b/reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml new file mode 100644 index 000000000..ae385a8c3 --- /dev/null +++ b/reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml @@ -0,0 +1,477 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 3a00e0cc7d5a343addb3f766c5f065340af1eb36 +baseline_commit: 3a00e0cc7d5a343addb3f766c5f065340af1eb36 +base_tree: 7254c5892b63dff0e0d39a2b6bb95b7fc87d0668 +pre_source_baseline_sha256: bac5fa5c53c1e73045f4c95de8967fa23516e19bbaac0fbebb5026058a73ef4a +issues: +- 1632 +- 1633 +- 1634 +unresolved_non_graph_issues: +- 1635 +unresolved_research_issues: [] +issue_deduplication: + all_state_issue_titles_and_bodies: 916 + ignored_hidden_local_search: true + matching_local_files: 27 + matching_issues: + - 1197 + - 1198 + - 939 + - 396 +primary_artifacts: + /private/tmp/communitymech-batch76/diel-metadata.json: d33398c252336820360e5cd2085ce37929f40e3113eff59fee3c273dda326293 + /private/tmp/communitymech-batch76/diel-primary.txt: a2b3254f1243b1e6d6f7397a4217afbfb9fd88e34d4cd4c6e2054b2f2f2b8514 + /private/tmp/communitymech-batch76/floc-metadata.json: 072b0a99235ee2bb32d166d7b3901dcd65406407c8571f0338ae069425522ab9 + /private/tmp/communitymech-batch76/floc-primary.txt: 2eaffb02580dee3b4eeca5a622dd829e805ec9f5bcbc0055f5a35c12cc96d244 + /private/tmp/communitymech-batch76/floc-primary.xml: ea71a21eb3d5e94daf4813bc2e64c3f0c661d635a6ce0eb3654777d9b9f841d0 + /private/tmp/communitymech-batch76/naica-metadata.json: fe75bb35fd59d6219ca7d9b5197d150203ef79d96a50c85eb474d36cafb295d4 + /private/tmp/communitymech-batch76/naica-primary.txt: 9023476f427a6791f444007b089facf15097ff6273dd60b65e6c0af76ba9fe2d + /private/tmp/communitymech-batch76/naica-primary.xml: db4526c0a341fa1cbf08234a1cf0c1aa098c3d84f7145d706838258b0c70d776 + /private/tmp/communitymech-batch76/ndc-metadata.json: 6c5bb21e3d5c426d98da52b312bde0bd6c715ec054f335e089dc8c8c372566bf + /private/tmp/communitymech-batch76/ndc-primary.txt: 9aaaa6364e55adabe1da05c152b71ee9a5cc06a674753d738f3bb0cff2d0224d + /private/tmp/communitymech-batch76/undermat-metadata.json: ad0d502b7785995bff417cf1f92a311df1b49e1dfbcb648943ebbeda5cc0e6e3 + /private/tmp/communitymech-batch76/undermat-primary.txt: 587e405ac63d2064de3fbee4a44438cd5155cb5c26e5b883e5700782382f9fc9 + /private/tmp/communitymech-batch76/undermat-primary.xml: 06615735598efef26c33ce7036eb447d0c9492338b41fa7957d181c12145ba82 + /private/tmp/communitymech-batch76/primary-manifest.json: 31920daeef7d04a98b8eb3257c3caded9aa8607a27e5ee85a0b42e0b8a88dc4d + /private/tmp/communitymech-batch76/baseline.json: bac5fa5c53c1e73045f4c95de8967fa23516e19bbaac0fbebb5026058a73ef4a +primary_urls: +- https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A23575369+AND+SRC%3AMED&format=json&resultType=core +- https://www.ebi.ac.uk/europepmc/webservices/rest/PMC5459899/fullTextXML +- https://www.ebi.ac.uk/europepmc/webservices/rest/PMC12178987/fullTextXML +- https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A41504900+AND+SRC%3AMED&format=json&resultType=core +- https://www.ebi.ac.uk/europepmc/webservices/rest/PMC3589807/fullTextXML +- https://amigo.geneontology.org/amigo/term/GO%3A0019329 +primary_graph_snippet_count: 18 +cache_matched_graph_snippet_count: 18 +snippet_checks: +- record: Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community + node: Putative Diel Phototrophic Carbon Fixation + reference: PMID:23575369 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community + node: Putative Diel Phototrophic Carbon Fixation + reference: PMID:23575369 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community + node: Putative Diel Phototroph Storage Polymer Cycling + reference: PMID:23575369 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community + node: Putative Diel Phototroph Storage Polymer Cycling + reference: PMID:23575369 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community + node: Upper-Mat and Undermat Nitrogen Fixation Potential + reference: PMID:28634470 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community + node: Upper-Mat and Undermat Nitrogen Fixation Potential + reference: PMID:28634470 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community + node: Stratified Chlorophototrophic Community Structure + reference: PMID:28634470 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community + node: Stratified Chlorophototrophic Community Structure + reference: PMID:28634470 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: NCycle_Bioflocculation_Model_Consortium + node: Alginate-Entrapped Nitrifier Microcolony Formation + reference: PMID:40536564 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: NCycle_Bioflocculation_Model_Consortium + node: Nitrifier-Denitrifier Macrocluster Formation + reference: PMID:40536564 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: NCycle_Bioflocculation_Model_Consortium + node: Bottom-Up Activated Sludge Floc Model + reference: PMID:40536564 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: NDC6_Psychrotolerant_Nitrogen_Removal_SynCom + node: NC1-DC1 synergistic nitrogen removal + reference: PMID:41504900 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: NDC6_Psychrotolerant_Nitrogen_Removal_SynCom + node: NC1-DC1 synergistic nitrogen removal + reference: PMID:41504900 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Naica_Deep_Subsurface_Thermophilic + node: Inferred Thermophily of Naica Archaeal and OP3 Lineages + reference: doi:10.3389/fmicb.2013.00037 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Naica_Deep_Subsurface_Thermophilic + node: Putative Thermophilic Archaeal Ammonia Oxidation + reference: doi:10.3389/fmicb.2013.00037 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Naica_Deep_Subsurface_Thermophilic + node: Putative Thermophilic Archaeal Ammonia Oxidation + reference: doi:10.3389/fmicb.2013.00037 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Naica_Deep_Subsurface_Thermophilic + node: Putative Electron-Donor Limitation of Sulfate Reduction + reference: doi:10.3389/fmicb.2013.00037 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +- record: Naica_Deep_Subsurface_Thermophilic + node: Putative Electron-Donor Limitation of Sulfate Reduction + reference: doi:10.3389/fmicb.2013.00037 + cache_matched: true + independent_primary_match: true + method: Fresh primary XML/abstract, whitespace-only match +edison: + required_for_this_repair: false + provider_submissions: 0 + credits_spent: 0 + rationale: Existing nodes and two qualified links retained; four noncausal links removed. No new causal structure. + Prior pending/denied scopes unchanged. +limitations: +- Fresh pre-paper baseline covered460 records and920 caches across both roots including ignored/hidden YAML. All11 + original nodes and6 arrows reviewed;11 nodes and2 arrows retained. Three records repaired with three histories; + NDC6 byte-for-byte unchanged. +- Full primary main bodies, embedded tables and captions read for undermat, bioflocculation and Naica. Diel and + NDC6 fresh primary abstracts read; diel indexed publisher view was only partially read through early Results. + Diel XML returned500, PMC challenge and normal publisher403; NDC publisher is a subscription preview. No access-barrier + bypass or full-Methods claim for those two. Separate supplements, raw data and original figure pixels not audited. +- All graph quotations match fresh primary and existing caches with whitespace-only normalization. Three case-inexact + Naica graph quotes corrected to source text, and a misleadingly truncated negative-PCR quote shortened. This is + not entailment proof or recertification of920 unchanged caches. Original search using two incorrect cache suffixes + errored and truncated; corrected structured exact-reference matching supersedes it. No complete paper uploaded. +- Mushroom measured diel transcripts and uneven overlapping mat populations retained. Polymer flux remains the explicitly + proposed model; Thermodesulfovibrio nitrogen fixation is putative, not Synechococcus-to-Thermodesulfovibrio transfer. + nifHDK alone and partial-genome absence are insufficient. Distinct sampling campaigns are not merged into a simultaneous + experiment. +- Biofloc microcolonies and positive mixed macroclusters retained with calcium-rich resuspension and centrifugation + conditions. Release alone did not suffice; FISH preparation caused separate artefacts. Calcium versus centrifugation + remains unresolved. Model utility is not a second biological causal event; no full-scale performance equivalence + or isolated EPS mechanism inferred. +- NDC6 aggregate removal and functional complementation retained unchanged. Existing1197/1198 fixes preserve no + unsupported mutualism and the distinction between three-day10C performance and separate10.2C optimization. Gene-expression + evidence is actually reported, not reclassified as metagenomics. Sparse valid graph does not require invented + topology. +- Naica high-GC thermophily and AamoA capacity remain positive but inferred, not growth/flux measurements. Correct + GO0019676 assimilation to GO0019329 oxidation, confirmed against AmiGO. Negative dsrA PCR is not absence; donor + scarcity is proposed, not competition or causal promotion of oxidation. No taxonomy edits, including396 near-tie + and curated groundings. +- Dedup scanned916 all-state issue titles/bodies and27 local matching files with ignored/hidden-inclusive search + excluding git/docs/site/cache. Matching1197/1198/939/396 bodies read and preserved. No exhaustive PR-comment audit + or global source-absence claim. +- 'No new topology: repairs and evidence qualification require no Edison extension. Zero provider submissions/credits. + Earlier scoped paid questions and the AM_AB denial are not overridden.' +- Three repair issues stay OPEN until protected-main merge; separate metadata issue stays OPEN afterward. Non-graph + blocks are preserved, not certified. Self-adversarial review is not independent approval; corpus review remains + unfinished. +- 'Self-adversarial review corrected an intermediate endpoint rename: the retained polymer link targets putative + carbon fixation, not gene expression. Measured RNA remains positive evidence; no new node or arrow, no second + curation event, and initial validation outputs are retained as superseded.' +records: +- path: kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml + id: CommunityMech:000260 + original_sha256: d029a1a04c04b3f5c873e1a25697ba3628c41d392df218a9b0f0f4188eb83ab7 + record_sha256: 8d131584e1660e832aa9da1946b7d4181fca2c0bccd3fe88dc20ff4dcc4c8fed + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml + scope: Whole record and every existing node/arrow; bounded causal review, not whole-record certification or exhaustive + extension. + summary: Preserve measured diel expression, not metabolic flux or demonstrated niche partitioning.; Retain proposed + polymer-to-photomixotrophy link as HYPOTHESIZED.; Bound diazotrophic potential and partial-genome absence; replace + unsupported directional taxa with participants.; Preserve uneven overlapping mat structure; remove spatial-context + arrow. + renamed_nodes: + Diel Phototrophic Carbon Fixation: Putative Diel Phototrophic Carbon Fixation + Phototroph Storage Polymer Cycling: Putative Diel Phototroph Storage Polymer Cycling + Upper-Mat and Undermat Nitrogen Fixation Partitioning: Upper-Mat and Undermat Nitrogen Fixation Potential + node_decisions: + - node: Putative Diel Phototrophic Carbon Fixation + original_node: Diel Phototrophic Carbon Fixation + rationale: Preserve measured RNA and putative fixation as distinct evidence levels; retain the metabolic endpoint + rather than redirecting its incoming arrow to gene expression. + - node: Putative Diel Phototroph Storage Polymer Cycling + original_node: Phototroph Storage Polymer Cycling + rationale: Retain proposed polymer-to-photomixotrophy link as HYPOTHESIZED. + - node: Upper-Mat and Undermat Nitrogen Fixation Potential + original_node: Upper-Mat and Undermat Nitrogen Fixation Partitioning + rationale: Bound diazotrophic potential and partial-genome absence; replace unsupported directional taxa with + participants. + - node: Stratified Chlorophototrophic Community Structure + original_node: Stratified Chlorophototrophic Community Structure + rationale: Preserve uneven overlapping mat structure; remove spatial-context arrow. + removed_node_decisions: [] + edges_before: + - source: Phototroph Storage Polymer Cycling + target: Diel Phototrophic Carbon Fixation + description: 'Daytime degradation of polyhydroxyalkanoates and wax esters supplies carbon and electron reserves + that support filamentous-anoxygenic- phototroph photomixotrophy through the 3-OHP bi-cycle. + + ' + - source: Stratified Chlorophototrophic Community Structure + target: Upper-Mat and Undermat Nitrogen Fixation Partitioning + description: 'Vertical separation of the upper phototrophic layer and orange undermat places nitrogen-fixation + potential in Synechococcus spp. above the Thermodesulfovibrio sp. undermat population. + + ' + edges_after: + - source: Putative Diel Phototroph Storage Polymer Cycling + target: Putative Diel Phototrophic Carbon Fixation + description: HYPOTHESIZED - The source model proposes that daytime polyhydroxyalkanoate and wax-ester degradation + supplies carbon and electron reserves that support photomixotrophic carbon fixation through the 3-OHP bi-cycle. + This metabolic link targets putative carbon fixation, not a demonstrated effect of polymer degradation on + gene expression. + retained_edge_decisions: + - source: Putative Diel Phototroph Storage Polymer Cycling + target: Putative Diel Phototrophic Carbon Fixation + description: HYPOTHESIZED - The source model proposes that daytime polyhydroxyalkanoate and wax-ester degradation + supplies carbon and electron reserves that support photomixotrophic carbon fixation through the 3-OHP bi-cycle. + This metabolic link targets putative carbon fixation, not a demonstrated effect of polymer degradation on + gene expression. + rationale: HYPOTHESIZED - The source model proposes that daytime polyhydroxyalkanoate and wax-ester degradation + supplies carbon and electron reserves that support photomixotrophic carbon fixation through the 3-OHP bi-cycle. + This metabolic link targets putative carbon fixation, not a demonstrated effect of polymer degradation on + gene expression. + removed_edge_decisions: + - source: Stratified Chlorophototrophic Community Structure + target: Upper-Mat and Undermat Nitrogen Fixation Partitioning + description: 'Vertical separation of the upper phototrophic layer and orange undermat places nitrogen-fixation + potential in Synechococcus spp. above the Thermodesulfovibrio sp. undermat population. + + ' + rationale: Removed contextual spatial/co-occurrence statement or model-utility workflow; no supported biological + causal change between these nodes. + references: + - PMID:23575369 + - PMID:28634470 + issues: + - 1632 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community/2026-10-07T033847Z-codex-9ff8ba.yaml + source_review: + PMID:23575369: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A23575369+AND+SRC%3AMED&format=json&resultType=core + scope: Primary abstract only; full text not available through Europe PMC. + fulltext_error: Primary XML request returned HTTP500; no full text retrieved. + PMID:28634470: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC5459899/fullTextXML + scope: Primary abstract and complete main body, embedded tables and captions; not separate supplements, raw + data or original figure pixels. + fulltext_error: null +- path: kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml + id: CommunityMech:000126 + original_sha256: 81f621f5cdf360c7b9573ac9c8cd04a6e09fd84df217a912bb7bceaaed173acb + record_sha256: f0b81d66223077f101b4157c1d115a99d0be593a2b9b4a0c2dcfb8f6ad38f21a + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml + scope: Whole record and every existing node/arrow; bounded causal review, not whole-record certification or exhaustive + extension. + summary: Preserve microcolonies and their conditional contribution to mixed structures.; Preserve actual macroclusters + with centrifugation/calcium and imaging boundaries; remove model-utility arrow.; Retain proof-of-concept utility + without a second biological causal stage. + renamed_nodes: {} + node_decisions: + - node: Alginate-Entrapped Nitrifier Microcolony Formation + original_node: Alginate-Entrapped Nitrifier Microcolony Formation + rationale: Preserve microcolonies and their conditional contribution to mixed structures. + - node: Nitrifier-Denitrifier Macrocluster Formation + original_node: Nitrifier-Denitrifier Macrocluster Formation + rationale: Preserve actual macroclusters with centrifugation/calcium and imaging boundaries; remove model-utility + arrow. + - node: Bottom-Up Activated Sludge Floc Model + original_node: Bottom-Up Activated Sludge Floc Model + rationale: Retain proof-of-concept utility without a second biological causal stage. + removed_node_decisions: [] + edges_before: + - source: Alginate-Entrapped Nitrifier Microcolony Formation + target: Nitrifier-Denitrifier Macrocluster Formation + description: Release of the nitrifier microcolonies into suspension seeded larger macroclusters with the denitrifier + flocs. + - source: Nitrifier-Denitrifier Macrocluster Formation + target: Bottom-Up Activated Sludge Floc Model + description: Macrocluster formation with denitrifier flocs builds the bottom-up living model used to study full-scale + activated-sludge bioflocculation. + edges_after: + - source: Alginate-Entrapped Nitrifier Microcolony Formation + target: Nitrifier-Denitrifier Macrocluster Formation + description: Released nitrifier microcolonies provided building blocks incorporated into mixed denitrifier macroclusters + after centrifugation and resuspension in calcium-rich HEPES-buffered medium. Release alone did not yield these + macroclusters. PARTIAL - Calcium bridging is proposed; its contribution was not fully decoupled from centrifugation. + retained_edge_decisions: + - source: Alginate-Entrapped Nitrifier Microcolony Formation + target: Nitrifier-Denitrifier Macrocluster Formation + description: Released nitrifier microcolonies provided building blocks incorporated into mixed denitrifier macroclusters + after centrifugation and resuspension in calcium-rich HEPES-buffered medium. Release alone did not yield these + macroclusters. PARTIAL - Calcium bridging is proposed; its contribution was not fully decoupled from centrifugation. + rationale: Released nitrifier microcolonies provided building blocks incorporated into mixed denitrifier macroclusters + after centrifugation and resuspension in calcium-rich HEPES-buffered medium. Release alone did not yield these + macroclusters. PARTIAL - Calcium bridging is proposed; its contribution was not fully decoupled from centrifugation. + removed_edge_decisions: + - source: Nitrifier-Denitrifier Macrocluster Formation + target: Bottom-Up Activated Sludge Floc Model + description: Macrocluster formation with denitrifier flocs builds the bottom-up living model used to study full-scale + activated-sludge bioflocculation. + rationale: Removed contextual spatial/co-occurrence statement or model-utility workflow; no supported biological + causal change between these nodes. + references: + - PMID:40536564 + issues: + - 1633 + - 1635 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/NCycle_Bioflocculation_Model_Consortium/2026-10-07T033847Z-codex-288b87.yaml + source_review: + PMID:40536564: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC12178987/fullTextXML + scope: Primary abstract and complete main body, embedded tables and captions; not separate supplements, raw + data or original figure pixels. + fulltext_error: null +- path: kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml + id: CommunityMech:000463 + original_sha256: 1a1c02d8b33165075608eba9bc482646843cecfe41a7a99c3d47f5ab9bbb5c97 + record_sha256: 1a1c02d8b33165075608eba9bc482646843cecfe41a7a99c3d47f5ab9bbb5c97 + status: reviewed + outcome: unchanged + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml + scope: Whole record and every existing node/arrow; bounded causal review, not whole-record certification or exhaustive + extension. + summary: Preserve aggregate NDC-6 removal and functional complementation; no mutualism, invented intermember flux, + or new arrow. Existing1197/1198 boundaries between three-day10C performance and separate10.2C optimization remain + unchanged. + renamed_nodes: {} + node_decisions: + - node: NC1-DC1 synergistic nitrogen removal + original_node: NC1-DC1 synergistic nitrogen removal + rationale: Preserve aggregate NDC-6 removal and functional complementation; no mutualism, invented intermember + flux, or new arrow. Existing1197/1198 boundaries between three-day10C performance and separate10.2C optimization + remain unchanged. + removed_node_decisions: [] + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - PMID:41504900 + issues: [] + allowed_changed_fields: [] + curation_events_added: 0 + history_files: [] + source_review: + PMID:41504900: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A41504900+AND+SRC%3AMED&format=json&resultType=core + scope: Primary abstract only; full text not available through Europe PMC. + fulltext_error: null +- path: kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml + id: CommunityMech:000046 + original_sha256: 84e0cd56f9bd338bad94a83ddd560c8a0b427a1bbe21885801ca8c0b9a76e918 + record_sha256: 18f4bc69aff646a74cd4f402b36be2a789d02e69a04efcd9c43a94e2c15dc8e9 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml + scope: Whole record and every existing node/arrow; bounded causal review, not whole-record certification or exhaustive + extension. + summary: Retain lineage-specific inferred thermophily; remove environmental-context arrow.; Retain putative oxidation; + correct GO grounding and remove unmeasured graph concentrations.; Retain proposed donor constraint with negative-PCR + limits; remove co-occurrence arrow and unsupported competition. + renamed_nodes: + Thermophilic Archaeal and OP3 Selection: Inferred Thermophily of Naica Archaeal and OP3 Lineages + Thermophilic Ammonia Oxidation: Putative Thermophilic Archaeal Ammonia Oxidation + Electron Donor Limitation Filters Sulfate Reduction: Putative Electron-Donor Limitation of Sulfate Reduction + node_decisions: + - node: Inferred Thermophily of Naica Archaeal and OP3 Lineages + original_node: Thermophilic Archaeal and OP3 Selection + rationale: Retain lineage-specific inferred thermophily; remove environmental-context arrow. + - node: Putative Thermophilic Archaeal Ammonia Oxidation + original_node: Thermophilic Ammonia Oxidation + rationale: Retain putative oxidation; correct GO grounding and remove unmeasured graph concentrations. + - node: Putative Electron-Donor Limitation of Sulfate Reduction + original_node: Electron Donor Limitation Filters Sulfate Reduction + rationale: Retain proposed donor constraint with negative-PCR limits; remove co-occurrence arrow and unsupported + competition. + removed_node_decisions: [] + edges_before: + - source: Thermophilic Archaeal and OP3 Selection + target: Thermophilic Ammonia Oxidation + description: The thermophilic environmental filter defines the hot, energy-limited niche in which Thaumarchaeota + amoA genes support archaeal ammonia oxidation. + - source: Electron Donor Limitation Filters Sulfate Reduction + target: Thermophilic Ammonia Oxidation + description: Electron-donor scarcity constrained sulfate reduction in the same energy-limited aquifer where + archaeal AamoA genes supported ammonia oxidation by Thaumarchaeota. + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: + - source: Thermophilic Archaeal and OP3 Selection + target: Thermophilic Ammonia Oxidation + description: The thermophilic environmental filter defines the hot, energy-limited niche in which Thaumarchaeota + amoA genes support archaeal ammonia oxidation. + rationale: Removed contextual spatial/co-occurrence statement or model-utility workflow; no supported biological + causal change between these nodes. + - source: Electron Donor Limitation Filters Sulfate Reduction + target: Thermophilic Ammonia Oxidation + description: Electron-donor scarcity constrained sulfate reduction in the same energy-limited aquifer where + archaeal AamoA genes supported ammonia oxidation by Thaumarchaeota. + rationale: Removed contextual spatial/co-occurrence statement or model-utility workflow; no supported biological + causal change between these nodes. + references: + - doi:10.3389/fmicb.2013.00037 + issues: + - 1634 + - 1635 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Naica_Deep_Subsurface_Thermophilic/2026-10-07T033848Z-codex-7b6b99.yaml + source_review: + doi:10.3389/fmicb.2013.00037: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC3589807/fullTextXML + scope: Primary abstract and complete main body, embedded tables and captions; not separate supplements, raw + data or original figure pixels. + fulltext_error: null diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index 6c718e4f3..d986ae5ef 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -267,10 +267,10 @@ kb/communities/Mulberry_Distillers_Grains_Feed_Consortium.yaml CommunityMech:000 kb/communities/Multi_stage_Anaerobic_Digestion_SynCom_YSJ_and_SynCom_J.yaml CommunityMech:000274 5fa9fb489ff93f261f6e0d8d737057f511bfbba46fe3e08958e4cbb1eca42ed6 3 2 93.3 reports/causal_graph_review/decisions/20261007-four-records-batch75.yaml reviewed kb/communities/Multiomics_Corn_Straw_Degradation_SynCom.yaml CommunityMech:000119 b6274bb4ad8beb9df16a81340ddbc536cdf94233e9e8961697a8423ec5a14a60 4 3 100.0 reports/causal_graph_review/decisions/20261007-four-records-batch75.yaml reviewed kb/communities/Multispecies_Probiotic_MV_Luteolin_Consortium.yaml CommunityMech:000425 65986397aa530933ed3b2d65d9cf8110e96b30898c3458c1d024e98fa42a81b4 1 0 65.0 reports/causal_graph_review/decisions/20261007-four-records-batch75.yaml needs_research -kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml CommunityMech:000260 d029a1a04c04b3f5c873e1a25697ba3628c41d392df218a9b0f0f4188eb83ab7 4 2 100.0 pending -kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml CommunityMech:000126 81f621f5cdf360c7b9573ac9c8cd04a6e09fd84df217a912bb7bceaaed173acb 3 2 100.0 pending -kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml CommunityMech:000463 1a1c02d8b33165075608eba9bc482646843cecfe41a7a99c3d47f5ab9bbb5c97 1 0 55.0 pending -kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml CommunityMech:000046 84e0cd56f9bd338bad94a83ddd560c8a0b427a1bbe21885801ca8c0b9a76e918 3 2 100.0 pending +kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml CommunityMech:000260 8d131584e1660e832aa9da1946b7d4181fca2c0bccd3fe88dc20ff4dcc4c8fed 4 1 80.0 reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml reviewed +kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml CommunityMech:000126 f0b81d66223077f101b4157c1d115a99d0be593a2b9b4a0c2dcfb8f6ad38f21a 3 1 90.0 reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml reviewed +kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml CommunityMech:000463 1a1c02d8b33165075608eba9bc482646843cecfe41a7a99c3d47f5ab9bbb5c97 1 0 55.0 reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml reviewed +kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml CommunityMech:000046 18f4bc69aff646a74cd4f402b36be2a789d02e69a04efcd9c43a94e2c15dc8e9 3 0 65.0 reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml reviewed kb/communities/Nasal_SynCom_C_Bioreactor.yaml CommunityMech:000395 4bd66811333c6960ebab5553e7ce71c8a4f92aa1d81f0fc2c9e2b4f6b75dac2e 0 0 0.0 pending kb/communities/Neocallimastix_Methanobrevibacter_Xylan_Coculture.yaml CommunityMech:000156 6a97357d94b1f2d68620177a55fd02f5c15730cbe9fb7cf247145ebc57bc8822 3 2 100.0 pending kb/communities/Ngawha_Geothermal_Mercury_Cycling_Community.yaml CommunityMech:000243 d3c022f231bef27bccb77dfeb5445a69bb036bfb5dc1a6f55302ef9188c69191 5 1 90.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index c0419701d..6f253b859 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": 1447, - "edges": 620, + "edges": 616, "records_without_nodes": 8, - "records_without_edges": 164, + "records_without_edges": 165, "review_status_counts": { "needs_research": 26, - "pending": 192, - "reviewed": 242 + "pending": 188, + "reviewed": 246 }, "structural_defects": [], "network_audit": [ diff --git a/reports/causal_graph_review/validation-20261007-batch76.json b/reports/causal_graph_review/validation-20261007-batch76.json new file mode 100644 index 000000000..278313989 --- /dev/null +++ b/reports/causal_graph_review/validation-20261007-batch76.json @@ -0,0 +1,1718 @@ +{ + "base_commit": "3a00e0cc7d5a343addb3f766c5f065340af1eb36", + "scope": [ + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml" + ], + "reference_validator_version": "0.1.7", + "results": [ + { + "check": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch76/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-strict.tsv", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-strict.log", + "log_sha256": "2a399fbb1e850225108ad69475260a318fe1325ee28885d3df27e0420a3a0545", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch76/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-batch76/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-strict.tsv\n" + }, + { + "check": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-references.log", + "log_sha256": "715fa0f8fd918bf0bbaf3bf6ee1d0dec96fff66bb41da96d6fa50dff440266e6", + "output_tail": "Validating kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_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/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_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": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-snippets.log", + "log_sha256": "4840e2de4e260572822d66750868f711a6cff9ac07dd8055c04fa45aaf319445", + "output_tail": "# 29 evidence snippets scanned across 1 files\n MATCH 29\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": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-rank.log", + "log_sha256": "098a1270bfe8a70b10b249b3051af144616912a92ba4a9c944cc8cd037194398", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000260\",\n \"name\": \"Mushroom Spring Hot-Spring Phototrophic Mat Community\",\n \"score\": 80.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 4,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 8,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml\"\n }\n]\n" + }, + { + "check": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_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/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community/2026-10-07T033847Z-codex-9ff8ba.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NCycle_Bioflocculation_Model_Consortium-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch76/NCycle_Bioflocculation_Model_Consortium-strict.tsv", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NCycle_Bioflocculation_Model_Consortium-strict.log", + "log_sha256": "009b4d76af07356369ae6ca90cb1c43a360c083f46214895591434048c50968c", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch76/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-batch76/NCycle_Bioflocculation_Model_Consortium-strict.tsv\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NCycle_Bioflocculation_Model_Consortium-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NCycle_Bioflocculation_Model_Consortium-references.log", + "log_sha256": "62b2f37fd8b793a45a554aa528a074f7ad9ce185fab39628d593f1351918a92a", + "output_tail": "Validating kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NCycle_Bioflocculation_Model_Consortium-snippets.log", + "log_sha256": "1835af07ebf0373785ca2d25de18c6984a3cbcfdec0d2610f1d8437504408710", + "output_tail": "# 10 evidence snippets scanned across 1 files\n MATCH 10\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": "NCycle_Bioflocculation_Model_Consortium-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NCycle_Bioflocculation_Model_Consortium-rank.log", + "log_sha256": "c1d208cc0e20058559d285c468be4b877610469bf8526be5017e266abc6c582a", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000126\",\n \"name\": \"N-Cycle Bioflocculation Model Consortium\",\n \"score\": 90.0,\n \"taxonomy\": 1,\n \"connected_taxa\": 1,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\"\n ],\n \"path\": \"kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml\"\n }\n]\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/NCycle_Bioflocculation_Model_Consortium/2026-10-07T033847Z-codex-288b87.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NCycle_Bioflocculation_Model_Consortium-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch76/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-strict.tsv", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-strict.log", + "log_sha256": "31e35cb444d2f05fafa1400c16d999e4f68389a21c081333710d94b5e6ae75bb", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch76/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-batch76/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-strict.tsv\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-references.log", + "log_sha256": "2253a1e12cf0df08d31835b0d36388ed6c0b7a790a6c2f862afc20f3fb00049d", + "output_tail": "Validating kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-snippets.log", + "log_sha256": "32d5c17677a000100a0b22db07734e7af95b7e2b40f82a74ed21b581b1a6d4f5", + "output_tail": "# 20 evidence snippets scanned across 1 files\n MATCH 20\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-rank.log", + "log_sha256": "10eefd7d32b7d90907c2b173293daea762e8428d48f76ae5fb43ed9e394a99ed", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000463\",\n \"name\": \"NDC-6 Psychrotolerant Nitrogen Removal SynCom\",\n \"score\": 55.0,\n \"taxonomy\": 6,\n \"connected_taxa\": 6,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 1,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 2,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Naica_Deep_Subsurface_Thermophilic-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Naica_Deep_Subsurface_Thermophilic-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Naica_Deep_Subsurface_Thermophilic-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch76/Naica_Deep_Subsurface_Thermophilic-strict.tsv", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Naica_Deep_Subsurface_Thermophilic-strict.log", + "log_sha256": "82e60dd6c6edd96a8ecf4c67fe072cbc5f66c49e54686d38abb3634d81fbb835", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch76/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-batch76/Naica_Deep_Subsurface_Thermophilic-strict.tsv\n" + }, + { + "check": "Naica_Deep_Subsurface_Thermophilic-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Naica_Deep_Subsurface_Thermophilic-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Naica_Deep_Subsurface_Thermophilic-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Naica_Deep_Subsurface_Thermophilic-references.log", + "log_sha256": "e63002d65f43ddfe014244f6409d18144942b1b9d9fcae0ff6ff3c3b64a71118", + "output_tail": "Validating kb/communities/Naica_Deep_Subsurface_Thermophilic.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/Naica_Deep_Subsurface_Thermophilic.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": "Naica_Deep_Subsurface_Thermophilic-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Naica_Deep_Subsurface_Thermophilic-snippets.log", + "log_sha256": "cbb2cdedf7d2ed5756aac506b60071c409906c876d5eb3586f860c596629a58e", + "output_tail": "# 21 evidence snippets scanned across 1 files\n MATCH 21\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": "Naica_Deep_Subsurface_Thermophilic-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Naica_Deep_Subsurface_Thermophilic-rank.log", + "log_sha256": "29cd1f80627ff177d19da227f0cad9a90a3c9e5e91892bb610ea1b91ae0e7cf4", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000046\",\n \"name\": \"Naica Deep Subsurface Thermophilic Community\",\n \"score\": 65.0,\n \"taxonomy\": 6,\n \"connected_taxa\": 6,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 5,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml\"\n }\n]\n" + }, + { + "check": "Naica_Deep_Subsurface_Thermophilic-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Naica_Deep_Subsurface_Thermophilic/2026-10-07T033848Z-codex-7b6b99.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-Naica_Deep_Subsurface_Thermophilic-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-batch76/endpoint-final-inventory.log", + "log_sha256": "5d1bf5623d674167cca55a491b0e46600d25fc5613453ad8adc7e365a3e8dd83", + "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\": 1447,\n \"edges\": 616,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 165,\n \"review_status_counts\": {\n \"needs_research\": 26,\n \"pending\": 188,\n \"reviewed\": 246\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-batch76/endpoint-final-network.log", + "log_sha256": "dcb33d46aa53f5e1dec55b1cd6463b83d3723e2ebf8c97999c93d0a5f4a2fed1", + "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-batch76/endpoint-final-rank-all.log", + "log_sha256": "75f2ca8f0795c72f8a9cf7a7e3fa519e90d3572a57322c9fb2081a14c41b3f7e", + "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-batch76/endpoint-final-render.log", + "log_sha256": "710567fc66440afe03c85a55243e77ab65e42c436fa39b9342d0f31c5973a7c1", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch76/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch76/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch76/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-batch76/endpoint-final-render-repeat.log", + "log_sha256": "710567fc66440afe03c85a55243e77ab65e42c436fa39b9342d0f31c5973a7c1", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch76/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch76/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch76/docs/index.html\n" + }, + { + "check": "connectivity-survey", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-c", + "import json,pathlib,runpy\nfn=runpy.run_path('tests/test_community_level_connectivity_credit.py')['_survey']\nresult={}\nfor name,root in [('baseline',pathlib.Path('/private/tmp/communitymech-causal-batch75')),('current',pathlib.Path.cwd())]:\n paths=sorted(p for r in ['kb/communities','data/isolates'] for p in (root/r).rglob('*.yaml'))\n assert len(paths)==460\n fn.__globals__['record_files']=lambda:paths\n result[name]=fn()\nprint(json.dumps(result))\n" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-connectivity-survey.log", + "log_sha256": "52c3470443d3c017a6c5f5ffed2fbb43348feee7fe8afbea853d97b3c39e9ed4", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 393, \"mixed\": 125, \"community_level_only\": 268, \"taxa\": 1511, \"credited_solely_by_the_rule\": 1240}, \"current\": {\"records\": 460, \"with_community_level\": 393, \"mixed\": 125, \"community_level_only\": 268, \"taxa\": 1511, \"credited_solely_by_the_rule\": 1240}}\n" + }, + { + "check": "regressions", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch10.py", + "tests/test_causal_review_batch11.py", + "tests/test_causal_review_batch12.py", + "tests/test_causal_review_batch13.py", + "tests/test_causal_review_batch14.py", + "tests/test_causal_review_batch15.py", + "tests/test_causal_review_batch16.py", + "tests/test_causal_review_batch17.py", + "tests/test_causal_review_batch18.py", + "tests/test_causal_review_batch19.py", + "tests/test_causal_review_batch20.py", + "tests/test_causal_review_batch21.py", + "tests/test_causal_review_batch22.py", + "tests/test_causal_review_batch23.py", + "tests/test_causal_review_batch24.py", + "tests/test_causal_review_batch25.py", + "tests/test_causal_review_batch27.py", + "tests/test_causal_review_batch28.py", + "tests/test_causal_review_batch29.py", + "tests/test_causal_review_batch30.py", + "tests/test_causal_review_batch31.py", + "tests/test_causal_review_batch32.py", + "tests/test_causal_review_batch33.py", + "tests/test_causal_review_batch34.py", + "tests/test_causal_review_batch35.py", + "tests/test_causal_review_batch36.py", + "tests/test_causal_review_batch37.py", + "tests/test_causal_review_batch38.py", + "tests/test_causal_review_batch39.py", + "tests/test_causal_review_batch40.py", + "tests/test_causal_review_batch41.py", + "tests/test_causal_review_batch42.py", + "tests/test_causal_review_batch43.py", + "tests/test_causal_review_batch44.py", + "tests/test_causal_review_batch45.py", + "tests/test_causal_review_batch46.py", + "tests/test_causal_review_batch47.py", + "tests/test_causal_review_batch48.py", + "tests/test_causal_review_batch49.py", + "tests/test_causal_review_batch5.py", + "tests/test_causal_review_batch50.py", + "tests/test_causal_review_batch51.py", + "tests/test_causal_review_batch52.py", + "tests/test_causal_review_batch53.py", + "tests/test_causal_review_batch54.py", + "tests/test_causal_review_batch55.py", + "tests/test_causal_review_batch56.py", + "tests/test_causal_review_batch57.py", + "tests/test_causal_review_batch58.py", + "tests/test_causal_review_batch59.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch60.py", + "tests/test_causal_review_batch61.py", + "tests/test_causal_review_batch62.py", + "tests/test_causal_review_batch63.py", + "tests/test_causal_review_batch64.py", + "tests/test_causal_review_batch65.py", + "tests/test_causal_review_batch66.py", + "tests/test_causal_review_batch67.py", + "tests/test_causal_review_batch68.py", + "tests/test_causal_review_batch69.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch70.py", + "tests/test_causal_review_batch71.py", + "tests/test_causal_review_batch72.py", + "tests/test_causal_review_batch73.py", + "tests/test_causal_review_batch74.py", + "tests/test_causal_review_batch75.py", + "tests/test_causal_review_batch76.py", + "tests/test_causal_review_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-batch76/endpoint-final-regressions.log", + "log_sha256": "d2dbcc566e78db07e07b9cc1b82bdcd96e824d7aebf0cebd7481575666da6d6f", + "output_tail": "........................................................................ [ 10%]\n........................................................................ [ 21%]\n........................................................................ [ 31%]\n........................................................................ [ 42%]\n........................................................................ [ 53%]\n........................................................................ [ 63%]\n........................................................................ [ 74%]\n........................................................................ [ 85%]\n........................................................................ [ 95%]\n............................. [100%]\n677 passed in 244.49s (0:04:04)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch76.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-black.log", + "log_sha256": "1a56c7cd8457fd05d978cfbd139d7bfd86e86acaa9b57668e718ef8bccc0cf48", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n1 file would be left unchanged.\n" + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch76.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/endpoint-final-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-batch76/endpoint-final-diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + }, + { + "check": "primary-graph-proof", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-c", + "import hashlib,json,pathlib,yaml\nP=pathlib.Path\nledger=yaml.safe_load(P('reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml').read_text())\nmanifest=json.loads(P('/private/tmp/communitymech-batch76/primary-manifest.json').read_text())\nsources={v['reference']:''.join(P(v['extracted_body']).read_text().split()) for v in manifest.values()}\nfor p,h in ledger['primary_artifacts'].items():\n assert hashlib.sha256(P(p).read_bytes()).hexdigest()==h\nfresh=0\nfor row in ledger['records']:\n doc=yaml.safe_load(P(row['path']).read_text())\n for n in doc['ecological_interactions']:\n for e in n['evidence']:\n assert ''.join(e['snippet'].split()) in sources[e['reference']]\n fresh+=1\nassert fresh==18\nassert sum(len(r['node_decisions']) for r in ledger['records'])==11\nassert sum(len(r['edges_before']) for r in ledger['records'])==6\nassert sum(len(r['edges_after']) for r in ledger['records'])==2\nassert sum(len(r['removed_edge_decisions']) for r in ledger['records'])==4\nassert sum(r['curation_events_added'] for r in ledger['records'])==3\nprint(json.dumps(dict(automatically_primary_matched=fresh,new_nodes_or_arrows=0,complete_primary_main_texts_read=3,abstract_bounded_sources=2,separate_supplements_or_original_figure_pixels_inspected=False)))\n" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/primary-graph-proof.log", + "log_sha256": "3f59690e927761ad7981bcf11db4b0152617cab7e303dc0e8b2268195c45bb4d", + "output_tail": "{\"automatically_primary_matched\": 18, \"new_nodes_or_arrows\": 0, \"complete_primary_main_texts_read\": 3, \"abstract_bounded_sources\": 2, \"separate_supplements_or_original_figure_pixels_inspected\": false}\n" + }, + { + "check": "focused-final", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch76.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/focused-final.log", + "log_sha256": "c3e8dd4b20c35b826eea12ffbdb8992a83a87bdb70852cfc8fe7ca416f14137e", + "output_tail": "................. [100%]\n17 passed in 19.70s\n" + } + ], + "limitations": [ + "Fresh pre-paper baseline covered460 records and920 caches across both roots including ignored/hidden YAML. All11 original nodes and6 arrows reviewed;11 nodes and2 arrows retained. Three records repaired with three histories; NDC6 byte-for-byte unchanged.", + "Full primary main bodies, embedded tables and captions read for undermat, bioflocculation and Naica. Diel and NDC6 fresh primary abstracts read; diel indexed publisher view was only partially read through early Results. Diel XML returned500, PMC challenge and normal publisher403; NDC publisher is a subscription preview. No access-barrier bypass or full-Methods claim for those two. Separate supplements, raw data and original figure pixels not audited.", + "All graph quotations match fresh primary and existing caches with whitespace-only normalization. Three case-inexact Naica graph quotes corrected to source text, and a misleadingly truncated negative-PCR quote shortened. This is not entailment proof or recertification of920 unchanged caches. Original search using two incorrect cache suffixes errored and truncated; corrected structured exact-reference matching supersedes it. No complete paper uploaded.", + "Mushroom measured diel transcripts and uneven overlapping mat populations retained. Polymer flux remains the explicitly proposed model; Thermodesulfovibrio nitrogen fixation is putative, not Synechococcus-to-Thermodesulfovibrio transfer. nifHDK alone and partial-genome absence are insufficient. Distinct sampling campaigns are not merged into a simultaneous experiment.", + "Biofloc microcolonies and positive mixed macroclusters retained with calcium-rich resuspension and centrifugation conditions. Release alone did not suffice; FISH preparation caused separate artefacts. Calcium versus centrifugation remains unresolved. Model utility is not a second biological causal event; no full-scale performance equivalence or isolated EPS mechanism inferred.", + "NDC6 aggregate removal and functional complementation retained unchanged. Existing1197/1198 fixes preserve no unsupported mutualism and the distinction between three-day10C performance and separate10.2C optimization. Gene-expression evidence is actually reported, not reclassified as metagenomics. Sparse valid graph does not require invented topology.", + "Naica high-GC thermophily and AamoA capacity remain positive but inferred, not growth/flux measurements. Correct GO0019676 assimilation to GO0019329 oxidation, confirmed against AmiGO. Negative dsrA PCR is not absence; donor scarcity is proposed, not competition or causal promotion of oxidation. No taxonomy edits, including396 near-tie and curated groundings.", + "Dedup scanned916 all-state issue titles/bodies and27 local matching files with ignored/hidden-inclusive search excluding git/docs/site/cache. Matching1197/1198/939/396 bodies read and preserved. No exhaustive PR-comment audit or global source-absence claim.", + "No new topology: repairs and evidence qualification require no Edison extension. Zero provider submissions/credits. Earlier scoped paid questions and the AM_AB denial are not overridden.", + "Three repair issues stay OPEN until protected-main merge; separate metadata issue stays OPEN afterward. Non-graph blocks are preserved, not certified. Self-adversarial review is not independent approval; corpus review remains unfinished.", + "Self-adversarial review corrected an intermediate endpoint rename: the retained polymer link targets putative carbon fixation, not gene expression. Measured RNA remains positive evidence; no new node or arrow, no second curation event, and initial validation outputs are retained as superseded.", + "Exact HTML-description parser and repeat-render checks, not browser screenshots. Post-commit docs-current is separate." + ], + "superseded_checks": [ + { + "check": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch76/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-strict.tsv", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-strict.log", + "log_sha256": "2a399fbb1e850225108ad69475260a318fe1325ee28885d3df27e0420a3a0545", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch76/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-batch76/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-strict.tsv\n" + }, + { + "check": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-references.log", + "log_sha256": "715fa0f8fd918bf0bbaf3bf6ee1d0dec96fff66bb41da96d6fa50dff440266e6", + "output_tail": "Validating kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_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/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_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": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-snippets.log", + "log_sha256": "4840e2de4e260572822d66750868f711a6cff9ac07dd8055c04fa45aaf319445", + "output_tail": "# 29 evidence snippets scanned across 1 files\n MATCH 29\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": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-rank.log", + "log_sha256": "098a1270bfe8a70b10b249b3051af144616912a92ba4a9c944cc8cd037194398", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000260\",\n \"name\": \"Mushroom Spring Hot-Spring Phototrophic Mat Community\",\n \"score\": 80.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 4,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 8,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml\"\n }\n]\n" + }, + { + "check": "Mushroom_Spring_Hot_Spring_Phototrophic_Mat_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/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community/2026-10-07T033847Z-codex-9ff8ba.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NCycle_Bioflocculation_Model_Consortium-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch76/NCycle_Bioflocculation_Model_Consortium-strict.tsv", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NCycle_Bioflocculation_Model_Consortium-strict.log", + "log_sha256": "009b4d76af07356369ae6ca90cb1c43a360c083f46214895591434048c50968c", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch76/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-batch76/NCycle_Bioflocculation_Model_Consortium-strict.tsv\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NCycle_Bioflocculation_Model_Consortium-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NCycle_Bioflocculation_Model_Consortium-references.log", + "log_sha256": "62b2f37fd8b793a45a554aa528a074f7ad9ce185fab39628d593f1351918a92a", + "output_tail": "Validating kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NCycle_Bioflocculation_Model_Consortium-snippets.log", + "log_sha256": "1835af07ebf0373785ca2d25de18c6984a3cbcfdec0d2610f1d8437504408710", + "output_tail": "# 10 evidence snippets scanned across 1 files\n MATCH 10\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": "NCycle_Bioflocculation_Model_Consortium-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NCycle_Bioflocculation_Model_Consortium-rank.log", + "log_sha256": "c1d208cc0e20058559d285c468be4b877610469bf8526be5017e266abc6c582a", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000126\",\n \"name\": \"N-Cycle Bioflocculation Model Consortium\",\n \"score\": 90.0,\n \"taxonomy\": 1,\n \"connected_taxa\": 1,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\"\n ],\n \"path\": \"kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml\"\n }\n]\n" + }, + { + "check": "NCycle_Bioflocculation_Model_Consortium-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/NCycle_Bioflocculation_Model_Consortium/2026-10-07T033847Z-codex-288b87.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NCycle_Bioflocculation_Model_Consortium-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch76/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-strict.tsv", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-strict.log", + "log_sha256": "31e35cb444d2f05fafa1400c16d999e4f68389a21c081333710d94b5e6ae75bb", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch76/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-batch76/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-strict.tsv\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-references.log", + "log_sha256": "2253a1e12cf0df08d31835b0d36388ed6c0b7a790a6c2f862afc20f3fb00049d", + "output_tail": "Validating kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-snippets.log", + "log_sha256": "32d5c17677a000100a0b22db07734e7af95b7e2b40f82a74ed21b581b1a6d4f5", + "output_tail": "# 20 evidence snippets scanned across 1 files\n MATCH 20\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom-rank.log", + "log_sha256": "10eefd7d32b7d90907c2b173293daea762e8428d48f76ae5fb43ed9e394a99ed", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000463\",\n \"name\": \"NDC-6 Psychrotolerant Nitrogen Removal SynCom\",\n \"score\": 55.0,\n \"taxonomy\": 6,\n \"connected_taxa\": 6,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 1,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 2,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Naica_Deep_Subsurface_Thermophilic-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Naica_Deep_Subsurface_Thermophilic-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Naica_Deep_Subsurface_Thermophilic-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch76/Naica_Deep_Subsurface_Thermophilic-strict.tsv", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Naica_Deep_Subsurface_Thermophilic-strict.log", + "log_sha256": "82e60dd6c6edd96a8ecf4c67fe072cbc5f66c49e54686d38abb3634d81fbb835", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch76/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-batch76/Naica_Deep_Subsurface_Thermophilic-strict.tsv\n" + }, + { + "check": "Naica_Deep_Subsurface_Thermophilic-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Naica_Deep_Subsurface_Thermophilic-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Naica_Deep_Subsurface_Thermophilic-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Naica_Deep_Subsurface_Thermophilic-references.log", + "log_sha256": "e63002d65f43ddfe014244f6409d18144942b1b9d9fcae0ff6ff3c3b64a71118", + "output_tail": "Validating kb/communities/Naica_Deep_Subsurface_Thermophilic.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/Naica_Deep_Subsurface_Thermophilic.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": "Naica_Deep_Subsurface_Thermophilic-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Naica_Deep_Subsurface_Thermophilic-snippets.log", + "log_sha256": "cbb2cdedf7d2ed5756aac506b60071c409906c876d5eb3586f860c596629a58e", + "output_tail": "# 21 evidence snippets scanned across 1 files\n MATCH 21\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": "Naica_Deep_Subsurface_Thermophilic-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Naica_Deep_Subsurface_Thermophilic-rank.log", + "log_sha256": "29cd1f80627ff177d19da227f0cad9a90a3c9e5e91892bb610ea1b91ae0e7cf4", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000046\",\n \"name\": \"Naica Deep Subsurface Thermophilic Community\",\n \"score\": 65.0,\n \"taxonomy\": 6,\n \"connected_taxa\": 6,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 5,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml\"\n }\n]\n" + }, + { + "check": "Naica_Deep_Subsurface_Thermophilic-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Naica_Deep_Subsurface_Thermophilic/2026-10-07T033848Z-codex-7b6b99.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/Naica_Deep_Subsurface_Thermophilic-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-batch76/inventory.log", + "log_sha256": "5d1bf5623d674167cca55a491b0e46600d25fc5613453ad8adc7e365a3e8dd83", + "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\": 1447,\n \"edges\": 616,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 165,\n \"review_status_counts\": {\n \"needs_research\": 26,\n \"pending\": 188,\n \"reviewed\": 246\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-batch76/network.log", + "log_sha256": "dcb33d46aa53f5e1dec55b1cd6463b83d3723e2ebf8c97999c93d0a5f4a2fed1", + "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-batch76/rank-all.log", + "log_sha256": "75f2ca8f0795c72f8a9cf7a7e3fa519e90d3572a57322c9fb2081a14c41b3f7e", + "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-batch76/render.log", + "log_sha256": "710567fc66440afe03c85a55243e77ab65e42c436fa39b9342d0f31c5973a7c1", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch76/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch76/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch76/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-batch76/render-repeat.log", + "log_sha256": "710567fc66440afe03c85a55243e77ab65e42c436fa39b9342d0f31c5973a7c1", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch76/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch76/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch76/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch76/docs/index.html\n" + }, + { + "check": "connectivity-survey", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-c", + "import json,pathlib,runpy\nfn=runpy.run_path('tests/test_community_level_connectivity_credit.py')['_survey']\nresult={}\nfor name,root in [('baseline',pathlib.Path('/private/tmp/communitymech-causal-batch75')),('current',pathlib.Path.cwd())]:\n paths=sorted(p for r in ['kb/communities','data/isolates'] for p in (root/r).rglob('*.yaml'))\n assert len(paths)==460\n fn.__globals__['record_files']=lambda:paths\n result[name]=fn()\nprint(json.dumps(result))\n" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/connectivity-survey.log", + "log_sha256": "52c3470443d3c017a6c5f5ffed2fbb43348feee7fe8afbea853d97b3c39e9ed4", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 393, \"mixed\": 125, \"community_level_only\": 268, \"taxa\": 1511, \"credited_solely_by_the_rule\": 1240}, \"current\": {\"records\": 460, \"with_community_level\": 393, \"mixed\": 125, \"community_level_only\": 268, \"taxa\": 1511, \"credited_solely_by_the_rule\": 1240}}\n" + }, + { + "check": "regressions", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch10.py", + "tests/test_causal_review_batch11.py", + "tests/test_causal_review_batch12.py", + "tests/test_causal_review_batch13.py", + "tests/test_causal_review_batch14.py", + "tests/test_causal_review_batch15.py", + "tests/test_causal_review_batch16.py", + "tests/test_causal_review_batch17.py", + "tests/test_causal_review_batch18.py", + "tests/test_causal_review_batch19.py", + "tests/test_causal_review_batch20.py", + "tests/test_causal_review_batch21.py", + "tests/test_causal_review_batch22.py", + "tests/test_causal_review_batch23.py", + "tests/test_causal_review_batch24.py", + "tests/test_causal_review_batch25.py", + "tests/test_causal_review_batch27.py", + "tests/test_causal_review_batch28.py", + "tests/test_causal_review_batch29.py", + "tests/test_causal_review_batch30.py", + "tests/test_causal_review_batch31.py", + "tests/test_causal_review_batch32.py", + "tests/test_causal_review_batch33.py", + "tests/test_causal_review_batch34.py", + "tests/test_causal_review_batch35.py", + "tests/test_causal_review_batch36.py", + "tests/test_causal_review_batch37.py", + "tests/test_causal_review_batch38.py", + "tests/test_causal_review_batch39.py", + "tests/test_causal_review_batch40.py", + "tests/test_causal_review_batch41.py", + "tests/test_causal_review_batch42.py", + "tests/test_causal_review_batch43.py", + "tests/test_causal_review_batch44.py", + "tests/test_causal_review_batch45.py", + "tests/test_causal_review_batch46.py", + "tests/test_causal_review_batch47.py", + "tests/test_causal_review_batch48.py", + "tests/test_causal_review_batch49.py", + "tests/test_causal_review_batch5.py", + "tests/test_causal_review_batch50.py", + "tests/test_causal_review_batch51.py", + "tests/test_causal_review_batch52.py", + "tests/test_causal_review_batch53.py", + "tests/test_causal_review_batch54.py", + "tests/test_causal_review_batch55.py", + "tests/test_causal_review_batch56.py", + "tests/test_causal_review_batch57.py", + "tests/test_causal_review_batch58.py", + "tests/test_causal_review_batch59.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch60.py", + "tests/test_causal_review_batch61.py", + "tests/test_causal_review_batch62.py", + "tests/test_causal_review_batch63.py", + "tests/test_causal_review_batch64.py", + "tests/test_causal_review_batch65.py", + "tests/test_causal_review_batch66.py", + "tests/test_causal_review_batch67.py", + "tests/test_causal_review_batch68.py", + "tests/test_causal_review_batch69.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch70.py", + "tests/test_causal_review_batch71.py", + "tests/test_causal_review_batch72.py", + "tests/test_causal_review_batch73.py", + "tests/test_causal_review_batch74.py", + "tests/test_causal_review_batch75.py", + "tests/test_causal_review_batch76.py", + "tests/test_causal_review_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-batch76/regressions.log", + "log_sha256": "e22b775385bb022528d4908662c9d1fbdfd729f9c9b6b5dfea66d5822cf6d879", + "output_tail": "........................................................................ [ 10%]\n........................................................................ [ 21%]\n........................................................................ [ 31%]\n........................................................................ [ 42%]\n........................................................................ [ 53%]\n........................................................................ [ 63%]\n........................................................................ [ 74%]\n........................................................................ [ 85%]\n........................................................................ [ 95%]\n............................. [100%]\n677 passed in 222.48s (0:03:42)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch76.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/black.log", + "log_sha256": "1a56c7cd8457fd05d978cfbd139d7bfd86e86acaa9b57668e718ef8bccc0cf48", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n1 file would be left unchanged.\n" + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch76.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch76/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-batch76/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + } + ], + "snippet_counts_by_record": { + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml": { + "MATCH": 29, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml": { + "MATCH": 10, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml": { + "MATCH": 20, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml": { + "MATCH": 21, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "unchanged_raw_blocks": 57, + "unchanged_record_files": 457, + "unchanged_cache_files": 920, + "edison": { + "required_for_this_repair": false, + "provider_submissions": 0, + "credits_spent": 0, + "rationale": "Existing nodes and two qualified links retained; four noncausal links removed. No new causal structure. Prior pending/denied scopes unchanged." + }, + "primary_artifacts": { + "/private/tmp/communitymech-batch76/diel-metadata.json": "d33398c252336820360e5cd2085ce37929f40e3113eff59fee3c273dda326293", + "/private/tmp/communitymech-batch76/diel-primary.txt": "a2b3254f1243b1e6d6f7397a4217afbfb9fd88e34d4cd4c6e2054b2f2f2b8514", + "/private/tmp/communitymech-batch76/floc-metadata.json": "072b0a99235ee2bb32d166d7b3901dcd65406407c8571f0338ae069425522ab9", + "/private/tmp/communitymech-batch76/floc-primary.txt": "2eaffb02580dee3b4eeca5a622dd829e805ec9f5bcbc0055f5a35c12cc96d244", + "/private/tmp/communitymech-batch76/floc-primary.xml": "ea71a21eb3d5e94daf4813bc2e64c3f0c661d635a6ce0eb3654777d9b9f841d0", + "/private/tmp/communitymech-batch76/naica-metadata.json": "fe75bb35fd59d6219ca7d9b5197d150203ef79d96a50c85eb474d36cafb295d4", + "/private/tmp/communitymech-batch76/naica-primary.txt": "9023476f427a6791f444007b089facf15097ff6273dd60b65e6c0af76ba9fe2d", + "/private/tmp/communitymech-batch76/naica-primary.xml": "db4526c0a341fa1cbf08234a1cf0c1aa098c3d84f7145d706838258b0c70d776", + "/private/tmp/communitymech-batch76/ndc-metadata.json": "6c5bb21e3d5c426d98da52b312bde0bd6c715ec054f335e089dc8c8c372566bf", + "/private/tmp/communitymech-batch76/ndc-primary.txt": "9aaaa6364e55adabe1da05c152b71ee9a5cc06a674753d738f3bb0cff2d0224d", + "/private/tmp/communitymech-batch76/undermat-metadata.json": "ad0d502b7785995bff417cf1f92a311df1b49e1dfbcb648943ebbeda5cc0e6e3", + "/private/tmp/communitymech-batch76/undermat-primary.txt": "587e405ac63d2064de3fbee4a44438cd5155cb5c26e5b883e5700782382f9fc9", + "/private/tmp/communitymech-batch76/undermat-primary.xml": "06615735598efef26c33ce7036eb447d0c9492338b41fa7957d181c12145ba82", + "/private/tmp/communitymech-batch76/primary-manifest.json": "31920daeef7d04a98b8eb3257c3caded9aa8607a27e5ee85a0b42e0b8a88dc4d", + "/private/tmp/communitymech-batch76/baseline.json": "bac5fa5c53c1e73045f4c95de8967fa23516e19bbaac0fbebb5026058a73ef4a" + }, + "network_delta": { + "existing_findings_preserved": 44, + "added_findings": {}, + "removed_findings": {}, + "interpretation": "All44 baseline warnings preserved exactly. Community scope remains aggregate, not resolved member-specific activity. No taxonomy or auditor-rule changes." + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1433, + "arrows": 608 + }, + "participant_census": { + "measurements": { + "baseline": { + "records": 460, + "with_community_level": 393, + "mixed": 125, + "community_level_only": 268, + "taxa": 1511, + "credited_solely_by_the_rule": 1240 + }, + "current": { + "records": 460, + "with_community_level": 393, + "mixed": 125, + "community_level_only": 268, + "taxa": 1511, + "credited_solely_by_the_rule": 1240 + } + }, + "delta": { + "records": 0, + "with_community_level": 0, + "mixed": 0, + "community_level_only": 0, + "taxa": 0, + "credited_solely_by_the_rule": 0 + }, + "interpretation": "No scope-count change, taxonomy edit, or auditor-rule change. Aggregate outcomes do not establish member-resolved activity." + }, + "network_warning_count": 44, + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1447, + "edges": 616, + "records_without_nodes": 8, + "records_without_edges": 165, + "review_status_counts": { + "needs_research": 26, + "pending": 188, + "reviewed": 246 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml": "d47e9413b55b8d9a4400a2736a3d3474d0b4b59384bbfccb86144d148c72d3fb", + "tests/test_causal_review_batch76.py": "544c58aab2b596fff744ab779ff803bd2d987978450b7279f449c904e6a8deac", + "kb/communities/Mushroom_Spring_Hot_Spring_Phototrophic_Mat_Community.yaml": "8d131584e1660e832aa9da1946b7d4181fca2c0bccd3fe88dc20ff4dcc4c8fed", + "kb/communities/NCycle_Bioflocculation_Model_Consortium.yaml": "f0b81d66223077f101b4157c1d115a99d0be593a2b9b4a0c2dcfb8f6ad38f21a", + "kb/communities/NDC6_Psychrotolerant_Nitrogen_Removal_SynCom.yaml": "1a1c02d8b33165075608eba9bc482646843cecfe41a7a99c3d47f5ab9bbb5c97", + "kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml": "18f4bc69aff646a74cd4f402b36be2a789d02e69a04efcd9c43a94e2c15dc8e9", + "reports/causal_graph_review/README.md": "5b53fb08cc7a5d3a8d9ef53410687db660bae18d43c514069ef1d9c5f45388f8" + }, + "status": "verified_assay_boundary_graph_review", + "pre_research_baseline": { + "base_commit": "3a00e0cc7d5a343addb3f766c5f065340af1eb36", + "base_tree": "7254c5892b63dff0e0d39a2b6bb95b7fc87d0668", + "research_worktree": "/private/tmp/communitymech-causal-batch75", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch76/baseline-rank.log", + "sha256": "824a509746429c878f433d74547ef327b14df6858594371e33c408ec872956e3", + "output_tail": "/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml\tCommunityMech:000337\tTropidoatractus magnetotacticus Magnetotactic Ciliate Tripartite Syntrophy\t3\t3\t0\t4\t2\t9\t\t0\t0\n450\t100.0\tkb/communities/Urine_Nitrification_SynCom.yaml\tCommunityMech:000117\tUrine Nitrification Synthetic Microbial Community\t5\t5\t0\t3\t2\t5\t\t0\t0\n451\t100.0\tkb/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml\tCommunityMech:000213\tVariovorax-Cryptococcus Vitamin Cross-Feeding Microcosm\t2\t2\t0\t3\t2\t4\t\t0\t0\n452\t100.0\tkb/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml\tCommunityMech:000328\tWaste-Sludge Electro-Fermentation Biofilm-Suspension Community\t5\t5\t0\t4\t2\t6\t\t0\t0\n453\t100.0\tkb/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.yaml\tCommunityMech:000098\tWatermelon Rhizosphere Fusarium-Protective SynCom8\t2\t2\t0\t3\t2\t7\t\t0\t0\n454\t100.0\tkb/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml\tCommunityMech:000255\tWetland Oxygen-Sulfate Greenhouse Gas Microcosm Community\t3\t3\t0\t3\t2\t6\t\t0\t0\n455\t100.0\tkb/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.yaml\tCommunityMech:000118\tWheat Straw Biogas Pretreatment SynCom\t4\t4\t0\t3\t2\t4\t\t0\t0\n456\t100.0\tkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml\tCommunityMech:000354\tYarrowia lipolytica Division-of-Labor Lipid Consortium\t2\t2\t0\t3\t2\t3\t\t0\t0\n457\t100.0\tkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml\tCommunityMech:000164\tYogurt Two-Species Starter Culture\t2\t2\t0\t4\t2\t9\t\t0\t0\n458\t100.0\tkb/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml\tCommunityMech:000210\tZymomonas-E. coli Exometabolomics-Designed Obligate Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n459\t100.0\tkb/communities/hCom2_Complex_Gut_Microbiome.yaml\tCommunityMech:000123\thCom2 Complex Gut Microbiome\t1\t1\t0\t3\t2\t3\t\t0\t0\n460\t100.0\tkb/communities/mCAFEs_Brachypodium_RCC.yaml\tCommunityMech:000078\tm-CAFEs Brachypodium Reduced Complexity Consortia\t10\t10\t0\t6\t2\t11\t\t0\t0\nPYTHONPATH=src uv run python scripts/rank_causal_graph_readiness.py \n" + }, + { + "name": "just-network", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_code": 2, + "log": "/private/tmp/communitymech-batch76/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-batch76/baseline-network.log", + "sha256": "dcb33d46aa53f5e1dec55b1cd6463b83d3723e2ebf8c97999c93d0a5f4a2fed1", + "output_tail": " \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "name": "downstream", + "command": [ + "rg", + "--no-ignore", + "--hidden", + "-n", + "downstream:", + "kb/communities", + "data/isolates", + "--glob", + "*.yaml" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch76/baseline-downstream.log", + "sha256": "f6ac8b3cd4604c70bac334ddeb190caf9e220f6c4c5d118ab74ebf9b893a603c", + "output_tail": "Synechococcus_Gas_Feedstock_Coculture.yaml:205: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:268: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:317: downstream:\nkb/communities/PMI_Variovorax_Thermotolerance_Collection.yaml:330: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:120: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:152: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:281: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:401: 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/Pepper_Phytophthora_SynCom5.yaml:123: downstream:\nkb/communities/Pepper_Phytophthora_SynCom5.yaml:146: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:199: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:267: downstream:\nkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml:223: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:295: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:339: downstream:\nkb/communities/Ferroplasma_Leptospirillum_Syntrophy.yaml:125: downstream:\nkb/communities/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml:104: downstream:\nkb/communities/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml:127: downstream:\nkb/communities/SO3_BS3_Lithium_Battery_Bioleaching_Consortium.yaml:141: downstream:\nkb/communities/Lake_Washington_Methane_Oxygen_Methylotroph_Community.yaml:342: downstream:\nkb/communities/BioModels_MODEL2204300001_Kefir_Community_Model.yaml:203: downstream:\nkb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml:143: downstream:\n" + } + ], + "baseline_sha256": "bac5fa5c53c1e73045f4c95de8967fa23516e19bbaac0fbebb5026058a73ef4a" + }, + "reference_validator_caveat": "All four full-record reference validators exit0. CLI Total checks counts issues, not executed checks. All18 graph quotations independently match fresh primary XML/abstract and existing caches. Cache matching is not entailment. Diel and NDC sources remain abstract-bounded; all920 caches unchanged, not recertified. Prior batch73 non-graph reference exception is outside this batch.", + "endpoint_correction": { + "before": "Diel Expression of Phototrophic Carbon-Fixation Genes", + "after": "Putative Diel Phototrophic Carbon Fixation", + "prior_record_sha256": "8405b626166c5442b0a79dbf7dd6b8e1b0b3eeba023a9a5997d83bdcb2dc643a", + "final_record_sha256": "8d131584e1660e832aa9da1946b7d4181fca2c0bccd3fe88dc20ff4dcc4c8fed", + "prior_validation_sha256": "194a27dd18a3d3e32256b4ac4e2a59adc6660c01fae9e939c99fd1101ae6c6b2", + "history_unchanged": true + } +} diff --git a/tests/test_causal_review_batch76.py b/tests/test_causal_review_batch76.py new file mode 100644 index 000000000..cd1c4847b --- /dev/null +++ b/tests/test_causal_review_batch76.py @@ -0,0 +1,145 @@ +"""Keep measured outcomes separate from inferred physiology and context arrows.""" + +import hashlib +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261007-four-records-batch76.yaml" + + +def records(): + ledger = yaml.safe_load(LEDGER.read_text()) + rows = ledger["records"] + return ledger, rows, [yaml.safe_load((ROOT / r["path"]).read_text()) for r in rows] + + +def test_mat_transcripts_remain_measured_but_polymer_flux_is_proposed(): + _, _, docs = records() + expression, storage, _, _ = docs[0]["ecological_interactions"] + assert "measured diel expression" in expression["description"] + assert expression["name"] == "Putative Diel Phototrophic Carbon Fixation" + assert [e["supports"] for e in expression["evidence"]] == ["PARTIAL", "SUPPORT"] + assert all(e["supports"] == "PARTIAL" for e in storage["evidence"]) + assert storage["downstream"][0]["target"] == expression["name"] + assert storage["downstream"][0]["description"].startswith("HYPOTHESIZED -") + assert "not a demonstrated effect" in storage["downstream"][0]["description"] + assert "not directly measured" in storage["description"] + + +def test_mat_spatial_potential_is_not_directional_nitrogen_transfer(): + _, _, docs = records() + _, _, nitrogen, structure = docs[0]["ecological_interactions"] + assert "source_taxon" not in nitrogen and "target_taxon" not in nitrogen + assert [t["term"]["id"] for t in nitrogen["participating_taxa"]] == [ + "NCBITaxon:1129", + "NCBITaxon:28261", + ] + assert "not demonstrated" in nitrogen["description"] + assert "partial genomes does not establish pathway absence" in nitrogen["description"] + assert "not exclusive occupancy" in structure["description"] + assert "downstream" not in structure + + +def test_floc_assembly_retains_positive_outcome_and_actual_conditions(): + _, _, docs = records() + colonies, clusters, model = docs[1]["ecological_interactions"] + assert "stable nitrifier microcolonies" in colonies["description"] + assert colonies["downstream"][0]["target"] == clusters["name"] + for term in ["3000 g", "10 min", "calcium-rich", "10 days", "real positive result"]: + assert term in clusters["description"] + assert "not fully decoupled" in clusters["description"] + assert "Release alone did not" in clusters["description"] + assert "FISH preparation caused separate artefactual" in clusters["description"] + assert "downstream" not in clusters and "downstream" not in model + assert "not a separate downstream biological event" in model["description"] + + +def test_ndc_sparse_aggregate_graph_preserves_prior_assay_fixes(): + _, rows, docs = records() + row, doc = rows[2], docs[2] + assert row["outcome"] == "unchanged" and row["status"] == "reviewed" + assert row["original_sha256"] == row["record_sha256"] + assert row["curation_events_added"] == 0 and row["history_files"] == [] + (node,) = doc["ecological_interactions"] + assert "interaction_type" not in node and "downstream" not in node + assert len(node["participating_taxa"]) == 6 + assert "89.3%, 88.1%, 85.5%, and 95.3%" in node["evidence"][0]["snippet"] + + +def test_naica_oxidation_term_and_inferred_activity_are_distinct_from_assimilation(): + _, _, docs = records() + thermo, ammonia, _ = docs[3]["ecological_interactions"] + assert "not a measured growth-temperature response" in thermo["description"] + assert ammonia["name"].startswith("Putative") + assert ammonia["biological_processes"][0]["term"] == { + "id": "GO:0019329", + "label": "ammonia oxidation", + } + assert all("concentration" not in m for m in ammonia["metabolites"]) + assert all(e["supports"] == "PARTIAL" for e in ammonia["evidence"]) + assert ammonia["evidence"][0]["snippet"].startswith("genes encoding") + assert ammonia["evidence"][1]["snippet"].startswith("These organisms") + + +def test_naica_negative_pcr_is_not_absence_competition_or_causation(): + _, _, docs = records() + nodes = docs[3]["ecological_interactions"] + sulfate = nodes[2] + assert "Negative PCR is not pathway absence" in sulfate["description"] + assert "not a donor-rescue experiment" in sulfate["description"] + assert all("interaction_type" not in n and "downstream" not in n for n in nodes) + assert [e["supports"] for e in sulfate["evidence"]] == ["SUPPORT", "PARTIAL"] + assert sulfate["evidence"][0]["snippet"].endswith("dissimilatory sulfite reductase") + + +def test_every_original_node_and_arrow_has_a_decision_without_new_topology(): + ledger, rows, docs = records() + assert sum(len(r["node_decisions"]) for r in rows) == 11 + assert sum(len(r["edges_before"]) for r in rows) == 6 + assert sum(len(r["edges_after"]) for r in rows) == 2 + assert sum(len(r["removed_edge_decisions"]) for r in rows) == 4 + assert ledger["primary_graph_snippet_count"] == 18 + assert ledger["cache_matched_graph_snippet_count"] == 18 + assert all(c["independent_primary_match"] for c in ledger["snippet_checks"]) + for row, doc in zip(rows, docs, strict=True): + rename = row["renamed_nodes"] + original = { + (rename.get(e["source"], e["source"]), rename.get(e["target"], e["target"])) + for e in row["edges_before"] + } + remaining = {(e["source"], e["target"]) for e in row["edges_after"]} + removed = { + (rename.get(e["source"], e["source"]), rename.get(e["target"], e["target"])) + for e in row["removed_edge_decisions"] + } + assert remaining.isdisjoint(removed) and remaining | removed == original + names = {n["name"] for n in doc["ecological_interactions"]} + assert names == {n["node"] for n in row["node_decisions"]} + assert all( + a.split("#", 1)[1] in names + for d in doc.get("discussions", []) + for a in d["attaches_to"] + if a.startswith("ecological_interactions#") + ) + + +def test_scoped_history_hashes_and_unresolved_metadata_are_explicit(): + ledger, rows, docs = records() + assert ledger["independent_approval"] is False + assert ledger["issues"] == [1632, 1633, 1634] + assert ledger["unresolved_non_graph_issues"] == [1635] + assert ledger["unresolved_research_issues"] == [] + assert ledger["edison"]["provider_submissions"] == 0 + assert sum(r["curation_events_added"] for r in rows) == 3 + for row, doc in zip(rows, docs, strict=True): + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + changed = row["outcome"] == "changed" + assert row["curation_events_added"] == len(row["history_files"]) == int(changed) + assert row["allowed_changed_fields"] == ( + ["curation_history", "discussions", "ecological_interactions"] if changed else [] + ) + if changed: + assert doc["curation_history"][-1]["llm_assisted"] is True + assert all((ROOT / p).exists() for p in row["history_files"])