Commit Graph

2797 Commits

Author SHA1 Message Date
lhk229 2f3dd86fb3 静态委派:返工深度与澄清轮次改为链上推断,不新增持久字段
WP1(本轮只改生产代码,测试由下一工作包处理):

- 新增 static_delegate_lineage_counters:沿 repair_of_delegation_id 反向重放整条
  delivery 链,现算目标节点的 (repair_depth, clarification_round)。二者都是运行时
  派生值,故意不落盘——若给 StaticDelegateDeliveryRecord 加 repair_depth 字段并用
  #[serde(default)] 兜底,磁盘上已有的返工记录会读出 0,深度门失效,等于让
  “返工的返工”漏洞原样复活(fail-open,不可接受)。链上推断对历史记录反而是精确
  的:#165 之前不存在 NeedsUserInput,老记录天然被正确分类为“非澄清”。
  传播规则:R3 根节点 depth=0/round=0;R1 澄清跳 round=parent.round+1、depth 不变
  (不重置深度,否则可插一次澄清洗掉返工深度变成无限返工);R2 返工跳
  depth=parent.depth+1、round 重置为 0(返工后重新开工,不能吃掉澄清轮次预算)。
  反向重放遇到重复 id、缺失节点或跳数超过 STATIC_DELEGATE_LINEAGE_MAX_HOPS 时
  fail closed,返回 (u32::MAX, u32::MAX) 使调用方的门必然拒绝。

- 抽出 static_delegate_original_is_awaiting_clarification 作为“这一跳是否续接自
  澄清”的唯一权威判据源,validate_static_delegate_repair_request_at 与
  validate_static_delegate_clarification_continuation_at 共用,避免两处口径漂移。

- 重写 validate_static_delegate_repair_request_at 里原先无差别拒绝返工深度>=1 的
  门:先用共享判据分类候选是澄清续接还是质量返工;返工路径按链上 depth 校验,
  错误文案原样保留“静态委派返工深度最多为 1”(现有测试已断言该字符串);澄清
  路径改为按链上 round 校验,用新文案“静态委派澄清轮次已达上限”。函数签名不变。

- 澄清轮次上限按 source 区分:新增 static_delegate_clarification_round_limit_at,
  通过 read_game_creator_agent_runtime_run_profile_binding 读取 binding.source,
  AGENT_RUNTIME_SUPERVISOR_GAME_CHAT_SOURCE 取 1,其余取 3——game-chat 单主路径
  定位零打扰,#165 从未承诺给它 3 轮预算。

验证:cargo check --all-targets 通过。cargo test 里
tests::collaboration::static_deliveries::clarification_continuation_chain_supports_multiple_rounds
按预期失败——它断言的是旧的“D2->D3 必被返工深度门拒绝”行为,新逻辑下 D2->D3 是
合法的第 2 轮澄清续接,测试留给下一工作包更新。project_supervisor_concurrent_repair_dispatch_creates_exactly_one_delivery
偶发失败,经对比 20 次 vs 20 次基线(约 10%-15% 失败率两边相当)确认是本机既有的
并发计时 flaky 测试,非本次改动引入的回归。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 03:38:17 +00:00
lhk229 c0d1890b49 Merge remote-tracking branch 'web/master' into feat/five_min_design
冲突解法:
- 实施计划.md:master 改 Provider 故障展示、本分支改跨轮阶段记录,各取各自较新的一条
- decision-log.md:两侧新增条目不重叠(master 2 条 / 本分支 7 条),全部保留
- agentPresentation.ts、agentRuntimeModel.test.ts:import 取并集
- project-development.suite.ts:保留 master 新增用例,用例标题用本分支 M0B-2 改后的语义
- SupervisorChatOnlyView.tsx:合成两侧。isAgentRuntimeTerminalState 本身已含
  needs-reconciliation,master 单独那两行对其自身是冗余的;但本分支的
  `|| descendantsStillActive` 会让 needs-reconciliation 的 run 因子 Agent 未收束
  而重新判为运行中,正好绕过 master 这次要立的规矩。故保留本分支的 lineage 口径
  (projectedRuntime)并补显式 needs-reconciliation 短路。

验证:前端 typecheck 干净;appSurface.test.ts 377 passed;agentRuntimeModel 27 passed;
cargo check --all-targets 通过;static delegate 定向 9 passed;clarification 定向 4 passed。

response_stream / runtime_state 有失败,经对照确认不是回归:在纯 web/master 的独立
worktree 上跑同一批为 10 failed,本分支为 6 failed 且是其真子集,两次运行成员还不同。
失败模式统一为 Windows 下 .agent/agent.db 被占用(Os code 32),属本机既有基线。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 03:01:56 +00:00
lhk229 7754a2f820 测试:实证静态委派澄清 continuation 只能走一跳
新增 clarification_continuation_chain_supports_multiple_rounds,走真实
observe_agent_runtime_agent_delegate 生产路径验证 #165 澄清中转的链长边界:

- D1 -> D2 第一跳成功,D2 落盘且 repair_of_delegation_id == Some(D1)
- D2 -> D3 第二跳被 delegation.rs:1119 的「静态委派返工深度最多为 1」拒绝
- D3 从未落盘

澄清 continuation 与质量返工共用 repair_of_delegation_id 字段和同一道深度门,
因此一次澄清会同时耗尽该链路唯一一次质量返工额度。本用例把当前行为钉死,
作为后续拆分两个维度时的对照基线。

仅新增测试,未改动任何生产代码。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 02:27:06 +00:00
kdletters f395a6ed36 稳定Agent失败审计时序测试
Project CI / Repository checks (push) Successful in 1m1s
Project CI / Frontend tests (push) Successful in 2m58s
Project CI / Backend tests (push) Successful in 4m0s
Project CI / Native shell tests (push) Successful in 14m15s
等待 Runtime 失败后的审计记录有界落盘
保持 final-reply-failed 审计最终存在的强断言
连续五次验证流式连接中断回归
2026-08-12 22:38:59 +08:00
kdletters da7c4dc71c 修正Agent失败关闭回归语义
Project CI / Repository checks (push) Successful in 1m0s
Project CI / Frontend tests (push) Successful in 3m4s
Project CI / Backend tests (push) Successful in 3m44s
Project CI / Native shell tests (push) Failing after 10m20s
将流式连接中断断言为 Runtime 失败
禁止 transport 错误提交 planning fallback 冒充成功
保留安全失败消息与 final-reply-failed 审计验证
2026-08-12 22:24:17 +08:00
kdletters fd423770d8 根治Repository checks本地漏检
Project CI / Repository checks (push) Successful in 1m18s
Project CI / Frontend tests (push) Successful in 3m1s
Project CI / Backend tests (push) Successful in 4m17s
Project CI / Native shell tests (push) Failing after 12m32s
修复 Agent 失败展示变更中的 import 排序错误
统一 CI 与 master pre-push 的 Repository checks 入口
让 staged JS 和 TS 自动执行 ESLint 修复与 Prettier
补充部分暂存、忽略文件和待推 SHA 回归测试
同步分支保护与本地门禁流程文档
2026-08-12 22:06:35 +08:00
kdletters 794f3d4cf8 修复Agent失败原因丢失与成功误判
Project CI / Repository checks (push) Failing after 45s
Project CI / Frontend tests (push) Successful in 3m39s
Project CI / Backend tests (push) Successful in 4m44s
Project CI / Native shell tests (push) Failing after 13m11s
解析 Codex app-server 稳定失败分类并生成安全可行动摘要
统一 Runtime 事件、任务、阶段记录和各 Agent 状态面的失败展示
限制自主构建最终回复 fallback,避免鉴权与网络错误被提交为成功
补充失败分类、防泄漏、待核对和 fallback 回归测试
同步技术方案与共享决策记录
2026-08-12 21:35:11 +08:00
kdletters e04a8310a0 重做AGC智能体设置界面
Project CI / Repository checks (push) Successful in 1m32s
Project CI / Frontend tests (push) Successful in 3m2s
Project CI / Backend tests (push) Successful in 4m5s
Project CI / Native shell tests (push) Successful in 14m27s
将常用设置、Agent 模型、连接工具和高级参数分层展示

补充保存中、保存成功和失败状态反馈

更新设置页测试与项目决策记录
2026-08-12 21:04:30 +08:00
lhk229 93d8d0c1cf Merge remote-tracking branch 'web/master' into feat/five_min_design
# Conflicts:
#	apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/provider_request_builders.rs
#	apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver/main_loop_tests.rs
#	docs/project-memory/shared-memory/decision-log.md
#	docs/project-memory/shared-memory/pitfalls.md
2026-08-12 12:38:03 +00:00
lhk229 331441534d 文档:冻结策划节点身份常量并更正提问权限判据
裁定策划节点 agentId 为 project-planning、Supervisor 做方案入口 source
为 project-supervisor-plan(旧预留值 project-supervisor-plan-chat 作废,
避免字面未变而语义已改导致接错代码路径)。据此更新第 3 节注册表与第 4 节
拓扑图。

更正一处此前判断错误:standard 的 ready-task 调度器
start_game_creator_agent_background_task_with_source_at 向 _with_link_at
传 task_link = None,节点无 parent,source 也不在黑名单,因此
validate_user_input_action_owner 会放行它调用 user.input_request。
只有 autonomous 那个调度器才显式写 parent。所以策划节点不得直接提问是
产品约束的自律要求(否则问答会落进它自己的会话、Supervisor 上下文里
没有内容),必须由 exact allowlist 主动排除并以回归钉死,不能指望
Runtime 兜底。第 1.1 节、D10 与第 19 节第 2 条同步更正。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 12:29:16 +00:00
lhk229 6119060dc0 文档:作废 D6,立项策划改为 Supervisor 下游工作流节点
产品侧确定「做方案」入口独立成链后复核代码,D6 的前提逐条不成立:
autonomous-game-build 对 user.input_request 的禁令按 run profile 生效、
父子皆不可提问;硬闯会把 runtime.status 写成 failed,而根活跃判定不认
failed,导致整条 16 节点工作流永久瘫痪;子 Run 又不能切换父 Run 的
profile;作为下游的策划节点带 parent,也不能自己提问。

新增 D9 / D10 取代 D6:策划是独立 agentId 的下游工作流节点,父子同为
standard;问询走 Runtime 直投——策划节点提交结构化决策字段,Runtime
创建 owner 为 Supervisor 的 pending。这不是新造机制,现役
AgentRuntimeUserInputRecord 本就两路投影(会话消息 + observation),
直投只是让两路分别落到 Supervisor 与策划节点,从而满足「用户侧只有一个
对话对象」与「对话内容必须物理存在于 Supervisor 会话」两条产品约束。

新增第 1.1 节承载变更说明与 M0 修订计划(工作包 M0A-3),按是否被
agentId/source 命名裁决阻塞分两批。三个代码工作包零回退——无一行按 D6
编写;但 M0A-2 的 owner 验证四重绑死且要求 parent,standard 路径必须
另建物理独立实现,不可扩展。

Goal Contract 四方案随之作废,替换为三条实测约束,其中「验收 evidence
锚 game/fast_gdd.md、不得指向 .agent/planning」是为了避开
reject_agent_runtime_private_control_path 不区分读写的陷阱。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 12:13:04 +00:00
kdletters 82957fe1d4 修复子 Agent 澄清回执中转 (#165)
Project CI / Repository checks (push) Successful in 1m14s
Project CI / Frontend tests (push) Successful in 3m2s
Project CI / Backend tests (push) Successful in 4m5s
Project CI / Native shell tests (push) Successful in 14m31s
Closes #163

实现 child 澄清回执到 Supervisor 的 needs-user-input 中转。

- child 返回结构化问题回执,Runtime fail-closed 校验问题和 SHA-256。
- Supervisor 创建自己的 durable user.input_request,重复唤醒复用同一 action。
- 用户回答沿用 same-run 回灌,后续 continuation 绑定原 delegation。
- 补充 Rust 定向测试、技术方案和共享排障记忆。

验证:
- cargo check --tests
- cargo test ... claimed_needs_user_input_delivery_becomes_one_supervisor_wait
- cargo test ... static_delegate_user_input
- git diff --check

注:npm run check:encoding 在当前受限执行环境中因 spawnSync git EPERM 未能运行。

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/165
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
2026-08-12 20:07:59 +08:00
kdletters 5e16837f3d 恢复游戏创作 External Editor 配置入口
Project CI / Repository checks (push) Successful in 1m34s
Project CI / Frontend tests (push) Successful in 3m5s
Project CI / Backend tests (push) Successful in 4m12s
Project CI / Native shell tests (push) Failing after 10m55s
普通 Launcher、开发工作台和独立 game-chat 统一显示 External Editor 配置。

补齐配置可见性、密码输入和持久化回归测试。

同步配置静态门禁、PRD、技术合同与共享决策。
2026-08-12 18:43:55 +08:00
kdletters effdaefc63 修复游戏智能体计划拒绝后的重复规划
Project CI / Repository checks (push) Successful in 1m5s
Project CI / Frontend tests (push) Successful in 3m22s
Project CI / Native shell tests (push) Failing after 12m42s
Project CI / Backend tests (push) Successful in 3m55s
在 runtime.plan_update 被拒绝后按角色收窄下一轮工具目录

恢复 Supervisor 首次项目修改的活性门禁

补充请求目录与活性门禁回归测试

同步更新游戏创作智能体实施规则
2026-08-12 17:00:50 +08:00
k88936 8abeb333bb 统一画布快速编辑白名单与入口行为 (#140)
Project CI / Repository checks (push) Successful in 56s
Project CI / Frontend tests (push) Successful in 4m1s
Project CI / Backend tests (push) Successful in 4m26s
Project CI / Native shell tests (push) Successful in 15m12s
- 使用白名单控制快速编辑功能的显示

- 同步浮动工具栏、右键菜单、打开入口和提交门禁
- 禁用角色动作序列帧(整体)、音频和单个图标(explain: backend reject)的快速编辑

- 把快速编辑api改为只接受resource Id | asset Id,删除 image_src 参数, 以保证校验

其中包含生产数据迁移。迁移用于清理历史普通图片错误持久化的 assetKind="image",覆盖 asset → project-resource → showcase → canvas 四个作用域,并包含 operator 鉴权、分批 dry-run、批次 SHA-256 绑定 apply、active 结构化画
  > 布迁移摘要同步及最终零残留复核。

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/140
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-08-12 14:46:24 +08:00
kdletters 4c3c0e9cd4 修正GameAgent灵感区数据接入
Project CI / Repository checks (push) Successful in 1m24s
Project CI / Frontend tests (push) Successful in 3m31s
Project CI / Backend tests (push) Successful in 4m22s
Project CI / Native shell tests (push) Successful in 15m18s
保留灵感推荐空态展示

移除主站精选接口与素材类型接入

补充无数据状态回归测试与产品边界文档
2026-08-12 14:17:47 +08:00
k88936 e3d28c50af 修复陶泥儿精选点赞刷新状态 (#156)
Project CI / Frontend tests (push) Successful in 3m25s
Project CI / Repository checks (push) Successful in 1m12s
Project CI / Backend tests (push) Successful in 3m54s
Project CI / Native shell tests (push) Successful in 15m9s
原实现:

用户对某个精选素材点赞与否, 后端没有发送这部分数据

修复:

后端刷新精选素材列表(校验可选的auth信息, 不影响未登录状态的查看) , 根据这部分信息每个素材多查询一下用户是否点赞

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/156
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-08-12 13:53:30 +08:00
lhk229 be1bb8d5a1 文档:排除「改用 deny-list」并更正方案 C 代价
方案 C 原写作「两道门都自然满足」,实际只解除入口门。
validate_goal_contract_acceptance_graph 强制合同至少一个 required
验收节点、每个 required 节点至少一项 requiredEvidence,且 evidence
必须命中 agent_runtime_acceptance_evidence_tools() 的 18 项;出口门
再要求每个 required 节点有当前 revision 下的真实成功动作回执。这
18 项全是项目读写/命令/预览/生成类工具,策划 Agent 按设计一项都
不该有,.agent/planning/** 又由 Runtime 写、不产生 Agent 回执,
因此合同必然带一个永不 passed 的节点。判定不可行。

「改用 deny-list」不是独立方案,等价于 C;且策略按 agent_id 取,
plan 与构建、game-chat Supervisor 共用 project-supervisor,
per-agent deny-list 区分不了它们。两者实质差别只剩失败方向。

据此明确真正的分岔是「策划 run 是否应当是 root project-supervisor
run」,方案 D 与 B 是仅存的两条路。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 05:36:50 +00:00
lhk229 b6899619f0 文档:补全 M1 Goal Contract 死锁的第二道门与方案 D
复核发现原表述只覆盖了完成门。实际卡在两道互相独立的门:

- 入口门 validate_root_goal_contract_control_plan_at 位于通用
  tool-plan 解析路径,判据只有 agent_id 是 project-supervisor、
  binding 的 root 是自己、存在 run profile binding,既不看 source
  也不看 Run Profile。合同不存在时强制本轮恰好一个
  agent.goal_contract 动作且无 plan/plan_update/response。
- 出口门 goal_contract_acceptance_completion_blocker_at_locked
  判据含可信 source。

因此原方案 A「plan source 不进可信集合」只解除出口门,入口门照卡,
表中代价已更正。新增方案 D「plan root 改用独立 agentId」——三处
判据的共同项只有 agent_id == project-supervisor,这是唯一一次性
解耦的做法,代价是推翻第 4.1 节已冻结的 agentId。

同时记录冲突根源:现行是 deny-list 工具模型,可信 root Supervisor
默认持有 agent.goal_contract,两道门对现役 Agent 是照着做;plan
source 是首个 allow-list 模型的 source,前提对它不成立。第 4.1 节
原三分 matcher 方案随之标注为不足。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 05:24:31 +00:00
menghao 8e3d9991fa 完成资源管理的功能修复 (#154)
Project CI / Repository checks (push) Successful in 1m5s
Project CI / Frontend tests (push) Successful in 3m0s
Project CI / Backend tests (push) Successful in 4m4s
Project CI / Native shell tests (push) Successful in 14m17s
实现资源卡本体化与图片视频音频预览播放

实现四个资源分区独立高度与内外滚动

实现依赖视图确定性聚类与拓扑变化重排

补齐布局、SVG、AppSurface、性能和媒体回归

同步工作台PRD、技术方案与项目共享记忆

---------

Co-authored-by: kdletters <kdletters@qq.com>
Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/154
Co-authored-by: menghao <mh18530625731@163.com>
Co-committed-by: menghao <mh18530625731@163.com>
2026-08-12 13:14:55 +08:00
lhk229 fe4c35e918 文档:标记 M0 完成并按动态目标验收图收敛 M2/M3
M0-1~M0-4 四个工作包全部通过门禁并合入 M0 集成分支,标记 M0
全部完成,并说明此处「合入」指集成分支而非 master。

M0 期间合入的上游动态目标验收图对所有可信 root Supervisor 生效
且不看 Run Profile,与本方案多条前提冲突,一并收敛:

- M3 第 17 节:game-chat 根 Supervisor 现在必须先冻结 Goal
  Contract 才能路由,intentSummary 语义随之改变。裁定已批准 GDD
  只能作为上下文进入目标理解,不得由 Runtime 直接物化成合同;
  GDD 身份也不是验收图的合法证据取值。
- M2 第 16.1 节:steer 替换会另起 replacement root run,该 run
  必须重新冻结同一 approvedGddRef,不换稿不降级。
- M2 第 16.2 节:确定性收束与 Runtime 内部产物验证都不产生
  Provider 回执,因此不构成验收证据;不得为此暴露内部验证工具。
- 第 22 节:trusted matcher 消费者从 2 个文件更正为 10 个文件
  18 处调用,并新增 Goal Contract / Acceptance Graph 证据行。

M1 的 plan source 与 Goal Contract 协议关系保留为待裁决项,与
checkpoint handoff 私有持久化决策并列为 M1 入口前置;裁决冻结前
依赖 plan source 可信身份的 M1 代码不得合入。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 04:37:58 +00:00
lhk229 d5be71569c 合并 master 的自主构建测试锁竞态修复
Project CI / Repository checks (pull_request) Successful in 1m30s
Project CI / Frontend tests (pull_request) Successful in 3m57s
Project CI / Backend tests (pull_request) Successful in 4m41s
Project CI / Native shell tests (pull_request) Successful in 16m59s
冲突在 game_chat_pure_continue_inherits_failed_root_semantics_and_manifest_progress:
两侧是同一竞态的互斥策略。M0A-2 持有 code-prototype 的 lane 锁让 child
起不来,再释放;master 改为让 child 跑到终态并等待其持久 manifest 投影,
为此把用例改成 tokio::test。

取 master 方案并移除本侧 lane 锁:两者并存会自相矛盾——锁着 lane 时 child
到不了终态,等待必然空转。且如 master 注释所述,lane 释放本身可能早于迟到
的 manifest 投影,仅靠 lane 锁并不能保证投影已落地。

验证:game_chat_pure_continue_inherits_failed_root_semantics_and_manifest_progress
与 agent_runtime_reject_revalidates_pending_action_after_lock_wait 均通过,
后者正是本次 master 修复针对的 CI 失败用例。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 03:54:20 +00:00
lhk229 0dc24a4c43 合并最新 master 到 M0 分支
冲突解决:

- provider_request_builders:M0A-2 的固定 owner 收束边界与 master 新增的
  动态目标验收图改在同一段 prompt 构建。保留 owner 分支(固定 owner 仍不
  广告 project.verify / command.run_limited),把 master 的动态目标分支提到
  owner 判断之外对两条路径生效(固定 owner 属 goal_contract_participant,
  本就该收到禁止调用 agent.goal_contract 的边界声明),git 提交协议改为仅
  非 owner 路径追加以维持 M0A-2 边界。工具裁剪三个块并列保留,双方新增
  测试全部保留。
- SupervisorChatOnlyView:保留 M0B-2 的谱系分支,采纳 master 的
  projectWorkspaceStatusForDisplay 包装,避免该 import 变成死引用。
- runtime_actions:两侧各加一个导出,取并集。
- main_loop_tests:保留 M0B-1 需要的项目预初始化与 runtime lane。
- decision-log / pitfalls:双方条目都保留,各自维持原序。

验证:cargo check --all-targets 通过;前端 typecheck 干净;
provider_request_builders / game_chat 委派 / goal-control 共 17 条 Rust
用例通过;agentRuntimeModel 与 appSurface 共 391 条前端用例通过。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 03:48:19 +00:00
kdletters 51e35468a5 修复自主构建测试项目锁竞态
Project CI / Repository checks (push) Successful in 1m21s
Project CI / Frontend tests (push) Successful in 3m8s
Project CI / Backend tests (push) Successful in 4m24s
Project CI / Native shell tests (push) Successful in 16m33s
将纯继续契约测试改为异步并等待子任务持久化终态。

等待 Agent lane 释放后再执行后续 manifest 写入,避免后台终态投影竞争项目锁。
2026-08-12 11:42:49 +08:00
lhk229 521b0b2ad4 文档:收敛立项策划方案里的 manifest 权威性挂起项
§19 增补 manifest 非轮次身份权威源的安全不变量:双侧契约都不含
run/root 字段且跨轮复用单例文件,因此只能作为 lineage 判定通过后的
补充信号;归档快照全部写入点须校验被归档 root 仍是当前 root;本阶段
不补身份字段,补则必须同时覆盖 set_task_status 旁路。

§22 接入点表新增一行,并点明 D4 关于 approvedGddRef 是否进 manifest
的 M2 决策需一并考虑该约束。

§23.3 记录 M0B-2 挂起项的处置与明确保留的残余风险,说明三条候选机制
各自为何不可安全落地;该挂起项不再阻塞 M0-4 收口。

§24 补一条通用不变量。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 03:28:02 +00:00
lhk229 c4669a06a7 修复:收敛 game-chat 阶段归档的 manifest 捕获身份
manifest 是项目级单例、不带 root/run 身份,跨轮复用同一份文件。
终态会话同步里的异步 manifest 捕获是四处快照写入点中唯一没有校验
"被归档 root 是否仍是当前 root"的一处;该读取若在下一轮接管后才
resolve,可能把掺入新轮活动的清单冻结成旧轮归档快照。

补齐与另外三处一致的 runId 校验。跳过不会饿死归档:开下一轮前的
capturePendingGameChatStageManifestBeforeNextRun 是阻塞门,快照
未冻结时直接报错要求重试。

同时把"main 未终态前 manifest 不参与裁定"这条既有但零覆盖的边界
用回归钉住,并显式记录残余风险:main 终态后 manifest 仍被逐字采信,
跨轮残留可被当作本轮结论。该断言即裁决锚点,改动它意味着重新裁决。

决策记录补 manifest 非轮次身份权威源一条;陷阱记录补新鲜度门控的
时间戳单位错配与 set_task_status 旁路两个坑。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 03:24:10 +00:00
menghao 03a4410272 game agent无限画布开发 (#136)
Project CI / Native shell tests (push) Failing after 11m56s
Project CI / Repository checks (push) Successful in 1m5s
Project CI / Frontend tests (push) Successful in 3m20s
Project CI / Backend tests (push) Successful in 4m1s
主要工作是共享同一套“画布内核与通用 UI 源码”,网站和 Tauri 只分别实现宿主适配层。

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/136
Co-authored-by: menghao <mh18530625731@163.com>
Co-committed-by: menghao <mh18530625731@163.com>
2026-08-12 10:54:16 +08:00
lhk229 e5118d11b3 修复 CI 前端 lint 门禁
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
整理 AI 游戏创作壳 import 顺序

为 Runtime 订阅 effect 补充有意的依赖豁免说明

保留未跟踪的绘图脚本不纳入本次提交
2026-08-12 02:49:25 +00:00
kdletters e118d66699 增加提交前 TypeScript 自动格式化
Project CI / Repository checks (push) Successful in 53s
Project CI / Frontend tests (push) Successful in 3m9s
Project CI / Backend tests (push) Successful in 4m19s
Project CI / Native shell tests (push) Successful in 16m9s
接入 Husky 与 lint-staged,仅格式化暂存的 TS/TSX 文件
补充部分暂存和未暂存内容隔离回归测试
更新共享开发工作流中的提交前格式化规则
2026-08-12 10:43:29 +08:00
kdletters 1363b9374c 引入游戏智能体动态目标验收图 (#161)
Project CI / Repository checks (push) Successful in 1m14s
Project CI / Frontend tests (push) Successful in 3m16s
Project CI / Backend tests (push) Successful in 4m26s
Project CI / Native shell tests (push) Successful in 16m2s
## 变更

- 冻结根 Supervisor 的 Goal Contract
- 引入动态 Acceptance Graph 并传播到专业 Agent
- 使用当前 revision 的真实动作回执作为完成证据
- 安全处理 steer 后旧根任务树替换

## 验证

- `npm run check:native-shells`
- `npm run agc:typecheck`
- `npm run check:encoding`
- `cargo fmt --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml -- --check`
- `git diff --check`

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/161
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
2026-08-12 10:34:20 +08:00
lhk229 851db37bdc 修复:收紧 game-chat 阶段投影与归档竞态
Project CI / Repository checks (pull_request) Failing after 47s
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
严格校验 game-chat root、单主和嵌套美术 lineage,并同步 Launcher 摘要与终态后代状态。

禁用声称 game-chat 动态美术谱系的通用重试控件,保留完整 DAG 直属美术重试。

冻结终态轮次的 Runtime 与 manifest 快照,覆盖延迟刷新期间快速开始下一轮的持久归档路径。

补齐纯函数、AppSurface 回归与 M0 状态文档。
2026-08-11 17:42:49 +00:00
lhk229 8afac9c843 修复:统一 game-chat 单主阶段投影
新增精确绑定 root、main 与动态美术 child 的 game-chat 谱系投影。

统一单主进度、可玩 revision、终态归档与跨轮恢复界面语义。

收紧 final-reply、通用 retry 与异常根身份的失败关闭边界。

补齐普通 DAG 回归、谱系冲突及事件证据契约测试。

同步技术方案、架构裁决与已知陷阱文档。
2026-08-11 16:23:58 +00:00
lhk229 133cd1fa3b 修复:非委派美术来源不再误入 game-chat 谱系门
Project CI / Repository checks (pull_request) Successful in 1m6s
Project CI / Frontend tests (pull_request) Successful in 3m5s
Project CI / Backend tests (pull_request) Successful in 4m5s
Project CI / Native shell tests (pull_request) Successful in 13m56s
M0A-2 将美术写入边界统一到严格谱系判定后,缺失 Run Profile 绑定从
"视为普通美术 run"(master 语义)变成 Err 失败关闭,且发生在只读工具
豁免之前:scheduler 直启与后台来源的 art run 全部工具被拦,恢复扫描
重执行 canvas.asset_generate 也因此永远发不出外部轮询请求。

在 retry 谱系判定之后、严格谓词之前增加 source 预筛:非 agent-delegate
来源直接判 Unrestricted,交由 autonomous owner 与路径策略管辖;
agent-delegate 缺绑定与 agent-delegate-retry 的失败关闭语义不变。

治愈 CI 回归 recovery_scan_resumes_accepted_generation_on_default_worker_stack
与 command_output_read_allows_same_agent_history_and_rejects_cross_agent_action_id,
新增 non_delegated_art_sources_stay_out_of_game_chat_art_gate 钉住契约。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 13:43:35 +00:00
lhk229 d22cf19cb0 修复:明确 game-chat 美术重试跨轮恢复
typed retry 与 mutation 阻断提示改为继续对话并由下一轮 main 重新审计

保留同 run 每缺口最多一次并补 failed/cancelled 跨轮新 delivery 契约测试

同步决策记录、踩坑记录与两份 tracked 技术方案
2026-08-11 12:11:22 +00:00
lhk229 203ebba9b4 修复:收紧 game-chat 美术重试结构判定
入口结构身份改用不可变 binding 链,避免 task journal 缺失漏过 typed retry 守卫

无法完整证明的 retry-source 美术候选保持 mutation 失败关闭,同时保留完整 DAG 语义

补齐缺失 journal、无完整 binding、公开错误 kind 与全链非回归测试
2026-08-11 11:22:20 +00:00
lhk229 4d0c8e40b3 修复:封闭 game-chat 美术重试写入边界
在 successor durable 写入前类型化拒绝动态美术 child 通用 retry
将遗留 retry-source 美术 run 收敛为只读并阻断全部 mutation
补齐终态零副作用、工具矩阵及 DAG/非美术 retry 非回归测试
同步技术方案、决策记录与踩坑说明
2026-08-11 10:40:12 +00:00
lhk229 e613b07fb5 合并最新master到M0A-2开发分支
Project CI / Repository checks (pull_request) Successful in 1m21s
Project CI / Frontend tests (pull_request) Successful in 3m5s
Project CI / Backend tests (pull_request) Successful in 4m10s
Project CI / Native shell tests (pull_request) Failing after 10m35s
同步 origin/master 至 3c457feb4c

保留 M0 固定 owner 验证、本人 smoke、试玩执行者与动态 Canvas 谱系合同

通过 114 项完成合同回归、动态 Canvas 精确回归及格式编码检查
2026-08-11 09:12:10 +00:00
lhk229 9a7a799512 统一M0固定产物验证与可玩验收边界
新增四个固定 owner 的 Runtime 内部产物验证、身份校验与恢复约束

收紧 code-prototype 静态检查、试玩执行者与动态 Canvas 委派谱系

补齐项目锁竞争、完成门、路径策略和失败关闭回归测试

同步 M0A-2 决策、技术方案与项目记忆
2026-08-11 09:02:00 +00:00
lhk229 3c457feb4c 完美像素功能回归逻辑分辨率 (#155)
Project CI / Repository checks (push) Successful in 1m7s
Project CI / Frontend tests (push) Successful in 3m2s
Project CI / Backend tests (push) Successful in 4m8s
Project CI / Native shell tests (push) Successful in 13m48s
Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/155
Reviewed-by: 段舒康 <kdletters@qq.com>
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-08-11 15:58:31 +08:00
kdletters aa5c857060 修复 Godot 项目提交后的 CI 门禁
Project CI / Repository checks (push) Successful in 1m8s
Project CI / Frontend tests (push) Successful in 2m59s
Project CI / Backend tests (push) Successful in 4m0s
Project CI / Native shell tests (push) Successful in 13m41s
移除根 H5 包中冗余的 Tauri HTTP 依赖并同步锁文件
修正客户端错误边界测试的 import 顺序
固定两项后台 Runtime 恢复测试使用 Provider 模式
补充 AGC 原生 HTTP 依赖归属约束
2026-08-11 14:34:42 +08:00
kdletters 755bf80858 支持 AI 游戏创作打开现有 Godot 项目
Project CI / Repository checks (push) Failing after 44s
Project CI / Native shell tests (push) Failing after 1m42s
Project CI / Frontend tests (push) Successful in 2m50s
Project CI / Backend tests (push) Successful in 3m41s
新增 Godot 项目选择、校验、导入和项目上下文切换入口。

只在所选项目根保留 .agent 元数据,并让总控使用标准运行档。

修复发布版原生 API 访问和 React runtime 重复加载问题。

收紧 Provider 工具 Schema 子集并增加回归门禁。

补充 Rust、前端测试及 PRD、技术方案和共享决策记录。
2026-08-11 13:25:29 +08:00
k88936 4c0fdf1806 修正画布改造工具恢复链路 (#158)
Project CI / Repository checks (push) Successful in 1m4s
Project CI / Frontend tests (push) Successful in 2m54s
Project CI / Backend tests (push) Successful in 3m52s
Project CI / Native shell tests (push) Successful in 14m46s
在文档中明确改造特殊情况的处理

修复fallback到快速编辑的行为:
旧版图片按 assetKind 与 mediaType 选择工具,未知图片回落默认生成工具并保留旧版告警,而不是all in fallback到快速编辑

清理冗余代码:
移除 QuickEditPanelState 的 redraw 模式、旧提交分支及无调用结果层构造器

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/158
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-08-11 12:36:30 +08:00
kdletters 7f129ddd6e 修复 Native CI 的 Agent 模式测试隔离
Project CI / Repository checks (push) Successful in 1m10s
Project CI / Frontend tests (push) Successful in 2m52s
Project CI / Backend tests (push) Successful in 3m53s
Project CI / Native shell tests (push) Successful in 14m31s
为 Provider handoff 与 mock 请求测试显式固定 Provider 模式
同步 Goal steer 测试到条件中断语义
补充模拟 Provider 测试不得依赖本机 Codex 的排障约束
2026-08-11 11:14:38 +08:00
lhk229 da62f6bc01 文档:记录立项策划 Agent M0A-1 设计基线
新增 Fast GDD 阶段技术方案与后续实现边界
同步文档入口、文档地图和项目决策记录
记录 M0A-1 非交付检查状态与 M1 前置决策
2026-08-11 02:41:42 +00:00
kdletters 4d79971d6b 修复多模式 Provider 请求栈溢出
Project CI / Repository checks (push) Successful in 57s
Project CI / Frontend tests (push) Successful in 2m51s
Project CI / Backend tests (push) Successful in 3m36s
Project CI / Native shell tests (push) Failing after 10m48s
装箱持久重试与非持久压缩的完整 Provider 请求 future
补充默认 Tokio worker 栈溢出排障经验
同步 AI 游戏创作 Runtime 的异步装箱约束
2026-08-11 10:24:58 +08:00
kdletters 5550e24f83 接入 Codex 节点 Agent 并完善总控交互
Project CI / Repository checks (push) Successful in 1m13s
Project CI / Frontend tests (push) Successful in 2m54s
Project CI / Backend tests (push) Successful in 3m57s
Project CI / Native shell tests (push) Failing after 6m11s
新增 Codex app-server 与 CLI 节点执行模式并保留 Provider 回退
加固节点凭据隔离、终态未知回收、进程生命周期与持久恢复边界
修复资源画布等价刷新闪烁
为 Supervisor steer 增加 LLM 回复与条件中断
补齐配置界面、测试和技术文档
2026-08-10 20:58:43 +08:00
kdletters a4ead1a5d6 合并主线并同步四不写约定
Project CI / Repository checks (push) Successful in 1m16s
Project CI / Frontend tests (push) Successful in 3m0s
Project CI / Backend tests (push) Successful in 4m15s
Project CI / Native shell tests (push) Successful in 13m48s
合入最新远端主线且保留退役对象四不写规则

同步团队约定中的公开契约与正式迁移例外

保持原工作树其他已暂存和未暂存修改不变
2026-08-10 20:16:21 +08:00
kdletters 5949c2fd58 规范退役对象四不写原则
明确无现役依赖对象不写历史兼容代码与退役行为测试

禁止墓碑注释和墓碑文档并要求权威文档表达当前状态

保留公开契约、持久化数据和正式迁移的必要兼容边界
2026-08-10 20:14:30 +08:00
lhk229 bcff8f1957 修复 SFX 音效信息页元数据整块丢失 (#153)
Project CI / Native shell tests (push) Successful in 13m23s
Project CI / Repository checks (push) Successful in 1m12s
Project CI / Frontend tests (push) Successful in 2m55s
Project CI / Backend tests (push) Successful in 4m0s
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
读边界的内联媒体脱敏在每层对象上无差别删除 null 值,把 SFX 自动时长 metadata 里
合法的 requestedDurationSeconds: null 一并删掉;客户端据此判定整份 soundEffect 非法,
音频信息页的「生成输入」退化成空,Task 也被截成 0 这类误导值。手动指定时长的音效不受
影响,图片路径的 generationInputs 没有可为 null 的字段,所以只有部分 SFX 可见。

- sanitize_editor_payload_media_value 改为返回「是否被抹除」,只删除本次抹掉的内联
  媒体,调用方原有的显式 null 保留;脱敏强度不变,内联媒体与保留字段仍连键消失
- SFX 自动时长的 requestedDurationSeconds 接受显式 null 与整个键缺失两种同义形态
- 音频信息页 Task 按图层 assetKind 判定,不再随 soundEffect 元数据缺失降级成截断值

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/153
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
v0.1.3
2026-08-09 13:47:16 +08:00
kdletters dfcd67bd05 修复进程会话终止清理竞态
Project CI / Repository checks (push) Successful in 52s
Project CI / Frontend tests (push) Successful in 2m46s
Project CI / Backend tests (push) Successful in 4m6s
Project CI / Native shell tests (push) Successful in 14m34s
在发布终态通知前先移除 live registry 会话\n避免取消清理瞬时误判仍有未收束进程
2026-08-08 22:33:55 +08:00