Applies UUID-keyed role decisions to a copy and records CLASSIFY_SEGMENT_ROLE operations with actor, time, and decision notes. No role is inferred from graph degree, length, or feature order. Review decisions, validation history, geometry, node identities, and source lineage are unchanged. Reapplying an unchanged role is a no-op. Accepted segments must be reopened before changes.

classify_stream_network_segments(
  prepared,
  classifications,
  actor,
  performed_at = Sys.time()
)

Arguments

prepared

Named result of prepare_stream_network_from_features().

classifications

Data frame with unique `stream_network_segment_id`, `segment_role` (MAINSTEM, TRIBUTARY, CONNECTOR, ARTIFICIAL), and nonblank `decision_notes`. May cover a subset, but cannot contain foreign IDs.

actor

Identifier of the person/process supplying the decisions.

performed_at

Operation time, converted to UTC.

Value

A copy of prepared with updated stream_network and appended stream_network_operation rows. Does not accept inspection features or the observation; call validate_stream_network() on the current state afterward.