Skip to content

ADR-003: Column Alias Dictionaries, Not Fuzzy Matching

Status: Accepted Date: 2026-02-18

Context

FR-1.7 requires handling column name variations between RVTools and LiveOptics file formats. Column names differ slightly between versions (e.g., "Provisioned MB" vs "Provisioned MiB").

Decision

Use alias dictionaries mapping canonical names to known variations. No fuzzy matching library.

Rationale

  • The variation set is small and well-known (finite list of RVTools/LiveOptics versions)
  • A dictionary lookup is deterministic — no false matches
  • Zero additional dependencies (no fuzzywuzzy, rapidfuzz)
  • 10-line solution vs adding an NLP library

Consequences

  • New column name variations require adding entries to the alias dictionary
  • No automatic handling of truly unknown column names
  • Explicit error messages when columns are not found