diff --git a/docs/communities/HAMBI_Carbon_Gradient_SynCom16.html b/docs/communities/HAMBI_Carbon_Gradient_SynCom16.html index 7bf78a3b1..112843f2f 100644 --- a/docs/communities/HAMBI_Carbon_Gradient_SynCom16.html +++ b/docs/communities/HAMBI_Carbon_Gradient_SynCom16.html @@ -1050,7 +1050,7 @@

Ecological Interactions

Ecological interaction network for HAMBI Carbon-Gradient 16-species SynCom - 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). + 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.
@@ -1058,8 +1058,8 @@

Ecological Interactions

Competition + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -1068,13 +1068,48 @@

Ecological Interactions

Total-carbon-driven community state shifts

- COMPETITION
-

The full 16-member SynCom reproducibly shifted among states along the total-carbon gradient, with A. caviae dominating low total carbon, P. chlororaphis rising to high abundance with A. caviae at intermediate carbon, and C. koseri dominating high carbon. The source attributed these state transitions principally to total carbon availability, with R2A-derived resource complexity acting as a secondary modulator.

+

Controlled glucose/R2A carbon gradients produced repeatable community-composition shifts: A. caviae dominated low carbon, P. chlororaphis co-dominated with A. caviae at intermediate carbon, and C. koseri dominated high carbon. R2A-derived complexity modulated this pattern within the tested media. Relative 16S profiles and the authors' OD-scaled abundance analysis support the result, but are not direct viable-cell counts or proof of extinction. The authors interpret dominance as competitive sorting; ancestral monoculture lag and growth traits predict patterns but do not selectively establish competition, lag time or pH as the mediator. Clusters across different resource conditions do not demonstrate alternative stable states within one condition.

+

Participating Taxa: + + Pseudomonas putida HAMBI 6, + + Agrobacterium tumefaciens HAMBI 105, + + Comamonas testosteroni HAMBI 403, + + Citrobacter koseri HAMBI 1287, + + Morganella morganii HAMBI 1292, + + Kluyvera intermedia HAMBI 1299, + + Sphingobium yanoikuyae HAMBI 1842, + + Sphingobacterium spiritivorum HAMBI 1896, + + Aeromonas caviae HAMBI 1972, + + Pseudomonas chlororaphis HAMBI 1977, + + Bordetella avium HAMBI 2160, + + Cupriavidus oxalaticus HAMBI 2164, + + Paracoccus denitrificans HAMBI 2443, + + Stenotrophomonas maltophilia HAMBI 2659, + + Niabella yanshanensis HAMBI 3031, + + Microvirga lotononidis HAMBI 3237 + +

+ @@ -1132,6 +1167,25 @@

Evidence

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which member interactions and traits mediate the carbon-dependent state shifts? +

+

Preserve the positive controlled carbon response and the authors' competitive-sorting interpretation. Monoculture trait prediction, endpoint pH associations and OD-scaled abundance are informative but not selective mediator perturbations or viable-cell enumeration. Partner removal, trait manipulation and pH control would test the proposed mechanisms. R2A is a proxy for resource complexity with uncertain effective availability, not an exhaustive complexity experiment; no within-condition hysteresis or alternative-attractor demonstration is established by clustering. All 16 canonical strains denote the input community, not proven persistence at every endpoint. Non-graph metadata is preserved, not recertified.

+ +

Attaches to: ecological_interactions#Total-carbon-driven community state shifts

+ + + + +
+ +
@@ -1635,7 +1689,7 @@

Evidence

(function() { var intId = "interaction:0"; - var intType = "COMPETITION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1659,6 +1713,47 @@

Evidence

+ var participantKeys = [ + + "Pseudomonas putida HAMBI 6", + + "Agrobacterium tumefaciens HAMBI 105", + + "Comamonas testosteroni HAMBI 403", + + "Citrobacter koseri HAMBI 1287", + + "Morganella morganii HAMBI 1292", + + "Kluyvera intermedia HAMBI 1299", + + "Sphingobium yanoikuyae HAMBI 1842", + + "Sphingobacterium spiritivorum HAMBI 1896", + + "Aeromonas caviae HAMBI 1972", + + "Pseudomonas chlororaphis HAMBI 1977", + + "Bordetella avium HAMBI 2160", + + "Cupriavidus oxalaticus HAMBI 2164", + + "Paracoccus denitrificans HAMBI 2443", + + "Stenotrophomonas maltophilia HAMBI 2659", + + "Niabella yanshanensis HAMBI 3031", + + "Microvirga lotononidis HAMBI 3237" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/docs/communities/Hanford_300_Area_Unconfined_Aquifer_Community.html b/docs/communities/Hanford_300_Area_Unconfined_Aquifer_Community.html index 650ef144e..d963cc0ee 100644 --- a/docs/communities/Hanford_300_Area_Unconfined_Aquifer_Community.html +++ b/docs/communities/Hanford_300_Area_Unconfined_Aquifer_Community.html @@ -644,7 +644,7 @@

Ecological Interactions

Ecological interaction network for Hanford 300 Area Unconfined Aquifer 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.
@@ -652,8 +652,8 @@

Ecological Interactions

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

Ecological Interactions

Columbia River Intrusion Community Turnover

- NICHE_PARTITIONING
-

Seasonal Columbia River water intrusion changes nitrate and groundwater elevation conditions, causing temporal turnover in aquifer microbial community composition, especially in shallow wells.

+

Field 16S profiles showed temporal community turnover associated with seasonal Columbia River intrusion, particularly near the water table. The authors identify intrusion as a structuring influence using hydrology and nitrate-based mixing estimates. These positive field observations do not isolate nitrate from transported cells or other covarying environmental changes, or show that community turnover causes electron-donor/acceptor flux. The four canonical broad taxon groups are a curated subset, not the complete sampled community.

+

Participating Taxa: + + Proteobacteria/Pseudomonadota, + + Bacteroidetes aquifer bacteria, + + Actinobacteria/Actinomycetota aquifer bacteria, + + aquifer archaea, including ammonia-oxidizing archaea + +

+

Metabolites: @@ -683,16 +694,6 @@

Columbia River Intrusion Community Turnover

-
- Downstream Effects: - -
- → Annual Electron Donor and Acceptor Flux Dynamics -

Nitrate-tracked intrusion and seasonal hydrologic change restructure groundwater clades over the annual cycle, shifting the electron-donor and electron-acceptor regimes available to functional redox guilds.

-
- -
-

Evidence

@@ -730,13 +731,24 @@

Evidence

-

Annual Electron Donor and Acceptor Flux Dynamics

- NICHE_PARTITIONING +

Putative Guild Patterns and Inferred Redox Resource Dynamics

-

Spatial and temporal changes in 16S rRNA gene operational taxonomic units assigned to methane-oxidizing and metal-reducing guilds indicate annual shifts in groundwater electron donor and acceptor fluxes.

+

PARTIAL - spatial and temporal 16S OTU patterns assigned to putative methane-oxidizing and metal-reducing guilds suggest changing electron-donor and electron-acceptor availability. This is a functional and resource-dynamics inference from community profiles, not direct measurement of annual metabolic flux or demonstrated niche partitioning. The broad canonical taxon subset does not identify every guild member.

+ +

Participating Taxa: + + Proteobacteria/Pseudomonadota, + + Bacteroidetes aquifer bacteria, + + Actinobacteria/Actinomycetota aquifer bacteria, + + aquifer archaea, including ammonia-oxidizing archaea + +

@@ -752,16 +764,6 @@

Annual Electron Donor and Acceptor Flux Dynamics

-
- Downstream Effects: - -
- → Depth-Structured Redox Guilds -

Annual donor and acceptor fluxes are reflected in vertical enrichment of putative ammonia oxidizers, methane oxidizers, and metal reducers near the Hanford-Ringold redox transition zone.

-
- -
-

Evidence

@@ -773,7 +775,7 @@

Evidence

PMID:22456444 - - SUPPORT (IN_VIVO) + - PARTIAL (COMPUTATIONAL)
"Spatial and temporal patterns for several 16S rRNA gene operational taxonomic units associated with particular physiological functions (for example, methane oxidizers and metal reducers) suggests dynamic changes in fluxes of electron donors and acceptors over an annual cycle."
@@ -786,14 +788,25 @@

Evidence

-

Depth-Structured Redox Guilds

- NICHE_PARTITIONING +

Putative Redox Guilds in Depth-Stratified Sampling

-

Deeper groundwater near the Hanford-Ringold formation boundary and redox transition zone had higher proportions of putative ammonia oxidizers, methane oxidizers, and metal reducers, indicating spatial niche partitioning by electron-donor and electron-acceptor availability.

+

Selected cached excerpts report higher proportions of putative ammonia-oxidizing archaea, methane oxidizers and metal reducers. Separate Methods excerpts describe sampling across 10-17 m, including near the Hanford-Ringold contact. The extracted guild sentence does not preserve its precise depth comparison, and full-body verification was unavailable. Guild assignments suggest functional potential, not measured ammonia oxidation, methane oxidation or uranium reduction by each canonical group. These excerpts do not establish resource-mediated niche partitioning or a causal sequence from inferred annual flux.

+

Participating Taxa: + + Proteobacteria/Pseudomonadota, + + Bacteroidetes aquifer bacteria, + + Actinobacteria/Actinomycetota aquifer bacteria, + + aquifer archaea, including ammonia-oxidizing archaea + +

+

Metabolites: @@ -847,7 +860,7 @@

Evidence

PMID:22456444 - - SUPPORT (IN_VIVO) + - PARTIAL (COMPUTATIONAL)
"Spatial and temporal patterns for several 16S rRNA gene operational taxonomic units associated with particular physiological functions (for example, methane oxidizers and metal reducers) suggests dynamic changes in fluxes of electron donors and acceptors over an annual cycle."
@@ -863,6 +876,25 @@

Evidence

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which processes connect river intrusion, guild composition and redox activity? +

+

The primary abstract and selected cached snippets support hydrologic composition associations and putative guild patterns. They do not establish community turnover causing electron flux or flux causing depth enrichment; both former arrows are removed. Resolve transported cells, mixing, geochemistry, absolute population dynamics and directly measured metabolic rates before assigning selective mediation or niche partitioning. The local cache is selected snippets despite its full_text label; PMC CAPTCHA and publisher/Europe PMC failures prevented complete Methods/Results verification. The abstract also proposes top-down biological control, but no new predation branch is inferred here. The four canonical taxa are an incomplete broad roster, not guild-resolved partners. Non-graph metadata is preserved, not recertified. The selected guild-enrichment sentence lacks its spatial comparator; do not assign it specifically to the formation contact or a redox transition without primary-body verification.

+ +

Attaches to: ecological_interactions#Columbia River Intrusion Community Turnover, ecological_interactions#Putative Guild Patterns and Inferred Redox Resource Dynamics, ecological_interactions#Putative Redox Guilds in Depth-Stratified Sampling

+ + + + +
+ +
@@ -1069,7 +1101,7 @@

Environmental Factors

(function() { var intId = "interaction:0"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1093,11 +1125,28 @@

Environmental Factors

+ var participantKeys = [ + + "Proteobacteria/Pseudomonadota", + + "Bacteroidetes aquifer bacteria", + + "Actinobacteria/Actinomycetota aquifer bacteria", + + "aquifer archaea, including ammonia-oxidizing archaea" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { var intId = "interaction:1"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1110,7 +1159,7 @@

Environmental Factors

nodes.push({ id: intId, - label: "Annual Electron Donor and Acceptor Flux Dynamics", + label: "Putative Guild Patterns and Inferred Redox Resource Dynamics", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1121,11 +1170,28 @@

Environmental Factors

+ var participantKeys = [ + + "Proteobacteria/Pseudomonadota", + + "Bacteroidetes aquifer bacteria", + + "Actinobacteria/Actinomycetota aquifer bacteria", + + "aquifer archaea, including ammonia-oxidizing archaea" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { var intId = "interaction:2"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1144,7 +1210,7 @@

Environmental Factors

nodes.push({ id: intId, - label: "Depth-Structured Redox Guilds", + label: "Putative Redox Guilds in Depth-Stratified Sampling", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1155,6 +1221,23 @@

Environmental Factors

+ var participantKeys = [ + + "Proteobacteria/Pseudomonadota", + + "Bacteroidetes aquifer bacteria", + + "Actinobacteria/Actinomycetota aquifer bacteria", + + "aquifer archaea, including ammonia-oxidizing archaea" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/docs/communities/Hexamine_Formaldehyde_Consortium_C6.html b/docs/communities/Hexamine_Formaldehyde_Consortium_C6.html index be55cb155..2fc0f5453 100644 --- a/docs/communities/Hexamine_Formaldehyde_Consortium_C6.html +++ b/docs/communities/Hexamine_Formaldehyde_Consortium_C6.html @@ -724,11 +724,27 @@

Ecological Interactions

C6 hexamine and formaldehyde removal

-

Consortium C6 removed hexamine, formaldehyde, and chemical oxygen demand from AS broth, with the biofilm format reaching 94.41% hexamine removal, 85.56% formaldehyde removal, and 37.64% COD removal within 24 h.

+

The study reports C6 biofilm removal of 94.41% hexamine, 85.56% formaldehyde and 37.64% chemical oxygen demand within 24 h. These positive bulk-chemistry outcomes in nutrient-containing AS broth do not establish complete mineralization, member-resolved conversion or reciprocal benefit among all six strains. The separate suspended-C6 Table 2 reports ammonia production, not consortium ammonia removal. The six canonical strain labels describe the assembled consortium, not measured persistence of every strain.

+

Participating Taxa: + + Brevundimonas diminuta SRCHD03, + + Brevundimonas diminuta SRCHD04, + + Brucella pseudintermedia SRCHD05, + + Brucella pseudintermedia SRCHD07, + + Ochrobactrum sp. SRCHD06, + + Micrococcus luteus SRCHD02 + +

+

Metabolites: @@ -807,10 +823,26 @@

Evidence

Immobilized C6 post-irradiation recovery

-

Polypropylene-Raschig-ring C6 biofilms retained stronger removal after 3.75 Gy and 5.25 Gy cobalt-60 gamma irradiation than suspended C6 cultures, with hexamine removal not significantly changed at 24 h and formaldehyde/COD performance reviving within 96 h.

+

Polypropylene-Raschig-ring C6 biofilms showed stronger post-irradiation removal performance than suspended cultures after 3.75 Gy and 5.25 Gy cobalt-60 exposure. At 24 h, no statistically detected difference in biofilm hexamine removal was reported versus the unirradiated control (p = 0.29-0.5); this is not a formal equivalence test. Biofilm formaldehyde/COD removal was reported to recover within 96 h during repeated fresh-medium renewal. Bulk functional recovery does not establish survival of every original strain, unchanged community composition or a selectively demonstrated EPS/quorum-sensing protection mechanism.

+ +

Participating Taxa: + + Brevundimonas diminuta SRCHD03, + + Brevundimonas diminuta SRCHD04, + + Brucella pseudintermedia SRCHD05, + + Brucella pseudintermedia SRCHD07, + + Ochrobactrum sp. SRCHD06, + + Micrococcus luteus SRCHD02 + +

@@ -890,9 +922,9 @@

OPEN The source quantified community-level C6 removal of hexamine, formaldehyde, and COD but did not resolve which isolate genes or exchange steps perform hexamine hydrolysis, formaldehyde assimilation or oxidation, ammonia handling, or post-irradiation biofilm recovery.

-

The article explicitly leaves Ochrobactrum/Brevundimonas functional interactions for a future molecular study, so this record should not assert a pairwise metabolic edge inside C6.

+

The article explicitly leaves Ochrobactrum/Brevundimonas functional interactions for a future molecular study, so this record should not assert a pairwise metabolic edge inside C6. Bulk removal and COD are not complete mineralization or strain-resolved flux. Table 2 ammonia production must not become a consortium removal claim. Repeated medium renewal and nonsignificant comparisons do not prove equivalence, every-strain survival or a specific protection mechanism. Resolve the irradiation-feed discrepancy between the main-text 50 mg/L description and Figure 4's 100 mg/L caption before assigning one common concentration; existing non-graph assay fields are preserved, not recertified. Original figure images, supplements, raw data and code were not audited.

-

Attaches to: ecological_interactions#C6 hexamine and formaldehyde removal

+

Attaches to: ecological_interactions#C6 hexamine and formaldehyde removal, ecological_interactions#Immobilized C6 post-irradiation recovery

@@ -1389,6 +1421,27 @@

Evidence

+ var participantKeys = [ + + "Brevundimonas diminuta SRCHD03", + + "Brevundimonas diminuta SRCHD04", + + "Brucella pseudintermedia SRCHD05", + + "Brucella pseudintermedia SRCHD07", + + "Ochrobactrum sp. SRCHD06", + + "Micrococcus luteus SRCHD02" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { @@ -1423,6 +1476,27 @@

Evidence

+ var participantKeys = [ + + "Brevundimonas diminuta SRCHD03", + + "Brevundimonas diminuta SRCHD04", + + "Brucella pseudintermedia SRCHD05", + + "Brucella pseudintermedia SRCHD07", + + "Ochrobactrum sp. SRCHD06", + + "Micrococcus luteus SRCHD02" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/history/records/HAMBI_Carbon_Gradient_SynCom16/2026-10-06T143624Z-codex-f3d599.yaml b/history/records/HAMBI_Carbon_Gradient_SynCom16/2026-10-06T143624Z-codex-f3d599.yaml new file mode 100644 index 000000000..e122516a6 --- /dev/null +++ b/history/records/HAMBI_Carbon_Gradient_SynCom16/2026-10-06T143624Z-codex-f3d599.yaml @@ -0,0 +1,24 @@ +history_version: 1 +target: + kind: record + path: kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml + slug: HAMBI_Carbon_Gradient_SynCom16 +session: + id: 2026-10-06T143624Z-codex-f3d599 + timestamp: '2026-10-06T14:36:24Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1493 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Bound controlled carbon-state outcomes and competitive-sorting interpretation. + details: Source-based self-adversarial existing-graph repair. reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml diff --git a/history/records/Hanford_300_Area_Unconfined_Aquifer_Community/2026-10-06T143624Z-codex-33e393.yaml b/history/records/Hanford_300_Area_Unconfined_Aquifer_Community/2026-10-06T143624Z-codex-33e393.yaml new file mode 100644 index 000000000..3aeb7f5a7 --- /dev/null +++ b/history/records/Hanford_300_Area_Unconfined_Aquifer_Community/2026-10-06T143624Z-codex-33e393.yaml @@ -0,0 +1,25 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml + slug: Hanford_300_Area_Unconfined_Aquifer_Community +session: + id: 2026-10-06T143624Z-codex-33e393 + timestamp: '2026-10-06T14:36:24Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1494 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Separate aquifer guild inference from measured flux and remove two unsupported + causal arrows. + details: Source-based self-adversarial existing-graph repair. reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml diff --git a/history/records/Hexamine_Formaldehyde_Consortium_C6/2026-10-06T143624Z-codex-a07061.yaml b/history/records/Hexamine_Formaldehyde_Consortium_C6/2026-10-06T143624Z-codex-a07061.yaml new file mode 100644 index 000000000..fa2105161 --- /dev/null +++ b/history/records/Hexamine_Formaldehyde_Consortium_C6/2026-10-06T143624Z-codex-a07061.yaml @@ -0,0 +1,24 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml + slug: Hexamine_Formaldehyde_Consortium_C6 +session: + id: 2026-10-06T143624Z-codex-a07061 + timestamp: '2026-10-06T14:36:24Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1495 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Bound bulk chemical removal and post-irradiation community recovery. + details: Source-based self-adversarial existing-graph repair. reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml diff --git a/kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml b/kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml index 42473af15..3b221bcd2 100644 --- a/kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml +++ b/kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml @@ -365,28 +365,98 @@ taxonomy: explanation: Names Microvirga lotononidis HAMBI 3237 as a member of the SynCom. ecological_interactions: - name: Total-carbon-driven community state shifts - description: The full 16-member SynCom reproducibly shifted among states along the total-carbon gradient, with A. caviae - dominating low total carbon, P. chlororaphis rising to high abundance with A. caviae at intermediate carbon, and C. koseri - dominating high carbon. The source attributed these state transitions principally to total carbon availability, with R2A-derived - resource complexity acting as a secondary modulator. - interaction_type: COMPETITION + description: 'Controlled glucose/R2A carbon gradients produced repeatable community-composition shifts: A. caviae + dominated low carbon, P. chlororaphis co-dominated with A. caviae at intermediate carbon, and C. koseri dominated + high carbon. R2A-derived complexity modulated this pattern within the tested media. Relative 16S profiles and + the authors'' OD-scaled abundance analysis support the result, but are not direct viable-cell counts or proof + of extinction. The authors interpret dominance as competitive sorting; ancestral monoculture lag and growth + traits predict patterns but do not selectively establish competition, lag time or pH as the mediator. Clusters + across different resource conditions do not demonstrate alternative stable states within one condition.' scope: COMMUNITY_LEVEL biological_processes: - preferred_term: interspecies interaction between organisms term: id: GO:0044419 label: biological process involved in interspecies interaction between organisms + notes: Community interaction context; no specific pairwise competitive harm or mediator is assigned. evidence: - reference: PMID:42367191 supports: SUPPORT evidence_source: IN_VITRO snippet: we observed a repeatable state shift pattern in the serially transferred multispecies synthetic community - explanation: Supports state shifts as a repeatable community-level outcome of the serial-transfer SynCom. + explanation: Supports repeatable composition outcomes in the controlled serial-transfer experiment, not a selectively + established pairwise mechanism. - reference: PMID:42367191 supports: SUPPORT evidence_source: IN_VITRO snippet: total carbon availability was the principal driver of community-level state transitions - explanation: Identifies total carbon availability as the primary driver of the SynCom state transitions. + explanation: Supports total-carbon treatment effects within the tested glucose/R2A media; competitive sorting + and trait mediation remain interpretations rather than isolated causal effects. + participating_taxa: + - preferred_term: Pseudomonas putida HAMBI 6 + term: + id: NCBITaxon:303 + label: Pseudomonas putida + - preferred_term: Agrobacterium tumefaciens HAMBI 105 + term: + id: NCBITaxon:358 + label: Agrobacterium tumefaciens + - preferred_term: Comamonas testosteroni HAMBI 403 + term: + id: NCBITaxon:285 + label: Comamonas testosteroni + - preferred_term: Citrobacter koseri HAMBI 1287 + term: + id: NCBITaxon:545 + label: Citrobacter koseri + - preferred_term: Morganella morganii HAMBI 1292 + term: + id: NCBITaxon:582 + label: Morganella morganii + - preferred_term: Kluyvera intermedia HAMBI 1299 + term: + id: NCBITaxon:61648 + label: Kluyvera intermedia + - preferred_term: Sphingobium yanoikuyae HAMBI 1842 + term: + id: NCBITaxon:13690 + label: Sphingobium yanoikuyae + - preferred_term: Sphingobacterium spiritivorum HAMBI 1896 + term: + id: NCBITaxon:258 + label: Sphingobacterium spiritivorum + - preferred_term: Aeromonas caviae HAMBI 1972 + term: + id: NCBITaxon:648 + label: Aeromonas caviae + - preferred_term: Pseudomonas chlororaphis HAMBI 1977 + term: + id: NCBITaxon:587753 + label: Pseudomonas chlororaphis + - preferred_term: Bordetella avium HAMBI 2160 + term: + id: NCBITaxon:521 + label: Bordetella avium + - preferred_term: Cupriavidus oxalaticus HAMBI 2164 + term: + id: NCBITaxon:96344 + label: Cupriavidus oxalaticus + - preferred_term: Paracoccus denitrificans HAMBI 2443 + term: + id: NCBITaxon:266 + label: Paracoccus denitrificans + - preferred_term: Stenotrophomonas maltophilia HAMBI 2659 + term: + id: NCBITaxon:40324 + label: Stenotrophomonas maltophilia + - preferred_term: Niabella yanshanensis HAMBI 3031 + term: + id: NCBITaxon:577386 + label: Paraniabella yanshanensis + - preferred_term: Microvirga lotononidis HAMBI 3237 + term: + id: NCBITaxon:864069 + label: Microvirga lotononidis environmental_factors: - name: total carbon concentration value: 0.031 to 4 g C/L @@ -499,13 +569,35 @@ curation_history: - timestamp: '2026-09-22T16:28:16Z' curator: codex action: CREATE_RECORD - changes: Created CommunityMech:000423 for the 16-species HAMBI carbon-gradient SynCom from PMID:42367191 with exact strain - membership, 96-condition glucose/R2A resource-gradient design, serial-transfer cultivation, and community-state-shift - evidence. + changes: Created CommunityMech:000423 for the 16-species HAMBI carbon-gradient SynCom from PMID:42367191 with + exact strain membership, 96-condition glucose/R2A resource-gradient design, serial-transfer cultivation, and + community-state-shift evidence. llm_assisted: true - timestamp: '2026-09-22T16:28:16Z' curator: codex action: ADDRESS_REVIEW - changes: 'Addressed review issues #1059 and #1060 by removing unsupported serial-passage temperature/atmosphere fields and - replacing the truncated glucose evidence snippet with exact M9/R2A medium-preparation evidence from PMID:42367191.' + changes: 'Addressed review issues #1059 and #1060 by removing unsupported serial-passage temperature/atmosphere + fields and replacing the truncated glucose evidence snippet with exact M9/R2A medium-preparation evidence from + PMID:42367191.' + llm_assisted: true +- timestamp: '2026-10-06T14:36:23Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Bound controlled carbon-state outcomes and competitive-sorting interpretation. Issue #1493; reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml' llm_assisted: true +discussions: +- discussion_id: hambi_state_shift_mediators + prompt: Which member interactions and traits mediate the carbon-dependent state shifts? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Total-carbon-driven community state shifts + rationale: Preserve the positive controlled carbon response and the authors' competitive-sorting interpretation. + Monoculture trait prediction, endpoint pH associations and OD-scaled abundance are informative but not selective + mediator perturbations or viable-cell enumeration. Partner removal, trait manipulation and pH control would + test the proposed mechanisms. R2A is a proxy for resource complexity with uncertain effective availability, + not an exhaustive complexity experiment; no within-condition hysteresis or alternative-attractor demonstration + is established by clustering. All 16 canonical strains denote the input community, not proven persistence at + every endpoint. Non-graph metadata is preserved, not recertified. + posed_by: codex + posed_date: '2026-10-06' diff --git a/kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml b/kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml index 69bf5470b..a71be382c 100644 --- a/kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml +++ b/kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml @@ -135,95 +135,146 @@ taxonomy: explanation: Supports archaeal membership and depth-associated abundance in the groundwater community. ecological_interactions: - name: Columbia River Intrusion Community Turnover - description: Seasonal Columbia River water intrusion changes nitrate and groundwater elevation conditions, - causing temporal turnover in aquifer microbial community composition, especially in shallow wells. - interaction_type: NICHE_PARTITIONING + description: Field 16S profiles showed temporal community turnover associated with seasonal Columbia River intrusion, + particularly near the water table. The authors identify intrusion as a structuring influence using hydrology + and nitrate-based mixing estimates. These positive field observations do not isolate nitrate from transported + cells or other covarying environmental changes, or show that community turnover causes electron-donor/acceptor + flux. The four canonical broad taxon groups are a curated subset, not the complete sampled community. scope: COMMUNITY_LEVEL metabolites: - preferred_term: nitrate term: id: CHEBI:17632 label: nitrate - downstream: - - target: Annual Electron Donor and Acceptor Flux Dynamics - description: Nitrate-tracked intrusion and seasonal hydrologic change - restructure groundwater clades over the annual cycle, shifting the - electron-donor and electron-acceptor regimes available to functional - redox guilds. + notes: Environmental context, not a demonstrated partner-to-partner transfer or guild-specific flux. evidence: - reference: PMID:22456444 supports: SUPPORT evidence_source: IN_VIVO - snippet: The shift in community composition associated with the large dynamics in Actinobacteria - ACK-M1 and other clades suggested that river water intrusion could have significant impacts on - microbial community composition. - explanation: Supports river-water intrusion as a driver of temporal community turnover. + snippet: The shift in community composition associated with the large dynamics in Actinobacteria ACK-M1 and + other clades suggested that river water intrusion could have significant impacts on microbial community composition. + explanation: Supports intrusion-associated composition dynamics, not a selectively identified chemical mediator + or reverse community-to-flux causal effect. - reference: PMID:22456444 supports: SUPPORT evidence_source: IN_VIVO - snippet: Here, we demonstrate that Columbia River water intrusion affects microbial community composition - in the aquifer, 250 m from the shoreline. - explanation: Supports hydrologic intrusion as a structuring mechanism for the aquifer community. -- name: Annual Electron Donor and Acceptor Flux Dynamics - description: Spatial and temporal changes in 16S rRNA gene operational - taxonomic units assigned to methane-oxidizing and metal-reducing guilds - indicate annual shifts in groundwater electron donor and acceptor fluxes. - interaction_type: NICHE_PARTITIONING + snippet: Here, we demonstrate that Columbia River water intrusion affects microbial community composition in + the aquifer, 250 m from the shoreline. + explanation: Supports the authors' field-based hydrologic interpretation; it does not resolve a pairwise niche-partitioning + mechanism. + participating_taxa: + - preferred_term: Proteobacteria/Pseudomonadota + term: + id: NCBITaxon:1224 + label: Pseudomonadota + - preferred_term: Bacteroidetes aquifer bacteria + term: + id: NCBITaxon:976 + label: Bacteroidota + - preferred_term: Actinobacteria/Actinomycetota aquifer bacteria + term: + id: NCBITaxon:201174 + label: Actinomycetota + - preferred_term: aquifer archaea, including ammonia-oxidizing archaea + term: + id: NCBITaxon:2157 + label: Archaea +- name: Putative Guild Patterns and Inferred Redox Resource Dynamics + description: PARTIAL - spatial and temporal 16S OTU patterns assigned to putative methane-oxidizing and metal-reducing + guilds suggest changing electron-donor and electron-acceptor availability. This is a functional and resource-dynamics + inference from community profiles, not direct measurement of annual metabolic flux or demonstrated niche partitioning. + The broad canonical taxon subset does not identify every guild member. scope: COMMUNITY_LEVEL metabolites: - preferred_term: nitrate term: id: CHEBI:17632 label: nitrate - downstream: - - target: Depth-Structured Redox Guilds - description: Annual donor and acceptor fluxes are reflected in vertical - enrichment of putative ammonia oxidizers, methane oxidizers, and metal - reducers near the Hanford-Ringold redox transition zone. + notes: Environmental context, not a demonstrated partner-to-partner transfer or guild-specific flux. evidence: - reference: PMID:22456444 - supports: SUPPORT - evidence_source: IN_VIVO - snippet: Spatial and temporal patterns for several 16S rRNA gene operational taxonomic - units associated with particular physiological functions (for example, methane - oxidizers and metal reducers) suggests dynamic changes in fluxes of electron - donors and acceptors over an annual cycle. - explanation: Supports representing the annual redox-guild patterns as - changing electron donor and acceptor fluxes. -- name: Depth-Structured Redox Guilds - description: Deeper groundwater near the Hanford-Ringold formation boundary and redox transition zone - had higher proportions of putative ammonia oxidizers, methane oxidizers, and metal reducers, indicating - spatial niche partitioning by electron-donor and electron-acceptor availability. - interaction_type: NICHE_PARTITIONING + supports: PARTIAL + evidence_source: COMPUTATIONAL + snippet: Spatial and temporal patterns for several 16S rRNA gene operational taxonomic units associated with + particular physiological functions (for example, methane oxidizers and metal reducers) suggests dynamic changes + in fluxes of electron donors and acceptors over an annual cycle. + explanation: Supports the authors' inference from physiological assignments of 16S OTUs, not measured annual + donor/acceptor flux or a causal link from community turnover. + participating_taxa: + - preferred_term: Proteobacteria/Pseudomonadota + term: + id: NCBITaxon:1224 + label: Pseudomonadota + - preferred_term: Bacteroidetes aquifer bacteria + term: + id: NCBITaxon:976 + label: Bacteroidota + - preferred_term: Actinobacteria/Actinomycetota aquifer bacteria + term: + id: NCBITaxon:201174 + label: Actinomycetota + - preferred_term: aquifer archaea, including ammonia-oxidizing archaea + term: + id: NCBITaxon:2157 + label: Archaea +- name: Putative Redox Guilds in Depth-Stratified Sampling + description: Selected cached excerpts report higher proportions of putative ammonia-oxidizing archaea, methane + oxidizers and metal reducers. Separate Methods excerpts describe sampling across 10-17 m, including near the + Hanford-Ringold contact. The extracted guild sentence does not preserve its precise depth comparison, and full-body + verification was unavailable. Guild assignments suggest functional potential, not measured ammonia oxidation, + methane oxidation or uranium reduction by each canonical group. These excerpts do not establish resource-mediated + niche partitioning or a causal sequence from inferred annual flux. scope: COMMUNITY_LEVEL metabolites: - preferred_term: nitrate term: id: CHEBI:17632 label: nitrate + notes: Environmental context, not a demonstrated partner-to-partner transfer or guild-specific flux. - preferred_term: uranium(VI) term: id: CHEBI:32992 label: uranium(6+) + notes: Environmental context, not a demonstrated partner-to-partner transfer or guild-specific flux. biological_processes: - preferred_term: nitrification term: id: GO:0019329 label: ammonia oxidation + notes: Putative guild annotation only; ammonia-oxidation activity was not established in the inspected evidence. evidence: - reference: PMID:22456444 supports: SUPPORT evidence_source: IN_VIVO - snippet: we observed a higher proportion of putative ammonia-oxidizing Archaea, methane oxidizers - and metal reducers. - explanation: Supports depth-associated redox guild enrichment. + snippet: we observed a higher proportion of putative ammonia-oxidizing Archaea, methane oxidizers and metal + reducers. + explanation: Supports the reported putative-guild proportions; the selected excerpt lacks the precise depth + comparison and does not measure metabolic activity. - reference: PMID:22456444 - supports: SUPPORT - evidence_source: IN_VIVO - snippet: Spatial and temporal patterns for several 16S rRNA gene operational taxonomic units associated - with particular physiological functions (for example, methane oxidizers and metal reducers) suggests - dynamic changes in fluxes of electron donors and acceptors over an annual cycle. - explanation: Supports annual redox dynamics affecting functional guilds. + supports: PARTIAL + evidence_source: COMPUTATIONAL + snippet: Spatial and temporal patterns for several 16S rRNA gene operational taxonomic units associated with + particular physiological functions (for example, methane oxidizers and metal reducers) suggests dynamic changes + in fluxes of electron donors and acceptors over an annual cycle. + explanation: Supports inferred resource dynamics from OTU patterns, not a demonstrated cause of the depth-associated + guild proportions. + participating_taxa: + - preferred_term: Proteobacteria/Pseudomonadota + term: + id: NCBITaxon:1224 + label: Pseudomonadota + - preferred_term: Bacteroidetes aquifer bacteria + term: + id: NCBITaxon:976 + label: Bacteroidota + - preferred_term: Actinobacteria/Actinomycetota aquifer bacteria + term: + id: NCBITaxon:201174 + label: Actinomycetota + - preferred_term: aquifer archaea, including ammonia-oxidizing archaea + term: + id: NCBITaxon:2157 + label: Archaea environmental_factors: - name: Columbia River water intrusion value: nitrate mixing signal from 0.4 mg nitrate/L river water and 25 mg nitrate/L groundwater @@ -268,3 +319,30 @@ metal_relevance: SIGNIFICANT metal_notes: Uranium is included because the Hanford 300 Area aquifer is a historically contaminated DOE site and the study measured uranium concentrations during groundwater sampling; the record does not assert direct uranium reduction without experimental evidence. +discussions: +- discussion_id: hanford_guild_flux_and_causal_direction + prompt: Which processes connect river intrusion, guild composition and redox activity? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Columbia River Intrusion Community Turnover + - ecological_interactions#Putative Guild Patterns and Inferred Redox Resource Dynamics + - ecological_interactions#Putative Redox Guilds in Depth-Stratified Sampling + rationale: The primary abstract and selected cached snippets support hydrologic composition associations and putative + guild patterns. They do not establish community turnover causing electron flux or flux causing depth enrichment; + both former arrows are removed. Resolve transported cells, mixing, geochemistry, absolute population dynamics + and directly measured metabolic rates before assigning selective mediation or niche partitioning. The local + cache is selected snippets despite its full_text label; PMC CAPTCHA and publisher/Europe PMC failures prevented + complete Methods/Results verification. The abstract also proposes top-down biological control, but no new predation + branch is inferred here. The four canonical taxa are an incomplete broad roster, not guild-resolved partners. + Non-graph metadata is preserved, not recertified. The selected guild-enrichment sentence lacks its spatial comparator; + do not assign it specifically to the formation contact or a redox transition without primary-body verification. + posed_by: codex + posed_date: '2026-10-06' +curation_history: +- timestamp: '2026-10-06T14:36:24Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Separate aquifer guild inference from measured flux and remove two unsupported causal arrows. Issue + #1494; reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml' + llm_assisted: true diff --git a/kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml b/kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml index a4a7a4492..8a759b95b 100644 --- a/kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml +++ b/kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml @@ -170,8 +170,11 @@ taxonomy: explanation: Names SRCHD02 as the Micrococcus luteus isolate in consortium C6. ecological_interactions: - name: C6 hexamine and formaldehyde removal - description: Consortium C6 removed hexamine, formaldehyde, and chemical oxygen demand from AS broth, with the biofilm format - reaching 94.41% hexamine removal, 85.56% formaldehyde removal, and 37.64% COD removal within 24 h. + description: The study reports C6 biofilm removal of 94.41% hexamine, 85.56% formaldehyde and 37.64% chemical + oxygen demand within 24 h. These positive bulk-chemistry outcomes in nutrient-containing AS broth do not establish + complete mineralization, member-resolved conversion or reciprocal benefit among all six strains. The separate + suspended-C6 Table 2 reports ammonia production, not consortium ammonia removal. The six canonical strain labels + describe the assembled consortium, not measured persistence of every strain. scope: COMMUNITY_LEVEL metabolites: - preferred_term: hexamine @@ -186,6 +189,8 @@ ecological_interactions: term: id: CHEBI:16134 label: ammonia + notes: Ammonia was produced in the suspended-C6 assay; a consortium ammonia sink is not established by an individual-isolate + result. biological_processes: - preferred_term: xenobiotic metabolic process term: @@ -199,19 +204,49 @@ ecological_interactions: - reference: PMID:41743136 supports: SUPPORT evidence_source: IN_VITRO - snippet: In the biofilm system reported in this study, the consortium C6 could remove 94.41% hexamine 85.56% formaldehyde - within 24 h of incubation, associated with 37.64% COD removal efficiency. - explanation: Quantifies rapid hexamine, formaldehyde, and COD removal by immobilized C6 biofilms. + snippet: In the biofilm system reported in this study, the consortium C6 could remove 94.41% hexamine 85.56% + formaldehyde within 24 h of incubation, associated with 37.64% COD removal efficiency. + explanation: Supports the reported biofilm benchmark for bulk chemical removal, not a complete carbon/nitrogen + mass balance or assigned partner flux. - reference: PMID:41743136 supports: SUPPORT evidence_source: IN_VITRO - snippet: The consortium C6 was the most efficient in terms of bioremediation, achieving hexamine, formaldehyde, and COD - removal in 24, 48, and 96 h, respectively. - explanation: Supports C6 as the strongest assayed consortium and distinguishes endpoint timing by analyte. + snippet: The consortium C6 was the most efficient in terms of bioremediation, achieving hexamine, formaldehyde, + and COD removal in 24, 48, and 96 h, respectively. + explanation: Preserves the authors' comparison and analyte-dependent endpoint timing; it is not evidence that + every member has a resolved biochemical role. + participating_taxa: + - preferred_term: Brevundimonas diminuta SRCHD03 + term: + id: NCBITaxon:293 + label: Brevundimonas diminuta + - preferred_term: Brevundimonas diminuta SRCHD04 + term: + id: NCBITaxon:293 + label: Brevundimonas diminuta + - preferred_term: Brucella pseudintermedia SRCHD05 + term: + id: NCBITaxon:370111 + label: Brucella pseudintermedia + - preferred_term: Brucella pseudintermedia SRCHD07 + term: + id: NCBITaxon:370111 + label: Brucella pseudintermedia + - preferred_term: Ochrobactrum sp. SRCHD06 + term: + id: NCBITaxon:528 + label: Ochrobactrum + - preferred_term: Micrococcus luteus SRCHD02 + term: + id: NCBITaxon:1270 + label: Micrococcus luteus - name: Immobilized C6 post-irradiation recovery - description: Polypropylene-Raschig-ring C6 biofilms retained stronger removal after 3.75 Gy and 5.25 Gy cobalt-60 gamma - irradiation than suspended C6 cultures, with hexamine removal not significantly changed at 24 h and formaldehyde/COD performance - reviving within 96 h. + description: Polypropylene-Raschig-ring C6 biofilms showed stronger post-irradiation removal performance than + suspended cultures after 3.75 Gy and 5.25 Gy cobalt-60 exposure. At 24 h, no statistically detected difference + in biofilm hexamine removal was reported versus the unirradiated control (p = 0.29-0.5); this is not a formal + equivalence test. Biofilm formaldehyde/COD removal was reported to recover within 96 h during repeated fresh-medium + renewal. Bulk functional recovery does not establish survival of every original strain, unchanged community + composition or a selectively demonstrated EPS/quorum-sensing protection mechanism. scope: COMMUNITY_LEVEL metabolites: - preferred_term: hexamine @@ -231,15 +266,42 @@ ecological_interactions: - reference: PMID:41743136 supports: SUPPORT evidence_source: IN_VITRO - snippet: In the case of the biofilm-based system, there was no change in performance in terms of hexamine removal following - irradiation (p-value between 0.29 and 0.5) even at 24th h of incubation. - explanation: Supports retained hexamine removal by irradiated C6 biofilms. + snippet: In the case of the biofilm-based system, there was no change in performance in terms of hexamine removal + following irradiation (p-value between 0.29 and 0.5) even at 24th h of incubation. + explanation: Supports the reported nonsignificant difference in hexamine removal, not statistical equivalence + or proof of no irradiation effect. - reference: PMID:41743136 supports: SUPPORT evidence_source: IN_VITRO - snippet: The formaldehyde- and COD-removing abilities were much higher in the biofilm-based system, with revival within - 96 h of incubation. - explanation: Supports 96 h recovery of formaldehyde and COD removal in the irradiated C6 biofilm system. + snippet: The formaldehyde- and COD-removing abilities were much higher in the biofilm-based system, with revival + within 96 h of incubation. + explanation: Supports biofilm community functional recovery under the repeated-medium protocol, not every-strain + survival or an isolated protective mechanism. + participating_taxa: + - preferred_term: Brevundimonas diminuta SRCHD03 + term: + id: NCBITaxon:293 + label: Brevundimonas diminuta + - preferred_term: Brevundimonas diminuta SRCHD04 + term: + id: NCBITaxon:293 + label: Brevundimonas diminuta + - preferred_term: Brucella pseudintermedia SRCHD05 + term: + id: NCBITaxon:370111 + label: Brucella pseudintermedia + - preferred_term: Brucella pseudintermedia SRCHD07 + term: + id: NCBITaxon:370111 + label: Brucella pseudintermedia + - preferred_term: Ochrobactrum sp. SRCHD06 + term: + id: NCBITaxon:528 + label: Ochrobactrum + - preferred_term: Micrococcus luteus SRCHD02 + term: + id: NCBITaxon:1270 + label: Micrococcus luteus environmental_factors: - name: C6 suspended-culture hexamine feed value: '50' @@ -341,24 +403,30 @@ external_resources: explanation: Identifies the primary publication for consortium C6. discussions: - discussion_id: c6-molecular-division-of-labor - prompt: The source quantified community-level C6 removal of hexamine, formaldehyde, and COD but did not resolve which isolate - genes or exchange steps perform hexamine hydrolysis, formaldehyde assimilation or oxidation, ammonia handling, or post-irradiation - biofilm recovery. + prompt: The source quantified community-level C6 removal of hexamine, formaldehyde, and COD but did not resolve + which isolate genes or exchange steps perform hexamine hydrolysis, formaldehyde assimilation or oxidation, ammonia + handling, or post-irradiation biofilm recovery. kind: KNOWLEDGE_GAP status: OPEN attaches_to: - ecological_interactions#C6 hexamine and formaldehyde removal - rationale: The article explicitly leaves Ochrobactrum/Brevundimonas functional interactions for a future molecular study, - so this record should not assert a pairwise metabolic edge inside C6. + - ecological_interactions#Immobilized C6 post-irradiation recovery + rationale: The article explicitly leaves Ochrobactrum/Brevundimonas functional interactions for a future molecular + study, so this record should not assert a pairwise metabolic edge inside C6. Bulk removal and COD are not complete + mineralization or strain-resolved flux. Table 2 ammonia production must not become a consortium removal claim. + Repeated medium renewal and nonsignificant comparisons do not prove equivalence, every-strain survival or a + specific protection mechanism. Resolve the irradiation-feed discrepancy between the main-text 50 mg/L description + and Figure 4's 100 mg/L caption before assigning one common concentration; existing non-graph assay fields are + preserved, not recertified. Original figure images, supplements, raw data and code were not audited. evidence: - reference: PMID:41743136 - reference_title: Bioremediation of hexamine and formaldehyde using a radio-tolerant bacterial consortium for efficient - pollutant and COD removal + reference_title: Bioremediation of hexamine and formaldehyde using a radio-tolerant bacterial consortium for + efficient pollutant and COD removal supports: SUPPORT evidence_source: full_text - snippet: Ochrobactrum sp. and Brevundimonas diminuta have been shown to harbor genes with functional interactions, which - could be further detailed in a future study to understand the underlying molecular mechanism of bioremediation in the - current context. + snippet: Ochrobactrum sp. and Brevundimonas diminuta have been shown to harbor genes with functional interactions, + which could be further detailed in a future study to understand the underlying molecular mechanism of bioremediation + in the current context. explanation: Documents the authors' stated need for a future mechanistic study of the C6 molecular mechanism. posed_by: claude posed_date: '2026-09-21' @@ -369,18 +437,24 @@ curation_history: - timestamp: '2026-09-21T09:16:07Z' curator: claude action: CREATE_COMMUNITY_RECORD - changes: Created CommunityMech:000405 for the C6 hexamine/formaldehyde bioremediation consortium from PMID:41743136, including - six isolate members, AS-broth and biofilm irradiation conditions, exact evidence snippets, and the primary source cache. + changes: Created CommunityMech:000405 for the C6 hexamine/formaldehyde bioremediation consortium from PMID:41743136, + including six isolate members, AS-broth and biofilm irradiation conditions, exact evidence snippets, and the + primary source cache. llm_assisted: true - timestamp: '2026-09-21T09:22:39Z' curator: claude action: ADD_ASSEMBLY_EVIDENCE - changes: Added direct Table 1 evidence for the equal-ratio SRCHD02-SRCHD07 C6 assembly and narrowed the Table 2 evidence - explanation to suspended-culture endpoint quantification. + changes: Added direct Table 1 evidence for the equal-ratio SRCHD02-SRCHD07 C6 assembly and narrowed the Table + 2 evidence explanation to suspended-culture endpoint quantification. llm_assisted: true - timestamp: '2026-09-21T09:29:16Z' curator: claude action: REMOVE_UNSUPPORTED_VESSEL - changes: Removed unsupported Hexamine AS broth vessel_type after adversarial review; the source names AS broth conditions - but not a vessel for C1-C6 consortium development. + changes: Removed unsupported Hexamine AS broth vessel_type after adversarial review; the source names AS broth + conditions but not a vessel for C1-C6 consortium development. + llm_assisted: true +- timestamp: '2026-10-06T14:36:24Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Bound bulk chemical removal and post-irradiation community recovery. Issue #1495; reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml' llm_assisted: true diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md index 1502c78b8..4b1268144 100644 --- a/reports/causal_graph_review/README.md +++ b/reports/causal_graph_review/README.md @@ -5,6 +5,25 @@ source-based self-adversarial review. These records are not independent approval or proof that every graph is complete. The current inventory and summary distinguish `reviewed`, `pending` and `needs_research`. +## Batch50: HAMBI, Hanford And C6 + +[Decisions](decisions/20261006-hambi-hanford-c6-batch50.yaml), +[validation](validation-20261006-batch50.json) and +[self-adversarial review](adversarial-review-20261006-batch50.yaml) preserve +all six community outcomes while removing two unsupported Hanford arrows. +HAMBI's controlled carbon response remains distinct from competitive-sorting +and trait/pH mediation. Hanford guild assignments remain inference, not measured +flux or niche partitioning. C6 bulk removal and recovery do not establish +mineralization, statistical equivalence or every-strain survival. +All canonical input labels remain explicit, including distinct strains sharing +one taxon ID. Hanford was reviewed at abstract/selected-excerpt scope only; +HAMBI/C6 main texts and embedded captions were read, not original figure images +or supplements. The C6 irradiation-feed discrepancy remains an explicit gap. +Self-review removed an unverified precise spatial attribution from Hanford's +excerpted guild result. Earlier actual checks are retained as superseded, with +every verification command rerun against the final wording. Non-graph metadata +is preserved, not recertified. + ## Batch49: Wet-Up Viruses And Groundwater Elusimicrobia [Decisions](decisions/20261006-wetup-elusimicrobia-batch49.yaml), diff --git a/reports/causal_graph_review/adversarial-review-20261006-batch50.yaml b/reports/causal_graph_review/adversarial-review-20261006-batch50.yaml new file mode 100644 index 000000000..0843842ed --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261006-batch50.yaml @@ -0,0 +1,168 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 5d6f2a6c1a56eb9a4ab2017af1697ebafdd45667 +scope: +- kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml +- kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml +- kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml +decision_ledger: reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml +validation_report: reports/causal_graph_review/validation-20261006-batch50.json +findings: +- issue: 1493 + severity: P2 + status: addressed_in_this_change + finding: Bound controlled carbon-state outcomes and competitive-sorting interpretation. + disposition: Close only after protected main merge. +- issue: 1494 + severity: P2 + status: addressed_in_this_change + finding: Separate aquifer guild inference from measured flux and remove two unsupported causal arrows. + disposition: Close only after protected main merge. +- issue: 1495 + severity: P2 + status: addressed_in_this_change + finding: Bound bulk chemical removal and post-irradiation community recovery. + disposition: Close only after protected main merge. +adversarial_checks: +- Whole three records and all six original nodes/two arrows reviewed. HAMBI/C6 complete cached main texts, + Methods and embedded captions read; C6 main Tables1-3 read. Hanford complete primary abstract and selected + local excerpts only. No original figure images, supplements, raw data or code audited. +- HAMBI controlled carbon-dependent composition shifts remain positive SUPPORT/IN_VITRO observations. + The authors' OD-scaled analysis is retained, not dismissed as purely compositional. Competitive sorting + remains an interpretation; ancestral monoculture traits and pH associations do not selectively demonstrate + the mediator or alternative within-condition stable states. +- HAMBI keeps all16 canonical input strains, including taxa not dominant at endpoints. Do not infer persistence/extinction + from the roster. R2A is a limited resource-complexity proxy; no universal conclusion about complexity + or new trait/pH arrow is added. +- Hanford preserves field observations and the authors' hydrologic structuring interpretation. Remove + two arrows that imply community-to-flux and flux-to-depth causal directions. Putative guild annotation + is distinct from measured metabolism, and environmental nitrate/uranium is not interspecies exchange. +- The Hanford cache says full_text but contains selected snippets; this was not misreported as complete + primary-body review. PMC CAPTCHA was not bypassed. Broad four-taxon participants are an incomplete subset, + not resolved physiological guilds; no new top-down-control/predation mechanism was invented from the + abstract proposal. +- Self-adversarial review found that the selected Hanford guild sentence did not retain its spatial comparator. + Removed the contact/redox-transition attribution, renamed the node to neutral depth-stratified sampling + context and repaired its anchor and ledger. Prior actual checks were archived as superseded; every verification + command was rerun against final text. No history or cache was erased. +- C6 retains the positive reported94.41/85.56/37.64percent 24-hour biofilm benchmark. Rich AS medium, + bulk COD and chemical disappearance do not establish mineralization or reciprocal fitness. Table2 ammonia + production is distinct from isolate-level ammonia removal. +- C6 retains all6 strain labels, including two pairs sharing taxon CURIEs. Bulk post-irradiation recovery + during medium renewal does not prove every-strain survival, unchanged composition or an EPS/quorum-sensing + mechanism. Nonsignificance is not formal equivalence, and suspended-culture recovery timing is not substituted + for biofilm timing. +- 'Self-review corrected the issue1495 wording: the original record already said not significantly changed. + That was not an unqualified no-effect assertion. These statistical and mineralization statements are + explicit boundaries, not claims that the original graph asserted every excluded mechanism. The scientific + record required no further correction.' +- C6 main-text50mg/L versus Fig4-caption100mg/L irradiation feed remains explicitly unresolved. The earlier + review's chosen non-graph concentration is preserved without recertification. Existing gap author/date/evidence + remain, with both nodes anchored; no duplicate gap or history deletion. +- Inspected all record diffs and focused test assertions. Six nodes retained, two arrows removed, three + guarded writes and append-only history artifacts. All457 other records and920 caches preserved. Canonical + taxonomy and other non-graph raw blocks unchanged. Three participant registry entries added; measured + connectivity census unchanged, no production matching or census-bound change. +- Actual schema, strict, terms, references, snippets, rank and history gates passed. Network equals baseline + with34 prior findings and zero structural defects. Deterministic repeat renders and exact descriptions + across456 pages parser-checked, not browser screenshots. Actual post-commit docs-current remains a separate + publication gate. +- Dedup checked803 all-state issue titles/bodies and19 ignored/hidden local files, not every comment/PR + review. Existing1059/1060/1007 are closed non-graph repairs;1095 remains an unrelated open writer-audit + issue. Issues1493/1494/1495 stay open until protected main merge. Source-based self-adversarial review + is not independent approval. +verification: + combined_regressions: 484 passed in 196.51s (0:03:16) + new_regression_tests: 6 + schema_strict_terms_history: Passed with actual output digests + references: CLI Total checks counts reported issues, not executed checks. Exit0 is no reported issues, + not source verification. SupportingReference coverage (#476), Linux DOI-cache lookup (#1091) and selected-cache + provenance (#1362) remain limitations. + snippet_counts_by_record: + kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml: + MATCH: 29 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml: + MATCH: 12 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml: + MATCH: 22 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + network: + existing_findings_preserved: 34 + added_findings: {} + removed_findings: {} + black_ruff_diff: passed + tested_file_sha256: + reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml: 13a2eed2a8504570b0b7e47e924f4a63d1c7d03714098078abe4a0405ecc7472 + tests/test_causal_review_batch50.py: 428e33029e55cd2b58566e8db92cd79ecc502488d59651f019d67672a0848341 + tests/test_participating_taxa.py: a750e27ce86ee01f8ac6add3ee0b2ae2873a519d07118aa0f5b13b34a468d408 + kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml: a6de23c0605bdd23154c61dca8a27d161e55f8fdf0e191bc55d38969b693a6f8 + kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml: 61ab38249ffc3fd960901f1868e3373e77ea3077bc79880e1e125eef7e8162d2 + kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml: 275243762d5d3c3032178fcc68b9005177a5d0f1924ff6ef01e3aeaf114e8d08 + reports/causal_graph_review/README.md: e427e7d54900e7641d2b861b4f57ebac4c93a03fe20278865658e61e8be2d96f + post_commit_docs_current: Separate publication gate; not asserted before commit. +participant_census: + measurements: + baseline: + records: 460 + with_community_level: 389 + mixed: 127 + community_level_only: 262 + taxa: 1498 + credited_solely_by_the_rule: 1222 + current: + records: 460 + with_community_level: 389 + mixed: 127 + community_level_only: 262 + taxa: 1498 + credited_solely_by_the_rule: 1222 + interpretation: All six nodes remain community-scoped with their existing canonical rosters made explicit. + Census unchanged; three registry entries added. No production matching or census-bound changes. +corpus: + records: 460 + nodes: 1465 + edges: 674 + review_status_counts: + needs_research: 14 + pending: 270 + reviewed: 176 +limitations: +- Whole 511-line HAMBI,270-line Hanford and386-line C6 records and every original node/arrow reviewed. + HAMBI/C6 complete cached main bodies/Methods/embedded captions read; C6 main tables read. Hanford primary + abstract and selected excerpts only, not full body. No original figure images, supplements, raw data + or code audited. +- 'Existing-structure repairs only: six nodes retained, two Hanford arrows removed, no new causal nodes/arrows + or paid Edison job. Positive findings and author interpretations retained with limits; review does not + claim all possible mechanisms represented.' +- HAMBI competition and trait/pH mediation remain interpretations, with positive controlled carbon responses + and OD-scaled abundance retained. Explicit participants are the input roster, not demonstrated endpoint + persistence or alternative stable states. +- Hanford selected-cache provenance/full-body access limits persist. Putative guild profiles are not metabolic + flux or demonstrated niche partitioning; four broad taxa are not a complete or guild-resolved roster. + Top-down-control proposal is not a new curated predation branch. The extracted guild-enrichment sentence + lacks its precise spatial comparator; no contact-specific enrichment is certified. +- C6 bulk removal is not mineralization, ammonia production is not consortium removal and nonsignificance + is not formal equivalence. Community recovery does not prove every-strain survival or EPS/quorum-sensing + mechanism. Main-text/figure-caption irradiation-feed discrepancy remains unresolved. +- All non-graph raw blocks and920 cache files preserved, not certified. SupportingReference coverage (#476), + Linux DOI-cache lookup (#1091), selected-cache provenance (#1362) and unrelated writer-audit artifact + issue (#1095) remain outside scope. Reference CLI Total checks counts reported issues, not executed + checks. +- Dedup checked803 all-state issue titles/bodies and19 ignored/hidden local files, not all comments or + PR reviews. Existing1059/1060/1007 are closed non-graph repairs;1095 is unrelated CI audit output. Self-adversarial + review is not independent approval. Protected-main merge and corpus completion remain pending. diff --git a/reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml b/reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml new file mode 100644 index 000000000..cbced2325 --- /dev/null +++ b/reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml @@ -0,0 +1,195 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 5d6f2a6c1a56eb9a4ab2017af1697ebafdd45667 +baseline_commit: 5d6f2a6c1a56eb9a4ab2017af1697ebafdd45667 +base_tree: 223789a2dbfc92a5f8ffa8a2e73429cd3a8a28c8 +pre_source_baseline_sha256: 742478eaa1f826c47fe57f76d2344df1f388d20a79dcbc9e46114fd1eabab051 +issues: +- 1493 +- 1494 +- 1495 +issue_deduplication: + all_state_issue_titles_and_bodies: 803 + ignored_hidden_local_search: true + matching_issues: + - 1095 + - 1060 + - 1059 + - 1007 + matching_local_files: 19 + disposition: Three closed non-graph repairs and one unrelated open writer-audit issue; no duplicate of these graph + repairs in inspected scope. + limitations: Not every issue comment or PR review inspected. +reference_cache_original_hashes: + references_cache/PMID_42367191.txt: b03ed7ff1f5dea55b5f67b10d77cbb59e89f1b51c0d9f49e1ffae7711e038960 + references_cache/PMID_22456444.md: 49b493932ef97065a1e0a57b07c8add42fdd5990d3016a83d8bdf7d848cd266c + references_cache/PMID_41743136.txt: 0d05fcdfea968e58bce4f5690720bad20782d4293956d616cfbcfef5565e2ea6 +limitations: +- Whole 511-line HAMBI,270-line Hanford and386-line C6 records and every original node/arrow reviewed. HAMBI/C6 + complete cached main bodies/Methods/embedded captions read; C6 main tables read. Hanford primary abstract and + selected excerpts only, not full body. No original figure images, supplements, raw data or code audited. +- 'Existing-structure repairs only: six nodes retained, two Hanford arrows removed, no new causal nodes/arrows or + paid Edison job. Positive findings and author interpretations retained with limits; review does not claim all + possible mechanisms represented.' +- HAMBI competition and trait/pH mediation remain interpretations, with positive controlled carbon responses and + OD-scaled abundance retained. Explicit participants are the input roster, not demonstrated endpoint persistence + or alternative stable states. +- Hanford selected-cache provenance/full-body access limits persist. Putative guild profiles are not metabolic flux + or demonstrated niche partitioning; four broad taxa are not a complete or guild-resolved roster. Top-down-control + proposal is not a new curated predation branch. The extracted guild-enrichment sentence lacks its precise spatial + comparator; no contact-specific enrichment is certified. +- C6 bulk removal is not mineralization, ammonia production is not consortium removal and nonsignificance is not + formal equivalence. Community recovery does not prove every-strain survival or EPS/quorum-sensing mechanism. Main-text/figure-caption + irradiation-feed discrepancy remains unresolved. +- All non-graph raw blocks and920 cache files preserved, not certified. SupportingReference coverage (#476), Linux + DOI-cache lookup (#1091), selected-cache provenance (#1362) and unrelated writer-audit artifact issue (#1095) + remain outside scope. Reference CLI Total checks counts reported issues, not executed checks. +- Dedup checked803 all-state issue titles/bodies and19 ignored/hidden local files, not all comments or PR reviews. + Existing1059/1060/1007 are closed non-graph repairs;1095 is unrelated CI audit output. Self-adversarial review + is not independent approval. Protected-main merge and corpus completion remain pending. +records: +- path: kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml + id: CommunityMech:000423 + original_sha256: 1d702bfc31295364092b1aa83379e518f643e6b297b0a9d982d51544b937dca4 + record_sha256: a6de23c0605bdd23154c61dca8a27d161e55f8fdf0e191bc55d38969b693a6f8 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml + scope: Whole record and every original node/arrow; bounded existing structure, not all possible mechanisms. + summary: Bound controlled carbon-state outcomes and competitive-sorting interpretation. + renamed_nodes: {} + node_decisions: + - node: Total-carbon-driven community state shifts + rationale: Retain the controlled carbon-dependent community outcome and authors' competitive-sorting interpretation + without an unqualified COMPETITION label or selectively demonstrated trait/pH mediator. + removed_node_decisions: [] + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - PMID:42367191 + issues: + - 1493 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/HAMBI_Carbon_Gradient_SynCom16/2026-10-06T143624Z-codex-f3d599.yaml + source_review: + PMID:42367191: + cache: references_cache/PMID_42367191.txt + url: https://pubmed.ncbi.nlm.nih.gov/42367191/ + scope: Complete cached primary main text, Methods and embedded Figures 1-5 captions; primary PubMed abstract + corroborated. No original figure images, supplements, raw data or code inspected. + sha256: b03ed7ff1f5dea55b5f67b10d77cbb59e89f1b51c0d9f49e1ffae7711e038960 +- path: kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml + id: CommunityMech:000138 + original_sha256: 9355b5ace5248724637a24a984d88b87d8af124c60c300998c6d9a14bb9c2b30 + record_sha256: 61ab38249ffc3fd960901f1868e3373e77ea3077bc79880e1e125eef7e8162d2 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml + scope: Whole record and every original node/arrow; bounded existing structure, not all possible mechanisms. + summary: Separate aquifer guild inference from measured flux and remove two unsupported causal arrows. + renamed_nodes: + Annual Electron Donor and Acceptor Flux Dynamics: Putative Guild Patterns and Inferred Redox Resource Dynamics + Depth-Structured Redox Guilds: Putative Redox Guilds in Depth-Stratified Sampling + node_decisions: + - node: Columbia River Intrusion Community Turnover + rationale: Retain positive field intrusion/composition observations without isolated nitrate mediation or community-caused + electron flux. + - node: Putative Guild Patterns and Inferred Redox Resource Dynamics + rationale: Retain PARTIAL computational guild/resource inference rather than measured annual flux; remove incoming + and outgoing causal overstatements. + - node: Putative Redox Guilds in Depth-Stratified Sampling + rationale: Retain putative-guild proportions and the depth-stratified sampling context without assigning the + excerpt to an unverified precise depth comparator or measured metabolic activity. + removed_node_decisions: [] + edges_before: + - source: Columbia River Intrusion Community Turnover + target: Annual Electron Donor and Acceptor Flux Dynamics + description: Nitrate-tracked intrusion and seasonal hydrologic change restructure groundwater clades over the + annual cycle, shifting the electron-donor and electron-acceptor regimes available to functional redox guilds. + - source: Annual Electron Donor and Acceptor Flux Dynamics + target: Depth-Structured Redox Guilds + description: Annual donor and acceptor fluxes are reflected in vertical enrichment of putative ammonia oxidizers, + methane oxidizers, and metal reducers near the Hanford-Ringold redox transition zone. + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: + - source: Columbia River Intrusion Community Turnover + target: Annual Electron Donor and Acceptor Flux Dynamics + description: Nitrate-tracked intrusion and seasonal hydrologic change restructure groundwater clades over the + annual cycle, shifting the electron-donor and electron-acceptor regimes available to functional redox guilds. + rationale: Observed or inferred profile relationships do not establish this causal direction; mixing, depth + and geochemical covariation remain unresolved. + - source: Annual Electron Donor and Acceptor Flux Dynamics + target: Depth-Structured Redox Guilds + description: Annual donor and acceptor fluxes are reflected in vertical enrichment of putative ammonia oxidizers, + methane oxidizers, and metal reducers near the Hanford-Ringold redox transition zone. + rationale: Observed or inferred profile relationships do not establish this causal direction; mixing, depth + and geochemical covariation remain unresolved. + references: + - PMID:22456444 + issues: + - 1494 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Hanford_300_Area_Unconfined_Aquifer_Community/2026-10-06T143624Z-codex-33e393.yaml + source_review: + PMID:22456444: + cache: references_cache/PMID_22456444.md + url: https://pubmed.ncbi.nlm.nih.gov/22456444/ + scope: Complete primary PubMed abstract and complete local selected-snippet cache only. Cache full_text metadata + does not mean full-body review. PMC CAPTCHA, publisher redirects/errors and Europe PMC XML HTTP500 prevented + full-body access. No original figures, supplements, raw data or code inspected. + sha256: 49b493932ef97065a1e0a57b07c8add42fdd5990d3016a83d8bdf7d848cd266c +- path: kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml + id: CommunityMech:000405 + original_sha256: 379d0dd82d072b0be02a50febc2ca4202385dc7f0dcf2f2dbb3de49c2b1faaf5 + record_sha256: 275243762d5d3c3032178fcc68b9005177a5d0f1924ff6ef01e3aeaf114e8d08 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml + scope: Whole record and every original node/arrow; bounded existing structure, not all possible mechanisms. + summary: Bound bulk chemical removal and post-irradiation community recovery. + renamed_nodes: {} + node_decisions: + - node: C6 hexamine and formaldehyde removal + rationale: Retain positive bulk removal while distinguishing ammonia production, mineralization, partner flux + and persistence of all six input strains. + - node: Immobilized C6 post-irradiation recovery + rationale: Retain positive post-irradiation community recovery with assay timing, medium renewal and nonsignificance + limits; no equivalence, all-strain survival or selective protective pathway claim. + removed_node_decisions: [] + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - PMID:41743136 + issues: + - 1495 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Hexamine_Formaldehyde_Consortium_C6/2026-10-06T143624Z-codex-a07061.yaml + source_review: + PMID:41743136: + cache: references_cache/PMID_41743136.txt + url: https://pubmed.ncbi.nlm.nih.gov/41743136/ + scope: Complete cached primary main text, Methods, Tables 1-3 and embedded Figures 1-4 captions; primary PubMed + abstract corroborated. Graphical-abstract text/AI alt text not used for chemical identity. No original figure + images, supplements, raw data or code inspected. + sha256: 0d05fcdfea968e58bce4f5690720bad20782d4293956d616cfbcfef5565e2ea6 diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index 34b7703d9..c81318944 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -188,9 +188,9 @@ kb/communities/Ginseng_CL95_Rusty_Root_Rot_Biocontrol_SynCom.yaml CommunityMech: kb/communities/Glutamicibacter_S11_Aquaculture_Nitrogen_Removal_SynCom.yaml CommunityMech:000411 8348a96a90c28a1f575a7badf3c05194fdbbe1c69e23d5d4469468542c849bd4 1 0 55.0 reports/causal_graph_review/decisions/20261006-ginseng-s11-batch48.yaml reviewed kb/communities/Grassland_Soil_WetUp_Virus_Host_Community.yaml CommunityMech:000224 69f8f1177ae4ad7775872f98f55d3bcc9d184f0c4c45425fbc189128d1427d93 3 2 93.3 reports/causal_graph_review/decisions/20261006-wetup-elusimicrobia-batch49.yaml reviewed kb/communities/Groundwater_Elusimicrobia_Diverse_Metabolisms.yaml CommunityMech:000242 0f6adfa3d990e2d2d09e5680230095263aecd71f1ee1b00288ebe13e5a995089 4 0 63.8 reports/causal_graph_review/decisions/20261006-wetup-elusimicrobia-batch49.yaml reviewed -kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml CommunityMech:000423 1d702bfc31295364092b1aa83379e518f643e6b297b0a9d982d51544b937dca4 1 0 65.0 pending -kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml CommunityMech:000138 9355b5ace5248724637a24a984d88b87d8af124c60c300998c6d9a14bb9c2b30 3 2 100.0 pending -kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml CommunityMech:000405 379d0dd82d072b0be02a50febc2ca4202385dc7f0dcf2f2dbb3de49c2b1faaf5 2 0 60.0 pending +kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml CommunityMech:000423 a6de23c0605bdd23154c61dca8a27d161e55f8fdf0e191bc55d38969b693a6f8 1 0 55.0 reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml reviewed +kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml CommunityMech:000138 61ab38249ffc3fd960901f1868e3373e77ea3077bc79880e1e125eef7e8162d2 3 0 65.0 reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml reviewed +kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml CommunityMech:000405 275243762d5d3c3032178fcc68b9005177a5d0f1924ff6ef01e3aeaf114e8d08 2 0 60.0 reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml reviewed kb/communities/High_Ammonia_Biogas_0B_Butyrate_Oxidizing_Enrichment.yaml CommunityMech:000350 f84342dd9328dacd1d2b6b5a77a5d4e62c858e9653e1028c2b19ae5e61279c1d 3 2 100.0 pending kb/communities/High_Solids_Switchgrass_Methanogenic_Microbiome.yaml CommunityMech:000194 b87f26070e4056d40895b75d0ef19bd21d1a10c507ed1d5b3e54305f94925e59 3 2 100.0 pending kb/communities/Honeybee_Core20_Defined_Microbiota.yaml CommunityMech:000124 006cc682646f3c776a543188a0c55ca2b0246c1cc79e321cbb83ee6d865be09c 3 2 100.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index d947ca270..e06bf730b 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": 1465, - "edges": 676, + "edges": 674, "records_without_nodes": 8, - "records_without_edges": 150, + "records_without_edges": 151, "review_status_counts": { "needs_research": 14, - "pending": 273, - "reviewed": 173 + "pending": 270, + "reviewed": 176 }, "structural_defects": [], "network_audit": [ diff --git a/reports/causal_graph_review/validation-20261006-batch50.json b/reports/causal_graph_review/validation-20261006-batch50.json new file mode 100644 index 000000000..3dd5fe9d9 --- /dev/null +++ b/reports/causal_graph_review/validation-20261006-batch50.json @@ -0,0 +1,1408 @@ +{ + "base_commit": "5d6f2a6c1a56eb9a4ab2017af1697ebafdd45667", + "scope": [ + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml" + ], + "reference_validator_version": "0.1.7", + "results": [ + { + "check": "HAMBI_Carbon_Gradient_SynCom16-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "HAMBI_Carbon_Gradient_SynCom16-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-strict.tsv", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-strict.log", + "log_sha256": "6954627afb296ea759fa860381cfd190ced824ee79620bb59a17656f81afe16c", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch50/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-batch50/HAMBI_Carbon_Gradient_SynCom16-strict.tsv\n" + }, + { + "check": "HAMBI_Carbon_Gradient_SynCom16-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "HAMBI_Carbon_Gradient_SynCom16-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-references.log", + "log_sha256": "8ee399998d499fc3513715dc5b90c35f62ad91fc3a7068154218c6c3d8f7e90f", + "output_tail": "Validating kb/communities/HAMBI_Carbon_Gradient_SynCom16.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/HAMBI_Carbon_Gradient_SynCom16.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": "HAMBI_Carbon_Gradient_SynCom16-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-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": "HAMBI_Carbon_Gradient_SynCom16-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-rank.log", + "log_sha256": "0cfe4de7293ab07d32f4cca7d7fac259a67e9255b136daf54232c838a114caca", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000423\",\n \"name\": \"HAMBI Carbon-Gradient 16-species SynCom\",\n \"score\": 55.0,\n \"taxonomy\": 16,\n \"connected_taxa\": 16,\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/HAMBI_Carbon_Gradient_SynCom16.yaml\"\n }\n]\n" + }, + { + "check": "HAMBI_Carbon_Gradient_SynCom16-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/HAMBI_Carbon_Gradient_SynCom16/2026-10-06T143624Z-codex-f3d599.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_Community-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_Community-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-strict.tsv", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-strict.log", + "log_sha256": "2f3b0e0a3ec90bf02779539e728a4faf071eb424ef60df54ed8e5bae05ed2a5e", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch50/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-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-strict.tsv\n" + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_Community-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_Community-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-references.log", + "log_sha256": "4ef294e8fe399ea93b082dc082e3373b514676020ff9b51bdc81355be97cc528", + "output_tail": "Validating kb/communities/Hanford_300_Area_Unconfined_Aquifer_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/Hanford_300_Area_Unconfined_Aquifer_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": "Hanford_300_Area_Unconfined_Aquifer_Community-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-snippets.log", + "log_sha256": "389f1d2b093a1648cf407d53853e429a283f80eed2628a1a14cf1f38649ca780", + "output_tail": "# 12 evidence snippets scanned across 1 files\n MATCH 12\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": "Hanford_300_Area_Unconfined_Aquifer_Community-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-rank.log", + "log_sha256": "42188a48280fa86eb98014e3bccdb26ebe7474170920e1d0ad6f88a8de3fdd57", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000138\",\n \"name\": \"Hanford 300 Area Unconfined Aquifer Community\",\n \"score\": 65.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\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/Hanford_300_Area_Unconfined_Aquifer_Community.yaml\"\n }\n]\n" + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_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/Hanford_300_Area_Unconfined_Aquifer_Community/2026-10-06T143624Z-codex-33e393.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-strict.tsv", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-strict.log", + "log_sha256": "1b56e8b597485955dda25d4814aaee518fe56c8926580bdd24798d5d869442de", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch50/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-batch50/Hexamine_Formaldehyde_Consortium_C6-strict.tsv\n" + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-references.log", + "log_sha256": "212a27603c4a7769ea5910cbf489002a5209bb321ffd47346f82c3f86e477137", + "output_tail": "Validating kb/communities/Hexamine_Formaldehyde_Consortium_C6.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/Hexamine_Formaldehyde_Consortium_C6.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": "Hexamine_Formaldehyde_Consortium_C6-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-snippets.log", + "log_sha256": "96a23c88588d68e990af5d62f9c27df12879566b4125e7703a275c3bfa7adcd7", + "output_tail": "# 22 evidence snippets scanned across 1 files\n MATCH 22\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": "Hexamine_Formaldehyde_Consortium_C6-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-rank.log", + "log_sha256": "e173d4e147a24d7d0672b1cc6991d20d6686a0446393a40352105bbd49d1b10c", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000405\",\n \"name\": \"Hexamine Formaldehyde Consortium C6\",\n \"score\": 60.0,\n \"taxonomy\": 6,\n \"connected_taxa\": 6,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 2,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 4,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml\"\n }\n]\n" + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Hexamine_Formaldehyde_Consortium_C6/2026-10-06T143624Z-codex-a07061.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-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-batch50/inventory.log", + "log_sha256": "2ca5911bcb05099ac0745ef7797d86958a30c9bafb4fa3bff72b266ec0edf653", + "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\": 1465,\n \"edges\": 674,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 151,\n \"review_status_counts\": {\n \"needs_research\": 14,\n \"pending\": 270,\n \"reviewed\": 176\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-batch50/network.log", + "log_sha256": "71a1e46fdd5d7c44e1766fabc85efb996c70258e3e64018891cfa94bb22fb13e", + "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-batch50/rank-all.log", + "log_sha256": "b5397a3090f7bc2afa835f9eca696b7334cd99cc9feab0f8b254fc9367519cee", + "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-batch50/render.log", + "log_sha256": "1e5a9cdc32475f86b82bcbd706c2a1a7639784c0ef139b725a04c820f5535b70", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch50/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch50/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch50/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-batch50/render-repeat.log", + "log_sha256": "1e5a9cdc32475f86b82bcbd706c2a1a7639784c0ef139b725a04c820f5535b70", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch50/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch50/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch50/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-batch49')), ('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-batch50/connectivity-survey.log", + "log_sha256": "d1f8cb53fc02a66edb17ed342b6a42f93828fdfc7d58e11aaea1140c633be1e1", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 389, \"mixed\": 127, \"community_level_only\": 262, \"taxa\": 1498, \"credited_solely_by_the_rule\": 1222}, \"current\": {\"records\": 460, \"with_community_level\": 389, \"mixed\": 127, \"community_level_only\": 262, \"taxa\": 1498, \"credited_solely_by_the_rule\": 1222}}\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_batch6.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch9.py", + "tests/test_site_audit_fixes.py", + "tests/test_causal_review_inventory.py", + "tests/test_rank_causal_graph_readiness.py", + "tests/test_network_auditor.py", + "tests/test_participating_taxa.py", + "tests/test_causal_descriptions_are_published.py", + "tests/test_published_pages_name_real_records.py", + "tests/test_reference_validator_actually_validates.py", + "tests/test_snippet_audit_artefact_classes.py", + "tests/test_reference_error_annotation.py", + "tests/test_community_level_connectivity_credit.py", + "tests/test_no_paywalled_text_in_repo.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/regressions.log", + "log_sha256": "1de33f609d9d4c07f493c177d42a3cc55948695fc90eb722db236fa3528ea18a", + "output_tail": "........................................................................ [ 14%]\n........................................................................ [ 29%]\n........................................................................ [ 44%]\n........................................................................ [ 59%]\n........................................................................ [ 74%]\n........................................................................ [ 89%]\n.................................................... [100%]\n484 passed in 196.51s (0:03:16)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch50.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/black.log", + "log_sha256": "b9cf511501d306d2bd8355ccb165c8ddc0a6fdd62d7c72c4a7b1795cf8934c8c", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n2 files would be left unchanged.\n" + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch50.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/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-batch50/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + } + ], + "limitations": [ + "Whole 511-line HAMBI,270-line Hanford and386-line C6 records and every original node/arrow reviewed. HAMBI/C6 complete cached main bodies/Methods/embedded captions read; C6 main tables read. Hanford primary abstract and selected excerpts only, not full body. No original figure images, supplements, raw data or code audited.", + "Existing-structure repairs only: six nodes retained, two Hanford arrows removed, no new causal nodes/arrows or paid Edison job. Positive findings and author interpretations retained with limits; review does not claim all possible mechanisms represented.", + "HAMBI competition and trait/pH mediation remain interpretations, with positive controlled carbon responses and OD-scaled abundance retained. Explicit participants are the input roster, not demonstrated endpoint persistence or alternative stable states.", + "Hanford selected-cache provenance/full-body access limits persist. Putative guild profiles are not metabolic flux or demonstrated niche partitioning; four broad taxa are not a complete or guild-resolved roster. Top-down-control proposal is not a new curated predation branch. The extracted guild-enrichment sentence lacks its precise spatial comparator; no contact-specific enrichment is certified.", + "C6 bulk removal is not mineralization, ammonia production is not consortium removal and nonsignificance is not formal equivalence. Community recovery does not prove every-strain survival or EPS/quorum-sensing mechanism. Main-text/figure-caption irradiation-feed discrepancy remains unresolved.", + "All non-graph raw blocks and920 cache files preserved, not certified. SupportingReference coverage (#476), Linux DOI-cache lookup (#1091), selected-cache provenance (#1362) and unrelated writer-audit artifact issue (#1095) remain outside scope. Reference CLI Total checks counts reported issues, not executed checks.", + "Dedup checked803 all-state issue titles/bodies and19 ignored/hidden local files, not all comments or PR reviews. Existing1059/1060/1007 are closed non-graph repairs;1095 is unrelated CI audit output. Self-adversarial review is not independent approval. Protected-main merge and corpus completion remain pending.", + "HTML descriptions checked by exact parser and repeat renders, not browser screenshots. Post-commit docs-current is a separate publication gate.", + "CLI Total checks counts reported issues, not executed checks. Exit0 is no reported issues, not source verification. SupportingReference coverage (#476), Linux DOI-cache lookup (#1091) and selected-cache provenance (#1362) remain limitations." + ], + "superseded_checks": [ + { + "check": "HAMBI_Carbon_Gradient_SynCom16-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-schema-attempt1.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "HAMBI_Carbon_Gradient_SynCom16-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-strict.tsv", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-strict-attempt1.log", + "log_sha256": "6954627afb296ea759fa860381cfd190ced824ee79620bb59a17656f81afe16c", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch50/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-batch50/HAMBI_Carbon_Gradient_SynCom16-strict.tsv\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "HAMBI_Carbon_Gradient_SynCom16-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-terms-attempt1.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "HAMBI_Carbon_Gradient_SynCom16-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-references-attempt1.log", + "log_sha256": "8ee399998d499fc3513715dc5b90c35f62ad91fc3a7068154218c6c3d8f7e90f", + "output_tail": "Validating kb/communities/HAMBI_Carbon_Gradient_SynCom16.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/HAMBI_Carbon_Gradient_SynCom16.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "HAMBI_Carbon_Gradient_SynCom16-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-snippets-attempt1.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", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "HAMBI_Carbon_Gradient_SynCom16-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-rank-attempt1.log", + "log_sha256": "0cfe4de7293ab07d32f4cca7d7fac259a67e9255b136daf54232c838a114caca", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000423\",\n \"name\": \"HAMBI Carbon-Gradient 16-species SynCom\",\n \"score\": 55.0,\n \"taxonomy\": 16,\n \"connected_taxa\": 16,\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/HAMBI_Carbon_Gradient_SynCom16.yaml\"\n }\n]\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "HAMBI_Carbon_Gradient_SynCom16-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/HAMBI_Carbon_Gradient_SynCom16/2026-10-06T143624Z-codex-f3d599.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/HAMBI_Carbon_Gradient_SynCom16-history-0-attempt1.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_Community-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-schema-attempt1.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_Community-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-strict.tsv", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-strict-attempt1.log", + "log_sha256": "2f3b0e0a3ec90bf02779539e728a4faf071eb424ef60df54ed8e5bae05ed2a5e", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch50/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-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-strict.tsv\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_Community-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-terms-attempt1.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_Community-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-references-attempt1.log", + "log_sha256": "4ef294e8fe399ea93b082dc082e3373b514676020ff9b51bdc81355be97cc528", + "output_tail": "Validating kb/communities/Hanford_300_Area_Unconfined_Aquifer_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/Hanford_300_Area_Unconfined_Aquifer_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", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_Community-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-snippets-attempt1.log", + "log_sha256": "389f1d2b093a1648cf407d53853e429a283f80eed2628a1a14cf1f38649ca780", + "output_tail": "# 12 evidence snippets scanned across 1 files\n MATCH 12\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", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_Community-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-rank-attempt1.log", + "log_sha256": "42188a48280fa86eb98014e3bccdb26ebe7474170920e1d0ad6f88a8de3fdd57", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000138\",\n \"name\": \"Hanford 300 Area Unconfined Aquifer Community\",\n \"score\": 65.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\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/Hanford_300_Area_Unconfined_Aquifer_Community.yaml\"\n }\n]\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hanford_300_Area_Unconfined_Aquifer_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/Hanford_300_Area_Unconfined_Aquifer_Community/2026-10-06T143624Z-codex-33e393.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hanford_300_Area_Unconfined_Aquifer_Community-history-0-attempt1.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-schema-attempt1.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-strict.tsv", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-strict-attempt1.log", + "log_sha256": "1b56e8b597485955dda25d4814aaee518fe56c8926580bdd24798d5d869442de", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch50/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-batch50/Hexamine_Formaldehyde_Consortium_C6-strict.tsv\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-terms-attempt1.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-references-attempt1.log", + "log_sha256": "212a27603c4a7769ea5910cbf489002a5209bb321ffd47346f82c3f86e477137", + "output_tail": "Validating kb/communities/Hexamine_Formaldehyde_Consortium_C6.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/Hexamine_Formaldehyde_Consortium_C6.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-snippets-attempt1.log", + "log_sha256": "96a23c88588d68e990af5d62f9c27df12879566b4125e7703a275c3bfa7adcd7", + "output_tail": "# 22 evidence snippets scanned across 1 files\n MATCH 22\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", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-rank-attempt1.log", + "log_sha256": "e173d4e147a24d7d0672b1cc6991d20d6686a0446393a40352105bbd49d1b10c", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000405\",\n \"name\": \"Hexamine Formaldehyde Consortium C6\",\n \"score\": 60.0,\n \"taxonomy\": 6,\n \"connected_taxa\": 6,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 2,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 4,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml\"\n }\n]\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "Hexamine_Formaldehyde_Consortium_C6-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Hexamine_Formaldehyde_Consortium_C6/2026-10-06T143624Z-codex-a07061.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/Hexamine_Formaldehyde_Consortium_C6-history-0-attempt1.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "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-batch50/inventory-attempt1.log", + "log_sha256": "2ca5911bcb05099ac0745ef7797d86958a30c9bafb4fa3bff72b266ec0edf653", + "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\": 1465,\n \"edges\": 674,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 151,\n \"review_status_counts\": {\n \"needs_research\": 14,\n \"pending\": 270,\n \"reviewed\": 176\n },\n \"structural_defects\": []\n}\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "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-batch50/network-attempt1.log", + "log_sha256": "71a1e46fdd5d7c44e1766fabc85efb996c70258e3e64018891cfa94bb22fb13e", + "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", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "rank-all", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/rank-all-attempt1.log", + "log_sha256": "b5397a3090f7bc2afa835f9eca696b7334cd99cc9feab0f8b254fc9367519cee", + "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", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "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-batch50/render-attempt1.log", + "log_sha256": "1e5a9cdc32475f86b82bcbd706c2a1a7639784c0ef139b725a04c820f5535b70", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch50/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch50/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch50/docs/index.html\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "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-batch50/render-repeat-attempt1.log", + "log_sha256": "1e5a9cdc32475f86b82bcbd706c2a1a7639784c0ef139b725a04c820f5535b70", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch50/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch50/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch50/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch50/docs/index.html\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "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-batch49')), ('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-batch50/connectivity-survey-attempt1.log", + "log_sha256": "d1f8cb53fc02a66edb17ed342b6a42f93828fdfc7d58e11aaea1140c633be1e1", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 389, \"mixed\": 127, \"community_level_only\": 262, \"taxa\": 1498, \"credited_solely_by_the_rule\": 1222}, \"current\": {\"records\": 460, \"with_community_level\": 389, \"mixed\": 127, \"community_level_only\": 262, \"taxa\": 1498, \"credited_solely_by_the_rule\": 1222}}\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "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_batch6.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch9.py", + "tests/test_site_audit_fixes.py", + "tests/test_causal_review_inventory.py", + "tests/test_rank_causal_graph_readiness.py", + "tests/test_network_auditor.py", + "tests/test_participating_taxa.py", + "tests/test_causal_descriptions_are_published.py", + "tests/test_published_pages_name_real_records.py", + "tests/test_reference_validator_actually_validates.py", + "tests/test_snippet_audit_artefact_classes.py", + "tests/test_reference_error_annotation.py", + "tests/test_community_level_connectivity_credit.py", + "tests/test_no_paywalled_text_in_repo.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/regressions-attempt1.log", + "log_sha256": "77ff6fb6ecf873f039313ef5d61dcf220258969bc34acfbf33a4316cfb563263", + "output_tail": "........................................................................ [ 14%]\n........................................................................ [ 29%]\n........................................................................ [ 44%]\n........................................................................ [ 59%]\n........................................................................ [ 74%]\n........................................................................ [ 89%]\n.................................................... [100%]\n484 passed in 202.71s (0:03:22)\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch50.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/black-attempt1.log", + "log_sha256": "b9cf511501d306d2bd8355ccb165c8ddc0a6fdd62d7c72c4a7b1795cf8934c8c", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n2 files would be left unchanged.\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch50.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/ruff-attempt1.log", + "log_sha256": "82b3e6a6c090a57601d22943bd23fca9218d1031dbe5a7b754092f9a156b4f18", + "output_tail": "All checks passed!\n", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + }, + { + "check": "diff-check", + "command": [ + "git", + "diff", + "--check" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch50/diff-check-attempt1.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "", + "superseded_reason": "Pre-correction Hanford spatial attribution; every verification command rerun against final text." + } + ], + "resume_note": "Existing command receipts reused only after command identity, exit status, log hash, record hashes and unchanged source-cache checks. Any interrupted verification retains its original receipts; no unexecuted check is counted as passed.", + "snippet_counts_by_record": { + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml": { + "MATCH": 29, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml": { + "MATCH": 12, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml": { + "MATCH": 22, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "unchanged_raw_blocks": 42, + "unchanged_record_files": 457, + "unchanged_cache_files": 920, + "network_delta": { + "existing_findings_preserved": 34, + "added_findings": {}, + "removed_findings": {} + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1451, + "arrows": 666 + }, + "participant_census": { + "measurements": { + "baseline": { + "records": 460, + "with_community_level": 389, + "mixed": 127, + "community_level_only": 262, + "taxa": 1498, + "credited_solely_by_the_rule": 1222 + }, + "current": { + "records": 460, + "with_community_level": 389, + "mixed": 127, + "community_level_only": 262, + "taxa": 1498, + "credited_solely_by_the_rule": 1222 + } + }, + "interpretation": "All six nodes remain community-scoped with their existing canonical rosters made explicit. Census unchanged; three registry entries added. No production matching or census-bound changes." + }, + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1465, + "edges": 674, + "records_without_nodes": 8, + "records_without_edges": 151, + "review_status_counts": { + "needs_research": 14, + "pending": 270, + "reviewed": 176 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml": "13a2eed2a8504570b0b7e47e924f4a63d1c7d03714098078abe4a0405ecc7472", + "tests/test_causal_review_batch50.py": "428e33029e55cd2b58566e8db92cd79ecc502488d59651f019d67672a0848341", + "tests/test_participating_taxa.py": "a750e27ce86ee01f8ac6add3ee0b2ae2873a519d07118aa0f5b13b34a468d408", + "kb/communities/HAMBI_Carbon_Gradient_SynCom16.yaml": "a6de23c0605bdd23154c61dca8a27d161e55f8fdf0e191bc55d38969b693a6f8", + "kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml": "61ab38249ffc3fd960901f1868e3373e77ea3077bc79880e1e125eef7e8162d2", + "kb/communities/Hexamine_Formaldehyde_Consortium_C6.yaml": "275243762d5d3c3032178fcc68b9005177a5d0f1924ff6ef01e3aeaf114e8d08", + "reports/causal_graph_review/README.md": "e427e7d54900e7641d2b861b4f57ebac4c93a03fe20278865658e61e8be2d96f" + }, + "status": "verified_hambi_hanford_c6_graph_repair", + "reference_validator_caveat": "CLI Total checks counts reported issues, not executed checks. Exit0 is no reported issues, not source verification. SupportingReference coverage (#476), Linux DOI-cache lookup (#1091) and selected-cache provenance (#1362) remain limitations.", + "pre_research_baseline": { + "base_commit": "5d6f2a6c1a56eb9a4ab2017af1697ebafdd45667", + "base_tree": "223789a2dbfc92a5f8ffa8a2e73429cd3a8a28c8", + "research_worktree": "/private/tmp/communitymech-causal-batch49", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch50/baseline-rank.log", + "sha256": "a391e8a1d27e1221600cbca7c65381c8debe35cbfc1c0a6ab9b353a9889d734b", + "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-batch50/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-batch50/baseline-network.log", + "sha256": "71a1e46fdd5d7c44e1766fabc85efb996c70258e3e64018891cfa94bb22fb13e", + "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-batch50/baseline-downstream.log", + "sha256": "7bf2445134594a7d7ed032ed6d00a107316261590c509aaab35405d1631f794b", + "output_tail": "es/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml:127: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:199: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:267: downstream:\nkb/communities/Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml:285: downstream:\nkb/communities/Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml:324: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:281: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:401: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:135: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:177: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:207: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:249: downstream:\nkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml:223: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:311: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:365: downstream:\nkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml:342: downstream:\nkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml:381: downstream:\nkb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml:391: downstream:\nkb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml:441: downstream:\nkb/communities/MUC2_Human_Gut_Commensal_Defined_Consortium.yaml:513: downstream:\nkb/communities/PMI_Variovorax_Thermotolerance_Collection.yaml:330: downstream:\nkb/communities/Lake_Washington_Methane_Oxygen_Methylotroph_Community.yaml:336: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:295: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:339: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:120: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:152: downstream:\n" + } + ], + "baseline_sha256": "742478eaa1f826c47fe57f76d2344df1f388d20a79dcbc9e46114fd1eabab051" + }, + "self_review_correction": { + "issue": 1494, + "previous_record_sha256": "d5454183624830a5835d599e0d50381483462229e6f2bc0c94263d32af62bad4", + "record_sha256": "61ab38249ffc3fd960901f1868e3373e77ea3077bc79880e1e125eef7e8162d2", + "changed_fields": [ + "discussions", + "ecological_interactions" + ], + "history_unchanged": true, + "reason": "Selected excerpts do not preserve the precise guild-enrichment spatial comparison.", + "all_prior_checks_superseded": true + } +} diff --git a/tests/test_causal_review_batch50.py b/tests/test_causal_review_batch50.py new file mode 100644 index 000000000..c8317e708 --- /dev/null +++ b/tests/test_causal_review_batch50.py @@ -0,0 +1,111 @@ +"""Keep measured community outcomes distinct from unresolved causal mechanisms.""" + +import hashlib +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261006-hambi-hanford-c6-batch50.yaml" + + +def records(): + ledger = yaml.safe_load(LEDGER.read_text()) + return ledger, [yaml.safe_load((ROOT / r["path"]).read_text()) for r in ledger["records"]] + + +def test_canonical_input_rosters_and_scopes_remain_explicit(): + _, docs = records() + for doc, count in zip(docs, [16, 4, 6], strict=True): + expected = [ + {"preferred_term": t["taxon_term"]["preferred_term"], "term": t["taxon_term"]["term"]} + for t in doc["taxonomy"] + ] + assert len(expected) == count + for node in doc["ecological_interactions"]: + assert node["scope"] == "COMMUNITY_LEVEL" + assert node["participating_taxa"] == expected + assert ( + not {"interaction_type", "source_taxon", "target_taxon", "downstream"} & node.keys() + ) + + +def test_hambi_preserves_controlled_carbon_evidence_and_author_interpretation(): + _, (doc, _, _) = records() + (node,) = doc["ecological_interactions"] + text = node["description"] + assert "A. caviae dominated low carbon" in text + assert "P. chlororaphis co-dominated" in text and "C. koseri dominated high carbon" in text + assert "OD-scaled abundance" in text and "competitive sorting" in text + assert "do not selectively establish" in text and "alternative stable states" in text + assert all(e["supports"] == "SUPPORT" for e in node["evidence"]) + assert all(e["evidence_source"] == "IN_VITRO" for e in node["evidence"]) + assert "not proven persistence" in doc["discussions"][0]["rationale"] + + +def test_hanford_field_observations_do_not_become_measured_flux(): + ledger, (_, doc, _) = records() + turnover, flux, depth = doc["ecological_interactions"] + assert all(e["supports"] == "SUPPORT" for e in turnover["evidence"]) + assert "curated subset" in turnover["description"] + assert flux["name"] == "Putative Guild Patterns and Inferred Redox Resource Dynamics" + assert flux["description"].startswith("PARTIAL -") + assert flux["evidence"][0]["supports"] == "PARTIAL" + assert flux["evidence"][0]["evidence_source"] == "COMPUTATIONAL" + assert depth["name"] == "Putative Redox Guilds in Depth-Stratified Sampling" + assert "does not preserve its precise depth comparison" in depth["description"] + assert "Separate Methods excerpts" in depth["description"] + assert [e["supports"] for e in depth["evidence"]] == ["SUPPORT", "PARTIAL"] + assert "Putative guild annotation only" in depth["biological_processes"][0]["notes"] + assert "not a demonstrated partner-to-partner transfer" in depth["metabolites"][1]["notes"] + assert "not full body" in ledger["limitations"][0] + source = ledger["records"][1]["source_review"]["PMID:22456444"] + assert "selected-snippet cache only" in source["scope"] + assert "CAPTCHA" in source["scope"] + + +def test_c6_shared_taxon_ids_do_not_collapse_distinct_strains(): + _, (_, _, doc) = records() + members = doc["ecological_interactions"][0]["participating_taxa"] + assert len(members) == 6 and len({p["preferred_term"] for p in members}) == 6 + assert [p["term"]["id"] for p in members].count("NCBITaxon:293") == 2 + assert [p["term"]["id"] for p in members].count("NCBITaxon:370111") == 2 + removal, recovery = doc["ecological_interactions"] + assert "94.41% hexamine" in removal["description"] + assert "ammonia production, not consortium ammonia removal" in removal["description"] + assert "not a formal equivalence test" in recovery["description"] + assert "fresh-medium renewal" in recovery["description"] + assert "does not establish survival of every original strain" in recovery["description"] + assert all(e["supports"] == "SUPPORT" for n in [removal, recovery] for e in n["evidence"]) + + +def test_c6_existing_gap_is_extended_without_erasing_its_evidence(): + _, (_, _, doc) = records() + (gap,) = doc["discussions"] + assert gap["discussion_id"] == "c6-molecular-division-of-labor" + assert gap["posed_by"] == "claude" and gap["evidence"][0]["reference"] == "PMID:41743136" + assert len(gap["attaches_to"]) == 2 + assert "main-text 50 mg/L" in gap["rationale"] and "100 mg/L caption" in gap["rationale"] + assert "preserved, not recertified" in gap["rationale"] + + +def test_every_node_and_removed_arrow_has_a_hash_bound_decision(): + ledger, docs = records() + assert ledger["review_mode"] == "source_based_self_adversarial_review" + assert ledger["independent_approval"] is False and ledger["issues"] == [1493, 1494, 1495] + assert ledger["issue_deduplication"]["ignored_hidden_local_search"] is True + for row, doc in zip(ledger["records"], docs, strict=True): + names = {n["name"] for n in doc["ecological_interactions"]} + assert {n["node"] for n in row["node_decisions"]} == names + assert row["status"] == "reviewed" and row["removed_node_decisions"] == [] + assert len(row["edges_before"]) == len(row["removed_edge_decisions"]) + assert row["edges_after"] == row["retained_edge_decisions"] == [] + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + assert len(row["history_files"]) == 1 and (ROOT / row["history_files"][0]).is_file() + assert doc["curation_history"][-1]["llm_assisted"] is True + for gap in doc["discussions"]: + assert gap["status"] == "OPEN" + assert all(a.split("#", 1)[1] in names for a in gap["attaches_to"]) + assert sum(len(r["edges_before"]) for r in ledger["records"]) == 2 + for path, digest in ledger["reference_cache_original_hashes"].items(): + assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py index a4618be70..48be0ae98 100644 --- a/tests/test_participating_taxa.py +++ b/tests/test_participating_taxa.py @@ -283,6 +283,9 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example): "Glutamicibacter_S11_Aquaculture_Nitrogen_Removal_SynCom.yaml", "Grassland_Soil_WetUp_Virus_Host_Community.yaml", "Groundwater_Elusimicrobia_Diverse_Metabolisms.yaml", + "HAMBI_Carbon_Gradient_SynCom16.yaml", + "Hanford_300_Area_Unconfined_Aquifer_Community.yaml", + "Hexamine_Formaldehyde_Consortium_C6.yaml", "Honeybee_Core20_Defined_Microbiota.yaml", "Hualgayoc_Acidic_Sulfate_Reducing_AMD_Consortium.yaml", "Iberian_Pit_Lake_Stratified_Community.yaml",