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 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
-
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)
+
+
+
+
Rhodococcus sp. strain HS51, which degrades 4- and 5-chloro-2-hydroxyacetanilides
+
Supports HS51 as the organism degrading P. putida-derived intermediates.
+
+
+
+
+
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
+
+
+
+ "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)
+
+
+
+
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.
+
+
+
+
+
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
-
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)
+
+
+
+
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.
+
+
+
+
+
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
-
-
-
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:
-
-
-
- interspecies interaction
- (GO:0044419 )
-
-
-
-
-
-
-
-
-
Evidence
-
-
-
-
-
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
-
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
-
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
-
-
-
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
-
-
-
+ 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",