topic_memory_node:
  ros__parameters:
    conversation_topic: "/social/conversation_text"   # Input: JSON String {person_id, text}
    output_topic: "/saltybot/conversation_topics"     # Output: JSON String per utterance

    # Keyword extraction
    min_word_length: 3          # Skip words shorter than this
    max_keywords_per_msg: 10    # Extract at most this many keywords per utterance

    # Per-person rolling window
    max_topics_per_person: 30   # Keep last N unique topics per person

    # Stale-person pruning (0 = disabled)
    prune_after_s: 1800.0       # Forget person after 30 min of inactivity
