# GTR010 — Upgrade24_1 — format/ftype normalization **Contract:** behaviour-preserving (runtime no-op). ## Claim Lowercasing + comma-token-stripping `format`/`ftype` is a runtime no-op that restores 24.2 validity. ## Proof — the codemod IS Galaxy's own parse, applied statically `parse_extensions` returns `[extension.strip().lower() for extension in self.get("format", "data").split(",")]` (`tool_util/parser/xml.py:1453`) — character-for-character this transform. The datatype registry lowercases extensions at load (`datatypes/registry.py:1028-1042`). A test `ftype` missing the registry never matched (repair class). ## Scope boundary A `` comma-list, non-datatype junk, and macro-file values are left (codemod §14; the macro residual is the opt-in `normalize-macros` command's job).