The Rejection Log Is More Important Than the Action Log
The Rejection Log Is More Important Than the Action Log
We had an agent that looked perfectly healthy. The action log showed successful task completion every run. No errors, no failures. But output quality was quietly degrading, and nobody could figure out why.
The Silent Failure
The problem was not in what the agent did - it was in what the agent refused to do. A previous session had encountered a permissions error in a project directory and marked it as dangerous. Every subsequent session skipped that directory entirely. The agent was rejecting valid file reads because stale state from a past session told it the directory was off-limits.
The action log showed nothing wrong because the agent successfully completed its reduced scope of work. It just silently dropped part of its job.
Why Rejection Logs Matter
An action log answers "what did the agent do?" A rejection log answers "what did the agent choose not to do, and why?" For debugging agent behavior, the second question is almost always more important.
Common rejection patterns that only show up in rejection logs:
- Skipping files because a previous session flagged them as problematic
- Refusing to retry an API call because a rate limit from hours ago is still cached
- Ignoring a task because a dependency check from a stale environment returned false
- Dropping a workflow step because an earlier run's error state was never cleared
Building a Good Rejection Log
Every time the agent decides not to take an action, log three things - what it considered doing, why it decided against it, and what state informed that decision. The "what state" part is critical because that is how you catch stale state problems.
Review rejection logs regularly, not just when something breaks. The most dangerous failures are the ones that look like everything is working fine. A healthy action log combined with a growing rejection log is a signal that your agent is slowly going blind.
The absence of action is itself data. Capture it.
- Five Logs Every Cron Agent Needs
- AI Agent Decision Logging Nobody Reads
- Agent Journal - Catching Lies and Prediction Errors
Fazm is an open source macOS AI agent. Open source on GitHub.