sapo adaptive reasoning mechanism