pub fn derive_properties(attrs_json: &str) -> NodePropertiesExpand description
Derive NodeProperties from a JSON-serialized attrs string.
Detection precedence (DP-1, DP-3, DP-5):
STATUSkey present → Actor (DP-5: a STATUS-bearing payload always decodes as Actor, so the actor-attrs seam cannot spoof node kind)node_type= “root” / “host” / “proc” → corresponding varianterror_codepresent → Error- none of the above → Error(“unknown_node_type”)
DP-2 / DP-4: this function is total — malformed attrs never
panic; view decode failures map to NodeProperties::Error
with a malformed_* code.
AV-3 / IA-6: view decoders ignore unknown keys.