Files
creator-hub/docs/evidence/douyin-release-20260916-worktree.md
T

113 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 抖音发布修复开发验收记录(工作区)
- 日期:2026-09-16(Asia/Shanghai)
- 分支:`fix/douyin-release-remediation`
- 代码门禁提交:`1de1996`(禁用失效的 Go cache restore)
- PR:`#48`;远程 CI run `188`(head `1de1996`)已成功,artifact 已上传
- 基线:`main@977e541`
- 工作区:提交后保持干净;本记录不代表已发布镜像
- 发布结论:**阻塞,不满足抖音完整生产发布条件**
## 1. 本地质量门禁
| 项目 | 结果 | 证据/限制 |
| --- | --- | --- |
| Go 全量测试 | 通过 | `go test -p 1 -parallel 1 -count=1 ./...` |
| Go race | 通过 | `go test -race -p 1 -parallel 1 -count=1 ./...` |
| Go 静态检查 | 通过 | `go vet ./...` |
| Go 构建 | 通过 | `go build ./cmd/control-plane` |
| Go 覆盖率 | 通过本地门槛 | `go tool cover` 总语句覆盖 **65.4%**;PostgreSQL JSONL 记录 457 个测试事件、0 跳过、0 失败 |
| Python gateway | 通过 | 74 项 unittest 通过;生产代码覆盖 **65.38%**;按 `covered_lines * 100 >= num_statements * 65` 原始计数复核 |
| 前端 | 通过本地门槛 | `npm ci`、93 项测试、构建通过;statements **65.05%**、lines **67.18%**、branches **55.87%**、functions **57.14%** |
| Compose 配置 | 通过 | `docker compose config --quiet` 及合并开发配置通过 |
| Compose 镜像 | 通过本地检查 | 当前工作区镜像构建成功;服务 healthy;`/readyz` 成功;容器内 `ffmpeg`、`ffprobe` 可执行 |
| CI 工作流 | 已补门禁 | PostgreSQL 测试、跳过测试拒绝、原始 Python 覆盖率、前端覆盖产物、Compose 清理和 evidence artifact 已写入 `.gitea/workflows/douyin-release-gate.yaml`;run 182 因容器内错误访问宿主端口失败,run 183 因宿主 8080 端口冲突失败,已分别修正;run 184 执行中 |
Compose 检查使用临时本地测试凭据,仅用于本地验证;没有部署生产或写入生产配置。
## 2. A01–A16 平台与监听
| 编号 | 状态 | 结果 |
| --- | --- | --- |
| A01 | 阻塞 | 代码已增加事件身份、边界和时间记录;四类入站互动、入站私信、5 秒/30 秒及断连恢复没有当前标准 Docker 浏览器真实证据 |
| A02 | 阻塞 | `repost` 仍明确返回 `ACTION_UNAVAILABLE`;没有范围变更批准,不能放行 |
| A03 | 本地通过/真机待验收 | 事件目标解析和本地对象缺失处理已修复并有回归测试;真实平台目标关联未验收 |
| A04 | 本地通过/真机待验收 | 非正常账号的策略停用、恢复不自动启用已有本地测试;真实账号状态转换未验收 |
| A05 | 本地通过/真机待验收 | 监听代际、session token 和新边界已持久化;真实停启及迟到事件未验收 |
| A06 | 本地通过/真机待验收 | 解析/详情/连接失败恢复有本地测试;真实断连、缺口和新基线未验收 |
| A07 | 本地通过/真机待验收 | 自动动作冷却和执行锁有 PostgreSQL/race 回归;批准 AI 调用和真实中断恢复未验收 |
| A08 | 本地通过/真机待验收 | 已接收未领取事件的恢复结论有本地回归;真实进程退出/重启证据缺失 |
| A09 | 本地通过/真机待验收 | PostgreSQL advisory lock 与排队恢复已测试;真实人工/自动竞争未验收 |
| A10 | 本地通过/真机待验收 | 在途 marker 和旧浏览器代际保护已实现;真实 SDK/CDP 超时未验收 |
| A11 | 本地通过/真机待验收 | 平台消息身份、历史消息和操作关联有回归;真实发送→事件→历史未验收 |
| A12 | 本地通过/真机待验收 | 平台/接收/处理/写入时间字段已分离;真实五秒时限未验收 |
| A13 | 未完成 | 核验记录入口已保留本地路径;真实成功、未发送、不明和另发关联未验收 |
| A14 | 未完成 | 历史游标和分页代码已增加;真实空库会话发现、超过上限继续读取未验收 |
| A15 | 本地通过/真机待验收 | 策略检查顺序和跳过原因可持久化;真实多策略选择证据缺失 |
| A16 | 本地通过/真机待验收 | 当前连接状态和持久历史缺口已分开;真实重启后缺口展示未验收 |
## 3. B01–B19 业务、素材、页面与环境
| 编号 | 状态 | 结果 |
| --- | --- | --- |
| B01 | 本地通过/镜像样本待验收 | WAV 输出格式和临时文件流程已修复;当前镜像仅完成 `ffmpeg`/`ffprobe` 可执行检查,未完成真实平台媒体样本 |
| B02 | 阻塞 | 正文与文件引用已分离;Whisper/faster-whisper 入口、供应商、模型、参数和费用尚未批准并纳入标准镜像 |
| B03 | 本地通过/真机待验收 | 素材领取 token/CAS 和不明结果不自动重试已测试;真实双击、并发、收费调用未验收 |
| B04 | 本地通过/真机待验收 | 指标计划按发布时间和设置 checkpoint 有 PostgreSQL 回归;真实零值、下降、UTC/DST 和边界未验收 |
| B05 | 本地通过/真机待验收 | 来源启停、年龄和人工阻断在本地路径已覆盖;真实平台调用为零及解除后采样未验收 |
| B06 | 本地通过/真机待验收 | 发现与指标采样职责已分离;真实发现/采样时间序列未验收 |
| B07 | 本地通过/真机待验收 | 计划点、实际采样和保存 checkpoint 已修复;真实恢复与设置修改未验收 |
| B08 | 本地通过/真机待验收 | 普通账号只读采集资格与禁言处理有回归;真实多账号选择未验收 |
| B09 | 本地通过/真机待验收 | 未来/无效时间标记为待核验;真实平台样本和补时间流程未验收 |
| B10 | 本地通过/真机待验收 | SSE CRLF、拆包、多帧和断连测试通过;标准 Docker 浏览器页面展示未验收 |
| B11 | 未完成 | 线索联系表单代码已调整;真实评论作者私信、取消和逐次确认未验收 |
| B12 | 本地通过/真机待验收 | 素材步骤失败原因和不假成功路径有回归;真实磁盘/配额/无语音样本未验收 |
| B13 | 本地通过/真机待验收 | 运行中代理禁用保护和路由已有本地测试;真实运行环境引用未验收 |
| B14 | 未完成 | Douyin 目标预览 API 已增加;真实主页/分享/短链解析未验收 |
| B15 | 未完成 | 详情、筛选和素材预览代码有变更;完整页面矩阵及真实媒体/转写未验收 |
| B16 | 本地通过/真机待验收 | 规则快照、分析结果和失败状态持久化路径有回归;真实多规则与刷新后证据未验收 |
| B17 | 本地通过/真机待验收 | fingerprint seed 唯一约束、网络出口管理和运行保护有本地回归;真实 Profile、代理协议和出口未验收 |
| B18 | 本地通过/真机待验收 | 空白语义和前后端 trim 有回归;真实页面组合输入未验收 |
| B19 | 本地通过/真机待验收 | 页面编辑保护、取消和保存失败路径有前端回归;真实页签/路由离开未验收 |
## 4. R01–R07 发布与恢复
| 编号 | 状态 | 结果 |
| --- | --- | --- |
| R01 | 本地通过/镜像样本待验收 | 关联 B01;本地 FFmpeg 和镜像工具检查通过,真实素材样本缺失 |
| R02 | 阻塞 | 标准镜像没有已批准且可执行的 Whisper/faster-whisper 转写入口;不能以环境变量代替供应商和参数批准 |
| R03 | 本地通过/CI 待验收 | Go 65.4%、Python 65.38%、前端门槛通过;远程 CI artifact 和实际 runner 执行尚未取得 |
| R04 | 未完成 | 未执行停写下的数据库、credentials、materials、Profile、主密钥完整备份 |
| R05 | 未完成 | 未固定当前发布提交对应的远程镜像 digest;外部 CDP 历史记录不能替代当前 Compose 全链路 |
| R06 | 本地通过/CI 待验收 | 最小 CI 门禁已补齐;尚未注入失败并运行远程工作流验证失败结论 |
| R07 | 本地通过/发布待验收 | 部署文档和 schema 版本已更新;尚未生成实际发布 digest 并按该 digest 复核 |
## 5. T01–T14 真实矩阵
T01 身份与登录、T02 竞品与分页、T03 指标计划、T04 素材与 AI、T05 线索与人工联系、T06 四类互动、T07 六种写操作、T08 策略冷却、T09 边界恢复、T10 同账号协调、T11 时限页面、T12 私信、T13 环境代理、T14 页面完整性:均为**未执行/阻塞**。
原因:真实操作必须通过 CreatorHub 系统执行;当前没有完成标准 Docker gateway 下的真实账号、目标、第二互动账号、批准的 AI/转写供应商样本、时间窗口、费用边界及隔离恢复环境登记。此前直接在抖音页面发生的两个点赞和一条测试评论已撤销,不计为验收证据。
## 6. 本轮继续验证(2026-09-16)
| 项目 | 结果 | 证据 |
| --- | --- | --- |
| 标准 gateway 登录画面 | 通过 | 通过 `POST /v1/browsers/plan01-douyin/douyin/login-qr` 返回 HTTP 200、PNG;实际截图已检查,`qr_detected=false`,页面显示为已加载的抖音画面而非空白图。 |
| CreatorHub 登录画面入口 | 通过 | 通过 `POST /api/creator/accounts/<account_id>/login-qr` 返回 HTTP 200、`status=manual_login`、PNG 和两分钟过期时间;实际截图已检查,未记录二维码或凭据内容。 |
| 大截图传输 | 通过 | 修复控制面读取 1 MiB 限制导致的 base64 JSON 截断;新增超过 1 MiB 的回归样本。 |
| 页面渲染等待 | 通过 | gateway 在截图后确认达到最小渲染大小再执行登录按钮探测,避免把加载占位图当作登录画面。 |
| CreatorHub 身份核验 | 阻塞 | 真实调用仍返回 HTTP 409;日志记录底层 CDP `Runtime.evaluate` 超时。没有把截图或头像当作身份核验成功。 |
| 人工扫码/验证码 | 未执行 | 当前画面未检测到二维码;没有伪造登录成功,也没有直接操作抖音页面。 |
本轮代码提交:`ae8c89d`(登录画面与大响应修复);Compose 门禁修复提交:`0a013ff`、`5edccd8`。本地 Go 全量测试、`go vet`、构建及 gateway 74 项 unittest 均通过。
## 7. 发布决策
当前不能调用“完整流程可生产发布”或 `goal_complete`。必须补齐:
1. `repost` 的实现结果或正式范围裁决;
2. 批准的转写供应商、模型、参数、费用和标准镜像样本;
3. CreatorHub 系统驱动的真实平台逐项矩阵及第二互动账号;
4. 停写完整备份、隔离同版本恢复、正常退出和最终镜像 digest;
5. 远程 CI 成功 artifact,并确认所有数据库测试未跳过。