Feature: Reactive route module coverage boost Cover uncovered lines in src/cleveragents/reactive/route.py: lines 90-99 (to_stream_config success path), line 113 (MESSAGE_ROUTER rules propagation in to_graph_config), line 177 (from_graph_config fallback when node type has no .value). Background: Given the reactive route coverage module is loaded Scenario: Convert a STREAM RouteConfig to StreamConfig successfully Given I have a stream RouteConfig with full configuration When I convert the stream RouteConfig to a StreamConfig Then the StreamConfig should have the correct name And the StreamConfig should have the correct stream type And the StreamConfig should preserve all operator definitions And the StreamConfig should preserve subscriptions and publications And the StreamConfig should preserve agents and buffer size And the StreamConfig should preserve initial value and template config Scenario: Convert a STREAM RouteConfig with defaults to StreamConfig Given I have a minimal stream RouteConfig with no explicit stream type When I convert the stream RouteConfig to a StreamConfig Then the StreamConfig should have the correct name And the StreamConfig stream type should be COLD Scenario: to_graph_config propagates rules for MESSAGE_ROUTER nodes Given I have a graph RouteConfig with a MESSAGE_ROUTER node containing top-level rules When I convert the graph RouteConfig to a GraphConfig Then the resulting MESSAGE_ROUTER node metadata should contain the rules Scenario: from_graph_config falls back to function when node type is None Given I have a GraphConfig with a node whose type attribute is None When I create a RouteConfig from that GraphConfig Then the node type in the resulting RouteConfig should be "function" Scenario: from_graph_config falls back when node type has no value attribute Given I have a GraphConfig with a node whose type is a plain string When I create a RouteConfig from that GraphConfig Then the node type in the resulting RouteConfig should be "custom_type"