Files
makelore/.project-docs/30-worklog/tasks/20260812-integrate-client-built-release-makelore-72ce.md

99 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Task: 集成 Makelore 本地构建发布事实
## Identity
- Task ID: 20260812-integrate-client-built-release-makelore-72ce
- Mode: Integration
- Branch: codex/20260812-integrate-client-built-release-makelore-72ce-integrate-client-built-release
- Worktree: D:\Datas\OthersProjects\makelore-integrate-client-built-release-72ce
- Base commit: 5b44864265eb8a85484e38e49f5e177d108328a3
- Owner: codex
- Status: Completed
## Scope
- 从源任务 `20260812-client-built-release-makelore-7e5b` 晋升 Main-owned 本地 npm/Vite 构建、同字节 Electron 双视口预检、双归档上传和服务端固化边界。
- 更新 canonical current state、architecture、domain、evidence、commitments、history、success criteria以及仍在使用的 `.opencode` 发布课程说明。
- 只修改 canonical 文档、现行发布 skill 和本 integration task record不修改生产代码、source task 或其他历史 task record。
## Intent And Constraints
- 用户已明确批准架构反转:客户端用安装版 Electron Node、固定 npm 11.6.2 和项目 lockfile Vite 本地构建;服务端不再运行项目 Vite只校验并固化不可信字节。
- Vite config/plugins 以桌面用户权限执行,不是 sandbox仅适用于用户信任的本地项目依赖安装需要网络。
- Electron 预检检查与最终 `built_archive` 相同的内存字节,但无可信 receipt、不复刻生产 opaque-origin不得替代服务端摘要/合同/不可变 Release 校验或人工审核。
- 旧客户端与旧 sandbox/browser 任务提示升级后重新构建提交;新版 `BUILD_STALE`、归档存储和 ReleaseStore 瞬时失败由运营在“构建异常”中重试。
- 当前 Windows 安装器证据固定为 223,547,912 bytes、SHA-256 `08A0BB7BC66EE4AD8B120E8955B149951CD86AF53CC966C7973AD4D77A5815C1`;仅记录为已验证但未上传、未发布。
## Project Context Loaded
Task context:
- Task ID: `20260812-integrate-client-built-release-makelore-72ce`
- Mode: Integration
- Branch: `codex/20260812-integrate-client-built-release-makelore-72ce-integrate-client-built-release`
- Worktree: `D:\Datas\OthersProjects\makelore-integrate-client-built-release-72ce`
- Base commit: `5b44864265eb8a85484e38e49f5e177d108328a3`
- Other active local tasks: release-client、login-sliding、browser-preflight、static-release-only、cloud-build diagnosis、source client-built-release、design multisession、design enter-send、Windows package。
- Overlap or semantic-conflict assessment: browser-preflight canonical 曾明确禁止客户端执行 Vite与本任务相反用户已明确批准架构反转因此冲突已获人类决策。其余 peers 不改变本次计划Windows package 只提供旧安装产物背景,不覆盖本次最终产物证据。
Read:
- `.project-docs/05-agent-entry/read-before-planning.md`
- `.project-docs/05-agent-entry/memory-index.md`
- `.project-docs/30-worklog/current-state.md`
- `.project-docs/00-brief/project-positioning.md`
- `.project-docs/00-brief/success-criteria.md`
- `.project-docs/10-decisions/decision-index.md`
- `.project-docs/20-architecture/system-overview.md`
- `.project-docs/20-architecture/module-map.md`
- `.project-docs/20-architecture/data-flow.md`
- `.project-docs/40-domain/business-rules.md`
- `.project-docs/40-domain/glossary.md`
- `.project-docs/50-evidence/evidence-index.md`
- `.project-docs/60-reflection/reflection-index.md`
- `.project-docs/80-commitments/commitments.md`
- `.project-docs/90-maintenance/stale-items.md`
- source task record and every active peer task record through its registry-owned worktree
Relevant understanding:
- Project goal: 为非专业用户提供一个 Main-owned、安全投影且无需 Docker/ZIP/服务器操作的一键静态发布链。
- Current integrated focus: 旧 snapshot 仍以开发 loopback preview + 服务端构建为主,本任务明确替换该边界。
- Active task scope: 只晋升源提交 `5b44864` 已验证的长期事实,不改生产代码。
- Active constraints: Renderer 不得持有凭据、路径、归档或 origin客户端结果不成为服务端信任声明。
- Decisions affecting this task: 用户已确认本地构建架构反转ADR-001 与发布链无冲突。
- Evidence, reflections, or commitments affecting this task: source task 129 focused tests、真实 Electron E2E、npm/Vite smoke、packaged verifier生产整链仍未验收。
- Files or modules likely involved: canonical `.project-docs``.opencode/skills/youth-ai-product-course/SKILL.md``.opencode/skills/dev-build-test/SKILL.md`
- Unknowns, stale docs, or conflicts: 服务端新协议、OSS/CDN、运营/App 生产整链未验证;项目 positioning 仍是旧模板占位,但不影响本次局部晋升。
Gate result:
- Passed.
## Plan
1. 以源 task outcome/promotion candidates 和 `5b44864` 生产差异为证据,替换旧本地预检/云端构建 canonical 描述。
2. 同步发布运行时、双归档合同、错误重试、安装器证据和生产整链 commitment。
3. 运行 project-docs、drift、diff 和聚焦语义扫描,提交中文 integration commit完成 task context保留 worktree ownership。
## Outcome
- 已将发布 canonical 链路更新为 Main-owned local npm/Vite build → final built snapshot Electron 双视口预检 → source+built+artifact contract 上传 → 服务端逐字节校验与不可变 Release 固化。
- 已明确固定 npm 11.6.2、项目 lockfile Vite、桌面权限执行 config/plugins非 sandbox、无全局 PATH/既有 `node_modules` 回退和依赖网络要求。
- 已保留客户端预检可绕过、无可信 receipt、不复刻 opaque-origin以及 Renderer 不接触路径/归档/origin/凭据的安全边界。
- 已固化旧客户端/旧 sandbox-browser 任务重提、新版瞬时固化失败由运营重试,并登记最终 Windows 安装器大小/SHA 和“未上传、未发布”事实。
- 已同步两份仍在使用的 `.opencode` 发布课程 skill未修改生产代码、source task 或任何 peer/historical task record。
## Verification
- `check_project_docs.py`: PASS。
- `check_doc_drift.py --task-id 20260812-integrate-client-built-release-makelore-72ce`: PASS写入边界仅包含 canonical project docs 与本 integration task record。
- `git diff --check`: PASS仅 Git LF/CRLF 工作区提示)。
- 聚焦语义扫描核对固定 npm、Vite、双归档、`preflightStaticArtifact``BUILD_STALE` 和旧 sandbox/browser 协议表述canonical 现行描述已与 `5b44864` 源实现/任务证据一致。
- source tip `5b44864265eb8a85484e38e49f5e177d108328a3` 已存在且正是 integration base`Integrated Through` 已登记 `5b44864`
## Follow-ups
- 服务端新协议、不可变 Release、运营审核、CDN/App 播放仍需真实生产整链验收。
- 每次正式 Windows 安装器发布前继续运行 publish runtime 与 artifact verifier。
## Promotion Candidates
- None. Accepted source facts are being promoted by this Integration Gate.