集成:完成内置浏览器预检终审记录
This commit is contained in:
@@ -6,9 +6,11 @@
|
||||
|---|---|---|---|
|
||||
| 登录续期 | Renderer 活动信号 | Main Works Session | 连续 7 天未使用才清除会话 |
|
||||
| 项目创建 | 新建项目对话框 | Host API → Main 项目初始化 | 创建时固定 `ProjectType`;小游戏/小程序原子生成受控模板,自定义只生成项目空间 |
|
||||
| 一键提交 | `ProjectPublishAction` | Renderer capability → Host API → Main packager → Works Square 版本上传 | 只对小游戏/小程序开放;Main 打包、自动版本、幂等重试和脱敏,Renderer 随后轮询云构建 |
|
||||
| 一键提交 | `ProjectPublishAction` | Renderer capability → Host API → loopback preview preflight → Main packager → Works Square 版本上传 | 只对小游戏/小程序开放;本地预检只做 UX fail-fast,Main 随后打包、自动版本、幂等重试和脱敏,Renderer 轮询云构建 |
|
||||
| 本地预览检查 | 当前项目内置浏览器 loopback URL | fresh Electron WebContents/CDP(桌面、移动) | 检查错误、白屏和外域;不调用 Playwright/Vite,不产生 receipt/provenance,不替代服务端门禁 |
|
||||
| 提交绑定 | 云端成功上传响应 | Main → submission binding v2 | 只持久化成功的 app/version/review/hash;落盘失败返回固定告警但不反转提交 |
|
||||
| 运营发布 | Works Square 审核与交付 | 公共 `play_url` | 客户端只消费服务端发布结果;真实 Builder → OSS/CDN 生产链仍待整链验收 |
|
||||
| 可信发布门禁 | 上传源码 | 服务端受控构建 → 包体/不可变 Release 校验 → 人工审核 | 唯一不可绕过权威;若未来增加 runtime 强门禁,需可信 verifier 绑定精确构建产物 |
|
||||
| 真机预览 | 项目空间 | Main → Owner preview / `play_url` | 核对 app、version、release 和同源 HTTPS;`runtime_url` 仅一版本兼容回退 |
|
||||
| 设计会话创建/切换 | AI 绘画页面或侧栏 | Renderer API → Main → Workspace Conversation API | 新会话属于现有 Workspace;读取独立消息、Brief、Quote 和 `turnRevision` |
|
||||
| 设计消息与确认 | 当前 Conversation | Main → 持久 Agent Gateway Session → Conversation 快照 | 请求和流式结果同时绑定 Workspace + Conversation |
|
||||
@@ -19,6 +21,7 @@
|
||||
- Main 持有刷新凭据、发布 Token、临时 ZIP、幂等键和 submission binding v2;Renderer 不持有归档路径或自动部署状态。
|
||||
- 项目内 `.niancode/project.json` 保存 `ProjectType`;Main 在配置写入和目录复用时保持其不可变,并在打包时重新读取校验。
|
||||
- Renderer 仅持有短效公开会话状态、提交展示状态和安全投影后的公共播放/短时预览 URL。
|
||||
- 本地预检临时 WebContents/partition 只属于一次调用,不写 submission binding 或上传字段;其结果不具备 project/digest provenance,也不覆盖生产 opaque-origin。
|
||||
- 旧 schema v1 `submitted` 记录迁移并保留;旧 `armed`、`waiting_for_package`、`waiting_for_login`、`uploading`、`failed` 归一为 `legacy_retired`,不再启动 watcher 或上传任务。
|
||||
- AI 绘画 Conversation 持有消息、Brief、Quote、`turnRevision` 和服务端 Session 绑定;Workspace 持有 Conversation 列表、生成任务和资产。
|
||||
- 本地开发适配器将旧单会话 schema v2 原子迁移为带默认 Conversation 的 schema v3;打包应用不使用该本地适配器作为云端失败回退。
|
||||
@@ -33,4 +36,4 @@
|
||||
|
||||
## Last Updated
|
||||
|
||||
2026-08-11
|
||||
2026-08-12
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
| `src/components/works/ProjectPublishAction.tsx` | 可发布项目的一键提交、云构建轮询与用户可理解状态 | 只通过 Renderer API 提交非敏感元数据;绑定告警不终止轮询 |
|
||||
| `src/lib/works-square.ts` | Renderer 侧 Works Square Host API 契约与安全错误映射 | 不接触 Token、ZIP、本地绝对路径或自动部署状态 |
|
||||
| `electron/api/routes/works.ts` | Works Host API、Renderer capability 门禁、上游安全投影 | 发布凭据、打包、上传与本地绑定均在 Main 内完成 |
|
||||
| `electron/agent-browser/module.ts` | 当前项目 loopback preview 的桌面/移动临时 WebContents/CDP 预检 | UX fail-fast;不运行 Vite、不生成 receipt、不得升级为可信发布证明 |
|
||||
| `electron/agent-browser/electron-adapter.ts` | Electron WebContents/CDP 设备指标、事件与临时 partition 适配 | probe 不挂载 UI,并在结束后销毁视图、清理隔离存储 |
|
||||
| `electron/services/project-packager.ts` | 受控项目扫描、静态 ZIP 生成和敏感/历史控制文件排除 | 只允许可发布 `ProjectType`,不提供 Compose 或手工 ZIP 路径 |
|
||||
| `electron/services/works-submission-binding.ts` | submission binding v2 持久化与旧 schema 迁移 | 旧中间态终止为 `legacy_retired`;文件名暂作安装兼容 |
|
||||
| `electron/api/works-play-url.ts` | 公共播放与 Owner preview URL 的共享安全校验 | 公共 `play_url` 必须同源 HTTPS 且精确匹配 App 路径 |
|
||||
@@ -23,10 +25,12 @@
|
||||
|
||||
- Renderer UI → Renderer API contract → Main Host routes → Main services → Works Square;Renderer 不反向读取 Main 凭据、文件系统或归档。
|
||||
- Project configuration 决定产品分流,Main packager 与服务端独立校验决定发布安全;本地 `ProjectType` 不是授权结论。
|
||||
- Local preview preflight 只依赖当前已运行的 loopback 页面并早于打包/网络请求;它不建立源码、摘要、构建产物之间的 provenance,服务端仍是受控构建与 Release 安全权威。
|
||||
|
||||
## Risky Or Sensitive Areas
|
||||
|
||||
- `electron/api/routes/works.ts` 同时承担发布 capability、上游安全投影和错误脱敏,变更时必须验证未在拒绝前读取凭据或项目文件。
|
||||
- `electron/agent-browser/module.ts` 的预检必须继续拒绝非 loopback/外域访问、隔离临时 partition 并清理所有 view/listener;不能因本地通过而跳过服务端校验。生产 opaque-origin 行为不由该 loopback 检查覆盖。
|
||||
- `works-cloud-deploy.json` 是兼容文件名;不得因名称重新引入自动部署协调语义。
|
||||
- `runtime_url` 是一个客户端版本的迁移回退;删除前必须确认服务端和存量数据稳定提供 `play_url`。
|
||||
- 多 Conversation 事件处理必须区分对话快照与 Workspace 任务更新;不得用任务时间戳推进 Conversation 流水位,也不得让旧会话的迟到流覆盖当前会话。
|
||||
@@ -34,4 +38,4 @@
|
||||
|
||||
## Last Updated
|
||||
|
||||
2026-08-11
|
||||
2026-08-12
|
||||
|
||||
@@ -16,6 +16,7 @@ Makelore 是 Electron 桌面客户端。Renderer 负责项目操作与状态展
|
||||
| Submission Binding | 保存云端已接受的精确 app/version/review/hash 绑定 | schema v2 只记录成功提交;旧中间态迁移为 `legacy_retired`,不恢复后台任务 |
|
||||
| Play URL Projection | 校验服务端公共播放地址 | 只接受同源 HTTPS 和精确 `/apps/{app_id}/`;优先 `play_url`,`runtime_url` 仅一版本回退 |
|
||||
| Device Preview | 核对本地绑定、远端版本和 Release | 待审使用短时 Owner preview;已发布使用安全投影后的 `play_url` |
|
||||
| Local Preview Preflight | 在上传前复用当前项目 loopback preview 做桌面/移动 UX fail-fast | Main 使用 Electron WebContents/CDP;不使用 Playwright、不执行 Vite、不生成可信证明 |
|
||||
| AI Design Workspace | 保存项目身份、Conversation 列表、生成任务和资产 | 任务和资产在切换 Conversation 后继续可见 |
|
||||
| AI Design Conversation | 保存消息、Brief、Quote、`turnRevision` 与服务端 Agent Session 绑定 | 同一 Workspace 内互相隔离;Session 由服务端持久化 |
|
||||
| AI Design Event Routing | Main 云端适配器 → Host API/SSE → Renderer store | Conversation 更新按 Workspace + Conversation 路由;任务更新按 Workspace 归并 |
|
||||
@@ -23,7 +24,9 @@ Makelore 是 Electron 桌面客户端。Renderer 负责项目操作与状态展
|
||||
## Important Boundaries
|
||||
|
||||
- 发布只有现有项目配置底部的一个入口,不新增发布工作台、侧栏或资源卡。
|
||||
- 创建者发布唯一调用链是 `ProjectPublishAction → publishWorksProjectSource → createStaticProjectPackage → 版本上传 → 状态轮询`;客户端不再提供 Compose runner、deploy-check、watcher/arm/upload 协调或手工 ZIP 上传入口。
|
||||
- 创建者发布唯一调用链是 `ProjectPublishAction → publishWorksProjectSource → preflightCurrentProject → createStaticProjectPackage → 版本上传 → 状态轮询`;客户端不再提供 Compose runner、deploy-check、watcher/arm/upload 协调或手工 ZIP 上传入口。
|
||||
- `preflightCurrentProject` 只检查当前项目已附着的受信 HTTP loopback preview。它用 fresh 非持久、未挂载的 Electron WebContents 和 CDP 检查桌面/移动视口、错误、白屏及外域访问,不安装/调用 Playwright,不在本地执行项目 Vite/config/plugin。
|
||||
- 客户端预检是可绕过的 UX fail-fast:没有 receipt、project/digest provenance 或生产 opaque-origin parity,不能证明随后上传源码或服务端构建产物安全。服务端受控构建、包体校验、不可变 Release 门禁及人工审核仍是唯一不可绕过权威;未来若要求 runtime 强门禁,需由可信 verifier 绑定精确构建产物。
|
||||
- `ProjectType` 由创建请求写入项目配置,UI 与 Host API 不提供类型变更;缺少类型的旧配置归一为 `custom`。
|
||||
- 本地 `projectType` 只选择产品路径和内部构建 preset,不是可信授权声明;Main 仍需安全打包,服务端仍需独立校验清单和包体。
|
||||
- 云端确认上传成功后,本机 submission binding 失败只能产生固定、无路径的 `binding_warning`,不能把请求改判为失败;Renderer 仍继续轮询云构建。
|
||||
@@ -40,4 +43,4 @@ Makelore 是 Electron 桌面客户端。Renderer 负责项目操作与状态展
|
||||
|
||||
## Last Updated
|
||||
|
||||
2026-08-11
|
||||
2026-08-12
|
||||
|
||||
@@ -10,10 +10,11 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
|
||||
- `493b31c`:客户端三类 `ProjectType`、小游戏/小程序受控发布模板与自定义项目发布隔离。
|
||||
- `4df0477` / `8dd99c1`:客户端静态发布唯一链路、旧 Compose 协调链退役及安全边界补强。
|
||||
- `4980894` / `03dae62`:AI 绘画 Enter 发送及同一 Workspace 下的多 Conversation 客户端模型。
|
||||
- `926056a`:Makelore 内置 Electron WebContents/CDP 发布前本地预览检查。
|
||||
|
||||
## Current Focus
|
||||
|
||||
客户端面向非专业用户提供“创建小游戏或小程序 → 项目配置中一键提交 → Main 安全打包上传 → 轮询云端构建 → 运营审核”的唯一创建者链路,并以项目级真机预览完成待审版本扫码验收;自定义和缺少类型字段的旧项目不提供该入口。已发布作品优先使用安全投影后的 `play_url`,`runtime_url` 仅保留一个客户端版本的兼容回退。
|
||||
客户端面向非专业用户提供“创建小游戏或小程序 → 在内置浏览器打开本地预览 → 项目配置中一键提交 → Main 安全打包上传 → 轮询云端构建 → 运营审核”的唯一创建者链路。提交前由 Main 复用当前项目受信 loopback preview,并以 Electron 自带 Chromium WebContents/CDP 检查桌面/移动视口、运行错误、白屏和外域访问;不使用 Playwright,也不在该检查中执行项目 Vite。该检查是可由客户端调用路径绕过的 UX fail-fast,不产生 receipt 或 project/digest provenance,也不模拟生产 opaque-origin,因此不属于可信发布门禁。自定义和缺少类型字段的旧项目不提供该入口。已发布作品优先使用安全投影后的 `play_url`,`runtime_url` 仅保留一个客户端版本的兼容回退。
|
||||
|
||||
AI 绘画的一个 Workspace 可包含多条 Conversation。消息、Brief、Quote 和 `turnRevision` 随 Conversation 隔离;生成任务和资产保持 Workspace 级共享。每条 Conversation 使用服务端持久 Agent Gateway Session,切换会话只重连对应事件流。
|
||||
|
||||
@@ -24,6 +25,7 @@ AI 绘画的一个 Workspace 可包含多条 Conversation。消息、Brief、Quo
|
||||
- 2026-08-09:新建项目支持小游戏、小程序和自定义三类不可变产品类型;前两类生成固定 Vite 发布模板,自定义及缺少类型字段的旧项目不显示一键提交入口。
|
||||
- 2026-08-10:删除客户端旧 Compose deploy-check、watcher/arm/upload 协调和手工 ZIP 路由;submission binding v2 保留旧 `submitted` 绑定并把旧中间态归一为 `legacy_retired`,同时补齐 Renderer capability、`play_url` 安全投影和本机绑定失败告警。
|
||||
- 2026-08-11:AI 绘画支持在同一设计项目内创建和切换多条独立 Conversation;保留项目级任务/资产,并使用 Workspace + Conversation 身份保护异步与流式更新。退出时关闭本地流并清除本地 Session-id 缓存,不删除服务端持久 Conversation Session。
|
||||
- 2026-08-12:一键提交前复用当前项目的内置浏览器 loopback preview,以 fresh 临时 Electron WebContents/CDP 执行桌面/移动 UX 预检;服务端仍执行唯一受控构建、不可变 Release 安全门禁和人工审核。
|
||||
|
||||
## In Progress
|
||||
|
||||
@@ -32,7 +34,7 @@ AI 绘画的一个 Workspace 可包含多条 Conversation。消息、Brief、Quo
|
||||
## Next Recommended Steps
|
||||
|
||||
1. 成组核对服务端 Builder → OSS immutable Release → CDN/Edge 的发布契约与客户端 `play_url` 消费契约。
|
||||
2. 配置真实生产环境,分别执行“小游戏/小程序创建 → 客户端提交 → 构建与浏览器门禁 → 运营批准 → App 播放”。
|
||||
2. 配置真实生产环境,分别执行“小游戏/小程序创建 → 客户端本地预览检查 → 提交 → 服务端受控构建与安全门禁 → 运营批准 → App 播放”。
|
||||
3. 核对待审 Owner preview 到期刷新、CDN 发布/撤回、生产监控和告警证据。
|
||||
4. 在一个客户端兼容版本且服务端与存量数据稳定提供 `play_url` 后,删除 `runtime_url` 回退。
|
||||
|
||||
@@ -50,7 +52,8 @@ AI 绘画的一个 Workspace 可包含多条 Conversation。消息、Brief、Quo
|
||||
- 本地 `projectType` 只决定产品分流和模板选择,不得作为授权依据或替代 Main/服务端的包体校验。
|
||||
- AI 绘画消息、Brief、Quote 和 `turnRevision` 必须按 Workspace + Conversation 隔离;任务事件仍按 Workspace 归并,迟到的异步结果不得污染已切换的会话。
|
||||
- 服务端持久 Conversation Session 不由客户端在注销或退出时删除;Main 只关闭本地流、清除本机缓存并撤销本地凭据。
|
||||
- 客户端 loopback preview 检查没有 receipt、project/digest provenance 或生产 opaque-origin parity;只有服务端受控构建、不可变 Release 校验和人工审核构成不可绕过的发布门禁。如未来需要不可绕过的 runtime gate,必须引入可信 verifier 并绑定精确构建产物。
|
||||
|
||||
## Last Updated
|
||||
|
||||
2026-08-11
|
||||
2026-08-12
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
| 2026-08-08 | 项目真机预览 | 待审 Owner preview 与精确已发布 Runtime | README、architecture、domain |
|
||||
| 2026-08-09 | 客户端项目类型 | 创建时固定小游戏/小程序/自定义类型;前两类生成受控发布模板 | current-state、architecture、domain |
|
||||
| 2026-08-10 | 客户端静态发布链路收敛 | 唯一一键静态提交、旧 Compose 协调链退役、submission binding v2 与 `play_url` 安全边界 | current-state、architecture、domain、evidence、commitments |
|
||||
| 2026-08-12 | Makelore 内置浏览器发布前预检 | Electron WebContents/CDP loopback UX fail-fast;服务端受控构建与审核仍为唯一可信门禁 | current-state、architecture、domain、evidence、commitments |
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
# Task: 终审集成 Makelore 内置浏览器发布预检
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260812-integrate-browser-preflight-a93c
|
||||
- Mode: Integration
|
||||
- Branch: codex/20260812-integrate-browser-preflight-a93c-integrate-browser-preflight-a93c
|
||||
- Worktree: D:\Datas\OthersProjects\makelore-integrate-browser-preflight-a93c
|
||||
- Base commit: 926056a59b34caa446c5c880631455049506d3a4
|
||||
- Owner: codex
|
||||
- Status: Completed
|
||||
|
||||
## Scope
|
||||
|
||||
- 以 `926056a59b34caa446c5c880631455049506d3a4` 为精确 integration base,晋升浏览器预检 canonical 契约。
|
||||
- 重现已复核的 10 个 canonical/.opencode skill 文件变更;不带入旧 integration task records。
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- 客户端预检使用 Electron WebContents/CDP 检查当前 loopback preview,不调用 Playwright、不在预检中执行本地 Vite。
|
||||
- 预检是可绕过 UX fail-fast,无 receipt、project/digest provenance 或生产 opaque-origin parity;服务端受控构建、不可变 Release 校验和人工审核仍是唯一不可绕过门禁。
|
||||
- 只写本任务 record、canonical project memory 与现行课程 skill;不修改 source/旧 integration records,不推送、不合并 main。
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
- Task `20260812-integrate-browser-preflight-a93c` 以 integration mode 独占当前 worktree 与 integration lock;base 精确为 `926056a`。
|
||||
- 源 task record 已在 base 中;旧 `d4b9`、`f82b` integration records 不在本树。
|
||||
- 已核对源任务、canonical architecture/domain/evidence/commitments 和 active peer scopes,无语义冲突。
|
||||
- Planning Gate: Passed.
|
||||
|
||||
## Outcome
|
||||
|
||||
- 已晋升 Electron WebContents/CDP loopback UX preflight 与服务端可信发布门禁边界,并在 `Integrated Through` 登记 `926056a`。
|
||||
- 10 个 canonical/.opencode skill 目标文件与已终审内容一致;本树只新增当前 integration task record。
|
||||
|
||||
## Verification
|
||||
|
||||
- 复用同一 source base 的已验证矩阵:5 files / 121 tests、typecheck、scoped lint、三端 `build:vite`、15 files / 23 E2E 收集和真实 Electron production seam E2E 均通过。
|
||||
- 本现场重新运行 `check_project_docs.py`、`git diff --check` 与 `check_doc_drift.py --task-id 20260812-integrate-browser-preflight-a93c`;结果在提交前后均须 exit 0。
|
||||
- `success-criteria.md` 与 agent-entry 文档无旧 server browser gate 表述。
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- 真实生产整链仍需验证;如未来要求不可绕过 runtime gate,需可信 verifier 绑定精确构建产物。
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None. Accepted source facts were promoted by this Integration Gate.
|
||||
@@ -6,7 +6,9 @@
|
||||
- 新建小游戏和小程序会生成平台固定版本的受控 Vite 发布模板,并可使用项目配置中的单一“提交审核”入口;`custom` 和缺少类型字段的旧项目不提供一键发布。
|
||||
- `ProjectType` 不等于 `BuildPreset`:第一期两个可发布产品类型都映射到内部受控 Vite preset;本地 `projectType` 不是授权边界,Main-owned 安全打包、Host API 和服务端包体校验仍必须执行。
|
||||
- 非专业用户只执行一次“提交审核”;构建通过后由运营审核,审核通过即直接发布。
|
||||
- 创建者发布唯一链路是项目配置“一键提交审核” → Main 安全打包 → 服务端版本上传 → 客户端轮询云构建;不恢复独立发布上传页、云部署工作台、Compose/deploy-check、自动 watcher/arm/upload 或手工 ZIP 入口。
|
||||
- 创建者发布唯一链路是项目配置“一键提交审核” → 当前 loopback preview 的客户端 UX 预检 → Main 安全打包 → 服务端版本上传 → 客户端轮询云构建;不恢复独立发布上传页、云部署工作台、Compose/deploy-check、自动 watcher/arm/upload 或手工 ZIP 入口。
|
||||
- 提交前预检必须复用 Makelore 当前项目内置浏览器的受信 HTTP loopback preview,以 fresh 非持久 Electron WebContents/CDP 检查桌面/移动视口、运行错误、白屏与外域访问;不得为此调用 Playwright、执行项目 Vite/config/plugin、安装依赖或污染用户浏览器状态。
|
||||
- 客户端预检是可绕过的 UX fail-fast,不写上传字段,不产生 receipt、project/digest provenance,也不声称具备生产 opaque-origin parity。服务端受控构建、包体与不可变 Release 校验、人工审核仍是唯一不可绕过发布门禁;未来若要求 runtime 强门禁,必须由可信 verifier 绑定精确构建产物。
|
||||
- 待审版本只能通过绑定精确 Release 的短时 Owner preview 验收;旧版本、构建中或失败状态不能生成可扫码假象。
|
||||
- 发布和预览安全边界由 Electron Main 持有,Renderer 不接触账号 Token、ZIP、幂等键和本地绝对路径。
|
||||
- 发布 Host API 必须在读取凭据、查询项目和打包前校验 Renderer capability;仅持有 Host token/base 的非 UI 调用方不得发起发布。
|
||||
@@ -23,9 +25,10 @@
|
||||
## Open Questions
|
||||
|
||||
- 生产整链需要真实账号、Builder、OSS immutable Release、CDN/Edge、运营审核、App 播放与监控环境完成最终验收;当前客户端验证不能替代该验收。
|
||||
- 是否需要在生产发布链引入绑定精确 Release/digest 的可信 runtime verifier;当前客户端 loopback preflight 不能承担该职责。
|
||||
- 在一个客户端兼容版本且服务端与存量数据稳定提供 `play_url` 后,移除 `runtime_url` 回退。
|
||||
- 多 Conversation 客户端发布前需确认服务端迁移 `0033`、Conversation API 与持久 Session 契约已经部署。
|
||||
|
||||
## Last Reviewed
|
||||
|
||||
2026-08-11
|
||||
2026-08-12
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
| `ProjectType` | 创建项目时选择且之后不可变的产品类型 | 当前值为 `mini_game`、`mini_program`、`custom`;缺少字段的旧配置按 `custom` 处理 |
|
||||
| `BuildPreset` | 平台内部用于构建和验收项目包的受控实现 | 不等于 `ProjectType`;第一期小游戏和小程序都使用 Vite preset |
|
||||
| 受控发布模板 | Main 在新建可发布项目时生成的固定依赖、锁文件和可运行示例 | 保障一键提交的结构基线,但本地模板和 `projectType` 本身都不是授权边界 |
|
||||
| Local Preview Preflight | 上传前对当前项目受信 loopback preview 执行的桌面/移动 Electron WebContents/CDP 检查 | 可绕过 UX fail-fast;没有 receipt、project/digest provenance 或生产 opaque-origin parity |
|
||||
| Trusted Runtime Verifier | 未来可将 runtime 检查绑定到精确构建产物/摘要的可信执行方 | 当前未实现;不可用客户端本地预检冒充 |
|
||||
| Submission Binding | 客户端在云端接受上传后保存的精确 app/version/review/hash 绑定 | schema v2 只记录成功提交;落盘文件名暂保留 `works-cloud-deploy.json` 以兼容已安装数据 |
|
||||
| `legacy_retired` | 旧自动部署中间态迁移后的终止状态 | 不恢复 watcher、登录等待或自动上传;提示用户从项目配置重新提交 |
|
||||
| `play_url` | 服务端为已发布作品提供的公共播放地址 | 客户端优先使用并执行同源 HTTPS、精确 App 路径和版本状态校验 |
|
||||
|
||||
@@ -6,6 +6,7 @@ Use this index for searchable, traceable evidence records.
|
||||
|---|---|---|---|---|
|
||||
| 2026-08-11 | AI 设计多会话客户端集成 | 本地功能验证通过;仓库基线仍有既有失败 | `30-worklog/tasks/20260811-merge-all-code-a7c91e.md`、`4980894`、`03dae62` | 8 files / 116 focused tests、typecheck、changed-file ESLint、production build 与新增 Electron E2E 通过;生产 migration 0033/API 尚待验收,全量 lint/unit/E2E 的既有失败已单独记录 |
|
||||
| 2026-08-10 | 客户端静态发布唯一链路 | 本地验证通过 | `30-worklog/tasks/20260810-static-release-only-a91c.md`、`4df0477`、`8dd99c1` | 227 项聚焦回归、typecheck、Vite/Electron build、实际 Electron E2E 与 13 files / 21 tests 收集通过;不等同于真实生产部署验收 |
|
||||
| 2026-08-12 | Makelore 内置浏览器发布前预检 | 本地功能验证通过;不构成可信发布证明 | `30-worklog/tasks/20260812-client-browser-preflight-c8e2.md`、`926056a` | 121 项聚焦回归、typecheck、scoped lint、三端 build 与真实 Electron 双视口 E2E 通过;loopback UX 预检无 receipt/provenance/opaque-origin parity,服务端门禁仍需生产整链验收 |
|
||||
|
||||
## When To Add Evidence
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ Track future-facing memory: promised follow-ups, unfinished loops, timed checks,
|
||||
|
||||
| Date | Commitment | Trigger / Due | Owner | Status | Next Action |
|
||||
|---|---|---|---|---|---|
|
||||
| 2026-08-10 | 完成客户端提交到 App `play_url` 播放的真实生产整链验收 | 服务端 Builder、OSS immutable Release、CDN/Edge 与 App 消费链成组集成后 | 客户端/服务端集成 | Pending | 使用真实账号执行小游戏和小程序创建、提交、浏览器门禁、运营批准、CDN 发布、App 播放与监控核对 |
|
||||
| 2026-08-10 | 完成客户端提交到 App `play_url` 播放的真实生产整链验收 | 服务端 Builder、OSS immutable Release、CDN/Edge 与 App 消费链成组集成后 | 客户端/服务端集成 | Pending | 使用真实账号执行小游戏和小程序创建、客户端 loopback UX 预检、提交、服务端受控构建/不可变 Release 门禁、运营批准、CDN 发布、App 播放与监控核对;如需不可绕过 runtime gate,另行设计可信 verifier |
|
||||
| 2026-08-10 | 删除客户端 `runtime_url` 兼容回退 | 一个客户端兼容版本结束,且服务端与存量数据稳定提供 `play_url` | 客户端 | Pending | 删除类型字段、读取分支和对应回归测试 |
|
||||
| 2026-08-11 | 部署并验收 AI 绘画多 Conversation 服务端契约 | 发布包含多会话客户端之前 | 客户端/服务端集成 | Pending | 确认迁移 `0033`、Conversation list/create/read/turn/confirm API、持久 Agent Session 与事件字段已上线 |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user