## [ERR-20260427-003] worktree 缺独立 Redis 容器，backend 启动后狂刷 ECONNREFUSED 3803

**日期**: 2026-04-27
**类别**: 本地环境 / Worktree 配置
**严重度**: 中（启动后日志被 redis 重连刷屏，但 health 还能 200）

### 问题描述
merge develop（IAM Part B 引入了 throttler/rate-limit 用 Redis）后启动 backend，日志狂刷：
```
error [RedisService] Redis 连接错误：connect ECONNREFUSED 127.0.0.1:3803
```

### 根因
worktree `adp-sync` 的 `.env`：
- `REDIS_PORT=3803`
- `CONTAINER_PREFIX=ffoa-wt-dingtalk` ← 是从其他 worktree 复制过来的，没改

而 docker-compose 用 `${CONTAINER_PREFIX}-redis` 命名，`ffoa-wt-dingtalk-redis` 容器存在但映射在 3103，没有任何容器在 3803 上听。develop 之前 backend 不依赖 Redis（或容忍缺失），merge 后强依赖。

### 修复（最快）
直接起一个独立 Redis 监听 3803：
```bash
docker run -d --name ffws-wt-adp-redis-3803 \
  -p 3803:6379 \
  redis:7.4-alpine \
  redis-server --requirepass ffws_dev_password
```
backend 的 ioredis 客户端会自动重连，无需重启 backend。

### 长期修复
worktree `.env` 的 `CONTAINER_PREFIX` 需要每个 worktree 独立（如 `ffws-wt-adp`），让 `bash scripts/dev/dev.sh up` 自动起本 worktree 自己的 docker stack。否则多 worktree 共用容器 + 端口偏移会撞车。

### 启示
- 新建 worktree 时检查 `.env` 中 `CONTAINER_PREFIX` 是否与其他 worktree 重名
- 拉 develop 后留意是否引入了新的基础设施依赖（Redis/MQ/Temporal），及时检查容器对应
- 某些后端 startup 是"宽容失败"的（Redis 连不上不阻断），但功能依赖的 endpoint 会在运行期才报错；不要因为 health 200 就以为环境完整

---
