Skip to content

Commit 5520347

Browse files
committed
docs(31-03): complete oauth-conflicts-integration plan
1 parent 99f1974 commit 5520347

3 files changed

Lines changed: 14 additions & 11 deletions

File tree

.planning/REQUIREMENTS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
- [x] **REQ-F1-B**:cloud-claude 启动后,从命令执行到出现可输入 prompt 的总耗时 ≤ 8s(含首轮 Mutagen 同步),过程中输出三段式中文进度:`初始化文件映射 (1/3) 热同步源码中…`
1919
- [x] **REQ-F1-C**:在 10k 文件源码树执行 `rg .` / `ls -R` 的延迟 ≤ 等价本地操作的 1.5×
2020
- [x] **REQ-F1-D**:候选同步目录大小 > 50MB 时,cloud-claude 拒绝热同步并自动改用 sshfs 兜底,同时给出明确中文提示与 ignore 配置建议
21-
- [ ] **REQ-F1-E**:Mutagen 同步出现 conflict 时,下次回车前在 prompt 上方插入中文警告:`⚠ 有 N 个文件同步冲突,运行 cloud-claude sync conflicts 查看`
21+
- [x] **REQ-F1-E**:Mutagen 同步出现 conflict 时,下次回车前在 prompt 上方插入中文警告:`⚠ 有 N 个文件同步冲突,运行 cloud-claude sync conflicts 查看`
2222

2323
### A2 · 降级路径与 `--mount-mode` 手动切换(F2)
2424

@@ -57,7 +57,7 @@
5757

5858
- [ ] **REQ-F7-A**`~/.claude/``~/.cache/claude` 通过独立 Docker named volume 持久化;命名粒度 = 单个 `claude_account`(建议 `claude-state-{claude_account_id}`,带 label `com.cloud-cli-proxy.account_id`
5959
- [ ] **REQ-F7-B**:容器重建后未过期的 OAuth credentials 必须保留,用户无需重新执行 `claude login`
60-
- [ ] **REQ-F7-C**:credentials 即将过期或已过期时,cloud-claude 必须在连接建立前给出明确的中文提示,不能让 claude 进程进入报错后才发现
60+
- [x] **REQ-F7-C**:credentials 即将过期或已过期时,cloud-claude 必须在连接建立前给出明确的中文提示,不能让 claude 进程进入报错后才发现
6161
- [ ] **REQ-F7-D**:通过 admin API 删除 claude_account 时,事务性联动删除对应的 Docker named volume
6262

6363
### C3 · 错误码与中文提示统一升级(F8)
@@ -171,7 +171,7 @@
171171
| REQ-F1-B | Phase 31 | Complete | 首连 ≤ 8s 含三段式中文进度(最终验收对接 Phase 35 / BASE-02) |
172172
| REQ-F1-C | Phase 31 | Complete | 10k 文件 1.5× 性能(最终验收对接 Phase 35 / BASE-01) |
173173
| REQ-F1-D | Phase 31 | Complete | > 50MB 候选目录拒绝 + 自动降级 sshfs |
174-
| REQ-F1-E | Phase 31 | Pending | Mutagen conflict 中文冒泡 |
174+
| REQ-F1-E | Phase 31 | Complete | Mutagen conflict 中文冒泡 |
175175
| REQ-F2-A | Phase 31 | Complete | `--mount-mode` 四档切换 |
176176
| REQ-F2-B | Phase 31 | Complete | 任一层失败 ≤ 2s 降级 + 禁止静默 |
177177
| REQ-F2-C | Phase 31 | Complete | banner 彩色 mount 模式标签 |
@@ -192,7 +192,7 @@
192192
| REQ-F6-D | Phase 34 | Pending | doctor `--verbose` / `--json` / 退出码 0/1/2 |
193193
| REQ-F7-A | Phase 33 | Pending | named volume `claude-state-{id}` + label(数据模型在 Phase 30) |
194194
| REQ-F7-B | Phase 33 | Pending | 容器重建 OAuth 保留 |
195-
| REQ-F7-C | Phase 31 | Pending | 连接握手期 OAuth 过期中文提示 |
195+
| REQ-F7-C | Phase 31 | Complete | 连接握手期 OAuth 过期中文提示 |
196196
| REQ-F7-D | Phase 33 | Pending | admin DELETE 事务联动 `volume rm` |
197197
| REQ-F8-A | Phase 34 | Complete | 错误码 `<DOMAIN>_<KIND>_<NUM>` 体系(横切:各 phase 落码时遵循) |
198198
| REQ-F8-B | Phase 34 | Complete | 错误三要素(横切:各 phase 落码时遵循) |

.planning/ROADMAP.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
| 28. 生产 FUSE 兼容性验证 | v2.0 | 2/2 | Complete | 2026-04-15 |
114114
| 29. 受管镜像 v3 + Worker 容器参数 | v3.0 | 6/6 | Complete | 2026-04-18 |
115115
| 30. 控制面数据模型 + Entry API | v3.0 | 2/2 | Complete | 2026-04-18 |
116-
| 31. CLI 三层文件映射重构 | v3.0 | 2/3 | In Progress| |
116+
| 31. CLI 三层文件映射重构 | v3.0 | 3/3 | Complete | 2026-04-19 |
117117
| 32. SSH 会话可靠性 + tmux + 多端 | v3.0 | 0/3 | Pending ||
118118
| 33. Claude Code 状态持久化 | v3.0 | 0/2 | Pending ||
119119
| 34. cloud-claude doctor v3 + 错误码统一 | v3.0 | 0/3 | Pending ||

.planning/STATE.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
gsd_state_version: 1.0
33
milestone: v3.0
44
milestone_name: 远端开发体验升级
5-
status: executing
6-
stopped_at: Completed 31-cli/02-mount-three-layer-PLAN.md
7-
last_updated: "2026-04-19T09:35:14.546Z"
5+
status: verifying
6+
stopped_at: Completed 31-cli/03-oauth-conflicts-integration-PLAN.md
7+
last_updated: "2026-04-19T09:55:34.225Z"
88
last_activity: 2026-04-19
99
progress:
1010
total_phases: 7
@@ -28,7 +28,7 @@ See: .planning/PROJECT.md (updated 2026-04-17)
2828
Milestone: v3.0 远端开发体验升级
2929
Phase: 31 (cli) — EXECUTING
3030
Plan: 3 of 3
31-
Status: Ready to execute
31+
Status: Phase complete — ready for verification
3232
Last activity: 2026-04-19
3333

3434
Progress: [░░░░░░░░░░░░░░░░░░░░] 0%(v3.0;Phase 29 待执行)
@@ -53,6 +53,9 @@ v3.0 关键方向已定:
5353
- [Phase 31-cli]: mutagen_bin/.gitattributes 关闭 LFS 行 + 占位 stub 提交,由 CI build-images workflow 拉取真实 v0.18.1 二进制(Plan 31-01 Task 1.2 自决)
5454
- [Phase 31-cli]: Plan 02:三层 mount 状态机落地,Mode={Auto,Full,MutagenOnly,SSHFSOnly},Auto 任一档失败 ≤2s 降级到下一档;exitcodes.go 9 个常量与 v2.0 0-5 对齐 + OAuth/mount 6-8
5555
- [Phase 31-cli]: Plan 02:M13 防御「禁止静默降级」由 stderr MOUNT_AUTO_DOWNGRADED + last-session.json downgrade_chain 双留痕;ConnectAndRunClaudeV3 留 TODO(plan-03) OAuth hook 点
56+
- [Phase 31-cli]: Plan 03:OAuth 三态检查接入 ConnectAndRunClaudeV3 (mount ready 后、claude 前),Expired→ExitOAuthExpired(7) / NotFound→ExitOAuthNotFound(6),ExpiringSoon 仅警告
57+
- [Phase 31-cli]: Plan 03:MutagenSyncStatus{SessionName,ConflictCount,LastError} 引入,mountMutagen 第二返回值 int→struct,sync list --template 解析 conflict count(v0.18.1 不支持 --json)
58+
- [Phase 31-cli]: Plan 03:6 个 TestIntegration_* + docker compose fixture 脚本就位,未引入 testcontainers-go;C3 netem 场景 t.Skip 留 Phase 35 真机
5659

5760
### Pending Todos
5861

@@ -76,6 +79,6 @@ None — 等待 REQUIREMENTS.md 与 ROADMAP.md 产出后进入 phase 执行。
7679

7780
## Session Continuity
7881

79-
Last session: 2026-04-19T09:35:03.006Z
80-
Stopped at: Completed 31-cli/02-mount-three-layer-PLAN.md
82+
Last session: 2026-04-19T09:55:21.345Z
83+
Stopped at: Completed 31-cli/03-oauth-conflicts-integration-PLAN.md
8184
Resume file: None

0 commit comments

Comments
 (0)