Add three new communities from the deep-research-community workflow (CommunityMech:000336-000338) - #747
Conversation
CommunityMech:000336, found by scout-communities and researched with the deep-research-community skill. A defined two-member anaerobic coculture whose gas syntrophy (CO2/H2) turns out to run alongside amino-acid cross-feeding and interspecies cell fusion, so its own authors reclassify it from commensal to mutualistic. Edison could not run — the platform returns 403 at /auth/login (#745) — so the skill's documented non-Edison fallback produced the report instead. Every claim in it was re-verified here: all 21 snippets are exact substrings of the four committed reference caches, every NCBITaxon/CHEBI/GO/ENVO id and label came from a local OAK build, and both GTDB blocks were computed rather than copied. Scoped deliberately to the wild-type pairing. The same laboratory's much higher isopropanol and butanol titers come from genetically modified C. acetobutylicum and belong to a different community. The report's over-claim warnings are honoured in the record: the arginine cross-feeding keeps the paper's hedged "may utilize", the H2-removal mutualism records that the effect was small, and no fusion mechanism is asserted, because the seed paper says it could not find one. Fusion structure cites PMID:32873766 and DNA transfer PMID:38214507 rather than the transcriptomic paper that reports neither. Grounded at species rank: neither strain-level id has a row in the current NCBI2GTDB mapping (#746), so ATCC 824 and DSM 13528 live in strain_designation. Green on validate, validate-strict (330 files), validate-gtdb-all, validate-terms-all, validate-references-explained and audit-network. The reference validation was mutation-checked — a corrupted snippet turned it red, and the restored file was green on the next run. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fp76aWhPUNeyXV3wTH2bYi
Network integrity findingsWarnings only — a member with no interaction yet, or a participant matched by ontology id rather than by name, or one on a community-level interaction that resolves to no member. Reported, but does not fail the build. The full report is attached to the workflow run as an artifact. |
Three defects the review found in the record it had just written. C. ljungdahlii carried abundance_level COMMON, which this schema defines as 0.01-0.1% relative abundance, while the record's own evidence snippet puts it at ~25% of the population. Reasoning from the English word rather than the threshold, and nothing catches it. Both members are DOMINANT, and their explanations now name the threshold they are judged against. The same defect affects 76 of 91 abundance assignments across two-to-four-member synthetic communities in the corpus (#748). interaction_type is now unset on the cell-fusion and DNA-transfer entries. COMMENSALISM asserted that the DNA recipient benefits and MUTUALISM that both partners benefit from fusion; PMID:32873766 and PMID:38214507 show structure, acquisition and integration, not benefit. InteractionTypeEnum classifies by sign and has no value for a transfer mechanism (#749). The slot is optional, so each description says why it is empty rather than picking the least-wrong sign. cultivation_setup notes now say ph_controlled: false is read off the absence of pH-control apparatus in the Methods, not quoted from a claim that pH was uncontrolled. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fp76aWhPUNeyXV3wTH2bYi
Review pass (read-only, then fixes in 38233b2)Reviewed the record adversarially rather than restating it. Three defects in Fixed in this PR1. 2. 3. Filed, not fixed here#748 — #749 — no Checked and found fine
One thing I did not resolve: |
CommunityMech:000337 — Tropidoatractus magnetotacticus tripartite syntrophy. A natural three-guild symbiosis inside one anaerobic ciliate from Gabonese rainforest stream sediment: the host makes H2 in hydrogenosomes, an intracellular sulfate reducer and a Methanoregula endosymbiont consume it, and the sulfate reducer's magnetosome gene cluster gives the eukaryote a magnetotaxis it does not encode itself. The report claimed NCBITaxon:3469242 is the registered species; the local NCBITaxon build says its canonical label is still the provisional "Tropidoatractus sp. MC-2025a", so that is what the record stores, with the published binomial in preferred_term. CommunityMech:000338 — Caragana korshinskii cross-kingdom forage SynCom. Deliberately thin, and the record says why in its own description: the paper is gold OA at BMC with no PMC deposit and a publisher bot challenge, so the cache is abstract_only and the ensiling parameters, strains and control values are unreadable rather than unreported. One snippet stops before the ">95%" figure because the cache renders a thin space after the greater-than sign, which no faithful quote can reproduce. Both honour their reports' over-claim warnings rather than the abstracts: the ciliate's H2 edge to the sulfate reducer is PARTIAL because the source says only "could potentially", the magnetotaxis edge carries the failed-FISH limit, and the Lactobacillus surge is not attributed to the inoculated strain, which under current taxonomy is a different genus. Three corpus censuses moved and are updated rather than loosened: - is_reclassified totals 118 -> 121, above-species 34 -> 35, polyphyly 24 -> 26, different-name 73 -> 74, non-reclassification share 38% -> 39%, in all three places #441 requires — the test, the schema description, and the skill. - ANTAGONIST gains Staphylococcus, a spoilage genus the SynCom suppresses and therefore not a member (#319); the participant census goes 25 -> 26. - test_participating_taxa's "nothing uses this slot" tripwire becomes a two-way census of the three records that now do. Adding or removing a user fails, so it still catches the silent-default case it was written for. The connectivity bands in test_community_level_connectivity_credit.py were re-checked and hold. The new census was mutation-checked with a control arm: dropping one entry from USERS turned it red naming that exact record, and the unmutated copy through the identical harness was green. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fp76aWhPUNeyXV3wTH2bYi
GO:0042566 hydrogenosome is a cellular component, not a biological process, and it was sitting in `biological_processes` on CommunityMech:000337. `validate-terms` passed it because the label was right — the slot's range is "a GO term" and no gate checks which of GO's three aspects the term belongs to. Replaced with GO:0006113 fermentation, the process the organelle carries out. Running that aspect check over the whole corpus found 30 more entries that are molecular functions or cellular components (#751). Those are pre-existing and are left alone here. CommunityMech:000338 annotated lactate on two interactions. The abstract says "rapid acidification" and never names an acid; lactate was inferred from the members' physiology, which is what the evidence policy says to omit. Removed, with a note recording that only pyruvate — which the abstract does name — is annotated. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fp76aWhPUNeyXV3wTH2bYi
Second review pass — the two records added in 9d183d2Read-only first, then fixes in a8007f3. Findings beyond what the first pass
The same check over the corpus found 30 more: 28 molecular functions and 2 Lactate was annotated on two of 000338's interactions. The abstract says Checked and found fine
Not mine to fix
|
Three claims the records made that their sources do not. **SYNTROPHY on a facultative pairing.** CommunityMech:000336's CO2/H2 transfer was typed SYNTROPHY, which this enum defines as *obligate* metabolic cooperation. PMID:40298437 grows both species as monocultures in the same experiment — that arm is the study's control — so the cooperation is demonstrably facultative and the type asserted what the source disproves. Now CROSS_FEEDING. Every paper on this pairing calls it a syntrophy, so the mismatch is between the literature's loose usage and this schema's strict definition; the other 134 SYNTROPHY uses in the corpus are unaudited and filed as #752. **MUTUALISM where no benefit is claimed.** 000336's emergent non-native metabolites and 000338's acidification-driven preservation both carried MUTUALISM. The sources report that the pairing makes products neither member makes alone, and that the consortium drives a coordinated process — statements about the output, not about either member benefiting from another. Both types are now unset with the reason recorded, as for the fusion and DNA-transfer entries (#749). **PRIMARY_DEGRADER on an organism whose diet is unknown.** 000337's ciliate host carried it; the enum means "degrades complex substrates" and PMID:42475569 establishes only that the host ferments and releases H2. Removed, and the taxon notes say why, so it is not re-added. SYNTROPHY stays on that record's H2 edges: those partners are intracellular endosymbionts whose methanogen MAGs show the genome reduction typical of them, so obligacy is at least plausible there. The snippet audit was proved non-vacuous on this branch before trusting its clean result: planting an absent snippet surfaced the record as a fabrication suspect, and restoring it cleared the finding. No evidence, snippet, grounding or taxonomy changed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fp76aWhPUNeyXV3wTH2bYi
Third review pass (read-only, then fixes in 01947f3)Went looking for claims the records make that their sources do not. Found three, Fixed
Retyped
That makes four untyped interactions in this PR, against exactly 1 in the
Checked and found fine
Still not mine to fix
|
Three new records produced by running the
deep-research-communityworkflow endto end — literature scouting, deep research, independent re-verification, curation.
What each one is
000336 — a defined anaerobic coculture whose gas syntrophy turns out not to be
the whole story: the pair also cross-feeds arginine and histidine, fuses cells and
exchanges protein, RNA and DNA in bulk, and the authors use that to reclassify the
relationship from commensal to mutualistic. Nine interactions.
000337 — a natural three-guild symbiosis inside one anaerobic ciliate from
Gabonese rainforest stream sediment. The host makes H₂ in hydrogenosomes; an
intracellular sulfate reducer and a Methanoregula endosymbiont consume it; and
the sulfate reducer's magnetosome gene cluster gives the eukaryote a magnetotaxis
it does not encode itself. A eukaryote-plus-two-prokaryotes community, which is a
shape the KB did not have.
000338 — a three-member, two-kingdom silage inoculant. Deliberately thin, and
the record says so in its own description: the paper is gold OA at BMC but has no
PMC deposit, Europe PMC serves no full text, and the publisher returns a bot
challenge, so the ensiling parameters, strain designations and control values are
unreadable rather than unreported. It carries the Europe PMC check to re-run
once a PMCID appears.
How they were made
scout-communitiesover Europe PMC — four presets,--since 2025,--emit-stubs— giving 44 distinct sourced NEW candidates.deep-research-communityon three selected stubs.Edison is down; the documented fallback ran instead
just research-community-edisonfails at authentication with403 Forbiddenonhttps://api.platform.edisonscientific.com/auth/login, reproduced on everyattempt. Filed as #745. No credits were spent there — auth never succeeds, so
no task is created.
The skill's own non-Edison path (
just research-community claude_code <target>)works, and produced all three reports: 445–565 s and $2.06–$2.99 each, $7.78
total, versus Edison's advertised few cents.
research/is gitignored, so thereports are not in this diff; their paths are in the history entries.
The canary rule is why that is a footnote rather than a wasted afternoon — the 403
surfaced on run one, not run ten.
Verification, not transcription
A deep-research report is not a schema-compliant deliverable, and these were
treated accordingly.
caches before being written. Several candidates failed and were shortened: a
line-wrapped phrase in an abstract-only paper, and one in 000338 that has to
stop before the ">95%" figure because the cache renders a thin space (U+2009)
after the greater-than sign, which no faithful quote can reproduce.
table.
reproduces the one already in CommunityMech:000202 exactly (4 genomes,
majority 1.0) — a useful cross-check.
NCBITaxon:3469242as the registered species Tropidoatractus magnetotacticus.The local NCBITaxon build says that id's canonical label is still the
provisional Tropidoatractus sp. MC-2025a — which the report itself listed in a
different row of the same table. The record stores the canonical label with the
published binomial in
preferred_term.arginine cross-feeding keeps the paper's hedged "may utilize" rather than the
abstract's "we verified"; its H₂-removal mutualism records that "the effect was
small"; no fusion mechanism is asserted, because the seed paper says it could not
find one. 000337's H₂ edge to the sulfate reducer is
PARTIALbecause the sourcesays only "could potentially", its magnetotaxis edge carries the failed-FISH
limit, and no geochemistry is asserted because none was measured. 000338 does not
attribute the ">95% Lactobacillus" surge to the inoculated strain, which under
current taxonomy is a different genus.
higher isopropanol/butanol titers come from genetically modified
C. acetobutylicum and are a different community. 000338 imports nothing from
the neighbouring Caragana papers, whose parameters belong to other groups and
would be fabricated evidence here.
Three corpus censuses moved, and are updated rather than loosened
is_reclassified(is_reclassified is documented as a species-level GTDB reclassification but is now set for a genus-level NCBI rename #441 requires three places to agree): totals 118 → 121,above-species 34 → 35, polyphyly 24 → 26, different-name 73 → 74, and the
non-reclassification share 38% → 39% — updated in the test, the schema
description, and
ground-taxa-gtdb/SKILL.md.ANTAGONISTgainsStaphylococcus, a spoilage genus 000338's SynComsuppresses and therefore not a member (23 interaction participants are deliberately absent from taxonomy, shielded from the gate only by scope: COMMUNITY_LEVEL #319). The participant census goes
25 → 26 and the finding count 27 → 28. That interaction is scoped
COMMUNITY_LEVEL, which is what moves it from error to warning severity.test_participating_taxa's "nothing uses this slot yet" tripwire becomes atwo-way census of the three records that now do. Adding or removing a user
fails, so it still catches the silent-default case it was written for. The
connectivity bands in
test_community_level_connectivity_credit.pywerere-checked and hold.
The new census was mutation-checked with a control arm: dropping one entry
from
USERSturned it red naming that exact record, and an unmutated copy throughthe identical harness was green. Same ritual for reference validation on both
full-text records.
Review findings
Fixed in this PR:
abundance_level: COMMONon 000336's C. ljungdahlii was wrong by threeorders of magnitude — the schema defines COMMON as 0.01–0.1% and the record's own
evidence says ~25%.
interaction_typeasserting unearned benefits. 000336's DNA transfer wasCOMMENSALISMand its cell fusionMUTUALISM; the cited papers showacquisition, integration and structure, not benefit. Both are now unset with the
reason in each description.
GO:0042566hydrogenosome is a cellular component, not a biological process,and it was in 000337's
biological_processes.validate-termspassed it becausethe label was right. Now
GO:0006113fermentation.naming an acid — an inference from the members' physiology, which the evidence
policy says to omit.
ph_controlled: falsewas an inference presented as fact; the notes now sayit is read off an absence.
Filed, not fixed here:
abundance_level's documented thresholds are impossible for mostrecords using them: 76 of 91 assignments in ≤4-member synthetic communities
claim the member is under 1% of a community of two to four organisms.
InteractionTypeEnumvalue fits cell fusion, cytoplasmic materialexchange, or HGT. The enum classifies by sign; these are mechanisms of transfer.
biological_processesaccepts any GO term: 30 entries across thecorpus are molecular functions or cellular components, and no gate can see it.
gtdb_ground.py's default paths miss this machine's kg-microbelayout, and strain-level ids no longer reproduce a grounding the KB already
stores.
Validation
just validate/validate-strictjust validate-gtdb-all/validate-gtdb-domainjust validate-terms-alljust validate-references-explainedjust validate-historyjust lint(ruff + mypy)just check-docs-currentcommunitymech audit-networkStaphylococcusis the intended antagonist warninguv run pytestOne local test failure is not from this branch.
test_no_snippet_stops_mid_wordfails on
Methylobacterium_REE_Ewaste_Platform.yaml, an existing record, becauseof an untracked
references_cache/PMID_38150661.mdin the working tree. Movingthat file aside makes the test pass and restoring it makes it fail again. It is not
in this diff and cannot affect CI. Flagging it rather than touching it, since it is
uncommitted work.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Fp76aWhPUNeyXV3wTH2bYi