docs(progress): log Android client AW0+AW1 pure-Kotlin foundation (218 tests green)

This commit is contained in:
Yaojia Wang
2026-07-08 13:45:54 +02:00
parent 4ea8f7862a
commit 7b3fe1b124

View File

@@ -24,6 +24,14 @@
> 新会话读到的第一块。保持准确,只描述"此刻"。
### 🤖 ANDROID CLIENT — 与 iOS 对齐的原生客户端(计划 + 地基已落;2026-07-08)
- **计划**: [ANDROID_CLIENT_PLAN.md](./ANDROID_CLIENT_PLAN.md)(多 agent 探索 iOS→综合→4 视角评审→终版)。镜像 iOS 的 SPM 包为 Gradle 模块;36 任务 AW0AW6。三个开放问题已定:R2(Termux terminal-view/emulator 是 **Apache-2.0** + JitPack,非 GPL-阻塞,独立验证更正)、R1(接受 FCM 尽力而为后台送达)、R7(服务端用 `google-auth-library`)。
- **本机环境约束**: JDK+Gradle 可用,但 **Android SDK 为空** → 仅**纯 Kotlin/JVM 模块**能真构建验证;Android 框架层(`:app`/`:terminal-view`/UI/FCM)只能写、待有 SDK 的机器构建。
- **[x] AW0 + AW1(纯 Kotlin 地基)DONE — commit `4ea8f78`**: 一个实施 Workflow(A1 脚手架→A2 冻结 `:wire-protocol` 契约→A3 fakes → 并行 A4/A5/A6/A8/A9/A10 → 统一 Verify → 3 路评审)。**验证(实测)**: `./gradlew clean test` = **218 测试 0 失败**(wire-protocol 47 / session-core 60 / api-client 69 / client-tls 27 / test-support 15),clean 重建可复现。
- 模块:`:wire-protocol`(冻结契约 + HostEndpoint CSWSH origin 派生 + 手写 codec 逐字节对齐 `JSON.stringify`)、`:session-core`(ReconnectMachine 退避/PingScheduler/GateTracker 双行 epoch 守卫/AwayDigest/TitleSanitizer/**KeyByteMap 逐字节匹配 `public/keybar.ts`**)、`:api-client`(全 REST + Origin-仅-守卫 + prefs 未知键保留 + pairing 分级)、`:client-tls`(纯半:PKCS12/别名逻辑/证书摘要)、`:test-support`(fakes)。
- **评审 3 视角各 8/10;findings 已修 + 加 11 回归测试**:sessionId JSON 注入转义(deep-link 攻击面)、PingScheduler CancellationException 传播、PairingProbe 超时关闭泄漏、HostEndpoint trim、HostClassifier 提升 `:wire-protocol` 统一类型、Pkcs12 错密码判定 BouncyCastle 可移植、lone-surrogate 转义。
- **待办**: AW2+(SessionEngine/wiring 冻结)、AW3(`:terminal-view` Termux 封装,需 SDK)、AW4 UI 屏、AW5 push/mTLS 框架半 + **A33 服务端 FCM**(`/push/fcm-token` 路由现缺,api-client 已标注)。这些需在有 Android SDK 的环境构建验证。
### 🚧 RELAY-PHASE1 — 把原生 rendezvous-relay 部署到单台 VPS(8.138.1.192,阿里云;2026-07-06)
- **目标**: DEPLOY_RELAY §4 的 **Phase 1「1b 全量持久化 staging」**。VPS 上 Docker 自建 Postgres+Redis;已备案域名走 443 + Let's Encrypt;agent 跑在操作者本机向外拨号。完整文件级方案见 [PLAN_RELAY_PHASE1.md](./PLAN_RELAY_PHASE1.md)。
- **进度**: **Wave A/B/C/D/E 代码全部完成并通过 Verify** —— 一个后台 Workflow(12 agents,0 error)跑完 A2、B1B5、B6、C、D1、E。Verify 门槛:**四个包 tsc 全干净、可构建包全 build 成功、314/314 测试通过**(control-plane 103 / relay-run 74 / agent 137 + relay-web 118)。对抗式安全评审:**所有硬不变量 PASS**(INV2 opaque splice、Origin/CSWSH 精确匹配、mTLS INV14 registry 门控、token-mint 密码学、撤销 INV12、jti 单次、参数化 SQL)。