You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#351 retyped five nodes from STATE/CAPACITY to TRAIT because their own
descriptions describe dispositions — "Capacity of an organism to grow and survive under
high hydrostatic pressure", "Ability to grow when external phosphate is unavailable", "Detoxification-mediated tolerance of arsenic oxyanions".
The same concept is typed CAPACITY elsewhere and was left alone:
node
record
salt tolerance — "Capacity to grow and survive under elevated salinity"
slightly_halophilic.yaml
low-pH tolerance
ph_delta.yaml
oxygen tolerance
oxygen_preference.yaml
growth at 4 degrees C
psychrotolerant.yaml
They survive as CAPACITY only because their in-edges did not happen to violate the enables range — an entirely unrelated fact. So the corpus now types one concept two ways,
and which way depends on whether a different check fired on a neighbouring edge.
Why it matters
CausalNodeTypeEnum membership is what every node-type gate keys on
(subject_types/object_types in mappings/predicate_grounding.tsv), and TRAIT nodes are
additionally what audit-graphs uses as reachability anchors. A concept typed inconsistently
is gated inconsistently and anchors inconsistently.
Suggested approach
Sweep CAPACITY and STATE nodes for descriptions matching the disposition pattern — capacity to, ability to, tolerance of, growth at/under/without.
Retype in one pass, grounding each — Retype six mis-typed dispositions, and route six real states (#334) #351's review showed that an ungrounded new TRAIT
node silently becomes a reachability anchor and makes UNREACHABLE_FROM_TRAIT fall without
the graph actually becoming more connected.
Worth doing as its own change rather than inside a range-violation burn-down, since the
trigger for finding them should be the typing rule, not which edges happened to be broken.
Raised in review of PR #351 (#334 burn-down).
#351 retyped five nodes from
STATE/CAPACITYtoTRAITbecause their owndescriptions describe dispositions — "Capacity of an organism to grow and survive under
high hydrostatic pressure", "Ability to grow when external phosphate is unavailable",
"Detoxification-mediated tolerance of arsenic oxyanions".
The same concept is typed
CAPACITYelsewhere and was left alone:salt tolerance— "Capacity to grow and survive under elevated salinity"slightly_halophilic.yamllow-pH toleranceph_delta.yamloxygen toleranceoxygen_preference.yamlgrowth at 4 degrees Cpsychrotolerant.yamlThey survive as
CAPACITYonly because their in-edges did not happen to violate theenablesrange — an entirely unrelated fact. So the corpus now types one concept two ways,and which way depends on whether a different check fired on a neighbouring edge.
Why it matters
CausalNodeTypeEnummembership is what every node-type gate keys on(
subject_types/object_typesinmappings/predicate_grounding.tsv), andTRAITnodes areadditionally what
audit-graphsuses as reachability anchors. A concept typed inconsistentlyis gated inconsistently and anchors inconsistently.
Suggested approach
CAPACITYandSTATEnodes for descriptions matching the disposition pattern —capacity to, ability to, tolerance of, growth at/under/without.
docs/CURATION_PLAYBOOK.md, which Retype six mis-typed dispositions, and route six real states (#334) #351 has alreadystarted ("a node described as a capacity to, an ability to, or a tolerance of is a
disposition, i.e. a TRAIT").
node silently becomes a reachability anchor and makes
UNREACHABLE_FROM_TRAITfall withoutthe graph actually becoming more connected.
Worth doing as its own change rather than inside a range-violation burn-down, since the
trigger for finding them should be the typing rule, not which edges happened to be broken.