From 10ddc0d351c462236f4e4d76e2649791eae345d5 Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Wed, 7 Oct 2026 23:42:25 -0700 Subject: [PATCH] Bound phototrophic carbon, lipid and attachment evidence (batch111) --- ...Pseudomonas_Acetate_Butanol_Coculture.html | 78 +- ...n_Synechococcus_Rhodotorula_Coculture.html | 128 ++- ...nthetic_Periphyton_Freshwater_Biofilm.html | 275 ++--- .../2026-10-08T061700Z-codex-dd5d8d.yaml | 26 + .../2026-10-08T061700Z-codex-d07e9a.yaml | 26 + .../2026-10-08T061700Z-codex-a2d60a.yaml | 28 + ...Pseudomonas_Acetate_Butanol_Coculture.yaml | 88 +- ...n_Synechococcus_Rhodotorula_Coculture.yaml | 92 +- ...nthetic_Periphyton_Freshwater_Biofilm.yaml | 232 +++-- reports/causal_graph_review/README.md | 24 + .../adversarial-review-20261008-batch111.yaml | 335 ++++++ .../cache-provenance-20261008-batch111.json | 237 +++++ .../20261008-three-records-batch111.yaml | 730 ++++++++++++++ reports/causal_graph_review/inventory.tsv | 6 +- reports/causal_graph_review/summary.json | 6 +- .../validation-20261008-batch111.json | 950 ++++++++++++++++++ tests/test_causal_review_batch109.py | 8 +- tests/test_causal_review_batch111.py | 145 +++ ...est_community_level_connectivity_credit.py | 6 +- tests/test_participating_taxa.py | 2 + 20 files changed, 3085 insertions(+), 337 deletions(-) create mode 100644 history/records/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture/2026-10-08T061700Z-codex-dd5d8d.yaml create mode 100644 history/records/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture/2026-10-08T061700Z-codex-d07e9a.yaml create mode 100644 history/records/Synthetic_Periphyton_Freshwater_Biofilm/2026-10-08T061700Z-codex-a2d60a.yaml create mode 100644 reports/causal_graph_review/adversarial-review-20261008-batch111.yaml create mode 100644 reports/causal_graph_review/cache-provenance-20261008-batch111.json create mode 100644 reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml create mode 100644 reports/causal_graph_review/validation-20261008-batch111.json create mode 100644 tests/test_causal_review_batch111.py diff --git a/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html b/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html index 35e51e881..85937df8f 100644 --- a/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html +++ b/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html @@ -592,6 +592,11 @@

Ecological Interactions

aria-hidden="true" data-symbol="symbolDiamond" data-color="#57c7ab"> Cross-feeding +
+ Other +
@@ -601,8 +606,7 @@

Ecological Interactions

Photosynthetic Acetate Supply To Pseudomonas

CROSS_FEEDING -

The engineered Synechocystis farmer fixes CO2 under illumination and secretes acetate into the CoBG11 medium; the P. taiwanensis_Pem7_ButOH partner was adapted to consume acetate in CoBG11 and grew in coculture with lower acetate accumulation than the matched axenic Synechocystis culture. -

+

The engineered Synechocystis partner supplies photosynthetic organic carbon to P. taiwanensis in the acetate-designed coculture. The heterotroph grows on acetate in separate assays, and coculture acetate levels are lower than in axenic Synechocystis. PARTIAL: these observations support acetate consumption but do not isotope-resolve its flux or exclude other cyanobacterial exudates as carbon sources. CO2 is the photosynthetic substrate, not the exchanged organic molecule.

Source Taxon: Synechocystis sp. PCC 6803 WT_PKPa_RBS_BsPta_Δacs

@@ -651,8 +655,7 @@

Photosynthetic Acetate Supply To Pseudomonas

→ Acetate-Coupled 1-Butanol Production -

Photosynthetically derived acetate was the intended extracellular carbon source routed from Synechocystis toward Pseudomonas 1-butanol production. -

+

HYPOTHESIZED/PARTIAL: photosynthetically supplied acetate is a supported candidate carbon route to the observed Pseudomonas 1-butanol output. The experiment does not resolve the fraction of product carbon derived from acetate rather than other cyanobacterial exudates; production detection is not a quantified acetate-to-product flux.

@@ -681,13 +684,26 @@

Evidence

PMID:42726284 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
"acetate levels remained lower than in the axenic Synechocystis culture"
+
  • +
    + + PMID:42726284 + + - PARTIAL (IN_VITRO) +
    + +
    "we cannot conclude that the heterotrophic bacteria used acetate as the only source of carbon"
    + +
  • + @@ -695,17 +711,19 @@

    Evidence

    Acetate-Coupled 1-Butanol Production

    - CROSS_FEEDING
    -

    The engineered two-member consortium coupled Synechocystis-derived organic carbon to measurable 1-butanol formation by P. taiwanensis_Pem7_ButOH during the 42-day coculture. -

    +

    The engineered P. taiwanensis partner produced measurable 1-butanol during the 42-day, periodically replenished coculture. Titers fluctuated and reached a plateau; this does not establish uniformly high productivity. The earlier acetate-adaptation assays improved heterotroph growth without increasing 1-butanol production above pre-adaptation levels. This is a community production endpoint, not a second pairwise exchange. Product-carbon attribution to acetate remains unresolved.

    -

    Source Taxon: Synechocystis sp. PCC 6803 WT_PKPa_RBS_BsPta_Δacs

    +

    Participating Taxa: -

    Target Taxon: Pseudomonas taiwanensis VLB120 Pem7_ButOH

    + Synechocystis sp. PCC 6803 WT_PKPa_RBS_BsPta_Δacs, + + Pseudomonas taiwanensis VLB120 Pem7_ButOH + +

    @@ -763,7 +781,20 @@

    Evidence

    - SUPPORT (IN_VITRO)
    -
    "P. taiwanensis_Pem7_ButOH showed high production"
    +
    "the production was not stable in the systems but it clearly reached a plateau"
    + + + +
  • +
    + + PMID:42726284 + + - SUPPORT (IN_VITRO) +
    + +
    "1-butanol production did not exceed the levels prior to adaptation"
  • @@ -1236,7 +1267,7 @@

    Evidence

    processes.push("acetate metabolic process"); - var evidenceCount = 2; + var evidenceCount = 3; nodes.push({ id: intId, @@ -1265,7 +1296,7 @@

    Evidence

    (function() { var intId = "interaction:1"; - var intType = "CROSS_FEEDING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1280,7 +1311,7 @@

    Evidence

    processes.push("acetate metabolic process"); - var evidenceCount = 2; + var evidenceCount = 3; nodes.push({ id: intId, @@ -1293,17 +1324,20 @@

    Evidence

    }); - var srcKey = "Synechocystis sp. PCC 6803 WT_PKPa_RBS_BsPta_\u0394acs"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ - var tgtKey = "Pseudomonas taiwanensis VLB120 Pem7_ButOH"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } + "Synechocystis sp. PCC 6803 WT_PKPa_RBS_BsPta_\u0394acs", + + "Pseudomonas taiwanensis VLB120 Pem7_ButOH" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); diff --git a/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html b/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html index b7c515562..cecd69556 100644 --- a/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html +++ b/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html @@ -579,6 +579,11 @@

    Ecological Interactions

    aria-hidden="true" data-symbol="symbolSquare" data-color="#9f2ebb"> Mutualism +
    + Other +
    @@ -588,7 +593,7 @@

    Ecological Interactions

    Photosynthetic Sucrose Provisioning

    CROSS_FEEDING -

    Engineered S. elongatus fixes carbon dioxide under illumination and secretes sucrose that supports heterotrophic yeast growth.

    +

    Sucrose-secreting S. elongatus supplies carbon used by R. glutinis in the synthetic lichen coculture. Yeast growth and lower residual sucrose support feeding. The result is strain-specific: the tested S. cerevisiae pairing did not grow comparably. CO2 is fixed by the phototroph rather than donated as the organic carbon substrate.

    Source Taxon: Synechococcus elongatus PCC 7942 cscB+

    @@ -637,7 +642,7 @@

    Photosynthetic Sucrose Provisioning

    → Lipid Production Enhancement -

    Cyanobacterial sucrose provisioning supplies the yeast carbon source that is routed into coculture biomass and lipid production.

    +

    Cyanobacterial sucrose supports yeast growth within the consortium that exhibits greater total biomass and fatty-acid yield. The whole-culture comparison does not resolve the partners' separate lipid contributions or a sucrose-to-lipid carbon balance.

    @@ -669,7 +674,7 @@

    Evidence

    Rhodotorula-Enhanced Cyanobacterial Survival

    MUTUALISM -

    R. glutinis improves cyanobacterial growth and survival at low inoculum density by alleviating accumulated reactive oxygen stress.

    +

    R. glutinis supports cyanobacterial growth while receiving sucrose, consistent with conditional mutualism. In illuminated HEPES-buffered cultures, peroxide measurements and catalase-rescue comparisons support protection against oxidative stress, especially for dilute cyanobacterial inocula. High-density axenic growth remains possible. Yeast enhances growth beyond catalase alone, so peroxide removal is not the sole demonstrated explanation and the additional benefit is unresolved.

    Source Taxon: Rhodotorula glutinis

    @@ -708,7 +713,7 @@

    Rhodotorula-Enhanced Cyanobacterial Survival

    → Lipid Production Enhancement -

    Yeast relief of low-density cyanobacterial oxidative stress helps stabilize the artificial lichen coculture that produces the increased biomass and lipid yield.

    +

    HYPOTHESIZED/PARTIAL: protection against oxidative stress could help maintain the phototrophic partner that supports lipid-producing coculture. The ROS/catalase comparisons do not isolate the contribution of that protection to the separately measured whole-culture fatty-acid yield advantage.

    @@ -740,7 +745,46 @@

    Evidence

    - SUPPORT (IN_VITRO) -
    "Accumulated reactive oxygen species was observed to severely inhibit axenic growth of cyanobacteria"
    +
    "HOOH content was progressively reduced and efficiently minimized"
    + + + +
  • +
    + + doi:10.1186/s13068-017-0736-x + + - SUPPORT (IN_VITRO) +
    + +
    "S. elongatus grew better in the cultures with catalase"
    + +
  • + +
  • +
    + + doi:10.1186/s13068-017-0736-x + + - SUPPORT (IN_VITRO) +
    + +
    "the axenic growth of S. elongatus was robust"
    + +
  • + +
  • +
    + + doi:10.1186/s13068-017-0736-x + + - PARTIAL (IN_VITRO) +
    + +
    "R. glutinis may be providing factors beyond HOOH reduction"
  • @@ -751,9 +795,8 @@

    Evidence

    Lipid Production Enhancement

    - CROSS_FEEDING
    -

    Stable S. elongatus-R. glutinis cocultures increased biomass and overall lipid yield relative to cyanobacterial monocultures.

    +

    S. elongatus-R. glutinis cultures persisted for more than one month in batch and semi-continuous formats. Batch total fatty-acid yield was 54% higher than in cyanobacterial monoculture, alongside increased total biomass. These are whole-culture endpoints, not an additional exchange or a measurement of yeast-specific lipid output. Semi-continuous total harvest includes withdrawn material and is not equivalent to final biomass alone.

    @@ -811,7 +854,33 @@

    Evidence

    - SUPPORT (IN_VITRO)
    -
    "final biomass and overall lipid yields in the batch co-culture 40 to 60% higher"
    +
    "The total fatty acids (TFA) in the batch co-culture was 54% higher than in mono-culture"
    + + + +
  • +
    + + doi:10.1186/s13068-017-0736-x + + - SUPPORT (IN_VITRO) +
    + +
    "With addition of the 50 mL of culture that was removed both at 10 and 21 days"
    + +
  • + +
  • +
    + + doi:10.1186/s13068-017-0736-x + + - SUPPORT (IN_VITRO) +
    + +
    "were sustained over 1 month in both batch and in semi-continuous culture"
  • @@ -859,6 +928,43 @@

    Associated Datasets

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + How much of the lipid-yield benefit is mediated by ROS relief rather than other partner effects? +

    +

    Peroxide measurements and catalase rescue support ROS protection, but the primary growth benefit exceeds catalase alone and the lipid assay measures the mixed culture. Do not infer an identified additional factor, exclusive ROS mediation or yeast-specific lipid yield from these comparisons.

    + +

    Attaches to: ecological_interactions#Rhodotorula-Enhanced Cyanobacterial Survival, ecological_interactions#Lipid Production Enhancement

    + + + +
    + 1 evidence item(s) + +
    +
    + IN_VITRO + PARTIAL + + + doi:10.1186/s13068-017-0736-x + +
    +

    R. glutinis may be providing factors beyond HOOH reduction

    +

    The source identifies an unresolved contribution beyond peroxide reduction.

    +
    + +
    + + +
    + +
    @@ -1144,7 +1250,7 @@

    Evidence

    processes.push("response to oxidative stress"); - var evidenceCount = 2; + var evidenceCount = 5; nodes.push({ id: intId, @@ -1173,7 +1279,7 @@

    Evidence

    (function() { var intId = "interaction:2"; - var intType = "CROSS_FEEDING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1188,7 +1294,7 @@

    Evidence

    processes.push("lipid biosynthetic process"); - var evidenceCount = 1; + var evidenceCount = 3; nodes.push({ id: intId, diff --git a/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html b/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html index 0195ab5a5..72fb43236 100644 --- a/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html +++ b/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html @@ -600,7 +600,7 @@

    Ecological Interactions

    Ecological interaction network for Synthetic Periphyton Freshwater Biofilm - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (niche partitioning, colonization facilitation). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (colonization facilitation).
    @@ -608,13 +608,13 @@

    Ecological Interactions

    Niche partitioning + aria-hidden="true" data-symbol="symbolPlus" + data-color="#edab12"> Colonization facilitation
    Colonization facilitation + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
    @@ -625,8 +625,7 @@

    Ecological Interactions

    EPS-Conditioned Colonization Surface

    COLONIZATION_FACILITATION -

    Sphingomonas elodea was used to coat the glass growth chambers with an extracellular-polymeric-substance layer that enabled subsequently inoculated phototrophs to attach during staged periphyton assembly. -

    +

    Sphingomonas elodea was used to condition the colonization surface with an EPS-rich attachment layer before phototroph assembly. The source attributes a sticky attachment function to that layer. PARTIAL: the reviewed main text does not isolate its effect size in an EPS-free comparison or establish persistence of the conditioning bacterium. Sphingomonas is not an added canonical member of this record's aggregate phototroph taxonomy.

    @@ -673,7 +672,7 @@

    Evidence

    PMID:35869094 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "This bacterium provided a solid and sticky attachment layer for the subsequently introduced phototrophic species @@ -687,14 +686,18 @@

    Evidence

    -

    Growth-Balanced Phototroph Grouping

    - NICHE_PARTITIONING +

    Pioneer Diatom Surface Attachment

    -

    Twenty-six freshwater phototrophs were divided into successional groups and given cell densities that compensated for each species' suspension growth rate and final biomass, limiting dominance by fast high-biomass members. -

    +

    The two group-A diatoms showed predominantly surface-attached growth at the selected early time point, covering only part of the conditioned surface. This is a diatom-subset attachment outcome; leaving unoccupied area is not evidence that these diatoms facilitated later phototrophs. The canonical diatom descriptor represents this selected subset.

    + +

    Participating Taxa: + + diatoms + +

    @@ -727,35 +730,7 @@

    Evidence

    - SUPPORT (IN_VITRO)
    -
    "we rationally developed a workflow to construct a synthetic community by co-culturing 26 phototrophic species (i.e., diatoms, green algae, and cyanobacteria)"
    - - - -
  • -
    - - PMID:35869094 - - - SUPPORT (IN_VITRO) -
    - -
    "The selected species were then assigned to three groups -"
    - -
  • - -
  • -
    - - PMID:35869094 - - - SUPPORT (IN_VITRO) -
    - -
    "we added the least number of cells for species that grew fast and reached high biomasses -"
    +
    "the large majority of cells (approximately 6 to 7 times more cells than in the supernatant) were attached to the substrate surface"
  • @@ -765,14 +740,18 @@

    Evidence

    -

    Four-Day Pioneer-Diatom Colonization

    - COLONIZATION_FACILITATION +

    AB Diatom Biofilm Development

    -

    Group A low-profile pioneer diatoms colonized the EPS-covered substrate for four days, attaching to the glass surface while leaving most of the chamber area available for subsequent high-profile and motile phototrophs. -

    +

    After group B joined group A, the combined diatom biofilm showed predominantly attached cells, greater surface coverage and a more heterogeneous architecture at the selected AB observation point. Later incubation increased detached cells and reduced PSII yield. These are combined-group time-course observations, not an isolated demonstration of facilitation by one diatom group or niche partitioning.

    + +

    Participating Taxa: + + diatoms + +

    @@ -805,48 +784,10 @@

    Evidence

    - SUPPORT (IN_VITRO)
    -
    "we selected 4 days as the optimal colonization duration for group A -"
    +
    "14 days after group B was added to group A, most of the cells were attached"
    - - -
    - -
    -
    -

    Fourteen-Day High-Profile Diatom Colonization

    - COLONIZATION_FACILITATION -
    -

    Group B high-profile diatoms were layered onto the four-day group A biofilm for another fourteen days, expanding surface coverage and structural maturity before the final group was introduced. -

    - - - - - - - - -

    Biological Processes:

    - - - - - - -

    Evidence

    -
    @@ -1012,6 +986,45 @@

    Evidence

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + Which interspecies mechanisms cause the observed attachment, succession and functional responses? +

    +

    The primary study measures staged attachment, structure, composition and stress responses but does not isolate pairwise facilitation or competition. Its EPS role is source-attributed; functional redundancy and competitive explanations require further tests. The existing workflow arrows remain absent. Canonical membership is aggregate and non-axenic source cultures are not converted into a fully defined final roster; metadata follow-up #1869 remains open.

    + +

    Attaches to: ecological_interactions#EPS-Conditioned Colonization Surface, ecological_interactions#Pioneer Diatom Surface Attachment, ecological_interactions#AB Diatom Biofilm Development, ecological_interactions#Mature Periphyton Establishment, ecological_interactions#Reproducible 3D Biofilm Stressor Response

    + + + +
    + 1 evidence item(s) + +
    +
    + IN_VITRO + PARTIAL + + + + PMID:35869094 + + +
    +

    further specifically designed studies are needed to clearly demonstrate functional redundancy

    +

    Stable aggregate PSII does not identify the causal mechanism.

    +
    + +
    + + +
    + +
    @@ -1268,7 +1281,7 @@

    Evidence

    (function() { var intId = "interaction:1"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1277,11 +1290,11 @@

    Evidence

    processes.push("biofilm formation"); - var evidenceCount = 3; + var evidenceCount = 1; nodes.push({ id: intId, - label: "Growth-Balanced Phototroph Grouping", + label: "Pioneer Diatom Surface Attachment", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1292,11 +1305,22 @@

    Evidence

    + var participantKeys = [ + + "diatoms" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { var intId = "interaction:2"; - var intType = "COLONIZATION_FACILITATION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1305,11 +1329,11 @@

    Evidence

    processes.push("biofilm formation"); - var evidenceCount = 1; + var evidenceCount = 2; nodes.push({ id: intId, - label: "Four-Day Pioneer-Diatom Colonization", + label: "AB Diatom Biofilm Development", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1320,39 +1344,22 @@

    Evidence

    - })(); - - (function() { - var intId = "interaction:3"; - var intType = "COLONIZATION_FACILITATION"; - var metabolites = []; - - var processes = []; - - - processes.push("biofilm formation"); - + var participantKeys = [ - var evidenceCount = 1; + "diatoms" - nodes.push({ - id: intId, - label: "Fourteen-Day High-Profile Diatom Colonization", - type: "interaction", - interactionType: intType, - metabolites: metabolites, - processes: processes, - evidenceCount: evidenceCount + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } }); - - - })(); (function() { - var intId = "interaction:4"; - var intType = "COLONIZATION_FACILITATION"; + var intId = "interaction:3"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1363,11 +1370,11 @@

    Evidence

    processes.push("photosynthesis, light reaction"); - var evidenceCount = 2; + var evidenceCount = 3; nodes.push({ id: intId, - label: "Thirty-Day ABC Periphyton Maturity", + label: "Mature Periphyton Establishment", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1381,8 +1388,8 @@

    Evidence

    })(); (function() { - var intId = "interaction:5"; - var intType = "NICHE_PARTITIONING"; + var intId = "interaction:4"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1393,7 +1400,7 @@

    Evidence

    processes.push("photosynthesis, light reaction"); - var evidenceCount = 2; + var evidenceCount = 4; nodes.push({ id: intId, @@ -1429,7 +1436,7 @@

    Evidence

    var svg = d3.select("#network-svg"); var width = container.clientWidth - 32; // Dynamic height based on node count: minimum 500px, add 40px per node - var nodeCount = 9; + var nodeCount = 8; var height = Math.max(500, 400 + nodeCount * 20); svg.attr("width", width).attr("height", height); diff --git a/history/records/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture/2026-10-08T061700Z-codex-dd5d8d.yaml b/history/records/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture/2026-10-08T061700Z-codex-dd5d8d.yaml new file mode 100644 index 000000000..b4152c86d --- /dev/null +++ b/history/records/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture/2026-10-08T061700Z-codex-dd5d8d.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml + slug: Synechocystis_Pseudomonas_Acetate_Butanol_Coculture +session: + id: 2026-10-08T061700Z-codex-dd5d8d + timestamp: '2026-10-08T06:17:00Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1865 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve acetate-supported carbon feeding with explicit nonexclusive, untraced + attribution.; Retain measurable butanol as a community endpoint with time-course and adaptation + bounds. + details: Source-based self-adversarial graph review; reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml diff --git a/history/records/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture/2026-10-08T061700Z-codex-d07e9a.yaml b/history/records/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture/2026-10-08T061700Z-codex-d07e9a.yaml new file mode 100644 index 000000000..b93a85408 --- /dev/null +++ b/history/records/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture/2026-10-08T061700Z-codex-d07e9a.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml + slug: Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture +session: + id: 2026-10-08T061700Z-codex-d07e9a + timestamp: '2026-10-08T06:17:00Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1866 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain strain-bounded sucrose feeding and whole-culture production support.; Preserve + demonstrated ROS protection and conditional mutualism without exclusive mediation or obligacy.; + Retain mixed-culture fatty-acid and biomass outcomes without duplicate exchange typing. + details: Source-based self-adversarial graph review; reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml diff --git a/history/records/Synthetic_Periphyton_Freshwater_Biofilm/2026-10-08T061700Z-codex-a2d60a.yaml b/history/records/Synthetic_Periphyton_Freshwater_Biofilm/2026-10-08T061700Z-codex-a2d60a.yaml new file mode 100644 index 000000000..5e8d26893 --- /dev/null +++ b/history/records/Synthetic_Periphyton_Freshwater_Biofilm/2026-10-08T061700Z-codex-a2d60a.yaml @@ -0,0 +1,28 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml + slug: Synthetic_Periphyton_Freshwater_Biofilm +session: + id: 2026-10-08T061700Z-codex-a2d60a + timestamp: '2026-10-08T06:17:00Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1867 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain source-attributed EPS attachment role without an isolated effect size or + persistent donor claim.; Retain early diatom attachment as an untyped, participant-bounded + phenotype.; Retain combined AB diatom development without intergroup facilitation typing.; + Retain mature community establishment with observed-versus-introduced membership boundaries.; + Retain reproducibility and stress phenotypes without niche-partitioning or proven redundancy. + details: Source-based self-adversarial graph review; reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml diff --git a/kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml b/kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml index f7dbe6a25..65adb04f1 100644 --- a/kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml +++ b/kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml @@ -109,11 +109,11 @@ taxonomy: explanation: Supports the engineered 1-butanol producer role. ecological_interactions: - name: Photosynthetic Acetate Supply To Pseudomonas - description: > - The engineered Synechocystis farmer fixes CO2 under illumination and - secretes acetate into the CoBG11 medium; the P. taiwanensis_Pem7_ButOH - partner was adapted to consume acetate in CoBG11 and grew in coculture with - lower acetate accumulation than the matched axenic Synechocystis culture. + description: 'The engineered Synechocystis partner supplies photosynthetic organic carbon to P. taiwanensis in + the acetate-designed coculture. The heterotroph grows on acetate in separate assays, and coculture acetate levels + are lower than in axenic Synechocystis. PARTIAL: these observations support acetate consumption but do not isotope-resolve + its flux or exclude other cyanobacterial exudates as carbon sources. CO2 is the photosynthetic substrate, not + the exchanged organic molecule.' interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -131,6 +131,7 @@ ecological_interactions: term: id: CHEBI:16526 label: carbon dioxide + notes: Photosynthetic substrate, not the exchanged organic carbon. - preferred_term: acetate term: id: CHEBI:30089 @@ -146,9 +147,10 @@ ecological_interactions: label: acetate metabolic process downstream: - target: Acetate-Coupled 1-Butanol Production - description: > - Photosynthetically derived acetate was the intended extracellular carbon - source routed from Synechocystis toward Pseudomonas 1-butanol production. + description: 'HYPOTHESIZED/PARTIAL: photosynthetically supplied acetate is a supported candidate carbon route + to the observed Pseudomonas 1-butanol output. The experiment does not resolve the fraction of product carbon + derived from acetate rather than other cyanobacterial exudates; production detection is not a quantified acetate-to-product + flux.' evidence: - reference: PMID:42726284 supports: SUPPORT @@ -156,27 +158,22 @@ ecological_interactions: snippet: where no additional carbon source was used explanation: Supports Synechocystis-derived carbon as the designed carbon input in coculture. - reference: PMID:42726284 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: acetate levels remained lower than in the axenic Synechocystis culture - explanation: Supports acetate consumption in the Pseudomonas coculture. + explanation: Lower extracellular acetate supports consumption but does not resolve transfer flux or carbon exclusivity. + - reference: PMID:42726284 + supports: PARTIAL + evidence_source: IN_VITRO + snippet: we cannot conclude that the heterotrophic bacteria used acetate as the only source of carbon + explanation: The authors explicitly retain other cyanobacterial carbon pools as possible contributors. - name: Acetate-Coupled 1-Butanol Production - description: > - The engineered two-member consortium coupled Synechocystis-derived organic - carbon to measurable 1-butanol formation by P. taiwanensis_Pem7_ButOH during - the 42-day coculture. - interaction_type: CROSS_FEEDING - scope: PAIRWISE - source_taxon: - preferred_term: Synechocystis sp. PCC 6803 WT_PKPa_RBS_BsPta_Δacs - term: - id: NCBITaxon:1148 - label: Synechocystis sp. PCC 6803 - target_taxon: - preferred_term: Pseudomonas taiwanensis VLB120 Pem7_ButOH - term: - id: NCBITaxon:470150 - label: Pseudomonas taiwanensis + description: The engineered P. taiwanensis partner produced measurable 1-butanol during the 42-day, periodically + replenished coculture. Titers fluctuated and reached a plateau; this does not establish uniformly high productivity. + The earlier acetate-adaptation assays improved heterotroph growth without increasing 1-butanol production above + pre-adaptation levels. This is a community production endpoint, not a second pairwise exchange. Product-carbon + attribution to acetate remains unresolved. + scope: COMMUNITY_LEVEL metabolites: - preferred_term: acetate term: @@ -200,8 +197,22 @@ ecological_interactions: - reference: PMID:42726284 supports: SUPPORT evidence_source: IN_VITRO - snippet: P. taiwanensis_Pem7_ButOH showed high production - explanation: Supports the Pseudomonas member as the engineered 1-butanol-producing heterotroph. + snippet: the production was not stable in the systems but it clearly reached a plateau + explanation: Bounds the coculture production time course rather than claiming constant high output. + - reference: PMID:42726284 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: 1-butanol production did not exceed the levels prior to adaptation + explanation: Separates the earlier growth-adaptation finding from increased product formation. + participating_taxa: + - preferred_term: Synechocystis sp. PCC 6803 WT_PKPa_RBS_BsPta_Δacs + term: + id: NCBITaxon:1148 + label: Synechocystis sp. PCC 6803 + - preferred_term: Pseudomonas taiwanensis VLB120 Pem7_ButOH + term: + id: NCBITaxon:470150 + label: Pseudomonas taiwanensis environmental_factors: - name: Illumination value: 65 umol photons m^-2 s^-1 @@ -411,15 +422,22 @@ curation_history: - timestamp: '2026-09-13T15:23:26Z' curator: codex action: CREATE_SYNECHOCYSTIS_PSEUDOMONAS_BUTANOL_COCULTURE - changes: > - Created the Synechocystis-Pseudomonas Acetate-Butanol Coculture record from - PMID:42726284 / doi:10.1007/s00253-026-14029-z. + changes: 'Created the Synechocystis-Pseudomonas Acetate-Butanol Coculture record from PMID:42726284 / doi:10.1007/s00253-026-14029-z. + + ' llm_assisted: true - timestamp: '2026-09-13T15:36:04Z' curator: codex action: FIX_GROWTH_MEDIA_EVIDENCE - changes: > - Addressed #850 by replacing a growth-media evidence snippet that named the - Pseudomonas triplicate but did not directly support medium composition with - an exact CoBG11 bicarbonate and kanamycin refresh snippet from PMID:42726284. + changes: 'Addressed #850 by replacing a growth-media evidence snippet that named the Pseudomonas triplicate but + did not directly support medium composition with an exact CoBG11 bicarbonate and kanamycin refresh snippet from + PMID:42726284. + + ' + llm_assisted: true +- timestamp: '2026-10-08T06:16:59Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: Preserve acetate-supported carbon feeding with explicit nonexclusive, untraced attribution.; Retain measurable + butanol as a community endpoint with time-course and adaptation bounds. Issue#1865; reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml llm_assisted: true diff --git a/kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml b/kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml index 0038aeb92..2d86153ed 100644 --- a/kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml +++ b/kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml @@ -90,8 +90,9 @@ taxonomy: explanation: Supports the yeast member used in the synthetic lichen coculture. ecological_interactions: - name: Photosynthetic Sucrose Provisioning - description: Engineered S. elongatus fixes carbon dioxide under illumination and secretes sucrose that - supports heterotrophic yeast growth. + description: 'Sucrose-secreting S. elongatus supplies carbon used by R. glutinis in the synthetic lichen coculture. + Yeast growth and lower residual sucrose support feeding. The result is strain-specific: the tested S. cerevisiae + pairing did not grow comparably. CO2 is fixed by the phototroph rather than donated as the organic carbon substrate.' interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -126,8 +127,9 @@ ecological_interactions: label: sucrose biosynthetic process downstream: - target: Lipid Production Enhancement - description: Cyanobacterial sucrose provisioning supplies the yeast carbon - source that is routed into coculture biomass and lipid production. + description: Cyanobacterial sucrose supports yeast growth within the consortium that exhibits greater total + biomass and fatty-acid yield. The whole-culture comparison does not resolve the partners' separate lipid contributions + or a sucrose-to-lipid carbon balance. evidence: - reference: doi:10.1186/s13068-017-0736-x supports: SUPPORT @@ -135,8 +137,11 @@ ecological_interactions: snippet: R. glutinis and C. curvatus grew efficiently and utilized sucrose produced by the partner in co-culture explanation: Supports sucrose cross-feeding from S. elongatus to yeast partners, including R. glutinis. - name: Rhodotorula-Enhanced Cyanobacterial Survival - description: R. glutinis improves cyanobacterial growth and survival at low inoculum density by alleviating - accumulated reactive oxygen stress. + description: R. glutinis supports cyanobacterial growth while receiving sucrose, consistent with conditional mutualism. + In illuminated HEPES-buffered cultures, peroxide measurements and catalase-rescue comparisons support protection + against oxidative stress, especially for dilute cyanobacterial inocula. High-density axenic growth remains possible. + Yeast enhances growth beyond catalase alone, so peroxide removal is not the sole demonstrated explanation and + the additional benefit is unresolved. interaction_type: MUTUALISM scope: PAIRWISE source_taxon: @@ -154,7 +159,7 @@ ecological_interactions: term: id: CHEBI:16240 label: hydrogen peroxide - notes: Measured reactive oxygen species whose accumulation inhibited cyanobacterial axenic growth. + notes: Extracellular oxidant reduced in coculture, not a donated nutrient; accumulation is culture-context dependent. biological_processes: - preferred_term: response to oxidative stress term: @@ -162,9 +167,9 @@ ecological_interactions: label: response to oxidative stress downstream: - target: Lipid Production Enhancement - description: Yeast relief of low-density cyanobacterial oxidative stress helps - stabilize the artificial lichen coculture that produces the increased biomass - and lipid yield. + description: 'HYPOTHESIZED/PARTIAL: protection against oxidative stress could help maintain the phototrophic + partner that supports lipid-producing coculture. The ROS/catalase comparisons do not isolate the contribution + of that protection to the separately measured whole-culture fatty-acid yield advantage.' evidence: - reference: doi:10.1186/s13068-017-0736-x supports: SUPPORT @@ -174,12 +179,29 @@ ecological_interactions: - reference: doi:10.1186/s13068-017-0736-x supports: SUPPORT evidence_source: IN_VITRO - snippet: Accumulated reactive oxygen species was observed to severely inhibit axenic growth of cyanobacteria - explanation: Supports oxidative stress as the mechanism relieved in coculture. + snippet: HOOH content was progressively reduced and efficiently minimized + explanation: Direct peroxide measurements support oxidant reduction with the yeast partner. + - reference: doi:10.1186/s13068-017-0736-x + supports: SUPPORT + evidence_source: IN_VITRO + snippet: S. elongatus grew better in the cultures with catalase + explanation: The rescue comparison supports a role for oxidative stress in the tested culture context. + - reference: doi:10.1186/s13068-017-0736-x + supports: SUPPORT + evidence_source: IN_VITRO + snippet: the axenic growth of S. elongatus was robust + explanation: This applies to higher initial cyanobacterial cell densities, not obligatory partner dependence. + - reference: doi:10.1186/s13068-017-0736-x + supports: PARTIAL + evidence_source: IN_VITRO + snippet: R. glutinis may be providing factors beyond HOOH reduction + explanation: An additional growth-promoting mechanism remains proposed, not identified. - name: Lipid Production Enhancement - description: Stable S. elongatus-R. glutinis cocultures increased biomass and overall lipid yield relative - to cyanobacterial monocultures. - interaction_type: CROSS_FEEDING + description: S. elongatus-R. glutinis cultures persisted for more than one month in batch and semi-continuous + formats. Batch total fatty-acid yield was 54% higher than in cyanobacterial monoculture, alongside increased + total biomass. These are whole-culture endpoints, not an additional exchange or a measurement of yeast-specific + lipid output. Semi-continuous total harvest includes withdrawn material and is not equivalent to final biomass + alone. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Synechococcus elongatus PCC 7942 cscB+ @@ -209,8 +231,18 @@ ecological_interactions: - reference: doi:10.1186/s13068-017-0736-x supports: SUPPORT evidence_source: IN_VITRO - snippet: final biomass and overall lipid yields in the batch co-culture 40 to 60% higher - explanation: Supports increased biomass and lipid production in the R. glutinis coculture. + snippet: The total fatty acids (TFA) in the batch co-culture was 54% higher than in mono-culture + explanation: Supports the whole-culture fatty-acid comparison, not strain-resolved lipid production. + - reference: doi:10.1186/s13068-017-0736-x + supports: SUPPORT + evidence_source: IN_VITRO + snippet: With addition of the 50 mL of culture that was removed both at 10 and 21 days + explanation: The semi-continuous total includes withdrawn material rather than only the final harvest. + - reference: doi:10.1186/s13068-017-0736-x + supports: SUPPORT + evidence_source: IN_VITRO + snippet: were sustained over 1 month in both batch and in semi-continuous culture + explanation: Supports persistence in both reported operating formats. environmental_factors: - name: modified BG-11 coculture medium value: BG-11[co] with YNB without amino acids, ammonium chloride, IPTG, HEPES, and NaCl @@ -300,3 +332,29 @@ cultivation_setup: supports: SUPPORT evidence_source: IN_VITRO snippet: 50 mL of original culture was withdrawn and 50 mL of fresh BG-11 +discussions: +- discussion_id: lichen-ros-versus-lipid-mediation + prompt: How much of the lipid-yield benefit is mediated by ROS relief rather than other partner effects? + rationale: Peroxide measurements and catalase rescue support ROS protection, but the primary growth benefit exceeds + catalase alone and the lipid assay measures the mixed culture. Do not infer an identified additional factor, + exclusive ROS mediation or yeast-specific lipid yield from these comparisons. + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + attaches_to: + - ecological_interactions#Rhodotorula-Enhanced Cyanobacterial Survival + - ecological_interactions#Lipid Production Enhancement + evidence: + - reference: doi:10.1186/s13068-017-0736-x + supports: PARTIAL + evidence_source: IN_VITRO + snippet: R. glutinis may be providing factors beyond HOOH reduction + explanation: The source identifies an unresolved contribution beyond peroxide reduction. +curation_history: +- timestamp: '2026-10-08T06:16:59Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: Retain strain-bounded sucrose feeding and whole-culture production support.; Preserve demonstrated ROS + protection and conditional mutualism without exclusive mediation or obligacy.; Retain mixed-culture fatty-acid + and biomass outcomes without duplicate exchange typing. Issue#1866; reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml + llm_assisted: true diff --git a/kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml b/kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml index 83c406d89..a9b1f5edc 100644 --- a/kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml +++ b/kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml @@ -74,10 +74,10 @@ taxonomy: - *id001 ecological_interactions: - name: EPS-Conditioned Colonization Surface - description: > - Sphingomonas elodea was used to coat the glass growth chambers with an - extracellular-polymeric-substance layer that enabled subsequently inoculated - phototrophs to attach during staged periphyton assembly. + description: 'Sphingomonas elodea was used to condition the colonization surface with an EPS-rich attachment layer + before phototroph assembly. The source attributes a sticky attachment function to that layer. PARTIAL: the reviewed + main text does not isolate its effect size in an EPS-free comparison or establish persistence of the conditioning + bacterium. Sphingomonas is not an added canonical member of this record''s aggregate phototroph taxonomy.' interaction_type: COLONIZATION_FACILITATION scope: COMMUNITY_LEVEL biological_processes: @@ -89,27 +89,27 @@ ecological_interactions: - reference: PMID:35869094 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - Groups were added sequentially onto growth chambers covered with the - EPS-producing bacteria Sphingomonas elodea - explanation: > - Supports using Sphingomonas-conditioned growth chambers as the surface for - sequential periphyton assembly. + snippet: 'Groups were added sequentially onto growth chambers covered with the EPS-producing bacteria Sphingomonas + elodea + + ' + explanation: 'Supports using Sphingomonas-conditioned growth chambers as the surface for sequential periphyton + assembly. + + ' - reference: PMID:35869094 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: > - This bacterium provided a solid and sticky attachment layer for the - subsequently introduced phototrophic species - explanation: > - Supports the EPS matrix as a colonization aid for later phototrophic - members. -- name: Growth-Balanced Phototroph Grouping - description: > - Twenty-six freshwater phototrophs were divided into successional groups and - given cell densities that compensated for each species' suspension growth - rate and final biomass, limiting dominance by fast high-biomass members. - interaction_type: NICHE_PARTITIONING + snippet: 'This bacterium provided a solid and sticky attachment layer for the subsequently introduced phototrophic + species + + ' + explanation: Source-attributed attachment function; not an isolated effect-size or persistence measurement. +- name: Pioneer Diatom Surface Attachment + description: The two group-A diatoms showed predominantly surface-attached growth at the selected early time point, + covering only part of the conditioned surface. This is a diatom-subset attachment outcome; leaving unoccupied + area is not evidence that these diatoms facilitated later phototrophs. The canonical diatom descriptor represents + this selected subset. scope: COMMUNITY_LEVEL biological_processes: - preferred_term: biofilm formation @@ -117,30 +117,22 @@ ecological_interactions: id: GO:0042710 label: biofilm formation evidence: - - *id001 - - reference: PMID:35869094 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: > - The selected species were then assigned to three groups - explanation: > - Supports the division of the phototrophic SynCom members into staged - groups. - reference: PMID:35869094 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - we added the least number of cells for species that grew fast and reached - high biomasses - explanation: > - Supports balancing the starting inoculum against single-species growth - behavior. -- name: Four-Day Pioneer-Diatom Colonization - description: > - Group A low-profile pioneer diatoms colonized the EPS-covered substrate for - four days, attaching to the glass surface while leaving most of the chamber - area available for subsequent high-profile and motile phototrophs. - interaction_type: COLONIZATION_FACILITATION + snippet: the large majority of cells (approximately 6 to 7 times more cells than in the supernatant) were attached + to the substrate surface + explanation: Supports the measured group-A attachment phenotype, not a facilitated recipient species. + participating_taxa: + - preferred_term: diatoms + term: + id: NCBITaxon:2836 + label: Bacillariophyta +- name: AB Diatom Biofilm Development + description: After group B joined group A, the combined diatom biofilm showed predominantly attached cells, greater + surface coverage and a more heterogeneous architecture at the selected AB observation point. Later incubation + increased detached cells and reduced PSII yield. These are combined-group time-course observations, not an isolated + demonstration of facilitation by one diatom group or niche partitioning. scope: COMMUNITY_LEVEL biological_processes: - preferred_term: biofilm formation @@ -151,38 +143,23 @@ ecological_interactions: - reference: PMID:35869094 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - we selected 4 days as the optimal colonization duration for group A - explanation: > - Supports four days as the experimentally selected group A colonization - duration. -- name: Fourteen-Day High-Profile Diatom Colonization - description: > - Group B high-profile diatoms were layered onto the four-day group A biofilm - for another fourteen days, expanding surface coverage and structural - maturity before the final group was introduced. - interaction_type: COLONIZATION_FACILITATION - scope: COMMUNITY_LEVEL - biological_processes: - - preferred_term: biofilm formation - term: - id: GO:0042710 - label: biofilm formation - evidence: + snippet: 14 days after group B was added to group A, most of the cells were attached + explanation: The group-AB Results describe attachment at the selected observation point. - reference: PMID:35869094 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - 14 days is the optimal colonization duration for group B, when added on - top of group A - explanation: > - Supports the experimentally chosen group B colonization interval. -- name: Thirty-Day ABC Periphyton Maturity - description: > - After group C was added to the eighteen-day AB biofilm, a final twelve-day - colonization interval generated a stable thirty-day benthic periphyton with - broad surface attachment and high photosystem II quantum yield. - interaction_type: COLONIZATION_FACILITATION + snippet: Longer incubation, on the other hand, led to an increase of detached cells + explanation: The time course does not imply monotonically improving attachment or function. + participating_taxa: + - preferred_term: diatoms + term: + id: NCBITaxon:2836 + label: Bacillariophyta +- name: Mature Periphyton Establishment + description: The mature ABC periphyton showed broad surface attachment, high density and relatively high PSII + yield at the measured endpoint. Although 26 phototrophic species were introduced, the mature community contained + at least 22 detected species and three introduced species were no longer detected. This is a community establishment + outcome, not proof that all input members persisted or that assembly order caused ecological facilitation. scope: COMMUNITY_LEVEL biological_processes: - preferred_term: biofilm formation @@ -197,27 +174,28 @@ ecological_interactions: - reference: PMID:35869094 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - Twelve days after group C was added, most of the cells were attached to - the colonization surface - explanation: > - Supports group C as the final colonization stage after the eighteen-day - AB biofilm. + snippet: 'we obtained a stable benthic community after a total colonization duration of 30 days + + ' + explanation: 'Supports the thirty-day endpoint as mature synthetic periphyton. + + ' - reference: PMID:35869094 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - we obtained a stable benthic community after a total colonization - duration of 30 days - explanation: > - Supports the thirty-day endpoint as mature synthetic periphyton. + snippet: a diverse and complex mature periphyton composed of at least 22 different phototrophic species + explanation: Distinguishes detected mature membership from the input pool. + - reference: PMID:35869094 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: three species were no longer detected in the mature periphyton + explanation: Detection loss is not assigned a proven competitive cause or equated with demonstrated extinction. - name: Reproducible 3D Biofilm Stressor Response - description: > - The mature synthetic periphyton produced reproducible microbial - composition, photosystem-II activity, and three-dimensional biofilm - structure, allowing species-resolved responses to terbuthylazine and - warming to be measured across the whole consortium. - interaction_type: NICHE_PARTITIONING + description: Independent assemblies reproduced community composition and physical structure. Warming and terbuthylazine + altered taxon abundances and reduced biofilm structure and biomass in the reported comparisons. PSII quantum + yield was generally similar across treatments, with the reported highest-herbicide exception at the AB stage. + Preserved PSII is consistent with, but does not demonstrate, functional redundancy. Neither reproducibility + nor these stress phenotypes establishes NICHE_PARTITIONING. scope: COMMUNITY_LEVEL biological_processes: - preferred_term: biofilm formation @@ -232,22 +210,33 @@ ecological_interactions: - reference: PMID:35869094 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - we were able to obtain a reproducible and diverse synthetic community - explanation: > - Supports the reproducibility and diversity of the assembled synthetic - periphyton. + snippet: 'we were able to obtain a reproducible and diverse synthetic community + + ' + explanation: 'Supports the reproducibility and diversity of the assembled synthetic periphyton. + + ' + - reference: PMID:35869094 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: 'increased temperature and exposure to the herbicide terbuthylazine affected negatively the 3D-structure + and biomass but not the PSII quantum yield + + ' + explanation: 'Supports the use of the mature community to resolve whole-biofilm structural and photosystem-II + responses to warming and herbicide perturbations. + + ' - reference: PMID:35869094 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - increased temperature and exposure to the herbicide terbuthylazine - affected negatively the 3D-structure and biomass but not the PSII quantum - yield - explanation: > - Supports the use of the mature community to resolve whole-biofilm - structural and photosystem-II responses to warming and herbicide - perturbations. + snippet: except for periphyton exposed to 100 nM terbuthylazine at 18 days + explanation: Retains the explicit exception to generally similar PSII quantum yield. + - reference: PMID:35869094 + supports: PARTIAL + evidence_source: IN_VITRO + snippet: further specifically designed studies are needed to clearly demonstrate functional redundancy + explanation: The proposed buffering mechanism is unresolved. environmental_factors: - name: successional inoculation on glass slides value: Phototrophic species were inoculated sequentially to construct a synthetic periphytic biofilm. @@ -328,7 +317,38 @@ curation_history: - timestamp: '2026-10-02T06:10:22Z' curator: codex action: REVIEW_CAUSAL_GRAPH - changes: Removed five downstream edges that represented the staged periphyton - construction workflow from EPS coating through stressor testing rather than - evidence-backed causal edges among phototrophic interactions. + changes: Removed five downstream edges that represented the staged periphyton construction workflow from EPS coating + through stressor testing rather than evidence-backed causal edges among phototrophic interactions. + llm_assisted: true +- timestamp: '2026-10-08T06:16:59Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: Retain source-attributed EPS attachment role without an isolated effect size or persistent donor claim.; + Retain early diatom attachment as an untyped, participant-bounded phenotype.; Retain combined AB diatom development + without intergroup facilitation typing.; Retain mature community establishment with observed-versus-introduced + membership boundaries.; Retain reproducibility and stress phenotypes without niche-partitioning or proven redundancy. + Issue#1867; reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml llm_assisted: true +discussions: +- discussion_id: periphyton-succession-and-function-mediators + prompt: Which interspecies mechanisms cause the observed attachment, succession and functional responses? + rationale: 'The primary study measures staged attachment, structure, composition and stress responses but does + not isolate pairwise facilitation or competition. Its EPS role is source-attributed; functional redundancy and + competitive explanations require further tests. The existing workflow arrows remain absent. Canonical membership + is aggregate and non-axenic source cultures are not converted into a fully defined final roster; metadata follow-up + #1869 remains open.' + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + attaches_to: + - ecological_interactions#EPS-Conditioned Colonization Surface + - ecological_interactions#Pioneer Diatom Surface Attachment + - ecological_interactions#AB Diatom Biofilm Development + - ecological_interactions#Mature Periphyton Establishment + - ecological_interactions#Reproducible 3D Biofilm Stressor Response + evidence: + - reference: PMID:35869094 + supports: PARTIAL + evidence_source: IN_VITRO + snippet: further specifically designed studies are needed to clearly demonstrate functional redundancy + explanation: Stable aggregate PSII does not identify the causal mechanism. diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md index bec4597bc..9aabfea30 100644 --- a/reports/causal_graph_review/README.md +++ b/reports/causal_graph_review/README.md @@ -5,6 +5,30 @@ 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`. +## Batch111: Carbon, Lipid And Attachment Evidence + +[Decisions](decisions/20261008-three-records-batch111.yaml), +[provenance](cache-provenance-20261008-batch111.json), +[validation](validation-20261008-batch111.json), and +[self-adversarial review](adversarial-review-20261008-batch111.yaml) cover +the acetate-butanol coculture, synthetic lichen and freshwater periphyton. +Ten of eleven nodes and all three existing directions remain. One assembly-only +node is removed and three outcome nodes are renamed. Positive production, +ROS protection, attachment and stress-response findings remain bounded to their +assays; exclusive carbon attribution and untested mediation are not asserted. + +Three primary extracted main texts, including Methods and embedded captions +and tables, were read completely. Thirty graph/discussion quotations match fresh +primary text and unchanged caches. Two discussions are new; the existing butanol +discussion is preserved. Three append-only histories and four in-memory mutation +probes retain the audit trail. All 923 caches and 457 other records are unchanged. +The measured scope census adds no taxa credited solely by the broad community +rule. No new topology or Edison spend. + +Repairs #1865-#1867 await protected-main merge. Lichen culture metadata #1868 +and periphyton membership #1869 remain open. Self-review is not independent +approval, whole-record metadata certification or completion of the corpus review. + ## Batch110: Polymer And Electron-Recipient Boundaries [Decisions](decisions/20261008-three-records-batch110.yaml), diff --git a/reports/causal_graph_review/adversarial-review-20261008-batch111.yaml b/reports/causal_graph_review/adversarial-review-20261008-batch111.yaml new file mode 100644 index 000000000..637e78130 --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261008-batch111.yaml @@ -0,0 +1,335 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 4f41c291ed0f8ceb6263c8c4038d31184905b704 +scope: +- kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml +- kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml +- kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml +decision_ledger: reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml +validation_report: reports/causal_graph_review/validation-20261008-batch111.json +findings: +- issue: 1865 + severity: P2 + finding: Separate acetate-to-butanol output from exchange and bound carbon attribution + status: addressed_in_this_change + disposition: Close only after protected-main merge. +- issue: 1866 + severity: P2 + finding: Bound synthetic-lichen ROS protection and lipid-yield mediation by assay + status: addressed_in_this_change + disposition: Close only after protected-main merge. +- issue: 1867 + severity: P2 + finding: Separate periphyton assembly choices from attachment and stress phenotypes + status: addressed_in_this_change + disposition: Close only after protected-main merge. +- issue: 1868 + severity: P2 + finding: Reconcile synthetic-lichen culture metadata with experimental versus seed conditions + status: open_non_graph_follow_up + disposition: Remains open;graph review is not whole-record metadata certification. +- issue: 1869 + severity: P2 + finding: Reconcile periphyton aggregate taxonomy with introduced and detected membership + status: open_non_graph_follow_up + disposition: Remains open;graph review is not whole-record metadata certification. +adversarial_checks: +- Whole original targets and complete graph/discussion diffs reviewed. All 11 original nodes and three directions + have dispositions. Ten nodes and all three directions remain; one assembly-only node is removed and three outcome + nodes are renamed. No new topology or Edison job/spend. +- 'Challenge overcorrection: retain acetate-supported feeding and butanol production, sucrose feeding, conditional + lichen mutualism, measured peroxide relief, catalase rescue, whole-culture fatty-acid increase, periphyton attachment, + mature establishment and stress responses. Positive outcomes do not establish exclusive carbon attribution, obligate + dependence or isolated mediation.' +- 'Butanol: lower extracellular acetate supports consumption, not isotope-resolved flux or sole-source attribution; + the source explicitly permits other exudates. Production is not duplicate exchange. Fluctuating plateaued production + in the 42-day replenished culture is not constant high productivity; earlier growth adaptation did not increase + production above prior levels. The existing acetate-to-product arrow stays HYPOTHESIZED/PARTIAL and the existing + carbon-specificity discussion is preserved verbatim.' +- 'Lichen: sucrose supports R. glutinis but not all tested yeast pairings. Peroxide measurements, catalase rescue + and density controls support genuine context-dependent ROS protection, not universal partner dependence. Growth + benefit beyond catalase is unresolved. Total fatty acids 54 percent higher in batch is whole-culture, not yeast-specific. + Semi-continuous total includes removed culture, not only final biomass. ROS-to-lipid mediation remains hypothetical; + no additional factor is invented.' +- 'Periphyton: preserve the source-attributed Sphingomonas EPS attachment role, qualified for the lack of an isolated + effect-size or persistence measurement in the reviewed main text. Remove growth-balanced grouping as a niche-partitioning + interaction. Early and AB outcomes name only the canonical diatom descriptor, not all phototrophs. Keep attachment/development + without intergroup facilitation claims. No workflow arrows are added.' +- 'Periphyton maturity and stress: 26 introduced phototrophs are not a verified final 26-member roster; at least + 22 were detected and three introduced species were no longer detected. Aggregate taxonomy and nonaxenic source + cultures remain a separate metadata follow-up. Preserve the explicit day-18 high-herbicide PSII exception. Functional + redundancy requires further study; stable aggregate PSII does not demonstrate it. Discussion anchors match all + retained names.' +- Three fresh primary XML extracted main texts were read completely, including abstracts, Methods, embedded captions + and tables; displayed equation structure is omitted by extraction. No separate supplements, original image pixels + or raw data were certified. Crossref exact DOIs were checked. All 27 graph and three discussion quotations match + fresh primary text and unchanged caches under documented normalization. Two discussions are new and one preserved; + literal matching is separate from entailment. Cache headers and quote matching are not a whole-cache review. +- Three guarded records and three append-only histories preserve prior history/decisions, 457 other records, 923 + caches and raw non-graph blocks. Butanol adds one community-level/mixed record and two taxa to the census denominator, + with zero new solely-credited taxa. Two early periphyton nodes narrow to diatoms. Measured census tests were updated; + connectivity and share rules are unchanged. +- Four isolated in-memory control/mutation/restored-control probes reject inflated acetate certainty, proven ROS-to-lipid + mediation, all-phototroph early attachment and proven functional redundancy. An initial attachment probe duplicated + a diatom; that local artifact is retained separately and the corrected probe actually includes diatoms, green + algae and cyanobacteria. Canonical hashes are unchanged; probes do not inflate the pytest count. +- Nine focused tests and 1003 combined regressions pass. Three full-record schema/strict/term/reference/local-snippet + validations and three history validations pass. All 56 baseline network warnings remain identical, with zero structural + defects. Deterministic rendering and exact HTML-description parsing cover 456 pages, 1366 nodes and 536 arrows; + not screenshot QA. The informational full-corpus snippet audit includes unrelated preexisting discrepancies, including + ligature issue 1863; it is not clean-corpus certification. +- Repairs 1865-1867 await protected-main merge. Non-graph culture issue 1868 and membership issue 1869 remain open. + No shared validator/cache changes; DOI-case 1091, bracket 622, ligature 1863, loader 1703 and cache-policy 949/1093 + are not certified. macOS reference success is not Linux certification. Denied/unanswered Edison scopes are untouched. + Self-review is not independent approval; no artificial CI, protection bypass or premature branch deletion. +- Corpus status is 355 reviewed, 52 pending and 53 needs_research across 460 records. The full goal remains incomplete. + Exact-head publication and postcommit docs-current are separate gates, not preasserted here. +- Plain just-lint passed;explicit-runtime no-incremental mypy additionally checked. +adversarial_regression_proof: + report: + cases: + - mutation: Acetate carbon attribution promoted to exclusive SUPPORT + test: test_acetate_attribution_remains_partial_and_existing_gap_is_reused + control: PASS + mutation_applied: true + mutation_rejected: true + assertion_line: 22 + assertion: assert carbon["evidence"][1]["supports"] == "PARTIAL" + restored_control: PASS + changed_values: + - path: records/0/ecological_interactions/0/evidence/1/supports + before: PARTIAL + after: SUPPORT + - mutation: ROS protection promoted to demonstrated lipid mediation + test: test_lichen_lipid_endpoint_does_not_prove_ros_mediation + control: PASS + mutation_applied: true + mutation_rejected: true + assertion_line: 59 + assertion: assert protection["downstream"][0]["description"].startswith("HYPOTHESIZED/PARTIAL:") + restored_control: PASS + changed_values: + - path: records/1/ecological_interactions/1/downstream/0/description + before: 'HYPOTHESIZED/PARTIAL: protection against oxidative stress could help maintain the phototrophic + partner that supports lipid-producing coculture. The ROS/catalase comparisons do not isolate the contribution + of that protection to the separately measured whole-culture fatty-acid yield advantage.' + after: ROS relief demonstrated to cause the measured lipid benefit. + - mutation: Early diatom attachment expanded to all phototrophs + test: test_early_periphyton_outcomes_are_diatom_scoped_not_facilitation_edges + control: PASS + mutation_applied: true + mutation_rejected: true + assertion_line: 86 + assertion: assert len(node["participating_taxa"]) == 1 + restored_control: PASS + changed_values: + - path: records/2/ecological_interactions/1/participating_taxa + before: + - preferred_term: diatoms + term: + id: NCBITaxon:2836 + label: Bacillariophyta + after: + - preferred_term: diatoms + term: + id: NCBITaxon:2836 + label: Bacillariophyta + - preferred_term: green algae + term: + id: NCBITaxon:3041 + label: Chlorophyta + - preferred_term: cyanobacteria + term: + id: NCBITaxon:1117 + label: Cyanobacteriota + - mutation: Periphyton functional redundancy promoted to demonstrated SUPPORT + test: test_mature_membership_and_psii_exception_do_not_prove_redundancy + control: PASS + mutation_applied: true + mutation_rejected: true + assertion_line: 100 + assertion: assert stressor["evidence"][3]["supports"] == "PARTIAL" + restored_control: PASS + changed_values: + - path: records/2/ecological_interactions/4/evidence/3/supports + before: PARTIAL + after: SUPPORT + canonical_files_unchanged: true + checked_file_sha256: + kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml: 262578e4cc60f82a1134df47dfeea7300751a28479c7296232653fdf4355a972 + kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml: 2a795399a012c7aa4460ea337faa97665269f40c7c13e95002d8224693b425d3 + kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml: f270c0f22655b5e8b0cb533b40353e4a549ab4eaf891e1cc14630ad4abd4a4e2 + tests/test_causal_review_batch111.py: e8eee1718a65547c83dadedf44e1b5848f31fd90d2708ffc3c0cb7505f3c03e5 + probe_script_sha256: c1c223c39738978453aa169d82c488fc8570c9efb88c6b09042fb2be443fd24d + scope: In-memory evidence mutations with control and restored-control; no canonical writes or inflated pytest + count. + artifact: /private/tmp/communitymech-batch111/adversarial-regression-proof.json + sha256: f8ecdfe9ce25b3c2b8e6aba0f464844b1c68138fa98f81344145a0abd16a331c + superseded_probe_artifact: /private/tmp/communitymech-batch111/adversarial-regression-proof-before-scope-correction.json + superseded_probe_sha256: 4fe0bdf67f32edc87ae3a0da65efcb6f276d40b539119a72be93c146ec93986f +verification: + combined_regressions: 1003 passed in 467.34s (0:07:47) + new_regression_tests: 9 + total_recorded_gate_outputs: 34 + primary_graph_snippet_proof: + graph_quotations: 27 + discussion_quotations: 3 + new_discussion_quotations: 2 + preserved_discussion_quotations: 1 + fresh_primary_literal_matches: 30 + all_cached_literal_matches: 30 + retained_nodes: 10 + removed_nodes: 1 + renamed_nodes: 3 + retained_arrows: 3 + removed_arrows: 0 + new_nodes_or_directions: 0 + scope: All reviewed quotations match fresh primary text and unchanged caches;source entailment separately reviewed. + Three full extracted primary main bodies including abstracts,Methods and embedded captions/tables read. No + separate supplements,original image pixels or raw-data certification. + references: Three full-record CLI and local snippet checks on macOS,not Linux;DOI-cache case1091 and prior ligature1863 + remain outside this batch. Literal matches do not establish entailment;per-source read limits recorded. CLI + Total checks counts issues,not checks. Loader1703 not certified. + snippet_counts_by_record: + kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml: + MATCH: 24 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml: + MATCH: 19 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml: + MATCH: 24 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + full_corpus_snippet_audit: + counts: + records: 460 + total: 9008 + categories: + MATCH: 8868 + RENDERING: 23 + ASSEMBLED: 1 + WEAK: 0 + MISMATCH: 40 + NOCONTENT: 76 + caveat: Both-root informational audit exit0 is not clean-corpus certification;literal matches are not entailment. + network: + existing_findings_preserved: 56 + added_findings: {} + removed_findings: {} + interpretation: Ten nodes and three existing directions retained;one assembly-only node removed;three outcome + nodes renamed. All56existing warnings unchanged;zero structural defects. Non-graph culture/membership followups1868-1869 + remain open. + tested_file_sha256: + reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml: 931a6cd707b0e3944f8cc593cfa341b331bab93b6616264cca5410b0343d6b19 + tests/test_causal_review_batch111.py: e8eee1718a65547c83dadedf44e1b5848f31fd90d2708ffc3c0cb7505f3c03e5 + tests/test_causal_review_batch109.py: 0a5d5ee9cd74ba09c588898b32b1b7ff28018dfea10701ad39c37c53e6987015 + tests/test_participating_taxa.py: 053e65df328f35a997a4dc6ce1933ccd17932dad4380a2f82953e43bb9e025d8 + tests/test_community_level_connectivity_credit.py: 781d6d380d5abee0006c4d261c22a229e63d6215dacff5a30b8ee6e775c11287 + reports/causal_graph_review/cache-provenance-20261008-batch111.json: 15a6da3e6e2c8a67aaf22ab15d4ccb912eac6f00038e816bd97b6e2094af6669 + kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml: 262578e4cc60f82a1134df47dfeea7300751a28479c7296232653fdf4355a972 + kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml: 2a795399a012c7aa4460ea337faa97665269f40c7c13e95002d8224693b425d3 + kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml: f270c0f22655b5e8b0cb533b40353e4a549ab4eaf891e1cc14630ad4abd4a4e2 + history_sha256: + history/records/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture/2026-10-08T061700Z-codex-dd5d8d.yaml: d4524715d43e27be56e298024dbf63353b91aeec0a241e828b381f46016681f7 + history/records/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture/2026-10-08T061700Z-codex-d07e9a.yaml: 3bc6fa3c5aaef6230ab5886b01a09a96ef2b25fe18e98c63fbd99e8844345f80 + history/records/Synthetic_Periphyton_Freshwater_Biofilm/2026-10-08T061700Z-codex-a2d60a.yaml: 7e8d88e203c0c394c1fbb876dc6a79204389bdd1e5e6e2e823de001491891817 + unchanged_records: 457 + unchanged_caches: 923 + immutable_prior_history_and_decision_files: 845 + cache_changes: [] + edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] + repair_scope: Existing node/arrow evidence and scope repairs;one workflow node removed;no new biological direction + or interaction. Staged assembly alone does not justify new arrows. + post_commit_docs_current: Separate publication gate,not preasserted. +participant_census: + measurements: + baseline: + records: 460 + with_community_level: 408 + mixed: 133 + community_level_only: 275 + taxa: 1554 + credited_solely_by_the_rule: 1270 + current: + records: 460 + with_community_level: 409 + mixed: 134 + community_level_only: 275 + taxa: 1556 + credited_solely_by_the_rule: 1270 + delta: + records: 0 + with_community_level: 1 + mixed: 1 + community_level_only: 0 + taxa: 2 + credited_solely_by_the_rule: 0 + interpretation: Butanol production gains community-level identity-only scope;two early periphyton outcomes gain + diatom-only participants. One additional mixed-scope record and two denominator taxa;no additional solely-credited + taxa. Observational census bounds updated to measured scope;connectivity rules and share guard unchanged. +corpus: + records: 460 + nodes: 1380 + edges: 544 + review_status_counts: + needs_research: 53 + pending: 52 + reviewed: 355 +lint_limitation: Plain just-lint passed;explicit-runtime no-incremental mypy additionally checked. +lint_environment: + path: /private/tmp/communitymech-batch100/lint-env + scope: Temporary Python3.13 lint environment reuses validation runtime and locked typing tools;project dependencies + unchanged. Not a complete embedding runtime. +limitations: +- Fresh pre-source both-root baseline:460 records,923 caches,56 existing warnings,zero structural defects. All11 + original nodes and three arrows reviewed; retain10 nodes/three directions,remove one assembly-only node,rename + three outcome nodes. No new topology or Edison spend. +- Three fresh primary XML main bodies, abstracts, Methods and embedded captions/tables read in full extracted text:butanol + lines1-199,lichen1-209,periphyton1-219. Crossref exact DOIs independently checked;all three CCBY. Extraction omits + displayed equation structure. No separate supplements,original figure pixels or raw data audited;no exact gene/protocol + claims imported. +- All27 graph and three discussion quotations match fresh primary text and unchanged caches. Two discussions are + new and the existing butanol carbon-specificity discussion is preserved verbatim. Cache format/header inspection + and quotation matching are not whole-cache review;attempt to print lichen DOI cache was truncated and is not claimed + complete. Matching is separate from entailment. +- 'Butanol: retain acetate-supported carbon feeding and measured production;nonexclusive/untraced acetate attribution + and fluctuating titers are explicit. Product output is not duplicate exchange. Growth adaptation did not increase + product yield in the earlier assays. Existing knowledge gap is reused,not duplicated.' +- 'Lichen: preserve sucrose feeding and conditional mutualism. Peroxide reduction,catalase rescue and high-density + controls support context-dependent ROS relief,not obligate dependence or exclusive mediation. Whole-culture fatty-acid + yield and harvested semi-continuous material remain distinct from partner-specific output. Existing ROS-to-lipid + arrow stays hypothetical;unknown additional growth factor is not invented.' +- 'Periphyton: retain source-attributed Sphingomonas attachment role without an isolated effect size or persistent + canonical donor. Remove inoculum grouping as niche partitioning. Preserve measured early and AB attachment/development,scoped + to canonical diatom descriptor;three outcome nodes renamed. Mature detection differs from26-member input. Stress-response + node keeps generally stable PSII with the reported day18 high-herbicide exception;functional redundancy remains + proposed. Staged order does not warrant new workflow arrows.' +- Full canonical records and schema interaction/scope definitions read. Ignored/hidden-inclusive kb/taxa search + for Synechocystis,taiwanensis,Rhodotorula,elodea,periphyton found no matching reusable record;no whole-repository + absence claimed. Full local matching-path index,not all historical reports,read. Fresh all-state issue title/body + search matched850,622,1547;wholebodies plus related529/1091 read. PR comments not exhaustively searched. +- Preserve457otherrecords,all923caches,rawnon-graph blocks and prior history/decision files. Only reviewed graph/discussions/curation_history + change. Participant census must be measured,not guessed;rules and share guard remain unchanged. No schema/validator/runtime + change;DOIcase1091,bracket622,ligature1863,loader1703 and cachepolicy949/1093 not certified. Full-record reference + checks on macOS are not Linux certification. +- Repairs1865-1867 remain open until protected-main merge. Lichen culture metadata1868 and periphyton membership1869 + remain open afterward. Self-review is not independent approval or full-corpus completion. Denied/unanswered Edison + scopes untouched;no artificial CI,protection bypass or premature branch deletion. diff --git a/reports/causal_graph_review/cache-provenance-20261008-batch111.json b/reports/causal_graph_review/cache-provenance-20261008-batch111.json new file mode 100644 index 000000000..0c93a8dd9 --- /dev/null +++ b/reports/causal_graph_review/cache-provenance-20261008-batch111.json @@ -0,0 +1,237 @@ +{ + "changes": [], + "unchanged_cache_files": 923, + "primary_artifacts": { + "/private/tmp/communitymech-batch111/baseline.json": "aa9fc8ff7adef19945d17937b432efcfd44036ae4afa8a81a4f918560f48ca97", + "/private/tmp/communitymech-batch111/butanol-abstract.txt": "ef5cc8ada439f92bc3f80b3e4c0b87486ed4f695bceeaffe1814dd89726144a6", + "/private/tmp/communitymech-batch111/butanol-crossref.json": "3cb0305f858c33463f959cc22d830697b4684baac3757dbe7803d231bb5b1801", + "/private/tmp/communitymech-batch111/butanol-metadata.json": "5f89092258160f5743424fc8406494580aa9ea1cb74912640e39a694811a196b", + "/private/tmp/communitymech-batch111/butanol-primary.txt": "04f996e4c01b10f7799f8ae7b864d40f76359a30139ad4c5adf0c3b271cc90dc", + "/private/tmp/communitymech-batch111/butanol-primary.xml": "75f70e0d94a190a644e41fa30a90de98958d5181ee21821b63b7337b1da7828b", + "/private/tmp/communitymech-batch111/dedup-local-current.txt": "c900bd7f6baad3e44929d109acdcefb71ec512309b12c138acae4da751e9314d", + "/private/tmp/communitymech-batch111/issue-dedup-current.json": "0a79ab7b21d6bec819cc117755c3f55202534db16ceda97d916743d576b14b2c", + "/private/tmp/communitymech-batch111/lichen-abstract.txt": "c24c1825fa2f0a52f352a768df182449e3c9f2ce7e9f34b615168202a0392229", + "/private/tmp/communitymech-batch111/lichen-crossref.json": "8a53a7468f459e5dc81f63d5b1d10418b14e4a5912778c834ec96572fa109b33", + "/private/tmp/communitymech-batch111/lichen-metadata.json": "2b141ae66fcf82d3f6ec0bed6dacdf8349c320a25bf2930c7b6471ab28e3f6e0", + "/private/tmp/communitymech-batch111/lichen-primary.txt": "7e25ea2a7f6fbea99eb24c5c0b40e7d3d84962d9e3a5d48ac5b7a39599d9af5f", + "/private/tmp/communitymech-batch111/lichen-primary.xml": "b388ceec628b19e8aa252e3accfce6ee75996397bd009b556577b2a7bbeaff98", + "/private/tmp/communitymech-batch111/periphyton-abstract.txt": "bd18faa96c4b55610db256b299199916b2e2fdbbc393e3c9f04fd7d3325c0d41", + "/private/tmp/communitymech-batch111/periphyton-crossref.json": "2ad4ffdf4bfc564eda134520ee5ec8ea2566325b50afbbee6893158188bc5003", + "/private/tmp/communitymech-batch111/periphyton-metadata.json": "aac13a8426ae243dfc508fce1e72b4d2f211cedce57782a4ae212bcc7585a93a", + "/private/tmp/communitymech-batch111/periphyton-primary.txt": "3b2ecebd23a18deeab64dcb61cd9a6f0e9d7e6899b886902a0d901c644aa72ce", + "/private/tmp/communitymech-batch111/periphyton-primary.xml": "183af8602cc07c3e40982e379ae4da2e929e1c154453951019b5de375863204f", + "/private/tmp/communitymech-batch111/primary-manifest.json": "7462ac03176db6b9eb6183610cedd03a3dbf36683e38956fcff32cc7c0d9a6e8", + "references_cache/PMID_35869094.txt": "264582c2cc6d91a0669fc4d2f796701e59f49951cd2e409626ccc619dd75776c", + "references_cache/PMID_42726284.txt": "08f6953950b650637457d41d36f53fdb161de29b5a4d923f0a3b0b9ec8339af6", + "references_cache/doi_10.1186_s13068-017-0736-x.txt": "261ebb3382a236fe8b3cd16e8cc00b633e9f568b2648d8b7e774e9408d11164c", + "references_cache/europepmc_10.1186_s13068-017-0736-x.txt": "c25a6a4249be9a8c4b7296c378b213c7284e1fc9c55ecec1602a71a4ccc5aae3" + }, + "source_access": { + "retrieval_manifest": { + "butanol": { + "pmid": "42726284", + "doi": "10.1007/s00253-026-14029-z", + "pmcid": "PMC13569817", + "title": "Synthetic consortia towards photosynthetically derived acetate for heterotrophic production of 1-butanol.", + "metadata": "/private/tmp/communitymech-batch111/butanol-metadata.json", + "metadata_sha256": "5f89092258160f5743424fc8406494580aa9ea1cb74912640e39a694811a196b", + "retrievals": [ + { + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A42726284+AND+SRC%3AMED&format=json&resultType=core", + "status": "retrieved" + }, + { + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13569817/fullTextXML", + "status": "retrieved_not_yet_read" + } + ], + "abstract": "/private/tmp/communitymech-batch111/butanol-abstract.txt", + "abstract_sha256": "ef5cc8ada439f92bc3f80b3e4c0b87486ed4f695bceeaffe1814dd89726144a6", + "xml": "/private/tmp/communitymech-batch111/butanol-primary.xml", + "xml_sha256": "75f70e0d94a190a644e41fa30a90de98958d5181ee21821b63b7337b1da7828b", + "primary_text": "/private/tmp/communitymech-batch111/butanol-primary.txt", + "primary_text_sha256": "04f996e4c01b10f7799f8ae7b864d40f76359a30139ad4c5adf0c3b271cc90dc", + "license": [ + "Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/." + ], + "crossref": "/private/tmp/communitymech-batch111/butanol-crossref.json", + "crossref_sha256": "3cb0305f858c33463f959cc22d830697b4684baac3757dbe7803d231bb5b1801", + "crossref_license": [ + { + "start": { + "date-parts": [ + [ + 2026, + 9, + 11 + ] + ], + "date-time": "2026-09-11T00:00:00Z", + "timestamp": 1789084800000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + }, + { + "start": { + "date-parts": [ + [ + 2026, + 9, + 11 + ] + ], + "date-time": "2026-09-11T00:00:00Z", + "timestamp": 1789084800000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + } + ] + }, + "lichen": { + "pmid": "28344645", + "doi": "10.1186/s13068-017-0736-x", + "pmcid": "PMC5360037", + "title": "Mimicking lichens: incorporation of yeast strains together with sucrose-secreting cyanobacteria improves survival, growth, ROS removal, and lipid production in a stable mutualistic co-culture production platform.", + "metadata": "/private/tmp/communitymech-batch111/lichen-metadata.json", + "metadata_sha256": "2b141ae66fcf82d3f6ec0bed6dacdf8349c320a25bf2930c7b6471ab28e3f6e0", + "retrievals": [ + { + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A28344645+AND+SRC%3AMED&format=json&resultType=core", + "status": "retrieved" + }, + { + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/PMC5360037/fullTextXML", + "status": "retrieved_not_yet_read" + } + ], + "abstract": "/private/tmp/communitymech-batch111/lichen-abstract.txt", + "abstract_sha256": "c24c1825fa2f0a52f352a768df182449e3c9f2ce7e9f34b615168202a0392229", + "xml": "/private/tmp/communitymech-batch111/lichen-primary.xml", + "xml_sha256": "b388ceec628b19e8aa252e3accfce6ee75996397bd009b556577b2a7bbeaff98", + "primary_text": "/private/tmp/communitymech-batch111/lichen-primary.txt", + "primary_text_sha256": "7e25ea2a7f6fbea99eb24c5c0b40e7d3d84962d9e3a5d48ac5b7a39599d9af5f", + "license": [ + "Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated." + ], + "crossref": "/private/tmp/communitymech-batch111/lichen-crossref.json", + "crossref_sha256": "8a53a7468f459e5dc81f63d5b1d10418b14e4a5912778c834ec96572fa109b33", + "crossref_license": [ + { + "start": { + "date-parts": [ + [ + 2017, + 3, + 21 + ] + ], + "date-time": "2017-03-21T00:00:00Z", + "timestamp": 1490054400000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "http://creativecommons.org/licenses/by/4.0/" + }, + { + "start": { + "date-parts": [ + [ + 2017, + 3, + 21 + ] + ], + "date-time": "2017-03-21T00:00:00Z", + "timestamp": 1490054400000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "http://creativecommons.org/licenses/by/4.0/" + } + ] + }, + "periphyton": { + "pmid": "35869094", + "doi": "10.1038/s41522-022-00322-y", + "pmcid": "PMC9307524", + "title": "Synthetic periphyton as a model system to understand species dynamics in complex microbial freshwater communities.", + "metadata": "/private/tmp/communitymech-batch111/periphyton-metadata.json", + "metadata_sha256": "aac13a8426ae243dfc508fce1e72b4d2f211cedce57782a4ae212bcc7585a93a", + "retrievals": [ + { + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A35869094+AND+SRC%3AMED&format=json&resultType=core", + "status": "retrieved" + }, + { + "url": "https://www.ebi.ac.uk/europepmc/webservices/rest/PMC9307524/fullTextXML", + "status": "retrieved_not_yet_read" + } + ], + "abstract": "/private/tmp/communitymech-batch111/periphyton-abstract.txt", + "abstract_sha256": "bd18faa96c4b55610db256b299199916b2e2fdbbc393e3c9f04fd7d3325c0d41", + "xml": "/private/tmp/communitymech-batch111/periphyton-primary.xml", + "xml_sha256": "183af8602cc07c3e40982e379ae4da2e929e1c154453951019b5de375863204f", + "primary_text": "/private/tmp/communitymech-batch111/periphyton-primary.txt", + "primary_text_sha256": "3b2ecebd23a18deeab64dcb61cd9a6f0e9d7e6899b886902a0d901c644aa72ce", + "license": [ + "Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The images or other third party material in this article are included in the article\u2019s Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the article\u2019s Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/." + ], + "crossref": "/private/tmp/communitymech-batch111/periphyton-crossref.json", + "crossref_sha256": "2ad4ffdf4bfc564eda134520ee5ec8ea2566325b50afbbee6893158188bc5003", + "crossref_license": [ + { + "start": { + "date-parts": [ + [ + 2022, + 7, + 22 + ] + ], + "date-time": "2022-07-22T00:00:00Z", + "timestamp": 1658448000000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + }, + { + "start": { + "date-parts": [ + [ + 2022, + 7, + 22 + ] + ], + "date-time": "2022-07-22T00:00:00Z", + "timestamp": 1658448000000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + } + ] + } + }, + "actual_read_scope": [ + "Three fresh primary XML main bodies, abstracts, Methods and embedded captions/tables read in full extracted text:butanol lines1-199,lichen1-209,periphyton1-219. Crossref exact DOIs independently checked;all three CCBY. Extraction omits displayed equation structure. No separate supplements,original figure pixels or raw data audited;no exact gene/protocol claims imported.", + "All27 graph and three discussion quotations match fresh primary text and unchanged caches. Two discussions are new and the existing butanol carbon-specificity discussion is preserved verbatim. Cache format/header inspection and quotation matching are not whole-cache review;attempt to print lichen DOI cache was truncated and is not claimed complete. Matching is separate from entailment." + ] + }, + "limitations": [ + "Fresh pre-source both-root baseline:460 records,923 caches,56 existing warnings,zero structural defects. All11 original nodes and three arrows reviewed; retain10 nodes/three directions,remove one assembly-only node,rename three outcome nodes. No new topology or Edison spend.", + "Three fresh primary XML main bodies, abstracts, Methods and embedded captions/tables read in full extracted text:butanol lines1-199,lichen1-209,periphyton1-219. Crossref exact DOIs independently checked;all three CCBY. Extraction omits displayed equation structure. No separate supplements,original figure pixels or raw data audited;no exact gene/protocol claims imported.", + "All27 graph and three discussion quotations match fresh primary text and unchanged caches. Two discussions are new and the existing butanol carbon-specificity discussion is preserved verbatim. Cache format/header inspection and quotation matching are not whole-cache review;attempt to print lichen DOI cache was truncated and is not claimed complete. Matching is separate from entailment.", + "Butanol: retain acetate-supported carbon feeding and measured production;nonexclusive/untraced acetate attribution and fluctuating titers are explicit. Product output is not duplicate exchange. Growth adaptation did not increase product yield in the earlier assays. Existing knowledge gap is reused,not duplicated.", + "Lichen: preserve sucrose feeding and conditional mutualism. Peroxide reduction,catalase rescue and high-density controls support context-dependent ROS relief,not obligate dependence or exclusive mediation. Whole-culture fatty-acid yield and harvested semi-continuous material remain distinct from partner-specific output. Existing ROS-to-lipid arrow stays hypothetical;unknown additional growth factor is not invented.", + "Periphyton: retain source-attributed Sphingomonas attachment role without an isolated effect size or persistent canonical donor. Remove inoculum grouping as niche partitioning. Preserve measured early and AB attachment/development,scoped to canonical diatom descriptor;three outcome nodes renamed. Mature detection differs from26-member input. Stress-response node keeps generally stable PSII with the reported day18 high-herbicide exception;functional redundancy remains proposed. Staged order does not warrant new workflow arrows.", + "Full canonical records and schema interaction/scope definitions read. Ignored/hidden-inclusive kb/taxa search for Synechocystis,taiwanensis,Rhodotorula,elodea,periphyton found no matching reusable record;no whole-repository absence claimed. Full local matching-path index,not all historical reports,read. Fresh all-state issue title/body search matched850,622,1547;wholebodies plus related529/1091 read. PR comments not exhaustively searched.", + "Preserve457otherrecords,all923caches,rawnon-graph blocks and prior history/decision files. Only reviewed graph/discussions/curation_history change. Participant census must be measured,not guessed;rules and share guard remain unchanged. No schema/validator/runtime change;DOIcase1091,bracket622,ligature1863,loader1703 and cachepolicy949/1093 not certified. Full-record reference checks on macOS are not Linux certification.", + "Repairs1865-1867 remain open until protected-main merge. Lichen culture metadata1868 and periphyton membership1869 remain open afterward. Self-review is not independent approval or full-corpus completion. Denied/unanswered Edison scopes untouched;no artificial CI,protection bypass or premature branch deletion." + ] +} diff --git a/reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml b/reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml new file mode 100644 index 000000000..05686c21b --- /dev/null +++ b/reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml @@ -0,0 +1,730 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 4f41c291ed0f8ceb6263c8c4038d31184905b704 +baseline_commit: 4f41c291ed0f8ceb6263c8c4038d31184905b704 +base_tree: 85799330a98a66d234489eb7a36864f5a8a1c2b4 +pre_source_baseline_sha256: aa9fc8ff7adef19945d17937b432efcfd44036ae4afa8a81a4f918560f48ca97 +issues: +- 1865 +- 1866 +- 1867 +unresolved_research_issues: [] +unresolved_non_graph_issues: +- 1868 +- 1869 +source_access: + retrieval_manifest: + butanol: + pmid: '42726284' + doi: 10.1007/s00253-026-14029-z + pmcid: PMC13569817 + title: Synthetic consortia towards photosynthetically derived acetate for heterotrophic production of 1-butanol. + metadata: /private/tmp/communitymech-batch111/butanol-metadata.json + metadata_sha256: 5f89092258160f5743424fc8406494580aa9ea1cb74912640e39a694811a196b + retrievals: + - url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A42726284+AND+SRC%3AMED&format=json&resultType=core + status: retrieved + - url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13569817/fullTextXML + status: retrieved_not_yet_read + abstract: /private/tmp/communitymech-batch111/butanol-abstract.txt + abstract_sha256: ef5cc8ada439f92bc3f80b3e4c0b87486ed4f695bceeaffe1814dd89726144a6 + xml: /private/tmp/communitymech-batch111/butanol-primary.xml + xml_sha256: 75f70e0d94a190a644e41fa30a90de98958d5181ee21821b63b7337b1da7828b + primary_text: /private/tmp/communitymech-batch111/butanol-primary.txt + primary_text_sha256: 04f996e4c01b10f7799f8ae7b864d40f76359a30139ad4c5adf0c3b271cc90dc + license: + - Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which + permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you + give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons + licence, and indicate if changes were made. The images or other third party material in this article are + included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. + If material is not included in the article's Creative Commons licence and your intended use is not permitted + by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the + copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/. + crossref: /private/tmp/communitymech-batch111/butanol-crossref.json + crossref_sha256: 3cb0305f858c33463f959cc22d830697b4684baac3757dbe7803d231bb5b1801 + crossref_license: + - start: + date-parts: + - - 2026 + - 9 + - 11 + date-time: '2026-09-11T00:00:00Z' + timestamp: 1789084800000 + content-version: tdm + delay-in-days: 0 + URL: https://creativecommons.org/licenses/by/4.0 + - start: + date-parts: + - - 2026 + - 9 + - 11 + date-time: '2026-09-11T00:00:00Z' + timestamp: 1789084800000 + content-version: vor + delay-in-days: 0 + URL: https://creativecommons.org/licenses/by/4.0 + lichen: + pmid: '28344645' + doi: 10.1186/s13068-017-0736-x + pmcid: PMC5360037 + title: 'Mimicking lichens: incorporation of yeast strains together with sucrose-secreting cyanobacteria improves + survival, growth, ROS removal, and lipid production in a stable mutualistic co-culture production platform.' + metadata: /private/tmp/communitymech-batch111/lichen-metadata.json + metadata_sha256: 2b141ae66fcf82d3f6ec0bed6dacdf8349c320a25bf2930c7b6471ab28e3f6e0 + retrievals: + - url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A28344645+AND+SRC%3AMED&format=json&resultType=core + status: retrieved + - url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC5360037/fullTextXML + status: retrieved_not_yet_read + abstract: /private/tmp/communitymech-batch111/lichen-abstract.txt + abstract_sha256: c24c1825fa2f0a52f352a768df182449e3c9f2ce7e9f34b615168202a0392229 + xml: /private/tmp/communitymech-batch111/lichen-primary.xml + xml_sha256: b388ceec628b19e8aa252e3accfce6ee75996397bd009b556577b2a7bbeaff98 + primary_text: /private/tmp/communitymech-batch111/lichen-primary.txt + primary_text_sha256: 7e25ea2a7f6fbea99eb24c5c0b40e7d3d84962d9e3a5d48ac5b7a39599d9af5f + license: + - Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International + License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and + reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, + provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons + Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data + made available in this article, unless otherwise stated. + crossref: /private/tmp/communitymech-batch111/lichen-crossref.json + crossref_sha256: 8a53a7468f459e5dc81f63d5b1d10418b14e4a5912778c834ec96572fa109b33 + crossref_license: + - start: + date-parts: + - - 2017 + - 3 + - 21 + date-time: '2017-03-21T00:00:00Z' + timestamp: 1490054400000 + content-version: tdm + delay-in-days: 0 + URL: http://creativecommons.org/licenses/by/4.0/ + - start: + date-parts: + - - 2017 + - 3 + - 21 + date-time: '2017-03-21T00:00:00Z' + timestamp: 1490054400000 + content-version: vor + delay-in-days: 0 + URL: http://creativecommons.org/licenses/by/4.0/ + periphyton: + pmid: '35869094' + doi: 10.1038/s41522-022-00322-y + pmcid: PMC9307524 + title: Synthetic periphyton as a model system to understand species dynamics in complex microbial freshwater + communities. + metadata: /private/tmp/communitymech-batch111/periphyton-metadata.json + metadata_sha256: aac13a8426ae243dfc508fce1e72b4d2f211cedce57782a4ae212bcc7585a93a + retrievals: + - url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A35869094+AND+SRC%3AMED&format=json&resultType=core + status: retrieved + - url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC9307524/fullTextXML + status: retrieved_not_yet_read + abstract: /private/tmp/communitymech-batch111/periphyton-abstract.txt + abstract_sha256: bd18faa96c4b55610db256b299199916b2e2fdbbc393e3c9f04fd7d3325c0d41 + xml: /private/tmp/communitymech-batch111/periphyton-primary.xml + xml_sha256: 183af8602cc07c3e40982e379ae4da2e929e1c154453951019b5de375863204f + primary_text: /private/tmp/communitymech-batch111/periphyton-primary.txt + primary_text_sha256: 3b2ecebd23a18deeab64dcb61cd9a6f0e9d7e6899b886902a0d901c644aa72ce + license: + - "Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which\ + \ permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you\ + \ give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons\ + \ license, and indicate if changes were made. The images or other third party material in this article are\ + \ included in the article\u2019s Creative Commons license, unless indicated otherwise in a credit line to\ + \ the material. If material is not included in the article\u2019s Creative Commons license and your intended\ + \ use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission\ + \ directly from the copyright holder. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/." + crossref: /private/tmp/communitymech-batch111/periphyton-crossref.json + crossref_sha256: 2ad4ffdf4bfc564eda134520ee5ec8ea2566325b50afbbee6893158188bc5003 + crossref_license: + - start: + date-parts: + - - 2022 + - 7 + - 22 + date-time: '2022-07-22T00:00:00Z' + timestamp: 1658448000000 + content-version: tdm + delay-in-days: 0 + URL: https://creativecommons.org/licenses/by/4.0 + - start: + date-parts: + - - 2022 + - 7 + - 22 + date-time: '2022-07-22T00:00:00Z' + timestamp: 1658448000000 + content-version: vor + delay-in-days: 0 + URL: https://creativecommons.org/licenses/by/4.0 + actual_read_scope: + - Three fresh primary XML main bodies, abstracts, Methods and embedded captions/tables read in full extracted + text:butanol lines1-199,lichen1-209,periphyton1-219. Crossref exact DOIs independently checked;all three CCBY. + Extraction omits displayed equation structure. No separate supplements,original figure pixels or raw data audited;no + exact gene/protocol claims imported. + - All27 graph and three discussion quotations match fresh primary text and unchanged caches. Two discussions are + new and the existing butanol carbon-specificity discussion is preserved verbatim. Cache format/header inspection + and quotation matching are not whole-cache review;attempt to print lichen DOI cache was truncated and is not + claimed complete. Matching is separate from entailment. +primary_artifacts: + /private/tmp/communitymech-batch111/baseline.json: aa9fc8ff7adef19945d17937b432efcfd44036ae4afa8a81a4f918560f48ca97 + /private/tmp/communitymech-batch111/butanol-abstract.txt: ef5cc8ada439f92bc3f80b3e4c0b87486ed4f695bceeaffe1814dd89726144a6 + /private/tmp/communitymech-batch111/butanol-crossref.json: 3cb0305f858c33463f959cc22d830697b4684baac3757dbe7803d231bb5b1801 + /private/tmp/communitymech-batch111/butanol-metadata.json: 5f89092258160f5743424fc8406494580aa9ea1cb74912640e39a694811a196b + /private/tmp/communitymech-batch111/butanol-primary.txt: 04f996e4c01b10f7799f8ae7b864d40f76359a30139ad4c5adf0c3b271cc90dc + /private/tmp/communitymech-batch111/butanol-primary.xml: 75f70e0d94a190a644e41fa30a90de98958d5181ee21821b63b7337b1da7828b + /private/tmp/communitymech-batch111/dedup-local-current.txt: c900bd7f6baad3e44929d109acdcefb71ec512309b12c138acae4da751e9314d + /private/tmp/communitymech-batch111/issue-dedup-current.json: 0a79ab7b21d6bec819cc117755c3f55202534db16ceda97d916743d576b14b2c + /private/tmp/communitymech-batch111/lichen-abstract.txt: c24c1825fa2f0a52f352a768df182449e3c9f2ce7e9f34b615168202a0392229 + /private/tmp/communitymech-batch111/lichen-crossref.json: 8a53a7468f459e5dc81f63d5b1d10418b14e4a5912778c834ec96572fa109b33 + /private/tmp/communitymech-batch111/lichen-metadata.json: 2b141ae66fcf82d3f6ec0bed6dacdf8349c320a25bf2930c7b6471ab28e3f6e0 + /private/tmp/communitymech-batch111/lichen-primary.txt: 7e25ea2a7f6fbea99eb24c5c0b40e7d3d84962d9e3a5d48ac5b7a39599d9af5f + /private/tmp/communitymech-batch111/lichen-primary.xml: b388ceec628b19e8aa252e3accfce6ee75996397bd009b556577b2a7bbeaff98 + /private/tmp/communitymech-batch111/periphyton-abstract.txt: bd18faa96c4b55610db256b299199916b2e2fdbbc393e3c9f04fd7d3325c0d41 + /private/tmp/communitymech-batch111/periphyton-crossref.json: 2ad4ffdf4bfc564eda134520ee5ec8ea2566325b50afbbee6893158188bc5003 + /private/tmp/communitymech-batch111/periphyton-metadata.json: aac13a8426ae243dfc508fce1e72b4d2f211cedce57782a4ae212bcc7585a93a + /private/tmp/communitymech-batch111/periphyton-primary.txt: 3b2ecebd23a18deeab64dcb61cd9a6f0e9d7e6899b886902a0d901c644aa72ce + /private/tmp/communitymech-batch111/periphyton-primary.xml: 183af8602cc07c3e40982e379ae4da2e929e1c154453951019b5de375863204f + /private/tmp/communitymech-batch111/primary-manifest.json: 7462ac03176db6b9eb6183610cedd03a3dbf36683e38956fcff32cc7c0d9a6e8 + references_cache/PMID_35869094.txt: 264582c2cc6d91a0669fc4d2f796701e59f49951cd2e409626ccc619dd75776c + references_cache/PMID_42726284.txt: 08f6953950b650637457d41d36f53fdb161de29b5a4d923f0a3b0b9ec8339af6 + references_cache/doi_10.1186_s13068-017-0736-x.txt: 261ebb3382a236fe8b3cd16e8cc00b633e9f568b2648d8b7e774e9408d11164c + references_cache/europepmc_10.1186_s13068-017-0736-x.txt: c25a6a4249be9a8c4b7296c378b213c7284e1fc9c55ecec1602a71a4ccc5aae3 +reviewed_counts: + original_nodes: 11 + retained_nodes: 10 + removed_nodes: 1 + retained_arrows: 3 + removed_arrows: 0 + renamed_nodes: 3 + graph_quotations: 27 + discussion_quotations: 3 + new_discussions: 2 + preserved_discussions: 1 +primary_graph_snippet_count: 27 +snippet_checks: +- record: Synechocystis_Pseudomonas_Acetate_Butanol_Coculture + node: Photosynthetic Acetate Supply To Pseudomonas + evidence_index: 0 + reference: PMID:42726284 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/butanol-primary.txt + cache_artifact: references_cache/PMID_42726284.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synechocystis_Pseudomonas_Acetate_Butanol_Coculture + node: Photosynthetic Acetate Supply To Pseudomonas + evidence_index: 1 + reference: PMID:42726284 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/butanol-primary.txt + cache_artifact: references_cache/PMID_42726284.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synechocystis_Pseudomonas_Acetate_Butanol_Coculture + node: Photosynthetic Acetate Supply To Pseudomonas + evidence_index: 2 + reference: PMID:42726284 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/butanol-primary.txt + cache_artifact: references_cache/PMID_42726284.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synechocystis_Pseudomonas_Acetate_Butanol_Coculture + node: Acetate-Coupled 1-Butanol Production + evidence_index: 0 + reference: PMID:42726284 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/butanol-primary.txt + cache_artifact: references_cache/PMID_42726284.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synechocystis_Pseudomonas_Acetate_Butanol_Coculture + node: Acetate-Coupled 1-Butanol Production + evidence_index: 1 + reference: PMID:42726284 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/butanol-primary.txt + cache_artifact: references_cache/PMID_42726284.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synechocystis_Pseudomonas_Acetate_Butanol_Coculture + node: Acetate-Coupled 1-Butanol Production + evidence_index: 2 + reference: PMID:42726284 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/butanol-primary.txt + cache_artifact: references_cache/PMID_42726284.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture + node: Photosynthetic Sucrose Provisioning + evidence_index: 0 + reference: doi:10.1186/s13068-017-0736-x + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/lichen-primary.txt + cache_artifact: references_cache/doi_10.1186_s13068-017-0736-x.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture + node: Rhodotorula-Enhanced Cyanobacterial Survival + evidence_index: 0 + reference: doi:10.1186/s13068-017-0736-x + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/lichen-primary.txt + cache_artifact: references_cache/doi_10.1186_s13068-017-0736-x.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture + node: Rhodotorula-Enhanced Cyanobacterial Survival + evidence_index: 1 + reference: doi:10.1186/s13068-017-0736-x + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/lichen-primary.txt + cache_artifact: references_cache/doi_10.1186_s13068-017-0736-x.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture + node: Rhodotorula-Enhanced Cyanobacterial Survival + evidence_index: 2 + reference: doi:10.1186/s13068-017-0736-x + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/lichen-primary.txt + cache_artifact: references_cache/doi_10.1186_s13068-017-0736-x.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture + node: Rhodotorula-Enhanced Cyanobacterial Survival + evidence_index: 3 + reference: doi:10.1186/s13068-017-0736-x + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/lichen-primary.txt + cache_artifact: references_cache/doi_10.1186_s13068-017-0736-x.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture + node: Rhodotorula-Enhanced Cyanobacterial Survival + evidence_index: 4 + reference: doi:10.1186/s13068-017-0736-x + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/lichen-primary.txt + cache_artifact: references_cache/doi_10.1186_s13068-017-0736-x.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture + node: Lipid Production Enhancement + evidence_index: 0 + reference: doi:10.1186/s13068-017-0736-x + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/lichen-primary.txt + cache_artifact: references_cache/doi_10.1186_s13068-017-0736-x.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture + node: Lipid Production Enhancement + evidence_index: 1 + reference: doi:10.1186/s13068-017-0736-x + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/lichen-primary.txt + cache_artifact: references_cache/doi_10.1186_s13068-017-0736-x.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture + node: Lipid Production Enhancement + evidence_index: 2 + reference: doi:10.1186/s13068-017-0736-x + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/lichen-primary.txt + cache_artifact: references_cache/doi_10.1186_s13068-017-0736-x.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: EPS-Conditioned Colonization Surface + evidence_index: 0 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: EPS-Conditioned Colonization Surface + evidence_index: 1 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: Pioneer Diatom Surface Attachment + evidence_index: 0 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: AB Diatom Biofilm Development + evidence_index: 0 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: AB Diatom Biofilm Development + evidence_index: 1 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: Mature Periphyton Establishment + evidence_index: 0 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: Mature Periphyton Establishment + evidence_index: 1 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: Mature Periphyton Establishment + evidence_index: 2 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: Reproducible 3D Biofilm Stressor Response + evidence_index: 0 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: Reproducible 3D Biofilm Stressor Response + evidence_index: 1 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: Reproducible 3D Biofilm Stressor Response + evidence_index: 2 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: Reproducible 3D Biofilm Stressor Response + evidence_index: 3 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +discussion_snippet_checks: +- record: Synechocystis_Pseudomonas_Acetate_Butanol_Coculture + node: pseudomonas_butanol_coculture_carbon_specificity + evidence_index: 0 + reference: PMID:42726284 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/butanol-primary.txt + cache_artifact: references_cache/PMID_42726284.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture + node: lichen-ros-versus-lipid-mediation + evidence_index: 0 + reference: doi:10.1186/s13068-017-0736-x + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/lichen-primary.txt + cache_artifact: references_cache/doi_10.1186_s13068-017-0736-x.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +- record: Synthetic_Periphyton_Freshwater_Biofilm + node: periphyton-succession-and-function-mediators + evidence_index: 0 + reference: PMID:35869094 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch111/periphyton-primary.txt + cache_artifact: references_cache/PMID_35869094.txt + scope: NFKD/case/punctuation/whitespace-normalized contiguous match to fresh primary and unchanged cache; entailment + separately reviewed. +cache_changes: [] +edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] + repair_scope: Existing node/arrow evidence and scope repairs;one workflow node removed;no new biological direction + or interaction. Staged assembly alone does not justify new arrows. +limitations: +- Fresh pre-source both-root baseline:460 records,923 caches,56 existing warnings,zero structural defects. All11 + original nodes and three arrows reviewed; retain10 nodes/three directions,remove one assembly-only node,rename + three outcome nodes. No new topology or Edison spend. +- Three fresh primary XML main bodies, abstracts, Methods and embedded captions/tables read in full extracted text:butanol + lines1-199,lichen1-209,periphyton1-219. Crossref exact DOIs independently checked;all three CCBY. Extraction omits + displayed equation structure. No separate supplements,original figure pixels or raw data audited;no exact gene/protocol + claims imported. +- All27 graph and three discussion quotations match fresh primary text and unchanged caches. Two discussions are + new and the existing butanol carbon-specificity discussion is preserved verbatim. Cache format/header inspection + and quotation matching are not whole-cache review;attempt to print lichen DOI cache was truncated and is not claimed + complete. Matching is separate from entailment. +- 'Butanol: retain acetate-supported carbon feeding and measured production;nonexclusive/untraced acetate attribution + and fluctuating titers are explicit. Product output is not duplicate exchange. Growth adaptation did not increase + product yield in the earlier assays. Existing knowledge gap is reused,not duplicated.' +- 'Lichen: preserve sucrose feeding and conditional mutualism. Peroxide reduction,catalase rescue and high-density + controls support context-dependent ROS relief,not obligate dependence or exclusive mediation. Whole-culture fatty-acid + yield and harvested semi-continuous material remain distinct from partner-specific output. Existing ROS-to-lipid + arrow stays hypothetical;unknown additional growth factor is not invented.' +- 'Periphyton: retain source-attributed Sphingomonas attachment role without an isolated effect size or persistent + canonical donor. Remove inoculum grouping as niche partitioning. Preserve measured early and AB attachment/development,scoped + to canonical diatom descriptor;three outcome nodes renamed. Mature detection differs from26-member input. Stress-response + node keeps generally stable PSII with the reported day18 high-herbicide exception;functional redundancy remains + proposed. Staged order does not warrant new workflow arrows.' +- Full canonical records and schema interaction/scope definitions read. Ignored/hidden-inclusive kb/taxa search + for Synechocystis,taiwanensis,Rhodotorula,elodea,periphyton found no matching reusable record;no whole-repository + absence claimed. Full local matching-path index,not all historical reports,read. Fresh all-state issue title/body + search matched850,622,1547;wholebodies plus related529/1091 read. PR comments not exhaustively searched. +- Preserve457otherrecords,all923caches,rawnon-graph blocks and prior history/decision files. Only reviewed graph/discussions/curation_history + change. Participant census must be measured,not guessed;rules and share guard remain unchanged. No schema/validator/runtime + change;DOIcase1091,bracket622,ligature1863,loader1703 and cachepolicy949/1093 not certified. Full-record reference + checks on macOS are not Linux certification. +- Repairs1865-1867 remain open until protected-main merge. Lichen culture metadata1868 and periphyton membership1869 + remain open afterward. Self-review is not independent approval or full-corpus completion. Denied/unanswered Edison + scopes untouched;no artificial CI,protection bypass or premature branch deletion. +records: +- path: kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml + id: CommunityMech:000363 + original_sha256: 0d0dd8d3ab938241d8e9f44d4aa1a9847058883cb5167c79aba7c5c5148392fa + record_sha256: 262578e4cc60f82a1134df47dfeea7300751a28479c7296232653fdf4355a972 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml + scope: Whole record and every existing node/direction; source-bounded graph review, not whole-record metadata + certification. + summary: Preserve acetate-supported carbon feeding with explicit nonexclusive, untraced attribution.; Retain measurable + butanol as a community endpoint with time-course and adaptation bounds. + node_decisions: + - node: Photosynthetic Acetate Supply To Pseudomonas + rationale: Preserve acetate-supported carbon feeding with explicit nonexclusive, untraced attribution. + - node: Acetate-Coupled 1-Butanol Production + rationale: Retain measurable butanol as a community endpoint with time-course and adaptation bounds. + removed_node_decisions: [] + renamed_nodes: {} + edges_before: + - &id001 + source: Photosynthetic Acetate Supply To Pseudomonas + target: Acetate-Coupled 1-Butanol Production + description: 'Photosynthetically derived acetate was the intended extracellular carbon source routed from Synechocystis + toward Pseudomonas 1-butanol production. + + ' + edges_after: + - &id002 + source: Photosynthetic Acetate Supply To Pseudomonas + target: Acetate-Coupled 1-Butanol Production + description: 'HYPOTHESIZED/PARTIAL: photosynthetically supplied acetate is a supported candidate carbon route + to the observed Pseudomonas 1-butanol output. The experiment does not resolve the fraction of product carbon + derived from acetate rather than other cyanobacterial exudates; production detection is not a quantified acetate-to-product + flux.' + retained_edge_decisions: + - before: *id001 + after: *id002 + rationale: 'HYPOTHESIZED/PARTIAL: photosynthetically supplied acetate is a supported candidate carbon route + to the observed Pseudomonas 1-butanol output. The experiment does not resolve the fraction of product carbon + derived from acetate rather than other cyanobacterial exudates; production detection is not a quantified acetate-to-product + flux.' + removed_edge_decisions: [] + references: + - PMID:42726284 + issues: + - 1865 + allowed_changed_fields: + - curation_history + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture/2026-10-08T061700Z-codex-dd5d8d.yaml +- path: kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml + id: CommunityMech:000149 + original_sha256: 7824f8a6761528794f6d43efede940228e490a140dc57174a7c8ded5e6d7a208 + record_sha256: 2a795399a012c7aa4460ea337faa97665269f40c7c13e95002d8224693b425d3 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml + scope: Whole record and every existing node/direction; source-bounded graph review, not whole-record metadata + certification. + summary: Retain strain-bounded sucrose feeding and whole-culture production support.; Preserve demonstrated ROS + protection and conditional mutualism without exclusive mediation or obligacy.; Retain mixed-culture fatty-acid + and biomass outcomes without duplicate exchange typing. + node_decisions: + - node: Photosynthetic Sucrose Provisioning + rationale: Retain strain-bounded sucrose feeding and whole-culture production support. + - node: Rhodotorula-Enhanced Cyanobacterial Survival + rationale: Preserve demonstrated ROS protection and conditional mutualism without exclusive mediation or obligacy. + - node: Lipid Production Enhancement + rationale: Retain mixed-culture fatty-acid and biomass outcomes without duplicate exchange typing. + removed_node_decisions: [] + renamed_nodes: {} + edges_before: + - &id003 + source: Photosynthetic Sucrose Provisioning + target: Lipid Production Enhancement + description: Cyanobacterial sucrose provisioning supplies the yeast carbon source that is routed into coculture + biomass and lipid production. + - &id005 + source: Rhodotorula-Enhanced Cyanobacterial Survival + target: Lipid Production Enhancement + description: Yeast relief of low-density cyanobacterial oxidative stress helps stabilize the artificial lichen + coculture that produces the increased biomass and lipid yield. + edges_after: + - &id004 + source: Photosynthetic Sucrose Provisioning + target: Lipid Production Enhancement + description: Cyanobacterial sucrose supports yeast growth within the consortium that exhibits greater total + biomass and fatty-acid yield. The whole-culture comparison does not resolve the partners' separate lipid contributions + or a sucrose-to-lipid carbon balance. + - &id006 + source: Rhodotorula-Enhanced Cyanobacterial Survival + target: Lipid Production Enhancement + description: 'HYPOTHESIZED/PARTIAL: protection against oxidative stress could help maintain the phototrophic + partner that supports lipid-producing coculture. The ROS/catalase comparisons do not isolate the contribution + of that protection to the separately measured whole-culture fatty-acid yield advantage.' + retained_edge_decisions: + - before: *id003 + after: *id004 + rationale: Cyanobacterial sucrose supports yeast growth within the consortium that exhibits greater total biomass + and fatty-acid yield. The whole-culture comparison does not resolve the partners' separate lipid contributions + or a sucrose-to-lipid carbon balance. + - before: *id005 + after: *id006 + rationale: 'HYPOTHESIZED/PARTIAL: protection against oxidative stress could help maintain the phototrophic partner + that supports lipid-producing coculture. The ROS/catalase comparisons do not isolate the contribution of that + protection to the separately measured whole-culture fatty-acid yield advantage.' + removed_edge_decisions: [] + references: + - doi:10.1186/s13068-017-0736-x + issues: + - 1866 + - 1868 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture/2026-10-08T061700Z-codex-d07e9a.yaml +- path: kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml + id: CommunityMech:000130 + original_sha256: a5d9d47e0a01cc492d9ad09971b02ece6c4292925e09d1919d00e29b8699492e + record_sha256: f270c0f22655b5e8b0cb533b40353e4a549ab4eaf891e1cc14630ad4abd4a4e2 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml + scope: Whole record and every existing node/direction; source-bounded graph review, not whole-record metadata + certification. + summary: Retain source-attributed EPS attachment role without an isolated effect size or persistent donor claim.; + Retain early diatom attachment as an untyped, participant-bounded phenotype.; Retain combined AB diatom development + without intergroup facilitation typing.; Retain mature community establishment with observed-versus-introduced + membership boundaries.; Retain reproducibility and stress phenotypes without niche-partitioning or proven redundancy. + node_decisions: + - node: EPS-Conditioned Colonization Surface + rationale: Retain source-attributed EPS attachment role without an isolated effect size or persistent donor + claim. + - node: Pioneer Diatom Surface Attachment + rationale: Retain early diatom attachment as an untyped, participant-bounded phenotype. + - node: AB Diatom Biofilm Development + rationale: Retain combined AB diatom development without intergroup facilitation typing. + - node: Mature Periphyton Establishment + rationale: Retain mature community establishment with observed-versus-introduced membership boundaries. + - node: Reproducible 3D Biofilm Stressor Response + rationale: Retain reproducibility and stress phenotypes without niche-partitioning or proven redundancy. + removed_node_decisions: + - node: Growth-Balanced Phototroph Grouping + rationale: Growth-balanced inoculum grouping is a construction decision, not demonstrated niche partitioning. + Assembly rationale remains in engineering_design; reproducibility and measured development remain in retained + nodes. + renamed_nodes: + Four-Day Pioneer-Diatom Colonization: Pioneer Diatom Surface Attachment + Fourteen-Day High-Profile Diatom Colonization: AB Diatom Biofilm Development + Thirty-Day ABC Periphyton Maturity: Mature Periphyton Establishment + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - PMID:35869094 + issues: + - 1867 + - 1869 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Synthetic_Periphyton_Freshwater_Biofilm/2026-10-08T061700Z-codex-a2d60a.yaml diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index e686504f6..1f8760275 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -405,9 +405,9 @@ kb/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml Community kb/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml CommunityMech:000167 76fe4a6229c920128650e889592471c220a7a42283bc97c605c6d9615983cf8a 4 2 93.8 reports/causal_graph_review/decisions/20261008-three-records-batch110.yaml reviewed kb/communities/Synechococcus_Saccharomyces_SPC.yaml CommunityMech:000067 9c021f5bf08a2596743a140a3b14ca90e781d294234a09257a021324e8a20ac6 3 2 96.7 reports/causal_graph_review/decisions/20261008-six-records-batch109.yaml reviewed kb/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml CommunityMech:000211 826172b3e4ec14cb21b506f830175d55dc982b3ee809bc7811e9a29cb67e231c 3 2 91.7 reports/causal_graph_review/decisions/20261008-three-records-batch110.yaml reviewed -kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml CommunityMech:000363 0d0dd8d3ab938241d8e9f44d4aa1a9847058883cb5167c79aba7c5c5148392fa 2 1 85.0 pending -kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml CommunityMech:000149 7824f8a6761528794f6d43efede940228e490a140dc57174a7c8ded5e6d7a208 3 2 100.0 pending -kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml CommunityMech:000130 a5d9d47e0a01cc492d9ad09971b02ece6c4292925e09d1919d00e29b8699492e 6 0 75.0 pending +kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml CommunityMech:000363 262578e4cc60f82a1134df47dfeea7300751a28479c7296232653fdf4355a972 2 1 80.0 reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml reviewed +kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml CommunityMech:000149 2a795399a012c7aa4460ea337faa97665269f40c7c13e95002d8224693b425d3 3 2 96.7 reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml reviewed +kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml CommunityMech:000130 f270c0f22655b5e8b0cb533b40353e4a549ab4eaf891e1cc14630ad4abd4a4e2 5 0 67.0 reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml reviewed kb/communities/Syntrophobacter_Methanobacterium_Syntrophy.yaml CommunityMech:000068 3df7349bdb43ddf039c4b800ef95b42d13219895335525c4e74d8efca7edee4c 3 3 100.0 pending kb/communities/Syntrophobacter_Methanospirillum_Syntrophy.yaml CommunityMech:000069 5662e6e60817338c51780fe418ed1b9b2e429c2d162223d613acb3cbad159ce4 3 3 100.0 pending kb/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml CommunityMech:000189 c3fb5e96ebf42ad0b8613a72c59bde357474e5303f0d9f0da4d240dd4df1b7f0 3 2 100.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index 7530e8bd1..022ab1ff8 100644 --- a/reports/causal_graph_review/summary.json +++ b/reports/causal_graph_review/summary.json @@ -2,14 +2,14 @@ "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", "semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.", "records": 460, - "nodes": 1381, + "nodes": 1380, "edges": 544, "records_without_nodes": 10, "records_without_edges": 185, "review_status_counts": { "needs_research": 53, - "pending": 55, - "reviewed": 352 + "pending": 52, + "reviewed": 355 }, "structural_defects": [], "network_audit": [ diff --git a/reports/causal_graph_review/validation-20261008-batch111.json b/reports/causal_graph_review/validation-20261008-batch111.json new file mode 100644 index 000000000..d1492c86e --- /dev/null +++ b/reports/causal_graph_review/validation-20261008-batch111.json @@ -0,0 +1,950 @@ +{ + "base_commit": "4f41c291ed0f8ceb6263c8c4038d31184905b704", + "scope": [ + "kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml", + "kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml", + "kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml" + ], + "results": [ + { + "check": "focused", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch111.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/focused.log", + "log_sha256": "08eb41587e7572276326d6a872a5e69a3d0377836a1aee60c195798ee38a5eef", + "output_tail": "......... [100%]\n9 passed in 1.27s\n" + }, + { + "check": "Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch111/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-strict.tsv", + "kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-strict.log", + "log_sha256": "da6b53dc215038708e60a12cf27f59a22fe8703d521281231f9a1ae0ca602c18", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch111/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-batch111/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-strict.tsv\n" + }, + { + "check": "Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-references.log", + "log_sha256": "6d5d70eddeabd91403c9d16289ebb3b68817477df705e32bebf7ad943245a817", + "output_tail": "Validating kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-snippets.log", + "log_sha256": "2ffa6e242265b4c1c2eb555bd8bd14abb6cc63ed4d5a8a818da9b515db44daff", + "output_tail": "# 24 evidence snippets scanned across 1 files\n MATCH 24\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-rank.log", + "log_sha256": "972dd2a9aaccd14126ebc5a86473669e00d8b2abdcdfd732e9f91f707d547499", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000363\",\n \"name\": \"Synechocystis-Pseudomonas Acetate-Butanol Coculture\",\n \"score\": 80.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 2,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 6,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"additional_downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml\"\n }\n]\n" + }, + { + "check": "Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture/2026-10-08T061700Z-codex-dd5d8d.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch111/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-strict.tsv", + "kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-strict.log", + "log_sha256": "53ce7880db1d157f26980f4b12bb9fdcedf5a6eb4832411ba1561b1ed217476a", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch111/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-batch111/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-strict.tsv\n" + }, + { + "check": "Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-references.log", + "log_sha256": "d4939c2875ff9346ed55ea2cb53a3b06aa059b2f8af52c77c93611901876f596", + "output_tail": "Validating kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-snippets.log", + "log_sha256": "8084678f5cf248d78dd90bd74538a6320ef0dcc9940ae3e5b5f759e13588ade6", + "output_tail": "# 19 evidence snippets scanned across 1 files\n MATCH 19\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-rank.log", + "log_sha256": "83547c2802ad2d812b49d157c8829b22fc127d713de0f57512620666596db22f", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000149\",\n \"name\": \"Synthetic Lichen Synechococcus-Rhodotorula Coculture\",\n \"score\": 96.7,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 9,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml\"\n }\n]\n" + }, + { + "check": "Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture/2026-10-08T061700Z-codex-d07e9a.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Synthetic_Periphyton_Freshwater_Biofilm-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Periphyton_Freshwater_Biofilm-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Synthetic_Periphyton_Freshwater_Biofilm-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch111/Synthetic_Periphyton_Freshwater_Biofilm-strict.tsv", + "kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Periphyton_Freshwater_Biofilm-strict.log", + "log_sha256": "de4db642ed3adb56afc86123d174b619bba91ae34992a247d05edd9c3aad8f0f", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch111/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-batch111/Synthetic_Periphyton_Freshwater_Biofilm-strict.tsv\n" + }, + { + "check": "Synthetic_Periphyton_Freshwater_Biofilm-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Periphyton_Freshwater_Biofilm-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Synthetic_Periphyton_Freshwater_Biofilm-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Periphyton_Freshwater_Biofilm-references.log", + "log_sha256": "413e01f04f1cd456a94e00ca6fa87fd7ee5b0ae70bd52fc52c9c400d644a61ee", + "output_tail": "Validating kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.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/Synthetic_Periphyton_Freshwater_Biofilm.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": "Synthetic_Periphyton_Freshwater_Biofilm-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Periphyton_Freshwater_Biofilm-snippets.log", + "log_sha256": "2ffa6e242265b4c1c2eb555bd8bd14abb6cc63ed4d5a8a818da9b515db44daff", + "output_tail": "# 24 evidence snippets scanned across 1 files\n MATCH 24\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Synthetic_Periphyton_Freshwater_Biofilm-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Periphyton_Freshwater_Biofilm-rank.log", + "log_sha256": "daf4e76a0bdbde3190cbc2f39088e4b9f088a3567ef355d1f1d08ac4005c4e30", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000130\",\n \"name\": \"Synthetic Periphyton Freshwater Biofilm\",\n \"score\": 67.0,\n \"taxonomy\": 3,\n \"connected_taxa\": 3,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 5,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 12,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml\"\n }\n]\n" + }, + { + "check": "Synthetic_Periphyton_Freshwater_Biofilm-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Synthetic_Periphyton_Freshwater_Biofilm/2026-10-08T061700Z-codex-a2d60a.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/Synthetic_Periphyton_Freshwater_Biofilm-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-batch111/verification/inventory.log", + "log_sha256": "e0684fb4d5ba17d312c07001886c230442ead7b07679927ce24e00414526b11f", + "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\": 1380,\n \"edges\": 544,\n \"records_without_nodes\": 10,\n \"records_without_edges\": 185,\n \"review_status_counts\": {\n \"needs_research\": 53,\n \"pending\": 52,\n \"reviewed\": 355\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-batch111/verification/network.log", + "log_sha256": "8febc2a966f5c2b51cd59095a8877c8773cd1e9383e5214bcdc3832c5858c097", + "output_tail": " \"total_genomes\": 17191,\n \"is_reclassified\": false,\n \"mapping_source\": \"kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)\"\n },\n \"notes\": \"The eLife panel denotes this P. aeruginosa mutant as strain 5; represented at species level for ontology stability.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"mexZ\"\n },\n \"abundance_value\": \"Full-factorial SynCom panel member 5\",\n \"evidence\": [\n {\n \"reference\": \"PMID:42153623\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Strains 1\\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ\",\n \"explanation\": \"Maps the source's strain numbers to the eight P. aeruginosa mutant labels.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas aeruginosa mexZ' 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": "just-network-json", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_codes": [ + 2 + ], + "log": "/private/tmp/communitymech-batch111/verification/just-network-json.log", + "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" + }, + { + "check": "rank-all", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/rank-all.log", + "log_sha256": "cea12d145ab8e8430064208e23da854b32dd18e47719b71ca797b56b338a3151", + "output_tail": "ena_MGS1_Anaerobic_Digestion_Methanogen_Consortium.yaml\tCommunityMech:000307\tAnabaena / MGS-1 Anaerobic-Digestion Methanogen Consortium\t1\t1\t0\t5\t2\t7\t\t0\t0\n402\t100.0\tkb/communities/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml\tCommunityMech:000245\tAvena Rhizosphere and Detritusphere Niche-Differentiated Decomposer Guilds\t1\t1\t0\t5\t2\t7\t\t0\t0\n403\t100.0\tkb/communities/Bacteroides_Methanobrevibacter_Gnotobiotic_Mouse_Mutualism.yaml\tCommunityMech:000142\tBacteroides-Methanobrevibacter Gnotobiotic Mouse Mutualism\t2\t2\t0\t3\t2\t3\t\t0\t0\n404\t100.0\tkb/communities/BioModels_MODEL2405300001_Infant_Gut_HMO_SynCom.yaml\tCommunityMech:000012\tBioModels MODEL2405300001 Infant Gut HMO SynCom\t13\t13\t0\t3\t2\t6\t\t0\t0\n405\t100.0\tkb/communities/California_Grassland_Precipitation_Legacy_Soil_Community.yaml\tCommunityMech:000215\tCalifornia Grassland Precipitation Legacy Soil Community\t1\t1\t0\t3\t2\t6\t\t0\t0\n406\t100.0\tkb/communities/Cellulose_Methane_Quad_Culture_SynCom.yaml\tCommunityMech:000089\tCellulose-to-Methane Quad-Culture SynCom\t4\t4\t0\t6\t5\t9\t\t0\t0\n407\t100.0\tkb/communities/DVM_Triculture.yaml\tCommunityMech:000021\tDVM Tri-culture\t3\t3\t0\t4\t2\t7\t\t0\t0\n408\t100.0\tkb/communities/Dehalococcoides_mccartyi_CWV2_Dechlorinating_Consortium.yaml\tCommunityMech:000301\tDehalococcoides mccartyi CWV2 Dechlorinating Consortium\t1\t1\t0\t5\t2\t6\t\t0\t0\n409\t100.0\tkb/communities/Ecoli_Bifidobacterium_bifidum_Infant_gut_HMO_Mutualism_Coculture.yaml\tCommunityMech:000296\tEscherichia coli + Bifidobacterium bifidum Infant-gut Mutualistic Co-culture\t2\t2\t0\t3\t2\t6\t\t0\t0\n410\t100.0\tkb/communities/High_Ammonia_Biogas_0B_Butyrate_Oxidizing_Enrichment.yaml\tCommunityMech:000350\tHigh-Ammonia Biogas 0B Butyrate-Oxidizing Enrichment\t4\t4\t0\t3\t2\t6\t\t0\t0\n411\t100.0\tkb/communities/Honeybee_Core20_Defined_Microbiota.yaml\tCommunityMech:000124\tHoneybee Core-20 Defined Microbiota\t1\t1\t0\t3\t2\t3\t\t0\t0\n412\t100.0\tkb/communities/Microbacterium_Terrabacter_Sulfadiazine_CrossFeeding_Coculture.yaml\tCommunityMech:000462\tMicrobacterium-Terrabacter Sulfadiazine Cross-Feeding Coculture\t2\t2\t0\t3\t2\t6\t\t0\t0\n413\t100.0\tkb/communities/Microcoleus_Massilia_Cyanosphere_Urea_Mutualism.yaml\tCommunityMech:000157\tMicrocoleus-Massilia Cyanosphere Urea Mutualism\t2\t2\t0\t3\t2\t5\t\t0\t0\n414\t100.0\tkb/communities/Multiomics_Corn_Straw_Degradation_SynCom.yaml\tCommunityMech:000119\tMultiomics Corn Straw Degradation SynCom\t1\t1\t0\t4\t3\t9\t\t0\t0\n415\t100.0\tkb/communities/Neocallimastix_Methanobrevibacter_Xylan_Coculture.yaml\tCommunityMech:000156\tNeocallimastix-Methanobrevibacter Xylanolytic Coculture\t2\t2\t0\t3\t2\t5\t\t0\t0\n416\t100.0\tkb/communities/Pelotomaculum_Methanocella_Propionate_RNASeq_Coculture.yaml\tCommunityMech:000190\tPelotomaculum-Methanocella Propionate RNA-Seq Coculture\t2\t2\t0\t4\t2\t9\t\t0\t0\n417\t100.0\tkb/communities/Pelotomaculum_Methanothermobacter_Syntrophy.yaml\tCommunityMech:000052\tPelotomaculum-Methanothermobacter Syntrophic Consortium\t2\t2\t0\t3\t2\t6\t\t0\t0\n418\t100.0\tkb/communities/Phenol_Carboxylation_Consortium.yaml\tCommunityMech:000053\tPhenol Carboxylation Consortium\t2\t2\t0\t3\t3\t7\t\t0\t0\n419\t100.0\tkb/communities/Phosphitivorax_Methanoculleus_Lithosyntrophy_Phosphite_Coculture.yaml\tCommunityMech:000290\tPhosphitivorax-Methanoculleus Lithosyntrophic Phosphite-Oxidizing Methanogenic Culture\t2\t2\t0\t3\t2\t4\t\t0\t0\n420\t100.0\tkb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml\tCommunityMech:000289\tPseudomonas putida Pp-TE + Rhodococcus sp. RDK17 Terephthalic-acid Consortium\t2\t2\t0\t3\t2\t4\t\t0\t0\n421\t100.0\tkb/communities/Rhodopseudomonas_Ecoli_CrossFeeding_Coculture.yaml\tCommunityMech:000092\tRhodopseudomonas-E. coli Cross-Feeding Coculture\t2\t2\t0\t3\t2\t4\t\t0\t0\n422\t100.0\tkb/communities/Rice_Acid_Soil_Bioinoculant_SynCom.yaml\tCommunityMech:000109\tRice Acid Soil Bioinoculant SynCom\t1\t1\t0\t4\t4\t4\t\t0\t0\n423\t100.0\tkb/communities/Subsurface_Carboxydocella_CO_Aquifer_Community.yaml\tCommunityMech:000251\tSubsurface Carboxydocella CO-Oxidation Aquifer Community\t1\t1\t0\t4\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-batch111/verification/render.log", + "log_sha256": "c11fba56b9704ccc3329b6d4362c351ab64f1206917322837fdb6c7b3e1a77f1", + "output_tail": "unitymech-causal-batch111/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch111/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch111/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch111/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-batch111/verification/render-repeat.log", + "log_sha256": "c11fba56b9704ccc3329b6d4362c351ab64f1206917322837fdb6c7b3e1a77f1", + "output_tail": "unitymech-causal-batch111/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch111/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch111/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch111/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch111/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-batch110')),('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-batch111/verification/connectivity-survey.log", + "log_sha256": "9ff68e312115e9851f738f4f2e01d7c8f2ba5cccc530610cd254acfda2a6926a", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 408, \"mixed\": 133, \"community_level_only\": 275, \"taxa\": 1554, \"credited_solely_by_the_rule\": 1270}, \"current\": {\"records\": 460, \"with_community_level\": 409, \"mixed\": 134, \"community_level_only\": 275, \"taxa\": 1556, \"credited_solely_by_the_rule\": 1270}}\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_batch100.py", + "tests/test_causal_review_batch101.py", + "tests/test_causal_review_batch102.py", + "tests/test_causal_review_batch103.py", + "tests/test_causal_review_batch104.py", + "tests/test_causal_review_batch105.py", + "tests/test_causal_review_batch106.py", + "tests/test_causal_review_batch107.py", + "tests/test_causal_review_batch108.py", + "tests/test_causal_review_batch109.py", + "tests/test_causal_review_batch11.py", + "tests/test_causal_review_batch110.py", + "tests/test_causal_review_batch111.py", + "tests/test_causal_review_batch12.py", + "tests/test_causal_review_batch13.py", + "tests/test_causal_review_batch14.py", + "tests/test_causal_review_batch15.py", + "tests/test_causal_review_batch16.py", + "tests/test_causal_review_batch17.py", + "tests/test_causal_review_batch18.py", + "tests/test_causal_review_batch19.py", + "tests/test_causal_review_batch20.py", + "tests/test_causal_review_batch21.py", + "tests/test_causal_review_batch22.py", + "tests/test_causal_review_batch23.py", + "tests/test_causal_review_batch24.py", + "tests/test_causal_review_batch25.py", + "tests/test_causal_review_batch27.py", + "tests/test_causal_review_batch28.py", + "tests/test_causal_review_batch29.py", + "tests/test_causal_review_batch30.py", + "tests/test_causal_review_batch31.py", + "tests/test_causal_review_batch32.py", + "tests/test_causal_review_batch33.py", + "tests/test_causal_review_batch34.py", + "tests/test_causal_review_batch35.py", + "tests/test_causal_review_batch36.py", + "tests/test_causal_review_batch37.py", + "tests/test_causal_review_batch38.py", + "tests/test_causal_review_batch39.py", + "tests/test_causal_review_batch40.py", + "tests/test_causal_review_batch41.py", + "tests/test_causal_review_batch42.py", + "tests/test_causal_review_batch43.py", + "tests/test_causal_review_batch44.py", + "tests/test_causal_review_batch45.py", + "tests/test_causal_review_batch46.py", + "tests/test_causal_review_batch47.py", + "tests/test_causal_review_batch48.py", + "tests/test_causal_review_batch49.py", + "tests/test_causal_review_batch5.py", + "tests/test_causal_review_batch50.py", + "tests/test_causal_review_batch51.py", + "tests/test_causal_review_batch52.py", + "tests/test_causal_review_batch53.py", + "tests/test_causal_review_batch54.py", + "tests/test_causal_review_batch55.py", + "tests/test_causal_review_batch56.py", + "tests/test_causal_review_batch57.py", + "tests/test_causal_review_batch58.py", + "tests/test_causal_review_batch59.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch60.py", + "tests/test_causal_review_batch61.py", + "tests/test_causal_review_batch62.py", + "tests/test_causal_review_batch63.py", + "tests/test_causal_review_batch64.py", + "tests/test_causal_review_batch65.py", + "tests/test_causal_review_batch66.py", + "tests/test_causal_review_batch67.py", + "tests/test_causal_review_batch68.py", + "tests/test_causal_review_batch69.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch70.py", + "tests/test_causal_review_batch71.py", + "tests/test_causal_review_batch72.py", + "tests/test_causal_review_batch73.py", + "tests/test_causal_review_batch74.py", + "tests/test_causal_review_batch75.py", + "tests/test_causal_review_batch76.py", + "tests/test_causal_review_batch77.py", + "tests/test_causal_review_batch78.py", + "tests/test_causal_review_batch79.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch80.py", + "tests/test_causal_review_batch81.py", + "tests/test_causal_review_batch82.py", + "tests/test_causal_review_batch83.py", + "tests/test_causal_review_batch84.py", + "tests/test_causal_review_batch85.py", + "tests/test_causal_review_batch86.py", + "tests/test_causal_review_batch87.py", + "tests/test_causal_review_batch88.py", + "tests/test_causal_review_batch89.py", + "tests/test_causal_review_batch9.py", + "tests/test_causal_review_batch90.py", + "tests/test_causal_review_batch91.py", + "tests/test_causal_review_batch92.py", + "tests/test_causal_review_batch93.py", + "tests/test_causal_review_batch94.py", + "tests/test_causal_review_batch95.py", + "tests/test_causal_review_batch96.py", + "tests/test_causal_review_batch97.py", + "tests/test_causal_review_batch98.py", + "tests/test_causal_review_batch99.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-batch111/verification/regressions.log", + "log_sha256": "5e034c07f9617d25ea6b0b448dbb1ec3a7fe9e5a0ecc9c7590809211260cfa60", + "output_tail": "........................................................................ [ 7%]\n........................................................................ [ 14%]\n........................................................................ [ 21%]\n........................................................................ [ 28%]\n........................................................................ [ 35%]\n........................................................................ [ 43%]\n........................................................................ [ 50%]\n........................................................................ [ 57%]\n........................................................................ [ 64%]\n........................................................................ [ 71%]\n........................................................................ [ 78%]\n........................................................................ [ 86%]\n........................................................................ [ 93%]\n................................................................... [100%]\n1003 passed in 467.34s (0:07:47)\n" + }, + { + "check": "just-lint", + "command": [ + "just", + "lint" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/just-lint.log", + "log_sha256": "5b2bab3df89c2f1b98fbde986af67e0c9acc0c2deb0da3398470606ce4f3cc59", + "output_tail": "All checks passed!\nSuccess: no issues found in 49 source files\nuv run black --check src/ tests/ scripts/\nAll done! \u2728 \ud83c\udf70 \u2728\n364 files would be left unchanged.\nuv run ruff check src/ tests/ scripts/\nwarning: Invalid `# noqa` directive on scripts/gtdb_ground.py:74: expected code to consist of uppercase letters followed by digits only (e.g. `F401`)\nuv run mypy src/\n" + }, + { + "check": "mypy-explicit-runtime", + "command": [ + "/private/tmp/communitymech-batch100/lint-env/bin/mypy", + "--no-incremental", + "--python-executable", + "/private/tmp/communitymech-batch100/lint-env/bin/python", + "src/" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/mypy-explicit-runtime.log", + "log_sha256": "b1fdd8413863455c6896d811c9ab42dc9256d679a668643bb18df2318c3bc875", + "output_tail": "Success: no issues found in 49 source files\n" + }, + { + "check": "audit-snippets-all", + "command": [ + "just", + "audit-snippets" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/audit-snippets-all.log", + "log_sha256": "f07023b38642968c1019d668f59b838ec45e1e61f0671381ca6393a7698a1804", + "output_tail": "# 9008 evidence snippets scanned across 460 files\n MATCH 8868\n RENDERING 23\n ASSEMBLED 1\n WEAK 0\n MISMATCH 40\n NOCONTENT 76\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n 19 (19 hard) kb/communities/DCPP_DBS4_DCP4_DCP11d_Degradation_SynCom.yaml\n 15 (15 hard) kb/communities/Fucoidan_Seven_Degrader_Combinatorial_SynCom.yaml\n 3 (3 hard) kb/communities/Coscinodiscus_Synthetic_Community.yaml\n 1 (1 hard) kb/communities/Altered_Schaedler_Flora_Gnotobiotic_Mouse_Community.yaml\n 1 (1 hard) kb/communities/Shewanella_Geobacter_Exoelectrogenic_Biofilm_Community.yaml\n 1 (1 hard) kb/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml\nuv run python scripts/evidence_snippet_audit.py \n" + }, + { + "check": "diff-check", + "command": [ + "git", + "diff", + "--check" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch111/verification/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + } + ], + "limitations": [ + "Fresh pre-source both-root baseline:460 records,923 caches,56 existing warnings,zero structural defects. All11 original nodes and three arrows reviewed; retain10 nodes/three directions,remove one assembly-only node,rename three outcome nodes. No new topology or Edison spend.", + "Three fresh primary XML main bodies, abstracts, Methods and embedded captions/tables read in full extracted text:butanol lines1-199,lichen1-209,periphyton1-219. Crossref exact DOIs independently checked;all three CCBY. Extraction omits displayed equation structure. No separate supplements,original figure pixels or raw data audited;no exact gene/protocol claims imported.", + "All27 graph and three discussion quotations match fresh primary text and unchanged caches. Two discussions are new and the existing butanol carbon-specificity discussion is preserved verbatim. Cache format/header inspection and quotation matching are not whole-cache review;attempt to print lichen DOI cache was truncated and is not claimed complete. Matching is separate from entailment.", + "Butanol: retain acetate-supported carbon feeding and measured production;nonexclusive/untraced acetate attribution and fluctuating titers are explicit. Product output is not duplicate exchange. Growth adaptation did not increase product yield in the earlier assays. Existing knowledge gap is reused,not duplicated.", + "Lichen: preserve sucrose feeding and conditional mutualism. Peroxide reduction,catalase rescue and high-density controls support context-dependent ROS relief,not obligate dependence or exclusive mediation. Whole-culture fatty-acid yield and harvested semi-continuous material remain distinct from partner-specific output. Existing ROS-to-lipid arrow stays hypothetical;unknown additional growth factor is not invented.", + "Periphyton: retain source-attributed Sphingomonas attachment role without an isolated effect size or persistent canonical donor. Remove inoculum grouping as niche partitioning. Preserve measured early and AB attachment/development,scoped to canonical diatom descriptor;three outcome nodes renamed. Mature detection differs from26-member input. Stress-response node keeps generally stable PSII with the reported day18 high-herbicide exception;functional redundancy remains proposed. Staged order does not warrant new workflow arrows.", + "Full canonical records and schema interaction/scope definitions read. Ignored/hidden-inclusive kb/taxa search for Synechocystis,taiwanensis,Rhodotorula,elodea,periphyton found no matching reusable record;no whole-repository absence claimed. Full local matching-path index,not all historical reports,read. Fresh all-state issue title/body search matched850,622,1547;wholebodies plus related529/1091 read. PR comments not exhaustively searched.", + "Preserve457otherrecords,all923caches,rawnon-graph blocks and prior history/decision files. Only reviewed graph/discussions/curation_history change. Participant census must be measured,not guessed;rules and share guard remain unchanged. No schema/validator/runtime change;DOIcase1091,bracket622,ligature1863,loader1703 and cachepolicy949/1093 not certified. Full-record reference checks on macOS are not Linux certification.", + "Repairs1865-1867 remain open until protected-main merge. Lichen culture metadata1868 and periphyton membership1869 remain open afterward. Self-review is not independent approval or full-corpus completion. Denied/unanswered Edison scopes untouched;no artificial CI,protection bypass or premature branch deletion." + ], + "reference_validator_version": "0.1.7", + "snippet_counts_by_record": { + "kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml": { + "MATCH": 24, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml": { + "MATCH": 19, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml": { + "MATCH": 24, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "unchanged_record_files": 457, + "unchanged_cache_files": 923, + "unchanged_raw_blocks": 46, + "cache_changes": [], + "edison": { + "required_for_this_repair": false, + "required_for_unresolved_extensions": false, + "provider_submissions": 0, + "credits_spent": 0, + "dry_runs": [], + "repair_scope": "Existing node/arrow evidence and scope repairs;one workflow node removed;no new biological direction or interaction. Staged assembly alone does not justify new arrows." + }, + "primary_artifacts": { + "/private/tmp/communitymech-batch111/baseline.json": "aa9fc8ff7adef19945d17937b432efcfd44036ae4afa8a81a4f918560f48ca97", + "/private/tmp/communitymech-batch111/butanol-abstract.txt": "ef5cc8ada439f92bc3f80b3e4c0b87486ed4f695bceeaffe1814dd89726144a6", + "/private/tmp/communitymech-batch111/butanol-crossref.json": "3cb0305f858c33463f959cc22d830697b4684baac3757dbe7803d231bb5b1801", + "/private/tmp/communitymech-batch111/butanol-metadata.json": "5f89092258160f5743424fc8406494580aa9ea1cb74912640e39a694811a196b", + "/private/tmp/communitymech-batch111/butanol-primary.txt": "04f996e4c01b10f7799f8ae7b864d40f76359a30139ad4c5adf0c3b271cc90dc", + "/private/tmp/communitymech-batch111/butanol-primary.xml": "75f70e0d94a190a644e41fa30a90de98958d5181ee21821b63b7337b1da7828b", + "/private/tmp/communitymech-batch111/dedup-local-current.txt": "c900bd7f6baad3e44929d109acdcefb71ec512309b12c138acae4da751e9314d", + "/private/tmp/communitymech-batch111/issue-dedup-current.json": "0a79ab7b21d6bec819cc117755c3f55202534db16ceda97d916743d576b14b2c", + "/private/tmp/communitymech-batch111/lichen-abstract.txt": "c24c1825fa2f0a52f352a768df182449e3c9f2ce7e9f34b615168202a0392229", + "/private/tmp/communitymech-batch111/lichen-crossref.json": "8a53a7468f459e5dc81f63d5b1d10418b14e4a5912778c834ec96572fa109b33", + "/private/tmp/communitymech-batch111/lichen-metadata.json": "2b141ae66fcf82d3f6ec0bed6dacdf8349c320a25bf2930c7b6471ab28e3f6e0", + "/private/tmp/communitymech-batch111/lichen-primary.txt": "7e25ea2a7f6fbea99eb24c5c0b40e7d3d84962d9e3a5d48ac5b7a39599d9af5f", + "/private/tmp/communitymech-batch111/lichen-primary.xml": "b388ceec628b19e8aa252e3accfce6ee75996397bd009b556577b2a7bbeaff98", + "/private/tmp/communitymech-batch111/periphyton-abstract.txt": "bd18faa96c4b55610db256b299199916b2e2fdbbc393e3c9f04fd7d3325c0d41", + "/private/tmp/communitymech-batch111/periphyton-crossref.json": "2ad4ffdf4bfc564eda134520ee5ec8ea2566325b50afbbee6893158188bc5003", + "/private/tmp/communitymech-batch111/periphyton-metadata.json": "aac13a8426ae243dfc508fce1e72b4d2f211cedce57782a4ae212bcc7585a93a", + "/private/tmp/communitymech-batch111/periphyton-primary.txt": "3b2ecebd23a18deeab64dcb61cd9a6f0e9d7e6899b886902a0d901c644aa72ce", + "/private/tmp/communitymech-batch111/periphyton-primary.xml": "183af8602cc07c3e40982e379ae4da2e929e1c154453951019b5de375863204f", + "/private/tmp/communitymech-batch111/primary-manifest.json": "7462ac03176db6b9eb6183610cedd03a3dbf36683e38956fcff32cc7c0d9a6e8", + "references_cache/PMID_35869094.txt": "264582c2cc6d91a0669fc4d2f796701e59f49951cd2e409626ccc619dd75776c", + "references_cache/PMID_42726284.txt": "08f6953950b650637457d41d36f53fdb161de29b5a4d923f0a3b0b9ec8339af6", + "references_cache/doi_10.1186_s13068-017-0736-x.txt": "261ebb3382a236fe8b3cd16e8cc00b633e9f568b2648d8b7e774e9408d11164c", + "references_cache/europepmc_10.1186_s13068-017-0736-x.txt": "c25a6a4249be9a8c4b7296c378b213c7284e1fc9c55ecec1602a71a4ccc5aae3" + }, + "immutable_prior_history_and_decision_files": 845, + "primary_graph_snippet_proof": { + "graph_quotations": 27, + "discussion_quotations": 3, + "new_discussion_quotations": 2, + "preserved_discussion_quotations": 1, + "fresh_primary_literal_matches": 30, + "all_cached_literal_matches": 30, + "retained_nodes": 10, + "removed_nodes": 1, + "renamed_nodes": 3, + "retained_arrows": 3, + "removed_arrows": 0, + "new_nodes_or_directions": 0, + "scope": "All reviewed quotations match fresh primary text and unchanged caches;source entailment separately reviewed. Three full extracted primary main bodies including abstracts,Methods and embedded captions/tables read. No separate supplements,original image pixels or raw-data certification." + }, + "network_delta": { + "existing_findings_preserved": 56, + "added_findings": {}, + "removed_findings": {}, + "interpretation": "Ten nodes and three existing directions retained;one assembly-only node removed;three outcome nodes renamed. All56existing warnings unchanged;zero structural defects. Non-graph culture/membership followups1868-1869 remain open." + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1366, + "arrows": 536 + }, + "render_scope": "Deterministic rendering and exact HTML-description parser,not screenshots;postcommit docs-current separately required.", + "participant_census": { + "measurements": { + "baseline": { + "records": 460, + "with_community_level": 408, + "mixed": 133, + "community_level_only": 275, + "taxa": 1554, + "credited_solely_by_the_rule": 1270 + }, + "current": { + "records": 460, + "with_community_level": 409, + "mixed": 134, + "community_level_only": 275, + "taxa": 1556, + "credited_solely_by_the_rule": 1270 + } + }, + "delta": { + "records": 0, + "with_community_level": 1, + "mixed": 1, + "community_level_only": 0, + "taxa": 2, + "credited_solely_by_the_rule": 0 + }, + "interpretation": "Butanol production gains community-level identity-only scope;two early periphyton outcomes gain diatom-only participants. One additional mixed-scope record and two denominator taxa;no additional solely-credited taxa. Observational census bounds updated to measured scope;connectivity rules and share guard unchanged." + }, + "lint_limitation": "Plain just-lint passed;explicit-runtime no-incremental mypy additionally checked.", + "lint_environment": { + "path": "/private/tmp/communitymech-batch100/lint-env", + "scope": "Temporary Python3.13 lint environment reuses validation runtime and locked typing tools;project dependencies unchanged. Not a complete embedding runtime." + }, + "full_corpus_snippet_counts": { + "records": 460, + "total": 9008, + "categories": { + "MATCH": 8868, + "RENDERING": 23, + "ASSEMBLED": 1, + "WEAK": 0, + "MISMATCH": 40, + "NOCONTENT": 76 + } + }, + "full_corpus_snippet_audit_caveat": "Both-root informational audit exit0 is not clean-corpus certification;literal matches are not entailment.", + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1380, + "edges": 544, + "records_without_nodes": 10, + "records_without_edges": 185, + "review_status_counts": { + "needs_research": 53, + "pending": 52, + "reviewed": 355 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml": "931a6cd707b0e3944f8cc593cfa341b331bab93b6616264cca5410b0343d6b19", + "tests/test_causal_review_batch111.py": "e8eee1718a65547c83dadedf44e1b5848f31fd90d2708ffc3c0cb7505f3c03e5", + "tests/test_causal_review_batch109.py": "0a5d5ee9cd74ba09c588898b32b1b7ff28018dfea10701ad39c37c53e6987015", + "tests/test_participating_taxa.py": "053e65df328f35a997a4dc6ce1933ccd17932dad4380a2f82953e43bb9e025d8", + "tests/test_community_level_connectivity_credit.py": "781d6d380d5abee0006c4d261c22a229e63d6215dacff5a30b8ee6e775c11287", + "reports/causal_graph_review/cache-provenance-20261008-batch111.json": "15a6da3e6e2c8a67aaf22ab15d4ccb912eac6f00038e816bd97b6e2094af6669", + "kb/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml": "262578e4cc60f82a1134df47dfeea7300751a28479c7296232653fdf4355a972", + "kb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml": "2a795399a012c7aa4460ea337faa97665269f40c7c13e95002d8224693b425d3", + "kb/communities/Synthetic_Periphyton_Freshwater_Biofilm.yaml": "f270c0f22655b5e8b0cb533b40353e4a549ab4eaf891e1cc14630ad4abd4a4e2" + }, + "pre_research_baseline": { + "base_commit": "4f41c291ed0f8ceb6263c8c4038d31184905b704", + "base_tree": "85799330a98a66d234489eb7a36864f5a8a1c2b4", + "research_worktree": "/private/tmp/communitymech-causal-batch110", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch111/baseline-rank.log", + "sha256": "16be6a3d944745246b55d6aacb4cb86a6bb44ea6fd9430b1a5528a1d281eb60b" + }, + { + "name": "just-network", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_code": 2, + "log": "/private/tmp/communitymech-batch111/baseline-just-network.log", + "sha256": "8595db43420d3f0a01c57acd6ad733a531a72e962486d20b4e1c2840dda55bff" + }, + { + "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-batch111/baseline-network.log", + "sha256": "8febc2a966f5c2b51cd59095a8877c8773cd1e9383e5214bcdc3832c5858c097" + }, + { + "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-batch111/baseline-downstream.log", + "sha256": "fdf13a402a67fe88c3eff527376f97bdca5c99db0ca29e482f114fd8bdd31b0e" + } + ], + "baseline_sha256": "aa9fc8ff7adef19945d17937b432efcfd44036ae4afa8a81a4f918560f48ca97" + }, + "reference_validator_caveat": "Three full-record CLI and local snippet checks on macOS,not Linux;DOI-cache case1091 and prior ligature1863 remain outside this batch. Literal matches do not establish entailment;per-source read limits recorded. CLI Total checks counts issues,not checks. Loader1703 not certified.", + "status": "verified_existing_graph_repairs_with_source_access_limits", + "total_recorded_gate_outputs": 34 +} diff --git a/tests/test_causal_review_batch109.py b/tests/test_causal_review_batch109.py index 355ab574e..59406702d 100644 --- a/tests/test_causal_review_batch109.py +++ b/tests/test_causal_review_batch109.py @@ -176,15 +176,15 @@ def test_hashes_histories_and_canonical_identity_only_scope_are_explicit(): def test_measured_scope_change_adds_no_solely_credited_taxa(): - # Batch110 adds one mixed-scope record; the solely-credited count is unchanged. + # Batch111 adds one mixed-scope record; the solely-credited count is unchanged. survey = runpy.run_path(str(ROOT / "tests/test_community_level_connectivity_credit.py"))[ "_survey" ]() assert survey == { "records": 460, - "with_community_level": 408, - "mixed": 133, + "with_community_level": 409, + "mixed": 134, "community_level_only": 275, - "taxa": 1554, + "taxa": 1556, "credited_solely_by_the_rule": 1270, } diff --git a/tests/test_causal_review_batch111.py b/tests/test_causal_review_batch111.py new file mode 100644 index 000000000..c3c5ed3ba --- /dev/null +++ b/tests/test_causal_review_batch111.py @@ -0,0 +1,145 @@ +"""Keep measured phototrophic outcomes separate from untested mediation.""" + +import hashlib +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261008-three-records-batch111.yaml" + + +def records(): + ledger = yaml.safe_load(LEDGER.read_text()) + rows = ledger["records"] + return ledger, rows, [yaml.safe_load((ROOT / row["path"]).read_text()) for row in rows] + + +def test_acetate_attribution_remains_partial_and_existing_gap_is_reused(): + _, _, docs = records() + carbon = docs[0]["ecological_interactions"][0] + assert carbon["interaction_type"] == "CROSS_FEEDING" + assert carbon["evidence"][1]["supports"] == "PARTIAL" + assert "do not isotope-resolve" in carbon["description"] + assert "only source of carbon" in carbon["evidence"][2]["snippet"] + assert carbon["downstream"][0]["description"].startswith("HYPOTHESIZED/PARTIAL:") + assert len(docs[0]["discussions"]) == 1 + assert ( + docs[0]["discussions"][0]["discussion_id"] + == "pseudomonas_butanol_coculture_carbon_specificity" + ) + + +def test_butanol_output_is_not_duplicate_exchange_or_growth_adaptation_gain(): + _, _, docs = records() + product = docs[0]["ecological_interactions"][1] + assert product["scope"] == "COMMUNITY_LEVEL" + assert "interaction_type" not in product and "source_taxon" not in product + assert len(product["participating_taxa"]) == 2 + assert "fluctuated and reached a plateau" in product["description"] + assert "without increasing 1-butanol production" in product["description"] + assert "did not exceed" in product["evidence"][2]["snippet"] + + +def test_lichen_ros_protection_remains_positive_and_context_dependent(): + _, _, docs = records() + protection = docs[1]["ecological_interactions"][1] + assert protection["interaction_type"] == "MUTUALISM" + assert "High-density axenic growth remains possible" in protection["description"] + assert protection["evidence"][1]["supports"] == "SUPPORT" + assert "progressively reduced" in protection["evidence"][1]["snippet"] + assert "grew better" in protection["evidence"][2]["snippet"] + assert protection["evidence"][4]["supports"] == "PARTIAL" + assert "beyond HOOH reduction" in protection["evidence"][4]["snippet"] + + +def test_lichen_lipid_endpoint_does_not_prove_ros_mediation(): + _, _, docs = records() + protection, product = docs[1]["ecological_interactions"][1:] + assert protection["downstream"][0]["description"].startswith("HYPOTHESIZED/PARTIAL:") + assert "interaction_type" not in product + assert ( + "54%" in product["description"] and "whole-culture" in product["evidence"][0]["explanation"] + ) + assert "not equivalent to final biomass alone" in product["description"] + assert len(docs[1]["discussions"]) == 1 + + +def test_periphyton_grouping_is_removed_but_eps_role_is_preserved(): + _, rows, docs = records() + nodes = docs[2]["ecological_interactions"] + assert len(nodes) == 5 + assert all(n["name"] != "Growth-Balanced Phototroph Grouping" for n in nodes) + assert rows[2]["removed_node_decisions"][0]["node"] == "Growth-Balanced Phototroph Grouping" + assert len(rows[2]["renamed_nodes"]) == 3 + assert nodes[0]["interaction_type"] == "COLONIZATION_FACILITATION" + assert nodes[0]["evidence"][1]["supports"] == "PARTIAL" + assert "not an added canonical member" in nodes[0]["description"] + assert all("downstream" not in n for n in nodes) + + +def test_early_periphyton_outcomes_are_diatom_scoped_not_facilitation_edges(): + _, _, docs = records() + nodes = docs[2]["ecological_interactions"] + for node in nodes[1:3]: + assert node["scope"] == "COMMUNITY_LEVEL" and "interaction_type" not in node + assert len(node["participating_taxa"]) == 1 + assert node["participating_taxa"][0]["preferred_term"] == "diatoms" + assert "6 to 7 times" in nodes[1]["evidence"][0]["snippet"] + assert "Longer incubation" in nodes[2]["evidence"][1]["snippet"] + + +def test_mature_membership_and_psii_exception_do_not_prove_redundancy(): + _, _, docs = records() + mature, stressor = docs[2]["ecological_interactions"][3:] + assert "interaction_type" not in mature and "interaction_type" not in stressor + assert "at least 22 detected" in mature["description"] + assert "three species were no longer detected" in mature["evidence"][2]["snippet"] + assert "highest-herbicide exception" in stressor["description"] + assert "100 nM terbuthylazine at 18 days" in stressor["evidence"][2]["snippet"] + assert stressor["evidence"][3]["supports"] == "PARTIAL" + + +def test_all_original_nodes_and_arrows_have_bounded_dispositions(): + ledger, rows, _ = records() + assert ledger["reviewed_counts"] == { + "original_nodes": 11, + "retained_nodes": 10, + "removed_nodes": 1, + "retained_arrows": 3, + "removed_arrows": 0, + "renamed_nodes": 3, + "graph_quotations": 27, + "discussion_quotations": 3, + "new_discussions": 2, + "preserved_discussions": 1, + } + assert ledger["unresolved_non_graph_issues"] == [1868, 1869] + assert ledger["edison"]["provider_submissions"] == ledger["edison"]["credits_spent"] == 0 + assert all(row["status"] == "reviewed" for row in rows) + for row in rows: + assert [(e["source"], e["target"]) for e in row["edges_before"]] == [ + (e["source"], e["target"]) for e in row["edges_after"] + ] + + +def test_hashes_histories_and_identity_only_participants_are_explicit(): + ledger, rows, docs = records() + assert ledger["independent_approval"] is False + for row, doc in zip(rows, docs, strict=True): + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + expected = {"ecological_interactions", "curation_history"} + if row["id"] != "CommunityMech:000363": + expected.add("discussions") + assert set(row["allowed_changed_fields"]) == expected + assert row["curation_events_added"] == len(row["history_files"]) == 1 + assert (ROOT / row["history_files"][0]).exists() + assert doc["curation_history"][-1]["llm_assisted"] is True + canonical = [ + {k: t["taxon_term"][k] for k in ["preferred_term", "term"]} for t in doc["taxonomy"] + ] + for node in doc["ecological_interactions"]: + assert all( + p in canonical and set(p) == {"preferred_term", "term"} + for p in node.get("participating_taxa", []) + ) diff --git a/tests/test_community_level_connectivity_credit.py b/tests/test_community_level_connectivity_credit.py index 79b30bc9a..d5eb174f1 100644 --- a/tests/test_community_level_connectivity_credit.py +++ b/tests/test_community_level_connectivity_credit.py @@ -107,7 +107,8 @@ def test_most_records_carry_a_community_level_interaction(survey): # #1786 re-scopes Atacama's six-member subset as a community profile (402 -> 403). # #1799 separates the Shewanella current endpoint from reverse cross-feeding (403 -> 404). # #1859 adds a scoped electrode process (407 -> 408); no new solely-credited taxa. - assert 130 <= survey["with_community_level"] <= 408, survey + # #1865 separates the scoped butanol endpoint (408 -> 409), with no new sole credit. + assert 130 <= survey["with_community_level"] <= 409, survey def test_the_mixed_records_are_where_the_coarseness_bites(survey): @@ -124,7 +125,8 @@ def test_the_mixed_records_are_where_the_coarseness_bites(survey): """ # #1772-#1774 change the mixed-record census from 125 to 128. # #1851-#1854 add four mixed-scope records; batch109 pins the exact measured census. - assert 35 <= survey["mixed"] <= 133, survey + # #1865 adds one mixed-scope record (133 -> 134); the share guard is unchanged. + assert 35 <= survey["mixed"] <= 134, survey assert survey["mixed"] + survey["community_level_only"] == survey["with_community_level"] diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py index c4e24c7d3..51706b404 100644 --- a/tests/test_participating_taxa.py +++ b/tests/test_participating_taxa.py @@ -427,7 +427,9 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example): "Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml", "Synechococcus_Saccharomyces_SPC.yaml", "Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml", + "Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml", "Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml", + "Synthetic_Periphyton_Freshwater_Biofilm.yaml", "Syntrophobacter_Methanobacterium_Syntrophy.yaml", "Syntrophobacter_Methanospirillum_Syntrophy.yaml", "Syntrophomonas_Methanospirillum_Syntrophy.yaml",