Skip to content

2026-08-30 迭代 TC 预跑验收证据 ​

  • Issue:lamolabs/lamolabs-docs#44
  • 工作树:lamolabs-docs-issue-44
  • 目标分支:main
  • 工作分支:feat/issue-44-tc-evidence
  • 执行时间:2026-08-30 14:13:47 CST 起
  • 执行边界:仅在本 docs worktree 整理证据;不修改主 docs 工作区、其他 worktree、.loop-state*.json

1. 结论先行 ​

本次只能形成预跑证据,不能形成正式验收通过结论。

当前全部 A01-G07 与 MTG-01-MTG-10 已补齐状态口径,但无一项可记为通过。原因分两类:

  1. 正式验收阻塞
    • tc.md frontmatter 仍为 status: 草案(待评审)
    • 缺真实 macOS / Windows 桌面安装包、双网络、多端账号、数据库/日志/抓包工具
    • P2P 威胁模型未拍板,相关用例只能记阻塞
    • lamolabs/nexo-web-sdk#17 仍开放,离线重启相关验收受影响
    • lamolabs/lamolabs-docs#43 已集中事实源,但 nexo-auth / nexo-im-api / nexo-im-pc 原仓 docs/deploy.md 短索引 companion PR 仍未在本报告中拿到完成证据
    • 主线配置与设计存在已知偏差:心跳配置仍是代码常量、令牌时限仍是 30 天刷新令牌 + 30 天未活跃失效、did 语义未在主线验到
  2. 本次可做的预跑已完成
    • 文档站本地事实源核对
    • 公开 URL HTTP 探活
    • GitHub CI / Deploy / Desktop Release 运行状态核对
    • docs 公开站 development/ 路由不暴露的在线检查

2. 已执行的预跑动作与证据 ​

2.1 本地事实源核对 ​

  • 已读取:
    • development/README.md
    • engineering/index.md
    • README.md
    • products/nexo-im/iterations/2026-08-30/{prd,design,tc}.md
    • development/deployment/nexo-im/{README,release-runbook,nexo-auth,nexo-im-api,nexo-im-pc,config-matrix}.md
  • 结论:
    • docs 仓当前未找到仓库级 AGENTS.md;development/README.md 已将此现状落档
    • 当前中央可渲染入口是 engineering/index.md
    • development/** 被定义为受控非渲染目录
    • tc.md frontmatter 当前仍是 草案(待评审)

2.2 GitHub Issue / PR / Workflow 事实源 ​

2.3 公开地址 HTTP 探活 ​

执行命令:

bash
curl -sS -L -o /dev/null -D - https://nexo-im-test.snailuu.cn
curl -sS -L -o /dev/null -D - https://nexo-im-pc-test.pages.dev
curl -sS -L -o /dev/null -D - https://lamolabs-docs.pages.dev
curl -sS -L -o /dev/null -D - https://lamolabs-docs.pages.dev/development/

结果:

  • https://nexo-im-test.snailuu.cn → HTTP/2 200
  • https://nexo-im-pc-test.pages.dev → HTTP/2 200
  • https://lamolabs-docs.pages.dev → HTTP/2 200
  • https://lamolabs-docs.pages.dev/development/ → HTTP/2 404

说明:

  • 可证明前端公开地址当前可达
  • 可证明 docs 公开站未直接暴露 development/ 路由
  • 不能据此推导任一业务 TC 通过

2.4 Desktop Release test 构建跟踪 ​

  • Workflow run: https://github.com/lamolabs/nexo-app/actions/runs/33296190239
  • 最新复查时间:2026-08-30 14:31 CST 左右
  • 当前状态:
    • run:completed / success
    • macOS (Apple Silicon) job:completed / success
    • Windows (x64) job:completed / success
    • artifact:nexo-desktop-macos-test
    • artifact:nexo-desktop-windows-test
  • 结论:
    • 这只能作为测试包构建证据
    • 不能代替 MTG-10、F05、F06、D03、D04 的真机验收

3. 正式验收阻塞清单 ​

3.1 文档与流程阻塞 ​

  • tc.md frontmatter 仍是 草案(待评审)
  • lamolabs/lamolabs-docs#43 虽已通过 PR #51 集中事实源,但三代码仓原 docs/deploy.md 短索引 companion PR 仍需单独补齐,否则 G03 不能记通过

3.2 环境阻塞 ​

  • 缺真实 macOS / Windows 安装包与双平台真机操作证据
  • 缺多端可登录账号矩阵与真实测试数据
  • 缺双网络环境(同网段 / 跨公网出口)
  • 缺数据库只读断言环境
  • 缺日志检索环境
  • 缺 WebRTC / HTTP / WS 抓包工具链

3.3 主线偏差与设计阻塞 ​

  • nexo-auth 当前主线验证到的是 30 天刷新令牌 + 30 天未活跃失效,不是设计稿里的 30 天绝对有效期 + 14 天空闲超时
  • nexo-im-api 心跳参数当前仍是代码常量,未收敛成部署变量
  • MESSAGE_RECALL_WINDOW_MS、presence TTL、本地通道端口、P2P 超时、STUN、TURN 未在当前主线拿到可验的统一配置入口
  • 令牌语义当前仍记录为 sid,did 切换不能在当前主线写成已验收
  • nexo-im-pc#49 / #50 已明确:防信令服务端 MITM 的带外校验 / 威胁模型未拍板 时,P2P 相关用例只能记阻塞

3.4 已知功能阻塞 ​

  • lamolabs/nexo-web-sdk#17 仍 OPEN:离线重启会丢访问令牌,且断网刷新会清刷新令牌; 直接影响 D01、MTG-09 的离线可读部分,并波及相关本地历史预跑口径

4. 会上用例状态矩阵(MTG-01—MTG-10) ​

编号当前状态已有证据阻塞/备注对应 Issue
MTG-01阻塞nexo-app#35、Desktop Release run 33296190239缺真实桌面安装包与真机录屏;测试包构建不能代替桌面登录验收lamolabs-docs#44
MTG-02阻塞prd/design/tc、config-matrix.md本地通道端口与 Origin 准入未在当前主线拿到可公开验收入口;缺桌面确认弹窗实机环境lamolabs-docs#44
MTG-03阻塞nexo-app#35只拿到实现 PR 与 CI,未拿到多端账号、强制下线录屏与 5s 计时证据lamolabs-docs#44
MTG-04阻塞nexo-im-api 集中事实源、config-matrix.md心跳参数仍是代码常量;缺真实 WS 故障注入、连接计数与重连录屏lamolabs-docs#44
MTG-05阻塞nexo-im-pc#48只有前端实现与 CI;未拿到在线多端撤回录屏、接口与 DB 断言lamolabs-docs#44
MTG-06阻塞nexo-im-pc#49、nexo-im-pc#50P2P 威胁模型未拍板;缺双网络、抓包与双端同步实测lamolabs-docs#44
MTG-07阻塞nexo-im-pc#47只有实现 PR;缺桌面后台通知真机录屏与点击回跳证据lamolabs-docs#44
MTG-08阻塞nexo-im-pc#47缺双端同时在线、通知与未读清零的时序录屏/DB 断言lamolabs-docs#44
MTG-09阻塞nexo-im-pc#48、lamolabs/nexo-web-sdk#17离线重启受 SDK 缺陷影响;另缺账号隔离与本地库截图证据lamolabs-docs#44, nexo-web-sdk#17
MTG-10阻塞nexo-app#35、Desktop Release run 33296190239macOS / Windows test artifact 已成功产出,但仍缺双平台真机安装、窗口交互与白边录屏lamolabs-docs#44

5. 详细状态矩阵(A01—G07) ​

说明:以下“未执行”表示本 worker 未拿到可接受的执行环境;“阻塞”表示即使继续执行也无法据此记通过,或已存在明确前置/主线偏差阻塞。

5.1 A 组:登录、设备、会话与密码 ​

编号当前状态已有证据阻塞/备注对应 Issue
A01阻塞nexo-app#35、Desktop Release run 33296190239缺桌面真机登录录屏;测试包构建不算验收lamolabs-docs#44
A02阻塞prd/design/tc、config-matrix.md需桌面本地通道 + 网页端零密码联调;当前无实机与确认弹窗证据lamolabs-docs#44
A03阻塞config-matrix.md端口 17650-17652 尚未在当前主线验证到实现入口lamolabs-docs#44
A04阻塞config-matrix.md、design.md缺六浏览器矩阵与本地通道真实响应;PNA / CORS 证据不存在lamolabs-docs#44
A05未执行tc.md、design.md缺真实 auth 环境、请求响应与数据库断言lamolabs-docs#44
A06未执行Desktop Release run 33296190239缺桌面安装包、凭证库脱敏截图与 10 次重启/重装证据lamolabs-docs#44
A07未执行公开前端 URL 200缺浏览器多轮登录、清站点数据与数据库计数断言lamolabs-docs#44
A08未执行prd/design/tc缺双账号与同机多端登录证据lamolabs-docs#44
A09未执行FR-2 / tc.md缺双 IP、归属地查询失败注入与接口结果lamolabs-docs#44
A10阻塞prd/design/tc缺性能采样、服务端日志与数据库 H1/H2 脱敏证据lamolabs-docs#44
A11阻塞prd/design/tc缺至少 20 次响应采样与账号枚举对比证据lamolabs-docs#44
A12未执行tc.md缺双端在线、旧刷新令牌重放与 DB/WS 断言lamolabs-docs#44
A13未执行nexo-app#35实现 PR 已合并,但未拿到 401/403 真实录屏与请求证据lamolabs-docs#44
A14阻塞nexo-app#35仍缺强制下线 5s 录屏、异常注入与本地消息库保留证据lamolabs-docs#44
A15阻塞nexo-auth.md、config-matrix.md主线时限是 30 天刷新 + 30 天未活跃,与 TC 期望 30 天绝对 + 14 天空闲 不一致lamolabs-docs#44

5.2 B 组:心跳与连接回收 ​

编号当前状态已有证据阻塞/备注对应 Issue
B01未执行nexo-im-api.md缺真实 WS 心跳日志与 4 个周期观察lamolabs-docs#44
B02阻塞nexo-im-api.md、config-matrix.md仅能确认主线等效阈值,缺故障注入、95s 计时与数据库断言lamolabs-docs#44
B03未执行nexo-im-api.md缺网络恢复后的自动重连录屏lamolabs-docs#44
B04未执行tc.md缺主动关闭/杀进程/超时三路径实测lamolabs-docs#44
B05未执行tc.md缺 IM→Auth 上报阻断实验与软状态兜底证据lamolabs-docs#44
B06阻塞nexo-im-api.md、config-matrix.md心跳参数仍非集中配置入口,无法按 TC 记“已集中读取、带默认值和校验”lamolabs-docs#44

5.3 C 组:消息撤回 ​

编号当前状态已有证据阻塞/备注对应 Issue
C01阻塞nexo-im-pc#48仅有实现 PR;缺在线多端撤回 2s 录屏nexo-im-pc#35, lamolabs-docs#44
C02未执行nexo-im-pc#48缺离线端恢复后的增量回放证据nexo-im-pc#35, lamolabs-docs#44
C03阻塞nexo-im-pc#48、tc.md缺接口集合遍历与数据库归档断言nexo-im-pc#35, lamolabs-docs#44
C04未执行nexo-app#35、tc.md缺 403 撤回越权的响应与状态保持证据lamolabs-docs#44
C05未执行tc.md缺并发撤回与事务失败注入证据lamolabs-docs#44
C06阻塞config-matrix.mdMESSAGE_RECALL_WINDOW_MS 未在主线验证到配置入口lamolabs-docs#44
C07未执行nexo-im-pc#48缺顺序、预览与未读计数联动证据nexo-im-pc#35, lamolabs-docs#44

5.4 D 组:本地存储与 P2P 同步 ​

编号当前状态已有证据阻塞/备注对应 Issue
D01阻塞lamolabs/nexo-web-sdk#17SDK 离线重启问题仍 OPEN,且缺桌面 / 浏览器离线启动实测nexo-web-sdk#17, lamolabs-docs#44
D02阻塞lamolabs/nexo-web-sdk#17离线重启与账号切换路径受 SDK 问题影响;缺本地库隔离证据nexo-web-sdk#17, lamolabs-docs#44
D03阻塞Desktop Release run 33296190239缺 macOS 真机卸载重装与“清空本地消息”录屏lamolabs-docs#44
D04阻塞Desktop Release run 33296190239Windows test artifact 已成功产出,但仍缺默认卸载/勾选删除的真机录屏lamolabs-docs#44
D05未执行nexo-im-pc#49、#50缺 SQLite / IndexedDB schema diff 与业务层代码审查证据nexo-im-pc#36, nexo-im-pc#37, lamolabs-docs#44
D06阻塞nexo-im-pc#49、#50缺双端 1000 条同步实测;P2P 威胁模型未拍板nexo-im-pc#36, nexo-im-pc#37, lamolabs-docs#44
D07阻塞nexo-im-pc.md、config-matrix.mdSTUN / TURN / 超时配置未在主线拿到实现入口;缺双网络实测nexo-im-pc#36, lamolabs-docs#44
D08阻塞nexo-im-pc#49缺抓包、DTLS / DataChannel 流量与内存曲线证据nexo-im-pc#36, lamolabs-docs#44
D09阻塞lamolabs/nexo-web-sdk#17、nexo-im-pc#49离线恢复路径受 SDK 问题影响;缺断点续传实测与校验和nexo-web-sdk#17, nexo-im-pc#36, lamolabs-docs#44
D10阻塞nexo-im-pc#50缺对称 NAT / 禁 UDP / AP isolation 网络条件与失败录屏;P2P 威胁模型未拍板nexo-im-pc#37, lamolabs-docs#44

5.5 E 组:账号级未读与通知 ​

编号当前状态已有证据阻塞/备注对应 Issue
E01阻塞nexo-im-pc#47缺桌面后台通知真机录屏与点击回跳nexo-im-pc#38, lamolabs-docs#44
E02未执行nexo-im-pc#47缺双浏览器通知授权 / 拒绝录屏nexo-im-pc#38, lamolabs-docs#44
E03未执行nexo-im-pc#47缺 WS 帧与前后台切换证据nexo-im-pc#38, lamolabs-docs#44
E04阻塞nexo-im-pc#47缺双端在线已读清零计时录屏与数据库断言nexo-im-pc#38, lamolabs-docs#44
E05未执行nexo-im-pc#47缺三端录屏与离线端上线后的真实未读证据nexo-im-pc#38, lamolabs-docs#44
E06阻塞config-matrix.md、design.mdpresence TTL 与 push 字段仍无可验主线入口;缺日志与 schema 证据nexo-im-pc#38, lamolabs-docs#44

5.6 F 组:界面、桌面壳与缺陷 ​

编号当前状态已有证据阻塞/备注对应 Issue
F01未执行nexo-im-pc#48缺同日 / 跨日消息截图与格式对齐证据nexo-im-pc#35, lamolabs-docs#44
F02未执行tc.md缺多会话草稿切换、重启与本地库存证lamolabs-docs#44
F03阻塞nexo-app#35teardown 实现已合并,但未拿到失败注入与页面仍可操作的录屏nexo-app#22, lamolabs-docs#44
F04未执行nexo-im-pc#48缺滚动条隐藏前后像素对比nexo-im-pc#35, lamolabs-docs#44
F05阻塞Desktop Release run 33296190239缺双平台空白区横滑与白边录屏lamolabs-docs#44
F06阻塞Desktop Release run 33296190239缺双平台窗口拖拽 / 三键 / resize 真机录屏lamolabs-docs#44
F07阻塞prd.md、tc.md需批准后的统一视觉资产与五处制品截图;当前未拿到完整资产证据lamolabs-docs#44

5.7 G 组:迁移、发布、文档与回归 ​

编号当前状态已有证据阻塞/备注对应 Issue
G01未执行release-runbook.md缺历史数据快照、迁移执行日志与 SQL 断言lamolabs-docs#44
G02未执行相关 PR #35/#47/#48/#49/#50仅读到 PR 摘要与检查结果,未完成跨仓数据访问代码审查清单lamolabs-docs#44
G03阻塞docs #43、PR #51、lamolabs-docs.pages.dev/development/ -> 404集中事实源已完成,但三代码仓 docs/deploy.md 短索引 companion PR 仍需补齐;“执行者提问 0 次”未验证lamolabs-docs#43, lamolabs-docs#44
G04阻塞config-matrix.md、nexo-auth.md、nexo-im-api.md、nexo-im-pc.md多项配置仍是设计值 / 主线未验证,不能记“均集中读取、带默认值和校验”lamolabs-docs#43, lamolabs-docs#44
G05阻塞release-runbook.md、config-matrix.mddid 语义未在主线验到;缺 5 账号改密与旧令牌失效实证lamolabs-docs#43, lamolabs-docs#44
G06阻塞design.md、tc.md缺日志检索环境,无法证明全部事件可追踪且脱敏正确lamolabs-docs#44
G07阻塞nexo-app#35、nexo-im-pc#47/#48/#49/#50、nexo-web-sdk#17只有实现 PR 与部分工作流;回归项仍缺真实环境证据,离线重启还受 SDK 问题影响lamolabs-docs#44, nexo-web-sdk#17

6. 可做预跑 vs 正式验收阻塞 ​

6.1 已完成的可做预跑 ​

  • docs 仓事实源完整性核对
  • docs 公开站与 development/ 路由在线探活
  • nexo-im-test / nexo-im-pc-test 公开入口 HTTP 探活
  • 相关实现 PR 与 GitHub CI / Deploy 状态核对
  • Desktop Release test 构建跟踪到 artifact 层

6.2 仍阻止正式验收的项 ​

  • TC 仍是草案,未评审定稿
  • 缺真机桌面包、多账号、双网络、数据库/日志/抓包工具
  • P2P 威胁模型未拍板
  • nexo-web-sdk#17 未关闭
  • docs companion PR 未补齐
  • 主线配置与设计存在明确偏差

6.3 Computer Use Mac/浏览器交互预跑 ​

本节是 2026-08-30 在测试环境使用 Computer Use 的交互预跑记录,不改变前文“无完整证据不得通过”的结论。测试会话中产生的消息和草稿均使用 TC- 前缀的合成数据。

环境:https://nexo-im-test.snailuu.cn,macOS + Chrome,已有测试会话;桌面测试包为 nexo-app dev 的 Desktop Release test artifact。

交互预跑结果证据TC 关联与边界
发送消息并查看时间通过预跑:消息正常发送,列表和详情显示到秒chat-user1对应 F01/C01 的前置交互;未验证跨天和多端时延
撤回本人消息通过预跑:正文变为“你 撤回了一条消息”,会话预览同步更新,撤回入口消失message-recall仅验证单端 UI;C01/C02/C07 的多端、after_seq 和数据库条件仍阻塞
草稿隔离通过预跑:在用户三会话输入草稿,切换用户一后再返回,草稿仍保留且未串会话chat-draft仅验证网页端交互;F02/D02 的桌面 SQLite、账号切换和重启仍未完成
通讯录搜索通过预跑:搜索 user3 后只显示匹配成员contacts-searchUI 冒烟,不替代专项验收
在线/离线筛选通过预跑:在线筛选显示在线成员,离线筛选显示离线成员contacts-online、contacts-offlineUI 冒烟,不替代 presence TTL 和多端通知验收
成员资料与发起单聊通过预跑:打开成员资料并成功发起单聊member-profileUI 冒烟,不替代消息链路验收
设置主题切换通过预跑:浅色/深色切换和提示均正常;测试结束已恢复浅色settings-dark非本期核心 TC,作为页面交互冒烟
P2P 设备入口通过预跑:无其他在线来源设备时,来源选择和“开始同步”按预期禁用,并显示不支持提示devices-p2p验证了无来源边界;成功同步、断点续传和网络失败仍阻塞

桌面壳登录页可以显示测试认证中心,但当前 Computer Use 对 Tauri 子 WebView 的点击/控件写入管道不稳定,未把桌面登录误记为通过;桌面交互仍需用户在本机手动操作或换用可稳定驱动 Tauri WebView 的工具完成。

7. 后续补充记录 ​

  • 本地 pnpm build:2026-08-30 14:20 CST 左右通过;生成了 tc-evidence-preflight.html,且 .vitepress/dist 下未出现 development/**
  • pnpm check:2026-08-30 14:27 CST 左右通过;当前仅提示看板仍有待收尾项,属于项目状态提醒,不是本次文档错误
  • review-it / 人工证据审查:第一次审查发现 tc.md 指向报告的 fragment 与 VitePress 实际生成锚点不一致;已修复为实际锚点,并用 pnpm build + 渲染产物 rg 复核通过。后续 CLI 审查长时间无稳定结论,按执行指令改用人工证据复核收尾
  • 提交记录:
    • cfdfd4eea137ba529a05df7e674c88c6c6998803(首次落地 TC 预跑证据)
    • 95964b6ec311582903b0ad3c95f29b9173fa32b5(回填交付状态)
    • 分支最新提交请以 PR #52 的 commits 列表为准
  • PR:lamolabs/lamolabs-docs#52https://github.com/lamolabs/lamolabs-docs/pull/52
  • PR 检查状态(2026-08-30 14:40 CST 左右):GitHub CI 与 Deploy 均再次显示 FAILURE; 两个 run 的 annotation 均为“job was not started because recent account payments have failed or your spending limit needs to be increased”,约 3 秒即失败、无 steps / log。 因此该状态应判定为 GitHub Actions 账户计费 / 额度阻塞,不能据此判定代码失败;本地 pnpm build / pnpm check 已通过
  • Issue / Project / Development:
    • lamolabs/lamolabs-docs#44 仍为 OPEN
    • Project Nexo 项目进度面板管理 中已更新为 In review
    • PR #52 已显式挂到 Issue #44 的 Development