From 72e0ccac43044c78e5d4034c6ae6364bbcd9c6f1 Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Wed, 7 Oct 2026 07:59:44 -0700 Subject: [PATCH] Bound inferred support and community outcome causality (batch92) --- ...nimonas_BFR_Bioremediation_Consortium.html | 50 +- .../Quinoa_SCDY1_Salt_Stress_SynCom.html | 30 +- ...H1_Glyphosate_Streptomyces_Consortium.html | 63 +- .../2026-10-07T144612Z-codex-187f33.yaml | 26 + .../2026-10-07T144612Z-codex-71fc10.yaml | 26 + .../2026-10-07T144612Z-codex-6d60ac.yaml | 26 + ...nimonas_BFR_Bioremediation_Consortium.yaml | 57 +- .../Quinoa_SCDY1_Salt_Stress_SynCom.yaml | 29 +- ...H1_Glyphosate_Streptomyces_Consortium.yaml | 80 +- reports/causal_graph_review/README.md | 14 + .../adversarial-review-20261007-batch92.yaml | 201 ++++ .../20261007-four-records-batch92.yaml | 347 ++++++ reports/causal_graph_review/inventory.tsv | 8 +- reports/causal_graph_review/summary.json | 8 +- .../validation-20261007-batch92.json | 1058 +++++++++++++++++ tests/test_causal_review_batch92.py | 100 ++ 16 files changed, 2035 insertions(+), 88 deletions(-) create mode 100644 history/records/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium/2026-10-07T144612Z-codex-187f33.yaml create mode 100644 history/records/Quinoa_SCDY1_Salt_Stress_SynCom/2026-10-07T144612Z-codex-71fc10.yaml create mode 100644 history/records/RH1_Glyphosate_Streptomyces_Consortium/2026-10-07T144612Z-codex-6d60ac.yaml create mode 100644 reports/causal_graph_review/adversarial-review-20261007-batch92.yaml create mode 100644 reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml create mode 100644 reports/causal_graph_review/validation-20261007-batch92.json create mode 100644 tests/test_causal_review_batch92.py diff --git a/docs/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.html b/docs/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.html index 120a67e6e..fc732bba1 100644 --- a/docs/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.html +++ b/docs/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.html @@ -665,7 +665,7 @@

Ecological Interactions

Ecological interaction network for QY2-S1 Dehalogenimonas-Rich Brominated-Flame-Retardant Consortium - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (syntrophy). + 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.
@@ -673,8 +673,8 @@

Ecological Interactions

Syntrophy + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -683,9 +683,8 @@

Ecological Interactions

Fermenter-Methanogen Support for Dehalogenimonas RDase Activity

- SYNTROPHY
-

Dominant Clostridium and Sedimentibacter fermenters and Methanoculleus methanogens form a syntrophic support network that can supply H2, carbon, and cofactors required for Dehalogenimonas reductive dehalogenase activity during BDE 99 and beta-TBCO organohalide respiration.

+

HYPOTHESIZED: The authors propose that Clostridium and Sedimentibacter fermenters support Dehalogenimonas through hydrogen, carbon and cofactors. Methanoculleus is discussed as a hydrogen consumer that may indirectly favour fermentation, not as a demonstrated hydrogen donor. The QY2-S1 assays measured pollutant transformation and genus-level abundance, not partner-specific metabolite flux or product-removal feedback. The proposed support network is retained without categorical SYNTROPHY.

@@ -726,7 +725,7 @@

Evidence

PMID:42511722 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
"This robust consortium forms a synergistic metabolic network, where fermentative bacteria and methanogens provide essential electron donors (H2), carbon source, and other growth cofactors, required for the RDase activity of the core OHRB, Dehalogenimonas"
@@ -778,7 +777,7 @@

Associated Datasets

-

Knowledge gaps & discussions (1)

+

Knowledge gaps & discussions (2)

@@ -793,6 +792,41 @@

+

+ +
+

+ KNOWLEDGE_GAP + OPEN + Which partner exchanges and product-removal feedback, if any, support Dehalogenimonas in QY2-S1? +

+

Section 2.3 proposes indirect methanogen support through hydrogen consumption. Absolute 16S abundance and pollutant/product kinetics do not isolate that feedback or demonstrate the proposed carbon/cofactor provision. Current SYNTROPHY does not assert obligacy; the missing criterion is demonstrated product-removal feedback. The positive transformation and co-exposure inhibition results remain unchanged outside this node.

+ +

Attaches to: ecological_interactions#Fermenter-Methanogen Support for Dehalogenimonas RDase Activity

+ + + +
+ 1 evidence item(s) + +
+
+ IN_VITRO + PARTIAL + + + + PMID:42511722 + + +
+

By maintaining extremely low H2 partial pressures, methanogens prevent the feedback inhibition of fermentation

+

Identifies the authors proposed feedback explanation, not a measured partner-specific perturbation or flux.

+
+ +
+ +
@@ -1234,7 +1268,7 @@

Evidence

(function() { var intId = "interaction:0"; - var intType = "SYNTROPHY"; + var intType = "UNKNOWN"; var metabolites = []; diff --git a/docs/communities/Quinoa_SCDY1_Salt_Stress_SynCom.html b/docs/communities/Quinoa_SCDY1_Salt_Stress_SynCom.html index 7a22e6c42..04338d8a4 100644 --- a/docs/communities/Quinoa_SCDY1_Salt_Stress_SynCom.html +++ b/docs/communities/Quinoa_SCDY1_Salt_Stress_SynCom.html @@ -813,7 +813,7 @@

Ecological Interactions

Ecological interaction network for Quinoa SCDY1 Salt-Stress 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 (mutualism). + 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.
@@ -821,8 +821,8 @@

Ecological Interactions

Mutualism + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -831,9 +831,8 @@

Ecological Interactions

SCDY1 Arabidopsis salt-stress growth promotion

- MUTUALISM
-

SCDY1 improved Arabidopsis root elongation and biomass under moderate sodium-chloride stress, with the clearest overall response at 120 mM NaCl.

+

SCDY1 improved Arabidopsis root elongation and biomass under moderate sodium-chloride stress, with the clearest overall response at 120 mM NaCl. This is a host-growth outcome, not evidence of reciprocal fitness benefits to the plant and bacterial members.

@@ -871,6 +870,25 @@

Evidence

+
+

Knowledge gaps & discussions (1)

+ +
+

+ KNOWLEDGE_GAP + OPEN + Does SCDY1 confer reciprocal fitness benefits, and which mechanisms mediate the plant-growth response? +

+

The cited preprint abstract supports plant growth under salt stress and recovery of a subset of bacteria; recoverability alone does not establish bacterial benefit or unaffected fitness. Host transcriptional and root-hair responses are not demonstrated causal mediators. The complete preprint body was not retrieved in this review, so missing access is not evidence that additional controls are absent. The independently retrieved accepted journal abstract corroborates the endpoint, but does not supersede the historical preprint evidence. No COMMENSALISM substitution or previously removed recovery/epidermal node is added.

+ +

Attaches to: ecological_interactions#SCDY1 Arabidopsis salt-stress growth promotion

+ + + + +
+ +
@@ -1139,7 +1157,7 @@

Environmental Factors

(function() { var intId = "interaction:0"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; diff --git a/docs/communities/RH1_Glyphosate_Streptomyces_Consortium.html b/docs/communities/RH1_Glyphosate_Streptomyces_Consortium.html index 6ef0e7624..07c9c24c4 100644 --- a/docs/communities/RH1_Glyphosate_Streptomyces_Consortium.html +++ b/docs/communities/RH1_Glyphosate_Streptomyces_Consortium.html @@ -657,7 +657,7 @@

Ecological Interactions

Ecological interaction network for RH1 Glyphosate Streptomyces Consortium - 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). + 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.
@@ -665,8 +665,8 @@

Ecological Interactions

Mutualism + aria-hidden="true" data-symbol="symbolTriangle2" + data-color="#929caa"> Other
@@ -675,9 +675,8 @@

Ecological Interactions

RH1 glyphosate biodegradation

- MUTUALISM
-

The four Streptomyces members were compatible in the antagonism assay and, as the RH1 mixed culture, degraded glyphosate at all tested initial concentrations. At 50 mg/L glyphosate, RH1 exceeded the previously reported single-strain removal and TOC-reduction rates. Pairwise exchange metabolites and glyphosate-catabolic genes were not directly resolved.

+

The four Streptomyces members were compatible in the antagonism assay and, as the RH1 mixed culture, degraded glyphosate at all tested initial concentrations. At 50 mg/L glyphosate, RH1 exceeded the previously reported single-strain removal and TOC-reduction rates. Pairwise exchange metabolites and glyphosate-catabolic genes were not directly resolved. Compatibility and greater aggregate performance do not establish reciprocal fitness benefits among the four members.

@@ -707,16 +706,6 @@

RH1 glyphosate biodegradation

-
- Downstream Effects: - -
- → RH1 total organic carbon reduction -

Glyphosate transformation by the mixed RH1 culture reduced TOC after 15 days at 50 mg/L initial glyphosate.

-
- -
-

Evidence

@@ -768,9 +757,8 @@

Evidence

RH1 total organic carbon reduction

- MUTUALISM
-

At 50 mg/L initial glyphosate, the RH1 consortium removed 91.03% of measured total organic carbon over the 15-day incubation, supporting substantial transformation of glyphosate-derived organic carbon.

+

At 50 mg/L initial glyphosate, RH1 showed a 91.03% decrease in measured total organic carbon after 15 days. TOC was measured after centrifugation and filtration. This positive processed-sample endpoint does not distinguish mineralization from biomass incorporation or other carbon partitioning, and does not independently establish a direct glyphosate-transformation-to-TOC causal link.

@@ -817,7 +805,7 @@

Evidence

-

Knowledge gaps & discussions (1)

+

Knowledge gaps & discussions (2)

@@ -854,6 +842,41 @@

+
+

+ KNOWLEDGE_GAP + OPEN + How are member fitness benefits and glyphosate-derived carbon partitioned in RH1? +

+

The negative antagonism test demonstrates compatibility, not MUTUALISM. The single-strain comparisons cite earlier work, and consortium-level growth/removal does not measure each member benefit. Glyphosate removal, ATR-FTIR changes and TOC decline remain positive observations, but centrifuged/filtered TOC does not resolve mineralization versus biomass or other partitioning. The stoichiometric reaction is predicted, not an empirical carbon balance. The direct arrow between the two outcome nodes is removed while both endpoints and the existing unresolved-gene discussion are preserved.

+ +

Attaches to: ecological_interactions#RH1 glyphosate biodegradation, ecological_interactions#RH1 total organic carbon reduction

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

After 15 days of incubation, samples were centrifuged, filtered, and diluted before analysis

+

Methods 2.4 delimit the measured TOC fraction; this preparation does not itself resolve the missing carbon fate.

+
+ +
+ + +
+
@@ -1355,7 +1378,7 @@

Evidence

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

Evidence

(function() { var intId = "interaction:1"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; diff --git a/history/records/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium/2026-10-07T144612Z-codex-187f33.yaml b/history/records/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium/2026-10-07T144612Z-codex-187f33.yaml new file mode 100644 index 000000000..f0935876f --- /dev/null +++ b/history/records/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium/2026-10-07T144612Z-codex-187f33.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml + slug: QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium +session: + id: 2026-10-07T144612Z-codex-187f33 + timestamp: '2026-10-07T14:46:12Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1746 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Qualify the existing support network as HYPOTHESIZED/PARTIAL, distinguish proposed + methanogen hydrogen consumption from donor provision, and remove categorical SYNTROPHY + without requiring obligacy. + details: Source-based self-adversarial review; reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml diff --git a/history/records/Quinoa_SCDY1_Salt_Stress_SynCom/2026-10-07T144612Z-codex-71fc10.yaml b/history/records/Quinoa_SCDY1_Salt_Stress_SynCom/2026-10-07T144612Z-codex-71fc10.yaml new file mode 100644 index 000000000..63db1d568 --- /dev/null +++ b/history/records/Quinoa_SCDY1_Salt_Stress_SynCom/2026-10-07T144612Z-codex-71fc10.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml + slug: Quinoa_SCDY1_Salt_Stress_SynCom +session: + id: 2026-10-07T144612Z-codex-71fc10 + timestamp: '2026-10-07T14:46:12Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1747 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain supported SCDY1 plant growth and its SUPPORT evidence; remove MUTUALISM + because the cited evidence does not establish reciprocal benefit, and record the abstract-only + access boundary. + details: Source-based self-adversarial review; reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml diff --git a/history/records/RH1_Glyphosate_Streptomyces_Consortium/2026-10-07T144612Z-codex-6d60ac.yaml b/history/records/RH1_Glyphosate_Streptomyces_Consortium/2026-10-07T144612Z-codex-6d60ac.yaml new file mode 100644 index 000000000..01694d813 --- /dev/null +++ b/history/records/RH1_Glyphosate_Streptomyces_Consortium/2026-10-07T144612Z-codex-6d60ac.yaml @@ -0,0 +1,26 @@ +history_version: 1 +target: + kind: record + path: kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml + slug: RH1_Glyphosate_Streptomyces_Consortium +session: + id: 2026-10-07T144612Z-codex-6d60ac + timestamp: '2026-10-07T14:46:12Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1748 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Retain consortium glyphosate removal and compatibility, remove unsupported MUTUALISM + and the unproven carbon-fate arrow.; Retain the 91.03% processed-sample TOC endpoint without + MUTUALISM or treating it as measured mineralization or a closed carbon balance. + details: Source-based self-adversarial review; reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml diff --git a/kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml b/kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml index 1c5f38bf4..9d992c812 100644 --- a/kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml +++ b/kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml @@ -195,10 +195,11 @@ taxonomy: explanation: Names Methanoculleus as the primary methanogenic genus. ecological_interactions: - name: Fermenter-Methanogen Support for Dehalogenimonas RDase Activity - description: Dominant Clostridium and Sedimentibacter fermenters and Methanoculleus methanogens form a syntrophic support - network that can supply H2, carbon, and cofactors required for Dehalogenimonas reductive dehalogenase activity during - BDE 99 and beta-TBCO organohalide respiration. - interaction_type: SYNTROPHY + description: 'HYPOTHESIZED: The authors propose that Clostridium and Sedimentibacter fermenters support Dehalogenimonas + through hydrogen, carbon and cofactors. Methanoculleus is discussed as a hydrogen consumer that may indirectly + favour fermentation, not as a demonstrated hydrogen donor. The QY2-S1 assays measured pollutant transformation + and genus-level abundance, not partner-specific metabolite flux or product-removal feedback. The proposed support + network is retained without categorical SYNTROPHY.' scope: COMMUNITY_LEVEL metabolites: - preferred_term: hydrogen @@ -212,12 +213,13 @@ ecological_interactions: label: biological process involved in interspecies interaction between organisms evidence: - reference: PMID:42511722 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: This robust consortium forms a synergistic metabolic network, where fermentative bacteria and methanogens provide - essential electron donors (H2), carbon source, and other growth cofactors, required for the RDase activity of the core - OHRB, Dehalogenimonas - explanation: Supports fermenter and methanogen support for Dehalogenimonas reductive dehalogenase activity. + snippet: This robust consortium forms a synergistic metabolic network, where fermentative bacteria and methanogens + provide essential electron donors (H2), carbon source, and other growth cofactors, required for the RDase + activity of the core OHRB, Dehalogenimonas + explanation: The authors propose this support network in the community-composition discussion; the in vitro + assays do not directly resolve the proposed partner exchanges or feedback. environmental_factors: - name: BDE 99 and beta-TBCO exposure panel value: BDE 99, beta-TBCO, and BDE 99/beta-TBCO at 3 uM per target @@ -376,18 +378,43 @@ metal_notes: No metal or rare-earth element processing was reported; QY2-S1 was organic pollutants. discussions: - discussion_id: QY2S1_SPECIES_AND_RDH_IDENTITY - prompt: Species- or strain-level Dehalogenimonas identities and the specific reductive dehalogenase genes responsible for - BDE 99 and beta-TBCO transformation remain unresolved. + prompt: Species- or strain-level Dehalogenimonas identities and the specific reductive dehalogenase genes responsible + for BDE 99 and beta-TBCO transformation remain unresolved. kind: KNOWLEDGE_GAP status: OPEN attaches_to: - taxonomy - rationale: The source identifies Dehalogenimonas by genus-level 16S rRNA amplicon sequencing and infers RDase involvement - from organohalide respiration, but it does not report a Dehalogenimonas genome, strain, or causal RDase knockout. + rationale: The source identifies Dehalogenimonas by genus-level 16S rRNA amplicon sequencing and infers RDase + involvement from organohalide respiration, but it does not report a Dehalogenimonas genome, strain, or causal + RDase knockout. +- discussion_id: qy2_support_network_feedback + prompt: Which partner exchanges and product-removal feedback, if any, support Dehalogenimonas in QY2-S1? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Fermenter-Methanogen Support for Dehalogenimonas RDase Activity + rationale: Section 2.3 proposes indirect methanogen support through hydrogen consumption. Absolute 16S abundance + and pollutant/product kinetics do not isolate that feedback or demonstrate the proposed carbon/cofactor provision. + Current SYNTROPHY does not assert obligacy; the missing criterion is demonstrated product-removal feedback. + The positive transformation and co-exposure inhibition results remain unchanged outside this node. + evidence: + - reference: PMID:42511722 + supports: PARTIAL + evidence_source: IN_VITRO + snippet: By maintaining extremely low H2 partial pressures, methanogens prevent the feedback inhibition of fermentation + explanation: Identifies the authors proposed feedback explanation, not a measured partner-specific perturbation + or flux. curation_history: - timestamp: '2026-09-22T18:16:04Z' curator: claude action: ADD_COMMUNITY_RECORD - changes: Added CommunityMech:000424 for the QY2-S1 Dehalogenimonas-rich BDE 99 and beta-TBCO bioremediation enrichment described - in PMID:42511722. + changes: Added CommunityMech:000424 for the QY2-S1 Dehalogenimonas-rich BDE 99 and beta-TBCO bioremediation enrichment + described in PMID:42511722. + llm_assisted: true +- timestamp: '2026-10-07T14:46:11Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Qualify the existing support network as HYPOTHESIZED/PARTIAL, distinguish proposed methanogen hydrogen + consumption from donor provision, and remove categorical SYNTROPHY without requiring obligacy. Issue #1746; + reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml' llm_assisted: true diff --git a/kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml b/kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml index 0f433be07..7e6aa04e4 100644 --- a/kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml +++ b/kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml @@ -254,16 +254,16 @@ taxonomy: explanation: Identifies isolate 106 as a member of SCDY1. ecological_interactions: - name: SCDY1 Arabidopsis salt-stress growth promotion - description: SCDY1 improved Arabidopsis root elongation and biomass under moderate sodium-chloride stress, with the clearest - overall response at 120 mM NaCl. - interaction_type: MUTUALISM + description: SCDY1 improved Arabidopsis root elongation and biomass under moderate sodium-chloride stress, with + the clearest overall response at 120 mM NaCl. This is a host-growth outcome, not evidence of reciprocal fitness + benefits to the plant and bacterial members. scope: COMMUNITY_LEVEL evidence: - reference: doi:10.64898/2026.07.15.738596 supports: SUPPORT evidence_source: IN_VIVO - snippet: SCDY1 promoted primary root elongation and biomass accumulation in a salinity-dependent manner, with the clearest - effect under 120 mM NaCl + snippet: SCDY1 promoted primary root elongation and biomass accumulation in a salinity-dependent manner, with + the clearest effect under 120 mM NaCl explanation: Supports the SCDY1 plant-growth phenotype under salt stress. environmental_factors: - name: primary NaCl screening stress @@ -321,3 +321,22 @@ curation_history: action: CREATE_RECORD changes: Created CommunityMech:000459 for the nine-isolate quinoa-derived SCDY1 salt-stress SynCom from doi:10.64898/2026.07.15.738596. llm_assisted: true +- timestamp: '2026-10-07T14:46:11Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain supported SCDY1 plant growth and its SUPPORT evidence; remove MUTUALISM because the cited evidence + does not establish reciprocal benefit, and record the abstract-only access boundary. Issue #1747; reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml' + llm_assisted: true +discussions: +- discussion_id: scdy1_host_benefit_scope + prompt: Does SCDY1 confer reciprocal fitness benefits, and which mechanisms mediate the plant-growth response? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#SCDY1 Arabidopsis salt-stress growth promotion + rationale: The cited preprint abstract supports plant growth under salt stress and recovery of a subset of bacteria; + recoverability alone does not establish bacterial benefit or unaffected fitness. Host transcriptional and root-hair + responses are not demonstrated causal mediators. The complete preprint body was not retrieved in this review, + so missing access is not evidence that additional controls are absent. The independently retrieved accepted + journal abstract corroborates the endpoint, but does not supersede the historical preprint evidence. No COMMENSALISM + substitution or previously removed recovery/epidermal node is added. diff --git a/kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml b/kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml index a0d867ff2..58af2db5d 100644 --- a/kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml +++ b/kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml @@ -138,10 +138,11 @@ taxonomy: explanation: Identifies Streptomyces griseoincarnatus SC as an RH1 member. ecological_interactions: - name: RH1 glyphosate biodegradation - description: The four Streptomyces members were compatible in the antagonism assay and, as the RH1 mixed culture, degraded - glyphosate at all tested initial concentrations. At 50 mg/L glyphosate, RH1 exceeded the previously reported single-strain - removal and TOC-reduction rates. Pairwise exchange metabolites and glyphosate-catabolic genes were not directly resolved. - interaction_type: MUTUALISM + description: The four Streptomyces members were compatible in the antagonism assay and, as the RH1 mixed culture, + degraded glyphosate at all tested initial concentrations. At 50 mg/L glyphosate, RH1 exceeded the previously + reported single-strain removal and TOC-reduction rates. Pairwise exchange metabolites and glyphosate-catabolic + genes were not directly resolved. Compatibility and greater aggregate performance do not establish reciprocal + fitness benefits among the four members. scope: COMMUNITY_LEVEL metabolites: - preferred_term: glyphosate @@ -153,32 +154,30 @@ ecological_interactions: term: id: GO:0006805 label: xenobiotic metabolic process - downstream: - - target: RH1 total organic carbon reduction - description: Glyphosate transformation by the mixed RH1 culture reduced TOC after 15 days at 50 mg/L initial glyphosate. evidence: - reference: PMID:42582159 supports: SUPPORT evidence_source: IN_VITRO - snippet: The antagonism test of strains Herb, IT, SC, and SPA2 showed a negative result, which explains that these actinobacterial - strains could be cultured together to form the consortium RH1. + snippet: The antagonism test of strains Herb, IT, SC, and SPA2 showed a negative result, which explains that + these actinobacterial strains could be cultured together to form the consortium RH1. explanation: Supports compatibility among the four Streptomyces members before glyphosate-degradation testing. - reference: PMID:42582159 supports: SUPPORT evidence_source: IN_VITRO - snippet: The consortium RH1 degraded 92.06% of the initial glyphosate concentration (50 mg/L) within 15 days under optimal - conditions (Temperature 30 °C, pH 7.2, and inoculum volume 4%). + snippet: The consortium RH1 degraded 92.06% of the initial glyphosate concentration (50 mg/L) within 15 days + under optimal conditions (Temperature 30 °C, pH 7.2, and inoculum volume 4%). explanation: Supports the RH1 degradation endpoint and its comparison concentration. - reference: PMID:42582159 supports: SUPPORT evidence_source: IN_VITRO - snippet: This rate of biodegradation is maximal compared to the single strains Herb, IT, SC, and SPA2, which degraded - 78.36%, 48.82%, 73.56%, and 68.22% respectively, at the same conditions + snippet: This rate of biodegradation is maximal compared to the single strains Herb, IT, SC, and SPA2, which + degraded 78.36%, 48.82%, 73.56%, and 68.22% respectively, at the same conditions explanation: Supports the consortium-level improvement over the four individual members. - name: RH1 total organic carbon reduction - description: At 50 mg/L initial glyphosate, the RH1 consortium removed 91.03% of measured total organic carbon over the - 15-day incubation, supporting substantial transformation of glyphosate-derived organic carbon. - interaction_type: MUTUALISM + description: At 50 mg/L initial glyphosate, RH1 showed a 91.03% decrease in measured total organic carbon after + 15 days. TOC was measured after centrifugation and filtration. This positive processed-sample endpoint does + not distinguish mineralization from biomass incorporation or other carbon partitioning, and does not independently + establish a direct glyphosate-transformation-to-TOC causal link. scope: COMMUNITY_LEVEL metabolites: - preferred_term: glyphosate @@ -189,10 +188,11 @@ ecological_interactions: - reference: PMID:42582159 supports: SUPPORT evidence_source: IN_VITRO - snippet: The results of the reduction of total organic carbon by the actinobacteria consortium RH1, using glyphosate as - the sole carbon source at a concentration of 50 mg/L, showed that the consortium was able to eliminate 91.03% of the - total organic carbon during a 15-day incubation period. - explanation: Supports TOC reduction by RH1 at the 50 mg/L glyphosate comparison point. + snippet: The results of the reduction of total organic carbon by the actinobacteria consortium RH1, using glyphosate + as the sole carbon source at a concentration of 50 mg/L, showed that the consortium was able to eliminate + 91.03% of the total organic carbon during a 15-day incubation period. + explanation: Supports the reported TOC decrease; methods 2.4 establish that samples were centrifuged and filtered, + so this is not a closed carbon-balance measurement. environmental_factors: - name: Initial glyphosate concentration range value: 1, 10, 25, 50, 100, and 200 @@ -343,20 +343,48 @@ discussions: status: OPEN attaches_to: - ecological_interactions#RH1 glyphosate biodegradation - rationale: The paper explains that glyphosate degradation can proceed through the AMPA and sarcosine pathways and proposes - phnJ, dadA, and soxA as future molecular targets; the authors state that functional genes were not directly characterized - in this study. The RH1 record therefore asserts only the observed degradation, TOC, ATR-FTIR, and kinetic endpoints. + rationale: The paper explains that glyphosate degradation can proceed through the AMPA and sarcosine pathways + and proposes phnJ, dadA, and soxA as future molecular targets; the authors state that functional genes were + not directly characterized in this study. The RH1 record therefore asserts only the observed degradation, TOC, + ATR-FTIR, and kinetic endpoints. evidence: - reference: PMID:42582159 supports: SUPPORT evidence_source: IN_VITRO - snippet: Although functional genes were not directly characterized in this study, the observed biodegradation behavior - strongly indicates the involvement of conserved phosphonate-degrading genetic systems, warranting future molecular analyses - targeting genes such as phnJ, dadA, and soxA. + snippet: Although functional genes were not directly characterized in this study, the observed biodegradation + behavior strongly indicates the involvement of conserved phosphonate-degrading genetic systems, warranting + future molecular analyses targeting genes such as phnJ, dadA, and soxA. explanation: Supports leaving the proposed glyphosate-pathway genes as an open mechanistic gap. +- discussion_id: rh1_fitness_and_carbon_fate + prompt: How are member fitness benefits and glyphosate-derived carbon partitioned in RH1? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#RH1 glyphosate biodegradation + - ecological_interactions#RH1 total organic carbon reduction + rationale: The negative antagonism test demonstrates compatibility, not MUTUALISM. The single-strain comparisons + cite earlier work, and consortium-level growth/removal does not measure each member benefit. Glyphosate removal, + ATR-FTIR changes and TOC decline remain positive observations, but centrifuged/filtered TOC does not resolve + mineralization versus biomass or other partitioning. The stoichiometric reaction is predicted, not an empirical + carbon balance. The direct arrow between the two outcome nodes is removed while both endpoints and the existing + unresolved-gene discussion are preserved. + evidence: + - reference: PMID:42582159 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: After 15 days of incubation, samples were centrifuged, filtered, and diluted before analysis + explanation: Methods 2.4 delimit the measured TOC fraction; this preparation does not itself resolve the missing + carbon fate. curation_history: - timestamp: '2026-09-13T12:33:33Z' curator: claude action: CREATE_RH1_GLYPHOSATE_CONSORTIUM changes: Created the RH1 Glyphosate Streptomyces Consortium record from PMID:42582159. llm_assisted: true +- timestamp: '2026-10-07T14:46:11Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Retain consortium glyphosate removal and compatibility, remove unsupported MUTUALISM and the unproven + carbon-fate arrow.; Retain the 91.03% processed-sample TOC endpoint without MUTUALISM or treating it as measured + mineralization or a closed carbon balance. Issue #1748; reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml' + llm_assisted: true diff --git a/reports/causal_graph_review/README.md b/reports/causal_graph_review/README.md index c761bacef..aee620b5c 100644 --- a/reports/causal_graph_review/README.md +++ b/reports/causal_graph_review/README.md @@ -998,3 +998,17 @@ claim of main-text access. Canonical taxonomy and other non-graph fields are preserved, not certified; missing participant support is exposed rather than silently credited. Repairs #1711-#1714 await protected-main merge; research #1715 and metadata #1716 remain open. One Edison dry run, no paid submission. + +## Batch92: Hypotheses And Outcome Boundaries + +[Decisions](decisions/20261007-four-records-batch92.yaml), +[validation](validation-20261007-batch92.json) and +[self-adversarial review](adversarial-review-20261007-batch92.yaml) cover Pu'er, +QY2-S1, SCDY1 and RH1. Five nodes remain; one unsupported RH1 carbon-fate +arrow is removed. Pu'er's association-only record is unchanged. QY2 support +is an explicit hypothesis, SCDY1 plant benefit is not reciprocal fitness, +and RH1's processed-sample TOC endpoint is not a closed carbon balance. +Two fresh primary main bodies, one existing primary full-text extraction +and two SCDY1 abstract versions were read. A selected cache excerpt is not +independent source verification. No new topology or Edison spend; repairs +#1746-#1748 await protected-main merge. Self-review is not independent approval. diff --git a/reports/causal_graph_review/adversarial-review-20261007-batch92.yaml b/reports/causal_graph_review/adversarial-review-20261007-batch92.yaml new file mode 100644 index 000000000..176c68f1d --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261007-batch92.yaml @@ -0,0 +1,201 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 5fb1fb3d8fa26c4f424be17f7a380e3f9c0eaee6 +scope: +- kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml +- kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml +- kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml +- kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml +decision_ledger: reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml +validation_report: reports/causal_graph_review/validation-20261007-batch92.json +findings: +- issue: 1746 + severity: P2 + status: addressed_in_this_change + finding: Bound QY2-S1 inferred support network and syntrophy evidence + disposition: Close only after protected-main merge. +- issue: 1747 + severity: P2 + status: addressed_in_this_change + finding: Do not infer SCDY1 mutualism from Arabidopsis growth promotion + disposition: Close only after protected-main merge. +- issue: 1748 + severity: P2 + status: addressed_in_this_change + finding: Separate RH1 removal endpoints from mutualism and carbon-fate causality + disposition: Close only after protected-main merge. +adversarial_checks: +- Fresh both-root baseline preceded source reading; all four whole records and five original nodes/one arrow accounted + for. One record unchanged and three scoped repairs. No density-driven invented graph structure. +- Pu'er remains an association-only community outcome. ROAV/VIP ranking, temporal metabolite correlations and broad-pile + bacterial predictors do not establish member-specific production or cross-kingdom causal exchange. Its bytes, + earlier removed succession node and cultivation fields remain untouched. +- QY2 keeps the authors support hypothesis with PARTIAL evidence. The exact primary discussion treats methanogens + as potential hydrogen consumers; neither the broad donor sentence nor absolute16S establishes exchange or product-removal + feedback. Current SYNTROPHY does not require obligacy. No intrinsic-organism node or extra topology restored. +- SCDY1 retains supported host growth without translating recoverability into reciprocal benefit or zero effect. + No COMMENSALISM fallback, root-hair mediator arrow or previously removed nodes. The graph quote independently + matches the official preprint API abstract; the accepted abstract corroborates the outcome but is not final formatted + full text. No claim that unread controls are absent. +- RH1 retains compatibility, glyphosate/TOC endpoints and prior single-strain comparison context. Aggregate benefit + is not member fitness. Methods2.4 processed the TOC samples, and the balanced reaction is predicted; neither resolves + empirical carbon fate. Removing the direct arrow does not deny biodegradation, mineralization as a possibility, + or the measured91.03% endpoint. +- QY2 and RH1 complete primary main bodies read; Pu'er main body read from existing primary extraction; SCDY1 abstract-only. + No figure-pixel, raw-data or full supplement audit. Fresh source access and cache-only evidence explicitly differ. + No access-control bypass, new wet-lab protocol, growth optimization, genetic design or paid Edison submission. +- All existing discussions and curation events preserved semantically; three new append-only histories. All prior + tracked history and decision files byte-identical. Non-graph raw blocks,457otherrecords and921caches unchanged; + canonical participant assignments and measured legacy census unchanged. +- Seven new regressions, four focused schema/strict/term/reference/snippet gates and three history validations. + All56existingwarnings unchanged with zero structural defects. Deterministic HTML and exact description parsing + are not browser screenshots; generated-model loader1703 remains outside certification. +- All-state issue dedup and ignored-inclusive local search recorded, with explicit exclusions. Repairs1746/1747/1748 + remain open until protected-main merge; no claim of independent approval or corpus completion. Prior unanswered/denied + provider scopes are unchanged. +verification: + combined_regressions: 848 passed in 236.44s (0:03:56) + new_regression_tests: 7 + primary_graph_snippet_proof: + graph_quotations: 8 + new_discussion_quotations: 2 + fresh_primary_matches: 8 + existing_primary_extraction_matches: 2 + retained_nodes: 5 + removed_nodes: 0 + retained_arrows: 0 + removed_arrows: 1 + new_nodes_or_directions: 0 + fresh_main_bodies_read: 2 + existing_main_bodies_read: 1 + scdy1_primary_abstract_versions_read: 2 + cache_changes: 0 + references: All four full-record CLI and local snippet checks passed. Selected SCDY1 cache text can match literally + without independent provenance. Its graph quote separately matches the fresh official abstract; Pu'er graph + quotes match existing primary extraction. Two other main bodies are fresh. CLI Total checks counts issues, not + executed checks; literal matching is not entailment. + snippet_counts_by_record: + kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml: + MATCH: 15 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml: + MATCH: 22 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml: + MATCH: 16 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml: + MATCH: 24 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + full_corpus_snippet_audit: + caveat: Both-root audit executed; informational exit0 is not clean-corpus certification. Selected-cache matches + are literal, not independent verification. + counts: + records: 460 + total: 8932 + categories: + MATCH: 8797 + RENDERING: 20 + ASSEMBLED: 1 + WEAK: 0 + MISMATCH: 38 + NOCONTENT: 76 + network: + existing_findings_preserved: 56 + added_findings: {} + removed_findings: {} + interpretation: Five nodes retained; one unproven RH1 arrow removed. All56existingwarnings unchanged, zero structural + defects; no taxonomy or auditor-rule changes. + tested_file_sha256: + reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml: 73d40c40dca10b7548a1fe0346ea8de924df5bb224ae256fcba5b48912d1fff5 + tests/test_causal_review_batch92.py: ae0fe5de3c7a381e9b268c3bf8f65179a7c257b3527f64a90838595a0bb56612 + reports/causal_graph_review/README.md: a80eb3796c63a7db994644c99cf2447e87bad272256e70f016ebe04e72fca00a + kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml: ce86bf2668f811e616cd1feef671d7580920303cc0714a82a6cce5ec7c7bec97 + kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml: a634e28075ce72c27b0bb6348b68bde7ece13d970a0457281aacb8f48710ae3c + kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml: dd5e67d01f8c707eb6e7ef178fcdee359a9bb3a57df210d4256dab0efcb266c3 + kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml: 99a33c579b6b21066de411f2511ee57a684ab3f837d3d3dd347f20ef17b0e6ed + unchanged_records: 457 + unchanged_caches: 921 + immutable_prior_history_and_decision_files: 744 + cache_changes: [] + edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] + repair_scope: No new node or direction; qualify existing hypotheses/outcomes and remove one unproven arrow. + post_commit_docs_current: Separate publication gate, not preasserted. +participant_census: + measurements: + baseline: + records: 460 + with_community_level: 396 + mixed: 126 + community_level_only: 270 + taxa: 1523 + credited_solely_by_the_rule: 1249 + current: + records: 460 + with_community_level: 396 + mixed: 126 + community_level_only: 270 + taxa: 1523 + credited_solely_by_the_rule: 1249 + delta: + records: 0 + with_community_level: 0 + mixed: 0 + community_level_only: 0 + taxa: 0 + credited_solely_by_the_rule: 0 +corpus: + records: 460 + nodes: 1420 + edges: 583 + review_status_counts: + needs_research: 48 + pending: 128 + reviewed: 284 +limitations: +- Four complete records and all five existing nodes/one arrow reviewed; Pu'er unchanged, three bounded repairs. + No new node, direction, experimental protocol or paid provider run. +- Two fresh primary main bodies read (QY2/RH1) including embedded table text/captions, existing Pu'er primary main-body + extraction read, and two versions of the SCDY1 primary abstract read. No fresh Pu'er full text, complete SCDY1 + body, raw data, figure-pixel or complete supplement review. Missing access is not absence of controls. +- Pu'er remains association-only; temporal confounding and broader-pile bacterial predictors are not starter-member + causal assignments. Existing cultivation and taxonomy fields are unchanged, not optimized or certified. +- SYNTROPHY explicitly does not assert obligacy. QY2 feedback is an authors hypothesis, not a resolved partner mechanism; + measured transformation and inhibition remain outside the graph. The prior intrinsic-respiration node is not restored. +- SCDY1 plant benefit remains supported without asserting mutualism, commensalism or transcript/root-hair causal + mediation. The selected_full_text cache is not independent validation; the graph quote matches the fresh official + abstract. Non-graph source snippets remain subject to the independent-cache retrieval gap. +- RH1 endpoints and earlier single-strain comparisons remain; compatibility and aggregate growth are not member + fitness. Processed-sample TOC is not a closed empirical carbon balance; predicted stoichiometry is not measured + mineralization. The existing gene gap remains, with no new engineering details. +- All921caches and457otherrecord files preserved. Canonical participant assignments and non-graph blocks unchanged. + Existing histories and decision ledgers are append-only. A sparse single-node outcome can be complete within reviewed + scope; no graph density target is imposed. +- Ignored/hidden local dedup included, excluding .git/docs/site/references_cache, with relevant caches separately + checked. All-state issue titles/bodies refreshed; ten matching closed issue bodies read. Comments and PRs were + not exhaustively searched. Repair1746/1747/1748 close only after protected-main merge. +- Self-adversarial review is not independent approval, generated-model loader certification or corpus completion. + Loader1703 and prior pending/denied Edison scopes remain unchanged. Validation and publication are subsequent + gates, not preasserted. diff --git a/reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml b/reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml new file mode 100644 index 000000000..3302058bc --- /dev/null +++ b/reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml @@ -0,0 +1,347 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 5fb1fb3d8fa26c4f424be17f7a380e3f9c0eaee6 +baseline_commit: 5fb1fb3d8fa26c4f424be17f7a380e3f9c0eaee6 +base_tree: 449355448ac2337a465440fd87013586a21eb45d +pre_source_baseline_sha256: 53c15d9530cf6ad08256d164f96e25e2973e4acd995e346d3dc0a87c1ea0c49a +issues: +- 1746 +- 1747 +- 1748 +unresolved_research_issues: [] +unresolved_non_graph_issues: [] +issue_deduplication: + all_state_issue_titles_and_bodies: 1012 + matching_issues: + - 1182 + - 1181 + - 1180 + - 1179 + - 1075 + - 1063 + - 1062 + - 844 + - 843 + - 842 + ignored_hidden_local_search: true +source_access: +- reference: PMID:42331835 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=EXT_ID%3A42331835+AND+SRC%3AMED&format=json&resultType=core + accessed_scope: Primary abstract only; complete main text not retrieved through Europe PMC. +- reference: PMID:42511722 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13410018/fullTextXML + accessed_scope: Primary abstract and complete main body available, including embedded table text/captions; no + separate supplement, raw data or figure-pixel review implied. +- reference: PMID:42582159 + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC13457305/fullTextXML + accessed_scope: Primary abstract and complete main body available, including embedded table text/captions; no + separate supplement, raw data or figure-pixel review implied. +- reference: PMID:42331835 + url: https://doi.org/10.1038/s41538-026-00945-x + accessed_scope: 'Existing primary article-in-press PDF extraction: complete main body through methods read, plus + figure captions/table1; no fresh full-text retrieval, numerical table2 not fully audited, no figure pixels or + supplements.' +- reference: doi:10.64898/2026.07.15.738596 + url: https://api.biorxiv.org/details/biorxiv/10.64898/2026.07.15.738596 + accessed_scope: Fresh official primary abstract; complete body not retrieved. Direct page403, XML attempt sandbox + DNS failure. Selected cache is not independent primary text. +- reference: doi:10.3389/fpls.2026.1934646 + url: https://www.frontiersin.org/journals/plant-science/articles/10.3389/fpls.2026.1934646/abstract + accessed_scope: Accepted publisher abstract; final formatted article not yet available. No historical citation + replacement. +primary_artifacts: + /private/tmp/communitymech-batch92/baseline.json: 53c15d9530cf6ad08256d164f96e25e2973e4acd995e346d3dc0a87c1ea0c49a + /private/tmp/communitymech-batch92/created-issues.json: 28860646f123b99a7c2908f3300d33cd4d74d1724ede635d21ffab89b1bca8ea + /private/tmp/communitymech-batch92/issue-dedup-current.json: 9afb2c24b3285298061f6771057429080fc2f778a9c0b52a8c13e1ce98a2b20e + /private/tmp/communitymech-batch92/issue-matches.json: 4e8f5fda11b5d08eb2ca4138171a0e827bcb27bf7063141cd4ae2afe052a1296 + /private/tmp/communitymech-batch92/issues.json: 2c77f09a841cf206e708524cd0d98bbff9a4b98f071d4725fb681400eaaf2c35 + /private/tmp/communitymech-batch92/local-matches.txt: 46ecd06262c68e8989d034bd65057af88e91808ae8dcc7e588b28e682ba8524e + /private/tmp/communitymech-batch92/primary-manifest.json: 922f9a44b09030a0b98e8ef974d7f9f61b75255bd39b9685605114e099a4d706 + /private/tmp/communitymech-batch92/puer-cached-fulltext-wrapped.txt: eb865999381e6d223726e38337f2e214daf9502b5c8f9273a85271308b8b9a28 + /private/tmp/communitymech-batch92/puer-metadata.json: 053bed2c2649b08d0c463322f3541e5d5b90bc8f49c243b0b792e8805ef8d249 + /private/tmp/communitymech-batch92/puer-primary.txt: b956f1eb29610188a36ac78c24d1d67fb4a5ab52d3a4b691444d6f872a5cbe04 + /private/tmp/communitymech-batch92/quinoa-abstract.txt: d0c2c02615b057a729b8139ca9fdb3c18c5877f55398d76c6e7ee6cd656e562f + /private/tmp/communitymech-batch92/quinoa-accepted.html: a0f5c18080a8fb476a705a270a6145ee3ef88b7d0b92f656f2da27988e4019e9 + /private/tmp/communitymech-batch92/quinoa-accepted.txt: 0918f7a149125dbf53aa0d79333b085eda8ffcb90fa1378003297369ce36bc9d + /private/tmp/communitymech-batch92/quinoa-api.json: 061066d78b1751a6778f18c7f519b96a24a5b4dae7e0cb102c97b95e45220888 + /private/tmp/communitymech-batch92/quinoa-source-receipt.json: ac880c88653c7f69e9f39d29ab509caff321d0430316b229716b03357ad6ed1f + /private/tmp/communitymech-batch92/qy2-metadata.json: 4a7cbead0b2bf82464e971da71be5d85df80d6784aea4bb2012320ab5b74ccbc + /private/tmp/communitymech-batch92/qy2-primary.txt: 0dd7fedf7019e240e108ad35510870c671cd0a7724eeb4af2bd1594b02c38215 + /private/tmp/communitymech-batch92/qy2-primary.xml: 2e6a258501b7af2d1a8fcba7e745004cf54d0d8baf7b0d7e9a18ad4ad34056d0 + /private/tmp/communitymech-batch92/qy2-tables.txt: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b + /private/tmp/communitymech-batch92/rh1-metadata.json: 6cf8eb077686f7e49b16fb5fb65fbf914a382e4a35101757a62ed217a58d7cf1 + /private/tmp/communitymech-batch92/rh1-primary.txt: 8bc93ebbf0ab02950ace1819bfc195509a549ccbb3ff92b5251b24d81efdadad + /private/tmp/communitymech-batch92/rh1-primary.xml: 9f91365c7e3f238dfc7ddb897cf756ee8cc0d7b53b8d835732420293eb1d62e9 + /private/tmp/communitymech-batch92/rh1-tables.txt: 7fbd6c4181acfa07b3363bcb939b7287a969ecf137db5e0f7d140b3428f87139 + /private/tmp/communitymech-batch92/source-extras.json: 1b6bd690634202979a2a64d02a50317c2333df8692b1c31fb2f93f681a2b776b + references_cache/PMID_42331835.txt: 3ff603fdf776ae1f93ecd69bac5f62670f448de28361e5c646fa5292944ebadb + references_cache/PMID_42511722.txt: 80c07a0370ed3e2d22408aa0d36a57799b0cefb9300702d3e9b88222f472ec4a + references_cache/PMID_42582159.txt: 1eaad06253ef537d0bcaa48378495b1dd71e395aab7800e95b9d662333c91976 + references_cache/doi_10.64898_2026.07.15.738596.md: 01560e7a5ec31674479341b94d57b4939a86e99a481bae7882135fdc0b5d3b32 +primary_graph_snippet_count: 8 +snippet_checks: +- record: Puer_FloralFruity_Fungal_SynCom + node: Floral-fruity aroma emergence under three-fungus inoculation + evidence_index: 0 + reference: PMID:42331835 + cache_matched: true + independent_primary_match: false + matched_artifact: /private/tmp/communitymech-batch92/puer-cached-fulltext-wrapped.txt + scope: Existing full primary extraction only, not fresh independent full text + cache_is_selected_excerpt: false +- record: Puer_FloralFruity_Fungal_SynCom + node: Floral-fruity aroma emergence under three-fungus inoculation + evidence_index: 1 + reference: PMID:42331835 + cache_matched: true + independent_primary_match: false + matched_artifact: /private/tmp/communitymech-batch92/puer-cached-fulltext-wrapped.txt + scope: Existing full primary extraction only, not fresh independent full text + cache_is_selected_excerpt: false +- record: QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium + node: Fermenter-Methanogen Support for Dehalogenimonas RDase Activity + evidence_index: 0 + reference: PMID:42511722 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch92/qy2-primary.txt + scope: Fresh target-specific primary text; quotation match is not entailment + cache_is_selected_excerpt: false +- record: Quinoa_SCDY1_Salt_Stress_SynCom + node: SCDY1 Arabidopsis salt-stress growth promotion + evidence_index: 0 + reference: doi:10.64898/2026.07.15.738596 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch92/quinoa-abstract.txt + scope: Fresh target-specific primary text; quotation match is not entailment + cache_is_selected_excerpt: true +- record: RH1_Glyphosate_Streptomyces_Consortium + node: RH1 glyphosate biodegradation + evidence_index: 0 + reference: PMID:42582159 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch92/rh1-primary.txt + scope: Fresh target-specific primary text; quotation match is not entailment + cache_is_selected_excerpt: false +- record: RH1_Glyphosate_Streptomyces_Consortium + node: RH1 glyphosate biodegradation + evidence_index: 1 + reference: PMID:42582159 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch92/rh1-primary.txt + scope: Fresh target-specific primary text; quotation match is not entailment + cache_is_selected_excerpt: false +- record: RH1_Glyphosate_Streptomyces_Consortium + node: RH1 glyphosate biodegradation + evidence_index: 2 + reference: PMID:42582159 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch92/rh1-primary.txt + scope: Fresh target-specific primary text; quotation match is not entailment + cache_is_selected_excerpt: false +- record: RH1_Glyphosate_Streptomyces_Consortium + node: RH1 total organic carbon reduction + evidence_index: 0 + reference: PMID:42582159 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch92/rh1-primary.txt + scope: Fresh target-specific primary text; quotation match is not entailment + cache_is_selected_excerpt: false +discussion_snippet_checks: +- record: QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium + node: qy2_support_network_feedback + evidence_index: 0 + reference: PMID:42511722 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch92/qy2-primary.txt + scope: Fresh target-specific primary text; quotation match is not entailment + cache_is_selected_excerpt: false +- record: RH1_Glyphosate_Streptomyces_Consortium + node: rh1_fitness_and_carbon_fate + evidence_index: 0 + reference: PMID:42582159 + cache_matched: true + independent_primary_match: true + matched_artifact: /private/tmp/communitymech-batch92/rh1-primary.txt + scope: Fresh target-specific primary text; quotation match is not entailment + cache_is_selected_excerpt: false +cache_changes: [] +edison: + required_for_this_repair: false + required_for_unresolved_extensions: false + provider_submissions: 0 + credits_spent: 0 + dry_runs: [] + repair_scope: No new node or direction; qualify existing hypotheses/outcomes and remove one unproven arrow. +limitations: +- Four complete records and all five existing nodes/one arrow reviewed; Pu'er unchanged, three bounded repairs. + No new node, direction, experimental protocol or paid provider run. +- Two fresh primary main bodies read (QY2/RH1) including embedded table text/captions, existing Pu'er primary main-body + extraction read, and two versions of the SCDY1 primary abstract read. No fresh Pu'er full text, complete SCDY1 + body, raw data, figure-pixel or complete supplement review. Missing access is not absence of controls. +- Pu'er remains association-only; temporal confounding and broader-pile bacterial predictors are not starter-member + causal assignments. Existing cultivation and taxonomy fields are unchanged, not optimized or certified. +- SYNTROPHY explicitly does not assert obligacy. QY2 feedback is an authors hypothesis, not a resolved partner mechanism; + measured transformation and inhibition remain outside the graph. The prior intrinsic-respiration node is not restored. +- SCDY1 plant benefit remains supported without asserting mutualism, commensalism or transcript/root-hair causal + mediation. The selected_full_text cache is not independent validation; the graph quote matches the fresh official + abstract. Non-graph source snippets remain subject to the independent-cache retrieval gap. +- RH1 endpoints and earlier single-strain comparisons remain; compatibility and aggregate growth are not member + fitness. Processed-sample TOC is not a closed empirical carbon balance; predicted stoichiometry is not measured + mineralization. The existing gene gap remains, with no new engineering details. +- All921caches and457otherrecord files preserved. Canonical participant assignments and non-graph blocks unchanged. + Existing histories and decision ledgers are append-only. A sparse single-node outcome can be complete within reviewed + scope; no graph density target is imposed. +- Ignored/hidden local dedup included, excluding .git/docs/site/references_cache, with relevant caches separately + checked. All-state issue titles/bodies refreshed; ten matching closed issue bodies read. Comments and PRs were + not exhaustively searched. Repair1746/1747/1748 close only after protected-main merge. +- Self-adversarial review is not independent approval, generated-model loader certification or corpus completion. + Loader1703 and prior pending/denied Edison scopes remain unchanged. Validation and publication are subsequent + gates, not preasserted. +records: +- path: kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml + id: CommunityMech:000430 + original_sha256: ce86bf2668f811e616cd1feef671d7580920303cc0714a82a6cce5ec7c7bec97 + record_sha256: ce86bf2668f811e616cd1feef671d7580920303cc0714a82a6cce5ec7c7bec97 + status: reviewed + outcome: unchanged + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml + scope: Whole record and every existing node/arrow reviewed; three main bodies (Pu'er from existing primary extraction) + and SCDY1 abstracts read. Not exhaustive new-mechanism discovery or non-graph certification. + summary: Retain the untyped association-only floral-fruity outcome. ROAV/VIP prioritization and temporal microbial + associations do not demonstrate starter-member synthesis or fungal-bacterial causal exchange; no new node or + arrow is warranted. + node_decisions: + - node: Floral-fruity aroma emergence under three-fungus inoculation + rationale: Retain the untyped association-only floral-fruity outcome. ROAV/VIP prioritization and temporal microbial + associations do not demonstrate starter-member synthesis or fungal-bacterial causal exchange; no new node + or arrow is warranted. + removed_node_decisions: [] + renamed_nodes: {} + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - PMID:42331835 + issues: [] + allowed_changed_fields: [] + curation_events_added: 0 + history_files: [] +- path: kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml + id: CommunityMech:000424 + original_sha256: 1c3034feff5fe4328d79ca67a2811c340fca4c297b1bdaf32f609a04a0cebda0 + record_sha256: a634e28075ce72c27b0bb6348b68bde7ece13d970a0457281aacb8f48710ae3c + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml + scope: Whole record and every existing node/arrow reviewed; three main bodies (Pu'er from existing primary extraction) + and SCDY1 abstracts read. Not exhaustive new-mechanism discovery or non-graph certification. + summary: Qualify the existing support network as HYPOTHESIZED/PARTIAL, distinguish proposed methanogen hydrogen + consumption from donor provision, and remove categorical SYNTROPHY without requiring obligacy. + node_decisions: + - node: Fermenter-Methanogen Support for Dehalogenimonas RDase Activity + rationale: Qualify the existing support network as HYPOTHESIZED/PARTIAL, distinguish proposed methanogen hydrogen + consumption from donor provision, and remove categorical SYNTROPHY without requiring obligacy. + removed_node_decisions: [] + renamed_nodes: {} + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - PMID:42511722 + issues: + - 1746 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium/2026-10-07T144612Z-codex-187f33.yaml +- path: kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml + id: CommunityMech:000459 + original_sha256: d1af81a5ffedb3dcc2ffeb32271eb3d66282f82db96b85335e21fdc449b90aac + record_sha256: dd5e67d01f8c707eb6e7ef178fcdee359a9bb3a57df210d4256dab0efcb266c3 + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml + scope: Whole record and every existing node/arrow reviewed; three main bodies (Pu'er from existing primary extraction) + and SCDY1 abstracts read. Not exhaustive new-mechanism discovery or non-graph certification. + summary: Retain supported SCDY1 plant growth and its SUPPORT evidence; remove MUTUALISM because the cited evidence + does not establish reciprocal benefit, and record the abstract-only access boundary. + node_decisions: + - node: SCDY1 Arabidopsis salt-stress growth promotion + rationale: Retain supported SCDY1 plant growth and its SUPPORT evidence; remove MUTUALISM because the cited + evidence does not establish reciprocal benefit, and record the abstract-only access boundary. + removed_node_decisions: [] + renamed_nodes: {} + edges_before: [] + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: [] + references: + - doi:10.64898/2026.07.15.738596 + issues: + - 1747 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/Quinoa_SCDY1_Salt_Stress_SynCom/2026-10-07T144612Z-codex-71fc10.yaml +- path: kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml + id: CommunityMech:000361 + original_sha256: 34aab9c9eb23e2ec903cd6e07d00170cb1510ee003d42d712307c5f7514fb10b + record_sha256: 99a33c579b6b21066de411f2511ee57a684ab3f837d3d3dd347f20ef17b0e6ed + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml + scope: Whole record and every existing node/arrow reviewed; three main bodies (Pu'er from existing primary extraction) + and SCDY1 abstracts read. Not exhaustive new-mechanism discovery or non-graph certification. + summary: Retain consortium glyphosate removal and compatibility, remove unsupported MUTUALISM and the unproven + carbon-fate arrow.; Retain the 91.03% processed-sample TOC endpoint without MUTUALISM or treating it as measured + mineralization or a closed carbon balance. + node_decisions: + - node: RH1 glyphosate biodegradation + rationale: Retain consortium glyphosate removal and compatibility, remove unsupported MUTUALISM and the unproven + carbon-fate arrow. + - node: RH1 total organic carbon reduction + rationale: Retain the 91.03% processed-sample TOC endpoint without MUTUALISM or treating it as measured mineralization + or a closed carbon balance. + removed_node_decisions: [] + renamed_nodes: {} + edges_before: + - source: RH1 glyphosate biodegradation + target: RH1 total organic carbon reduction + description: Glyphosate transformation by the mixed RH1 culture reduced TOC after 15 days at 50 mg/L initial + glyphosate. + edges_after: [] + retained_edge_decisions: [] + removed_edge_decisions: + - source: RH1 glyphosate biodegradation + target: RH1 total organic carbon reduction + description: Glyphosate transformation by the mixed RH1 culture reduced TOC after 15 days at 50 mg/L initial + glyphosate. + rationale: Co-measured removal endpoints do not establish a direct carbon-fate link; processed-sample TOC and + a predicted stoichiometric equation do not resolve carbon partitioning. + references: + - PMID:42582159 + issues: + - 1748 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + history_files: + - history/records/RH1_Glyphosate_Streptomyces_Consortium/2026-10-07T144612Z-codex-6d60ac.yaml diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index 2c73302d6..32cccb4c1 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -328,10 +328,10 @@ kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml Communi kb/communities/Pseudomonas_putida_PpTE_Rhodococcus_RDK17_Terephthalic_Acid_Consortium.yaml CommunityMech:000289 6416089a1d115f7834f71f98182476728a7f936f8b544c6551103c712a2bb825 3 2 100.0 reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml reviewed kb/communities/Pseudomonas_stutzeri_Rhodococcus_Naphthalene_Biochar_Engineered_Consortium.yaml CommunityMech:000291 d987d0d184c409b62a9e96034e7dd8f294742b10bc3adefe4617ddd7208c97f8 3 2 96.7 reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml reviewed kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml CommunityMech:000056 1a0fd950b4dc5fbb21331be3995a2fffb05ac8d4e3df772f5008cb88a9b9d4e6 3 1 80.0 reports/causal_graph_review/decisions/20261007-four-records-batch90.yaml reviewed -kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml CommunityMech:000430 ce86bf2668f811e616cd1feef671d7580920303cc0714a82a6cce5ec7c7bec97 1 0 55.0 pending -kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml CommunityMech:000424 1c3034feff5fe4328d79ca67a2811c340fca4c297b1bdaf32f609a04a0cebda0 1 0 65.0 pending -kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml CommunityMech:000459 d1af81a5ffedb3dcc2ffeb32271eb3d66282f82db96b85335e21fdc449b90aac 1 0 60.0 pending -kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml CommunityMech:000361 34aab9c9eb23e2ec903cd6e07d00170cb1510ee003d42d712307c5f7514fb10b 2 1 85.0 pending +kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml CommunityMech:000430 ce86bf2668f811e616cd1feef671d7580920303cc0714a82a6cce5ec7c7bec97 1 0 55.0 reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml reviewed +kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml CommunityMech:000424 a634e28075ce72c27b0bb6348b68bde7ece13d970a0457281aacb8f48710ae3c 1 0 55.0 reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml reviewed +kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml CommunityMech:000459 dd5e67d01f8c707eb6e7ef178fcdee359a9bb3a57df210d4256dab0efcb266c3 1 0 50.0 reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml reviewed +kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml CommunityMech:000361 99a33c579b6b21066de411f2511ee57a684ab3f837d3d3dd347f20ef17b0e6ed 2 0 60.0 reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml reviewed kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml CommunityMech:000057 d3c36237f68173f12cefde17c9e77da99bc3f0881b19cee5fe8c26c7504deb52 4 4 100.0 pending kb/communities/Rhizorhabdus_Cupriavidus_BDE47_Degradation_SynCom.yaml CommunityMech:000388 4f2a5d14b7ea38493ab5ebbe98d0be69659aac8b0811479b24c2d2ba1741bd81 3 2 100.0 pending kb/communities/Rhodococcus_Acinetobacter_RAMC_Mixed_Plastic_Upcycling_SynCom.yaml CommunityMech:000412 583655d32e85bb7a2786ba99f814f00b83dde9a5dca8e3d3b6d0b4f38ab28d46 1 0 65.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index 4734d87ed..5013e3756 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": 1420, - "edges": 584, + "edges": 583, "records_without_nodes": 8, - "records_without_edges": 173, + "records_without_edges": 174, "review_status_counts": { "needs_research": 48, - "pending": 132, - "reviewed": 280 + "pending": 128, + "reviewed": 284 }, "structural_defects": [], "network_audit": [ diff --git a/reports/causal_graph_review/validation-20261007-batch92.json b/reports/causal_graph_review/validation-20261007-batch92.json new file mode 100644 index 000000000..bd7a76000 --- /dev/null +++ b/reports/causal_graph_review/validation-20261007-batch92.json @@ -0,0 +1,1058 @@ +{ + "base_commit": "5fb1fb3d8fa26c4f424be17f7a380e3f9c0eaee6", + "scope": [ + "kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml", + "kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml", + "kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml", + "kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml" + ], + "results": [ + { + "check": "Puer_FloralFruity_Fungal_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Puer_FloralFruity_Fungal_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Puer_FloralFruity_Fungal_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch92/Puer_FloralFruity_Fungal_SynCom-strict.tsv", + "kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Puer_FloralFruity_Fungal_SynCom-strict.log", + "log_sha256": "53c3d3c6da5dd01ef03acad040fd2ae50c4c24d081c280e677c6bbaa52628190", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch92/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-batch92/Puer_FloralFruity_Fungal_SynCom-strict.tsv\n" + }, + { + "check": "Puer_FloralFruity_Fungal_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Puer_FloralFruity_Fungal_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Puer_FloralFruity_Fungal_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Puer_FloralFruity_Fungal_SynCom-references.log", + "log_sha256": "bb8f96bd0daa139d31dbf0cf70d99e945fd84ed94c3f64ba702cb9b73dad5a60", + "output_tail": "Validating kb/communities/Puer_FloralFruity_Fungal_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/Puer_FloralFruity_Fungal_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": "Puer_FloralFruity_Fungal_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Puer_FloralFruity_Fungal_SynCom-snippets.log", + "log_sha256": "826e9c1ef5038bfe5995c8f56b27f9f6d8418cb9a40f124b1547f2d75876c305", + "output_tail": "# 15 evidence snippets scanned across 1 files\n MATCH 15\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": "Puer_FloralFruity_Fungal_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Puer_FloralFruity_Fungal_SynCom-rank.log", + "log_sha256": "162d9e70610c601df3481697edaa7b3fb2a9a7588b9480fa6567da7691f1aa07", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000430\",\n \"name\": \"Pu'er Floral-Fruity Fungal SynCom\",\n \"score\": 55.0,\n \"taxonomy\": 3,\n \"connected_taxa\": 3,\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/Puer_FloralFruity_Fungal_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch92/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-strict.tsv", + "kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-strict.log", + "log_sha256": "b87362fefc10179f1076ee43b70a2f1f81cc455b128e62dcf734cc7f5075bd10", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch92/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-batch92/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-strict.tsv\n" + }, + { + "check": "QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-references.log", + "log_sha256": "4fa5c693bbd6ec8cfd54a61b61b597e743cfaad227eb301ec2edd62fc111a8ba", + "output_tail": "Validating kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-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": "QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-rank.log", + "log_sha256": "947eaca722dfeeea71f09d03a709e1ffe4826e98c75b81465df11688fdbe7122", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000424\",\n \"name\": \"QY2-S1 Dehalogenimonas-Rich Brominated-Flame-Retardant Consortium\",\n \"score\": 55.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 1,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 1,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml\"\n }\n]\n" + }, + { + "check": "QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium/2026-10-07T144612Z-codex-187f33.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Quinoa_SCDY1_Salt_Stress_SynCom-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Quinoa_SCDY1_Salt_Stress_SynCom-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "Quinoa_SCDY1_Salt_Stress_SynCom-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch92/Quinoa_SCDY1_Salt_Stress_SynCom-strict.tsv", + "kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Quinoa_SCDY1_Salt_Stress_SynCom-strict.log", + "log_sha256": "ee4dcffd0e81185e239ec3724d764d5eb5aa5cb59235665dc60de6c60adab462", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch92/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-batch92/Quinoa_SCDY1_Salt_Stress_SynCom-strict.tsv\n" + }, + { + "check": "Quinoa_SCDY1_Salt_Stress_SynCom-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Quinoa_SCDY1_Salt_Stress_SynCom-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "Quinoa_SCDY1_Salt_Stress_SynCom-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Quinoa_SCDY1_Salt_Stress_SynCom-references.log", + "log_sha256": "5190a37f11785c020cfff9109e546853b978d8fc2343f591b6335f2467245a1b", + "output_tail": "Validating kb/communities/Quinoa_SCDY1_Salt_Stress_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/Quinoa_SCDY1_Salt_Stress_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": "Quinoa_SCDY1_Salt_Stress_SynCom-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Quinoa_SCDY1_Salt_Stress_SynCom-snippets.log", + "log_sha256": "f77044cea09a90a006f3fc48666f62a208521829981c6819a3a36631506c4ec1", + "output_tail": "# 16 evidence snippets scanned across 1 files\n MATCH 16\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": "Quinoa_SCDY1_Salt_Stress_SynCom-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Quinoa_SCDY1_Salt_Stress_SynCom-rank.log", + "log_sha256": "89333c61b70653bbd27a4ae388cc5fc3e97dbc4e609622a265c753aecc748666", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000459\",\n \"name\": \"Quinoa SCDY1 Salt-Stress SynCom\",\n \"score\": 50.0,\n \"taxonomy\": 9,\n \"connected_taxa\": 9,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 1,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 1,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"metabolites_or_biological_processes\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml\"\n }\n]\n" + }, + { + "check": "Quinoa_SCDY1_Salt_Stress_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/Quinoa_SCDY1_Salt_Stress_SynCom/2026-10-07T144612Z-codex-71fc10.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/Quinoa_SCDY1_Salt_Stress_SynCom-history-0.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "RH1_Glyphosate_Streptomyces_Consortium-schema", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/RH1_Glyphosate_Streptomyces_Consortium-schema.log", + "log_sha256": "de6087f4be8c0adc015333597cd864406ad889bbde42d9ee20db0df5932bb2de", + "output_tail": "No issues found\n" + }, + { + "check": "RH1_Glyphosate_Streptomyces_Consortium-strict", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/private/tmp/communitymech-batch92/RH1_Glyphosate_Streptomyces_Consortium-strict.tsv", + "kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/RH1_Glyphosate_Streptomyces_Consortium-strict.log", + "log_sha256": "963e52e2ccdf018b0397c922f18f473556b5462759c65d77b9ea083874e99847", + "output_tail": "Validating 1 files with 1 workers; schema=/private/tmp/communitymech-causal-batch92/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-batch92/RH1_Glyphosate_Streptomyces_Consortium-strict.tsv\n" + }, + { + "check": "RH1_Glyphosate_Streptomyces_Consortium-terms", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/neDBQyZXv0RYv8B1GH0dI/bin/linkml-term-validator", + "validate-data", + "kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/RH1_Glyphosate_Streptomyces_Consortium-terms.log", + "log_sha256": "23acda1c1d3194d12bc947d897d07de83f4a076a9d93c135148885108530e018", + "output_tail": "\u2705 Validation passed\n" + }, + { + "check": "RH1_Glyphosate_Streptomyces_Consortium-references", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-reference-validator", + "validate", + "data", + "kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/RH1_Glyphosate_Streptomyces_Consortium-references.log", + "log_sha256": "5ff72ddb92691f8fb55e2dfd5922580ec68550168282ed2ff150d5ead9ff0020", + "output_tail": "Validating kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n", + "explained_output_tail": "Validating kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "RH1_Glyphosate_Streptomyces_Consortium-snippets", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/RH1_Glyphosate_Streptomyces_Consortium-snippets.log", + "log_sha256": "2ffa6e242265b4c1c2eb555bd8bd14abb6cc63ed4d5a8a818da9b515db44daff", + "output_tail": "# 24 evidence snippets scanned across 1 files\n MATCH 24\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": "RH1_Glyphosate_Streptomyces_Consortium-rank", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml", + "--format", + "json" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/RH1_Glyphosate_Streptomyces_Consortium-rank.log", + "log_sha256": "4c9210598f61e4bc81bdf9ac29a4c1eb0fb24e46ec39850098df0d949937cd83", + "output_tail": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000361\",\n \"name\": \"RH1 Glyphosate Streptomyces Consortium\",\n \"score\": 60.0,\n \"taxonomy\": 4,\n \"connected_taxa\": 4,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 2,\n \"downstream_edges\": 0,\n \"interaction_evidence\": 4,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"additional_interactions\",\n \"downstream\",\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml\"\n }\n]\n" + }, + { + "check": "RH1_Glyphosate_Streptomyces_Consortium-history-0", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/RH1_Glyphosate_Streptomyces_Consortium/2026-10-07T144612Z-codex-6d60ac.yaml" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/RH1_Glyphosate_Streptomyces_Consortium-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-batch92/inventory.log", + "log_sha256": "d1d0eabee5278d64e352413be98b1ce4642bc9925c58674fa2533e7d5da1779e", + "output_tail": "{\n \"scope\": \"Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.\",\n \"semantic_review_rule\": \"Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.\",\n \"records\": 460,\n \"nodes\": 1420,\n \"edges\": 583,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 174,\n \"review_status_counts\": {\n \"needs_research\": 48,\n \"pending\": 128,\n \"reviewed\": 284\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-batch92/network.log", + "log_sha256": "8febc2a966f5c2b51cd59095a8877c8773cd1e9383e5214bcdc3832c5858c097", + "output_tail": " \"total_genomes\": 17191,\n \"is_reclassified\": false,\n \"mapping_source\": \"kg-microbe NCBI2GTDB.tsv.gz; GTDB release latest (built 2026-07-25)\"\n },\n \"notes\": \"The eLife panel denotes this P. aeruginosa mutant as strain 5; represented at species level for ontology stability.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"mexZ\"\n },\n \"abundance_value\": \"Full-factorial SynCom panel member 5\",\n \"evidence\": [\n {\n \"reference\": \"PMID:42153623\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Strains 1\\u20138 (as labeled in the main text) correspond, in order, to mutants pAOV, PA14, NfxB, ParR- CAZ, mexZ, OrfN, NfxB- CAZ, and MDR6- CAZ\",\n \"explanation\": \"Maps the source's strain numbers to the eight P. aeruginosa mutant labels.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas aeruginosa mexZ' has no interactions\"\n }\n ],\n \"Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom\": [\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Twelve-Strain SynCom Suppression of Sclerotinia Sclerotia\",\n \"interaction_index\": 0,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Trinickia MC Key Contribution to Sclerotia Mortality\",\n \"interaction_index\": 1,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Space_Habitat_SevenMember_Stress_Tolerance_SynCom\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Acinetobacter radioresistens 50V1\",\n \"taxon_id\": \"NCBITaxon:40216\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Acinetobacter radioresistens 50V1\",\n \"term\": {\n \"id\": \"NCBITaxon:40216\",\n \"label\": \"Acinetobacter radioresistens\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate came from the preflight Mars Odyssey Orbiter; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"50V1\",\n \"genome_accession\": \"GCA_002834555.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Acinetobacter radioresistens | 50V1 | Preflight Mars Odyssey Orbiter | \\u2013 | Mccoy et al., 2012 | GCA_002834555.1 | TSYB/TSYA | 37 \\u00b0C | 16\\u201318 h\",\n \"explanation\": \"Identifies A. radioresistens 50V1 as a consortium member and gives its spacecraft-associated source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Acinetobacter radioresistens 50V1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Micrococcus luteus W4-Al-K1\",\n \"taxon_id\": \"NCBITaxon:1270\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Micrococcus luteus W4-Al-K1\",\n \"term\": {\n \"id\": \"NCBITaxon:1270\",\n \"label\": \"Micrococcus luteus\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from an ISS aluminum-case touch array; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"W4-Al-K1\",\n \"genome_accession\": \"GCA_057816565.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Micrococcus luteus | W4-Al-K1 | ISS, Touch Array Aluminum Case | - | Kr\\u00e4mer et al., 2025 | GCA_057816565.1 | NB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies M. luteus W4-Al-K1 as a consortium member and gives its ISS source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Micrococcus luteus W4-Al-K1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"taxon_id\": \"NCBITaxon:64702\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"term\": {\n \"id\": \"NCBITaxon:64702\",\n \"label\": \"Propionibacterium cyclohexanicum\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. cyclohexanicum type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"TA-12T\",\n \"genome_accession\": \"GCA_900111365\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"16859\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Propionibacterium cyclohexanicum | TA-12 T | Spoilt Orange Juice | DSM 16859 T | Kusano et al., 1997 | GCA_900111365 | BHI, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies P. cyclohexanicum TA-12T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Propionibacterium cyclohexanicum TA-12T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas antarctica CMS 35T\",\n \"taxon_id\": \"NCBITaxon:219572\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas antarctica CMS 35T\",\n \"term\": {\n \"id\": \"NCBITaxon:219572\",\n \"label\": \"Pseudomonas antarctica\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. antarctica type strain as a biosafety-level-1 Pseudomonas surrogate.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"CMS 35T\",\n \"genome_accession\": \"GCA_010634845\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"15318\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pseudomonas antarctica | CMS 35 T | Antarctica | DSM 15318 T | Reddy et al., 2004 | GCA_010634845 | TSYB/TSYA | Ambient | 12\\u201316 h\",\n \"explanation\": \"Identifies P. antarctica CMS 35T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "check": "just-network-json", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_codes": [ + 2 + ], + "log": "/private/tmp/communitymech-batch92/just-network-json.log", + "log_sha256": "8595db43420d3f0a01c57acd6ad733a531a72e962486d20b4e1c2840dda55bff", + "output_tail": "uv run communitymech audit-network --json\nerror: Failed to spawn: `communitymech`\n Caused by: No such file or directory (os error 2)\nerror: recipe `audit-network-json` failed on line 574 with exit code 2\n" + }, + { + "check": "rank-all", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/rank-all.log", + "log_sha256": "350631f50acb6483a665d0c9ac1f7f3b829862a2cd5664466ee8a136f653a0d0", + "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-batch92/render.log", + "log_sha256": "2bf41d6145d1f14f5e00d7f46c7fb290b3e82a3b0bc0d5b56aa1d77ac4a2f46d", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch92/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch92/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch92/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-batch92/render-repeat.log", + "log_sha256": "2bf41d6145d1f14f5e00d7f46c7fb290b3e82a3b0bc0d5b56aa1d77ac4a2f46d", + "output_tail": "sm.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 /private/tmp/communitymech-causal-batch92/docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to /private/tmp/communitymech-causal-batch92/docs/communities\n \u2713 Generated browser at /private/tmp/communitymech-causal-batch92/docs/browser.html\n \u2713 Generated landing at /private/tmp/communitymech-causal-batch92/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-batch91')),('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-batch92/connectivity-survey.log", + "log_sha256": "0a3e2264d8517443edbaf49c24795268ac88303e6a1ac2a60b435487f48e5c07", + "output_tail": "{\"baseline\": {\"records\": 460, \"with_community_level\": 396, \"mixed\": 126, \"community_level_only\": 270, \"taxa\": 1523, \"credited_solely_by_the_rule\": 1249}, \"current\": {\"records\": 460, \"with_community_level\": 396, \"mixed\": 126, \"community_level_only\": 270, \"taxa\": 1523, \"credited_solely_by_the_rule\": 1249}}\n" + }, + { + "check": "regressions", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch10.py", + "tests/test_causal_review_batch11.py", + "tests/test_causal_review_batch12.py", + "tests/test_causal_review_batch13.py", + "tests/test_causal_review_batch14.py", + "tests/test_causal_review_batch15.py", + "tests/test_causal_review_batch16.py", + "tests/test_causal_review_batch17.py", + "tests/test_causal_review_batch18.py", + "tests/test_causal_review_batch19.py", + "tests/test_causal_review_batch20.py", + "tests/test_causal_review_batch21.py", + "tests/test_causal_review_batch22.py", + "tests/test_causal_review_batch23.py", + "tests/test_causal_review_batch24.py", + "tests/test_causal_review_batch25.py", + "tests/test_causal_review_batch27.py", + "tests/test_causal_review_batch28.py", + "tests/test_causal_review_batch29.py", + "tests/test_causal_review_batch30.py", + "tests/test_causal_review_batch31.py", + "tests/test_causal_review_batch32.py", + "tests/test_causal_review_batch33.py", + "tests/test_causal_review_batch34.py", + "tests/test_causal_review_batch35.py", + "tests/test_causal_review_batch36.py", + "tests/test_causal_review_batch37.py", + "tests/test_causal_review_batch38.py", + "tests/test_causal_review_batch39.py", + "tests/test_causal_review_batch40.py", + "tests/test_causal_review_batch41.py", + "tests/test_causal_review_batch42.py", + "tests/test_causal_review_batch43.py", + "tests/test_causal_review_batch44.py", + "tests/test_causal_review_batch45.py", + "tests/test_causal_review_batch46.py", + "tests/test_causal_review_batch47.py", + "tests/test_causal_review_batch48.py", + "tests/test_causal_review_batch49.py", + "tests/test_causal_review_batch5.py", + "tests/test_causal_review_batch50.py", + "tests/test_causal_review_batch51.py", + "tests/test_causal_review_batch52.py", + "tests/test_causal_review_batch53.py", + "tests/test_causal_review_batch54.py", + "tests/test_causal_review_batch55.py", + "tests/test_causal_review_batch56.py", + "tests/test_causal_review_batch57.py", + "tests/test_causal_review_batch58.py", + "tests/test_causal_review_batch59.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch60.py", + "tests/test_causal_review_batch61.py", + "tests/test_causal_review_batch62.py", + "tests/test_causal_review_batch63.py", + "tests/test_causal_review_batch64.py", + "tests/test_causal_review_batch65.py", + "tests/test_causal_review_batch66.py", + "tests/test_causal_review_batch67.py", + "tests/test_causal_review_batch68.py", + "tests/test_causal_review_batch69.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch70.py", + "tests/test_causal_review_batch71.py", + "tests/test_causal_review_batch72.py", + "tests/test_causal_review_batch73.py", + "tests/test_causal_review_batch74.py", + "tests/test_causal_review_batch75.py", + "tests/test_causal_review_batch76.py", + "tests/test_causal_review_batch77.py", + "tests/test_causal_review_batch78.py", + "tests/test_causal_review_batch79.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch80.py", + "tests/test_causal_review_batch81.py", + "tests/test_causal_review_batch82.py", + "tests/test_causal_review_batch83.py", + "tests/test_causal_review_batch84.py", + "tests/test_causal_review_batch85.py", + "tests/test_causal_review_batch86.py", + "tests/test_causal_review_batch87.py", + "tests/test_causal_review_batch88.py", + "tests/test_causal_review_batch89.py", + "tests/test_causal_review_batch9.py", + "tests/test_causal_review_batch90.py", + "tests/test_causal_review_batch91.py", + "tests/test_causal_review_batch92.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-batch92/regressions.log", + "log_sha256": "021576f8d24b2a851655e51aa4fe98922f6c64b29547613dd52cd0db94b314dd", + "output_tail": "........................................................................ [ 8%]\n........................................................................ [ 16%]\n........................................................................ [ 25%]\n........................................................................ [ 33%]\n........................................................................ [ 42%]\n........................................................................ [ 50%]\n........................................................................ [ 59%]\n........................................................................ [ 67%]\n........................................................................ [ 76%]\n........................................................................ [ 84%]\n........................................................................ [ 93%]\n........................................................ [100%]\n848 passed in 236.44s (0:03:56)\n" + }, + { + "check": "black", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/3Q_kifQtLB624D5bBWGIf/bin/black", + "--check", + "tests/test_causal_review_batch92.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/black.log", + "log_sha256": "1a56c7cd8457fd05d978cfbd139d7bfd86e86acaa9b57668e718ef8bccc0cf48", + "output_tail": "All done! \u2728 \ud83c\udf70 \u2728\n1 file would be left unchanged.\n" + }, + { + "check": "ruff", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/wCcxEYRM4HeHgwYPZemHX/bin/ruff", + "check", + "tests/test_causal_review_batch92.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/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-batch92/diff-check.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "output_tail": "" + }, + { + "check": "primary-graph-proof", + "command": [ + "in-process per-evidence checks in finalize.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/primary-graph-proof.log", + "log_sha256": "d8504b0299b3b0cafd503fe01585565c62df63a73e8f49df617d23ff09d4191a", + "output_tail": "{\n \"graph_quotations\": 8,\n \"new_discussion_quotations\": 2,\n \"fresh_primary_matches\": 8,\n \"existing_primary_extraction_matches\": 2,\n \"retained_nodes\": 5,\n \"removed_nodes\": 0,\n \"retained_arrows\": 0,\n \"removed_arrows\": 1,\n \"new_nodes_or_directions\": 0,\n \"fresh_main_bodies_read\": 2,\n \"existing_main_bodies_read\": 1,\n \"scdy1_primary_abstract_versions_read\": 2,\n \"cache_changes\": 0\n}\n" + }, + { + "check": "focused-final", + "command": [ + "/Users/marcin/.cache/uv/archive-v0/l58VlyFvdmnkl0CcAx5Gk/bin/python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch92.py" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/focused-final.log", + "log_sha256": "b7ce2c877a651a381af40f57e3e0cb5bfbc625bded7fab8827bf6ba266c14b54", + "output_tail": "....... [100%]\n7 passed in 1.22s\n" + }, + { + "check": "audit-snippets-all", + "command": [ + "just", + "audit-snippets" + ], + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "log": "/private/tmp/communitymech-batch92/audit-snippets-all.log", + "log_sha256": "f167c60de8219ff75271b7cf7859fec1cf1bd87973f6e6f90b4b9dedf348c84a", + "output_tail": "# 8932 evidence snippets scanned across 460 files\n MATCH 8797\n RENDERING 20\n ASSEMBLED 1\n WEAK 0\n MISMATCH 38\n NOCONTENT 76\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n 19 (19 hard) kb/communities/DCPP_DBS4_DCP4_DCP11d_Degradation_SynCom.yaml\n 15 (15 hard) kb/communities/Fucoidan_Seven_Degrader_Combinatorial_SynCom.yaml\n 3 (3 hard) kb/communities/Coscinodiscus_Synthetic_Community.yaml\n 1 (1 hard) kb/communities/Altered_Schaedler_Flora_Gnotobiotic_Mouse_Community.yaml\nuv run python scripts/evidence_snippet_audit.py \n" + } + ], + "limitations": [ + "Four complete records and all five existing nodes/one arrow reviewed; Pu'er unchanged, three bounded repairs. No new node, direction, experimental protocol or paid provider run.", + "Two fresh primary main bodies read (QY2/RH1) including embedded table text/captions, existing Pu'er primary main-body extraction read, and two versions of the SCDY1 primary abstract read. No fresh Pu'er full text, complete SCDY1 body, raw data, figure-pixel or complete supplement review. Missing access is not absence of controls.", + "Pu'er remains association-only; temporal confounding and broader-pile bacterial predictors are not starter-member causal assignments. Existing cultivation and taxonomy fields are unchanged, not optimized or certified.", + "SYNTROPHY explicitly does not assert obligacy. QY2 feedback is an authors hypothesis, not a resolved partner mechanism; measured transformation and inhibition remain outside the graph. The prior intrinsic-respiration node is not restored.", + "SCDY1 plant benefit remains supported without asserting mutualism, commensalism or transcript/root-hair causal mediation. The selected_full_text cache is not independent validation; the graph quote matches the fresh official abstract. Non-graph source snippets remain subject to the independent-cache retrieval gap.", + "RH1 endpoints and earlier single-strain comparisons remain; compatibility and aggregate growth are not member fitness. Processed-sample TOC is not a closed empirical carbon balance; predicted stoichiometry is not measured mineralization. The existing gene gap remains, with no new engineering details.", + "All921caches and457otherrecord files preserved. Canonical participant assignments and non-graph blocks unchanged. Existing histories and decision ledgers are append-only. A sparse single-node outcome can be complete within reviewed scope; no graph density target is imposed.", + "Ignored/hidden local dedup included, excluding .git/docs/site/references_cache, with relevant caches separately checked. All-state issue titles/bodies refreshed; ten matching closed issue bodies read. Comments and PRs were not exhaustively searched. Repair1746/1747/1748 close only after protected-main merge.", + "Self-adversarial review is not independent approval, generated-model loader certification or corpus completion. Loader1703 and prior pending/denied Edison scopes remain unchanged. Validation and publication are subsequent gates, not preasserted." + ], + "reference_validator_version": "0.1.7", + "snippet_counts_by_record": { + "kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml": { + "MATCH": 15, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml": { + "MATCH": 22, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml": { + "MATCH": 16, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml": { + "MATCH": 24, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + } + }, + "unchanged_record_files": 457, + "unchanged_cache_files": 921, + "unchanged_raw_blocks": 67, + "cache_changes": [], + "edison": { + "required_for_this_repair": false, + "required_for_unresolved_extensions": false, + "provider_submissions": 0, + "credits_spent": 0, + "dry_runs": [], + "repair_scope": "No new node or direction; qualify existing hypotheses/outcomes and remove one unproven arrow." + }, + "primary_artifacts": { + "/private/tmp/communitymech-batch92/baseline.json": "53c15d9530cf6ad08256d164f96e25e2973e4acd995e346d3dc0a87c1ea0c49a", + "/private/tmp/communitymech-batch92/created-issues.json": "28860646f123b99a7c2908f3300d33cd4d74d1724ede635d21ffab89b1bca8ea", + "/private/tmp/communitymech-batch92/issue-dedup-current.json": "9afb2c24b3285298061f6771057429080fc2f778a9c0b52a8c13e1ce98a2b20e", + "/private/tmp/communitymech-batch92/issue-matches.json": "4e8f5fda11b5d08eb2ca4138171a0e827bcb27bf7063141cd4ae2afe052a1296", + "/private/tmp/communitymech-batch92/issues.json": "2c77f09a841cf206e708524cd0d98bbff9a4b98f071d4725fb681400eaaf2c35", + "/private/tmp/communitymech-batch92/local-matches.txt": "46ecd06262c68e8989d034bd65057af88e91808ae8dcc7e588b28e682ba8524e", + "/private/tmp/communitymech-batch92/primary-manifest.json": "922f9a44b09030a0b98e8ef974d7f9f61b75255bd39b9685605114e099a4d706", + "/private/tmp/communitymech-batch92/puer-cached-fulltext-wrapped.txt": "eb865999381e6d223726e38337f2e214daf9502b5c8f9273a85271308b8b9a28", + "/private/tmp/communitymech-batch92/puer-metadata.json": "053bed2c2649b08d0c463322f3541e5d5b90bc8f49c243b0b792e8805ef8d249", + "/private/tmp/communitymech-batch92/puer-primary.txt": "b956f1eb29610188a36ac78c24d1d67fb4a5ab52d3a4b691444d6f872a5cbe04", + "/private/tmp/communitymech-batch92/quinoa-abstract.txt": "d0c2c02615b057a729b8139ca9fdb3c18c5877f55398d76c6e7ee6cd656e562f", + "/private/tmp/communitymech-batch92/quinoa-accepted.html": "a0f5c18080a8fb476a705a270a6145ee3ef88b7d0b92f656f2da27988e4019e9", + "/private/tmp/communitymech-batch92/quinoa-accepted.txt": "0918f7a149125dbf53aa0d79333b085eda8ffcb90fa1378003297369ce36bc9d", + "/private/tmp/communitymech-batch92/quinoa-api.json": "061066d78b1751a6778f18c7f519b96a24a5b4dae7e0cb102c97b95e45220888", + "/private/tmp/communitymech-batch92/quinoa-source-receipt.json": "ac880c88653c7f69e9f39d29ab509caff321d0430316b229716b03357ad6ed1f", + "/private/tmp/communitymech-batch92/qy2-metadata.json": "4a7cbead0b2bf82464e971da71be5d85df80d6784aea4bb2012320ab5b74ccbc", + "/private/tmp/communitymech-batch92/qy2-primary.txt": "0dd7fedf7019e240e108ad35510870c671cd0a7724eeb4af2bd1594b02c38215", + "/private/tmp/communitymech-batch92/qy2-primary.xml": "2e6a258501b7af2d1a8fcba7e745004cf54d0d8baf7b0d7e9a18ad4ad34056d0", + "/private/tmp/communitymech-batch92/qy2-tables.txt": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b", + "/private/tmp/communitymech-batch92/rh1-metadata.json": "6cf8eb077686f7e49b16fb5fb65fbf914a382e4a35101757a62ed217a58d7cf1", + "/private/tmp/communitymech-batch92/rh1-primary.txt": "8bc93ebbf0ab02950ace1819bfc195509a549ccbb3ff92b5251b24d81efdadad", + "/private/tmp/communitymech-batch92/rh1-primary.xml": "9f91365c7e3f238dfc7ddb897cf756ee8cc0d7b53b8d835732420293eb1d62e9", + "/private/tmp/communitymech-batch92/rh1-tables.txt": "7fbd6c4181acfa07b3363bcb939b7287a969ecf137db5e0f7d140b3428f87139", + "/private/tmp/communitymech-batch92/source-extras.json": "1b6bd690634202979a2a64d02a50317c2333df8692b1c31fb2f93f681a2b776b", + "references_cache/PMID_42331835.txt": "3ff603fdf776ae1f93ecd69bac5f62670f448de28361e5c646fa5292944ebadb", + "references_cache/PMID_42511722.txt": "80c07a0370ed3e2d22408aa0d36a57799b0cefb9300702d3e9b88222f472ec4a", + "references_cache/PMID_42582159.txt": "1eaad06253ef537d0bcaa48378495b1dd71e395aab7800e95b9d662333c91976", + "references_cache/doi_10.64898_2026.07.15.738596.md": "01560e7a5ec31674479341b94d57b4939a86e99a481bae7882135fdc0b5d3b32" + }, + "immutable_prior_history_and_decision_files": 744, + "network_delta": { + "existing_findings_preserved": 56, + "added_findings": {}, + "removed_findings": {}, + "interpretation": "Five nodes retained; one unproven RH1 arrow removed. All56existingwarnings unchanged, zero structural defects; no taxonomy or auditor-rule changes." + }, + "render_determinism": true, + "published_description_coverage": { + "pages": 456, + "nodes": 1406, + "arrows": 575 + }, + "render_scope": "Deterministic rendering and exact HTML-description parser, not browser screenshots; postcommit docs-current is a separate publication gate.", + "participant_census": { + "measurements": { + "baseline": { + "records": 460, + "with_community_level": 396, + "mixed": 126, + "community_level_only": 270, + "taxa": 1523, + "credited_solely_by_the_rule": 1249 + }, + "current": { + "records": 460, + "with_community_level": 396, + "mixed": 126, + "community_level_only": 270, + "taxa": 1523, + "credited_solely_by_the_rule": 1249 + } + }, + "delta": { + "records": 0, + "with_community_level": 0, + "mixed": 0, + "community_level_only": 0, + "taxa": 0, + "credited_solely_by_the_rule": 0 + } + }, + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1420, + "edges": 583, + "records_without_nodes": 8, + "records_without_edges": 174, + "review_status_counts": { + "needs_research": 48, + "pending": 128, + "reviewed": 284 + }, + "structural_defects": [] + }, + "tested_file_sha256": { + "reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml": "73d40c40dca10b7548a1fe0346ea8de924df5bb224ae256fcba5b48912d1fff5", + "tests/test_causal_review_batch92.py": "ae0fe5de3c7a381e9b268c3bf8f65179a7c257b3527f64a90838595a0bb56612", + "reports/causal_graph_review/README.md": "a80eb3796c63a7db994644c99cf2447e87bad272256e70f016ebe04e72fca00a", + "kb/communities/Puer_FloralFruity_Fungal_SynCom.yaml": "ce86bf2668f811e616cd1feef671d7580920303cc0714a82a6cce5ec7c7bec97", + "kb/communities/QY2S1_Dehalogenimonas_BFR_Bioremediation_Consortium.yaml": "a634e28075ce72c27b0bb6348b68bde7ece13d970a0457281aacb8f48710ae3c", + "kb/communities/Quinoa_SCDY1_Salt_Stress_SynCom.yaml": "dd5e67d01f8c707eb6e7ef178fcdee359a9bb3a57df210d4256dab0efcb266c3", + "kb/communities/RH1_Glyphosate_Streptomyces_Consortium.yaml": "99a33c579b6b21066de411f2511ee57a684ab3f837d3d3dd347f20ef17b0e6ed" + }, + "pre_research_baseline": { + "base_commit": "5fb1fb3d8fa26c4f424be17f7a380e3f9c0eaee6", + "base_tree": "449355448ac2337a465440fd87013586a21eb45d", + "research_worktree": "/private/tmp/communitymech-causal-batch91", + "checks": [ + { + "name": "rank", + "command": [ + "just", + "rank-causal-graphs" + ], + "exit_code": 0, + "expected_exit_code": 0, + "log": "/private/tmp/communitymech-batch92/baseline-rank.log", + "sha256": "fcbba865b298c67eaee888d8b170ee794b4288f718a537d66bf1b160f199fad8" + }, + { + "name": "just-network", + "command": [ + "just", + "audit-network-json" + ], + "exit_code": 2, + "expected_exit_code": 2, + "log": "/private/tmp/communitymech-batch92/baseline-just-network.log", + "sha256": "8595db43420d3f0a01c57acd6ad733a531a72e962486d20b4e1c2840dda55bff" + }, + { + "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-batch92/baseline-network.log", + "sha256": "8febc2a966f5c2b51cd59095a8877c8773cd1e9383e5214bcdc3832c5858c097" + }, + { + "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-batch92/baseline-downstream.log", + "sha256": "58d9828a53cba01e5898c38c58a068629d123025bd93954e57fc54745cece7b0" + } + ], + "baseline_sha256": "53c15d9530cf6ad08256d164f96e25e2973e4acd995e346d3dc0a87c1ea0c49a" + }, + "reference_validator_caveat": "All four full-record CLI and local snippet checks passed. Selected SCDY1 cache text can match literally without independent provenance. Its graph quote separately matches the fresh official abstract; Pu'er graph quotes match existing primary extraction. Two other main bodies are fresh. CLI Total checks counts issues, not executed checks; literal matching is not entailment.", + "status": "verified_existing_graph_repairs_with_source_access_limits", + "full_corpus_snippet_counts": { + "records": 460, + "total": 8932, + "categories": { + "MATCH": 8797, + "RENDERING": 20, + "ASSEMBLED": 1, + "WEAK": 0, + "MISMATCH": 38, + "NOCONTENT": 76 + } + }, + "full_corpus_snippet_audit_caveat": "Both-root audit executed; informational exit0 is not clean-corpus certification. Selected-cache matches are literal, not independent verification.", + "primary_graph_snippet_proof": { + "graph_quotations": 8, + "new_discussion_quotations": 2, + "fresh_primary_matches": 8, + "existing_primary_extraction_matches": 2, + "retained_nodes": 5, + "removed_nodes": 0, + "retained_arrows": 0, + "removed_arrows": 1, + "new_nodes_or_directions": 0, + "fresh_main_bodies_read": 2, + "existing_main_bodies_read": 1, + "scdy1_primary_abstract_versions_read": 2, + "cache_changes": 0 + } +} diff --git a/tests/test_causal_review_batch92.py b/tests/test_causal_review_batch92.py new file mode 100644 index 000000000..04bbe2c16 --- /dev/null +++ b/tests/test_causal_review_batch92.py @@ -0,0 +1,100 @@ +"""Keep outcome evidence distinct from partner fitness and causal carbon fate.""" + +import hashlib +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261007-four-records-batch92.yaml" + + +def records(): + ledger = yaml.safe_load(LEDGER.read_text()) + rows = ledger["records"] + return ledger, rows, [yaml.safe_load((ROOT / r["path"]).read_text()) for r in rows] + + +def test_puer_association_needs_no_forced_mechanism_or_record_edit(): + _, rows, docs = records() + row, doc = rows[0], docs[0] + assert row["outcome"] == "unchanged" and row["allowed_changed_fields"] == [] + assert row["original_sha256"] == row["record_sha256"] + assert row["history_files"] == [] and row["curation_events_added"] == 0 + (node,) = doc["ecological_interactions"] + assert "interaction_type" not in node and "downstream" not in node + assert "associated with" in node["description"] + assert all(e["supports"] == "SUPPORT" for e in node["evidence"]) + + +def test_qy2_feedback_is_a_hypothesis_not_a_demonstrated_partner_route(): + _, _, docs = records() + (node,) = docs[1]["ecological_interactions"] + assert node["description"].startswith("HYPOTHESIZED:") + assert "hydrogen consumer" in node["description"] + assert "not as a demonstrated hydrogen donor" in node["description"] + assert "product-removal feedback" in node["description"] + assert "interaction_type" not in node and "downstream" not in node + assert node["evidence"][0]["supports"] == "PARTIAL" + assert "does not assert obligacy" in docs[1]["discussions"][-1]["rationale"] + + +def test_scdy1_preserves_plant_benefit_without_inventing_reciprocal_fitness(): + _, _, docs = records() + (node,) = docs[2]["ecological_interactions"] + assert "120 mM NaCl" in node["description"] + assert "not evidence of reciprocal fitness" in node["description"] + assert "interaction_type" not in node and "downstream" not in node + assert node["evidence"][0]["supports"] == "SUPPORT" + assert "missing access is not evidence" in docs[2]["discussions"][-1]["rationale"] + assert "growth_media" not in docs[2] + + +def test_rh1_keeps_two_endpoints_but_no_mutualism_or_carbon_fate_arrow(): + _, _, docs = records() + removal, toc = docs[3]["ecological_interactions"] + assert all("interaction_type" not in n and "downstream" not in n for n in [removal, toc]) + assert "previously reported single-strain" in removal["description"] + assert "91.03%" in toc["description"] + assert "centrifugation and filtration" in toc["description"] + assert "does not distinguish mineralization" in toc["description"] + assert "predicted, not an empirical carbon balance" in docs[3]["discussions"][-1]["rationale"] + assert docs[3]["discussions"][0]["discussion_id"] == "rh1_glyphosate_pathway_genes" + + +def test_every_existing_node_and_removed_arrow_has_a_disposition(): + _, rows, docs = records() + assert sum(len(r["node_decisions"]) for r in rows) == 5 + assert sum(len(r["edges_before"]) for r in rows) == 1 + assert sum(len(r["removed_edge_decisions"]) for r in rows) == 1 + for row, doc in zip(rows, docs, strict=True): + assert not row["edges_after"] and not row["removed_node_decisions"] + assert {r["node"] for r in row["node_decisions"]} == { + n["name"] for n in doc["ecological_interactions"] + } + assert hashlib.sha256((ROOT / row["path"]).read_bytes()).hexdigest() == row["record_sha256"] + + +def test_provenance_does_not_disguise_selected_excerpts_as_independent_sources(): + ledger, _, _ = records() + checks = ledger["snippet_checks"] + ledger["discussion_snippet_checks"] + assert len(checks) == 10 and all(c["cache_matched"] for c in checks) + assert sum(c["independent_primary_match"] for c in checks) == 8 + selected = [c for c in checks if c["cache_is_selected_excerpt"]] + assert len(selected) == 1 and selected[0]["matched_artifact"].endswith("quinoa-abstract.txt") + assert ledger["cache_changes"] == [] + for path, digest in ledger["primary_artifacts"].items(): + if not path.startswith("/"): + assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == digest + + +def test_repair_history_and_approval_limits_are_explicit(): + ledger, rows, docs = records() + assert ledger["issues"] == [1746, 1747, 1748] and not ledger["independent_approval"] + assert [r["curation_events_added"] for r in rows] == [0, 1, 1, 1] + assert sum(len(r["history_files"]) for r in rows) == 3 + assert ledger["edison"]["provider_submissions"] == ledger["edison"]["credits_spent"] == 0 + assert ledger["edison"]["dry_runs"] == [] + for row, doc in zip(rows[1:], docs[1:], strict=True): + assert doc["curation_history"][-1]["llm_assisted"] + assert (ROOT / row["history_files"][0]).is_file()