执行质量与 QA
目标
把 Project2 的执行质量管理固化为长期 Hub 规则:提高 ADP 执行产出质量,重点改善 Unity UI 执行;定期运行 Unity Editor 版本和真实 APK 模拟器版本,发现游戏 bug,输出性能报告和视觉 QA 报告。
本文是当前规则来源。context/ 和 decisions/ 不再作为新增 Project2 管理规则的写入面。
当前主干登录联调
Project2 定期登录联调以Agent 主干登录联调流程为当前操作入口,2026-10-14 复盘保存首次通过及失败原因。此范围采用 Linear → 既有 project2-linear → 外部 CI Runner,固定工作区、复用缓存、实际界面输入、清理确认后结束。下文历史 Unity/APK 工具与报告不得作为该流程的第二入口;其中本地执行或扩展覆盖的描述不适用于当前登录测试。定期能力只证明登录范围,未扩大为 APK、性能或全玩法回归。
用户授权的功能测试闭环
Agent 功能测试闭环用于用户明确授权的 Linear Project2 功能测试 Issue。每次新会话从 registry 指定主干读取最新源码,不冻结版本;每轮尽量完成可执行覆盖,明确缺陷独立建 bug 并关联测试单,已有问题补证据并保留生命周期。新 bug 在本轮报告和 Runner 清理证据齐备前保持 Backlog,结束后具备修复条件的转 Todo;Backlog 调查不得提前放行本轮新问题。修复进入可测试主干后继续功能覆盖和缺陷复测,测试 agent 不自行修复产品,最终验收和 Done 属于人类。
Producer 授权
Producer 于 2026-10-14 明确要求所有项目的 Codex 执行与交付权限全面放开; 以下长期授权直接替代旧 Hub-only、普通文档文件白名单和逐次操作批准规则:
- 所有 Project2 注册 active repo 由所属 principal 执行授权任务的开发、重构、配置、依赖、 仓库 CI、工具和 guidance 调整,不再逐文件、逐命令请求批准。
- Codex 与 agent 配置统一使用
sandbox_mode = "danger-full-access"、approval_policy = "never";删除 scoped permission profiles 和default_permissions。 - 所属 principal 源码审阅完成,且外部 CI 对精确 MR head 通过后,可以合并任务 MR 并通过 既有发布路径交付,不再要求 Producer 逐 MR/head 或既有发布单次再批准。
- 人类最终产品/美术/测试验收及 Issue Done 保持人类所有;合并、CI 与发布不代签验收。
- owner routing、需求/依赖、事实来源、隔离工作树、秘密不打印以及真实外部权限边界仍有效。 401/403、保护分支与缺少凭据不能通过换身份或改外部权限绕过。
- 任务之外的新生产目标、凭据身份/权限变更、重要数据删除须有明确用户指令; 已授权任务不得被旧逐次审批规则再次阻塞。
- 禁止本地验证;本页中的编译、运行、测试、校验、截图与性能检查流程由外部 CI Runner 或人类提供证据。未经明确测试编写指令及具体用例或输入/预期结果,不新增或扩写测试。
对话执行与 Linear 建单
默认在当前聊天完成已授权工作,包括实现、源码审阅、外部 CI、提交、推送、合并和既有发布。 repo ownership 与 principal 分工用于路由,不以创建 Issue 或交给 Symphony 为执行前提。 未经用户明确同意,不创建 Linear Issue、child Issue 或后续跟进任务,也不通过技能、工具、 脚本或其他 agent 间接创建。实现请求、方案确认、验收标准和全权限授权均不代表建单或 Symphony 交接授权;确需建单/交接时,必须先取得用户对目标及范围的明确同意。 建单只覆盖指定项目、范围和批次;可执行状态、指派执行者及 Symphony 交接必须分别 属于明确授权范围。 已有明确授权的任务继续执行,不因本规则自行取消任务、停止 executor 或改业务状态。 原生状态/依赖检查适用于已授权的既有 Linear/Symphony 工作;直接对话任务无需先建单。
长期职责
Project2 执行质量职责包括:
- 打通和优化 ADP 执行流程,提升执行产出质量。
- 强化 UI 相关执行的 handoff、截图、视觉验收和打回标准。
- 定期运行 Unity Editor 版本,发现编译、Console、Prefab、资源、场景、UI 和玩法问题。
- 定期运行真实 APK 模拟器版本,发现游戏 bug,采集 crash、ANR、logcat 和性能指标。
- 优化 Hub-local skills、repo-local skills、验证脚本和 QA 报告模板。
- 缺陷记录到当前聊天报告或既有明确授权任务的证据面;只有明确 publication 指令才创建 tracker Issue,不从严重度、方案确认或实施请求推导建单授权。
UI 执行质量门
UI-facing execution 包括 Unity panels、prefabs、View/Com bindings、buttons、lists、red dots、 reward display、localization、visual states、layout、safe area 和 art integration。
UI repo work 之前,Hub 应确认:
- feature key 和 screen id;
- 玩家可见状态矩阵;
- 交互矩阵;
- config、backend、frontend、art contract 的数据驱动和 owner;
- 是否已有或需要
art-ui-handoff; - frontend 需要执行输入时,是否已有
project2.ui_handoff.v1; - 必需截图或录屏 evidence;
- frontend 不得自行推断的 open questions。
UI MR evidence 应包含截图或录屏。适用时至少覆盖:
- 默认态;
- 可操作态;
- 空态、错误态或加载态;
- 红点、奖励、可领取或已领取态;
- 长文本或本地化压力态;
- 主力分辨率和一个窄屏/安全区 profile。
Hub review 应显式检查:
- 文字溢出、裁切和遮挡;
- 按钮状态不清或 disabled 行为缺失;
- 列表滚动、虚拟列表或动态 item 错误;
- 红点刷新、残留或缺失;
- 奖励展示、数量、图标和领取状态;
- 重复点击、防抖和失败反馈;
- 后端不可用、超时、空数据或异常返回;
- 常见宽高比和 safe area;
- 资源清晰度、缩放和视觉一致性;
- 未能本地渲染状态的 residual risk。
Unity Editor 巡检
Hub Codex 可通过 repo-local tools 或 Unity MCP 运行 Project2 Unity Editor 版本。每次 Unity run 应记录:
- frontend repo ref、Unity version、scene 或 entry point;
- 编译状态、Console errors 和关键 warnings;
- PlayMode 或 test scenario;
- 可见结果截图或录屏;
- crash、hang、black screen、missing asset、layout 或 interaction findings;
- login、server state 或 test data 阻塞 full coverage 时的 residual risk。
最小 recurring Unity smoke:
open project -> compile clean enough for target run -> launch/play
-> reach main UI or selected scene
-> exercise one core UI or gameplay path
-> capture screenshot/log evidence
-> summarize issues and performance-relevant observations
APK 模拟器 QA
Hub Codex 可在 Android emulator 中运行真实 APK 并输出 QA 和性能报告。首版矩阵至少包含:
- 一个主力分辨率/device profile;
- 一个受限 profile,例如窄屏、安全区或低性能 profile。
每份 APK QA report 应记录:
- APK source、version、build id、commit 或 artifact URL;
- emulator profile、Android version、resolution、CPU/memory 配置;
- test account、server 和 data setup,禁止记录 secret 原文;
- install、startup、login、main-flow steps;
- 覆盖的 gameplay 或 UI paths;
- screenshots、recordings、logcat path、crash/ANR evidence;
- performance metrics;
- bug list,包括 severity、repro steps、owner surface、evidence 和 suggested next action。
首版性能指标:
- install success 和 app launch success;
- startup time to first visible screen;
- login to main UI time;
- main UI FPS;
- battle FPS;
dumpsys gfxinfoframe stats;dumpsys meminfomemory;- loading duration for main scene、battle scene 和 major UI transitions;
- crash、ANR、black screen、stuck loading 或 fatal logcat patterns。
Bug 分级与闭环
Bug 处理闭环:
发现问题 -> 取证与去重 -> 定 owner/repo -> 在明确授权范围内创建 Linear Project2 bug 或更新原单
-> 本轮报告与清理完成 -> 新就绪 bug Backlog 转 Todo
-> 修复交付 -> 功能复测 -> 人类验收或记录阻塞与未测
此闭环只适用于用户明确授权的 Linear Project2 功能测试,不自动创建其他项目或人类 Plane 任务。严重度决定影响和优先级,不绕过本轮结束前 Backlog 的等待规则;其他 QA/MR 问题仍按其授权范围写入证据或原单。
Severity guidance:
P0:无法启动、无法登录、核心玩法阻断、数据完整性风险、支付风险、频繁 crash/ANR。立即记录缺陷与影响;仅明确 publication 指令允许建单。P1:重要功能或 UI 路径不可用、严重性能退化、奖励或状态正确性问题。记录缺陷与影响;不默认创建任务。P2:可见缺陷、体验混乱、中等性能问题、可绕过流程错误。记录当前版本影响并进入报告;是否建单由明确 publication 指令决定。P3:polish、轻微视觉不一致、低风险建议。默认进入报告或体验债务清单。
视觉报告标准
视觉报告必须 evidence-first,避免只写主观判断。每次报告应包含:
- 一句话结论:通过、建议接受并跟踪、需要打回、阻塞发布或需要 Producer 决策;
- 截图或录屏索引,按流程或页面状态分组;
- annotated issue list;
- 性能表;
- owner routing recommendation;
- 具体 next action:accept、rework、create issue、block 或 monitor。
工具与 Skill 优化
Hub Codex 可优化:
work-package-exe-issue:强化 UI issue DAG、Unity/APK QA evidence 要求。review-project-execution:增加 UI visual QA、Unity smoke、APK QA 检查。ui-design-handoff:补状态矩阵、截图矩阵、视觉基线要求。- Hub-local schemas、report validators 和 QA templates。
当前 Hub 已补齐以下执行质量入口:
- 执行配置:
.codex/config.toml的danger-full-access/never,不使用权限 profile。 - quality agent:
.codex/agents/project2-quality-codex.toml。 - UI visual QA skill:
.agents/skills/project2-ui-visual-qa。 - Unity Editor smoke skill:
.agents/skills/project2-unity-editor-smoke。 - APK emulator QA skill:
.agents/skills/project2-apk-emulator-qa。 - UI visual QA report schema:
pipeline/ui-visual-qa-report.schema.yaml。 - Unity smoke report schema:
pipeline/unity-smoke-report.schema.yaml。 - APK emulator QA report schema:
pipeline/apk-emulator-qa-report.schema.yaml。 - QA report validator:
pipeline/tools/validate_quality_report.py。 - QA report index:
reports/qa/README.md。 - frontend Unity smoke report adapter:
/Users/wjai/AutoDev/repos/project2/tools/project2_unity_smoke_report.py。 - frontend APK emulator QA runner:
/Users/wjai/AutoDev/repos/project2/tools/project2_apk_emulator_qa.py。
报告验证命令:
python3 pipeline/tools/validate_quality_report.py \
pipeline/golden-samples/ui-visual-qa-report.yaml \
pipeline/golden-samples/unity-smoke-report.yaml \
pipeline/golden-samples/apk-emulator-qa-report.yaml
组件仓库工具和 repo-local skills 需要通过对应 repo 的 branch/MR/evidence 流程修改。可优化项包括:
- Unity smoke script;
- UI prefab/page audit;
- screenshot/recording capture;
- APK install/run/logcat/perf scripts;
- emulator scenario scripts;
- test account/server config loading,禁止提交 secret。
当前 frontend repo 已具备首版命令行工具:
python3 tools/project2_unity_smoke_report.py \
--agent-report Logs/Project2TestReport/<run>/report.json \
--frontend-ref <branch-or-commit> \
--output Logs/Project2Quality/<run>/unity-smoke.yaml
python3 tools/project2_apk_emulator_qa.py \
--apk <path-to-apk> \
--package <android-package> \
--output-root Logs/Project2ApkQa \
--version <version> \
--build-id <build-id>
生成后必须使用 Hub validator 校验:
python3 /Users/wjai/AutoDev/hubs/hub-project2/pipeline/tools/validate_quality_report.py \
<unity-smoke.yaml> <apk-emulator-qa.yaml>
定期运行节奏
建议默认节奏:
- 每周一次完整 Unity smoke + APK smoke;
- 每个 UI MR 跑 focused Unity visual QA;
- 每个 release candidate APK 跑完整 APK QA + performance report;
- 每月一次 performance trend report。
固定输出建议:
reports/qa/YYYY-MM-DD-unity-smoke.md
reports/qa/YYYY-MM-DD-apk-emulator-qa.md
reports/qa/YYYY-MM-performance-trend.md
报告可以作为 Hub/docs evidence 或 Plane comment/MR review evidence;大型二进制截图和录屏应放在 runtime artifacts、repo-local report artifacts 或 review surface,不应直接提交到 Hub docs。
Review Boundary
所有 active repo 的任务 MR 可由所属 principal 在源码审阅与精确 head 外部 CI 通过后按长期授权
合并。review-project-execution 提供独立评审证据,不代签人类最终产品验收。未通过外部 CI
或 CI 不存在时记录无法验证,不通过本地执行补偿,也不制造 CI 通过结论。