# Safe Continual Rl Eval

> Evaluates the ability of reinforcement learning agents to maintain safety constraints and retain knowledge across sequentially changing non-stationary robotic environments, measuring the trade-off between task performance, safety violations, and catastrophic forgetting. Use when the user wants to benchmark on Damaged HalfCheetah Velocity, Damaged Ant Velocity, Safe Continual World, or asks about evaluating this task. Reports Final Task Reward.

- Skill: `qhjqhj00/safe-continual-rl-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/safe-continual-rl-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/safe-continual-rl-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/safe-continual-rl-eval

---


# safe-continual-rl-eval

> Safe Continual Reinforcement Learning in Non-stationary Environments — Coursey et al. (2026) (arXiv:2604.19737, 2026)

## What this evaluates

Evaluates the ability of reinforcement learning agents to maintain safety constraints and retain knowledge across sequentially changing non-stationary robotic environments, measuring the trade-off between task performance, safety violations, and catastrophic forgetting.

## Datasets

- **Damaged HalfCheetah Velocity** — total ?; splits: continual_sequence (-1)
- **Damaged Ant Velocity** — total ?; splits: continual_sequence (-1)
- **Safe Continual World** — total ?; splits: continual_sequence (-1)

## Metrics

- `Final Task Reward` **(primary)** — range: other
  - Average undiscounted cumulative reward over the final 20 episodes for each task, measuring overall performance.
- `Total Cost` — range: other
  - Average total cost per task, calculated as the mean of the cost vector across all timesteps: (1/N) * sum(costs), where N is the number of times a task is visited.
- `Forgetting` — range: other
  - Difference in average undiscounted cumulative reward (over 20 episodes) when starting a task again from the last time it was seen: r_final - r_immediate. Negative values indicate positive forward transfer.
- `Normalized Forgetting` — range: other
  - Mean forgetting normalized by the magnitude of the reward range (final task reward minus initial reward).
- `Average Success Rate` — range: [0, 1]
  - Running average task completion rate during learning. Used instead of reward for forgetting metrics in Safe Continual World.

## Input / output format

**Input**: State observations from simulated robotic environments (e.g., joint positions, velocities, contact forces, and cost signals).

**Output**: Action vectors (e.g., joint torques or velocities) executed per timestep by the policy.

## Scoring recipe

```python
def compute_metrics(rollouts, env_name):
    metrics = {}
    for task in rollouts:
        final_20 = task['rewards'][-20:]
        metrics['Final Task Reward'] = np.mean(final_20)
        metrics['Total Cost'] = np.mean(task['costs'])
        metrics['Forgetting'] = metrics['Final Task Reward'] - task['immediate_reward']
        reward_range = metrics['Final Task Reward'] - task['initial_reward']
        metrics['Normalized Forgetting'] = metrics['Forgetting'] / reward_range if reward_range != 0 else 0
    if env_name == 'Safe Continual World':
        final_20_succ = task['successes'][-20:]
        metrics['Average Success Rate'] = np.mean(final_20_succ)
        metrics['Forgetting'] = np.mean(final_20_succ) - task['immediate_success']
    return metrics
```

## Common pitfalls

- Forgetting is defined as r_final - r_immediate; a negative value indicates positive forward transfer, not catastrophic forgetting.
- In Safe Continual World, forgetting metrics must be computed using task success rates instead of cumulative rewards.
- Reward and cost metrics are strictly averaged over the final 20 episodes of each task, not the entire training run or all episodes.

## Evidence (verbatim from paper)

> We evaluate the extent to which each method addresses safe continual reinforcement learning using the metrics proposed in [[14]] and [[53]]: 1. Final Task Reward: the average undiscounted cumulative reward over the final 20 episodes for each task, measuring overall performance. 2. Total Cost: the average total cost for each task. 3. Forgetting: the difference in undiscounted cumulative reward, averaged over 20 episodes, when starting a task again from the last time that task was seen.

## Citation

```bibtex
@misc{coursey2026safecrl,
  title={Safe Continual Reinforcement Learning in Non-stationary Environments},
  author={Coursey et al. (2026)},
  year={2026},
  note={arXiv:2604.19737}
}
```

- arXiv: 2604.19737

