From ce58502a3cd54c1950a761be5c3ca91c5765f06a Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Tue, 6 Oct 2026 05:58:56 -0700 Subject: [PATCH] Bound methanogen DIET evidence and retain missing acetate branches --- .../Geobacter_Methanosaeta_DIET.html | 96 ++- .../Geobacter_Methanosarcina_DIET.html | 102 +-- .../2026-10-06T124951Z-codex-b6123c.yaml | 26 + .../2026-10-06T124951Z-codex-59a839.yaml | 27 + .../Geobacter_Methanosaeta_DIET.yaml | 174 ++--- .../Geobacter_Methanosarcina_DIET.yaml | 175 ++--- reports/causal_graph_review/README.md | 11 + .../adversarial-review-20261006-batch46.yaml | 184 +++++ .../20261006-methanogens-batch46.yaml | 256 +++++++ reports/causal_graph_review/inventory.tsv | 4 +- reports/causal_graph_review/summary.json | 4 +- .../validation-20261006-batch46.json | 688 ++++++++++++++++++ tests/test_causal_review_batch46.py | 116 +++ 13 files changed, 1615 insertions(+), 248 deletions(-) create mode 100644 history/records/Geobacter_Methanosaeta_DIET/2026-10-06T124951Z-codex-b6123c.yaml create mode 100644 history/records/Geobacter_Methanosarcina_DIET/2026-10-06T124951Z-codex-59a839.yaml create mode 100644 reports/causal_graph_review/adversarial-review-20261006-batch46.yaml create mode 100644 reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml create mode 100644 reports/causal_graph_review/validation-20261006-batch46.json create mode 100644 tests/test_causal_review_batch46.py diff --git a/docs/communities/Geobacter_Methanosaeta_DIET.html b/docs/communities/Geobacter_Methanosaeta_DIET.html index a7be942ac..882cf4639 100644 --- a/docs/communities/Geobacter_Methanosaeta_DIET.html +++ b/docs/communities/Geobacter_Methanosaeta_DIET.html @@ -561,7 +561,7 @@

Ecological Interactions

Ecological interaction network for Geobacter-Methanosaeta DIET Community - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (mutualism, syntrophy). + 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 (syntrophy).
@@ -569,13 +569,13 @@

Ecological Interactions

Mutualism + aria-hidden="true" data-symbol="symbolTriangle" + data-color="#7f30cf"> Syntrophy
Syntrophy + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -583,11 +583,9 @@

Ecological Interactions

-

Ethanol Oxidation and Direct Electron Transfer

- SYNTROPHY +

Geobacter Ethanol Oxidation

-

Geobacter metallireducens oxidizes ethanol to acetate and CO2, transferring electrons directly to Methanosaeta harundinacea via electrically conductive aggregates. This direct interspecies electron transfer (DIET) bypasses the need for diffusible electron carriers like H2 or formate. The conductive aggregates serve as biological electrical conduits for long-range electron transfer between cells. Aggregate formation is essential for DIET, providing the physical and electrical connection necessary for electron flow from G. metallireducens to M. harundinacea. -

+

In the defined Geobacter metallireducens-Methanosaeta harundinacea coculture, Geobacter oxidizes ethanol to acetate and releases electrons for DIET. This is the donor reaction, not a claim that ethanol carbon is directly oxidized to CO2 at this step. The acetate coproduct also contributes to bulk methane through a separate route, not yet represented as its own graph branch.

Source Taxon: Geobacter metallireducens

@@ -627,8 +625,8 @@

Ethanol Oxidation and Direct Electron Transfer

Downstream Effects:
- → Conductive Aggregate-Mediated DIET -

Ethanol metabolism and extracellular electron transfer by aggregate-associated Geobacter feed the conductive aggregates where Geobacter and Methanosaeta exchange electrons by DIET.

+ → DIET in Defined Coculture Aggregates +

Ethanol oxidation releases reducing equivalents that Geobacter supplies to the defined partner through DIET. This arrow routes electron supply, not acetate carbon, and does not assert that ethanol oxidation selectively causes aggregate formation.

@@ -647,7 +645,7 @@

Evidence

- SUPPORT (IN_VITRO) -
"Furthermore, Geobacter species, the most abundant bacteria in the aggregates, highly expressed genes for ethanol metabolism and for extracellular electron transfer via electrically conductive pili, suggesting that Geobacter and Methanosaeta species were exchanging electrons via direct interspecies electron transfer (DIET)"
+
"stoichiometrically converted ethanol to methane"
@@ -657,11 +655,10 @@

Evidence

-

Conductive Aggregate-Mediated DIET

+

DIET in Defined Coculture Aggregates

SYNTROPHY
-

G. metallireducens and M. harundinacea cells in conductive aggregates exchange electrons by direct interspecies electron transfer through electrically conductive pili, replacing diffusible H2 or formate as the interspecies electron carrier. -

+

Defined G. metallireducens-M. harundinacea cocultures form mixed aggregates and support DIET; the pilA-deficient Geobacter comparison supports a requirement for its pili-associated machinery under these conditions. This evidence is distinct from Geobacter-species and Methanosaeta concilii expression in brewery-digester aggregates. Aggregate formation itself was not selectively perturbed, and the methanogen electron-entry components remain unresolved. Do not transfer measured conductivity of environmental aggregates to these defined aggregates as a separately measured property.

Source Taxon: Geobacter metallireducens

@@ -691,8 +688,8 @@

Conductive Aggregate-Mediated DIET

Downstream Effects:
- → Direct Electron Acceptance and Methanogenesis -

Conductive-aggregate electron transfer delivers electrons to M. harundinacea for carbon dioxide reduction to methane.

+ → DIET-Linked Carbon Dioxide Reduction to Methane +

DIET supplies electrons for M. harundinacea CO2 reduction to methane, supported by the defined-coculture radiotracer and pilA comparison. This direction does not allocate acetate-derived methane to the CO2 branch or establish a particular methanogen entry protein.

@@ -711,7 +708,7 @@

Evidence

- SUPPORT (IN_VITRO) -
"Furthermore, Geobacter species, the most abundant bacteria in the aggregates, highly expressed genes for ethanol metabolism and for extracellular electron transfer via electrically conductive pili, suggesting that Geobacter and Methanosaeta species were exchanging electrons via direct interspecies electron transfer (DIET)"
+
"Transcriptomic, radiotracer, and genetic analysis demonstrated that M. harundinacea accepted electrons via DIET"
@@ -721,11 +718,9 @@

Evidence

-

Direct Electron Acceptance and Methanogenesis

- MUTUALISM +

DIET-Linked Carbon Dioxide Reduction to Methane

-

Methanosaeta harundinacea accepts electrons directly from G. metallireducens via DIET and uses them to reduce CO2 to methane. Unlike traditional hydrogen-mediated syntrophy, this process involves direct biological electrical connections through conductive aggregates rather than diffusible intermediates. M. harundinacea's ability to accept electrons via DIET is particularly significant as it is an obligate acetoclastic methanogen, expanding our understanding of electron transfer mechanisms beyond the more metabolically versatile Methanosarcina species. The electron transfer enables stoichiometric conversion of ethanol to methane in the coculture. -

+

M. harundinacea accepts DIET electrons for CO2 reduction to methane in the defined coculture, supported by transcript, radiotracer and genetic analyses. Bulk methane also includes acetate conversion. The reported stoichiometry and bicarbonate radiolabel are consistent with roughly one-third of methane arising through CO2 reduction, not all methane. This node represents that CO2 route; it does not replace the missing acetate branch or identify the methanogen surface electron receptor.

Source Taxon: Methanosaeta harundinacea

@@ -775,7 +770,7 @@

Evidence

- SUPPORT (IN_VITRO)
-
"Furthermore, Geobacter species, the most abundant bacteria in the aggregates, highly expressed genes for ethanol metabolism and for extracellular electron transfer via electrically conductive pili, suggesting that Geobacter and Methanosaeta species were exchanging electrons via direct interspecies electron transfer (DIET)"
+
"reduction of carbon dioxide to methane"
@@ -789,19 +784,18 @@

Evidence

-

Knowledge gaps & discussions (1)

+

Knowledge gaps & discussions (3)

KNOWLEDGE_GAP - OPEN + RESOLVED Alongside DIET-driven CO2 reduction, does M. harundinacea also cross-feed on the acetate generated by G. metallireducens ethanol oxidation, and what fraction of methane comes from each route in this defined coculture?

-

A causal-graph pass on this record proposed an additional acetate cross-feeding node and an acetate -> methanogenesis edge, on the reasoning that Methanosaeta is classically an acetoclastic genus and that ethanol oxidation by G. metallireducens yields acetate, giving an overall stoichiometry near 1.5 mol CH4 per mol ethanol. That claim is NOT curated here as an interaction: the primary source (doi:10.1039/C3EE42189A) is cached abstract-only and its full text was not retrievable, and the abstract states only that M. harundinacea "accepted electrons via DIET for the reduction of carbon dioxide to methane" - it does not report acetate cross-feeding, the acetate/DIET split, or the per-route methane stoichiometry. The supporting quotations offered for the acetate route came from secondary reviews attributing findings to this study, which per this repo's conservative-curation rule (see CommunityMech:000176) is not a sufficient basis for an exact-system causal edge. Resolving this needs the primary full text or a radiotracer/isotope partition experiment in this exact coculture. -

+

The earlier discussion deferred an acetate branch because only the abstract was accessible and secondary attributions were insufficient. The primary full paper is now available and has been read; its defined-coculture evidence resolves the biological/source-access question, while graph implementation remains a separate open curation task.

-

Attaches to: ecological_interactions#Ethanol Oxidation and Direct Electron Transfer, ecological_interactions#Direct Electron Acceptance and Methanogenesis

+

Attaches to: ecological_interactions#Geobacter Ethanol Oxidation, ecological_interactions#DIET-Linked Carbon Dioxide Reduction to Methane

@@ -811,18 +805,48 @@

IN_VITRO - PARTIAL + SUPPORT doi:10.1039/C3EE42189A
-

Transcriptomic, radiotracer, and genetic analysis demonstrated that M. harundinacea accepted electrons via DIET for the reduction of carbon dioxide to methane

-

The abstract demonstrates only the DIET/CO2-reduction route; it is silent on an acetate cross-feeding route, which is why that edge is filed as a gap rather than curated.

+ +

Primary defined-coculture Results and Figures 4c/5, reviewed directly rather than inferred from the environmental expression excerpt or secondary reviews.

+

Resolution: Primary Figure 4c separates acetate conversion from DIET-dependent CO2 reduction, and Figure 5 supports the route distinction by bicarbonate radiolabel. See the source hash and inspection scope in the batch46 decision ledger. The missing branch remains open under #1482; resolving this discussion does not mark the graph complete.

+

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which methanogen surface components receive DIET electrons? +

+

The positive DIET result does not identify the receiver proteins or selectively establish aggregate formation itself as necessary. Targeted perturbations would distinguish these mechanisms. Canonical Methanosaeta/Methanothrix naming is preserved; stronger non-graph aggregate and uniqueness wording is not certified by this graph-only review.

+ +

Attaches to: ecological_interactions#Geobacter Ethanol Oxidation, ecological_interactions#DIET in Defined Coculture Aggregates, ecological_interactions#DIET-Linked Carbon Dioxide Reduction to Methane

+ + + + +
+ +
+

+ CURATION_TODO + OPEN + Complete the separately supported acetate branch after Edison review. +

+

The primary evidence is now available, but an acetate-transfer/conversion branch is new causal structure. A one-community Edison dry run completed without API calls or cost; specific credit authorization and report inspection remain pending under #1482. Do not count the bounded CO2 route as completion of the whole graph.

+ +

Attaches to: ecological_interactions#Geobacter Ethanol Oxidation, ecological_interactions#DIET in Defined Coculture Aggregates, ecological_interactions#DIET-Linked Carbon Dioxide Reduction to Methane

+ + +
@@ -1148,7 +1172,7 @@

Evidence

(function() { var intId = "interaction:0"; - var intType = "SYNTROPHY"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1167,7 +1191,7 @@

Evidence

nodes.push({ id: intId, - label: "Ethanol Oxidation and Direct Electron Transfer", + label: "Geobacter Ethanol Oxidation", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1200,7 +1224,7 @@

Evidence

nodes.push({ id: intId, - label: "Conductive Aggregate-Mediated DIET", + label: "DIET in Defined Coculture Aggregates", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1225,7 +1249,7 @@

Evidence

(function() { var intId = "interaction:2"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1244,7 +1268,7 @@

Evidence

nodes.push({ id: intId, - label: "Direct Electron Acceptance and Methanogenesis", + label: "DIET-Linked Carbon Dioxide Reduction to Methane", type: "interaction", interactionType: intType, metabolites: metabolites, diff --git a/docs/communities/Geobacter_Methanosarcina_DIET.html b/docs/communities/Geobacter_Methanosarcina_DIET.html index bcc25492a..c1524b820 100644 --- a/docs/communities/Geobacter_Methanosarcina_DIET.html +++ b/docs/communities/Geobacter_Methanosarcina_DIET.html @@ -561,7 +561,7 @@

Ecological Interactions

Ecological interaction network for Geobacter-Methanosarcina DIET Community - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (syntrophy, 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 (syntrophy).
@@ -574,8 +574,8 @@

Ecological Interactions

Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -586,8 +586,7 @@

Ecological Interactions

Ethanol Oxidation and Direct Electron Transfer

SYNTROPHY -

Geobacter metallireducens oxidizes ethanol to acetate and CO2, transferring electrons directly to Methanosarcina barkeri via electrically conductive pili (e-pili). This direct interspecies electron transfer (DIET) bypasses the need for diffusible electron carriers like H2 or formate. The pili serve as biological electrical conduits for long-range electron transfer between cells. Pilin-deficient G. metallireducens mutants cannot initiate cocultures, demonstrating the essential role of pili in DIET. However, conductive materials like granular activated carbon can substitute for pili, showing that DIET can be mediated by abiotic conductors. -

+

G. metallireducens oxidizes ethanol to acetate and supplies electrons to M. barkeri through DIET. Pilin-deficient cocultures did not establish ethanol-to-methane conversion without amendment, whereas granular activated carbon enabled the tested mutant cocultures. Thus the pili-associated requirement is condition-dependent, not universal in conductive-material-amended cultures. The methanogen entry proteins remain unresolved; the donor reaction should not be described as direct ethanol-carbon oxidation to CO2.

Source Taxon: Geobacter metallireducens

@@ -629,8 +628,8 @@

Ethanol Oxidation and Direct Electron Transfer

Downstream Effects:
- → Direct Electron Acceptance and Methanogenesis -

Electrons transferred via DIET are accepted by M. barkeri for methanogenesis

+ → DIET-Linked Carbon Dioxide Reduction to Methane +

DIET delivers ethanol-derived electrons to M. barkeri for CO2 reduction. This electron-supply arrow supports the CO2 route, not an attribution of all bulk methane to that route; acetate conversion is a separate missing branch.

@@ -685,11 +684,9 @@

Evidence

-

Direct Electron Acceptance and Methanogenesis

- SYNTROPHY +

DIET-Linked Carbon Dioxide Reduction to Methane

-

Methanosarcina barkeri accepts electrons directly from G. metallireducens via DIET and uses them to reduce CO2 to methane. Unlike traditional hydrogen-mediated syntrophy, this process involves direct biological electrical connections between cells rather than diffusible intermediates. M. barkeri is unique as a methanogen capable of using either H2 or electrons from DIET for CO2 reduction, demonstrating metabolic flexibility. The electron transfer enables stoichiometric conversion of ethanol to methane in the coculture. -

+

M. barkeri accepts DIET electrons for CO2 reduction to methane. Bulk ethanol-to-methane conversion also includes acetate metabolism; its stoichiometry is not an isotope measurement assigning every methane molecule to a route. The 2014 first-report wording is historical, not timeless uniqueness. Whether DIET-driven CO2 reduction alone supports methanogen growth, without acetate metabolism, was proposed for future testing rather than established here.

@@ -755,15 +752,11 @@

Evidence

-

T6SS-Associated Delay of DIET Establishment

- NICHE_PARTITIONING +

Hcp-Associated Delay of DIET Establishment

-

Geobacter metallireducens expresses a type VI secretion system (T6SS) during the initiation of DIET cocultures, and this is associated with a long delay before the partnership becomes productive. Cocultures started with wild-type G. metallireducens showed a lag of more than 30 days before methane production, whereas cocultures started with an Hcp-deficient (T6SS structural protein) mutant had very little lag and established DIET with M. barkeri faster. The sign of this edge is NEGATIVE: the wild-type T6SS-expressing state suppresses the rate at which the DIET partnership is established. The molecular attribution is confounded and must not be curated as demonstrated antagonism toward the archaeon - the same mutant also reduced Fe(III) oxide faster than wild type, a phenotype not expected from loss of the T6SS, and the authors state that the effect of T6SSs on archaeal cells still requires study. Encoded as a delay of establishment, not as predation, killing, or toxin delivery to M. barkeri. -

+

In the G. metallireducens-M. barkeri comparison, wild-type Geobacter cocultures had a methane-production lag exceeding 30 days, while hcp-deficient cocultures had little lag. This is a measured genotype-associated establishment phenotype, not niche partitioning or demonstrated toxin delivery. Discovery RNA-seq and GAC/AQDS comparisons used the G. sulfurreducens partner, not M. barkeri. Altered extracellular-electron-transfer transcripts and the mutant Fe(III)-oxide phenotype expose pleiotropy. T6SS-specific inhibition of the archaeon remains HYPOTHESIZED; protein secretion or killing was not measured by the lag comparison.

-

Source Taxon: Geobacter metallireducens

-

Participating Taxa: @@ -778,17 +771,6 @@

T6SS-Associated Delay of DIET Establishment

-

Biological Processes:

-
    - -
  • - protein secretion by the type VI secretion system - (GO:0033103) -
  • - -
-
@@ -796,7 +778,7 @@

T6SS-Associated Delay of DIET Establishment

→ Ethanol Oxidation and Direct Electron Transfer -

NEGATIVE edge - the wild-type T6SS-expressing state of G. metallireducens delays establishment of the DIET partnership (>30 d lag vs very little lag for the Hcp-deficient mutant). Demonstrated by knockout phenotype in this exact coculture, but the mutant is pleiotropic, so the causal attribution to the T6SS specifically is HYPOTHESIZED rather than proven.

+

HYPOTHESIZED NEGATIVE: The wild-type Hcp/T6SS-associated state may delay DIET establishment relative to the hcp deletion strain. The exact coculture demonstrates a lag difference, but altered electron-transfer physiology prevents assigning the delay selectively to T6SS antagonism. The sign refers to establishment timing, not proven archaeal killing.

@@ -867,6 +849,40 @@

Evidence

+
+

Knowledge gaps & discussions (2)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which electron-entry components and hcp-dependent changes govern this DIET partnership? +

+

Preserve the positive DIET and mutant-lag observations while separating genotype effects from secretion-specific antagonism. Partner-specific perturbations and complementation in the methanogenic coculture would distinguish proposed mechanisms. The Pelobacter/H2 comparator used a different medium and is not a selective same-medium H2 switch. Methanosaeta radiotracer results must not be imported into this system. Non-graph uniqueness/aggregation claims remain preserved, not certified.

+ +

Attaches to: ecological_interactions#Ethanol Oxidation and Direct Electron Transfer, ecological_interactions#DIET-Linked Carbon Dioxide Reduction to Methane, ecological_interactions#Hcp-Associated Delay of DIET Establishment

+ + + + +
+ +
+

+ CURATION_TODO + OPEN + Complete the separately supported acetate branch after Edison review. +

+

The primary paper supports an acetate contribution, but the graph still lacks that branch. A separate one-community Edison dry run completed without API calls or credits; specific authorization and report inspection remain pending under #1483. Add source-backed structure with its own evidence, without promoting ideal stoichiometry to an isotope-measured fraction or claiming DIET-only growth. This repair remains needs_research.

+ +

Attaches to: ecological_interactions#Ethanol Oxidation and Direct Electron Transfer, ecological_interactions#DIET-Linked Carbon Dioxide Reduction to Methane, ecological_interactions#Hcp-Associated Delay of DIET Establishment

+ + + + +
+ +
@@ -1305,7 +1321,7 @@

Evidence

(function() { var intId = "interaction:1"; - var intType = "SYNTROPHY"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1324,7 +1340,7 @@

Evidence

nodes.push({ id: intId, - label: "Direct Electron Acceptance and Methanogenesis", + label: "DIET-Linked Carbon Dioxide Reduction to Methane", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1352,20 +1368,16 @@

Evidence

(function() { var intId = "interaction:2"; - var intType = "NICHE_PARTITIONING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; - - processes.push("protein secretion by the type VI secretion system"); - - var evidenceCount = 4; nodes.push({ id: intId, - label: "T6SS-Associated Delay of DIET Establishment", + label: "Hcp-Associated Delay of DIET Establishment", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1374,12 +1386,20 @@

Evidence

}); - var srcKey = "Geobacter metallireducens"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ + + "Geobacter metallireducens", + + "Methanosarcina barkeri" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); diff --git a/history/records/Geobacter_Methanosaeta_DIET/2026-10-06T124951Z-codex-b6123c.yaml b/history/records/Geobacter_Methanosaeta_DIET/2026-10-06T124951Z-codex-b6123c.yaml new file mode 100644 index 000000000..8924352c7 --- /dev/null +++ b/history/records/Geobacter_Methanosaeta_DIET/2026-10-06T124951Z-codex-b6123c.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Geobacter_Methanosaeta_DIET.yaml + slug: Geobacter_Methanosaeta_DIET +session: + id: 2026-10-06T124951Z-codex-b6123c + timestamp: '2026-10-06T12:49:51Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1480 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Separate the donor reaction from aggregate formation and methane carbon allocation.; + Retain positive defined-coculture DIET while bounding aggregation and electron-entry claims.; + Retain only the CO2 methane route, explicitly not the missing acetate branch. + details: 'Existing graph repair; acetate extension #1482 remains incomplete. reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml' diff --git a/history/records/Geobacter_Methanosarcina_DIET/2026-10-06T124951Z-codex-59a839.yaml b/history/records/Geobacter_Methanosarcina_DIET/2026-10-06T124951Z-codex-59a839.yaml new file mode 100644 index 000000000..e1d9cff79 --- /dev/null +++ b/history/records/Geobacter_Methanosarcina_DIET/2026-10-06T124951Z-codex-59a839.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Geobacter_Methanosarcina_DIET.yaml + slug: Geobacter_Methanosarcina_DIET +session: + id: 2026-10-06T124951Z-codex-59a839 + timestamp: '2026-10-06T12:49:51Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1481 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain donor-to-partner DIET and condition-dependent pili/GAC evidence; correct + the donor carbon reaction.; Bound the existing methane node to CO2 reduction without universal + uniqueness or DIET-only growth.; Retain the exact hcp-lag phenotype and hypothetical negative + arrow without niche partitioning, secretion or killing claims. + details: 'Existing graph repair; acetate extension #1483 remains incomplete. reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml' diff --git a/kb/communities/Geobacter_Methanosaeta_DIET.yaml b/kb/communities/Geobacter_Methanosaeta_DIET.yaml index 630e24726..c304e4d0f 100644 --- a/kb/communities/Geobacter_Methanosaeta_DIET.yaml +++ b/kb/communities/Geobacter_Methanosaeta_DIET.yaml @@ -103,17 +103,11 @@ taxonomy: ethanol to methane explanation: Establishes M. harundinacea as a DIET-capable acetoclastic methanogen ecological_interactions: -- name: Ethanol Oxidation and Direct Electron Transfer - description: 'Geobacter metallireducens oxidizes ethanol to acetate and CO2, transferring - electrons directly to Methanosaeta harundinacea via electrically conductive aggregates. - This direct interspecies electron transfer (DIET) bypasses the need for diffusible - electron carriers like H2 or formate. The conductive aggregates serve as biological - electrical conduits for long-range electron transfer between cells. Aggregate - formation is essential for DIET, providing the physical and electrical connection - necessary for electron flow from G. metallireducens to M. harundinacea. - - ' - interaction_type: SYNTROPHY +- name: Geobacter Ethanol Oxidation + description: In the defined Geobacter metallireducens-Methanosaeta harundinacea coculture, Geobacter oxidizes + ethanol to acetate and releases electrons for DIET. This is the donor reaction, not a claim that ethanol carbon + is directly oxidized to CO2 at this step. The acetate coproduct also contributes to bulk methane through a separate + route, not yet represented as its own graph branch. scope: PAIRWISE source_taxon: preferred_term: Geobacter metallireducens @@ -137,27 +131,24 @@ ecological_interactions: id: GO:0006068 label: ethanol catabolic process downstream: - - target: Conductive Aggregate-Mediated DIET - description: Ethanol metabolism and extracellular electron transfer by - aggregate-associated Geobacter feed the conductive aggregates where - Geobacter and Methanosaeta exchange electrons by DIET. + - target: DIET in Defined Coculture Aggregates + description: Ethanol oxidation releases reducing equivalents that Geobacter supplies to the defined partner + through DIET. This arrow routes electron supply, not acetate carbon, and does not assert that ethanol oxidation + selectively causes aggregate formation. evidence: - reference: doi:10.1039/C3EE42189A supports: SUPPORT evidence_source: IN_VITRO - snippet: Furthermore, Geobacter species, the most abundant bacteria in the aggregates, - highly expressed genes for ethanol metabolism and for extracellular electron - transfer via electrically conductive pili, suggesting that Geobacter and Methanosaeta - species were exchanging electrons via direct interspecies electron transfer - (DIET) - explanation: Demonstrates ethanol oxidation coupled to direct electron transfer - in conductive aggregates -- name: Conductive Aggregate-Mediated DIET - description: > - G. metallireducens and M. harundinacea cells in conductive aggregates - exchange electrons by direct interspecies electron transfer through - electrically conductive pili, replacing diffusible H2 or formate as the - interspecies electron carrier. + snippet: stoichiometrically converted ethanol to methane + explanation: Abstract support for coupled conversion; primary defined-coculture Results and Figure 4 locate + the donor reaction. Not environmental gene-expression proof. +- name: DIET in Defined Coculture Aggregates + description: Defined G. metallireducens-M. harundinacea cocultures form mixed aggregates and support DIET; the + pilA-deficient Geobacter comparison supports a requirement for its pili-associated machinery under these conditions. + This evidence is distinct from Geobacter-species and Methanosaeta concilii expression in brewery-digester aggregates. + Aggregate formation itself was not selectively perturbed, and the methanogen electron-entry components remain + unresolved. Do not transfer measured conductivity of environmental aggregates to these defined aggregates as + a separately measured property. interaction_type: SYNTROPHY scope: PAIRWISE source_taxon: @@ -176,32 +167,24 @@ ecological_interactions: id: GO:0022900 label: electron transport chain downstream: - - target: Direct Electron Acceptance and Methanogenesis - description: Conductive-aggregate electron transfer delivers electrons to - M. harundinacea for carbon dioxide reduction to methane. + - target: DIET-Linked Carbon Dioxide Reduction to Methane + description: DIET supplies electrons for M. harundinacea CO2 reduction to methane, supported by the defined-coculture + radiotracer and pilA comparison. This direction does not allocate acetate-derived methane to the CO2 branch + or establish a particular methanogen entry protein. evidence: - reference: doi:10.1039/C3EE42189A supports: SUPPORT evidence_source: IN_VITRO - snippet: Furthermore, Geobacter species, the most abundant bacteria in the aggregates, - highly expressed genes for ethanol metabolism and for extracellular electron - transfer via electrically conductive pili, suggesting that Geobacter and Methanosaeta - species were exchanging electrons via direct interspecies electron transfer - (DIET) - explanation: Supports conductive aggregate-mediated electron transfer - between Geobacter and Methanosaeta cells. -- name: Direct Electron Acceptance and Methanogenesis - description: 'Methanosaeta harundinacea accepts electrons directly from G. metallireducens - via DIET and uses them to reduce CO2 to methane. Unlike traditional hydrogen-mediated - syntrophy, this process involves direct biological electrical connections through - conductive aggregates rather than diffusible intermediates. M. harundinacea''s - ability to accept electrons via DIET is particularly significant as it is an obligate - acetoclastic methanogen, expanding our understanding of electron transfer mechanisms - beyond the more metabolically versatile Methanosarcina species. The electron transfer - enables stoichiometric conversion of ethanol to methane in the coculture. - - ' - interaction_type: MUTUALISM + snippet: Transcriptomic, radiotracer, and genetic analysis demonstrated that M. harundinacea accepted electrons + via DIET + explanation: The abstract identifies experimental DIET evidence in the defined coculture; Figures 4-5 bound + aggregate and mutant interpretation. +- name: DIET-Linked Carbon Dioxide Reduction to Methane + description: M. harundinacea accepts DIET electrons for CO2 reduction to methane in the defined coculture, supported + by transcript, radiotracer and genetic analyses. Bulk methane also includes acetate conversion. The reported + stoichiometry and bicarbonate radiolabel are consistent with roughly one-third of methane arising through CO2 + reduction, not all methane. This node represents that CO2 route; it does not replace the missing acetate branch + or identify the methanogen surface electron receptor. scope: PAIRWISE source_taxon: preferred_term: Methanosaeta harundinacea @@ -228,13 +211,9 @@ ecological_interactions: - reference: doi:10.1039/C3EE42189A supports: SUPPORT evidence_source: IN_VITRO - snippet: Furthermore, Geobacter species, the most abundant bacteria in the aggregates, - highly expressed genes for ethanol metabolism and for extracellular electron - transfer via electrically conductive pili, suggesting that Geobacter and Methanosaeta - species were exchanging electrons via direct interspecies electron transfer - (DIET) - explanation: Establishes M. harundinacea's ability to use DIET-derived electrons - for methanogenesis + snippet: reduction of carbon dioxide to methane + explanation: Supports the CO2-reduction route, not an assertion that every methane carbon follows it. Primary + Figures 4c and 5 distinguish the routes. environmental_factors: - name: Anaerobic Conditions value: Strict anaerobic @@ -411,35 +390,62 @@ metal_notes: Metal/REE detected via environmental factor measurements; Metal/REE via keyword matching in description (context-validated) discussions: - discussion_id: kg-geobacter-methanosaeta-acetate-route-unresolved - prompt: > - Alongside DIET-driven CO2 reduction, does M. harundinacea also cross-feed on the - acetate generated by G. metallireducens ethanol oxidation, and what fraction of - methane comes from each route in this defined coculture? + prompt: 'Alongside DIET-driven CO2 reduction, does M. harundinacea also cross-feed on the acetate generated by + G. metallireducens ethanol oxidation, and what fraction of methane comes from each route in this defined coculture? + + ' kind: KNOWLEDGE_GAP - status: OPEN + status: RESOLVED attaches_to: - - ecological_interactions#Ethanol Oxidation and Direct Electron Transfer - - ecological_interactions#Direct Electron Acceptance and Methanogenesis - rationale: > - A causal-graph pass on this record proposed an additional acetate cross-feeding node - and an acetate -> methanogenesis edge, on the reasoning that Methanosaeta is - classically an acetoclastic genus and that ethanol oxidation by G. metallireducens - yields acetate, giving an overall stoichiometry near 1.5 mol CH4 per mol ethanol. - That claim is NOT curated here as an interaction: the primary source - (doi:10.1039/C3EE42189A) is cached abstract-only and its full text was not - retrievable, and the abstract states only that M. harundinacea "accepted electrons - via DIET for the reduction of carbon dioxide to methane" - it does not report acetate - cross-feeding, the acetate/DIET split, or the per-route methane stoichiometry. The - supporting quotations offered for the acetate route came from secondary reviews - attributing findings to this study, which per this repo's conservative-curation rule - (see CommunityMech:000176) is not a sufficient basis for an exact-system causal edge. - Resolving this needs the primary full text or a radiotracer/isotope partition - experiment in this exact coculture. + - ecological_interactions#Geobacter Ethanol Oxidation + - ecological_interactions#DIET-Linked Carbon Dioxide Reduction to Methane + rationale: The earlier discussion deferred an acetate branch because only the abstract was accessible and secondary + attributions were insufficient. The primary full paper is now available and has been read; its defined-coculture + evidence resolves the biological/source-access question, while graph implementation remains a separate open + curation task. evidence: - reference: doi:10.1039/C3EE42189A - supports: PARTIAL + supports: SUPPORT evidence_source: IN_VITRO - snippet: Transcriptomic, radiotracer, and genetic analysis demonstrated that M. harundinacea - accepted electrons via DIET for the reduction of carbon dioxide to methane - explanation: The abstract demonstrates only the DIET/CO2-reduction route; it is silent on an - acetate cross-feeding route, which is why that edge is filed as a gap rather than curated. + explanation: Primary defined-coculture Results and Figures 4c/5, reviewed directly rather than inferred from + the environmental expression excerpt or secondary reviews. + resolved_date: '2026-10-06' + resolution_note: 'Primary Figure 4c separates acetate conversion from DIET-dependent CO2 reduction, and Figure + 5 supports the route distinction by bicarbonate radiolabel. See the source hash and inspection scope in the + batch46 decision ledger. The missing branch remains open under #1482; resolving this discussion does not mark + the graph complete.' +- discussion_id: methanosaeta_entry_and_aggregation_scope + prompt: Which methanogen surface components receive DIET electrons? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Geobacter Ethanol Oxidation + - ecological_interactions#DIET in Defined Coculture Aggregates + - ecological_interactions#DIET-Linked Carbon Dioxide Reduction to Methane + rationale: The positive DIET result does not identify the receiver proteins or selectively establish aggregate + formation itself as necessary. Targeted perturbations would distinguish these mechanisms. Canonical Methanosaeta/Methanothrix + naming is preserved; stronger non-graph aggregate and uniqueness wording is not certified by this graph-only + review. + posed_by: codex + posed_date: '2026-10-06' +- discussion_id: methanosaeta_acetate_branch_curation + prompt: Complete the separately supported acetate branch after Edison review. + kind: CURATION_TODO + status: OPEN + attaches_to: + - ecological_interactions#Geobacter Ethanol Oxidation + - ecological_interactions#DIET in Defined Coculture Aggregates + - ecological_interactions#DIET-Linked Carbon Dioxide Reduction to Methane + rationale: 'The primary evidence is now available, but an acetate-transfer/conversion branch is new causal structure. + A one-community Edison dry run completed without API calls or cost; specific credit authorization and report + inspection remain pending under #1482. Do not count the bounded CO2 route as completion of the whole graph.' + posed_by: codex + posed_date: '2026-10-06' +curation_history: +- timestamp: '2026-10-06T12:49:50Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Separate the donor reaction from aggregate formation and methane carbon allocation.; Retain positive + defined-coculture DIET while bounding aggregation and electron-entry claims.; Retain only the CO2 methane route, + explicitly not the missing acetate branch. Repair #1480; extension remains #1482; reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml' + llm_assisted: true diff --git a/kb/communities/Geobacter_Methanosarcina_DIET.yaml b/kb/communities/Geobacter_Methanosarcina_DIET.yaml index f2dee7121..9e12f2edf 100644 --- a/kb/communities/Geobacter_Methanosarcina_DIET.yaml +++ b/kb/communities/Geobacter_Methanosarcina_DIET.yaml @@ -97,16 +97,11 @@ taxonomy: transfer capabilities ecological_interactions: - name: Ethanol Oxidation and Direct Electron Transfer - description: 'Geobacter metallireducens oxidizes ethanol to acetate and CO2, transferring - electrons directly to Methanosarcina barkeri via electrically conductive pili - (e-pili). This direct interspecies electron transfer (DIET) bypasses the need - for diffusible electron carriers like H2 or formate. The pili serve as biological - electrical conduits for long-range electron transfer between cells. Pilin-deficient - G. metallireducens mutants cannot initiate cocultures, demonstrating the essential - role of pili in DIET. However, conductive materials like granular activated carbon - can substitute for pili, showing that DIET can be mediated by abiotic conductors. - - ' + description: G. metallireducens oxidizes ethanol to acetate and supplies electrons to M. barkeri through DIET. + Pilin-deficient cocultures did not establish ethanol-to-methane conversion without amendment, whereas granular + activated carbon enabled the tested mutant cocultures. Thus the pili-associated requirement is condition-dependent, + not universal in conductive-material-amended cultures. The methanogen entry proteins remain unresolved; the + donor reaction should not be described as direct ethanol-carbon oxidation to CO2. interaction_type: SYNTROPHY scope: PAIRWISE source_taxon: @@ -136,42 +131,39 @@ ecological_interactions: id: GO:0006068 label: ethanol catabolic process downstream: - - target: Direct Electron Acceptance and Methanogenesis - description: Electrons transferred via DIET are accepted by M. barkeri for methanogenesis + - target: DIET-Linked Carbon Dioxide Reduction to Methane + description: DIET delivers ethanol-derived electrons to M. barkeri for CO2 reduction. This electron-supply arrow + supports the CO2 route, not an attribution of all bulk methane to that route; acetate conversion is a separate + missing branch. evidence: - reference: PMID:24837373 supports: SUPPORT evidence_source: IN_VITRO - snippet: Cocultures formed aggregates that shared electrons via DIET during the - stoichiometric conversion of ethanol to methane - explanation: Demonstrates that the G. metallireducens-M. barkeri coculture coupled - ethanol conversion to aggregate-mediated DIET. + snippet: Cocultures formed aggregates that shared electrons via DIET during the stoichiometric conversion of + ethanol to methane + explanation: Demonstrates that the G. metallireducens-M. barkeri coculture coupled ethanol conversion to aggregate-mediated + DIET. - reference: PMID:24837373 supports: SUPPORT evidence_source: IN_VITRO - snippet: Cocultures could not be initiated with a pilin-deficient G. metallireducens - strain, suggesting that long-range electron transfer along pili was important - for DIET - explanation: Establishes the essential role of conductive pili in mediating DIET + snippet: Cocultures could not be initiated with a pilin-deficient G. metallireducens strain, suggesting that + long-range electron transfer along pili was important for DIET + explanation: Supports the pilin-deficient initiation phenotype under the tested unamended conditions, not a + universal requirement in GAC-amended cocultures or identification of the methanogen entry machinery. - reference: PMID:24837373 supports: SUPPORT evidence_source: IN_VITRO - snippet: Amendments of granular activated carbon permitted the pilin-deficient - G. metallireducens isolates to share electrons with M. barkeri - explanation: Demonstrates that conductive materials can substitute for pili in - DIET -- name: Direct Electron Acceptance and Methanogenesis - description: 'Methanosarcina barkeri accepts electrons directly from G. metallireducens - via DIET and uses them to reduce CO2 to methane. Unlike traditional hydrogen-mediated - syntrophy, this process involves direct biological electrical connections between - cells rather than diffusible intermediates. M. barkeri is unique as a methanogen - capable of using either H2 or electrons from DIET for CO2 reduction, demonstrating - metabolic flexibility. The electron transfer enables stoichiometric conversion - of ethanol to methane in the coculture. - - ' + snippet: Amendments of granular activated carbon permitted the pilin-deficient G. metallireducens isolates to + share electrons with M. barkeri + explanation: Supports conductive-material rescue of the tested pilin-deficient cocultures; it does not prove + direct physical contact is required under this amendment. +- name: DIET-Linked Carbon Dioxide Reduction to Methane + description: M. barkeri accepts DIET electrons for CO2 reduction to methane. Bulk ethanol-to-methane conversion + also includes acetate metabolism; its stoichiometry is not an isotope measurement assigning every methane molecule + to a route. The 2014 first-report wording is historical, not timeless uniqueness. Whether DIET-driven CO2 reduction + alone supports methanogen growth, without acetate metabolism, was proposed for future testing rather than established + here. scope: COMMUNITY_LEVEL - interaction_type: SYNTROPHY participating_taxa: - preferred_term: Geobacter metallireducens term: @@ -201,28 +193,18 @@ ecological_interactions: - reference: PMID:24837373 supports: SUPPORT evidence_source: IN_VITRO - snippet: M. barkeri is the second methanogen found to accept electrons via DIET - and the first methanogen known to be capable of using either H2 or electrons - derived from DIET for CO2 reduction - explanation: Establishes M. barkeri's ability to use DIET-derived electrons for - methanogenesis -- name: T6SS-Associated Delay of DIET Establishment - description: 'Geobacter metallireducens expresses a type VI secretion system (T6SS) during - the initiation of DIET cocultures, and this is associated with a long delay before the - partnership becomes productive. Cocultures started with wild-type G. metallireducens showed - a lag of more than 30 days before methane production, whereas cocultures started with an - Hcp-deficient (T6SS structural protein) mutant had very little lag and established DIET - with M. barkeri faster. The sign of this edge is NEGATIVE: the wild-type T6SS-expressing - state suppresses the rate at which the DIET partnership is established. The molecular - attribution is confounded and must not be curated as demonstrated antagonism toward the - archaeon - the same mutant also reduced Fe(III) oxide faster than wild type, a phenotype - not expected from loss of the T6SS, and the authors state that the effect of T6SSs on - archaeal cells still requires study. Encoded as a delay of establishment, not as - predation, killing, or toxin delivery to M. barkeri. - - ' + snippet: M. barkeri is the second methanogen found to accept electrons via DIET and the first methanogen known + to be capable of using either H2 or electrons derived from DIET for CO2 reduction + explanation: Supports the reported DIET capability and historical dual H2/DIET context, not present-day uniqueness, + all-methane CO2 attribution or DIET-only growth. +- name: Hcp-Associated Delay of DIET Establishment + description: In the G. metallireducens-M. barkeri comparison, wild-type Geobacter cocultures had a methane-production + lag exceeding 30 days, while hcp-deficient cocultures had little lag. This is a measured genotype-associated + establishment phenotype, not niche partitioning or demonstrated toxin delivery. Discovery RNA-seq and GAC/AQDS + comparisons used the G. sulfurreducens partner, not M. barkeri. Altered extracellular-electron-transfer transcripts + and the mutant Fe(III)-oxide phenotype expose pleiotropy. T6SS-specific inhibition of the archaeon remains HYPOTHESIZED; + protein secretion or killing was not measured by the lag comparison. scope: COMMUNITY_LEVEL - interaction_type: NICHE_PARTITIONING participating_taxa: - preferred_term: Geobacter metallireducens term: @@ -232,38 +214,26 @@ ecological_interactions: term: id: NCBITaxon:2208 label: Methanosarcina barkeri - source_taxon: - preferred_term: Geobacter metallireducens - term: - id: NCBITaxon:28232 - label: Geobacter metallireducens - biological_processes: - - preferred_term: protein secretion by the type VI secretion system - term: - id: GO:0033103 - label: protein secretion by the type VI secretion system downstream: - target: Ethanol Oxidation and Direct Electron Transfer - description: NEGATIVE edge - the wild-type T6SS-expressing state of G. metallireducens - delays establishment of the DIET partnership (>30 d lag vs very little lag for the - Hcp-deficient mutant). Demonstrated by knockout phenotype in this exact coculture, but - the mutant is pleiotropic, so the causal attribution to the T6SS specifically is - HYPOTHESIZED rather than proven. + description: 'HYPOTHESIZED NEGATIVE: The wild-type Hcp/T6SS-associated state may delay DIET establishment relative + to the hcp deletion strain. The exact coculture demonstrates a lag difference, but altered electron-transfer + physiology prevents assigning the delay selectively to T6SS antagonism. The sign refers to establishment timing, + not proven archaeal killing.' evidence: - reference: PMID:37650614 supports: SUPPORT evidence_source: IN_VITRO - snippet: there was a lag period of more than 30 d in co-cultures initiated with wild-type - G. metallireducens - explanation: Wild-type baseline for the delay, measured in the G. metallireducens-M. barkeri - ethanol coculture that this record describes. + snippet: there was a lag period of more than 30 d in co-cultures initiated with wild-type G. metallireducens + explanation: Wild-type baseline for the delay, measured in the G. metallireducens-M. barkeri ethanol coculture + that this record describes. - reference: PMID:37650614 supports: SUPPORT evidence_source: IN_VITRO - snippet: In contrast, there was very little lag in co-cultures initiated with the Hcp-deficient - G. metallireducens strain - explanation: Knockout arm of the perturbation - removing the T6SS structural protein Hcp - largely removes the lag, which is the basis for the negative causal edge. + snippet: In contrast, there was very little lag in co-cultures initiated with the Hcp-deficient G. metallireducens + strain + explanation: Supports the hcp-deletion lag phenotype in the exact pair. Deletion changes more than the presence + of T6SS machinery, so the phenotype does not isolate a secretion-specific mechanism. - reference: PMID:37650614 supports: SUPPORT evidence_source: IN_VITRO @@ -272,10 +242,10 @@ ecological_interactions: - reference: PMID:37650614 supports: PARTIAL evidence_source: IN_VITRO - snippet: the mutant also reduced Fe(III) oxide faster than the wild-type strain, a phenotype - not expected from the loss of the T6SS - explanation: Records the pleiotropy confounder - the reason this edge is curated as - T6SS-associated rather than T6SS-caused. + snippet: the mutant also reduced Fe(III) oxide faster than the wild-type strain, a phenotype not expected from + the loss of the T6SS + explanation: Records the pleiotropy confounder - the reason this edge is curated as T6SS-associated rather than + T6SS-caused. environmental_factors: - name: Anaerobic Conditions value: Strict anaerobic @@ -499,3 +469,42 @@ metals_present: [] metal_relevance: SIGNIFICANT metal_notes: Metal/REE detected via environmental factor measurements; Metal/REE detected via keyword matching in description (context-validated) +discussions: +- discussion_id: methanosarcina_entry_and_hcp_pleiotropy + prompt: Which electron-entry components and hcp-dependent changes govern this DIET partnership? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Ethanol Oxidation and Direct Electron Transfer + - ecological_interactions#DIET-Linked Carbon Dioxide Reduction to Methane + - ecological_interactions#Hcp-Associated Delay of DIET Establishment + rationale: Preserve the positive DIET and mutant-lag observations while separating genotype effects from secretion-specific + antagonism. Partner-specific perturbations and complementation in the methanogenic coculture would distinguish + proposed mechanisms. The Pelobacter/H2 comparator used a different medium and is not a selective same-medium + H2 switch. Methanosaeta radiotracer results must not be imported into this system. Non-graph uniqueness/aggregation + claims remain preserved, not certified. + posed_by: codex + posed_date: '2026-10-06' +- discussion_id: methanosarcina_acetate_branch_curation + prompt: Complete the separately supported acetate branch after Edison review. + kind: CURATION_TODO + status: OPEN + attaches_to: + - ecological_interactions#Ethanol Oxidation and Direct Electron Transfer + - ecological_interactions#DIET-Linked Carbon Dioxide Reduction to Methane + - ecological_interactions#Hcp-Associated Delay of DIET Establishment + rationale: 'The primary paper supports an acetate contribution, but the graph still lacks that branch. A separate + one-community Edison dry run completed without API calls or credits; specific authorization and report inspection + remain pending under #1483. Add source-backed structure with its own evidence, without promoting ideal stoichiometry + to an isotope-measured fraction or claiming DIET-only growth. This repair remains needs_research.' + posed_by: codex + posed_date: '2026-10-06' +curation_history: +- timestamp: '2026-10-06T12:49:51Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain donor-to-partner DIET and condition-dependent pili/GAC evidence; correct the donor carbon reaction.; + Bound the existing methane node to CO2 reduction without universal uniqueness or DIET-only growth.; Retain the + exact hcp-lag phenotype and hypothetical negative arrow without niche partitioning, secretion or killing claims. + Repair #1481; extension remains #1483; reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml' + llm_assisted: true diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md index 850aab5b1..a9e34f6eb 100644 --- a/reports/causal_graph_review/README.md +++ b/reports/causal_graph_review/README.md @@ -5,6 +5,17 @@ source-based self-adversarial review. These records are not independent approval or proof that every graph is complete. The current inventory and summary distinguish `reviewed`, `pending` and `needs_research`. +## Batch46: Methanogen DIET Pairs + +[Decisions](decisions/20261006-methanogens-batch46.yaml), +[validation](validation-20261006-batch46.json) and +[self-adversarial review](adversarial-review-20261006-batch46.yaml) distinguish +defined-coculture DIET evidence from environmental inference, bulk methane from +its CO2 route, and the hcp mutant phenotype from T6SS-specific antagonism. +Both records remain `needs_research`: the source-supported acetate branches +are still missing under #1482 and #1483. Separate Edison dry runs spent no +credits; paid research and report inspection remain pending. + ## Batch45: Geobacter-Clostridium [Decisions](decisions/20261006-clostridium-batch45.yaml), diff --git a/reports/causal_graph_review/adversarial-review-20261006-batch46.yaml b/reports/causal_graph_review/adversarial-review-20261006-batch46.yaml new file mode 100644 index 000000000..f98e245cd --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261006-batch46.yaml @@ -0,0 +1,184 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 038ac9ce75c9922efa357610386a34da7a313305 +scope: +- kb/communities/Geobacter_Methanosaeta_DIET.yaml +- kb/communities/Geobacter_Methanosarcina_DIET.yaml +decision_ledger: reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml +validation_report: reports/causal_graph_review/validation-20261006-batch46.json +findings: +- issue: 1480 + severity: P2 + status: addressed_in_this_change + finding: Separate the donor reaction from aggregate formation and methane carbon allocation.; Retain + positive defined-coculture DIET while bounding aggregation and electron-entry claims.; Retain only + the CO2 methane route, explicitly not the missing acetate branch. + disposition: Close after protected main merge. +- issue: 1482 + severity: P2 + status: open_incomplete_extension + finding: Source-supported acetate branch remains missing. + disposition: Keep open; complete authorized one-community Edison/report review and independently verified + curation before declaring the graph reviewed. +- issue: 1481 + severity: P2 + status: addressed_in_this_change + finding: Retain donor-to-partner DIET and condition-dependent pili/GAC evidence; correct the donor carbon + reaction.; Bound the existing methane node to CO2 reduction without universal uniqueness or DIET-only + growth.; Retain the exact hcp-lag phenotype and hypothetical negative arrow without niche partitioning, + secretion or killing claims. + disposition: Close after protected main merge. +- issue: 1483 + severity: P2 + status: open_incomplete_extension + finding: Source-supported acetate branch remains missing. + disposition: Keep open; complete authorized one-community Edison/report review and independently verified + curation before declaring the graph reviewed. +adversarial_checks: +- Both whole records, all six original nodes and all four arrows reviewed. Complete primary main bodies/Methods/captions + read for the two2014 studies and2023 T6SS study. Selected2014 figures inspected as specified in the + ledger; no2023 figure images, supplements, raw data or code audited. +- 'Methanosaeta: replace environmental Geobacter/Methanosaeta concilii expression excerpts with independently + checked primary abstract excerpts about the defined G. metallireducens/M. harundinacea coculture. Preserve + positive DIET rather than demote demonstrated electron transfer to a generic hypothesis.' +- 'Methanosaeta: distinguish the donor reaction, interspecies transfer and CO2 reduction. Pili-associated + initiation evidence is not a selective test of aggregate formation or direct measurement of conductivity + in these defined aggregates. Receiver proteins remain unresolved; both retained directions are bounded + to electron supply, not acetate-carbon routing.' +- 'Methanosaeta: resolve the obsolete primary-access biological question using the primary figures, while + separately keeping the missing acetate graph branch OPEN under#1482. Roughly one-third CO2-derived methane + is a bounded stoichiometric/radiotracer interpretation, not an all-methane claim or an exact universal + fraction.' +- 'Methanosarcina: retain the positive DIET and pilin/GAC evidence. Correct direct ethanol-carbon-to-CO2 + wording; distinguish bulk methane from its CO2 route. Historical first-report wording does not mean + timeless uniqueness, and DIET-only growth without acetate was not established.' +- 'Methanosarcina: preserve the exact hcp genotype/lag comparison but remove NICHE_PARTITIONING and unmeasured + secretion annotations. Discovery RNA-seq and GAC/AQDS controls involve G. sulfurreducens. Pleiotropic + EET changes prevent a selective T6SS-antagonism attribution; the retained negative arrow is explicitly + HYPOTHESIZED and refers to establishment timing, not killing.' +- Do not import Methanosaeta radiotracer evidence into Methanosarcina. The Pelobacter/H2 comparator uses + a different medium, not a selective same-medium H2 switch. The inspected Gmet1868 curve has residual + methane; no new absolute zero-activity claim is added. +- Both acetate branches remain incomplete, not silently absorbed into a CO2 node or declared unnecessary + for an easier passing graph. Both records remain needs_research under#1482/#1483. Separate dry runs + are hash-bound and cost0; no provider report, paid-job execution or authorization is fabricated. +- Both graph diffs inspected. Two guarded records, two append-only histories and two regenerated pages. + All458 other records, all920 caches, taxonomy, non-graph raw blocks and prior histories preserved. Stronger + non-graph claims and the composite cached Methanosaeta Content are not certified. +- All per-record gates passed;31 snippets match unchanged caches. Reference canaries included, but DOI + case-sensitivity and SupportingReference/provenance limitations remain explicit. Zero structural errors + and all34 prior network findings unchanged. Repeat renders deterministic and descriptions parser-checked + across456 pages without a browser screenshot claim. +- Six focused tests plus historical/shared regressions passed. Canonical endpoints and explicit participants + preserved; registry and corrected connectivity census unchanged. No production auditor, ranker or census-bound + changes. +- Dedup includes794 all-state issue titles/bodies and ignored/hidden local files;#1091/#751/#306 bodies + read. No duplication of existing cache/validator issues. Not every comment or PR review inspected. +- Pre-source batch45 baseline and fresh pre-edit batch46 baseline distinguished. Selected record and all + cache hashes match across them. Self-adversarial review is not independent approval, graph expansion + completion or full-corpus completion. Exact-head COMMENT and actual post-commit docs-current remain + separate publication gates. +verification: + combined_regressions: 461 passed in 211.31s (0:03:31) + new_regression_tests: 6 + schema_strict_terms_history: Passed with actual outputs and digests + references: CLI Total checks counts reported issues, not executed checks. Both local runs exited0; this + does not certify Linux DOI-cache lookup (#1091), SupportingReference coverage (#476), independent + cache provenance (#1362) or scientific support. + snippet_counts_by_record: + kb/communities/Geobacter_Methanosaeta_DIET.yaml: + MATCH: 12 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Geobacter_Methanosarcina_DIET.yaml: + MATCH: 19 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + network: + existing_findings_preserved: 34 + added_findings: {} + removed_findings: {} + black_ruff_diff: passed + tested_file_sha256: + reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml: 655c8cf5bb1a6c8810c2afad82fb0083fe651ed4a72642857547fbe9483a2272 + tests/test_causal_review_batch46.py: 83a759a575d1d3eaec5043dd25f2fd74a69939cbacf5cd32c7b1b3eff6b264cc + kb/communities/Geobacter_Methanosaeta_DIET.yaml: 8e194a9177b013c6db3e2dd9b4ed9744f06ca0379116f41a0f4ed62cf1d4fde1 + kb/communities/Geobacter_Methanosarcina_DIET.yaml: b6b5f1714e6692936ca408e74dba44df4cbb9518a258c7c7203425998c2979e0 + reports/causal_graph_review/README.md: 5ff428c05ffa0e218a58ab54d3551d32176e41a127fe0681fc19438d71f30ff2 + post_commit_docs_current: Separate publication gate, not asserted before commit. +participant_census: + measurements: + baseline: + records: 460 + with_community_level: 388 + mixed: 125 + community_level_only: 263 + taxa: 1496 + credited_solely_by_the_rule: 1223 + current: + records: 460 + with_community_level: 388 + mixed: 125 + community_level_only: 263 + taxa: 1496 + credited_solely_by_the_rule: 1223 + interpretation: Canonical endpoints and participants preserved; registry remains 194. No census bounds + or production matching logic changed. +corpus: + records: 460 + nodes: 1465 + edges: 681 + review_status_counts: + needs_research: 14 + pending: 278 + reviewed: 168 +edison: +- community: Geobacter_Methanosaeta_DIET + issue: 1482 + meta_path: /private/tmp/communitymech-batch45/edison/Geobacter_Methanosaeta_DIET-edison-literature-causal-meta.yaml + meta_sha256: 4a99808b7cd4b5ac10be8a8b63dfccb1f4c9e17d315966d3b38d31640867bb1d + query_sha256: e1f4b922bfcf60f8b40c0148c22b31e04c767f7ae8355be74783937c9a074b81 + query_chars: 13233 + job: LITERATURE + status: dry-run + provider_calls: 0 + provider_credits_spent: 0 + authorization: Specific async request pending; no paid run or report. +- community: Geobacter_Methanosarcina_DIET + issue: 1483 + meta_path: /private/tmp/communitymech-batch46/edison/Geobacter_Methanosarcina_DIET-edison-literature-causal-meta.yaml + meta_sha256: 14f5ea6d34fd2772d4721a607cc7321a4a981addce7ae479fa427c5973fe735d + query_sha256: 04978828f6bc783e3d6655b40e8ddc62d7f0eb9b50d1b777e6f770805442996c + query_chars: 13853 + job: LITERATURE + status: dry-run + provider_calls: 0 + provider_credits_spent: 0 + authorization: Specific async request pending; no paid run or report. +limitations: +- Whole 445-line Methanosaeta and 501-line Methanosarcina records and all six nodes/four arrows reviewed. + Complete primary main bodies/Methods/captions read for both 2014 papers and the 2023 T6SS paper. Selected + 2014 Figures 2-5 (Methanosaeta) and 1-3 (Methanosarcina) inspected; no 2023 figure images, separate + supplements, raw data or analysis code audited. +- 'Existing-node/edge repairs only. Both acetate branches remain unimplemented new causal structure under + #1482/#1483; both records remain needs_research. Two separate dry runs spent no credits and produced + no provider reports; specific paid-job authorization remains pending.' +- Canonical taxonomy, all non-graph raw blocks, prior history and all 920 caches are preserved, not certified. + Selected updated Methanosaeta excerpts were independently checked in the actual primary abstract; its + cached composite Content is not certified as a faithful complete abstract. Full copyrighted PDFs remain + temporary, not committed. +- Research began after the batch45 pre-source baseline at batch44 head. Both selected records and caches + are unchanged at the fresh batch46 pre-edit baseline; the latter is not falsely described as preceding + all source reading. +- Reference CLI Total checks counts reported issues, not executed checks. SupportingReference coverage + remains incomplete (#476); DOI cache casing remains a cross-platform limitation (#1091), and textual + matching is not provenance or scientific support (#1362). +- Source-based self-adversarial review is not independent approval; protected-main merge and full-corpus + completion remain pending. diff --git a/reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml b/reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml new file mode 100644 index 000000000..a88b8b558 --- /dev/null +++ b/reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml @@ -0,0 +1,256 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 038ac9ce75c9922efa357610386a34da7a313305 +baseline_commit: 038ac9ce75c9922efa357610386a34da7a313305 +base_tree: 3c84057a0efa0f1ca56f874dd8a7c7fab3ba0b8a +issues: +- 1480 +- 1481 +- 1482 +- 1483 +repair_issues: +- 1480 +- 1481 +open_research_issues: +- 1482 +- 1483 +issue_deduplication: + all_state_issue_titles_and_bodies: 794 + ignored_hidden_local_search: true + relevant_bodies_read: + - 1091 + - 751 + - 306 + local_matching_files: 12 + limitations: Matches include prior render/audit logs and current inventory, not completed source-specific reviews. + Not every comment or PR review inspected. +reference_cache_original_hashes: + references_cache/doi_10.1039_C3EE42189A.md: 49d5dd97f9a4ae9a613f4cee1fb126c322d0bed9ae41ec15715e6b00baf13462 + references_cache/doi_10.1039_C3EE42189A.txt: 3ae93752c8660aa7755dbfe95d4e943228ed4a7226049f30c5a92bfe9e41e4b4 + references_cache/doi_10.1039_C3EE42189A.json: 114f83f2081e7586b73b29531ed2de8fa8eda05cd101fa3a306a54bcb157f9c8 + references_cache/PMID_24837373.txt: 51a1f3c88ee49aba3f391b6341f1d05b5f59c4ffbe3b249237c1b77ae0a28e7c + references_cache/PMID_37650614.txt: f8a5276dd4ad1447a6f1e912e5ef4033039a05c845c1be2bec0dc9a1444f1a87 +pre_source_baseline: + path: /private/tmp/communitymech-batch45/baseline.json + sha256: 1fbc4cd6eac3bc1409a8b8a9111c512119db46daee9d493e26474f74968ba58a + base_commit: 7bdc93828cb9585f0711253d58d7382037207010 + selected_record_and_cache_hashes_match_current: true +edison: +- community: Geobacter_Methanosaeta_DIET + issue: 1482 + meta_path: /private/tmp/communitymech-batch45/edison/Geobacter_Methanosaeta_DIET-edison-literature-causal-meta.yaml + meta_sha256: 4a99808b7cd4b5ac10be8a8b63dfccb1f4c9e17d315966d3b38d31640867bb1d + query_sha256: e1f4b922bfcf60f8b40c0148c22b31e04c767f7ae8355be74783937c9a074b81 + query_chars: 13233 + job: LITERATURE + status: dry-run + provider_calls: 0 + provider_credits_spent: 0 + authorization: Specific async request pending; no paid run or report. +- community: Geobacter_Methanosarcina_DIET + issue: 1483 + meta_path: /private/tmp/communitymech-batch46/edison/Geobacter_Methanosarcina_DIET-edison-literature-causal-meta.yaml + meta_sha256: 14f5ea6d34fd2772d4721a607cc7321a4a981addce7ae479fa427c5973fe735d + query_sha256: 04978828f6bc783e3d6655b40e8ddc62d7f0eb9b50d1b777e6f770805442996c + query_chars: 13853 + job: LITERATURE + status: dry-run + provider_calls: 0 + provider_credits_spent: 0 + authorization: Specific async request pending; no paid run or report. +limitations: +- Whole 445-line Methanosaeta and 501-line Methanosarcina records and all six nodes/four arrows reviewed. Complete + primary main bodies/Methods/captions read for both 2014 papers and the 2023 T6SS paper. Selected 2014 Figures + 2-5 (Methanosaeta) and 1-3 (Methanosarcina) inspected; no 2023 figure images, separate supplements, raw data or + analysis code audited. +- 'Existing-node/edge repairs only. Both acetate branches remain unimplemented new causal structure under #1482/#1483; + both records remain needs_research. Two separate dry runs spent no credits and produced no provider reports; specific + paid-job authorization remains pending.' +- Canonical taxonomy, all non-graph raw blocks, prior history and all 920 caches are preserved, not certified. Selected + updated Methanosaeta excerpts were independently checked in the actual primary abstract; its cached composite + Content is not certified as a faithful complete abstract. Full copyrighted PDFs remain temporary, not committed. +- Research began after the batch45 pre-source baseline at batch44 head. Both selected records and caches are unchanged + at the fresh batch46 pre-edit baseline; the latter is not falsely described as preceding all source reading. +- Reference CLI Total checks counts reported issues, not executed checks. SupportingReference coverage remains incomplete + (#476); DOI cache casing remains a cross-platform limitation (#1091), and textual matching is not provenance or + scientific support (#1362). +- Source-based self-adversarial review is not independent approval; protected-main merge and full-corpus completion + remain pending. +records: +- path: kb/communities/Geobacter_Methanosaeta_DIET.yaml + id: CommunityMech:000032 + original_sha256: 3fc22ecba6b448dd63c54896e119773338b3e331d88be489b54bb1c58277fc6a + record_sha256: 8e194a9177b013c6db3e2dd9b4ed9744f06ca0379116f41a0f4ed62cf1d4fde1 + status: needs_research + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml + scope: Every original node/arrow assessed and repaired; source-supported missing acetate branch explicitly incomplete. + summary: Separate the donor reaction from aggregate formation and methane carbon allocation.; Retain positive + defined-coculture DIET while bounding aggregation and electron-entry claims.; Retain only the CO2 methane route, + explicitly not the missing acetate branch. + renamed_nodes: + Ethanol Oxidation and Direct Electron Transfer: Geobacter Ethanol Oxidation + Conductive Aggregate-Mediated DIET: DIET in Defined Coculture Aggregates + Direct Electron Acceptance and Methanogenesis: DIET-Linked Carbon Dioxide Reduction to Methane + node_decisions: + - node: Geobacter Ethanol Oxidation + rationale: Separate the donor reaction from aggregate formation and methane carbon allocation. + - node: DIET in Defined Coculture Aggregates + rationale: Retain positive defined-coculture DIET while bounding aggregation and electron-entry claims. + - node: DIET-Linked Carbon Dioxide Reduction to Methane + rationale: Retain only the CO2 methane route, explicitly not the missing acetate branch. + removed_node_decisions: [] + edges_before: + - source: Ethanol Oxidation and Direct Electron Transfer + target: Conductive Aggregate-Mediated DIET + description: Ethanol metabolism and extracellular electron transfer by aggregate-associated Geobacter feed the + conductive aggregates where Geobacter and Methanosaeta exchange electrons by DIET. + - source: Conductive Aggregate-Mediated DIET + target: Direct Electron Acceptance and Methanogenesis + description: Conductive-aggregate electron transfer delivers electrons to M. harundinacea for carbon dioxide + reduction to methane. + edges_after: + - source: Geobacter Ethanol Oxidation + target: DIET in Defined Coculture Aggregates + description: Ethanol oxidation releases reducing equivalents that Geobacter supplies to the defined partner + through DIET. This arrow routes electron supply, not acetate carbon, and does not assert that ethanol oxidation + selectively causes aggregate formation. + - source: DIET in Defined Coculture Aggregates + target: DIET-Linked Carbon Dioxide Reduction to Methane + description: DIET supplies electrons for M. harundinacea CO2 reduction to methane, supported by the defined-coculture + radiotracer and pilA comparison. This direction does not allocate acetate-derived methane to the CO2 branch + or establish a particular methanogen entry protein. + retained_edge_decisions: + - source: Geobacter Ethanol Oxidation + target: DIET in Defined Coculture Aggregates + description: Ethanol oxidation releases reducing equivalents that Geobacter supplies to the defined partner + through DIET. This arrow routes electron supply, not acetate carbon, and does not assert that ethanol oxidation + selectively causes aggregate formation. + rationale: Retain defined-coculture electron supply and CO2 reduction, not selective aggregate necessity or + an acetate-carbon route. + - source: DIET in Defined Coculture Aggregates + target: DIET-Linked Carbon Dioxide Reduction to Methane + description: DIET supplies electrons for M. harundinacea CO2 reduction to methane, supported by the defined-coculture + radiotracer and pilA comparison. This direction does not allocate acetate-derived methane to the CO2 branch + or establish a particular methanogen entry protein. + rationale: Retain defined-coculture electron supply and CO2 reduction, not selective aggregate necessity or + an acetate-carbon route. + removed_edge_decisions: [] + references: + - doi:10.1039/C3EE42189A + issues: + - 1480 + - 1482 + repair_issue: 1480 + research_issue: 1482 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Geobacter_Methanosaeta_DIET/2026-10-06T124951Z-codex-b6123c.yaml + source_review: + doi:10.1039/C3EE42189A: + cache: references_cache/doi_10.1039_C3EE42189A.md + url: https://pdfs.semanticscholar.org/d55d/65d23dd2fac1ff913e959526f40f2d7ee5d0.pdf + primary_pdf: /private/tmp/communitymech-batch45/methanosaeta-primary.pdf + primary_sha256: 6932b5512bace814ae2ed86f9cb481ec11fa7f9411659aa02d03759cdb8b72cc + scope: Complete body/Methods/captions; Figures 2-5 inspected from PDF pages4/5. Transparent PNG background + limited body visibility, so body text was separately read. No separate supplements or raw data. Actual abstract + excerpts independently checked. + cache_sha256: 49d5dd97f9a4ae9a613f4cee1fb126c322d0bed9ae41ec15715e6b00baf13462 +- path: kb/communities/Geobacter_Methanosarcina_DIET.yaml + id: CommunityMech:000033 + original_sha256: 3c1a692277d402834b3acc3d529d8abe87a2afe7a0ae03027aae66eff187a543 + record_sha256: b6b5f1714e6692936ca408e74dba44df4cbb9518a258c7c7203425998c2979e0 + status: needs_research + outcome: changed + review_file: reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml + scope: Every original node/arrow assessed and repaired; source-supported missing acetate branch explicitly incomplete. + summary: Retain donor-to-partner DIET and condition-dependent pili/GAC evidence; correct the donor carbon reaction.; + Bound the existing methane node to CO2 reduction without universal uniqueness or DIET-only growth.; Retain the + exact hcp-lag phenotype and hypothetical negative arrow without niche partitioning, secretion or killing claims. + renamed_nodes: + Direct Electron Acceptance and Methanogenesis: DIET-Linked Carbon Dioxide Reduction to Methane + T6SS-Associated Delay of DIET Establishment: Hcp-Associated Delay of DIET Establishment + node_decisions: + - node: Ethanol Oxidation and Direct Electron Transfer + rationale: Retain donor-to-partner DIET and condition-dependent pili/GAC evidence; correct the donor carbon + reaction. + - node: DIET-Linked Carbon Dioxide Reduction to Methane + rationale: Bound the existing methane node to CO2 reduction without universal uniqueness or DIET-only growth. + - node: Hcp-Associated Delay of DIET Establishment + rationale: Retain the exact hcp-lag phenotype and hypothetical negative arrow without niche partitioning, secretion + or killing claims. + removed_node_decisions: [] + edges_before: + - source: Ethanol Oxidation and Direct Electron Transfer + target: Direct Electron Acceptance and Methanogenesis + description: Electrons transferred via DIET are accepted by M. barkeri for methanogenesis + - source: T6SS-Associated Delay of DIET Establishment + target: Ethanol Oxidation and Direct Electron Transfer + description: NEGATIVE edge - the wild-type T6SS-expressing state of G. metallireducens delays establishment + of the DIET partnership (>30 d lag vs very little lag for the Hcp-deficient mutant). Demonstrated by knockout + phenotype in this exact coculture, but the mutant is pleiotropic, so the causal attribution to the T6SS specifically + is HYPOTHESIZED rather than proven. + edges_after: + - source: Ethanol Oxidation and Direct Electron Transfer + target: DIET-Linked Carbon Dioxide Reduction to Methane + description: DIET delivers ethanol-derived electrons to M. barkeri for CO2 reduction. This electron-supply arrow + supports the CO2 route, not an attribution of all bulk methane to that route; acetate conversion is a separate + missing branch. + - source: Hcp-Associated Delay of DIET Establishment + target: Ethanol Oxidation and Direct Electron Transfer + description: 'HYPOTHESIZED NEGATIVE: The wild-type Hcp/T6SS-associated state may delay DIET establishment relative + to the hcp deletion strain. The exact coculture demonstrates a lag difference, but altered electron-transfer + physiology prevents assigning the delay selectively to T6SS antagonism. The sign refers to establishment timing, + not proven archaeal killing.' + retained_edge_decisions: + - source: Ethanol Oxidation and Direct Electron Transfer + target: DIET-Linked Carbon Dioxide Reduction to Methane + description: DIET delivers ethanol-derived electrons to M. barkeri for CO2 reduction. This electron-supply arrow + supports the CO2 route, not an attribution of all bulk methane to that route; acetate conversion is a separate + missing branch. + rationale: Retain the bounded source-backed electron-supply direction; the hcp-associated negative direction + remains explicitly HYPOTHESIZED and pleiotropy-limited. + - source: Hcp-Associated Delay of DIET Establishment + target: Ethanol Oxidation and Direct Electron Transfer + description: 'HYPOTHESIZED NEGATIVE: The wild-type Hcp/T6SS-associated state may delay DIET establishment relative + to the hcp deletion strain. The exact coculture demonstrates a lag difference, but altered electron-transfer + physiology prevents assigning the delay selectively to T6SS antagonism. The sign refers to establishment timing, + not proven archaeal killing.' + rationale: Retain the bounded source-backed electron-supply direction; the hcp-associated negative direction + remains explicitly HYPOTHESIZED and pleiotropy-limited. + removed_edge_decisions: [] + references: + - PMID:24837373 + - PMID:37650614 + issues: + - 1481 + - 1483 + repair_issue: 1481 + research_issue: 1483 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Geobacter_Methanosarcina_DIET/2026-10-06T124951Z-codex-59a839.yaml + source_review: + PMID:24837373: + cache: references_cache/PMID_24837373.txt + url: https://protocols-files.s3.amazonaws.com/public/34a1ee6658ca764b1316f8c5129dedd263745006c6d75e75787d4763edf5ff16/bt5vbabx7.pdf + primary_pdf: /private/tmp/communitymech-batch45/methanosarcina-primary.pdf + primary_sha256: d6dd4a4309296ad0a611f3eaa8689a6561c3a6a5190431db871d3eabe6d9db77 + scope: Complete body/Methods/captions from PDF pages1-5; Figures1-3 inspected. Pypdf escaped some math glyphs; + page4 JPEG inspected with white background. Gmet1868 Figure3b has residual methane, so no new zero-activity + claim. No Figure4 image, supplement or raw-data audit. + cache_sha256: 51a1f3c88ee49aba3f391b6341f1d05b5f59c4ffbe3b249237c1b77ae0a28e7c + PMID:37650614: + cache: references_cache/PMID_37650614.txt + scope: Complete appended main body/Methods/Table1/captions read. No figure images, separate supplements, raw + data or code inspected. + cache_sha256: f8a5276dd4ad1447a6f1e912e5ef4033039a05c845c1be2bec0dc9a1444f1a87 diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index 8372be4d8..c2dcb04f4 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -181,8 +181,8 @@ kb/communities/GLBRC_UFMP_Fermentation_Community.yaml CommunityMech:000029 0cd65 kb/communities/GOM_Oil_Degrading_Consortium.yaml CommunityMech:000030 90d4d45224abfc9829feb8fd1cabde320c410a7a843ea3410c89dda4852cc299 3 0 65.0 reports/causal_graph_review/decisions/20261006-three-records-batch44.yaml reviewed kb/communities/Garlic_Pseudomonas_SynCom6.yaml CommunityMech:000095 0052209591a0d6d3e106ad27feaca9dde69645f9725f01ba63e41ebeb5c5c59c 1 0 65.0 reports/causal_graph_review/decisions/20261006-three-records-batch44.yaml reviewed kb/communities/Geobacter_Clostridium_Interspecies_Electron_Transfer_Coculture.yaml CommunityMech:000031 2bfa8ffd6b7d147f3c471eb88aa26482f93b0cc8d7b23dc39838402715463329 2 1 75.0 reports/causal_graph_review/decisions/20261006-clostridium-batch45.yaml reviewed -kb/communities/Geobacter_Methanosaeta_DIET.yaml CommunityMech:000032 3fc22ecba6b448dd63c54896e119773338b3e331d88be489b54bb1c58277fc6a 3 2 100.0 pending -kb/communities/Geobacter_Methanosarcina_DIET.yaml CommunityMech:000033 3c1a692277d402834b3acc3d529d8abe87a2afe7a0ae03027aae66eff187a543 3 2 100.0 pending +kb/communities/Geobacter_Methanosaeta_DIET.yaml CommunityMech:000032 8e194a9177b013c6db3e2dd9b4ed9744f06ca0379116f41a0f4ed62cf1d4fde1 3 2 93.3 reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml needs_research +kb/communities/Geobacter_Methanosarcina_DIET.yaml CommunityMech:000033 b6b5f1714e6692936ca408e74dba44df4cbb9518a258c7c7203425998c2979e0 3 2 91.7 reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml needs_research kb/communities/Geobacter_Pseudomonas_Formate_Fumarate_Electroactive_Coculture.yaml CommunityMech:000201 dbef08d1731c382db77222a55e9b0ea021f739c52993a737a73b35007e328fb4 4 2 100.0 pending kb/communities/Ginseng_CL95_Rusty_Root_Rot_Biocontrol_SynCom.yaml CommunityMech:000376 358bc325cdc09b37c2cb283713c5db68fd01c3bb70575abf798b0bd9b184e5f7 3 1 90.0 pending kb/communities/Glutamicibacter_S11_Aquaculture_Nitrogen_Removal_SynCom.yaml CommunityMech:000411 c7f789620656b6c7973c5f27bff6b6fd11f024a978c803e45bdb17ea65c731e0 1 0 65.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index f4e2527d2..04f737b35 100644 --- a/reports/causal_graph_review/summary.json +++ b/reports/causal_graph_review/summary.json @@ -7,8 +7,8 @@ "records_without_nodes": 8, "records_without_edges": 148, "review_status_counts": { - "needs_research": 12, - "pending": 280, + "needs_research": 14, + "pending": 278, "reviewed": 168 }, "structural_defects": [], diff --git a/reports/causal_graph_review/validation-20261006-batch46.json b/reports/causal_graph_review/validation-20261006-batch46.json new file mode 100644 index 000000000..d56109ce0 --- /dev/null +++ b/reports/causal_graph_review/validation-20261006-batch46.json @@ -0,0 +1,688 @@ +{ + "base_commit": "038ac9ce75c9922efa357610386a34da7a313305", + "scope": [ + "kb/communities/Geobacter_Methanosaeta_DIET.yaml", + "kb/communities/Geobacter_Methanosarcina_DIET.yaml" + ], + "reference_validator_version": "0.1.7", + "results": [ + { + "check": "Geobacter_Methanosaeta_DIET-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Geobacter_Methanosaeta_DIET.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosaeta_DIET-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Geobacter_Methanosaeta_DIET-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch46/Geobacter_Methanosaeta_DIET-strict.tsv", + "kb/communities/Geobacter_Methanosaeta_DIET.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosaeta_DIET-strict.log", + "log_sha256": "ea47aaf30be22573c917da2e8f61334ec735cef04fd7fd080d6f433c2490e551", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch46/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-batch46/Geobacter_Methanosaeta_DIET-strict.tsv\n" + }, + { + "check": "Geobacter_Methanosaeta_DIET-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Geobacter_Methanosaeta_DIET.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosaeta_DIET-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Geobacter_Methanosaeta_DIET-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Geobacter_Methanosaeta_DIET.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosaeta_DIET-references.log", + "log_sha256": "34506e06083e4a778c6f51e6db0c0b9313bced81ed8f85c1474f22556fb2322e", + "output_tail": "Validating kb/communities/Geobacter_Methanosaeta_DIET.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/Geobacter_Methanosaeta_DIET.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": "Geobacter_Methanosaeta_DIET-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Geobacter_Methanosaeta_DIET.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosaeta_DIET-snippets.log", + "log_sha256": "389f1d2b093a1648cf407d53853e429a283f80eed2628a1a14cf1f38649ca780", + "output_tail": "# 12 evidence snippets scanned across 1 files\n MATCH 12\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Geobacter_Methanosaeta_DIET-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Geobacter_Methanosaeta_DIET.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosaeta_DIET-rank.log", + "log_sha256": "3989fd2e2192ecbe77f139e9d890eb1bbd203e230f4cb5963985035d9b2c3c87", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000032\",\n \"name\": \"Geobacter-Methanosaeta DIET Community\",\n \"score\": 93.3,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Geobacter_Methanosaeta_DIET.yaml\"\n }\n]\n" + }, + { + "check": "Geobacter_Methanosaeta_DIET-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Geobacter_Methanosaeta_DIET/2026-10-06T124951Z-codex-b6123c.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosaeta_DIET-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Geobacter_Methanosarcina_DIET-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Geobacter_Methanosarcina_DIET.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosarcina_DIET-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Geobacter_Methanosarcina_DIET-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch46/Geobacter_Methanosarcina_DIET-strict.tsv", + "kb/communities/Geobacter_Methanosarcina_DIET.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosarcina_DIET-strict.log", + "log_sha256": "74655e80049b58ea02320192d17b1bb64d6126440e602b044c7f5061b8a75080", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch46/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-batch46/Geobacter_Methanosarcina_DIET-strict.tsv\n" + }, + { + "check": "Geobacter_Methanosarcina_DIET-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Geobacter_Methanosarcina_DIET.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosarcina_DIET-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Geobacter_Methanosarcina_DIET-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Geobacter_Methanosarcina_DIET.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosarcina_DIET-references.log", + "log_sha256": "7fe4ff7fa3b6ec948d16133b9834902114e3ebd4655947ee0f54a8a34fa41297", + "output_tail": "Validating kb/communities/Geobacter_Methanosarcina_DIET.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/Geobacter_Methanosarcina_DIET.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": "Geobacter_Methanosarcina_DIET-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Geobacter_Methanosarcina_DIET.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosarcina_DIET-snippets.log", + "log_sha256": "8084678f5cf248d78dd90bd74538a6320ef0dcc9940ae3e5b5f759e13588ade6", + "output_tail": "# 19 evidence snippets scanned across 1 files\n MATCH 19\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Geobacter_Methanosarcina_DIET-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Geobacter_Methanosarcina_DIET.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosarcina_DIET-rank.log", + "log_sha256": "1c75003af31d8c20384e2d1c7d4083b509f6c701c77c4f2a5b606e30196d021c", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000033\",\n \"name\": \"Geobacter-Methanosarcina DIET Community\",\n \"score\": 91.7,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 8,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Geobacter_Methanosarcina_DIET.yaml\"\n }\n]\n" + }, + { + "check": "Geobacter_Methanosarcina_DIET-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Geobacter_Methanosarcina_DIET/2026-10-06T124951Z-codex-59a839.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/Geobacter_Methanosarcina_DIET-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-batch46/inventory.log", + "log_sha256": "096faa2cec5fe9cf77ddcc46dbdcd18764cf77e1e31faeaf7edcf83118ebbb34", + "output_tail": "{\n \"scope\": \"Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.\",\n \"semantic_review_rule\": \"Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.\",\n \"records\": 460,\n \"nodes\": 1465,\n \"edges\": 681,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 148,\n \"review_status_counts\": {\n \"needs_research\": 14,\n \"pending\": 278,\n \"reviewed\": 168\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-batch46/network.log", + "log_sha256": "71a1e46fdd5d7c44e1766fabc85efb996c70258e3e64018891cfa94bb22fb13e", + "output_tail": "{\n \"preferred_term\": \"Legionella MAGs\",\n \"term\": {\n \"id\": \"NCBITaxon:445\",\n \"label\": \"Legionella\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The study detected Legionella-affiliated MAGs and used them in a virulence-gene risk assessment; the source did not assert pathogenicity for a cultured Legionella isolate.\\n\"\n },\n \"abundance_value\": \"Lower-abundance Legionella-affiliated MAGs detected during metagenomic risk assessment.\\n\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41457319\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"COMPUTATIONAL\",\n \"snippet\": \"detection of waterborne pathogens from the Legionella genus\",\n \"explanation\": \"Supports Legionella-affiliated lower-abundance bins as monitored biosafety-relevant members of the consortium.\\n\"\n }\n ]\n },\n \"message\": \"Taxon 'Legionella MAGs' has no interactions\"\n }\n ],\n \"Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom\": [\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Twelve-Strain SynCom Suppression of Sclerotinia Sclerotia\",\n \"interaction_index\": 0,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Trinickia MC Key Contribution to Sclerotia Mortality\",\n \"interaction_index\": 1,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Space_Habitat_SevenMember_Stress_Tolerance_SynCom\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Acinetobacter radioresistens 50V1\",\n \"taxon_id\": \"NCBITaxon:40216\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Acinetobacter radioresistens 50V1\",\n \"term\": {\n \"id\": \"NCBITaxon:40216\",\n \"label\": \"Acinetobacter radioresistens\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate came from the preflight Mars Odyssey Orbiter; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"50V1\",\n \"genome_accession\": \"GCA_002834555.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Acinetobacter radioresistens | 50V1 | Preflight Mars Odyssey Orbiter | \\u2013 | Mccoy et al., 2012 | GCA_002834555.1 | TSYB/TSYA | 37 \\u00b0C | 16\\u201318 h\",\n \"explanation\": \"Identifies A. radioresistens 50V1 as a consortium member and gives its spacecraft-associated source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Acinetobacter radioresistens 50V1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Micrococcus luteus W4-Al-K1\",\n \"taxon_id\": \"NCBITaxon:1270\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Micrococcus luteus W4-Al-K1\",\n \"term\": {\n \"id\": \"NCBITaxon:1270\",\n \"label\": \"Micrococcus luteus\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from an ISS aluminum-case touch array; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"W4-Al-K1\",\n \"genome_accession\": \"GCA_057816565.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Micrococcus luteus | W4-Al-K1 | ISS, Touch Array Aluminum Case | - | Kr\\u00e4mer et al., 2025 | GCA_057816565.1 | NB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies M. luteus W4-Al-K1 as a consortium member and gives its ISS source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Micrococcus luteus W4-Al-K1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"taxon_id\": \"NCBITaxon:64702\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"term\": {\n \"id\": \"NCBITaxon:64702\",\n \"label\": \"Propionibacterium cyclohexanicum\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. cyclohexanicum type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"TA-12T\",\n \"genome_accession\": \"GCA_900111365\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"16859\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Propionibacterium cyclohexanicum | TA-12 T | Spoilt Orange Juice | DSM 16859 T | Kusano et al., 1997 | GCA_900111365 | BHI, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies P. cyclohexanicum TA-12T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Propionibacterium cyclohexanicum TA-12T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas antarctica CMS 35T\",\n \"taxon_id\": \"NCBITaxon:219572\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas antarctica CMS 35T\",\n \"term\": {\n \"id\": \"NCBITaxon:219572\",\n \"label\": \"Pseudomonas antarctica\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. antarctica type strain as a biosafety-level-1 Pseudomonas surrogate.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"CMS 35T\",\n \"genome_accession\": \"GCA_010634845\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"15318\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pseudomonas antarctica | CMS 35 T | Antarctica | DSM 15318 T | Reddy et al., 2004 | GCA_010634845 | TSYB/TSYA | Ambient | 12\\u201316 h\",\n \"explanation\": \"Identifies P. antarctica CMS 35T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "check": "rank-all", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/rank-all.log", + "log_sha256": "1507e9b330d05cd3b05d46a80e5e4fd68cfa7c01b2cf838fc341231a2998cc7a", + "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-batch46/render.log", + "log_sha256": "fb983ee0ab0886e62556c697cdb7129d52ea7939a7e257d0f11afeab9c4d3733", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch46/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch46/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch46/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-batch46/render-repeat.log", + "log_sha256": "fb983ee0ab0886e62556c697cdb7129d52ea7939a7e257d0f11afeab9c4d3733", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch46/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch46/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch46/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch46/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-batch45')), ('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-batch46/connectivity-survey.log", + "log_sha256": "b28cfbfa9c9d1c531ab7998c2146482d1b4c9b66d1d4876f30de4f7ddaeab904", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 388, \"mixed\": 125, \"community_level_only\": 263, \"taxa\": 1496, \"credited_solely_by_the_rule\": 1223}, \"current\": {\"records\": 460, \"with_community_level\": 388, \"mixed\": 125, \"community_level_only\": 263, \"taxa\": 1496, \"credited_solely_by_the_rule\": 1223}}\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_batch5.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch9.py", + "tests/test_site_audit_fixes.py", + "tests/test_causal_review_inventory.py", + "tests/test_rank_causal_graph_readiness.py", + "tests/test_network_auditor.py", + "tests/test_participating_taxa.py", + "tests/test_causal_descriptions_are_published.py", + "tests/test_published_pages_name_real_records.py", + "tests/test_reference_validator_actually_validates.py", + "tests/test_snippet_audit_artefact_classes.py", + "tests/test_reference_error_annotation.py", + "tests/test_community_level_connectivity_credit.py", + "tests/test_no_paywalled_text_in_repo.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/regressions.log", + "log_sha256": "40470c3c4377e5e721c5fd593bd1d23c10cf802c8b0a379e4e26f09f287ea1ed", + "output_tail": "........................................................................ [ 15%]\n........................................................................ [ 31%]\n........................................................................ [ 46%]\n........................................................................ [ 62%]\n........................................................................ [ 78%]\n........................................................................ [ 93%]\n............................. [100%]\n461 passed in 211.31s (0:03:31)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch46.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/black.log", + "log_sha256": "1a56c7cd8457fd05d978cfbd139d7bfd86e86acaa9b57668e718ef8bccc0cf48", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n1 file would be left unchanged.\n" + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch46.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch46/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-batch46/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + } + ], + "limitations": [ + "Whole 445-line Methanosaeta and 501-line Methanosarcina records and all six nodes/four arrows reviewed. Complete primary main bodies/Methods/captions read for both 2014 papers and the 2023 T6SS paper. Selected 2014 Figures 2-5 (Methanosaeta) and 1-3 (Methanosarcina) inspected; no 2023 figure images, separate supplements, raw data or analysis code audited.", + "Existing-node/edge repairs only. Both acetate branches remain unimplemented new causal structure under #1482/#1483; both records remain needs_research. Two separate dry runs spent no credits and produced no provider reports; specific paid-job authorization remains pending.", + "Canonical taxonomy, all non-graph raw blocks, prior history and all 920 caches are preserved, not certified. Selected updated Methanosaeta excerpts were independently checked in the actual primary abstract; its cached composite Content is not certified as a faithful complete abstract. Full copyrighted PDFs remain temporary, not committed.", + "Research began after the batch45 pre-source baseline at batch44 head. Both selected records and caches are unchanged at the fresh batch46 pre-edit baseline; the latter is not falsely described as preceding all source reading.", + "Reference CLI Total checks counts reported issues, not executed checks. SupportingReference coverage remains incomplete (#476); DOI cache casing remains a cross-platform limitation (#1091), and textual matching is not provenance or scientific support (#1362).", + "Source-based self-adversarial review is not independent approval; protected-main merge and full-corpus completion remain pending.", + "HTML descriptions checked by exact parser and repeat renders, not browser screenshots. Post-commit docs-current is a separate publication gate.", + "CLI Total checks counts reported issues, not executed checks. Both local runs exited0; this does not certify Linux DOI-cache lookup (#1091), SupportingReference coverage (#476), independent cache provenance (#1362) or scientific support." + ], + "snippet_counts_by_record": { + "kb/communities/Geobacter_Methanosaeta_DIET.yaml": { + "MATCH": 12, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Geobacter_Methanosarcina_DIET.yaml": { + "MATCH": 19, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "unchanged_raw_blocks": 30, + "unchanged_record_files": 458, + "unchanged_cache_files": 920, + "network_delta": { + "existing_findings_preserved": 34, + "added_findings": {}, + "removed_findings": {} + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1451, + "arrows": 673 + }, + "participant_census": { + "measurements": { + "baseline": { + "records": 460, + "with_community_level": 388, + "mixed": 125, + "community_level_only": 263, + "taxa": 1496, + "credited_solely_by_the_rule": 1223 + }, + "current": { + "records": 460, + "with_community_level": 388, + "mixed": 125, + "community_level_only": 263, + "taxa": 1496, + "credited_solely_by_the_rule": 1223 + } + }, + "interpretation": "Canonical endpoints and participants preserved; registry remains 194. No census bounds or production matching logic changed." + }, + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1465, + "edges": 681, + "records_without_nodes": 8, + "records_without_edges": 148, + "review_status_counts": { + "needs_research": 14, + "pending": 278, + "reviewed": 168 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml": "655c8cf5bb1a6c8810c2afad82fb0083fe651ed4a72642857547fbe9483a2272", + "tests/test_causal_review_batch46.py": "83a759a575d1d3eaec5043dd25f2fd74a69939cbacf5cd32c7b1b3eff6b264cc", + "kb/communities/Geobacter_Methanosaeta_DIET.yaml": "8e194a9177b013c6db3e2dd9b4ed9744f06ca0379116f41a0f4ed62cf1d4fde1", + "kb/communities/Geobacter_Methanosarcina_DIET.yaml": "b6b5f1714e6692936ca408e74dba44df4cbb9518a258c7c7203425998c2979e0", + "reports/causal_graph_review/README.md": "5ff428c05ffa0e218a58ab54d3551d32176e41a127fe0681fc19438d71f30ff2" + }, + "status": "verified_methanogen_repairs_extensions_pending", + "reference_validator_caveat": "CLI Total checks counts reported issues, not executed checks. Both local runs exited0; this does not certify Linux DOI-cache lookup (#1091), SupportingReference coverage (#476), independent cache provenance (#1362) or scientific support.", + "pre_edit_baseline": { + "base_commit": "038ac9ce75c9922efa357610386a34da7a313305", + "base_tree": "3c84057a0efa0f1ca56f874dd8a7c7fab3ba0b8a", + "research_worktree": "/private/tmp/communitymech-causal-batch45", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch46/baseline-rank.log", + "sha256": "98b6e120a953c9bbac34d30ce25284de78649efdfcee03dffaf3df3e6cfffb93", + "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-batch46/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-batch46/baseline-network.log", + "sha256": "71a1e46fdd5d7c44e1766fabc85efb996c70258e3e64018891cfa94bb22fb13e", + "output_tail": " \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "name": "downstream", + "command": [ + "rg", + "--no-ignore", + "--hidden", + "-n", + "downstream:", + "kb/communities", + "data/isolates", + "--glob", + "*.yaml" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch46/baseline-downstream.log", + "sha256": "094f83f05058c6159432ce2029a3af8a578a28bc5b07a4f1784d48f29c801f12", + "output_tail": "um_EPS_SynCom.yaml:183: 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/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml:223: downstream:\nkb/communities/Methylotuvimicrobium_Synechococcus_Gas_Feedstock_Coculture.yaml:157: downstream:\nkb/communities/Methylotuvimicrobium_Synechococcus_Gas_Feedstock_Coculture.yaml:203: downstream:\nkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml:342: downstream:\nkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml:381: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:199: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:267: downstream:\nkb/communities/PMI_Variovorax_Thermotolerance_Collection.yaml:330: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:268: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:315: downstream:\nkb/communities/SMutans_VParvula_ASC_Biofilm.yaml:131: downstream:\nkb/communities/SMutans_VParvula_ASC_Biofilm.yaml:179: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:65: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:98: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:131: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:155: downstream:\nkb/communities/Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml:285: downstream:\nkb/communities/Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml:324: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:207: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:249: downstream:\nkb/communities/Deepwater_Horizon_Deep_Sea_Oil_Plume_Succession.yaml:197: downstream:\nkb/communities/Deepwater_Horizon_Deep_Sea_Oil_Plume_Succession.yaml:241: downstream:\n" + } + ], + "baseline_sha256": "c305c9ea9d6339450b6bd645e7bdda56ad849857990b0a5688bf141640289945" + }, + "pre_source_baseline": { + "base_commit": "7bdc93828cb9585f0711253d58d7382037207010", + "base_tree": "ae873b509fa12c69970cbafa96265ab9d55b8eb5", + "research_worktree": "/private/tmp/communitymech-causal-batch44", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch45/baseline-rank.log", + "sha256": "ce6fef3958bc7649c0383bc1c7d39608bf5d44e524e4a22a24d7c0a287d8267b", + "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-batch45/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-batch45/baseline-network.log", + "sha256": "71a1e46fdd5d7c44e1766fabc85efb996c70258e3e64018891cfa94bb22fb13e", + "output_tail": " \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "name": "downstream", + "command": [ + "rg", + "--no-ignore", + "--hidden", + "-n", + "downstream:", + "kb/communities", + "data/isolates", + "--glob", + "*.yaml" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch45/baseline-downstream.log", + "sha256": "0fc94c13bb307f3165477cfe9e0857808f63b133314aa5013d142ee1af1183cc", + "output_tail": "7: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:249: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:311: downstream:\nkb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml:365: downstream:\nkb/communities/Shewanella_Streptococcus_Starch_Microbial_Fuel_Cell.yaml:140: downstream:\nkb/communities/Shewanella_Streptococcus_Starch_Microbial_Fuel_Cell.yaml:221: downstream:\nkb/communities/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml:104: downstream:\nkb/communities/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml:127: 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/Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml:285: downstream:\nkb/communities/Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml:324: downstream:\nkb/communities/Lake_Washington_Methane_Oxygen_Methylotroph_Community.yaml:336: downstream:\nkb/communities/Ferroplasma_Leptospirillum_Syntrophy.yaml:125: downstream:\nkb/communities/KBase_ORT_Workflow_Community_Model.yaml:170: downstream:\nkb/communities/KBase_ORT_Workflow_Community_Model.yaml:261: downstream:\nkb/communities/Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.yaml:98: downstream:\nkb/communities/Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.yaml:155: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:135: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:177: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:295: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:339: downstream:\nkb/communities/High_Ammonia_Biogas_0B_Butyrate_Oxidizing_Enrichment.yaml:233: downstream:\nkb/communities/Groundwater_Elusimicrobia_Diverse_Metabolisms.yaml:96: downstream:\n" + } + ], + "baseline_sha256": "1fbc4cd6eac3bc1409a8b8a9111c512119db46daee9d493e26474f74968ba58a" + } +} diff --git a/tests/test_causal_review_batch46.py b/tests/test_causal_review_batch46.py new file mode 100644 index 000000000..3362caf50 --- /dev/null +++ b/tests/test_causal_review_batch46.py @@ -0,0 +1,116 @@ +"""Keep positive DIET evidence, exact systems and unfinished acetate branches distinct.""" + +import hashlib +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261006-methanogens-batch46.yaml" + + +def records(): + ledger = yaml.safe_load(LEDGER.read_text()) + return ledger, [yaml.safe_load((ROOT / r["path"]).read_text()) for r in ledger["records"]] + + +def test_methanosaeta_uses_defined_coculture_evidence_without_aggregate_necessity(): + _, (doc, _) = records() + donor, transfer, methane = doc["ecological_interactions"] + assert donor["name"] == "Geobacter Ethanol Oxidation" + assert "not a claim" in donor["description"] + assert "Aggregate formation itself was not selectively perturbed" in transfer["description"] + assert "Methanosaeta concilii" in transfer["description"] + assert "methanogen electron-entry components remain unresolved" in transfer["description"] + assert "roughly one-third" in methane["description"] + assert "not all methane" in methane["description"] + assert "missing acetate branch" in methane["description"] + assert donor["downstream"][0]["target"] == transfer["name"] + assert transfer["downstream"][0]["target"] == methane["name"] + assert "not acetate carbon" in donor["downstream"][0]["description"] + assert "interaction_type" not in donor and "interaction_type" not in methane + assert transfer["interaction_type"] == "SYNTROPHY" + for node in doc["ecological_interactions"]: + assert node["evidence"][0]["supports"] == "SUPPORT" + assert "most abundant bacteria" not in node["evidence"][0]["snippet"] + + +def test_resolving_source_access_does_not_complete_the_missing_branch(): + ledger, (doc, _) = records() + resolved, mechanism, todo = doc["discussions"] + assert resolved["discussion_id"] == "kg-geobacter-methanosaeta-acetate-route-unresolved" + assert resolved["status"] == "RESOLVED" + assert resolved["resolved_date"] == "2026-10-06" + assert "#1482" in resolved["resolution_note"] + assert "does not mark the graph complete" in resolved["resolution_note"] + assert mechanism["kind"] == "KNOWLEDGE_GAP" and mechanism["status"] == "OPEN" + assert todo["kind"] == "CURATION_TODO" and todo["status"] == "OPEN" + names = {n["name"] for n in doc["ecological_interactions"]} + for discussion in doc["discussions"]: + assert all(a.split("#", 1)[1] in names for a in discussion["attaches_to"]) + assert ledger["records"][0]["status"] == "needs_research" + + +def test_methanosarcina_preserves_positive_diet_without_total_methane_overclaim(): + _, (_, doc) = records() + donor, methane, _ = doc["ecological_interactions"] + assert "oxidizes ethanol to acetate" in donor["description"] + assert "condition-dependent" in donor["description"] + assert "granular activated carbon" in donor["description"] + assert "not an isotope measurement" in methane["description"] + assert "historical, not timeless uniqueness" in methane["description"] + assert "proposed for future testing" in methane["description"] + assert donor["downstream"][0]["target"] == methane["name"] + assert donor["evidence"][0]["supports"] == "SUPPORT" + assert methane["participating_taxa"][1]["term"] == doc["taxonomy"][1]["taxon_term"]["term"] + + +def test_hcp_phenotype_is_not_niche_partitioning_secretion_or_selective_antagonism(): + _, (_, doc) = records() + donor, _, hcp = doc["ecological_interactions"] + assert hcp["name"] == "Hcp-Associated Delay of DIET Establishment" + for field in ["interaction_type", "source_taxon", "biological_processes"]: + assert field not in hcp + assert "G. sulfurreducens partner, not M. barkeri" in hcp["description"] + assert "expose pleiotropy" in hcp["description"] + assert "protein secretion or killing was not measured" in hcp["description"] + arrow = hcp["downstream"][0] + assert arrow["description"].startswith("HYPOTHESIZED NEGATIVE:") + assert arrow["target"] == donor["name"] + assert "establishment timing" in arrow["description"] + assert [e["supports"] for e in hcp["evidence"]] == ["SUPPORT"] * 3 + ["PARTIAL"] + assert "different medium" in doc["discussions"][0]["rationale"] + assert "radiotracer results must not be imported" in doc["discussions"][0]["rationale"] + + +def test_every_existing_node_and_arrow_has_a_decision_but_expansion_is_open(): + ledger, docs = records() + assert ledger["review_mode"] == "source_based_self_adversarial_review" + assert ledger["independent_approval"] is False + assert ledger["repair_issues"] == [1480, 1481] + assert ledger["open_research_issues"] == [1482, 1483] + assert sum(len(r["node_decisions"]) for r in ledger["records"]) == 6 + assert sum(len(r["retained_edge_decisions"]) for r in ledger["records"]) == 4 + for row, doc in zip(ledger["records"], docs, strict=True): + assert row["status"] == "needs_research" + assert not row["removed_node_decisions"] and not row["removed_edge_decisions"] + assert len(row["edges_before"]) == len(row["edges_after"]) == 2 + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + assert len(row["history_files"]) == 1 and (ROOT / row["history_files"][0]).is_file() + assert doc["curation_history"][-1]["llm_assisted"] is True + assert doc["discussions"][-1]["kind"] == "CURATION_TODO" + + +def test_sources_and_separate_dry_runs_do_not_claim_paid_reports(): + ledger, _ = records() + assert ledger["issue_deduplication"]["ignored_hidden_local_search"] is True + assert ledger["pre_source_baseline"]["selected_record_and_cache_hashes_match_current"] + for path, digest in ledger["reference_cache_original_hashes"].items(): + assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest + assert [d["query_chars"] for d in ledger["edison"]] == [13233, 13853] + for dryrun in ledger["edison"]: + assert dryrun["status"] == "dry-run" + assert dryrun["provider_calls"] == dryrun["provider_credits_spent"] == 0 + assert len(dryrun["meta_sha256"]) == len(dryrun["query_sha256"]) == 64 + assert any("non-graph raw blocks" in s for s in ledger["limitations"]) + assert any("#1091" in s for s in ledger["limitations"])