What you're describing here is not atomic.
You've reintroduced a trusted third party. "Charlie signs a note that itemId+creator maps to H/txid" is just escrow by reputation. The game client gives you no verifiable link between the traded object and a Bitcoin preimage before the trade. Blizzard can roll back trades, duplicate items, or ban accounts. An addon can't provide a binding commitment. PGP proves Charlie spoke. It does not prove the item will reveal the preimage, or that the specific item traded is the one Charlie described.
True atomicity would require the game to emit a signed, publicly verifiable receipt for the exact trade (or a TEE attestation) that can be used as a Bitcoin adaptor signature or HTLC trigger.
It is indeed not a
pure atomic implementation as it is indeed very challenging due to a lack of cryptographic primitives.
There is indeed trust required on the initial setup as I failed to figure out a way for Bob to verify by himself that he is trading against the correct item, which imo is only possible if the game server would embed a pre-image visible during trade, and a secret only visible to the item holder.
Therefore the best option was for Charlie to "mint" the item and create a PGP signature as proof, which indeed requires trust.
So I'm left with one last question on how to make the setup work without Charlie :3