Merge remote-tracking branch 'origin/main'
# Conflicts: # .project-docs/20-architecture/module-map.md # src/pages/ImageCanvas/DesignConversationPane.tsx # tests/unit/image-canvas-page.test.tsx
This commit is contained in:
@@ -4,6 +4,103 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
|
||||
|
||||
## Integrated Through
|
||||
|
||||
- Local AI Design activity frontier
|
||||
`4b894c7e320cdf829888f63f501d176f051be7d7` and fetched remote frontier
|
||||
`918f8f80dca61b0f561f96b168e4ef541734d414` are reconciled by the ordinary
|
||||
two-parent merge prepared under task
|
||||
`20260907-complete-current-merge-b61e4a93`. The semantic resolution keeps the
|
||||
remote Code/Canvas/Plugin/Learning-removal product state while adding the local
|
||||
Main-normalized, operation-scoped Design activity panel to the matching pending or
|
||||
canonical user turn. Activity and assistant delta remain transient projections;
|
||||
the central active production plan remains the Current Specification projection.
|
||||
Typecheck, 90 focused tests, lint with 0 errors and 5 existing warnings, all Vite
|
||||
targets, targeted Electron E2E 12/12, pressure 1/1, and staged-diff checks passed.
|
||||
The ordinary unit suite passed 1,933 tests with 2 skips; its sole failure was the
|
||||
unchanged Pi real-process two-second timing assertion, which also missed its limit
|
||||
in isolation on this Windows host. No push, package, deployment, publication,
|
||||
production database, paid Provider, or historical user-data change is claimed.
|
||||
- AI Design operation activity source
|
||||
`81b524a02c2cf51304090afa8fb89d27c72c5d2b` from task
|
||||
`20260907-design-agent-activity-client-b6d913e4` is integrated by task
|
||||
`20260907-land-design-agent-activity-e3b7a1c9`. Electron Main now
|
||||
normalizes the server's four closed public stages into fixed youth-safe copy;
|
||||
Renderer attaches one transient, update-in-place `AI 处理过程` panel to the exact
|
||||
optimistic user message and collapses completed work without creating a chat Turn
|
||||
or duplicating the right-side Current Specification. Workspace, Direction,
|
||||
operation, pre-command turn sequence, connection generation, cursor, and terminal
|
||||
events keep replay and stale results scoped; unknown outcomes retain the original
|
||||
identity. Integration review additionally preserves prior completed/unknown activity
|
||||
when a later chat starts and keeps each pending user's activity and provisional
|
||||
reply together in visual order. Final committed assistant text continues through
|
||||
the existing provisional assistant bubble and canonical Turn replacement. Focused verification passed 69
|
||||
tests, TypeScript, changed-file ESLint, and all Vite production targets. No server,
|
||||
database, billing, Quote/Task, navigation, package, deployment, publication, or paid
|
||||
Provider call changed.
|
||||
- Token Point V2 account-usage source `6348e402a4e8dde712e5cba4620bb883ffe24e0b`
|
||||
from task `20260906-trace-makelore-usage-3d7a5c1e` is integrated onto local
|
||||
`main` by task `20260906-integrate-token-points-v2-7b4e1c92`. The account menu
|
||||
now uses the Main-owned `/api/works/billing/points` route and the Works Square
|
||||
`/api/billing/points` authority instead of the retired rolling-window usage
|
||||
contract. Managing accounts see the authoritative plan, weekly remaining/allowance,
|
||||
total remaining points, and refresh time; loading and retrieval failures remain
|
||||
explicit. Every non-managing account receives only coarse `shared_available`
|
||||
state, including both family-shared members and youth self entitlements, and never
|
||||
receives plan, cycle, or exact balance fields through the Main projection. Source
|
||||
verification passed 72 focused tests, typecheck, scoped lint, all Vite targets,
|
||||
diff/source checks, and two matching Works Square V2 contract tests. The deployed
|
||||
service/database state and signed-in packaged-client smoke remain release evidence
|
||||
gaps; no server deployment, database migration, package, publication, or remote
|
||||
push is claimed.
|
||||
- Automatic Game Resource delivery source
|
||||
`6113a2453299141eab8420a56e93675712dd607b` from task
|
||||
`20260906-game-resource-auto-delivery-7a4e2c91` is integrated onto local `main`
|
||||
as product commit `4df4bc96245c01cd95e35ddf1b2b03d0e0d231c5` by task
|
||||
`20260906-game-resource-auto-delivery-integration-8c4e1a72`. One confirmed
|
||||
`game_resource_generate` call is now a Main-owned submit-and-deliver operation:
|
||||
Main submits once, polls the accepted execution internally, downloads every terminal
|
||||
output, and saves the files under the frozen original project at
|
||||
`assets/generated/game-resource/<executionId>/`. Provider execution, billing, and
|
||||
local delivery remain separate states. A durable user-data receipt resumes only the
|
||||
local download/save phase after an interruption, so it cannot create a second
|
||||
Provider submission or Token Point charge. The shared project write lease is held
|
||||
only while terminal outputs are materialized, and the Agent-visible status/save tools
|
||||
and second save confirmation are removed. Source verification passed 99 focused
|
||||
tests, the 1,901-test full unit suite with 2 skips plus pressure, typecheck, lint with
|
||||
0 errors/5 unchanged warnings, all Vite targets, 8 Electron tests, the unified Plugin
|
||||
E2E journey, and Windows x64 runtime staging. No live paid Provider generation,
|
||||
client installation, deployment, publication, or push is claimed.
|
||||
- Official project-wide Plugin activation source
|
||||
`718783f6837e29f56c9add633596249c03e5701f` from task
|
||||
`20260905-official-plugin-project-scope-6e4a9c21` is integrated onto local `main`
|
||||
as `e0de7aa28c1d6e97454f0e4073ae9153e746bb4b` by task
|
||||
`20260905-official-plugin-project-scope-integration-8b3d6f42`. The shared
|
||||
activation predicate now treats `makelore.data-service`,
|
||||
`makelore.game-resource`, and `makelore.project-scaffold` as code-owned official
|
||||
project Plugins: after their existing system delivery or Account acquisition and
|
||||
project enablement, every parent Agent receives the full Skill/tool set without an
|
||||
Agent-assignment gate or partner-assignment action. Child Agents remain empty;
|
||||
downloaded Marketplace and local Device Packages retain their existing lifecycles,
|
||||
and stored assignments for the three official identities may remain inert. Source
|
||||
verification passed 30 focused, 70 adjacent, and 37 resolver/composition tests,
|
||||
typecheck, lint with 0 errors/5 unchanged warnings, all Vite targets, and the
|
||||
targeted Electron project-Plugin journey. The ordinary full unit run had one
|
||||
unrelated two-second Pi real-process timing miss among 1,889 passes/2 skips; that
|
||||
exact file passed 6/6 in isolation. A rebuilt and installed client smoke is still
|
||||
required; this source integration does not change an already running binary.
|
||||
- Project Scaffold project-wide activation source
|
||||
`300ac89a81409440aac84ff45b1d9ca2fa186629` from task
|
||||
`20260905-project-plugin-scope-7c4e9a21` is integrated onto local `main` as
|
||||
`6710527e8f7150a6c4997d566a380454e33f455e`. The code-owned
|
||||
`makelore.project-scaffold` remains Account-acquired and project-enabled, but no longer
|
||||
has an Agent-assignment gate or partner-assignment action. Main now materializes its
|
||||
complete Skill set for every parent Agent in the enabled project; child Agents remain
|
||||
empty, active generations keep their existing freeze boundary. This was the initial
|
||||
narrow exception and is superseded by the three-identity official rule above; Plugins
|
||||
outside that set retain their assignment semantics. Source verification passed 45 focused and 87
|
||||
adjacent tests, typecheck, lint with 0 errors/5 unchanged warnings, pressure, and all
|
||||
Vite targets. One unrelated two-second Pi real-process timing assertion failed in the
|
||||
ordinary full run and passed 6/6 in isolation. A rebuilt/installed-client smoke remains
|
||||
pending; local source integration does not replace an already installed binary.
|
||||
- Remote `main` frontier `da29294` is semantically integrated with local
|
||||
frontier `f53683a` under task
|
||||
`20260907-integrate-remote-before-push-a4c9e27b`. The merge retains the
|
||||
@@ -721,7 +818,7 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
|
||||
|
||||
AI Design Canvas 现在以中央 conversation timeline 加唯一 active 制作方案、右侧 320–340 px 全高 Works rail 的两区布局服务创作者;Canvas 路由不挂载全局左栏,紧凑宽度把同一 Works rail 放进右侧 Sheet。Active 方案的 `content.concept` 直接作为可编辑“创作提示词”,类型、画幅、视频时长和数量保持紧凑直控;已提交、运行中或终止方案折叠进对话历史。Reference 使用稳定 reference ID、真实 Workspace Asset binding 与连续 `@图片N` alias;Prompt 是用途的唯一可见表达,binding row 只管理缩略图、文件、alias、替换与删除。未绑定 alias 提供定点上传并阻止 Quote,Prompt/reference/参数变更产生新 Specification revision 和新 immutable Quote。一个 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 到达后再替换它;确定失败时原草稿重新出现在输入框。匹配该 pending chat 的 `design.assistant.delta` 可以临时合并显示为一个未完成的助手气泡,并在 canonical turn 到达后被替换;它不进入 conversation timeline,也不生成独立的“AI 正在整理你的想法”进度栏。中央 active 制作方案继续呈现 AI 当前整理出的 Current Specification 公共投影。重复连接和事件按 connection generation 与 `chunkIndex` 收敛。
|
||||
新提交的 Design chat 会立即从现有 pending operation 投影为带“发送中”或“正在确认”的临时用户气泡,服务端确认的 canonical turn 到达后再替换它;确定失败时原草稿重新出现在输入框。`design.assistant.progress` 经 Main 归一为固定通俗阶段,只在对应用户气泡下形成可更新、可折叠的“AI 处理过程”,不成为对话消息、中央制作方案或模型思考过程。匹配同一 pending chat 的 `design.assistant.delta` 只临时绘制为一个未完成助手气泡,随后由 canonical turn 替换;它不进入 conversation timeline,也不生成独立全局整理栏。中央 active 制作方案继续呈现 AI 当前整理出的 Current Specification 公共投影。重复连接和事件按 connection generation、operation identity 与 `chunkIndex` 收敛。
|
||||
|
||||
Prompt Museum 已退出当前产品面:Canvas 不再显示“获取灵感”,App 不挂载或 lazy-load Museum Renderer 页面,历史 `/image-prompts/*` 只重定向到 `/image-canvas`。Main-owned 固定 API、Works 认证、相对媒体路径校验、单次 401 刷新、可信 raster MIME/10 MiB 上限与共享 DTO 暂作为 dormant 兼容/安全基础设施保留,不代表可见模块或生产内容已启用;恢复入口需要新的明确产品决定。`pnpm run dev` 与 packaged Canvas 均使用云端 V2 适配器,产品 UI 只保留中文。
|
||||
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
# Task: Complete current remote main merge
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260907-complete-current-merge-b61e4a93
|
||||
- Mode: Integration
|
||||
- Branch: main
|
||||
- Worktree: D:\Datas\OthersProjects\makelore
|
||||
- Base commit: 4b894c7e320cdf829888f63f501d176f051be7d7
|
||||
- Owner: codex-root
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Take over the already-started merge of local `main@4b894c7` with fetched
|
||||
`origin/main@918f8f8` after the user's explicit authorization.
|
||||
- Resolve the seven remaining conflicts across AI Design source/tests and canonical
|
||||
project memory, preserving compatible intent from both histories.
|
||||
- Verify the reconciled tree and create the ordinary two-parent merge commit locally.
|
||||
A remote push is not part of this request.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- Preserve the remote Canvas right-side Works rail, central active production plan,
|
||||
stable `@图片N` reference flow, retired Prompt Museum surface, retired Learning
|
||||
module, directory-only project creation, non-blocking `/chat` entry, and Project
|
||||
Configuration-owned Plugin workspace.
|
||||
- Preserve the local Main-normalized, operation-scoped `design.assistant.progress`
|
||||
activity projection alongside the existing single provisional assistant delta.
|
||||
Neither projection may become a conversation, Current Specification, authorization,
|
||||
or chain-of-thought surface.
|
||||
- Resolve semantic conflicts from base/ours/theirs and source-task evidence; do not
|
||||
choose a side mechanically, rewrite history, abort/reset/stash the merge, or alter
|
||||
unrelated user work.
|
||||
- Keep all adopted foreign task records byte-for-byte unchanged. In particular, leave
|
||||
the three pre-existing untracked task records outside this task's commit.
|
||||
- Retain existing external acceptance limits: no production deployment, paid Provider,
|
||||
signed-package, real-account, or publication success is claimed by a local merge.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Reconciled local `main@4b894c7` with fetched `origin/main@918f8f8`; the index now
|
||||
has no unmerged paths and is ready for the ordinary two-parent merge commit.
|
||||
- Combined the remote central Canvas plan, right-side Works rail, plan history,
|
||||
stable reference aliases, and inline Quote flow with the local operation-scoped
|
||||
activity panel. Pending user message, activity, and provisional assistant reply
|
||||
remain one ordered group; completed activity follows its canonical user turn.
|
||||
- Reconciled ADR-007, architecture maps, business rules, and current state around one
|
||||
Current Specification authority. Removed the obsolete required-Agent entry from
|
||||
current state and did not restore Learning or the Prompt Museum Renderer surface.
|
||||
- Preserved the remote directory-only project flow, non-blocking no-Agent chat entry,
|
||||
Project Configuration Plugin sheet, all staged source-task history, and the three
|
||||
pre-existing untracked task records.
|
||||
- No history rewrite, remote push, package, deployment, publication, database change,
|
||||
paid Provider call, or historical user-data mutation was performed.
|
||||
|
||||
## Verification
|
||||
|
||||
- Pinned package manager: `pnpm@10.33.4` confirmed through Corepack.
|
||||
- `pnpm run typecheck` — passed.
|
||||
- Focused Vitest across Image Canvas, Workspace Store/Route/adapter, youth plan, and
|
||||
reference aliases — 6 files / 90 tests passed.
|
||||
- `pnpm run lint:check` — passed with 0 errors and 5 existing warnings in
|
||||
`src/pages/Home/index.tsx` and `src/pages/Makelore/index.tsx`.
|
||||
- `pnpm run build:vite` — Renderer, Electron Main, Preload, and utility worker passed;
|
||||
only existing Browserslist, mixed-import, and chunk-size warnings were emitted.
|
||||
- Targeted Electron E2E across Canvas, retired Learning navigation, Code project
|
||||
identity/navigation, Project Configuration, and Plugin flows — 12/12 passed.
|
||||
- `pnpm test` — 225 files / 1,933 tests passed and 2 skipped; one unchanged test in
|
||||
`pi-agent-server-process-real.test.ts` failed its two-second timing assertion. The
|
||||
test and Pi worker/write-lease/Agent Server blobs are identical in base, both parents,
|
||||
and the merge index. An isolated run completed the functional path in 3.139 seconds
|
||||
but still exceeded the threshold; a later isolated run timed out during slow process
|
||||
startup. The separately skipped pressure test passed 1/1. Full-suite green is not
|
||||
claimed, and no unrelated threshold or Pi code was changed.
|
||||
- Conflict-marker scan, unmerged-path scan, and `git diff --cached --check` — passed.
|
||||
- Required project-document structure and task-aware drift/ownership checks — passed;
|
||||
adopted foreign task-record fingerprints remain intact.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- The existing Pi real-process two-second timing test remains a separate Windows test
|
||||
reliability/performance follow-up; this merge provides no evidence of a Pi code
|
||||
regression and does not change its behavior or threshold.
|
||||
- Push `main` only if the user separately requests publication to `origin`.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- Applied in this integration: ADR-007, module map, system overview, business rules,
|
||||
and current state now describe the combined central-plan/reference layout and
|
||||
operation-scoped transient activity contract. No further promotion is pending.
|
||||
@@ -0,0 +1,64 @@
|
||||
# Task: Integrate AI Design agent activity UI
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260907-integrate-design-agent-activity-b7d3f1a8
|
||||
- Mode: Integration
|
||||
- Branch: codex/20260907-integrate-design-agent-activity-b7d3f1a8-integrate-design-agent-activity
|
||||
- Worktree: D:\Datas\OthersProjects\.codex-worktrees\makelore\20260907-integrate-design-agent-activity-b7d3f1a8
|
||||
- Base commit: da29294979da4ce041edf992b590ee6ea170a44f
|
||||
- Owner: codex-root
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Integrate client source commit `81b524a02c2cf51304090afa8fb89d27c72c5d2b` from exact base `da29294979da4ce041edf992b590ee6ea170a44f`.
|
||||
- Promote the operation-scoped AI Design activity projection into canonical client memory.
|
||||
- Verify Main event normalization, Renderer reconciliation, conversation rendering, and existing Design streaming behavior.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- Render only the server's fixed public lifecycle stages beneath the matching optimistic user message.
|
||||
- Keep `design.assistant.delta` as the single provisional assistant-text stream and the right-side Living Form as the Current Specification projection.
|
||||
- Never render raw chain-of-thought, prompt/provider/tool payloads, or a duplicate global “整理进度” banner.
|
||||
- Preserve stable operation identity and existing unknown-result reconciliation.
|
||||
- Do not touch or adopt unrelated changes in the root worktree.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Fast-forwarded the exact source commit from the recorded base without conflict.
|
||||
- Integrated Main-normalized public Design activity, operation-scoped Renderer
|
||||
reconciliation, terminal-event convergence, and the conversation-attached activity
|
||||
panel while preserving optimistic user messages and canonical assistant replacement.
|
||||
- Fixed two integration-review findings: a later chat no longer erases earlier
|
||||
completed/unknown activity, and each pending operation now renders its user message,
|
||||
activity, and provisional assistant stream as one ordered group.
|
||||
- Promoted the accepted transient-activity boundary into ADR-007, architecture maps,
|
||||
data flow, domain rules, and current integrated state.
|
||||
- No server contract, database, billing, Quote/Task, navigation, package, deployment,
|
||||
publication, or Provider behavior changed.
|
||||
|
||||
## Verification
|
||||
|
||||
- `pnpm exec vitest run tests/unit/image-workspace-store.test.ts
|
||||
tests/unit/image-canvas-page.test.tsx
|
||||
tests/unit/works-square-design-workspace.test.ts
|
||||
tests/unit/image-workspace-route.test.ts` — 69 passed.
|
||||
- `pnpm exec tsc --noEmit` — passed.
|
||||
- Focused ESLint across all eight changed TypeScript/TSX files — passed.
|
||||
- `pnpm run build:vite` — passed; only existing chunk-size, dynamic-import, and
|
||||
stale Browserslist-data warnings were emitted.
|
||||
- `git diff --check` — passed.
|
||||
- Independent integration review — PASS after the two multi-operation findings were
|
||||
fixed and covered.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Add an explicit snapshot/cursor reseed contract for a Gateway `cursor expired`
|
||||
response in a separate transport-resilience task.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- Applied: ADR-007, system overview, module map, data flow, domain rules, and current
|
||||
integrated state now define operation-scoped public activity as transient
|
||||
presentation rather than Design authority or model reasoning.
|
||||
@@ -0,0 +1,63 @@
|
||||
# Task: Land AI Design agent activity UI on main
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260907-land-design-agent-activity-e3b7a1c9
|
||||
- Mode: Integration
|
||||
- Branch: main
|
||||
- Worktree: D:\Datas\OthersProjects\makelore
|
||||
- Base commit: 7bdb42f26c60747fbabf3bb3a00e3df3477a46a3
|
||||
- Owner: codex-root
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Record and verify the root `main` landing of reviewed candidate
|
||||
`7bdb42f26c60747fbabf3bb3a00e3df3477a46a3`.
|
||||
- Promote this root landing task as the current-state integration owner while
|
||||
preserving the retired candidate task record as immutable evidence.
|
||||
- Preserve the three pre-existing untracked task records byte-for-byte and keep them
|
||||
outside this task's commit.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- The candidate was fast-forwarded only after exact branch, ancestry, dirty-path, and
|
||||
fingerprint preflight; do not rewrite its product tree.
|
||||
- Do not reset, stash, clean, stage, or edit unrelated work.
|
||||
- Reuse candidate tests and independent review; run the final root document, drift,
|
||||
ancestry, fingerprint, and status gates that can detect landing-specific failures.
|
||||
|
||||
## Outcome
|
||||
|
||||
- `main` was fast-forwarded from
|
||||
`da29294979da4ce041edf992b590ee6ea170a44f` to the exact reviewed candidate
|
||||
`7bdb42f26c60747fbabf3bb3a00e3df3477a46a3`.
|
||||
- The landed tree contains Main-normalized public Design activity,
|
||||
operation-scoped Renderer reconciliation, terminal convergence, and ordered
|
||||
optimistic-user/activity/provisional-reply groups.
|
||||
- The three adopted task records retained preflight fingerprints
|
||||
`728a9d4a20d4f0c4fee82177807c07e2a207264c`,
|
||||
`2df2c08a55c2670f99588d3511deb1e533a6c97c`, and
|
||||
`0538a686602b1ee7ef907880d65f5cf176b9916f`; they remain excluded from this task.
|
||||
|
||||
## Verification
|
||||
|
||||
- Candidate evidence: 69 focused tests, TypeScript, focused ESLint,
|
||||
`pnpm run build:vite`, and `git diff --check` passed.
|
||||
- Independent client activity integration review: PASS after the two
|
||||
multi-operation findings were fixed and covered.
|
||||
- Final root `check_project_docs.py`, task-aware `check_doc_drift.py`, and
|
||||
`git diff --check` passed. `main` remained at the exact candidate, the candidate is
|
||||
an ancestor, no non-document delta exists, and all three adopted fingerprints
|
||||
remained unchanged.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Add an explicit snapshot/cursor reseed contract for a Gateway `cursor expired`
|
||||
response in a separate transport-resilience task.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- Applied: ADR-007, system overview, module map, data flow, domain rules, and current
|
||||
integrated state define operation-scoped public activity as transient presentation,
|
||||
not Design authority or model reasoning.
|
||||
Reference in New Issue
Block a user