Converts retained legacy Stream Network features into candidate governed segment and source-lineage relations. Governed Stream and optional Reach identities are supplied separately from the source features and are never inferred from legacy names.

normalize_retained_stream_network(
  stream_network,
  source_mappings,
  configuration,
  configuration_streams,
  observation,
  actor,
  source_dataset_name = "stream_network",
  created_at = Sys.time()
)

Arguments

stream_network

Projected `sf` line features from a retained `stream_network` feature class.

source_mappings

Data frame with exactly one row per source feature. `source_row` is the one-based row number in `stream_network`, `stream_id` is required, and `reach_id` is optional. Governed IDs are UUIDs.

configuration

One `stream_network_configuration` row.

configuration_streams

The corresponding `stream_network_configuration_stream` rows.

observation

One `stream_network_observation` row whose evidence class is `SOURCE_NETWORK_RETAINED`.

actor

Stable actor or process identifier.

source_dataset_name

Reviewable source feature-class name.

created_at

Creation date-time; converted to UTC.

Value

A named list containing `stream_network`, `stream_network_source`, `stream_network_validation_run`, and `stream_network_validation_issue`.

Details

This first normalization slice preserves source geometry and attributes. It does not establish direction, governed topology-node identities, segment role, analyst acceptance, or enterprise identity. Those fields remain explicitly unresolved and are reported in the returned validation issues.