Abstract: In an agent system, the ability to handle problems and recover from them is important in sustaining stability and providing robustness. We claim that execution logging is essential to support agent system robustness, and that agents should have architectural-level support for logging and recovery methods. We describe an infrastructure-level, default methodology for agent problem-handling, based on logging, and supported by declaratively encoding domain-specific knowledge related to changes in goal status and semantic compensations. Via logging, the approach allows repair of already-completed as well as current goals. We define a language, APLR, to support and constrain incremental specification of problem-handling information, with the agents' problem-handling behaviour increasing in sophistication as more knowledge is added to the system. The approach is implemented by mapping the methodology and domain knowledge to 3APL-like plan rules extended to support logging.