docs: reconcile remote scaffold integration
This commit is contained in:
@@ -4,6 +4,25 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
|
||||
|
||||
## Integrated Through
|
||||
|
||||
- Remote `main` frontier `d642d7607c26dee01ef65b4e70dd756465dea16a`
|
||||
is integrated with local frontier
|
||||
`53f3db3aced61533944eab5e6b3c8c2293f733f8` by the ordinary two-parent merge
|
||||
`a2cb07fedcf22bb14141a27cee2218c149b8c63e` under task
|
||||
`20260905-integrate-remote-main-b83d6f`. The remote ADR-008 interactive AI
|
||||
application type, bundled `makelore.project-scaffold` Skill, and bundled-delivery
|
||||
status correction are retained alongside the local Learning removal: the product
|
||||
still exposes only Code, Canvas, and Robot. Three canonical-document conflicts were
|
||||
reconciled semantically, the application tree merged without content conflicts,
|
||||
and README now describes minimal project creation plus explicit scaffold execution.
|
||||
Verification passed 228 focused Vitest tests, the 12-test scaffold suite with the
|
||||
canonical macOS temporary path, typecheck, 1,859 full-suite tests with 3 conditional
|
||||
skips plus pressure 1/1, production build, and targeted Electron 1/1. Lint reported
|
||||
0 errors and 12 existing warnings. The default macOS `/var` temporary-path alias
|
||||
still makes two copied-script scaffold tests exit before emitting JSON; the same
|
||||
tests pass through the canonical `/private/var` path and remain a harness/path
|
||||
portability follow-up. The two remote task records stay intact in remote parent
|
||||
`d642d76` rather than being copied into this integration result. No push, package,
|
||||
deployment, publication, or production database change was made.
|
||||
- Remote `main` frontier `336e0bb0caf24537b7b0f350aba3e04a37f5544c`
|
||||
is integrated with local frontier
|
||||
`2d3c103bac83fccffb15b760a6e79912c352541a` by the ordinary two-parent merge
|
||||
@@ -825,4 +844,4 @@ Robot 绑定设备默认先显示“引导配网 / 已有激活码”路径选
|
||||
|
||||
## Last Updated
|
||||
|
||||
2026-09-04
|
||||
2026-09-05
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
# Task: Land official project scaffold plugin on main
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260904-project-scaffold-main-merge-e7b4c291
|
||||
- Mode: Integration
|
||||
- Branch: main
|
||||
- Worktree: D:\Datas\OthersProjects\makelore
|
||||
- Base commit: 336e0bb0caf24537b7b0f350aba3e04a37f5544c
|
||||
- Owner: codex
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Fast-forward the verified integration commit `b92e7ba5bbde186626d93787ca358fbf4c2523a3` onto local `main`.
|
||||
- Record final default-branch landing evidence while preserving the three explicitly adopted historical task documents unchanged and uncommitted.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- Preserve the accepted official bundled-plugin boundary: only the fixed code-owned resource root may execute `scaffold.mjs`; downloadable Marketplace artifacts continue to reject scripts.
|
||||
- Preserve normal ancestry and do not package, publish, deploy, push, or alter the adopted historical task documents.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Fast-forwarded local `main` from `336e0bb0caf24537b7b0f350aba3e04a37f5544c` to verified integration head `b92e7ba5bbde186626d93787ca358fbf4c2523a3`.
|
||||
- Local `main` now contains the unified `interactive_ai_app` type and the official bundled Marketplace Plugin `makelore.project-scaffold`, including its Skill, templates, publication guidance, and `scaffold.mjs`.
|
||||
- Preserved the three explicitly adopted historical task documents byte-for-byte and left them uncommitted.
|
||||
- Excluded the completed source integration task record from the final default-branch tree; it remains reachable on its preserved source branch and commit.
|
||||
|
||||
## Verification
|
||||
|
||||
- The fast-forward completed without conflicts and `b92e7ba5bbde186626d93787ca358fbf4c2523a3` is an ancestor of local `main`.
|
||||
- The exact landed integration head had already passed Plugin and Skill validators, 88 focused Vitest tests, 12 scaffold Node tests, TypeScript typecheck, Git whitespace checks, and project-document gates.
|
||||
- The task-aware drift check passed while confirming all adopted historical documents remained unchanged.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Packaging, installed-client smoke, live Marketplace publication, deployment, and remote push remain separate authorized operations.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None. This task landed the already accepted and verified integration result.
|
||||
@@ -0,0 +1,91 @@
|
||||
# Task: Integrate remote main into local main
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260905-integrate-remote-main-b83d6f
|
||||
- Mode: Integration
|
||||
- Branch: main
|
||||
- Worktree: /Users/inmanx/Documents/makelore
|
||||
- Base commit: 53f3db3aced61533944eab5e6b3c8c2293f733f8
|
||||
- Owner: codex
|
||||
- Status: Transferred to Final Integration Gate
|
||||
|
||||
## Scope
|
||||
|
||||
- Merge fetched `origin/main@d642d76` into local `main@53f3db3` with a normal
|
||||
two-parent merge and preserve both histories.
|
||||
- Reconcile overlapping product and canonical documentation so the official
|
||||
Project Scaffold plugin coexists with the locally integrated Learning removal.
|
||||
- Verify ancestry, repository integrity, and focused behavior affected by any
|
||||
conflict resolutions.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- Hold the Integration Gate lock for the complete merge and documentation
|
||||
reconciliation.
|
||||
- Do not rebase, reset, force-push, stash, discard local commits, or publish the
|
||||
result remotely.
|
||||
- Preserve the product boundary of Code, Canvas, and Robot only; do not restore
|
||||
Learning routes, APIs, assets, or packaging paths.
|
||||
- Accept ADR-008's already-reviewed `interactive_ai_app` and bundled official
|
||||
Scaffold Skill boundary while retaining Main-owned build/release authority.
|
||||
- Resolve semantic conflicts from source task outcomes and accepted decisions;
|
||||
do not choose whole-file `ours` or `theirs` for canonical documents.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Created ordinary two-parent merge
|
||||
`a2cb07fedcf22bb14141a27cee2218c149b8c63e` with parents local
|
||||
`53f3db3aced61533944eab5e6b3c8c2293f733f8` and remote
|
||||
`d642d7607c26dee01ef65b4e70dd756465dea16a`; neither history was rewritten.
|
||||
- Resolved the only three conflicts in `data-flow.md`, `system-overview.md`, and
|
||||
`current-state.md`. The resulting canonical state keeps the three-module
|
||||
Code/Canvas/Robot access projection and complete Learning removal while adopting
|
||||
ADR-008, `interactive_ai_app`, the explicit bundled Project Scaffold Skill, and
|
||||
its device-status correction.
|
||||
- Application code, including the shared Sidebar, merged automatically without
|
||||
conflict. Confirmed that no Learning implementation path was restored.
|
||||
- Updated README to replace the obsolete automatic小游戏/小程序 template description
|
||||
with minimal project creation, historical alias normalization, explicit scaffold
|
||||
execution, and the code-owned bundled-script exception.
|
||||
- Kept the two imported remote task records read-only and excluded them from the
|
||||
resulting default-branch tree; both remain intact in remote parent `d642d76` and
|
||||
its history, while their accepted outcomes are recorded in canonical current state.
|
||||
- Local `main` is now 8 commits ahead and 0 behind `origin/main`. No push, package,
|
||||
deployment, publication, or production database mutation was performed.
|
||||
|
||||
## Verification
|
||||
|
||||
- `git show -s --format='%H %P' a2cb07f` confirms the expected two parents, and
|
||||
`git rev-list --left-right --count main...origin/main` returned `8 0` immediately
|
||||
after the merge.
|
||||
- Focused Vitest: 14 files, 228 tests passed.
|
||||
- Scaffold Node tests: the default macOS `/var` temporary alias produced 10/12 with
|
||||
two empty-output copied-script failures; rerunning through the canonical
|
||||
`/private/var` temporary directory passed 12/12. The alias difference was confirmed
|
||||
with `fs.realpathSync(os.tmpdir())` and did not require product-code conflict repair.
|
||||
- `pnpm run typecheck` passed using pinned pnpm `10.33.4`.
|
||||
- Full `pnpm test` passed 1,859 tests with 3 conditional skips, then pressure 1/1.
|
||||
- `pnpm run lint:check` completed with 0 errors and 12 existing warnings.
|
||||
- `pnpm run build:vite` completed all Renderer, Main, Preload, and utility builds.
|
||||
- Targeted Electron E2E `project-configuration-skills.spec.ts` passed 1/1.
|
||||
- Git whitespace and unresolved-conflict checks passed before the merge commit.
|
||||
- The first task-aware drift check correctly blocked on the two task records imported
|
||||
by the merge commit. It did not identify an authored mutation to either record;
|
||||
final gate closure is transferred to a fresh Integration task whose base contains
|
||||
the merged and reconciled history.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Harden the scaffold CLI main-module check or its macOS test fixture so scripts
|
||||
invoked through the `/var` alias match Node's canonical `/private/var` module URL;
|
||||
this is not changed incidentally by repository synchronization.
|
||||
- Deploy the matching Works Square server and migrate through
|
||||
`20260904_project_scaffold_0085` before claiming production Marketplace availability.
|
||||
- Close the project-document ownership check from fresh Integration task
|
||||
`20260905-finalize-pull-integration-c49a71` based on the reconciled merge result.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None. This Integration Gate applies the accepted ADR-008 and source-task outcomes
|
||||
directly to canonical project memory.
|
||||
@@ -1,60 +0,0 @@
|
||||
# Task: Integrate bundled official Plugin device-status fix
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260905-plugin-bundled-status-integration-8f2c5a41
|
||||
- Mode: Integration
|
||||
- Branch: main
|
||||
- Worktree: D:\Datas\OthersProjects\makelore
|
||||
- Base commit: 9ed9bf4a715e300420e7a764a4cf576a6dfc4938
|
||||
- Owner: codex-root
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Integrate feature commit `6bd9287c879dca93da11e17533f84e3535fc656a`
|
||||
onto local `main` from its exact parent `9ed9bf4a715e300420e7a764a4cf576a6dfc4938`.
|
||||
- Reconcile the source outcome into current state and remove only the duplicate source
|
||||
task record from the default-branch checkpoint.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- Concurrent Task Gate: Passed after releasing the completed prior integration lock and
|
||||
claiming this exact root/main worktree in Integration mode.
|
||||
- Planning Gate: Passed after reading the source task outcome, ADR-008, current Plugin
|
||||
architecture/business rules, current state, and the prior scaffold landing record.
|
||||
- Preserve the three explicitly adopted historical task records byte-for-byte and
|
||||
uncommitted; do not stash, reset, clean, move, or delete them.
|
||||
- Preserve the accepted boundary: Project Scaffold ships in the signed client, has no
|
||||
device download action, and still requires server-authoritative free account
|
||||
acquisition before project enablement.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Cherry-picked feature source `6bd9287c879dca93da11e17533f84e3535fc656a`
|
||||
onto local `main` as product commit `6d102b2` without conflict.
|
||||
- Removed only the duplicate source task record from the default-branch documentation
|
||||
checkpoint; it remains intact on the source branch and commit.
|
||||
- Updated current state with the accepted presentation correction and the separate
|
||||
production server deployment/migration requirement.
|
||||
- Preserved all three adopted historical task records byte-for-byte and uncommitted.
|
||||
|
||||
## Verification
|
||||
|
||||
- Source evidence: focused Plugin page/model 35 passed; typecheck and scoped ESLint
|
||||
passed; all Vite targets passed; isolated Pi timing rerun 6/6 and pressure 1/1 passed.
|
||||
- Source commit and landed product commit have the exact same tree
|
||||
`1976d2f27f239dead6d26f99131182c7c657a9db`.
|
||||
- Root replay was not claimed because the root checkout has no installed Vitest or
|
||||
TypeScript executables; no dependency mutation was performed there.
|
||||
- Local server evidence remains separate: Project Scaffold Marketplace tests 2/2 and
|
||||
sole migration head `20260904_project_scaffold_0085`.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Deploy the current Works Square server and migrate production through 0085 so the
|
||||
public catalog can authorize and expose `免费获取`.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None recorded.
|
||||
@@ -10,7 +10,7 @@ Makelore 是一个面向软件、视觉创作与智能机器人的 AI 桌面工
|
||||
|
||||
应用启动默认进入 AI 模块入口选择页。入口页可在未登录状态浏览;未登录用户点击已开通模块时进入客户端原生登录页,可使用账号密码或手机号短信验证码登录。密码登录可选“记住密码”:正式安装包仅由 Electron Main 使用系统受保护凭据存储加密保存和回填账号密码,不写入 Renderer 持久状态,未打包开发版或系统安全存储不可用时禁用该选项。登录请求由 Renderer 经 Host API 交给 Electron Main,再由 Main 调用 Works Square;成功后回到入口选择页。已登录时,Electron Main 会从 Works Square `/api/auth/me` 读取当前账号,只向 Renderer 投影用户名、账号/租户/部门标识、权限名列表与三个模块布尔开关,不透传上游资料或凭据。工作区门禁同时要求有效 Token 和完整用户身份;旧状态缺失身份时会先尝试从 Main 恢复,仍无法确认则清除残留会话并返回登录页。被管理员关闭的模块会在入口页置灰且无法点击,直接访问其工作区路径也会返回入口页。旧服务端未返回策略或缺少单项字段时默认开放;这个客户端门禁不替代服务端 API 授权。
|
||||
|
||||
作品广场、素材广场、独立发布上传和云部署页面不属于 Makelore 2.0 工作台。新建项目可选择“小游戏”“小程序”或“自定义项目”:小游戏和小程序会创建完整的平台发布模板,项目配置底部提供“一键提交审核”;Main 自动预检、安全打包并提交,构建通过后进入运营审核,审核通过即直接发布。首次创建必须选择 PNG、JPEG 或 WebP 项目封面,并通过 Main-owned multipart 原子接口同时保存资料与封面;已有 draft/published 只提交新版本并沿用平台现有资料与封面。自定义项目只创建工作空间,不配置默认发布方式。项目成果预览 `/deliverables` 继续保留。
|
||||
作品广场、素材广场、独立发布上传和云部署页面不属于 Makelore 2.0 工作台。新建项目可选择“交互式 AI 应用”或“自定义项目”,创建服务只生成 `.makelore/project.json` 与 `knowledge/`;历史 `mini_game` / `mini_program` 配置在读取时归一为交互式 AI 应用,但不会因读取被改写。用户获取、启用并为智能体分配官方 bundled `makelore.project-scaffold` 插件后,可明确调用 `makelore-project-scaffold` Skill,以不覆盖既有路径的方式生成固定六文件 Vite 起步工程;该 Skill 不安装依赖、不联网、不构建、不上传或提审。交互式 AI 应用的项目配置底部提供“一键提交审核”;Main 自动预检、安全打包并提交,构建通过后进入运营审核,审核通过即直接发布。首次创建必须选择 PNG、JPEG 或 WebP 项目封面,并通过 Main-owned multipart 原子接口同时保存资料与封面;已有 draft/published 只提交新版本并沿用平台现有资料与封面。自定义项目只创建工作空间,不配置默认发布方式。项目成果预览 `/deliverables` 继续保留。
|
||||
|
||||
## 当前产品状态
|
||||
|
||||
@@ -29,7 +29,7 @@ Makelore 是一个面向软件、视觉创作与智能机器人的 AI 桌面工
|
||||
- AI 绘画健壮性:Renderer 为每次命令生成稳定 operation id,网络结果未知时保留原命令供原样重试,不把未知写入当失败或创建第二次生成。Main 负责 Token 刷新、Agent Gateway REST 提交和有界 Run 查询,并将可恢复事件流投影为 Host API SSE;断线后按事件游标续接并重新读取权威 Workspace。Canvas 只使用 Works Square 云端 V2 契约,没有本地语义适配器或降级路径,上游不可用时明确报错。
|
||||
- AI 绘画项目栏只展示 Workspace,不再在项目下创建独立设计会话。删除时必须完整输入项目名称;删除后项目、Living Form、任务、参考图和生成作品会从账户中隐藏且无法访问,不影响用户已另存到磁盘的副本。删除当前项目后自动打开最近更新的剩余项目,删除最后一个项目后进入空状态。
|
||||
- 插件工作台:Code 侧栏只有一个“插件”入口,`/plugins` 在同一列表中投影官方目录、账号 Library、本机 Device Packages 与当前项目状态;旧 Marketplace、My Plugins、Project Plugins URL 只做确定性筛选重定向。来源身份保持 `official:`、`local:`、`retained:` 分离;“免费获取”、官方设备交付、项目启用和伙伴分配仍分别写入既有 authority,不会自动推进下一步。任一来源失败不会清空其他来源;本机 Skill/Pi 插件仍只能通过对话安装,页面只管理已安装包并明确其本机全局生效范围。
|
||||
- 官方插件运行架构:Renderer 只调用 Main-owned Marketplace facade;Main 负责账号、请求 deadline、签名/摘要校验、不可变 Release、current selection 与原子回滚。Pi parent worker 使用冻结的 effective snapshot,将每个有效 Skill 与已验证 Package Store root 成对传给 resource loader、Extension Host 和 CLI;`skill_only` 不依赖运行时 Policy,也不执行分发包中的任意代码。正式激活仍等待官方 Ed25519 公钥(production key activation HOLD);生产私钥只能来自部署 secret,测试使用注入的临时密钥。
|
||||
- 官方插件运行架构:Renderer 只调用 Main-owned Marketplace facade;Main 负责账号、请求 deadline、签名/摘要校验、不可变 Release、current selection 与原子回滚。Pi parent worker 使用冻结的 effective snapshot,将每个有效 Skill 与已验证 Package Store root 成对传给 resource loader、Extension Host 和 CLI;普通 `skill_only` 下载包不依赖运行时 Policy,也不得携带可执行脚本。Project Scaffold 的 `.mjs` 是代码所有的 bundled 例外,只能从签名客户端固定资源根通过应用自带 Node 执行,不能扩展为 Marketplace 下载 artifact 的脚本权限。正式激活仍等待官方 Ed25519 公钥(production key activation HOLD);生产私钥只能来自部署 secret,测试使用注入的临时密钥。
|
||||
- 原生 Web Search 是冻结 selected model/provider/credential 的 parent-only 模型工具;只有 Works `model_capabilities` 明确声明支持时才出现,使用当前模型的正常计费链,不依赖 Marketplace 获取、Release、Admission、Hosted Provider 或 `agent_browser` 回退。
|
||||
- 本机 Device Packages 只由 Conversation 工具发起安装,支持 npm、Git、绝对本地 Plugin 目录和 loose `SKILL.md`。Main 在预览和独立确认后提交不可变本机 generation,禁用生命周期脚本;确认界面明确提示 Pi extension 以桌面当前用户权限执行。新建/空闲 parent 会同时加载所有显式安装且当前启用的 Skill,以及必需 Makelore 扩展之外的全部 Pi extension,active parent 在 turn settled 后切换,child 不继承这些资源,也不会扫描 ambient 项目或用户目录;Renderer 不提供安装源选择器。
|
||||
- 提示词博物馆:只陈列经过审核的作品预览、Prompt、分类以及作者/来源/许可证信息,支持搜索、使用场景/风格/主体筛选和详情抽屉;“使用此 Prompt”只把原文带回当前 Canvas 对话草稿,不自动发送、不构成社区。列表和详情数据由服务端提供,客户端不打包数据集;服务端字段契约见 [`docs/prompt-museum-server-contract.md`](docs/prompt-museum-server-contract.md)。
|
||||
|
||||
Reference in New Issue
Block a user