Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions docs/BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 资产打包);原状:现诚实失败,非占位 |
Expand Down Expand Up @@ -143,9 +143,15 @@
| 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)。

> **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)。

## 上一 sprint → **S24 REQ-046 catalog 作者真源收敛 —— 已收尾(2026-07-06)**(历史)

Expand Down
1 change: 1 addition & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
47 changes: 47 additions & 0 deletions docs/qa/2026-07-06-realmachine-vnext3-plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# 真机批 vNext-3 · 验证清单(攒单,待开批)

> 2026-07-06 S26 收尾时汇编(用户指令「先 REQ-045,再攒真机批一次清单」)。
> 覆盖:S22–S26 新增码面的全部真机递延 + 存量 verified 残单。开批时以本单为底抽取,逐项证据落 `docs/audits/<date>-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/<runId>/`(兼 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 结论)。
9 changes: 7 additions & 2 deletions docs/requirements/REQ-045-remote-catalog-restock.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 ②)撤条目时的补货承诺
---

Expand All @@ -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)。
35 changes: 35 additions & 0 deletions docs/sprints/2026-07-06-s26-req045-restock/sprint.md
Original file line number Diff line number Diff line change
@@ -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.<name>/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 行)。
Loading