记录图生图与更新器集成状态

This commit is contained in:
2026-08-13 15:48:02 +08:00
parent e22137469c
commit 5ae9ef7d73
10 changed files with 65 additions and 4 deletions

View File

@@ -14,6 +14,7 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
- `5b44864`Main-owned 本地 npm/Vite 构建、同字节 Electron 双视口预检、source+built 双归档与 artifact contract 上传。
- `08da976` / `0ee5254`AI 编程首次发送已知空 session 快速路径与明确上游饱和终止态投影。
- `809364e` / `88281b8` / `7a807a2`AI 绘画单参考图图生图选择/上传交互、最新客户端主线集成及旧版 Brief medium 缺失兼容。
- `f05b9d4` / `e221374`Updater 稳定源缺包诊断与用户错误脱敏修复,以及当前 `main` 上的图生图最终合并提交。
## Current Focus
@@ -23,6 +24,8 @@ AI 绘画的一个 Workspace 可包含多条 Conversation。消息、Brief、Quo
AI 编程首次发送在新建 OpenCode session 已知为空时不再等待冗余历史读取prompt 可直接进入 Host API普通历史会话仍刷新消息。Main AI proxy 只把明确的上游分组饱和投影为当前 OpenCode 的终止状态,配额耗尽保持独立终止态,通用限速继续保留 `429`
Updater 仍由 Electron Main 选择目标 feed、记录原始诊断并保持失败语义。正式稳定源缺少对应平台 manifest 时设置页只显示一条简洁中文提示并允许重试不把缺包误报为已是最新版也不向普通界面暴露堆栈、URL、路径或错误码签名产物发布和真实升级安装仍属于外部 Release Gate。
## Recently Completed
- 2026-08-08合并登录续期、一键发布和真机预览发布成功后保存精确 app/version/review 映射Renderer 不接触 Token、ZIP 或本地路径。
@@ -34,6 +37,7 @@ AI 编程首次发送在新建 OpenCode session 已知为空时不再等待冗
- 2026-08-12发布架构反转为 Main-owned 本地构建;固定 npm 11.6.2 按项目 lockfile 安装并执行项目 ViteElectron 预检最终上传同字节产物,再上传 source+built 双归档和严格 contract。服务端仅校验并固化不可信字节不再承担项目 Vite 构建。
- 2026-08-12AI 编程新 session 的首条 prompt 不再被已知空历史读取阻塞;明确上游分组饱和会快速终止,通用 `429` 仍保持原有限速语义。
- 2026-08-13AI 绘画把原视频首帧选择器泛化为单图来源选择器;图片 Brief 可选择项目作品或上传本地图作为图生图参考图,视频及未决 medium 保持历史首帧行为,成功提交后关闭弹窗。
- 2026-08-13Updater 对 Works Square 稳定源缺少 Windows/macOS manifest 保持错误状态,在 Main 日志保留原始诊断,并在设置页去重、脱敏为可操作的中文提示;未发布任何新安装包。
## In Progress
@@ -65,6 +69,7 @@ AI 编程首次发送在新建 OpenCode session 已知为空时不再等待冗
- 客户端对最终构建字节的 loopback 检查没有可信 receipt且不复刻生产 opaque-origin服务端必须独立重算 source/built/contract、校验不可变 Release人工审核仍不可绕过。如未来需要不可绕过的 runtime gate必须引入可信 verifier 并绑定精确构建产物。
- AI proxy 的明确饱和 `429 → 400` 是与当前 OpenCode 重试契约匹配的内部投影;升级 OpenCode 或上游饱和错误文案变化时必须复核。不得把通用 `429` 或仅含 `rate_limit_exceeded` 的响应误分类为终止饱和。
- AI 绘画单图选择器仍精确匹配 quick reply `从作品列表选择图片`,用途再从当前 Brief medium 推断;本地化或协议文案变化可能破坏入口。扩展更多素材输入前应升级为结构化 action/purpose。
- Updater 源码错误提示不能代替发布正式签名产物;稳定 feed 缺 manifest 必须保持失败Renderer 不得展示原始堆栈、URL、路径或错误码。升级链只有在旧版本完成发现、下载、重启和安装 smoke 后才可视为生产就绪。
## Last Updated

View File

@@ -11,6 +11,7 @@
| 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 |
| 2026-08-12 | Makelore 本地构建静态 Release | 固定 npm + 项目 lockfile Vite、本地同字节双视口预检、source+built+contract 双归档协议 | current-state、architecture、domain、evidence、commitments、skills |
| 2026-08-13 | 图生图与 Updater 主线集成 | 单参考图 Asset 链路、旧 Brief medium 兼容,以及稳定更新源缺包诊断/错误脱敏 | README、current-state、architecture、domain、evidence、commitments |
## Notes

View File

@@ -109,16 +109,58 @@ Gate result:
## Outcome
- Not completed.
- Completed and released the Updater feature task after two independent-review
findings were corrected. Commit `f05b9d4` preserves raw Main diagnostics and
failure semantics, de-duplicates concurrent shared errors per check, and
presents only one concise localized Renderer message.
- Created merge commit `e221374` with current `main` commit `3e90129` as first
parent and reviewed image-to-image tip `f11eb49` as second parent. The merge
was conflict-free and preserves the complete history of both lines.
- Kept source integration record
`20260813-integrate-i2i-client-main-5d9e.md` on the source branch only. It was
not modified or copied into the destination tree; this task record contains
the current integration notes.
- `main` now contains the generalized single-image picker, current-Workspace
Asset selection/upload, image-reference versus video-first-frame behavior,
and strict cloud adapter handling for omitted/null/valid/invalid Brief media.
- Promoted the already verified Updater behavior, evidence, release obligation,
and current product description into README and canonical project memory,
without claiming that a signed artifact or live update path was published.
## Verification
- Not run.
- Merge topology: `e221374` parents are `3e90129` then `f11eb49`; `main` is the
first parent and the requested source branch is the second parent.
- Combined focused unit suites: 6 files / 84 tests passed, covering Updater
Main/UI/store/sidebar and image-to-image page/cloud-adapter behavior.
- `pnpm run typecheck`: passed.
- Scoped ESLint over all affected Updater and image-to-image product/test files:
passed with no findings.
- `pnpm run build:vite`: passed for Renderer, Electron Main, and Preload; only
the repository's existing dynamic-import and chunk-size warnings were emitted.
- `pnpm test`: 1566/1569 passed. The three failures exactly match the Updater
task's recorded pre-merge baseline: missing `.opencode/agent` in
`youth-plain-language-skill.test.ts`, plus the two existing timeout/generation
failures in `opencode-manager.test.ts`. None touches this merge's files.
- `check_project_docs.py`: passed.
- `check_doc_drift.py --task-id
20260813-integrate-i2i-updater-main-c4e7a1`: passed before final review.
- `git diff --check`: passed; Git reported only the normal LF/CRLF checkout
notices when displaying diffs.
- Independent final Sol review: pending against the committed combined head.
## Follow-ups
- None recorded.
- Deploy the matching image-to-image service contract and run packaged desktop
plus live Works Square/Bailian smoke with both a generated Workspace Asset and
a locally uploaded reference.
- Replace the exact localized quick-reply trigger with a structured
action/purpose before adding another media-input mode or changing the label.
- Align the authoritative client version, publish signed/notarized updater-role
artifacts, and run discover/download/restart/install smoke from an older
stable package.
## Promotion Candidates
- None recorded.
- None. Accepted, non-conflicting source facts have been promoted by this
Integration Gate; external production gates remain explicitly pending.