docs: record automatic game resource delivery
This commit is contained in:
@@ -4,6 +4,24 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
|
||||
|
||||
## Integrated Through
|
||||
|
||||
- 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`
|
||||
@@ -677,7 +695,7 @@ Canvas 侧栏提供“获取灵感”进入 Prompt Museum。列表、筛选、
|
||||
|
||||
Makelore 在会话恢复、登录和刷新后由 Electron Main 请求 Works `/api/auth/me`,Renderer 只获得 Code、Canvas、Learning、Robot 四个布尔权限。缺失 `module_access` 或任一字段时默认开启;服务端 `design` 显式映射客户端 `painting`。被关闭的模块卡片置灰且不可点击,根路由、深层路由和别名路由均在 `MainLayout` 或模块初始化前阻断。Code provider 等待认证权限加载完成;权限查询返回终止性 `401` 时同时清理 Main 和 Renderer 会话。`/settings` 是全局设置,不受 Code 入口策略阻断。该机制只是客户端入口策略,不代替服务端 API 授权。
|
||||
|
||||
插件在编程侧栏只有一个“插件”入口,`/plugins` 是唯一产品页面,并以统一列表投影 Marketplace、账号 Library、官方设备状态、本机 Device Packages、当前项目状态与 retained IDs;旧 `/plugin-marketplace`、`/my-plugins` 与 `/project-plugins` 路由只做确定性筛选重定向。获取、设备安装、项目启用、Agent Skill 分配、运行授权和计费仍是独立生命周期,不因界面统一而自动推进;原生 selected-model Web Search 不进入插件列表。
|
||||
插件在编程侧栏只有一个“插件”入口,`/plugins` 是唯一产品页面,并以统一列表投影 Marketplace、账号 Library、官方设备状态、本机 Device Packages、当前项目状态与 retained IDs;旧 `/plugin-marketplace`、`/my-plugins` 与 `/project-plugins` 路由只做确定性筛选重定向。获取、设备安装、项目启用、Agent Skill 分配、运行授权和计费仍是独立生命周期,不因界面统一而自动推进;原生 selected-model Web Search 不进入插件列表。Game Resource 在一次计费确认后由 Main 提交一次并内部轮询,终态全部输出自动写入调用时冻结的原项目;Agent 不再轮询状态、选择保存路径或进行第二次保存确认,交付恢复也不得重新生成或重复计费。
|
||||
|
||||
AI 学习现在是已启用的运营精选项目目录,并继续受登录和 `module_access.learning` 控制。Renderer 通过 Main-owned Host API 获取分页项目卡片和 README 详情;Markdown 支持 GFM、禁用原始 HTML。服务端发布时只校验图片 URL 为无凭据、默认端口、无 fragment 且当前 DNS 结果全部为公网地址的 HTTPS URL,保留地址而不下载、识别格式、转码或镜像;客户端仅为 README 图片节点启用直连,因此 SVG 和 Electron 支持的其他格式可直接显示,单图失败不阻断详情。封面和历史发布媒体继续走受控路径。详情页的下载按钮打开系统保存对话框;Main 将 ZIP 流式写入临时文件,只允许最多五跳同 Works origin 重定向,不校验 `Content-Length`、`archiveBytes`、实际流字节数或客户端大小上限,校验 SHA-256 和 ZIP 签名后原子保存,Renderer 只接收 `saved` 或 `cancelled`。课程生成、进度、本地课程库、OpenMAIC player、Agent、ASR、课堂 runtime、Learning IPC 和 player artifact 打包已删除且没有兼容读取路径;历史课程数据保留但不再读取。服务端和客户端源码契约已完成,不代表生产部署或真实账号安装包联调已经完成。
|
||||
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
# Task: Integrate automatic Game Resource delivery
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260906-game-resource-auto-delivery-integration-8c4e1a72
|
||||
- Mode: Integration
|
||||
- Branch: codex/20260906-game-resource-auto-delivery-integration-8c4e1a72-game-resource-auto-delivery-integration
|
||||
- Worktree: D:\Datas\OthersProjects\.codex-worktrees\makelore\20260906-game-resource-auto-delivery-integration-8c4e1a72
|
||||
- Base commit: f721966f3c8db982279e34033b94b4347f0a8174
|
||||
- Owner: codex-root
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Integrate source commit `6113a2453299141eab8420a56e93675712dd607b`
|
||||
from feature task `20260906-game-resource-auto-delivery-7a4e2c91` onto the
|
||||
current local `main` frontier.
|
||||
- Preserve the source product and test patch unchanged, reconcile its promotion
|
||||
candidates into canonical project memory, and verify the resulting integrated
|
||||
tree at the affected Game Resource/Main/Pi/Plugin boundaries.
|
||||
- Advance only local `main`; do not push, publish, deploy, install a client, or
|
||||
execute a paid Provider generation.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- The accepted product behavior is one confirmed Game Resource operation owned by
|
||||
Electron Main: submit once, poll internally, save every output into the frozen
|
||||
original project, and resume local delivery without a second Provider submission
|
||||
or Token Point charge.
|
||||
- Provider execution and local delivery remain separate states. Electron Main keeps
|
||||
filesystem, Works credentials, Provider, billing, retry, receipt, and write-lease
|
||||
authority; Renderer, Pi, Skill, and model gain none of those authorities.
|
||||
- Preserve ADR-006's single Pi runtime, frozen parent worker, no-replay mutation,
|
||||
background ownership, and shared project-write-lease rules, plus ADR-008's
|
||||
project-wide Game Resource activation and child-empty behavior.
|
||||
- Apply the source with `git cherry-pick --no-commit`, register its task record as
|
||||
an unchanged adopted foreign document before committing, and never edit the source
|
||||
task record in this Integration task.
|
||||
- The user root worktree has three pre-existing untracked task records. They remain
|
||||
unowned and untouched; all integration work stays in this isolated worktree.
|
||||
- Concurrent Task Gate: Passed. The exact integration task identity, branch,
|
||||
worktree, base, and exclusive integration lock match task-context state.
|
||||
- Planning Gate: Passed after reading the required project memory, ADR-006, ADR-008,
|
||||
the source task outcome and promotion candidate, the relevant reflection, and all
|
||||
planning peer scopes. Historical placeholder peer scopes are unknown coordination
|
||||
state but provide no evidenced semantic conflict with this exact source integration.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Integrated source `6113a2453299141eab8420a56e93675712dd607b` as
|
||||
product commit `4df4bc96245c01cd95e35ddf1b2b03d0e0d231c5`; both commits
|
||||
resolve to tree `de2d63d6be23ca018742d3e7cbb2322a32014e3c`.
|
||||
- The accepted one-confirmation flow is present on the integrated tree: Electron Main
|
||||
submits generation once, polls internally, downloads all terminal outputs, writes
|
||||
deterministic create-only files beneath the frozen original project, and persists
|
||||
delivery state outside the project so local recovery cannot submit or charge again.
|
||||
- One shared project write-lease coordinator is used by Pi writes and Game Resource
|
||||
materialization; the delivery coordinator holds it only for the terminal write/change
|
||||
tracking phase. The generated Pi bridge is version 6 and emits one progress/result
|
||||
card. Agent-facing status and save tools plus the second save confirmation are absent.
|
||||
- Promoted the source task's durable decision into ADR-008, current state, system
|
||||
overview, module map, data flow, business rules, success criteria, and evidence.
|
||||
The adopted source task record remains byte-for-byte unchanged.
|
||||
- No server, Provider, Marketplace policy, price, Admission, or billing contract changed.
|
||||
No live paid Provider request, build installation, deployment, publication, push, or
|
||||
remote main mutation was performed.
|
||||
|
||||
## Verification
|
||||
|
||||
- Before the product commit, the adopted foreign task record matched the source worktree
|
||||
byte-for-byte (`7,672` bytes), and `git diff --cached --check` passed.
|
||||
- Source/product tree equality passed with exact tree
|
||||
`de2d63d6be23ca018742d3e7cbb2322a32014e3c`.
|
||||
- Integrated-tree focused regression: 14 files / 101 tests passed, covering the delivery
|
||||
coordinator, client/adapter, Registry/manifest, Pi extension/release/product seams,
|
||||
composition, artifact projection, and conversation timeline.
|
||||
- Integrated-tree `corepack pnpm run typecheck` passed.
|
||||
- Adopted source evidence remains valid for the identical product tree: 13 files / 99
|
||||
focused tests; 227 files / 1,901 full unit tests / 2 skips plus pressure 1/1; lint with
|
||||
0 errors / 5 unchanged warnings; all Vite targets; Windows Electron 8/8; unified Plugin
|
||||
E2E 3/3; and Windows x64 Pi runtime staging.
|
||||
- Dependency restoration used the committed lockfile in offline, frozen,
|
||||
`--ignore-scripts` mode and changed no tracked product file.
|
||||
- Final project-document, drift, task-context, diff, clean-tree, exact-root-untracked-file,
|
||||
local-main fast-forward, and task-retirement checks are completed at closeout.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Rebuild and install MakeLore from the new local `main`, then run one explicitly
|
||||
authorized live Game Resource generation to confirm the progress card and all output
|
||||
files in a real project. The current integration intentionally does not incur a paid
|
||||
Provider call or replace the installed client.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- Promoted in this Integration Gate; no unresolved candidate remains.
|
||||
Reference in New Issue
Block a user