# Existing CG sender compatibility (offline only) The existing current source sender at ED5A `3433030` has a 531-byte body. Address-normalized body matching alone returns two pinned6891 candidates: `3433090` and `3440E40`. The body contains the same `&initiativeId=` text in both cases, so that text is not sufficient to choose one. The exact corresponding call in current `3433030+F5` invokes `9A5040`. Pinned `3433090+F5` invokes `9A5080`, independently uniquely matched to that current helper by its complete function. Pinned `3440E40+F5` instead calls `9A5270`, a different function with a different body. This excludes the second candidate without treating similar request bodies as interchangeable. The original component constructor `1E87120` is also compared in full. It configures request member `+5D0` with kind3 and endpoint `2.0/elite/initiative/optin`, then installs typed vtable `511F9D0`. Its unique current paired body references the same typed table and unchanged endpoint text at old`5247D30` → new`5247D00`; the original/current `mov edx,3` instructions are explicitly checked. This is constructor/type evidence, not an assumption based on neighbouring function addresses. `Trace-GalaxyCommunityGoalCompatibility.py` writes the paired proof; the earlier `community-goal-optin-unresolved.json` records only the initial ambiguous body-only search and is superseded by `community-goal-optin-compatibility.json`. `Prepare-GalaxyClientMapping.py` checks the full bodies, direct call targets and relative call positions, constructor kind, complete endpoint bytes and paired type/endpoint operands. The source inventory continues to require the sender address. No source hash or missing address rule is relaxed. No game process, request, CG opt-in or other mutation is executed by this work. The existing CG source is not modified. This proof establishes static version correspondence only and does not grant runtime validation or action permission.