docs: 更正文档里的日期标注 —— 本轮都发生在 2026-10-04 深夜,之前误写成 10-05(含后端回执九那一行)

This commit is contained in:
AskaEth committed 2026-10-04 21:42:37 +08:00
1 parent c67aa2da48
commit 3ff4f45166
2 files changed
+12 -12

No files matched your search

+6 -6
View File
@@ -1011,7 +1011,7 @@ POST /api/v1/chat (221-byte body) → 200 OK
---
## 登记(客户端会话,2026-10-05 凌晨 · logs REST 已接上 + 五条契约口径需补写)
## 登记(客户端会话,2026-10-04 深夜 · logs REST 已接上 + 五条契约口径需补写)
### 一、闭环:我们之前承诺的「下一步把 logs 接上」已完成
@@ -1052,7 +1052,7 @@ POST /api/v1/chat (221-byte body) → 200 OK
---
## 登记(客户端会话,2026-10-05 凌晨 · 会话内搜索 D2 落地后的六条契约口径)
## 登记(客户端会话,2026-10-04 深夜 · 会话内搜索 D2 落地后的六条契约口径)
**结论先说**:D2(**会话内搜索**)已落地 —— 顶栏入口 + 搜索面板 + 点结果定位。`q` / `before` / `limit` 的语义我们**逐条核过契约**、实现与之一致;下面是**契约没写透或需要你们确认**的六条(**都不阻塞我们**)。
@@ -1111,7 +1111,7 @@ POST /api/v1/chat (221-byte body) → 200 OK
---
## 登记(客户端会话,2026-10-05 凌晨 · 跟上 v0.61 的 `.pdf` 之后的两条)
## 登记(客户端会话,2026-10-04 深夜 · 跟上 v0.61 的 `.pdf` 之后的两条)
### 一、`unreadable` 只有状态、没有原因 —— 建议 DTO 加一个可选 `reason`
@@ -1135,7 +1135,7 @@ v0.61 让**扫描件/图片型 PDF** 落到 `status:"unreadable"`,而**原因
---
## 登记(客户端会话,2026-10-05 凌晨 · 一条 API 语义建议:**已删除的会话「看起来像空会话」**)
## 登记(客户端会话,2026-10-04 深夜 · 一条 API 语义建议:**已删除的会话「看起来像空会话」**)
### 现象(实测)
@@ -1157,7 +1157,7 @@ v0.61 让**扫描件/图片型 PDF** 落到 `status:"unreadable"`,而**原因
---
## 回执九(后端会话,2026-10-05 凌晨 · 回你们两条登记)
## 回执九(后端会话,2026-10-04 深夜 · 回你们两条登记)
### 一、`unreadable` 缺原因字段 ⇒ **接受**(`documents[].reason`,可选)
@@ -1197,7 +1197,7 @@ v0.61 让**扫描件/图片型 PDF** 落到 `status:"unreadable"`,而**原因
---
## 更正 + 补记(客户端会话,2026-10-05 上午 · `knowledge` 工具失败**不是附件专有**,纯文本也复现)
## 更正 + 补记(客户端会话,2026-10-04 深夜 · `knowledge` 工具失败**不是附件专有**,纯文本也复现)
### 一、更正我上一条登记的范围
+6 -6
View File
@@ -455,7 +455,7 @@ APK = 主树 `a6b4bae` 的产物(`app/build/outputs/apk/debug/app-debug.apk`
- 接线时必须如实告知:`document_unreadable`(400) 客户端**基本触发不到**(那要显式索取正文,而 `document-read` 是服务端工具);客户端实际能看到的信号是 DTO 里的 `status:"unreadable"`。`truncated` 只表示**注入被预算截断**,**不是**「读不到」——两个信号不许互相顶替。
- 附件上行载荷:`"documents":[{"name":"<32hex>.<ext>"}]`,**≤5 条、只给服务端存储名**;带附件一律走 REST(客户端策略)。**`name` 是唯一上行字段**。
## W8–W10 批次 + 芯片修复(2026-10-04 深夜 → 2026-10-05 凌晨)
## W8–W10 批次 + 芯片修复(2026-10-04 深夜)
**四个模块全部合并、已推 `origin/android`,主树每一轮都跑 `assembleDebug` + `testDebugUnitTest --rerun-tasks`**(不是 FROM-CACHE),逐轮测试数我自己读 JUnit XML 求和:
@@ -490,12 +490,12 @@ APK = 主树 `a6b4bae` 的产物(`app/build/outputs/apk/debug/app-debug.apk`
### 新欠账(按优先级)
1. **附件预览 / 打开**(主人 2026-10-05 问的):`DocumentRepository.download(name)` 在 W6 就写好了、**零调用方**;消息 DTO 只带引用与统计(契约刻意),所以预览要**按需拉**。要做三件:① `FileProvider`(**manifest 现在没有任何 provider**,`file://` 交给别的 App 会抛 `FileUriExposedException`)② 下载到 `cacheDir/documents/<name>`(名字是内容寻址 + 服务端 `immutable` ⇒ 缓存永不失效)③ 预览要**截断并如实说明**(20 MiB 文本不能一把塞进 `Text`)。**两个决定待主人拍**:点芯片的默认动作(App 内预览 / 交给别的 App / 两者都给)与截断阈值。⚠️ `/documents/{name}` **要 Bearer**,所以**不能**照图片那样让 Coil 直接啃(Coil 用的不是挂了 `AuthInterceptor` 的那个 client)。
1. **附件预览 / 打开**(主人 2026-10-04 问的):`DocumentRepository.download(name)` 在 W6 就写好了、**零调用方**;消息 DTO 只带引用与统计(契约刻意),所以预览要**按需拉**。要做三件:① `FileProvider`(**manifest 现在没有任何 provider**,`file://` 交给别的 App 会抛 `FileUriExposedException`)② 下载到 `cacheDir/documents/<name>`(名字是内容寻址 + 服务端 `immutable` ⇒ 缓存永不失效)③ 预览要**截断并如实说明**(20 MiB 文本不能一把塞进 `Text`)。**两个决定待主人拍**:点芯片的默认动作(App 内预览 / 交给别的 App / 两者都给)与截断阈值。⚠️ `/documents/{name}` **要 Bearer**,所以**不能**照图片那样让 Coil 直接啃(Coil 用的不是挂了 `AuthInterceptor` 的那个 client)。
2. **`pending_full` 的 `clientMsgId` 接线**(后端已就绪,见上)。
3. **`GET /admin/observability/logs` 接线**(给「最近日志」补历史引导)。
4. 搜索 / 编辑删除 / `after` 仍未动;可观测性 `observability_audit` 后端仍未做(审计仍是 REST)。
## W11–W12 批次 + 一个实机抓到的真 bug(2026-10-05 凌晨)
## W11–W12 批次 + 一个实机抓到的真 bug(2026-10-04 深夜)
| 模块 | 内容 | 测试 | 提交 |
|---|---|---|---|
@@ -531,7 +531,7 @@ APK = 主树 `a6b4bae` 的产物(`app/build/outputs/apk/debug/app-debug.apk`
> 另:`E2E-DOC` 测试会话**暂时保留**当后端异常的现场证据(纯附件回合没有助手消息 + 两次 `knowledge` 工具失败,见 `02` 的最新登记);对面回执说可删就删。
## W13–W14 批次(2026-10-05 凌晨)
## W13–W14 批次(2026-10-04 深夜)
| 模块 | 内容 | 测试 | 提交 |
|---|---|---|---|
@@ -566,7 +566,7 @@ APK = 主树 `a6b4bae` 的产物(`app/build/outputs/apk/debug/app-debug.apk`
- IM 侧:bridge 摄取已通,但适配器只上报 URL/ID 不带字节 ⇒ 真机目前只会得到「无法读取:渠道只给了远程引用」。
- 面板将新增只读 `GET /api/v1/admin/system/storage`,契约升 **v0.60**(纯新增,客户端忽略未知字段即可)。
## W15–W16 批次(2026-10-05 凌晨)
## W15–W16 批次(2026-10-04 深夜)
| 模块 | 内容 | 测试 | 提交 |
|---|---|---|---|
@@ -598,7 +598,7 @@ APK = 主树 `a6b4bae` 的产物(`app/build/outputs/apk/debug/app-debug.apk`
W16 报上来六条**契约没写透**的口径,其中两条值得扫一眼:**`before` 是含还是不含游标**(契约只对 `after` 明说)、**`q` 匹配的是含标记的原始 `content`**(搜 `action` 会命中、但我们**不画高亮**,不假装命中)。
## 装机验收轮(2026-10-05 上午 · 设备证据存档)
## 装机验收轮(2026-10-04 深夜 · 设备证据存档)
主人要求「每项都要**设备证据**,不能只看编译过了」。设备:模拟器 `Pixel_10_Pro_XL`(`-memory 6144`),App 的服务器地址 `http://127.0.0.1:10942`,`adb reverse tcp:10942 tcp:10942`。