From 533f8bb4576dec88bafb9be02988897df07fb46c Mon Sep 17 00:00:00 2001 From: inman Date: Fri, 4 Sep 2026 14:16:55 +0800 Subject: [PATCH] docs: record remote main integration --- .project-docs/30-worklog/current-state.md | 18 +++- .../20260904-merge-remote-main-91c4e7.md | 94 +++++++++++++++++++ 2 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 .project-docs/30-worklog/tasks/20260904-merge-remote-main-91c4e7.md diff --git a/.project-docs/30-worklog/current-state.md b/.project-docs/30-worklog/current-state.md index 3cc8b69..d32c2ba 100644 --- a/.project-docs/30-worklog/current-state.md +++ b/.project-docs/30-worklog/current-state.md @@ -4,6 +4,22 @@ This file is the integrated default-branch snapshot. Feature tasks record progre ## Integrated Through +- Remote `main` frontier `336e0bb0caf24537b7b0f350aba3e04a37f5544c` + is integrated with local frontier + `2d3c103bac83fccffb15b760a6e79912c352541a` by the ordinary two-parent merge + `2d0322ef7a98c99fb28de4902506ea135ccd9389` under task + `20260904-merge-remote-main-91c4e7`. The remote AI Design streamed-reply, + pending-chat, and Quote handoff changes are retained, while the local Learning + removal remains authoritative: the active product still exposes only Code, + Canvas, and Robot. A matching `design.assistant.delta` may appear only as one + provisional assistant bubble for its pending chat and is replaced by the + canonical turn; the removed generic organizing-progress banner stays absent. + Remote source task records remain in their source-parent history rather than being + copied into this integration result. Verification passed frozen-lockfile install, + 35 focused tests, typecheck, 1,845 full-suite tests with 3 conditional skips plus + the pressure test 1/1, production build, and targeted Electron 5/5. Lint reported + 0 errors and 12 existing warnings. No remote push, deployment, publication, or + packaged-app lifecycle change was made. - Learning-removal source `5a7cb9b2085848631bdf7de45fe1cac74b905ed9` from task `20260903-remove-learning-7a91` is integrated onto the latest local `main` as `bd0873f34823754760368d8d37703c74bf65106d` by task @@ -609,7 +625,7 @@ This file is the integrated default-branch snapshot. Feature tasks record progre AI Design Canvas 现在默认以对话和一张持续可见的“我的创作”卡服务 8-16 岁创作者;专业字段矩阵收进按需打开的“精细调整”,移动端保持对话优先并只挂载一个卡片/底部面板。Creation Card、精细调整、Quote、Task 与结果提示都只投影权威状态,已知问题按 code 转成通俗中文,未知服务端或 Provider 文本不会直接显示。一个 Workspace 仍只公开一个 current Direction、一个 persistent Agent Session 和一个 Current Specification;conversation timeline 只记录交互历史。Chat、direct edits、decision responses、proposal acceptance、locks、Asset binding 与 restore 都通过 `design.input.apply` 进入同一服务端 reducer,Renderer drafts 在 accepted 前保持本地。Main 持有 Works Token、stream ticket、WebSocket、request deadline、stable command/operation IDs 与错误脱敏;unknown result 只能复用原 identity,结构化业务错误不得重放。Generation 由服务端对 exact Specification revision 编译 immutable Quote,客户端只展示 public output plan、warnings、expiry 与 Token Points,并以 Quote ID 调用 `design.generation.confirm`;Provider Prompt、model、route、storage 和 billing atoms 不进入 Renderer。Task/Asset events 独立收敛 Workspace resources,不改写 Living Form。Development 与 packaged builds 均使用 Works Square V2,V1 DTO、local semantic adapter、mutable Quote PATCH 与 editable provider Prompt 已移除。 -新提交的 Design chat 会立即从现有 pending operation 投影为带“发送中”或“正在确认”的临时用户气泡,服务端确认的 canonical turn 到达后再替换它;确定失败时原草稿重新出现在输入框。`design.assistant.delta` 只作为内部传输与收敛状态,不显示原始片段,也不在对话区生成独立整理进度栏;右侧 Current Specification 摘要继续承担“AI 当前听懂的内容”。重复连接和事件按 connection generation 与 `chunkIndex` 收敛。 +新提交的 Design chat 会立即从现有 pending operation 投影为带“发送中”或“正在确认”的临时用户气泡,服务端确认的 canonical turn 到达后再替换它;确定失败时原草稿重新出现在输入框。匹配该 pending chat 的 `design.assistant.delta` 可以临时合并显示为一个未完成的助手气泡,并在 canonical turn 到达后被替换;它不进入 conversation timeline,也不生成独立的“AI 正在整理你的想法”进度栏。右侧 Current Specification 摘要继续承担“AI 当前听懂的内容”。重复连接和事件按 connection generation 与 `chunkIndex` 收敛。 Canvas 侧栏提供“获取灵感”进入 Prompt Museum。列表、筛选、分页、详情、作者/来源/许可证和图片地址全部由服务端经 Main-owned Host API 提供,客户端不打包静态数据集;服务端相对媒体只允许固定 `/api/image-prompt-museum/{entry}/media/{thumbnail|number}` 形状,并由 Main 注入 Works Bearer、执行一次 401 刷新、可信 raster MIME 与 10 MiB 上限后转为 Renderer data URL;credential-free HTTPS CDN 图片保持直连。图片失败只显示卡片内占位,不阻断卡片或详情;缺少来源 URL 时显示纯文本。“使用此 Prompt”只把原文带回当前 Canvas 输入框,不自动发送。该模块不是投稿、点赞、评论或排行榜社区。客户端契约已就绪,但不据此宣称 Works Square 内容后台和生产数据已经部署。`pnpm run dev` 现在默认使用云端 Canvas 适配器,本地适配器只能通过显式开发命令启用;产品 UI 只保留中文。 diff --git a/.project-docs/30-worklog/tasks/20260904-merge-remote-main-91c4e7.md b/.project-docs/30-worklog/tasks/20260904-merge-remote-main-91c4e7.md new file mode 100644 index 0000000..20b0784 --- /dev/null +++ b/.project-docs/30-worklog/tasks/20260904-merge-remote-main-91c4e7.md @@ -0,0 +1,94 @@ +# Task: Merge fetched remote main + +## Identity + +- Task ID: 20260904-merge-remote-main-91c4e7 +- Mode: Integration +- Branch: main +- Worktree: /Users/inmanx/Documents/makelore +- Base commit: 2d3c103bac83fccffb15b760a6e79912c352541a +- Owner: codex +- Status: Ready for Integration + +## Scope + +- Merge fetched `origin/main@336e0bb0caf24537b7b0f350aba3e04a37f5544c` + into local `main` with a normal two-parent merge. +- Preserve local Learning removal `bd0873f`, its canonical integration `5f87a42`, + and the fetch record `2d3c103` while accepting the five remote AI Design commits. +- Reconcile overlapping canonical AI Design documents without restoring the remote + branch's older four-module snapshot. +- Verify the merged tree without changing the independently running packaged app. + +## Intent And Constraints + +- The current AGENTS instruction and the user's prior explicit decision establish + Code, Canvas, and Robot as the only enabled modules. Learning must remain removed. +- Preserve the remote streamed-reply and Quote-handoff behavior, tests, and accepted + canonical facts because they do not conflict with the three-module direction. +- Do not rebase, reset, force-push, or discard either line of history. +- Source task records from the remote commits are read-only and remain available in + their source history; the integration result records source commits in its own task + record and canonical `Integrated Through` entry. +- No package, deployment, publication, or remote push is part of this pull. + +## Project Context Loaded + +- Concurrent Task Gate passed in Integration mode on local `main`; this task owns the + worktree and exclusive integration lock at base `2d3c103`. +- Planning and Integration Gates passed after reading the fetch task, remote source + task outcomes and promotion candidates, integrated current state, decision index, + system overview, business rules, commitments, stale registry, and reflection index. +- No other local task is active. Remote changes are limited to AI Design + stream/progress/Quote presentation, tests, and related canonical documents. +- The remote branch's Learning content is inherited unchanged from the old common + base, not a new product decision. The current three-module AGENTS instruction and + prior human confirmation resolve that semantic conflict in favor of keeping + Learning removed. + +## Outcome + +- Created ordinary two-parent merge + `2d0322ef7a98c99fb28de4902506ea135ccd9389` with parents + `2d3c103bac83fccffb15b760a6e79912c352541a` and + `336e0bb0caf24537b7b0f350aba3e04a37f5544c`. +- Accepted the remote AI Design pending-chat, streamed assistant reply, and inline + Quote handoff implementation and tests. +- Preserved the local Learning removal. The merged product still exposes only Code, + Canvas, and Robot, and no Learning source, route, API, DTO, or packaged asset was + restored. +- Resolved the sole textual merge conflict in `current-state.md` by retaining both + the authoritative Learning-removal record and the remote AI Design history, then + reconciled its older streamed-reply wording with the merged implementation. +- Read all five remote source task records from the source parent and left them in + that parent history rather than copying foreign task records into this integration + result. +- Left the independently running packaged Makelore app untouched. No remote push, + deployment, publication, or package lifecycle action was performed. + +## Verification + +- `corepack pnpm install --frozen-lockfile` — passed with the pinned pnpm 10.33.4. +- `corepack pnpm run typecheck` — passed. +- `corepack pnpm exec vitest run tests/unit/image-canvas-page.test.tsx tests/unit/image-workspace-store.test.ts tests/unit/youth-creation-card.test.tsx` + — 3 files and 35 tests passed. +- `corepack pnpm run lint:check` — passed with 0 errors and 12 existing warnings, + including warnings from the historical `.worktrees/learning-player-release-fix`. +- `corepack pnpm run build:vite` — passed for Renderer, Main, Preload, and utility + worker bundles. +- `corepack pnpm test` — 220 files and 1,845 tests passed with 3 conditional skips; + the serialized pressure test then passed 1/1. +- `corepack pnpm run test:e2e -- tests/e2e/image-workspace-v2.spec.ts tests/e2e/main-navigation.spec.ts` + — targeted Electron verification passed 5/5, including AI Design production, + the three-module chooser, and retired Learning-route redirection. + +## Follow-ups + +- None recorded. + +## Promotion Candidates + +- Integrated `current-state.md`: record the remote frontier, merge identity, + preserved three-module boundary, AI Design behavior, and verification evidence. +- Integrated `current-state.md`: reconcile the provisional assistant reply wording + with the actual merged Renderer behavior.