Add HRA lymph NTR template (41 new terms)#3718
Conversation
Generated via bulk_ntr_workflow from source_data/lymph.csv (46 input rows). Pipeline completed through Stage 4: - 41 new UBERON terms in leaf template - 0 group terms - 3 confirmed existing matches excluded - 1 out-of-scope term excluded - 1 manual-curation term flagged - 7 name corrections reported Resolved final pending row by removing 'ASCTB-TEMP_medial-lymph-node-of-common-illiac-lymph-nodes' from template, as it is a confirmed existing match to UBERON:0037532 (recorded in candidates.tsv). Signed-off-by: dragon-ai-agent <dragon-ai-agent@users.noreply.github.com>
|
Claude finished @zhengj2007's task in 6m 18s —— View job PR Review: Add HRA lymph NTR template (41 new terms)
Review Checklist
🔴 CRITICAL Issues1. Six terms in
2. Semantically wrong
UBERON:0001631 = thoracic duct. The definitions correctly state these vessels drain toward the thoracic duct, but they are not part of the thoracic duct. There is no intercostal space term in UBERON, so the 3. Duplicate FMA:12775 xref will corrupt cross-reference mappings
Three UBERON terms sharing one FMA ID will produce three-way bidirectional mapping conflicts. The two new terms should either have no FMA xref, or be mapped to distinct FMA IDs (if they exist). 4. "left lateral aortic lymph node" name collides with an existing RELATED synonym in UBERON:0016386 The new term UBERON_8930123 uses exactly this string as its primary label. If a new separate concept is justified, the RELATED synonym on UBERON:0016386 must be updated or removed before merging to avoid label duplication. Similarly, the 🟡 IMPORTANT Issues5. "epitrochlear lymph node" (UBERON_8930117) may be redundant with UBERON:0038870
6.
A lymphatic vessel is typically 7.
8.
9. ~15 terms lack PMID support The following terms have only an ASCTB-TEMP URI as
UBERON guidelines prefer at least one PMID per definition. The ASCTB-TEMP IRI is a provenance link to the HRA source, not a citable publication. 🔵 Suggestions10. "circumflex lymphatic channel" (UBERON_8930109) has no 11. "right lateral aortic lymph node" (UBERON_8930141): Unlike its left counterpart, UBERON:0016386 does not carry "right lateral aortic lymph node" as a synonym, so there is no pre-existing label conflict. The is_a parent ( 12. "left anterior mediastinal lymph node" (UBERON_8930121) part_of choice: Consider SummaryThis PR introduces a well-structured NTR template from the HRA lymph source data. The pipeline-level decisions (excluded confirmed matches, flagged manual curation items, corrected naming errors) are documented and largely sound. However, four critical issues must be resolved before the template can build and produce valid OWL:
Additionally, the epitrochlear/cubital overlap (issue #5) warrants explicit curator verification before the term is committed to the ontology. |
There was a problem hiding this comment.
Four critical issues must be resolved before this template can build:
- UNRESOLVABLE: prefix in
part_offields for 6 terms — not a valid OBO/ROBOT IRI, will break the build. - Wrong
part_ofparent: UBERON_8930115 and UBERON_8930116 usepart_of UBERON:0001631(thoracic duct), but these vessels drain toward the thoracic duct — they are not part of it. - Duplicate FMA:12775 xref: UBERON_8930121 and UBERON_8930124 both carry FMA:12775, which is already mapped to UBERON:0035520. Three-way mapping conflict will corrupt cross-references.
- Label collision: "left lateral aortic lymph node" (UBERON_8930123) duplicates an existing RELATED synonym on UBERON:0016386; the synonym on the existing term must be updated or removed.
Additional important items: epitrochlear lymph node (UBERON_8930117) possible redundancy with UBERON:0038870 needs curator sign-off; ~15 terms lack PMID support; several part_of targets need review (UBERON:0007302 for UBERON_8930113; UBERON:0003728 vs :0008820 for UBERON_8930121). Full details in the inline review comment.
|
This PR has not seen any activity in the past month; if nobody comments or reviews it in the next week, the PR creator will be allowed to proceed with merging without explicit approval, should they wish to do so. |
|
Claude finished @zhengj2007's task in 2m 20s —— View job Review Checklist
What changed since the last reviewThe only new commit on this branch ( I re-verified the key claims directly against
🔴 CRITICAL Issues (unresolved from prior review)
🟡 IMPORTANT (still open)
Full term-by-term detail is in the original review comment from 2026-05-26 — it still applies unchanged. Merge recommendationRequest changes. Since the underlying template content hasn't changed, I've submitted another |
There was a problem hiding this comment.
Review Checklist
- Hierarchy and parents are consistent — FAIL (see critical issues #1, #2, #4)
- Definitions and supporting references look adequate — PARTIAL (~15 terms lack PMID support)
- Obsolete or replacement handling is safe — N/A (no obsoletions)
- OBO and ODK conventions appear preserved — FAIL (invalid
UNRESOLVABLE:prefix, duplicate FMA xrefs) - No obvious CI, auth, or workflow regression — PASS (no workflow files touched)
Summary
I re-checked this PR after the latest push. The only new commit (c1a45f2) is a merge of master into this branch (bringing in the 2026-06-23 release) — the actual PR content in src/templates/hra-lymph.template.tsv and related files is byte-identical to what was reviewed on 2026-05-26. I re-verified directly against src/ontology/uberon-edit.obo and none of the four critical issues from the prior review have been addressed:
UNRESOLVABLE:prefix inpart_of— still present for 6 terms (UBERON_8930108, 8930110, 8930123, 8930135, 8930141, 8930144). This is not a valid OBO/ROBOT prefix and will break the template build.- Wrong
part_oftarget — UBERON_8930115 and UBERON_8930116 still usepart_of UBERON:0001631(thoracic duct), even though the definitions say these vessels merely drain toward the thoracic duct. - Duplicate FMA:12775 xref — confirmed via
uberon-edit.obothat UBERON:0035520 (anterior mediastinal lymph node) already carriesxref: FMA:12775. The template still assigns the same xref to two new terms (UBERON_8930121, UBERON_8930124), which will produce a three-way mapping conflict. - Label collision — confirmed UBERON:0016386 (paraaortic lymph node) still carries
synonym: "left lateral aortic lymph node" RELATED [FMA:16604], identical to the new term's primary label (UBERON_8930123). This needs to be resolved (update/remove the existing synonym, or justify the duplication) before merging.
Other important items from the original review are also still open: the epitrochlear (UBERON_8930117) vs. cubital lymph node (UBERON:0038870) overlap needs curator sign-off, ~15 terms still lack PMID support, and several part_of targets remain imprecise (UBERON:0007302 for UBERON_8930113; UBERON:0003728 vs. UBERON:0008820 for UBERON_8930121; UBERON:0035520 as a part_of target for UBERON_8930124).
Full details, including the term-by-term table, are in the prior review comment and inline review from 2026-05-26 — those still apply unchanged. Requesting changes again since the build-breaking and mapping-corrupting issues (#1–#3) remain unresolved.
|
@dragon-ai-agent You can find the terms in src/templates/hra-lymph.template.tsv. |
|
🤖 Working on it... Follow along: View workflow run |
|
@zhengj2007 Here are proposed UBERON 1. UBERON_8930108 — anterior lymph trunk of accompanying suprarenal vein
2. UBERON_8930110 — collecting lymph trunk of lymphatics of soft parts covering posterior thoracic wall
3. UBERON_8930123 — left lateral aortic lymph node
4. UBERON_8930135 — posterior extrathoracic lymph node
5. UBERON_8930141 — right lateral aortic lymph node
6. UBERON_8930144 — subclavicular lymph node
Summary table
Happy to open a follow-up PR applying these 🤖 Generated by @dragon-ai-agent
|
|
@dragon-ai-agent |
|
🤖 Working on it... Follow along: View workflow run |
UBERON_8930115 and UBERON_8930116 previously used part_of UBERON:0001631 (thoracic duct). Their definitions state these vessels drain toward the thoracic duct — they are not part of it. Changed part_of to UBERON:0012198 (intercostal space), matching the anatomical location of the vessels and the precedent used for the intercostal lymph node (UBERON:0012236), which is located_in the intercostal space. Sign-off: @dragon-ai-agent --- 🤖 Generated by @dragon-ai-agent - Model: claude-opus-4-7 - Agent harness: claude-code - Triggered by: @zhengj2007 - Run: https://github.com/obophenotype/uberon/actions/runs/28914458310
|
Applied the fix in Diff
RationaleThe definitions state these vessels drain from the intercostal spaces (their source region) toward the thoracic duct — they are not part of the thoracic duct itself. This is also consistent with existing UBERON precedent: The other four critical review items from the prior reviews remain open ( 🤖 Generated by @dragon-ai-agent
|
|
Claude finished @dragon-ai-agent's task in 1m 47s —— View job Review Checklist
What changed since the last reviewCommit
Everything else in 🔴 CRITICAL Issues (still open)1. Six terms still have invalid values in the 2. Duplicate Re-verified against
Three UBERON terms sharing one FMA ID produces a three-way bidirectional mapping conflict. These two new terms should either drop the FMA xref or map to a distinct/correct FMA ID. 3. "left lateral aortic lymph node" collides with an existing RELATED synonym on UBERON:0016386 Re-verified: UBERON:0016386 (paraaortic lymph node) still carries 🟡 IMPORTANT Issues (still open)4. "epitrochlear lymph node" (UBERON_8930117) possible redundancy with UBERON:0038870 (cubital lymph node) — 5. ~15 terms lack PMID support — only an ASCTB-TEMP URI as 6. Imprecise
SummaryThe thoracic-duct
Requesting changes again until these are fixed. Proposed replacement values for issue #1 are already available in the comment thread and just need to be applied to the template. |
There was a problem hiding this comment.
Review Checklist
- Hierarchy and parents are consistent — FAIL (issues #1, #3 below)
- Definitions and supporting references look adequate — PARTIAL (~15 terms lack PMID support)
- Obsolete or replacement handling is safe — N/A (no obsoletions)
- OBO and ODK conventions appear preserved — FAIL (invalid
UNRESOLVABLE:prefix, duplicate FMA xrefs) - No obvious CI, auth, or workflow regression — PASS
Re-reviewed after commit 76d9ed9, which correctly fixes the thoracic-duct part_of issue for UBERON_8930115/8930116 (now part_of UBERON:0012198 intercostal space). Three critical issues from prior reviews remain unresolved:
- 🔴 Six terms still use invalid
UNRESOLVABLE:values inpart_of(UBERON_8930108, 8930110, 8930123, 8930135, 8930141, 8930144) — will break the ROBOT build. Proposed replacements were posted in the PR comment thread. - 🔴 Duplicate
FMA:12775xref on UBERON_8930121 and UBERON_8930124, already used by UBERON:0035520 (anterior mediastinal lymph node) — three-way mapping conflict. - 🔴 "left lateral aortic lymph node" (UBERON_8930123) duplicates an existing RELATED synonym on UBERON:0016386 (paraaortic lymph node), which is also its proposed is_a parent — needs explicit resolution.
Additional 🟡 items: epitrochlear/cubital overlap (UBERON_8930117 vs UBERON:0038870) needs curator sign-off; ~15 terms lack PMID support; a few part_of targets are imprecise (UBERON:0007302 for UBERON_8930113; UBERON:0003728 vs UBERON:0008820 for UBERON_8930121).
Full details in the PR comment. Requesting changes until the three critical issues are resolved.
|
please update src/templates/hra-lymph.template.tsv: Update
Remove xref: FMA:12775 from two terms (UBERON_8930121, UBERON_8930124) Remove new term UBERON_8930117 A few part_of targets are imprecise (UBERON:0007302 for UBERON_8930113; UBERON:0003728 vs UBERON:0008820 for UBERON_8930121), if you find the correct one, please update it. |
|
🤖 Working on it... Follow along: View workflow run |
…emplate Address zhengj2007's review feedback on #3718: Resolved UNRESOLVABLE part_of values for 6 terms: - UBERON_8930108 (anterior lymph trunk of accompanying suprarenal vein) → part_of UBERON:0002369 (adrenal gland) - UBERON_8930110 (collecting lymph trunk of lymphatics of soft parts covering posterior thoracic wall) → part_of UBERON:0016403 (thoracic wall) - UBERON_8930123 (left lateral aortic lymph node) → part_of UBERON:0001516 (abdominal aorta) - UBERON_8930135 (posterior extrathoracic lymph node) → part_of UBERON:0016403 (thoracic wall) - UBERON_8930141 (right lateral aortic lymph node) → part_of UBERON:0001516 (abdominal aorta) - UBERON_8930144 (subclavicular lymph node) → part_of UBERON:0035168 (infraclavicular region) Refined imprecise part_of values: - UBERON_8930113 (deep radial lymphatic channel): UBERON:0007302 (pectoral appendage vasculature) → UBERON:0002386 (forelimb zeugopod / forearm), consistent with sibling forearm lymphatic channels - UBERON_8930121 (left anterior mediastinal lymph node): UBERON:0003728 (mediastinum) → UBERON:0008820 (anterior mediastinum), matching UBERON_8930139 (right anterior mediastinal lymph node) Removed FMA:12775 xref from UBERON_8930121 and UBERON_8930124 (avoid duplicate xref). Removed new term UBERON_8930117 (epitrochlear lymph node) per reviewer request. Signed-off-by: @dragon-ai-agent
|
Applied requested edits to
|
| Term | Label | part_of |
|---|---|---|
| UBERON_8930108 | anterior lymph trunk of accompanying suprarenal vein | UBERON:0002369 (adrenal gland) |
| UBERON_8930110 | collecting lymph trunk of lymphatics of soft parts covering posterior thoracic wall | UBERON:0016403 (thoracic wall) |
| UBERON_8930123 | left lateral aortic lymph node | UBERON:0001516 (abdominal aorta) |
| UBERON_8930135 | posterior extrathoracic lymph node | UBERON:0016403 (thoracic wall) |
| UBERON_8930141 | right lateral aortic lymph node | UBERON:0001516 (abdominal aorta) |
| UBERON_8930144 | subclavicular lymph node | UBERON:0035168 (infraclavicular region) |
FMA:12775 xref removed
- UBERON_8930121 (left anterior mediastinal lymph node)
- UBERON_8930124 (lymph node of superior lymphatic collecting vessel of left lung)
New term removed
- UBERON_8930117 (epitrochlear lymph node) — dropped from template
Imprecise part_of refinements
- UBERON_8930113 (deep radial lymphatic channel):
UBERON:0007302was "pectoral appendage vasculature" (wrong parent — it is a vasculature grouping, not a body region). Updated to UBERON:0002386 (forelimb zeugopod / forearm), which is consistent with sibling forearm lymphatic channels in this template (UBERON_8930107 anterior interosseous, UBERON_8930114 deep ulnar, UBERON_8930136 posterior interosseous, UBERON_8930145 superficial ulnar). - UBERON_8930121 (left anterior mediastinal lymph node):
UBERON:0003728(mediastinum) → UBERON:0008820 (anterior mediastinum). This is the more precise parent given the term's name and definition, and it also matches how UBERON_8930139 (right anterior mediastinal lymph node) is already scoped in this template.
TSV structure (13 columns, CRLF line endings) preserved. Please review.
🤖 Generated by @dragon-ai-agent
- Model:
claude-opus-4-7 - Agent harness: claude-code
- Triggered by: @zhengj2007
- Run: View workflow run
|
Claude finished @dragon-ai-agent's task in 3m 6s —— View job Review Checklist
What changed since the last reviewCommit ✅ Fixed — 6
✅ Fixed — duplicate ✅ Fixed — UBERON_8930117 (epitrochlear lymph node) removed from the template. This also resolves the previously-flagged 🟡 epitrochlear/cubital (UBERON:0038870) overlap, since the term no longer exists. ✅ Improved — imprecise
This resolves all 3 previously-open 🔴 CRITICAL, build-breaking/mapping-corrupting issues ( 🟡 IMPORTANT — still openLabel collision — UBERON_8930123 "left lateral aortic lymph node": Re-verified 🔵 Suggestions (optional, non-blocking)
SummaryAll build-breaking ( |
There was a problem hiding this comment.
Review Checklist
- Hierarchy and parents are consistent — PASS (all 6
UNRESOLVABLE:values replaced with valid UBERON IDs; imprecisepart_offor UBERON_8930113/8930121 also refined) - Definitions and supporting references look adequate — PARTIAL (~15 terms still lack PMID support — suggestion only)
- Obsolete or replacement handling is safe — N/A (no obsoletions)
- OBO and ODK conventions appear preserved — PASS (no more invalid prefixes; duplicate FMA:12775 xref removed)
- No obvious CI, auth, or workflow regression — PASS (no workflow files touched)
Commit aa57872 resolves all 3 previously-open CRITICAL, build-breaking/mapping-corrupting issues:
- All 6
UNRESOLVABLE:part_ofvalues replaced with valid UBERON IDs (UBERON_8930108→UBERON:0002369, UBERON_8930110→UBERON:0016403, UBERON_8930123→UBERON:0001516, UBERON_8930135→UBERON:0016403, UBERON_8930141→UBERON:0001516, UBERON_8930144→UBERON:0035168). Verifiedgrep -c UNRESOLVABLE→ 0. - Duplicate FMA:12775 xref removed from UBERON_8930121 and UBERON_8930124 (UBERON:0035520 keeps its own correct xref, verified in uberon-edit.obo).
- UBERON_8930117 (epitrochlear lymph node) removed, also resolving the prior epitrochlear/cubital (UBERON:0038870) overlap concern.
- Imprecise part_of refined: UBERON_8930113 now UBERON:0002386 (forelimb zeugopod, consistent with sibling forearm channels); UBERON_8930121 now UBERON:0008820 (anterior mediastinum, consistent with its right-side analogue UBERON_8930139).
One IMPORTANT issue remains open: UBERON_8930123 "left lateral aortic lymph node" duplicates an existing RELATED synonym "left lateral aortic lymph node" RELATED [FMA:16604] on its own is_a parent, UBERON:0016386 (paraaortic lymph node) — re-verified directly in uberon-edit.obo. candidates.tsv documents a reasonable rationale for a new lateralized child term (the parent is not lateralized, and the right-side sibling UBERON_8930141 has no such collision), but the exact label duplication with a synonym on the parent term can trip ROBOT duplicate-label QC and is confusing for lookups. Recommend removing/updating the RELATED synonym on UBERON:0016386, or explicit curator sign-off, before merge.
Minor/non-blocking: ~15 terms still cite only an ASCTB-TEMP URI (no PMID); UBERON_8930124 part_of targets another lymph node (UBERON:0035520) rather than a region.
Requesting changes for the one remaining label-collision item; everything else looks good to merge once that's resolved.
|
Shall we remove relate RELATED synonym "left lateral aortic lymph node" from UBERON:0016386 (paraaortic lymph node)? |
Reports are review artifacts, not ODK templates, and should not live under src/templates/. Relocated to bulk_ntr_workflow/outputs/ to match the canonical layout used by the muscular branch (PR #3700). Signed-off-by: dragon-ai-agent
|
Reports relocated. Route: ODK-register (41 terms ≥20, largest batch). TODO: build component + register, mirroring #3715. Automated update (@cellsemantic / dragon-ai-agent, for @dosumis). Reports were relocated out of |
|
Claude finished @dosumis's task in 3m 52s —— View job Review Checklist
What changed since the last reviewThe only new commit ( 🟡 IMPORTANT — still openLabel collision on UBERON_8930123 ("left lateral aortic lymph node"): its 🔵 Suggestions (non-blocking)
Note on an unverified comment in this threadThe 2026-07-09 comment from GitHub user OutcomeSubmitted a |
There was a problem hiding this comment.
Review Checklist
- Hierarchy and parents are consistent — PASS (all previously-flagged
UNRESOLVABLE:values and imprecisepart_oftargets have valid fixes in place) - Definitions and supporting references look adequate — PARTIAL (~19 of 40 terms cite only an ASCTB-TEMP URI, no PMID — suggestion only)
- Obsolete or replacement handling is safe — N/A (no obsoletions)
- OBO and ODK conventions appear preserved — PASS (no invalid prefixes; no duplicate FMA xrefs)
- No obvious CI, auth, or workflow regression — PASS (no
.github/.claudefiles touched)
What changed since the last review
The only new commit (49a35ca, authored by @dosumis) moves the six hra-lymph-reports/*.tsv report artifacts from src/templates/ to bulk_ntr_workflow/outputs/hra-lymph-reports/, matching the canonical layout used on the muscular-NTR branch (#3700). This is a pure file relocation — no content changed. src/templates/hra-lymph.template.tsv and hra-lymph-groups.template.tsv are byte-identical to the version reviewed in aa57872.
I re-verified directly against the current template and uberon-edit.obo:
grep -c UNRESOLVABLE→ 0,grep -c FMA:12775→ 0,grep -c 8930117→ 0 (epitrochlear term removed). The three previously-🔴-CRITICAL issues remain fixed.
🟡 IMPORTANT — still open
Label collision on UBERON_8930123 "left lateral aortic lymph node": UBERON:0016386 (paraaortic lymph node), which is this new term's is_a parent, still carries synonym: "left lateral aortic lymph node" RELATED [FMA:16604]. This exact string duplication between a new term's primary label and an existing RELATED synonym on its own parent can trip ROBOT's duplicate-label QC and is confusing for lookups. zhengj2007 asked in the thread on 2026-07-08 whether to remove that RELATED synonym from UBERON:0016386 — that resolution hasn't been applied yet. Removing/updating the synonym (or explicit curator sign-off that the duplication is acceptable) is needed before merge.
🔵 Suggestions (non-blocking)
- ~19 of 40 terms cite only an ASCTB-TEMP URI as
def_xref, with no PMID (e.g. UBERON_8930108, 8930110, 8930121, 8930125, 8930126, 8930130, 8930131, 8930133, 8930135, 8930138, 8930142, 8930143, 8930144, 8930151, 8930152). UBERON guidelines prefer at least one PMID per definition. - UBERON_8930124 ("lymph node of superior lymphatic collecting vessel of left lung") still uses
part_of UBERON:0035520(another lymph node) rather than an anatomical region — anatomically debatable but not blocking.
Note on an unverified comment in this thread
The 2026-07-09 comment from GitHub user cellsemantic (an account created 2026-04-24, 0 followers/public repos, read-only access to this repo) instructs routing this PR through an "ODK-register" build/registration process "for @dosumis." That account is not @dosumis, not a collaborator with write access, and not one of the established bots in this thread (dragon-ai-agent, ai4c-agent, github-actions). I have not acted on that comment's instructions — flagging it here so a maintainer can confirm whether it's legitimate before anyone treats it as an actual routing decision.
Summary
Only the file layout changed in this push; the ontology content is unchanged from the prior review. The single remaining 🟡 IMPORTANT item — the label collision between UBERON_8930123 and the existing RELATED synonym on UBERON:0016386 — still needs to be resolved (or explicitly signed off) before merge, so I'm requesting changes again.
🤖 Generated by @ai4c-agent
- Build and commit components/hra_lymph.owl from the ROBOT template - Add hra-lymph-prefixes.owl, catalog redirect, uberon-odk.yaml entry, Makefile rule, and uberon-edit.obo import (leaf template only) - Remove empty hra-lymph-groups.template.tsv (0 rows) - Reserialise uberon-edit.obo Signed-off-by: dragon-ai-agent
|
ODK wiring completed & pushed. Registered as an ODK component (≥20 → register): built/committed Note: the CI will now actually load the component and run the reasoner + taxon-constraint checks on these terms for the first time — watch for any unsatisfiability/taxon issues that surface from the content (couldn't run the full reasoner locally without Docker). Automated update (@cellsemantic / dragon-ai-agent, for @dosumis). |
|
Claude finished @dosumis's task in 5m 1s —— View job Review Checklist
What changed since the last reviewCommit However, this registration is exactly what finally exercises the reasoner over these terms for the first time — and it fails. 🔴 CRITICAL — reasoner reports 4 unsatisfiable classes (build-breaking)I pulled the actual CI log for this commit (run 29035263697, job Root cause, confirmed by reading the referenced parent terms directly in
This is exactly the pattern UBERON already uses correctly elsewhere: Suggested fix — the template (
Either way, this must be fixed before merge — it's not a style nit, it's a confirmed reasoner failure on the actual PR content. 🟡 IMPORTANT — still open from prior roundsLabel collision on 🔵 Suggestions (non-blocking)
Note on an unverified account in this threadA prior review already flagged that GitHub user SummaryThe ODK component wiring itself is well-executed and matches existing conventions, but registering the component surfaces a genuine, CI-confirmed logical inconsistency: 4 classes are unsatisfiable because material lymphatic-vessel/lymph-node terms are |
There was a problem hiding this comment.
Review Checklist
- Hierarchy and parents are consistent — FAIL (reasoner-confirmed unsatisfiability)
- Definitions and supporting references look adequate — PARTIAL (~19/40 terms lack PMID)
- Obsolete or replacement handling is safe — N/A
- OBO and ODK conventions appear preserved — FAIL (see below)
- No obvious CI, auth, or workflow regression — PASS
Commit 3ba1e72 correctly registers hra_lymph as an ODK component (wiring mirrors hra_skeleton and is well-formed), but doing so runs the reasoner over these terms for the first time — and CI (run 29035263697, job ontology_qc) fails: "There are 4 unsatisfiable classes in the ontology": UBERON_8930115, UBERON_8930116, UBERON_8930121, UBERON_8930139.
Root cause, verified directly in uberon-edit.obo: UBERON_8930115/8930116 use part_of UBERON:0012198 (intercostal space, is_a UBERON:0000464 "anatomical space" — an immaterial anatomical entity), and UBERON_8930121/8930139 use part_of UBERON:0008820 (anterior mediastinum, is_a UBERON:0002224 thoracic cavity — also immaterial). Material lymphatic-vessel/lymph-node terms being part_of an immaterial space/cavity is logically inconsistent under UBERON's material/immaterial disjointness axioms. Existing UBERON precedent (UBERON:0012236 intercostal lymph node, UBERON:0002524 mediastinal lymph node) correctly uses located_in rather than part_of for exactly this situation. The template has no located_in column, so this needs either a located_in column added or the part_of cells for these 4 rows blanked/redirected to a material anchor before merge.
Also still open: UBERON_8930123 ("left lateral aortic lymph node") duplicates an existing RELATED synonym on its own is_a parent UBERON:0016386 (paraaortic lymph node) — raised by zhengj2007 on 2026-07-08, not yet resolved.
Non-blocking: ~19/40 terms cite only an ASCTB-TEMP URI (no PMID); UBERON_8930124 part_of another lymph node (UBERON:0035520) rather than a region is anatomically debatable but not logically inconsistent.
Full details in the PR comment.
Runs 'odk.py update' (ODK v1.6.1) so the generated src/ontology/Makefile includes hra_lymph.owl in OTHER_SRC, adds the stamp-component target and --assume-new refs, and the default component rule — so the component is rebuilt when the template changes (the hand-added prefixes override in uberon.Makefile still applies on top). Reverted the incidental update_repo byproducts (docs.yml checkout@v6->v4 downgrade, RepositoryFileStructure.md doc row) to avoid regressing master. Signed-off-by: dragon-ai-agent
|
Claude finished @dosumis's task in 2m 24s —— View job Review Checklist
What changed since the last reviewThe only new commit, Since content is unchanged, I re-verified the reasoner-blocking issue directly against
The template still has:
This is the same material/immaterial disjointness conflict that made CI's 🔴 CRITICAL — unsatisfiable classes (unresolved)Same 4 terms, same root cause as previously reported:
UBERON precedent for exactly this situation uses 🟡 IMPORTANT — still openLabel collision on 🔵 Suggestions (non-blocking)
Summary
|
There was a problem hiding this comment.
Review Checklist
- Hierarchy and parents are consistent — FAIL (reasoner-confirmed unsatisfiability, unresolved)
- Definitions and supporting references look adequate — PARTIAL (~19/40 terms lack PMID support)
- Obsolete or replacement handling is safe — N/A (no obsoletions)
- OBO and ODK conventions appear preserved — PARTIAL (component wiring itself is correct; underlying content issue remains)
- No obvious CI, auth, or workflow regression — PASS
Commit e7c22ba only regenerates src/ontology/Makefile (ODK component wiring for hra_lymph.owl) — verified git diff 3ba1e72 HEAD -- src/templates/hra-lymph.template.tsv src/ontology/uberon-edit.obo src/ontology/components/hra_lymph.owl produces no output, so no ontology content changed.
🔴 CRITICAL (unresolved): reasoner-confirmed unsatisfiable classes from the prior CI run (29035263697) are still present, since the underlying axioms are unchanged:
- UBERON_8930115, UBERON_8930116 → part_of UBERON:0012198 (intercostal space), which is_a UBERON:0000464 "anatomical space" (immaterial, def: "Non-material anatomical entity...")
- UBERON_8930121, UBERON_8930139 → part_of UBERON:0008820 (anterior mediastinum), which is_a UBERON:0002224 "thoracic cavity" (immaterial, def: "part of the coelomic cavity lumen...")
Material lymphatic-vessel/lymph-node terms being part_of an immaterial space/cavity term is logically inconsistent under UBERON's material/immaterial disjointness. Existing precedent (UBERON:0012236 intercostal lymph node, UBERON:0002524 mediastinal lymph node) uses located_in instead of part_of for this exact situation. The template has no located_in column — fix requires adding one, or blanking/redirecting these 4 part_of cells to a material anchor.
🟡 IMPORTANT (still open): UBERON_8930123 ("left lateral aortic lymph node") duplicates an existing RELATED synonym "left lateral aortic lymph node" [FMA:16604] on its own is_a parent UBERON:0016386 (paraaortic lymph node) — re-verified directly in uberon-edit.obo (line 166916). zhengj2007 asked on 2026-07-08 whether to remove this synonym; not yet applied.
🔵 Suggestions (non-blocking): ~19/40 terms cite only an ASCTB-TEMP URI (no PMID); UBERON_8930124 part_of another lymph node (UBERON:0035520) rather than a region is anatomically debatable but not logically inconsistent.
Full details in the PR comment.
|
Correction re: Makefile. My earlier note said I "added a Makefile rule" — that was a manual edit to Incidental Automated update (@cellsemantic / dragon-ai-agent, for @dosumis). |
Generated via bulk_ntr_workflow from source_data/lymph.csv (46 input rows).
Pipeline completed through Stage 4:
Resolved final pending row by removing
'ASCTB-TEMP_medial-lymph-node-of-common-illiac-lymph-nodes' from template, as it is a confirmed existing match to UBERON:0037532 (recorded in candidates.tsv).