{"id":"boundary-normalization-serves-defense-and-correctness","text":"Normalizing inputs once at system boundaries serves dual architectural purposes: it establishes the perimeter defense model that maintains internal data quality (enabling trusted internal callers), and it independently enables robust query behavior (autocomplete search operates on consistent normalized state with eagerly-rebuilt caches) — a single mechanism yielding both security and feature correctness.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["autocomplete-search-is-robust","perimeter-defense-ensures-data-quality"],"outlist":[],"label":"boundary normalization is the shared root of both perimeter defense (security) and query robustness (correctness)"}],"dependents":["defense-in-depth-correctness","perimeter-and-forward-only-jointly-bound-state-space"],"metadata":{"last_reviewed":"2026-06-06T06:26:57","review_result":"pass"},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"boundary-normalization-serves-defense-and-correctness","truth_value":"IN","reason":"SL justification valid","antecedents":["autocomplete-search-is-robust","perimeter-defense-ensures-data-quality"],"label":"boundary normalization is the shared root of both perimeter defense (security) and query robustness (correctness)"},{"node":"autocomplete-search-is-robust","truth_value":"IN","reason":"SL justification valid","antecedents":["normalize-once-at-system-boundary","autocomplete-cache-consistency"],"label":"Normalization and cache consistency ensure exact-prefix queries are always correct, but the fuzzy fallback's last-char-only limitation undermines recall for realistic typo patterns","outlist":["autocomplete-fuzzy-is-last-char-only"]},{"node":"normalize-once-at-system-boundary","truth_value":"IN","reason":"SL justification valid","antecedents":["autocomplete-normalize-at-boundary","crawler-normalize-once-convention"],"label":"autocomplete lowercases and truncates all queries before trie operations; crawler normalizes URLs at insertion into bloom filter, frontier, and simhash — both establish a canonical-form invariant at the boundary that internal code relies on"},{"node":"autocomplete-normalize-at-boundary","truth_value":"IN","reason":"premise"},{"node":"crawler-normalize-once-convention","truth_value":"IN","reason":"premise"},{"node":"autocomplete-cache-consistency","truth_value":"IN","reason":"premise"}]}}