lhk229
|
21da0c8380
|
Merge remote-tracking branch 'web/master' into feat/pixel_art2
Project CI / Repository checks (pull_request) Failing after 11s
Project CI / Native shell tests (pull_request) Failing after 2m45s
Project CI / Backend tests (pull_request) Failing after 7s
Project CI / Frontend tests (pull_request) Failing after 21s
# Conflicts:
# .codex/skills/genarrative-external-editor-api/SKILL.md
# .codex/skills/genarrative-external-editor-api/references/api-selection.md
# docs/project-memory/shared-memory/decision-log.md
|
2026-08-03 07:47:17 +00:00 |
|
lhk229
|
3f6a8e7a0c
|
补测完美像素并发闸竞争路径与 snapper 错误分档
Project CI / Backend tests (pull_request) Failing after 13s
Project CI / Repository checks (pull_request) Failing after 13s
Project CI / Frontend tests (pull_request) Failing after 24s
Project CI / Native shell tests (pull_request) Failing after 3m4s
并发闸的三条竞争路径此前零测试,retry-after 在整个 crate 里只出现在生产代码
一处;snapper 四档状态码只有 GridNotDetected 被间接覆盖。
不去打满全局信号量或队列计数——两者都是进程级 static,填满会让并行跑的其他
用例连带失败,正是刚修掉的那类竞态。改为把三条路径的错误抽成构造函数直接断言
状态码、文案与 retry-after 头;路径与构造函数的对应由既有顺序守卫钉住,CAS
边界本来就有本地计数器用例覆盖。
这样覆盖的是错误形状与分档,不是端到端竞争行为;后者需要把限流器与队列计数
改成依赖注入,改动面超出补测本身,未做。
删掉 retry-after 或把 Decode 改判 500,两条新用例分别精确变红。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-03 07:28:07 +00:00 |
|
kdletters
|
cf0864c956
|
合并远端master更新
Project CI / Frontend tests (push) Failing after 24s
Project CI / Repository checks (push) Successful in 1m13s
Project CI / Native shell tests (push) Failing after 3m39s
Project CI / Backend tests (push) Successful in 3m56s
合并远端Issue 115、118、127和128修复
保留移动端创作工具门禁与本地既有提交
# Conflicts:
# docs/project-memory/shared-memory/pitfalls.md
|
2026-08-03 15:14:31 +08:00 |
|
lhk229
|
cf397644c7
|
完美像素持久化阶段纳入预算,服务端最坏时长收进客户端超时
处理预算只覆盖到规整为止,持久化阶段无界,仅受 OSS 客户端每请求 120 秒约束,
PUT 与 HEAD 各自独立计时,再加三次无超时 SpacetimeDB 调用,服务端最坏合法时长
超过 270 秒,远大于客户端 120 秒。客户端因此会在服务端仍在合法工作时 abort,
对账采样到仍在途的操作——占位还在、素材库还空,用户照提示核对什么也看不到,
重试就造出孤儿 OSS 对象。
给持久化整段套独立预算 60 秒,服务端最坏 30 + 60 = 90 秒,落在客户端 120 秒内
留 30 秒余量。独立起算而不与处理预算取 min:持久化已付出 OSS PUT 的代价,因
下载慢被砍预算、中途放弃只会留下孤儿,取 min 方向正好反了。
超时发生在 PUT 之后,对象可能已落盘,必须带 resultPersistenceStarted;handler
内该标记计数由 4 升为 5,由既有守卫自己报出。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-03 06:13:16 +00:00 |
|
kdletters
|
6fe646ba2b
|
修复开放Issue 115、118、127和128
Project CI / Frontend tests (push) Failing after 21s
Project CI / Repository checks (push) Successful in 58s
Project CI / Native shell tests (push) Failing after 3m7s
Project CI / Backend tests (push) Successful in 3m33s
补齐Anthropic strict能力门控、传输schema、缓存usage和真实端点验收
隔离可选MCP服务目录失败并安全重定位局部schema引用
修复PowerShell 7环境下Windows私有ACL检查
统一角色与图标素材落库的用户prompt语义
合并权威画布快照与本地待保存或在途布局并补齐回归
同步更新技术文档、项目记忆和验证门禁
|
2026-08-03 14:03:20 +08:00 |
|
lhk229
|
c276810bff
|
完美像素审查第一批:补齐持久化标记、失败反馈与测试竞态
A1 持久化标记漏洞。snap_editor_image_to_pixel_art 对
persist_editor_generated_image_owned 用裸 ?,而该 helper 内部是
PUT → HEAD → confirm_asset_object。后两步失败时 OSS 对象已存在,错误却不带
resultPersistenceStarted,客户端 outcomeMayBePersisted 为假、对账不执行,
重试会用新 task_id 造出无从发现的孤儿对象。标记加在 helper 内部而非调用点,
边界取第一次 PUT:prepare_put_object 与 OSS 未配置都在 PUT 之前,标了是反向
谎报;PUT 自身要标,响应丢失时字节可能已落盘。
A3 失败反馈第三态。catch 尾部缺「有 dialogId 但占位已被删」分支,而删除生成中
占位是产品支持的流程。用户删完后请求才失败时 errorMessage 被整段丢弃,界面零
反馈,连对账得出的「请确认素材库」也一并丢失。
E1 测试并行竞态。对进程级队列深度做绝对断言,与相邻持有 guard 的用例并行时
随机变红,改为相对断言;同时更正该用例注释——它覆盖的是预算预检先于入队,
不是 guard 归还。
两条修复均先回退生产代码确认测试变红再恢复。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-03 05:33:09 +00:00 |
|
lhk229
|
5d86b91f14
|
Merge remote-tracking branch 'web/master' into feat/pixel_art2
Project CI / Frontend tests (pull_request) Failing after 34s
Project CI / Repository checks (pull_request) Successful in 1m59s
Project CI / Native shell tests (pull_request) Failing after 4m10s
Project CI / Backend tests (pull_request) Successful in 4m20s
# Conflicts:
# docs/project-memory/shared-memory/decision-log.md
|
2026-08-03 04:11:18 +00:00 |
|
kdletters
|
d1a657b5d2
|
为未鉴权MCP返回接入引导
保持401与Bearer挑战并提供机器可读的Key配置步骤
统一缺失格式错误和无效Key响应以避免凭据枚举
保留请求元信息并同步OpenAPI集成清单与架构文档
补充鉴权脱敏契约测试并完成本地dev栈验证
|
2026-08-03 12:03:50 +08:00 |
|
kdletters
|
6a02c7fb38
|
合并外部API MCP与异步生成能力
基于最新master接入托管式Streamable HTTP MCP并复用External API Key鉴权
统一External v1生成任务的幂等异步提交与状态查询
同步完整Skill资源、OpenAPI契约、AI游戏客户端与Worker适配
保留game-chat生命周期与首轮调度约定并完成重基验证
|
2026-08-03 11:47:20 +08:00 |
|
kdletters
|
38c43b708a
|
优化游戏聊天生命周期与首轮调度
Project CI / Repository checks (push) Successful in 1m8s
Project CI / Frontend tests (push) Failing after 2m8s
Project CI / Native shell tests (push) Failing after 3m28s
Project CI / Backend tests (push) Successful in 3m42s
新增受控 Tauri 开发启动器并在启动失败或终端退出时收束客户端进程树
修复 game-chat source hydration 与专业 Agent 已提交回复的持久可见性
统一正式任务图和 game-chat 首轮只激活策划美术程序三个 Director
限制显式首批协作合同提前激活底层 Agent 或 isolated child
同步六任务进度投影、共享契约、回归测试与项目文档
|
2026-08-03 11:41:59 +08:00 |
|
kdletters
|
c00dd099e3
|
扩展MCP的完整Skill资源
拆分外部编辑器Skill为四篇渐进式参考文档
MCP资源列表支持逐篇发现和读取Skill内容
Skill归档和manifest同步七文件清单及SHA校验
同步OpenAPI、架构文档和项目决策记录
|
2026-08-03 09:59:00 +08:00 |
|
lhk229
|
43a4e7ef78
|
完美像素持久化阶段由服务端显式告知客户端
Project CI / Frontend tests (pull_request) Failing after 22s
Project CI / Repository checks (pull_request) Failing after 55s
Project CI / Backend tests (pull_request) Successful in 3m18s
Project CI / Native shell tests (pull_request) Failing after 7m37s
上一版用 error instanceof ApiClientError 判定「结果已知」,即「服务端响应过就等于
没落库」。这个等式不成立:持久化非事务,complete_editor_canvas_generation 走 CAS
写入,冲突时经 map_editor_project_error 变成 409,403/404/400 同理。带响应的 4xx
同样可能发生在 OSS 对象、asset object、project resource 和账号素材全部落库之后。
完美像素要跑满 30 秒,用户在这期间改画布推进 revision 并不罕见。
否决了两个替代方案:所有 POST 后失败都当未知(每次常见校验失败多两次读取,且给
不可能产生素材的场景附上「请核对素材库」的不适用提示);按状态码分类(409 确实只
来自写操作,但 403/404 和 5xx 在持久化前后都会出现,等于把猜测写进代码)。
改为服务端显式告知。AppError 新增 with_detail_field,在已有 details 上补字段而不是
整体替换,保留下游写入的 provider/message。snap_editor_image_to_pixel_art 在第一次
OSS PUT 之后的四条失败路径置 resultPersistenceStarted。客户端只对完全无响应和带该
标记的失败做对账。
配套:对账成功分支补上 hasCanvasGenerationDialogById 检查——权威快照里占位消失也
可能是用户删的,契约要求此时不应用快照不写历史,成功路径早有这道检查而对账路径漏了。
对账同时刷新素材库,否则只 GET 项目却让用户核对素材库,他看到的是旧列表。
服务端 guard 把标记钉为 4 处并要求只出现在 persist_editor_generated_image_owned
之后;客户端新增三条用例覆盖带标记对账、未带标记不对账、用户删除占位。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-01 12:51:12 +00:00 |
|
lhk229
|
e5fb51d1a7
|
完美像素归属校验单次取数并纳入处理预算
Project CI / Backend tests (pull_request) Failing after 11s
Project CI / Repository checks (pull_request) Failing after 11s
Project CI / Frontend tests (pull_request) Failing after 19s
Project CI / Native shell tests (pull_request) Successful in 9m50s
合法 assetId 且不带 sourceResourceId 时,取得端点准入许可后到 OSS 下载之间会
顺序执行 8 次 SpacetimeDB 调用,全是裸 await,第一次真正应用 30 秒预算的是下载。
其中 list_editor_projects + get_editor_asset_library 这对全账号扫描重复了三轮:
resolve_editor_reference_object_key_for_owner 内部两个子函数各扫一轮,
resolve_editor_pixel_art_source_for_owner 再扫第三轮,拉的是同一份数据。
预算从 handler 入口「起算」不等于「覆盖」。deadline 是绝对时刻,早起算只让后续
余额更少;中间不检查就不会在该阶段返回 504,请求会一路走到下载才失败并返回下载
相关文案,误导排障,同时准入许可全程被这些无界调用占用,把并发闸自身变成瓶颈。
去重参照抠图入口 resolve_editor_background_removal_source 的既有范式:扫一次,
注册 ID 解析、归属校验和跨记录 assetKind 收集全部交给 _from_records 纯函数在内存
里完成。归属校验命中已登记记录即短路,只有两份记录都查不到才回落点查。老包装
resolve_editor_reference_object_key_for_owner 保持不动,它服务的是没有任何上下文
的调用方。全账号 RPC 由 6 次降为 2 次,整段由 8 次降为 3 次。
预算侧把 get_editor_project 到来源解析结束整体包进 timeout_at,超时返回 504 且
文案指向归属校验。不重复写 Instant::now() 预检——紧邻的 permit 获取已做过,且本块
首个 await 是网络 IO 不会立即就绪,不构成 timeout_at 先 poll 再判超时的陷阱。
参照 937378ab9 用 assert_function_occurrence_count 把两处全账号扫描各钉为 1 次,
并禁止该函数重新调用取数包装。后者断言调用形式而非裸函数名,否则会命中生产代码里
说明「老包装保持不动」的注释——该陷阱在编写时即由测试抓出。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-01 11:07:01 +00:00 |
|
lhk229
|
5916b7d509
|
完美像素端点补齐保留审计字段剥离
Project CI / Frontend tests (pull_request) Failing after 20s
Project CI / Repository checks (pull_request) Successful in 53s
Project CI / Backend tests (pull_request) Successful in 3m50s
Project CI / Native shell tests (pull_request) Successful in 11m37s
POST /api/editor/images/pixel-art-snaps 自新增之日起未调用
sanitize_editor_client_generation_inputs,只对 generationInputs 做了可序列化性
校验便原样写入 editor_project_resource 与 editor_asset。登录用户因此可以自行
声明 screenColorHex / mattingProvider / mattingModel,让后台 raw mapper 看到
伪造的处理元数据。
该 sanitizer 与其余 13 个生产调用点(普通图片、角色、图标图集、UI 设计、快速
编辑、抠图、上传,含 external_editor_api)在此端点加入前就已存在,属于新端点
漏配既有约定,不是设计取舍。
这三个字段是服务端产出的处理事实:screenColorHex 由背景色决策写入,
mattingProvider / mattingModel 由 apply_editor_matting_metadata_to_generation_inputs
在 bgfilter 实际执行后写入。完美像素是纯几何规整、不抠图,任何 matting 元数据
出现在这类记录上本身就是伪造。
调用位置与其余入口一致:解析 payload 之后、任何 IO 之前。
影响边界:只能污染攻击者自己的记录(owner_user_id 取自 access token,不可控),
不构成越权、信息泄露或计费漏洞,该端点 generation_cost_mud_points = 0。
sanitizer 单元测试已存在;端点接线由既有顺序断言钉住,sanitize 必须排在预算派生
及之后全部 IO 之前,被挪到 IO 之后会直接失败。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-01 10:31:40 +00:00 |
|
lhk229
|
db6dbfaf94
|
生成风格 pixelArt 同时约束提示词
Project CI / Repository checks (pull_request) Successful in 1m32s
Project CI / Backend tests (pull_request) Successful in 3m42s
Project CI / Native shell tests (pull_request) Successful in 10m43s
Project CI / Frontend tests (pull_request) Successful in 2m25s
style="pixelArt" 此前只驱动 provider 回图后的确定性像素规整,完全不参与
提示词。但 snapper 是几何对齐器——先检测网格步长再按格重采样;provider 交
一张柔和渐变图时横纵两轴都测不到步长,生成路径用的 legacy profile 会退到
min(width,height)/64 统一网格兜底,产出的是马赛克而不是像素画。原语义等于
「随便生成什么,然后强行网格化」。
注入点固定在 generate_editor_image_for_owner 与
generate_editor_icon_spritesheet_for_owner 构造提交提示词的位置,包住既有
builder 的返回值,builder 签名和输出契约不变。登录态路由、外部 API v1、
异步 job worker 三个入口都汇聚到这两个函数,一处覆盖。
约束句按链路分三条,追加在末尾并独立成行:普通图片没有抠像底色,用
「画面为像素风格」;角色形象和图标图集生成后都要按纯色抠像,绿幕底必须保持
平整,分别用「角色主体为像素风格」和「每个图标素材均为像素风格」,都不出现
「画面」级别的像素化要求,否则与同一段提示词里既有的「纯色背景必须平整无
纹理、无渐变」互相拆台。
实测只提「像素风格」效果已可接受,因此不注入网格密度、色板色数和抗锯齿等
约束。source-guard 钉住注入排在 create_openai_ 之前——被挪到之后时产物看起来
仍然「成功」,只是静默退化成统一网格马赛克,普通测试抓不到。
约束句随 submitted_prompt 写入 editor_project_resource 的 prompt 列;响应体
返回的仍是用户原文,前端显示不变;不新增 OSS PUT、项目资源、素材记录或画布
图层。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-01 07:04:53 +00:00 |
|
lhk229
|
1c180f4a69
|
移除画布生图反向提示词中的低清晰度
Project CI / Frontend tests (pull_request) Failing after 23s
Project CI / Repository checks (pull_request) Successful in 1m44s
Project CI / Backend tests (pull_request) Successful in 3m38s
Project CI / Native shell tests (pull_request) Successful in 11m23s
「低清晰度」按字面否定低分辨率,与像素艺术这类以低分辨率重采样为本质的
画风直接对冲:勾选 style=pixelArt 时,提示词端要求硬边像素块,反向提示词
却压制低清晰度,两条指令互相打架。
覆盖画布的四个生图入口:普通图片、角色形象(共用 false 分支)、UI 设计图
(true 分支)、修改图片(两个 provider 分支的内联字面量)。图标图集的
negative 本来就传 None,不受影响。
其余玩法(拼图、消除、跳跃、方洞、大鱼、吠叫、自定义世界场景图)的同名
词条保持不动,本次只收口画布项目。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-31 12:58:34 +00:00 |
|
kdletters
|
e1d031b86f
|
增加外部API的MCP与异步生成模式
新增托管式Streamable HTTP MCP端点并复用外部API Key鉴权
统一图片视频音频等生成请求为幂等异步提交和状态查询
提供可发现的使用说明、OpenAPI资源及完整Skill下载包
同步更新OpenAPI契约并规定接口变更必须连带维护
适配AI游戏创作Shell的异步提交轮询与安全重试
补齐MCP方法映射、异步Worker和客户端回归测试
|
2026-07-31 19:48:28 +08:00 |
|
lhk229
|
c252038b52
|
免除完美像素已鉴权来源的全账号扫描
来源资源已随项目完成鉴权时直接取用其 objectKey
以显式归属断言替代跨记录扫描并保留存储类型点查
补齐免查解析的一致性与归属回归测试
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-31 09:39:05 +00:00 |
|
lhk229
|
0d7a73b0b2
|
Merge remote-tracking branch 'web/master' into feat/pixel_art2
# Conflicts:
# docs/project-memory/shared-memory/decision-log.md
# docs/project-memory/shared-memory/pitfalls.md
# docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md
# server-rs/crates/api-server/src/editor_project.rs
|
2026-07-31 09:11:12 +00:00 |
|
lhk229
|
72acd0ec05
|
停止向用户泄露抠图模型 (#120)
Project CI / Frontend tests (push) Successful in 3m40s
Project CI / Backend tests (push) Successful in 4m11s
Project CI / Repository checks (push) Successful in 1m19s
Project CI / Native shell tests (push) Successful in 12m36s
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/120
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
|
2026-07-31 16:40:43 +08:00 |
|
lhk229
|
af2a1bc26e
|
避免完美像素输出的整图解码
Project CI / Repository checks (pull_request) Failing after 7s
Project CI / Backend tests (pull_request) Failing after 8s
Project CI / Frontend tests (pull_request) Successful in 1m46s
Project CI / Native shell tests (pull_request) Successful in 2m13s
取输出尺寸改为只读 PNG 头
补齐禁止在该入口整图解码的回归断言
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-31 07:16:58 +00:00 |
|
kdletters
|
842d99697a
|
合并游戏聊天0.1.1到master
Project CI / Repository checks (push) Successful in 1m11s
Project CI / Frontend tests (push) Failing after 2m6s
Project CI / Backend tests (push) Failing after 2m44s
Project CI / Native shell tests (push) Failing after 3m14s
合入独立game-chat release构建、内置Runner与退出收束。
合入自动预览刷新、结构化进度展示及强化试玩验收。
保留master资源画布、共享预览和原生壳严格门禁。
修复Windows Runner单实例锁与GUI owner锁固定路径兼容。
|
2026-07-31 14:27:36 +08:00 |
|
lhk229
|
5d2588dbe0
|
前置完美像素的端点并发闸
新增端点级并发许可并在首次 IO 之前取得
以取消安全的有界队列限制等待者数量
补齐队列边界、释放与闸位顺序的回归测试
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-31 06:18:57 +00:00 |
|
lhk229
|
95443da63c
|
去除完美像素持久化的输出图片复制
Project CI / Repository checks (pull_request) Failing after 10s
Project CI / Backend tests (pull_request) Failing after 10s
Project CI / Frontend tests (pull_request) Successful in 1m39s
Project CI / Native shell tests (pull_request) Successful in 2m14s
改用按值移交的持久化入口避免复制整份输出图片
补齐禁止退回借用版持久化入口的回归断言
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-31 05:48:29 +00:00 |
|
lhk229
|
56b65a430d
|
收紧编辑器图片持久化的上传边界
OSS 共享客户端扩展为读写共用并按上传方向放宽整体超时
画板生成图片持久化的 PUT 与 HEAD 改走共享客户端
补齐持久化写路径的共享客户端回归断言
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-31 05:40:51 +00:00 |
|
kdletters
|
cf1a023125
|
收紧图集切片内存并批量持久化
Project CI / Repository checks (push) Successful in 1m0s
Project CI / Backend tests (push) Failing after 2m42s
Project CI / Frontend tests (push) Successful in 2m45s
Project CI / Native shell tests (push) Successful in 11m42s
按需编码并限制图集上传并发、超时与累计裁剪像素
批量确认切片对象、项目资源、账号素材和完成批次
稳定派生切片记录标识并收紧重放与来源资源校验
复用已鉴权项目资源避免手动拆分全账号扫描
补充图集资源边界文档与回归测试
|
2026-07-31 13:40:28 +08:00 |
|
kdletters
|
9951bc573b
|
Merge branch 'master' into fix/artagent-rerefine-prompt
Project CI / Repository checks (pull_request) Successful in 1m0s
Project CI / Native shell tests (pull_request) Successful in 11m35s
Project CI / Frontend tests (pull_request) Successful in 2m54s
Project CI / Backend tests (pull_request) Successful in 3m33s
|
2026-07-31 13:20:12 +08:00 |
|
kdletters
|
93ed7f2c57
|
将每日免费泥点纳入后台配置
Project CI / Repository checks (push) Successful in 1m0s
Project CI / Backend tests (push) Successful in 3m30s
Project CI / Frontend tests (push) Successful in 2m57s
Project CI / Native shell tests (push) Successful in 12m11s
在账号配置页一次维护初始泥点和每日免费额度
将每日额度贯穿钱包配置、日切重置与充值中心投影
补齐迁移兼容、生成绑定、测试和文档
|
2026-07-31 13:04:27 +08:00 |
|
lhk229
|
823df0f0f7
|
收紧完美像素来源读取的时间边界
OSS 读取收口为进程级共享客户端并设置连接与整体超时
完美像素处理预算改从请求入口起算以覆盖下载阶段
补齐共享客户端、预算起点与带界下载的回归断言
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-31 05:02:06 +00:00 |
|
menghao
|
216407d93e
|
实现资源画布布局持久化 (#116)
Project CI / Frontend tests (push) Failing after 20s
Project CI / Repository checks (push) Successful in 1m2s
Project CI / Backend tests (push) Successful in 2m59s
Project CI / Native shell tests (push) Successful in 11m58s
冻结资源画布布局数据与 CAS 合同
实现双模式本地 sidecar 安全读写
接入二维拖动、默认排版和跨重启恢复
补齐并发冲突、安全边界和界面测试
同步技术文档与共享决策
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/116
Reviewed-by: 段舒康 <kdletters@qq.com>
Co-authored-by: menghao <mh18530625731@163.com>
Co-committed-by: menghao <mh18530625731@163.com>
|
2026-07-31 12:00:48 +08:00 |
|
k88936
|
ce47df4c3d
|
补齐画布Agent业务提示词契约测试
覆盖确认取消、取消后新调用与无依赖批量串行策略
覆盖消息窗口截断、窗口外重新引用与工具路由矩阵
|
2026-07-31 11:53:48 +08:00 |
|
k88936
|
2fa05cd605
|
统一画布代理文本与附件输入约束
要求用户消息包含非空文本,附件仅作为消息上下文。
同步后端领域校验、接口错误和请求测试。
禁用前端纯附件发送并更新交互回归测试。
保留发送失败时的草稿与附件恢复行为。
|
2026-07-31 11:30:48 +08:00 |
|
k88936
|
b09a98db48
|
重构画布代理提示词与工具调用循环
统一系统消息、工具结果与异常响应的消息构造。
补充无效响应纠正、批量工具调用和待确认状态处理。
精简图片上下文提示并完善越界引用回退规则。
补齐运行循环和提示词行为测试。
|
2026-07-31 11:30:48 +08:00 |
|
lhk229
|
044f278aa3
|
简化完美像素严格模式
Project CI / Backend tests (pull_request) Failing after 10s
Project CI / Repository checks (pull_request) Failing after 11s
Project CI / Native shell tests (pull_request) Successful in 1m56s
Project CI / Frontend tests (pull_request) Successful in 2m15s
严格模式仅在两轴均未检测到时拒绝统一网格兜底
删除严格模式专用网格判定参数与算法
收敛单元测试和接口测试为 strict 与 legacy 契约测试
同步更新完美像素相关架构与决策文档
|
2026-07-30 12:18:48 +00:00 |
|
lhk229
|
ee2cad377f
|
新增画布完美像素功能
在图片工具栏接入完美像素交互、占位流程与历史保护
新增严格像素网格检测和登录态同步处理接口
补齐素材类型校验、持久化边界、并发限制及技术文档
修复 Windows rlib 门禁长文件名解析
|
2026-07-30 11:42:45 +00:00 |
|
AIGameCreator App
|
a36290b2e5
|
合并AI游戏创作智能体与通用Runtime基座
Project CI / Frontend tests (push) Failing after 27s
Project CI / Repository checks (push) Successful in 3m20s
Project CI / Backend tests (push) Successful in 3m52s
Project CI / Native shell tests (push) Successful in 13m19s
合并 codex/ai-game-creator-app 的独立客户端、多智能体 Runtime、Runner 与可扩展 LLM Provider 能力
保留 master 最新画布、钱包、后端和原生壳约束并完成四处语义化冲突合并
补齐根 Vitest 对独立 Tauri guest 模块的隔离测试别名并保持 HostBridge 依赖边界
统一正式工作台与 game-chat 的安全本地预览组件及 native-shell 静态门禁
修复合并态 Rust 格式、前端 lint 与共享文档验证口径
|
2026-07-30 18:01:19 +08:00 |
|
AIGameCreator App
|
d4075c3423
|
抽取通用多智能体运行时与可扩展Provider
Project CI / Frontend tests (push) Failing after 3m43s
Project CI / Native shell tests (push) Failing after 3m36s
Project CI / Repository checks (push) Failing after 4m36s
Project CI / Backend tests (push) Successful in 8m36s
新增纯 Rust agent-runtime-core,提供运行时契约、能力注册、Agent 目录、Profile、完成策略与零重放恢复
抽取中立 LLM Provider 协议与可扩展 Registry,并适配 OpenAI Responses、OpenAI Chat 和 Anthropic
将 AGC interaction、Provider 控制、Runner 生命周期、steering 与 tool-plan handoff 接入统一运行时边界
补充非游戏消费者、Provider 网络闭环、Runtime 恢复及 GUI Runner owner 测试
同步 Cargo/npm 门禁、Runtime 技术方案和项目共享记忆
|
2026-07-30 16:15:51 +08:00 |
|
kdletters
|
b512430e53
|
收紧图集切片资源边界
Project CI / Repository checks (push) Successful in 1m4s
Project CI / Frontend tests (push) Successful in 2m5s
Project CI / Native shell tests (push) Successful in 2m32s
Project CI / Backend tests (push) Successful in 3m37s
前置限制原始连通域、局部候选和输出切片数量
统一图集切片的有界阻塞线程执行
统一角色图标和UI的原图安全降级
补齐异常输入回归测试与工程文档
|
2026-07-30 13:44:17 +08:00 |
|
lhk229
|
bc28f00c2d
|
修复 inline 路径修复性回读缺少绝对 deadline
Project CI / Repository checks (pull_request) Successful in 1m6s
Project CI / Native shell tests (pull_request) Successful in 2m28s
Project CI / Backend tests (pull_request) Successful in 3m30s
Project CI / Frontend tests (pull_request) Successful in 1m14s
上一轮把修复性回读绑到外层 request_deadline,但 with_external_call_deadline
只在队列 worker 与 openai_image_generation 两处调用,inline HTTP 请求的
RequestContext 默认 external_call_deadline=None,于是 download_deadline 传下去
仍是 None,走无界 download.await——该修复实际只对队列模式生效。
守卫改为在 request_deadline 缺失时自行以 Instant::now() +
EDITOR_PIXEL_ART_MAX_PROCESSING_DURATION 重新计时派生上界,两种模式下都不再
出现无界 GET。结构断言同时要求出现 unwrap_or_else 兜底与该常量。
同时修正决策记录里「最多增加一次 OSS GET」的措辞:约束是不重复读取已成功
取得的对象,而非整个请求至多一次 GET;第一次回读失败或被像素预算掐断时
允许第二次也是最后一次尝试,不视为违规。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-29 13:12:21 +00:00 |
|
lhk229
|
9a37deeaf0
|
收窄像素规整尺寸守卫的生效范围表述
Project CI / Repository checks (pull_request) Successful in 1m16s
Project CI / Frontend tests (pull_request) Successful in 2m4s
Project CI / Native shell tests (pull_request) Successful in 2m29s
Project CI / Backend tests (pull_request) Successful in 3m31s
决策记录原文写「修复失败返回尺寸错误交由调用方降级」,读起来像是角色和
图标两条链路都会降级。实际上守卫只保证像素路径不再谎报「尺寸无误」,
拿到尺寸错误之后如何处置仍由各调用方既有语义决定,本次未改动任何调用方。
改为显式写明生效范围:角色据此走原图安全降级、链路闭环;图标沿用 master
既有的非致命语义,只记录告警后继续持久化并拆分,因此 BgFilter 尺寸漂移且
回贴修复失败时仍可能持久化尺寸异常的透明图集,该残留属 master 既有行为,
不在本次范围内解决。守卫断言的注释同步收窄。
仅调整表述,不改代码行为,不新增承诺。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-29 12:56:37 +00:00 |
|
lhk229
|
937378ab91
|
消除像素规整降级路径的重复与无界 OSS 回读
Project CI / Repository checks (pull_request) Successful in 1m0s
Project CI / Frontend tests (pull_request) Successful in 2m1s
Project CI / Native shell tests (pull_request) Successful in 2m26s
Project CI / Backend tests (pull_request) Successful in 3m28s
尺寸守卫此前一律走会回读 provider 原图的包装函数,带来两个问题:permit
获取失败、worker 内 deadline、join 异常和 worker 超时这四条分支其实已经
持有原图,却又对同一 object key 发起第二次 GET,把"最多增加一次 OSS GET"
放大成两次;而第一次回读超时后的那次 GET 完全没有绝对 deadline,突破
30 秒像素预算。
拆成两类:已持有原图的四条分支改走纯内存守卫 degrade_editor_pixel_art_
with_provider_source,零额外 GET;尚未取得原图的三条分支仍走回读守卫,
但该次 GET 改以外层请求 deadline 为绝对上界——用已耗尽的像素预算绑会让
修复必然失败,不绑则突破预算。
apply_editor_postprocessed_alpha_from_persisted_provider_source_or_original
新增可选 download_deadline,非像素路径传 None 保持既有语义;尺寸比对抽为
editor_postprocessed_alpha_matches_delivery_dimensions 供两类守卫共用。
计数断言固定"回读守卫 3 处、内存守卫 4 处",该断言在编写时即抓出一处
分支数误判。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-29 12:29:42 +00:00 |
|
lhk229
|
8ed85e17f4
|
修复队列与 Web 吞掉并存的 sliceWarning
Project CI / Repository checks (pull_request) Successful in 1m3s
Project CI / Frontend tests (pull_request) Successful in 1m59s
Project CI / Native shell tests (pull_request) Successful in 2m25s
Project CI / Backend tests (pull_request) Successful in 3m28s
风格归一化与像素规整新增的通用 warning 可以与 sliceWarning 并存,openapi
已放开该组合,但两个消费端仍是二选一:队列 extract_editor_generation_warning
在 warning 存在时根本不读 sliceWarning,Web inline
resolveEditorGenerationWarningMessage 同样直接返回通用告警。
两侧改为与 inline 响应相同的归一策略:只有一条时原样保留,两条并存时按
"通用在前、拆分在后"拼接,队列侧 code 收敛为 multiple-generation-warnings
并复用既有长度上界收敛。同步修正三处仍声明二者互斥的文档。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-29 11:44:27 +00:00 |
|
lhk229
|
49965ddd7e
|
修复角色尺寸恢复降级覆盖已累积生成告警
Project CI / Repository checks (pull_request) Successful in 50s
Project CI / Frontend tests (pull_request) Successful in 2m6s
Project CI / Native shell tests (pull_request) Successful in 2m35s
Project CI / Backend tests (pull_request) Successful in 3m35s
generate_editor_image_for_owner 的角色透明图尺寸恢复失败分支直接返回
warning: Some(...),没有合并 generation_warning,导致 style 为未知值时
契约承诺的 unsupported-image-style 告警在该降级路径上消失。
改为经 merge_editor_generation_warnings 合并,与该函数另外两个返回点一致。
新增结构断言固定"普通图片与图标生成的所有返回点都不得出现裸 warning: Some(",
并同步角色降级断言到合并后的形状。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-29 11:27:11 +00:00 |
|
lhk229
|
a7d8bccec9
|
修复像素规整降级绕过交付尺寸守卫
Project CI / Repository checks (pull_request) Successful in 1m4s
Project CI / Frontend tests (pull_request) Successful in 2m1s
Project CI / Native shell tests (pull_request) Successful in 2m26s
Project CI / Backend tests (pull_request) Successful in 3m28s
像素路径的 best-effort 降级分支(预算耗尽、回读 provider 原图失败或超时、
CPU permit 获取失败、worker 内 deadline、join 异常、worker 超时)此前都直接
返回 BgFilter 原始输出并把尺寸错误置为 None,跳过非像素路径已有的尺寸比对
与 alpha 回贴。BgFilter 回图尺寸漂移叠加并发上限 2 的 permit 超时后,角色会
绕过原图安全降级,角色和图标都可能持久化尺寸漂移的低分辨率透明图。
新增 degrade_editor_pixel_art_to_postprocessed_with_dimension_guard 收口所有
降级分支,复用非像素路径的守卫:尺寸一致原样返回且不产生额外 OSS GET,漂移
才回读原图重贴 alpha,修复失败返回尺寸错误交调用方降级。由 provider 原图合成
的 rgba_source fallback 尺寸天然正确,不经守卫。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-29 11:19:01 +00:00 |
|
lhk229
|
717b94aad8
|
合并 web master 角色交付尺寸统一
Project CI / Frontend tests (pull_request) Failing after 5m43s
Project CI / Repository checks (pull_request) Successful in 5m48s
Project CI / Native shell tests (pull_request) Successful in 7m49s
Project CI / Backend tests (pull_request) Successful in 8m50s
接受 master 的角色带背景原图与透明图统一交付尺寸方案,像素模式不再
豁免提前归一:逻辑像素规整改在按业务像素矩阵 resize_to_fill(Lanczos
重采样 + 居中裁切)后的交付尺寸图上进行,snapper 自行还原回输入尺寸,
删除原先后置的 nearest 二次恢复及其 pixel_art_applied 开关。
后处理降级告警合并两侧机制:postprocess 失败路径改用 master 的
_with_dimension 重载并继续经 merge_editor_generation_warnings 汇总;
成功路径补回 master 的 dimension_warning,避免自动合并将其丢弃。
结构断言改为只固定 editor_postprocess_fallback_warning 共同前缀。
decision-log 保留双方新决策条目,并修订像素艺术条目中已过时的
"provider 原尺寸分析网格"表述。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-29 09:33:36 +00:00 |
|
lhk229
|
a97b12d73a
|
清理像素规整重构残留的死代码
restore_editor_generated_image_output_dimensions 在本分支把
restore_editor_generated_image_output_dimensions_or_original 改为转发到
_with_filter 之后失去全部生产调用者,仅剩单测在用,非测试构建报 dead_code。
删除该包装函数,改由测试直接调用 _with_filter 并显式传 Lanczos3。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-29 08:22:41 +00:00 |
|
kdletters
|
3a64411e8c
|
统一角色原图与透明图交付尺寸
Project CI / Repository checks (push) Successful in 51s
Project CI / Frontend tests (push) Successful in 1m44s
Project CI / Native shell tests (push) Successful in 2m7s
Project CI / Backend tests (push) Successful in 3m16s
角色原图持久化前归一到业务交付尺寸
拒绝错比例透明蒙版并降级保留原图
合并尺寸降级与后处理失败告警
补齐全模型全尺寸真实像素回归
同步角色图片尺寸边界文档
|
2026-07-29 16:10:54 +08:00 |
|
lhk229
|
fae6f00c9f
|
合并 web master 最新更新
Project CI / Frontend tests (pull_request) Failing after 52s
Project CI / Repository checks (pull_request) Successful in 1m2s
Project CI / Native shell tests (pull_request) Successful in 2m10s
Project CI / Backend tests (pull_request) Successful in 3m28s
将 web/master 的画布快照、图集标签和 Agent 框架更新合入像素艺术功能分支。
# Conflicts:
# docs/project-memory/shared-memory/decision-log.md
# server-rs/crates/api-server/src/external_editor_api.rs
|
2026-07-29 07:02:56 +00:00 |
|
lhk229
|
a6a6be23c9
|
开启图标图集BgFilter交叉校验
将生成图标素材的 flat 请求固定切换为 cross_check=on。
同步调整现有结构断言与编辑器、后端和共享决策文档。
|
2026-07-29 06:43:59 +00:00 |
|
kdletters
|
edc99e55e4
|
修复跨设备画布旧快照覆盖
Project CI / Frontend tests (push) Failing after 43s
Project CI / Repository checks (push) Successful in 47s
Project CI / Native shell tests (push) Successful in 2m47s
Project CI / Backend tests (push) Successful in 3m13s
按用户隔离画布缓存并等待权威 revision 后开放保存
固化保存重试版本并安全处理认证重载与冲突恢复
合并迟到资源图层且隔离跨账号异步请求
强制 Web 与 External 画布写入使用 expectedRevision CAS
补充竞态回归测试并同步 OpenAPI、Skill 与技术文档
|
2026-07-29 13:51:49 +08:00 |
|