Files
makelore/.project-docs/30-worklog/tasks/20260813-integrate-i2i-client-main-5d9e.md

4.5 KiB

Task: Merge AI Design image-to-image into current client main

Identity

  • Task ID: 20260813-integrate-i2i-client-main-5d9e
  • Mode: Integration
  • Branch: codex/20260813-integrate-i2i-client-main-5d9e-integrate-i2i-client-main
  • Worktree: D:\Datas\OthersProjects\makelore-integrate-i2i-main-5d9e
  • Base commit: a03043d048
  • Owner: codex
  • Status: Completed

Scope

  • Integrate the already reviewed AI Design single-reference image-to-image client change (809364e) onto the current client main baseline a03043d.
  • Preserve the already integrated local release-build and first-conversation latency work while resolving any overlapping README, page, test, or canonical documentation edits semantically.
  • Re-run the focused page suite, typecheck, scoped lint and Renderer build on the resulting integration head, then obtain an independent read-only review.
  • Land the verified result on local main only if its existing updater task can be left intact; never overwrite, stash, reset, or absorb that task's uncommitted files.

Intent And Constraints

  • The picker continues to submit one real Workspace Asset ID through the existing attachmentAssetIds transport; no parallel upload or local-file description path is introduced.
  • Only brief.medium === 'image' selects image-reference semantics. video, null and missing medium retain the historical video-first-frame behavior.
  • Preserve Workspace / Conversation / Task ownership from ADR-001 and keep image/video tasks Workspace-scoped.
  • Preserve the deployed exact quick reply 从作品列表选择图片 for this compatible increment; a structured action/purpose remains future protocol work.
  • Keep all Git and file mutations rooted in this isolated integration worktree until the original main worktree is clean and ownership-safe.

Outcome

  • Merged reviewed feature commit 809364e into the current a03043d client baseline with merge commit 88281b8; Git resolved the overlapping ImageCanvas and page-test history without source conflicts and preserved the existing first-conversation work.
  • Promoted the generalized single-image picker, one-Asset attachment boundary, image/video/null-medium behavior, exact-string compatibility risk and production-smoke obligation into the current canonical project memory.
  • README now describes text-to-image, single-reference image-to-image, project work selection and local upload on top of the latest client product state.
  • Independent review found that legacy snapshots with an omitted Brief medium were rejected by the cloud adapter before the page fallback. Commit 7a807a2 now accepts only an omitted/null/image/video medium at the boundary, normalizes omission to null, and continues to reject other non-null values.

Verification

  • Source merge preflight used git merge-tree against current main; only the README paragraph needed an overlapping semantic merge and the final merge completed automatically.
  • pnpm install --offline --frozen-lockfile: passed with the pinned pnpm; dependencies were restored entirely from the local store.
  • pnpm exec vitest run tests/unit/image-canvas-page.test.tsx: 25 passed.
  • pnpm exec vitest run tests/unit/works-square-design-workspace.test.ts: 22 passed, including REST and WebSocket missing-medium normalization and invalid-medium rejection.
  • pnpm run typecheck: passed.
  • pnpm exec eslint src/pages/ImageCanvas/index.tsx tests/unit/image-canvas-page.test.tsx: passed.
  • pnpm run build:vite: passed for Renderer, Main and Preload; emitted only the repository's existing dynamic-import and chunk-size warnings.
  • git diff --check: passed.
  • check_project_docs.py: passed.
  • check_doc_drift.py --task-id 20260813-integrate-i2i-client-main-5d9e: passed after keeping the source task record read-only on its source branch, matching the repository's established Integration Gate pattern.
  • Packaged desktop and live Works Square/Bailian provider smoke were not run.
  • Initial independent Sol review: FAIL with one P2 missing-medium adapter gap and one P3 stale verification record; both were corrected. Final independent Sol review is rerun against the corrected head before promotion.

Follow-ups

  • Replace exact localized quick-reply matching with a structured asset-picker action/purpose before adding more input modes or changing that label.
  • Run packaged-desktop and live Works Square/Bailian image-to-image smoke after the matching client and server releases are deployed.

Promotion Candidates

  • None recorded.