GTR002 — Reorder <param> attributes (codemod)

Contract: behaviour-preserving.

Claim

Reordering a <param>’s attributes into canonical order is a no-op.

Proof

Two independent legs:

  1. XML 1.0 §3.1: “the order of attribute specifications … is not significant.”

  2. Galaxy consumes attributes exclusively by nameelem.get("…") throughout lib/galaxy/tool_util/parser/xml.py; no parser exposes attribute order. No text/tail is touched.

Scope boundary

None needed — the transform is total. Shares _attribute_ordering.py with GTR005.