diff --git a/docs/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.html b/docs/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.html index 615968850..8755de28d 100644 --- a/docs/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.html +++ b/docs/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.html @@ -754,7 +754,7 @@

Ecological Interactions

Ecological interaction network for Propanotrophic Chlorinated Ethene Cometabolism Enrichment Cultures - 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 (cross-feeding, competition). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
@@ -762,13 +762,8 @@

Ecological Interactions

Cross-feeding -
-
- Competition + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -776,14 +771,11 @@

Ecological Interactions

-

Propane-Cometabolic TCE Degradation by Rhodococcus

- CROSS_FEEDING +

TCE Removal in Rhodococcus-Dominated Enrichments

-

Rhodococcus opacus and R. wratislaviensis populations dominate TCE-amended enrichments and degrade TCE while propane is supplied as the growth substrate. The Rhodococcus MAGs carry the group-5 propane monooxygenase operon (prmABCD); functional gene analysis identified both group 5 and putative group 6 propane monooxygenases in the community but expression was not examined, so the specific enzyme responsible for TCE oxidation in vivo is not directly demonstrated.

+

Propane-enriched mixed cultures sustained TCE degradation and were dominated by Rhodococcus; recovered MAGs were classified as R. opacus or R. wratislaviensis. PARTIAL: abundance and monooxygenase genes do not assign the measured community transformation to a particular taxon or enzyme. Gene expression was not examined.

-

Source Taxon: Rhodococcus opacus

-

Participating Taxa: @@ -860,13 +852,10 @@

Evidence

-

Propane-Cometabolic cDCE Degradation by Mycolicibacterium and Mycobacterium

- CROSS_FEEDING +

cDCE Removal in Mycobacterium and Mycolicibacterium Enrichments

-

Mycolicibacterium dominates and Mycobacterium follows in all four cDCE-amended enrichments; both genera carry propane monooxygenase operons (with prmACDB ordering for the Mycobacterium MAGs, suggestive of group-6 SDIMOs) that drive cometabolic cDCE oxidation while propane is the growth substrate.

- +

Propane-enriched mixed cultures sustained cDCE degradation and were dominated by Mycobacterium and Mycolicibacterium. PARTIAL: genus abundance does not establish which organisms or enzymes performed the community transformation. The accessible abstract does not establish an interspecies transfer route.

-

Source Taxon: Mycolicibacterium

@@ -932,10 +921,8 @@

Evidence

Substrate-Specific Selection Across Chlorinated Ethenes

- COMPETITION
-

cDCE, TCE, and 1,1-DCE select for taxonomically distinct propanotrophic guilds within the same starting inocula: cDCE selects for Mycolicibacterium/Mycobacterium, TCE selects for Rhodococcus, and 1,1-DCE re-selects for Pseudonocardia. This is competition mediated by differential tolerance/transformation of each chlorinated substrate rather than direct interaction between the guilds. -

+

Different chlorinated substrates were associated with distinct enrichment compositions and degradation behavior. Preserve the reported substrate-dependent selection without equating environmental filtering with demonstrated competition among guilds. This record combines separate enrichment treatments, not one fixed community.

@@ -977,15 +964,13 @@

Substrate-Specific Selection Across Chlorinated Ethenes

Downstream Effects:
- → Propane-Cometabolic TCE Degradation by Rhodococcus -

TCE-specific pressure selected Rhodococcus-dominated enrichments that carried group-5 propane monooxygenase operons and sustained propane-driven TCE cometabolism. -

+ → TCE Removal in Rhodococcus-Dominated Enrichments +

PARTIAL: substrate-specific selection is the authors explanation for Rhodococcus-dominated communities sustaining TCE transformation. The abstract supports the treatment-linked structure/function pattern, not isolated taxon or enzyme mediation.

- → Propane-Cometabolic cDCE Degradation by Mycolicibacterium and Mycobacterium -

cDCE-specific pressure selected Mycolicibacterium/Mycobacterium enrichments that dominated the cDCE-amended transfers and carried propane monooxygenase operons. -

+ → cDCE Removal in Mycobacterium and Mycolicibacterium Enrichments +

PARTIAL: substrate-specific selection is the authors explanation for Mycobacterium/Mycolicibacterium-dominated communities sustaining cDCE transformation. Dominance does not identify the active organism or monooxygenase.

@@ -1028,9 +1013,8 @@

Evidence

1,1-DCE-Driven Inhibition of Propanotrophs

- COMPETITION
-

1,1-DCE biodegradation is restricted to a subset of cultures and stalls at elevated concentrations; propane biodegradation slowed during 1,1-DCE exposure and resumed when TCE was substituted, consistent with inhibitory or toxic effects on propanotrophs at the elevated concentrations tested. The paper does not separate inhibition by the parent 1,1-DCE from inhibition by its transformation products.

+

1,1-DCE removal occurred in only some enrichments, took longer over transfers and was absent at elevated concentrations. PARTIAL: these observations are consistent with inhibitory or toxic effects, not demonstrated interspecies competition or an identified toxic agent.

@@ -1069,7 +1053,7 @@

1,1-DCE-Driven Inhibition of Propanotrophs

→ Substrate-Specific Selection Across Chlorinated Ethenes -

1,1-DCE toxicity restricted which propanotrophic cultures persisted, contributing to the broader chlorinated-ethene-specific selection of distinct actinobacterial genera.

+

HYPOTHESIZED: inhibition could contribute to substrate-dependent selection by restricting community function. The abstract does not isolate toxicity as the cause of taxonomic replacement.

@@ -1101,6 +1085,56 @@

Evidence

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which activities connect substrate selection to measured mixed-culture transformation? +

+

Retain all four findings and three existing directions with explicit inference bounds. Only the fresh primary abstract was accessible. Monooxygenase expression was not examined; taxon dominance is not enzyme activity or partner exchange. Detailed kinetic and operon assertions outside this graph remain part of #765 after paywalled-body removal under #754. Missing access is not evidence that experiments were absent. No new nodes or directions were added.

+ +

Attaches to: ecological_interactions#TCE Removal in Rhodococcus-Dominated Enrichments, ecological_interactions#cDCE Removal in Mycobacterium and Mycolicibacterium Enrichments, ecological_interactions#Substrate-Specific Selection Across Chlorinated Ethenes, ecological_interactions#1,1-DCE-Driven Inhibition of Propanotrophs

+ + + +
+ 2 evidence item(s) + +
+
+ COMPUTATIONAL + SUPPORT + + + doi:10.1016/j.jenvman.2026.129957 + +
+

Functional gene analysis identified both group 5 (prmABCD) and putative group 6 propane monooxygenases

+

Supports community monooxygenase gene content, not taxon-specific enzyme expression, activity or cross-feeding.

+
+ +
+
+ IN_VITRO + SUPPORT + + + doi:10.1016/j.jenvman.2026.129957 + +
+

1,1-DCE removal was absent at elevated concentrations, both trends consistent with inhibitory or toxic effects

+

Supports restricted removal consistent with inhibition, not proof of the toxic agent or selection mechanism.

+
+ +
+ + +
+ +
@@ -1404,7 +1438,7 @@

(function() { var intId = "interaction:0"; - var intType = "CROSS_FEEDING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1423,7 +1457,7 @@

nodes.push({ id: intId, - label: "Propane-Cometabolic TCE Degradation by Rhodococcus", + label: "TCE Removal in Rhodococcus-Dominated Enrichments", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1432,18 +1466,26 @@

}); - var srcKey = "Rhodococcus opacus"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ + + "Rhodococcus opacus", + + "Rhodococcus wratislaviensis" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); (function() { var intId = "interaction:1"; - var intType = "CROSS_FEEDING"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1462,7 +1504,7 @@

nodes.push({ id: intId, - label: "Propane-Cometabolic cDCE Degradation by Mycolicibacterium and Mycobacterium", + label: "cDCE Removal in Mycobacterium and Mycolicibacterium Enrichments", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1471,18 +1513,26 @@

}); - var srcKey = "Mycolicibacterium"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ + + "Mycolicibacterium", + + "Mycobacterium" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); (function() { var intId = "interaction:2"; - var intType = "COMPETITION"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1518,7 +1568,7 @@

(function() { var intId = "interaction:3"; - var intType = "COMPETITION"; + var intType = "UNKNOWN"; var metabolites = []; diff --git a/docs/communities/Prymnesium_Parvum_B12_Limited_SynCom.html b/docs/communities/Prymnesium_Parvum_B12_Limited_SynCom.html index eba2963c9..35cf040e0 100644 --- a/docs/communities/Prymnesium_Parvum_B12_Limited_SynCom.html +++ b/docs/communities/Prymnesium_Parvum_B12_Limited_SynCom.html @@ -1201,7 +1201,7 @@

Ecological Interactions

Ecological interaction network for Prymnesium parvum B12-Limited SynCom - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding, mutualism, competition). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
@@ -1209,18 +1209,8 @@

Ecological Interactions

Cross-feeding -
-
- Mutualism -
-
- Competition + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -1229,10 +1219,8 @@

Ecological Interactions

B12-limited holobiont mutualism

- MUTUALISM
-

Under vitamin B12 limitation, the bacterial SynCom rescued P. parvum growth and benefited from the algal coculture, indicating a nutrient-contextual mutualism rather than constitutive growth stimulation under every nutrient stress. -

+

The study reports a whole-community algal benefit and increased bacterial abundance in the relevant nutrient-limited comparison. PARTIAL: these positive observations support the authors mutualism interpretation but do not identify a strain-resolved transfer route, establish each partners causal contribution or show that the composite outcome causes biosynthetic transcription.

@@ -1262,23 +1250,6 @@

B12-limited holobiont mutualism

-
- Downstream Effects: - -
- → Cobalamin biosynthesis by B12-producing SynCom members -

The B12-limited rescue corresponded to B12-producing bacteria upregulating the cobalamin biosynthetic pathway under B12 limitation. -

-
- -
- → Auxotrophic SynCom B12 acquisition -

B12 exchanged in the holobiont also fed non-producing bacterial partners that induced B12 transport and B12-dependent functions. -

-
- -
-

Evidence

@@ -1319,10 +1290,8 @@

Evidence

Cobalamin biosynthesis by B12-producing SynCom members

- CROSS_FEEDING
-

Metabarcoding and metatranscriptomics linked B12-limited rescue to enrichment of B12-producing taxa and cobalamin-biosynthesis upregulation by Marinovum algicola, Roseobacter sp., and Halomonas sp. -

+

The study reports community enrichment and cobalamin-biosynthesis transcription. PARTIAL: transcription is not measured secretion or transfer flux. The abstract/discussion and focused results disagree on one producer identity; the disputed graph participant is omitted pending source reconciliation, without substituting another strain.

@@ -1331,9 +1300,7 @@

Cobalamin biosynthesis by B12-producing SynCom members

Marinovum algicola 19-037, - Roseobacter sp. 09-029, - - Halomonas sp. 19-001 + Roseobacter sp. 09-029

@@ -1402,10 +1369,8 @@

Evidence

Auxotrophic SynCom B12 acquisition

- COMPETITION
-

Several non-producer strains lacked B12 biosynthesis but expressed B12-dependent functions and strongly induced cobalamin transporters under B12 limitation, implying that the released vitamin was competed for by P. parvum and bacterial auxotrophs. -

+

Non-producing members induced cobalamin transporters and B12-dependent functions. PARTIAL: these measured transcript responses support the authors acquisition interpretation, but do not directly quantify vitamin flux or demonstrate a competitive fitness cost.

@@ -1487,10 +1452,8 @@

Evidence

Algal organic-matter support of heterotrophic bacteria

- MUTUALISM
-

The heterotrophic SynCom depended on algal organic matter from P. parvum, while those bacterial partners synthesized and mobilized B12 under nutrient stress, completing a reciprocal exchange between the algal host and bacterial community. -

+

HYPOTHESIZED: the authors propose that algal organic matter supports heterotrophic bacteria as part of reciprocal exchange. Retain this interpretation separately from measured community outcomes; the exact carbon-transfer and vitamin-release routes remain unresolved.

@@ -1529,8 +1492,7 @@

Algal organic-matter support of heterotrophic bacteria

→ B12-limited holobiont mutualism -

Bacterial dependence on algal organic matter made B12 biosynthesis part of a reciprocal holobiont interaction rather than one-way vitamin rescue. -

+

HYPOTHESIZED: algal organic-matter support could contribute to the reported reciprocal community benefit. This existing direction expresses the authors interpretation, not a directly traced carbon flux or proof of each partners contribution.

@@ -1633,7 +1595,7 @@

Associated Datasets

-

Knowledge gaps & discussions (1)

+

Knowledge gaps & discussions (2)

@@ -1686,6 +1648,59 @@

+
+

+ KNOWLEDGE_GAP + OPEN + Which source-supported observations can be distinguished from inferred exchange? +

+

Two outcome-to-transcription arrows were removed because correspondence does not establish the encoded causal direction. Positive whole-community outcomes and expression findings remain; no reverse arrows or new biological mechanisms were added. The source reports no detected extracellular B12 and leaves transfer unresolved. Producer attribution conflicts between sections and remains #1728. Existing non-graph roles and proposed experiments are not certified by this review; no new experimental designs or growth-optimization details were added.

+ +

Attaches to: ecological_interactions#B12-limited holobiont mutualism, ecological_interactions#Cobalamin biosynthesis by B12-producing SynCom members, ecological_interactions#Auxotrophic SynCom B12 acquisition, ecological_interactions#Algal organic-matter support of heterotrophic bacteria

+ + + +
+ 2 evidence item(s) + +
+
+ IN_VITRO + SUPPORT + + + + PMID:42549325 + + +
+

The precise mechanism of B12 transfer remains unresolved. Not only are the potential acquisition routes unclear, but the identity of bacterial exporters mediating vitamin release is also unknown. +

+

States the open mechanistic question around B12 export and acquisition. +

+
+ +
+
+ IN_VITRO + SUPPORT + + + + PMID:42549325 + + +
+

several B12-auxotrophic taxa induced B12-transport and B12-requiring enzymes, indicating active vitamin exchange within the holobiont +

+

Supports transcript induction and the authors exchange interpretation, not directly measured transfer or competition.

+
+ +
+ + +
+
@@ -2163,7 +2178,7 @@

Evidence

(function() { var intId = "interaction:0"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -2195,7 +2210,7 @@

Evidence

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

Evidence

"Marinovum algicola 19-037", - "Roseobacter sp. 09-029", - - "Halomonas sp. 19-001" + "Roseobacter sp. 09-029" ]; participantKeys.forEach(function(key) { @@ -2242,7 +2255,7 @@

Evidence

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

Evidence

(function() { var intId = "interaction:3"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; diff --git a/docs/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.html b/docs/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.html index f80d7373f..381971223 100644 --- a/docs/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.html +++ b/docs/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.html @@ -636,7 +636,7 @@

Ecological Interactions

RF-PH enhanced aniline degradation

-

The optimized 3:1 RF-PH consortium degraded 500 mg/L aniline more rapidly within 12 h than either single-strain culture, and also improved 12 h removal at 1000 mg/L aniline.

+

The optimized 3:1 RF-PH consortium degraded 500 mg/L aniline more rapidly within 12 h than either single-strain culture, and also improved 12 h removal at 1000 mg/L aniline. These analytical removal outcomes do not by themselves establish complete mineralization, a catechol pathway or a directional metabolite exchange between strains.

@@ -696,7 +696,7 @@

Evidence

-

Knowledge gaps & discussions (1)

+

Knowledge gaps & discussions (2)

@@ -711,6 +711,56 @@

+

+ +
+

+ KNOWLEDGE_GAP + OPEN + Does the analytical removal endpoint establish the asserted mineralization pathway? +

+

The positive consortium-versus-monoculture comparisons remain supported. Main methods quantify residual aniline, while the conclusion asserts catechol-pathway mineralization without corresponding mechanistic results in the main text reviewed. Supplements were not inspected, so this is an evidence boundary rather than proof that no additional data exist. No transferred intermediate, competition or new arrow is inferred; the existing open-ended mechanism discussion is preserved.

+ +

Attaches to: ecological_interactions#RF-PH enhanced aniline degradation

+ + + +
+ 2 evidence item(s) + +
+
+ IN_VITRO + SUPPORT + + + + PMID:41900437 + + +
+

For 500 mg·L−1 aniline, the degradation rate reached 91.28% within 12 h, representing an increase of 11.33% and 17.02% compared to the degradation rates achieved by strain RF or strain PH alone, respectively.

+

Supports the community-level enhancement of aniline degradation by RF-PH relative to either monoculture.

+
+ +
+
+ IN_VITRO + SUPPORT + + + + PMID:41900437 + + +
+

For 1000 mg·L−1 aniline, the degradation rate reached 73.06% within 12 h, representing an increase of 18.25% and 28.04% compared to the degradation by strain RF or strain PH alone, respectively.

+

Supports the RF-PH consortium's enhanced 1000 mg/L aniline degradation relative to either monoculture.

+
+ +
+ +
diff --git a/docs/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.html b/docs/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.html index 19d9a91c6..d92824bfb 100644 --- a/docs/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.html +++ b/docs/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.html @@ -777,81 +777,11 @@

Ecological Interactions

-
-
-

Full-factorial Pseudomonas strain assembly

-
-

All 256 possible combinations of the eight P. aeruginosa mutants were assembled, diluted into LB medium, and grown in 96-well plates to quantify strain-context effects on the Abs600 community-function landscape.

- - - - -

Participating Taxa: - - Pseudomonas aeruginosa pAOV, - - Pseudomonas aeruginosa PA14, - - Pseudomonas aeruginosa NfxB, - - Pseudomonas aeruginosa ParR-CAZ, - - Pseudomonas aeruginosa mexZ, - - Pseudomonas aeruginosa OrfN, - - Pseudomonas aeruginosa NfxB-CAZ, - - Pseudomonas aeruginosa MDR6-CAZ - -

- - - - - - - - - -

Evidence

-
    - -
  • -
    - - PMID:42153623 - - - SUPPORT (IN_VITRO) -
    - -
    "them to assemble all 2 8 strain combinations as described in the main text"
    - -
  • - -
  • -
    - - PMID:42153623 - - - SUPPORT (IN_VITRO) -
    - -
    "Samples were incubated still at 37 °C for 40 hr, after which the absorbance spectrum of each sample was quantified"
    - -
  • - -
- -
-

Highest-Abs600 00001101 trio

-

The highest Abs600 value in the demonstrator experiment came from consortium 00001101, the three-mutant Pseudomonas aeruginosa combination containing pAOV, NfxB, and ParR-CAZ; its positive third-order functional interaction is statistical under the source's additive Abs600 baseline, not a resolved molecular competition mechanism.

+

The highest Abs600 value in the demonstrator experiment came from consortium 00001101, the three-mutant Pseudomonas aeruginosa combination containing pAOV, NfxB, and ParR-CAZ; its positive third-order functional interaction is statistical under the source's additive Abs600 baseline, not a resolved molecular competition mechanism. The ranking is illustrative, with similarly high values in other consortia; absorbance is not a linear biomass measure across its full range.

@@ -926,13 +856,13 @@

Evidence

-

Knowledge gaps & discussions (1)

+

Knowledge gaps & discussions (2)

KNOWLEDGE_GAP OPEN - Which secreted metabolites or contact-dependent mechanisms cause the 00001101 trio's positive third-order functional interaction? + What evidence, if any, resolves a biological mechanism behind the statistical phenotype?

The eLife study quantified functional effects and interaction coefficients from Abs600 phenotypes, but did not identify the molecular mechanism behind the positive third-order interaction in the high-Abs600 trio.

@@ -963,6 +893,41 @@

+
+

+ KNOWLEDGE_GAP + OPEN + How should an assay panel be distinguished from an individual-community interaction? +

+

Experimental assembly is a method, not a biological interaction, and was removed from the graph. The existing statistical phenotype remains, without new biological mechanisms or experimental designs. Five canonical panel members lose the artificial connectivity supplied by the method node; their membership representation remains #1729. Relevant cached primary results and discussion were read, but fresh full-text retrieval failed. This review does not independently certify the entire cached paper, raw data or figure pixels.

+ +

Attaches to: ecological_interactions#Highest-Abs600 00001101 trio

+ + + +
+ 1 evidence item(s) + +
+
+ IN_VITRO + SUPPORT + + + + PMID:42153623 + + +
+

Under this definition, the term interaction should be interpreted in a statistical, rather than biological sense

+

Clarifies that the high-Abs600 trio's interaction coefficient is a statistical deviation from an additive function baseline, not a resolved biological competition mechanism.

+
+ +
+ + +
+
@@ -1215,55 +1180,6 @@

Evidence

var processes = []; - var evidenceCount = 2; - - nodes.push({ - id: intId, - label: "Full-factorial Pseudomonas strain assembly", - type: "interaction", - interactionType: intType, - metabolites: metabolites, - processes: processes, - evidenceCount: evidenceCount - }); - - - - - var participantKeys = [ - - "Pseudomonas aeruginosa pAOV", - - "Pseudomonas aeruginosa PA14", - - "Pseudomonas aeruginosa NfxB", - - "Pseudomonas aeruginosa ParR-CAZ", - - "Pseudomonas aeruginosa mexZ", - - "Pseudomonas aeruginosa OrfN", - - "Pseudomonas aeruginosa NfxB-CAZ", - - "Pseudomonas aeruginosa MDR6-CAZ" - - ]; - participantKeys.forEach(function(key) { - if (taxonNodeIds[key]) { - links.push({ source: taxonNodeIds[key], target: intId }); - } - }); - - })(); - - (function() { - var intId = "interaction:1"; - var intType = "UNKNOWN"; - var metabolites = []; - - var processes = []; - var evidenceCount = 3; nodes.push({ @@ -1315,7 +1231,7 @@

Evidence

var svg = d3.select("#network-svg"); var width = container.clientWidth - 32; // Dynamic height based on node count: minimum 500px, add 40px per node - var nodeCount = 10; + var nodeCount = 9; var height = Math.max(500, 400 + nodeCount * 20); svg.attr("width", width).attr("height", height); diff --git a/history/records/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment/2026-10-07T114922Z-codex-78f592.yaml b/history/records/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment/2026-10-07T114922Z-codex-78f592.yaml new file mode 100644 index 000000000..9de2f2c85 --- /dev/null +++ b/history/records/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment/2026-10-07T114922Z-codex-78f592.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml + slug: Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment +session: + id: 2026-10-07T114922Z-codex-78f592 + timestamp: '2026-10-07T11:49:22Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1724 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve TCE removal and Rhodococcus dominance without assigning active enzymes.; + Preserve cDCE removal and genus dominance without invented exchange.; Preserve substrate + selection and qualify its mediation of function.; Preserve restricted DCE removal and + qualify toxicity and selection. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml diff --git a/history/records/Prymnesium_Parvum_B12_Limited_SynCom/2026-10-07T114922Z-codex-8f2684.yaml b/history/records/Prymnesium_Parvum_B12_Limited_SynCom/2026-10-07T114922Z-codex-8f2684.yaml new file mode 100644 index 000000000..75e157090 --- /dev/null +++ b/history/records/Prymnesium_Parvum_B12_Limited_SynCom/2026-10-07T114922Z-codex-8f2684.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml + slug: Prymnesium_Parvum_B12_Limited_SynCom +session: + id: 2026-10-07T114922Z-codex-8f2684 + timestamp: '2026-10-07T11:49:22Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1725 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve community benefit without outcome-to-transcription causality.; Preserve + biosynthesis transcription with source-attribution discrepancy.; Preserve transporter + response without proven transfer or competition.; Preserve proposed carbon reciprocity + as a hypothesis. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml diff --git a/history/records/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom/2026-10-07T114923Z-codex-1490f6.yaml b/history/records/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom/2026-10-07T114923Z-codex-1490f6.yaml new file mode 100644 index 000000000..3aa0fe2ad --- /dev/null +++ b/history/records/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom/2026-10-07T114923Z-codex-1490f6.yaml @@ -0,0 +1,24 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml + slug: Pseudomonas_Acidovorax_Aniline_Degradation_SynCom +session: + id: 2026-10-07T114923Z-codex-1490f6 + timestamp: '2026-10-07T11:49:23Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1726 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve enhanced aniline removal without certifying mineralization or exchange. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml diff --git a/history/records/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom/2026-10-07T114923Z-codex-9805f1.yaml b/history/records/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom/2026-10-07T114923Z-codex-9805f1.yaml new file mode 100644 index 000000000..b4840fbe8 --- /dev/null +++ b/history/records/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom/2026-10-07T114923Z-codex-9805f1.yaml @@ -0,0 +1,24 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml + slug: Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom +session: + id: 2026-10-07T114923Z-codex-9805f1 + timestamp: '2026-10-07T11:49:23Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1727 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve the statistical phenotype with illustrative-ranking and absorbance limits. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml diff --git a/kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml b/kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml index 4abdd2793..68e9547d5 100644 --- a/kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml +++ b/kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml @@ -266,15 +266,10 @@ taxonomy: - CROSS_FEEDER abundance_level: RARE ecological_interactions: -- name: Propane-Cometabolic TCE Degradation by Rhodococcus - description: Rhodococcus opacus and R. wratislaviensis populations dominate - TCE-amended enrichments and degrade TCE while propane is supplied as the - growth substrate. The Rhodococcus MAGs carry the group-5 propane - monooxygenase operon (prmABCD); functional gene analysis identified both - group 5 and putative group 6 propane monooxygenases in the community - but expression was not examined, so the specific enzyme responsible for - TCE oxidation in vivo is not directly demonstrated. - interaction_type: CROSS_FEEDING +- name: TCE Removal in Rhodococcus-Dominated Enrichments + description: 'Propane-enriched mixed cultures sustained TCE degradation and were dominated by Rhodococcus; recovered + MAGs were classified as R. opacus or R. wratislaviensis. PARTIAL: abundance and monooxygenase genes do not assign + the measured community transformation to a particular taxon or enzyme. Gene expression was not examined.' scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Rhodococcus opacus @@ -285,11 +280,6 @@ ecological_interactions: term: id: NCBITaxon:44752 label: Rhodococcus wratislaviensis - source_taxon: - preferred_term: Rhodococcus opacus - term: - id: NCBITaxon:37919 - label: Rhodococcus opacus metabolites: - preferred_term: trichloroethene term: @@ -309,21 +299,17 @@ ecological_interactions: supports: SUPPORT evidence_source: IN_VITRO snippet: TCE-degrading cultures were dominated by Rhodococcus - explanation: Establishes Rhodococcus dominance under TCE selection in the - propane-amended enrichments. + explanation: Establishes Rhodococcus dominance under TCE selection in the propane-amended enrichments. - reference: doi:10.1016/j.jenvman.2026.129957 supports: SUPPORT evidence_source: COMPUTATIONAL - snippet: "Functional gene analysis identified both group 5 (prmABCD) and putative group 6 propane monooxygenases" - explanation: Supports group-5 propane monooxygenase as the operon present - in the Rhodococcus MAGs driving propane-cometabolic TCE oxidation. -- name: Propane-Cometabolic cDCE Degradation by Mycolicibacterium and Mycobacterium - description: Mycolicibacterium dominates and Mycobacterium follows in all - four cDCE-amended enrichments; both genera carry propane monooxygenase - operons (with prmACDB ordering for the Mycobacterium MAGs, suggestive of - group-6 SDIMOs) that drive cometabolic cDCE oxidation while propane is - the growth substrate. - interaction_type: CROSS_FEEDING + snippet: Functional gene analysis identified both group 5 (prmABCD) and putative group 6 propane monooxygenases + explanation: Supports community monooxygenase gene content, not taxon-specific enzyme expression, activity or + cross-feeding. +- name: cDCE Removal in Mycobacterium and Mycolicibacterium Enrichments + description: 'Propane-enriched mixed cultures sustained cDCE degradation and were dominated by Mycobacterium and + Mycolicibacterium. PARTIAL: genus abundance does not establish which organisms or enzymes performed the community + transformation. The accessible abstract does not establish an interspecies transfer route.' scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Mycolicibacterium @@ -334,11 +320,6 @@ ecological_interactions: term: id: NCBITaxon:1763 label: Mycobacterium - source_taxon: - preferred_term: Mycolicibacterium - term: - id: NCBITaxon:1866885 - label: Mycolicibacterium metabolites: - preferred_term: cis-1,2-dichloroethene term: @@ -358,17 +339,11 @@ ecological_interactions: supports: SUPPORT evidence_source: IN_VITRO snippet: cDCE-degrading cultures being dominated by Mycobacterium and Mycolicibacterium - explanation: Establishes the two-genus Mycolicibacterium/Mycobacterium - dominance pattern under cDCE selection. + explanation: Establishes the two-genus Mycolicibacterium/Mycobacterium dominance pattern under cDCE selection. - name: Substrate-Specific Selection Across Chlorinated Ethenes - description: > - cDCE, TCE, and 1,1-DCE select for taxonomically distinct propanotrophic - guilds within the same starting inocula: cDCE selects for - Mycolicibacterium/Mycobacterium, TCE selects for Rhodococcus, and - 1,1-DCE re-selects for Pseudonocardia. This is competition mediated by - differential tolerance/transformation of each chlorinated substrate - rather than direct interaction between the guilds. - interaction_type: COMPETITION + description: Different chlorinated substrates were associated with distinct enrichment compositions and degradation + behavior. Preserve the reported substrate-dependent selection without equating environmental filtering with + demonstrated competition among guilds. This record combines separate enrichment treatments, not one fixed community. scope: COMMUNITY_LEVEL metabolites: - preferred_term: trichloroethene @@ -389,40 +364,30 @@ ecological_interactions: id: GO:0009410 label: response to xenobiotic stimulus downstream: - - target: Propane-Cometabolic TCE Degradation by Rhodococcus - description: > - TCE-specific pressure selected Rhodococcus-dominated enrichments that - carried group-5 propane monooxygenase operons and sustained - propane-driven TCE cometabolism. - - target: Propane-Cometabolic cDCE Degradation by Mycolicibacterium and Mycobacterium - description: > - cDCE-specific pressure selected Mycolicibacterium/Mycobacterium - enrichments that dominated the cDCE-amended transfers and carried - propane monooxygenase operons. + - target: TCE Removal in Rhodococcus-Dominated Enrichments + description: 'PARTIAL: substrate-specific selection is the authors explanation for Rhodococcus-dominated communities + sustaining TCE transformation. The abstract supports the treatment-linked structure/function pattern, not + isolated taxon or enzyme mediation.' + - target: cDCE Removal in Mycobacterium and Mycolicibacterium Enrichments + description: 'PARTIAL: substrate-specific selection is the authors explanation for Mycobacterium/Mycolicibacterium-dominated + communities sustaining cDCE transformation. Dominance does not identify the active organism or monooxygenase.' evidence: - reference: doi:10.1016/j.jenvman.2026.129957 supports: SUPPORT evidence_source: IN_VITRO - snippet: Whole genome sequencing analyses revealed pronounced substrate-dependent - selection of microbial communities - explanation: Directly supports substrate-driven community selection as the - central finding of the study. + snippet: Whole genome sequencing analyses revealed pronounced substrate-dependent selection of microbial communities + explanation: Directly supports substrate-driven community selection as the central finding of the study. - reference: doi:10.1016/j.jenvman.2026.129957 supports: SUPPORT evidence_source: IN_VITRO - snippet: substrate-specific pressures govern propanotrophic community structure - and function, and highlight distinct roles of key actinobacterial genera - in chlorinated ethene cometabolism - explanation: Supports interpretation that substrate-specific selection drives - distinct actinobacterial guild membership. + snippet: substrate-specific pressures govern propanotrophic community structure and function, and highlight + distinct roles of key actinobacterial genera in chlorinated ethene cometabolism + explanation: Supports interpretation that substrate-specific selection drives distinct actinobacterial guild + membership. - name: 1,1-DCE-Driven Inhibition of Propanotrophs - description: 1,1-DCE biodegradation is restricted to a subset of cultures - and stalls at elevated concentrations; propane biodegradation slowed - during 1,1-DCE exposure and resumed when TCE was substituted, consistent - with inhibitory or toxic effects on propanotrophs at the elevated - concentrations tested. The paper does not separate inhibition by the - parent 1,1-DCE from inhibition by its transformation products. - interaction_type: COMPETITION + description: '1,1-DCE removal occurred in only some enrichments, took longer over transfers and was absent at + elevated concentrations. PARTIAL: these observations are consistent with inhibitory or toxic effects, not demonstrated + interspecies competition or an identified toxic agent.' scope: COMMUNITY_LEVEL metabolites: - preferred_term: 1,1-dichloroethene @@ -440,17 +405,16 @@ ecological_interactions: label: response to xenobiotic stimulus downstream: - target: Substrate-Specific Selection Across Chlorinated Ethenes - description: 1,1-DCE toxicity restricted which propanotrophic cultures - persisted, contributing to the broader chlorinated-ethene-specific - selection of distinct actinobacterial genera. + description: 'HYPOTHESIZED: inhibition could contribute to substrate-dependent selection by restricting community + function. The abstract does not isolate toxicity as the cause of taxonomic replacement.' evidence: - reference: doi:10.1016/j.jenvman.2026.129957 supports: SUPPORT evidence_source: IN_VITRO - snippet: 1,1-DCE removal was absent at elevated concentrations, both trends - consistent with inhibitory or toxic effects - explanation: Supports 1,1-DCE-driven inhibition of the propanotrophic - community as the mechanism for the restricted degradation range. + snippet: 1,1-DCE removal was absent at elevated concentrations, both trends consistent with inhibitory or toxic + effects + explanation: Supports restricted removal consistent with inhibition, not proof of the toxic agent or selection + mechanism. environmental_factors: - name: Propane as growth substrate value: 0.8-1.2 mg/L per amendment @@ -570,7 +534,43 @@ curation_history: - timestamp: '2026-09-13T00:56:50Z' curator: codex action: RECONCILE_PAYWALLED_EVIDENCE_REMOVAL - changes: "Reapplied PR #766's 13 unsupported evidence removals onto current main, preserving its newer - interaction curation; retained abstract-supported evidence. Re-evidencing debt remains tracked in - #765." + changes: 'Reapplied PR #766''s 13 unsupported evidence removals onto current main, preserving its newer interaction + curation; retained abstract-supported evidence. Re-evidencing debt remains tracked in #765.' llm_assisted: true +- timestamp: '2026-10-07T11:49:18Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve TCE removal and Rhodococcus dominance without assigning active enzymes.; Preserve cDCE removal + and genus dominance without invented exchange.; Preserve substrate selection and qualify its mediation of function.; + Preserve restricted DCE removal and qualify toxicity and selection. Issue #1724; reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml' + llm_assisted: true +discussions: +- discussion_id: propanotroph-selection-versus-active-transformation + prompt: Which activities connect substrate selection to measured mixed-culture transformation? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: 'Retain all four findings and three existing directions with explicit inference bounds. Only the fresh + primary abstract was accessible. Monooxygenase expression was not examined; taxon dominance is not enzyme activity + or partner exchange. Detailed kinetic and operon assertions outside this graph remain part of #765 after paywalled-body + removal under #754. Missing access is not evidence that experiments were absent. No new nodes or directions + were added.' + attaches_to: + - ecological_interactions#TCE Removal in Rhodococcus-Dominated Enrichments + - ecological_interactions#cDCE Removal in Mycobacterium and Mycolicibacterium Enrichments + - ecological_interactions#Substrate-Specific Selection Across Chlorinated Ethenes + - ecological_interactions#1,1-DCE-Driven Inhibition of Propanotrophs + evidence: + - reference: doi:10.1016/j.jenvman.2026.129957 + supports: SUPPORT + evidence_source: COMPUTATIONAL + snippet: Functional gene analysis identified both group 5 (prmABCD) and putative group 6 propane monooxygenases + explanation: Supports community monooxygenase gene content, not taxon-specific enzyme expression, activity or + cross-feeding. + - reference: doi:10.1016/j.jenvman.2026.129957 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: 1,1-DCE removal was absent at elevated concentrations, both trends consistent with inhibitory or toxic + effects + explanation: Supports restricted removal consistent with inhibition, not proof of the toxic agent or selection + mechanism. diff --git a/kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml b/kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml index 409b41a8d..e2b1ce9e3 100644 --- a/kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml +++ b/kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml @@ -485,12 +485,10 @@ taxonomy: Supplementary Table S1. ecological_interactions: - name: B12-limited holobiont mutualism - description: > - Under vitamin B12 limitation, the bacterial SynCom rescued P. parvum growth - and benefited from the algal coculture, indicating a nutrient-contextual - mutualism rather than constitutive growth stimulation under every nutrient - stress. - interaction_type: MUTUALISM + description: 'The study reports a whole-community algal benefit and increased bacterial abundance in the relevant + nutrient-limited comparison. PARTIAL: these positive observations support the authors mutualism interpretation + but do not identify a strain-resolved transfer route, establish each partners causal contribution or show that + the composite outcome causes biosynthetic transcription.' scope: COMMUNITY_LEVEL metabolites: - preferred_term: vitamin B12 @@ -502,35 +500,27 @@ ecological_interactions: term: id: GO:0044419 label: biological process involved in interspecies interaction between organisms - downstream: - - target: Cobalamin biosynthesis by B12-producing SynCom members - description: > - The B12-limited rescue corresponded to B12-producing bacteria - upregulating the cobalamin biosynthetic pathway under B12 limitation. - - target: Auxotrophic SynCom B12 acquisition - description: > - B12 exchanged in the holobiont also fed non-producing bacterial partners - that induced B12 transport and B12-dependent functions. evidence: - reference: PMID:42549325 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - B12-limitation triggered a strong mutualistic interaction in which the - SynCom enabled a three-fold increase in algal biomass + snippet: 'B12-limitation triggered a strong mutualistic interaction in which the SynCom enabled a three-fold + increase in algal biomass + + ' explanation: Supports the nutrient-contextual mutualism and algal growth rescue. - reference: PMID:42549325 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - bacterial B12 production alleviated the limitation + snippet: 'bacterial B12 production alleviated the limitation + + ' explanation: Links the B12-limited growth rescue to bacterial B12 production. - name: Cobalamin biosynthesis by B12-producing SynCom members - description: > - Metabarcoding and metatranscriptomics linked B12-limited rescue to - enrichment of B12-producing taxa and cobalamin-biosynthesis upregulation by - Marinovum algicola, Roseobacter sp., and Halomonas sp. - interaction_type: CROSS_FEEDING + description: 'The study reports community enrichment and cobalamin-biosynthesis transcription. PARTIAL: transcription + is not measured secretion or transfer flux. The abstract/discussion and focused results disagree on one producer + identity; the disputed graph participant is omitted pending source reconciliation, without substituting another + strain.' scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Marinovum algicola 19-037 @@ -541,10 +531,6 @@ ecological_interactions: term: id: NCBITaxon:2433 label: Roseobacter - - preferred_term: Halomonas sp. 19-001 - term: - id: NCBITaxon:2745 - label: Halomonas metabolites: - preferred_term: cobalamin term: @@ -559,29 +545,25 @@ ecological_interactions: - reference: PMID:42549325 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - B12-producers (Marinovum algicola, Roseobacter sp., Halomonas sp.) - upregulated cobalamin biosynthesis exclusively under B12-limitation - explanation: > - Supports B12-limited cobalamin pathway upregulation in three producing - bacterial members. + snippet: 'B12-producers (Marinovum algicola, Roseobacter sp., Halomonas sp.) upregulated cobalamin biosynthesis + exclusively under B12-limitation + + ' + explanation: Supports the reported transcriptional association; producer attribution is inconsistent across + source sections and does not establish export. - reference: PMID:42549325 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - Enrichment of B12-producing taxa (i.e. Marinovum algicola, Roseobacter - sp., Halomonas sp.) under B12-lim coincided with the upregulation of - cobalamin biosynthesis pathways - explanation: > - Supports concurrent enrichment and cobalamin-pathway activation by the - B12-producing bacterial subset. + snippet: 'Enrichment of B12-producing taxa (i.e. Marinovum algicola, Roseobacter sp., Halomonas sp.) under B12-lim + coincided with the upregulation of cobalamin biosynthesis pathways + + ' + explanation: Supports the reported transcriptional association; producer attribution is inconsistent across + source sections and does not establish export. - name: Auxotrophic SynCom B12 acquisition - description: > - Several non-producer strains lacked B12 biosynthesis but expressed - B12-dependent functions and strongly induced cobalamin transporters under - B12 limitation, implying that the released vitamin was competed for by - P. parvum and bacterial auxotrophs. - interaction_type: COMPETITION + description: 'Non-producing members induced cobalamin transporters and B12-dependent functions. PARTIAL: these + measured transcript responses support the authors acquisition interpretation, but do not directly quantify vitamin + flux or demonstrate a competitive fitness cost.' scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Cyclobacterium sp. 09-022 @@ -614,30 +596,27 @@ ecological_interactions: - reference: PMID:42549325 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - several B12-auxotrophic taxa induced B12-transport and B12-requiring - enzymes, indicating active vitamin exchange within the holobiont - explanation: > - Supports B12 uptake and B12-dependent activity by non-producing bacterial - partners. + snippet: 'several B12-auxotrophic taxa induced B12-transport and B12-requiring enzymes, indicating active vitamin + exchange within the holobiont + + ' + explanation: Supports transcript induction and the authors exchange interpretation, not directly measured transfer + or competition. - reference: PMID:42549325 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - non-B12 producers Cyclobacterium qasimii, Marivita cryptomonadis, - Marinobacter sp., and Pseudomonas stutzeri, which also upregulated - B12-dependent genes, strongly induced most of their B12 transporters - under B12-lim conditions - explanation: > - Names the non-producing B12-dependent strains that induced B12 - transporters under B12 limitation. + snippet: 'non-B12 producers Cyclobacterium qasimii, Marivita cryptomonadis, Marinobacter sp., and Pseudomonas + stutzeri, which also upregulated B12-dependent genes, strongly induced most of their B12 transporters under + B12-lim conditions + + ' + explanation: 'Names the non-producing B12-dependent strains that induced B12 transporters under B12 limitation. + + ' - name: Algal organic-matter support of heterotrophic bacteria - description: > - The heterotrophic SynCom depended on algal organic matter from P. parvum, - while those bacterial partners synthesized and mobilized B12 under nutrient - stress, completing a reciprocal exchange between the algal host and - bacterial community. - interaction_type: MUTUALISM + description: 'HYPOTHESIZED: the authors propose that algal organic matter supports heterotrophic bacteria as part + of reciprocal exchange. Retain this interpretation separately from measured community outcomes; the exact carbon-transfer + and vitamin-release routes remain unresolved.' scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Prymnesium parvum CCAP 646/6 @@ -655,19 +634,19 @@ ecological_interactions: label: biological process involved in interspecies interaction between organisms downstream: - target: B12-limited holobiont mutualism - description: > - Bacterial dependence on algal organic matter made B12 biosynthesis part - of a reciprocal holobiont interaction rather than one-way vitamin rescue. + description: 'HYPOTHESIZED: algal organic-matter support could contribute to the reported reciprocal community + benefit. This existing direction expresses the authors interpretation, not a directly traced carbon flux or + proof of each partners contribution.' evidence: - reference: PMID:42549325 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - Heterotrophic bacteria dependent on algal organic matter synthesize and - mobilize B12 under nutrient stress, and both partners utilize it. - explanation: > - Supports reciprocal carbon-for-vitamin coupling between P. parvum and - heterotrophic bacterial members. + snippet: 'Heterotrophic bacteria dependent on algal organic matter synthesize and mobilize B12 under nutrient + stress, and both partners utilize it. + + ' + explanation: Supports the authors reciprocal-exchange interpretation rather than directly traced carbon or vitamin + transfer. environmental_factors: - name: vitamin B12 limitation value: 7.4 x 10^-6 uM vitamin B12 @@ -883,26 +862,26 @@ related_ingredients: explanation: Links cobalamin biosynthesis to P. parvum growth rescue. discussions: - discussion_id: b12-transfer-route - prompt: > - Does P. parvum acquire bacterial B12 primarily from passive extracellular - release, bacterial lysis, prophage- or phage-mediated release, or - bacterivory of the SynCom partners? + prompt: 'Does P. parvum acquire bacterial B12 primarily from passive extracellular release, bacterial lysis, prophage- + or phage-mediated release, or bacterivory of the SynCom partners? + + ' kind: KNOWLEDGE_GAP status: OPEN attaches_to: - ecological_interactions#B12-limited holobiont mutualism - ecological_interactions#Cobalamin biosynthesis by B12-producing SynCom members - rationale: > - The source supports bacterial B12 production and auxotrophic acquisition - but explicitly leaves the cellular route of vitamin release and transfer - unresolved. + rationale: 'The source supports bacterial B12 production and auxotrophic acquisition but explicitly leaves the + cellular route of vitamin release and transfer unresolved. + + ' proposed_experiments: - experiment_id: b12_exporter_mutants name: Test B12 exporter and lysis routes in producing strains - description: > - Knock out or silence candidate B12 export, prophage, or lysis mechanisms - in Marinovum algicola, Roseobacter sp., and Halomonas sp., then ask - whether mutant producers still rescue B12-limited P. parvum. + description: 'Knock out or silence candidate B12 export, prophage, or lysis mechanisms in Marinovum algicola, + Roseobacter sp., and Halomonas sp., then ask whether mutant producers still rescue B12-limited P. parvum. + + ' approach: defined-coculture growth assay with targeted bacterial genetics model_systems: - P. parvum CCAP 646/6 plus individual B12-producing isolates @@ -915,21 +894,58 @@ discussions: - dissolved and intracellular B12 pools - P. parvum growth recovery - SynCom B12 transporter expression - decision_criterion: > - Loss of algal rescue in a specific mutant background, restored by - exogenous B12, would prioritize that release route. + decision_criterion: 'Loss of algal rescue in a specific mutant background, restored by exogenous B12, would + prioritize that release route. + + ' evidence: - reference: PMID:42549325 supports: SUPPORT evidence_source: full_text - snippet: > - The precise mechanism of B12 transfer remains unresolved. Not only are - the potential acquisition routes unclear, but the identity of bacterial - exporters mediating vitamin release is also unknown. - explanation: > - States the open mechanistic question around B12 export and acquisition. + snippet: 'The precise mechanism of B12 transfer remains unresolved. Not only are the potential acquisition routes + unclear, but the identity of bacterial exporters mediating vitamin release is also unknown. + + ' + explanation: 'States the open mechanistic question around B12 export and acquisition. + + ' posed_by: codex posed_date: '2026-09-15' +- discussion_id: b12-transcripts-and-source-attribution + prompt: Which source-supported observations can be distinguished from inferred exchange? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: 'Two outcome-to-transcription arrows were removed because correspondence does not establish the encoded + causal direction. Positive whole-community outcomes and expression findings remain; no reverse arrows or new + biological mechanisms were added. The source reports no detected extracellular B12 and leaves transfer unresolved. + Producer attribution conflicts between sections and remains #1728. Existing non-graph roles and proposed experiments + are not certified by this review; no new experimental designs or growth-optimization details were added.' + attaches_to: + - ecological_interactions#B12-limited holobiont mutualism + - ecological_interactions#Cobalamin biosynthesis by B12-producing SynCom members + - ecological_interactions#Auxotrophic SynCom B12 acquisition + - ecological_interactions#Algal organic-matter support of heterotrophic bacteria + evidence: + - reference: PMID:42549325 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: 'The precise mechanism of B12 transfer remains unresolved. Not only are the potential acquisition routes + unclear, but the identity of bacterial exporters mediating vitamin release is also unknown. + + ' + explanation: 'States the open mechanistic question around B12 export and acquisition. + + ' + - reference: PMID:42549325 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: 'several B12-auxotrophic taxa induced B12-transport and B12-requiring enzymes, indicating active vitamin + exchange within the holobiont + + ' + explanation: Supports transcript induction and the authors exchange interpretation, not directly measured transfer + or competition. metals_present: [] rare_earth_elements_present: [] metal_relevance: NOT_APPLICABLE @@ -941,24 +957,32 @@ curation_history: - timestamp: '2026-09-15T05:01:43Z' curator: codex action: ADDRESS_STRICT_VALIDATION_FAILURES - changes: > - Replaced a discussion-derived environmental evidence source with IN_VITRO - and quoted the B12 transfer-route posed_date so YAML keeps it as a string. + changes: 'Replaced a discussion-derived environmental evidence source with IN_VITRO and quoted the B12 transfer-route + posed_date so YAML keeps it as a string. + + ' llm_assisted: true - timestamp: '2026-09-15T04:45:00Z' curator: codex action: ADDRESS_LOCAL_ADVERSARIAL_REVIEW - changes: > - Tightened the environment note to avoid implying active pH control and - added a direct source snippet for the oxic batch-culture interpretation. + changes: 'Tightened the environment note to avoid implying active pH control and added a direct source snippet + for the oxic batch-culture interpretation. + + ' llm_assisted: true - timestamp: '2026-09-15T04:40:40Z' curator: codex action: CREATE_PRYMNESIUM_PARVUM_B12_LIMITED_SYNCOM - changes: > - Added the P. parvum CCAP 646/6 plus 15-strain bacterial SynCom from - PMID:42549325, with membership grounded from Supplementary Table S1, - B12-limited mutualism and cobalamin-exchange interactions, nutrient-limited - L1 photobioreactor conditions, ENA and stable DOI datasets, and an open B12 - transfer-route knowledge gap. + changes: 'Added the P. parvum CCAP 646/6 plus 15-strain bacterial SynCom from PMID:42549325, with membership grounded + from Supplementary Table S1, B12-limited mutualism and cobalamin-exchange interactions, nutrient-limited L1 + photobioreactor conditions, ENA and stable DOI datasets, and an open B12 transfer-route knowledge gap. + + ' + llm_assisted: true +- timestamp: '2026-10-07T11:49:19Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve community benefit without outcome-to-transcription causality.; Preserve biosynthesis transcription + with source-attribution discrepancy.; Preserve transporter response without proven transfer or competition.; + Preserve proposed carbon reciprocity as a hypothesis. Issue #1725; reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml' llm_assisted: true diff --git a/kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml b/kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml index 8193795bb..c73f4433b 100644 --- a/kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml +++ b/kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml @@ -178,10 +178,10 @@ taxonomy: Supports PX736765 as the GenBank accession for the PH 16S rRNA sequence. ecological_interactions: - name: RF-PH enhanced aniline degradation - description: >- - The optimized 3:1 RF-PH consortium degraded 500 mg/L aniline more rapidly - within 12 h than either single-strain culture, and also improved 12 h - removal at 1000 mg/L aniline. + description: The optimized 3:1 RF-PH consortium degraded 500 mg/L aniline more rapidly within 12 h than either + single-strain culture, and also improved 12 h removal at 1000 mg/L aniline. These analytical removal outcomes + do not by themselves establish complete mineralization, a catechol pathway or a directional metabolite exchange + between strains. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Pseudomonas sp. RF @@ -196,23 +196,15 @@ ecological_interactions: - reference: PMID:41900437 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - For 500 mg·L−1 aniline, the degradation rate reached 91.28% within 12 h, - representing an increase of 11.33% and 17.02% compared to the degradation - rates achieved by strain RF or strain PH alone, respectively. - explanation: >- - Supports the community-level enhancement of aniline degradation by RF-PH - relative to either monoculture. + snippet: For 500 mg·L−1 aniline, the degradation rate reached 91.28% within 12 h, representing an increase of + 11.33% and 17.02% compared to the degradation rates achieved by strain RF or strain PH alone, respectively. + explanation: Supports the community-level enhancement of aniline degradation by RF-PH relative to either monoculture. - reference: PMID:41900437 supports: SUPPORT evidence_source: IN_VITRO - snippet: >- - For 1000 mg·L−1 aniline, the degradation rate reached 73.06% within 12 h, - representing an increase of 18.25% and 28.04% compared to the degradation - by strain RF or strain PH alone, respectively. - explanation: >- - Supports the RF-PH consortium's enhanced 1000 mg/L aniline degradation - relative to either monoculture. + snippet: For 1000 mg·L−1 aniline, the degradation rate reached 73.06% within 12 h, representing an increase + of 18.25% and 28.04% compared to the degradation by strain RF or strain PH alone, respectively. + explanation: Supports the RF-PH consortium's enhanced 1000 mg/L aniline degradation relative to either monoculture. environmental_factors: - name: RF-PH inoculation ratio value: RF:PH = 3:1 @@ -320,20 +312,42 @@ external_resources: explanation: Identifies the exact primary publication for RF-PH. discussions: - discussion_id: rf_ph_aniline_pairwise_mechanism - prompt: >- - Which molecular mechanisms, if any, connect Pseudomonas sp. RF and - Acidovorax sp. PH to enhanced RF-PH aniline degradation? + prompt: Which molecular mechanisms, if any, connect Pseudomonas sp. RF and Acidovorax sp. PH to enhanced RF-PH + aniline degradation? kind: KNOWLEDGE_GAP status: OPEN attaches_to: - ecological_interactions#RF-PH enhanced aniline degradation - rationale: >- - Pan et al. 2026 reported that RF-PH outperformed either monoculture and - proposed cooperative and complementary characteristics of the two strains, - but did not experimentally identify a transferred intermediate or other + rationale: Pan et al. 2026 reported that RF-PH outperformed either monoculture and proposed cooperative and complementary + characteristics of the two strains, but did not experimentally identify a transferred intermediate or other directional pairwise mechanism. posed_by: codex posed_date: '2026-09-28' +- discussion_id: rf-ph-removal-versus-mineralization + prompt: Does the analytical removal endpoint establish the asserted mineralization pathway? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: The positive consortium-versus-monoculture comparisons remain supported. Main methods quantify residual + aniline, while the conclusion asserts catechol-pathway mineralization without corresponding mechanistic results + in the main text reviewed. Supplements were not inspected, so this is an evidence boundary rather than proof + that no additional data exist. No transferred intermediate, competition or new arrow is inferred; the existing + open-ended mechanism discussion is preserved. + attaches_to: + - ecological_interactions#RF-PH enhanced aniline degradation + evidence: + - reference: PMID:41900437 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: For 500 mg·L−1 aniline, the degradation rate reached 91.28% within 12 h, representing an increase of + 11.33% and 17.02% compared to the degradation rates achieved by strain RF or strain PH alone, respectively. + explanation: Supports the community-level enhancement of aniline degradation by RF-PH relative to either monoculture. + - reference: PMID:41900437 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: For 1000 mg·L−1 aniline, the degradation rate reached 73.06% within 12 h, representing an increase + of 18.25% and 28.04% compared to the degradation by strain RF or strain PH alone, respectively. + explanation: Supports the RF-PH consortium's enhanced 1000 mg/L aniline degradation relative to either monoculture. metals_present: [] rare_earth_elements_present: [] metal_relevance: NOT_APPLICABLE @@ -344,16 +358,17 @@ curation_history: - timestamp: '2026-09-28T08:14:01Z' curator: codex action: ADD_COMMUNITY_RECORD - changes: >- - Added a two-member Pseudomonas sp. RF and Acidovorax sp. PH RF-PH - aniline-degradation SynCom from PMID:41900437. + changes: Added a two-member Pseudomonas sp. RF and Acidovorax sp. PH RF-PH aniline-degradation SynCom from PMID:41900437. llm_assisted: true - timestamp: '2026-09-28T08:21:04Z' curator: codex action: FIX_ADVERSARIAL_REVIEW_FINDINGS - changes: >- - Removed unsupported RF-PH temperature and aerobic-atmosphere fields, added - exact support for the 1000 mg/L enhancement and RF/PH GenBank accession - claims, and reworded the open pairwise-mechanism discussion flagged in - GitHub issues #1189, #1190, #1191, and #1192. + changes: 'Removed unsupported RF-PH temperature and aerobic-atmosphere fields, added exact support for the 1000 + mg/L enhancement and RF/PH GenBank accession claims, and reworded the open pairwise-mechanism discussion flagged + in GitHub issues #1189, #1190, #1191, and #1192.' + llm_assisted: true +- timestamp: '2026-10-07T11:49:21Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve enhanced aniline removal without certifying mineralization or exchange. Issue #1726; reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml' llm_assisted: true diff --git a/kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml b/kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml index 0501acbac..27c445e9e 100644 --- a/kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml +++ b/kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml @@ -256,58 +256,12 @@ taxonomy: OrfN, NfxB- CAZ, and MDR6- CAZ explanation: Maps the source's strain numbers to the eight P. aeruginosa mutant labels. ecological_interactions: -- name: Full-factorial Pseudomonas strain assembly - description: All 256 possible combinations of the eight P. aeruginosa mutants were assembled, diluted into LB medium, and - grown in 96-well plates to quantify strain-context effects on the Abs600 community-function landscape. - scope: COMMUNITY_LEVEL - participating_taxa: - - preferred_term: Pseudomonas aeruginosa pAOV - term: - id: NCBITaxon:287 - label: Pseudomonas aeruginosa - - preferred_term: Pseudomonas aeruginosa PA14 - term: - id: NCBITaxon:287 - label: Pseudomonas aeruginosa - - preferred_term: Pseudomonas aeruginosa NfxB - term: - id: NCBITaxon:287 - label: Pseudomonas aeruginosa - - preferred_term: Pseudomonas aeruginosa ParR-CAZ - term: - id: NCBITaxon:287 - label: Pseudomonas aeruginosa - - preferred_term: Pseudomonas aeruginosa mexZ - term: - id: NCBITaxon:287 - label: Pseudomonas aeruginosa - - preferred_term: Pseudomonas aeruginosa OrfN - term: - id: NCBITaxon:287 - label: Pseudomonas aeruginosa - - preferred_term: Pseudomonas aeruginosa NfxB-CAZ - term: - id: NCBITaxon:287 - label: Pseudomonas aeruginosa - - preferred_term: Pseudomonas aeruginosa MDR6-CAZ - term: - id: NCBITaxon:287 - label: Pseudomonas aeruginosa - evidence: - - reference: PMID:42153623 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: them to assemble all 2 8 strain combinations as described in the main text - explanation: Supports full-factorial assembly of every eight-mutant combination. - - reference: PMID:42153623 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: Samples were incubated still at 37 °C for 40 hr, after which the absorbance spectrum of each sample was quantified - explanation: Supports the incubation endpoint for absorbance-based community-function measurement. - name: Highest-Abs600 00001101 trio - description: The highest Abs600 value in the demonstrator experiment came from consortium 00001101, the three-mutant Pseudomonas - aeruginosa combination containing pAOV, NfxB, and ParR-CAZ; its positive third-order functional interaction is statistical - under the source's additive Abs600 baseline, not a resolved molecular competition mechanism. + description: The highest Abs600 value in the demonstrator experiment came from consortium 00001101, the three-mutant + Pseudomonas aeruginosa combination containing pAOV, NfxB, and ParR-CAZ; its positive third-order functional + interaction is statistical under the source's additive Abs600 baseline, not a resolved molecular competition + mechanism. The ranking is illustrative, with similarly high values in other consortia; absorbance is not a linear + biomass measure across its full range. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Pseudomonas aeruginosa pAOV @@ -326,21 +280,22 @@ ecological_interactions: - reference: PMID:42153623 supports: SUPPORT evidence_source: IN_VITRO - snippet: the consortium with the highest function contains only three strains (consortium 00001101, containing strains - 1, 3, and 4) + snippet: the consortium with the highest function contains only three strains (consortium 00001101, containing + strains 1, 3, and 4) explanation: Identifies the highest-Abs600 strain-number trio in the panel. - reference: PMID:42153623 supports: SUPPORT evidence_source: IN_VITRO - snippet: the three strains engage in a positive third- order functional interaction (see inset in Figure 5E) which rescues - the function of the trio + snippet: the three strains engage in a positive third- order functional interaction (see inset in Figure 5E) + which rescues the function of the trio explanation: Supports a community-level third-order functional interaction in the 1/3/4 high-Abs600 trio. - reference: PMID:42153623 supports: SUPPORT evidence_source: IN_VITRO - snippet: Under this definition, the term interaction should be interpreted in a statistical, rather than biological sense - explanation: Clarifies that the high-Abs600 trio's interaction coefficient is a statistical deviation from an additive - function baseline, not a resolved biological competition mechanism. + snippet: Under this definition, the term interaction should be interpreted in a statistical, rather than biological + sense + explanation: Clarifies that the high-Abs600 trio's interaction coefficient is a statistical deviation from an + additive function baseline, not a resolved biological competition mechanism. growth_media: - name: LB medium temperature: '37' @@ -393,27 +348,52 @@ metal_relevance: NOT_APPLICABLE metal_notes: No metal or rare-earth transformation role is reported for this P. aeruginosa full-factorial panel. discussions: - discussion_id: pseudomonas-full-factorial-mechanism-unresolved - prompt: Which secreted metabolites or contact-dependent mechanisms cause the 00001101 trio's positive third-order functional - interaction? + prompt: What evidence, if any, resolves a biological mechanism behind the statistical phenotype? kind: KNOWLEDGE_GAP status: OPEN attaches_to: - ecological_interactions#Highest-Abs600 00001101 trio - rationale: The eLife study quantified functional effects and interaction coefficients from Abs600 phenotypes, but did not - identify the molecular mechanism behind the positive third-order interaction in the high-Abs600 trio. + rationale: The eLife study quantified functional effects and interaction coefficients from Abs600 phenotypes, + but did not identify the molecular mechanism behind the positive third-order interaction in the high-Abs600 + trio. evidence: - reference: PMID:42153623 supports: SUPPORT evidence_source: IN_VITRO - snippet: This observation highlights the potential of full factorial design to interrogate and generate hypotheses with - respect to the mechanisms that govern the emergence of community- level functions - explanation: The source frames mechanism generation as downstream of the functional factorial measurement rather than - resolved by it. + snippet: This observation highlights the potential of full factorial design to interrogate and generate hypotheses + with respect to the mechanisms that govern the emergence of community- level functions + explanation: The source frames mechanism generation as downstream of the functional factorial measurement rather + than resolved by it. posed_by: codex +- discussion_id: factorial-panel-versus-biological-interaction + prompt: How should an assay panel be distinguished from an individual-community interaction? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: 'Experimental assembly is a method, not a biological interaction, and was removed from the graph. The + existing statistical phenotype remains, without new biological mechanisms or experimental designs. Five canonical + panel members lose the artificial connectivity supplied by the method node; their membership representation + remains #1729. Relevant cached primary results and discussion were read, but fresh full-text retrieval failed. + This review does not independently certify the entire cached paper, raw data or figure pixels.' + attaches_to: + - ecological_interactions#Highest-Abs600 00001101 trio + evidence: + - reference: PMID:42153623 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: Under this definition, the term interaction should be interpreted in a statistical, rather than biological + sense + explanation: Clarifies that the high-Abs600 trio's interaction coefficient is a statistical deviation from an + additive function baseline, not a resolved biological competition mechanism. curation_history: - timestamp: '2026-09-20T22:37:57Z' curator: codex action: CREATE_COMMUNITY_RECORD - changes: Created PMID-backed Pseudomonas aeruginosa eight-mutant full-factorial SynCom record with strain mapping, LB microplate - cultivation, highest-trio interaction, and an unresolved mechanism discussion. + changes: Created PMID-backed Pseudomonas aeruginosa eight-mutant full-factorial SynCom record with strain mapping, + LB microplate cultivation, highest-trio interaction, and an unresolved mechanism discussion. + llm_assisted: true +- timestamp: '2026-10-07T11:49:22Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve the statistical phenotype with illustrative-ranking and absorbance limits. Issue #1727; reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml' llm_assisted: true diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md index 8b0c34c58..c715260f1 100644 --- a/reports/causal_graph_review/README.md +++ b/reports/causal_graph_review/README.md @@ -5,6 +5,25 @@ source-based self-adversarial review. These records are not independent approval or proof that every graph is complete. The current inventory and summary distinguish `reviewed`, `pending` and `needs_research`. +## Batch88: Enrichments, B12, Aniline And Factorial Panel + +[Decisions](decisions/20261007-four-records-batch88.yaml), +[validation](validation-20261007-batch88.json) and +[self-adversarial review](adversarial-review-20261007-batch88.yaml) cover +11 original nodes and six arrows. Ten nodes and four qualified directions remain; +one experimental-method node and two correlation-like arrows are removed. +Positive removal, community outcomes and statistical observations are preserved. +Gene content, transcription and optical density retain their measurement limits. + +Two fresh main texts, two other abstracts and relevant cached factorial-paper +passages were read. The latter are not independent fresh full-text verification. +All 921 caches, 456 other records and raw non-graph blocks are preserved. +Five panel-member disconnection warnings remain visible after method-node removal. +Repairs #1724-#1727 await protected-main merge; source/panel follow-ups +#1728/#1729 and existing re-evidencing #765 remain open. +No new topology, paid Edison job or experimental design was added. +Self-review is not independent approval or whole-corpus completion. + ## Batch87: Wetland, Infant Gut, Rice And Helper Coculture [Decisions](decisions/20261007-four-records-batch87.yaml), diff --git a/reports/causal_graph_review/adversarial-review-20261007-batch88.yaml b/reports/causal_graph_review/adversarial-review-20261007-batch88.yaml new file mode 100644 index 000000000..2fcbbb207 --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261007-batch88.yaml @@ -0,0 +1,387 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: e5ce1f8d359d1690b8cc0bd03d43ff41056f1339 +scope: +- kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml +- kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml +- kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml +- kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml +decision_ledger: reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml +validation_report: reports/causal_graph_review/validation-20261007-batch88.json +findings: +- issue: 1724 + severity: P2 + status: addressed_in_this_change + finding: Bound propanotroph causal graph to abstract-supported selection and removal + disposition: Close only after protected-main merge. +- issue: 1725 + severity: P2 + status: addressed_in_this_change + finding: Separate B12 SynCom outcomes from correlation-like causal arrows + disposition: Close only after protected-main merge. +- issue: 1726 + severity: P2 + status: addressed_in_this_change + finding: Keep RF-PH aniline removal distinct from unverified mineralization + disposition: Close only after protected-main merge. +- issue: 1727 + severity: P2 + status: addressed_in_this_change + finding: Remove factorial assembly workflow from the biological interaction graph + disposition: Close only after protected-main merge. +- issue: 1728 + severity: P2 + status: unresolved_non_graph + finding: Reconcile conflicting B12 producer attribution in the Prymnesium source + disposition: Keep OPEN after graph repairs. +- issue: 1729 + severity: P2 + status: unresolved_non_graph + finding: Clarify factorial assay panel versus individual-community membership + disposition: Keep OPEN after graph repairs. +adversarial_checks: +- Fresh both-root baseline preceded papers; all11originalnodes6arrows have dispositions:10nodes4arrows retained, + one assembly node and two outcome-to-expression directions removed. No new topology or reverse arrows. +- Propanotroph positive removal and genus-selection findings survive. Expression was not examined; gene content + and abundance do not identify active enzymes or cross-feeding. Three existing directions remain with explicit + partial/hypothesized mediation, not blanket deletion of selection findings. +- Prymnesium observed whole-community outcomes and expression responses remain. Correlation-like arrows do not establish + outcome-to-transcription causality. Carbon reciprocity remains the authors hypothesis. No directly measured extracellular + flux or competitive fitness cost is claimed. +- Prymnesium producer attribution is inconsistent across source sections. The disputed participant is omitted without + substituting a new strain. Existing roles and proposed experiments remain outside certification; no new experimental + procedures, genetic designs or growth-optimization details are added. +- Aniline retains the positive monoculture comparisons and previously corrected evidence. Analytical removal is + not proof of complete mineralization or a named pathway; conclusions and main results differ in evidentiary scope. + Supplements were not inspected, so source-exhaustive absence is not claimed. +- Factorial assembly is removed as a workflow. The existing statistical phenotype is preserved with illustrative-ranking + and nonlinear-absorbance limits. The discussion no longer presupposes secreted or contact mechanisms. No biological + mechanism or optimization procedure is invented. +- Five factorial panel members lose artificial connectivity supplied by the method node. Those warnings remain visible + and exact-strain bounded, with metadata1729open. No taxonomy or auditor-rule change and no all-member credit assigned + to a subset outcome. +- Two fresh main texts and two other fresh abstracts read. Factorial relevant cached results/discussion/method passages + read after failed fresh retrieval, not a complete or independent full-text review. Three graph and one discussion + matches are explicitly cache-only. No separate supplements, raw data or figure pixels audited. +- All921caches456otherrecords and raw non-graph blocks preserved; four append-only histories and ten focused tests. + Legacy community-level census unchanged; all51oldwarnings retained with only five expected additions; zero structural + defects. +- Executed local gates and deterministic HTML-description checks are not browser screenshots or generated-model + loader certification. Loader1703remains open. Repairs1724-1727await protected-main merge;765/1728/1729remain open. + No paid Edison job or inferred authorization. Self-review is not independent approval or corpus completion. +verification: + combined_regressions: 796 passed in 321.32s (0:05:21) + new_regression_tests: 10 + primary_graph_snippet_proof: + graph_quotations: 18 + discussion_quotations: 7 + fresh_primary_matches: 21 + cached_only_matches: 4 + retained_nodes: 10 + removed_nodes: 1 + retained_arrows: 4 + removed_arrows: 2 + new_topology: 0 + primary_main_texts_read: 2 + other_primary_abstracts_read: 2 + factorial_access: Relevant existing OA cached passages only; no independent fresh full text or whole-main-body + read. + cache_changes: 0 + references: Four full-record reference-validator runs passed. CLI Total checks counts issues, not executed checks. + Eighteen graph and seven discussion quotations match available primary/cache text;21are independent fresh-primary + matches and4factorial quotes are existing-cache-only. Literal matching is not entailment or full-text certification. + snippet_counts_by_record: + kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml: + MATCH: 18 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml: + MATCH: 41 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml: + MATCH: 17 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml: + MATCH: 18 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + full_corpus_snippet_audit: + caveat: Both-root recipe executed. Informational exit0 does not certify a clean corpus; four focused snippet + gates pass independently. + output: "# 8912 evidence snippets scanned across 460 files\n MATCH 8777\n RENDERING 20\n ASSEMBLED\ + \ 1\n WEAK 0\n MISMATCH 38\n NOCONTENT 76\n\n# Files with MISMATCH/WEAK (content present but\ + \ snippet absent) \u2014 fabrication suspects\n 19 (19 hard) kb/communities/DCPP_DBS4_DCP4_DCP11d_Degradation_SynCom.yaml\n\ + \ 15 (15 hard) kb/communities/Fucoidan_Seven_Degrader_Combinatorial_SynCom.yaml\n 3 (3 hard) kb/communities/Coscinodiscus_Synthetic_Community.yaml\n\ + \ 1 (1 hard) kb/communities/Altered_Schaedler_Flora_Gnotobiotic_Mouse_Community.yaml\nuv run python scripts/evidence_snippet_audit.py\ + \ \n" + network: + existing_findings_preserved: 51 + added_findings: + Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom: + - type: DISCONNECTED + taxon: Pseudomonas aeruginosa MDR6-CAZ + taxon_id: NCBITaxon:287 + taxon_data: + taxon_term: + preferred_term: Pseudomonas aeruginosa MDR6-CAZ + term: + id: NCBITaxon:287 + label: Pseudomonas aeruginosa + gtdb_grounding_status: GROUNDED + gtdb_classification: + gtdb_id: GTDB:s__Pseudomonas_aeruginosa + gtdb_taxon: Pseudomonas aeruginosa + gtdb_lineage: d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas + aeruginosa + ncbi_source_id: NCBITaxon:287 + majority_fraction: 0.99 + total_genomes: 17191 + is_reclassified: false + mapping_source: kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25) + notes: The eLife panel denotes this P. aeruginosa mutant as strain 8; represented at species level for + ontology stability. + strain_designation: + strain_name: MDR6-CAZ + abundance_value: Full-factorial SynCom panel member 8 + evidence: + - reference: PMID:42153623 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14,\ + \ NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ" + explanation: Maps the source's strain numbers to the eight P. aeruginosa mutant labels. + message: Taxon 'Pseudomonas aeruginosa MDR6-CAZ' has no interactions + - type: DISCONNECTED + taxon: Pseudomonas aeruginosa NfxB-CAZ + taxon_id: NCBITaxon:287 + taxon_data: + taxon_term: + preferred_term: Pseudomonas aeruginosa NfxB-CAZ + term: + id: NCBITaxon:287 + label: Pseudomonas aeruginosa + gtdb_grounding_status: GROUNDED + gtdb_classification: + gtdb_id: GTDB:s__Pseudomonas_aeruginosa + gtdb_taxon: Pseudomonas aeruginosa + gtdb_lineage: d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas + aeruginosa + ncbi_source_id: NCBITaxon:287 + majority_fraction: 0.99 + total_genomes: 17191 + is_reclassified: false + mapping_source: kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25) + notes: The eLife panel denotes this P. aeruginosa mutant as strain 7; represented at species level for + ontology stability. + strain_designation: + strain_name: NfxB-CAZ + abundance_value: Full-factorial SynCom panel member 7 + evidence: + - reference: PMID:42153623 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14,\ + \ NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ" + explanation: Maps the source's strain numbers to the eight P. aeruginosa mutant labels. + message: Taxon 'Pseudomonas aeruginosa NfxB-CAZ' has no interactions + - type: DISCONNECTED + taxon: Pseudomonas aeruginosa OrfN + taxon_id: NCBITaxon:287 + taxon_data: + taxon_term: + preferred_term: Pseudomonas aeruginosa OrfN + term: + id: NCBITaxon:287 + label: Pseudomonas aeruginosa + gtdb_grounding_status: GROUNDED + gtdb_classification: + gtdb_id: GTDB:s__Pseudomonas_aeruginosa + gtdb_taxon: Pseudomonas aeruginosa + gtdb_lineage: d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas + aeruginosa + ncbi_source_id: NCBITaxon:287 + majority_fraction: 0.99 + total_genomes: 17191 + is_reclassified: false + mapping_source: kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25) + notes: The eLife panel denotes this P. aeruginosa mutant as strain 6; represented at species level for + ontology stability. + strain_designation: + strain_name: OrfN + abundance_value: Full-factorial SynCom panel member 6 + evidence: + - reference: PMID:42153623 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14,\ + \ NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ" + explanation: Maps the source's strain numbers to the eight P. aeruginosa mutant labels. + message: Taxon 'Pseudomonas aeruginosa OrfN' has no interactions + - type: DISCONNECTED + taxon: Pseudomonas aeruginosa PA14 + taxon_id: NCBITaxon:287 + taxon_data: + taxon_term: + preferred_term: Pseudomonas aeruginosa PA14 + term: + id: NCBITaxon:287 + label: Pseudomonas aeruginosa + gtdb_grounding_status: GROUNDED + gtdb_classification: + gtdb_id: GTDB:s__Pseudomonas_aeruginosa + gtdb_taxon: Pseudomonas aeruginosa + gtdb_lineage: d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas + aeruginosa + ncbi_source_id: NCBITaxon:287 + majority_fraction: 0.99 + total_genomes: 17191 + is_reclassified: false + mapping_source: kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25) + notes: The eLife panel denotes this P. aeruginosa mutant as strain 2; represented at species level for + ontology stability. + strain_designation: + strain_name: PA14 + abundance_value: Full-factorial SynCom panel member 2 + evidence: + - reference: PMID:42153623 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14,\ + \ NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ" + explanation: Maps the source's strain numbers to the eight P. aeruginosa mutant labels. + message: Taxon 'Pseudomonas aeruginosa PA14' has no interactions + - type: DISCONNECTED + taxon: Pseudomonas aeruginosa mexZ + taxon_id: NCBITaxon:287 + taxon_data: + taxon_term: + preferred_term: Pseudomonas aeruginosa mexZ + term: + id: NCBITaxon:287 + label: Pseudomonas aeruginosa + gtdb_grounding_status: GROUNDED + gtdb_classification: + gtdb_id: GTDB:s__Pseudomonas_aeruginosa + gtdb_taxon: Pseudomonas aeruginosa + gtdb_lineage: d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas + aeruginosa + ncbi_source_id: NCBITaxon:287 + majority_fraction: 0.99 + total_genomes: 17191 + is_reclassified: false + mapping_source: kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25) + notes: The eLife panel denotes this P. aeruginosa mutant as strain 5; represented at species level for + ontology stability. + strain_designation: + strain_name: mexZ + abundance_value: Full-factorial SynCom panel member 5 + evidence: + - reference: PMID:42153623 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14,\ + \ NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ" + explanation: Maps the source's strain numbers to the eight P. aeruginosa mutant labels. + message: Taxon 'Pseudomonas aeruginosa mexZ' has no interactions + removed_findings: {} + interpretation: Five panel-member disconnections exposed by removal of a method node; all51existing findings + preserved. Zero structural defects. No taxonomy or auditor-rule changes. Follow-up1729remains open. + tested_file_sha256: + reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml: ce41340909e65c676be7e53756385800335224b44432760dacd3a4ca98179429 + tests/test_causal_review_batch88.py: d5c366e8b3861feaabe007572761be4230532f05fe5a3e02d7b5b408c5476b5c + kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml: 38f4a9e4e2c7293f477bbb3e387470a35fe4257b7ec93678185b67a20fbd8d2a + kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml: 2e1d674f45e85230bfdd1d05aeb6f6c6b0f58b44fb478515d13b3aa7535c1225 + kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml: a7a32d2a84066629338c1735cea5104beac14a152498c123567349b8cbf7be34 + kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml: 5771a8a97beb8ccb19b6cccad32062d896b09747ce0670788686060481cf68b9 + reports/causal_graph_review/README.md: 600afb965f75db6aa5414d865b897dcbf4abcdad570040490ce594260c749b7e + unchanged_records: 456 + unchanged_caches: 921 + cache_changes: [] + edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] + post_commit_docs_current: Separate publication gate, not preasserted. +participant_census: + measurements: + baseline: + records: 460 + with_community_level: 395 + mixed: 126 + community_level_only: 269 + taxa: 1521 + credited_solely_by_the_rule: 1247 + current: + records: 460 + with_community_level: 395 + mixed: 126 + community_level_only: 269 + taxa: 1521 + credited_solely_by_the_rule: 1247 + delta: + records: 0 + with_community_level: 0 + mixed: 0 + community_level_only: 0 + taxa: 0 + credited_solely_by_the_rule: 0 + interpretation: Community-level legacy census unchanged; explicit participant credit exposes five disconnected + panel members. No canonical taxon or auditor-rule change. +corpus: + records: 460 + nodes: 1422 + edges: 584 + review_status_counts: + needs_research: 48 + pending: 140 + reviewed: 272 +limitations: +- Fresh both-root baseline before papers:460records921caches1423nodes586arrows51warnings0structural defects. All11originalnodes6arrows + reviewed;10nodes4arrows retained, one assembly-method node and two correlation-like directions removed. +- Prymnesium and aniline primary abstract/main text with embedded captions read from fresh EuropePMC XML. Separate + supplements, raw data and figure pixels not audited. Propanotroph uses only the fresh abstract; paywalled body + not retrieved. +- Factorial fresh abstract and relevant existing OA cached primary passages read. XML500 after bounded retries; + publisher API and author-hosted PDF404. Publisher search independently exposed statistical-not-biological wording, + but no independently retrieved full paper or complete-main-text review is claimed. Three graph and one new discussion + quotations are cache-only matches, not independent fresh verification. +- Propanotroph positive removal and substrate-linked selection remain; genus dominance and gene content do not identify + active enzymes or partner exchange. All three existing directions are retained with partial or hypothesized mediation. + Non-graph re-evidencing remains existing765. +- Prymnesium community outcomes and transcript observations remain. Two outcome-to-expression arrows are removed + without reversing them. Carbon reciprocity remains an explicit hypothesis; transcription does not measure flux + or competitive fitness. One disputed producer is omitted, not replaced. Existing non-graph roles and proposed + experiments are not certified; no new mechanisms, procedures or optimization designs were added. +- 'Aniline measured removal and prior monoculture evidence survive; the conclusion asserts a mineralization pathway + absent from the main results reviewed. No source-exhaustive absence claim: supplements not read. Factorial statistical + phenotype remains; assembly is not an interaction, ranking is illustrative and absorbance need not be linear in + biomass.' +- 456otherrecords, all921caches and raw non-graph blocks preserved. Five factorial disconnection warnings are expected + after removal of the all-panel method node; no fabricated participant credit or auditor-rule changes. Panel metadata + follow-up remains open. +- Dedup995all-state issue titles/bodies and25ignored/hidden local matches, excluding.git/docs/site/references_cache. + Relevant caches separately read. Prior754/765/1189-1192 and matching validation/rendering issues reviewed; comments + and PR search not exhaustive. +- No new nodes or causal directions, Edison dry runs or provider submissions. Earlier pending/denied spend scopes + remain unchanged. Four repair issues close only after protected-main merge; producer/panel follow-ups and765remain + open. +- Validation, rendering, publication and exact-head review are subsequent gates, not preasserted. Self-adversarial + review is not independent approval, generated-model loader certification or corpus completion. Loader1703 remains + open. diff --git a/reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml b/reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml new file mode 100644 index 000000000..e3b13d0e3 --- /dev/null +++ b/reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml @@ -0,0 +1,570 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +source_access: +- reference: doi:10.1016/j.jenvman.2026.129957 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=DOI%3A10.1016%2Fj.jenvman.2026.129957&format=json&resultType=core + accessed_scope: Primary abstract only; full text not available through Europe PMC. + fulltext_error: null +- reference: PMID:42549325 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13431280/fullTextXML + accessed_scope: Primary abstract and complete main body, embedded tables and captions; not separate supplements, + raw data or original figure pixels. + fulltext_error: null +- reference: PMID:41900437 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13029111/fullTextXML + accessed_scope: Primary abstract and complete main body, embedded tables and captions; not separate supplements, + raw data or original figure pixels. + fulltext_error: null +- reference: PMID:42153623 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A42153623+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Primary abstract only; full text not available through Europe PMC. + fulltext_error: Primary XML request returned HTTP500; no full text retrieved. +- reference: PMID:42153623 + url: https://elifesciences.org/articles/101906 + accessed_scope: 'Fresh abstract plus existing OA cache: title/version/license, relevant results, statistical interpretation, + discussion and cited method passages read. Publisher web initially challenged, EuropePMC XML500, publisher API + and author PDF404. No independently retrieved full text, complete main-body read or figure-pixel review.' +base_commit: e5ce1f8d359d1690b8cc0bd03d43ff41056f1339 +baseline_commit: e5ce1f8d359d1690b8cc0bd03d43ff41056f1339 +base_tree: a25c6e84b443814b0b2df2493de09e003fda7864 +pre_source_baseline_sha256: 3fa8aa37deac36fd25a3a4b1b3bd8fb96b04141577654e1c0f6af59ca1ffbc7d +issues: +- 1724 +- 1725 +- 1726 +- 1727 +unresolved_research_issues: [] +unresolved_non_graph_issues: +- 765 +- 1728 +- 1729 +issue_deduplication: + all_state_issue_titles_and_bodies: 995 + ignored_hidden_local_search: true + matching_issues: + - 1192 + - 1191 + - 1190 + - 1189 + - 985 + - 984 + - 923 + - 921 + - 920 + - 918 + - 917 + - 765 + - 754 + - 310 +primary_artifacts: + /private/tmp/communitymech-batch88/aniline-metadata.json: 08db57a919f99c55877877f988d34a9ca579e88f498d05a61b9131697f7ba270 + /private/tmp/communitymech-batch88/aniline-primary.txt: 9c5dc1720c522b9a15812de3ed69eec026f2c60d883c5f584ffb8dbdd57ef7e2 + /private/tmp/communitymech-batch88/aniline-primary.xml: 39325aff7a9d2515247290138155ab517460f3b7ad93970f2fed3f55a2ab4f2b + /private/tmp/communitymech-batch88/aniline-tables.txt: ddd7120bc311b8cdc379a006074a8db717c18bf9087e48b1ee5cc4a72a9440f8 + /private/tmp/communitymech-batch88/baseline.json: 3fa8aa37deac36fd25a3a4b1b3bd8fb96b04141577654e1c0f6af59ca1ffbc7d + /private/tmp/communitymech-batch88/created-issues.json: 6b7aaca29b2a7c984473cb47a31795261406b759dcdc4db8a94d1df3df8d5ea8 + /private/tmp/communitymech-batch88/factorial-metadata.json: 725a152f93225f123ae6b1535b8225cc9c96dd12bea1e471003fd33f1e691c5c + /private/tmp/communitymech-batch88/factorial-primary.txt: e1eb2ec7f4d3f34e45f32b086caa4114398a2a723ef01cd72dba2a81488188f4 + /private/tmp/communitymech-batch88/issue-matches-current.json: 11c909ee1c472be7b8472c035338f5a6d100c5d143fae2430b64744e2683c210 + /private/tmp/communitymech-batch88/issue-matches.json: 11c909ee1c472be7b8472c035338f5a6d100c5d143fae2430b64744e2683c210 + /private/tmp/communitymech-batch88/issues-current.json: 21a4e9fdc55877d14d65ca1af6988e03b33ece07d15a12dada6f73d06588084d + /private/tmp/communitymech-batch88/issues.json: 16560bb0ae66f851906f30b9616e796eb29c7fd26fffdb02d8452ef2f4a2adf3 + /private/tmp/communitymech-batch88/local-matches-current.txt: 8d4cb4df81fd0d6a76f368024b9a4bb4cb5b936d64f2ecc4f068cd68622d9a04 + /private/tmp/communitymech-batch88/local-matches.txt: 91484c72674a8fc3314e8927b764642f9c4995303d051ab8403c08df6befde24 + /private/tmp/communitymech-batch88/primary-manifest.json: 80440d28dc04e355d4dd1b652feb937e667544aeefbff09bb46d9aa9daaded94 + /private/tmp/communitymech-batch88/propane-metadata.json: 65f9073f8a322d8288b2adf657a2c8082cd87f8dc9ae89bdbb15092ac3136c59 + /private/tmp/communitymech-batch88/propane-primary.txt: 39f0a9ed4cb9783d690e38f61b689712221eb6ed0fc0e6b0bcbe4989534e877c + /private/tmp/communitymech-batch88/prymnesium-metadata.json: 68a635e2f892e0f2eaeace6d5f72812457720ffc987ac45a21114dcb8c1406a9 + /private/tmp/communitymech-batch88/prymnesium-primary.txt: 9338452f89d9ec45a5ecde332cd3038027d9a7e082ab03125c1ae5b611946e35 + /private/tmp/communitymech-batch88/prymnesium-primary.xml: f262d016581f7ff17a143b40cac214b6923ffab800e7d1e53ce5e909652f1c5f + /private/tmp/communitymech-batch88/prymnesium-tables.txt: b5f166f4e78536626320343bbdf35bdd9ad3162f1f40e23849973dcbfdd1832b + references_cache/PMID_41900437.txt: ba23852273f0b13cef239f4ae8c7c01781c765a2ea25b122bd43fc278bdda242 + references_cache/PMID_42153623.txt: 8b6c4c4a3a0281d82c0d0b4bfe04c5eac30b744098ee1cba15ab6aa9123e7bac + references_cache/PMID_42549325.txt: a89202a5efcabd780b32998d1adff83552c725b9145e8f25d40280bd89510191 + references_cache/doi_10.1016_j.jenvman.2026.129957.md: 6a3b569ebdd1849cc74ca8ddec5c203f466383ec5ff09cbe07000c61d111cd86 +primary_graph_snippet_count: 18 +snippet_checks: +- record: Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment + node: TCE Removal in Rhodococcus-Dominated Enrichments + evidence_index: 0 + reference: doi:10.1016/j.jenvman.2026.129957 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/propane-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment + node: TCE Removal in Rhodococcus-Dominated Enrichments + evidence_index: 1 + reference: doi:10.1016/j.jenvman.2026.129957 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/propane-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment + node: cDCE Removal in Mycobacterium and Mycolicibacterium Enrichments + evidence_index: 0 + reference: doi:10.1016/j.jenvman.2026.129957 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/propane-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment + node: Substrate-Specific Selection Across Chlorinated Ethenes + evidence_index: 0 + reference: doi:10.1016/j.jenvman.2026.129957 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/propane-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment + node: Substrate-Specific Selection Across Chlorinated Ethenes + evidence_index: 1 + reference: doi:10.1016/j.jenvman.2026.129957 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/propane-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment + node: 1,1-DCE-Driven Inhibition of Propanotrophs + evidence_index: 0 + reference: doi:10.1016/j.jenvman.2026.129957 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/propane-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Prymnesium_Parvum_B12_Limited_SynCom + node: B12-limited holobiont mutualism + evidence_index: 0 + reference: PMID:42549325 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/prymnesium-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Prymnesium_Parvum_B12_Limited_SynCom + node: B12-limited holobiont mutualism + evidence_index: 1 + reference: PMID:42549325 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/prymnesium-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Prymnesium_Parvum_B12_Limited_SynCom + node: Cobalamin biosynthesis by B12-producing SynCom members + evidence_index: 0 + reference: PMID:42549325 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/prymnesium-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Prymnesium_Parvum_B12_Limited_SynCom + node: Cobalamin biosynthesis by B12-producing SynCom members + evidence_index: 1 + reference: PMID:42549325 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/prymnesium-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Prymnesium_Parvum_B12_Limited_SynCom + node: Auxotrophic SynCom B12 acquisition + evidence_index: 0 + reference: PMID:42549325 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/prymnesium-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Prymnesium_Parvum_B12_Limited_SynCom + node: Auxotrophic SynCom B12 acquisition + evidence_index: 1 + reference: PMID:42549325 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/prymnesium-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Prymnesium_Parvum_B12_Limited_SynCom + node: Algal organic-matter support of heterotrophic bacteria + evidence_index: 0 + reference: PMID:42549325 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/prymnesium-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Acidovorax_Aniline_Degradation_SynCom + node: RF-PH enhanced aniline degradation + evidence_index: 0 + reference: PMID:41900437 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/aniline-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Acidovorax_Aniline_Degradation_SynCom + node: RF-PH enhanced aniline degradation + evidence_index: 1 + reference: PMID:41900437 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/aniline-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom + node: Highest-Abs600 00001101 trio + evidence_index: 0 + reference: PMID:42153623 + cache_matched: true + independent_primary_match: false + matched_artifact: references_cache/PMID_42153623.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom + node: Highest-Abs600 00001101 trio + evidence_index: 1 + reference: PMID:42153623 + cache_matched: true + independent_primary_match: false + matched_artifact: references_cache/PMID_42153623.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom + node: Highest-Abs600 00001101 trio + evidence_index: 2 + reference: PMID:42153623 + cache_matched: true + independent_primary_match: false + matched_artifact: references_cache/PMID_42153623.txt + method: Normalized contiguous match; literal match is not scientific entailment. +discussion_snippet_checks: +- record: Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment + node: propanotroph-selection-versus-active-transformation + evidence_index: 0 + reference: doi:10.1016/j.jenvman.2026.129957 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/propane-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment + node: propanotroph-selection-versus-active-transformation + evidence_index: 1 + reference: doi:10.1016/j.jenvman.2026.129957 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/propane-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Prymnesium_Parvum_B12_Limited_SynCom + node: b12-transcripts-and-source-attribution + evidence_index: 0 + reference: PMID:42549325 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/prymnesium-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Prymnesium_Parvum_B12_Limited_SynCom + node: b12-transcripts-and-source-attribution + evidence_index: 1 + reference: PMID:42549325 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/prymnesium-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Acidovorax_Aniline_Degradation_SynCom + node: rf-ph-removal-versus-mineralization + evidence_index: 0 + reference: PMID:41900437 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/aniline-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Acidovorax_Aniline_Degradation_SynCom + node: rf-ph-removal-versus-mineralization + evidence_index: 1 + reference: PMID:41900437 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch88/aniline-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom + node: factorial-panel-versus-biological-interaction + evidence_index: 0 + reference: PMID:42153623 + cache_matched: true + independent_primary_match: false + matched_artifact: references_cache/PMID_42153623.txt + method: Normalized contiguous match; literal match is not scientific entailment. +cache_changes: [] +edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] +limitations: +- Fresh both-root baseline before papers:460records921caches1423nodes586arrows51warnings0structural defects. All11originalnodes6arrows + reviewed;10nodes4arrows retained, one assembly-method node and two correlation-like directions removed. +- Prymnesium and aniline primary abstract/main text with embedded captions read from fresh EuropePMC XML. Separate + supplements, raw data and figure pixels not audited. Propanotroph uses only the fresh abstract; paywalled body + not retrieved. +- Factorial fresh abstract and relevant existing OA cached primary passages read. XML500 after bounded retries; + publisher API and author-hosted PDF404. Publisher search independently exposed statistical-not-biological wording, + but no independently retrieved full paper or complete-main-text review is claimed. Three graph and one new discussion + quotations are cache-only matches, not independent fresh verification. +- Propanotroph positive removal and substrate-linked selection remain; genus dominance and gene content do not identify + active enzymes or partner exchange. All three existing directions are retained with partial or hypothesized mediation. + Non-graph re-evidencing remains existing765. +- Prymnesium community outcomes and transcript observations remain. Two outcome-to-expression arrows are removed + without reversing them. Carbon reciprocity remains an explicit hypothesis; transcription does not measure flux + or competitive fitness. One disputed producer is omitted, not replaced. Existing non-graph roles and proposed + experiments are not certified; no new mechanisms, procedures or optimization designs were added. +- 'Aniline measured removal and prior monoculture evidence survive; the conclusion asserts a mineralization pathway + absent from the main results reviewed. No source-exhaustive absence claim: supplements not read. Factorial statistical + phenotype remains; assembly is not an interaction, ranking is illustrative and absorbance need not be linear in + biomass.' +- 456otherrecords, all921caches and raw non-graph blocks preserved. Five factorial disconnection warnings are expected + after removal of the all-panel method node; no fabricated participant credit or auditor-rule changes. Panel metadata + follow-up remains open. +- Dedup995all-state issue titles/bodies and25ignored/hidden local matches, excluding.git/docs/site/references_cache. + Relevant caches separately read. Prior754/765/1189-1192 and matching validation/rendering issues reviewed; comments + and PR search not exhaustive. +- No new nodes or causal directions, Edison dry runs or provider submissions. Earlier pending/denied spend scopes + remain unchanged. Four repair issues close only after protected-main merge; producer/panel follow-ups and765remain + open. +- Validation, rendering, publication and exact-head review are subsequent gates, not preasserted. Self-adversarial + review is not independent approval, generated-model loader certification or corpus completion. Loader1703 remains + open. +records: +- path: kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml + id: CommunityMech:000271 + original_sha256: 21dac4771b0eed96f72c4baf038c1dfb5b92298c0dfa43ba408b95c390eb2640 + record_sha256: 38f4a9e4e2c7293f477bbb3e387470a35fe4257b7ec93678185b67a20fbd8d2a + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Preserve TCE removal and Rhodococcus dominance without assigning active enzymes.; Preserve cDCE removal + and genus dominance without invented exchange.; Preserve substrate selection and qualify its mediation of function.; + Preserve restricted DCE removal and qualify toxicity and selection. + renamed_nodes: + Propane-Cometabolic TCE Degradation by Rhodococcus: TCE Removal in Rhodococcus-Dominated Enrichments + Propane-Cometabolic cDCE Degradation by Mycolicibacterium and Mycobacterium: cDCE Removal in Mycobacterium and + Mycolicibacterium Enrichments + node_decisions: + - node: TCE Removal in Rhodococcus-Dominated Enrichments + original_node: Propane-Cometabolic TCE Degradation by Rhodococcus + rationale: Preserve TCE removal and Rhodococcus dominance without assigning active enzymes. + - node: cDCE Removal in Mycobacterium and Mycolicibacterium Enrichments + original_node: Propane-Cometabolic cDCE Degradation by Mycolicibacterium and Mycobacterium + rationale: Preserve cDCE removal and genus dominance without invented exchange. + - node: Substrate-Specific Selection Across Chlorinated Ethenes + original_node: Substrate-Specific Selection Across Chlorinated Ethenes + rationale: Preserve substrate selection and qualify its mediation of function. + - node: 1,1-DCE-Driven Inhibition of Propanotrophs + original_node: 1,1-DCE-Driven Inhibition of Propanotrophs + rationale: Preserve restricted DCE removal and qualify toxicity and selection. + removed_node_decisions: [] + edges_before: + - source: Substrate-Specific Selection Across Chlorinated Ethenes + target: Propane-Cometabolic TCE Degradation by Rhodococcus + description: 'TCE-specific pressure selected Rhodococcus-dominated enrichments that carried group-5 propane + monooxygenase operons and sustained propane-driven TCE cometabolism. + + ' + - source: Substrate-Specific Selection Across Chlorinated Ethenes + target: Propane-Cometabolic cDCE Degradation by Mycolicibacterium and Mycobacterium + description: 'cDCE-specific pressure selected Mycolicibacterium/Mycobacterium enrichments that dominated the + cDCE-amended transfers and carried propane monooxygenase operons. + + ' + - source: 1,1-DCE-Driven Inhibition of Propanotrophs + target: Substrate-Specific Selection Across Chlorinated Ethenes + description: 1,1-DCE toxicity restricted which propanotrophic cultures persisted, contributing to the broader + chlorinated-ethene-specific selection of distinct actinobacterial genera. + edges_after: + - source: Substrate-Specific Selection Across Chlorinated Ethenes + target: TCE Removal in Rhodococcus-Dominated Enrichments + description: 'PARTIAL: substrate-specific selection is the authors explanation for Rhodococcus-dominated communities + sustaining TCE transformation. The abstract supports the treatment-linked structure/function pattern, not + isolated taxon or enzyme mediation.' + - source: Substrate-Specific Selection Across Chlorinated Ethenes + target: cDCE Removal in Mycobacterium and Mycolicibacterium Enrichments + description: 'PARTIAL: substrate-specific selection is the authors explanation for Mycobacterium/Mycolicibacterium-dominated + communities sustaining cDCE transformation. Dominance does not identify the active organism or monooxygenase.' + - source: 1,1-DCE-Driven Inhibition of Propanotrophs + target: Substrate-Specific Selection Across Chlorinated Ethenes + description: 'HYPOTHESIZED: inhibition could contribute to substrate-dependent selection by restricting community + function. The abstract does not isolate toxicity as the cause of taxonomic replacement.' + retained_edge_decisions: + - source: Substrate-Specific Selection Across Chlorinated Ethenes + target: TCE Removal in Rhodococcus-Dominated Enrichments + description: 'PARTIAL: substrate-specific selection is the authors explanation for Rhodococcus-dominated communities + sustaining TCE transformation. The abstract supports the treatment-linked structure/function pattern, not + isolated taxon or enzyme mediation.' + rationale: Existing direction preserved at explicitly stated evidence scope; no new topology. + - source: Substrate-Specific Selection Across Chlorinated Ethenes + target: cDCE Removal in Mycobacterium and Mycolicibacterium Enrichments + description: 'PARTIAL: substrate-specific selection is the authors explanation for Mycobacterium/Mycolicibacterium-dominated + communities sustaining cDCE transformation. Dominance does not identify the active organism or monooxygenase.' + rationale: Existing direction preserved at explicitly stated evidence scope; no new topology. + - source: 1,1-DCE-Driven Inhibition of Propanotrophs + target: Substrate-Specific Selection Across Chlorinated Ethenes + description: 'HYPOTHESIZED: inhibition could contribute to substrate-dependent selection by restricting community + function. The abstract does not isolate toxicity as the cause of taxonomic replacement.' + rationale: Existing direction preserved at explicitly stated evidence scope; no new topology. + removed_edge_decisions: [] + references: + - doi:10.1016/j.jenvman.2026.129957 + issues: + - 1724 + - 765 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment/2026-10-07T114922Z-codex-78f592.yaml +- path: kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml + id: CommunityMech:000381 + original_sha256: e9ebc8f9222bf415ff85fde9a884dde98c23d4ebfbbd0ea03bd2e2f6af570ae6 + record_sha256: 2e1d674f45e85230bfdd1d05aeb6f6c6b0f58b44fb478515d13b3aa7535c1225 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Preserve community benefit without outcome-to-transcription causality.; Preserve biosynthesis transcription + with source-attribution discrepancy.; Preserve transporter response without proven transfer or competition.; + Preserve proposed carbon reciprocity as a hypothesis. + renamed_nodes: {} + node_decisions: + - node: B12-limited holobiont mutualism + original_node: B12-limited holobiont mutualism + rationale: Preserve community benefit without outcome-to-transcription causality. + - node: Cobalamin biosynthesis by B12-producing SynCom members + original_node: Cobalamin biosynthesis by B12-producing SynCom members + rationale: Preserve biosynthesis transcription with source-attribution discrepancy. + - node: Auxotrophic SynCom B12 acquisition + original_node: Auxotrophic SynCom B12 acquisition + rationale: Preserve transporter response without proven transfer or competition. + - node: Algal organic-matter support of heterotrophic bacteria + original_node: Algal organic-matter support of heterotrophic bacteria + rationale: Preserve proposed carbon reciprocity as a hypothesis. + removed_node_decisions: [] + edges_before: + - source: B12-limited holobiont mutualism + target: Cobalamin biosynthesis by B12-producing SynCom members + description: 'The B12-limited rescue corresponded to B12-producing bacteria upregulating the cobalamin biosynthetic + pathway under B12 limitation. + + ' + - source: B12-limited holobiont mutualism + target: Auxotrophic SynCom B12 acquisition + description: 'B12 exchanged in the holobiont also fed non-producing bacterial partners that induced B12 transport + and B12-dependent functions. + + ' + - source: Algal organic-matter support of heterotrophic bacteria + target: B12-limited holobiont mutualism + description: 'Bacterial dependence on algal organic matter made B12 biosynthesis part of a reciprocal holobiont + interaction rather than one-way vitamin rescue. + + ' + edges_after: + - source: Algal organic-matter support of heterotrophic bacteria + target: B12-limited holobiont mutualism + description: 'HYPOTHESIZED: algal organic-matter support could contribute to the reported reciprocal community + benefit. This existing direction expresses the authors interpretation, not a directly traced carbon flux or + proof of each partners contribution.' + retained_edge_decisions: + - source: Algal organic-matter support of heterotrophic bacteria + target: B12-limited holobiont mutualism + description: 'HYPOTHESIZED: algal organic-matter support could contribute to the reported reciprocal community + benefit. This existing direction expresses the authors interpretation, not a directly traced carbon flux or + proof of each partners contribution.' + rationale: Existing direction preserved at explicitly stated evidence scope; no new topology. + removed_edge_decisions: + - source: B12-limited holobiont mutualism + target: Cobalamin biosynthesis by B12-producing SynCom members + description: 'The B12-limited rescue corresponded to B12-producing bacteria upregulating the cobalamin biosynthetic + pathway under B12 limitation. + + ' + rationale: Correspondence of a composite outcome and expression does not establish this direction; no reverse + arrow substituted. + - source: B12-limited holobiont mutualism + target: Auxotrophic SynCom B12 acquisition + description: 'B12 exchanged in the holobiont also fed non-producing bacterial partners that induced B12 transport + and B12-dependent functions. + + ' + rationale: Correspondence of a composite outcome and expression does not establish this direction; no reverse + arrow substituted. + references: + - PMID:42549325 + issues: + - 1725 + - 1728 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Prymnesium_Parvum_B12_Limited_SynCom/2026-10-07T114922Z-codex-8f2684.yaml +- path: kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml + id: CommunityMech:000461 + original_sha256: bb49ae139972e06c576cc613c4c20ca6704e6be79754707166b57a4c7c3a39cd + record_sha256: a7a32d2a84066629338c1735cea5104beac14a152498c123567349b8cbf7be34 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Preserve enhanced aniline removal without certifying mineralization or exchange. + renamed_nodes: {} + node_decisions: + - node: RF-PH enhanced aniline degradation + original_node: RF-PH enhanced aniline degradation + rationale: Preserve enhanced aniline removal without certifying mineralization or exchange. + removed_node_decisions: [] + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - PMID:41900437 + issues: + - 1726 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom/2026-10-07T114923Z-codex-1490f6.yaml +- path: kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml + id: CommunityMech:000399 + original_sha256: e2836674b81d233b301a8ef7951ad78910a462011fc36b0b995dec5fb2d6959c + record_sha256: 5771a8a97beb8ccb19b6cccad32062d896b09747ce0670788686060481cf68b9 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Preserve the statistical phenotype with illustrative-ranking and absorbance limits. + renamed_nodes: {} + node_decisions: + - node: Highest-Abs600 00001101 trio + original_node: Highest-Abs600 00001101 trio + rationale: Preserve the statistical phenotype with illustrative-ranking and absorbance limits. + removed_node_decisions: + - node: Full-factorial Pseudomonas strain assembly + rationale: Experimental assembly is a workflow, not a biological interaction; the positive statistical phenotype + remains. + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - PMID:42153623 + issues: + - 1727 + - 1729 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom/2026-10-07T114923Z-codex-9805f1.yaml diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index 7f1560350..cea27dcd7 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -316,10 +316,10 @@ kb/communities/Prairie_Pothole_Wetland_Sulfur_Carbon_Virus_Community.yaml Commun kb/communities/Premature_Infant_Gut_Escherichia_Diametric_Ratio_Community.yaml CommunityMech:000253 3e501c7d6ab82739e66c7d78b1191589c2a784ebb8dc12b820f0b319cf2a1abf 1 0 65.0 reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml reviewed kb/communities/Priestia_Pseudomonas_Rice_Arsenic_Stress_SynCom.yaml CommunityMech:000341 ff8f7cc7901006581e7df1c86ec9a4ddb371cde42fe0d48e0212de275860cf91 2 0 60.0 reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml reviewed kb/communities/Prochlorococcus_Alteromonas_Helper_Coculture.yaml CommunityMech:000131 e61cbc9c58aa1d2fbd87cda0251d7ffb3d22fedb5837387d6b28ed9c56f3d801 3 2 90.0 reports/causal_graph_review/decisions/20261007-four-records-batch87.yaml reviewed -kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml CommunityMech:000271 21dac4771b0eed96f72c4baf038c1dfb5b92298c0dfa43ba408b95c390eb2640 4 3 100.0 pending -kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml CommunityMech:000381 e9ebc8f9222bf415ff85fde9a884dde98c23d4ebfbbd0ea03bd2e2f6af570ae6 4 3 100.0 pending -kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml CommunityMech:000461 bb49ae139972e06c576cc613c4c20ca6704e6be79754707166b57a4c7c3a39cd 1 0 50.0 pending -kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml CommunityMech:000399 e2836674b81d233b301a8ef7951ad78910a462011fc36b0b995dec5fb2d6959c 2 0 55.0 pending +kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml CommunityMech:000271 38f4a9e4e2c7293f477bbb3e387470a35fe4257b7ec93678185b67a20fbd8d2a 4 3 90.0 reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml reviewed +kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml CommunityMech:000381 2e1d674f45e85230bfdd1d05aeb6f6c6b0f58b44fb478515d13b3aa7535c1225 4 1 80.0 reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml reviewed +kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml CommunityMech:000461 a7a32d2a84066629338c1735cea5104beac14a152498c123567349b8cbf7be34 1 0 50.0 reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml reviewed +kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml CommunityMech:000399 5771a8a97beb8ccb19b6cccad32062d896b09747ce0670788686060481cf68b9 1 0 46.9 reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml reviewed kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml CommunityMech:000324 df94e7e995841938132c248776904c40913407fd64c6ada8568637a89980da94 3 2 100.0 pending kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml CommunityMech:000372 e5f837ca242988b221aca45977dfb73c915b025de96adae3f7f86ea0b0ceea8c 1 0 65.0 pending kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml CommunityMech:000331 14a965d6dd69ada1059993525f7676424a0dd9c0932fade77d496523c89f6b92 3 2 100.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index bd717b872..ebe74aa77 100644 --- a/reports/causal_graph_review/summary.json +++ b/reports/causal_graph_review/summary.json @@ -2,14 +2,14 @@ "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", "semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.", "records": 460, - "nodes": 1423, - "edges": 586, + "nodes": 1422, + "edges": 584, "records_without_nodes": 8, "records_without_edges": 173, "review_status_counts": { "needs_research": 48, - "pending": 144, - "reviewed": 268 + "pending": 140, + "reviewed": 272 }, "structural_defects": [], "network_audit": [ @@ -1530,6 +1530,216 @@ "message": "Taxon 'Geobacter species' has no interactions", "severity": "warning" }, + { + "record": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom", + "type": "DISCONNECTED", + "taxon": "Pseudomonas aeruginosa MDR6-CAZ", + "taxon_id": "NCBITaxon:287", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pseudomonas aeruginosa MDR6-CAZ", + "term": { + "id": "NCBITaxon:287", + "label": "Pseudomonas aeruginosa" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:s__Pseudomonas_aeruginosa", + "gtdb_taxon": "Pseudomonas aeruginosa", + "gtdb_lineage": "d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas aeruginosa", + "ncbi_source_id": "NCBITaxon:287", + "majority_fraction": 0.99, + "total_genomes": 17191, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)" + }, + "notes": "The eLife panel denotes this P. aeruginosa mutant as strain 8; represented at species level for ontology stability." + }, + "strain_designation": { + "strain_name": "MDR6-CAZ" + }, + "abundance_value": "Full-factorial SynCom panel member 8", + "evidence": [ + { + "reference": "PMID:42153623", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ", + "explanation": "Maps the source's strain numbers to the eight P. aeruginosa mutant labels." + } + ] + }, + "message": "Taxon 'Pseudomonas aeruginosa MDR6-CAZ' has no interactions", + "severity": "warning" + }, + { + "record": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom", + "type": "DISCONNECTED", + "taxon": "Pseudomonas aeruginosa NfxB-CAZ", + "taxon_id": "NCBITaxon:287", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pseudomonas aeruginosa NfxB-CAZ", + "term": { + "id": "NCBITaxon:287", + "label": "Pseudomonas aeruginosa" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:s__Pseudomonas_aeruginosa", + "gtdb_taxon": "Pseudomonas aeruginosa", + "gtdb_lineage": "d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas aeruginosa", + "ncbi_source_id": "NCBITaxon:287", + "majority_fraction": 0.99, + "total_genomes": 17191, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)" + }, + "notes": "The eLife panel denotes this P. aeruginosa mutant as strain 7; represented at species level for ontology stability." + }, + "strain_designation": { + "strain_name": "NfxB-CAZ" + }, + "abundance_value": "Full-factorial SynCom panel member 7", + "evidence": [ + { + "reference": "PMID:42153623", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ", + "explanation": "Maps the source's strain numbers to the eight P. aeruginosa mutant labels." + } + ] + }, + "message": "Taxon 'Pseudomonas aeruginosa NfxB-CAZ' has no interactions", + "severity": "warning" + }, + { + "record": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom", + "type": "DISCONNECTED", + "taxon": "Pseudomonas aeruginosa OrfN", + "taxon_id": "NCBITaxon:287", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pseudomonas aeruginosa OrfN", + "term": { + "id": "NCBITaxon:287", + "label": "Pseudomonas aeruginosa" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:s__Pseudomonas_aeruginosa", + "gtdb_taxon": "Pseudomonas aeruginosa", + "gtdb_lineage": "d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas aeruginosa", + "ncbi_source_id": "NCBITaxon:287", + "majority_fraction": 0.99, + "total_genomes": 17191, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)" + }, + "notes": "The eLife panel denotes this P. aeruginosa mutant as strain 6; represented at species level for ontology stability." + }, + "strain_designation": { + "strain_name": "OrfN" + }, + "abundance_value": "Full-factorial SynCom panel member 6", + "evidence": [ + { + "reference": "PMID:42153623", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ", + "explanation": "Maps the source's strain numbers to the eight P. aeruginosa mutant labels." + } + ] + }, + "message": "Taxon 'Pseudomonas aeruginosa OrfN' has no interactions", + "severity": "warning" + }, + { + "record": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom", + "type": "DISCONNECTED", + "taxon": "Pseudomonas aeruginosa PA14", + "taxon_id": "NCBITaxon:287", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pseudomonas aeruginosa PA14", + "term": { + "id": "NCBITaxon:287", + "label": "Pseudomonas aeruginosa" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:s__Pseudomonas_aeruginosa", + "gtdb_taxon": "Pseudomonas aeruginosa", + "gtdb_lineage": "d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas aeruginosa", + "ncbi_source_id": "NCBITaxon:287", + "majority_fraction": 0.99, + "total_genomes": 17191, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)" + }, + "notes": "The eLife panel denotes this P. aeruginosa mutant as strain 2; represented at species level for ontology stability." + }, + "strain_designation": { + "strain_name": "PA14" + }, + "abundance_value": "Full-factorial SynCom panel member 2", + "evidence": [ + { + "reference": "PMID:42153623", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ", + "explanation": "Maps the source's strain numbers to the eight P. aeruginosa mutant labels." + } + ] + }, + "message": "Taxon 'Pseudomonas aeruginosa PA14' has no interactions", + "severity": "warning" + }, + { + "record": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom", + "type": "DISCONNECTED", + "taxon": "Pseudomonas aeruginosa mexZ", + "taxon_id": "NCBITaxon:287", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pseudomonas aeruginosa mexZ", + "term": { + "id": "NCBITaxon:287", + "label": "Pseudomonas aeruginosa" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:s__Pseudomonas_aeruginosa", + "gtdb_taxon": "Pseudomonas aeruginosa", + "gtdb_lineage": "d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas aeruginosa", + "ncbi_source_id": "NCBITaxon:287", + "majority_fraction": 0.99, + "total_genomes": 17191, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)" + }, + "notes": "The eLife panel denotes this P. aeruginosa mutant as strain 5; represented at species level for ontology stability." + }, + "strain_designation": { + "strain_name": "mexZ" + }, + "abundance_value": "Full-factorial SynCom panel member 5", + "evidence": [ + { + "reference": "PMID:42153623", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ", + "explanation": "Maps the source's strain numbers to the eight P. aeruginosa mutant labels." + } + ] + }, + "message": "Taxon 'Pseudomonas aeruginosa mexZ' has no interactions", + "severity": "warning" + }, { "record": "Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom", "type": "UNKNOWN_TARGET", diff --git a/reports/causal_graph_review/validation-20261007-batch88.json b/reports/causal_graph_review/validation-20261007-batch88.json new file mode 100644 index 000000000..8a41526f8 --- /dev/null +++ b/reports/causal_graph_review/validation-20261007-batch88.json @@ -0,0 +1,1262 @@ +{ + "base_commit": "e5ce1f8d359d1690b8cc0bd03d43ff41056f1339", + "scope": [ + "kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml", + "kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml", + "kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml", + "kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml" + ], + "reference_validator_version": "0.1.7", + "results": [ + { + "check": "Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch88/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-strict.tsv", + "kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-strict.log", + "log_sha256": "86c8ec38927b648896a72eef496f0df0de80856c059a52163ee27fdbe4c4df82", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch88/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-batch88/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-strict.tsv\n" + }, + { + "check": "Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-references.log", + "log_sha256": "e2455abe8379de61b161b60e5a50e27d491ec478cdf8c46c48586e058e5721a0", + "output_tail": "Validating kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.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/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.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": "Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-snippets.log", + "log_sha256": "d6441c5dcfaf6a072d70e8708d5fe1bbd2c2a2d31da61b3014fb014108c34cef", + "output_tail": "# 18 evidence snippets scanned across 1 files\n MATCH 18\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": "Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-rank.log", + "log_sha256": "82ddececd3ad83179f8aa71277613f4ff9d297eb70a73ee9bb38587b0ee8f572", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000271\",\n \"name\": \"Propanotrophic Chlorinated Ethene Cometabolism Enrichment Cultures\",\n \"score\": 90.0,\n \"taxonomy\": 8,\n \"connected_taxa\": 8,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 4,\n \"downstream_edges\": 3,\n \"interaction_evidence\": 6,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml\"\n }\n]\n" + }, + { + "check": "Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment/2026-10-07T114922Z-codex-78f592.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Prymnesium_Parvum_B12_Limited_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Prymnesium_Parvum_B12_Limited_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Prymnesium_Parvum_B12_Limited_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch88/Prymnesium_Parvum_B12_Limited_SynCom-strict.tsv", + "kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Prymnesium_Parvum_B12_Limited_SynCom-strict.log", + "log_sha256": "b30917330d8b2f98138ae0fc000be015e29c577ca6337de92f334f9af7f69438", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch88/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-batch88/Prymnesium_Parvum_B12_Limited_SynCom-strict.tsv\n" + }, + { + "check": "Prymnesium_Parvum_B12_Limited_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Prymnesium_Parvum_B12_Limited_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Prymnesium_Parvum_B12_Limited_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Prymnesium_Parvum_B12_Limited_SynCom-references.log", + "log_sha256": "0c8feb33ccb31070624ffd56a2a3097a0ff20a2bb880fac1acf782a564e84134", + "output_tail": "Validating kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Prymnesium_Parvum_B12_Limited_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Prymnesium_Parvum_B12_Limited_SynCom-snippets.log", + "log_sha256": "ca4d937539d7669b680f995e921c3ca9316767b2bb3ccfb9b49d873b5661c23d", + "output_tail": "# 41 evidence snippets scanned across 1 files\n MATCH 41\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": "Prymnesium_Parvum_B12_Limited_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Prymnesium_Parvum_B12_Limited_SynCom-rank.log", + "log_sha256": "284bb901a2006555fcb221970414392907646c79a47a7b3f2e0582388db3c4b3", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000381\",\n \"name\": \"Prymnesium parvum B12-Limited SynCom\",\n \"score\": 80.0,\n \"taxonomy\": 16,\n \"connected_taxa\": 16,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 4,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 7,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Prymnesium_Parvum_B12_Limited_SynCom-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Prymnesium_Parvum_B12_Limited_SynCom/2026-10-07T114922Z-codex-8f2684.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Prymnesium_Parvum_B12_Limited_SynCom-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch88/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-strict.tsv", + "kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-strict.log", + "log_sha256": "db33d6084f12215c39b31268b74129ba44df80947b31ef7afb376d38ce5a646a", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch88/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-batch88/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-strict.tsv\n" + }, + { + "check": "Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-references.log", + "log_sha256": "98f5532c000f77311bca9930f4bd78f2b7358013e0c9a18fe3d87ca0f4e3cdc9", + "output_tail": "Validating kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-snippets.log", + "log_sha256": "5f0e8a5be45b94195ee5599498c60e06ff8db089c85d0bf23969aa37351ca96e", + "output_tail": "# 17 evidence snippets scanned across 1 files\n MATCH 17\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": "Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-rank.log", + "log_sha256": "1aa2c364d553b3023a049cd7e7ece0d426e0b05f1d88766951a1f5a85979bc41", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000461\",\n \"name\": \"Pseudomonas-Acidovorax Aniline-Degradation SynCom\",\n \"score\": 50.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 1,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 2,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom/2026-10-07T114923Z-codex-1490f6.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch88/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-strict.tsv", + "kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-strict.log", + "log_sha256": "3ddaac76b3391f97135d4ab4bb1459cd7426a3a1560a3b52205fbc57af4151f4", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch88/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-batch88/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-strict.tsv\n" + }, + { + "check": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-references.log", + "log_sha256": "61d60550f6ad1097826ff236f6fce4e0475f8745d82515f6cf784c407df2417d", + "output_tail": "Validating kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-snippets.log", + "log_sha256": "d6441c5dcfaf6a072d70e8708d5fe1bbd2c2a2d31da61b3014fb014108c34cef", + "output_tail": "# 18 evidence snippets scanned across 1 files\n MATCH 18\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": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-rank.log", + "log_sha256": "3207c85d00888e08e1c504bd28d2287a3f981e1ef7d8391d25af5eb9297cc057", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000399\",\n \"name\": \"Pseudomonas aeruginosa Eight-Strain Full-Factorial SynCom\",\n \"score\": 46.9,\n \"taxonomy\": 8,\n \"connected_taxa\": 3,\n \"disconnected_taxa\": 5,\n \"ecological_interactions\": 1,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\",\n \"disconnected_taxa\"\n ],\n \"path\": \"kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom/2026-10-07T114923Z-codex-9805f1.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom-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-batch88/inventory.log", + "log_sha256": "9f27c0aba3043be611cb7fc55b396635172d952975df8395583376f2b6ecbe59", + "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\": 1422,\n \"edges\": 584,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 173,\n \"review_status_counts\": {\n \"needs_research\": 48,\n \"pending\": 140,\n \"reviewed\": 272\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-batch88/network.log", + "log_sha256": "8febc2a966f5c2b51cd59095a8877c8773cd1e9383e5214bcdc3832c5858c097", + "output_tail": " \"total_genomes\": 17191,\n \"is_reclassified\": false,\n \"mapping_source\": \"kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)\"\n },\n \"notes\": \"The eLife panel denotes this P. aeruginosa mutant as strain 5; represented at species level for ontology stability.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"mexZ\"\n },\n \"abundance_value\": \"Full-factorial SynCom panel member 5\",\n \"evidence\": [\n {\n \"reference\": \"PMID:42153623\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Strains 1\\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ\",\n \"explanation\": \"Maps the source's strain numbers to the eight P. aeruginosa mutant labels.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas aeruginosa mexZ' has no interactions\"\n }\n ],\n \"Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom\": [\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Twelve-Strain SynCom Suppression of Sclerotinia Sclerotia\",\n \"interaction_index\": 0,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Trinickia MC Key Contribution to Sclerotia Mortality\",\n \"interaction_index\": 1,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Space_Habitat_SevenMember_Stress_Tolerance_SynCom\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Acinetobacter radioresistens 50V1\",\n \"taxon_id\": \"NCBITaxon:40216\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Acinetobacter radioresistens 50V1\",\n \"term\": {\n \"id\": \"NCBITaxon:40216\",\n \"label\": \"Acinetobacter radioresistens\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate came from the preflight Mars Odyssey Orbiter; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"50V1\",\n \"genome_accession\": \"GCA_002834555.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Acinetobacter radioresistens | 50V1 | Preflight Mars Odyssey Orbiter | \\u2013 | Mccoy et al., 2012 | GCA_002834555.1 | TSYB/TSYA | 37 \\u00b0C | 16\\u201318 h\",\n \"explanation\": \"Identifies A. radioresistens 50V1 as a consortium member and gives its spacecraft-associated source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Acinetobacter radioresistens 50V1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Micrococcus luteus W4-Al-K1\",\n \"taxon_id\": \"NCBITaxon:1270\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Micrococcus luteus W4-Al-K1\",\n \"term\": {\n \"id\": \"NCBITaxon:1270\",\n \"label\": \"Micrococcus luteus\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from an ISS aluminum-case touch array; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"W4-Al-K1\",\n \"genome_accession\": \"GCA_057816565.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Micrococcus luteus | W4-Al-K1 | ISS, Touch Array Aluminum Case | - | Kr\\u00e4mer et al., 2025 | GCA_057816565.1 | NB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies M. luteus W4-Al-K1 as a consortium member and gives its ISS source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Micrococcus luteus W4-Al-K1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"taxon_id\": \"NCBITaxon:64702\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"term\": {\n \"id\": \"NCBITaxon:64702\",\n \"label\": \"Propionibacterium cyclohexanicum\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. cyclohexanicum type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"TA-12T\",\n \"genome_accession\": \"GCA_900111365\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"16859\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Propionibacterium cyclohexanicum | TA-12 T | Spoilt Orange Juice | DSM 16859 T | Kusano et al., 1997 | GCA_900111365 | BHI, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies P. cyclohexanicum TA-12T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Propionibacterium cyclohexanicum TA-12T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas antarctica CMS 35T\",\n \"taxon_id\": \"NCBITaxon:219572\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas antarctica CMS 35T\",\n \"term\": {\n \"id\": \"NCBITaxon:219572\",\n \"label\": \"Pseudomonas antarctica\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. antarctica type strain as a biosafety-level-1 Pseudomonas surrogate.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"CMS 35T\",\n \"genome_accession\": \"GCA_010634845\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"15318\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pseudomonas antarctica | CMS 35 T | Antarctica | DSM 15318 T | Reddy et al., 2004 | GCA_010634845 | TSYB/TSYA | Ambient | 12\\u201316 h\",\n \"explanation\": \"Identifies P. antarctica CMS 35T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "check": "just-network-json", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_codes": [ + 2 + ], + "log": "/private/tmp/communitymech-batch88/just-network-json.log", + "log_sha256": "8595db43420d3f0a01c57acd6ad733a531a72e962486d20b4e1c2840dda55bff", + "output_tail": "uv run communitymech audit-network --json\nerror: Failed to spawn: `communitymech`\n Caused by: No such file or directory (os error 2)\nerror: recipe `audit-network-json` failed on line 574 with exit code 2\n" + }, + { + "check": "rank-all", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/rank-all.log", + "log_sha256": "8f67339c3e19c0351db384ce3bba83d088221a77f15c10e271155f7db6e230fb", + "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-batch88/render.log", + "log_sha256": "802ace530a9fb3a1dc1313846a938945aa585337e1148fa86fa4b3fe95b0e135", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch88/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch88/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch88/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-batch88/render-repeat.log", + "log_sha256": "802ace530a9fb3a1dc1313846a938945aa585337e1148fa86fa4b3fe95b0e135", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch88/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch88/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch88/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch88/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-batch87')),('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-batch88/connectivity-survey.log", + "log_sha256": "ce86aea5d561f1eb333b75c72f60f23cf01ecb86a6235f749af6d652e6707eb8", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 395, \"mixed\": 126, \"community_level_only\": 269, \"taxa\": 1521, \"credited_solely_by_the_rule\": 1247}, \"current\": {\"records\": 460, \"with_community_level\": 395, \"mixed\": 126, \"community_level_only\": 269, \"taxa\": 1521, \"credited_solely_by_the_rule\": 1247}}\n" + }, + { + "check": "regressions", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch10.py", + "tests/test_causal_review_batch11.py", + "tests/test_causal_review_batch12.py", + "tests/test_causal_review_batch13.py", + "tests/test_causal_review_batch14.py", + "tests/test_causal_review_batch15.py", + "tests/test_causal_review_batch16.py", + "tests/test_causal_review_batch17.py", + "tests/test_causal_review_batch18.py", + "tests/test_causal_review_batch19.py", + "tests/test_causal_review_batch20.py", + "tests/test_causal_review_batch21.py", + "tests/test_causal_review_batch22.py", + "tests/test_causal_review_batch23.py", + "tests/test_causal_review_batch24.py", + "tests/test_causal_review_batch25.py", + "tests/test_causal_review_batch27.py", + "tests/test_causal_review_batch28.py", + "tests/test_causal_review_batch29.py", + "tests/test_causal_review_batch30.py", + "tests/test_causal_review_batch31.py", + "tests/test_causal_review_batch32.py", + "tests/test_causal_review_batch33.py", + "tests/test_causal_review_batch34.py", + "tests/test_causal_review_batch35.py", + "tests/test_causal_review_batch36.py", + "tests/test_causal_review_batch37.py", + "tests/test_causal_review_batch38.py", + "tests/test_causal_review_batch39.py", + "tests/test_causal_review_batch40.py", + "tests/test_causal_review_batch41.py", + "tests/test_causal_review_batch42.py", + "tests/test_causal_review_batch43.py", + "tests/test_causal_review_batch44.py", + "tests/test_causal_review_batch45.py", + "tests/test_causal_review_batch46.py", + "tests/test_causal_review_batch47.py", + "tests/test_causal_review_batch48.py", + "tests/test_causal_review_batch49.py", + "tests/test_causal_review_batch5.py", + "tests/test_causal_review_batch50.py", + "tests/test_causal_review_batch51.py", + "tests/test_causal_review_batch52.py", + "tests/test_causal_review_batch53.py", + "tests/test_causal_review_batch54.py", + "tests/test_causal_review_batch55.py", + "tests/test_causal_review_batch56.py", + "tests/test_causal_review_batch57.py", + "tests/test_causal_review_batch58.py", + "tests/test_causal_review_batch59.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch60.py", + "tests/test_causal_review_batch61.py", + "tests/test_causal_review_batch62.py", + "tests/test_causal_review_batch63.py", + "tests/test_causal_review_batch64.py", + "tests/test_causal_review_batch65.py", + "tests/test_causal_review_batch66.py", + "tests/test_causal_review_batch67.py", + "tests/test_causal_review_batch68.py", + "tests/test_causal_review_batch69.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch70.py", + "tests/test_causal_review_batch71.py", + "tests/test_causal_review_batch72.py", + "tests/test_causal_review_batch73.py", + "tests/test_causal_review_batch74.py", + "tests/test_causal_review_batch75.py", + "tests/test_causal_review_batch76.py", + "tests/test_causal_review_batch77.py", + "tests/test_causal_review_batch78.py", + "tests/test_causal_review_batch79.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch80.py", + "tests/test_causal_review_batch81.py", + "tests/test_causal_review_batch82.py", + "tests/test_causal_review_batch83.py", + "tests/test_causal_review_batch84.py", + "tests/test_causal_review_batch85.py", + "tests/test_causal_review_batch86.py", + "tests/test_causal_review_batch87.py", + "tests/test_causal_review_batch88.py", + "tests/test_causal_review_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-batch88/regressions.log", + "log_sha256": "ade49bfdec42397de7f4d73816adf0a755acf6413cc63ec6d4d258f8b457dda2", + "output_tail": "........................................................................ [ 9%]\n........................................................................ [ 18%]\n........................................................................ [ 27%]\n........................................................................ [ 36%]\n........................................................................ [ 45%]\n........................................................................ [ 54%]\n........................................................................ [ 63%]\n........................................................................ [ 72%]\n........................................................................ [ 81%]\n........................................................................ [ 90%]\n........................................................................ [ 99%]\n.... [100%]\n796 passed in 321.32s (0:05:21)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch88.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/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_batch88.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/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-batch88/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + }, + { + "check": "primary-graph-proof", + "command": [ + "in-process normalized per-evidence source checks in finalize.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/primary-graph-proof.log", + "log_sha256": "828e0bf53df62c03143df16957531c1438b8941bd112af6728b428f8a282b2ff", + "output_tail": "{\n \"graph_quotations\": 18,\n \"discussion_quotations\": 7,\n \"fresh_primary_matches\": 21,\n \"cached_only_matches\": 4,\n \"retained_nodes\": 10,\n \"removed_nodes\": 1,\n \"retained_arrows\": 4,\n \"removed_arrows\": 2,\n \"new_topology\": 0,\n \"primary_main_texts_read\": 2,\n \"other_primary_abstracts_read\": 2,\n \"factorial_access\": \"Relevant existing OA cached passages only; no independent fresh full text or whole-main-body read.\",\n \"cache_changes\": 0\n}\n" + }, + { + "check": "focused-final", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch88.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/focused-final.log", + "log_sha256": "df64063eab148a8499b7d741448fc5faf014306d439474b4f3c3237562b16f70", + "output_tail": ".......... [100%]\n10 passed in 2.69s\n" + }, + { + "check": "audit-snippets-all", + "command": [ + "just", + "audit-snippets" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch88/audit-snippets-all.log", + "log_sha256": "6da188a03ce66cb4179c6fb25ac0919bb6b7bb1fa792dd0203d227559233cbc5", + "output_tail": "# 8912 evidence snippets scanned across 460 files\n MATCH 8777\n RENDERING 20\n ASSEMBLED 1\n WEAK 0\n MISMATCH 38\n NOCONTENT 76\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n 19 (19 hard) kb/communities/DCPP_DBS4_DCP4_DCP11d_Degradation_SynCom.yaml\n 15 (15 hard) kb/communities/Fucoidan_Seven_Degrader_Combinatorial_SynCom.yaml\n 3 (3 hard) kb/communities/Coscinodiscus_Synthetic_Community.yaml\n 1 (1 hard) kb/communities/Altered_Schaedler_Flora_Gnotobiotic_Mouse_Community.yaml\nuv run python scripts/evidence_snippet_audit.py \n" + } + ], + "limitations": [ + "Fresh both-root baseline before papers:460records921caches1423nodes586arrows51warnings0structural defects. All11originalnodes6arrows reviewed;10nodes4arrows retained, one assembly-method node and two correlation-like directions removed.", + "Prymnesium and aniline primary abstract/main text with embedded captions read from fresh EuropePMC XML. Separate supplements, raw data and figure pixels not audited. Propanotroph uses only the fresh abstract; paywalled body not retrieved.", + "Factorial fresh abstract and relevant existing OA cached primary passages read. XML500 after bounded retries; publisher API and author-hosted PDF404. Publisher search independently exposed statistical-not-biological wording, but no independently retrieved full paper or complete-main-text review is claimed. Three graph and one new discussion quotations are cache-only matches, not independent fresh verification.", + "Propanotroph positive removal and substrate-linked selection remain; genus dominance and gene content do not identify active enzymes or partner exchange. All three existing directions are retained with partial or hypothesized mediation. Non-graph re-evidencing remains existing765.", + "Prymnesium community outcomes and transcript observations remain. Two outcome-to-expression arrows are removed without reversing them. Carbon reciprocity remains an explicit hypothesis; transcription does not measure flux or competitive fitness. One disputed producer is omitted, not replaced. Existing non-graph roles and proposed experiments are not certified; no new mechanisms, procedures or optimization designs were added.", + "Aniline measured removal and prior monoculture evidence survive; the conclusion asserts a mineralization pathway absent from the main results reviewed. No source-exhaustive absence claim: supplements not read. Factorial statistical phenotype remains; assembly is not an interaction, ranking is illustrative and absorbance need not be linear in biomass.", + "456otherrecords, all921caches and raw non-graph blocks preserved. Five factorial disconnection warnings are expected after removal of the all-panel method node; no fabricated participant credit or auditor-rule changes. Panel metadata follow-up remains open.", + "Dedup995all-state issue titles/bodies and25ignored/hidden local matches, excluding.git/docs/site/references_cache. Relevant caches separately read. Prior754/765/1189-1192 and matching validation/rendering issues reviewed; comments and PR search not exhaustive.", + "No new nodes or causal directions, Edison dry runs or provider submissions. Earlier pending/denied spend scopes remain unchanged. Four repair issues close only after protected-main merge; producer/panel follow-ups and765remain open.", + "Validation, rendering, publication and exact-head review are subsequent gates, not preasserted. Self-adversarial review is not independent approval, generated-model loader certification or corpus completion. Loader1703 remains open.", + "Exact HTML-description parser and repeat-render checks, not browser screenshots. Post-commit docs-current is separate." + ], + "snippet_counts_by_record": { + "kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml": { + "MATCH": 18, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml": { + "MATCH": 41, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml": { + "MATCH": 17, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml": { + "MATCH": 18, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "unchanged_raw_blocks": 63, + "unchanged_record_files": 456, + "unchanged_cache_files": 921, + "cache_changes": [], + "edison": { + "required_for_this_repair": false, + "required_for_unresolved_extensions": false, + "provider_submissions": 0, + "credits_spent": 0, + "dry_runs": [] + }, + "primary_artifacts": { + "/private/tmp/communitymech-batch88/aniline-metadata.json": "08db57a919f99c55877877f988d34a9ca579e88f498d05a61b9131697f7ba270", + "/private/tmp/communitymech-batch88/aniline-primary.txt": "9c5dc1720c522b9a15812de3ed69eec026f2c60d883c5f584ffb8dbdd57ef7e2", + "/private/tmp/communitymech-batch88/aniline-primary.xml": "39325aff7a9d2515247290138155ab517460f3b7ad93970f2fed3f55a2ab4f2b", + "/private/tmp/communitymech-batch88/aniline-tables.txt": "ddd7120bc311b8cdc379a006074a8db717c18bf9087e48b1ee5cc4a72a9440f8", + "/private/tmp/communitymech-batch88/baseline.json": "3fa8aa37deac36fd25a3a4b1b3bd8fb96b04141577654e1c0f6af59ca1ffbc7d", + "/private/tmp/communitymech-batch88/created-issues.json": "6b7aaca29b2a7c984473cb47a31795261406b759dcdc4db8a94d1df3df8d5ea8", + "/private/tmp/communitymech-batch88/factorial-metadata.json": "725a152f93225f123ae6b1535b8225cc9c96dd12bea1e471003fd33f1e691c5c", + "/private/tmp/communitymech-batch88/factorial-primary.txt": "e1eb2ec7f4d3f34e45f32b086caa4114398a2a723ef01cd72dba2a81488188f4", + "/private/tmp/communitymech-batch88/issue-matches-current.json": "11c909ee1c472be7b8472c035338f5a6d100c5d143fae2430b64744e2683c210", + "/private/tmp/communitymech-batch88/issue-matches.json": "11c909ee1c472be7b8472c035338f5a6d100c5d143fae2430b64744e2683c210", + "/private/tmp/communitymech-batch88/issues-current.json": "21a4e9fdc55877d14d65ca1af6988e03b33ece07d15a12dada6f73d06588084d", + "/private/tmp/communitymech-batch88/issues.json": "16560bb0ae66f851906f30b9616e796eb29c7fd26fffdb02d8452ef2f4a2adf3", + "/private/tmp/communitymech-batch88/local-matches-current.txt": "8d4cb4df81fd0d6a76f368024b9a4bb4cb5b936d64f2ecc4f068cd68622d9a04", + "/private/tmp/communitymech-batch88/local-matches.txt": "91484c72674a8fc3314e8927b764642f9c4995303d051ab8403c08df6befde24", + "/private/tmp/communitymech-batch88/primary-manifest.json": "80440d28dc04e355d4dd1b652feb937e667544aeefbff09bb46d9aa9daaded94", + "/private/tmp/communitymech-batch88/propane-metadata.json": "65f9073f8a322d8288b2adf657a2c8082cd87f8dc9ae89bdbb15092ac3136c59", + "/private/tmp/communitymech-batch88/propane-primary.txt": "39f0a9ed4cb9783d690e38f61b689712221eb6ed0fc0e6b0bcbe4989534e877c", + "/private/tmp/communitymech-batch88/prymnesium-metadata.json": "68a635e2f892e0f2eaeace6d5f72812457720ffc987ac45a21114dcb8c1406a9", + "/private/tmp/communitymech-batch88/prymnesium-primary.txt": "9338452f89d9ec45a5ecde332cd3038027d9a7e082ab03125c1ae5b611946e35", + "/private/tmp/communitymech-batch88/prymnesium-primary.xml": "f262d016581f7ff17a143b40cac214b6923ffab800e7d1e53ce5e909652f1c5f", + "/private/tmp/communitymech-batch88/prymnesium-tables.txt": "b5f166f4e78536626320343bbdf35bdd9ad3162f1f40e23849973dcbfdd1832b", + "references_cache/PMID_41900437.txt": "ba23852273f0b13cef239f4ae8c7c01781c765a2ea25b122bd43fc278bdda242", + "references_cache/PMID_42153623.txt": "8b6c4c4a3a0281d82c0d0b4bfe04c5eac30b744098ee1cba15ab6aa9123e7bac", + "references_cache/PMID_42549325.txt": "a89202a5efcabd780b32998d1adff83552c725b9145e8f25d40280bd89510191", + "references_cache/doi_10.1016_j.jenvman.2026.129957.md": "6a3b569ebdd1849cc74ca8ddec5c203f466383ec5ff09cbe07000c61d111cd86" + }, + "network_delta": { + "existing_findings_preserved": 51, + "added_findings": { + "Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom": [ + { + "type": "DISCONNECTED", + "taxon": "Pseudomonas aeruginosa MDR6-CAZ", + "taxon_id": "NCBITaxon:287", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pseudomonas aeruginosa MDR6-CAZ", + "term": { + "id": "NCBITaxon:287", + "label": "Pseudomonas aeruginosa" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:s__Pseudomonas_aeruginosa", + "gtdb_taxon": "Pseudomonas aeruginosa", + "gtdb_lineage": "d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas aeruginosa", + "ncbi_source_id": "NCBITaxon:287", + "majority_fraction": 0.99, + "total_genomes": 17191, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)" + }, + "notes": "The eLife panel denotes this P. aeruginosa mutant as strain 8; represented at species level for ontology stability." + }, + "strain_designation": { + "strain_name": "MDR6-CAZ" + }, + "abundance_value": "Full-factorial SynCom panel member 8", + "evidence": [ + { + "reference": "PMID:42153623", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ", + "explanation": "Maps the source's strain numbers to the eight P. aeruginosa mutant labels." + } + ] + }, + "message": "Taxon 'Pseudomonas aeruginosa MDR6-CAZ' has no interactions" + }, + { + "type": "DISCONNECTED", + "taxon": "Pseudomonas aeruginosa NfxB-CAZ", + "taxon_id": "NCBITaxon:287", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pseudomonas aeruginosa NfxB-CAZ", + "term": { + "id": "NCBITaxon:287", + "label": "Pseudomonas aeruginosa" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:s__Pseudomonas_aeruginosa", + "gtdb_taxon": "Pseudomonas aeruginosa", + "gtdb_lineage": "d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas aeruginosa", + "ncbi_source_id": "NCBITaxon:287", + "majority_fraction": 0.99, + "total_genomes": 17191, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)" + }, + "notes": "The eLife panel denotes this P. aeruginosa mutant as strain 7; represented at species level for ontology stability." + }, + "strain_designation": { + "strain_name": "NfxB-CAZ" + }, + "abundance_value": "Full-factorial SynCom panel member 7", + "evidence": [ + { + "reference": "PMID:42153623", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ", + "explanation": "Maps the source's strain numbers to the eight P. aeruginosa mutant labels." + } + ] + }, + "message": "Taxon 'Pseudomonas aeruginosa NfxB-CAZ' has no interactions" + }, + { + "type": "DISCONNECTED", + "taxon": "Pseudomonas aeruginosa OrfN", + "taxon_id": "NCBITaxon:287", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pseudomonas aeruginosa OrfN", + "term": { + "id": "NCBITaxon:287", + "label": "Pseudomonas aeruginosa" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:s__Pseudomonas_aeruginosa", + "gtdb_taxon": "Pseudomonas aeruginosa", + "gtdb_lineage": "d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas aeruginosa", + "ncbi_source_id": "NCBITaxon:287", + "majority_fraction": 0.99, + "total_genomes": 17191, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)" + }, + "notes": "The eLife panel denotes this P. aeruginosa mutant as strain 6; represented at species level for ontology stability." + }, + "strain_designation": { + "strain_name": "OrfN" + }, + "abundance_value": "Full-factorial SynCom panel member 6", + "evidence": [ + { + "reference": "PMID:42153623", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ", + "explanation": "Maps the source's strain numbers to the eight P. aeruginosa mutant labels." + } + ] + }, + "message": "Taxon 'Pseudomonas aeruginosa OrfN' has no interactions" + }, + { + "type": "DISCONNECTED", + "taxon": "Pseudomonas aeruginosa PA14", + "taxon_id": "NCBITaxon:287", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pseudomonas aeruginosa PA14", + "term": { + "id": "NCBITaxon:287", + "label": "Pseudomonas aeruginosa" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:s__Pseudomonas_aeruginosa", + "gtdb_taxon": "Pseudomonas aeruginosa", + "gtdb_lineage": "d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas aeruginosa", + "ncbi_source_id": "NCBITaxon:287", + "majority_fraction": 0.99, + "total_genomes": 17191, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)" + }, + "notes": "The eLife panel denotes this P. aeruginosa mutant as strain 2; represented at species level for ontology stability." + }, + "strain_designation": { + "strain_name": "PA14" + }, + "abundance_value": "Full-factorial SynCom panel member 2", + "evidence": [ + { + "reference": "PMID:42153623", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ", + "explanation": "Maps the source's strain numbers to the eight P. aeruginosa mutant labels." + } + ] + }, + "message": "Taxon 'Pseudomonas aeruginosa PA14' has no interactions" + }, + { + "type": "DISCONNECTED", + "taxon": "Pseudomonas aeruginosa mexZ", + "taxon_id": "NCBITaxon:287", + "taxon_data": { + "taxon_term": { + "preferred_term": "Pseudomonas aeruginosa mexZ", + "term": { + "id": "NCBITaxon:287", + "label": "Pseudomonas aeruginosa" + }, + "gtdb_grounding_status": "GROUNDED", + "gtdb_classification": { + "gtdb_id": "GTDB:s__Pseudomonas_aeruginosa", + "gtdb_taxon": "Pseudomonas aeruginosa", + "gtdb_lineage": "d__Bacteria;p__Pseudomonadota;c__Gammaproteobacteria;o__Pseudomonadales;f__Pseudomonadaceae;g__Pseudomonas;s__Pseudomonas aeruginosa", + "ncbi_source_id": "NCBITaxon:287", + "majority_fraction": 0.99, + "total_genomes": 17191, + "is_reclassified": false, + "mapping_source": "kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)" + }, + "notes": "The eLife panel denotes this P. aeruginosa mutant as strain 5; represented at species level for ontology stability." + }, + "strain_designation": { + "strain_name": "mexZ" + }, + "abundance_value": "Full-factorial SynCom panel member 5", + "evidence": [ + { + "reference": "PMID:42153623", + "supports": "SUPPORT", + "evidence_source": "IN_VITRO", + "snippet": "Strains 1\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ", + "explanation": "Maps the source's strain numbers to the eight P. aeruginosa mutant labels." + } + ] + }, + "message": "Taxon 'Pseudomonas aeruginosa mexZ' has no interactions" + } + ] + }, + "removed_findings": {}, + "interpretation": "Five panel-member disconnections exposed by removal of a method node; all51existing findings preserved. Zero structural defects. No taxonomy or auditor-rule changes. Follow-up1729remains open." + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1408, + "arrows": 576 + }, + "participant_census": { + "measurements": { + "baseline": { + "records": 460, + "with_community_level": 395, + "mixed": 126, + "community_level_only": 269, + "taxa": 1521, + "credited_solely_by_the_rule": 1247 + }, + "current": { + "records": 460, + "with_community_level": 395, + "mixed": 126, + "community_level_only": 269, + "taxa": 1521, + "credited_solely_by_the_rule": 1247 + } + }, + "delta": { + "records": 0, + "with_community_level": 0, + "mixed": 0, + "community_level_only": 0, + "taxa": 0, + "credited_solely_by_the_rule": 0 + }, + "interpretation": "Community-level legacy census unchanged; explicit participant credit exposes five disconnected panel members. No canonical taxon or auditor-rule change." + }, + "network_warning_count": 56, + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1422, + "edges": 584, + "records_without_nodes": 8, + "records_without_edges": 173, + "review_status_counts": { + "needs_research": 48, + "pending": 140, + "reviewed": 272 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml": "ce41340909e65c676be7e53756385800335224b44432760dacd3a4ca98179429", + "tests/test_causal_review_batch88.py": "d5c366e8b3861feaabe007572761be4230532f05fe5a3e02d7b5b408c5476b5c", + "kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml": "38f4a9e4e2c7293f477bbb3e387470a35fe4257b7ec93678185b67a20fbd8d2a", + "kb/communities/Prymnesium_Parvum_B12_Limited_SynCom.yaml": "2e1d674f45e85230bfdd1d05aeb6f6c6b0f58b44fb478515d13b3aa7535c1225", + "kb/communities/Pseudomonas_Acidovorax_Aniline_Degradation_SynCom.yaml": "a7a32d2a84066629338c1735cea5104beac14a152498c123567349b8cbf7be34", + "kb/communities/Pseudomonas_Aeruginosa_EightStrain_Full_Factorial_SynCom.yaml": "5771a8a97beb8ccb19b6cccad32062d896b09747ce0670788686060481cf68b9", + "reports/causal_graph_review/README.md": "600afb965f75db6aa5414d865b897dcbf4abcdad570040490ce594260c749b7e" + }, + "status": "verified_assay_boundary_graph_review", + "full_corpus_snippet_counts": { + "records": 460, + "total": 8912, + "categories": { + "MATCH": 8777, + "RENDERING": 20, + "ASSEMBLED": 1, + "WEAK": 0, + "MISMATCH": 38, + "NOCONTENT": 76 + } + }, + "full_corpus_snippet_audit_caveat": "Both-root recipe executed. Informational exit0 does not certify a clean corpus; four focused snippet gates pass independently.", + "pre_research_baseline": { + "base_commit": "e5ce1f8d359d1690b8cc0bd03d43ff41056f1339", + "base_tree": "a25c6e84b443814b0b2df2493de09e003fda7864", + "research_worktree": "/private/tmp/communitymech-causal-batch87", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch88/baseline-rank.log", + "sha256": "0e2c498d2107fc965be213552fe0812d14e241f580e8415272c39b20bb4a5aac", + "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-batch88/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-batch88/baseline-network.log", + "sha256": "a6d29124a0c095699e61c528d138db88a169daedb19ef83a140faf1d442748c4", + "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-batch88/baseline-downstream.log", + "sha256": "1766bccfe864f82e4f05a91f0b47571c71c0a798e92be398b400bc26d8b371fd", + "output_tail": "a_Photosynthetic_Biofilm_Sediment.yaml:80: downstream:\nkb/communities/Cable_Bacteria_Photosynthetic_Biofilm_Sediment.yaml:117: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:268: downstream:\nkb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml:317: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:199: downstream:\nkb/communities/Yogurt_TwoSpecies_Starter_Culture.yaml:267: 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:\nkb/communities/Polaromonas_Vanadium_Reduction_Community.yaml:235: downstream:\nkb/communities/Synechococcus_Saccharomyces_SPC.yaml:126: downstream:\nkb/communities/Synechococcus_Saccharomyces_SPC.yaml:161: downstream:\nkb/communities/Lake_Washington_Methane_Oxygen_Methylotroph_Community.yaml:342: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:69: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:88: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:135: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:177: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:207: downstream:\nkb/communities/At_RSPHERE_SynCom.yaml:249: downstream:\nkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml:342: downstream:\nkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml:381: downstream:\nkb/communities/PET_Artificial_FourSpecies_Degradation_Consortium.yaml:191: downstream:\nkb/communities/PET_Artificial_FourSpecies_Degradation_Consortium.yaml:236: downstream:\nkb/communities/PET_Artificial_FourSpecies_Degradation_Consortium.yaml:281: downstream:\nkb/communities/PET_Artificial_FourSpecies_Degradation_Consortium.yaml:311: downstream:\nkb/communities/Rumen_Substrate_Adapted_Lignocellulose_Enrichment_Consortia.yaml:328: downstream:\n" + } + ], + "baseline_sha256": "3fa8aa37deac36fd25a3a4b1b3bd8fb96b04141577654e1c0f6af59ca1ffbc7d" + }, + "reference_validator_caveat": "Four full-record reference-validator runs passed. CLI Total checks counts issues, not executed checks. Eighteen graph and seven discussion quotations match available primary/cache text;21are independent fresh-primary matches and4factorial quotes are existing-cache-only. Literal matching is not entailment or full-text certification." +} diff --git a/tests/test_causal_review_batch88.py b/tests/test_causal_review_batch88.py new file mode 100644 index 000000000..4573e2728 --- /dev/null +++ b/tests/test_causal_review_batch88.py @@ -0,0 +1,127 @@ +"""Keep source-bounded observations distinct from workflows and inferred mechanisms.""" + +import hashlib +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261007-four-records-batch88.yaml" + + +def records(): + ledger = yaml.safe_load(LEDGER.read_text()) + rows = ledger["records"] + return ledger, rows, [yaml.safe_load((ROOT / row["path"]).read_text()) for row in rows] + + +def test_propanotroph_outcomes_and_qualified_directions_survive(): + _, rows, docs = records() + nodes = docs[0]["ecological_interactions"] + assert len(nodes) == 4 and len(rows[0]["edges_after"]) == 3 + assert all("interaction_type" not in n and "source_taxon" not in n for n in nodes) + assert "sustained TCE degradation" in nodes[0]["description"] + assert "sustained cDCE degradation" in nodes[1]["description"] + assert all(e["description"].startswith("PARTIAL:") for e in nodes[2]["downstream"]) + assert nodes[3]["downstream"][0]["description"].startswith("HYPOTHESIZED:") + + +def test_propanotroph_gene_content_is_not_activity_or_crossfeeding(): + _, _, docs = records() + nodes = docs[0]["ecological_interactions"] + assert "Gene expression was not examined" in nodes[0]["description"] + assert "does not establish which organisms or enzymes" in nodes[1]["description"] + assert "separate enrichment treatments" in nodes[2]["description"] + assert "#765" in docs[0]["discussions"][-1]["rationale"] + + +def test_prymnesium_correlations_are_not_reversed_into_new_arrows(): + _, rows, docs = records() + outcome, biosynthesis, uptake, carbon = docs[1]["ecological_interactions"] + assert all("downstream" not in n for n in [outcome, biosynthesis, uptake]) + assert carbon["downstream"][0]["target"] == outcome["name"] + assert carbon["downstream"][0]["description"].startswith("HYPOTHESIZED:") + assert len(rows[1]["removed_edge_decisions"]) == 2 + assert "positive observations" in outcome["description"] + + +def test_prymnesium_attribution_and_flux_limits_remain_visible(): + _, _, docs = records() + nodes = docs[1]["ecological_interactions"] + assert len(nodes[1]["participating_taxa"]) == 2 + assert "disagree on one producer identity" in nodes[1]["description"] + assert "not directly quantify vitamin flux" in nodes[2]["description"] + assert all("interaction_type" not in n for n in nodes) + assert "#1728" in docs[1]["discussions"][-1]["rationale"] + assert "no detected extracellular B12" in docs[1]["discussions"][-1]["rationale"] + + +def test_aniline_positive_removal_is_not_certified_mineralization(): + _, _, docs = records() + (node,) = docs[2]["ecological_interactions"] + assert len(node["evidence"]) == 2 + assert "91.28%" in node["evidence"][0]["snippet"] + assert "73.06%" in node["evidence"][1]["snippet"] + assert "do not by themselves establish complete mineralization" in node["description"] + assert "downstream" not in node and "interaction_type" not in node + assert "Supplements were not inspected" in docs[2]["discussions"][-1]["rationale"] + + +def test_factorial_workflow_removed_without_biological_mechanism_invention(): + _, rows, docs = records() + (node,) = docs[3]["ecological_interactions"] + assert "statistical" in node["description"] + assert "ranking is illustrative" in node["description"] + assert "not a linear biomass measure" in node["description"] + assert len(node["participating_taxa"]) == 3 + assert len(rows[3]["removed_node_decisions"]) == 1 + assert "downstream" not in node + assert "#1729" in docs[3]["discussions"][-1]["rationale"] + + +def test_all_original_nodes_edges_and_anchors_have_dispositions(): + _, rows, docs = records() + assert sum(len(r["node_decisions"]) for r in rows) == 10 + assert sum(len(r["removed_node_decisions"]) for r in rows) == 1 + assert sum(len(r["edges_before"]) for r in rows) == 6 + assert sum(len(r["retained_edge_decisions"]) for r in rows) == 4 + assert sum(len(r["removed_edge_decisions"]) for r in rows) == 2 + for row, doc in zip(rows, docs, strict=True): + names = {n["name"] for n in doc["ecological_interactions"]} + assert names == {n["node"] for n in row["node_decisions"]} + assert all(e["target"] in names for e in row["edges_after"]) + assert all( + a.split("#", 1)[1] in names for d in doc["discussions"] for a in d["attaches_to"] + ) + + +def test_fresh_and_cached_source_verification_are_not_conflated(): + ledger, _, _ = records() + assert ledger["primary_graph_snippet_count"] == 18 + assert len(ledger["discussion_snippet_checks"]) == 7 + checks = ledger["snippet_checks"] + ledger["discussion_snippet_checks"] + cached = [c for c in checks if not c["independent_primary_match"]] + assert len(cached) == 4 + assert {c["reference"] for c in cached} == {"PMID:42153623"} + + +def test_history_no_spend_and_unfinished_followups_are_explicit(): + ledger, rows, docs = records() + assert not ledger["independent_approval"] + assert ledger["issues"] == [1724, 1725, 1726, 1727] + assert ledger["unresolved_non_graph_issues"] == [765, 1728, 1729] + assert ledger["edison"]["provider_submissions"] == ledger["edison"]["credits_spent"] == 0 + assert ledger["edison"]["dry_runs"] == [] + for row, doc in zip(rows, docs, strict=True): + assert row["curation_events_added"] == len(row["history_files"]) == 1 + assert row["status"] == "reviewed" and doc["curation_history"][-1]["llm_assisted"] + + +def test_reviewed_records_and_caches_are_hash_bound(): + ledger, rows, _ = records() + assert ledger["cache_changes"] == [] + for row in rows: + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + for path, digest in ledger["primary_artifacts"].items(): + if path.startswith("references_cache/"): + assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest