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"
