# Manual changes outside terraform — teardown checklist

Every change NOT captured by `terraform destroy` of the `dev/claude-ecs-task-protection-experiment/` directory. Undo each before declaring cleanup complete.

## Current state

| # | Change | Made at | Undo command |
|---|---|---|---|
| 1 | Pushed `:v1` and `:latest` images to ECR | 2026-04-17 ~12:15 EDT | `terraform destroy` with `force_delete = true` handles this; no manual action needed |
| 2 | Scaled service to `desired_count = 3` | 2026-04-17 ~12:16 EDT | `./scripts/set_desired.sh 0` before teardown (otherwise terraform destroy of the service will fail or terminate tasks ungracefully) |
| 3 | Triggered `force-new-deployment` at 16:22:49Z | 2026-04-17 ~12:22 EDT | Ephemeral; deployment record lingers in service history but doesn't need explicit cleanup |
| 4 | Local Docker images built (`:v1`, `:latest`) | 2026-04-17 ~12:15 EDT | `docker image prune -f` after push succeeds; or explicit `docker image rm 103233932089.dkr.ecr.us-east-1.amazonaws.com/claude-ecs-task-protection-experiment:v1 :latest` |
| 5 | Local Docker config at `/tmp/docker-experiment-config/` | 2026-04-17 ~12:13 EDT | `rm -rf /tmp/docker-experiment-config/` — temp dir, not critical but tidy |
| 6 | Experiment results at `~/projects/scratches/ecs-task-protection-experiment/results/` | Each experiment run | Either archive to `~/research/ecs-task-protection/` or `rm -rf` |
| 7 | Scratch directory `~/projects/scratches/ecs-task-protection-experiment/` | Written as scratch | Delete after archival; local-only git repo, no remote |

## As new manual changes happen, append here

- `YYYY-MM-DDTHH:MM:SSZ` — what & why — undo
2026-04-17T16:30:45Z — scaled to 0 after experiment 3 (cost control)
