From 619453c8cc0093ba8f98328495536b52ecdcec91 Mon Sep 17 00:00:00 2001 From: jinjunnn Date: Mon, 6 Jul 2026 18:38:28 +0800 Subject: [PATCH 1/2] =?UTF-8?q?docs(backlog):=20S26=20REQ-045=20=E8=BF=9C?= =?UTF-8?q?=E7=A8=8B=E8=A1=A5=E8=B4=A7=E6=94=B6=E5=B0=BE=E5=9B=9E=E5=86=99?= =?UTF-8?q?=20=E2=80=94=E2=80=94=20C=20=E4=BE=A7=E4=B8=8A=E6=9E=B6=20shipp?= =?UTF-8?q?ed,A=20=E9=9B=B6=E5=8A=A8=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - BACKLOG:REQ-045 registered → shipped(alpha-web PR #10,已部署 prod);S26 契约挂链;S25 转历史 - sprint 契约:docs/sprints/2026-07-06-s26-req045-restock/sprint.md(来源核验/构建验证/prod 复验全记录) - 需求档 frontmatter 翻 shipped + 结果节(验收③ = verified 门归下一真机批,联动 REQ-046 演练) - CHANGELOG [Unreleased]:三条技能补货 + 设计套件回归(联网即见,无需更新 app) Co-Authored-By: Claude Fable 5 --- docs/BACKLOG.md | 10 ++++-- docs/CHANGELOG.md | 1 + .../REQ-045-remote-catalog-restock.md | 9 +++-- .../2026-07-06-s26-req045-restock/sprint.md | 35 +++++++++++++++++++ 4 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 docs/sprints/2026-07-06-s26-req045-restock/sprint.md diff --git a/docs/BACKLOG.md b/docs/BACKLOG.md index 85c610ffcefd..79848e9f20b1 100644 --- a/docs/BACKLOG.md +++ b/docs/BACKLOG.md @@ -107,7 +107,7 @@ | ID | 标题 | 类 | 仓 | 状态 | 备注 | |---|---|---|---|---|---| -| REQ-045 | 撤下条目远程补货:mcp-builder/canvas-design/brand-guidelines 三 skill 资产经远程 catalog 上架(来源核验+NOTICE+sha256) | feature | C | registered | **S23 登记(2026-07-06)**:S22(REQ-044 ②)撤三无资产条目时钉死的补货正道;走 REQ-032 远程管线,A 零发版;前置=Apache-2.0 再分发来源核验;详见 [requirements/REQ-045](requirements/REQ-045-remote-catalog-restock.md) | +| REQ-045 | 撤下条目远程补货:mcp-builder/canvas-design/brand-guidelines 三 skill 资产经远程 catalog 上架(来源核验+NOTICE+sha256) | feature | C | shipped | **S26 shipped(2026-07-06,alpha-web PR #10,已部署 prod)**:三条资产再分发自 anthropics/skills@`9d2f1ae`(LICENSE.txt 逐条核验 Apache-2.0;NOTICE.md 溯源随资产;canvas-design 字体 SIL OFL 1.1 许可随字体)→ `build-catalog.mjs` 发布(catalog 2026-07-06.2,98 文件 sha256 钉死 + ed25519 签名);prod 复验 = 验签 VALID + 抽样下载 sha256 全匹配;`bundle:design` 成员齐回归 + `bundle:dev` 补回 mcp-builder(验收④);**A 仓零动作**(REQ-046 单侧作者纪律首次真实演练);**verified 待真机**(验收③:A 端远程刷新→三条目出现→安装成功→账本 origin 记远程来源 + bundle:design 远程成员扇出一键装,联动 REQ-046 演练);契约 [sprints/s26](sprints/2026-07-06-s26-req045-restock/sprint.md);详见 [requirements/REQ-045](requirements/REQ-045-remote-catalog-restock.md) | | REQ-007 | ADR-015 待办①③:per-agent prompt 优化清单 + Tier-3 回答长度校准桌面实测 | docs | A | registered | 待办②(sync tripwire)已随 S7 完成;**(/loop 2026-07-04 defer)** ① 属 Tier-3 行为判断需拍板、③ 需桌面真机实测 → 并入真机批,详见档 | | D2 | `/v1/models` live 同步死代码 | debt | A | dup | **→ 并入 REQ-001**(接进 picker 按白名单装配) | | D3 | 官方 4 条 Anthropic skills 内容打包 + NOTICE(T5.3) | feature | A | dup | **→ 并入 REQ-018**(T7 官方 skill 资产打包);原状:现诚实失败,非占位 | @@ -143,9 +143,13 @@ | REQ-034 | 外部生态导入转换器:Claude Code plugin 大礼包→套件扇出 + Codex 可共享物导入(安装期转换,[[ADR-023]]) | 用户 2026-07-05:立项但暂不开发,想清楚再启动 | 用户拍板启动(按 ADR-023 执行);详见 [requirements/REQ-034](requirements/REQ-034-ecosystem-import-converter.md) | | REQ-035 | 本地 harness-as-executor(claude/codex 委托执行,tool/MCP 接缝);长期演进=会话级并轨(GOALS G5) | 用户 2026-07-05:立项但暂不开发,想清楚再启动 | 第一阶段=用户拍板启动;并轨阶段另有硬前置(challenge+POSITIONING 修订+承载 spike+独立 ADR,见档) | -## 当前 sprint → **S25 B16 PIPL 数据出境同意/告知门(2026-07-06 开批,用户 GO)** +## 当前 sprint → **S26 REQ-045 远程补货上架(纯 C 侧)—— 已收尾(2026-07-06)** -> 用户拍板 GO 重启 B16。显式 per-项目派发同意门(A 侧 main gate + .alpha/prefs.json)+ 隐式登录告知(C 侧授权页 + 隐私政策出境专章);ADR-021 §4 挂钩点落地。契约:[sprints/2026-07-06-s25-b16-pipl-consent](sprints/2026-07-06-s25-b16-pipl-consent/sprint.md)。 +> 用户拍板「先 REQ-045,再攒真机批」。三条 Anthropic skill(Apache-2.0 核验 + NOTICE 溯源)+ bundle:design 回归经远程管线上架(alpha-web PR #10 已部署);prod 验签 + sha256 复验通过;A 仓零动作 = REQ-046 单侧作者纪律首次真实演练。契约:[sprints/2026-07-06-s26-req045-restock](sprints/2026-07-06-s26-req045-restock/sprint.md)。 + +## 上一 sprint → **S25 B16 PIPL 数据出境同意/告知门 —— 已收尾(2026-07-06)**(历史) + +> 用户拍板 GO 重启 B16。显式 per-项目派发同意门(A 侧 main gate + .alpha/prefs.json)+ 隐式登录告知(C 侧授权页 + 隐私政策出境专章);ADR-021 §4 挂钩点落地(A PR #123 + alpha-web PR #9)。契约:[sprints/2026-07-06-s25-b16-pipl-consent](sprints/2026-07-06-s25-b16-pipl-consent/sprint.md)。 ## 上一 sprint → **S24 REQ-046 catalog 作者真源收敛 —— 已收尾(2026-07-06)**(历史) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 04131a32e58e..e0003da89075 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -9,6 +9,7 @@ - **首次把项目派发到云端会先征得你同意**(B16 隐私合规,需下个签名版本生效)——每个项目**首次**使用云执行时,会弹窗说明将发送什么(本次的代码差异或任务文本)、发往哪里、可以拒绝,同意后按项目记录、不再重复询问;拒绝则不发送。配套:登录页明确告知"平台代付模式下对话内容会经平台处理"并提供自带密钥(BYOK)的替代方式,官网隐私政策补充了对话内容与云执行的数据处理专章(并修正了此前"不上传源代码"的不准确表述)。 - **技能市场的 Agent 也能远程上架安装了**(REQ-046,需下个签名版本生效)——此前只有连接器(MCP)和技能支持云端上架,Agent 必须随 app 打包;现在运营方在云端上架的 Agent,联网即见、点装即用(下载校验钉死,与技能同一安全管线)。自此**新增连接器/技能/Agent/插件都无需更新 app**:市场清单与内容统一由云端下发,app 内置清单只作断网兜底(发版时自动同步,不再手工维护)。 - **「数据 ▸ 清除数据…」**(C16,需下个签名版本生效)——app 内一键清除自己的数据,分两级:**仅凭证**(删除登录 token、BYOK 密钥、连接器密钥并登出,会话保留;删除范围逐项列出后确认);**全部数据**(为卸载做准备:应用数据、全局安装物 `~/.alpha` 及桥接链接、可勾选的引擎数据——会话数据库与独立 opencode CLI 共享,明示后由你决定;先提示导出会话数据库,红色终确认列出体积,清除后退出)。绝不触碰你的项目文件与 `~/.opencode` 里你自建的内容;逐项结果留痕日志。配套 [卸载与残留清单文档](UNINSTALL.md)(菜单内「卸载与数据残留说明」直达)。 +- **技能市场补货三条技能 + 「设计套件」回归**(REQ-045;远程市场上架,联网即见,无需更新 app)——此前撤下的「MCP 构建指南 / 视觉海报设计 / 品牌规范应用」内容就绪,重新上架:内容再分发自 Anthropic 官方示例技能(Apache-2.0,来源与许可声明随内容一并下载,下载逐文件校验);「设计套件」随两个成员齐整回归,「开发套件」补回「MCP 构建指南」可选成员。注:「视觉海报设计」含设计字体约 5.4MB,安装时下载。 - **技能市场上架两个新连接器**(E2/E6;远程市场上架,联网即见,无需更新 app)——**钉钉**(官方发布的 dingtalk-mcp:通讯录/机器人消息/DING 等;详情页如实标注其源码不可公开审计的供应链警示)与**数据库(DBHub)**(Bytebase 官方:PostgreSQL/MySQL/SQLite 等只读查询;固定为仍支持只读开关的版本,连接串按密钥采集、不落明文)。钉钉同时并入「中国办公套件」。 ### Changed diff --git a/docs/requirements/REQ-045-remote-catalog-restock.md b/docs/requirements/REQ-045-remote-catalog-restock.md index dedb74b77e4c..603dadc06721 100644 --- a/docs/requirements/REQ-045-remote-catalog-restock.md +++ b/docs/requirements/REQ-045-remote-catalog-restock.md @@ -3,10 +3,10 @@ id: REQ-045 title: 撤下条目远程补货:mcp-builder/canvas-design/brand-guidelines 经远程 catalog 上架 type: feature priority: P3 -status: registered +status: shipped repo: C created: 2026-07-06 -sprint: — +sprint: S26 source: S22(REQ-044 ②)撤条目时的补货承诺 --- @@ -25,3 +25,8 @@ S22(PR #119)把 catalog 里三个 builtinAssetKey 资产从未随 app 打包、 ## 关联 [[REQ-044]](撤下动作)· [[REQ-032]](远程分发管线)· D3(历史:官方 skills 打包意图,dup→REQ-018 后未兑现,本条为其远程路线复活)。 + +## 结果(2026-07-06,S26 shipped) +- 验收①②④ 已落(alpha-web PR #10,已部署 prod):来源 = anthropics/skills@`9d2f1ae`,三条 LICENSE.txt 逐条核验 Apache-2.0,NOTICE.md(仓库/钉 commit/改动声明)随资产,canvas-design 字体 SIL OFL 1.1 许可文本随字体;catalog 2026-07-06.2,98 文件 sha256 + ed25519;prod 复验验签 VALID、抽样下载 sha256 全匹配;bundle:design 成员齐回归、bundle:dev 补回 mcp-builder。 +- 验收③(A 零发版链路:刷新→条目出现→安装→账本 origin)= **verified 门,归下一真机批**(联动 REQ-046「C 上架 → hub 安装」演练)。 +- 细节:[sprints/2026-07-06-s26-req045-restock](../sprints/2026-07-06-s26-req045-restock/sprint.md)。 diff --git a/docs/sprints/2026-07-06-s26-req045-restock/sprint.md b/docs/sprints/2026-07-06-s26-req045-restock/sprint.md new file mode 100644 index 000000000000..ead704fcd709 --- /dev/null +++ b/docs/sprints/2026-07-06-s26-req045-restock/sprint.md @@ -0,0 +1,35 @@ +# Sprint 2026-07-06 S26 —— REQ-045 撤下条目远程补货(纯 C 侧) + +> **抽取(2026-07-06,用户拍板)**:REQ-045(feature,仓=C)。用户裁决「先 REQ-045(C 侧上架三条 skill 资产,顺便当 REQ-046 的真实演练),再攒真机批一次清单」。上批 S25(B16)已收尾(A PR #123 + alpha-web PR #9),WIP=1 满足。 +> **背景**:S22(PR #119)撤下三条 builtinAssetKey 资产从未随包、安装恒失败的条目(`skill:mcp-builder` / `skill:canvas-design` / `skill:brand-guidelines`)+ 空壳 `bundle:design`,钉死补货正道 = REQ-032 远程资产管线(A 零发版)。 +> **纪律**:REQ-046 单侧作者动作(唯一作者源 = alpha-web `catalog-src/`,A 仓零动作);Apache-2.0 来源核验前置;不可变版本目录;A 侧安装验证归真机批。 + +## Task 表 + +| # | 项 | 验收 | 状态 | +|---|---|---|---| +| T1 | 来源核验 + 资产入库:钉 anthropics/skills@`9d2f1ae` 拉取三条 skill,逐条核验 LICENSE.txt = Apache-2.0;拷入 `catalog-src/assets/skill./1.0.0/`;各附 NOTICE.md(仓库/钉 commit/许可/改动声明);canvas-design 字体 SIL OFL 1.1 许可文本随字体 | 验收①:三条资产就绪 + 来源核验 + NOTICE 随资产 | ✅ | +| T2 | catalog 上架:三条目 `source:"remote"` v1.0.0(displayName/description/category 复用 S22 撤架前原文)+ `bundle:design` 成员齐回归 + `bundle:dev` 补回 mcp-builder optional 成员 + 顶层 version → 2026-07-06.2 | 验收④:bundle 不复活空壳(成员齐才回归) | ✅ | +| T3 | 构建 + 本地模拟 A 侧验证:`build-catalog.mjs`(sha256 + ed25519 + 不可变落盘)→ 内置公钥验签 / 98 文件 sha256 / frontmatter name 守卫 / 5MB 单文件帽 | 验收②:REQ-032 全链复用,全绿 | ✅ | +| T4 | 发布:alpha-web PR #10 → merge → `deploy/deploy.sh` → prod 端点复验(验签 VALID + 三条目在场 + 抽样下载 sha256 匹配) | prod 即时生效,联网用户可见 | ✅ | +| T5 | 回写:BACKLOG REQ-045 翻 shipped · 需求档 frontmatter · CHANGELOG [Unreleased] · sprint 契约 | 四件套齐 | ✅ | + +## Gates +- C 侧构建脚本自带不可变守卫(已发布版本改动即拒),本批全部为新版本目录 → 无冲突; +- A 仓**零代码改动**(本 sprint 仅 docs 回写)→ alpha-check 照常; +- 真机递延(REQ-045 验收③ = verified 门):A 端远程刷新 → 三条目出现 → 安装成功 → 账本 origin 记远程来源;bundle:design 一键装(远程成员扇出)→ 下一真机批(联动 REQ-046「C 上架 → hub 安装」演练场)。 + +## 明确不做 +- 不把资产重新打进 app 包(S22 拍板:内置通道对此三条关闭;A 快照随下次发版 runbook 步自动收录,禁手编); +- 不新增分发基础设施(REQ-032 管线已 prod); +- 不修存量条目缺 per-entry version 的更新角标粒度问题(build 脚本已 warn,23 条存量条目版本随顶层 version 走 —— 属既有行为,另立不在本批)。 + +## 结果(2026-07-06 回填) + +**REQ-045 C 侧全落(alpha-web PR #10,已部署 prod)= shipped**: +- 来源核验:anthropics/skills@`9d2f1ae`,三条 LICENSE.txt 逐条 Apache-2.0 ✓(skill-creator 同源同许可,先例一致);frontmatter name === 目录名 === 条目 name(A 侧防伪名守卫前置自查)✓; +- 资产:mcp-builder 11 文件 119KB(含 scripts/reference)· canvas-design 84 文件 5.4MB(含 OFL 字体)· brand-guidelines 3 文件 14KB;单文件最大 191KB(< A 侧 5MB 帽);catalog.json 60KB(< 2MB 帽); +- prod 复验:`GET /catalog/v1/catalog.json` = 2026-07-06.2、27 entries、ed25519 验签 **VALID**(A 内置公钥);抽样下载(SKILL.md / TTF / NOTICE.md)sha256 **全匹配**; +- REQ-046 纪律首次真实演练成立:上架全程 A 仓零动作,联网用户即时生效。 + +**verified 门(真机递延)**:A 端「刷新 → 安装 → 账本」链路 → 下一真机批(清单见 BACKLOG REQ-045 行)。 From 8f2938e17c787da9512f8cde5adf6566c54bd021 Mon Sep 17 00:00:00 2001 From: jinjunnn Date: Mon, 6 Jul 2026 18:41:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?docs(qa):=20=E7=9C=9F=E6=9C=BA=E6=89=B9=20v?= =?UTF-8?q?Next-3=20=E6=94=92=E5=8D=95=E6=B8=85=E5=8D=95=20=E2=80=94?= =?UTF-8?q?=E2=80=94=20S22=E2=80=93S26=20=E9=80=92=E5=BB=B6=E5=85=A8?= =?UTF-8?q?=E9=87=8F=20+=20=E6=89=B9=E5=89=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - qa/2026-07-06-realmachine-vnext3-plan.md:M1 定制中心(REQ-045③/REQ-046 远程 agent/REQ-044 迁移开门/E2/E6/REQ-016 残余)· M2 数据凭证(C16/B14/C17/B2/B21)· M3 云线(B16/B3/REQ-024/025)· M4 稳定性顺带;批前置 = 重 ship + 快照刷新 + C 侧先上架一条远程 agent - BACKLOG:S27 候选 blockquote 挂清单指针 Co-Authored-By: Claude Fable 5 --- docs/BACKLOG.md | 2 + docs/qa/2026-07-06-realmachine-vnext3-plan.md | 47 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 docs/qa/2026-07-06-realmachine-vnext3-plan.md diff --git a/docs/BACKLOG.md b/docs/BACKLOG.md index 79848e9f20b1..9cbbf50a6033 100644 --- a/docs/BACKLOG.md +++ b/docs/BACKLOG.md @@ -147,6 +147,8 @@ > 用户拍板「先 REQ-045,再攒真机批」。三条 Anthropic skill(Apache-2.0 核验 + NOTICE 溯源)+ bundle:design 回归经远程管线上架(alpha-web PR #10 已部署);prod 验签 + sha256 复验通过;A 仓零动作 = REQ-046 单侧作者纪律首次真实演练。契约:[sprints/2026-07-06-s26-req045-restock](sprints/2026-07-06-s26-req045-restock/sprint.md)。 +> **S27 候选(未开,待抽取)**:**真机批 vNext-3**(S22–S26 递延全量攒单,需签名重 ship;完整清单+批前置=[qa/2026-07-06-realmachine-vnext3-plan.md](qa/2026-07-06-realmachine-vnext3-plan.md):M1 定制中心 REQ-045③/REQ-046 远程 agent(前置=C 侧先上架一条)/REQ-044 迁移开门/E2/E6 + M2 数据凭证 C16/B14/C17/B2/B21 + M3 云线 B16/B3/REQ-024/025 + M4 稳定性顺带项)· B22 崩溃复现(并入 vNext-3 M4)· REQ-005 前端收尾(独立方向)。 + ## 上一 sprint → **S25 B16 PIPL 数据出境同意/告知门 —— 已收尾(2026-07-06)**(历史) > 用户拍板 GO 重启 B16。显式 per-项目派发同意门(A 侧 main gate + .alpha/prefs.json)+ 隐式登录告知(C 侧授权页 + 隐私政策出境专章);ADR-021 §4 挂钩点落地(A PR #123 + alpha-web PR #9)。契约:[sprints/2026-07-06-s25-b16-pipl-consent](sprints/2026-07-06-s25-b16-pipl-consent/sprint.md)。 diff --git a/docs/qa/2026-07-06-realmachine-vnext3-plan.md b/docs/qa/2026-07-06-realmachine-vnext3-plan.md new file mode 100644 index 000000000000..9dcfb9b4e752 --- /dev/null +++ b/docs/qa/2026-07-06-realmachine-vnext3-plan.md @@ -0,0 +1,47 @@ +# 真机批 vNext-3 · 验证清单(攒单,待开批) + +> 2026-07-06 S26 收尾时汇编(用户指令「先 REQ-045,再攒真机批一次清单」)。 +> 覆盖:S22–S26 新增码面的全部真机递延 + 存量 verified 残单。开批时以本单为底抽取,逐项证据落 `docs/audits/-realmachine-vnext3/verify.md`,BACKLOG 状态随证据翻 verified。 + +## 批前置 + +1. **重 ship 签名+公证 prod 包**:自 S21 包(PR #118 前)后 A 侧新码 = PR #119(REQ-044 provenance)· #120(C16 + E2/E6)· #122(REQ-046 快照+远程 agent 接线)· #123(B16 consent 门);均「需下个签名版本生效」。 +2. **A 快照刷新**(随 ship runbook ①′,DISTRIBUTION.md):`sync-catalog-snapshot.mjs` 收录 catalog 2026-07-06.2(REQ-045 三条 + bundle:design 回归)。 +3. **REQ-046 远程 agent 演练前置**:C catalog 当前**无** remote agent 条目(agent:code-reviewer 是 builtin)——开批前需 C 侧上架一条远程 agent(正式条目或临时测试条目,单 .md ≤256KB 约定),否则该演练无对象。 +4. 迁移开门项需 `ALPHA_MIGRATE_ENABLE=1` + 重启(REQ-016 残单注)。 + +## M1 定制中心 / catalog(P0,联动 REQ-045/046 演练) + +- [ ] **REQ-045 验收③(A 零发版链路)**:hub 远程刷新 → 「MCP 构建指南 / 视觉海报设计 / 品牌规范应用」三条目出现 → 逐条安装成功(注意 canvas-design 84 文件 5.4MB 下载时长与进度呈现)→ 账本 origin 记远程来源 → 会话内技能可用;**bundle:design 一键装**(远程成员扇出首例)+ bundle:dev 可选装 mcp-builder。 +- [ ] **REQ-046**:C 上架远程 agent → hub 安装 → 会话可用(见批前置 3);快照刷新后 `alpha-catalog.test.ts` 仍绿。 +- [ ] **REQ-044 真实根迁移开门**:用户自建同名技能(如手写 `mcp-builder`)在场 → 迁移条**不列它** + main.log `[req044-provenance]` 排除留痕;真 alpha 旧安装正常迁移四要件(`.alpha` 真源/receipt/旧位净除/桥)。 +- [ ] **E2 钉钉**:安装(Client_ID/Secret 密文采集 {file:} 化)→ 首调用真通;供应链警示在详情页如实展示。 +- [ ] **E6 DBHub**:安装(DSN 密文采集)→ SELECT 真通 + 写语句被拒(0.12.0 readonly 语义实测)。 +- [ ] **REQ-016 残余四小项**:卸载 uv 像素走查 · 断网 vendored 插件安装(零网络)· git 真克隆导入 · dispose 打断活跃流。 + +## M2 数据 / 凭证(P1) + +- [ ] **C16 清除数据两级实操**:凭证级(清密钥+登出+respawn 防复活)· 全部级(打包态:先备份提示 → 红色终确认列体积 → 停引擎 → 清 → 退出);UNINSTALL.md 菜单直达;逐项结果留痕。 +- [ ] **B14**:「数据」菜单备份/导出/打开文件夹实操(原生对话框);**C17**:DB 超前阻断对话框打包态演练(三选项)。 +- [ ] **B2 短 TTL**:过期→续期 / 撤销→降级 BYOK/登出不串台;**B21**:BYOK 改键 → picker 即时反映 → 新 key 出账;删键即时吊销。 + +## M3 云线(P1) + +- [ ] **B16 同意门**:首次派发弹窗实拍 → 拒绝**不发送** → 同意后 `.alpha/prefs.json` 落 cloudConsent → 二次派发不弹;登录授权页代付告知行在场。 +- [ ] **B3**:登录态 in-app dispatch 冒烟 + 回流 saveRun 落 `.alpha/runs//`(兼 REQ-004)。 +- [ ] **REQ-024 A2**:standard 可写档启用确认 → 真跑一单(edit 通过、bash 破坏类被 deny、零 ask);**REQ-025 A3**:云档保存 → B 注册 → 关 app 错过 → 开机拉回落 runs(A↔B e2e)。 + +## M4 稳定性 / 呈现(P2,顺带项随场跑) + +- [ ] **B22**:时间线崩溃真机复现(修复前置;有降落伞,不阻断其它项)。 +- [ ] **B11 失败态实拍**(banner/toast 截图归档)+ **B23 语法错支**(全局 jsonc 语法错 → warning banner)。 +- [ ] **B20 + REQ-003**:弱网走查(splash 状态/超时重试/websearch 降级/SSE 断连呈现)。 +- [ ] **B4 冷启动深层断言**:netlog 专项(hidden 项目零 session.list → 引擎零 Instance;watcher 数);**C3**:打包启动 opencode.log 超限轮转;(**B12** 长时内存属长周期,单列不占本批)。 +- [ ] **B7 release-time 三项**(随重 ship 顺带):①版本断言 ③断网首启 smoke ⑤注入 0.0.0 验证。 +- [ ] **REQ-007③**(顺带):Tier-3 回答长度校准实测(explain 类不再过短)。 + +## 明确不入本批 + +- REQ-005(前端收尾核验)= 独立方向,用户候选单单列; +- B12 长时内存/watcher = 长周期观测,与单场批节奏不合,单列; +- C15 真机 CPU 对比 = 性能专项(/loop defer 结论)。