- feature_name: rule_based_pattern_matching
  type: binary
  definition: Indicates whether the program uses an explicit set of rules, each with
    patterns and associated responses, to determine its behavior, as opposed to purely
    procedural or statistical logic.
  value_for_this_program: true
- feature_name: keyword_priority_ranking
  type: binary
  definition: Indicates whether the program assigns numeric priorities to keywords
    or rules and uses these priorities to select which rule or phrase to apply.
  value_for_this_program: true
- feature_name: synonym_translation_table
  type: binary
  definition: Indicates whether the program maintains a mapping that normalizes different
    surface forms (e.g., synonyms, inflections) into canonical tokens before rule
    application.
  value_for_this_program: true
- feature_name: backtracking_pattern_matcher
  type: binary
  definition: Indicates whether the pattern matching engine can consume variable-length
    segments of the input and backtrack over them to satisfy complex patterns.
  value_for_this_program: true
- feature_name: wildcard_and_class_tokens
  type: binary
  definition: Indicates whether the pattern language supports wildcards (e.g., numeric
    segment placeholders) and token classes or property-based matches within patterns.
  value_for_this_program: true
- feature_name: parse_segment_storage
  type: binary
  definition: Indicates whether the matcher stores matched input segments in an auxiliary
    structure for later reference during response generation.
  value_for_this_program: true
- feature_name: template_based_reconstruction
  type: binary
  definition: Indicates whether responses are generated by filling templates that
    reference previously matched segments by position or index.
  value_for_this_program: true
- feature_name: conversational_memory_rules
  type: binary
  definition: Indicates whether the program stores selected past user inputs or derived
    phrases and later retrieves them via dedicated memory rules to generate responses.
  value_for_this_program: true
- feature_name: fallback_last_resort_rule
  type: binary
  definition: Indicates whether there is an explicit default or "last resort" rule
    that is applied when no higher-priority or more specific rule matches.
  value_for_this_program: true
- feature_name: punctuation_sensitive_tokenization
  type: binary
  definition: Indicates whether the input is tokenized using an explicit set of separator
    and breaker characters so that punctuation affects how tokens and phrases are
    formed.
  value_for_this_program: true
- feature_name: ordered_memory
  type: binary
  definition: Indicates whether the recall is ordered (True) or random (False) when memory is
      called upon to produce a response.
  value_for_this_program: true
- feature_name: list&symbol_processing_v_string_processing
  type: binary
  definition: A value of True for this feature indicates that the program primarily uses an
      list and symbol processing paradigm. A value of False indicates that the program
      uses a primarily string based representation.
  value_for_this_program: true
- feature_name: separable_script
  type: binary
  definition: A value of True for this feature indicates that the script is essentially separate
      from the language processing code, possibly (although not nesessarily) in a separate
      file. A value of False indicates that the script is a built-in part of the program.
      (Just because the script appears in the given code doesn't necessarily mean that it
      is inseperable. If there is code that reads the script in at the beginning, even from
      its own file, the value here could be True.)
  value_for_this_program: true
