400400e1d9
Found in live desktop E2E: the generated-identity path of composeSoul still appended the protocol section even when the backend injects it into the system prompt. New agents now get a clean identity-only SOUL against capable backends; older gateways keep the append. Covered in the capability-suppression test.