From d53c42c5e8fd0f3635b455809d6a82b97d03a4a5 Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Tue, 6 Oct 2026 17:26:47 -0700 Subject: [PATCH] Bound SC2 MFC and Mars panel graphs to measured assays --- .../Maize_SC2_RootRot_Biocontrol_SynCom.html | 106 +- ...grove_Benzene_MFC_Bioanode_Consortium.html | 89 +- ...Mars_Meteorite_EETA79001_Growth_Panel.html | 168 ++- ...ith_Cyanobacteria_Biofertilizer_Panel.html | 183 ++- .../2026-10-07T000611Z-codex-3bc578.yaml | 26 + .../2026-10-07T000611Z-codex-f325c2.yaml | 26 + .../2026-10-07T000611Z-codex-6356dd.yaml | 27 + .../2026-10-07T000612Z-codex-a47333.yaml | 27 + .../Maize_SC2_RootRot_Biocontrol_SynCom.yaml | 183 +-- ...grove_Benzene_MFC_Bioanode_Consortium.yaml | 135 +- ...Mars_Meteorite_EETA79001_Growth_Panel.yaml | 200 ++- ...ith_Cyanobacteria_Biofertilizer_Panel.yaml | 202 ++- reports/causal_graph_review/README.md | 16 + .../adversarial-review-20261006-batch68.yaml | 290 ++++ .../20261006-four-records-batch68.yaml | 369 +++++ reports/causal_graph_review/inventory.tsv | 8 +- reports/causal_graph_review/summary.json | 66 +- .../validation-20261006-batch68.json | 1253 +++++++++++++++++ tests/test_causal_review_batch68.py | 157 +++ tests/test_participating_taxa.py | 2 + 20 files changed, 2992 insertions(+), 541 deletions(-) create mode 100644 history/records/Maize_SC2_RootRot_Biocontrol_SynCom/2026-10-07T000611Z-codex-3bc578.yaml create mode 100644 history/records/Mangrove_Benzene_MFC_Bioanode_Consortium/2026-10-07T000611Z-codex-f325c2.yaml create mode 100644 history/records/Mars_Meteorite_EETA79001_Growth_Panel/2026-10-07T000611Z-codex-6356dd.yaml create mode 100644 history/records/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel/2026-10-07T000612Z-codex-a47333.yaml create mode 100644 reports/causal_graph_review/adversarial-review-20261006-batch68.yaml create mode 100644 reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml create mode 100644 reports/causal_graph_review/validation-20261006-batch68.json create mode 100644 tests/test_causal_review_batch68.py diff --git a/docs/communities/Maize_SC2_RootRot_Biocontrol_SynCom.html b/docs/communities/Maize_SC2_RootRot_Biocontrol_SynCom.html index dd73892fc..e8616b35c 100644 --- a/docs/communities/Maize_SC2_RootRot_Biocontrol_SynCom.html +++ b/docs/communities/Maize_SC2_RootRot_Biocontrol_SynCom.html @@ -648,7 +648,7 @@

Ecological Interactions

Ecological interaction network for Maize SC2 Root-Rot Biocontrol SynCom - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (mutualism, competition). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
@@ -656,13 +656,8 @@

Ecological Interactions

Mutualism -
-
- Competition + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -671,9 +666,8 @@

Ecological Interactions

Pythium torulosum suppression by SC2

- COMPETITION
-

SC2 inhibited the oomycete pathogen Pythium torulosum in PDA dual-culture assays at a level comparable to C7 and, in maize growth-chamber assays, protected B73 seedlings from P. torulosum while improving plant height and root biomass more than either a pathogen-only challenge or the parent C7 community.

+

The three-member SC2 inhibited Pythium torulosum radial growth on PDA after seven days, comparably to C7. In a separate growth-chamber experiment, SC2-treated B73 seedlings challenged with Pythium had improved height and fresh root biomass at 14 days. These positive antagonist and protection phenotypes do not isolate nutrient competition, secreted antimicrobials or host immune activation. The three canonical bacterial terms identify the curated SC2 roster; Pythium is an external challenge organism, not an inoculum member. Exact strain-number and ZK-alias mapping is preserved, not independently recertified.

@@ -694,17 +688,6 @@

Pythium torulosum suppression by SC2

-

Biological Processes:

- -
@@ -712,7 +695,7 @@

Pythium torulosum suppression by SC2

→ Maize growth promotion under Pythium challenge -

Reduced pathogen pressure in the SC2 plus P. torulosum treatment was accompanied by higher maize plant height and fresh root biomass than the C7 plus P. torulosum treatment.

+

HYPOTHESIZED - pathogen inhibition could reduce injury and thereby contribute to improved maize growth under challenge. Plate inhibition and plant height/root-mass outcomes support this interpretation, but inhibition was not selectively separated from direct growth promotion in the pot experiment; pathogen load and immune mediation were not established.

@@ -755,9 +738,8 @@

Evidence

Maize growth promotion under Pythium challenge

- MUTUALISM
-

Maize seeds soaked with SC2 before growth in P. torulosum-infested potting mix developed greater 14-day plant height and fresh root biomass than C7- or pathogen-only treatments, linking the reduced community to a plant-beneficial outcome under oomycete stress.

+

SC2 seed treatment improved B73 maize height and fresh root biomass after 14 days in Pythium-infested potting mix relative to the challenged comparison treatments, with SC1 and SC2 outperforming C7 in the reported experiment. These are treatment-level plant benefits, not reciprocal bacterial benefit, field yield or proof of IAA-mediated protection. Zea mays is an external host, not a fourth bacterial inoculum member. The candidate IAA mechanism derives from a separate culture assay, not a measured plant hormone pool or traced bacterial-to-host delivery.

@@ -823,13 +805,22 @@

Evidence

-

SC2 auxin and siderophore output

- MUTUALISM +

SC2 Salkowski and CAS assay outputs

-

As a whole consortium, SC2 accumulated about 45 ug/mL indole-3-acetic acid by day 2 and about 65 ug/mL by day 7, the highest measured IAA output among the assayed C7-derived communities; SC2 also produced a significant 0.50 cm CAS-agar siderophore halo at day 7.

+

SC2 culture supernatants gave Salkowski estimates of approximately 45 ug/mL at day 2 and 65 ug/mL at day 7 against a pure-IAA calibration, highest among the tested C7-derived communities. CAS agar activity was reported as a 0.50 cm halo at day 7 (p=0.015 versus control). Retain the authors auxin and siderophore interpretation at assay scope: these colorimetric and halo measurements do not resolve molecular identities, biosynthetic pathways, member-specific contributions, plant delivery or reciprocal mutualism. They were not selective mediator perturbations of the plant or pathogen assays.

+ + + + +

Participating Taxa: + + Enterobacter cloacae S4, + Stenotrophomonas maltophilia S1, + Chryseobacterium indologenes S5 +

@@ -847,17 +838,6 @@

SC2 auxin and siderophore output

-

Biological Processes:

-
    - -
  • - indole-3-acetic acid biosynthetic process - (GO:0009684) -
  • - -
- @@ -901,7 +881,7 @@

Evidence

-

Knowledge gaps & discussions (1)

+

Knowledge gaps & discussions (2)

@@ -911,7 +891,22 @@

Kaki et al. 2026 showed that the S4/S1/S5 subcommunity inhibited Pythium in plate assays, protected maize in growth-chamber assays, and produced high IAA plus significant siderophore activity, but the specific antimicrobials, responsible members, and causal links among siderophores, auxin, root growth, and oomycete suppression remain unresolved.

-

Attaches to: ecological_interactions#Pythium torulosum suppression by SC2, ecological_interactions#SC2 auxin and siderophore output

+

Attaches to: ecological_interactions#Pythium torulosum suppression by SC2, ecological_interactions#SC2 Salkowski and CAS assay outputs

+ + + + +
+ +
+

+ KNOWLEDGE_GAP + OPEN + Which SC2 processes mediate pathogen protection and maize growth? +

+

Preserve positive inhibition, plant benefit and biochemical assays. Qualify the existing suppression-to-growth arrow and retain the earlier open metabolite question. Competition, immune activation, reciprocal benefit and IAA/siderophore necessity were not established. External pathogen and host participants remain as in #888; #887 incidental metal and #889 removed design pseudo-node remain unchanged. #1582 is the graph repair; #1586 and #1580 track non-graph mapping/metadata. No new structure.

+ +

Attaches to: ecological_interactions#Pythium torulosum suppression by SC2, ecological_interactions#Maize growth promotion under Pythium challenge, ecological_interactions#SC2 Salkowski and CAS assay outputs

@@ -1200,15 +1195,11 @@

Evidence

(function() { var intId = "interaction:0"; - var intType = "COMPETITION"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("defense response"); - - var evidenceCount = 2; nodes.push({ @@ -1245,7 +1236,7 @@

Evidence

(function() { var intId = "interaction:1"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1294,7 +1285,7 @@

Evidence

(function() { var intId = "interaction:2"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1305,15 +1296,11 @@

Evidence

var processes = []; - - processes.push("indole-3-acetic acid biosynthetic process"); - - var evidenceCount = 2; nodes.push({ id: intId, - label: "SC2 auxin and siderophore output", + label: "SC2 Salkowski and CAS assay outputs", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1324,6 +1311,21 @@

Evidence

+ var participantKeys = [ + + "Enterobacter cloacae S4", + + "Stenotrophomonas maltophilia S1", + + "Chryseobacterium indologenes S5" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/docs/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.html b/docs/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.html index 4995bd934..97f387da5 100644 --- a/docs/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.html +++ b/docs/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.html @@ -647,17 +647,12 @@

Ecological Interactions

Ecological interaction network for Mangrove Benzene MFC Bioanode Consortium - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (niche partitioning). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
Taxon
-
- Niche partitioning -
-

Benzene-fed bioanode niche shift

- NICHE_PARTITIONING +

Benzene-fed bioanode composition shift

-

The shift from sodium acetate to benzene depleted the sodium-acetate-linked Comamonas signal and selected a benzene-fed bioanode in which Bacillus and Arcobacter together comprised 63.21% of genus-level 16S assignments. -

+

After sequential acclimation from acetate to benzene, relative 16S genus profiles showed Bacillus at 32.93% and Arcobacter at 30.28%, with Pelobacter and Pseudomonas also detected. These four canonical genera are a resolved subset, not a complete or necessarily active consortium. The compositional change supports substrate-associated selection but does not measure absolute expansion, niche partitioning, species identity or taxon-specific benzene degradation/electron transfer. Feed composition and biofilm acclimation changed together; no selective genus removal established the mediator of increased power.

@@ -682,7 +675,11 @@

Benzene-fed bioanode niche shift

Bacillus, - Arcobacter + Arcobacter, + + Pelobacter, + + Pseudomonas

@@ -698,23 +695,6 @@

Benzene-fed bioanode niche shift

-

Biological Processes:

-
    - -
  • - xenobiotic metabolic process - (GO:0006805) -
  • - -
  • - electron transport chain - (GO:0022900) -
  • - -
-
@@ -722,8 +702,7 @@

Benzene-fed bioanode niche shift

→ Benzene removal with voltage generation -

The benzene-selected bioanode removed benzene while producing a higher maximum voltage and power density than the acetate-fed bioanode. -

+

HYPOTHESIZED - substrate-associated community restructuring could increase the bioanode capacity for benzene conversion and electron transfer, as proposed by the authors. Whole-biofilm chemical and electrochemical measurements support performance, but relative genus enrichment does not isolate composition from substrate/acclimation effects or establish Bacillus and Arcobacter as necessary catalytic partners.

@@ -754,8 +733,7 @@

Evidence

Benzene removal with voltage generation

-

The benzene-acclimated MFC bioanode removed 98.7 +/- 2.4% of the supplied benzene within 96 h and generated up to 902.3 +/- 20.6 mV during the high-benzene feed cycle. -

+

The acclimated whole-biofilm MFC removed 98.7 +/- 2.4% of benzene within 96 h while generating electricity. Maximum voltage was 902.3 +/- 20.6 mV in cycle VI (250 mg/L benzene); the final 330 mg/L cycle VII reached 899.9 +/- 15.2 mV. Power density at 330 mg/L was 390.1 +/- 26 mW/m2 versus 238.8 +/- 19 with acetate, not a 100-fold acetate improvement. The abiotic control lacked sustained output voltage. Main-text GC/HPLC results report transient acetate/butyrate and final gaseous products, supporting whole-system conversion without tracing complete carbon fate or proving partner exchange. DET versus mediated transfer and catalytic roles of individual genera remain unresolved; the named participants are a partial roster.

@@ -764,7 +742,11 @@

Benzene removal with voltage generation

Bacillus, - Arcobacter + Arcobacter, + + Pelobacter, + + Pseudomonas

@@ -834,7 +816,7 @@

Evidence

-

Knowledge gaps & discussions (1)

+

Knowledge gaps & discussions (2)

@@ -845,7 +827,22 @@

The ACS Omega full text reports genus-level 16S abundances in the final benzene-fed MFC but does not expose species-level identities, raw sequence accessions, or a direct metagenomic assignment of benzene-degradation and electron-transfer genes to each genus. The source also reports a genus spelled Desulfurumonas at 1.64% abundance; that member was not curated here until the label can be resolved against NCBI or GTDB.

-

Attaches to: taxonomy, ecological_interactions#Benzene-fed bioanode niche shift

+

Attaches to: taxonomy, ecological_interactions#Benzene-fed bioanode composition shift

+ + + + +

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which members and electron-transfer routes mediate whole-bioanode performance? +

+

Retain positive removal, product and electrochemical observations, while composition mediation remains HYPOTHESIZED. Relative genus profiles and other-strain literature cannot establish exact-system partner roles, niche partitioning, carbon balance or DET rather than MET. The prior #1124 removal of Bacillus PRIMARY_DEGRADER remains; Arcobacter non-graph role and Daphnia species metadata remain under #1586. Main Table 1 read, not separate supporting spectra/chromatograms or original figure pixels. #1583 repair adds no new structure.

+ +

Attaches to: ecological_interactions#Benzene-fed bioanode composition shift, ecological_interactions#Benzene removal with voltage generation

@@ -1287,7 +1284,7 @@

Evidence

(function() { var intId = "interaction:0"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1296,17 +1293,11 @@

Evidence

var processes = []; - - processes.push("xenobiotic metabolic process"); - - processes.push("electron transport chain"); - - var evidenceCount = 1; nodes.push({ id: intId, - label: "Benzene-fed bioanode niche shift", + label: "Benzene-fed bioanode composition shift", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1321,7 +1312,11 @@

Evidence

"Bacillus", - "Arcobacter" + "Arcobacter", + + "Pelobacter", + + "Pseudomonas" ]; participantKeys.forEach(function(key) { @@ -1366,7 +1361,11 @@

Evidence

"Bacillus", - "Arcobacter" + "Arcobacter", + + "Pelobacter", + + "Pseudomonas" ]; participantKeys.forEach(function(key) { diff --git a/docs/communities/Mars_Meteorite_EETA79001_Growth_Panel.html b/docs/communities/Mars_Meteorite_EETA79001_Growth_Panel.html index 3ebf814d3..35db6fe33 100644 --- a/docs/communities/Mars_Meteorite_EETA79001_Growth_Panel.html +++ b/docs/communities/Mars_Meteorite_EETA79001_Growth_Panel.html @@ -634,7 +634,7 @@

Ecological Interactions

Ecological interaction network for Mars Meteorite EETA79001 Microbial Growth Panel - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (niche partitioning). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
@@ -642,8 +642,8 @@

Ecological Interactions

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

Ecological Interactions

EETA79001 Mineral Nutrient Supply

- NICHE_PARTITIONING
-

Mars meteorite EETA79001 sawdust was tested as the sole nutrient source for the panel, with its aqueous leachate providing phosphate, nitrate, sulfate, calcium, and magnesium ions relevant to bacterial growth and maintenance.

+

The organisms were assayed separately, not as a coculture. COMMUNITY_LEVEL is retained as the current container for shared abiotic/panel observations, not evidence of emergent community activity; record-model placement remains OPEN under #573. EETA79001 sawdust supplied the intended nutrient substrate under terrestrial laboratory conditions. Earlier leachate analyses cited in the paper reported phosphate, nitrate, sulfate and calcium among candidate resources; the growth experiment did not quantify uptake or selectively test each ion. This low-perchlorate meteorite is not representative of all Martian surface regolith, and the assay does not establish growth in a Mars atmosphere, absence of toxicity generally or a complete regolith-derived carbon budget.

+

Participating Taxa: + + Escherichia coli B, + + Eucapsis sp., + + Chroococcidiopsis sp. Chr20-20201027-1, + + Planococcus halocryophilus + +

+

Metabolites: @@ -683,25 +694,14 @@

EETA79001 Mineral Nutrient Supply

-

Biological Processes:

- -
Downstream Effects:
- → Regolith-Water Growth Assay -

Inorganic nutrients leached from the meteorite sawdust made water-amended EETA79001 a usable growth substrate instead of an inert particulate control.

+ → Hydration-dependent regolith growth and survival +

PARTIAL - hydration can make meteorite-associated resources available and thereby support growth or persistence in the separate cultures. Regolith/water treatments and water-only controls support a substrate contribution for some organisms, but ion-specific mediation was not isolated and E. coli also persisted in water-only controls.

@@ -743,13 +743,24 @@

Evidence

-

Regolith-Water Growth Assay

- NICHE_PARTITIONING +

Hydration-dependent regolith growth and survival

-

Adding water to EETA79001 sawdust across regolith:water ratios created the aqueous substrate space used to quantify growth and survival of all four separately inoculated panel organisms.

+

The organisms were assayed separately, not as a coculture. COMMUNITY_LEVEL is retained as the current container for shared abiotic/panel observations, not evidence of emergent community activity; record-model placement remains OPEN under #573. Water-amended 20 mg sawdust treatments supported condition-dependent growth and survival over about 22-23 days. The wetter treatments generally prolonged heterotroph recovery; dry-design controls still received a wet inoculum. Cyanobacterial most-probable-number recovery after resuscitation and bacterial CFU plating measure different viable-recovery endpoints, not direct continuous cell production or comparable biomass flux. The regolith:water series and water-only controls should not be conflated into a single growth condition or a guarantee that every organism proliferated.

+ + + +

Participating Taxa: + Escherichia coli B, + Eucapsis sp., + + Chroococcidiopsis sp. Chr20-20201027-1, + + Planococcus halocryophilus + +

@@ -776,16 +787,6 @@

Regolith-Water Growth Assay

-
- Downstream Effects: - -
- → Extremophile-Weighted Regolith Persistence -

Growth across the water-amended regolith series exposed the stronger longer-term survival of Chr20 and Planococcus halocryophilus relative to the nonextremophile comparators.

-
- -
-

Evidence

@@ -810,13 +811,24 @@

Evidence

-

Extremophile-Weighted Regolith Persistence

- NICHE_PARTITIONING +

Strain-specific regolith persistence

-

The Atacama cyanobacterium Chr20 and cold-adapted Planococcus halocryophilus persisted better in the EETA79001 regolith assays than their Eucapsis and Escherichia coli comparators.

+

The organisms were assayed separately, not as a coculture. COMMUNITY_LEVEL is retained as the current container for shared abiotic/panel observations, not evidence of emergent community activity; record-model placement remains OPEN under #573. Chr20 maintained or increased recoverable counts more successfully than Eucapsis, while Planococcus halocryophilus showed strong early growth relative to E. coli in regolith. Planococcus late persistence depended on hydration, chiefly the wettest 1:5 condition; most other ratios fell below quantification after approximately 14-17 days. E. coli survived in water alone and declined from its starting count in regolith. Unequal initial phototroph counts, MPN versus CFU methods and differing water ratios preclude a pooled universal extremophile-fitness ranking. Below quantification does not establish extinction.

+ + + +

Participating Taxa: + Escherichia coli B, + Eucapsis sp., + + Chroococcidiopsis sp. Chr20-20201027-1, + + Planococcus halocryophilus + +

@@ -846,7 +858,7 @@

Evidence

PMID:38665180 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
"Chr20 fared much better than Eucapsis by an order of magnitude and was able to survive and proliferate beyond its initial viable count regardless of the regolith:water ratio for the 22 days"
@@ -859,7 +871,7 @@

Evidence

PMID:38665180 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
"P. halocryophilus growth and survival was significantly better in the regolith at all ratios than the E. coli and showed strong growth overall."
@@ -875,6 +887,25 @@

Evidence

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which abiotic resources explain strain-specific growth in the separate meteorite assays? +

+

Preserve positive growth/persistence and hydration contrasts without niche partitioning or a procedure-to-result arrow. Nutrient-specific uptake, carbon provenance, evaporation and salt effects are unresolved mechanisms. The current panel container is explicitly provisional under existing #573, not a resolved community model. #1584 repairs the graph and #1586 tracks stale zero-interaction and vessel/volume metadata; prior #574 panel framing preserved. Main text/captions read, not Supplementary Note 1, original images or raw counts. No new structure.

+ +

Attaches to: ecological_interactions#EETA79001 Mineral Nutrient Supply, ecological_interactions#Hydration-dependent regolith growth and survival, ecological_interactions#Strain-specific regolith persistence

+ + + + +
+ +
@@ -1216,7 +1247,7 @@

Evidence

(function() { var intId = "interaction:0"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1231,10 +1262,6 @@

Evidence

var processes = []; - - processes.push("growth"); - - var evidenceCount = 2; nodes.push({ @@ -1250,11 +1277,28 @@

Evidence

+ var participantKeys = [ + + "Escherichia coli B", + + "Eucapsis sp.", + + "Chroococcidiopsis sp. Chr20-20201027-1", + + "Planococcus halocryophilus" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { var intId = "interaction:1"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1271,7 +1315,7 @@

Evidence

nodes.push({ id: intId, - label: "Regolith-Water Growth Assay", + label: "Hydration-dependent regolith growth and survival", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1282,11 +1326,28 @@

Evidence

+ var participantKeys = [ + + "Escherichia coli B", + + "Eucapsis sp.", + + "Chroococcidiopsis sp. Chr20-20201027-1", + + "Planococcus halocryophilus" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { var intId = "interaction:2"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1299,7 +1360,7 @@

Evidence

nodes.push({ id: intId, - label: "Extremophile-Weighted Regolith Persistence", + label: "Strain-specific regolith persistence", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1310,6 +1371,23 @@

Evidence

+ var participantKeys = [ + + "Escherichia coli B", + + "Eucapsis sp.", + + "Chroococcidiopsis sp. Chr20-20201027-1", + + "Planococcus halocryophilus" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/docs/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.html b/docs/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.html index 1328599bc..9f266e35f 100644 --- a/docs/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.html +++ b/docs/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.html @@ -634,7 +634,7 @@

Ecological Interactions

Ecological interaction network for Mars Regolith Cyanobacteria/Microalga Biofertilizer Panel - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (commensalism, niche partitioning). + 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.
@@ -642,13 +642,8 @@

Ecological Interactions

Commensalism -
-
- Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -657,12 +652,23 @@

Ecological Interactions

MGS-1 Regolith Extract Nutrient Supply

- NICHE_PARTITIONING
-

Mars Global Simulant MGS-1 was extracted with water to make the poor martian-resource medium whose sulfur, potassium, and calcium content supplied a subset of the nutrients needed by the photosynthetic panel.

+

The organisms were assayed separately, not as a coculture. COMMUNITY_LEVEL is retained as the current container for shared abiotic/panel observations, not evidence of emergent community activity; record-model placement remains OPEN under #573. Autoclaved MGS-1 aqueous extract contained measured S, K and Ca and smaller amounts of other elements (main Table 1). Element totals do not establish ionic speciation, bioavailable uptake or a complete growth medium. Phosphorus was not detected in the extract, and 5 mL of established inoculum was added to 75 mL treatment, so intracellular reserves and medium carryover cannot be excluded. Cultivation used an Earth-like atmosphere, not exposed Martian surface conditions.

+ + + +

Participating Taxa: + Anabaena cylindrica, + Nostoc muscorum, + + Arthrospira platensis, + + Chlorella vulgaris + +

@@ -684,25 +690,14 @@

MGS-1 Regolith Extract Nutrient Supply

-

Biological Processes:

- -
Downstream Effects:
- → Diazotrophic Mars Extract Growth Advantage -

The MGS-1 aqueous extract provided the mineral and water resource base on which the nitrogen-fixing cyanobacteria outperformed the non-diazotrophic panel members.

+ → Separate-culture growth on Mars regolith extract +

PARTIAL - water-extracted MGS-1 resources could support the observed growth above water-only controls. The authors propose nitrogen-fixing capacity as an explanation for differential performance, but nitrogen flux, ion requirements and reserve/carryover contributions were not independently isolated; species traits and growth rates differ.

@@ -731,14 +726,25 @@

Evidence

-

Diazotrophic Mars Extract Growth Advantage

- NICHE_PARTITIONING +

Separate-culture growth on Mars regolith extract

-

The diazotrophic cyanobacteria Nostoc muscorum and Anabaena cylindrica thrived in short-term Mars regolith extract culture, whereas the non-nitrogen-fixing Arthrospira platensis and Chlorella vulgaris did not.

+

The organisms were assayed separately, not as a coculture. COMMUNITY_LEVEL is retained as the current container for shared abiotic/panel observations, not evidence of emergent community activity; record-model placement remains OPEN under #573. Over 25 days, OD440 and photosystem-II fluorescence supported stronger growth of Nostoc muscorum and Anabaena cylindrica in regolith extract than Arthrospira platensis or Chlorella vulgaris. Nostoc was most consistent; Anabaena fluorescence declined after day 15 and biomass browned later. Arthrospira had mild visible growth and clumping that limited optical measurements, so categorical absence of viable growth is too strong. Photosynthetic efficiency is not measured oxygen production. Diazotrophy is an author-proposed explanation, not directly measured N2 fixation or an interaction among the four organisms.

+

Participating Taxa: + + Anabaena cylindrica, + + Nostoc muscorum, + + Arthrospira platensis, + + Chlorella vulgaris + +

+ @@ -752,12 +758,6 @@

Diazotrophic Mars Extract Growth Advantage

class="term-link" target="_blank" rel="noopener noreferrer">GO:0015979) -
  • - nitrogen fixation - (GO:0009399) -
  • -
  • growth (Diazotrophic Mars Extract Growth Advantage -
    - Downstream Effects: - -
    - → End-of-Life Biomass Biofertilization -

    The 25-day phototroph cultures produced the cyanobacterial and microalgal biomass subsequently supplied to Lemna minor as filtered or sonicated biofertilizer treatments.

    -
    - -
    -

    Evidence

    @@ -789,7 +779,7 @@

    Evidence

    PMID:35865930 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
  • "N. muscorum showed the best growth performance when compared to the other species, while A. platensis and C. vulgaris were not able to thrive on Mars regolith extract."
    @@ -802,7 +792,7 @@

    Evidence

    PMID:35865930 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "C. vulgaris was unable to grow, while N. muscorum and A. cylindrica thrived in Mars regolith extract."
    @@ -815,13 +805,24 @@

    Evidence

    -

    End-of-Life Biomass Biofertilization

    - COMMENSALISM +

    Processed-culture Lemna biofertilization

    -

    Biomass from the Mars-regolith-grown phototroph cultures acted as a biofertilizer for Lemna minor, with Arthrospira- and Chlorella-derived treatments stimulating duckweed dry weight to levels comparable to standard synthetic medium.

    +

    Separate 25-day regolith-extract cultures were filtered through 0.45-um membranes or sonicated and supplied as media for a seven-day Lemna minor assay. Arthrospira filtrate and sonicate, and Chlorella filtrate, supported dry-weight yields not significantly different from Steinberg medium, while frond yields remained lower. Filtered versus sonicated treatments of the same species did not significantly differ. These positive processed-material effects are not live commensalism or statistical proof of equivalence. The better-growing Nostoc cultures gave the lowest Lemna yield, so phototroph growth advantage does not establish biofertilizer advantage. Nutrient profiles suggest possible mediation, but carryover, released contents and other metabolites were not selectively isolated. Lemna is the external recipient, not part of the four-phototroph inoculum roster.

    + + +

    Participating Taxa: + Anabaena cylindrica, + + Nostoc muscorum, + + Arthrospira platensis, + + Chlorella vulgaris + +

    @@ -863,7 +864,7 @@

    Evidence

    PMID:35865930 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "Cyanobacteria and microalgae (A. platensis and C. vulgaris) showed good abilities as biofertilizing agents, i.e., they stimulated biomass (i.e., dry weight) production at levels comparable to the plants that grew on standard synthetic medium."
    @@ -879,6 +880,25 @@

    Evidence

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + Which resources mediate phototroph growth and the separate Lemna material-transfer effect? +

    +

    Retain extract chemistry, positive separate-culture growth and processed-material benefits. Remove the growth-advantage-to-fertilizer workflow arrow: the stronger phototroph growers were not the strongest fertilizer treatments. Nitrogen fixation, phosphate reserves, carryover and specific nutrients remain candidate mechanisms. Living partner benefit and oxygen flux were not measured. #573 remains the shared panel-modeling question; #1585 graph repair and #1586 non-graph assay metadata are distinct. Main Table 1/captions read, not separate supplementary elemental tables/images or raw data. No new nodes/arrows.

    + +

    Attaches to: ecological_interactions#MGS-1 Regolith Extract Nutrient Supply, ecological_interactions#Separate-culture growth on Mars regolith extract, ecological_interactions#Processed-culture Lemna biofertilization

    + + + + +
    + +
    @@ -1294,7 +1314,7 @@

    Evidence

    (function() { var intId = "interaction:0"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1307,10 +1327,6 @@

    Evidence

    var processes = []; - - processes.push("photosynthesis"); - - var evidenceCount = 1; nodes.push({ @@ -1326,11 +1342,28 @@

    Evidence

    + var participantKeys = [ + + "Anabaena cylindrica", + + "Nostoc muscorum", + + "Arthrospira platensis", + + "Chlorella vulgaris" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { var intId = "interaction:1"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1338,8 +1371,6 @@

    Evidence

    processes.push("photosynthesis"); - processes.push("nitrogen fixation"); - processes.push("growth"); @@ -1347,7 +1378,7 @@

    Evidence

    nodes.push({ id: intId, - label: "Diazotrophic Mars Extract Growth Advantage", + label: "Separate-culture growth on Mars regolith extract", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1358,11 +1389,28 @@

    Evidence

    + var participantKeys = [ + + "Anabaena cylindrica", + + "Nostoc muscorum", + + "Arthrospira platensis", + + "Chlorella vulgaris" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); (function() { var intId = "interaction:2"; - var intType = "COMMENSALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1381,7 +1429,7 @@

    Evidence

    nodes.push({ id: intId, - label: "End-of-Life Biomass Biofertilization", + label: "Processed-culture Lemna biofertilization", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1392,6 +1440,23 @@

    Evidence

    + var participantKeys = [ + + "Anabaena cylindrica", + + "Nostoc muscorum", + + "Arthrospira platensis", + + "Chlorella vulgaris" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/history/records/Maize_SC2_RootRot_Biocontrol_SynCom/2026-10-07T000611Z-codex-3bc578.yaml b/history/records/Maize_SC2_RootRot_Biocontrol_SynCom/2026-10-07T000611Z-codex-3bc578.yaml new file mode 100644 index 000000000..2ad8014de --- /dev/null +++ b/history/records/Maize_SC2_RootRot_Biocontrol_SynCom/2026-10-07T000611Z-codex-3bc578.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml + slug: Maize_SC2_RootRot_Biocontrol_SynCom +session: + id: 2026-10-07T000611Z-codex-3bc578 + timestamp: '2026-10-07T00:06:11Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1582 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain plate inhibition and plant protection, not competition or immune mechanism.; + Retain plant benefit under challenge, not reciprocal mutualism or demonstrated IAA mediation.; + Retain Salkowski/CAS outputs with chemical-identity, pathway and host-transfer limits. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml diff --git a/history/records/Mangrove_Benzene_MFC_Bioanode_Consortium/2026-10-07T000611Z-codex-f325c2.yaml b/history/records/Mangrove_Benzene_MFC_Bioanode_Consortium/2026-10-07T000611Z-codex-f325c2.yaml new file mode 100644 index 000000000..a18d7360c --- /dev/null +++ b/history/records/Mangrove_Benzene_MFC_Bioanode_Consortium/2026-10-07T000611Z-codex-f325c2.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml + slug: Mangrove_Benzene_MFC_Bioanode_Consortium +session: + id: 2026-10-07T000611Z-codex-f325c2 + timestamp: '2026-10-07T00:06:11Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1583 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain relative genus response at partial-roster scope, not partitioning or isolated + catalytic mediation.; Retain positive whole-system removal and power with cycle-specific + voltage and unresolved member flux. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml diff --git a/history/records/Mars_Meteorite_EETA79001_Growth_Panel/2026-10-07T000611Z-codex-6356dd.yaml b/history/records/Mars_Meteorite_EETA79001_Growth_Panel/2026-10-07T000611Z-codex-6356dd.yaml new file mode 100644 index 000000000..4db1e59ad --- /dev/null +++ b/history/records/Mars_Meteorite_EETA79001_Growth_Panel/2026-10-07T000611Z-codex-6356dd.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml + slug: Mars_Meteorite_EETA79001_Growth_Panel +session: + id: 2026-10-07T000611Z-codex-6356dd + timestamp: '2026-10-07T00:06:11Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1584 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain bounded abiotic resource hypothesis from cited leachate chemistry, not niche + partitioning.; Retain hydration-dependent viable-recovery observations; remove assay-order + causation.; Retain strain-specific positive persistence with late-time and water-control + exceptions. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml diff --git a/history/records/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel/2026-10-07T000612Z-codex-a47333.yaml b/history/records/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel/2026-10-07T000612Z-codex-a47333.yaml new file mode 100644 index 000000000..1242337b3 --- /dev/null +++ b/history/records/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel/2026-10-07T000612Z-codex-a47333.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml + slug: Mars_Regolith_Cyanobacteria_Biofertilizer_Panel +session: + id: 2026-10-07T000612Z-codex-a47333 + timestamp: '2026-10-07T00:06:12Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1585 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain measured extract chemistry with speciation, carryover and phosphorus limits.; + Retain species-specific optical growth/photophysiology, not measured nitrogen flux; remove + workflow arrow.; Retain processed-culture plant benefit with endpoint and treatment specificity, + not live commensalism. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml diff --git a/kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml b/kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml index 807b8e8d6..4d80f8ab0 100644 --- a/kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml +++ b/kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml @@ -212,13 +212,12 @@ taxonomy: maize root seven-strain consortium from which Kaki et al. selected SC2. ecological_interactions: - name: Pythium torulosum suppression by SC2 - description: >- - SC2 inhibited the oomycete pathogen Pythium torulosum in PDA dual-culture - assays at a level comparable to C7 and, in maize growth-chamber assays, - protected B73 seedlings from P. torulosum while improving plant height and - root biomass more than either a pathogen-only challenge or the parent C7 - community. - interaction_type: COMPETITION + description: The three-member SC2 inhibited Pythium torulosum radial growth on PDA after seven days, comparably + to C7. In a separate growth-chamber experiment, SC2-treated B73 seedlings challenged with Pythium had improved + height and fresh root biomass at 14 days. These positive antagonist and protection phenotypes do not isolate + nutrient competition, secreted antimicrobials or host immune activation. The three canonical bacterial terms + identify the curated SC2 roster; Pythium is an external challenge organism, not an inoculum member. Exact strain-number + and ZK-alias mapping is preserved, not independently recertified. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Enterobacter cloacae S4 @@ -237,45 +236,34 @@ ecological_interactions: term: id: NCBITaxon:4799 label: Pythium torulosum - biological_processes: - - preferred_term: defense response - term: - id: GO:0006952 - label: defense response downstream: - target: Maize growth promotion under Pythium challenge - description: >- - Reduced pathogen pressure in the SC2 plus P. torulosum treatment was - accompanied by higher maize plant height and fresh root biomass than the - C7 plus P. torulosum treatment. + description: HYPOTHESIZED - pathogen inhibition could reduce injury and thereby contribute to improved maize + growth under challenge. Plate inhibition and plant height/root-mass outcomes support this interpretation, + but inhibition was not selectively separated from direct growth promotion in the pot experiment; pathogen + load and immune mediation were not established. evidence: - reference: PMID:42039819 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - All sub-communities displayed inhibition comparable to that of the - established biocontrol community C7 - explanation: >- - Supports SC2 inhibition of Pythium torulosum in the plate assay. + snippet: All sub-communities displayed inhibition comparable to that of the established biocontrol community + C7 + explanation: Supports SC2 inhibition of Pythium torulosum in the plate assay. - reference: PMID:42039819 supports: SUPPORT evidence_source: IN_VIVO - snippet: >- - Among the sub-communities tested, SC1 (comprising strains S4, S6, and S7) - and SC2 (comprising strains S4, S1, and S5) consistently showed enhanced - protection from the pathogen and promoted plant growth traits - significantly more than both the non-inoculated control and the C7 - community. - explanation: >- - Supports the Pythium-challenge growth-chamber phenotype of SC2 relative - to uninoculated and C7 controls. + snippet: Among the sub-communities tested, SC1 (comprising strains S4, S6, and S7) and SC2 (comprising strains + S4, S1, and S5) consistently showed enhanced protection from the pathogen and promoted plant growth traits + significantly more than both the non-inoculated control and the C7 community. + explanation: Supports the Pythium-challenge growth-chamber phenotype of SC2 relative to uninoculated and C7 + controls. - name: Maize growth promotion under Pythium challenge - description: >- - Maize seeds soaked with SC2 before growth in P. torulosum-infested potting - mix developed greater 14-day plant height and fresh root biomass than C7- or - pathogen-only treatments, linking the reduced community to a plant-beneficial - outcome under oomycete stress. - interaction_type: MUTUALISM + description: SC2 seed treatment improved B73 maize height and fresh root biomass after 14 days in Pythium-infested + potting mix relative to the challenged comparison treatments, with SC1 and SC2 outperforming C7 in the reported + experiment. These are treatment-level plant benefits, not reciprocal bacterial benefit, field yield or proof + of IAA-mediated protection. Zea mays is an external host, not a fourth bacterial inoculum member. The candidate + IAA mechanism derives from a separate culture assay, not a measured plant hormone pool or traced bacterial-to-host + delivery. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Enterobacter cloacae S4 @@ -299,6 +287,8 @@ ecological_interactions: term: id: CHEBI:16411 label: indole-3-acetic acid + notes: Candidate mediator from a separate Salkowski culture-supernatant assay; not measured in the maize plant + experiment or selectively established as its cause. biological_processes: - preferred_term: plant growth term: @@ -308,51 +298,59 @@ ecological_interactions: - reference: PMID:42039819 supports: SUPPORT evidence_source: IN_VIVO - snippet: >- - Among the sub-communities tested, SC1 (comprising strains S4, S6, and S7) - and SC2 (comprising strains S4, S1, and S5) consistently showed enhanced - protection from the pathogen and promoted plant growth traits - significantly more than both the non-inoculated control and the C7 - community. - explanation: >- - Supports plant growth promotion by SC2 under Pythium torulosum challenge. -- name: SC2 auxin and siderophore output - description: >- - As a whole consortium, SC2 accumulated about 45 ug/mL - indole-3-acetic acid by day 2 and about 65 ug/mL by day 7, the highest - measured IAA output among the assayed C7-derived communities; SC2 also - produced a significant 0.50 cm CAS-agar siderophore halo at day 7. - interaction_type: MUTUALISM + snippet: Among the sub-communities tested, SC1 (comprising strains S4, S6, and S7) and SC2 (comprising strains + S4, S1, and S5) consistently showed enhanced protection from the pathogen and promoted plant growth traits + significantly more than both the non-inoculated control and the C7 community. + explanation: Supports plant growth promotion by SC2 under Pythium torulosum challenge. +- name: SC2 Salkowski and CAS assay outputs + description: 'SC2 culture supernatants gave Salkowski estimates of approximately 45 ug/mL at day 2 and 65 ug/mL + at day 7 against a pure-IAA calibration, highest among the tested C7-derived communities. CAS agar activity + was reported as a 0.50 cm halo at day 7 (p=0.015 versus control). Retain the authors auxin and siderophore interpretation + at assay scope: these colorimetric and halo measurements do not resolve molecular identities, biosynthetic pathways, + member-specific contributions, plant delivery or reciprocal mutualism. They were not selective mediator perturbations + of the plant or pathogen assays.' scope: COMMUNITY_LEVEL metabolites: - preferred_term: indole-3-acetic acid term: id: CHEBI:16411 label: indole-3-acetic acid + notes: 'Author-assigned assay interpretation: Salkowski calibrated to IAA or CAS iron-chelation activity, not + molecular identity or in-planta transfer established here.' - preferred_term: siderophore term: id: CHEBI:26672 label: siderophore - biological_processes: - - preferred_term: indole-3-acetic acid biosynthetic process - term: - id: GO:0009684 - label: indoleacetic acid biosynthetic process + notes: 'Author-assigned assay interpretation: Salkowski calibrated to IAA or CAS iron-chelation activity, not + molecular identity or in-planta transfer established here.' evidence: - reference: PMID:42039819 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - SC2 exhibited the highest IAA levels, reaching ∼45 μg/mL by day 2 and ∼65 - μg/mL by day 7, indicating strong and sustained auxin synthesis. - explanation: Supports SC2 as the strongest measured IAA producer. + snippet: SC2 exhibited the highest IAA levels, reaching ∼45 μg/mL by day 2 and ∼65 μg/mL by day 7, indicating + strong and sustained auxin synthesis. + explanation: Supports the reported whole-SC2 assay output; Methods specify Salkowski calibration or CAS halos, + not resolved structures, pathway perturbation or mediation of plant protection. - reference: PMID:42039819 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - siderophore activity ( Figure 7B ) was most pronounced in SC1 (0.55 cm, p - = 0.01) and SC2 (0.50 cm, p = 0.015), followed by C7 (0.45 cm, p = 0.02). - explanation: Supports significant CAS-agar siderophore production by SC2. + snippet: siderophore activity ( Figure 7B ) was most pronounced in SC1 (0.55 cm, p = 0.01) and SC2 (0.50 cm, + p = 0.015), followed by C7 (0.45 cm, p = 0.02). + explanation: Supports the reported whole-SC2 assay output; Methods specify Salkowski calibration or CAS halos, + not resolved structures, pathway perturbation or mediation of plant protection. + participating_taxa: + - preferred_term: Enterobacter cloacae S4 + term: + id: NCBITaxon:550 + label: Enterobacter cloacae + - preferred_term: Stenotrophomonas maltophilia S1 + term: + id: NCBITaxon:40324 + label: Stenotrophomonas maltophilia + - preferred_term: Chryseobacterium indologenes S5 + term: + id: NCBITaxon:253 + label: Chryseobacterium indologenes environmental_factors: - name: controlled maize growth-chamber regime value: 25/20 @@ -460,23 +458,34 @@ external_resources: explanation: The primary PMID-linked article reports the SC2 SynCom assays. discussions: - discussion_id: maize_sc2_secreted_biocontrol_mechanism - prompt: >- - Which SC2 member metabolites or community-level interactions directly - suppress Pythium torulosum and connect the strong IAA and siderophore - phenotypes to maize protection? + prompt: Which SC2 member metabolites or community-level interactions directly suppress Pythium torulosum and connect + the strong IAA and siderophore phenotypes to maize protection? kind: KNOWLEDGE_GAP status: OPEN attaches_to: - ecological_interactions#Pythium torulosum suppression by SC2 - - ecological_interactions#SC2 auxin and siderophore output - rationale: >- - Kaki et al. 2026 showed that the S4/S1/S5 subcommunity inhibited Pythium in - plate assays, protected maize in growth-chamber assays, and produced high - IAA plus significant siderophore activity, but the specific antimicrobials, - responsible members, and causal links among siderophores, auxin, root growth, - and oomycete suppression remain unresolved. + - ecological_interactions#SC2 Salkowski and CAS assay outputs + rationale: Kaki et al. 2026 showed that the S4/S1/S5 subcommunity inhibited Pythium in plate assays, protected + maize in growth-chamber assays, and produced high IAA plus significant siderophore activity, but the specific + antimicrobials, responsible members, and causal links among siderophores, auxin, root growth, and oomycete suppression + remain unresolved. posed_by: codex posed_date: '2026-09-14' +- discussion_id: sc2_assay_to_host_mediation + prompt: Which SC2 processes mediate pathogen protection and maize growth? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Pythium torulosum suppression by SC2 + - ecological_interactions#Maize growth promotion under Pythium challenge + - ecological_interactions#SC2 Salkowski and CAS assay outputs + rationale: 'Preserve positive inhibition, plant benefit and biochemical assays. Qualify the existing suppression-to-growth + arrow and retain the earlier open metabolite question. Competition, immune activation, reciprocal benefit and + IAA/siderophore necessity were not established. External pathogen and host participants remain as in #888; #887 + incidental metal and #889 removed design pseudo-node remain unchanged. #1582 is the graph repair; #1586 and + #1580 track non-graph mapping/metadata. No new structure.' + posed_by: codex + posed_date: '2026-10-06' metals_present: [] rare_earth_elements_present: [] metal_relevance: INCIDENTAL @@ -487,20 +496,22 @@ curation_history: - timestamp: '2026-09-14T18:41:32Z' curator: codex action: CURATE_MAIZE_SC2_ROOTROT_BIOCONTROL_SYNCOM - changes: >- - Added the S4/S1/S5 maize SC2 root-rot biocontrol SynCom from PMID:42039819 - with Pythium torulosum suppression, maize growth-chamber biocontrol, - indole-3-acetic acid, siderophore, C7-derived strain-alias, growth-medium, + changes: Added the S4/S1/S5 maize SC2 root-rot biocontrol SynCom from PMID:42039819 with Pythium torulosum suppression, + maize growth-chamber biocontrol, indole-3-acetic acid, siderophore, C7-derived strain-alias, growth-medium, and unresolved-causality context. llm_assisted: true - timestamp: '2026-09-14T18:48:04Z' curator: codex action: ADDRESS_ADVERSARIAL_REVIEW - changes: >- - Addressed adversarial-review issues #887, #888, and #889 by marking the - siderophore-positive SC2 record as incidentally metal-relevant, replacing - host/pathogen target_taxon links with participating_taxa lists that keep Zea - mays and Pythium torulosum out of top-level SynCom membership, and removing - a design-rationale pseudo-interaction that had been typed as unsupported - niche partitioning. + changes: 'Addressed adversarial-review issues #887, #888, and #889 by marking the siderophore-positive SC2 record + as incidentally metal-relevant, replacing host/pathogen target_taxon links with participating_taxa lists that + keep Zea mays and Pythium torulosum out of top-level SynCom membership, and removing a design-rationale pseudo-interaction + that had been typed as unsupported niche partitioning.' + llm_assisted: true +- timestamp: '2026-10-07T00:06:09Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain plate inhibition and plant protection, not competition or immune mechanism.; Retain plant benefit + under challenge, not reciprocal mutualism or demonstrated IAA mediation.; Retain Salkowski/CAS outputs with + chemical-identity, pathway and host-transfer limits. Issue #1582; reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml' llm_assisted: true diff --git a/kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml b/kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml index 1b21a0b67..574f2f284 100644 --- a/kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml +++ b/kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml @@ -142,12 +142,13 @@ taxonomy: snippet: Pelobacter, Desulfurumonas, and Pseudomonas were also identified at 2.22, 1.64, and 0.87% explanation: Supports Pseudomonas as a minor detected genus in the benzene-fed MFC biofilm. ecological_interactions: -- name: Benzene-fed bioanode niche shift - description: > - The shift from sodium acetate to benzene depleted the sodium-acetate-linked - Comamonas signal and selected a benzene-fed bioanode in which Bacillus and - Arcobacter together comprised 63.21% of genus-level 16S assignments. - interaction_type: NICHE_PARTITIONING +- name: Benzene-fed bioanode composition shift + description: After sequential acclimation from acetate to benzene, relative 16S genus profiles showed Bacillus + at 32.93% and Arcobacter at 30.28%, with Pelobacter and Pseudomonas also detected. These four canonical genera + are a resolved subset, not a complete or necessarily active consortium. The compositional change supports substrate-associated + selection but does not measure absolute expansion, niche partitioning, species identity or taxon-specific benzene + degradation/electron transfer. Feed composition and biofilm acclimation changed together; no selective genus + removal established the mediator of increased power. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Bacillus @@ -158,37 +159,42 @@ ecological_interactions: term: id: NCBITaxon:28196 label: Arcobacter + - preferred_term: Pelobacter + term: + id: NCBITaxon:18 + label: Pelobacter + - preferred_term: Pseudomonas + term: + id: NCBITaxon:286 + label: Pseudomonas metabolites: - &benzene preferred_term: benzene term: &benzene_term id: CHEBI:16716 label: benzene - biological_processes: - - preferred_term: xenobiotic metabolic process - term: - id: GO:0006805 - label: xenobiotic metabolic process - - preferred_term: electron transport chain - term: - id: GO:0022900 - label: electron transport chain downstream: - target: Benzene removal with voltage generation - description: > - The benzene-selected bioanode removed benzene while producing a higher - maximum voltage and power density than the acetate-fed bioanode. + description: HYPOTHESIZED - substrate-associated community restructuring could increase the bioanode capacity + for benzene conversion and electron transfer, as proposed by the authors. Whole-biofilm chemical and electrochemical + measurements support performance, but relative genus enrichment does not isolate composition from substrate/acclimation + effects or establish Bacillus and Arcobacter as necessary catalytic partners. evidence: - reference: PMID:41210787 supports: SUPPORT evidence_source: IN_VITRO - snippet: Clearly, benzene addition has shifted the microbial community composition by diminishing Commamonas and enriching the Arcobacter and Bacillus populations - explanation: Supports the substrate-driven shift from the sodium-acetate biofilm toward a Bacillus/Arcobacter-rich benzene bioanode. + snippet: Clearly, benzene addition has shifted the microbial community composition by diminishing Commamonas + and enriching the Arcobacter and Bacillus populations + explanation: Supports the substrate-driven shift from the sodium-acetate biofilm toward a Bacillus/Arcobacter-rich + benzene bioanode. - name: Benzene removal with voltage generation - description: > - The benzene-acclimated MFC bioanode removed 98.7 +/- 2.4% of the supplied - benzene within 96 h and generated up to 902.3 +/- 20.6 mV during the - high-benzene feed cycle. + description: The acclimated whole-biofilm MFC removed 98.7 +/- 2.4% of benzene within 96 h while generating electricity. + Maximum voltage was 902.3 +/- 20.6 mV in cycle VI (250 mg/L benzene); the final 330 mg/L cycle VII reached 899.9 + +/- 15.2 mV. Power density at 330 mg/L was 390.1 +/- 26 mW/m2 versus 238.8 +/- 19 with acetate, not a 100-fold + acetate improvement. The abiotic control lacked sustained output voltage. Main-text GC/HPLC results report transient + acetate/butyrate and final gaseous products, supporting whole-system conversion without tracing complete carbon + fate or proving partner exchange. DET versus mediated transfer and catalytic roles of individual genera remain + unresolved; the named participants are a partial roster. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Bacillus @@ -199,6 +205,14 @@ ecological_interactions: term: id: NCBITaxon:28196 label: Arcobacter + - preferred_term: Pelobacter + term: + id: NCBITaxon:18 + label: Pelobacter + - preferred_term: Pseudomonas + term: + id: NCBITaxon:286 + label: Pseudomonas metabolites: - *benzene biological_processes: @@ -211,12 +225,15 @@ ecological_interactions: supports: SUPPORT evidence_source: IN_VITRO snippet: The percentage of benzene in the MFC decreased over time to 98.7 ± 2.4% after 96 h - explanation: Supports the measured benzene-removal endpoint. + explanation: The Results sentence is awkwardly worded; abstract, Table 1 and Conclusion explicitly identify + 98.7% as removal, not residual benzene. This is a whole-system endpoint, not Bacillus-specific flux. - reference: PMID:41210787 supports: SUPPORT evidence_source: IN_VITRO - snippet: Maximum voltages observed in Cycles III, IV, V, VI, and VII were 678.5 ± 98.2, 542.4 ± 50.7, 768.6 ± 10.8, 902.3 ± 20.6, and 899.9 ± 15.2 mV - explanation: Supports voltage generation during the benzene feed cycles. + snippet: Maximum voltages observed in Cycles III, IV, V, VI, and VII were 678.5 ± 98.2, 542.4 ± 50.7, 768.6 + ± 10.8, 902.3 ± 20.6, and 899.9 ± 15.2 mV + explanation: 'Supports the nonmonotonic cycle maxima: 902.3 mV at cycle VI/250 mg/L and 899.9 mV at cycle VII/330 + mg/L. It does not isolate community composition as their cause.' environmental_factors: - name: Mangrove sediment inoculum value: Vitoria, Espirito Santo State, Brazil @@ -354,44 +371,62 @@ related_ingredients: explanation: Supports sodium acetate as the initial MFC feedstock. discussions: - discussion_id: benzene_mfc_bioanode_species_resolution - prompt: Resolve the species or MAG identities, full final-biofilm composition, genus-specific benzene-degradation genes, and - stable raw 16S read accessions for the benzene-fed mangrove MFC bioanode. + prompt: Resolve the species or MAG identities, full final-biofilm composition, genus-specific benzene-degradation + genes, and stable raw 16S read accessions for the benzene-fed mangrove MFC bioanode. kind: KNOWLEDGE_GAP status: OPEN attaches_to: - taxonomy - - ecological_interactions#Benzene-fed bioanode niche shift - rationale: > - The ACS Omega full text reports genus-level 16S abundances in the final - benzene-fed MFC but does not expose species-level identities, raw sequence - accessions, or a direct metagenomic assignment of benzene-degradation and - electron-transfer genes to each genus. The source also reports a genus - spelled Desulfurumonas at 1.64% abundance; that member was not curated here - until the label can be resolved against NCBI or GTDB. + - ecological_interactions#Benzene-fed bioanode composition shift + rationale: 'The ACS Omega full text reports genus-level 16S abundances in the final benzene-fed MFC but does not + expose species-level identities, raw sequence accessions, or a direct metagenomic assignment of benzene-degradation + and electron-transfer genes to each genus. The source also reports a genus spelled Desulfurumonas at 1.64% abundance; + that member was not curated here until the label can be resolved against NCBI or GTDB. + + ' posed_by: codex posed_date: '2026-09-26' +- discussion_id: benzene_mfc_composition_and_electron_transfer + prompt: Which members and electron-transfer routes mediate whole-bioanode performance? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Benzene-fed bioanode composition shift + - ecological_interactions#Benzene removal with voltage generation + rationale: 'Retain positive removal, product and electrochemical observations, while composition mediation remains + HYPOTHESIZED. Relative genus profiles and other-strain literature cannot establish exact-system partner roles, + niche partitioning, carbon balance or DET rather than MET. The prior #1124 removal of Bacillus PRIMARY_DEGRADER + remains; Arcobacter non-graph role and Daphnia species metadata remain under #1586. Main Table 1 read, not separate + supporting spectra/chromatograms or original figure pixels. #1583 repair adds no new structure.' + posed_by: codex + posed_date: '2026-10-06' curation_history: - timestamp: '2026-09-26T21:48:42Z' curator: codex action: ADD_COMMUNITY_RECORD - changes: > - Created CommunityMech:000442 from PMID:41210787 and DOI - 10.1021/acsomega.5c05703 for the mangrove-derived benzene-fed MFC bioanode - enrichment, including genus-level Bacillus, Arcobacter, Pelobacter, and - Pseudomonas 16S assignments; sodium-acetate-to-benzene acclimation in Lovley - and Phillips medium; 96 h benzene removal and voltage-generation endpoints; - and an explicit open question for species-level resolution and the unresolved + changes: 'Created CommunityMech:000442 from PMID:41210787 and DOI 10.1021/acsomega.5c05703 for the mangrove-derived + benzene-fed MFC bioanode enrichment, including genus-level Bacillus, Arcobacter, Pelobacter, and Pseudomonas + 16S assignments; sodium-acetate-to-benzene acclimation in Lovley and Phillips medium; 96 h benzene removal and + voltage-generation endpoints; and an explicit open question for species-level resolution and the unresolved Desulfurumonas label. + + ' llm_assisted: true - timestamp: '2026-09-26T21:57:29Z' curator: codex action: FIX_ADVERSARIAL_REVIEW_FINDINGS - changes: > - Addressed adversarial review issue #1124 by removing the Bacillus - PRIMARY_DEGRADER functional role, which over-typed a benzene-associated - 16S enrichment signal as a complex-substrate degradation role, while - retaining Bacillus as the dominant benzene-fed genus and citing its - sodium-acetate-to-benzene enrichment. + changes: 'Addressed adversarial review issue #1124 by removing the Bacillus PRIMARY_DEGRADER functional role, + which over-typed a benzene-associated 16S enrichment signal as a complex-substrate degradation role, while retaining + Bacillus as the dominant benzene-fed genus and citing its sodium-acetate-to-benzene enrichment. + + ' + llm_assisted: true +- timestamp: '2026-10-07T00:06:10Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain relative genus response at partial-roster scope, not partitioning or isolated catalytic mediation.; + Retain positive whole-system removal and power with cycle-specific voltage and unresolved member flux. Issue + #1583; reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml' llm_assisted: true metal_relevance: NOT_APPLICABLE metal_notes: No metal or rare-earth processing role is reported for this benzene-fed MFC bioanode. diff --git a/kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml b/kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml index bae174914..2056eebdd 100644 --- a/kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml +++ b/kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml @@ -156,67 +156,85 @@ taxonomy: explanation: Names Planococcus halocryophilus as the cold-adapted bacterial member of the panel. ecological_interactions: - name: EETA79001 Mineral Nutrient Supply - description: >- - Mars meteorite EETA79001 sawdust was tested as the sole nutrient source for - the panel, with its aqueous leachate providing phosphate, nitrate, sulfate, - calcium, and magnesium ions relevant to bacterial growth and maintenance. + description: 'The organisms were assayed separately, not as a coculture. COMMUNITY_LEVEL is retained as the current + container for shared abiotic/panel observations, not evidence of emergent community activity; record-model placement + remains OPEN under #573. EETA79001 sawdust supplied the intended nutrient substrate under terrestrial laboratory + conditions. Earlier leachate analyses cited in the paper reported phosphate, nitrate, sulfate and calcium among + candidate resources; the growth experiment did not quantify uptake or selectively test each ion. This low-perchlorate + meteorite is not representative of all Martian surface regolith, and the assay does not establish growth in + a Mars atmosphere, absence of toxicity generally or a complete regolith-derived carbon budget.' scope: COMMUNITY_LEVEL - interaction_type: NICHE_PARTITIONING metabolites: - preferred_term: phosphate term: id: CHEBI:18367 label: phosphate(3-) + notes: Candidate resource from earlier leachate chemistry cited by the growth study, not directly traced uptake + or a selective nutrient-requirement test here. - preferred_term: nitrate term: id: CHEBI:17632 label: nitrate + notes: Candidate resource from earlier leachate chemistry cited by the growth study, not directly traced uptake + or a selective nutrient-requirement test here. - preferred_term: sulfate term: id: CHEBI:16189 label: sulfate + notes: Candidate resource from earlier leachate chemistry cited by the growth study, not directly traced uptake + or a selective nutrient-requirement test here. - preferred_term: calcium(2+) term: id: CHEBI:29108 label: calcium(2+) - biological_processes: - - preferred_term: growth - term: - id: GO:0040007 - label: growth + notes: Candidate resource from earlier leachate chemistry cited by the growth study, not directly traced uptake + or a selective nutrient-requirement test here. downstream: - - target: Regolith-Water Growth Assay - description: >- - Inorganic nutrients leached from the meteorite sawdust made water-amended - EETA79001 a usable growth substrate instead of an inert particulate - control. + - target: Hydration-dependent regolith growth and survival + description: PARTIAL - hydration can make meteorite-associated resources available and thereby support growth + or persistence in the separate cultures. Regolith/water treatments and water-only controls support a substrate + contribution for some organisms, but ion-specific mediation was not isolated and E. coli also persisted in + water-only controls. evidence: - reference: PMID:38665180 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - Our work was aimed at directly observing the effect of martian regolith on - the growth and continued survival of bacteria, where the sole nutrient - source was the regolith. - explanation: >- - Supports modeling the meteorite sawdust itself as the nutrient source in - the growth assays. + snippet: Our work was aimed at directly observing the effect of martian regolith on the growth and continued + survival of bacteria, where the sole nutrient source was the regolith. + explanation: Supports modeling the meteorite sawdust itself as the nutrient source in the growth assays. - reference: PMID:38665180 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - The EETA79001 leachate includes sufficient amounts of inorganic nutrients - necessary for bacterial growth - explanation: >- - Names the leached inorganic nutrients that made EETA79001 sawdust a - candidate growth substrate. -- name: Regolith-Water Growth Assay - description: >- - Adding water to EETA79001 sawdust across regolith:water ratios created the - aqueous substrate space used to quantify growth and survival of all four - separately inoculated panel organisms. + snippet: The EETA79001 leachate includes sufficient amounts of inorganic nutrients necessary for bacterial growth + explanation: The paper summarizes earlier leachate chemistry; retain candidate nutrient availability without + promoting it to measured uptake or causal sufficiency of each ion. + participating_taxa: + - preferred_term: Escherichia coli B + term: + id: NCBITaxon:562 + label: Escherichia coli + - preferred_term: Eucapsis sp. + term: + id: NCBITaxon:1521555 + label: Eucapsis + - preferred_term: Chroococcidiopsis sp. Chr20-20201027-1 + term: + id: NCBITaxon:54298 + label: Chroococcidiopsis + - preferred_term: Planococcus halocryophilus + term: + id: NCBITaxon:1215089 + label: Planococcus halocryophilus +- name: Hydration-dependent regolith growth and survival + description: 'The organisms were assayed separately, not as a coculture. COMMUNITY_LEVEL is retained as the current + container for shared abiotic/panel observations, not evidence of emergent community activity; record-model placement + remains OPEN under #573. Water-amended 20 mg sawdust treatments supported condition-dependent growth and survival + over about 22-23 days. The wetter treatments generally prolonged heterotroph recovery; dry-design controls still + received a wet inoculum. Cyanobacterial most-probable-number recovery after resuscitation and bacterial CFU + plating measure different viable-recovery endpoints, not direct continuous cell production or comparable biomass + flux. The regolith:water series and water-only controls should not be conflated into a single growth condition + or a guarantee that every organism proliferated.' scope: COMMUNITY_LEVEL - interaction_type: NICHE_PARTITIONING metabolites: - preferred_term: water term: @@ -227,30 +245,40 @@ ecological_interactions: term: id: GO:0040007 label: growth - downstream: - - target: Extremophile-Weighted Regolith Persistence - description: >- - Growth across the water-amended regolith series exposed the stronger - longer-term survival of Chr20 and Planococcus halocryophilus relative to - the nonextremophile comparators. evidence: - reference: PMID:38665180 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - Using the EETA79001 sawdust as a substrate with different ratios of - regolith:water (Fig. 1 ), we have investigated the growth and survival of - four non-spore-forming microorganisms under terrestrial conditions. - explanation: >- - Supports regolith:water ratio as the shared designed axis for the growth - and survival assays. -- name: Extremophile-Weighted Regolith Persistence - description: >- - The Atacama cyanobacterium Chr20 and cold-adapted Planococcus - halocryophilus persisted better in the EETA79001 regolith assays than their - Eucapsis and Escherichia coli comparators. + snippet: Using the EETA79001 sawdust as a substrate with different ratios of regolith:water (Fig. 1 ), we have + investigated the growth and survival of four non-spore-forming microorganisms under terrestrial conditions. + explanation: Supports regolith:water ratio as the shared designed axis for the growth and survival assays. + participating_taxa: + - preferred_term: Escherichia coli B + term: + id: NCBITaxon:562 + label: Escherichia coli + - preferred_term: Eucapsis sp. + term: + id: NCBITaxon:1521555 + label: Eucapsis + - preferred_term: Chroococcidiopsis sp. Chr20-20201027-1 + term: + id: NCBITaxon:54298 + label: Chroococcidiopsis + - preferred_term: Planococcus halocryophilus + term: + id: NCBITaxon:1215089 + label: Planococcus halocryophilus +- name: Strain-specific regolith persistence + description: 'The organisms were assayed separately, not as a coculture. COMMUNITY_LEVEL is retained as the current + container for shared abiotic/panel observations, not evidence of emergent community activity; record-model placement + remains OPEN under #573. Chr20 maintained or increased recoverable counts more successfully than Eucapsis, while + Planococcus halocryophilus showed strong early growth relative to E. coli in regolith. Planococcus late persistence + depended on hydration, chiefly the wettest 1:5 condition; most other ratios fell below quantification after + approximately 14-17 days. E. coli survived in water alone and declined from its starting count in regolith. + Unequal initial phototroph counts, MPN versus CFU methods and differing water ratios preclude a pooled universal + extremophile-fitness ranking. Below quantification does not establish extinction.' scope: COMMUNITY_LEVEL - interaction_type: NICHE_PARTITIONING biological_processes: - preferred_term: growth term: @@ -258,24 +286,36 @@ ecological_interactions: label: growth evidence: - reference: PMID:38665180 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: >- - Chr20 fared much better than Eucapsis by an order of magnitude and was - able to survive and proliferate beyond its initial viable count regardless - of the regolith:water ratio for the 22 days - explanation: >- - Supports stronger long-term persistence by the desert cyanobacterium than - by the nonextremophile cyanobacterial comparator. + snippet: Chr20 fared much better than Eucapsis by an order of magnitude and was able to survive and proliferate + beyond its initial viable count regardless of the regolith:water ratio for the 22 days + explanation: Supports the authors comparative persistence summary, bounded by hydration, time, initial inoculum + and distinct recovery methods; not uniform late survival in every treatment or community niche partitioning. - reference: PMID:38665180 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: >- - P. halocryophilus growth and survival was significantly better in the - regolith at all ratios than the E. coli and showed strong growth overall. - explanation: >- - Supports stronger regolith growth and survival by the cold-adapted - bacterium than by the Escherichia coli comparator. + snippet: P. halocryophilus growth and survival was significantly better in the regolith at all ratios than the + E. coli and showed strong growth overall. + explanation: Supports the authors comparative persistence summary, bounded by hydration, time, initial inoculum + and distinct recovery methods; not uniform late survival in every treatment or community niche partitioning. + participating_taxa: + - preferred_term: Escherichia coli B + term: + id: NCBITaxon:562 + label: Escherichia coli + - preferred_term: Eucapsis sp. + term: + id: NCBITaxon:1521555 + label: Eucapsis + - preferred_term: Chroococcidiopsis sp. Chr20-20201027-1 + term: + id: NCBITaxon:54298 + label: Chroococcidiopsis + - preferred_term: Planococcus halocryophilus + term: + id: NCBITaxon:1215089 + label: Planococcus halocryophilus growth_media: - name: Alga-Gro, phototroph maintenance composition: @@ -375,3 +415,27 @@ environmental_factors: explanation: Supports the range of regolith:water ratios tested. # No associated_datasets block: the study reports growth/survival measurements, not an # omics dataset, and DatasetTypeEnum covers only omics data types. +discussions: +- discussion_id: eeta79001_panel_resource_and_persistence_limits + prompt: Which abiotic resources explain strain-specific growth in the separate meteorite assays? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#EETA79001 Mineral Nutrient Supply + - ecological_interactions#Hydration-dependent regolith growth and survival + - ecological_interactions#Strain-specific regolith persistence + rationale: 'Preserve positive growth/persistence and hydration contrasts without niche partitioning or a procedure-to-result + arrow. Nutrient-specific uptake, carbon provenance, evaporation and salt effects are unresolved mechanisms. + The current panel container is explicitly provisional under existing #573, not a resolved community model. #1584 + repairs the graph and #1586 tracks stale zero-interaction and vessel/volume metadata; prior #574 panel framing + preserved. Main text/captions read, not Supplementary Note 1, original images or raw counts. No new structure.' + posed_by: codex + posed_date: '2026-10-06' +curation_history: +- timestamp: '2026-10-07T00:06:10Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain bounded abiotic resource hypothesis from cited leachate chemistry, not niche partitioning.; Retain + hydration-dependent viable-recovery observations; remove assay-order causation.; Retain strain-specific positive + persistence with late-time and water-control exceptions. Issue #1584; reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml' + llm_assisted: true diff --git a/kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml b/kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml index 4f9679413..3f6c9539d 100644 --- a/kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml +++ b/kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml @@ -139,12 +139,14 @@ taxonomy: explanation: Names Chlorella vulgaris as the green-microalga member of the panel. ecological_interactions: - name: MGS-1 Regolith Extract Nutrient Supply - description: >- - Mars Global Simulant MGS-1 was extracted with water to make the poor - martian-resource medium whose sulfur, potassium, and calcium content - supplied a subset of the nutrients needed by the photosynthetic panel. + description: 'The organisms were assayed separately, not as a coculture. COMMUNITY_LEVEL is retained as the current + container for shared abiotic/panel observations, not evidence of emergent community activity; record-model placement + remains OPEN under #573. Autoclaved MGS-1 aqueous extract contained measured S, K and Ca and smaller amounts + of other elements (main Table 1). Element totals do not establish ionic speciation, bioavailable uptake or a + complete growth medium. Phosphorus was not detected in the extract, and 5 mL of established inoculum was added + to 75 mL treatment, so intracellular reserves and medium carryover cannot be excluded. Cultivation used an Earth-like + atmosphere, not exposed Martian surface conditions.' scope: COMMUNITY_LEVEL - interaction_type: NICHE_PARTITIONING metabolites: - preferred_term: water term: @@ -154,95 +156,117 @@ ecological_interactions: term: id: CHEBI:29103 label: potassium(1+) + notes: Element detected by TXRF; the ionic term denotes candidate nutrient context, not directly measured speciation + or uptake. - preferred_term: calcium(2+) term: id: CHEBI:29108 label: calcium(2+) - biological_processes: - - preferred_term: photosynthesis - term: - id: GO:0015979 - label: photosynthesis + notes: Element detected by TXRF; the ionic term denotes candidate nutrient context, not directly measured speciation + or uptake. downstream: - - target: Diazotrophic Mars Extract Growth Advantage - description: >- - The MGS-1 aqueous extract provided the mineral and water resource base - on which the nitrogen-fixing cyanobacteria outperformed the - non-diazotrophic panel members. + - target: Separate-culture growth on Mars regolith extract + description: PARTIAL - water-extracted MGS-1 resources could support the observed growth above water-only controls. + The authors propose nitrogen-fixing capacity as an explanation for differential performance, but nitrogen + flux, ion requirements and reserve/carryover contributions were not independently isolated; species traits + and growth rates differ. evidence: - reference: PMID:35865930 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - Mars regolith extract was rich in S, K, and Ca and contained smaller - concentrations of Mn, Fe, and Sr, and trace concentrations of Cu, Zn, Br, - and Rb - explanation: >- - Names the main elements measured in the Mars regolith extract used as the - test growth medium. -- name: Diazotrophic Mars Extract Growth Advantage - description: >- - The diazotrophic cyanobacteria Nostoc muscorum and Anabaena cylindrica - thrived in short-term Mars regolith extract culture, whereas the - non-nitrogen-fixing Arthrospira platensis and Chlorella vulgaris did not. + snippet: Mars regolith extract was rich in S, K, and Ca and contained smaller concentrations of Mn, Fe, and + Sr, and trace concentrations of Cu, Zn, Br, and Rb + explanation: Names the main elements measured in the Mars regolith extract used as the test growth medium. + participating_taxa: + - preferred_term: Anabaena cylindrica + term: + id: NCBITaxon:1165 + label: Anabaena cylindrica + - preferred_term: Nostoc muscorum + term: + id: NCBITaxon:1179 + label: Desmonostoc muscorum + - preferred_term: Arthrospira platensis + term: + id: NCBITaxon:118562 + label: Limnospira platensis + - preferred_term: Chlorella vulgaris + term: + id: NCBITaxon:3077 + label: Chlorella vulgaris +- name: Separate-culture growth on Mars regolith extract + description: 'The organisms were assayed separately, not as a coculture. COMMUNITY_LEVEL is retained as the current + container for shared abiotic/panel observations, not evidence of emergent community activity; record-model placement + remains OPEN under #573. Over 25 days, OD440 and photosystem-II fluorescence supported stronger growth of Nostoc + muscorum and Anabaena cylindrica in regolith extract than Arthrospira platensis or Chlorella vulgaris. Nostoc + was most consistent; Anabaena fluorescence declined after day 15 and biomass browned later. Arthrospira had + mild visible growth and clumping that limited optical measurements, so categorical absence of viable growth + is too strong. Photosynthetic efficiency is not measured oxygen production. Diazotrophy is an author-proposed + explanation, not directly measured N2 fixation or an interaction among the four organisms.' scope: COMMUNITY_LEVEL - interaction_type: NICHE_PARTITIONING biological_processes: - preferred_term: photosynthesis term: id: GO:0015979 label: photosynthesis - - preferred_term: nitrogen fixation - term: - id: GO:0009399 - label: nitrogen fixation - preferred_term: growth term: id: GO:0040007 label: growth - downstream: - - target: End-of-Life Biomass Biofertilization - description: >- - The 25-day phototroph cultures produced the cyanobacterial and microalgal - biomass subsequently supplied to Lemna minor as filtered or sonicated - biofertilizer treatments. evidence: - reference: PMID:35865930 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: >- - N. muscorum showed the best growth performance when compared to the other - species, while A. platensis and C. vulgaris were not able to thrive on - Mars regolith extract. - explanation: >- - Supports differential growth of the phototroph panel on Mars regolith - extract. + snippet: N. muscorum showed the best growth performance when compared to the other species, while A. platensis + and C. vulgaris were not able to thrive on Mars regolith extract. + explanation: Supports the broad separate-culture comparison; Results qualify Arthrospira with mild growth/clumping + and Anabaena with late decline. Nitrogen-fixation mediation was not directly measured. - reference: PMID:35865930 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: >- - C. vulgaris was unable to grow, while N. muscorum and A. cylindrica - thrived in Mars regolith extract. - explanation: >- - Supports the growth advantage of the two diazotrophic cyanobacteria in - the Mars regolith extract treatment. -- name: End-of-Life Biomass Biofertilization - description: >- - Biomass from the Mars-regolith-grown phototroph cultures acted as a - biofertilizer for Lemna minor, with Arthrospira- and Chlorella-derived - treatments stimulating duckweed dry weight to levels comparable to standard - synthetic medium. + snippet: C. vulgaris was unable to grow, while N. muscorum and A. cylindrica thrived in Mars regolith extract. + explanation: Supports the broad separate-culture comparison; Results qualify Arthrospira with mild growth/clumping + and Anabaena with late decline. Nitrogen-fixation mediation was not directly measured. + participating_taxa: + - preferred_term: Anabaena cylindrica + term: + id: NCBITaxon:1165 + label: Anabaena cylindrica + - preferred_term: Nostoc muscorum + term: + id: NCBITaxon:1179 + label: Desmonostoc muscorum + - preferred_term: Arthrospira platensis + term: + id: NCBITaxon:118562 + label: Limnospira platensis + - preferred_term: Chlorella vulgaris + term: + id: NCBITaxon:3077 + label: Chlorella vulgaris +- name: Processed-culture Lemna biofertilization + description: Separate 25-day regolith-extract cultures were filtered through 0.45-um membranes or sonicated and + supplied as media for a seven-day Lemna minor assay. Arthrospira filtrate and sonicate, and Chlorella filtrate, + supported dry-weight yields not significantly different from Steinberg medium, while frond yields remained lower. + Filtered versus sonicated treatments of the same species did not significantly differ. These positive processed-material + effects are not live commensalism or statistical proof of equivalence. The better-growing Nostoc cultures gave + the lowest Lemna yield, so phototroph growth advantage does not establish biofertilizer advantage. Nutrient + profiles suggest possible mediation, but carryover, released contents and other metabolites were not selectively + isolated. Lemna is the external recipient, not part of the four-phototroph inoculum roster. scope: COMMUNITY_LEVEL - interaction_type: COMMENSALISM metabolites: - preferred_term: nitrate term: id: CHEBI:17632 label: nitrate + notes: Measured medium constituent discussed as a candidate contributor; nitrate was detected only in Arthrospira + samples and phosphate mainly in Arthrospira/Nostoc. Neither is a selectively established cause of Lemna benefit. - preferred_term: phosphate term: id: CHEBI:18367 label: phosphate(3-) + notes: Measured medium constituent discussed as a candidate contributor; nitrate was detected only in Arthrospira + samples and phosphate mainly in Arthrospira/Nostoc. Neither is a selectively established cause of Lemna benefit. biological_processes: - preferred_term: growth term: @@ -250,16 +274,31 @@ ecological_interactions: label: growth evidence: - reference: PMID:35865930 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: >- - Cyanobacteria and microalgae (A. platensis and C. vulgaris) showed good - abilities as biofertilizing agents, i.e., they stimulated biomass (i.e., - dry weight) production at levels comparable to the plants that grew on - standard synthetic medium. - explanation: >- - Supports the biofertilizing effect of end-of-life phototroph biomass on - Lemna minor dry-weight production. + snippet: Cyanobacteria and microalgae (A. platensis and C. vulgaris) showed good abilities as biofertilizing + agents, i.e., they stimulated biomass (i.e., dry weight) production at levels comparable to the plants that + grew on standard synthetic medium. + explanation: The abstract supports positive dry-weight outcomes; main Results distinguish Arthrospira filtered/sonicated + and Chlorella filtered treatments, lower frond yields and nonsignificant contrasts rather than equivalence + or live commensalism. + participating_taxa: + - preferred_term: Anabaena cylindrica + term: + id: NCBITaxon:1165 + label: Anabaena cylindrica + - preferred_term: Nostoc muscorum + term: + id: NCBITaxon:1179 + label: Desmonostoc muscorum + - preferred_term: Arthrospira platensis + term: + id: NCBITaxon:118562 + label: Limnospira platensis + - preferred_term: Chlorella vulgaris + term: + id: NCBITaxon:3077 + label: Chlorella vulgaris environmental_factors: - name: Mars regolith simulant (MGS-1) extract as sole nutrient resource value: MGS-1 regolith extract culture medium @@ -411,3 +450,28 @@ cultivation_setup: snippet: A Martian regolith extract was produced and used as a culture medium to grow these species. Their growth was assessed during a period of 25 days, using optical density and fluorometric parameters. explanation: Gives the batch growth period and how growth was measured. +discussions: +- discussion_id: mgs1_panel_and_processed_material_mediation + prompt: Which resources mediate phototroph growth and the separate Lemna material-transfer effect? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#MGS-1 Regolith Extract Nutrient Supply + - ecological_interactions#Separate-culture growth on Mars regolith extract + - ecological_interactions#Processed-culture Lemna biofertilization + rationale: 'Retain extract chemistry, positive separate-culture growth and processed-material benefits. Remove + the growth-advantage-to-fertilizer workflow arrow: the stronger phototroph growers were not the strongest fertilizer + treatments. Nitrogen fixation, phosphate reserves, carryover and specific nutrients remain candidate mechanisms. + Living partner benefit and oxygen flux were not measured. #573 remains the shared panel-modeling question; #1585 + graph repair and #1586 non-graph assay metadata are distinct. Main Table 1/captions read, not separate supplementary + elemental tables/images or raw data. No new nodes/arrows.' + posed_by: codex + posed_date: '2026-10-06' +curation_history: +- timestamp: '2026-10-07T00:06:10Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain measured extract chemistry with speciation, carryover and phosphorus limits.; Retain species-specific + optical growth/photophysiology, not measured nitrogen flux; remove workflow arrow.; Retain processed-culture + plant benefit with endpoint and treatment specificity, not live commensalism. Issue #1585; reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml' + llm_assisted: true diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md index b8c1ed1da..206ae48ad 100644 --- a/reports/causal_graph_review/README.md +++ b/reports/causal_graph_review/README.md @@ -457,3 +457,19 @@ remains supported with unresolved molecular mechanism. No new causal structure or provider spend. Non-graph metadata remains #1580, coordinated with #615. Canonical taxonomy and caches are preserved, not recertified. Exact-head self-review is not independent approval or corpus completion. + +## Batch68: SC2, MFC And Mars Panels + +[Decisions](decisions/20261006-four-records-batch68.yaml), +[validation](validation-20261006-batch68.json) and +[self-adversarial review](adversarial-review-20261006-batch68.yaml) retain 11 +nodes, qualify four arrows and remove two assay-order arrows. SC2 inhibition, +plant benefit and biochemical assays remain distinct; MFC removal and power +remain whole-biofilm observations with proposed compositional mediation. +Both Mars studies tested separate organisms, not cocultures. Their shared +abiotic and assay observations remain explicitly bounded within the current +record model; #573 is still open. Processed-culture Lemna benefits do not imply +live commensalism or that stronger phototroph growth improves biofertilization. +No new causal structure or provider spend. Non-graph metadata remains #1586, +coordinated with #1580 and #573. Canonical taxonomy and caches are preserved, +not recertified; self-review is not independent approval or corpus completion. diff --git a/reports/causal_graph_review/adversarial-review-20261006-batch68.yaml b/reports/causal_graph_review/adversarial-review-20261006-batch68.yaml new file mode 100644 index 000000000..59c4badf1 --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261006-batch68.yaml @@ -0,0 +1,290 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 1d74c2f53e1cb0039ef82ac18a3a94f51032a78f +scope: +- kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml +- kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml +- kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml +- kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml +decision_ledger: reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml +validation_report: reports/causal_graph_review/validation-20261006-batch68.json +findings: +- issue: 1582 + severity: P2 + status: addressed_in_this_change + finding: SC2 distinct phenotypes overtyped as competition/mutualism and unisolated mediation. + disposition: Close only after protected-main merge. +- issue: 1583 + severity: P2 + status: addressed_in_this_change + finding: MFC relative composition overtyped as partitioning and catalytic mediation. + disposition: Close only after protected-main merge. +- issue: 1584 + severity: P2 + status: addressed_in_this_change + finding: Separate meteorite panel overtyped as niche partitioning with workflow causality. + disposition: Close only after protected-main merge. +- issue: 1585 + severity: P2 + status: addressed_in_this_change + finding: Separate regolith growth and processed-culture fertilizer assays conflated with ecological + causality. + disposition: Close only after protected-main merge. +- issue: 1586 + severity: P2 + status: unresolved_non_graph + finding: 'Non-graph assay/role/identity metadata needs source-specific reconciliation; coordinate #1580.' + disposition: Keep OPEN after graph repair merge. +- issue: 573 + severity: P2 + status: unresolved_non_graph + finding: Panel-model placement remains unresolved; graph repair does not establish a coculture. + disposition: Keep OPEN after graph repair merge. +adversarial_checks: +- Verification also caught ruff B023 in the new mapping test helper after619 tests passed. Explicitly + bind the per-record rename map, preserve pre-fix regression/formatting outputs and rerun the full suite + on final content. No scientific record changed for these verification fixes. +- Read four whole records and all11 original nodes/six arrows, four complete fresh primary main texts/captions + and both main tables. Retain11 nodes, qualifyfour arrows and remove two assay-order arrows. No new causal + structure. Original figure pixels, separate supplements, raw data and external papers cited in the four + studies were not independently audited. +- 'SC2: retain seven-day PDA inhibition comparable to C7 and14-day B73 height/fresh-root-mass improvement. + The plate and plant assays do not isolate competition, pathogen-load mediation or host immunity. Keep + the existing inhibition-to-growth hypothesis explicitly HYPOTHESIZED, not causal certainty or proof + of no contribution.' +- 'SC2: Salkowski with pure-IAA calibration and CAS halo assays support the reported45/65ugmL and0.50cm + outputs. Keep chemical interpretations with their assay limits, not exact siderophore identity, pathway + perturbation, in-planta delivery or reciprocal benefit. Preserve host/pathogen as external participants + and prior #887-#889 repairs; do not resolve strain aliases from species-list order.' +- 'MFC: retain positive98.7% benzene removal, product observations, sustained biotic voltage and higher + power density than acetate.902.3mV belongs to250mgL cycleVI,899.9mV to330mgL cycleVII;390.1 versus238.8mWm2 + is not100fold. The awkward removal sentence is resolved against abstract, main Table1 and Conclusion, + not interpreted as98.7% residual benzene.' +- 'MFC: relative genus enrichment does not resolve absolute expansion, niche partitioning or member catalytic + necessity. Keep composition-to-output as the authors HYPOTHESIZED route, with confounded substrate/acclimation + context. Four named genera are a partial roster. DET/MET and traced partner exchange remain unresolved. + Preserve #1124 Bacillus role correction; existing Arcobacter role and Daphnia metadata remain follow-up.' +- 'Meteorite: shared abiotic substrate and separate growth/persistence results are not a coculture. Earlier + leachate chemistry does not prove current ion-specific uptake or carbon source. Low-perchlorate meteorite + and terrestrial conditions are not general Martian habitability. Water controls, unequal initial phototroph + counts, MPN recovery and heterotroph CFUs bound inference.' +- 'Meteorite: preserve positive Chr20 persistence and early Planococcus growth while stating most Planococcus + ratios lose late recoverability, E.coli survives in water-only controls, and below quantification is + not extinction. Remove the assay-to-persistence workflow arrow, not the measured endpoint. Keep qualified + substrate support rather than erase the positive resource hypothesis.' +- 'MGS-1: retain TXRF elemental chemistry, separate OD440/PSII growth and Nostoc/Anabaena performance + with Anabaena late decline and Arthrospira clumping/mild-growth limits. Element totals are not speciation/uptake. + No direct N2 or O2 flux measured; undetected extract phosphorus, inoculum and reserves/carryover matter.' +- 'Lemna: preserve seven-day positive dry-weight outcomes for Arthrospira filtered/sonicated and Chlorella + filtered culture material. Lower frond yields, nonsignificant filtered/sonicated differences and nonequivalence + caveat retained. Processed-material benefit is not live commensalism. Growth-advantage mediation of + fertilizer advantage is not established: Nostoc grows well but supplies the weakest material treatment. Remove that workflow + arrow while retaining resource-transfer observations.' +- 'Panel-model caveat remains unresolved, not hidden by graph status. Existing COMMUNITY_LEVEL is retained + only as the current container for shared abiotic/panel observations; #573 is still OPEN for record-model + placement. No new schema convention, coculture or emergent microbial community is certified. Prior PR574 + and graph-adding commit fa3f1a8c read.' +- 'Read complete biological diff. Remove unsupported specific interaction/process annotations but preserve + supported growth/photosynthesis context, positive endpoints and author-proposed routes. Renames retarget + every retained edge and prior discussion anchor. Detach graph aliases; preserve explicit benzene and + benzene_term anchors needed by untouched non-graph references.456 other records and920 caches preserved; + append one history/event per target. Initial regressions found one exact-registry failure with618 passing: + add the two deliberately named Mars panel records to USERS after measuring the census. Retain all test + logic, preserve the failed output/digest in superseded_checks, and rerun the complete suite.' +- Actual focused schema/strict/terms/references/snippets/history gates, network/rank, repeat rendering, + regressions and formatting outputs recorded.17 graph excerpts independently primary-matched with whitespace + normalization. Coarse scope census unchanged; network warnings46->44 because two observed MFC genera + are now explicitly named in whole-biofilm nodes, not because their catalytic roles were established. + Initial verifier no-delta assumption was corrected after inspecting actual output; no scientific edits + made to satisfy the gate. Other44 warnings preserved exactly, no auditor-rule changes. Exact descriptions + parsed over456 pages, not screenshots; postcommit docs-current is a separate gate. +- 'Dedup874 all-state issue titles/bodies and47 scoped ignored/hidden local files; matching issue bodies, + relevant histories, prior PR574 and graph-adding commit read, not every PR/comment/local match. #1582-#1585 + addressed but OPEN until protected-main merge. #1586/#573 remain OPEN afterward. No provider spend; + exact-head COMMENT self-review is not independent approval or corpus completion.' +verification: + combined_regressions: 619 passed in 201.31s (0:03:21) + new_regression_tests: 8 + schema_strict_terms_history: Passed with actual outputs/digests + references: 'CLI Total checks counts reported issues, not executed checks. Cache MATCH is not scientific + entailment or historical provenance certification. All920 caches unchanged;17 graph excerpts independently + match fresh primary text after whitespace normalization. #1586 metadata, #573 panel modeling and broader + #476/#1091/#1095 source limitations persist.' + snippet_counts_by_record: + kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml: + MATCH: 20 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml: + MATCH: 22 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml: + MATCH: 16 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml: + MATCH: 22 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + primary_graph_snippet_proof: + primary_matched_graph_snippets: 17 + whitespace_only_matches: 17 + primary_main_texts: 4 + main_tables_read: 2 + paid_submissions: 0 + new_nodes_or_arrows: 0 + separate_supplements_inspected: false + original_figure_pixels_inspected: false + network: + existing_findings_preserved: 44 + added_findings: {} + removed_findings: + Mangrove_Benzene_MFC_Bioanode_Consortium: + - type: DISCONNECTED + taxon: Pelobacter + taxon_id: NCBITaxon:18 + taxon_data: + taxon_term: + preferred_term: Pelobacter + term: + id: NCBITaxon:18 + label: Pelobacter + gtdb_grounding_status: UNRESOLVED + notes: 'Pelobacter was a lower-abundance genus in the benzene-fed 16S profile; no species-level + identity or functional role was resolved. + + ' + relative_abundance: 2.22 + relative_abundance_unit: percent + evidence: + - reference: PMID:41210787 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: Pelobacter, Desulfurumonas, and Pseudomonas were also identified at 2.22, 1.64, and + 0.87% + explanation: Supports Pelobacter as a minor detected genus in the benzene-fed MFC biofilm. + message: Taxon 'Pelobacter' has no interactions + - type: DISCONNECTED + taxon: Pseudomonas + taxon_id: NCBITaxon:286 + taxon_data: + taxon_term: + preferred_term: Pseudomonas + term: + id: NCBITaxon:286 + label: Pseudomonas + gtdb_grounding_status: UNRESOLVED + notes: 'Pseudomonas was a lower-abundance genus in the benzene-fed 16S profile; no species-level + identity or functional role was resolved. + + ' + relative_abundance: 0.87 + relative_abundance_unit: percent + evidence: + - reference: PMID:41210787 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: Pelobacter, Desulfurumonas, and Pseudomonas were also identified at 2.22, 1.64, and + 0.87% + explanation: Supports Pseudomonas as a minor detected genus in the benzene-fed MFC biofilm. + message: Taxon 'Pseudomonas' has no interactions + interpretation: 'Two MFC disconnected-member warnings removed by explicitly naming detected Pelobacter + and Pseudomonas in whole-biofilm observations. This is observed membership, not established catalytic + function. Other44 baseline findings preserved exactly; no auditor-rule changes or invented pairwise + links. External SC2 participants preserved; #573 panel-model caveat remains.' + black_ruff_diff: passed + tested_file_sha256: + reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml: 38c139438dc2f375e40000b15ed237a0cd08d19c3c1fbe695aa348fcf026cf5a + tests/test_causal_review_batch68.py: 126ed9f133a679ba2ec71ea01650ee91bea59b42860f3285a54ea4b2eb08873d + tests/test_participating_taxa.py: 1d7dbde060a29bc777751e3cf225e72952a0031cf1a2293be687a0065f82bc12 + kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml: ce0f1152033785546b47d35e4c92d120e1f0a78c30e1cafab3033a34924c0113 + kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml: 96166a3b9e1e6298b99bb0930ac0cab6b69018ea5b54788e0e9f65231f9bbb6e + kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml: 8cf227fbe445dfa8d4088670d65eec045904f27f4236a321fe3a2e1c76ef6306 + kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml: 95c7aa9378753e3c664f27b1f65569bb2bf36cd4c9dcef95e9f47ad88ec1a805 + reports/causal_graph_review/README.md: eb58f79fb2b556b9a65c1cb6168b7f3edd39cb84cb29df47cfe49ae036a878cf + unchanged_caches: 920 + edison: + required_for_this_repair: false + provider_submissions: 0 + credits_spent: 0 + reason: Existing-node/arrow repair and renames only; no new causal structure. + post_commit_docs_current: Separate publication gate, not asserted before commit. +participant_census: + measurements: + baseline: + records: 460 + with_community_level: 391 + mixed: 123 + community_level_only: 268 + taxa: 1507 + credited_solely_by_the_rule: 1240 + current: + records: 460 + with_community_level: 391 + mixed: 123 + community_level_only: 268 + taxa: 1507 + credited_solely_by_the_rule: 1240 + delta: + records: 0 + with_community_level: 0 + mixed: 0 + community_level_only: 0 + taxa: 0 + credited_solely_by_the_rule: 0 + interpretation: 'Canonical taxa and coarse scope census unchanged. This survey counts taxa lacking pairwise + links, not exact narrowed participant credit; the network delta separately records two MFC warnings + removed. Explicit partial-roster and panel participants do not prove catalytic interactions or resolve + #573. No taxonomy or auditor-rule change.' +corpus: + records: 460 + nodes: 1452 + edges: 633 + review_status_counts: + needs_research: 22 + pending: 220 + reviewed: 218 +limitations: +- All11 original nodes and6 arrows reviewed;11 nodes retained/qualified and renamed where needed,4 arrows + qualified,2 workflow arrows removed. No new causal structure or provider submission. +- Four complete primary main texts/captions and both main tables read. No original figure-pixel, separate + supplement, raw-data or executable-analysis audit. Numerical results not independently recomputed. Source + statements about other papers are not independent reviews of those papers. +- 'SC2 positive inhibition, plant growth and Salkowski/CAS outputs retained without competition, immune + activation, reciprocal benefit or selectively established mediator. Preserve external participants and + prior #887-#889 repairs.' +- 'Mangrove whole-biofilm removal/electrochemistry remain positive. Relative genus response is not member + activity or isolated mediation; DET/MET, partner exchange and carbon balance unresolved. Preserve #1124 + Bacillus role removal. Named genera are a partial roster.' +- 'Both Mars records remain separate-organism panels, not cocultures. Existing COMMUNITY_LEVEL containers + preserve shared abiotic/assay observations but do not settle #573 model placement or prove emergent + interactions. Do not count this repair as resolution of that open modeling issue.' +- Meteorite hydration, unequal inocula and different viable-recovery assays bound persistence comparisons; + E.coli water-only survival and late Planococcus loss at most ratios retained. Regolith composition is + not universal Mars habitability or resolved uptake. +- MGS-1 growth is optical/photophysiological, not direct N2 or O2 flux; inoculum/carryover and undetected + extract phosphorus matter. Processed-culture Lemna benefits are treatment/endpoint specific, not live + commensalism or equivalence. Worst phototroph growth does not preclude positive material benefit. +- 'Canonical taxonomy and raw non-graph blocks preserved, not recertified; #1586 remains OPEN and coordinates + #1580 and #573. No new taxon mappings or experimental roles inferred. Preserve graph-owned benzene anchors + required by unchanged non-graph aliases.' +- All920 caches unchanged;17 graph excerpts match fresh primary text after whitespace normalization. Not + historical cache/non-graph provenance certification. Public primary XML available without access bypass; + full sources remain scratch-only. +- Dedup874 all-state issue titles/bodies and47 scoped ignored/hidden local matches; seven matching issue + bodies and prior PR574, relevant histories and graph-adding commit read, not every PR/comment/local + match. Self-review is not independent approval. Repair issues remain OPEN pending protected-main merge. diff --git a/reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml b/reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml new file mode 100644 index 000000000..671538e8e --- /dev/null +++ b/reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml @@ -0,0 +1,369 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 1d74c2f53e1cb0039ef82ac18a3a94f51032a78f +baseline_commit: 1d74c2f53e1cb0039ef82ac18a3a94f51032a78f +base_tree: 9fa479f6ad0345a849d72147122c91aeb5d1447f +pre_source_baseline_sha256: 2aac38417f803bf851883445ae2e35528a4e4aa80023e7ac2fd19a4aa2ef5b4d +issues: +- 1582 +- 1583 +- 1584 +- 1585 +unresolved_non_graph_issues: +- 1586 +- 573 +unresolved_research_issues: [] +issue_deduplication: + all_state_issue_titles_and_bodies: 874 + ignored_hidden_local_search: true + matching_local_files: 47 + matching_issues: + - 1580 + - 1124 + - 889 + - 888 + - 887 + - 639 + - 573 + additional_prior_pr_read: 574 +reference_cache_original_hashes: + references_cache/PMID_38665180.txt: 9d87f9af11b4556791dab51c12348bad211d1a264080eb47376c353103d59664 + references_cache/PMID_35865930.txt: a1e25281f0df32bc67ac3d4e639cb2bc5cc39cec83ab684b3038127fad24419d + references_cache/PMID_42039819.txt: d02d2ef8066c2f6958e9c62c718eb7b670d6d720d7d7e904726ad7c28706c8e5 + references_cache/PMID_41210787.txt: d9fed314bc8ba9240093593c315a9b0ca456ea1970bdc7b661a71893a40bf2e2 +primary_artifacts: + /private/tmp/communitymech-batch68/sc2-primary.xml: 9dedabea766807ea6d91dc80e8b8a90681fa7bd551a9f0f9aef0ed58ef1a593e + /private/tmp/communitymech-batch68/sc2-primary.txt: ff3137d1ebeaa1e786a24913c839cf708c82fb35a50a50199254c17b4302a3ee + /private/tmp/communitymech-batch68/sc2-tables.txt: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b + /private/tmp/communitymech-batch68/mangrove-primary.xml: 0c7115f3b63d7fa2ba70a27d7221a25750326f56bac59dcda25d6a391aa4de5f + /private/tmp/communitymech-batch68/mangrove-primary.txt: 2177ff18b9070ee6efff9be0660bc2c4b099afb75f162db15a7d00690b04224e + /private/tmp/communitymech-batch68/mangrove-tables.txt: 8a3f43145810be5d6df13aa58e39eb772637523d789ed8922d125605f40378d0 + /private/tmp/communitymech-batch68/meteorite-primary.xml: feaf97c789802390e0e8457a3514a34779af70b7dcb4883b21e82c9c7f396ee9 + /private/tmp/communitymech-batch68/meteorite-primary.txt: 44ca88add183cc2b35e74c6a4682c355f5f5189dcb9d378a30e24c013b49b54e + /private/tmp/communitymech-batch68/meteorite-tables.txt: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b + /private/tmp/communitymech-batch68/regolith-primary.xml: f62be5502ed7a712bc297a8e9f474a73a9a0860b9b3970ae23483f33af3d17af + /private/tmp/communitymech-batch68/regolith-primary.txt: 4a08192dcc086212accd425452242dfd04a3613e8d846f150efca644628ab91f + /private/tmp/communitymech-batch68/regolith-tables.txt: 3cdff7a4dbfd68afc05c69919adeb4ba617d34e30bb3dc2e8e2fd6a939b8de83 +primary_urls: +- https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13106159/fullTextXML +- https://www.ebi.ac.uk/europepmc/webservices/rest/PMC12593025/fullTextXML +- https://www.ebi.ac.uk/europepmc/webservices/rest/PMC11041791/fullTextXML +- https://www.ebi.ac.uk/europepmc/webservices/rest/PMC9295076/fullTextXML +primary_graph_snippet_count: 17 +edison: + required_for_this_repair: false + provider_submissions: 0 + credits_spent: 0 + reason: Existing-node/arrow repair and renames only; no new causal structure. +limitations: +- All11 original nodes and6 arrows reviewed;11 nodes retained/qualified and renamed where needed,4 arrows qualified,2 + workflow arrows removed. No new causal structure or provider submission. +- Four complete primary main texts/captions and both main tables read. No original figure-pixel, separate supplement, + raw-data or executable-analysis audit. Numerical results not independently recomputed. Source statements about + other papers are not independent reviews of those papers. +- 'SC2 positive inhibition, plant growth and Salkowski/CAS outputs retained without competition, immune activation, + reciprocal benefit or selectively established mediator. Preserve external participants and prior #887-#889 repairs.' +- 'Mangrove whole-biofilm removal/electrochemistry remain positive. Relative genus response is not member activity + or isolated mediation; DET/MET, partner exchange and carbon balance unresolved. Preserve #1124 Bacillus role removal. + Named genera are a partial roster.' +- 'Both Mars records remain separate-organism panels, not cocultures. Existing COMMUNITY_LEVEL containers preserve + shared abiotic/assay observations but do not settle #573 model placement or prove emergent interactions. Do not + count this repair as resolution of that open modeling issue.' +- Meteorite hydration, unequal inocula and different viable-recovery assays bound persistence comparisons; E.coli + water-only survival and late Planococcus loss at most ratios retained. Regolith composition is not universal Mars + habitability or resolved uptake. +- MGS-1 growth is optical/photophysiological, not direct N2 or O2 flux; inoculum/carryover and undetected extract + phosphorus matter. Processed-culture Lemna benefits are treatment/endpoint specific, not live commensalism or + equivalence. Worst phototroph growth does not preclude positive material benefit. +- 'Canonical taxonomy and raw non-graph blocks preserved, not recertified; #1586 remains OPEN and coordinates #1580 + and #573. No new taxon mappings or experimental roles inferred. Preserve graph-owned benzene anchors required + by unchanged non-graph aliases.' +- All920 caches unchanged;17 graph excerpts match fresh primary text after whitespace normalization. Not historical + cache/non-graph provenance certification. Public primary XML available without access bypass; full sources remain + scratch-only. +- Dedup874 all-state issue titles/bodies and47 scoped ignored/hidden local matches; seven matching issue bodies + and prior PR574, relevant histories and graph-adding commit read, not every PR/comment/local match. Self-review + is not independent approval. Repair issues remain OPEN pending protected-main merge. +records: +- path: kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml + id: CommunityMech:000375 + original_sha256: bf63a7f699dbd94a90a7f562be35fdbded2ff9301d5ef0d41d84b3abc7390b70 + record_sha256: ce0f1152033785546b47d35e4c92d120e1f0a78c30e1cafab3033a34924c0113 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml + scope: Whole record and every original node/arrow; panel-model decision remains explicitly open. + summary: Retain plate inhibition and plant protection, not competition or immune mechanism.; Retain plant benefit + under challenge, not reciprocal mutualism or demonstrated IAA mediation.; Retain Salkowski/CAS outputs with + chemical-identity, pathway and host-transfer limits. + renamed_nodes: + SC2 auxin and siderophore output: SC2 Salkowski and CAS assay outputs + node_decisions: + - node: Pythium torulosum suppression by SC2 + rationale: Retain plate inhibition and plant protection, not competition or immune mechanism. + - node: Maize growth promotion under Pythium challenge + rationale: Retain plant benefit under challenge, not reciprocal mutualism or demonstrated IAA mediation. + - node: SC2 Salkowski and CAS assay outputs + rationale: Retain Salkowski/CAS outputs with chemical-identity, pathway and host-transfer limits. + removed_node_decisions: [] + edges_before: + - source: Pythium torulosum suppression by SC2 + target: Maize growth promotion under Pythium challenge + description: Reduced pathogen pressure in the SC2 plus P. torulosum treatment was accompanied by higher maize + plant height and fresh root biomass than the C7 plus P. torulosum treatment. + edges_after: + - source: Pythium torulosum suppression by SC2 + target: Maize growth promotion under Pythium challenge + description: HYPOTHESIZED - pathogen inhibition could reduce injury and thereby contribute to improved maize + growth under challenge. Plate inhibition and plant height/root-mass outcomes support this interpretation, + but inhibition was not selectively separated from direct growth promotion in the pot experiment; pathogen + load and immune mediation were not established. + retained_edge_decisions: + - source: Pythium torulosum suppression by SC2 + target: Maize growth promotion under Pythium challenge + description: HYPOTHESIZED - pathogen inhibition could reduce injury and thereby contribute to improved maize + growth under challenge. Plate inhibition and plant height/root-mass outcomes support this interpretation, + but inhibition was not selectively separated from direct growth promotion in the pot experiment; pathogen + load and immune mediation were not established. + rationale: HYPOTHESIZED - pathogen inhibition could reduce injury and thereby contribute to improved maize growth + under challenge. Plate inhibition and plant height/root-mass outcomes support this interpretation, but inhibition + was not selectively separated from direct growth promotion in the pot experiment; pathogen load and immune + mediation were not established. + removed_edge_decisions: [] + references: + - PMID:42039819 + issues: + - 1582 + - 1586 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Maize_SC2_RootRot_Biocontrol_SynCom/2026-10-07T000611Z-codex-3bc578.yaml + source_review: + PMID:42039819: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13106159/fullTextXML + scope: Complete primary main text, captions and available main tables; not separate supplements, original + figure pixels or raw data. + all_retained_graph_snippets_primary_matched: true + cache_provenance_certified: false +- path: kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml + id: CommunityMech:000442 + original_sha256: c12f95a337d6b4c7e2b30f69559d2a608a875e511341c062ea95c992f6adb91f + record_sha256: 96166a3b9e1e6298b99bb0930ac0cab6b69018ea5b54788e0e9f65231f9bbb6e + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml + scope: Whole record and every original node/arrow; panel-model decision remains explicitly open. + summary: Retain relative genus response at partial-roster scope, not partitioning or isolated catalytic mediation.; + Retain positive whole-system removal and power with cycle-specific voltage and unresolved member flux. + renamed_nodes: + Benzene-fed bioanode niche shift: Benzene-fed bioanode composition shift + node_decisions: + - node: Benzene-fed bioanode composition shift + rationale: Retain relative genus response at partial-roster scope, not partitioning or isolated catalytic mediation. + - node: Benzene removal with voltage generation + rationale: Retain positive whole-system removal and power with cycle-specific voltage and unresolved member + flux. + removed_node_decisions: [] + edges_before: + - source: Benzene-fed bioanode niche shift + target: Benzene removal with voltage generation + description: 'The benzene-selected bioanode removed benzene while producing a higher maximum voltage and power + density than the acetate-fed bioanode. + + ' + edges_after: + - source: Benzene-fed bioanode composition shift + target: Benzene removal with voltage generation + description: HYPOTHESIZED - substrate-associated community restructuring could increase the bioanode capacity + for benzene conversion and electron transfer, as proposed by the authors. Whole-biofilm chemical and electrochemical + measurements support performance, but relative genus enrichment does not isolate composition from substrate/acclimation + effects or establish Bacillus and Arcobacter as necessary catalytic partners. + retained_edge_decisions: + - source: Benzene-fed bioanode composition shift + target: Benzene removal with voltage generation + description: HYPOTHESIZED - substrate-associated community restructuring could increase the bioanode capacity + for benzene conversion and electron transfer, as proposed by the authors. Whole-biofilm chemical and electrochemical + measurements support performance, but relative genus enrichment does not isolate composition from substrate/acclimation + effects or establish Bacillus and Arcobacter as necessary catalytic partners. + rationale: HYPOTHESIZED - substrate-associated community restructuring could increase the bioanode capacity + for benzene conversion and electron transfer, as proposed by the authors. Whole-biofilm chemical and electrochemical + measurements support performance, but relative genus enrichment does not isolate composition from substrate/acclimation + effects or establish Bacillus and Arcobacter as necessary catalytic partners. + removed_edge_decisions: [] + references: + - PMID:41210787 + issues: + - 1583 + - 1586 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Mangrove_Benzene_MFC_Bioanode_Consortium/2026-10-07T000611Z-codex-f325c2.yaml + source_review: + PMID:41210787: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC12593025/fullTextXML + scope: Complete primary main text, captions and available main tables; not separate supplements, original + figure pixels or raw data. + all_retained_graph_snippets_primary_matched: true + cache_provenance_certified: false +- path: kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml + id: CommunityMech:000308 + original_sha256: b7283929574842b89e523916b0f260be4231f9ce83dc7c59eacb5f381a1bf8f8 + record_sha256: 8cf227fbe445dfa8d4088670d65eec045904f27f4236a321fe3a2e1c76ef6306 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml + scope: Whole record and every original node/arrow; panel-model decision remains explicitly open. + summary: Retain bounded abiotic resource hypothesis from cited leachate chemistry, not niche partitioning.; Retain + hydration-dependent viable-recovery observations; remove assay-order causation.; Retain strain-specific positive + persistence with late-time and water-control exceptions. + renamed_nodes: + Regolith-Water Growth Assay: Hydration-dependent regolith growth and survival + Extremophile-Weighted Regolith Persistence: Strain-specific regolith persistence + node_decisions: + - node: EETA79001 Mineral Nutrient Supply + rationale: Retain bounded abiotic resource hypothesis from cited leachate chemistry, not niche partitioning. + - node: Hydration-dependent regolith growth and survival + rationale: Retain hydration-dependent viable-recovery observations; remove assay-order causation. + - node: Strain-specific regolith persistence + rationale: Retain strain-specific positive persistence with late-time and water-control exceptions. + removed_node_decisions: [] + edges_before: + - source: EETA79001 Mineral Nutrient Supply + target: Regolith-Water Growth Assay + description: Inorganic nutrients leached from the meteorite sawdust made water-amended EETA79001 a usable growth + substrate instead of an inert particulate control. + - source: Regolith-Water Growth Assay + target: Extremophile-Weighted Regolith Persistence + description: Growth across the water-amended regolith series exposed the stronger longer-term survival of Chr20 + and Planococcus halocryophilus relative to the nonextremophile comparators. + edges_after: + - source: EETA79001 Mineral Nutrient Supply + target: Hydration-dependent regolith growth and survival + description: PARTIAL - hydration can make meteorite-associated resources available and thereby support growth + or persistence in the separate cultures. Regolith/water treatments and water-only controls support a substrate + contribution for some organisms, but ion-specific mediation was not isolated and E. coli also persisted in + water-only controls. + retained_edge_decisions: + - source: EETA79001 Mineral Nutrient Supply + target: Hydration-dependent regolith growth and survival + description: PARTIAL - hydration can make meteorite-associated resources available and thereby support growth + or persistence in the separate cultures. Regolith/water treatments and water-only controls support a substrate + contribution for some organisms, but ion-specific mediation was not isolated and E. coli also persisted in + water-only controls. + rationale: PARTIAL - hydration can make meteorite-associated resources available and thereby support growth + or persistence in the separate cultures. Regolith/water treatments and water-only controls support a substrate + contribution for some organisms, but ion-specific mediation was not isolated and E. coli also persisted in + water-only controls. + removed_edge_decisions: + - source: Regolith-Water Growth Assay + target: Extremophile-Weighted Regolith Persistence + description: Growth across the water-amended regolith series exposed the stronger longer-term survival of Chr20 + and Planococcus halocryophilus relative to the nonextremophile comparators. + rationale: The arrow describes assay order or sample reuse, not an independently established causal effect of + the upstream phenotype; retain both measured endpoints with their limits. + references: + - PMID:38665180 + issues: + - 1584 + - 1586 + - 573 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Mars_Meteorite_EETA79001_Growth_Panel/2026-10-07T000611Z-codex-6356dd.yaml + source_review: + PMID:38665180: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC11041791/fullTextXML + scope: Complete primary main text, captions and available main tables; not separate supplements, original + figure pixels or raw data. + all_retained_graph_snippets_primary_matched: true + cache_provenance_certified: false +- path: kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml + id: CommunityMech:000309 + original_sha256: cee63f7b29509131f1b5c8e2363444284c45b7ad52d40b7a225e6dd6a01392d3 + record_sha256: 95c7aa9378753e3c664f27b1f65569bb2bf36cd4c9dcef95e9f47ad88ec1a805 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml + scope: Whole record and every original node/arrow; panel-model decision remains explicitly open. + summary: Retain measured extract chemistry with speciation, carryover and phosphorus limits.; Retain species-specific + optical growth/photophysiology, not measured nitrogen flux; remove workflow arrow.; Retain processed-culture + plant benefit with endpoint and treatment specificity, not live commensalism. + renamed_nodes: + Diazotrophic Mars Extract Growth Advantage: Separate-culture growth on Mars regolith extract + End-of-Life Biomass Biofertilization: Processed-culture Lemna biofertilization + node_decisions: + - node: MGS-1 Regolith Extract Nutrient Supply + rationale: Retain measured extract chemistry with speciation, carryover and phosphorus limits. + - node: Separate-culture growth on Mars regolith extract + rationale: Retain species-specific optical growth/photophysiology, not measured nitrogen flux; remove workflow + arrow. + - node: Processed-culture Lemna biofertilization + rationale: Retain processed-culture plant benefit with endpoint and treatment specificity, not live commensalism. + removed_node_decisions: [] + edges_before: + - source: MGS-1 Regolith Extract Nutrient Supply + target: Diazotrophic Mars Extract Growth Advantage + description: The MGS-1 aqueous extract provided the mineral and water resource base on which the nitrogen-fixing + cyanobacteria outperformed the non-diazotrophic panel members. + - source: Diazotrophic Mars Extract Growth Advantage + target: End-of-Life Biomass Biofertilization + description: The 25-day phototroph cultures produced the cyanobacterial and microalgal biomass subsequently + supplied to Lemna minor as filtered or sonicated biofertilizer treatments. + edges_after: + - source: MGS-1 Regolith Extract Nutrient Supply + target: Separate-culture growth on Mars regolith extract + description: PARTIAL - water-extracted MGS-1 resources could support the observed growth above water-only controls. + The authors propose nitrogen-fixing capacity as an explanation for differential performance, but nitrogen + flux, ion requirements and reserve/carryover contributions were not independently isolated; species traits + and growth rates differ. + retained_edge_decisions: + - source: MGS-1 Regolith Extract Nutrient Supply + target: Separate-culture growth on Mars regolith extract + description: PARTIAL - water-extracted MGS-1 resources could support the observed growth above water-only controls. + The authors propose nitrogen-fixing capacity as an explanation for differential performance, but nitrogen + flux, ion requirements and reserve/carryover contributions were not independently isolated; species traits + and growth rates differ. + rationale: PARTIAL - water-extracted MGS-1 resources could support the observed growth above water-only controls. + The authors propose nitrogen-fixing capacity as an explanation for differential performance, but nitrogen + flux, ion requirements and reserve/carryover contributions were not independently isolated; species traits + and growth rates differ. + removed_edge_decisions: + - source: Diazotrophic Mars Extract Growth Advantage + target: End-of-Life Biomass Biofertilization + description: The 25-day phototroph cultures produced the cyanobacterial and microalgal biomass subsequently + supplied to Lemna minor as filtered or sonicated biofertilizer treatments. + rationale: The arrow describes assay order or sample reuse, not an independently established causal effect of + the upstream phenotype; retain both measured endpoints with their limits. + references: + - PMID:35865930 + issues: + - 1585 + - 1586 + - 573 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel/2026-10-07T000612Z-codex-a47333.yaml + source_review: + PMID:35865930: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC9295076/fullTextXML + scope: Complete primary main text, captions and available main tables; not separate supplements, original + figure pixels or raw data. + all_retained_graph_snippets_primary_matched: true + cache_provenance_certified: false diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index 917ff5d48..99f3773a3 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -235,10 +235,10 @@ kb/communities/Magnetite_Sulfate_Stress_Anaerobic_Microbiome.yaml CommunityMech: kb/communities/Maize_Benzoxazinoid_Metabolizing_SynComs.yaml CommunityMech:000101 a34131384a65a262125210bbe7f309b53ea0e25ea0e2095389ecb4c6c9b28613 3 1 90.0 reports/causal_graph_review/decisions/20261006-maize-batch67.yaml reviewed kb/communities/Maize_Drought_Response_SynCom.yaml CommunityMech:000103 4cf2fbfda47fbabe5d4b3fce4492a1f0dc0c60f57acd4967fd89bdf823974d6e 7 7 97.9 reports/causal_graph_review/decisions/20261006-maize-batch67.yaml reviewed kb/communities/Maize_Root_Simplified_Community.yaml CommunityMech:000043 7da2403dc621786c6d12d1440cdb2cd28f0982aecbe8660d1dfeddaa41bf273b 3 0 63.3 reports/causal_graph_review/decisions/20261006-maize-batch67.yaml reviewed -kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml CommunityMech:000375 bf63a7f699dbd94a90a7f562be35fdbded2ff9301d5ef0d41d84b3abc7390b70 3 1 90.0 pending -kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml CommunityMech:000442 c12f95a337d6b4c7e2b30f69559d2a608a875e511341c062ea95c992f6adb91f 2 1 77.5 pending -kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml CommunityMech:000308 b7283929574842b89e523916b0f260be4231f9ce83dc7c59eacb5f381a1bf8f8 3 2 100.0 pending -kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml CommunityMech:000309 cee63f7b29509131f1b5c8e2363444284c45b7ad52d40b7a225e6dd6a01392d3 3 2 100.0 pending +kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml CommunityMech:000375 ce0f1152033785546b47d35e4c92d120e1f0a78c30e1cafab3033a34924c0113 3 1 78.3 reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml reviewed +kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml CommunityMech:000442 96166a3b9e1e6298b99bb0930ac0cab6b69018ea5b54788e0e9f65231f9bbb6e 2 1 75.0 reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml reviewed +kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml CommunityMech:000308 8cf227fbe445dfa8d4088670d65eec045904f27f4236a321fe3a2e1c76ef6306 3 1 80.0 reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml reviewed +kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml CommunityMech:000309 95c7aa9378753e3c664f27b1f65569bb2bf36cd4c9dcef95e9f47ad88ec1a805 3 1 80.0 reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml reviewed kb/communities/Medicago_Nodule_Biofertilizer_SynCom.yaml CommunityMech:000108 70a2b53d3f4f34f9a40c12c1c655022ed1ed7609bf30be8a4d06bdd73f6aac1a 3 2 100.0 pending kb/communities/Mediterranean_AM_Fungal_SixSpecies_SynCom.yaml CommunityMech:000367 d9ea340394db8609cbe9f07566507a2cc4d2f2ca371ecd709a56e4f99eaa1599 1 0 55.0 pending kb/communities/Mediterranean_Grassland_qSIP_Rainfall_Community.yaml CommunityMech:000227 d3ad10b333be04e206fb08c2f3da1a06e2f80a771f683357cac5dc7415329511 5 0 75.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index dc1419296..f4b023b41 100644 --- a/reports/causal_graph_review/summary.json +++ b/reports/causal_graph_review/summary.json @@ -3,13 +3,13 @@ "semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.", "records": 460, "nodes": 1452, - "edges": 635, + "edges": 633, "records_without_nodes": 8, "records_without_edges": 162, "review_status_counts": { "needs_research": 22, - "pending": 224, - "reviewed": 214 + "pending": 220, + "reviewed": 218 }, "structural_defects": [], "network_audit": [ @@ -1175,66 +1175,6 @@ "message": "Taxon 'Rhizobiaceae bacterium' has no interactions", "severity": "warning" }, - { - "record": "Mangrove_Benzene_MFC_Bioanode_Consortium", - "type": "DISCONNECTED", - "taxon": "Pelobacter", - "taxon_id": "NCBITaxon:18", - "taxon_data": { - "taxon_term": { - "preferred_term": "Pelobacter", - "term": { - "id": "NCBITaxon:18", - "label": "Pelobacter" - }, - "gtdb_grounding_status": "UNRESOLVED", - "notes": "Pelobacter was a lower-abundance genus in the benzene-fed 16S profile; no species-level identity or functional role was resolved.\n" - }, - "relative_abundance": 2.22, - "relative_abundance_unit": "percent", - "evidence": [ - { - "reference": "PMID:41210787", - "supports": "SUPPORT", - "evidence_source": "IN_VITRO", - "snippet": "Pelobacter, Desulfurumonas, and Pseudomonas were also identified at 2.22, 1.64, and 0.87%", - "explanation": "Supports Pelobacter as a minor detected genus in the benzene-fed MFC biofilm." - } - ] - }, - "message": "Taxon 'Pelobacter' has no interactions", - "severity": "warning" - }, - { - "record": "Mangrove_Benzene_MFC_Bioanode_Consortium", - "type": "DISCONNECTED", - "taxon": "Pseudomonas", - "taxon_id": "NCBITaxon:286", - "taxon_data": { - "taxon_term": { - "preferred_term": "Pseudomonas", - "term": { - "id": "NCBITaxon:286", - "label": "Pseudomonas" - }, - "gtdb_grounding_status": "UNRESOLVED", - "notes": "Pseudomonas was a lower-abundance genus in the benzene-fed 16S profile; no species-level identity or functional role was resolved.\n" - }, - "relative_abundance": 0.87, - "relative_abundance_unit": "percent", - "evidence": [ - { - "reference": "PMID:41210787", - "supports": "SUPPORT", - "evidence_source": "IN_VITRO", - "snippet": "Pelobacter, Desulfurumonas, and Pseudomonas were also identified at 2.22, 1.64, and 0.87%", - "explanation": "Supports Pseudomonas as a minor detected genus in the benzene-fed MFC biofilm." - } - ] - }, - "message": "Taxon 'Pseudomonas' has no interactions", - "severity": "warning" - }, { "record": "Nitrifying_Wastewater_Ammonia_Oxidizing_Consortium", "type": "DISCONNECTED", diff --git a/reports/causal_graph_review/validation-20261006-batch68.json b/reports/causal_graph_review/validation-20261006-batch68.json new file mode 100644 index 000000000..4969023e2 --- /dev/null +++ b/reports/causal_graph_review/validation-20261006-batch68.json @@ -0,0 +1,1253 @@ +{ + "base_commit": "1d74c2f53e1cb0039ef82ac18a3a94f51032a78f", + "scope": [ + "kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml", + "kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml", + "kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml", + "kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml" + ], + "reference_validator_version": "0.1.7", + "results": [ + { + "check": "Maize_SC2_RootRot_Biocontrol_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Maize_SC2_RootRot_Biocontrol_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Maize_SC2_RootRot_Biocontrol_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch68/Maize_SC2_RootRot_Biocontrol_SynCom-strict.tsv", + "kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Maize_SC2_RootRot_Biocontrol_SynCom-strict.log", + "log_sha256": "e8218cb1b3a2bd2b9342b716fed40d8db2f0eb5bc07f49dfe0b872a6873ef2ec", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch68/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-batch68/Maize_SC2_RootRot_Biocontrol_SynCom-strict.tsv\n" + }, + { + "check": "Maize_SC2_RootRot_Biocontrol_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Maize_SC2_RootRot_Biocontrol_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Maize_SC2_RootRot_Biocontrol_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Maize_SC2_RootRot_Biocontrol_SynCom-references.log", + "log_sha256": "792cde8cd728c187e9e790ca9207e22c46804c2935311a1181c7c5634e24c308", + "output_tail": "Validating kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Maize_SC2_RootRot_Biocontrol_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Maize_SC2_RootRot_Biocontrol_SynCom-snippets.log", + "log_sha256": "32d5c17677a000100a0b22db07734e7af95b7e2b40f82a74ed21b581b1a6d4f5", + "output_tail": "# 20 evidence snippets scanned across 1 files\n MATCH 20\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Maize_SC2_RootRot_Biocontrol_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Maize_SC2_RootRot_Biocontrol_SynCom-rank.log", + "log_sha256": "d18533221a38625484d10505cfb5808d935851e6058c405d6be802083362c2bd", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000375\",\n \"name\": \"Maize SC2 Root-Rot Biocontrol SynCom\",\n \"score\": 78.3,\n \"taxonomy\": 3,\n \"connected_taxa\": 3,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 5,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Maize_SC2_RootRot_Biocontrol_SynCom-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Maize_SC2_RootRot_Biocontrol_SynCom/2026-10-07T000611Z-codex-3bc578.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Maize_SC2_RootRot_Biocontrol_SynCom-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Mangrove_Benzene_MFC_Bioanode_Consortium-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mangrove_Benzene_MFC_Bioanode_Consortium-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Mangrove_Benzene_MFC_Bioanode_Consortium-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch68/Mangrove_Benzene_MFC_Bioanode_Consortium-strict.tsv", + "kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mangrove_Benzene_MFC_Bioanode_Consortium-strict.log", + "log_sha256": "6738c8ed35972403392a08aeae2f5b5accbaf7c50b72c9be1d9dde6720bb3e4d", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch68/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-batch68/Mangrove_Benzene_MFC_Bioanode_Consortium-strict.tsv\n" + }, + { + "check": "Mangrove_Benzene_MFC_Bioanode_Consortium-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mangrove_Benzene_MFC_Bioanode_Consortium-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Mangrove_Benzene_MFC_Bioanode_Consortium-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mangrove_Benzene_MFC_Bioanode_Consortium-references.log", + "log_sha256": "6d7397fd0c2b8add3da4ee95d1112513adc2eda7b8f34a29e2626058e5280991", + "output_tail": "Validating kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Mangrove_Benzene_MFC_Bioanode_Consortium-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mangrove_Benzene_MFC_Bioanode_Consortium-snippets.log", + "log_sha256": "96a23c88588d68e990af5d62f9c27df12879566b4125e7703a275c3bfa7adcd7", + "output_tail": "# 22 evidence snippets scanned across 1 files\n MATCH 22\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Mangrove_Benzene_MFC_Bioanode_Consortium-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mangrove_Benzene_MFC_Bioanode_Consortium-rank.log", + "log_sha256": "4736f834c898d0c21936ee018a9e2fa71b72d3b8b2d87f4fc8c44254440bd045", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000442\",\n \"name\": \"Mangrove Benzene MFC Bioanode Consortium\",\n \"score\": 75.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 2,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"additional_downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml\"\n }\n]\n" + }, + { + "check": "Mangrove_Benzene_MFC_Bioanode_Consortium-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Mangrove_Benzene_MFC_Bioanode_Consortium/2026-10-07T000611Z-codex-f325c2.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mangrove_Benzene_MFC_Bioanode_Consortium-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Mars_Meteorite_EETA79001_Growth_Panel-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Meteorite_EETA79001_Growth_Panel-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Mars_Meteorite_EETA79001_Growth_Panel-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch68/Mars_Meteorite_EETA79001_Growth_Panel-strict.tsv", + "kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Meteorite_EETA79001_Growth_Panel-strict.log", + "log_sha256": "78357ea54d1dcb466cfa72df0caa707d49dcf990bba85bfae510c2c3a3bec90b", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch68/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-batch68/Mars_Meteorite_EETA79001_Growth_Panel-strict.tsv\n" + }, + { + "check": "Mars_Meteorite_EETA79001_Growth_Panel-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Meteorite_EETA79001_Growth_Panel-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Mars_Meteorite_EETA79001_Growth_Panel-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Meteorite_EETA79001_Growth_Panel-references.log", + "log_sha256": "01a98e07615134b952f6be960077873b8af97c6dd8eb61ebddd0cb74508df35e", + "output_tail": "Validating kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.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/Mars_Meteorite_EETA79001_Growth_Panel.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": "Mars_Meteorite_EETA79001_Growth_Panel-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Meteorite_EETA79001_Growth_Panel-snippets.log", + "log_sha256": "f77044cea09a90a006f3fc48666f62a208521829981c6819a3a36631506c4ec1", + "output_tail": "# 16 evidence snippets scanned across 1 files\n MATCH 16\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Mars_Meteorite_EETA79001_Growth_Panel-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Meteorite_EETA79001_Growth_Panel-rank.log", + "log_sha256": "ae2644671bf6312037202ca4b46e60d503bebca44bbc4f042097ebb0bd63db35", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000308\",\n \"name\": \"Mars Meteorite EETA79001 Microbial Growth Panel\",\n \"score\": 80.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 5,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml\"\n }\n]\n" + }, + { + "check": "Mars_Meteorite_EETA79001_Growth_Panel-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Mars_Meteorite_EETA79001_Growth_Panel/2026-10-07T000611Z-codex-6356dd.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Meteorite_EETA79001_Growth_Panel-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch68/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-strict.tsv", + "kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-strict.log", + "log_sha256": "838308e0fda8a77e392e27f1198b19be3cc7f2eae00b88d61a693ae3aa966a90", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch68/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-batch68/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-strict.tsv\n" + }, + { + "check": "Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-references.log", + "log_sha256": "f3daa38fe95dea9463b91473927ef0715b9f6b93d40aeb0e6c59014da5dd605b", + "output_tail": "Validating kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.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/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.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": "Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-snippets.log", + "log_sha256": "96a23c88588d68e990af5d62f9c27df12879566b4125e7703a275c3bfa7adcd7", + "output_tail": "# 22 evidence snippets scanned across 1 files\n MATCH 22\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-rank.log", + "log_sha256": "3f8dce14b907c1507403a7c382d1299ea75d820cf333416029d4c484f5c3cb67", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000309\",\n \"name\": \"Mars Regolith Cyanobacteria/Microalga Biofertilizer Panel\",\n \"score\": 80.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 4,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml\"\n }\n]\n" + }, + { + "check": "Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel/2026-10-07T000612Z-codex-a47333.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel-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-batch68/inventory.log", + "log_sha256": "c4ccf883bdf69b19aa9f4780e722cf0c4f7c7ba7f04178ed535c3e5460853bd3", + "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\": 1452,\n \"edges\": 633,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 162,\n \"review_status_counts\": {\n \"needs_research\": 22,\n \"pending\": 220,\n \"reviewed\": 218\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-batch68/network.log", + "log_sha256": "dcb33d46aa53f5e1dec55b1cd6463b83d3723e2ebf8c97999c93d0a5f4a2fed1", + "output_tail": "{\n \"preferred_term\": \"Legionella MAGs\",\n \"term\": {\n \"id\": \"NCBITaxon:445\",\n \"label\": \"Legionella\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The study detected Legionella-affiliated MAGs and used them in a virulence-gene risk assessment; the source did not assert pathogenicity for a cultured Legionella isolate.\\n\"\n },\n \"abundance_value\": \"Lower-abundance Legionella-affiliated MAGs detected during metagenomic risk assessment.\\n\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41457319\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"COMPUTATIONAL\",\n \"snippet\": \"detection of waterborne pathogens from the Legionella genus\",\n \"explanation\": \"Supports Legionella-affiliated lower-abundance bins as monitored biosafety-relevant members of the consortium.\\n\"\n }\n ]\n },\n \"message\": \"Taxon 'Legionella MAGs' has no interactions\"\n }\n ],\n \"Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom\": [\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Twelve-Strain SynCom Suppression of Sclerotinia Sclerotia\",\n \"interaction_index\": 0,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Trinickia MC Key Contribution to Sclerotia Mortality\",\n \"interaction_index\": 1,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Space_Habitat_SevenMember_Stress_Tolerance_SynCom\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Acinetobacter radioresistens 50V1\",\n \"taxon_id\": \"NCBITaxon:40216\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Acinetobacter radioresistens 50V1\",\n \"term\": {\n \"id\": \"NCBITaxon:40216\",\n \"label\": \"Acinetobacter radioresistens\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate came from the preflight Mars Odyssey Orbiter; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"50V1\",\n \"genome_accession\": \"GCA_002834555.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Acinetobacter radioresistens | 50V1 | Preflight Mars Odyssey Orbiter | \\u2013 | Mccoy et al., 2012 | GCA_002834555.1 | TSYB/TSYA | 37 \\u00b0C | 16\\u201318 h\",\n \"explanation\": \"Identifies A. radioresistens 50V1 as a consortium member and gives its spacecraft-associated source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Acinetobacter radioresistens 50V1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Micrococcus luteus W4-Al-K1\",\n \"taxon_id\": \"NCBITaxon:1270\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Micrococcus luteus W4-Al-K1\",\n \"term\": {\n \"id\": \"NCBITaxon:1270\",\n \"label\": \"Micrococcus luteus\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from an ISS aluminum-case touch array; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"W4-Al-K1\",\n \"genome_accession\": \"GCA_057816565.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Micrococcus luteus | W4-Al-K1 | ISS, Touch Array Aluminum Case | - | Kr\\u00e4mer et al., 2025 | GCA_057816565.1 | NB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies M. luteus W4-Al-K1 as a consortium member and gives its ISS source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Micrococcus luteus W4-Al-K1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"taxon_id\": \"NCBITaxon:64702\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"term\": {\n \"id\": \"NCBITaxon:64702\",\n \"label\": \"Propionibacterium cyclohexanicum\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. cyclohexanicum type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"TA-12T\",\n \"genome_accession\": \"GCA_900111365\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"16859\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Propionibacterium cyclohexanicum | TA-12 T | Spoilt Orange Juice | DSM 16859 T | Kusano et al., 1997 | GCA_900111365 | BHI, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies P. cyclohexanicum TA-12T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Propionibacterium cyclohexanicum TA-12T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas antarctica CMS 35T\",\n \"taxon_id\": \"NCBITaxon:219572\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas antarctica CMS 35T\",\n \"term\": {\n \"id\": \"NCBITaxon:219572\",\n \"label\": \"Pseudomonas antarctica\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. antarctica type strain as a biosafety-level-1 Pseudomonas surrogate.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"CMS 35T\",\n \"genome_accession\": \"GCA_010634845\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"15318\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pseudomonas antarctica | CMS 35 T | Antarctica | DSM 15318 T | Reddy et al., 2004 | GCA_010634845 | TSYB/TSYA | Ambient | 12\\u201316 h\",\n \"explanation\": \"Identifies P. antarctica CMS 35T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "check": "rank-all", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/rank-all.log", + "log_sha256": "b774087834913dbba3e049f30b15216ca0d5aedf9c2b023315c206040ac94343", + "output_tail": "ities/Soybean_N_Fixation_sfSynCom.yaml\tCommunityMech:000064\tSoybean N-Fixation Simplified SynCom\t4\t4\t0\t3\t2\t3\t\t0\t0\n402\t100.0\tkb/communities/Sphingobium_Rhodococcus_Lignin_Dimer_Valorization_Coculture.yaml\tCommunityMech:000267\tSphingobium-Rhodococcus Lignin-Dimer Valorization Coculture\t2\t2\t0\t3\t2\t7\t\t0\t0\n403\t100.0\tkb/communities/Staphylococcus_Candida_Context_Dependent_Biofilm_Coculture.yaml\tCommunityMech:000326\tStaphylococcus-Candida Context-Dependent Biofilm Coculture\t2\t2\t0\t6\t2\t13\t\t0\t0\n404\t100.0\tkb/communities/Stordalen_Mire_Methylotrophic_Methanogenesis_Community.yaml\tCommunityMech:000254\tStordalen Mire Methylotrophic Methanogenesis Community\t3\t3\t0\t4\t4\t9\t\t0\t0\n405\t100.0\tkb/communities/Streptomyces_A2_A5_A11_M7_Pesticide_Consortium.yaml\tCommunityMech:000335\tStreptomyces A2-A5-A11-M7 Pesticide-Bioremediation Consortium\t4\t4\t0\t4\t2\t5\t\t0\t0\n406\t100.0\tkb/communities/Subsurface_Carboxydocella_CO_Aquifer_Community.yaml\tCommunityMech:000251\tSubsurface Carboxydocella CO-Oxidation Aquifer Community\t1\t1\t0\t5\t2\t5\t\t0\t0\n407\t100.0\tkb/communities/Suillus_Bacillus_Thiamine_Ectomycorrhizal_SynCom.yaml\tCommunityMech:000312\tSuillus clintonianus-Bacillus altitudinis Thiamine Cross-Feeding SynCom\t3\t3\t0\t4\t3\t4\t\t0\t0\n408\t100.0\tkb/communities/Sulfide_Spring_Autotrophic_CPR_Biofilm.yaml\tCommunityMech:000222\tSulfide Spring Autotrophic CPR-Hosting Biofilm\t3\t3\t0\t3\t2\t4\t\t0\t0\n409\t100.0\tkb/communities/SynComBac10_Chicken_Intestinal_SynCom.yaml\tCommunityMech:000127\tSynComBac10 Chicken Intestinal SynCom\t3\t3\t0\t3\t2\t3\t\t0\t0\n410\t100.0\tkb/communities/SynCom_ARC_Peanut_Aflatoxin_Nodulation.yaml\tCommunityMech:000314\tSynCom ARC Peanut Aflatoxin-Control and Nodulation-Coupling Community\t5\t5\t0\t3\t2\t3\t\t0\t0\n411\t100.0\tkb/communities/SynCom_BsBv_Cigar_Tobacco_Leaf_Fermentation.yaml\tCommunityMech:000278\tSynCom BsBv Cigar Tobacco Leaf Fermentation\t2\t2\t0\t3\t2\t3\t\t0\t0\n412\t100.0\tkb/communities/SynCom_Chlorella_sorokiniana_Biogas_Slurry_Coupling_System.yaml\tCommunityMech:000285\tSynCom + Chlorella sorokiniana Biogas-slurry Coupling System\t2\t2\t0\t5\t3\t5\t\t0\t0\n413\t100.0\tkb/communities/SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.yaml\tCommunityMech:000302\tSynCom MetG2 Rhizobacteria Sugarcane Stress Resilience\t2\t2\t0\t3\t2\t4\t\t0\t0\n414\t100.0\tkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml\tCommunityMech:000283\tSesame-flavor Baijiu Fuqu SynCom (13-genus)\t13\t13\t0\t3\t2\t3\t\t0\t0\n415\t100.0\tkb/communities/SynCom_Y_Agrobacterium_Bacillus_Biofilm_Biocontrol_Coculture.yaml\tCommunityMech:000272\tSynCom Y Agrobacterium-Bacillus Biofilm Biocontrol Co-culture\t2\t2\t0\t4\t2\t6\t\t0\t0\n416\t100.0\tkb/communities/Synechococcus_Azotobacter_Photoproduction_Mutualism.yaml\tCommunityMech:000207\tSynechococcus-Azotobacter Photoproduction Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n417\t100.0\tkb/communities/Synechococcus_Bacillus_SPC.yaml\tCommunityMech:000065\tSynechococcus-Bacillus Synthetic Photosynthetic Consortium\t2\t2\t0\t3\t2\t4\t\t0\t0\n418\t100.0\tkb/communities/Synechococcus_Ecoli_SPC.yaml\tCommunityMech:000066\tSynechococcus-E.coli Synthetic Photosynthetic Consortium\t2\t2\t0\t3\t2\t4\t\t0\t0\n419\t100.0\tkb/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml\tCommunityMech:000198\tSynechococcus-Halomonas Light-Driven PHB Coculture\t2\t2\t0\t3\t2\t6\t\t0\t0\n420\t100.0\tkb/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml\tCommunityMech:000167\tSynechococcus-Pseudomonas Phototrophic PHA and DNT Coculture\t2\t2\t0\t4\t2\t8\t\t0\t0\n421\t100.0\tkb/communities/Synechococcus_Saccharomyces_SPC.yaml\tCommunityMech:000067\tSynechococcus-Saccharomyces Synthetic Photosynthetic Consortium\t2\t2\t0\t3\t2\t4\t\t0\t0\n422\t100.0\tkb/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml\tCommunityMech:000211\tSynechococcus-Shewanella D-Lactate Biophotovoltaic Consortium\t2\t2\t0\t3\t2\t6\t\t0\t0\n423\t100.0\tkb/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml\tCommunityMech:000149\tSynthetic Lichen Synechococcus-Rhodotorula Coculture\t2\t2\t0\t3\t2\t4\t\t0\t0\n424\t100.0\tkb/communities/Syntrophobacter_Methanobacterium_Syntrophy.yaml\tCommunityMech:000068\tSyntrophobacter-Methanobacterium Syntrophic Consortium\t2\t2\t0\t3\t3\t8\t\t0\t0\n425\t100.0\tkb/communities/Syntrophobacter_Methanospirillum_Syntrophy.yaml\tCommunityMech:000069\tSyntrophobacter-Methanospirillum Syntrophic Consortium\t2\t2\t0\t3\t3\t5\t\t0\t0\n426\t100.0\tkb/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml\tCommunityMech:000189\tSyntrophomonas-Methanococcus Butyrate Growth Coordination Coculture\t2\t2\t0\t3\t2\t6\t\t0\t0\n427\t100.0\tkb/communities/Syntrophomonas_Methanospirillum_Syntrophy.yaml\tCommunityMech:000070\tSyntrophomonas-Methanospirillum Syntrophic Consortium\t2\t2\t0\t3\t3\t7\t\t0\t0\n428\t100.0\tkb/communities/Syntrophus_Benzoate_Degrader.yaml\tCommunityMech:000071\tSyntrophus Benzoate Degrader\t2\t2\t0\t3\t2\t6\t\t0\t0\n429\t100.0\tkb/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml\tCommunityMech:000187\tSyntrophus-Methanospirillum Gentianae Benzoate Coculture\t2\t2\t0\t3\t2\t7\t\t0\t0\n430\t100.0\tkb/communities/THOR_Rhizosphere_Model_Community.yaml\tCommunityMech:000079\tTHOR Rhizosphere Model Community\t3\t3\t0\t4\t2\t5\t\t0\t0\n431\t100.0\tkb/communities/TYQ1_Nematode_Biocontrol_SynCom.yaml\tCommunityMech:000072\tTYQ1 Nematode Biocontrol SynCom\t8\t8\t0\t4\t4\t4\t\t0\t0\n432\t100.0\tkb/communities/Teosinte_Maize_Biofertilizer_SynCom7.yaml\tCommunityMech:000100\tTeosinte-Derived Maize Biofertilizer SynCom7\t4\t4\t0\t6\t2\t12\t\t0\t0\n433\t100.0\tkb/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml\tCommunityMech:000259\tThalassiosira-Marinobacter Marine Snow Coculture\t2\t2\t0\t4\t2\t10\t\t0\t0\n434\t100.0\tkb/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml\tCommunityMech:000162\tThalassiosira-Ruegeria Phycosphere Coculture\t2\t2\t0\t3\t2\t4\t\t0\t0\n435\t100.0\tkb/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml\tCommunityMech:000182\tThermacetogenium-Methanothermobacter Acetate Oxidation Coculture\t2\t2\t0\t3\t2\t8\t\t0\t0\n436\t100.0\tkb/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml\tCommunityMech:000282\tThermophilic Lignocellulose-degrading Composting SynCom\t5\t5\t0\t3\t2\t3\t\t0\t0\n437\t100.0\tkb/communities/Thermophilic_Pyrite_QS_Consortium.yaml\tCommunityMech:000073\tThermophilic Pyrite Quorum Sensing Consortium\t3\t3\t0\t6\t2\t14\t\t0\t0\n438\t100.0\tkb/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml\tCommunityMech:000186\tThermotoga-Methanocaldococcus Hyperthermophilic Syntrophy\t2\t2\t0\t3\t2\t8\t\t0\t0\n439\t100.0\tkb/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml\tCommunityMech:000239\tThiocyanate-Degrading Afipia and Thiobacillus Bioreactor Community\t3\t3\t0\t3\t2\t3\t\t0\t0\n440\t100.0\tkb/communities/Tinto_River_Iron_Cycling_Community.yaml\tCommunityMech:000074\tTinto River Iron Cycling Community\t6\t6\t0\t5\t3\t6\t\t0\t0\n441\t100.0\tkb/communities/Tobacco_Chemotactic_Biocontrol_SynCom.yaml\tCommunityMech:000106\tTobacco Chemotactic Biocontrol SynCom\t2\t2\t0\t3\t2\t4\t\t0\t0\n442\t100.0\tkb/communities/Tomato_Oxylipin_SynCom3.yaml\tCommunityMech:000107\tTomato Oxylipin-Protective SynCom3\t3\t3\t0\t3\t2\t4\t\t0\t0\n443\t100.0\tkb/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml\tCommunityMech:000112\tTribromophenol Anaerobic Bioremediation SynCom\t3\t3\t0\t4\t3\t5\t\t0\t0\n444\t100.0\tkb/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml\tCommunityMech:000188\tTrichococcus-Syntrophomonas-Methanospirillum Butyrate Coculture\t3\t3\t0\t3\t2\t6\t\t0\t0\n445\t100.0\tkb/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml\tCommunityMech:000205\tTrichoderma-E. coli Cellulosic Isobutanol Coculture\t2\t2\t0\t3\t2\t5\t\t0\t0\n446\t100.0\tkb/communities/Trichoderma_Lactate_Platform.yaml\tCommunityMech:000075\tTrichoderma Lactate Platform for SCFA Production\t3\t3\t0\t3\t2\t3\t\t0\t0\n447\t100.0\tkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml\tCommunityMech:000270\tTrichoderma-Streptomyces Filamentous Cellulose Coculture\t2\t2\t0\t3\t2\t7\t\t0\t0\n448\t100.0\tkb/communities/Trichodesmium_Alteromonas_Marine_Consortium.yaml\tCommunityMech:000147\tTrichodesmium-Alteromonas Marine Consortium\t3\t3\t0\t3\t2\t5\t\t0\t0\n449\t100.0\tkb/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml\tCommunityMech:000337\tTropidoatractus magnetotacticus Magnetotactic Ciliate Tripartite Syntrophy\t3\t3\t0\t4\t2\t9\t\t0\t0\n450\t100.0\tkb/communities/Urine_Nitrification_SynCom.yaml\tCommunityMech:000117\tUrine Nitrification Synthetic Microbial Community\t5\t5\t0\t3\t2\t5\t\t0\t0\n451\t100.0\tkb/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml\tCommunityMech:000213\tVariovorax-Cryptococcus Vitamin Cross-Feeding Microcosm\t2\t2\t0\t3\t2\t4\t\t0\t0\n452\t100.0\tkb/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml\tCommunityMech:000328\tWaste-Sludge Electro-Fermentation Biofilm-Suspension Community\t5\t5\t0\t4\t2\t6\t\t0\t0\n453\t100.0\tkb/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.yaml\tCommunityMech:000098\tWatermelon Rhizosphere Fusarium-Protective SynCom8\t2\t2\t0\t3\t2\t7\t\t0\t0\n454\t100.0\tkb/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml\tCommunityMech:000255\tWetland Oxygen-Sulfate Greenhouse Gas Microcosm Community\t3\t3\t0\t3\t2\t6\t\t0\t0\n455\t100.0\tkb/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.yaml\tCommunityMech:000118\tWheat Straw Biogas Pretreatment SynCom\t4\t4\t0\t3\t2\t4\t\t0\t0\n456\t100.0\tkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml\tCommunityMech:000354\tYarrowia lipolytica Division-of-Labor Lipid Consortium\t2\t2\t0\t3\t2\t3\t\t0\t0\n457\t100.0\tkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml\tCommunityMech:000164\tYogurt Two-Species Starter Culture\t2\t2\t0\t4\t2\t9\t\t0\t0\n458\t100.0\tkb/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml\tCommunityMech:000210\tZymomonas-E. coli Exometabolomics-Designed Obligate Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n459\t100.0\tkb/communities/hCom2_Complex_Gut_Microbiome.yaml\tCommunityMech:000123\thCom2 Complex Gut Microbiome\t1\t1\t0\t3\t2\t3\t\t0\t0\n460\t100.0\tkb/communities/mCAFEs_Brachypodium_RCC.yaml\tCommunityMech:000078\tm-CAFEs Brachypodium Reduced Complexity Consortia\t10\t10\t0\t6\t2\t11\t\t0\t0\nPYTHONPATH=src uv run python scripts/rank_causal_graph_readiness.py \n" + }, + { + "check": "render", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "communitymech.render" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/render.log", + "log_sha256": "488ab562938c40a83a503e0866f15448e464ce75564b33140443088dab18318d", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch68/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch68/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch68/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-batch68/render-repeat.log", + "log_sha256": "488ab562938c40a83a503e0866f15448e464ce75564b33140443088dab18318d", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch68/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch68/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch68/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch68/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-batch67')),('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-batch68/connectivity-survey.log", + "log_sha256": "2a86b710b70d4024aa2e8e9725b1955a1165f29181973c5d8b1945e3f30bc782", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 391, \"mixed\": 123, \"community_level_only\": 268, \"taxa\": 1507, \"credited_solely_by_the_rule\": 1240}, \"current\": {\"records\": 460, \"with_community_level\": 391, \"mixed\": 123, \"community_level_only\": 268, \"taxa\": 1507, \"credited_solely_by_the_rule\": 1240}}\n" + }, + { + "check": "regressions", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch10.py", + "tests/test_causal_review_batch11.py", + "tests/test_causal_review_batch12.py", + "tests/test_causal_review_batch13.py", + "tests/test_causal_review_batch14.py", + "tests/test_causal_review_batch15.py", + "tests/test_causal_review_batch16.py", + "tests/test_causal_review_batch17.py", + "tests/test_causal_review_batch18.py", + "tests/test_causal_review_batch19.py", + "tests/test_causal_review_batch20.py", + "tests/test_causal_review_batch21.py", + "tests/test_causal_review_batch22.py", + "tests/test_causal_review_batch23.py", + "tests/test_causal_review_batch24.py", + "tests/test_causal_review_batch25.py", + "tests/test_causal_review_batch27.py", + "tests/test_causal_review_batch28.py", + "tests/test_causal_review_batch29.py", + "tests/test_causal_review_batch30.py", + "tests/test_causal_review_batch31.py", + "tests/test_causal_review_batch32.py", + "tests/test_causal_review_batch33.py", + "tests/test_causal_review_batch34.py", + "tests/test_causal_review_batch35.py", + "tests/test_causal_review_batch36.py", + "tests/test_causal_review_batch37.py", + "tests/test_causal_review_batch38.py", + "tests/test_causal_review_batch39.py", + "tests/test_causal_review_batch40.py", + "tests/test_causal_review_batch41.py", + "tests/test_causal_review_batch42.py", + "tests/test_causal_review_batch43.py", + "tests/test_causal_review_batch44.py", + "tests/test_causal_review_batch45.py", + "tests/test_causal_review_batch46.py", + "tests/test_causal_review_batch47.py", + "tests/test_causal_review_batch48.py", + "tests/test_causal_review_batch49.py", + "tests/test_causal_review_batch5.py", + "tests/test_causal_review_batch50.py", + "tests/test_causal_review_batch51.py", + "tests/test_causal_review_batch52.py", + "tests/test_causal_review_batch53.py", + "tests/test_causal_review_batch54.py", + "tests/test_causal_review_batch55.py", + "tests/test_causal_review_batch56.py", + "tests/test_causal_review_batch57.py", + "tests/test_causal_review_batch58.py", + "tests/test_causal_review_batch59.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch60.py", + "tests/test_causal_review_batch61.py", + "tests/test_causal_review_batch62.py", + "tests/test_causal_review_batch63.py", + "tests/test_causal_review_batch64.py", + "tests/test_causal_review_batch65.py", + "tests/test_causal_review_batch66.py", + "tests/test_causal_review_batch67.py", + "tests/test_causal_review_batch68.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch9.py", + "tests/test_site_audit_fixes.py", + "tests/test_causal_review_inventory.py", + "tests/test_rank_causal_graph_readiness.py", + "tests/test_network_auditor.py", + "tests/test_participating_taxa.py", + "tests/test_causal_descriptions_are_published.py", + "tests/test_published_pages_name_real_records.py", + "tests/test_reference_validator_actually_validates.py", + "tests/test_snippet_audit_artefact_classes.py", + "tests/test_reference_error_annotation.py", + "tests/test_community_level_connectivity_credit.py", + "tests/test_no_paywalled_text_in_repo.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/regressions.log", + "log_sha256": "92786fe0ac0291e85bd25d549f57344ef566bb6fa03313cecc366229d372f396", + "output_tail": "........................................................................ [ 11%]\n........................................................................ [ 23%]\n........................................................................ [ 34%]\n........................................................................ [ 46%]\n........................................................................ [ 58%]\n........................................................................ [ 69%]\n........................................................................ [ 81%]\n........................................................................ [ 93%]\n........................................... [100%]\n619 passed in 201.31s (0:03:21)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch68.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/black.log", + "log_sha256": "b9cf511501d306d2bd8355ccb165c8ddc0a6fdd62d7c72c4a7b1795cf8934c8c", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n2 files would be left unchanged.\n" + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch68.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/ruff.log", + "log_sha256": "82b3e6a6c090a57601d22943bd23fca9218d1031dbe5a7b754092f9a156b4f18", + "output_tail": "All checks passed!\n" + }, + { + "check": "diff-check", + "command": [ + "git", + "diff", + "--check" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + }, + { + "check": "primary-graph-proof", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-c", + "import hashlib,json,pathlib,yaml\nP=pathlib.Path\nledger=yaml.safe_load(P('reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml').read_text())\nmanifest=json.loads(P('/private/tmp/communitymech-batch68/primary-manifest.json').read_text())\nprimary={'PMID:'+v['pmid']:''.join(P(v['extracted_body']).read_text().split()) for v in manifest.values()}\nfor path,digest in ledger['primary_artifacts'].items():\n assert hashlib.sha256(P(path).read_bytes()).hexdigest()==digest\ncount=0\nfor row in ledger['records']:\n doc=yaml.safe_load(P(row['path']).read_text())\n for node in doc['ecological_interactions']:\n for ev in node['evidence']:\n assert ''.join(ev['snippet'].split()) in primary[ev['reference']]\n count+=1\nassert count==17==ledger['primary_graph_snippet_count']\nassert ledger['edison']['provider_submissions']==ledger['edison']['credits_spent']==0\nassert sum(len(r['edges_before']) for r in ledger['records'])==6\nassert sum(len(r['edges_after']) for r in ledger['records'])==4\nprint(json.dumps({'primary_matched_graph_snippets':count,'whitespace_only_matches':count,'primary_main_texts':4,'main_tables_read':2,'paid_submissions':0,'new_nodes_or_arrows':0,'separate_supplements_inspected':False,'original_figure_pixels_inspected':False}))\n" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/primary-graph-proof.log", + "log_sha256": "e242591e5a620e200aaade32745c4f28ce3ff538518199a38e10e2435487cbab", + "output_tail": "{\"primary_matched_graph_snippets\": 17, \"whitespace_only_matches\": 17, \"primary_main_texts\": 4, \"main_tables_read\": 2, \"paid_submissions\": 0, \"new_nodes_or_arrows\": 0, \"separate_supplements_inspected\": false, \"original_figure_pixels_inspected\": false}\n" + } + ], + "limitations": [ + "All11 original nodes and6 arrows reviewed;11 nodes retained/qualified and renamed where needed,4 arrows qualified,2 workflow arrows removed. No new causal structure or provider submission.", + "Four complete primary main texts/captions and both main tables read. No original figure-pixel, separate supplement, raw-data or executable-analysis audit. Numerical results not independently recomputed. Source statements about other papers are not independent reviews of those papers.", + "SC2 positive inhibition, plant growth and Salkowski/CAS outputs retained without competition, immune activation, reciprocal benefit or selectively established mediator. Preserve external participants and prior #887-#889 repairs.", + "Mangrove whole-biofilm removal/electrochemistry remain positive. Relative genus response is not member activity or isolated mediation; DET/MET, partner exchange and carbon balance unresolved. Preserve #1124 Bacillus role removal. Named genera are a partial roster.", + "Both Mars records remain separate-organism panels, not cocultures. Existing COMMUNITY_LEVEL containers preserve shared abiotic/assay observations but do not settle #573 model placement or prove emergent interactions. Do not count this repair as resolution of that open modeling issue.", + "Meteorite hydration, unequal inocula and different viable-recovery assays bound persistence comparisons; E.coli water-only survival and late Planococcus loss at most ratios retained. Regolith composition is not universal Mars habitability or resolved uptake.", + "MGS-1 growth is optical/photophysiological, not direct N2 or O2 flux; inoculum/carryover and undetected extract phosphorus matter. Processed-culture Lemna benefits are treatment/endpoint specific, not live commensalism or equivalence. Worst phototroph growth does not preclude positive material benefit.", + "Canonical taxonomy and raw non-graph blocks preserved, not recertified; #1586 remains OPEN and coordinates #1580 and #573. No new taxon mappings or experimental roles inferred. Preserve graph-owned benzene anchors required by unchanged non-graph aliases.", + "All920 caches unchanged;17 graph excerpts match fresh primary text after whitespace normalization. Not historical cache/non-graph provenance certification. Public primary XML available without access bypass; full sources remain scratch-only.", + "Dedup874 all-state issue titles/bodies and47 scoped ignored/hidden local matches; seven matching issue bodies and prior PR574, relevant histories and graph-adding commit read, not every PR/comment/local match. Self-review is not independent approval. Repair issues remain OPEN pending protected-main merge.", + "Exact HTML-description parser and repeat-render checks, not browser screenshots. Post-commit docs-current is separate." + ], + "superseded_checks": [ + { + "check": "regressions", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch10.py", + "tests/test_causal_review_batch11.py", + "tests/test_causal_review_batch12.py", + "tests/test_causal_review_batch13.py", + "tests/test_causal_review_batch14.py", + "tests/test_causal_review_batch15.py", + "tests/test_causal_review_batch16.py", + "tests/test_causal_review_batch17.py", + "tests/test_causal_review_batch18.py", + "tests/test_causal_review_batch19.py", + "tests/test_causal_review_batch20.py", + "tests/test_causal_review_batch21.py", + "tests/test_causal_review_batch22.py", + "tests/test_causal_review_batch23.py", + "tests/test_causal_review_batch24.py", + "tests/test_causal_review_batch25.py", + "tests/test_causal_review_batch27.py", + "tests/test_causal_review_batch28.py", + "tests/test_causal_review_batch29.py", + "tests/test_causal_review_batch30.py", + "tests/test_causal_review_batch31.py", + "tests/test_causal_review_batch32.py", + "tests/test_causal_review_batch33.py", + "tests/test_causal_review_batch34.py", + "tests/test_causal_review_batch35.py", + "tests/test_causal_review_batch36.py", + "tests/test_causal_review_batch37.py", + "tests/test_causal_review_batch38.py", + "tests/test_causal_review_batch39.py", + "tests/test_causal_review_batch40.py", + "tests/test_causal_review_batch41.py", + "tests/test_causal_review_batch42.py", + "tests/test_causal_review_batch43.py", + "tests/test_causal_review_batch44.py", + "tests/test_causal_review_batch45.py", + "tests/test_causal_review_batch46.py", + "tests/test_causal_review_batch47.py", + "tests/test_causal_review_batch48.py", + "tests/test_causal_review_batch49.py", + "tests/test_causal_review_batch5.py", + "tests/test_causal_review_batch50.py", + "tests/test_causal_review_batch51.py", + "tests/test_causal_review_batch52.py", + "tests/test_causal_review_batch53.py", + "tests/test_causal_review_batch54.py", + "tests/test_causal_review_batch55.py", + "tests/test_causal_review_batch56.py", + "tests/test_causal_review_batch57.py", + "tests/test_causal_review_batch58.py", + "tests/test_causal_review_batch59.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch60.py", + "tests/test_causal_review_batch61.py", + "tests/test_causal_review_batch62.py", + "tests/test_causal_review_batch63.py", + "tests/test_causal_review_batch64.py", + "tests/test_causal_review_batch65.py", + "tests/test_causal_review_batch66.py", + "tests/test_causal_review_batch67.py", + "tests/test_causal_review_batch68.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch9.py", + "tests/test_site_audit_fixes.py", + "tests/test_causal_review_inventory.py", + "tests/test_rank_causal_graph_readiness.py", + "tests/test_network_auditor.py", + "tests/test_participating_taxa.py", + "tests/test_causal_descriptions_are_published.py", + "tests/test_published_pages_name_real_records.py", + "tests/test_reference_validator_actually_validates.py", + "tests/test_snippet_audit_artefact_classes.py", + "tests/test_reference_error_annotation.py", + "tests/test_community_level_connectivity_credit.py", + "tests/test_no_paywalled_text_in_repo.py" + ], + "exit_code": 1, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/regressions-initial-failed.log", + "log_sha256": "b03bfc1992992dfccd278398147a879a1dded993877773a25cc2d2fcbfcb67bc", + "output_tail": "........................................................................ [ 11%]\n........................................................................ [ 23%]\n........................................................................ [ 34%]\n........................................................................ [ 46%]\n........................................................................ [ 58%]\n........................................................................ [ 69%]\n........................................................................ [ 81%]\n..................................F..................................... [ 93%]\n........................................... [100%]\n=================================== FAILURES ===================================\n_________________ test_the_corpus_is_unchanged_by_this_feature _________________\n\n def test_the_corpus_is_unchanged_by_this_feature():\n \"\"\"Only the records that mean to use the slot do.\n \n Asserted on the corpus rather than trusted from the schema: an\n `ifabsent` or a default that quietly populated the slot would change 312\n records' connectivity without anyone editing a record. That is still the\n failure this catches \u2014 a silent default would put every record in `users`,\n not just the three named below.\n \"\"\"\n users = {\n path.name\n for path in record_files()\n for interaction in (yaml.safe_load(path.read_text()) or {}).get(\"ecological_interactions\")\n or []\n if isinstance(interaction, dict) and interaction.get(\"participating_taxa\")\n }\n> assert users == USERS, (\n f\"{len(users)} records use participating_taxa, expected {len(USERS)}. \"\n f\"Adding a user is fine \u2014 but the connectivity numbers in \"\n f\"tests/test_community_level_connectivity_credit.py were measured \"\n f\"before the slot was used, so re-check them and then update USERS. \"\n f\"Added: {sorted(users - USERS)}. Removed: {sorted(USERS - users)}\"\n )\nE AssertionError: 232 records use participating_taxa, expected 230. Adding a user is fine \u2014 but the connectivity numbers in tests/test_community_level_connectivity_credit.py were measured before the slot was used, so re-check them and then update USERS. Added: ['Mars_Meteorite_EETA79001_Growth_Panel.yaml', 'Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml']. Removed: []\nE assert {'AMD_Acidoph...re.yaml', ...} == {'AMD_Acidoph...re.yaml', ...}\nE \nE Extra items in the left set:\nE 'Mars_Meteorite_EETA79001_Growth_Panel.yaml'\nE 'Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml'\nE Use -v to get more diff\n\ntests/test_participating_taxa.py:415: AssertionError\n=========================== short test summary info ============================\nFAILED tests/test_participating_taxa.py::test_the_corpus_is_unchanged_by_this_feature\n1 failed, 618 passed in 231.34s (0:03:51)\n", + "superseded_reason": "The exact participant registry lacked the two deliberately added Mars panel records. Coarse connectivity census already measured unchanged; exact network delta separately verified. Add those two filenames, retain all test logic, then rerun the full suite." + }, + { + "check": "regressions", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch10.py", + "tests/test_causal_review_batch11.py", + "tests/test_causal_review_batch12.py", + "tests/test_causal_review_batch13.py", + "tests/test_causal_review_batch14.py", + "tests/test_causal_review_batch15.py", + "tests/test_causal_review_batch16.py", + "tests/test_causal_review_batch17.py", + "tests/test_causal_review_batch18.py", + "tests/test_causal_review_batch19.py", + "tests/test_causal_review_batch20.py", + "tests/test_causal_review_batch21.py", + "tests/test_causal_review_batch22.py", + "tests/test_causal_review_batch23.py", + "tests/test_causal_review_batch24.py", + "tests/test_causal_review_batch25.py", + "tests/test_causal_review_batch27.py", + "tests/test_causal_review_batch28.py", + "tests/test_causal_review_batch29.py", + "tests/test_causal_review_batch30.py", + "tests/test_causal_review_batch31.py", + "tests/test_causal_review_batch32.py", + "tests/test_causal_review_batch33.py", + "tests/test_causal_review_batch34.py", + "tests/test_causal_review_batch35.py", + "tests/test_causal_review_batch36.py", + "tests/test_causal_review_batch37.py", + "tests/test_causal_review_batch38.py", + "tests/test_causal_review_batch39.py", + "tests/test_causal_review_batch40.py", + "tests/test_causal_review_batch41.py", + "tests/test_causal_review_batch42.py", + "tests/test_causal_review_batch43.py", + "tests/test_causal_review_batch44.py", + "tests/test_causal_review_batch45.py", + "tests/test_causal_review_batch46.py", + "tests/test_causal_review_batch47.py", + "tests/test_causal_review_batch48.py", + "tests/test_causal_review_batch49.py", + "tests/test_causal_review_batch5.py", + "tests/test_causal_review_batch50.py", + "tests/test_causal_review_batch51.py", + "tests/test_causal_review_batch52.py", + "tests/test_causal_review_batch53.py", + "tests/test_causal_review_batch54.py", + "tests/test_causal_review_batch55.py", + "tests/test_causal_review_batch56.py", + "tests/test_causal_review_batch57.py", + "tests/test_causal_review_batch58.py", + "tests/test_causal_review_batch59.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch60.py", + "tests/test_causal_review_batch61.py", + "tests/test_causal_review_batch62.py", + "tests/test_causal_review_batch63.py", + "tests/test_causal_review_batch64.py", + "tests/test_causal_review_batch65.py", + "tests/test_causal_review_batch66.py", + "tests/test_causal_review_batch67.py", + "tests/test_causal_review_batch68.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch9.py", + "tests/test_site_audit_fixes.py", + "tests/test_causal_review_inventory.py", + "tests/test_rank_causal_graph_readiness.py", + "tests/test_network_auditor.py", + "tests/test_participating_taxa.py", + "tests/test_causal_descriptions_are_published.py", + "tests/test_published_pages_name_real_records.py", + "tests/test_reference_validator_actually_validates.py", + "tests/test_snippet_audit_artefact_classes.py", + "tests/test_reference_error_annotation.py", + "tests/test_community_level_connectivity_credit.py", + "tests/test_no_paywalled_text_in_repo.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/regressions-pre-lint-fix.log", + "log_sha256": "e90ff3834cd7205fe82b746802da012f9c37b0f66d3beabe9213ea215e2c705b", + "output_tail": "........................................................................ [ 11%]\n........................................................................ [ 23%]\n........................................................................ [ 34%]\n........................................................................ [ 46%]\n........................................................................ [ 58%]\n........................................................................ [ 69%]\n........................................................................ [ 81%]\n........................................................................ [ 93%]\n........................................... [100%]\n619 passed in 211.05s (0:03:31)\n", + "superseded_reason": "619 regressions passed, then ruff B023 flagged the local mapping helper closing over loop variable renames. Bind renames explicitly in the helper default; rerun all regressions and formatting checks on final test content. No scientific records changed." + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch68.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/black-pre-lint-fix.log", + "log_sha256": "b9cf511501d306d2bd8355ccb165c8ddc0a6fdd62d7c72c4a7b1795cf8934c8c", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n2 files would be left unchanged.\n", + "superseded_reason": "619 regressions passed, then ruff B023 flagged the local mapping helper closing over loop variable renames. Bind renames explicitly in the helper default; rerun all regressions and formatting checks on final test content. No scientific records changed." + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch68.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 1, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch68/ruff-pre-lint-fix.log", + "log_sha256": "b7bd14297bc56d40ec5d9cdbd288d660c2d2dc010300347fc6f2f9130f3a8c63", + "output_tail": "B023 Function definition does not bind loop variable `renames`\n --> tests/test_causal_review_batch68.py:144:17\n |\n142 | def mapped(edge):\n143 | return (\n144 | renames.get(edge[\"source\"], edge[\"source\"]),\n | ^^^^^^^\n145 | renames.get(edge[\"target\"], edge[\"target\"]),\n146 | )\n |\n\nB023 Function definition does not bind loop variable `renames`\n --> tests/test_causal_review_batch68.py:145:17\n |\n143 | return (\n144 | renames.get(edge[\"source\"], edge[\"source\"]),\n145 | renames.get(edge[\"target\"], edge[\"target\"]),\n | ^^^^^^^\n146 | )\n |\n\nFound 2 errors.\n", + "superseded_reason": "619 regressions passed, then ruff B023 flagged the local mapping helper closing over loop variable renames. Bind renames explicitly in the helper default; rerun all regressions and formatting checks on final test content. No scientific records changed." + } + ], + "snippet_counts_by_record": { + "kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml": { + "MATCH": 20, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml": { + "MATCH": 22, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml": { + "MATCH": 16, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml": { + "MATCH": 22, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "unchanged_raw_blocks": 61, + "unchanged_record_files": 456, + "unchanged_cache_files": 920, + "edison": { + "required_for_this_repair": false, + "provider_submissions": 0, + "credits_spent": 0, + "reason": "Existing-node/arrow repair and renames only; no new causal structure." + }, + "primary_artifacts": { + "/private/tmp/communitymech-batch68/sc2-primary.xml": "9dedabea766807ea6d91dc80e8b8a90681fa7bd551a9f0f9aef0ed58ef1a593e", + "/private/tmp/communitymech-batch68/sc2-primary.txt": "ff3137d1ebeaa1e786a24913c839cf708c82fb35a50a50199254c17b4302a3ee", + "/private/tmp/communitymech-batch68/sc2-tables.txt": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b", + "/private/tmp/communitymech-batch68/mangrove-primary.xml": "0c7115f3b63d7fa2ba70a27d7221a25750326f56bac59dcda25d6a391aa4de5f", + "/private/tmp/communitymech-batch68/mangrove-primary.txt": "2177ff18b9070ee6efff9be0660bc2c4b099afb75f162db15a7d00690b04224e", + "/private/tmp/communitymech-batch68/mangrove-tables.txt": "8a3f43145810be5d6df13aa58e39eb772637523d789ed8922d125605f40378d0", + "/private/tmp/communitymech-batch68/meteorite-primary.xml": "feaf97c789802390e0e8457a3514a34779af70b7dcb4883b21e82c9c7f396ee9", + "/private/tmp/communitymech-batch68/meteorite-primary.txt": "44ca88add183cc2b35e74c6a4682c355f5f5189dcb9d378a30e24c013b49b54e", + "/private/tmp/communitymech-batch68/meteorite-tables.txt": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b", + "/private/tmp/communitymech-batch68/regolith-primary.xml": "f62be5502ed7a712bc297a8e9f474a73a9a0860b9b3970ae23483f33af3d17af", + "/private/tmp/communitymech-batch68/regolith-primary.txt": "4a08192dcc086212accd425452242dfd04a3613e8d846f150efca644628ab91f", + "/private/tmp/communitymech-batch68/regolith-tables.txt": "3cdff7a4dbfd68afc05c69919adeb4ba617d34e30bb3dc2e8e2fd6a939b8de83" + }, + "network_delta": { + "existing_findings_preserved": 44, + "added_findings": {}, + "removed_findings": { + "Mangrove_Benzene_MFC_Bioanode_Consortium": [ + { + "type": "DISCONNECTED", + "taxon": "Pelobacter", + "taxon_id": "NCBITaxon:18", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pelobacter", + "term": { + "id": "NCBITaxon:18", + "label": "Pelobacter" + }, + "gtdb_grounding_status": "UNRESOLVED", + "notes": "Pelobacter was a lower-abundance genus in the benzene-fed 16S profile; no species-level identity or functional role was resolved.\n" + }, + "relative_abundance": 2.22, + "relative_abundance_unit": "percent", + "evidence": [ + { + "reference": "PMID:41210787", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Pelobacter, Desulfurumonas, and Pseudomonas were also identified at 2.22, 1.64, and 0.87%", + "explanation": "Supports Pelobacter as a minor detected genus in the benzene-fed MFC biofilm." + } + ] + }, + "message": "Taxon 'Pelobacter' has no interactions" + }, + { + "type": "DISCONNECTED", + "taxon": "Pseudomonas", + "taxon_id": "NCBITaxon:286", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pseudomonas", + "term": { + "id": "NCBITaxon:286", + "label": "Pseudomonas" + }, + "gtdb_grounding_status": "UNRESOLVED", + "notes": "Pseudomonas was a lower-abundance genus in the benzene-fed 16S profile; no species-level identity or functional role was resolved.\n" + }, + "relative_abundance": 0.87, + "relative_abundance_unit": "percent", + "evidence": [ + { + "reference": "PMID:41210787", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Pelobacter, Desulfurumonas, and Pseudomonas were also identified at 2.22, 1.64, and 0.87%", + "explanation": "Supports Pseudomonas as a minor detected genus in the benzene-fed MFC biofilm." + } + ] + }, + "message": "Taxon 'Pseudomonas' has no interactions" + } + ] + }, + "interpretation": "Two MFC disconnected-member warnings removed by explicitly naming detected Pelobacter and Pseudomonas in whole-biofilm observations. This is observed membership, not established catalytic function. Other44 baseline findings preserved exactly; no auditor-rule changes or invented pairwise links. External SC2 participants preserved; #573 panel-model caveat remains." + }, + "verification_refinements": [ + "Initial verifier assumption of unchanged warning count failed after the successful network command. Inspected the actual two source-backed participant changes; narrowed the expected delta to those exact DISCONNECTED taxon IDs. No scientific record changed to satisfy the gate, and unchanged successful commands are reused with log/hash checks." + ], + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1438, + "arrows": 625 + }, + "participant_census": { + "measurements": { + "baseline": { + "records": 460, + "with_community_level": 391, + "mixed": 123, + "community_level_only": 268, + "taxa": 1507, + "credited_solely_by_the_rule": 1240 + }, + "current": { + "records": 460, + "with_community_level": 391, + "mixed": 123, + "community_level_only": 268, + "taxa": 1507, + "credited_solely_by_the_rule": 1240 + } + }, + "delta": { + "records": 0, + "with_community_level": 0, + "mixed": 0, + "community_level_only": 0, + "taxa": 0, + "credited_solely_by_the_rule": 0 + }, + "interpretation": "Canonical taxa and coarse scope census unchanged. This survey counts taxa lacking pairwise links, not exact narrowed participant credit; the network delta separately records two MFC warnings removed. Explicit partial-roster and panel participants do not prove catalytic interactions or resolve #573. No taxonomy or auditor-rule change." + }, + "network_warning_count": 44, + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1452, + "edges": 633, + "records_without_nodes": 8, + "records_without_edges": 162, + "review_status_counts": { + "needs_research": 22, + "pending": 220, + "reviewed": 218 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml": "38c139438dc2f375e40000b15ed237a0cd08d19c3c1fbe695aa348fcf026cf5a", + "tests/test_causal_review_batch68.py": "126ed9f133a679ba2ec71ea01650ee91bea59b42860f3285a54ea4b2eb08873d", + "tests/test_participating_taxa.py": "1d7dbde060a29bc777751e3cf225e72952a0031cf1a2293be687a0065f82bc12", + "kb/communities/Maize_SC2_RootRot_Biocontrol_SynCom.yaml": "ce0f1152033785546b47d35e4c92d120e1f0a78c30e1cafab3033a34924c0113", + "kb/communities/Mangrove_Benzene_MFC_Bioanode_Consortium.yaml": "96166a3b9e1e6298b99bb0930ac0cab6b69018ea5b54788e0e9f65231f9bbb6e", + "kb/communities/Mars_Meteorite_EETA79001_Growth_Panel.yaml": "8cf227fbe445dfa8d4088670d65eec045904f27f4236a321fe3a2e1c76ef6306", + "kb/communities/Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml": "95c7aa9378753e3c664f27b1f65569bb2bf36cd4c9dcef95e9f47ad88ec1a805", + "reports/causal_graph_review/README.md": "eb58f79fb2b556b9a65c1cb6168b7f3edd39cb84cb29df47cfe49ae036a878cf" + }, + "status": "verified_assay_boundary_graph_review", + "pre_research_baseline": { + "base_commit": "1d74c2f53e1cb0039ef82ac18a3a94f51032a78f", + "base_tree": "9fa479f6ad0345a849d72147122c91aeb5d1447f", + "research_worktree": "/private/tmp/communitymech-causal-batch67", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch68/baseline-rank.log", + "sha256": "a297fc95f642cd1c22055147b403ae8616f8ebe774997dd34f56bc098ed3cb4b", + "output_tail": "/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml\tCommunityMech:000337\tTropidoatractus magnetotacticus Magnetotactic Ciliate Tripartite Syntrophy\t3\t3\t0\t4\t2\t9\t\t0\t0\n450\t100.0\tkb/communities/Urine_Nitrification_SynCom.yaml\tCommunityMech:000117\tUrine Nitrification Synthetic Microbial Community\t5\t5\t0\t3\t2\t5\t\t0\t0\n451\t100.0\tkb/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml\tCommunityMech:000213\tVariovorax-Cryptococcus Vitamin Cross-Feeding Microcosm\t2\t2\t0\t3\t2\t4\t\t0\t0\n452\t100.0\tkb/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml\tCommunityMech:000328\tWaste-Sludge Electro-Fermentation Biofilm-Suspension Community\t5\t5\t0\t4\t2\t6\t\t0\t0\n453\t100.0\tkb/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.yaml\tCommunityMech:000098\tWatermelon Rhizosphere Fusarium-Protective SynCom8\t2\t2\t0\t3\t2\t7\t\t0\t0\n454\t100.0\tkb/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml\tCommunityMech:000255\tWetland Oxygen-Sulfate Greenhouse Gas Microcosm Community\t3\t3\t0\t3\t2\t6\t\t0\t0\n455\t100.0\tkb/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.yaml\tCommunityMech:000118\tWheat Straw Biogas Pretreatment SynCom\t4\t4\t0\t3\t2\t4\t\t0\t0\n456\t100.0\tkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml\tCommunityMech:000354\tYarrowia lipolytica Division-of-Labor Lipid Consortium\t2\t2\t0\t3\t2\t3\t\t0\t0\n457\t100.0\tkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml\tCommunityMech:000164\tYogurt Two-Species Starter Culture\t2\t2\t0\t4\t2\t9\t\t0\t0\n458\t100.0\tkb/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml\tCommunityMech:000210\tZymomonas-E. coli Exometabolomics-Designed Obligate Mutualism\t2\t2\t0\t3\t2\t6\t\t0\t0\n459\t100.0\tkb/communities/hCom2_Complex_Gut_Microbiome.yaml\tCommunityMech:000123\thCom2 Complex Gut Microbiome\t1\t1\t0\t3\t2\t3\t\t0\t0\n460\t100.0\tkb/communities/mCAFEs_Brachypodium_RCC.yaml\tCommunityMech:000078\tm-CAFEs Brachypodium Reduced Complexity Consortia\t10\t10\t0\t6\t2\t11\t\t0\t0\nPYTHONPATH=src uv run python scripts/rank_causal_graph_readiness.py \n" + }, + { + "name": "just-network", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_code": 2, + "log": "/private/tmp/communitymech-batch68/baseline-just-network.log", + "sha256": "8595db43420d3f0a01c57acd6ad733a531a72e962486d20b4e1c2840dda55bff", + "output_tail": "uv run communitymech audit-network --json\nerror: Failed to spawn: `communitymech`\n Caused by: No such file or directory (os error 2)\nerror: recipe `audit-network-json` failed on line 574 with exit code 2\n" + }, + { + "name": "network", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "communitymech.cli", + "audit-network", + "--json" + ], + "exit_code": 1, + "expected_exit_code": 1, + "log": "/private/tmp/communitymech-batch68/baseline-network.log", + "sha256": "3a156d88a5b27b6a726e91303cf9249745ee46d4e53a0ac73d58779dc1041a7d", + "output_tail": " \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "name": "downstream", + "command": [ + "rg", + "--no-ignore", + "--hidden", + "-n", + "downstream:", + "kb/communities", + "data/isolates", + "--glob", + "*.yaml" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch68/baseline-downstream.log", + "sha256": "87e1fa7ab06c37faa64c1f229026b225c7bfa0be87001c10c6e37231e32ab4b7", + "output_tail": "pulus_Salt_Tolerant_SynComs.yaml:98: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:131: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:155: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:281: downstream:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:401: downstream:\nkb/communities/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml:104: downstream:\nkb/communities/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml:127: downstream:\nkb/communities/Clostridium_Carboxidivorans_Kluyveri_CO_Chain_Elongation_Coculture.yaml:247: downstream:\nkb/communities/Clostridium_Carboxidivorans_Kluyveri_CO_Chain_Elongation_Coculture.yaml:344: downstream:\nkb/communities/PMI_Variovorax_Thermotolerance_Collection.yaml:330: downstream:\nkb/communities/SO3_BS3_Lithium_Battery_Bioleaching_Consortium.yaml:141: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:268: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:315: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:311: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:365: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:120: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:152: downstream:\nkb/communities/Lake_Washington_Methane_Oxygen_Methylotroph_Community.yaml:342: downstream:\nkb/communities/Desulfovibrio_Methanococcus_Syntrophy.yaml:138: downstream:\nkb/communities/Desulfovibrio_Methanococcus_Syntrophy.yaml:182: downstream:\nkb/communities/Desulfovibrio_Methanococcus_Syntrophy.yaml:232: downstream:\nkb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml:143: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:199: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:267: downstream:\nkb/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml:223: downstream:\n" + } + ], + "baseline_sha256": "2aac38417f803bf851883445ae2e35528a4e4aa80023e7ac2fd19a4aa2ef5b4d" + }, + "reference_validator_caveat": "CLI Total checks counts reported issues, not executed checks. Cache MATCH is not scientific entailment or historical provenance certification. All920 caches unchanged;17 graph excerpts independently match fresh primary text after whitespace normalization. #1586 metadata, #573 panel modeling and broader #476/#1091/#1095 source limitations persist." +} diff --git a/tests/test_causal_review_batch68.py b/tests/test_causal_review_batch68.py new file mode 100644 index 000000000..5a748a924 --- /dev/null +++ b/tests/test_causal_review_batch68.py @@ -0,0 +1,157 @@ +"""Retain positive assay results without invented mechanisms or panel ecology.""" + +import hashlib +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261006-four-records-batch68.yaml" +A = "Maize_SC2_RootRot_Biocontrol_SynCom" +B = "Mangrove_Benzene_MFC_Bioanode_Consortium" +C = "Mars_Meteorite_EETA79001_Growth_Panel" +D = "Mars_Regolith_Cyanobacteria_Biofertilizer_Panel" + + +def records(): + ledger = yaml.safe_load(LEDGER.read_text()) + rows = {Path(r["path"]).stem: r for r in ledger["records"]} + docs = {name: yaml.safe_load((ROOT / r["path"]).read_text()) for name, r in rows.items()} + return ledger, rows, docs + + +def test_sc2_keeps_external_participants_and_positive_plant_assays(): + _, _, docs = records() + inhibition, growth, _ = docs[A]["ecological_interactions"] + assert "seven days" in inhibition["description"] + assert "14 days" in growth["description"] + assert inhibition["downstream"][0]["description"].startswith("HYPOTHESIZED -") + for node, external in [(inhibition, "NCBITaxon:4799"), (growth, "NCBITaxon:4577")]: + assert external in {t["term"]["id"] for t in node["participating_taxa"]} + assert external not in {t["taxon_term"]["term"]["id"] for t in docs[A]["taxonomy"]} + assert "biological_processes" not in inhibition + assert growth["biological_processes"][0]["term"]["id"] == "GO:0040007" + + +def test_sc2_biochemical_assays_are_not_molecular_or_host_transfer_proof(): + _, _, docs = records() + node = docs[A]["ecological_interactions"][2] + for phrase in ["Salkowski", "45 ug/mL", "65 ug/mL", "0.50 cm", "p=0.015", "pure-IAA"]: + assert phrase in node["description"] + assert "biological_processes" not in node + assert len(node["participating_taxa"]) == 3 + assert all("notes" in m for m in node["metabolites"]) + old_gap = docs[A]["discussions"][0] + assert "ecological_interactions#SC2 Salkowski and CAS assay outputs" in old_gap["attaches_to"] + + +def test_mfc_partial_roster_and_composition_mediation_remain_qualified(): + _, _, docs = records() + shift, output = docs[B]["ecological_interactions"] + assert "relative 16S" in shift["description"] + assert "partial roster" in output["description"] + assert len(shift["participating_taxa"]) == len(output["participating_taxa"]) == 4 + assert shift["downstream"][0]["description"].startswith("HYPOTHESIZED -") + assert "biological_processes" not in shift + assert "PRIMARY_DEGRADER" not in docs[B]["taxonomy"][0].get("functional_role", []) + + +def test_mfc_retains_positive_removal_and_correct_voltage_cycle(): + _, _, docs = records() + text = docs[B]["ecological_interactions"][1]["description"] + for phrase in ["98.7", "96 h", "250 mg/L", "330 mg/L", "899.9", "238.8", "390.1"]: + assert phrase in text + assert "not a 100-fold acetate" in text + assert "abiotic control" in text and "transient acetate/butyrate" in text + assert "DET versus mediated transfer" in text + + +def test_meteorite_keeps_positive_persistence_and_control_exceptions(): + _, rows, docs = records() + resource, hydration, persistence = docs[C]["ecological_interactions"] + assert resource["downstream"][0]["description"].startswith("PARTIAL -") + assert "earlier leachate" in resource["evidence"][1]["explanation"] + assert "downstream" not in hydration + for phrase in ["Chr20", "1:5", "14-17 days", "water alone", "MPN versus CFU", "extinction"]: + assert phrase in persistence["description"] + assert len(rows[C]["removed_edge_decisions"]) == 1 + assert all( + "separately, not as a coculture" in n["description"] + for n in [resource, hydration, persistence] + ) + + +def test_regolith_separates_growth_from_mechanism_and_material_benefit(): + _, rows, docs = records() + resource, growth, fertilizer = docs[D]["ecological_interactions"] + for phrase in ["5 mL", "75 mL", "Phosphorus was not detected", "Element totals"]: + assert phrase in resource["description"] + for phrase in [ + "OD440", + "day 15", + "clumping", + "not measured oxygen", + "not directly measured N2", + ]: + assert phrase in growth["description"] + assert {p["term"]["id"] for p in growth["biological_processes"]} == {"GO:0015979", "GO:0040007"} + assert "downstream" not in growth + for phrase in [ + "Chlorella filtrate", + "frond yields remained lower", + "not live commensalism", + "lowest Lemna yield", + ]: + assert phrase in fertilizer["description"] + assert len(rows[D]["removed_edge_decisions"]) == 1 + + +def test_batch68_caches_anchors_and_unresolved_metadata_are_explicit(): + ledger, rows, docs = records() + for path, digest in ledger["reference_cache_original_hashes"].items(): + assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest + raw = (ROOT / rows[B]["path"]).read_text() + assert "&benzene\n" in raw and "&benzene_term\n" in raw + assert "*benzene" in raw and "*benzene_term" in raw + assert ledger["unresolved_non_graph_issues"] == [1586, 573] + for name in [C, D]: + assert "#573" in docs[name]["discussions"][-1]["rationale"] + for doc in docs.values(): + assert all("interaction_type" not in n for n in doc["ecological_interactions"]) + assert "#1586" in doc["discussions"][-1]["rationale"] + + +def test_batch68_complete_node_arrow_accounting_and_append_only_history(): + ledger, rows, docs = records() + assert ledger["independent_approval"] is False + assert ledger["issues"] == [1582, 1583, 1584, 1585] + assert ledger["edison"]["provider_submissions"] == ledger["edison"]["credits_spent"] == 0 + assert ledger["primary_graph_snippet_count"] == 17 + assert sum(len(r["node_decisions"]) for r in rows.values()) == 11 + assert sum(len(r["retained_edge_decisions"]) for r in rows.values()) == 4 + assert sum(len(r["removed_edge_decisions"]) for r in rows.values()) == 2 + for name, row in rows.items(): + doc = docs[name] + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + assert doc["curation_history"][-1]["llm_assisted"] is True + assert len(row["history_files"]) == 1 and row["status"] == "reviewed" + names = {n["name"] for n in doc["ecological_interactions"]} + assert {d["node"] for d in row["node_decisions"]} == names + renames = row["renamed_nodes"] + + def mapped(edge, renames=renames): + return ( + renames.get(edge["source"], edge["source"]), + renames.get(edge["target"], edge["target"]), + ) + + before = {mapped(e) for e in row["edges_before"]} + kept = {(e["source"], e["target"]) for e in row["retained_edge_decisions"]} + removed = {mapped(e) for e in row["removed_edge_decisions"]} + assert not kept & removed and kept | removed == before + for discussion in doc["discussions"]: + assert { + a.split("#", 1)[1] + for a in discussion["attaches_to"] + if a.startswith("ecological_interactions#") + } <= names diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py index 70301a506..64bf89ed7 100644 --- a/tests/test_participating_taxa.py +++ b/tests/test_participating_taxa.py @@ -329,6 +329,8 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example): "Maize_Root_Simplified_Community.yaml", "Maize_SC2_RootRot_Biocontrol_SynCom.yaml", "Mangrove_Benzene_MFC_Bioanode_Consortium.yaml", + "Mars_Meteorite_EETA79001_Growth_Panel.yaml", + "Mars_Regolith_Cyanobacteria_Biofertilizer_Panel.yaml", "Medicago_Nodule_Biofertilizer_SynCom.yaml", "Mesorhizobium_Synechococcus_B12_Synthetic_Consortium.yaml", "Methane_MFC_Electrogenesis_Nitrogen_Fixation_Consortium.yaml",