171 lines
8.5 KiB
Markdown
171 lines
8.5 KiB
Markdown
# Task: 将图生图与 Updater 修复整合到当前主分支
|
|
|
|
## Identity
|
|
|
|
- Task ID: 20260813-integrate-i2i-updater-main-c4e7a1
|
|
- Mode: Integration
|
|
- Branch: main
|
|
- Worktree: D:\Datas\OthersProjects\makelore
|
|
- Base commit: f05b9d4cb5d0023092b21d361bf53000139b9bb6
|
|
- Owner: codex
|
|
- Status: Completed
|
|
|
|
## Scope
|
|
|
|
- Merge the reviewed branch
|
|
`codex/20260813-integrate-i2i-client-main-5d9e-integrate-i2i-client-main`
|
|
into the current local `main` baseline `f05b9d4` while preserving `main` as
|
|
the first parent.
|
|
- Preserve the completed Updater correction at `f05b9d4` and the source
|
|
branch's image-to-image implementation, tests, README, and accepted canonical
|
|
memory without squashing either history.
|
|
- Keep the source integration task record read-only on its source branch, as in
|
|
the repository's established merge pattern, and write integration notes only
|
|
to this task record.
|
|
- Re-run the combined focused suites, typecheck, scoped lint, production build,
|
|
documentation checks, and an independent final read-only review before
|
|
releasing `main` ownership.
|
|
|
|
## Intent And Constraints
|
|
|
|
- The image picker submits one real Workspace Asset ID through the existing
|
|
Renderer helper -> Host API -> Main workspace adapter path; it introduces no
|
|
local-file description or parallel upload transport.
|
|
- Only `brief.medium === 'image'` uses image-reference semantics. Video, null,
|
|
and omitted medium retain first-frame behavior; invalid non-null media remain
|
|
rejected at the cloud adapter boundary.
|
|
- Preserve Workspace / Conversation / Task ownership from ADR-001 and the
|
|
packaged-cloud versus development-only local-adapter boundary.
|
|
- Updater failures remain Main-owned: missing stable manifests remain errors,
|
|
raw diagnostics stay in Main logs, and the Renderer shows one concise,
|
|
localized message without treating the client as already current.
|
|
- Do not push, publish an updater artifact, install a build, or claim packaged
|
|
desktop / live Works Square / Bailian production readiness.
|
|
|
|
## Project Context Loaded
|
|
|
|
Task context:
|
|
- Task ID: `20260813-integrate-i2i-updater-main-c4e7a1`
|
|
- Mode: Integration
|
|
- Branch: `main`
|
|
- Worktree: `D:\Datas\OthersProjects\makelore`
|
|
- Base commit: `f05b9d4cb5d0023092b21d361bf53000139b9bb6`
|
|
- Other active local tasks: reviewed through their registry-owned task records;
|
|
no unresolved semantic conflict with this merge was found. The remaining
|
|
read-only image-to-image review task has no implementation scope.
|
|
- Overlap assessment: the Updater commit and image-to-image branch touch
|
|
disjoint product/test paths. The target adds canonical AI Design memory and
|
|
its own source task record; the latter remains on the source branch only.
|
|
|
|
Read:
|
|
- `.project-docs/05-agent-entry/memory-index.md`
|
|
- `.project-docs/00-brief/project-positioning.md`
|
|
- `.project-docs/00-brief/success-criteria.md`
|
|
- `.project-docs/30-worklog/current-state.md`
|
|
- `.project-docs/10-decisions/decision-index.md`
|
|
- `.project-docs/10-decisions/adr-001-ai-design-conversation-ownership.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/60-reflection/skill-candidates.md`
|
|
- `.project-docs/80-commitments/commitments.md`
|
|
- `.project-docs/90-maintenance/stale-items.md`
|
|
- Source image-to-image and Updater task records.
|
|
|
|
Relevant understanding:
|
|
- Project goal: preserve the two-module Makelore desktop boundary while adding
|
|
image-reference generation through the existing Main-owned workspace API.
|
|
- Current integrated focus: AI Design uses Workspace-scoped tasks/assets and
|
|
Conversation-scoped dialogue state; Updater release artifacts are still an
|
|
external release-owner responsibility.
|
|
- Decisions affecting this task: ADR-001 ownership remains unchanged; no new
|
|
architecture direction or contradictory source of truth is introduced.
|
|
- Evidence and commitments: 47 source-focused image-to-image tests and 37
|
|
Updater tests passed before merge, along with typecheck, scoped lint, and
|
|
`build:vite`; packaged/live image-to-image and updater smoke remain pending.
|
|
- Likely files: AI Design page/cloud adapter/tests, Updater files already in the
|
|
base, README, canonical AI Design/current-state memory, and this task record.
|
|
- Stale or unknown context: project-positioning remains a template; production
|
|
Works Square/Bailian and signed stable updater artifacts are not verified.
|
|
|
|
Gate result:
|
|
- Passed.
|
|
|
|
## Plan
|
|
|
|
1. Create a normal no-fast-forward merge with `main` as first parent, retaining
|
|
source history while excluding the read-only source task record from the
|
|
destination tree.
|
|
2. Inspect the combined tree and promote only durable, non-conflicting Updater
|
|
and image-to-image facts into canonical current-state memory.
|
|
3. Run the combined focused tests, typecheck, scoped ESLint, `build:vite`, Git
|
|
whitespace checks, and project-document validation.
|
|
4. Obtain an independent Sol PASS/FAIL review, close this task record, then use
|
|
a post-merge rollover task if required by base-attribution drift checks.
|
|
|
|
## Outcome
|
|
|
|
- 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
|
|
|
|
- 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: PASS on committed HEAD `5ae9ef7`, with no
|
|
P0-P3 findings. Standards and Spec both passed; merge topology, architecture,
|
|
behavior, tests, documentation accuracy, and clean-worktree state were
|
|
independently confirmed. Packaged updater and live Works Square/Bailian smoke
|
|
remain non-blocking external follow-ups.
|
|
|
|
## Follow-ups
|
|
|
|
- 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. Accepted, non-conflicting source facts have been promoted by this
|
|
Integration Gate; external production gates remain explicitly pending.
|