diff --git a/data/traits/morphology/capsule.yaml b/data/traits/morphology/capsule.yaml index be4f5b01..a6df4117 100644 --- a/data/traits/morphology/capsule.yaml +++ b/data/traits/morphology/capsule.yaml @@ -50,6 +50,16 @@ causal_graphs: node_type: QUALITY description: Reduced recognition and clearance by host innate immunity. edges: + - subject: capsule_assembly + predicate: produces + object: capsular_polysaccharide + description: Capsule biosynthesis synthesizes and exports the high-MW capsular + polysaccharide. + evidence: + - reference: DOI:10.1146/annurev.biochem.75.103004.142545 + notes: Whitfield reviews biosynthesis, export, and surface assembly of the + capsular polysaccharide polymer. + predicate_id: biolink:produces - subject: capsule_assembly predicate: enables object: capsule_trait @@ -86,3 +96,9 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (CHEBI:3379×1). llm_assisted: true +- timestamp: '2026-06-16T00:00:00Z' + curator: claude + action: FIX_ORPHAN_NODE + changes: Connected the previously-orphaned capsular_polysaccharide node via a + 'produces' (biolink:produces) edge from capsule_assembly. + llm_assisted: true diff --git a/data/traits/physiology/urease_activity.yaml b/data/traits/physiology/urease_activity.yaml index c83c9e15..0c862fd1 100644 --- a/data/traits/physiology/urease_activity.yaml +++ b/data/traits/physiology/urease_activity.yaml @@ -75,6 +75,16 @@ causal_graphs: - reference: DOI:10.1128/mr.53.1.85-108.1989 notes: Mobley & Hausinger support ammonia release from urea hydrolysis. predicate_id: METPO:2000202 + - subject: urease_function + predicate: manifests as + object: urease_activity_trait + description: Urease enzymatic activity manifests as the observable urease-activity + phenotype scored by the diagnostic urease test. + evidence: + - reference: DOI:10.1128/mr.59.3.451-480.1995 + notes: Urease activity (urea-to-ammonia hydrolysis raising local pH) is the + assayable phenotype used to score urease-positive organisms. + predicate_id: METPO:2007400 curation_history: - timestamp: '2026-06-04T00:00:00Z' curator: claude @@ -95,3 +105,10 @@ curation_history: changes: Grounded 1 causal-node grounding field(s) via mappings/node_grounding.tsv (UniProtKB:A0A090IGX8×1). llm_assisted: true +- timestamp: '2026-06-16T00:00:00Z' + curator: claude + action: FIX_ORPHAN_NODE + changes: Connected the previously-orphaned urease_activity_trait node via a + 'manifests as' (METPO:2007400) edge from urease_function, so the molecular + function links to the observable trait. + llm_assisted: true diff --git a/justfile b/justfile index 74af2b06..1c0478f6 100644 --- a/justfile +++ b/justfile @@ -48,6 +48,12 @@ audit-writers *args: audit-proposals *args: uv run python scripts/audit_proposals.py {{args}} +# Structural-integrity audit of causal graphs: flag dangling edges (subject/ +# object not a declared node) and orphan nodes (declared but unreferenced). +# Emits reports/causal_graph_audit.tsv; exits 1 on any defect. +audit-graphs *args: + uv run python scripts/audit_causal_graphs.py {{args}} + # Verify a METPO ROBOT-template proposal cohort under proposals/. # Runs column-count, header, parent integrity, subset tag, and scope-A/C # coverage checks. See .claude/skills/metpo-proposal/SKILL.md. @@ -170,7 +176,7 @@ check: lint test # Composite QC: strict closed-schema validation + schema-quality probes + # writers audit + proposal citation bar. Mirrors the qc target in # MediaIngredientMech / CultureMech. -qc: validate-strict audit-schema audit-writers audit-proposals +qc: validate-strict audit-schema audit-writers audit-proposals audit-graphs # --- id↔label correspondence gate (vendored byte-identical across the Mech repos) --- diff --git a/pages/category/ecology.html b/pages/category/ecology.html index da2a6c75..7da34897 100644 --- a/pages/category/ecology.html +++ b/pages/category/ecology.html @@ -244,7 +244,7 @@

ECOLOGY (26)