From 393b6da1b24f5ce70e567630f5a82bbb260a72dc Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Wed, 7 Oct 2026 06:25:02 -0700 Subject: [PATCH] Bound degradation and competition evidence and diatom graph scope --- ...dococcus_Chloronitrobenzene_Coculture.html | 105 +- ...us_RDK17_Terephthalic_Acid_Consortium.html | 82 +- ...thalene_Biochar_Engineered_Consortium.html | 122 +- ...donitzschia_Sulfitobacter_Association.html | 230 +--- .../2026-10-07T125451Z-codex-edc25d.yaml | 26 + .../2026-10-07T130739Z-codex-a070e2.yaml | 26 + .../2026-10-07T125451Z-codex-55758a.yaml | 27 + .../2026-10-07T125451Z-codex-1ff079.yaml | 27 + .../2026-10-07T130739Z-codex-d6881b.yaml | 26 + .../2026-10-07T125452Z-codex-a42433.yaml | 26 + ...dococcus_Chloronitrobenzene_Coculture.yaml | 92 +- ...us_RDK17_Terephthalic_Acid_Consortium.yaml | 84 +- ...thalene_Biochar_Engineered_Consortium.yaml | 129 +- ...donitzschia_Sulfitobacter_Association.yaml | 170 +-- reports/causal_graph_review/README.md | 28 + .../adversarial-review-20261007-batch90.yaml | 304 +++++ .../20261007-four-records-batch90.yaml | 671 ++++++++++ reports/causal_graph_review/inventory.tsv | 8 +- reports/causal_graph_review/summary.json | 6 +- .../validation-20261007-batch90.json | 1120 +++++++++++++++++ tests/test_causal_review_batch90.py | 165 +++ tests/test_participating_taxa.py | 2 + 22 files changed, 3076 insertions(+), 400 deletions(-) create mode 100644 history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T125451Z-codex-edc25d.yaml create mode 100644 history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T130739Z-codex-a070e2.yaml create mode 100644 history/records/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium/2026-10-07T125451Z-codex-55758a.yaml create mode 100644 history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T125451Z-codex-1ff079.yaml create mode 100644 history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T130739Z-codex-d6881b.yaml create mode 100644 history/records/Pseudonitzschia_Sulfitobacter_Association/2026-10-07T125452Z-codex-a42433.yaml create mode 100644 reports/causal_graph_review/adversarial-review-20261007-batch90.yaml create mode 100644 reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml create mode 100644 reports/causal_graph_review/validation-20261007-batch90.json create mode 100644 tests/test_causal_review_batch90.py diff --git a/docs/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.html b/docs/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.html index dbf601876..f1fa87960 100644 --- a/docs/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.html +++ b/docs/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.html @@ -583,7 +583,7 @@

Ecological Interactions

Ecological interaction network for Pseudomonas-Rhodococcus Chloronitrobenzene Coculture - 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, syntrophy). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding).
@@ -596,8 +596,8 @@

Ecological Interactions

Syntrophy + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -608,7 +608,7 @@

Ecological Interactions

Pseudomonas Partial Chloronitrobenzene Transformation

CROSS_FEEDING -

P. putida HS12 converts 3- and 4-chloronitrobenzene to chlorohydroxyacetanilide intermediates through partial reduction and acetylation, supplying compounds that the Rhodococcus partner can further degrade.

+

The source reports chemically identified conversion of the substrates into intermediates subsequently degraded by the partner. PARTIAL: the sequential transformation supports the reported directed coupling, not reciprocal metabolite supply or directly traced assimilation by both partners.

Source Taxon: Pseudomonas putida HS12

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

Pseudomonas Partial Chloronitrobenzene Transformation

→ Rhodococcus Intermediate Degradation -

P. putida HS12 partial reduction and acetylation generate chlorohydroxyacetanilide intermediates that Rhodococcus sp. strain HS51 further degrades in the sequential two-strain pathway. -

+

The reported upstream transformation produces the intermediates that the downstream partner degrades, coupling the two steps. PARTIAL: the accessible abstract does not resolve every transfer or assimilation step.

@@ -695,16 +694,19 @@

Evidence

Rhodococcus Intermediate Degradation

- CROSS_FEEDING
-

Rhodococcus sp. strain HS51 degrades the chlorohydroxyacetanilide intermediates generated by P. putida HS12, completing the sequential catabolic design.

+

Rhodococcus degrades the intermediates generated by Pseudomonas in the proposed two-member pathway. This is the downstream transformation step, not evidence of Rhodococcus supplying a metabolite back to Pseudomonas.

-

Source Taxon: Rhodococcus sp. strain HS51

+

Participating Taxa: + + Pseudomonas putida HS12, + + Rhodococcus sp. strain HS51 -

Target Taxon: Pseudomonas putida HS12

+

@@ -728,8 +730,7 @@

Rhodococcus Intermediate Degradation

→ Coculture Chloronitrobenzene Mineralization -

Rhodococcus degradation of the Pseudomonas-derived chlorohydroxyacetanilide intermediates completes the sequential pathway needed for 3- and 4-chloronitrobenzene mineralization by the coculture. -

+

The reported downstream intermediate degradation contributes to the proposed two-strain pathway and conditional coculture mineralization. PARTIAL: the full pathway and carbon-balance measurements were not independently inspected.

@@ -772,9 +773,8 @@

Evidence

Coculture Chloronitrobenzene Mineralization

- SYNTROPHY
-

The two-member coculture mineralizes 3- and 4-chloronitrobenzene in the presence of an additional carbon source.

+

The primary abstract reports coculture mineralization in the presence of an additional carbon source. Preserve that conditional result. The endpoint is not itself evidence that removal of a partner product makes the upstream metabolism favourable, and a complete carbon balance was not independently audited.

@@ -845,6 +845,60 @@

Evidence

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + What evidence resolves transfer direction and the conditional mineralization pathway? +

+

The sequential transformations and reported mineralization are preserved. The reverse-feeding label on the intermediate-degradation node was removed without reversing either graph arrow. Only the primary abstract was retrieved: XML failed after bounded retries, the article page presented a browser challenge and the open-access metadata request returned404. Missing full methods are not evidence that controls were absent. SYNTROPHY does not require obligacy in the local schema; the endpoint label is removed because pathway completion alone does not demonstrate product-removal feedback on the upstream metabolism.

+ +

Attaches to: ecological_interactions#Pseudomonas Partial Chloronitrobenzene Transformation, ecological_interactions#Rhodococcus Intermediate Degradation, ecological_interactions#Coculture Chloronitrobenzene Mineralization

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

Rhodococcus sp. strain HS51, which degrades 4- and 5-chloro-2-hydroxyacetanilides

+

Supports HS51 as the organism degrading P. putida-derived intermediates.

+
+ +
+
+ IN_VITRO + SUPPORT + + + + PMID:10049867 + + +
+

This coculture was confirmed to mineralize 3- and 4-CNBs

+

Directly supports the community-level mineralization claim.

+
+ +
+ + +
+ +
@@ -1293,7 +1347,7 @@

Evidence

(function() { var intId = "interaction:1"; - var intType = "CROSS_FEEDING"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1315,23 +1369,26 @@

Evidence

}); - var srcKey = "Rhodococcus sp. strain HS51"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ - var tgtKey = "Pseudomonas putida HS12"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } + "Pseudomonas putida HS12", + + "Rhodococcus sp. strain HS51" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); (function() { var intId = "interaction:2"; - var intType = "SYNTROPHY"; + var intType = "UNKNOWN"; var metabolites = []; diff --git a/docs/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.html b/docs/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.html index 90602e9fe..cb97ce9a3 100644 --- a/docs/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.html +++ b/docs/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.html @@ -578,7 +578,7 @@

Ecological Interactions

Exploitative competition for terephthalic acid

COMPETITION
-

Both strains utilize TPA at comparable rates in monoculture, but they compete for TPA as the shared sole carbon and energy source in coculture; Pp-TE consistently outcompetes RDK17, partly through relative growth kinetics.

+

Both members use the shared substrate, and the source reports that abolishing its metabolism in Pp-TE removes dominance. This supports a metabolic contribution to competition; dominance alone does not identify that mechanism. PARTIAL: the abstract does not separately quantify resource competition and contact-inhibition contributions.

Source Taxon: Pseudomonas putida strain Pp-TE (engineered)

@@ -606,8 +606,7 @@

Exploitative competition for terephthalic acid

→ Pp-TE Dominance During TPA Coculture -

Competition for terephthalic acid contributes to Pp-TE dominance in the two-member TPA coculture fermentations. -

+

The source-reported metabolic perturbation supports a contribution of substrate use to dominance, alongside contact inhibition. PARTIAL: their separate effect sizes are not resolved by the accessible abstract.

@@ -630,6 +629,19 @@

Evidence

+
  • +
    + + PMID:42324694 + + - SUPPORT (IN_VITRO) +
    + +
    "when TPA metabolism was abolished in Pp-TE, it lost its dominance to RDK17"
    + +
  • + @@ -639,7 +651,7 @@

    Evidence

    Interference competition via type VI secretion system

    COMPETITION -

    Pp-TE inhibits RDK17 through contact-dependent inhibition mediated by its type VI secretion system, which impairs RDK17 growth and reinforces Pp-TE dominance in coculture.

    +

    The authors report assays attributing the main competitive advantage to type-VI-secretion-associated contact inhibition, with a partial contribution from relative growth kinetics. Preserve this experimental attribution; the accessible abstract does not expose the full controls or separate effect sizes.

    Source Taxon: Pseudomonas putida strain Pp-TE (engineered)

    @@ -670,8 +682,7 @@

    Interference competition via type VI secretion system

    → Pp-TE Dominance During TPA Coculture -

    Contact-dependent growth inhibition reinforces Pp-TE dominance over RDK17 in TPA-fed cocultures. -

    +

    The source reports that contact-dependent impairment of the partner is the main contributor to dominance, alongside metabolic capability and relative kinetics. This preserves the reported causal attribution without independently certifying unreviewed methods.

    @@ -703,8 +714,7 @@

    Evidence

    Pp-TE Dominance During TPA Coculture

    COMPETITION -

    P. putida Pp-TE consistently dominates Rhodococcus sp. RDK17 in batch and serial-transfer cocultures supplied with terephthalic acid as the sole carbon and energy source. -

    +

    Pp-TE consistently outcompetes RDK17 in the reported batch and serial-transfer cocultures. This is the measured population outcome; its mechanistic attribution is represented by the two upstream nodes, not inferred from dominance alone.

    Source Taxon: Pseudomonas putida strain Pp-TE (engineered)

    @@ -765,6 +775,60 @@

    Evidence

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + How are the two competitive contributions distinguished from the dominance observation? +

    +

    All three competition nodes and both existing directions remain. The primary abstract reports contact inhibition, relative kinetics and a metabolism-loss comparison; those positive findings are retained. Full methods and quantitative decomposition were unavailable, which does not imply absent controls. No new resistance-selection details, genetic designs or experimental protocols were added.

    + +

    Attaches to: ecological_interactions#Exploitative competition for terephthalic acid, ecological_interactions#Interference competition via type VI secretion system, ecological_interactions#Pp-TE Dominance During TPA Coculture

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

    Pp-TE consistently outcompeted RDK17 in batch and multitransfer coculture fermentations, even when RDK17 was inoculated at a significantly higher initial abundance

    +

    Supports the observed competitive outcome, not by itself the mechanism of resource competition.

    +
    + +
    +
    + IN_VITRO + SUPPORT + + + + PMID:42324694 + + +
    +

    the dominance of Pp-TE was primarily conferred by its type VI secretion system, which impaired the growth of RDK17 via contact-dependent inhibition

    +

    Contact-dependent inhibition through the Pp-TE T6SS is interference competition against RDK17.

    +
    + +
    + + +
    + +
    @@ -933,7 +997,7 @@

    Evidence

    var processes = []; - var evidenceCount = 1; + var evidenceCount = 2; nodes.push({ id: intId, diff --git a/docs/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.html b/docs/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.html index 90a122834..54be500a2 100644 --- a/docs/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.html +++ b/docs/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.html @@ -581,6 +581,11 @@

    Ecological Interactions

    aria-hidden="true" data-symbol="symbolTriangle" data-color="#7f30cf"> Syntrophy +
    + Other +
    @@ -590,7 +595,7 @@

    Ecological Interactions

    Biochar-bridged direct interspecies electron transfer (DIET)

    SYNTROPHY -

    The conductive S-N-doped biochar matrix bridges the two strains, facilitating direct interspecies electron transfer (DIET) and extracellular electron transfer (EET). Pseudomonas stutzeri acts as an oxidative bio-anode releasing electrons that are harnessed by the Rhodococcus reductive bio-cathode.

    +

    PARTIAL: the authors interpret the conductive material as coupling donor electron release with recipient electron use in a syntrophic model. Retain this reported coupling type, which does not assert obligacy. Electrochemical and multi-omics support do not independently isolate the interspecies route from other material-associated effects in the accessible abstract.

    Source Taxon: Pseudomonas stutzeri (overexpressing nahAc and nahB)

    @@ -621,7 +626,7 @@

    Biochar-bridged direct interspecies electron transfer (DIET)

    → Syntrophic naphthalene mineralization circuit -

    Conductive biochar-mediated electron transfer bridges the engineered Pseudomonas bio-anode and Rhodococcus bio-cathode that jointly mineralize naphthalene.

    +

    PARTIAL: the reported conductive interface is proposed to couple the partners within the authors degradation-circuit model; route-specific mediation is not independently resolved by the accessible abstract.

    @@ -653,14 +658,18 @@

    Evidence

    Syntrophic naphthalene mineralization circuit

    SYNTROPHY -

    Pseudomonas stutzeri initiates naphthalene degradation and releases electrons; the directed electron flux is harnessed by Rhodococcus to drive oxygenolytic ring-cleavage catalysis, establishing a syntrophic circuit that mineralizes naphthalene while minimizing intermediate accumulation.

    +

    PARTIAL: the authors interpret coordinated electron flux and catabolic responses as a syntrophic degradation circuit. Retain that reported model with canonical participants. The local interaction type does not assert obligacy, and the accessible abstract does not independently isolate every mediator.

    -

    Source Taxon: Pseudomonas stutzeri (overexpressing nahAc and nahB)

    +

    Participating Taxa: -

    Target Taxon: Rhodococcus rhodococcus (overexpressing nahH and catA)

    + Pseudomonas stutzeri (overexpressing nahAc and nahB), + + Rhodococcus rhodococcus (overexpressing nahH and catA) + +

    @@ -681,8 +690,7 @@

    Syntrophic naphthalene mineralization circuit

    → Enhanced Naphthalene Removal and Mineralization -

    Biochar-mediated electron flux feeds the Pseudomonas-Rhodococcus syntrophic circuit that removes and mineralizes naphthalene. -

    +

    PARTIAL: the proposed coordinated circuit is offered as an explanation for the reported removal and mineralization endpoints. The abstract does not isolate each mediator from concurrent treatment effects.

    @@ -712,13 +720,19 @@

    Evidence

    Enhanced Naphthalene Removal and Mineralization

    - SYNTROPHY
    -

    The biochar-bridged engineered circuit achieved more than 98.3% naphthalene removal and 89.5% mineralization by coordinating electron flux between Pseudomonas and Rhodococcus and limiting intermediate accumulation. -

    +

    The source reports more than 98.3% naphthalene removal and 89.5% mineralization. Preserve these separate positive endpoints without treating the measured outcome itself as an electron-transfer interaction or independently auditing a complete carbon balance.

    + +

    Participating Taxa: + + Pseudomonas stutzeri (overexpressing nahAc and nahB), + + Rhodococcus rhodococcus (overexpressing nahH and catA) + +

    @@ -761,6 +775,60 @@

    Evidence

    +
    +

    Knowledge gaps & discussions (1)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + What distinguishes the reported electron-transfer model from the treatment endpoints? +

    +

    All three nodes and both existing directions remain. The authors electron-transfer model retains its SYNTROPHY classification with PARTIAL evidence bounds: the local enum does not require obligacy. The community removal/mineralization endpoint is distinct from the coupling mechanism. Only the fresh primary abstract was retrieved; unavailable methods are not proof that route-specific controls were absent. Canonical source labels are preserved, not newly certified strain identities. No new genetic designs, optimization details or experimental procedures were added.

    + +

    Attaches to: ecological_interactions#Biochar-bridged direct interspecies electron transfer (DIET), ecological_interactions#Syntrophic naphthalene mineralization circuit, ecological_interactions#Enhanced Naphthalene Removal and Mineralization

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

    facilitating direct interspecies electron transfer (DIET) and enhancing extracellular electron transfer (EET)

    +

    Supports the authors DIET/EET interpretation, not independent resolution of the electron-transfer route or obligatory mutual dependence.

    +
    + +
    +
    + IN_VITRO + SUPPORT + + + + PMID:42139785 + + +
    +

    The resulting bioelectrochemical synergy achieved exceptional naphthalene removal (>98.3%) and mineralization efficiency (89.5%)

    +

    Supports the measured removal and mineralization endpoint of the engineered consortium.

    +
    + +
    + + +
    + +
    @@ -917,23 +985,26 @@

    Evidence

    }); - var srcKey = "Pseudomonas stutzeri (overexpressing nahAc and nahB)"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } + var participantKeys = [ - var tgtKey = "Rhodococcus rhodococcus (overexpressing nahH and catA)"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } + "Pseudomonas stutzeri (overexpressing nahAc and nahB)", + + "Rhodococcus rhodococcus (overexpressing nahH and catA)" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); })(); (function() { var intId = "interaction:2"; - var intType = "SYNTROPHY"; + var intType = "UNKNOWN"; var metabolites = []; @@ -957,6 +1028,19 @@

    Evidence

    + var participantKeys = [ + + "Pseudomonas stutzeri (overexpressing nahAc and nahB)", + + "Rhodococcus rhodococcus (overexpressing nahH and catA)" + + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } + }); + })(); diff --git a/docs/communities/Pseudonitzschia_Sulfitobacter_Association.html b/docs/communities/Pseudonitzschia_Sulfitobacter_Association.html index a6f3b2eda..2ffc1d803 100644 --- a/docs/communities/Pseudonitzschia_Sulfitobacter_Association.html +++ b/docs/communities/Pseudonitzschia_Sulfitobacter_Association.html @@ -559,7 +559,7 @@

    Ecological Interactions

    Ecological interaction network for Pseudo-nitzschia-Sulfitobacter Marine Association - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (mutualism, niche partitioning). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction.
    @@ -567,76 +567,18 @@

    Ecological Interactions

    Mutualism -
    -
    - Niche partitioning + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
    -
    -
    -

    Diatom-Associated Bacterial Consortium Resolution

    - NICHE_PARTITIONING -
    -

    The Pseudo-nitzschia study decomposed a diatom-associated bacterial consortium to identify a Sulfitobacter species that participates in a nutrient and signaling exchange with the phytoplankton host. -

    - - - - - - - - -

    Biological Processes:

    - - - - - - -

    Evidence

    - - -
    -

    Tryptophan-Supported Sulfitobacter IAA Synthesis

    - MUTUALISM
    -

    Sulfitobacter synthesizes indole-3-acetic acid using tryptophan supplied both by Pseudo-nitzschia and by endogenous bacterial metabolism. -

    +

    The primary abstract reports bacterial IAA production using both diatom-derived and endogenous precursor pools. Preserve this biochemical attribution without treating the individual synthesis process as proof of reciprocal fitness benefits.

    Source Taxon: Sulfitobacter sp. SA11

    @@ -723,10 +665,8 @@

    Evidence

    Auxin-Mediated Diatom Cell Division

    - MUTUALISM
    -

    Sulfitobacter-secreted indole-3-acetic acid promoted Pseudo-nitzschia cell division, establishing auxin as a growth-promoting bacterial signal in this diatom association. -

    +

    The source reports that bacterial IAA promotes diatom cell division. Preserve the existing positive signaling finding and its direction, without making the individual response node a claim of reciprocal partner benefit.

    Source Taxon: Sulfitobacter sp. SA11

    @@ -786,13 +726,19 @@

    Evidence

    Infochemical Nutrient Exchange

    - MUTUALISM
    -

    Indole-3-acetic acid and tryptophan functioned as signaling molecules within a nutrient exchange that included diatom organosulfur compounds and bacterial-excreted ammonia. -

    +

    The source describes signaling within a broader nutrient exchange between the partners. PARTIAL: the accessible abstract does not independently establish complete exchange fluxes or the necessity of every component for reciprocal fitness.

    + +

    Participating Taxa: + + Pseudo-nitzschia multiseries, + + Sulfitobacter sp. SA11 + +

    @@ -850,71 +796,70 @@

    Evidence

    -
    -
    -

    Coastal Sulfitobacter IAA Prevalence

    - NICHE_PARTITIONING -
    -

    Metabolite and metatranscriptome analyses detected widespread indole-3-acetic acid production by Sulfitobacter-related bacteria, especially in coastal environments. -

    + + +
    +

    Knowledge gaps & discussions (1)

    +
    +

    + KNOWLEDGE_GAP + OPEN + Which observations belong to the exact pair and which describe the broader environment? +

    +

    The consortium-resolution workflow and broad coastal-prevalence nodes were removed from the pair-specific interaction graph; the environmental observation remains in environmental_factors. The three biological signal/exchange nodes and existing causal direction are retained. The fresh primary abstract and public publisher preview were read, not the full main methods or supplements. No new growth mechanism, toxin-production guidance, cultivation optimization or experimental design was added. Non-graph citation, culture and metal metadata remain #1742.

    +

    Attaches to: ecological_interactions#Tryptophan-Supported Sulfitobacter IAA Synthesis, ecological_interactions#Auxin-Mediated Diatom Cell Division, ecological_interactions#Infochemical Nutrient Exchange

    -

    Metabolites: - indole-3-acetic acid - (CHEBI:16411) -

    +
    + 2 evidence item(s) +
    +
    + IN_VITRO + SUPPORT -

    Biological Processes:

    -
      -
    • - indole-3-acetic acid biosynthetic process - (GO:0009684) -
    • - -
    + PMID:26017307 +
    +

    Indole-3-acetic acid and tryptophan serve as signalling molecules that are part of a complex exchange of nutrients, including diatom-excreted organosulfur molecules and bacterial-excreted ammonia +

    +

    Supports IAA and tryptophan signaling inside a broader nutrient exchange. +

    +
    +
    +
    + OTHER + SUPPORT -

    Evidence

    -
      -
    • -
      + PMID:26017307 - PMID:26017307 - - SUPPORT (OTHER)
      +

      widespread indole-3-acetic acid production by Sulfitobacter-related bacteria, particularly in coastal environments +

      +

      Supports environmental prevalence of Sulfitobacter-related bacterial IAA production. +

      +
    -
    "widespread indole-3-acetic acid production by Sulfitobacter-related bacteria, particularly in coastal environments -"
    - - +
    -
    -
    - - - @@ -1368,35 +1313,7 @@

    Evidence

    (function() { var intId = "interaction:0"; - var intType = "NICHE_PARTITIONING"; - var metabolites = []; - - var processes = []; - - - processes.push("interspecies interaction"); - - - var evidenceCount = 1; - - nodes.push({ - id: intId, - label: "Diatom-Associated Bacterial Consortium Resolution", - type: "interaction", - interactionType: intType, - metabolites: metabolites, - processes: processes, - evidenceCount: evidenceCount - }); - - - - - })(); - - (function() { - var intId = "interaction:1"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1443,8 +1360,8 @@

    Evidence

    })(); (function() { - var intId = "interaction:2"; - var intType = "MUTUALISM"; + var intId = "interaction:1"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1485,8 +1402,8 @@

    Evidence

    })(); (function() { - var intId = "interaction:3"; - var intType = "MUTUALISM"; + var intId = "interaction:2"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1518,38 +1435,19 @@

    Evidence

    - })(); - - (function() { - var intId = "interaction:4"; - var intType = "NICHE_PARTITIONING"; - var metabolites = []; - - - metabolites.push("indole-3-acetic acid"); - - - var processes = []; - - - processes.push("indole-3-acetic acid biosynthetic process"); + var participantKeys = [ + "Pseudo-nitzschia multiseries", - var evidenceCount = 1; + "Sulfitobacter sp. SA11" - nodes.push({ - id: intId, - label: "Coastal Sulfitobacter IAA Prevalence", - type: "interaction", - interactionType: intType, - metabolites: metabolites, - processes: processes, - evidenceCount: evidenceCount + ]; + participantKeys.forEach(function(key) { + if (taxonNodeIds[key]) { + links.push({ source: taxonNodeIds[key], target: intId }); + } }); - - - })(); @@ -1571,7 +1469,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 = 7; + var nodeCount = 5; var height = Math.max(500, 400 + nodeCount * 20); svg.attr("width", width).attr("height", height); diff --git a/history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T125451Z-codex-edc25d.yaml b/history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T125451Z-codex-edc25d.yaml new file mode 100644 index 000000000..e86d25ef9 --- /dev/null +++ b/history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T125451Z-codex-edc25d.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml + slug: Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture +session: + id: 2026-10-07T125451Z-codex-edc25d + timestamp: '2026-10-07T12:54:51Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1738 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve chemically supported upstream transformation with transfer limits.; Remove + the reverse-feeding implication while retaining downstream degradation.; Preserve conditional + reported mineralization without an obligatory-syntrophy label. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml diff --git a/history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T130739Z-codex-a070e2.yaml b/history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T130739Z-codex-a070e2.yaml new file mode 100644 index 000000000..335cc460c --- /dev/null +++ b/history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T130739Z-codex-a070e2.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml + slug: Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture +session: + id: 2026-10-07T130739Z-codex-a070e2 + timestamp: '2026-10-07T13:07:39Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1738 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: 'Correct the precommit syntrophy rationale: the local enum does not require obligacy; + an endpoint alone does not establish product-removal feedback.' + details: Adversarial precommit correction after reading InteractionTypeEnum.SYNTROPHY. Initial + local results are retained as superseded; full validation will be rerun. diff --git a/history/records/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium/2026-10-07T125451Z-codex-55758a.yaml b/history/records/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium/2026-10-07T125451Z-codex-55758a.yaml new file mode 100644 index 000000000..ca21b33cc --- /dev/null +++ b/history/records/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium/2026-10-07T125451Z-codex-55758a.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml + slug: Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium +session: + id: 2026-10-07T125451Z-codex-55758a + timestamp: '2026-10-07T12:54:51Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1739 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Add reported metabolic-perturbation evidence rather than treating dominance alone + as mechanism.; Preserve reported contact inhibition and relative-kinetics attribution + with source-access limits.; Preserve the measured dominance outcome separately from its + explanatory mechanisms. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml diff --git a/history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T125451Z-codex-1ff079.yaml b/history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T125451Z-codex-1ff079.yaml new file mode 100644 index 000000000..d52f5fbc3 --- /dev/null +++ b/history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T125451Z-codex-1ff079.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml + slug: Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium +session: + id: 2026-10-07T125451Z-codex-1ff079 + timestamp: '2026-10-07T12:54:51Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1740 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Qualify the authors electron-transfer model without asserting obligatory syntrophy.; + Represent the composite circuit collectively with explicit canonical participants.; Preserve + reported removal and mineralization without conflating endpoints with a specific interaction + type. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml diff --git a/history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T130739Z-codex-d6881b.yaml b/history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T130739Z-codex-d6881b.yaml new file mode 100644 index 000000000..6530b2f4f --- /dev/null +++ b/history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T130739Z-codex-d6881b.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml + slug: Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium +session: + id: 2026-10-07T130739Z-codex-d6881b + timestamp: '2026-10-07T13:07:39Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1740 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Restore the authors qualified SYNTROPHY model on the transfer and circuit nodes; + the local enum explicitly does not assert obligacy. Keep the measurement endpoint distinct. + details: Adversarial precommit correction after reading InteractionTypeEnum.SYNTROPHY. Initial + local results are retained as superseded; full validation will be rerun. diff --git a/history/records/Pseudonitzschia_Sulfitobacter_Association/2026-10-07T125452Z-codex-a42433.yaml b/history/records/Pseudonitzschia_Sulfitobacter_Association/2026-10-07T125452Z-codex-a42433.yaml new file mode 100644 index 000000000..c3a576b91 --- /dev/null +++ b/history/records/Pseudonitzschia_Sulfitobacter_Association/2026-10-07T125452Z-codex-a42433.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml + slug: Pseudonitzschia_Sulfitobacter_Association +session: + id: 2026-10-07T125452Z-codex-a42433 + timestamp: '2026-10-07T12:54:52Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1741 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Preserve reported bacterial synthesis without claiming individual-process mutualism.; + Preserve the reported signaling response and existing causal direction.; Preserve nutrient-exchange + interpretation with exact-pair and flux limits. + details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml diff --git a/kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml b/kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml index 193ffb764..a27bc54a8 100644 --- a/kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml +++ b/kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml @@ -121,9 +121,9 @@ taxonomy: explanation: Supports inclusion of HS51 in the defined coculture with P. putida HS12. ecological_interactions: - name: Pseudomonas Partial Chloronitrobenzene Transformation - description: P. putida HS12 converts 3- and 4-chloronitrobenzene to chlorohydroxyacetanilide - intermediates through partial reduction and acetylation, supplying compounds that the - Rhodococcus partner can further degrade. + description: 'The source reports chemically identified conversion of the substrates into intermediates subsequently + degraded by the partner. PARTIAL: the sequential transformation supports the reported directed coupling, not + reciprocal metabolite supply or directly traced assimilation by both partners.' interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -152,10 +152,8 @@ ecological_interactions: label: biological process involved in interspecies interaction between organisms downstream: - target: Rhodococcus Intermediate Degradation - description: > - P. putida HS12 partial reduction and acetylation generate - chlorohydroxyacetanilide intermediates that Rhodococcus sp. strain HS51 - further degrades in the sequential two-strain pathway. + description: 'The reported upstream transformation produces the intermediates that the downstream partner degrades, + coupling the two steps. PARTIAL: the accessible abstract does not resolve every transfer or assimilation step.' evidence: - reference: PMID:10049867 supports: SUPPORT @@ -168,20 +166,9 @@ ecological_interactions: snippet: by partial reduction and subsequent acetylation explanation: Supports the curated partial-reduction and acetylation mechanism. - name: Rhodococcus Intermediate Degradation - description: Rhodococcus sp. strain HS51 degrades the chlorohydroxyacetanilide intermediates generated - by P. putida HS12, completing the sequential catabolic design. - interaction_type: CROSS_FEEDING - scope: PAIRWISE - source_taxon: - preferred_term: Rhodococcus sp. strain HS51 - term: - id: NCBITaxon:1827 - label: Rhodococcus - target_taxon: - preferred_term: Pseudomonas putida HS12 - term: - id: NCBITaxon:303 - label: Pseudomonas putida + description: Rhodococcus degrades the intermediates generated by Pseudomonas in the proposed two-member pathway. + This is the downstream transformation step, not evidence of Rhodococcus supplying a metabolite back to Pseudomonas. + scope: COMMUNITY_LEVEL biological_processes: - preferred_term: interspecies interaction between organisms term: @@ -189,10 +176,9 @@ ecological_interactions: label: biological process involved in interspecies interaction between organisms downstream: - target: Coculture Chloronitrobenzene Mineralization - description: > - Rhodococcus degradation of the Pseudomonas-derived - chlorohydroxyacetanilide intermediates completes the sequential pathway - needed for 3- and 4-chloronitrobenzene mineralization by the coculture. + description: 'The reported downstream intermediate degradation contributes to the proposed two-strain pathway + and conditional coculture mineralization. PARTIAL: the full pathway and carbon-balance measurements were not + independently inspected.' evidence: - reference: PMID:10049867 supports: SUPPORT @@ -204,10 +190,19 @@ ecological_interactions: evidence_source: IN_VITRO snippet: A degradation pathway for 3- and 4-CNBs by the two isolated strains was also proposed explanation: Supports the sequential two-strain pathway interpretation. + participating_taxa: + - preferred_term: Pseudomonas putida HS12 + term: + id: NCBITaxon:303 + label: Pseudomonas putida + - preferred_term: Rhodococcus sp. strain HS51 + term: + id: NCBITaxon:1827 + label: Rhodococcus - name: Coculture Chloronitrobenzene Mineralization - description: The two-member coculture mineralizes 3- and 4-chloronitrobenzene in the presence - of an additional carbon source. - interaction_type: SYNTROPHY + description: The primary abstract reports coculture mineralization in the presence of an additional carbon source. + Preserve that conditional result. The endpoint is not itself evidence that removal of a partner product makes + the upstream metabolism favourable, and a complete carbon balance was not independently audited. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Pseudomonas putida HS12 @@ -329,3 +324,44 @@ metal_relevance: NOT_APPLICABLE metal_notes: > No metal or rare earth element processing role is curated for this chloronitrobenzene bioremediation coculture. +discussions: +- discussion_id: chloronitro-direction-and-mineralization + prompt: What evidence resolves transfer direction and the conditional mineralization pathway? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: 'The sequential transformations and reported mineralization are preserved. The reverse-feeding label + on the intermediate-degradation node was removed without reversing either graph arrow. Only the primary abstract + was retrieved: XML failed after bounded retries, the article page presented a browser challenge and the open-access + metadata request returned404. Missing full methods are not evidence that controls were absent. SYNTROPHY does + not require obligacy in the local schema; the endpoint label is removed because pathway completion alone does + not demonstrate product-removal feedback on the upstream metabolism.' + attaches_to: + - ecological_interactions#Pseudomonas Partial Chloronitrobenzene Transformation + - ecological_interactions#Rhodococcus Intermediate Degradation + - ecological_interactions#Coculture Chloronitrobenzene Mineralization + evidence: + - reference: PMID:10049867 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: Rhodococcus sp. strain HS51, which degrades 4- and 5-chloro-2-hydroxyacetanilides + explanation: Supports HS51 as the organism degrading P. putida-derived intermediates. + - reference: PMID:10049867 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: This coculture was confirmed to mineralize 3- and 4-CNBs + explanation: Directly supports the community-level mineralization claim. +curation_history: +- timestamp: '2026-10-07T12:54:49Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve chemically supported upstream transformation with transfer limits.; Remove the reverse-feeding + implication while retaining downstream degradation.; Preserve conditional reported mineralization without an + obligatory-syntrophy label. Issue #1738; reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml' + llm_assisted: true +- timestamp: '2026-10-07T13:07:38Z' + curator: codex + action: CORRECT_PRECOMMIT_SYNTROPHY_REVIEW + changes: 'Correct the precommit syntrophy rationale: the local enum does not require obligacy; an endpoint alone + does not establish product-removal feedback. Issue #1738; reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml' + llm_assisted: true diff --git a/kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml b/kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml index 3c5b8c55e..91970bd03 100644 --- a/kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml +++ b/kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml @@ -90,9 +90,10 @@ taxonomy: explanation: Identifies Rhodococcus sp. strain RDK17 as the native member of the coculture. ecological_interactions: - name: Exploitative competition for terephthalic acid - description: Both strains utilize TPA at comparable rates in monoculture, but they compete for TPA - as the shared sole carbon and energy source in coculture; Pp-TE consistently outcompetes RDK17, - partly through relative growth kinetics. + description: 'Both members use the shared substrate, and the source reports that abolishing its metabolism in + Pp-TE removes dominance. This supports a metabolic contribution to competition; dominance alone does not identify + that mechanism. PARTIAL: the abstract does not separately quantify resource competition and contact-inhibition + contributions.' interaction_type: COMPETITION scope: PAIRWISE source_taxon: @@ -112,19 +113,25 @@ ecological_interactions: label: terephthalic acid downstream: - target: Pp-TE Dominance During TPA Coculture - description: > - Competition for terephthalic acid contributes to Pp-TE dominance in the - two-member TPA coculture fermentations. + description: 'The source-reported metabolic perturbation supports a contribution of substrate use to dominance, + alongside contact inhibition. PARTIAL: their separate effect sizes are not resolved by the accessible abstract.' evidence: - reference: PMID:42324694 supports: SUPPORT evidence_source: IN_VITRO - snippet: Pp-TE consistently outcompeted RDK17 in batch and multitransfer coculture fermentations, - even when RDK17 was inoculated at a significantly higher initial abundance - explanation: Exploitative competition for the shared TPA carbon source drives Pp-TE dominance. + snippet: Pp-TE consistently outcompeted RDK17 in batch and multitransfer coculture fermentations, even when + RDK17 was inoculated at a significantly higher initial abundance + explanation: Supports the observed competitive outcome, not by itself the mechanism of resource competition. + - reference: PMID:42324694 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: when TPA metabolism was abolished in Pp-TE, it lost its dominance to RDK17 + explanation: Supports the source-reported metabolic perturbation and its population outcome, without inventing + an exact genetic intervention or separating every competitive contribution. - name: Interference competition via type VI secretion system - description: Pp-TE inhibits RDK17 through contact-dependent inhibition mediated by its type VI - secretion system, which impairs RDK17 growth and reinforces Pp-TE dominance in coculture. + description: The authors report assays attributing the main competitive advantage to type-VI-secretion-associated + contact inhibition, with a partial contribution from relative growth kinetics. Preserve this experimental attribution; + the accessible abstract does not expose the full controls or separate effect sizes. interaction_type: COMPETITION scope: PAIRWISE source_taxon: @@ -144,22 +151,20 @@ ecological_interactions: label: protein secretion by the type VI secretion system downstream: - target: Pp-TE Dominance During TPA Coculture - description: > - Contact-dependent growth inhibition reinforces Pp-TE dominance over RDK17 - in TPA-fed cocultures. + description: The source reports that contact-dependent impairment of the partner is the main contributor to + dominance, alongside metabolic capability and relative kinetics. This preserves the reported causal attribution + without independently certifying unreviewed methods. evidence: - reference: PMID:42324694 supports: SUPPORT evidence_source: IN_VITRO - snippet: the dominance of Pp-TE was primarily conferred by its type VI secretion system, which - impaired the growth of RDK17 via contact-dependent inhibition - explanation: Contact-dependent inhibition through the Pp-TE T6SS is interference competition - against RDK17. + snippet: the dominance of Pp-TE was primarily conferred by its type VI secretion system, which impaired the + growth of RDK17 via contact-dependent inhibition + explanation: Contact-dependent inhibition through the Pp-TE T6SS is interference competition against RDK17. - name: Pp-TE Dominance During TPA Coculture - description: > - P. putida Pp-TE consistently dominates Rhodococcus sp. RDK17 in batch and - serial-transfer cocultures supplied with terephthalic acid as the sole - carbon and energy source. + description: Pp-TE consistently outcompetes RDK17 in the reported batch and serial-transfer cocultures. This is + the measured population outcome; its mechanistic attribution is represented by the two upstream nodes, not inferred + from dominance alone. interaction_type: COMPETITION scope: PAIRWISE source_taxon: @@ -207,3 +212,38 @@ growth_media: fermentations explanation: Cultivation was by batch and multitransfer (serial-transfer) coculture fermentation. +discussions: +- discussion_id: tpa-outcome-versus-competitive-contributions + prompt: How are the two competitive contributions distinguished from the dominance observation? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: All three competition nodes and both existing directions remain. The primary abstract reports contact + inhibition, relative kinetics and a metabolism-loss comparison; those positive findings are retained. Full methods + and quantitative decomposition were unavailable, which does not imply absent controls. No new resistance-selection + details, genetic designs or experimental protocols were added. + attaches_to: + - ecological_interactions#Exploitative competition for terephthalic acid + - ecological_interactions#Interference competition via type VI secretion system + - ecological_interactions#Pp-TE Dominance During TPA Coculture + evidence: + - reference: PMID:42324694 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: Pp-TE consistently outcompeted RDK17 in batch and multitransfer coculture fermentations, even when + RDK17 was inoculated at a significantly higher initial abundance + explanation: Supports the observed competitive outcome, not by itself the mechanism of resource competition. + - reference: PMID:42324694 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: the dominance of Pp-TE was primarily conferred by its type VI secretion system, which impaired the + growth of RDK17 via contact-dependent inhibition + explanation: Contact-dependent inhibition through the Pp-TE T6SS is interference competition against RDK17. +curation_history: +- timestamp: '2026-10-07T12:54:50Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Add reported metabolic-perturbation evidence rather than treating dominance alone as mechanism.; Preserve + reported contact inhibition and relative-kinetics attribution with source-access limits.; Preserve the measured + dominance outcome separately from its explanatory mechanisms. Issue #1739; reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml' + llm_assisted: true diff --git a/kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml b/kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml index 92e97dd6f..3f74bfd66 100644 --- a/kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml +++ b/kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml @@ -86,11 +86,10 @@ taxonomy: explanation: Identifies the engineered Rhodococcus strain as a member of the consortium. ecological_interactions: - name: Biochar-bridged direct interspecies electron transfer (DIET) - description: The conductive S-N-doped biochar matrix bridges the two strains, facilitating direct - interspecies electron transfer (DIET) and extracellular electron transfer (EET). Pseudomonas - stutzeri acts as an oxidative bio-anode releasing electrons that are harnessed by the Rhodococcus - reductive bio-cathode. - interaction_type: SYNTROPHY + description: 'PARTIAL: the authors interpret the conductive material as coupling donor electron release with recipient + electron use in a syntrophic model. Retain this reported coupling type, which does not assert obligacy. Electrochemical + and multi-omics support do not independently isolate the interspecies route from other material-associated effects + in the accessible abstract.' scope: PAIRWISE source_taxon: preferred_term: Pseudomonas stutzeri (overexpressing nahAc and nahB) @@ -109,33 +108,22 @@ ecological_interactions: label: electron transport chain downstream: - target: Syntrophic naphthalene mineralization circuit - description: Conductive biochar-mediated electron transfer bridges the engineered - Pseudomonas bio-anode and Rhodococcus bio-cathode that jointly mineralize - naphthalene. + description: 'PARTIAL: the reported conductive interface is proposed to couple the partners within the authors + degradation-circuit model; route-specific mediation is not independently resolved by the accessible abstract.' evidence: - reference: PMID:42139785 supports: SUPPORT evidence_source: IN_VITRO - snippet: facilitating direct interspecies electron transfer (DIET) and enhancing extracellular - electron transfer (EET) - explanation: States the biochar-mediated DIET/EET electron transfer between the two members. -- name: Syntrophic naphthalene mineralization circuit - description: Pseudomonas stutzeri initiates naphthalene degradation and releases electrons; the - directed electron flux is harnessed by Rhodococcus to drive oxygenolytic ring-cleavage catalysis, - establishing a syntrophic circuit that mineralizes naphthalene while minimizing intermediate - accumulation. + snippet: facilitating direct interspecies electron transfer (DIET) and enhancing extracellular electron transfer + (EET) + explanation: Supports the authors DIET/EET and coupled-metabolism interpretation, without independently resolving + the transfer route or asserting obligacy. interaction_type: SYNTROPHY - scope: PAIRWISE - source_taxon: - preferred_term: Pseudomonas stutzeri (overexpressing nahAc and nahB) - term: - id: NCBITaxon:316 - label: Stutzerimonas stutzeri - target_taxon: - preferred_term: Rhodococcus rhodococcus (overexpressing nahH and catA) - term: - id: NCBITaxon:1827 - label: Rhodococcus +- name: Syntrophic naphthalene mineralization circuit + description: 'PARTIAL: the authors interpret coordinated electron flux and catabolic responses as a syntrophic + degradation circuit. Retain that reported model with canonical participants. The local interaction type does + not assert obligacy, and the accessible abstract does not independently isolate every mediator.' + scope: COMMUNITY_LEVEL metabolites: - preferred_term: naphthalene term: @@ -143,22 +131,30 @@ ecological_interactions: label: naphthalene downstream: - target: Enhanced Naphthalene Removal and Mineralization - description: > - Biochar-mediated electron flux feeds the Pseudomonas-Rhodococcus - syntrophic circuit that removes and mineralizes naphthalene. + description: 'PARTIAL: the proposed coordinated circuit is offered as an explanation for the reported removal + and mineralization endpoints. The abstract does not isolate each mediator from concurrent treatment effects.' evidence: - reference: PMID:42139785 supports: SUPPORT evidence_source: IN_VITRO - snippet: Electrochemical and multi‑omics analyses confirmed the establishment of this syntrophic - circuit, demonstrating elevated electron flux, coordinated upregulation of catabolic genes - explanation: Confirms the syntrophic naphthalene-mineralizing circuit between the two members. -- name: Enhanced Naphthalene Removal and Mineralization - description: > - The biochar-bridged engineered circuit achieved more than 98.3% naphthalene - removal and 89.5% mineralization by coordinating electron flux between - Pseudomonas and Rhodococcus and limiting intermediate accumulation. + snippet: Electrochemical and multi‑omics analyses confirmed the establishment of this syntrophic circuit, demonstrating + elevated electron flux, coordinated upregulation of catabolic genes + explanation: Supports the reported electron-flux and expression findings and the authors circuit interpretation, + not independent necessity of every mediator. + participating_taxa: + - preferred_term: Pseudomonas stutzeri (overexpressing nahAc and nahB) + term: + id: NCBITaxon:316 + label: Stutzerimonas stutzeri + - preferred_term: Rhodococcus rhodococcus (overexpressing nahH and catA) + term: + id: NCBITaxon:1827 + label: Rhodococcus interaction_type: SYNTROPHY +- name: Enhanced Naphthalene Removal and Mineralization + description: The source reports more than 98.3% naphthalene removal and 89.5% mineralization. Preserve these separate + positive endpoints without treating the measured outcome itself as an electron-transfer interaction or independently + auditing a complete carbon balance. scope: COMMUNITY_LEVEL metabolites: - preferred_term: naphthalene @@ -169,9 +165,18 @@ ecological_interactions: - reference: PMID:42139785 supports: SUPPORT evidence_source: IN_VITRO - snippet: The resulting bioelectrochemical synergy achieved exceptional naphthalene removal - (>98.3%) and mineralization efficiency (89.5%) + snippet: The resulting bioelectrochemical synergy achieved exceptional naphthalene removal (>98.3%) and mineralization + efficiency (89.5%) explanation: Supports the measured removal and mineralization endpoint of the engineered consortium. + participating_taxa: + - preferred_term: Pseudomonas stutzeri (overexpressing nahAc and nahB) + term: + id: NCBITaxon:316 + label: Stutzerimonas stutzeri + - preferred_term: Rhodococcus rhodococcus (overexpressing nahH and catA) + term: + id: NCBITaxon:1827 + label: Rhodococcus cultivation_setup: - system_type: BIOELECTROCHEMICAL_SYSTEM instrument_detail: Immobilized engineered microbial system (imGEM) co-anchoring engineered Pseudomonas @@ -195,3 +200,47 @@ cultivation_setup: snippet: the immobilized system exhibited outstanding operational stability, maintaining high degradation efficiency over 30 days under varying environmental conditions explanation: Immobilized bioelectrochemical consortium operated over a 30-day period. +discussions: +- discussion_id: naphthalene-model-versus-endpoint + prompt: What distinguishes the reported electron-transfer model from the treatment endpoints? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: 'All three nodes and both existing directions remain. The authors electron-transfer model retains its + SYNTROPHY classification with PARTIAL evidence bounds: the local enum does not require obligacy. The community + removal/mineralization endpoint is distinct from the coupling mechanism. Only the fresh primary abstract was + retrieved; unavailable methods are not proof that route-specific controls were absent. Canonical source labels + are preserved, not newly certified strain identities. No new genetic designs, optimization details or experimental + procedures were added.' + attaches_to: + - ecological_interactions#Biochar-bridged direct interspecies electron transfer (DIET) + - ecological_interactions#Syntrophic naphthalene mineralization circuit + - ecological_interactions#Enhanced Naphthalene Removal and Mineralization + evidence: + - reference: PMID:42139785 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: facilitating direct interspecies electron transfer (DIET) and enhancing extracellular electron transfer + (EET) + explanation: Supports the authors DIET/EET interpretation, not independent resolution of the electron-transfer + route or obligatory mutual dependence. + - reference: PMID:42139785 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: The resulting bioelectrochemical synergy achieved exceptional naphthalene removal (>98.3%) and mineralization + efficiency (89.5%) + explanation: Supports the measured removal and mineralization endpoint of the engineered consortium. +curation_history: +- timestamp: '2026-10-07T12:54:50Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Qualify the authors electron-transfer model without asserting obligatory syntrophy.; Represent the composite + circuit collectively with explicit canonical participants.; Preserve reported removal and mineralization without + conflating endpoints with a specific interaction type. Issue #1740; reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml' + llm_assisted: true +- timestamp: '2026-10-07T13:07:39Z' + curator: codex + action: CORRECT_PRECOMMIT_SYNTROPHY_REVIEW + changes: 'Restore the authors qualified SYNTROPHY model on the transfer and circuit nodes; the local enum explicitly + does not assert obligacy. Keep the measurement endpoint distinct. Issue #1740; reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml' + llm_assisted: true diff --git a/kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml b/kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml index 74d621a35..fee2c8d44 100644 --- a/kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml +++ b/kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml @@ -49,33 +49,10 @@ taxonomy: Names Sulfitobacter sp. SA11 as a Pseudo-nitzschia symbiont described in the Amin et al. 2015 study. ecological_interactions: -- name: Diatom-Associated Bacterial Consortium Resolution - description: > - The Pseudo-nitzschia study decomposed a diatom-associated bacterial - consortium to identify a Sulfitobacter species that participates in a - nutrient and signaling exchange with the phytoplankton host. - interaction_type: NICHE_PARTITIONING - scope: COMMUNITY_LEVEL - biological_processes: - - preferred_term: interspecies interaction - term: - id: GO:0044419 - label: biological process involved in interspecies interaction between organisms - evidence: - - reference: PMID:26017307 - supports: SUPPORT - evidence_source: IN_VITRO - snippet: > - Here we tease apart a bacterial consortium associated with a globally - distributed diatom - explanation: > - Supports resolving the diatom-associated bacterial consortium into - interaction mechanisms. - name: Tryptophan-Supported Sulfitobacter IAA Synthesis - description: > - Sulfitobacter synthesizes indole-3-acetic acid using tryptophan supplied - both by Pseudo-nitzschia and by endogenous bacterial metabolism. - interaction_type: MUTUALISM + description: The primary abstract reports bacterial IAA production using both diatom-derived and endogenous precursor + pools. Preserve this biochemical attribution without treating the individual synthesis process as proof of reciprocal + fitness benefits. scope: PAIRWISE source_taxon: preferred_term: Sulfitobacter sp. SA11 @@ -111,25 +88,24 @@ ecological_interactions: label: biological process involved in interspecies interaction between organisms downstream: - target: Auxin-Mediated Diatom Cell Division - description: > - Bacterial indole-3-acetic acid secretion was the hormone signal that - promoted Pseudo-nitzschia cell division. + description: 'Bacterial indole-3-acetic acid secretion was the hormone signal that promoted Pseudo-nitzschia + cell division. + + ' evidence: - reference: PMID:26017307 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - indole-3-acetic acid, synthesized by the bacterium using both - diatom-secreted and endogenous tryptophan - explanation: > - Supports bacterial IAA biosynthesis from both diatom-secreted and - endogenous tryptophan. + snippet: 'indole-3-acetic acid, synthesized by the bacterium using both diatom-secreted and endogenous tryptophan + + ' + explanation: 'Supports bacterial IAA biosynthesis from both diatom-secreted and endogenous tryptophan. + + ' - name: Auxin-Mediated Diatom Cell Division - description: > - Sulfitobacter-secreted indole-3-acetic acid promoted Pseudo-nitzschia cell - division, establishing auxin as a growth-promoting bacterial signal in this - diatom association. - interaction_type: MUTUALISM + description: The source reports that bacterial IAA promotes diatom cell division. Preserve the existing positive + signaling finding and its direction, without making the individual response node a claim of reciprocal partner + benefit. scope: PAIRWISE source_taxon: preferred_term: Sulfitobacter sp. SA11 @@ -155,18 +131,17 @@ ecological_interactions: - reference: PMID:26017307 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - a Sulfitobacter species promotes diatom cell division via secretion of - the hormone indole-3-acetic acid - explanation: > - Supports IAA secretion as the Sulfitobacter-mediated cue promoting - diatom cell division. + snippet: 'a Sulfitobacter species promotes diatom cell division via secretion of the hormone indole-3-acetic + acid + + ' + explanation: 'Supports IAA secretion as the Sulfitobacter-mediated cue promoting diatom cell division. + + ' - name: Infochemical Nutrient Exchange - description: > - Indole-3-acetic acid and tryptophan functioned as signaling molecules - within a nutrient exchange that included diatom organosulfur compounds and - bacterial-excreted ammonia. - interaction_type: MUTUALISM + description: 'The source describes signaling within a broader nutrient exchange between the partners. PARTIAL: + the accessible abstract does not independently establish complete exchange fluxes or the necessity of every + component for reciprocal fitness.' scope: COMMUNITY_LEVEL metabolites: - preferred_term: indole-3-acetic acid @@ -190,39 +165,22 @@ ecological_interactions: - reference: PMID:26017307 supports: SUPPORT evidence_source: IN_VITRO - snippet: > - Indole-3-acetic acid and tryptophan serve as signalling molecules that - are part of a complex exchange of nutrients, including diatom-excreted - organosulfur molecules and bacterial-excreted ammonia - explanation: > - Supports IAA and tryptophan signaling inside a broader nutrient exchange. -- name: Coastal Sulfitobacter IAA Prevalence - description: > - Metabolite and metatranscriptome analyses detected widespread - indole-3-acetic acid production by Sulfitobacter-related bacteria, - especially in coastal environments. - interaction_type: NICHE_PARTITIONING - scope: COMMUNITY_LEVEL - metabolites: - - preferred_term: indole-3-acetic acid + snippet: 'Indole-3-acetic acid and tryptophan serve as signalling molecules that are part of a complex exchange + of nutrients, including diatom-excreted organosulfur molecules and bacterial-excreted ammonia + + ' + explanation: 'Supports IAA and tryptophan signaling inside a broader nutrient exchange. + + ' + participating_taxa: + - preferred_term: Pseudo-nitzschia multiseries term: - id: CHEBI:16411 - label: indole-3-acetic acid - biological_processes: - - preferred_term: indole-3-acetic acid biosynthetic process + id: NCBITaxon:37319 + label: Pseudo-nitzschia multiseries + - preferred_term: Sulfitobacter sp. SA11 term: - id: GO:0009684 - label: indoleacetic acid biosynthetic process - evidence: - - reference: PMID:26017307 - supports: SUPPORT - evidence_source: OTHER - snippet: > - widespread indole-3-acetic acid production by Sulfitobacter-related - bacteria, particularly in coastal environments - explanation: > - Supports environmental prevalence of Sulfitobacter-related bacterial IAA - production. + id: NCBITaxon:1546519 + label: Sulfitobacter sp. SA11 environmental_factors: - name: Auxin signaling value: widespread @@ -421,7 +379,49 @@ curation_history: - timestamp: '2026-10-02T06:04:09Z' curator: codex action: REPAIR_CAUSAL_GRAPH - changes: Removed three Pseudo-nitzschia workflow or umbrella-summary edges - from consortium resolution and auxin/nutrient-exchange nodes to downstream - mechanistic or environmental-prevalence findings. + changes: Removed three Pseudo-nitzschia workflow or umbrella-summary edges from consortium resolution and auxin/nutrient-exchange + nodes to downstream mechanistic or environmental-prevalence findings. + llm_assisted: true +- timestamp: '2026-10-07T12:54:50Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Preserve reported bacterial synthesis without claiming individual-process mutualism.; Preserve the reported + signaling response and existing causal direction.; Preserve nutrient-exchange interpretation with exact-pair + and flux limits. Issue #1741; reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml' llm_assisted: true +discussions: +- discussion_id: diatom-pair-mechanism-versus-environmental-prevalence + prompt: Which observations belong to the exact pair and which describe the broader environment? + kind: KNOWLEDGE_GAP + status: OPEN + posed_by: codex + rationale: 'The consortium-resolution workflow and broad coastal-prevalence nodes were removed from the pair-specific + interaction graph; the environmental observation remains in environmental_factors. The three biological signal/exchange + nodes and existing causal direction are retained. The fresh primary abstract and public publisher preview were + read, not the full main methods or supplements. No new growth mechanism, toxin-production guidance, cultivation + optimization or experimental design was added. Non-graph citation, culture and metal metadata remain #1742.' + attaches_to: + - ecological_interactions#Tryptophan-Supported Sulfitobacter IAA Synthesis + - ecological_interactions#Auxin-Mediated Diatom Cell Division + - ecological_interactions#Infochemical Nutrient Exchange + evidence: + - reference: PMID:26017307 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: 'Indole-3-acetic acid and tryptophan serve as signalling molecules that are part of a complex exchange + of nutrients, including diatom-excreted organosulfur molecules and bacterial-excreted ammonia + + ' + explanation: 'Supports IAA and tryptophan signaling inside a broader nutrient exchange. + + ' + - reference: PMID:26017307 + supports: SUPPORT + evidence_source: OTHER + snippet: 'widespread indole-3-acetic acid production by Sulfitobacter-related bacteria, particularly in coastal + environments + + ' + explanation: 'Supports environmental prevalence of Sulfitobacter-related bacterial IAA production. + + ' diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md index 389550f78..eafa1554a 100644 --- a/reports/causal_graph_review/README.md +++ b/reports/causal_graph_review/README.md @@ -5,6 +5,34 @@ 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`. +## Batch90: Degradation, Competition And Diatom Signaling + +[Decisions](decisions/20261007-four-records-batch90.yaml), +[validation](validation-20261007-batch90.json) and +[self-adversarial review](adversarial-review-20261007-batch90.yaml) account for +14 original nodes and seven arrows. Twelve biological nodes and all seven +directions remain. A diatom workflow and a broad environmental-prevalence node +are removed from the pair-specific graph; the environmental evidence remains. +Reported degradation, competition and signaling findings are preserved while +reverse-feeding implications, categorical interaction types and mediation +claims are bounded to the available evidence. + +Adversarial review caught an incorrect obligacy requirement after the initial +816-test run. The actual schema explicitly does not assert obligacy for +SYNTROPHY. The two naphthalene mechanism nodes retain that qualified type; +the measurement endpoint remains distinct. Six append-only history artifacts +preserve both the initial edits and correction. The initial validation and +inputs are archived as superseded; the current report is a fresh full rerun, +including an additional schema-contract regression. + +Four exact-system primary abstracts and two attribution abstracts were read. +No complete primary main text was retrieved; access failures and the public +publisher-preview limits are recorded. All 921 caches, 456 other records and +raw non-graph blocks are preserved. Repairs #1738-#1741 await protected-main +merge; diatom metadata #1742 remains open. No new causal direction, paid Edison +job, genetic design, harmful-algal optimization or experimental protocol was +added. Self-review is not independent approval or whole-corpus completion. + ## Batch89: Removal Assays And Social Spreading [Decisions](decisions/20261007-four-records-batch89.yaml), diff --git a/reports/causal_graph_review/adversarial-review-20261007-batch90.yaml b/reports/causal_graph_review/adversarial-review-20261007-batch90.yaml new file mode 100644 index 000000000..8f00872c9 --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261007-batch90.yaml @@ -0,0 +1,304 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: f63d0b98e06bd1e35016fcfd826b03721fe28f0b +scope: +- kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml +- kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml +- kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml +- kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml +decision_ledger: reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml +validation_report: reports/causal_graph_review/validation-20261007-batch90.json +findings: +- issue: 1738 + severity: P2 + status: addressed_in_this_change + finding: Correct the reverse-feeding implication in chloronitrobenzene degradation + disposition: Close only after protected-main merge. +- issue: 1739 + severity: P2 + status: addressed_in_this_change + finding: Separate TPA dominance observations from evidence for competitive mechanisms + disposition: Close only after protected-main merge. +- issue: 1740 + severity: P2 + status: addressed_in_this_change + finding: Bound the biochar electron-transfer model separately from removal endpoints + disposition: Close only after protected-main merge. +- issue: 1741 + severity: P2 + status: addressed_in_this_change + finding: Keep the diatom signaling graph distinct from workflow and environmental prevalence + disposition: Close only after protected-main merge. +- issue: 1742 + severity: P2 + status: unresolved_non_graph + finding: Re-evidence diatom cultivation and metal metadata against the exact SA11 association + disposition: Keep OPEN after graph repairs. +adversarial_checks: +- Fresh both-root baseline preceded papers. All14originalnodes7arrows have dispositions:12biologicalnodes and all7directions + retained; two out-of-scope diatom nodes removed. No new node or direction and no arrow endpoint changes. +- Chloronitro preserves chemical identification, sequential transformations and reported conditional mineralization. + The downstream Rhodococcus process no longer asserts metabolite provision back to Pseudomonas. Both original causal + directions remain. +- Conditional mineralization is not silently downgraded to disappearance. The endpoint alone does not establish + product-removal feedback making upstream metabolism favourable, so it is untyped. Local SYNTROPHY does not require + obligacy. Full carbon balances were not inspected; unavailable methods do not prove absent controls. +- TPA retains all three competition nodes and both arrows. Dominance alone is not evidence for resource competition; + the source-reported metabolism-loss comparison is added. Positive contact inhibition and relative-kinetics attribution + remain; separate effect sizes are not invented. +- Naphthalene retains the authors DIET/circuit interpretation as PARTIAL SYNTROPHY on the first two nodes, electrochemical + and multi-omics findings and separate untyped removal/mineralization endpoints. Specific interspecies route and + mediator necessity remain qualified. Collective nodes use canonical participants. +- Diatom consortium resolution is a workflow, while coastal prevalence is broader environmental evidence already + retained outside the pair graph. Removing those nodes does not erase the three signal/exchange nodes or existing + positive causal arrow. +- Individual diatom signal/exchange processes are not categorical reciprocal fitness measurements. Canonical participants + are preserved. H3 taxonomic evidence and another-system background citation do not certify the exact SA11 cultivation + fields; metadata1742remains open. +- Four exact-system primary abstracts and two attribution abstracts read. No complete primary main text retrieved. + Chloronitro XML500/PMC challenge/OA metadata404 and Nature redirect/subscription preview disclosed. Cached secondary + background paragraphs are not independent fresh primary evidence. No figures, supplements or raw data audited. +- Adversarial schema reading caught an incorrect obligacy premise after the initial816-test pass. That report and + tested inputs are archived as superseded with verified digests. Two appended correction histories preserve the + original four histories. A schema-contract regression and fresh full validation bind the corrected state. +- All921caches456otherrecords and raw non-graph blocks preserved. Six append-only histories and eleven focused tests. + Two new explicit-participant users, measured legacy census unchanged, all56oldwarnings retained and zero structural + defects. No taxonomy or auditor-rule changes. +- No new genetic designs, resistance-selection details, harmful-algal optimization, toxin guidance or experimental + protocols. No Edison dry run or provider submission. Executed gates and deterministic HTML checks are not browser + screenshots or generated-model loader certification. Loader1703remains open. Repairs1738-1741await protected-main + merge;1742remains open. Self-review is not independent approval or corpus completion. +verification: + combined_regressions: 817 passed in 280.29s (0:04:40) + new_regression_tests: 11 + primary_graph_snippet_proof: + graph_quotations: 16 + discussion_quotations: 8 + fresh_primary_matches: 24 + cached_only_matches: 0 + retained_nodes: 12 + removed_nodes: 2 + retained_arrows: 7 + removed_arrows: 0 + mechanical_source_endpoint_corrections: 0 + new_biological_causal_claims: 0 + primary_main_texts_read: 0 + exact_system_primary_abstracts_read: 4 + attribution_abstracts_read: 2 + cache_changes: 0 + references: Four full-record reference-validator runs passed. CLI Total checks counts issues, not executed checks. + Sixteen graph and eight discussion quotations match independent fresh-primary abstract and cache text. Literal + matching is not entailment or full-text certification. + snippet_counts_by_record: + kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml: + MATCH: 22 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml: + MATCH: 10 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml: + MATCH: 9 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml: + MATCH: 10 + 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: "# 8929 evidence snippets scanned across 460 files\n MATCH 8794\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: 56 + added_findings: {} + removed_findings: {} + interpretation: All56existing warnings preserved, zero structural defects. No edge endpoint changes; two out-of-scope + nodes removed. No taxonomy or auditor-rule changes. + tested_file_sha256: + reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml: bdcd291bfeb14293712b5b408e7ef8cc396a18317827618ed75fee517b1f9d58 + tests/test_causal_review_batch90.py: 12dfffa68bd63e815e76f50dd9cb52ac459390f0bf48a0a1da3521134a3a98be + tests/test_participating_taxa.py: 89d6e67cd3a8401b2fe96f3e83d2aa5737f6f123cc849a0afdbab40eb25a4942 + kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml: 2638bb5668d31d6c8a59d616e36777b22d38f03e1fef80dc58fada489628e41e + kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml: 6416089a1d115f7834f71f98182476728a7f936f8b544c6551103c712a2bb825 + kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml: d987d0d184c409b62a9e96034e7dd8f294742b10bc3adefe4617ddd7208c97f8 + kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml: 1a0fd950b4dc5fbb21331be3995a2fffb05ac8d4e3df772f5008cb88a9b9d4e6 + reports/causal_graph_review/README.md: 727ecad74acba894907ac59be451da98bb734ae08bf099e7970f1cf9c493cc48 + 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: [] + repair_scope: No new node or direction. Existing source-backed arrows retained; non-biological and out-of-scope + nodes removed. + post_commit_docs_current: Separate publication gate, not preasserted. + superseded_precommit_validation: + report: /private/tmp/communitymech-batch90/before-syntrophy-correction/reports/causal_graph_review/validation-20261007-batch90.json + sha256: 313fe985877fc7e3b5bb5a92bc7b68e68d91918954f824213265e7b25f875f18 + regressions: 816 passed in 296.55s (0:04:56) + reason: Adversarial reading of the actual enum shows SYNTROPHY does not assert obligacy. Preserve the authors + qualified metabolic-coupling model; classify endpoints by their meaning, not an obsolete obligation requirement. + original_logs_verified: true + archived_inputs_verified: true +participant_census: + measurements: + baseline: + records: 460 + with_community_level: 396 + mixed: 126 + community_level_only: 270 + taxa: 1523 + credited_solely_by_the_rule: 1249 + current: + records: 460 + with_community_level: 396 + mixed: 126 + community_level_only: 270 + taxa: 1523 + credited_solely_by_the_rule: 1249 + delta: + records: 0 + with_community_level: 0 + mixed: 0 + community_level_only: 0 + taxa: 0 + credited_solely_by_the_rule: 0 + interpretation: Legacy community-level census unchanged; two new explicit-participant users. No canonical taxon + or auditor-rule change. +corpus: + records: 460 + nodes: 1420 + edges: 584 + review_status_counts: + needs_research: 48 + pending: 132 + reviewed: 280 +limitations: +- Fresh both-root baseline before papers:460records921caches1422nodes584arrows56warnings0structural defects. All14originalnodes7arrows + accounted for;12biologicalnodes and all7directions retained. Two out-of-scope diatom nodes removed, with environmental + evidence preserved outside the graph. +- Four fresh exact-system primary abstracts and two attribution abstracts read. No complete fresh primary main text. + Chloronitro XML500 after bounded retries, PMC challenge and open-access metadata404. Nature public search-index + preview read, with explicit subscription notice; direct publisher redirect failed. No challenges or paywalls bypassed. + No figure pixels, supplements or raw data inspected. +- Chloronitro chemically supported upstream conversion, downstream degradation and conditional mineralization remain. + The intermediate-degradation node no longer implies reverse metabolite provision. The endpoint itself does not + demonstrate product-removal feedback on upstream metabolism; lack of obligacy is not a reason to reject SYNTROPHY. +- TPA preserves three competition nodes and both directions, including reported contact inhibition, relative kinetics + and metabolism-loss comparison. Dominance is an outcome, not standalone evidence for resource competition. Full + controls and separate effect sizes remain uninspected; positive causal findings are not removed. +- Naphthalene retains the authors SYNTROPHY classification on the PARTIAL electron-transfer/circuit model. The actual + enum does not require obligacy. The measured removal/mineralization endpoint is kept distinct from the proposed + coupling interaction; route-specific mediation remains qualified. +- Diatom workflow resolution and broad environmental prevalence are not pair-specific biological interactions. Three + signal/exchange nodes and the existing positive signaling arrow remain. Individual processes are not categorical + reciprocal fitness measurements. No new harmful-algal growth optimization, toxin guidance or experimental designs + were added. +- The fresh H3 taxonomic abstract is not the exact SA11 study. PMID30228381 is another-system primary whose cached + background discussion mentions SA11; only relevant background paragraphs were inspected, not independently fresh + main text. Public Nature preview identifies the canonical pair. Non-graph citation, culture and metal claims remain + the metadata issue, not silently corrected or certified. +- 456otherrecords, all921caches and raw non-graph blocks preserved. Two new explicit participant users; legacy community-level + census is to be measured. No taxon IDs, taxonomy or auditor rules changed. No new genetic designs, resistance-selection + details or optimization protocols. +- Dedup1006all-state issue titles/bodies with broad aliases; nine matching bodies read and49local ignored/hidden + matches found, excluding .git/docs/site/references_cache. Relevant caches separately inspected. Explicit529/573/605read. + Matching1091is a general DOI-cache case issue; these graph evidence references use PMIDs. Comments and PRs not + exhaustively searched. +- No new node, direction, Edison dry run or provider submission. Earlier pending and denied spend scopes remain + unchanged. Four repair issues close only after protected-main merge; the metadata follow-up remains open. Validation, + rendering and publication are subsequent gates, not preasserted. Self-review is not independent approval, generated-model + loader certification or corpus completion. Loader1703remains open. +- Adversarial review caught an obsolete obligacy premise after the initial816-test pass. Corrected before publication, + retained initial inputs/results as superseded, appended two additional histories without rewriting the four earlier + artifacts, and required a fresh full validation run. A schema-contract regression guards the distinction. +precommit_adversarial_correction: + reason: Adversarial reading of the actual enum shows SYNTROPHY does not assert obligacy. Preserve the authors + qualified metabolic-coupling model; classify endpoints by their meaning, not an obsolete obligation requirement. + schema_path: src/communitymech/schema/communitymech.yaml + schema_sha256: 99079e7712d0c6b5eef0f278822a6b04fdb9a3a55b446e1f73f0752e4e626d04 + schema_definition: 'Metabolic cooperation in which one partner''s product is another''s substrate, and removing + that product is what makes the first partner''s metabolism favourable. + + **Obligacy is not asserted.** This value used to read "Obligate metabolic cooperation", which the corpus''s + 135 uses do not honour and which a single record can rarely establish: showing that neither partner grows alone + needs a monoculture arm, and where sources have one they often disprove obligacy. CommunityMech:000336 is the + worked case - every paper calls that pairing a syntrophy and its seed paper grows both species as monocultures + in the same experiment (#752). + + Where the distinction matters, state it in the interaction''s `description` with the evidence for it. METPO:1007200 + obligate syntrophy interaction and METPO:1007201 facultative syntrophy interaction are proposed in `proposals/metpo_communitymech_interaction_semantics_v1/` + so it can eventually be typed rather than narrated.' + superseded_validation: /private/tmp/communitymech-batch90/before-syntrophy-correction/reports/causal_graph_review/validation-20261007-batch90.json + superseded_validation_sha256: 313fe985877fc7e3b5bb5a92bc7b68e68d91918954f824213265e7b25f875f18 + superseded_regressions: 816 passed in 296.55s (0:04:56) + archived_inputs: + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T125451Z-codex-edc25d.yaml + : 271a08af4cba3eabb3cf7a342e8e9a281083767ce6c50f24b07a87137cc276f2 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/history/records/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium/2026-10-07T125451Z-codex-55758a.yaml + : 8b5c559e995515bca1f98cb6a3e7c8be078de36235b7597948d54cd04127d663 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T125451Z-codex-1ff079.yaml + : d175709b5dc8d6f6b60ed8db6e52b5a697c84c3470316f9f97702853cdaf5f74 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/history/records/Pseudonitzschia_Sulfitobacter_Association/2026-10-07T125452Z-codex-a42433.yaml + : 5d914980c60f787a52d05932653e4ef7a5d32da0faee8e1fb64ef381b3cd73d8 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml + : 931c479671d16ea771c7e1a45356e4fefa166a823dbcf1863f184058ae167d07 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml + : 6416089a1d115f7834f71f98182476728a7f936f8b544c6551103c712a2bb825 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml + : 5acea2e42c6ce0d29a2602ce285bb4d8853cedbd5ce3fbef9038f46b78c0410a + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml + : 1a0fd950b4dc5fbb21331be3995a2fffb05ac8d4e3df772f5008cb88a9b9d4e6 + /private/tmp/communitymech-batch90/before-syntrophy-correction/reports/causal_graph_review/README.md: 0219db95d1142cee2c9b69a7b845976e83bcebc6a63384120469ae9b4ceb794c + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml + : 59d039596548e55dbeda8456ae93999e7131f1e3759ba22b3b0b35ddda6aea18 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/reports/causal_graph_review/validation-20261007-batch90.json + : 313fe985877fc7e3b5bb5a92bc7b68e68d91918954f824213265e7b25f875f18 + /private/tmp/communitymech-batch90/before-syntrophy-correction/tests/test_causal_review_batch90.py: baa964c9086a4a568a2ed2829e1f8bbdb61403f52fa537c87119ab2e23162756 + /private/tmp/communitymech-batch90/before-syntrophy-correction/tests/test_participating_taxa.py: 89d6e67cd3a8401b2fe96f3e83d2aa5737f6f123cc849a0afdbab40eb25a4942 + records: + - path: kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml + before_sha256: 931c479671d16ea771c7e1a45356e4fefa166a823dbcf1863f184058ae167d07 + after_sha256: 2638bb5668d31d6c8a59d616e36777b22d38f03e1fef80dc58fada489628e41e + history: history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T130739Z-codex-a070e2.yaml + summary: 'Correct the precommit syntrophy rationale: the local enum does not require obligacy; an endpoint alone + does not establish product-removal feedback.' + - path: kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml + before_sha256: 5acea2e42c6ce0d29a2602ce285bb4d8853cedbd5ce3fbef9038f46b78c0410a + after_sha256: d987d0d184c409b62a9e96034e7dd8f294742b10bc3adefe4617ddd7208c97f8 + history: history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T130739Z-codex-d6881b.yaml + summary: Restore the authors qualified SYNTROPHY model on the transfer and circuit nodes; the local enum explicitly + does not assert obligacy. Keep the measurement endpoint distinct. +issue_rationale_correction: + issue: 1740 + original_sha256: 9a15e63beaaa1ba3c792d904a62963946968e4f7eb3fd3e0d12b2337d4afd76f + corrected_sha256: f36150f31e55f3db383554c05a0f3ce670432a5664f56d920b020924a57cbd3f + comments: + - issue: 1738 + url: https://github.com/CultureBotAI/CommunityMech/issues/1738#issuecomment-6038701522 + - issue: 1740 + url: https://github.com/CultureBotAI/CommunityMech/issues/1740#issuecomment-6038702011 +issue_rationale_correction_sha256: 8fe52cd28c1d024ae6e48fdc38c0798aad6a22190c56cb1343723d072f1731fc diff --git a/reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml b/reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml new file mode 100644 index 000000000..357475eca --- /dev/null +++ b/reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml @@ -0,0 +1,671 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +source_access: +- reference: PMID:10049867 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A10049867+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:42324694 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A42324694+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Primary abstract only; full text not available through Europe PMC. + fulltext_error: null +- reference: PMID:42139785 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A42139785+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Primary abstract only; full text not available through Europe PMC. + fulltext_error: null +- reference: PMID:26017307 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A26017307+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Primary abstract only; full text not available through Europe PMC. + fulltext_error: null +- reference: PMID:25278561 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A25278561+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Abstract only; attribution reference, not a full-text or primary exact-system review. + fulltext_error: null +- reference: PMID:30228381 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A30228381+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Abstract only; attribution reference, not a full-text or primary exact-system review. + fulltext_error: null +base_commit: f63d0b98e06bd1e35016fcfd826b03721fe28f0b +baseline_commit: f63d0b98e06bd1e35016fcfd826b03721fe28f0b +base_tree: 8323cd500b8d327c50030d13c9bfea0dd3f8d903 +pre_source_baseline_sha256: 9bf34b0998d64a7441e0f65c5ef9543df83e9755c4d313f7572d3b67e0f45475 +issues: +- 1738 +- 1739 +- 1740 +- 1741 +unresolved_research_issues: [] +unresolved_non_graph_issues: +- 1742 +issue_deduplication: + all_state_issue_titles_and_bodies: 1006 + explicitly_read_issues: + - 529 + - 573 + - 605 + ignored_hidden_local_search: true + matching_issues: + - 1716 + - 1712 + - 1664 + - 1660 + - 1250 + - 1091 + - 1029 + - 833 + - 832 +primary_artifacts: + /private/tmp/communitymech-batch90/baseline.json: 9bf34b0998d64a7441e0f65c5ef9543df83e9755c4d313f7572d3b67e0f45475 + /private/tmp/communitymech-batch90/chloronitro-metadata.json: 1a4331e0133148db3885a1406990d6d7f8baa2c41e61bab3eb6a3adf3bb4f6f7 + /private/tmp/communitymech-batch90/chloronitro-primary.txt: 57c0d96d71b004ca74536d7abc440daa279c384aa6b70dc463031972460cd722 + /private/tmp/communitymech-batch90/created-issues.json: 69a24faa193aafdc6fd03ad05363291c9f7e20eb8d8a6c6eafb2b5e016cd5273 + /private/tmp/communitymech-batch90/diatom-metadata.json: 275efc565d9080db643360ea68b5884d0fa0eda95b3b9ef9b942984c10aaa62a + /private/tmp/communitymech-batch90/diatom-primary.txt: 85d4adc94376971363158c043f4ec21e5000c192d0076565a3fa19e746a5db75 + /private/tmp/communitymech-batch90/diatom-secondary-metadata.json: 4090b8e12410080cff01a3e6869b2901fdefc6c6e49add37941c89d9b7db5225 + /private/tmp/communitymech-batch90/diatom-secondary-primary.txt: e741219f2e52f12603bb6a529abbb6c586a7f4872bc93c1dac8a1678dfc6d929 + /private/tmp/communitymech-batch90/diatom-taxon-metadata.json: 3013c34cf35bb58bcbb0d049eca9063160ad99ef5481d71eba411a8d8eff6fc9 + /private/tmp/communitymech-batch90/diatom-taxon-primary.txt: e0e474b216c59e48ec0ed62cc28b318995213071f4f410b0a449ff3d900cee9c + /private/tmp/communitymech-batch90/issue-matches-current.json: 670446e6dbbbec064b12effade07a2a9bb55c03081506202dfc3ef6d0ca6da01 + /private/tmp/communitymech-batch90/issue-matches.json: 998a4ebf253b10811bec9d5a3ac59bee11c23f7e1fcf1f1252d797ba4dd0f05e + /private/tmp/communitymech-batch90/issues-current.json: 12cbeb6806f6fb0139af3b5af5803fcca74221dc47e9d6fdd9bbcc4f0ac46fba + /private/tmp/communitymech-batch90/issues.json: 721957caeea9b1b327c8e0db5bc32ab8d580c77b83dc4aa475870c7a1f5c37ff + /private/tmp/communitymech-batch90/local-matches-current.txt: b32ca05e528862c3dc0eacacdcbf887d51cf4a5425ee173f622885b2a2d330b9 + /private/tmp/communitymech-batch90/local-matches.txt: b079e9d455348d083398c52b16135b2f5262190e44b47eb614d1743a8bc1ea9d + /private/tmp/communitymech-batch90/naphthalene-metadata.json: c4d6850388ef38877fa72ac4aa4af02341d9e901d3ef6420b1a1307e2204d5be + /private/tmp/communitymech-batch90/naphthalene-primary.txt: 4dc8f806efa7962c3ba07392d3cba7155ca348a9ce9fb3355b2a937fef192a37 + /private/tmp/communitymech-batch90/primary-manifest.json: c0ab117a1b13bc6eb5e630888dc695a483f30fb4d81709c44291915f3b0a8f3d + /private/tmp/communitymech-batch90/source-access-limits.json: 1bc763eb8b04a7f7a3fc1034ebb89415043a36f8ebef5ddc4329425fbe3dfa2e + /private/tmp/communitymech-batch90/tpa-metadata.json: be7394814f2ee19727002e4ff80336da92263ce849341b3b361f2ada023d9bda + /private/tmp/communitymech-batch90/tpa-primary.txt: 6a8867182d70aa4b39805f8773811f28bfbba8526972addaaad12b44176a1588 + references_cache/PMID_10049867.txt: 864e5e8ae2f8db67e4f80181c4b8a34d0d4c2609a695f49b53f18b22155544be + references_cache/PMID_25278561.md: 2a6e0578f788ef608228bbbf351021400e26a81292d7242ea8618f558a4ed54d + references_cache/PMID_26017307.txt: 73002aeab17f66c3f4335473c65cf2fec08b255b18ec928877f55ad4636af2ec + references_cache/PMID_30228381.txt: 5219e0c6d1c1ca3b629ad25df87cd5edd628f613c66311250968515e51d781fc + references_cache/PMID_42139785.md: 3dc162fe4c8935f7f5dafa5fddf54d09980e78691ff2a786a9a3e2e4b44accf0 + references_cache/PMID_42324694.md: c8216f9b203d325e0f2ce7bce97a175613c18d8e41d01373eeb0eb22029de89c + /private/tmp/communitymech-batch90/syntrophy-correction.json: 0bf5eaf021429affcb06fe022fb6e9ed022c37072c25f672b21f4f10018e5ba3 +primary_graph_snippet_count: 16 +snippet_checks: +- record: Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture + node: Pseudomonas Partial Chloronitrobenzene Transformation + evidence_index: 0 + reference: PMID:10049867 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/chloronitro-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture + node: Pseudomonas Partial Chloronitrobenzene Transformation + evidence_index: 1 + reference: PMID:10049867 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/chloronitro-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture + node: Rhodococcus Intermediate Degradation + evidence_index: 0 + reference: PMID:10049867 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/chloronitro-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture + node: Rhodococcus Intermediate Degradation + evidence_index: 1 + reference: PMID:10049867 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/chloronitro-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture + node: Coculture Chloronitrobenzene Mineralization + evidence_index: 0 + reference: PMID:10049867 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/chloronitro-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture + node: Coculture Chloronitrobenzene Mineralization + evidence_index: 1 + reference: PMID:10049867 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/chloronitro-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium + node: Exploitative competition for terephthalic acid + evidence_index: 0 + reference: PMID:42324694 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/tpa-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium + node: Exploitative competition for terephthalic acid + evidence_index: 1 + reference: PMID:42324694 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/tpa-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium + node: Interference competition via type VI secretion system + evidence_index: 0 + reference: PMID:42324694 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/tpa-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium + node: Pp-TE Dominance During TPA Coculture + evidence_index: 0 + reference: PMID:42324694 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/tpa-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium + node: Biochar-bridged direct interspecies electron transfer (DIET) + evidence_index: 0 + reference: PMID:42139785 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/naphthalene-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium + node: Syntrophic naphthalene mineralization circuit + evidence_index: 0 + reference: PMID:42139785 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/naphthalene-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium + node: Enhanced Naphthalene Removal and Mineralization + evidence_index: 0 + reference: PMID:42139785 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/naphthalene-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudonitzschia_Sulfitobacter_Association + node: Tryptophan-Supported Sulfitobacter IAA Synthesis + evidence_index: 0 + reference: PMID:26017307 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/diatom-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudonitzschia_Sulfitobacter_Association + node: Auxin-Mediated Diatom Cell Division + evidence_index: 0 + reference: PMID:26017307 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/diatom-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudonitzschia_Sulfitobacter_Association + node: Infochemical Nutrient Exchange + evidence_index: 0 + reference: PMID:26017307 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/diatom-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +discussion_snippet_checks: +- record: Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture + node: chloronitro-direction-and-mineralization + evidence_index: 0 + reference: PMID:10049867 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/chloronitro-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture + node: chloronitro-direction-and-mineralization + evidence_index: 1 + reference: PMID:10049867 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/chloronitro-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium + node: tpa-outcome-versus-competitive-contributions + evidence_index: 0 + reference: PMID:42324694 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/tpa-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium + node: tpa-outcome-versus-competitive-contributions + evidence_index: 1 + reference: PMID:42324694 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/tpa-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium + node: naphthalene-model-versus-endpoint + evidence_index: 0 + reference: PMID:42139785 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/naphthalene-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium + node: naphthalene-model-versus-endpoint + evidence_index: 1 + reference: PMID:42139785 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/naphthalene-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudonitzschia_Sulfitobacter_Association + node: diatom-pair-mechanism-versus-environmental-prevalence + evidence_index: 0 + reference: PMID:26017307 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/diatom-primary.txt + method: Normalized contiguous match; literal match is not scientific entailment. +- record: Pseudonitzschia_Sulfitobacter_Association + node: diatom-pair-mechanism-versus-environmental-prevalence + evidence_index: 1 + reference: PMID:26017307 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch90/diatom-primary.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: [] + repair_scope: No new node or direction. Existing source-backed arrows retained; non-biological and out-of-scope + nodes removed. +limitations: +- Fresh both-root baseline before papers:460records921caches1422nodes584arrows56warnings0structural defects. All14originalnodes7arrows + accounted for;12biologicalnodes and all7directions retained. Two out-of-scope diatom nodes removed, with environmental + evidence preserved outside the graph. +- Four fresh exact-system primary abstracts and two attribution abstracts read. No complete fresh primary main text. + Chloronitro XML500 after bounded retries, PMC challenge and open-access metadata404. Nature public search-index + preview read, with explicit subscription notice; direct publisher redirect failed. No challenges or paywalls bypassed. + No figure pixels, supplements or raw data inspected. +- Chloronitro chemically supported upstream conversion, downstream degradation and conditional mineralization remain. + The intermediate-degradation node no longer implies reverse metabolite provision. The endpoint itself does not + demonstrate product-removal feedback on upstream metabolism; lack of obligacy is not a reason to reject SYNTROPHY. +- TPA preserves three competition nodes and both directions, including reported contact inhibition, relative kinetics + and metabolism-loss comparison. Dominance is an outcome, not standalone evidence for resource competition. Full + controls and separate effect sizes remain uninspected; positive causal findings are not removed. +- Naphthalene retains the authors SYNTROPHY classification on the PARTIAL electron-transfer/circuit model. The actual + enum does not require obligacy. The measured removal/mineralization endpoint is kept distinct from the proposed + coupling interaction; route-specific mediation remains qualified. +- Diatom workflow resolution and broad environmental prevalence are not pair-specific biological interactions. Three + signal/exchange nodes and the existing positive signaling arrow remain. Individual processes are not categorical + reciprocal fitness measurements. No new harmful-algal growth optimization, toxin guidance or experimental designs + were added. +- The fresh H3 taxonomic abstract is not the exact SA11 study. PMID30228381 is another-system primary whose cached + background discussion mentions SA11; only relevant background paragraphs were inspected, not independently fresh + main text. Public Nature preview identifies the canonical pair. Non-graph citation, culture and metal claims remain + the metadata issue, not silently corrected or certified. +- 456otherrecords, all921caches and raw non-graph blocks preserved. Two new explicit participant users; legacy community-level + census is to be measured. No taxon IDs, taxonomy or auditor rules changed. No new genetic designs, resistance-selection + details or optimization protocols. +- Dedup1006all-state issue titles/bodies with broad aliases; nine matching bodies read and49local ignored/hidden + matches found, excluding .git/docs/site/references_cache. Relevant caches separately inspected. Explicit529/573/605read. + Matching1091is a general DOI-cache case issue; these graph evidence references use PMIDs. Comments and PRs not + exhaustively searched. +- No new node, direction, Edison dry run or provider submission. Earlier pending and denied spend scopes remain + unchanged. Four repair issues close only after protected-main merge; the metadata follow-up remains open. Validation, + rendering and publication are subsequent gates, not preasserted. Self-review is not independent approval, generated-model + loader certification or corpus completion. Loader1703remains open. +- Adversarial review caught an obsolete obligacy premise after the initial816-test pass. Corrected before publication, + retained initial inputs/results as superseded, appended two additional histories without rewriting the four earlier + artifacts, and required a fresh full validation run. A schema-contract regression guards the distinction. +records: +- path: kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml + id: CommunityMech:000181 + original_sha256: 298c55daea0a8c85c2dc73a7193091872b724bd484201d4ca3ee382c861602e7 + record_sha256: 2638bb5668d31d6c8a59d616e36777b22d38f03e1fef80dc58fada489628e41e + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Preserve chemically supported upstream transformation with transfer limits.; Remove the reverse-feeding + implication while retaining downstream degradation.; Preserve conditional mineralization without treating the + outcome as evidence of product-removal feedback. + renamed_nodes: {} + node_decisions: + - node: Pseudomonas Partial Chloronitrobenzene Transformation + original_node: Pseudomonas Partial Chloronitrobenzene Transformation + rationale: Preserve chemically supported upstream transformation with transfer limits. + - node: Rhodococcus Intermediate Degradation + original_node: Rhodococcus Intermediate Degradation + rationale: Remove the reverse-feeding implication while retaining downstream degradation. + - node: Coculture Chloronitrobenzene Mineralization + original_node: Coculture Chloronitrobenzene Mineralization + rationale: Preserve conditional mineralization without treating the outcome as evidence of product-removal feedback. + removed_node_decisions: [] + edges_before: + - source: Pseudomonas Partial Chloronitrobenzene Transformation + target: Rhodococcus Intermediate Degradation + description: 'P. putida HS12 partial reduction and acetylation generate chlorohydroxyacetanilide intermediates + that Rhodococcus sp. strain HS51 further degrades in the sequential two-strain pathway. + + ' + - source: Rhodococcus Intermediate Degradation + target: Coculture Chloronitrobenzene Mineralization + description: 'Rhodococcus degradation of the Pseudomonas-derived chlorohydroxyacetanilide intermediates completes + the sequential pathway needed for 3- and 4-chloronitrobenzene mineralization by the coculture. + + ' + edges_after: + - source: Pseudomonas Partial Chloronitrobenzene Transformation + target: Rhodococcus Intermediate Degradation + description: 'The reported upstream transformation produces the intermediates that the downstream partner degrades, + coupling the two steps. PARTIAL: the accessible abstract does not resolve every transfer or assimilation step.' + - source: Rhodococcus Intermediate Degradation + target: Coculture Chloronitrobenzene Mineralization + description: 'The reported downstream intermediate degradation contributes to the proposed two-strain pathway + and conditional coculture mineralization. PARTIAL: the full pathway and carbon-balance measurements were not + independently inspected.' + retained_edge_decisions: + - source: Pseudomonas Partial Chloronitrobenzene Transformation + target: Rhodococcus Intermediate Degradation + description: 'The reported upstream transformation produces the intermediates that the downstream partner degrades, + coupling the two steps. PARTIAL: the accessible abstract does not resolve every transfer or assimilation step.' + rationale: Existing source-backed causal direction retained with explicit evidence limits; no edge endpoint + changes. + - source: Rhodococcus Intermediate Degradation + target: Coculture Chloronitrobenzene Mineralization + description: 'The reported downstream intermediate degradation contributes to the proposed two-strain pathway + and conditional coculture mineralization. PARTIAL: the full pathway and carbon-balance measurements were not + independently inspected.' + rationale: Existing source-backed causal direction retained with explicit evidence limits; no edge endpoint + changes. + removed_edge_decisions: [] + mechanical_edge_source_corrections: [] + references: + - PMID:10049867 + issues: + - 1738 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 2 + history_files: + - history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T125451Z-codex-edc25d.yaml + - history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T130739Z-codex-a070e2.yaml +- path: kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml + id: CommunityMech:000289 + original_sha256: f210209ef928cb79871d6e29901b721878edb7022d9d5c5597b7b9e48f763dd0 + record_sha256: 6416089a1d115f7834f71f98182476728a7f936f8b544c6551103c712a2bb825 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Add reported metabolic-perturbation evidence rather than treating dominance alone as mechanism.; Preserve + reported contact inhibition and relative-kinetics attribution with source-access limits.; Preserve the measured + dominance outcome separately from its explanatory mechanisms. + renamed_nodes: {} + node_decisions: + - node: Exploitative competition for terephthalic acid + original_node: Exploitative competition for terephthalic acid + rationale: Add reported metabolic-perturbation evidence rather than treating dominance alone as mechanism. + - node: Interference competition via type VI secretion system + original_node: Interference competition via type VI secretion system + rationale: Preserve reported contact inhibition and relative-kinetics attribution with source-access limits. + - node: Pp-TE Dominance During TPA Coculture + original_node: Pp-TE Dominance During TPA Coculture + rationale: Preserve the measured dominance outcome separately from its explanatory mechanisms. + removed_node_decisions: [] + edges_before: + - source: Exploitative competition for terephthalic acid + target: Pp-TE Dominance During TPA Coculture + description: 'Competition for terephthalic acid contributes to Pp-TE dominance in the two-member TPA coculture + fermentations. + + ' + - source: Interference competition via type VI secretion system + target: Pp-TE Dominance During TPA Coculture + description: 'Contact-dependent growth inhibition reinforces Pp-TE dominance over RDK17 in TPA-fed cocultures. + + ' + edges_after: + - source: Exploitative competition for terephthalic acid + target: Pp-TE Dominance During TPA Coculture + description: 'The source-reported metabolic perturbation supports a contribution of substrate use to dominance, + alongside contact inhibition. PARTIAL: their separate effect sizes are not resolved by the accessible abstract.' + - source: Interference competition via type VI secretion system + target: Pp-TE Dominance During TPA Coculture + description: The source reports that contact-dependent impairment of the partner is the main contributor to + dominance, alongside metabolic capability and relative kinetics. This preserves the reported causal attribution + without independently certifying unreviewed methods. + retained_edge_decisions: + - source: Exploitative competition for terephthalic acid + target: Pp-TE Dominance During TPA Coculture + description: 'The source-reported metabolic perturbation supports a contribution of substrate use to dominance, + alongside contact inhibition. PARTIAL: their separate effect sizes are not resolved by the accessible abstract.' + rationale: Existing source-backed causal direction retained with explicit evidence limits; no edge endpoint + changes. + - source: Interference competition via type VI secretion system + target: Pp-TE Dominance During TPA Coculture + description: The source reports that contact-dependent impairment of the partner is the main contributor to + dominance, alongside metabolic capability and relative kinetics. This preserves the reported causal attribution + without independently certifying unreviewed methods. + rationale: Existing source-backed causal direction retained with explicit evidence limits; no edge endpoint + changes. + removed_edge_decisions: [] + mechanical_edge_source_corrections: [] + references: + - PMID:42324694 + issues: + - 1739 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium/2026-10-07T125451Z-codex-55758a.yaml +- path: kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml + id: CommunityMech:000291 + original_sha256: ee4c4d20acf4e636663a9d6d0e69237986d15c41018d7992172f8488eab4c209 + record_sha256: d987d0d184c409b62a9e96034e7dd8f294742b10bc3adefe4617ddd7208c97f8 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Retain the authors qualified syntrophic electron-transfer model without an obligacy requirement.; Represent + the composite circuit collectively with explicit canonical participants.; Preserve reported removal and mineralization + without conflating endpoints with a specific interaction type. + renamed_nodes: {} + node_decisions: + - node: Biochar-bridged direct interspecies electron transfer (DIET) + original_node: Biochar-bridged direct interspecies electron transfer (DIET) + rationale: Retain the authors qualified syntrophic electron-transfer model without an obligacy requirement. + - node: Syntrophic naphthalene mineralization circuit + original_node: Syntrophic naphthalene mineralization circuit + rationale: Represent the composite circuit collectively with explicit canonical participants. + - node: Enhanced Naphthalene Removal and Mineralization + original_node: Enhanced Naphthalene Removal and Mineralization + rationale: Preserve reported removal and mineralization without conflating endpoints with a specific interaction + type. + removed_node_decisions: [] + edges_before: + - source: Biochar-bridged direct interspecies electron transfer (DIET) + target: Syntrophic naphthalene mineralization circuit + description: Conductive biochar-mediated electron transfer bridges the engineered Pseudomonas bio-anode and + Rhodococcus bio-cathode that jointly mineralize naphthalene. + - source: Syntrophic naphthalene mineralization circuit + target: Enhanced Naphthalene Removal and Mineralization + description: 'Biochar-mediated electron flux feeds the Pseudomonas-Rhodococcus syntrophic circuit that removes + and mineralizes naphthalene. + + ' + edges_after: + - source: Biochar-bridged direct interspecies electron transfer (DIET) + target: Syntrophic naphthalene mineralization circuit + description: 'PARTIAL: the reported conductive interface is proposed to couple the partners within the authors + degradation-circuit model; route-specific mediation is not independently resolved by the accessible abstract.' + - source: Syntrophic naphthalene mineralization circuit + target: Enhanced Naphthalene Removal and Mineralization + description: 'PARTIAL: the proposed coordinated circuit is offered as an explanation for the reported removal + and mineralization endpoints. The abstract does not isolate each mediator from concurrent treatment effects.' + retained_edge_decisions: + - source: Biochar-bridged direct interspecies electron transfer (DIET) + target: Syntrophic naphthalene mineralization circuit + description: 'PARTIAL: the reported conductive interface is proposed to couple the partners within the authors + degradation-circuit model; route-specific mediation is not independently resolved by the accessible abstract.' + rationale: Existing source-backed causal direction retained with explicit evidence limits; no edge endpoint + changes. + - source: Syntrophic naphthalene mineralization circuit + target: Enhanced Naphthalene Removal and Mineralization + description: 'PARTIAL: the proposed coordinated circuit is offered as an explanation for the reported removal + and mineralization endpoints. The abstract does not isolate each mediator from concurrent treatment effects.' + rationale: Existing source-backed causal direction retained with explicit evidence limits; no edge endpoint + changes. + removed_edge_decisions: [] + mechanical_edge_source_corrections: [] + references: + - PMID:42139785 + issues: + - 1740 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 2 + history_files: + - history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T125451Z-codex-1ff079.yaml + - history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T130739Z-codex-d6881b.yaml +- path: kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml + id: CommunityMech:000056 + original_sha256: 5726093fb463f13eb9d2806a56352c813b649b4371aa9479cad385779fb97e34 + record_sha256: 1a0fd950b4dc5fbb21331be3995a2fffb05ac8d4e3df772f5008cb88a9b9d4e6 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml + scope: Whole record and all existing nodes/arrows; not non-graph certification or exhaustive new-mechanism discovery. + summary: Preserve reported bacterial synthesis without claiming individual-process mutualism.; Preserve the reported + signaling response and existing causal direction.; Preserve nutrient-exchange interpretation with exact-pair + and flux limits. + renamed_nodes: {} + node_decisions: + - node: Tryptophan-Supported Sulfitobacter IAA Synthesis + original_node: Tryptophan-Supported Sulfitobacter IAA Synthesis + rationale: Preserve reported bacterial synthesis without claiming individual-process mutualism. + - node: Auxin-Mediated Diatom Cell Division + original_node: Auxin-Mediated Diatom Cell Division + rationale: Preserve the reported signaling response and existing causal direction. + - node: Infochemical Nutrient Exchange + original_node: Infochemical Nutrient Exchange + rationale: Preserve nutrient-exchange interpretation with exact-pair and flux limits. + removed_node_decisions: + - node: Diatom-Associated Bacterial Consortium Resolution + rationale: Resolving an associated consortium is an experimental workflow, not a biological interaction or niche + partitioning. + - node: Coastal Sulfitobacter IAA Prevalence + rationale: Broader environmental prevalence is not an exact-pair interaction. The positive environmental observation + remains in unchanged environmental_factors and the new scope discussion. + edges_before: + - source: Tryptophan-Supported Sulfitobacter IAA Synthesis + target: Auxin-Mediated Diatom Cell Division + description: 'Bacterial indole-3-acetic acid secretion was the hormone signal that promoted Pseudo-nitzschia + cell division. + + ' + edges_after: + - source: Tryptophan-Supported Sulfitobacter IAA Synthesis + target: Auxin-Mediated Diatom Cell Division + description: 'Bacterial indole-3-acetic acid secretion was the hormone signal that promoted Pseudo-nitzschia + cell division. + + ' + retained_edge_decisions: + - source: Tryptophan-Supported Sulfitobacter IAA Synthesis + target: Auxin-Mediated Diatom Cell Division + description: 'Bacterial indole-3-acetic acid secretion was the hormone signal that promoted Pseudo-nitzschia + cell division. + + ' + rationale: Existing source-backed causal direction retained with explicit evidence limits; no edge endpoint + changes. + removed_edge_decisions: [] + mechanical_edge_source_corrections: [] + references: + - PMID:26017307 + issues: + - 1741 + - 1742 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Pseudonitzschia_Sulfitobacter_Association/2026-10-07T125452Z-codex-a42433.yaml +precommit_adversarial_correction: + reason: Adversarial reading of the actual enum shows SYNTROPHY does not assert obligacy. Preserve the authors + qualified metabolic-coupling model; classify endpoints by their meaning, not an obsolete obligation requirement. + schema_path: src/communitymech/schema/communitymech.yaml + schema_sha256: 99079e7712d0c6b5eef0f278822a6b04fdb9a3a55b446e1f73f0752e4e626d04 + schema_definition: 'Metabolic cooperation in which one partner''s product is another''s substrate, and removing + that product is what makes the first partner''s metabolism favourable. + + **Obligacy is not asserted.** This value used to read "Obligate metabolic cooperation", which the corpus''s + 135 uses do not honour and which a single record can rarely establish: showing that neither partner grows alone + needs a monoculture arm, and where sources have one they often disprove obligacy. CommunityMech:000336 is the + worked case - every paper calls that pairing a syntrophy and its seed paper grows both species as monocultures + in the same experiment (#752). + + Where the distinction matters, state it in the interaction''s `description` with the evidence for it. METPO:1007200 + obligate syntrophy interaction and METPO:1007201 facultative syntrophy interaction are proposed in `proposals/metpo_communitymech_interaction_semantics_v1/` + so it can eventually be typed rather than narrated.' + superseded_validation: /private/tmp/communitymech-batch90/before-syntrophy-correction/reports/causal_graph_review/validation-20261007-batch90.json + superseded_validation_sha256: 313fe985877fc7e3b5bb5a92bc7b68e68d91918954f824213265e7b25f875f18 + superseded_regressions: 816 passed in 296.55s (0:04:56) + archived_inputs: + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T125451Z-codex-edc25d.yaml + : 271a08af4cba3eabb3cf7a342e8e9a281083767ce6c50f24b07a87137cc276f2 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/history/records/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium/2026-10-07T125451Z-codex-55758a.yaml + : 8b5c559e995515bca1f98cb6a3e7c8be078de36235b7597948d54cd04127d663 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T125451Z-codex-1ff079.yaml + : d175709b5dc8d6f6b60ed8db6e52b5a697c84c3470316f9f97702853cdaf5f74 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/history/records/Pseudonitzschia_Sulfitobacter_Association/2026-10-07T125452Z-codex-a42433.yaml + : 5d914980c60f787a52d05932653e4ef7a5d32da0faee8e1fb64ef381b3cd73d8 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml + : 931c479671d16ea771c7e1a45356e4fefa166a823dbcf1863f184058ae167d07 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml + : 6416089a1d115f7834f71f98182476728a7f936f8b544c6551103c712a2bb825 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml + : 5acea2e42c6ce0d29a2602ce285bb4d8853cedbd5ce3fbef9038f46b78c0410a + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml + : 1a0fd950b4dc5fbb21331be3995a2fffb05ac8d4e3df772f5008cb88a9b9d4e6 + /private/tmp/communitymech-batch90/before-syntrophy-correction/reports/causal_graph_review/README.md: 0219db95d1142cee2c9b69a7b845976e83bcebc6a63384120469ae9b4ceb794c + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml + : 59d039596548e55dbeda8456ae93999e7131f1e3759ba22b3b0b35ddda6aea18 + ? /private/tmp/communitymech-batch90/before-syntrophy-correction/reports/causal_graph_review/validation-20261007-batch90.json + : 313fe985877fc7e3b5bb5a92bc7b68e68d91918954f824213265e7b25f875f18 + /private/tmp/communitymech-batch90/before-syntrophy-correction/tests/test_causal_review_batch90.py: baa964c9086a4a568a2ed2829e1f8bbdb61403f52fa537c87119ab2e23162756 + /private/tmp/communitymech-batch90/before-syntrophy-correction/tests/test_participating_taxa.py: 89d6e67cd3a8401b2fe96f3e83d2aa5737f6f123cc849a0afdbab40eb25a4942 + records: + - path: kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml + before_sha256: 931c479671d16ea771c7e1a45356e4fefa166a823dbcf1863f184058ae167d07 + after_sha256: 2638bb5668d31d6c8a59d616e36777b22d38f03e1fef80dc58fada489628e41e + history: history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T130739Z-codex-a070e2.yaml + summary: 'Correct the precommit syntrophy rationale: the local enum does not require obligacy; an endpoint alone + does not establish product-removal feedback.' + - path: kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml + before_sha256: 5acea2e42c6ce0d29a2602ce285bb4d8853cedbd5ce3fbef9038f46b78c0410a + after_sha256: d987d0d184c409b62a9e96034e7dd8f294742b10bc3adefe4617ddd7208c97f8 + history: history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T130739Z-codex-d6881b.yaml + summary: Restore the authors qualified SYNTROPHY model on the transfer and circuit nodes; the local enum explicitly + does not assert obligacy. Keep the measurement endpoint distinct. diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index 9cab4d3a1..266afdf4f 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -324,10 +324,10 @@ kb/communities/Pseudomonas_Bacillus_Waxy_Oil_Biodegradation_Consortium.yaml Comm kb/communities/Pseudomonas_Klebsiella_Alcaligenes_FeII_Nitrogen_Removal_SynCom.yaml CommunityMech:000372 0e4ab9a02b384bc08912fba28e9873d6c98d408ebd7aa68187adbc423a7b4c38 1 0 55.0 reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml reviewed kb/communities/Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml CommunityMech:000331 84251088dd9fe5c30bdab428f7edf3bba20a00b5433b232ac867658eb189d9ce 3 2 93.3 reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml reviewed kb/communities/Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml CommunityMech:000161 0b23d93e9c3dee9108cc63022eee2c241c9df15ea94840600a6d44d4a3f2f0f8 3 2 90.0 reports/causal_graph_review/decisions/20261007-four-records-batch89.yaml reviewed -kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml CommunityMech:000181 298c55daea0a8c85c2dc73a7193091872b724bd484201d4ca3ee382c861602e7 3 2 100.0 pending -kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml CommunityMech:000289 f210209ef928cb79871d6e29901b721878edb7022d9d5c5597b7b9e48f763dd0 3 2 100.0 pending -kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml CommunityMech:000291 ee4c4d20acf4e636663a9d6d0e69237986d15c41018d7992172f8488eab4c209 3 2 100.0 pending -kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml CommunityMech:000056 5726093fb463f13eb9d2806a56352c813b649b4371aa9479cad385779fb97e34 5 1 90.0 pending +kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml CommunityMech:000181 2638bb5668d31d6c8a59d616e36777b22d38f03e1fef80dc58fada489628e41e 3 2 93.3 reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml reviewed +kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml CommunityMech:000289 6416089a1d115f7834f71f98182476728a7f936f8b544c6551103c712a2bb825 3 2 100.0 reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml reviewed +kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml CommunityMech:000291 d987d0d184c409b62a9e96034e7dd8f294742b10bc3adefe4617ddd7208c97f8 3 2 96.7 reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml reviewed +kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml CommunityMech:000056 1a0fd950b4dc5fbb21331be3995a2fffb05ac8d4e3df772f5008cb88a9b9d4e6 3 1 80.0 reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml reviewed kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml CommunityMech:000430 ce86bf2668f811e616cd1feef671d7580920303cc0714a82a6cce5ec7c7bec97 1 0 55.0 pending kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml CommunityMech:000424 1c3034feff5fe4328d79ca67a2811c340fca4c297b1bdaf32f609a04a0cebda0 1 0 65.0 pending kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml CommunityMech:000459 d1af81a5ffedb3dcc2ffeb32271eb3d66282f82db96b85335e21fdc449b90aac 1 0 60.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index 2cebcafc7..4734d87ed 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": 1422, + "nodes": 1420, "edges": 584, "records_without_nodes": 8, "records_without_edges": 173, "review_status_counts": { "needs_research": 48, - "pending": 136, - "reviewed": 276 + "pending": 132, + "reviewed": 280 }, "structural_defects": [], "network_audit": [ diff --git a/reports/causal_graph_review/validation-20261007-batch90.json b/reports/causal_graph_review/validation-20261007-batch90.json new file mode 100644 index 000000000..59b215bf2 --- /dev/null +++ b/reports/causal_graph_review/validation-20261007-batch90.json @@ -0,0 +1,1120 @@ +{ + "base_commit": "f63d0b98e06bd1e35016fcfd826b03721fe28f0b", + "scope": [ + "kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml", + "kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml", + "kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml", + "kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml" + ], + "reference_validator_version": "0.1.7", + "results": [ + { + "check": "Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch90/v2-Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-strict.tsv", + "kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-strict.log", + "log_sha256": "e6f9374e78065633f68d866324a81f559b164b8b966b2c0a4300c43611a0fbcf", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch90/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-batch90/v2-Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-strict.tsv\n" + }, + { + "check": "Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-references.log", + "log_sha256": "715999d7a98167c8cc5e98398ed42c49de97e4442dd1182c9870ca3a992416e5", + "output_tail": "Validating kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-snippets.log", + "log_sha256": "96a23c88588d68e990af5d62f9c27df12879566b4125e7703a275c3bfa7adcd7", + "output_tail": "# 22 evidence snippets scanned across 1 files\n MATCH 22\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-rank.log", + "log_sha256": "074cd530a081860766fa6d79388bfbb5c6334ade016bd05fc5e2c6af277d141f", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000181\",\n \"name\": \"Pseudomonas-Rhodococcus Chloronitrobenzene Coculture\",\n \"score\": 93.3,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 6,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml\"\n }\n]\n" + }, + { + "check": "Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T125451Z-codex-edc25d.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-history-1", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T130739Z-codex-a070e2.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture-history-1.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch90/v2-Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-strict.tsv", + "kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-strict.log", + "log_sha256": "b6beb748d106af1d012e95a2a4cdcac6d5a40f9330c2ed26e614d44bad1575ea", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch90/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-batch90/v2-Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-strict.tsv\n" + }, + { + "check": "Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-references.log", + "log_sha256": "de599f8795d6e68c219adf00cc931e8e1d0f4d36da889ce5c004941c469adc09", + "output_tail": "Validating kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-snippets.log", + "log_sha256": "1835af07ebf0373785ca2d25de18c6984a3cbcfdec0d2610f1d8437504408710", + "output_tail": "# 10 evidence snippets scanned across 1 files\n MATCH 10\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_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-rank.log", + "log_sha256": "3cb7721d91efb108291da9a9260dd6d10909f5b847414a4aa3d92181a7b05fb9", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000289\",\n \"name\": \"Pseudomonas putida Pp-TE + Rhodococcus sp. RDK17 Terephthalic-acid Consortium\",\n \"score\": 100.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 4,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [],\n \"path\": \"kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml\"\n }\n]\n" + }, + { + "check": "Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium/2026-10-07T125451Z-codex-55758a.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch90/v2-Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-strict.tsv", + "kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-strict.log", + "log_sha256": "6e8922002cf39eea96266c1ebfa9a1beedc74b5b42b1bc0cf908a695579601a5", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch90/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-batch90/v2-Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-strict.tsv\n" + }, + { + "check": "Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-references.log", + "log_sha256": "709787a511463ba1fcfa973b68ac16c3cba814ed0684c2254b381190c916cb77", + "output_tail": "Validating kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-snippets.log", + "log_sha256": "32e79f5bf36e5c97f219c301b9924d6a9da1ff1bf07e2b076f93f0d0ee74a358", + "output_tail": "# 9 evidence snippets scanned across 1 files\n MATCH 9\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_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-rank.log", + "log_sha256": "417824e038c6f182ea9ad5da235a274e30b7c2711b92198fb0ca2726ee74a5a8", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000291\",\n \"name\": \"Pseudomonas stutzeri + Rhodococcus Naphthalene-degrading Biochar-bridged Engineered Consortium\",\n \"score\": 96.7,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml\"\n }\n]\n" + }, + { + "check": "Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T125451Z-codex-1ff079.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-history-1", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T130739Z-codex-d6881b.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium-history-1.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudonitzschia_Sulfitobacter_Association-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudonitzschia_Sulfitobacter_Association-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Pseudonitzschia_Sulfitobacter_Association-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch90/v2-Pseudonitzschia_Sulfitobacter_Association-strict.tsv", + "kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudonitzschia_Sulfitobacter_Association-strict.log", + "log_sha256": "9a1941588d65a1fe330c6378153d9fe3e5cbea22d4c9e5930bc5991e6d19cf76", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch90/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-batch90/v2-Pseudonitzschia_Sulfitobacter_Association-strict.tsv\n" + }, + { + "check": "Pseudonitzschia_Sulfitobacter_Association-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudonitzschia_Sulfitobacter_Association-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Pseudonitzschia_Sulfitobacter_Association-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudonitzschia_Sulfitobacter_Association-references.log", + "log_sha256": "944243207c11e3c4fd0cd4b698903661476691a0dbfc49f82a50ee3aba43cf37", + "output_tail": "Validating kb/communities/Pseudonitzschia_Sulfitobacter_Association.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/Pseudonitzschia_Sulfitobacter_Association.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": "Pseudonitzschia_Sulfitobacter_Association-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudonitzschia_Sulfitobacter_Association-snippets.log", + "log_sha256": "1835af07ebf0373785ca2d25de18c6984a3cbcfdec0d2610f1d8437504408710", + "output_tail": "# 10 evidence snippets scanned across 1 files\n MATCH 10\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": "Pseudonitzschia_Sulfitobacter_Association-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudonitzschia_Sulfitobacter_Association-rank.log", + "log_sha256": "367ca3ed65189e30c1b7533f0f4d40293275dfc10a6ae9456dee0117a7320f03", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000056\",\n \"name\": \"Pseudo-nitzschia-Sulfitobacter Marine Association\",\n \"score\": 80.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 3,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml\"\n }\n]\n" + }, + { + "check": "Pseudonitzschia_Sulfitobacter_Association-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Pseudonitzschia_Sulfitobacter_Association/2026-10-07T125452Z-codex-a42433.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-Pseudonitzschia_Sulfitobacter_Association-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-batch90/v2-inventory.log", + "log_sha256": "beb676def27914d03e3c57f8cd243729b37ac50f1c39d0da197815fea5122264", + "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\": 1420,\n \"edges\": 584,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 173,\n \"review_status_counts\": {\n \"needs_research\": 48,\n \"pending\": 132,\n \"reviewed\": 280\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-batch90/v2-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-batch90/v2-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-batch90/v2-rank-all.log", + "log_sha256": "132ee89400717a2ccf119304af6536d19f8108d7b98bd7bcb313da0f92805faa", + "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-batch90/v2-render.log", + "log_sha256": "293aa0b73490c12a0a15c29d431d6736c1b0e5012ed2e8108eb5aa8c17536f94", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch90/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch90/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch90/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-batch90/v2-render-repeat.log", + "log_sha256": "293aa0b73490c12a0a15c29d431d6736c1b0e5012ed2e8108eb5aa8c17536f94", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch90/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch90/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch90/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch90/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-batch89')),('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-batch90/v2-connectivity-survey.log", + "log_sha256": "0a3e2264d8517443edbaf49c24795268ac88303e6a1ac2a60b435487f48e5c07", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 396, \"mixed\": 126, \"community_level_only\": 270, \"taxa\": 1523, \"credited_solely_by_the_rule\": 1249}, \"current\": {\"records\": 460, \"with_community_level\": 396, \"mixed\": 126, \"community_level_only\": 270, \"taxa\": 1523, \"credited_solely_by_the_rule\": 1249}}\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_batch89.py", + "tests/test_causal_review_batch9.py", + "tests/test_causal_review_batch90.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-batch90/v2-regressions.log", + "log_sha256": "7b9bb1c1e1bd83b9e81f78abc38de93338d489f1a5fa6bd58474f48c942d7ff6", + "output_tail": "........................................................................ [ 8%]\n........................................................................ [ 17%]\n........................................................................ [ 26%]\n........................................................................ [ 35%]\n........................................................................ [ 44%]\n........................................................................ [ 52%]\n........................................................................ [ 61%]\n........................................................................ [ 70%]\n........................................................................ [ 79%]\n........................................................................ [ 88%]\n........................................................................ [ 96%]\n......................... [100%]\n817 passed in 280.29s (0:04:40)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch90.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-black.log", + "log_sha256": "b9cf511501d306d2bd8355ccb165c8ddc0a6fdd62d7c72c4a7b1795cf8934c8c", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n2 files would be left unchanged.\n" + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch90.py", + "tests/test_participating_taxa.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/v2-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-batch90/v2-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-batch90/primary-graph-proof.log", + "log_sha256": "7e911a325969e4523cc87422ef659f5e2bfeb16677e5fe9ea411ba496f2674bf", + "output_tail": "{\n \"graph_quotations\": 16,\n \"discussion_quotations\": 8,\n \"fresh_primary_matches\": 24,\n \"cached_only_matches\": 0,\n \"retained_nodes\": 12,\n \"removed_nodes\": 2,\n \"retained_arrows\": 7,\n \"removed_arrows\": 0,\n \"mechanical_source_endpoint_corrections\": 0,\n \"new_biological_causal_claims\": 0,\n \"primary_main_texts_read\": 0,\n \"exact_system_primary_abstracts_read\": 4,\n \"attribution_abstracts_read\": 2,\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_batch90.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/focused-final.log", + "log_sha256": "7d56aa14837fa0f9abef1041bd4f8231442681774bfd29e2c4e2d43c8907e51b", + "output_tail": "........... [100%]\n11 passed in 1.88s\n" + }, + { + "check": "audit-snippets-all", + "command": [ + "just", + "audit-snippets" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch90/audit-snippets-all.log", + "log_sha256": "e29b60b478ba1baba9fedf26e58ec8a06bd38a16d431540aae41a30ec7df6190", + "output_tail": "# 8929 evidence snippets scanned across 460 files\n MATCH 8794\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:460records921caches1422nodes584arrows56warnings0structural defects. All14originalnodes7arrows accounted for;12biologicalnodes and all7directions retained. Two out-of-scope diatom nodes removed, with environmental evidence preserved outside the graph.", + "Four fresh exact-system primary abstracts and two attribution abstracts read. No complete fresh primary main text. Chloronitro XML500 after bounded retries, PMC challenge and open-access metadata404. Nature public search-index preview read, with explicit subscription notice; direct publisher redirect failed. No challenges or paywalls bypassed. No figure pixels, supplements or raw data inspected.", + "Chloronitro chemically supported upstream conversion, downstream degradation and conditional mineralization remain. The intermediate-degradation node no longer implies reverse metabolite provision. The endpoint itself does not demonstrate product-removal feedback on upstream metabolism; lack of obligacy is not a reason to reject SYNTROPHY.", + "TPA preserves three competition nodes and both directions, including reported contact inhibition, relative kinetics and metabolism-loss comparison. Dominance is an outcome, not standalone evidence for resource competition. Full controls and separate effect sizes remain uninspected; positive causal findings are not removed.", + "Naphthalene retains the authors SYNTROPHY classification on the PARTIAL electron-transfer/circuit model. The actual enum does not require obligacy. The measured removal/mineralization endpoint is kept distinct from the proposed coupling interaction; route-specific mediation remains qualified.", + "Diatom workflow resolution and broad environmental prevalence are not pair-specific biological interactions. Three signal/exchange nodes and the existing positive signaling arrow remain. Individual processes are not categorical reciprocal fitness measurements. No new harmful-algal growth optimization, toxin guidance or experimental designs were added.", + "The fresh H3 taxonomic abstract is not the exact SA11 study. PMID30228381 is another-system primary whose cached background discussion mentions SA11; only relevant background paragraphs were inspected, not independently fresh main text. Public Nature preview identifies the canonical pair. Non-graph citation, culture and metal claims remain the metadata issue, not silently corrected or certified.", + "456otherrecords, all921caches and raw non-graph blocks preserved. Two new explicit participant users; legacy community-level census is to be measured. No taxon IDs, taxonomy or auditor rules changed. No new genetic designs, resistance-selection details or optimization protocols.", + "Dedup1006all-state issue titles/bodies with broad aliases; nine matching bodies read and49local ignored/hidden matches found, excluding .git/docs/site/references_cache. Relevant caches separately inspected. Explicit529/573/605read. Matching1091is a general DOI-cache case issue; these graph evidence references use PMIDs. Comments and PRs not exhaustively searched.", + "No new node, direction, Edison dry run or provider submission. Earlier pending and denied spend scopes remain unchanged. Four repair issues close only after protected-main merge; the metadata follow-up remains open. Validation, rendering and publication are subsequent gates, not preasserted. Self-review is not independent approval, generated-model loader certification or corpus completion. Loader1703remains open.", + "Adversarial review caught an obsolete obligacy premise after the initial816-test pass. Corrected before publication, retained initial inputs/results as superseded, appended two additional histories without rewriting the four earlier artifacts, and required a fresh full validation run. A schema-contract regression guards the distinction.", + "Exact HTML-description parser and repeat-render checks, not browser screenshots. Post-commit docs-current is separate." + ], + "superseded_precommit_validation": { + "report": "/private/tmp/communitymech-batch90/before-syntrophy-correction/reports/causal_graph_review/validation-20261007-batch90.json", + "sha256": "313fe985877fc7e3b5bb5a92bc7b68e68d91918954f824213265e7b25f875f18", + "regressions": "816 passed in 296.55s (0:04:56)", + "reason": "Adversarial reading of the actual enum shows SYNTROPHY does not assert obligacy. Preserve the authors qualified metabolic-coupling model; classify endpoints by their meaning, not an obsolete obligation requirement.", + "original_logs_verified": true, + "archived_inputs_verified": true + }, + "snippet_counts_by_record": { + "kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml": { + "MATCH": 22, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml": { + "MATCH": 10, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml": { + "MATCH": 9, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml": { + "MATCH": 10, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "unchanged_raw_blocks": 48, + "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": [], + "repair_scope": "No new node or direction. Existing source-backed arrows retained; non-biological and out-of-scope nodes removed." + }, + "primary_artifacts": { + "/private/tmp/communitymech-batch90/baseline.json": "9bf34b0998d64a7441e0f65c5ef9543df83e9755c4d313f7572d3b67e0f45475", + "/private/tmp/communitymech-batch90/chloronitro-metadata.json": "1a4331e0133148db3885a1406990d6d7f8baa2c41e61bab3eb6a3adf3bb4f6f7", + "/private/tmp/communitymech-batch90/chloronitro-primary.txt": "57c0d96d71b004ca74536d7abc440daa279c384aa6b70dc463031972460cd722", + "/private/tmp/communitymech-batch90/created-issues.json": "69a24faa193aafdc6fd03ad05363291c9f7e20eb8d8a6c6eafb2b5e016cd5273", + "/private/tmp/communitymech-batch90/diatom-metadata.json": "275efc565d9080db643360ea68b5884d0fa0eda95b3b9ef9b942984c10aaa62a", + "/private/tmp/communitymech-batch90/diatom-primary.txt": "85d4adc94376971363158c043f4ec21e5000c192d0076565a3fa19e746a5db75", + "/private/tmp/communitymech-batch90/diatom-secondary-metadata.json": "4090b8e12410080cff01a3e6869b2901fdefc6c6e49add37941c89d9b7db5225", + "/private/tmp/communitymech-batch90/diatom-secondary-primary.txt": "e741219f2e52f12603bb6a529abbb6c586a7f4872bc93c1dac8a1678dfc6d929", + "/private/tmp/communitymech-batch90/diatom-taxon-metadata.json": "3013c34cf35bb58bcbb0d049eca9063160ad99ef5481d71eba411a8d8eff6fc9", + "/private/tmp/communitymech-batch90/diatom-taxon-primary.txt": "e0e474b216c59e48ec0ed62cc28b318995213071f4f410b0a449ff3d900cee9c", + "/private/tmp/communitymech-batch90/issue-matches-current.json": "670446e6dbbbec064b12effade07a2a9bb55c03081506202dfc3ef6d0ca6da01", + "/private/tmp/communitymech-batch90/issue-matches.json": "998a4ebf253b10811bec9d5a3ac59bee11c23f7e1fcf1f1252d797ba4dd0f05e", + "/private/tmp/communitymech-batch90/issues-current.json": "12cbeb6806f6fb0139af3b5af5803fcca74221dc47e9d6fdd9bbcc4f0ac46fba", + "/private/tmp/communitymech-batch90/issues.json": "721957caeea9b1b327c8e0db5bc32ab8d580c77b83dc4aa475870c7a1f5c37ff", + "/private/tmp/communitymech-batch90/local-matches-current.txt": "b32ca05e528862c3dc0eacacdcbf887d51cf4a5425ee173f622885b2a2d330b9", + "/private/tmp/communitymech-batch90/local-matches.txt": "b079e9d455348d083398c52b16135b2f5262190e44b47eb614d1743a8bc1ea9d", + "/private/tmp/communitymech-batch90/naphthalene-metadata.json": "c4d6850388ef38877fa72ac4aa4af02341d9e901d3ef6420b1a1307e2204d5be", + "/private/tmp/communitymech-batch90/naphthalene-primary.txt": "4dc8f806efa7962c3ba07392d3cba7155ca348a9ce9fb3355b2a937fef192a37", + "/private/tmp/communitymech-batch90/primary-manifest.json": "c0ab117a1b13bc6eb5e630888dc695a483f30fb4d81709c44291915f3b0a8f3d", + "/private/tmp/communitymech-batch90/source-access-limits.json": "1bc763eb8b04a7f7a3fc1034ebb89415043a36f8ebef5ddc4329425fbe3dfa2e", + "/private/tmp/communitymech-batch90/tpa-metadata.json": "be7394814f2ee19727002e4ff80336da92263ce849341b3b361f2ada023d9bda", + "/private/tmp/communitymech-batch90/tpa-primary.txt": "6a8867182d70aa4b39805f8773811f28bfbba8526972addaaad12b44176a1588", + "references_cache/PMID_10049867.txt": "864e5e8ae2f8db67e4f80181c4b8a34d0d4c2609a695f49b53f18b22155544be", + "references_cache/PMID_25278561.md": "2a6e0578f788ef608228bbbf351021400e26a81292d7242ea8618f558a4ed54d", + "references_cache/PMID_26017307.txt": "73002aeab17f66c3f4335473c65cf2fec08b255b18ec928877f55ad4636af2ec", + "references_cache/PMID_30228381.txt": "5219e0c6d1c1ca3b629ad25df87cd5edd628f613c66311250968515e51d781fc", + "references_cache/PMID_42139785.md": "3dc162fe4c8935f7f5dafa5fddf54d09980e78691ff2a786a9a3e2e4b44accf0", + "references_cache/PMID_42324694.md": "c8216f9b203d325e0f2ce7bce97a175613c18d8e41d01373eeb0eb22029de89c", + "/private/tmp/communitymech-batch90/syntrophy-correction.json": "0bf5eaf021429affcb06fe022fb6e9ed022c37072c25f672b21f4f10018e5ba3" + }, + "network_delta": { + "existing_findings_preserved": 56, + "added_findings": {}, + "removed_findings": {}, + "interpretation": "All56existing warnings preserved, zero structural defects. No edge endpoint changes; two out-of-scope nodes removed. No taxonomy or auditor-rule changes." + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1406, + "arrows": 576 + }, + "participant_census": { + "measurements": { + "baseline": { + "records": 460, + "with_community_level": 396, + "mixed": 126, + "community_level_only": 270, + "taxa": 1523, + "credited_solely_by_the_rule": 1249 + }, + "current": { + "records": 460, + "with_community_level": 396, + "mixed": 126, + "community_level_only": 270, + "taxa": 1523, + "credited_solely_by_the_rule": 1249 + } + }, + "delta": { + "records": 0, + "with_community_level": 0, + "mixed": 0, + "community_level_only": 0, + "taxa": 0, + "credited_solely_by_the_rule": 0 + }, + "interpretation": "Legacy community-level census unchanged; two new explicit-participant users. 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": 1420, + "edges": 584, + "records_without_nodes": 8, + "records_without_edges": 173, + "review_status_counts": { + "needs_research": 48, + "pending": 132, + "reviewed": 280 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml": "bdcd291bfeb14293712b5b408e7ef8cc396a18317827618ed75fee517b1f9d58", + "tests/test_causal_review_batch90.py": "12dfffa68bd63e815e76f50dd9cb52ac459390f0bf48a0a1da3521134a3a98be", + "tests/test_participating_taxa.py": "89d6e67cd3a8401b2fe96f3e83d2aa5737f6f123cc849a0afdbab40eb25a4942", + "kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml": "2638bb5668d31d6c8a59d616e36777b22d38f03e1fef80dc58fada489628e41e", + "kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml": "6416089a1d115f7834f71f98182476728a7f936f8b544c6551103c712a2bb825", + "kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml": "d987d0d184c409b62a9e96034e7dd8f294742b10bc3adefe4617ddd7208c97f8", + "kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml": "1a0fd950b4dc5fbb21331be3995a2fffb05ac8d4e3df772f5008cb88a9b9d4e6", + "reports/causal_graph_review/README.md": "727ecad74acba894907ac59be451da98bb734ae08bf099e7970f1cf9c493cc48" + }, + "status": "verified_assay_boundary_graph_review", + "pre_correction_histories_preserved": [ + "history/records/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture/2026-10-07T125451Z-codex-edc25d.yaml", + "history/records/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium/2026-10-07T125451Z-codex-55758a.yaml", + "history/records/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium/2026-10-07T125451Z-codex-1ff079.yaml", + "history/records/Pseudonitzschia_Sulfitobacter_Association/2026-10-07T125452Z-codex-a42433.yaml" + ], + "full_corpus_snippet_counts": { + "records": 460, + "total": 8929, + "categories": { + "MATCH": 8794, + "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": "f63d0b98e06bd1e35016fcfd826b03721fe28f0b", + "base_tree": "8323cd500b8d327c50030d13c9bfea0dd3f8d903", + "research_worktree": "/private/tmp/communitymech-causal-batch89", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch90/baseline-rank.log", + "sha256": "ee8d3999d942c7888b056d36f54e71e9ef67f36c7ecf03a1d1e5cd91650e7d96", + "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-batch90/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-batch90/baseline-network.log", + "sha256": "8febc2a966f5c2b51cd59095a8877c8773cd1e9383e5214bcdc3832c5858c097", + "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-batch90/baseline-downstream.log", + "sha256": "612533c9f55a6a2b48e05aa5b1f9f7f923f27a728a742167a5d14df82228a138", + "output_tail": "_Plume_Succession.yaml:241: downstream:\nkb/communities/Asgard_Wetland_Soil_Methanogenesis_Substrate_Community.yaml:157: downstream:\nkb/communities/Asgard_Wetland_Soil_Methanogenesis_Substrate_Community.yaml:196: downstream:\nkb/communities/Infant_Gut_DNA_Phage_Succession_Community.yaml:93: downstream:\nkb/communities/Infant_Gut_DNA_Phage_Succession_Community.yaml:128: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:120: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:152: downstream:\nkb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml:143: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:69: downstream:\nkb/communities/Populus_Salt_Tolerant_SynComs.yaml:88: downstream:\nkb/communities/Geobacter_Pseudomonas_Formate_Fumarate_Electroactive_Coculture.yaml:191: downstream:\nkb/communities/Ostreococcus_Dinoroseobacter_BVitamin_Mutualism.yaml:121: downstream:\nkb/communities/Chlorella_Azospirillum_Synthetic_Mutualism.yaml:207: downstream:\nkb/communities/Chlorella_Azospirillum_Synthetic_Mutualism.yaml:252: downstream:\nkb/communities/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml:104: downstream:\nkb/communities/Avena_Rhizosphere_Detritusphere_Niche_Succession.yaml:127: downstream:\nkb/communities/OMM12_Gnotobiotic_Mouse_Gut_Community.yaml:89: downstream:\nkb/communities/Miscanthus_REE_Tailings_Nitrogen_SynCom10.yaml:136: downstream:\nkb/communities/Miscanthus_REE_Tailings_Nitrogen_SynCom10.yaml:201: downstream:\nkb/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml:179: downstream:\nkb/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml:232: downstream:\nkb/communities/SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.yaml:105: downstream:\nkb/communities/SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.yaml:141: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:295: downstream:\nkb/communities/Salar_Atacama_Lithium_Brine_Community.yaml:339: downstream:\n" + } + ], + "baseline_sha256": "9bf34b0998d64a7441e0f65c5ef9543df83e9755c4d313f7572d3b67e0f45475" + }, + "reference_validator_caveat": "Four full-record reference-validator runs passed. CLI Total checks counts issues, not executed checks. Sixteen graph and eight discussion quotations match independent fresh-primary abstract and cache text. Literal matching is not entailment or full-text certification." +} diff --git a/tests/test_causal_review_batch90.py b/tests/test_causal_review_batch90.py new file mode 100644 index 000000000..17eb22909 --- /dev/null +++ b/tests/test_causal_review_batch90.py @@ -0,0 +1,165 @@ +"""Keep reported causal findings distinct from reversed transfers and scope drift.""" + +import hashlib +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261007-four-records-batch90.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_chloronitro_downstream_step_does_not_imply_reverse_feeding(): + _, rows, docs = records() + upstream, downstream, endpoint = docs[0]["ecological_interactions"] + assert len(rows[0]["edges_after"]) == 2 + assert upstream["interaction_type"] == "CROSS_FEEDING" + assert downstream["scope"] == "COMMUNITY_LEVEL" + assert "source_taxon" not in downstream and "target_taxon" not in downstream + assert "interaction_type" not in downstream and "interaction_type" not in endpoint + assert "not evidence of Rhodococcus supplying a metabolite back" in downstream["description"] + + +def test_chloronitro_conditional_mineralization_is_preserved(): + _, _, docs = records() + endpoint = docs[0]["ecological_interactions"][-1] + assert "reports coculture mineralization" in endpoint["description"] + assert "additional carbon source" in endpoint["description"] + assert len(endpoint["evidence"]) == 2 + assert "not evidence that controls were absent" in docs[0]["discussions"][-1]["rationale"] + + +def test_tpa_competition_has_metabolic_evidence_not_only_dominance(): + _, _, docs = records() + exploit, interference, dominance = docs[1]["ecological_interactions"] + assert all(n["interaction_type"] == "COMPETITION" for n in [exploit, interference, dominance]) + assert len(exploit["evidence"]) == 2 + assert "TPA metabolism was abolished" in exploit["evidence"][1]["snippet"] + assert "not by itself the mechanism" in exploit["evidence"][0]["explanation"] + assert "measured population outcome" in dominance["description"] + + +def test_tpa_positive_contact_inhibition_attribution_survives(): + _, rows, docs = records() + node = docs[1]["ecological_interactions"][1] + assert len(rows[1]["edges_after"]) == 2 + assert "authors report assays" in node["description"] + assert "main contributor to dominance" in node["downstream"][0]["description"] + assert "relative growth kinetics" in node["description"] + assert "does not imply absent controls" in docs[1]["discussions"][-1]["rationale"] + + +def test_naphthalene_model_and_positive_endpoints_are_separate(): + _, _, docs = records() + transfer, circuit, endpoint = docs[2]["ecological_interactions"] + assert transfer["interaction_type"] == circuit["interaction_type"] == "SYNTROPHY" + assert "interaction_type" not in endpoint + assert transfer["description"].startswith("PARTIAL:") + assert circuit["description"].startswith("PARTIAL:") + assert circuit["scope"] == endpoint["scope"] == "COMMUNITY_LEVEL" + assert "98.3%" in endpoint["description"] and "89.5%" in endpoint["description"] + assert "complete carbon balance" in endpoint["description"] + + +def test_syntrophy_review_follows_the_current_schema_not_an_obligacy_requirement(): + ledger, _, docs = records() + schema = yaml.safe_load((ROOT / "src/communitymech/schema/communitymech.yaml").read_text()) + definition = schema["enums"]["InteractionTypeEnum"]["permissible_values"]["SYNTROPHY"][ + "description" + ] + assert "Obligacy is not asserted." in definition + correction = ledger["precommit_adversarial_correction"] + assert correction["schema_definition"] == definition + assert correction["superseded_regressions"].startswith("816 passed") + assert len(correction["records"]) == 2 + for node in docs[2]["ecological_interactions"][:2]: + assert node["interaction_type"] == "SYNTROPHY" + assert "does not assert obligacy" in " ".join(node["description"].split()) + + +def test_diatom_workflow_and_environmental_scope_do_not_become_pair_mechanisms(): + _, rows, docs = records() + synthesis, response, exchange = docs[3]["ecological_interactions"] + removed = {n["node"] for n in rows[3]["removed_node_decisions"]} + assert removed == { + "Diatom-Associated Bacterial Consortium Resolution", + "Coastal Sulfitobacter IAA Prevalence", + } + assert synthesis["downstream"][0]["target"] == response["name"] + assert "IAA promotes diatom cell division" in response["description"] + assert all("interaction_type" not in n for n in [synthesis, response, exchange]) + assert "widespread" in docs[3]["environmental_factors"][0]["value"] + assert "#1742" in docs[3]["discussions"][-1]["rationale"] + + +def test_all_original_nodes_edges_and_graph_anchors_have_dispositions(): + _, rows, docs = records() + assert sum(len(r["node_decisions"]) for r in rows) == 12 + assert sum(len(r["removed_node_decisions"]) for r in rows) == 2 + assert sum(len(r["edges_before"]) for r in rows) == 7 + assert sum(len(r["retained_edge_decisions"]) for r in rows) == 7 + assert all( + not r["removed_edge_decisions"] and not r["mechanical_edge_source_corrections"] + for r in rows + ) + 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 {(e["source"], e["target"]) for e in row["edges_before"]} == { + (e["source"], e["target"]) 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"] + if a.startswith("ecological_interactions#") + ) + + +def test_abstract_matches_are_not_full_text_certification(): + ledger, _, _ = records() + assert ledger["primary_graph_snippet_count"] == 16 + assert len(ledger["discussion_snippet_checks"]) == 8 + checks = ledger["snippet_checks"] + ledger["discussion_snippet_checks"] + assert len(checks) == 24 and all(c["independent_primary_match"] for c in checks) + assert len(ledger["source_access"]) == 6 + assert all("abstract" in r["accessed_scope"].lower() for r in ledger["source_access"]) + + +def test_history_no_spend_and_unfinished_followups_are_explicit(): + ledger, rows, docs = records() + assert not ledger["independent_approval"] + assert ledger["issues"] == [1738, 1739, 1740, 1741] + assert ledger["unresolved_non_graph_issues"] == [1742] + assert ledger["edison"]["provider_submissions"] == ledger["edison"]["credits_spent"] == 0 + assert ledger["edison"]["dry_runs"] == [] + assert sum(len(row["history_files"]) for row in rows) == 6 + for index, (row, doc) in enumerate(zip(rows, docs, strict=True)): + assert ( + row["curation_events_added"] + == len(row["history_files"]) + == (2 if index in [0, 2] else 1) + ) + assert row["status"] == "reviewed" and doc["curation_history"][-1]["llm_assisted"] + + +def test_reviewed_records_canonical_participants_and_caches_are_hash_bound(): + ledger, rows, docs = records() + assert ledger["cache_changes"] == [] + for row, doc in zip(rows, docs, strict=True): + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + canonical = [ + {k: t["taxon_term"][k] for k in ["preferred_term", "term"]} for t in doc["taxonomy"] + ] + for node in doc["ecological_interactions"]: + if node.get("participating_taxa"): + assert node["participating_taxa"] == canonical + for path, digest in ledger["primary_artifacts"].items(): + if path.startswith("references_cache/"): + assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py index 190037307..6016489c0 100644 --- a/tests/test_participating_taxa.py +++ b/tests/test_participating_taxa.py @@ -379,6 +379,8 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example): "Pseudomonas_Paracoccus_Bifenthrin_Degradation_Consortium.yaml", "Pseudomonas_Pedobacter_Social_Spreading_Coculture.yaml", "Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml", + "Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml", + "Pseudonitzschia_Sulfitobacter_Association.yaml", "Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml", "Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml", "Rhodococcus_Pseudomonas_PPOW_Consortium.yaml",