Files
creator-hub/docs/e2e-evidence-20260914.md
T

62 lines
5.9 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.
# CreatorHub E2E 执行证据(2026-09-14)
本文件只保存脱敏摘要;Cookie、密码、token、主密钥和原始平台响应未写入仓库。
## 基线与回归
- Git:`main` 与远程同步;测试前后未发现源码或 staged 修改,任务提供的 `docs/e2e-test-plan.md` 为唯一既有未跟踪文件。
- 回归门禁:`go test ./...`、`go vet ./...`、`go test -race ./...`、control-plane build、Python gateway 56 tests、Web 81 tests/build、`bash docs/deployment_stop_test.sh` 通过。
- PostgreSQL Go 集成测试因 `CREATORHUB_POSTGRES_TEST_URL` 未设置而跳过;隔离 Compose 数据库故障测试见下文。
- 历史脱敏控制面报告:`/home/rogee/.pi/agent/sessions/--home-rogee-Workspace-creator-hub--/subagent-artifacts/outputs/2cbcddb6-c347-41d0-a6f7-356dccd81a3e/api-e2e.txt`。
- 历史回归报告:`/home/rogee/.pi/agent/sessions/--home-rogee-Workspace-creator-hub--/subagent-artifacts/outputs/2cbcddb6-c347-41d0-a6f7-356dccd81a3e/regression.txt`。
## 本轮补充控制面结果
- 作品:RUN 记录创建/重复写入/详情和来源筛选完成;重复返回同 ID。当前部署对不存在的 `owned` source 返回 201,故 API-01 判 FAIL;负计数返回 400。
- 指标:verified 发布时间作品首次快照 200,重复 200,过期 409,负数/溢出/非法时间/未来时间均 400。完整设置 PUT 将 `metric_age_seconds` 改为 60 后仍保留未来 `next_metric_at` 且无停止原因,API-02 判 FAIL;设置已恢复为 2592000。
- 评论:创建 201、重复 200、详情/作品过滤 200;空 author UID 保留正文;非法类型 400,缺失作品 404。API-03 PASS。
- 事件:按当前 `InteractionEvent` 合同重新提交 comment baseline:新事件 201、重复 200、display 204、baseline process 200;空 interactor UID 的事件 201 且为 blocked,重复处理 200。此前报告中的 400 是错误/过载 payload,不代表当前合法合同结果。API-04 PASS。
- 消息:创建 201、重复 200、会话/消息读取 200;同 peer 不同账号隔离;非法 direction/state/peer/platform 均 400。API-05 PASS。
- JSON 边界:未知字段、尾随 JSON、错误类型、空 body 为 400;大于 1 MiB 为 413;不存在资源 404;不支持方法 405。`GET /api/creator/workz` 和 `GET /api/creator/profiles` 返回 200 HTML 而不是 JSON/404,API-06 判 FAIL。
- 素材:选择 200;`material/process` 当前部署返回 405;仿写确认/更新在未处理状态返回 409。MAT-01 PASS,MAT-05/MAT-06 FAIL。
- 规则:创建、列表、详情、更新、启停均成功;分析返回 503 `AI 分析不可用`;规则 DELETE 返回 405,测试规则已禁用。LEAD-01/02 PASS,LEAD-03 受工作台空白影响,LEAD-05 为 BLOCKED,LEAD-07 PASS。
- 操作:缺 target 返回 400;重发 action 创建可成功,但执行结果保持不确定/失败,不自动重试;当前运行时对 confirmed like/repost 返回 `TARGET_MISMATCH`,未产生平台写副作用。OP-07 判 FAIL(未得到明确 `REPOST_TEXT_UNSUPPORTED`)。
## 隔离 Compose 故障证据
隔离项目 `creatorhub-e2e-isolated` 使用动态本地端口,未停止共享 Compose 服务;结束时已 `down -v --remove-orphans`,项目容器、卷、控制网络均为 0。
```text
isolated_base=http://127.0.0.1:42681
health HTTP=204
account_create HTTP=201
account_get HTTP=200
after_cp_restart HTTP=200
db_fault_read HTTP=500 error=phase A operation failed
after_db_restore HTTP=200
gateway_fault_list HTTP=200 empty list
gateway_fault_browser HTTP=200 empty list
after_gateway_restore HTTP=200 empty list
after_gateway_restore_browsers HTTP=200 empty list
cleanup: containers=0 volumes=0 network=0
```
数据库失联响应可观察且未伪装为空成功,但该次未完成带 RUN 规则保存和结构化关联日志核验,因此 SYS-05 不判 PASS。隔离账号因无登录会话无法入队,未伪造 Phase A 任务结果。
另用无 Docker socket 的 gateway 一次性进程验证:进程非零退出,输出包含 socket/Docker 依赖错误且不包含 token;未创建任何业务资源。
## 浏览器与 REAL 边界
- 浏览器录制:`/home/rogee/.config/browser-harness/agent-workspace/recordings/creatorhub-e2e-final/`,覆盖列表、创建、详情、任务、草稿、审计、设置、网关、镜像、网络出口和运行环境路由;事件索引为同目录 `events.jsonl`。
- 当前 managed browser 的 gateway identity 曾返回 HTTP 200,UID `99491952055`,昵称 `抖盲求真`;这是真实浏览器身份读取证据,不是平台写入证据。
- Douyin 受限读取返回 HTML web shell 或空 detail,而非稳定作品 JSON;confirmed like/repost 返回 `TARGET_MISMATCH`。没有真实评论、私信、点赞、关注、转发写入被计为成功。
- 竞品 `美食作家王刚` 登记后同步 503,原因 `resolve account credential`;竞品已暂停。控制面账号状态虽为 authorized/active,仍无可用于 connector 的 credential。
- gateway 事件读取曾出现 `CDP message failed during Runtime.evaluate`;无事件、去重、重连、5 秒/30 秒平台证据。
- 当前无健康代理/出口,无生产 AI/转写配置;规则分析 503。
- browser-harness 对控制面 HTTP Basic challenge 的未登录 fetch 长时间处于“登录中”,错误凭据 UI 未显示明确 401 文案;因此 UI-02 判 FAIL,UI-01 的正向表单登录不判 PASS。
## 清理
- 未引用的临时镜像已删除,保留的验收镜像仍为 enabled;测试竞品已 pause,测试规则已 disable,临时账号已 revoke;隔离 Compose 项目已销毁。
- API 作品、评论、指标、消息、事件没有公开删除 API;按约束未用 SQL 删除,RUN 数据作为残余记录并在报告中列出。END-02 因不能完全清理判 FAIL。