From 16941a966808a5102a775ce8e2c00f0c92050f22 Mon Sep 17 00:00:00 2001
From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com>
Date: Tue, 6 Oct 2026 13:28:01 -0700
Subject: [PATCH] Qualify KZ and kombucha causal claims and record research
gaps
---
...bacter_KZ_Phenanthrene_Cadmium_SynCom.html | 76 +-
...li_Coinducible_Biosynthesis_Coculture.html | 17 +-
...ucha_KMC_IMBG1_Fermentation_Community.html | 179 +++-
.../2026-10-06T201911Z-codex-4edaec.yaml | 25 +
.../2026-10-06T201911Z-codex-e2d63d.yaml | 24 +
.../2026-10-06T201911Z-codex-36fc6c.yaml | 25 +
...bacter_KZ_Phenanthrene_Cadmium_SynCom.yaml | 89 +-
...li_Coinducible_Biosynthesis_Coculture.yaml | 34 +-
...ucha_KMC_IMBG1_Fermentation_Community.yaml | 139 ++-
reports/causal_graph_review/README.md | 21 +
.../adversarial-review-20261006-batch60.yaml | 179 ++++
.../20261006-kz-kmc-komagataella-batch60.yaml | 206 +++++
reports/causal_graph_review/inventory.tsv | 6 +-
reports/causal_graph_review/summary.json | 8 +-
.../validation-20261006-batch60.json | 814 ++++++++++++++++++
...culture-edison-literature-causal-meta.yaml | 128 +++
tests/test_causal_review_batch60.py | 143 +++
tests/test_participating_taxa.py | 2 +
18 files changed, 1971 insertions(+), 144 deletions(-)
create mode 100644 history/records/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom/2026-10-06T201911Z-codex-4edaec.yaml
create mode 100644 history/records/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture/2026-10-06T201911Z-codex-e2d63d.yaml
create mode 100644 history/records/Kombucha_KMC_IMBG1_Fermentation_Community/2026-10-06T201911Z-codex-36fc6c.yaml
create mode 100644 reports/causal_graph_review/adversarial-review-20261006-batch60.yaml
create mode 100644 reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml
create mode 100644 reports/causal_graph_review/validation-20261006-batch60.json
create mode 100644 research/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-edison-literature-causal-meta.yaml
create mode 100644 tests/test_causal_review_batch60.py
diff --git a/docs/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.html b/docs/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.html
index 258d2afa9..43700395b 100644
--- a/docs/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.html
+++ b/docs/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.html
@@ -602,7 +602,7 @@
Ecological Interactions
Ecological interaction network for Klebsiella-Arthrobacter KZ Phenanthrene-Cadmium SynCom
- Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (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.
@@ -610,8 +610,8 @@
Ecological Interactions
Niche partitioning
+ aria-hidden="true" data-symbol="symbolTriangle2"
+ data-color="#929caa"> Other
@@ -619,17 +619,20 @@ Ecological Interactions
-
Arthrobacter sp. SZ-3 supplied stronger upstream catalytic activity, measured as 50% higher 2H1N conversion, whereas Klebsiella sp. CW-D3T dominated downstream mineralization with more than 80% contribution in the biomass-normalized enzyme activity assays.
+
Under 25 mg/L cadmium stress, the KZ pair showed better phenanthrene degradation and mineralization than the monocultures. Biomass-normalized enzyme assays assign stronger upstream 2H1N conversion to Arthrobacter sp. SZ-3 and a dominant downstream mineralization contribution to Klebsiella sp. CW-D3T. PARTIAL - these complementary activities support a division-of-labor model, not a resolved donor-to-recipient transfer or necessary mediation. The linked corrigendum and complete assay Methods remain unverified.
-
Source Taxon: Arthrobacter sp. SZ-3
+
Participating Taxa:
-
Target Taxon: Klebsiella sp. CW-D3T
+ Klebsiella sp. CW-D3T,
+
+ Arthrobacter sp. SZ-3
+
+
@@ -656,13 +659,26 @@
Evidence
PMID:41365368
- - SUPPORT (IN_VITRO)
+ - PARTIAL (IN_VITRO)
"Through biomass-normalized enzyme activity assays, we uncovered a structured division of labor: SZ-3 exhibited superior upstream catalytic activity (50 % higher 2H1N conversion), while CW-D3T dominated downstream mineralization (>80 % contribution)."
+
+
+
+ "which synergistically enhanced phenanthrene (PHE) degradation and mineralization under cadmium stress (25 mg/L Cd2+), outperforming monocultures by 1.2-1.9-fold."
+
+
+
@@ -673,7 +689,7 @@ Evidence
- Knowledge gaps & discussions (1)
+ Knowledge gaps & discussions (2)
@@ -688,6 +704,21 @@
+
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ What does the corrigendum change, and which transfers mediate KZ performance?
+
+
The complete abstract and public publisher preview support positive KZ outcomes and assay-inferred upstream/downstream roles. Full enzyme Methods, supplements and tracer or selective perturbation evidence were not read. PMID:41456976 / doi:10.1016/j.biortech.2025.133853 is a linked corrigendum; the official publisher API supplied metadata only, not its body. Do not assume the correction is biologically immaterial or infer expression from metagenomic gene content. #1541 tracks unresolved verification. Keep this record needs_research after the bounded #1540 repair. Existing medium/inoculation questions remain open; routine LB/MSM mentioned in the preview is not a verified co-contamination assay recipe.
+
+
Attaches to: ecological_interactions#Assay-Inferred Phenanthrene Catabolic Division Of Labor
+
+
+
+
@@ -934,7 +965,7 @@ Evidence
(function() {
var intId = "interaction:0";
- var intType = "NICHE_PARTITIONING";
+ var intType = "UNKNOWN";
var metabolites = [];
@@ -943,11 +974,11 @@ Evidence
var processes = [];
- var evidenceCount = 1;
+ var evidenceCount = 2;
nodes.push({
id: intId,
- label: "SZ-3 to CW-D3T phenanthrene-mineralization division of labor",
+ label: "Assay-Inferred Phenanthrene Catabolic Division Of Labor",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -956,17 +987,20 @@ Evidence
});
- var srcKey = "Arthrobacter sp. SZ-3";
- if (taxonNodeIds[srcKey]) {
- links.push({ source: taxonNodeIds[srcKey], target: intId });
- }
+ var participantKeys = [
- var tgtKey = "Klebsiella sp. CW-D3T";
- if (taxonNodeIds[tgtKey]) {
- links.push({ source: intId, target: taxonNodeIds[tgtKey] });
- }
+ "Klebsiella sp. CW-D3T",
+
+ "Arthrobacter sp. SZ-3"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
})();
diff --git a/docs/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.html b/docs/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.html
index 28eefd86c..43fdcbfde 100644
--- a/docs/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.html
+++ b/docs/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.html
@@ -549,7 +549,7 @@ Ecological Interactions
- Knowledge gaps & discussions (1)
+ Knowledge gaps & discussions (2)
@@ -564,6 +564,21 @@
+
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ Which strain-resolved relays and induction responses support a causal biosynthesis graph?
+
+
The abstract and public publisher Introduction/section previews report compatible co-growth, common-signal induction and relayed simvastatin/naringenin production. A design without engineered population-balancing interactions does not prove biological neutralism; sharing an induction signal is not metabolite cross-feeding. Monacolin J acid and an acyl donor are discussed, but exact chassis/construct assignments, transfer controls and full Methods remain unresolved. #1542 tracks the empty graph as needs_research, not absent biology. A reviewed one-community LITERATURE dry run contains 7,457 characters; zero provider submissions or credits. Specifically authorized research and primary verification are needed before adding new nodes/arrows. Preserve the existing intermediate-assignment discussion and canonical species IDs.
+
+
Attaches to: ecological_interactions, engineering_design
+
+
+
+
diff --git a/docs/communities/Kombucha_KMC_IMBG1_Fermentation_Community.html b/docs/communities/Kombucha_KMC_IMBG1_Fermentation_Community.html
index 04e3255f8..f58c9dc7b 100644
--- a/docs/communities/Kombucha_KMC_IMBG1_Fermentation_Community.html
+++ b/docs/communities/Kombucha_KMC_IMBG1_Fermentation_Community.html
@@ -643,7 +643,7 @@ Ecological Interactions
Ecological interaction network for Kombucha KMC-IMBG1 Fermentation Community
- Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (mutualism, niche partitioning, colonization facilitation).
+ 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.
@@ -651,18 +651,8 @@
Ecological Interactions
Mutualism
-
-
- Niche partitioning
-
-
- Colonization facilitation
+ aria-hidden="true" data-symbol="symbolTriangle2"
+ data-color="#929caa"> Other
@@ -670,14 +660,25 @@ Ecological Interactions
-
The kombucha microbial community is described as a bacteria-yeast mutualistic metabolic system, with yeasts and cellulose-forming acetobacteria maintained together in a surface pellicle.
+
HYPOTHESIZED - the source describes bacteria-yeast metabolic cooperation as the general KMC model. KMC-IMBG1 cultures contain acetobacteria and yeasts, but this composition/microscopy study does not selectively demonstrate exchanged metabolites or reciprocal growth benefits. The four named core genera represent a larger, condition-dependent assemblage, not an exhaustive identical membership in every culture.
+
Participating Taxa:
+
+ Komagataeibacter,
+
+ Gluconobacter,
+
+ Pichia,
+
+ Brettanomyces
+
+
+
@@ -712,7 +713,7 @@
Evidence
PMID:26061774
- - SUPPORT (IN_VITRO)
+ - PARTIAL (IN_VITRO)
"mutualistic metabolic cooperation of pro- and eukaryotic microorganisms"
@@ -726,14 +727,23 @@ Evidence
-
Cellulose-producing acetobacteria create a surface pellicle that encloses the mixed yeast and bacterial community, physically structuring biochemical interactions.
+
Cellulose-producing bacteria form the surface pellicle, and microscopy reports mixed bacterial and yeast morphotypes associated with its cellulose web. This preserves physical community structuring. PARTIAL - the proposed facilitation of biochemical cooperation is distinct from observed association and was not selectively tested by disrupting the pellicle.
+
+
-
Source Taxon: Komagataeibacter
+
Participating Taxa:
+ Komagataeibacter,
+ Gluconobacter,
+
+ Pichia,
+
+ Brettanomyces
+
+
@@ -756,8 +766,8 @@
Cellulose Pellicle Community Structuring
Downstream Effects:
-
→ Yeast-Acetobacter Mutualistic Fermentation
-
The cellulose pellicle encloses the mixed yeast-acetobacter culture at the liquid surface, facilitating the close biochemical interplay that maintains kombucha fermentation.
+
→ Proposed Yeast-Acetobacter Metabolic Cooperation
+
HYPOTHESIZED - pellicle enclosure could facilitate bacteria-yeast biochemical cooperation through spatial association, as explicitly proposed in the source Introduction. Microscopy supports association, not a selective test that pellicle formation mediates reciprocal benefit.
@@ -780,19 +790,43 @@ Evidence
+
+
+
+ "Close biochemical interplay between yeasts and bacteria was facilitated by enclosing the mixed community within cellulose-based pellicles"
+
+
+
-
KMC-IMBG1 maintained a stable acetobacterial core but shifted accessory bacteria and yeast composition across sterile sweetened tea, nonsterile sweetened tea, honey-supplemented tea, and cabbage-brine hybrid microenvironments.
+
Culture and 16S/ITS profiles change across sterile or nonsterile sweetened tea, honey tea and the cabbage-brine hybrid, with relatively stable acetobacterial membership and more variable yeast composition. Lactobacilli likely introduced with cabbage brine persisted through passages. PARTIAL - active recruitment and added fermentative capacity remain proposed; relative sequence profiles do not establish absolute growth, niche partitioning or reciprocal benefit.
+
+
Participating Taxa:
+
+ Komagataeibacter,
+
+ Gluconobacter,
+
+ Pichia,
+
+ Brettanomyces
+
+
@@ -811,16 +845,6 @@
Growth-Condition Dependent Accessory Recruitment
-
-
Downstream Effects:
-
-
-
→ Yeast-Acetobacter Mutualistic Fermentation
-
Growth-condition shifts can recruit accessory bacteria such as lactobacilli that may contribute to the broader KMC fermentative capacity.
-
-
-
-
Evidence
@@ -896,6 +920,25 @@
Associated Datasets
+
+ Knowledge gaps & discussions (1)
+
+
+
+ KNOWLEDGE_GAP
+ OPEN
+ Which exchanges and benefits are mediated by the KMC pellicle or accessory members?
+
+
Retain the source-explicit pellicle-to-cooperation model as HYPOTHESIZED, with physical association distinct from selective mediation. Remove the accessory-composition-to-mutualism arrow: possible fermentation capacity does not establish reciprocal benefit among the canonical core genera. Positive pellicle formation, composition changes and persistence of probable cabbage-derived lactobacilli remain represented. Read the full primary main text and main/supplement captions, not original figure pixels, Table 1 numerical cells, supplementary PDF or raw sequences. Strain-resolved transfer and selective pellicle/accessory perturbations remain open questions. Canonical membership is preserved as a partial core representation; separate non-graph cultivation/ingredient claims remain unresolved under #1543.
+
+
Attaches to: ecological_interactions#Proposed Yeast-Acetobacter Metabolic Cooperation, ecological_interactions#Cellulose Pellicle Community Structuring, ecological_interactions#Growth-Condition Dependent Community Composition
+
+
+
+
+
+
+
@@ -1175,7 +1218,7 @@ Evidence
(function() {
var intId = "interaction:0";
- var intType = "MUTUALISM";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
@@ -1190,7 +1233,7 @@ Evidence
nodes.push({
id: intId,
- label: "Yeast-Acetobacter Mutualistic Fermentation",
+ label: "Proposed Yeast-Acetobacter Metabolic Cooperation",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -1201,11 +1244,28 @@ Evidence
+ var participantKeys = [
+
+ "Komagataeibacter",
+
+ "Gluconobacter",
+
+ "Pichia",
+
+ "Brettanomyces"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
(function() {
var intId = "interaction:1";
- var intType = "COLONIZATION_FACILITATION";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
@@ -1214,7 +1274,7 @@ Evidence
processes.push("biofilm formation");
- var evidenceCount = 1;
+ var evidenceCount = 2;
nodes.push({
id: intId,
@@ -1227,18 +1287,30 @@ Evidence
});
- var srcKey = "Komagataeibacter";
- if (taxonNodeIds[srcKey]) {
- links.push({ source: taxonNodeIds[srcKey], target: intId });
- }
+ var participantKeys = [
+
+ "Komagataeibacter",
+
+ "Gluconobacter",
+
+ "Pichia",
+
+ "Brettanomyces"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
})();
(function() {
var intId = "interaction:2";
- var intType = "NICHE_PARTITIONING";
+ var intType = "UNKNOWN";
var metabolites = [];
var processes = [];
@@ -1251,7 +1323,7 @@ Evidence
nodes.push({
id: intId,
- label: "Growth-Condition Dependent Accessory Recruitment",
+ label: "Growth-Condition Dependent Community Composition",
type: "interaction",
interactionType: intType,
metabolites: metabolites,
@@ -1262,6 +1334,23 @@ Evidence
+ var participantKeys = [
+
+ "Komagataeibacter",
+
+ "Gluconobacter",
+
+ "Pichia",
+
+ "Brettanomyces"
+
+ ];
+ participantKeys.forEach(function(key) {
+ if (taxonNodeIds[key]) {
+ links.push({ source: taxonNodeIds[key], target: intId });
+ }
+ });
+
})();
diff --git a/history/records/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom/2026-10-06T201911Z-codex-4edaec.yaml b/history/records/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom/2026-10-06T201911Z-codex-4edaec.yaml
new file mode 100644
index 000000000..59e960736
--- /dev/null
+++ b/history/records/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom/2026-10-06T201911Z-codex-4edaec.yaml
@@ -0,0 +1,25 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml
+ slug: Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom
+session:
+ id: 2026-10-06T201911Z-codex-4edaec
+ timestamp: '2026-10-06T20:19:11Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1540
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Bound KZ catabolic roles to the reported assays and flag unresolved corrigendum
+ verification.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml
diff --git a/history/records/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture/2026-10-06T201911Z-codex-e2d63d.yaml b/history/records/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture/2026-10-06T201911Z-codex-e2d63d.yaml
new file mode 100644
index 000000000..85e751e0b
--- /dev/null
+++ b/history/records/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture/2026-10-06T201911Z-codex-e2d63d.yaml
@@ -0,0 +1,24 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml
+ slug: Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture
+session:
+ id: 2026-10-06T201911Z-codex-e2d63d
+ timestamp: '2026-10-06T20:19:11Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1542
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Expose the unresolved empty Komagataella-E. coli causal biosynthesis graph.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml
diff --git a/history/records/Kombucha_KMC_IMBG1_Fermentation_Community/2026-10-06T201911Z-codex-36fc6c.yaml b/history/records/Kombucha_KMC_IMBG1_Fermentation_Community/2026-10-06T201911Z-codex-36fc6c.yaml
new file mode 100644
index 000000000..e593ad559
--- /dev/null
+++ b/history/records/Kombucha_KMC_IMBG1_Fermentation_Community/2026-10-06T201911Z-codex-36fc6c.yaml
@@ -0,0 +1,25 @@
+history_version: 1
+target:
+ kind: record
+ path: kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml
+ slug: Kombucha_KMC_IMBG1_Fermentation_Community
+session:
+ id: 2026-10-06T201911Z-codex-36fc6c
+ timestamp: '2026-10-06T20:19:11Z'
+ actors:
+ - type: ai_agent
+ name: codex
+ model: unspecified
+ agent_tool: codex
+links:
+ issues:
+ - https://github.com/CultureBotAI/CommunityMech/issues/1539
+events:
+- type: EDIT
+ outcome: changed
+ sections:
+ - interactions
+ - discussions
+ summary: Qualify KMC pellicle cooperation and remove the unsupported recruitment-to-mutualism
+ arrow.
+ details: Source-based self-adversarial review. reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml
diff --git a/kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml b/kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml
index 12c70ddff..abcf4a163 100644
--- a/kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml
+++ b/kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml
@@ -150,41 +150,43 @@ taxonomy:
Supports the metagenome-inferred cadmium-stress response assigned to
SZ-3.
ecological_interactions:
-- name: SZ-3 to CW-D3T phenanthrene-mineralization division of labor
- description: >-
- Arthrobacter sp. SZ-3 supplied stronger upstream catalytic activity,
- measured as 50% higher 2H1N conversion, whereas Klebsiella sp. CW-D3T
- dominated downstream mineralization with more than 80% contribution in the
- biomass-normalized enzyme activity assays.
- interaction_type: NICHE_PARTITIONING
- scope: PAIRWISE
- source_taxon:
- preferred_term: Arthrobacter sp. SZ-3
- term:
- id: NCBITaxon:1663
- label: Arthrobacter
- target_taxon:
- preferred_term: Klebsiella sp. CW-D3T
- term:
- id: NCBITaxon:570
- label: Klebsiella
+- name: Assay-Inferred Phenanthrene Catabolic Division Of Labor
+ description: Under 25 mg/L cadmium stress, the KZ pair showed better phenanthrene degradation and mineralization
+ than the monocultures. Biomass-normalized enzyme assays assign stronger upstream 2H1N conversion to Arthrobacter
+ sp. SZ-3 and a dominant downstream mineralization contribution to Klebsiella sp. CW-D3T. PARTIAL - these complementary
+ activities support a division-of-labor model, not a resolved donor-to-recipient transfer or necessary mediation.
+ The linked corrigendum and complete assay Methods remain unverified.
+ scope: COMMUNITY_LEVEL
metabolites:
- preferred_term: phenanthrene
term:
id: CHEBI:28851
label: phenanthrene
evidence:
+ - reference: PMID:41365368
+ supports: PARTIAL
+ evidence_source: IN_VITRO
+ snippet: 'Through biomass-normalized enzyme activity assays, we uncovered a structured division of labor: SZ-3
+ exhibited superior upstream catalytic activity (50 % higher 2H1N conversion), while CW-D3T dominated downstream
+ mineralization (>80 % contribution).'
+ explanation: Supports complementary assay-inferred roles; does not establish a directed interstrain transfer.
+ Complete Methods and the linked corrigendum remain unread.
- reference: PMID:41365368
supports: SUPPORT
evidence_source: IN_VITRO
- snippet: >-
- Through biomass-normalized enzyme activity assays, we uncovered a
- structured division of labor: SZ-3 exhibited superior upstream catalytic
- activity (50 % higher 2H1N conversion), while CW-D3T dominated downstream
- mineralization (>80 % contribution).
- explanation: >-
- Supports complementary upstream and downstream phenanthrene-catabolism
- roles for the two KZ members.
+ snippet: which synergistically enhanced phenanthrene (PHE) degradation and mineralization under cadmium stress
+ (25 mg/L Cd2+), outperforming monocultures by 1.2-1.9-fold.
+ explanation: Preserves the reported positive consortium-versus-monoculture outcome without assigning its necessary
+ mediator.
+ participating_taxa:
+ - preferred_term: Klebsiella sp. CW-D3T
+ term:
+ id: NCBITaxon:570
+ label: Klebsiella
+ - preferred_term: Arthrobacter sp. SZ-3
+ term:
+ id: NCBITaxon:1663
+ label: Arthrobacter
environmental_factors:
- name: Cadmium co-contamination stress
value: '25'
@@ -237,23 +239,42 @@ external_resources:
explanation: Lists the primary publication for the KZ consortium.
discussions:
- discussion_id: kz_cultivation_and_inoculation_details
- prompt: >-
- Which growth medium, inoculation ratio, and initial phenanthrene
- concentration were used to assemble and assay the KZ consortium?
+ prompt: Which growth medium, inoculation ratio, and initial phenanthrene concentration were used to assemble and
+ assay the KZ consortium?
kind: KNOWLEDGE_GAP
status: OPEN
attaches_to:
- engineering_design#assembly_strategy
- rationale: >-
- The PubMed abstract identifies the two KZ members, the 25 mg/L cadmium
- stressor, and the phenanthrene-mineralization phenotype, but it does not
- expose the medium recipe, inoculum composition, or phenanthrene dose needed
- for a fully reproducible cultivation record.
+ rationale: The PubMed abstract identifies the two KZ members, the 25 mg/L cadmium stressor, and the phenanthrene-mineralization
+ phenotype, but it does not expose the medium recipe, inoculum composition, or phenanthrene dose needed for a
+ fully reproducible cultivation record.
posed_by: codex
posed_date: '2026-09-11'
+- discussion_id: kz_correction_and_transfer_verification
+ prompt: What does the corrigendum change, and which transfers mediate KZ performance?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Assay-Inferred Phenanthrene Catabolic Division Of Labor
+ rationale: 'The complete abstract and public publisher preview support positive KZ outcomes and assay-inferred
+ upstream/downstream roles. Full enzyme Methods, supplements and tracer or selective perturbation evidence were
+ not read. PMID:41456976 / doi:10.1016/j.biortech.2025.133853 is a linked corrigendum; the official publisher
+ API supplied metadata only, not its body. Do not assume the correction is biologically immaterial or infer expression
+ from metagenomic gene content. #1541 tracks unresolved verification. Keep this record needs_research after the
+ bounded #1540 repair. Existing medium/inoculation questions remain open; routine LB/MSM mentioned in the preview
+ is not a verified co-contamination assay recipe.'
+ posed_by: codex
+ posed_date: '2026-10-06'
metals_present: []
rare_earth_elements_present: []
metal_relevance: SIGNIFICANT
metal_notes: >-
Cadmium is a reported 25 mg/L co-stressor in the KZ phenanthrene assay; the
current MetalElementEnum does not include cadmium as an enum value.
+curation_history:
+- timestamp: '2026-10-06T20:19:10Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Bound KZ catabolic roles to the reported assays and flag unresolved corrigendum verification. Issue
+ #1540; reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml'
+ llm_assisted: true
diff --git a/kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml b/kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml
index a1b81bd0d..8cf2780c9 100644
--- a/kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml
+++ b/kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml
@@ -164,23 +164,43 @@ external_resources:
co-inducible biosynthesis coculture.
discussions:
- discussion_id: kphaffii_ecoli_relayed_intermediate
- prompt: >-
- Which biosynthetic intermediate or intermediates pass between K. phaffii
- and E. coli during simvastatin and naringenin production?
+ prompt: Which biosynthetic intermediate or intermediates pass between K. phaffii and E. coli during simvastatin
+ and naringenin production?
kind: KNOWLEDGE_GAP
status: OPEN
attaches_to:
- engineering_design#assembly_strategy
- rationale: >-
- The abstract reports relayed synthesis and single-signal co-induction in
- coculture, but the accessible cache does not identify the exchanged
- metabolite or assign each reporter pathway segment to K. phaffii versus
+ rationale: The abstract reports relayed synthesis and single-signal co-induction in coculture, but the accessible
+ cache does not identify the exchanged metabolite or assign each reporter pathway segment to K. phaffii versus
E. coli.
posed_by: codex
posed_date: '2026-09-11'
+- discussion_id: komagataella_ecoli_causal_graph_extension
+ prompt: Which strain-resolved relays and induction responses support a causal biosynthesis graph?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions
+ - engineering_design
+ rationale: 'The abstract and public publisher Introduction/section previews report compatible co-growth, common-signal
+ induction and relayed simvastatin/naringenin production. A design without engineered population-balancing interactions
+ does not prove biological neutralism; sharing an induction signal is not metabolite cross-feeding. Monacolin
+ J acid and an acyl donor are discussed, but exact chassis/construct assignments, transfer controls and full
+ Methods remain unresolved. #1542 tracks the empty graph as needs_research, not absent biology. A reviewed one-community
+ LITERATURE dry run contains 7,457 characters; zero provider submissions or credits. Specifically authorized
+ research and primary verification are needed before adding new nodes/arrows. Preserve the existing intermediate-assignment
+ discussion and canonical species IDs.'
+ posed_by: codex
+ posed_date: '2026-10-06'
metals_present: []
rare_earth_elements_present: []
metal_relevance: NOT_APPLICABLE
metal_notes: >-
No metal or rare-earth processing role is reported for the
K. phaffii-E. coli co-inducible biosynthesis coculture.
+curation_history:
+- timestamp: '2026-10-06T20:19:10Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Expose the unresolved empty Komagataella-E. coli causal biosynthesis graph. Issue #1542; reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml'
+ llm_assisted: true
diff --git a/kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml b/kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml
index 412e6ec36..c9587aaa0 100644
--- a/kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml
+++ b/kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml
@@ -104,10 +104,11 @@ taxonomy:
snippet: Brettanomyces/Dekkera and Pichia (including former Issatchenkia) were dominant
explanation: Supports Brettanomyces/Dekkera as a dominant yeast lineage in KMC-IMBG1.
ecological_interactions:
-- name: Yeast-Acetobacter Mutualistic Fermentation
- description: The kombucha microbial community is described as a bacteria-yeast mutualistic metabolic
- system, with yeasts and cellulose-forming acetobacteria maintained together in a surface pellicle.
- interaction_type: MUTUALISM
+- name: Proposed Yeast-Acetobacter Metabolic Cooperation
+ description: HYPOTHESIZED - the source describes bacteria-yeast metabolic cooperation as the general KMC model.
+ KMC-IMBG1 cultures contain acetobacteria and yeasts, but this composition/microscopy study does not selectively
+ demonstrate exchanged metabolites or reciprocal growth benefits. The four named core genera represent a larger,
+ condition-dependent assemblage, not an exhaustive identical membership in every culture.
scope: COMMUNITY_LEVEL
biological_processes:
- preferred_term: fermentation
@@ -120,62 +121,116 @@ ecological_interactions:
label: biological process involved in interspecies interaction between organisms
evidence:
- reference: PMID:26061774
- supports: SUPPORT
+ supports: PARTIAL
evidence_source: IN_VITRO
snippet: mutualistic metabolic cooperation of pro- and eukaryotic microorganisms
- explanation: Supports bacteria-yeast mutualistic metabolic cooperation in KMC.
-- name: Cellulose Pellicle Community Structuring
- description: Cellulose-producing acetobacteria create a surface pellicle that encloses the mixed yeast
- and bacterial community, physically structuring biochemical interactions.
- interaction_type: COLONIZATION_FACILITATION
- scope: COMMUNITY_LEVEL
- source_taxon:
- preferred_term: Komagataeibacter
+ explanation: Introductory cooperation model, not a partner-removal, rescue or reciprocal-benefit experiment
+ in this study.
+ participating_taxa:
+ - preferred_term: Komagataeibacter
term:
id: NCBITaxon:1434011
label: Komagataeibacter
+ - preferred_term: Gluconobacter
+ term:
+ id: NCBITaxon:441
+ label: Gluconobacter
+ - preferred_term: Pichia
+ term:
+ id: NCBITaxon:4919
+ label: Pichia
+ - preferred_term: Brettanomyces
+ term:
+ id: NCBITaxon:13366
+ label: Brettanomyces
+- name: Cellulose Pellicle Community Structuring
+ description: Cellulose-producing bacteria form the surface pellicle, and microscopy reports mixed bacterial and
+ yeast morphotypes associated with its cellulose web. This preserves physical community structuring. PARTIAL
+ - the proposed facilitation of biochemical cooperation is distinct from observed association and was not selectively
+ tested by disrupting the pellicle.
+ scope: COMMUNITY_LEVEL
biological_processes:
- preferred_term: biofilm formation
term:
id: GO:0042710
label: biofilm formation
downstream:
- - target: Yeast-Acetobacter Mutualistic Fermentation
- description: The cellulose pellicle encloses the mixed yeast-acetobacter
- culture at the liquid surface, facilitating the close biochemical
- interplay that maintains kombucha fermentation.
+ - target: Proposed Yeast-Acetobacter Metabolic Cooperation
+ description: HYPOTHESIZED - pellicle enclosure could facilitate bacteria-yeast biochemical cooperation through
+ spatial association, as explicitly proposed in the source Introduction. Microscopy supports association, not
+ a selective test that pellicle formation mediates reciprocal benefit.
evidence:
- reference: doi:10.1186/s13568-015-0124-5
supports: SUPPORT
evidence_source: IN_VITRO
snippet: cellulose-based pellicles created by the cellulose-producing bacteria
- explanation: Supports acetobacterial cellulose pellicles as a structuring feature of the community.
-- name: Growth-Condition Dependent Accessory Recruitment
- description: KMC-IMBG1 maintained a stable acetobacterial core but shifted accessory bacteria and yeast
- composition across sterile sweetened tea, nonsterile sweetened tea, honey-supplemented tea, and
- cabbage-brine hybrid microenvironments.
- interaction_type: NICHE_PARTITIONING
+ explanation: Supports cellulose pellicle formation and community structuring, not demonstrated reciprocal growth
+ benefits.
+ - reference: PMID:26061774
+ supports: PARTIAL
+ evidence_source: IN_VITRO
+ snippet: Close biochemical interplay between yeasts and bacteria was facilitated by enclosing the mixed community
+ within cellulose-based pellicles
+ explanation: Source-explicit introductory spatial-facilitation model supporting the retained hypothetical arrow;
+ not a selective mediation experiment.
+ participating_taxa:
+ - preferred_term: Komagataeibacter
+ term:
+ id: NCBITaxon:1434011
+ label: Komagataeibacter
+ - preferred_term: Gluconobacter
+ term:
+ id: NCBITaxon:441
+ label: Gluconobacter
+ - preferred_term: Pichia
+ term:
+ id: NCBITaxon:4919
+ label: Pichia
+ - preferred_term: Brettanomyces
+ term:
+ id: NCBITaxon:13366
+ label: Brettanomyces
+- name: Growth-Condition Dependent Community Composition
+ description: Culture and 16S/ITS profiles change across sterile or nonsterile sweetened tea, honey tea and the
+ cabbage-brine hybrid, with relatively stable acetobacterial membership and more variable yeast composition.
+ Lactobacilli likely introduced with cabbage brine persisted through passages. PARTIAL - active recruitment and
+ added fermentative capacity remain proposed; relative sequence profiles do not establish absolute growth, niche
+ partitioning or reciprocal benefit.
scope: COMMUNITY_LEVEL
biological_processes:
- preferred_term: biological process involved in interspecies interaction between organisms
term:
id: GO:0044419
label: biological process involved in interspecies interaction between organisms
- downstream:
- - target: Yeast-Acetobacter Mutualistic Fermentation
- description: Growth-condition shifts can recruit accessory bacteria such as
- lactobacilli that may contribute to the broader KMC fermentative capacity.
evidence:
- reference: PMID:26061774
supports: SUPPORT
evidence_source: IN_VITRO
snippet: The community composition was dependent on the growth conditions
- explanation: Supports growth-condition-dependent shifts in KMC composition.
+ explanation: Supports condition-associated community composition, not demonstrated ecological niche partitioning.
- reference: PMID:26061774
supports: SUPPORT
evidence_source: IN_VITRO
snippet: bacterial core component in nsBTS remained the same
- explanation: Supports a relatively stable bacterial core despite growth-condition changes.
+ explanation: Supports bacterial core continuity in nsBTS, not identical abundance or a fixed complete roster
+ across all conditions.
+ participating_taxa:
+ - preferred_term: Komagataeibacter
+ term:
+ id: NCBITaxon:1434011
+ label: Komagataeibacter
+ - preferred_term: Gluconobacter
+ term:
+ id: NCBITaxon:441
+ label: Gluconobacter
+ - preferred_term: Pichia
+ term:
+ id: NCBITaxon:4919
+ label: Pichia
+ - preferred_term: Brettanomyces
+ term:
+ id: NCBITaxon:13366
+ label: Brettanomyces
cultivation_setup:
- cultivation_mode: BATCH
operating_temperature: 28.0
@@ -356,3 +411,29 @@ related_ingredients:
snippet: for people with lactose intolerance
explanation: Names lactose in the context of kombucha as a non-dairy substitute for the intolerant.
metal_relevance: NOT_APPLICABLE
+discussions:
+- discussion_id: kmc_structure_composition_and_cooperation
+ prompt: Which exchanges and benefits are mediated by the KMC pellicle or accessory members?
+ kind: KNOWLEDGE_GAP
+ status: OPEN
+ attaches_to:
+ - ecological_interactions#Proposed Yeast-Acetobacter Metabolic Cooperation
+ - ecological_interactions#Cellulose Pellicle Community Structuring
+ - ecological_interactions#Growth-Condition Dependent Community Composition
+ rationale: 'Retain the source-explicit pellicle-to-cooperation model as HYPOTHESIZED, with physical association
+ distinct from selective mediation. Remove the accessory-composition-to-mutualism arrow: possible fermentation
+ capacity does not establish reciprocal benefit among the canonical core genera. Positive pellicle formation,
+ composition changes and persistence of probable cabbage-derived lactobacilli remain represented. Read the full
+ primary main text and main/supplement captions, not original figure pixels, Table 1 numerical cells, supplementary
+ PDF or raw sequences. Strain-resolved transfer and selective pellicle/accessory perturbations remain open questions.
+ Canonical membership is preserved as a partial core representation; separate non-graph cultivation/ingredient
+ claims remain unresolved under #1543.'
+ posed_by: codex
+ posed_date: '2026-10-06'
+curation_history:
+- timestamp: '2026-10-06T20:19:10Z'
+ curator: codex
+ action: REVIEW_CAUSAL_GRAPH
+ changes: 'Qualify KMC pellicle cooperation and remove the unsupported recruitment-to-mutualism arrow. Issue #1539;
+ reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml'
+ llm_assisted: true
diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md
index dcf93d58b..921e80a4e 100644
--- a/reports/causal_graph_review/README.md
+++ b/reports/causal_graph_review/README.md
@@ -5,6 +5,27 @@ 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`.
+## Batch60: KZ, KMC And Co-inducible Biosynthesis
+
+[Decisions](decisions/20261006-kz-kmc-komagataella-batch60.yaml),
+[validation](validation-20261006-batch60.json) and
+[self-adversarial review](adversarial-review-20261006-batch60.yaml) account for
+four original nodes and two arrows, plus the empty Komagataella-E. coli graph.
+KZ retains positive outcomes and assay-inferred complementary roles without
+asserting directed strain transfer. Its unread corrigendum and complete mechanism
+verification remain `needs_research` under #1541.
+
+KMC retains all three nodes and one source-explicit pellicle/cooperation arrow as
+`HYPOTHESIZED`; accessory composition is not established reciprocal benefit.
+Its full primary main text and captions were read, not original images, numerical
+Table 1 cells or supplementary PDF. Non-graph metadata #1543 remains open.
+
+Komagataella remains `needs_research` under #1542. Its reviewed one-community
+Edison dry run contains 7,457 characters, with no paid submission or credits.
+The public primary preview is not complete Methods or verified strain/pathway
+assignment. All 920 reference caches are unchanged. Repairs #1539 and #1540 await
+protected-main merge; the research and metadata issues stay open until resolved.
+
## Batch59: Kefir Flavor And Dairy-Panel Gap
[Decisions](decisions/20261006-kefir-dairy-batch59.yaml),
diff --git a/reports/causal_graph_review/adversarial-review-20261006-batch60.yaml b/reports/causal_graph_review/adversarial-review-20261006-batch60.yaml
new file mode 100644
index 000000000..2fa7a23cf
--- /dev/null
+++ b/reports/causal_graph_review/adversarial-review-20261006-batch60.yaml
@@ -0,0 +1,179 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: 4aed48731d913b28b88cd42e5bf8e425f4c8c2d9
+scope:
+- kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml
+- kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml
+- kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml
+decision_ledger: reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml
+validation_report: reports/causal_graph_review/validation-20261006-batch60.json
+findings:
+- issue: 1539
+ severity: P2
+ status: addressed_in_this_change
+ finding: KMC pellicle model versus observed structure and unsupported recruitment endpoint.
+ disposition: Close only after protected-main merge.
+- issue: 1540
+ severity: P2
+ status: addressed_in_this_change
+ finding: KZ assay roles encoded as resolved pairwise transfer.
+ disposition: Close only after protected-main merge.
+- issue: 1541
+ severity: P2
+ status: unresolved_research
+ finding: KZ corrigendum and complete mechanism verification.
+ disposition: Keep OPEN; needs_research.
+- issue: 1542
+ severity: P2
+ status: unresolved_research
+ finding: Komagataella empty causal graph and exact pathway/chassis evidence.
+ disposition: Keep OPEN; needs_research.
+- issue: 1543
+ severity: P2
+ status: unresolved_non_graph
+ finding: KMC cultivation and ingredient metadata.
+ disposition: Keep OPEN after graph repair merge.
+adversarial_checks:
+- Whole three records read; all four original nodes and both arrows assessed, plus the absent Komagataella
+ interaction field. Missing structure is not certified absence of biology.
+- KZ retains positive consortium outcomes and complementary biomass-normalized assays. Community-level
+ scope with both exact canonical strain labels removes unverified SZ-3-to-CW-D3T transfer direction without
+ erasing the division-of-labor interpretation. No new node or arrow.
+- KZ full Methods and linked correction body remain unread. PubMed identifies PMID41456976; official publisher
+ API returns core metadata only and openaccessArticle=false. Third-party OA labels do not establish access
+ or scientific correction content. Keep needs_research under1541; do not assume the correction is immaterial.
+- KMC source Introduction explicitly states pellicle-supported biochemical interplay. Retain that existing
+ arrow as HYPOTHESIZED, grounded by a primary-matched excerpt, while distinguishing observed pellicle/morphotype
+ association from selective mediation of reciprocal benefit.
+- Remove the accessory-composition-to-mutualism arrow because potential fermentation capacity is not measured
+ reciprocal benefit among the four core genera. Preserve positive composition changes and probable cabbage-derived
+ lactobacillus persistence; do not convert relative read proportions into absolute growth or niche partitioning.
+- KMC four canonical genera are a partial core representation, not every organism in every treatment.
+ No canonical taxonomy edit. Non-graph assertions about separately cultivating members, categorical shaking
+ effects and ingredients remain separately unresolved under1543.
+- Komagataella public abstract and publisher Introduction/section previews report compatible co-growth,
+ common induction and biosynthetic relays. Lack of engineered population-balancing crosstalk is not biological
+ neutralism; common induction is not cross-feeding. Exact host/construct assignments and full Methods
+ remain unresolved; do not borrow unmatched monoculture titres as experimental controls.
+- Komagataella stays needs_research under1542, with zero nodes/arrows and its originally absent interaction
+ field preserved. The reviewed one-community LITERATURE dry-run query contains7457 characters; zero provider
+ submissions or credits. No report or completed extension is claimed.
+- KMC full extracted primary main text and main/supplement captions were read. Original figure pixels,
+ Table1 numerical cells, supplementary PDF and raw sequences were not inspected. KZ/Komagataella complete
+ abstracts plus selected public publisher previews were read, not complete primary bodies. No access-control
+ workaround.
+- Full biological diffs, exact participant registry and focused test assertions reviewed.457 other record
+ hashes and920 cache hashes unchanged; raw non-graph blocks preserved. Both-root census explicitly measures
+ KZ scope change, with no auditor-rule edit.36 network warnings preserved and zero structural defects.
+- Actual per-record schema/strict/term/reference/snippet/rank/history gates and regression outputs/digests
+ recorded. Repeat renders and456-page exact description parser passed, not browser screenshots. Post-commit
+ docs-current is a separate publication gate.
+- 839 all-state issue titles/bodies and19 scoped ignored/hidden local matches searched; all three matching
+ issue bodies read, not every comment/PR or local file. Repair1539/1540 addressed but OPEN until protected-main
+ merge; research1541/1542 and metadata1543 remain unresolved. Exact-head self-review is COMMENT, not
+ independent approval.
+verification:
+ combined_regressions: 552 passed in 188.20s (0:03:08)
+ new_regression_tests: 8
+ schema_strict_terms_history: Passed with actual output digests
+ references: CLI Total checks counts reported issues, not executed checks. Cache MATCH does not prove
+ scientific entailment or complete provenance. All920 caches unchanged. KMC retained-arrow fragment
+ independently matched to fresh publisher primary text. KZ correction body and full mechanism1541,
+ empty Komagataella graph1542 and KMC non-graph1543 remain unresolved. Existing476/1091/1095 limitations
+ remain.
+ snippet_counts_by_record:
+ kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml:
+ MATCH: 13
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml:
+ MATCH: 22
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml:
+ MATCH: 7
+ RENDERING: 0
+ ASSEMBLED: 0
+ WEAK: 0
+ MISMATCH: 0
+ NOCONTENT: 0
+ network:
+ existing_findings_preserved: 36
+ added_findings: {}
+ removed_findings: {}
+ black_ruff_diff: passed
+ tested_file_sha256:
+ reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml: 1e64150e4f7f3cde4b39dfc6bd97f2984ac3fcf26486b31bdbcdc710e2874a69
+ tests/test_causal_review_batch60.py: dd1e198d098c1fb74896d4820253859100932c708930bd55c287af99174e2133
+ tests/test_participating_taxa.py: 27d2df501648e404a9d722844d513ebb29719034fc911348055d161842bf4a02
+ kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml: 65275177a514ceb42276f4f416da7b727e5200b3a8f79fb1510cf6c49bbd083c
+ kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml: 9df19ae1add5269721799ee3a8328edf0531e314c15e3a3abc71a2e4e659fa40
+ kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml: f4024c9731b98eac233911893d44568c3a9097460fb1aa3fb93fced0647cb746
+ reports/causal_graph_review/README.md: 872013dbfec5086ef9db848b4f3d3578c68366efe4c5a7523f641bb9d50e0bf9
+ unchanged_caches: 920
+ edison_dry_run:
+ path: research/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-edison-literature-causal-meta.yaml
+ sha256: 753bcec2844b7256e2790a9907e2c2e2d0d18d3a01fe3d39dbd9d79db395b328
+ query_sha256: e429f0f613ac80c47e2e8ddfd83510abb8f87ba13c495f0d19a087207a5c33bb
+ query_chars: 7457
+ job: LITERATURE
+ status: dry-run
+ provider_submissions: 0
+ credits_spent: 0
+ paid_authorization: specific one-job request pending
+ post_commit_docs_current: Separate publication gate, not asserted before commit.
+participant_census:
+ measurements:
+ baseline:
+ records: 460
+ with_community_level: 390
+ mixed: 124
+ community_level_only: 266
+ taxa: 1505
+ credited_solely_by_the_rule: 1236
+ current:
+ records: 460
+ with_community_level: 391
+ mixed: 124
+ community_level_only: 267
+ taxa: 1507
+ credited_solely_by_the_rule: 1238
+ interpretation: KZ changes one pairwise interpretation to an explicitly two-member community-level observation;
+ KMC narrows all three nodes to its four canonical core genera. Canonical taxonomy is unchanged. Census
+ CL records390 to391, CL-only266 to267, taxa1505 to1507 and solely credited1236 to1238; no auditor-rule
+ change.
+corpus:
+ records: 460
+ nodes: 1458
+ edges: 651
+ review_status_counts:
+ needs_research: 21
+ pending: 245
+ reviewed: 194
+limitations:
+- All four original nodes and two arrows assessed; one explicit source model retained as HYPOTHESIZED
+ and one unsupported endpoint removed. No new causal structure.
+- KZ positive performance and assay-inferred roles preserved. Primary full Methods/supplements and correction
+ body unavailable; needs_research under1541. Publisher API metadata contradicts third-party OA labels;
+ no access-control bypass.
+- KMC full primary main text and main/supplement captions read. Numerical Table 1 cells, original figures,
+ supplementary PDF and raw data not inspected. Cooperation is a source model, not demonstrated reciprocal
+ mediation.
+- Komagataella abstract and public publisher Introduction/section previews read, not full Methods/supplements.
+ Empty graph remains needs_research under1542; no new nodes/arrows. One reviewed 7457-character Edison
+ dry run, zero provider submissions or credits.
+- Canonical taxa and raw non-graph blocks preserved, not recertified. KMC metadata1543 and research1541/1542
+ remain OPEN after graph repair merge.
+- All920 reference caches unchanged. Primary-matched graph fragment does not certify full historical cache
+ provenance or SupportingReference coverage476; Linux DOI lookup1091 and writer artifact1095 remain limitations.
+- Deduplication searched839 all-state issue titles/bodies and19 scoped ignored/hidden local matches; all
+ three matching issue bodies read, not every comment/PR or local match.
+- Self-adversarial review is COMMENT, not independent approval. Repair1539/1540 remain OPEN until protected-main
+ merge.
diff --git a/reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml b/reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml
new file mode 100644
index 000000000..35dbf1802
--- /dev/null
+++ b/reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml
@@ -0,0 +1,206 @@
+reviewer: codex
+review_mode: source_based_self_adversarial_review
+independent_approval: false
+base_commit: 4aed48731d913b28b88cd42e5bf8e425f4c8c2d9
+baseline_commit: 4aed48731d913b28b88cd42e5bf8e425f4c8c2d9
+base_tree: 06928b0ddcfb76a9d528a964943f9c9e8786cf41
+pre_source_baseline_sha256: ab4d9c40428b46f7bb6cc997595de77fbf97ec46189ca332940edecc90774bbf
+issues:
+- 1539
+- 1540
+unresolved_non_graph_issues:
+- 1543
+unresolved_research_issues:
+- 1541
+- 1542
+issue_deduplication:
+ all_state_issue_titles_and_bodies: 839
+ ignored_hidden_local_search: true
+ matching_local_files: 19
+ matching_issues:
+ - 1091
+ - 595
+ - 594
+reference_cache_original_hashes:
+ references_cache/PMID_41365368.txt: 181b208bcf0f0961381d266a85ae94398ce40dfada4e0885c1a80a3b882ff900
+ references_cache/PMID_42492893.txt: 8e2d768ba6c299346f4e718a57ee8b69fdb9a09769bbb13ba9dd2d034f4cb015
+ references_cache/PMID_26061774.md: 41972c5446b8dabb15959a06bd15acefab8c640c60b9feb415e444d7c6793b4f
+ references_cache/PMID_26061774.txt: 8df7889382fec72eb87e399fd890913cb4f0d330a59fd31a4638def08af61828
+ references_cache/doi_10.1186_s13568-015-0124-5.txt: 24ea6e18e130e868a17112d4503e7d9b7a2337a7bb8501662e21df88a336ec09
+ references_cache/europepmc_10.1186_s13568-015-0124-5.txt: 6e68b9fda9968ec36956406ff5205930f7a3eab47e57e7320d90244debeeae4f
+primary_artifacts:
+ /private/tmp/communitymech-batch60/kombucha-primary.html: d9510aedb4e415469d8568c4474b0f64f8f4dac15c8f58ef41336be82ee3be56
+ /private/tmp/communitymech-batch60/kombucha-primary.txt: 7fd7c46845afdfea0743fd39b6f10ee06f8455153f81f70d361d96d242704315
+ /private/tmp/communitymech-batch60/kz-indexed-primary.txt: ee5dc9e5e44dd3d9f49d340b103f8552f9649d1473832c34791f53409abb3b35
+ /private/tmp/communitymech-batch60/kz-correction-crossref.json: b76e5ed2cca7b4fe4e2b437ef281802c132589686d470f38b9f6ca05696e555b
+ /private/tmp/communitymech-batch60/kz-correction-primary.xml: 96f5611f4df555213ab98248c778172ada028c941e5cdee3b067000cdb4886ec
+ /private/tmp/communitymech-batch60/komagataella-indexed-primary.txt: 76a968c26f974b084b3b61102f6dcda072a308615999e3144d2cc66aad8c517b
+primary_urls:
+- https://link.springer.com/article/10.1186/s13568-015-0124-5
+- https://pubmed.ncbi.nlm.nih.gov/41365368/
+- https://pubmed.ncbi.nlm.nih.gov/41456976/
+- https://www.sciencedirect.com/science/article/pii/S0960852425017493
+- https://www.sciencedirect.com/science/article/pii/S1096717626001023
+primary_matched_fragment: Close biochemical interplay between yeasts and bacteria was facilitated by enclosing the
+ mixed community within cellulose-based pellicles
+edison_dry_run:
+ path: research/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-edison-literature-causal-meta.yaml
+ sha256: 753bcec2844b7256e2790a9907e2c2e2d0d18d3a01fe3d39dbd9d79db395b328
+ query_sha256: e429f0f613ac80c47e2e8ddfd83510abb8f87ba13c495f0d19a087207a5c33bb
+ query_chars: 7457
+ job: LITERATURE
+ status: dry-run
+ provider_submissions: 0
+ credits_spent: 0
+ paid_authorization: specific one-job request pending
+limitations:
+- All four original nodes and two arrows assessed; one explicit source model retained as HYPOTHESIZED and one unsupported
+ endpoint removed. No new causal structure.
+- KZ positive performance and assay-inferred roles preserved. Primary full Methods/supplements and correction body
+ unavailable; needs_research under1541. Publisher API metadata contradicts third-party OA labels; no access-control
+ bypass.
+- KMC full primary main text and main/supplement captions read. Numerical Table 1 cells, original figures, supplementary
+ PDF and raw data not inspected. Cooperation is a source model, not demonstrated reciprocal mediation.
+- Komagataella abstract and public publisher Introduction/section previews read, not full Methods/supplements. Empty
+ graph remains needs_research under1542; no new nodes/arrows. One reviewed 7457-character Edison dry run, zero
+ provider submissions or credits.
+- Canonical taxa and raw non-graph blocks preserved, not recertified. KMC metadata1543 and research1541/1542 remain
+ OPEN after graph repair merge.
+- All920 reference caches unchanged. Primary-matched graph fragment does not certify full historical cache provenance
+ or SupportingReference coverage476; Linux DOI lookup1091 and writer artifact1095 remain limitations.
+- Deduplication searched839 all-state issue titles/bodies and19 scoped ignored/hidden local matches; all three matching
+ issue bodies read, not every comment/PR or local match.
+- Self-adversarial review is COMMENT, not independent approval. Repair1539/1540 remain OPEN until protected-main
+ merge.
+records:
+- path: kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml
+ id: CommunityMech:000344
+ original_sha256: 1d9b711fa86c876ec1657a114242ebba6cb14cd8be5323a25baeae6511c9b520
+ record_sha256: 65275177a514ceb42276f4f416da7b727e5200b3a8f79fb1510cf6c49bbd083c
+ status: needs_research
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml
+ scope: Whole record and every original node/arrow, including empty-graph assessment.
+ summary: Bound KZ catabolic roles to the reported assays and flag unresolved corrigendum verification.
+ renamed_nodes:
+ SZ-3 to CW-D3T phenanthrene-mineralization division of labor: Assay-Inferred Phenanthrene Catabolic Division
+ Of Labor
+ node_decisions:
+ - node: Assay-Inferred Phenanthrene Catabolic Division Of Labor
+ rationale: Preserve positive KZ performance and complementary catalytic assays, remove unverified pairwise direction,
+ and keep correction/mechanistic verification pending.
+ removed_node_decisions: []
+ edges_before: []
+ edges_after: []
+ retained_edge_decisions: []
+ removed_edge_decisions: []
+ references:
+ - PMID:41365368
+ - PMID:41456976
+ issues:
+ - 1540
+ - 1541
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom/2026-10-06T201911Z-codex-4edaec.yaml
+ source_review:
+ scope: Complete abstract and public publisher Introduction/section previews; original full Methods, figures,
+ supplements and correction body unread. Official correction API metadata only.
+ cache_provenance_certified: false
+- path: kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml
+ id: CommunityMech:000154
+ original_sha256: 774000556eeff1dbbdb5e1890c5de7d6ee0f0f9e56e40973f2e40b5c61d06960
+ record_sha256: 9df19ae1add5269721799ee3a8328edf0531e314c15e3a3abc71a2e4e659fa40
+ status: reviewed
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml
+ scope: Whole record and every original node/arrow, including empty-graph assessment.
+ summary: Qualify KMC pellicle cooperation and remove the unsupported recruitment-to-mutualism arrow.
+ renamed_nodes:
+ Yeast-Acetobacter Mutualistic Fermentation: Proposed Yeast-Acetobacter Metabolic Cooperation
+ Growth-Condition Dependent Accessory Recruitment: Growth-Condition Dependent Community Composition
+ node_decisions:
+ - node: Proposed Yeast-Acetobacter Metabolic Cooperation
+ rationale: Retain the authors' cooperation model as hypothetical, not measured reciprocal benefit.
+ - node: Cellulose Pellicle Community Structuring
+ rationale: Retain observed pellicle structuring and the explicitly hypothetical spatial-facilitation arrow.
+ - node: Growth-Condition Dependent Community Composition
+ rationale: Retain condition-associated composition and accessory persistence without niche-partitioning or mutualism
+ inference.
+ removed_node_decisions: []
+ edges_before:
+ - source: Cellulose Pellicle Community Structuring
+ target: Yeast-Acetobacter Mutualistic Fermentation
+ description: The cellulose pellicle encloses the mixed yeast-acetobacter culture at the liquid surface, facilitating
+ the close biochemical interplay that maintains kombucha fermentation.
+ - source: Growth-Condition Dependent Accessory Recruitment
+ target: Yeast-Acetobacter Mutualistic Fermentation
+ description: Growth-condition shifts can recruit accessory bacteria such as lactobacilli that may contribute
+ to the broader KMC fermentative capacity.
+ edges_after:
+ - source: Cellulose Pellicle Community Structuring
+ target: Proposed Yeast-Acetobacter Metabolic Cooperation
+ description: HYPOTHESIZED - pellicle enclosure could facilitate bacteria-yeast biochemical cooperation through
+ spatial association, as explicitly proposed in the source Introduction. Microscopy supports association, not
+ a selective test that pellicle formation mediates reciprocal benefit.
+ retained_edge_decisions:
+ - source: Cellulose Pellicle Community Structuring
+ target: Proposed Yeast-Acetobacter Metabolic Cooperation
+ rationale: The source explicitly states spatial facilitation; retain the existing arrow as HYPOTHESIZED, not
+ experimentally isolated mediation.
+ removed_edge_decisions:
+ - source: Growth-Condition Dependent Accessory Recruitment
+ target: Yeast-Acetobacter Mutualistic Fermentation
+ rationale: Possible accessory fermentation capacity does not establish reciprocal benefit among the canonical
+ core genera; preserve the hypothesis in prose, not this causal endpoint.
+ references:
+ - PMID:26061774
+ - doi:10.1186/s13568-015-0124-5
+ issues:
+ - 1539
+ - 1543
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ - ecological_interactions
+ curation_events_added: 1
+ history_files:
+ - history/records/Kombucha_KMC_IMBG1_Fermentation_Community/2026-10-06T201911Z-codex-36fc6c.yaml
+ source_review:
+ scope: Full extracted primary main text, Methods, Results, Discussion, main captions and supplement caption.
+ Table 1 numerical cells, original images, supplementary PDF and raw sequences not inspected.
+ cache_provenance_certified: false
+- path: kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml
+ id: CommunityMech:000343
+ original_sha256: e07dcd6b1d7bdfeb955aaca0f93df3aadc7f36b4e83f5869974a44e76c6232d2
+ record_sha256: f4024c9731b98eac233911893d44568c3a9097460fb1aa3fb93fced0647cb746
+ status: needs_research
+ outcome: changed
+ review_file: reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml
+ scope: Whole record and every original node/arrow, including empty-graph assessment.
+ summary: Expose the unresolved empty Komagataella-E. coli causal biosynthesis graph.
+ renamed_nodes: {}
+ node_decisions: []
+ removed_node_decisions: []
+ edges_before: []
+ edges_after: []
+ retained_edge_decisions: []
+ removed_edge_decisions: []
+ references:
+ - PMID:42492893
+ issues:
+ - 1542
+ allowed_changed_fields:
+ - curation_history
+ - discussions
+ curation_events_added: 1
+ history_files:
+ - history/records/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture/2026-10-06T201911Z-codex-e2d63d.yaml
+ source_review:
+ scope: Complete abstract and public publisher Introduction/section previews. Full Methods, original figures,
+ supplements and construct assignments not inspected.
+ cache_provenance_certified: false
diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv
index 11028b690..824d8ceaa 100644
--- a/reports/causal_graph_review/inventory.tsv
+++ b/reports/causal_graph_review/inventory.tsv
@@ -211,9 +211,9 @@ kb/communities/KBase_Models_for_Zahmeeth_Original_PLOS.yaml CommunityMech:000037
kb/communities/KBase_ORT_Workflow_Community_Model.yaml CommunityMech:000038 b4cfa6d608db1e2d04f70537c425d23def58fb2528394a9226b82f4cc609ebf2 3 2 90.0 reports/causal_graph_review/decisions/20261006-three-records-batch56.yaml reviewed
kb/communities/KBase_Synthetic_Bacterial_Community_R2A.yaml CommunityMech:000039 8239899f70763acf1aa6be423b37e77737a7e6367b6203888c96e163e9419753 2 0 65.0 reports/causal_graph_review/decisions/20261006-r2a-batch58.yaml reviewed
kb/communities/Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml CommunityMech:000332 f562c28689b45ec3c53061db80bb3c6f33c4e464fe82b7d2d8236eebf53c383d 4 0 65.0 reports/causal_graph_review/decisions/20261006-kefir-dairy-batch59.yaml reviewed
-kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml CommunityMech:000344 1d9b711fa86c876ec1657a114242ebba6cb14cd8be5323a25baeae6511c9b520 1 0 65.0 pending
-kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml CommunityMech:000343 e07dcd6b1d7bdfeb955aaca0f93df3aadc7f36b4e83f5869974a44e76c6232d2 0 0 0.0 pending
-kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml CommunityMech:000154 774000556eeff1dbbdb5e1890c5de7d6ee0f0f9e56e40973f2e40b5c61d06960 3 2 100.0 pending
+kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml CommunityMech:000344 65275177a514ceb42276f4f416da7b727e5200b3a8f79fb1510cf6c49bbd083c 1 0 55.0 reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml needs_research
+kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml CommunityMech:000343 f4024c9731b98eac233911893d44568c3a9097460fb1aa3fb93fced0647cb746 0 0 0.0 reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml needs_research
+kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml CommunityMech:000154 9df19ae1add5269721799ee3a8328edf0531e314c15e3a3abc71a2e4e659fa40 3 1 80.0 reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml reviewed
kb/communities/LBNL_Brachypodium_Drought_SynCom15.yaml CommunityMech:000088 0b4d516a93f86c8a477d6054c37966acda52632cb36846bce9be93bc235851fb 7 0 75.0 pending
kb/communities/LBNL_Human_Gut_Interaction_SynCom.yaml CommunityMech:000122 3372341a0b7ba1efb0a2d84070e70716f5940225c9f5fbee44f5427e777f7744 3 2 100.0 pending
kb/communities/LBNL_Switchgrass_Soil_SynCom16.yaml CommunityMech:000087 2c5d49aaf802b1455416362350dfe4e62dff6e3c461e31166a8b85d3e0b3eaa0 5 0 75.0 pending
diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json
index da34c0452..5caca5b7b 100644
--- a/reports/causal_graph_review/summary.json
+++ b/reports/causal_graph_review/summary.json
@@ -3,13 +3,13 @@
"semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.",
"records": 460,
"nodes": 1458,
- "edges": 652,
+ "edges": 651,
"records_without_nodes": 8,
"records_without_edges": 156,
"review_status_counts": {
- "needs_research": 19,
- "pending": 248,
- "reviewed": 193
+ "needs_research": 21,
+ "pending": 245,
+ "reviewed": 194
},
"structural_defects": [],
"network_audit": [
diff --git a/reports/causal_graph_review/validation-20261006-batch60.json b/reports/causal_graph_review/validation-20261006-batch60.json
new file mode 100644
index 000000000..057f37368
--- /dev/null
+++ b/reports/causal_graph_review/validation-20261006-batch60.json
@@ -0,0 +1,814 @@
+{
+ "base_commit": "4aed48731d913b28b88cd42e5bf8e425f4c8c2d9",
+ "scope": [
+ "kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml",
+ "kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml",
+ "kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml"
+ ],
+ "reference_validator_version": "0.1.7",
+ "results": [
+ {
+ "check": "Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch60/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-strict.tsv",
+ "kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-strict.log",
+ "log_sha256": "ac67592eb7641779eba8d5931eecdcc19f6d2bb84b146feb497b32c166ba1519",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch60/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-batch60/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-strict.tsv\n"
+ },
+ {
+ "check": "Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-references.log",
+ "log_sha256": "b567f443f551b8e8c1f5d2e8c1a00d80a41d760572857c520306f9d447f102cd",
+ "output_tail": "Validating kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n",
+ "explained_output_tail": "Validating kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n"
+ },
+ {
+ "check": "Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-snippets.log",
+ "log_sha256": "6fd22c7b42f139e3b66a27210ad3d8968c80af940879c7074184305812838cca",
+ "output_tail": "# 13 evidence snippets scanned across 1 files\n MATCH 13\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": "Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-rank.log",
+ "log_sha256": "f6429256a145c02998319fdf6e312f6045c873ea6b6a7ef4cbd08b1f4830f9cd",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000344\",\n \"name\": \"Klebsiella-Arthrobacter KZ Phenanthrene-Cadmium SynCom\",\n \"score\": 55.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 1,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 2,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom/2026-10-06T201911Z-codex-4edaec.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Kombucha_KMC_IMBG1_Fermentation_Community-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Kombucha_KMC_IMBG1_Fermentation_Community-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Kombucha_KMC_IMBG1_Fermentation_Community-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch60/Kombucha_KMC_IMBG1_Fermentation_Community-strict.tsv",
+ "kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Kombucha_KMC_IMBG1_Fermentation_Community-strict.log",
+ "log_sha256": "44d905818ea60d437d582107b10f5253880553c5333e2860258975b89b40cebd",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch60/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-batch60/Kombucha_KMC_IMBG1_Fermentation_Community-strict.tsv\n"
+ },
+ {
+ "check": "Kombucha_KMC_IMBG1_Fermentation_Community-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Kombucha_KMC_IMBG1_Fermentation_Community-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Kombucha_KMC_IMBG1_Fermentation_Community-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Kombucha_KMC_IMBG1_Fermentation_Community-references.log",
+ "log_sha256": "eedce5f0cf8aa3782423e0c2199f82ccd86be485cccb947597c26762f5264cb8",
+ "output_tail": "Validating kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.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/Kombucha_KMC_IMBG1_Fermentation_Community.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": "Kombucha_KMC_IMBG1_Fermentation_Community-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Kombucha_KMC_IMBG1_Fermentation_Community-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": "Kombucha_KMC_IMBG1_Fermentation_Community-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Kombucha_KMC_IMBG1_Fermentation_Community-rank.log",
+ "log_sha256": "3e86f216876fbc6d91a2a3d3b645e8683976fc02d43fd75ea40d5b8c5c4a5d95",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000154\",\n \"name\": \"Kombucha KMC-IMBG1 Fermentation Community\",\n \"score\": 80.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 3,\n \"downstream_edges\": 1,\n \"interaction_evidence\": 5,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Kombucha_KMC_IMBG1_Fermentation_Community-history-0",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/history.yaml",
+ "--target-class",
+ "HistoryRecord",
+ "history/records/Kombucha_KMC_IMBG1_Fermentation_Community/2026-10-06T201911Z-codex-36fc6c.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Kombucha_KMC_IMBG1_Fermentation_Community-history-0.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-schema",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-schema.log",
+ "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de",
+ "output_tail": "No issues found\n"
+ },
+ {
+ "check": "Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-strict",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3",
+ "scripts/validate_strict.py",
+ "--workers",
+ "1",
+ "--out",
+ "/private/tmp/communitymech-batch60/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-strict.tsv",
+ "kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-strict.log",
+ "log_sha256": "2b15b03b063d335e76b52dfc3812077d47236b80f10343c1e40a8694b1e6cc85",
+ "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch60/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-batch60/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-strict.tsv\n"
+ },
+ {
+ "check": "Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-terms",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator",
+ "validate-data",
+ "kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--labels"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-terms.log",
+ "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018",
+ "output_tail": "\u2705 Validation passed\n"
+ },
+ {
+ "check": "Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-references",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator",
+ "validate",
+ "data",
+ "kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml",
+ "-s",
+ "src/communitymech/schema/communitymech.yaml",
+ "--config",
+ "conf/reference_validator.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-references.log",
+ "log_sha256": "be2931cc389c6a7ddd8bb8cf49ddc9f6f67fa122d264246f48b5236a363e3863",
+ "output_tail": "Validating kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_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/Komagataella_Ecoli_Coinducible_Biosynthesis_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": "Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-snippets",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/evidence_snippet_audit.py",
+ "kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml",
+ "--list-mismatch",
+ "--list-nocontent",
+ "--list-rendering",
+ "--list-assembled"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-snippets.log",
+ "log_sha256": "45007c108f9ec8bef530a5471e83cc9e84b78b05e90ad8c19de389a107ed4f60",
+ "output_tail": "# 7 evidence snippets scanned across 1 files\n MATCH 7\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": "Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-rank",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "scripts/rank_causal_graph_readiness.py",
+ "kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml",
+ "--format",
+ "json"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-rank.log",
+ "log_sha256": "b1f6cc44261120ae405fdf2d5f9c603913e5cd408fa6346888d7ef941f27289e",
+ "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000343\",\n \"name\": \"Komagataella-E. coli Co-inducible Biosynthesis Coculture\",\n \"score\": 0.0,\n \"taxonomy\": 2,\n \"connected_taxa\": 0,\n \"disconnected_taxa\": 2,\n \"ecological_interactions\": 0,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 0,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"ecological_interactions\"\n ],\n \"path\": \"kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml\"\n }\n]\n"
+ },
+ {
+ "check": "Komagataella_Ecoli_Coinducible_Biosynthesis_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/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture/2026-10-06T201911Z-codex-e2d63d.yaml"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-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-batch60/inventory.log",
+ "log_sha256": "02bb942a1963465c7a8112a10ebe2cc7ac34124acc7c99d230079a0c3c4413f3",
+ "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\": 1458,\n \"edges\": 651,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 156,\n \"review_status_counts\": {\n \"needs_research\": 21,\n \"pending\": 245,\n \"reviewed\": 194\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-batch60/network.log",
+ "log_sha256": "0955d3471f474fec8dcceb846ff932573d11c9833de73b2b2822241553762186",
+ "output_tail": "{\n \"preferred_term\": \"Legionella MAGs\",\n \"term\": {\n \"id\": \"NCBITaxon:445\",\n \"label\": \"Legionella\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The study detected Legionella-affiliated MAGs and used them in a virulence-gene risk assessment; the source did not assert pathogenicity for a cultured Legionella isolate.\\n\"\n },\n \"abundance_value\": \"Lower-abundance Legionella-affiliated MAGs detected during metagenomic risk assessment.\\n\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41457319\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"COMPUTATIONAL\",\n \"snippet\": \"detection of waterborne pathogens from the Legionella genus\",\n \"explanation\": \"Supports Legionella-affiliated lower-abundance bins as monitored biosafety-relevant members of the consortium.\\n\"\n }\n ]\n },\n \"message\": \"Taxon 'Legionella MAGs' has no interactions\"\n }\n ],\n \"Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom\": [\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Twelve-Strain SynCom Suppression of Sclerotinia Sclerotia\",\n \"interaction_index\": 0,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Trinickia MC Key Contribution to Sclerotia Mortality\",\n \"interaction_index\": 1,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Space_Habitat_SevenMember_Stress_Tolerance_SynCom\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Acinetobacter radioresistens 50V1\",\n \"taxon_id\": \"NCBITaxon:40216\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Acinetobacter radioresistens 50V1\",\n \"term\": {\n \"id\": \"NCBITaxon:40216\",\n \"label\": \"Acinetobacter radioresistens\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate came from the preflight Mars Odyssey Orbiter; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"50V1\",\n \"genome_accession\": \"GCA_002834555.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Acinetobacter radioresistens | 50V1 | Preflight Mars Odyssey Orbiter | \\u2013 | Mccoy et al., 2012 | GCA_002834555.1 | TSYB/TSYA | 37 \\u00b0C | 16\\u201318 h\",\n \"explanation\": \"Identifies A. radioresistens 50V1 as a consortium member and gives its spacecraft-associated source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Acinetobacter radioresistens 50V1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Micrococcus luteus W4-Al-K1\",\n \"taxon_id\": \"NCBITaxon:1270\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Micrococcus luteus W4-Al-K1\",\n \"term\": {\n \"id\": \"NCBITaxon:1270\",\n \"label\": \"Micrococcus luteus\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from an ISS aluminum-case touch array; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"W4-Al-K1\",\n \"genome_accession\": \"GCA_057816565.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Micrococcus luteus | W4-Al-K1 | ISS, Touch Array Aluminum Case | - | Kr\\u00e4mer et al., 2025 | GCA_057816565.1 | NB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies M. luteus W4-Al-K1 as a consortium member and gives its ISS source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Micrococcus luteus W4-Al-K1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"taxon_id\": \"NCBITaxon:64702\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"term\": {\n \"id\": \"NCBITaxon:64702\",\n \"label\": \"Propionibacterium cyclohexanicum\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. cyclohexanicum type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"TA-12T\",\n \"genome_accession\": \"GCA_900111365\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"16859\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Propionibacterium cyclohexanicum | TA-12 T | Spoilt Orange Juice | DSM 16859 T | Kusano et al., 1997 | GCA_900111365 | BHI, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies P. cyclohexanicum TA-12T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Propionibacterium cyclohexanicum TA-12T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas antarctica CMS 35T\",\n \"taxon_id\": \"NCBITaxon:219572\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas antarctica CMS 35T\",\n \"term\": {\n \"id\": \"NCBITaxon:219572\",\n \"label\": \"Pseudomonas antarctica\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. antarctica type strain as a biosafety-level-1 Pseudomonas surrogate.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"CMS 35T\",\n \"genome_accession\": \"GCA_010634845\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"15318\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pseudomonas antarctica | CMS 35 T | Antarctica | DSM 15318 T | Reddy et al., 2004 | GCA_010634845 | TSYB/TSYA | Ambient | 12\\u201316 h\",\n \"explanation\": \"Identifies P. antarctica CMS 35T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n"
+ },
+ {
+ "check": "rank-all",
+ "command": [
+ "just",
+ "rank-causal-graphs"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/rank-all.log",
+ "log_sha256": "d69653cefc25c0719401942991a6616a6ece5cb019a5d885616b481c2b59ad0c",
+ "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-batch60/render.log",
+ "log_sha256": "6be6dfeb9e47171b7569855d3facb0c059b19dbd8f364589f82e0d8a623d46f2",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch60/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch60/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch60/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-batch60/render-repeat.log",
+ "log_sha256": "6be6dfeb9e47171b7569855d3facb0c059b19dbd8f364589f82e0d8a623d46f2",
+ "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch60/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch60/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch60/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch60/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-batch59')),('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-batch60/connectivity-survey.log",
+ "log_sha256": "669dbb91e596e26f351635bde2c0e185fe30e7f801d0c0ee0c808e9c11f0ca8e",
+ "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 390, \"mixed\": 124, \"community_level_only\": 266, \"taxa\": 1505, \"credited_solely_by_the_rule\": 1236}, \"current\": {\"records\": 460, \"with_community_level\": 391, \"mixed\": 124, \"community_level_only\": 267, \"taxa\": 1507, \"credited_solely_by_the_rule\": 1238}}\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_batch7.py",
+ "tests/test_causal_review_batch8.py",
+ "tests/test_causal_review_batch9.py",
+ "tests/test_site_audit_fixes.py",
+ "tests/test_causal_review_inventory.py",
+ "tests/test_rank_causal_graph_readiness.py",
+ "tests/test_network_auditor.py",
+ "tests/test_participating_taxa.py",
+ "tests/test_causal_descriptions_are_published.py",
+ "tests/test_published_pages_name_real_records.py",
+ "tests/test_reference_validator_actually_validates.py",
+ "tests/test_snippet_audit_artefact_classes.py",
+ "tests/test_reference_error_annotation.py",
+ "tests/test_community_level_connectivity_credit.py",
+ "tests/test_no_paywalled_text_in_repo.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/regressions.log",
+ "log_sha256": "24411ddef190b7952d5bf89f134f4c5e573e439b5153a5382666d0b32a115f00",
+ "output_tail": "........................................................................ [ 13%]\n........................................................................ [ 26%]\n........................................................................ [ 39%]\n........................................................................ [ 52%]\n........................................................................ [ 65%]\n........................................................................ [ 78%]\n........................................................................ [ 91%]\n................................................ [100%]\n552 passed in 188.20s (0:03:08)\n"
+ },
+ {
+ "check": "black",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black",
+ "--check",
+ "tests/test_causal_review_batch60.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/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_batch60.py",
+ "tests/test_participating_taxa.py"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/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-batch60/diff-check.log",
+ "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "output_tail": ""
+ },
+ {
+ "check": "primary-and-dryrun-proof",
+ "command": [
+ "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3",
+ "-c",
+ "import hashlib,json,pathlib,xml.etree.ElementTree as ET,yaml\nledger=yaml.safe_load(pathlib.Path('reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml').read_text())\nfor path,digest in ledger['primary_artifacts'].items():\n assert hashlib.sha256(pathlib.Path(path).read_bytes()).hexdigest()==digest\nfragment=ledger['primary_matched_fragment']\nprimary=pathlib.Path('/private/tmp/communitymech-batch60/kombucha-primary.txt').read_text()\nassert ''.join(fragment.split()) in ''.join(primary.split())\nassert ''.join(fragment.split()) in ''.join(pathlib.Path('references_cache/PMID_26061774.md').read_text().split())\nroot=ET.parse('/private/tmp/communitymech-batch60/kz-correction-primary.xml').getroot()\nassert root.find('.//{*}openaccessArticle').text=='false'\nassert [child.tag.split('}')[-1] for child in root]==['coredata']\nassert root.find('.//{*}originalText') is None\nd=ledger['edison_dry_run']; m=yaml.safe_load(pathlib.Path(d['path']).read_text())\nassert m['status']=='dry-run' and len(m['query'])==7457\nassert hashlib.sha256(m['query'].encode()).hexdigest()==d['query_sha256']\nassert d['provider_submissions']==d['credits_spent']==0\nprint(json.dumps({'kmc_primary_matched_arrow_fragment':True,'kz_correction_response':'core metadata only; body unread','komagataella_paid_submissions':0,'graph_extension_complete':False}))\n"
+ ],
+ "exit_code": 0,
+ "expected_exit_codes": [
+ 0
+ ],
+ "log": "/private/tmp/communitymech-batch60/primary-and-dryrun-proof.log",
+ "log_sha256": "cc47416a0f09841e9e9d73c6f6bb86ac3d47e00f913f0439fa83b6d6bb3ebbb0",
+ "output_tail": "{\"kmc_primary_matched_arrow_fragment\": true, \"kz_correction_response\": \"core metadata only; body unread\", \"komagataella_paid_submissions\": 0, \"graph_extension_complete\": false}\n"
+ }
+ ],
+ "limitations": [
+ "All four original nodes and two arrows assessed; one explicit source model retained as HYPOTHESIZED and one unsupported endpoint removed. No new causal structure.",
+ "KZ positive performance and assay-inferred roles preserved. Primary full Methods/supplements and correction body unavailable; needs_research under1541. Publisher API metadata contradicts third-party OA labels; no access-control bypass.",
+ "KMC full primary main text and main/supplement captions read. Numerical Table 1 cells, original figures, supplementary PDF and raw data not inspected. Cooperation is a source model, not demonstrated reciprocal mediation.",
+ "Komagataella abstract and public publisher Introduction/section previews read, not full Methods/supplements. Empty graph remains needs_research under1542; no new nodes/arrows. One reviewed 7457-character Edison dry run, zero provider submissions or credits.",
+ "Canonical taxa and raw non-graph blocks preserved, not recertified. KMC metadata1543 and research1541/1542 remain OPEN after graph repair merge.",
+ "All920 reference caches unchanged. Primary-matched graph fragment does not certify full historical cache provenance or SupportingReference coverage476; Linux DOI lookup1091 and writer artifact1095 remain limitations.",
+ "Deduplication searched839 all-state issue titles/bodies and19 scoped ignored/hidden local matches; all three matching issue bodies read, not every comment/PR or local match.",
+ "Self-adversarial review is COMMENT, not independent approval. Repair1539/1540 remain OPEN until protected-main merge.",
+ "HTML descriptions checked by exact parser and repeat renders, not browser screenshots. Post-commit docs-current is a separate publication gate."
+ ],
+ "snippet_counts_by_record": {
+ "kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml": {
+ "MATCH": 13,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml": {
+ "MATCH": 22,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ },
+ "kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml": {
+ "MATCH": 7,
+ "RENDERING": 0,
+ "ASSEMBLED": 0,
+ "WEAK": 0,
+ "MISMATCH": 0,
+ "NOCONTENT": 0
+ }
+ },
+ "unchanged_raw_blocks": 46,
+ "unchanged_record_files": 457,
+ "unchanged_cache_files": 920,
+ "edison_dry_run": {
+ "path": "research/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-edison-literature-causal-meta.yaml",
+ "sha256": "753bcec2844b7256e2790a9907e2c2e2d0d18d3a01fe3d39dbd9d79db395b328",
+ "query_sha256": "e429f0f613ac80c47e2e8ddfd83510abb8f87ba13c495f0d19a087207a5c33bb",
+ "query_chars": 7457,
+ "job": "LITERATURE",
+ "status": "dry-run",
+ "provider_submissions": 0,
+ "credits_spent": 0,
+ "paid_authorization": "specific one-job request pending"
+ },
+ "primary_artifacts": {
+ "/private/tmp/communitymech-batch60/kombucha-primary.html": "d9510aedb4e415469d8568c4474b0f64f8f4dac15c8f58ef41336be82ee3be56",
+ "/private/tmp/communitymech-batch60/kombucha-primary.txt": "7fd7c46845afdfea0743fd39b6f10ee06f8455153f81f70d361d96d242704315",
+ "/private/tmp/communitymech-batch60/kz-indexed-primary.txt": "ee5dc9e5e44dd3d9f49d340b103f8552f9649d1473832c34791f53409abb3b35",
+ "/private/tmp/communitymech-batch60/kz-correction-crossref.json": "b76e5ed2cca7b4fe4e2b437ef281802c132589686d470f38b9f6ca05696e555b",
+ "/private/tmp/communitymech-batch60/kz-correction-primary.xml": "96f5611f4df555213ab98248c778172ada028c941e5cdee3b067000cdb4886ec",
+ "/private/tmp/communitymech-batch60/komagataella-indexed-primary.txt": "76a968c26f974b084b3b61102f6dcda072a308615999e3144d2cc66aad8c517b"
+ },
+ "cache_provenance_caveat": "All 920 caches unchanged. The retained KMC arrow fragment independently matches fresh publisher primary text; this does not certify full historical cache provenance or scientific support for non-graph fields.",
+ "network_delta": {
+ "existing_findings_preserved": 36,
+ "added_findings": {},
+ "removed_findings": {}
+ },
+ "render_determinism": true,
+ "published_description_coverage": {
+ "pages": 456,
+ "nodes": 1444,
+ "arrows": 643
+ },
+ "participant_census": {
+ "measurements": {
+ "baseline": {
+ "records": 460,
+ "with_community_level": 390,
+ "mixed": 124,
+ "community_level_only": 266,
+ "taxa": 1505,
+ "credited_solely_by_the_rule": 1236
+ },
+ "current": {
+ "records": 460,
+ "with_community_level": 391,
+ "mixed": 124,
+ "community_level_only": 267,
+ "taxa": 1507,
+ "credited_solely_by_the_rule": 1238
+ }
+ },
+ "interpretation": "KZ changes one pairwise interpretation to an explicitly two-member community-level observation; KMC narrows all three nodes to its four canonical core genera. Canonical taxonomy is unchanged. Census CL records390 to391, CL-only266 to267, taxa1505 to1507 and solely credited1236 to1238; no auditor-rule change."
+ },
+ "network_warning_count": 36,
+ "corpus": {
+ "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.",
+ "records": 460,
+ "nodes": 1458,
+ "edges": 651,
+ "records_without_nodes": 8,
+ "records_without_edges": 156,
+ "review_status_counts": {
+ "needs_research": 21,
+ "pending": 245,
+ "reviewed": 194
+ },
+ "structural_defects": []
+ },
+ "tested_file_sha256": {
+ "reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml": "1e64150e4f7f3cde4b39dfc6bd97f2984ac3fcf26486b31bdbcdc710e2874a69",
+ "tests/test_causal_review_batch60.py": "dd1e198d098c1fb74896d4820253859100932c708930bd55c287af99174e2133",
+ "tests/test_participating_taxa.py": "27d2df501648e404a9d722844d513ebb29719034fc911348055d161842bf4a02",
+ "kb/communities/Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml": "65275177a514ceb42276f4f416da7b727e5200b3a8f79fb1510cf6c49bbd083c",
+ "kb/communities/Kombucha_KMC_IMBG1_Fermentation_Community.yaml": "9df19ae1add5269721799ee3a8328edf0531e314c15e3a3abc71a2e4e659fa40",
+ "kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml": "f4024c9731b98eac233911893d44568c3a9097460fb1aa3fb93fced0647cb746",
+ "reports/causal_graph_review/README.md": "872013dbfec5086ef9db848b4f3d3578c68366efe4c5a7523f641bb9d50e0bf9"
+ },
+ "status": "verified_kz_kmc_komagataella_graph_review",
+ "pre_research_baseline": {
+ "base_commit": "4aed48731d913b28b88cd42e5bf8e425f4c8c2d9",
+ "base_tree": "06928b0ddcfb76a9d528a964943f9c9e8786cf41",
+ "research_worktree": "/private/tmp/communitymech-causal-batch59",
+ "checks": [
+ {
+ "name": "rank",
+ "command": [
+ "just",
+ "rank-causal-graphs"
+ ],
+ "exit_code": 0,
+ "expected_exit_code": 0,
+ "log": "/private/tmp/communitymech-batch60/baseline-rank.log",
+ "sha256": "83010c96524f844ac7ed56188e519e3878ee1f1ab33c2aa93f1a197920f78d6a",
+ "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-batch60/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-batch60/baseline-network.log",
+ "sha256": "0955d3471f474fec8dcceb846ff932573d11c9833de73b2b2822241553762186",
+ "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-batch60/baseline-downstream.log",
+ "sha256": "5832657aa07c09ba451e908d7b6e9ee1688df50ca7417fdd67605b8f273df21f",
+ "output_tail": "communities/Synechococcus_Saccharomyces_SPC.yaml:126: downstream:\nkb/communities/Synechococcus_Saccharomyces_SPC.yaml:161: downstream:\nkb/communities/PMI_Variovorax_Thermotolerance_Collection.yaml:330: downstream:\nkb/communities/Methylocystis_Rhodococcus_Methane_VFA_PHBV_Coculture.yaml:100: downstream:\nkb/communities/Methylocystis_Rhodococcus_Methane_VFA_PHBV_Coculture.yaml:144: downstream:\nkb/communities/Methylocystis_Rhodococcus_Methane_VFA_PHBV_Coculture.yaml:236: downstream:\nkb/communities/Methylotuvimicrobium_Synechococcus_Gas_Feedstock_Coculture.yaml:157: downstream:\nkb/communities/Methylotuvimicrobium_Synechococcus_Gas_Feedstock_Coculture.yaml:203: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:135: downstream:\nkb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml:177: downstream:\nkb/communities/PET_Artificial_FourSpecies_Degradation_Consortium.yaml:190: downstream:\nkb/communities/PET_Artificial_FourSpecies_Degradation_Consortium.yaml:233: downstream:\nkb/communities/PET_Artificial_FourSpecies_Degradation_Consortium.yaml:273: downstream:\nkb/communities/PET_Artificial_FourSpecies_Degradation_Consortium.yaml:298: downstream:\nkb/communities/Rumen_Substrate_Adapted_Lignocellulose_Enrichment_Consortia.yaml:328: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:120: downstream:\nkb/communities/Synechococcus_Bacillus_SPC.yaml:152: downstream:\nkb/communities/Mucin_Glycan_MDSC_Synthetic_Gut_Community.yaml:503: downstream:\nkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml:342: downstream:\nkb/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml:381: downstream:\nkb/communities/Engineered_Gut_Amino_Acid_CrossFeeding_Consortium.yaml:156: downstream:\nkb/communities/Engineered_Gut_Amino_Acid_CrossFeeding_Consortium.yaml:207: downstream:\nkb/communities/Pepper_Phytophthora_SynCom5.yaml:123: downstream:\nkb/communities/Pepper_Phytophthora_SynCom5.yaml:146: downstream:\n"
+ }
+ ],
+ "baseline_sha256": "ab4d9c40428b46f7bb6cc997595de77fbf97ec46189ca332940edecc90774bbf"
+ },
+ "reference_validator_caveat": "CLI Total checks counts reported issues, not executed checks. Cache MATCH does not prove scientific entailment or complete provenance. All920 caches unchanged. KMC retained-arrow fragment independently matched to fresh publisher primary text. KZ correction body and full mechanism1541, empty Komagataella graph1542 and KMC non-graph1543 remain unresolved. Existing476/1091/1095 limitations remain."
+}
diff --git a/research/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-edison-literature-causal-meta.yaml b/research/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-edison-literature-causal-meta.yaml
new file mode 100644
index 000000000..36710878b
--- /dev/null
+++ b/research/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture-edison-literature-causal-meta.yaml
@@ -0,0 +1,128 @@
+slug: Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture
+community_path: kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml
+community_id: CommunityMech:000343
+job: LITERATURE
+job_id: job-futurehouse-paperqa3
+label: causal
+template_path: templates/community_causal_graph_research.md
+template_vars:
+ community_name: Komagataella-E. coli Co-inducible Biosynthesis Coculture
+ community_id: CommunityMech:000343
+ community_file: Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml
+ community_slug: Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture
+ community_category: BIOTECHNOLOGY
+ ecological_state: ENGINEERED
+ community_origin: SYNTHETIC
+ description: A defined two-member engineered yeast-bacterium consortium pairing Komagataella phaffii
+ with Escherichia coli for co-inducible relayed biosynthesis of natural products. Low-level glucose-responsive
+ and blue-light-responsive transcriptional systems were rebuilt separately for the two hosts so a single
+ signal could co-induce compound synthesis in coculture. After pathway redirection, genome mining,
+ and rewiring of acyl-donor degradation targets, the living consortium produced the reporter molecule
+ simvastatin from a simple carbon source and also supported inducible biosynthesis of (2S)-naringenin.
+ source_summary: ''
+ environment_summary: laboratory environment | ENVO:01001405 | The consortium was assayed under selected
+ co-growth conditions in a controlled coculture on a simple carbon source.
+ taxonomy_summary: Komagataella phaffii | Escherichia coli
+ interaction_summary: ''
+ environmental_factor_summary: Glucose and blue-light induction - low-level glucose- and blue light-responsive
+ transcriptional systems - Low-level glucose-responsive and blue-light-responsive transcriptional systems
+ were rebuilt separately for the host chassis so a single signal could co-induce compound synthesis
+ in the coculture.
+ growth_media_summary: Simple-carbon-source biosynthesis coculture - The abstract reports a living consortium
+ cultured on a simple carbon source but does not provide medium composition, induction schedule, incubation
+ temperature, or inoculation ratios.
+ dataset_summary: Primary publication - K. phaffii-E. coli co-inducible biosynthesis coculture - PMID:42492893
+ - https://pubmed.ncbi.nlm.nih.gov/42492893/
+ evidence_summary: 'PMID:42492893: This study explores yeast-bacterium consortium without engineered
+ interactions for the co-inducible relayed synthesis of natural products. (Supports the design goal
+ of a yeast-bacterium consortium for co-inducible relayed biosynthesis.) | PMID:42492893: Low-level
+ glucose- and blue light-responsive transcriptional systems are rebuilt separately for each host, allowing
+ single-signal co-induced activation of compound synthesis in coculture. (Supports the separately rebuilt
+ induction systems and single-signal coculture activation endpoint.) | PMID:42492893: The Komagataella
+ phaffii-Escherichia coli consortium is explored for co-growth under selected conditions. (Identifies
+ Komagataella phaffii as the yeast member of the two-species engineered consortium.) | PMID:42492893:
+ The Komagataella phaffii-Escherichia coli consortium is explored for co-growth under selected conditions.
+ (Identifies Escherichia coli as the bacterial member of the two-species engineered consortium.) |
+ PMID:42492893: Low-level glucose- and blue light-responsive transcriptional systems are rebuilt separately
+ for each host (Supports glucose and blue light response systems as engineered regulatory inputs in
+ the coculture design.) | PMID:42492893: cultured on simple carbon source (Supports the simple-carbon-source
+ cultivation condition used for the reporter simvastatin-producing living consortium.) | PMID:42492893:
+ Synthetic yeast-bacterium consortium enables co-inducible relayed synthesis of chemicals. (Lists the
+ exact primary publication for the K. phaffii-E. coli co-inducible biosynthesis coculture.)'
+query_chars: 7457
+query: "# Microbial Community Causal-Graph Research Template\n\n## Target Community\n- **Community name:**\
+ \ Komagataella-E. coli Co-inducible Biosynthesis Coculture\n- **Community id:** CommunityMech:000343\n\
+ - **Community file:** Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml\n- **Community category:**\
+ \ BIOTECHNOLOGY\n- **Ecological state:** ENGINEERED\n- **Community origin:** SYNTHETIC\n- **Environment:**\
+ \ laboratory environment | ENVO:01001405 | The consortium was assayed under selected co-growth conditions\
+ \ in a controlled coculture on a simple carbon source.\n- **Description:** A defined two-member engineered\
+ \ yeast-bacterium consortium pairing Komagataella phaffii with Escherichia coli for co-inducible relayed\
+ \ biosynthesis of natural products. Low-level glucose-responsive and blue-light-responsive transcriptional\
+ \ systems were rebuilt separately for the two hosts so a single signal could co-induce compound synthesis\
+ \ in coculture. After pathway redirection, genome mining, and rewiring of acyl-donor degradation targets,\
+ \ the living consortium produced the reporter molecule simvastatin from a simple carbon source and also\
+ \ supported inducible biosynthesis of (2S)-naringenin.\n\n## Existing Record Context\n- **Taxa:** Komagataella\
+ \ phaffii | Escherichia coli\n- **Known ecological interactions:** \n- **Environmental factors:** Glucose\
+ \ and blue-light induction - low-level glucose- and blue light-responsive transcriptional systems -\
+ \ Low-level glucose-responsive and blue-light-responsive transcriptional systems were rebuilt separately\
+ \ for the host chassis so a single signal could co-induce compound synthesis in the coculture.\n- **Growth\
+ \ media / culture conditions:** Simple-carbon-source biosynthesis coculture - The abstract reports a\
+ \ living consortium cultured on a simple carbon source but does not provide medium composition, induction\
+ \ schedule, incubation temperature, or inoculation ratios.\n- **Associated datasets / resources:** Primary\
+ \ publication - K. phaffii-E. coli co-inducible biosynthesis coculture - PMID:42492893 - https://pubmed.ncbi.nlm.nih.gov/42492893/\n\
+ - **Existing evidence:** PMID:42492893: This study explores yeast-bacterium consortium without engineered\
+ \ interactions for the co-inducible relayed synthesis of natural products. (Supports the design goal\
+ \ of a yeast-bacterium consortium for co-inducible relayed biosynthesis.) | PMID:42492893: Low-level\
+ \ glucose- and blue light-responsive transcriptional systems are rebuilt separately for each host, allowing\
+ \ single-signal co-induced activation of compound synthesis in coculture. (Supports the separately rebuilt\
+ \ induction systems and single-signal coculture activation endpoint.) | PMID:42492893: The Komagataella\
+ \ phaffii-Escherichia coli consortium is explored for co-growth under selected conditions. (Identifies\
+ \ Komagataella phaffii as the yeast member of the two-species engineered consortium.) | PMID:42492893:\
+ \ The Komagataella phaffii-Escherichia coli consortium is explored for co-growth under selected conditions.\
+ \ (Identifies Escherichia coli as the bacterial member of the two-species engineered consortium.) |\
+ \ PMID:42492893: Low-level glucose- and blue light-responsive transcriptional systems are rebuilt separately\
+ \ for each host (Supports glucose and blue light response systems as engineered regulatory inputs in\
+ \ the coculture design.) | PMID:42492893: cultured on simple carbon source (Supports the simple-carbon-source\
+ \ cultivation condition used for the reporter simvastatin-producing living consortium.) | PMID:42492893:\
+ \ Synthetic yeast-bacterium consortium enables co-inducible relayed synthesis of chemicals. (Lists the\
+ \ exact primary publication for the K. phaffii-E. coli co-inducible biosynthesis coculture.)\n\n## Research\
+ \ Objective\n\nBuild a source-backed **causal interaction graph** for the microbial community\n**Komagataella-E.\
+ \ coli Co-inducible Biosynthesis Coculture**, suitable for the `ecological_interactions` block of\n\
+ `kb/communities/Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture.yaml`. The graph's **nodes are\
+ \ mechanistic\ninteractions** and its **directed edges are causal links** (\"interaction A\nenables\
+ \ / drives / suppresses interaction B\"). Extract only relationships the\nprimary literature supports;\
+ \ do not infer edges that are not stated or directly\nimplied by an experiment.\n\n## Required Findings\n\
+ \n### 1. Interaction nodes (the vertices)\n\nFor each mechanistic interaction, report as a table row:\n\
+ \n- **name** — a short, unique interaction name (used as the node id and as the\n `target` of any causal\
+ \ edge that points to it).\n- **interaction_type** — one of: MUTUALISM, COMMENSALISM, CROSS_FEEDING,\n\
+ \ COMPETITION, PREDATION, SYNTROPHY, NICHE_PARTITIONING, STRAIN_COMPETITION,\n COLONIZATION_FACILITATION\
+ \ (or state \"OTHER: \" if none fit).\n- **scope** — PAIRWISE (organism→organism) or COMMUNITY_LEVEL\
+ \ (emergent /\n abiotically driven, e.g. electrolysis-supplied H2). PAIRWISE **must** name a\n source\
+ \ taxon.\n- **source_taxon → target_taxon** — the directed pair (who acts on whom). Give\n NCBITaxon\
+ \ CURIEs + labels where resolvable.\n- **metabolites / biological_processes** — the exchanged compound(s)\
+ \ (CHEBI) and\n process(es) (GO) that mediate the interaction.\n- **direction / sign** — does the source\
+ \ **increase (+)** or **decrease (−)** the\n target's growth/activity? State it explicitly.\n- **evidence**\
+ \ — a short **verbatim** snippet + its reference (PMID/DOI).\n\n### 2. Causal edges (the arcs)\n\nThis\
+ \ is the graph structure. For every ordered pair of nodes where the\nliterature supports a causal link,\
+ \ report a row:\n\n- **from** — upstream interaction name (a node from §1).\n- **to** — downstream interaction\
+ \ name (a node from §1).\n- **causal link** — one sentence: *how* the upstream interaction causes /\n\
+ \ enables / is required for / suppresses the downstream one (e.g. \"H2 produced\n by the syntrophic\
+ \ oxidation lowers pH2 enough for the acetogen to grow, which\n in turn supplies acetate to the methanogen\"\
+ ).\n- **evidence** — verbatim snippet + reference for the causal claim specifically\n (not just for\
+ \ the two endpoints existing).\n\nPrefer chains that a paper demonstrates by perturbation (knockout,\
+ \ substrate\nremoval, inhibitor, co-culture vs mono-culture), and say which experiment shows\neach edge.\
+ \ Flag any edge that is hypothesized rather than demonstrated.\n\n### 3. Grounding\n\n- CURIEs where\
+ \ available: NCBITaxon (taxa), CHEBI (metabolites), GO (processes),\n ENVO (environment), PMID / DOI\
+ \ (evidence).\n- Do not invent taxa, ontology ids, snippets, accession ids, or citations. If a\n node\
+ \ or edge lacks a citable source, omit it or mark it UNVERIFIED.\n\n## Output Format\n\nReturn a curation-focused\
+ \ report with:\n\n1. **Scope summary** — the consortium and the top-level function the causal graph\n\
+ \ explains (1–3 sentences).\n2. **Node table** — the interaction nodes (§1 columns).\n3. **Edge table**\
+ \ — the directed causal edges (§2 columns: from, to, causal\n link, evidence).\n4. **Adjacency / DOT\
+ \ sketch** — a compact `from -> to` edge list (or Graphviz DOT\n snippet) so the graph can be eyeballed;\
+ \ annotate edges with + / − sign.\n5. **Gaps & controversies** — edges the literature disputes, or plausible\
+ \ edges\n with no direct evidence (candidates for a `Discussion`/knowledge-gap note).\n6. **References**\
+ \ — every PMID/DOI cited, once.\n\nEach biological claim (node and edge) must carry a verbatim snippet\
+ \ and a\nreference. This report is reviewed by a curator before anything is written to\n`kb/communities/`.\n"
+submitted_at: '2026-10-06T20:12:05.069963+00:00'
+status: dry-run
+query_sha256: e429f0f613ac80c47e2e8ddfd83510abb8f87ba13c495f0d19a087207a5c33bb
diff --git a/tests/test_causal_review_batch60.py b/tests/test_causal_review_batch60.py
new file mode 100644
index 000000000..ab0648cc4
--- /dev/null
+++ b/tests/test_causal_review_batch60.py
@@ -0,0 +1,143 @@
+"""Pin KZ assay limits, KMC hypothesis scope and the unresolved empty relay graph."""
+
+import hashlib
+from pathlib import Path
+
+import yaml
+
+ROOT = Path(__file__).resolve().parents[1]
+LEDGER = ROOT / "reports/causal_graph_review/decisions/20261006-kz-kmc-komagataella-batch60.yaml"
+KZ = "Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom"
+KMC = "Kombucha_KMC_IMBG1_Fermentation_Community"
+KOM = "Komagataella_Ecoli_Coinducible_Biosynthesis_Coculture"
+
+
+def records():
+ ledger = yaml.safe_load(LEDGER.read_text())
+ rows = {Path(row["path"]).stem: row for row in ledger["records"]}
+ docs = {name: yaml.safe_load((ROOT / row["path"]).read_text()) for name, row in rows.items()}
+ return ledger, rows, docs
+
+
+def test_kz_preserves_positive_assays_without_directed_transfer():
+ _, rows, docs = records()
+ (node,) = docs[KZ]["ecological_interactions"]
+ assert rows[KZ]["status"] == "needs_research"
+ assert node["scope"] == "COMMUNITY_LEVEL"
+ assert not any(
+ key in node for key in ["source_taxon", "target_taxon", "interaction_type", "downstream"]
+ )
+ assert [term["term"]["id"] for term in node["participating_taxa"]] == [
+ "NCBITaxon:570",
+ "NCBITaxon:1663",
+ ]
+ assert "better phenanthrene degradation and mineralization" in node["description"]
+ assert "Biomass-normalized enzyme assays" in node["description"]
+ assert "not a resolved donor-to-recipient transfer" in node["description"]
+ assert node["evidence"][0]["supports"] == "PARTIAL"
+ assert node["evidence"][1]["supports"] == "SUPPORT"
+
+
+def test_kz_correction_is_not_assumed_irrelevant_or_resolved():
+ _, _, docs = records()
+ gaps = docs[KZ]["discussions"]
+ assert gaps[0]["discussion_id"] == "kz_cultivation_and_inoculation_details"
+ text = gaps[-1]["rationale"]
+ assert "PMID:41456976" in text
+ assert "metadata only, not its body" in text
+ assert "Do not assume the correction is biologically immaterial" in text
+ assert "#1541" in text and gaps[-1]["status"] == "OPEN"
+
+
+def test_kmc_retains_the_source_explicit_spatial_model_as_hypothesized():
+ ledger, rows, docs = records()
+ cooperation, pellicle, composition = docs[KMC]["ecological_interactions"]
+ assert len(rows[KMC]["edges_before"]) == 2 and len(rows[KMC]["edges_after"]) == 1
+ assert cooperation["description"].startswith("HYPOTHESIZED - ")
+ assert cooperation["evidence"][0]["supports"] == "PARTIAL"
+ (edge,) = pellicle["downstream"]
+ assert edge["target"] == cooperation["name"]
+ assert edge["description"].startswith("HYPOTHESIZED - ")
+ assert "not a selective test" in edge["description"]
+ assert pellicle["evidence"][-1]["snippet"] == ledger["primary_matched_fragment"]
+ assert "downstream" not in composition
+
+
+def test_kmc_preserves_composition_and_persistence_without_niche_or_mutualism_claim():
+ _, _, docs = records()
+ cooperation, pellicle, composition = docs[KMC]["ecological_interactions"]
+ assert "not an exhaustive identical membership" in cooperation["description"]
+ assert "microscopy reports mixed bacterial and yeast morphotypes" in pellicle["description"]
+ assert "persisted through passages" in composition["description"]
+ assert (
+ "relative sequence profiles do not establish absolute growth" in composition["description"]
+ )
+ for node in [cooperation, pellicle, composition]:
+ assert "interaction_type" not in node and "source_taxon" not in node
+ assert [term["term"]["id"] for term in node["participating_taxa"]] == [
+ "NCBITaxon:1434011",
+ "NCBITaxon:441",
+ "NCBITaxon:4919",
+ "NCBITaxon:13366",
+ ]
+ assert "#1543" in docs[KMC]["discussions"][-1]["rationale"]
+
+
+def test_komagataella_empty_structure_remains_an_explicit_research_gap():
+ ledger, rows, docs = records()
+ doc = docs[KOM]
+ assert "ecological_interactions" not in doc
+ assert rows[KOM]["status"] == "needs_research"
+ assert rows[KOM]["node_decisions"] == rows[KOM]["edges_after"] == []
+ assert ledger["unresolved_research_issues"] == [1541, 1542]
+ assert doc["discussions"][0]["discussion_id"] == "kphaffii_ecoli_relayed_intermediate"
+ gap = doc["discussions"][-1]
+ assert gap["attaches_to"] == ["ecological_interactions", "engineering_design"]
+ assert "does not prove biological neutralism" in gap["rationale"]
+ assert "sharing an induction signal is not metabolite cross-feeding" in gap["rationale"]
+ assert "needs_research, not absent biology" in gap["rationale"]
+
+
+def test_komagataella_edison_provenance_is_an_unpaid_single_community_dry_run():
+ ledger, _, _ = records()
+ receipt = ledger["edison_dry_run"]
+ path = ROOT / receipt["path"]
+ assert hashlib.sha256(path.read_bytes()).hexdigest() == receipt["sha256"]
+ meta = yaml.safe_load(path.read_text())
+ assert meta["community_id"] == "CommunityMech:000343"
+ assert meta["status"] == "dry-run" and meta["job"] == "LITERATURE"
+ assert len(meta["query"]) == meta["query_chars"] == 7457
+ assert hashlib.sha256(meta["query"].encode()).hexdigest() == receipt["query_sha256"]
+ assert receipt["provider_submissions"] == receipt["credits_spent"] == 0
+
+
+def test_batch60_selected_cache_bytes_remain_unchanged():
+ ledger, _, _ = records()
+ for path, digest in ledger["reference_cache_original_hashes"].items():
+ assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest
+ raw = (ROOT / "references_cache/PMID_26061774.md").read_text()
+ assert "".join(ledger["primary_matched_fragment"].split()) in "".join(raw.split())
+
+
+def test_batch60_every_node_arrow_and_new_anchor_is_accounted_for():
+ ledger, rows, docs = records()
+ assert ledger["independent_approval"] is False
+ assert ledger["issues"] == [1539, 1540]
+ assert ledger["unresolved_non_graph_issues"] == [1543]
+ assert ledger["issue_deduplication"]["ignored_hidden_local_search"] is True
+ assert (
+ len(rows[KMC]["retained_edge_decisions"]) == len(rows[KMC]["removed_edge_decisions"]) == 1
+ )
+ for name, row in rows.items():
+ doc = docs[name]
+ assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"]
+ assert doc["curation_history"][-1]["llm_assisted"] is True
+ assert len(row["history_files"]) == 1
+ assert row["source_review"]["cache_provenance_certified"] is False
+ names = {node["name"] for node in doc.get("ecological_interactions", [])}
+ assert {decision["node"] for decision in row["node_decisions"]} == names
+ if name != KOM:
+ assert {
+ anchor.split("#", 1)[1] for anchor in doc["discussions"][-1]["attaches_to"]
+ } == names
+ assert doc["discussions"][-1]["status"] == "OPEN"
diff --git a/tests/test_participating_taxa.py b/tests/test_participating_taxa.py
index b368e2d52..162af691b 100644
--- a/tests/test_participating_taxa.py
+++ b/tests/test_participating_taxa.py
@@ -305,6 +305,8 @@ def test_a_curie_is_ambiguous_where_members_share_an_id(example):
"KBase_ORT_Workflow_Community_Model.yaml",
"KBase_Synthetic_Bacterial_Community_R2A.yaml",
"Kefir_Flavor_Lentilactobacillus_Kluyveromyces_Coculture.yaml",
+ "Klebsiella_Arthrobacter_KZ_Phenanthrene_Cadmium_SynCom.yaml",
+ "Kombucha_KMC_IMBG1_Fermentation_Community.yaml",
"Legume_Rhizobia_Mars_Simulant_Symbiosis.yaml",
"Lunar_Simulant_Phosphate_Solubilizing_Bacteria_Nicotiana.yaml",
"MSC1_Dominant_Core.yaml",