# workbuddy 今夜满载任务清单(2026-06-14 睡前)

**触发日期**: 2026-06-14 睡前
**预计总工时**: 10-12 小时(workbuddy 一晚)
**workbuddy token**: 已配 `.workbuddy/config.json` 的 `gitea.token`

---

## 📊 任务满载排期

| 时段 | 任务组 | 估计工时 | 难度 |
|---|---|---|---|
| 0:00 - 0:30 | **T-1~T-4 收尾**(commit + push + 索引 + 预检 + 评审) | 0.5h | 低 |
| 0:30 - 3:30 | **A. P0/P1 收尾** | 3h | 中 |
| 3:30 - 5:00 | **B. 安全加固** | 1.5h | 中 |
| 5:00 - 6:30 | **C. CI/CD 配置** | 1.5h | 中 |
| 6:30 - 7:30 | **D. 文档完善** | 1h | 低 |
| 7:30 - 8:30 | **E. 代码质量** | 1h | 低 |
| 8:30 - 10:00 | **F. W-1~W-5 跑剩余**(P1-1 优化 + Dify POC + nginx 审计) | 1.5h | 中 |
| 10:00 - 11:00 | **G. 自我复盘 + 给 Claude 写日报告** | 1h | 低 |
| 11:00 - 12:00 | **缓冲 + 评审员复跑**(处理 fail 项) | 1h | - |

---

## ▶▶▶ 详细任务清单起

### 0:00-0:30 T-1~T-4(收尾)

参见 `.workbuddy/memory/2026-06-14-今夜-收尾任务.md`(已写)

### 0:30-3:30 A. P0/P1 收尾(3 项)

#### A-1. P0 二次评审 5 遗留修完
- 详见 `docs/评审报告/workbuddy-2026-06-14-P0安全.md` 11.x 节
- 5 项:WS 浏览器 fallback / nginx access_log / 类型 bug / 降级放行 / 缺依赖
- 每项 1 commit
- 任务编号: #18 遗留

#### A-2. P1-1 优化: named volume → host bind mount
- 改 `docker-compose.yml` 用 host bind mount
- `scripts/deploy.sh` 加 host 目录创建
- 任务编号: #25

#### A-3. 初始 alembic 001 基准
- 当前缺初始迁移(从空白 DB 没法 `alembic upgrade head` 到当前 schema)
- 写 `backend/alembic/versions/001_initial_baseline.py`
- 用 SQLAlchemy autogenerate + 人工核对

#### A-4. pytest 基础配置
- `backend/pytest.ini`
- `backend/tests/conftest.py`(异步 client + 测试 DB)
- `backend/tests/test_agents.py` / `test_messages.py` / `test_ws.py`
- 任务编号: README 已知问题 #2

### 3:30-5:00 B. 安全加固(3 项)

#### B-1. 后端日志脱敏
- `backend/app/utils/log_filter.py`(新)
- 过滤 token / password / Authorization header / cookie
- 全局 logging filter 应用
- 验证:`grep -r "Bearer" backend/logs/` 不应命中

#### B-2. CORS 限制
- `backend/app/main.py` 配 CORS origins(开发全开 / 生产白名单)
- 读 `.env` 的 `CORS_ORIGINS`
- 加 `.env.example` 配置项

#### B-3. Rate Limit 基础
- `backend/app/middleware/rate_limit.py`(新)
- 登录端点 5 次/分钟
- 用 slowapi 或手撸 Redis 滑动窗口

### 5:00-6:30 C. CI/CD 配置(2 项)

#### C-1. Gitea Actions 配置
- `.gitea/workflows/ci.yml`(新)
- 跑 pytest
- 跑 pre-commit-check.sh
- 推 main 触发

#### C-2. Pre-commit 钩子
- `.pre-commit-config.yaml`(新)
- 跑 pre-commit-check.sh
- 跑 ruff / black / isort
- 跑 mypy 基础

### 6:30-7:30 D. 文档完善(3 项)

#### D-1. API 文档补完
- 后端每个端点补 OpenAPI description / response model
- 验证 `http://localhost:8000/docs` 完整

#### D-2. 部署文档
- `docs/Gitea部署指南.md`(Claude 写,workbuddy 配合)
- `docs/DEPLOY_NAS.md` 补 Gitea 章节

#### D-3. 开发文档
- `docs/开发指南.md`(新)
- 本地开发流程
- 测试流程
- 推送流程

### 7:30-8:30 E. 代码质量(3 项)

#### E-1. TODO 清理
- `grep -rn "TODO\|FIXME\|XXX" backend/ frontend-*/` 找
- 该删删,该追 issue 追 issue
- 留 `docs/代码清理日志.md` 记录

#### E-2. 死代码删除
- `vulture` 或手动找 unused functions / imports
- 删

#### E-3. type hints 覆盖率
- `mypy --strict backend/app/` 看覆盖率
- 关键模块补 type hints

### 8:30-10:00 F. W-1~W-5 跑剩余(3 项,2 项已在 A 中)

#### F-1. W-4 Dify 集成预研(POC)
- `backend/app/services/dify_client.py`(新)
- `backend/app/api/ai_wingman.py`(新)三个端点
- `docs/集成验证/Dify_POC_报告.md`

#### F-2. W-5 nginx 审计
- 扫所有 nginx.conf
- `docs/审计报告/nginx_access_log_审计.md`

### 10:00-11:00 G. 自我复盘 + 给 Claude 写日报告

#### G-1. workbuddy 日报告
- `.workbuddy/memory/2026-06-15-日报告.md`(新)
- 包含:
  - 跑完任务清单
  - 失败 / 阻塞项
  - 自评(完成度 / 代码质量)
  - 改进建议(给 Claude)
  - 明日待办(给睡醒后的 Claude)

#### G-2. 风险跟踪表更新
- `docs/风险跟踪表.md` 加第十三节(2026-06-15 workbuddy 跑批报告)
- 列所有 A~F 完成度

### 11:00-12:00 缓冲 + 复跑

- 任何 FAIL 项复跑
- 任何 5 P0 遗留没修完 → 优先修
- 任何 pytest 失败 → 修

## ▼▼▼ 详细任务清单止

---

## 🔄 任务依赖

```
T-1~T-4 → A-1 ~ A-4 (P0/P1 收尾, 阻塞评审消化)
A-1 ~ A-4 → B-1 ~ B-3 (安全加固可与 A 并行)
A-1 ~ A-4 + B → C-1, C-2 (CI 跑测试, 等 A B 完)
C → D (文档依赖 CI 跑通)
D → E (代码质量在文档后做)
E → F-1, F-2 (剩余 W 任务)
F → G (日报告)
G → 缓冲 (复跑)
```

**并行机会**:
- B-1~B-3 可与 A-1~A-4 并行(都是 0.5-1h 任务)
- D-1~D-3 可与 E-1~E-3 并行
- F-1 + F-2 并行

workbuddy 客户端能力强可并行;弱就串行。

---

## ⚠️ 关键约束

- **所有 commit** 走 Conventional Commits 格式
- **每个任务完成** → 推 feature/xxx 分支 → 通知 Claude 评审
- **评审通过** → 用户合并 PR
- **config.json 绝对不入仓**
- **token 失败** → `git credential reject` 后重试 → 仍失败上报
- **阻塞 30 分钟** → 上报用户

## 🆘 升级路径

| 阻塞 | 升级给 |
|---|---|
| token / 凭据 | 用户(simon's NAS / workbuddy-claude token) |
| 测试失败定位 | Claude(评审员) |
| 评审打回 3 次 | 用户(需要决策) |
| 任务做完需决策 | 用户(选项 + 推荐) |

## 📈 进度汇报节点

workbuddy 每完成一组(A~F)在 workbuddy 沙箱发条消息给用户:
- "A 组 P0/P1 收尾完成,3 commit 待评审"
- "B 组安全加固完成,2 commit 待评审"
- "C 组 CI/CD 完成,1 commit 待评审"
- ...

用户起床看 Gitea / 评审报告即可。

## 🎯 目标

**workbuddy 跑 10-12 小时** → 用户睡醒后看:
1. Gitea 仓有 **10-15 个新 commit**(A~F + 评审 fix)
2. CI 跑通(Gitea Actions 绿)
3. 日报告 `.workbuddy/memory/2026-06-15-日报告.md` 详尽
4. 风险跟踪表第十三节有 workbuddy 自评

---

**workbuddy 任务来源**: Claude 2026-06-14 睡前满载排期
**前置依赖**: T-1~T-4 收尾任务清单(`.workbuddy/memory/2026-06-14-今夜-收尾任务.md`)
**批量任务清单**: `.workbuddy/memory/2026-06-14-批量任务.md`(W-1~W-5)
