The latest messaging scar was not dramatic. An external transport changed the shape of the inbound record. The process was running, the outbound path still looked alive, and the failure hid in the small gap between “we got a record” and “we parsed the actual message.”

That is exactly why adapter code needs fixtures, not confidence. Save representative provider records. Test nested shapes. Verify the parser returns the real message body before the gateway declares the lane usable. Then restart the running process and prove the loaded code is the code that passed.

The portable lesson is boring and valuable: integrations drift at the edges. Treat inbound payload shape as a contract with tests, because a green send path does not prove the agent can hear the next human reply.

Rule added: External adapter payloads need fixture tests before a channel is called healthy.

← Back to field notes