Web Messaging participant attributes missing in Architect inbound message flow

Pushing custom attributes via the Web Messaging SDK works fine for the initial connection, but they vanish once the conversation hits the Architect inbound message flow. The postInteraction call looks correct:

client.chat.interactions.postInteraction({
 name: 'Support Chat',
 type: 'chat',
 attributes: {
 custom: {
 priority: 'high',
 tier: '2'
 }
 }
});

Checking the interaction via the API (GET /api/v2/conversations/chats/{id}) shows the attributes are present in the JSON payload. However, when the Architect flow triggers, the attributes.custom object is empty. No errors in the logs. Just silent data loss. Anyone else see this behavior with the latest SDK release?

The docs say attributes go in the attributes object, but the API actually expects them nested under custom. Try this:

var interaction = new Interaction {
 Name = "Support Chat",
 Type = "chat",
 Attributes = new InteractionAttributes {
 Custom = new Dictionary<string, object> {
 { "priority", "high" },
 { "tier", "2" }
 }
 }
};
client.Chat.PostInteraction(interaction);