372 Commits

Author SHA1 Message Date
lili
d763755117 feat(adapter): E2 从 sourceProject 真构建 formalize——scaffold-from-source + 单测
U2(plan 002):把「sourceProject → 可构建 game 工件」从手工探针formalize成可复用函数,
即后端确定性 modify guard-pending 在等的引擎线交付物(plan 001 U6 / plan 002 KTD2)。
- buildFactorySource(sourceProject)→ generated-factory.js 文本(适配器 import + 内联 source + 默认导出工厂)。
- scaffoldFromSource(...)→ 写 generated-factory + 拷 entry-bundle/index 模板,返 build.mjs 入口。
- 零依赖单测 3/3:文本合契约 / 内联 source 往返深等 / adapterImport 可覆盖。
- e2e 验(集成段,本机):scaffoldFromSource 落变体源(5 目标)→ build.mjs → 211KB bundle(LittleJS 真入包);
  端到端九门由 _adapter-probe 验过(046454d9)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 13:51:20 -07:00
lili
046454d95e feat(adapter): E1 build→九门端到端验证——_adapter-probe 真九门全过(score 0→3 latch✓)
U1 前置另一半(plan 002):声明式 gameDefinition → 适配器 → entry-bundle → build.mjs → 真九门绿。
- _adapter-probe/:generated-factory(adaptGameDefinition+内联 source)+ entry-bundle(拷模板)+ index(拷模板)
  + play-spec(tap-targets driver, assert score increased, expectLatch) + bundle.iife.js(211KB, LittleJS 真入包)。
- 真九门(本机快走查):A装载/B未捕获0/C掌帧Δ30/D真渲染/E活性5/5/F真接线(particles+audio)/
  G输入有效/H 机制+latch(score 0→3 + 终态驻留)/I(无 controlCheck);首局门 可玩51ms/首反馈/60s闭环7s 全过。
- 适配器跟进:① _forensicsView 改契约形态 { seed, state:()=>snapshot }(对齐 boot-game-host:283 + tictactoe);
  ② 命中加引擎粒子+音效反馈(game-feel + 满足 F 门),经 ctx.getEngine 容错。单测仍 6/6 绿。

证成:E1(repo 标"真空白"最高风险件)声明式路端到端可行;build-from-sourceProject 管线(E2)可行;
回答 adversarial MVP-latch 质疑——单 behavior 声明式游戏确过 H 门 latch。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 13:46:17 -07:00
lili
fd022821ae feat(adapter): E1 2D 适配器最小贯穿实验——声明式 gameDefinition→GameInstance(单测绿)
U1 硬前置(plan 002):验「声明式路」接缝形态端到端可行。
- create-game-from-definition.js:adaptGameDefinition(SourceProject)→GameHostFactory;
  解释 entities/components(render)/scenes/rules + 最小 behavior 词汇(input:hit-nearest-target);
  零引擎 import、容错 null engine、render 到 boot.mainContext、坐标 390×844、随机/钟走 ctx。
- _forensicsView 暴露 phase/score/targets(供九门 H + tap-targets driver)。
- rule(score>=winScore→win)在 update 评估→phase=gameover+latch 终态驻留。
- 单测 6/6 绿(node --test):init/render/tap 因果/落空/命中全部 win+latch/destroy 幂等。

边界:复杂 behavior 真逻辑由 code agent 产、编进 bundle(KTD1),本切片只证声明式路。
下一步:build.mjs→九门真玩 验输出件(U2/U3 切片)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 13:40:33 -07:00
zizi
e7243ef855 docs(plan): 6c6g 后端线 P1 Tier-0 生成主线收尾实现计划(ce-plan)
ce-plan「6c6g work list」产出(origin=6c6g 后端 P1 工作清单 requirements)。Deep 计划,7 单元:
U1 studio 编排 create/modify/extend · U2 源项目落库事务(status 机器态/孤儿) · U3 trace+cost 落值 ·
U4 缓存命中落账 · U5 giveup 完整 dump · U6 modify 不被卡部分(确定性 build-from-source guard-pending-E2) ·
U7 worker 转默认产线(feature-flag+隔离实例真验)。
范围=Tier 0 关键路径;Tier 1+ 广度 + 确定性 build-from-source(依赖引擎 E2)显式 deferred。
grounding:StudioServiceImpl / 回调内外层事务 / B2 节点实证 + execution §5/§6/§7.1。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 19:26:56 +00:00
zizi
6d21f3e434 docs(coord): 6c6g 后端线 P1 工作清单 requirements 档 + 总账 §7.1 指针
ce-brainstorm「6c6g work list」产出(创始人选 1+2):
- 新增 docs/brainstorms/2026-06-17-6c6g-后端-P1-工作清单-requirements.md:后端线 P1 完整范围
  (全 13 模块;Tier0 生成可靠=SAA 收尾 B4-B9+worker 转产线 / Tier1+ 广度后端经济/feed/社区/账号/素材/玩法模板/admin;
  边界:compliance硬化→P2、runtime真编译=架构已解(build 在 worker)、渠道/pay→P3、护城河→P2/P3;依赖/成功标准/3 待确认)
  —— 作 ce-plan 的 origin。
- 总账 §7.1 加指针指向该权威详档(协调摘要 + 详档分层,避免重复漂移,一题一活档)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 19:16:55 +00:00
zizi
e70652c57a docs(coord): 多session总账 §6/§7 刷新为契约冻结后各线当前工作清单
§7「即起 M0 contract-first」(已执行过半 stale)→「各线当前工作清单」:
- 顶部加当前进度横幅(契约冻结 8/8 + B2 16 节点合入 04f3bfee → 两线可开工)
- §7.1 后端线:B1-B3+trace/studio.yaml;Tier0 紧接 B6 studio 编排=下一件大头,B5/B8/B9/B4余/B7;广度 Tier1+;验证债 V18 Flyway/SAA e2e
- §7.2 前端+引擎线(Mac)全可开工:E1 2D适配器=最高价值首件 + E3/E4/E2/E5/E6;广度 8 页 Tier1+
- §7.3 支撑/集成/founder;关键路径=B6+E1/E3/E4 合流 M0
- §6 优先级对齐创始人重排序:玩法模板#3/素材中心#7=非最高优先级,旧「核心1-6先行」flat 口径作废

一题一活档:就地刷新协调活档,不另起新档。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 18:43:18 +00:00
zizi
04f3bfeeb6 fix(aigc): B2 codex 评审整改——救场阶梯连贯/escalate真切档/modify guard/RFC6901
codex NO-MERGE→整改:
- P0-1 validate/build/play 硬失败统一 bumpFailCount(救场阶梯 5/8 对各门生效,非仅 play+recursionLimit 兜底)
- P0-2 nreviewRouter 补 escalate 分支(narrative 同 5+3 阶梯,§5.9)
- P1-5 stage2 强档 deepseek-v4-pro(对齐 models.yaml)+ generate 按 modelTier 二维选档(升档真生效)
- P1-6 applyDeterministicPatch 改 RFC6901 JsonPointer(支持数组下标/追加,越界不损坏源)
- P2-8 classify 失败错因记 trace(非 feedback,免污染 generate 修复上下文)
- P0-3 dispatcher 透传 modifyMode/modifyPatch/baseVersionId/sourceProject + 非法 modifyMode fail-loud(禁静默走 create;job 侧填充待 B6)
- P0-4 modify deterministic guard fail-loud(failureReason=源构建管线待 B7+引擎E2;router fail→END,不静默接忽略 sourceProject 的旧 build)
- P1-7 asset 产侧 merge 真(sp.set assets;消费侧 build→GamePackage 待引擎线 E2/E3)
+5 拓扑测试(共 19 @Test 非门控);create-metric 全链连贯;§1.4 硬约束未碰。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 18:08:08 +00:00
zizi
706d014869 feat(aigc): B2 SAA 固定架构图拓扑扩展——+5 节点(classify/asset/modify/escalate/nreview)+ 救场阶梯
execution §6 拓扑落地(opus 实现 + 框架 API 对真 1.1.2.2 jar javap 核验)。11→16 节点,布线唯一源 assemble,无孤儿。
- 5 新节点:classify(真LLM物理优先→archetype/profile三维+§6.4映射表)、asset(六类规格v0+产消打通)、
  modify(deterministic改源/regenerate-module路由)、escalate(stage1→stage2+escalationEvents)、nreview(真LLM叙事审查+needsRepair计failCount)
- 布线:render→classify/modify、classify→design、scaffold→asset→build、play→player/nreview/repair/escalate/giveup、nreview→emit/repair/giveup、modify→build/generate、escalate→generate
- recursionLimitFor(maxRepairs,stage2Extra)=(m+s+1)*10+30,默认(5,3)=120;救场 5失败escalate→8失败giveup
- ALL_KEYS 字面量提升为 K_* 常量(单一源);新 SaaArchetypes §6.4 映射表契约;classify/narrative system prompt;saaStage2ExtraRepairs=3 旋钮
- 新 SaaStudioGraphTopologyTest(非门控:哑API build全图证无孤儿+Mermaid 16节点+recursionLimit+路由单测)
- 初始逻辑标 TODO(B4 救场真切stage2模型/giveup真dump/validate-build计failCount)、TODO(B7 modify深层指针/按id定位)
- additive:create-metric全链不破;§1.4硬约束(GamePackage/宿主/回调/九门harness)全未碰

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 17:33:15 +00:00
zizi
0f380a516b feat(contracts): 冻结 SAA state key 全表(ALL_KEYS +14)+ trace 扩展键 schema(§5.4/§5.8)
契约冻结门收尾(§7.0 剩 2 项后端内部契约):
- SaaStudioNodes.ALL_KEYS +14 键(archetype/tickModel/inputModel/progressModel/sourceProject/
  assetSpec/modifyMode/modifyPatch/baseVersionId/failCount/modelTier/escalationEvents/
  giveupDumpPath/narrativeReviewVerdict),全 ReplaceStrategy;先冻命名空间,classify/asset/modify/
  救场 节点 B2 实现写入(additive,存量节点不读零影响)。
- DifyCallbackReqVO.trace(开放 Map)javadoc+@Schema 文档化固定架构扩展键:
  modelTier/escalationEvents/cacheHit/giveupDumpPath/cost;落值属 B5 impl,trace_json 字节兼容。

验证:本地结构校验绿(14键无重/无撞/引号成对/数组收尾);纯 additive(字符串数组追加+注释级)。
aigc 编译 + V18 Flyway-apply 的整合 mini-desktop 验证随后跑(清验证债)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 16:54:48 +00:00
zizi
ca72fce600 feat(contracts): V18 game_source_project Flyway 迁移(源项目工件表·改源不改产物源侧存储面)
契约冻结增量:execution §5.2 源项目 DB 存储——独立 game_source_project 表(勿塞 game_version)。
两副本(studio 模块 + huijing-server 聚合,字节一致,如 V8 模式)。

字段:game_id/version_id/source_json/source_url/source_hash/schema_version/build_profile/
status(0草稿1已构建2孤儿3已发布)/base_version_id(modify 血缘)+ Yudao 审计列;
3 索引(idx_game/idx_version/idx_source_hash);头注铁律(回滚写 V18.0.1 不改本文件)。

验证:本地结构校验绿(16列/1主键/3索引/括号平衡/InnoDB+utf8mb4/审计列全);镜像已验证的 V8 studio 表约定。
⚠️ Flyway-apply-green 留批量 mini-desktop 部署(与 ALL_KEYS/trace 一并 recompile+migrate)验,本次暂未声称迁移已验。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 16:42:50 +00:00
zizi
15efff4dee docs(harness): 文档体系重构(止血最小集)——两层模型+机器可检蒸馏门
全局 ~/.claude/CLAUDE.md(仓外)退役「每任务 dated review+execution 双档」→两层喂料(WHAT/HOW)+收口蒸馏,增量 deprecate(旧档兼容)。本仓:engineering-conventions §10.6(两层心法/判层/蒸馏门/留痕 frontmatter);wave-close 第5/8步机器可检蒸馏门;AGENTS §2 目标锚去双 roadmap 二义 + §3.3 两层前门索引(模块进度 SoT=总账§2 / 自动记忆界外 / memorys 判死)。

评审 CE 5 人格(coherence/feasibility/scope/product/design)压缩至止血最小集,砍两层新目录/新收口门/评审舰队正式替换。WHAT=docs/brainstorms/2026-06-17-文档体系重构-requirements.md;决策记忆 docs-system-hybrid-two-layer(仓外)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 16:33:21 +00:00
zizi
38729ffdaa fix(contracts): studio.yaml 契约评审跟进——收紧 modifyPatch + idempotency 语义(单轮 codex 评审)
codex xhigh 契约评审 FREEZE-WITH-FIXES(零 P0 破坏)。逐条收口:
- P1 payload 必填 + mode×target.kind 锁定映射(后端可信边界校验,不用 oneOf 保 mock/codegen 简单)
- P1 target path/id anyOf 强制至少其一
- P1 payload value/intent 按 mode 必填(后端校验)
- P2 AssetContextItem 补 provider + 后端派生 assets[].id 说明
- P2 idempotency 语义(同 userId+op+key 命中返既有 taskChain/缺省不去重/TTL 24h)
- P2 execution §5.6 JSON 指针示例纠错 /gameDefinition/config/speed→/config/speed(config 顶层,对齐 keystone)

复验:YAML 绿、14 $ref 零悬空、六类对齐 keystone、现有端点/VO 零破坏。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 16:00:52 +00:00
zizi
d97d0bae5c feat(contracts): studio.yaml 冻结生命周期 API delta /studio/{create,modify,extend}(C3)
两线开工的临门 M0 契约(前↔后交汇)。additive,零改现 draft/generate/task/
regenerate 两步路。对齐已冻 keystone source-project.schema.json + execution
§5.6 modifyPatch / §12-⑥。

新增:
- 3 端点:create(draft+generate 一步式封装,templateId 缺省 generic)/modify
  (改源不改产物:deterministic 免LLM | regenerate-module 重生成单 behavior,产
  新预览版、不动 currentVersion、走发布审核)/extend(additive 内容扩展)。
- 6 VO:StudioCreateReqVO/StudioModifyReqVO/StudioModifyTarget/StudioModifyPayload/
  StudioExtendReqVO/StudioAssetContextItem(六类素材引用,取代旧 attachments)。
- TaskChainRespVO 加 additive baseVersionId(modify/extend 血缘)。
- 头注补生命周期编排说明 + x-feign seam(aigc.submitGenerate 扩 mode/baseVersionId/
  modifyPatch/idempotency=后端线落地;project 取 base 源项目引用+新预览版落库)。

校验:YAML 解析绿、14 $ref 零悬空、六类与 keystone 逐字对齐、modifyPatch enum 对齐 §5.6。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 15:46:23 +00:00
zizi
5f9f9f5b32 docs: doc-organizer 真相基线纠漂移——生成主线=agent写码于插件库(非"模板驱动")
doc-organizer-analyze.mjs 的 TRUTH 基线串 L19 仍写"生成主线=模板驱动",
系 C2 旧框架(LLM 直出 GameConfig+固定模板),已被 HJ-GEN-001 终审
(2026-06-12)整条 supersede;所有 knowledge/架构档均写"agent 写码于插件库"。
基线串是 doc-organizer 检测全仓文档漂移的真相源,写错会反向把正确档判漂移
或漏判旧档,故纠。纯字符串内容改、语法中性(改前后 node --check 同报预存的
顶层 return;L19 串两版均正常解析)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 15:15:05 +00:00
zizi
be468b6b2c docs: 玩法模板优先级全局纠偏——非最高优先级(最高=Tier0生成可靠)
创始人裁定:玩法模板(品类引导框架)非最高优先级待建。普查总账(bd93c35c)
已写对(高价值但非#1,排在Tier0生成可靠之后),但 HJ-DEMO-AUDIT-001 的
propagation 在 7 个 LIVE 档/工具里仍写"当前最高优先级待建",产生漂移。
本次全局对齐到总账已批口径。

改(LIVE,~11处/7文件):
- docs/architecture/系统概要设计-技术决策版(3处)
- docs/agent-specs/{引擎与运行时,战略与合规,文档整理-plan(3处)}
- .agents/knowledge/{tech-decisions,product-and-architecture}
- .agents/tools/doc-organizer-analyze.mjs(真相基线串,防再传播)
留:_archive 3 档历史记录不改正文(现行 canonical 纠正后即权威)。
memory 另在 ~/.claude 改(不入仓)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 14:51:40 +00:00
zizi
ebb994b155 docs(conventions): §10.5 立 canonical 活档约定 + knowledge 加 canonical 指针
§10.5(补 §10.4 子系统粒度落地):canonical 活档=无日期主题名子系统SoT,与§10.1 dated命名词表互补;
dated spec 波次收口折进对应 canonical;分层 canonical>knowledge速查>architecture基线>总账状态(不双写)。
product-and-architecture 加子系统 canonical 指针(知识层→canonical 接线)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 14:14:11 +00:00
zizi
ee55a2db6a docs(merge): _index 合并——settled canonical(本session Phase A) + 生成域设计链(他session 固定架构)
cherry-pick 本 session 4 提交(深度重构 Phase A + 增量整理)到 origin(他 session 生成域设计链已先落);
_index 合并双线:settled 7 域=canonical 活档 / 生成域=固定架构设计链;两线文件零冲突共存。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 14:06:22 +00:00
zizi
317d3943e3 chore(organizer): record 深度重构Phase A 清理锚点(2abdd676)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 14:03:27 +00:00
zizi
023a2630c3 docs(restructure): agent-specs 深度重构 Phase A——42流水档→7子系统canonical+总账瘦身
深度重构(创始人批:settled 7域现在做/生成域待协调/FOLD源git rm/_archive只增/无日期主题名/canonical=子系统SoT)。
分析=10主题簇 opus fan-out(1.1M tok);计划经 opus 对抗评审 GO-带必修(prompt活档补回/总账§6取证搬归档不压删/git-status划波)。

7 子系统 canonical(子系统SoT·一域一档·≤150行·砍历史过程·留现行架构+目标+现状+指针):
- agentic编排-SAA / 引擎与运行时 / 开闸验收门-W-G1 / 渠道发行 / studio前端设计体系 / 变现与单位经济 / 战略与合规
- prompt治理体系-execution = KEEP(Prompt第8契约,已是canonical形态)

源档处置(Phase A settled,全committed):
- FOLD 15 + DELETE 1 → git rm(活内容已蒸进canonical,git历史留存)
- ARCHIVE 10 → _archive/(收口报告/取证账本)
- 顶层 dated 档 42→17(剩生成域Phase-B + 治理 + KEEP dossier)

总账(评审M2:不压删):§6波次史42行整段搬 _archive/总账-波次史归档.md(一字不丢)+正文留里程碑摘要+指针。
_index 重构为 canonical 导航;skills+mvp 6档断链→canonical;活档归档引用→_archive。

Phase B(待协调,本次不动):生成主线/固定架构/产品路线图——含他session 06-17在飞WIP,红线不擅动。
留痕:docs/agent-specs/2026-06-17-agent-specs深度重构-plan.md(计划+opus评审)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 14:03:27 +00:00
zizi
fef964ca02 chore(organizer): record 2026-06-17 清理时间锚点(下轮增量窗口起点)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 14:03:27 +00:00
zizi
ebd615c93e docs(organizer): 06-16增量文档整理——压2归2+玩法模板术语17处对齐+总账除漂移
doc-organizer 两阶段审批门·阶段二(创始人批:执行/全改17处/清PNG/动态日期)。
分析相=25 opus agent 三轴只读 fan-out;计划经 opus 对抗评审 GO-带必修。

轴①过期分类(20档):
- COMPRESS 2桩: round2-staging-e2e-verdict→round3(703e462c)、生成引擎-并行编排→多session总账
- ARCHIVE 2: 技术决策版重写-review(对齐已落)/视觉增强repair-review(NO-GO) 入 _archive/
- KEEP 16: W-G1开闸验收门/studio设计体系HJ-FE-DS-001/生成线 在飞 SoT 不动

轴②核心档措辞:
- 玩法模板术语17处跨4核心档+工具analyze.mjs TRUTH 对齐 HJ-DEMO-AUDIT-001
  (废=游戏模板/填参线;玩法模板=品类框架·引导生成·未废=最高优先级待建)
- Dify/OpenGame家族0真改(已标作废/future-state/决策史,证实06-16对齐可信)
- W-T1b-Runner历史档顶部加术语指针(正文不改)

轴③总账: M2现在时漂移修(四模板→W-CLEAN清+generic桥接接棒,demo审计C6)
  + 06-17工作回填(SAA trace真库收口/generic开闸首件/crypto.subtle整款加载修/census)

工具: doc-organizer.sh 硬编码06-16→动态 latest_date(免一天即过期)
清: 7证据PNG(留report.md) | _index 活地图维护(supersede链/补漏登/修断链)
留痕: docs/agent-specs/2026-06-17-文档整理-plan.md(计划+评审)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 14:03:27 +00:00
zizi
2751d98724 feat(contracts): 冻结 keystone 契约 source-project.schema.json + 收口 execution 待解
- 新增 contracts/agent-loop/source-project.schema.json:游戏源项目工件 schema(两开发线交汇 keystone)——轻量声明式领域模型(entity/component/behavior/scene/rule)+ profile 三维(tick/input/progress)+ 六类 assetSpec + config;改源不改打包产物;draft-07 valid JSON。后端线产出/落库、引擎线 2D 适配器消费。
- 收口 execution §12 全部待解(创始人 2026-06-17「按推荐」):①源项目表=studio 模块 ②后端 RuntimeBuild 仅落包(构建留 worker/SAA build.mjs) ③缓存/classify spike 已绿 ④classify→archetype 映射表=引导非校验 ⑤narrative needsRepair=true 等价一次九门失败计入 failCount ⑥studio create=draft+generate 一步式封装。
- 校正:V18 SQL 入 game-cloud 模块迁移(后端线实现),非 stale 的 contracts/db-schemas(契约副本约定已停于 V9)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 12:37:45 +00:00
zizi
133182d803 docs(governance): 立「一题一活档」规则 + 收敛生成主线设计档(删 v1/归档 v2)
起因:本会话同一设计(生成主线)随 4 次 reframe 产 4 份 review/execution、过期 v1 被连推上 origin = 文档 sprawl + 过期档误导(反模式)。

预防(规则,根治):
- engineering-conventions §10.4「一题一活档」:同一设计主题就地修订一份活档、禁「一 pivot 一文件」;review/execution 拆分仅当两者同时为活;终稿自洽;supersede 同提交删/归档(强化 §10.2);commit 设计档前自检。
- wave-close 第8步补:同一任务设计档收敛成最小自洽集(典型 1 review+1 execution)、被取代者同提交删/归档。
- (doc-organizer 轴①已检测 SUPERSEDED/DUP = 事后兜底;§10.4 = 事前根治)

收敛(应用):
- 删 v1(对话生成修改素材-review,D5「改打包产物」前提已被评审证伪=纯误导)。
- v2(生命周期项目管理-review)生命周期原则折入固定架构 review §1 使其自洽 → 归档 _archive/ + SUPERSEDED 墓碑。
- 固定架构 review §4 从 §10.1 收敛(消 opus 点的两份 agent 表分叉)。
- _index 活地图登记(固定架构 review+execution=ACTIVE、supersede 链记 v1/v2 收敛)。
留最小自洽集 = 固定架构 review(自洽)+ execution。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 12:16:57 +00:00
zizi
c98ec11d6f docs(spec): 生成主线设计链——固定游戏架构+SAA agentic studio(review+execution)
本会话生成主线架构设计全链(4 spec):
- v1 对话生成/修改+素材 → v2 游戏生命周期项目管理(游戏=长生命周期源项目、改源不改打包产物)
- 固定游戏架构+SAA agentic studio review:Opus 设计固定架构、cheap 填槽、轻量声明式领域模型+tick/input/progress profile、2D 适配器(3D 后)、救场阶梯、缓存三段式、agent 列表深析并入、架构玩法解耦、narrative 子系统
- execution 版:锁 8 契约(源项目 schema/V18 DB/产物源分离/SAA state 全表/asset 产消/modifyPatch/唯一构建 API/trace+cost)+ 拓扑表(无孤儿)+ 两线切分
- 两 spike 全绿并入:new-api 网关前缀缓存透传(76-93%)、classify 准确率(tickModel 100%/archetype 93%)
- 经 codex+opus 双评审 + Opus 独立验证(impl 单轮)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 11:54:31 +00:00
zizi
723c2f7697 docs(coord): 协调总账重构——三阶段/两开发线/增量集成(创始人拍板)
MVP 重定义=Phase 1(8页全运转+简单游戏生成/修改/玩+admin经济,非终点);
Phase2=Cocos复杂游戏+云内测+ops;Phase3=外部全集成+全维优化+agentic运维。
两开发线按浏览器轴切:后端线(6c6g编辑/mini-desktop构建)+前端引擎线(Mac本地+浏览器),
交汇只在三契约(API/dispatcher/manifest)。集成=风险驱动增量(M0核心纵切最先拉通→M1/M2/M3),
非大爆炸。去闸门(只卡集成不卡开发)+交叉评审保独立性。Phase1=11工作流映射两线。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 07:15:31 +00:00
zizi
2f1a797237 docs(audit): demo↔三文档套件缺口冲突审计 review + 创始人术语纠正
HJ-DEMO-AUDIT-001。30 子代理 workflow 盘点 demo 9 视图实然功能、对照 Doc A/B/C
覆盖、检冲突(13 核实/3 伪冲突剔除)+主 agent 回源复核。创始人纠正中心论点:
W-CLEAN 废的是「游戏模板」(pre-built 整游戏代码/填参),「玩法模板」(品类框架·
引导生成)未废、为当前最高优先级待建功能 → C1 作废、C2/C7 重定性。入 _index 活地图。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 06:14:24 +00:00
zizi
bd93c35c2d docs(census): 产品功能×技术模块完成度与优先级总账(2026-06-17)——155功能/13模块逐条读码实证+两套优先级
两路 Opus forensic 逐条核实:产品 155 功能(P0 18/18🟡/19🔴,全155真端到端仅18且全属P0)、
技术 13 模块(5/🟡6/◻2/🔴0,地基稳无 split-brain)。功能优先级按产品目标四档
(Tier0 生成可靠→Tier1 闭环补洞含玩法模板非#1→Tier2 变现受日历闸门→Tier3 护城河),
模块优先级按整体架构(aigc 关键路径/compliance 地基门/runtime/feed/受闸门变现/后置)。
术语纠正贯穿:W-CLEAN 废的是游戏模板(整局填参),玩法模板为有效 P0 待建。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 06:01:43 +00:00
zizi
6f537ef67f docs(audit): demo审计 review 创始人纠正——玩法模板未废(游戏模板才废),中心论点重判
- 术语错位纠正:W-CLEAN 废的是「游戏模板」(pre-built整游戏代码/旧4模板填参),非「玩法模板」
- 玩法模板(品类/玩法框架·引导AI生成)=有效产品功能·最高开发优先级·待建,非已废范式
- C1作废/C2·C7重定性(P-TPL是有效P0未建,limbo已由generic桥接7534bdf9解)
- 顶部⚠️纠正横幅+L29头结论+L199状态表行就地改;其余轴不受影响仍成立

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 05:04:37 +00:00
zizi
7534bdf9b7 feat(create): generic 桥接——一句话创作无需选模板即可生成(入口归一缺省 templateId=generic)
背景:W-CLEAN 废玩法模板层后 template/list 返空,创作页「开始生成」因 canSubmit 依赖
「必须选中模板」而恒禁用;后端 @NotBlank/同源白名单/派发分支/落包一致性四道硬约束又要求
templateId 必填非空。核心思想=在入口把缺省 templateId 归一为 "generic"(恰好命中
SUPPORTED_TEMPLATE_IDS=[generic] 单一通用口径,品类区分留 prompt 层),四道约束以「恰好
generic」全部一致通过,DB 零改(template_id NOT NULL DEFAULT '' 归一后落 generic)、后端业务零改。

契约层(2):aigc.yaml AigcGenerateReqVO required 去 templateId、project.yaml
  ProjectCreateReqVO required 去 templateId,templateId 描述标注「可选,缺省 generic」。
后端层(归一 generic):
  - AigcGenerateReqVO/ProjectCreateReqVO/StudioDraftCreateReqVO 去 templateId @NotBlank +
    requiredMode REQUIRED→NOT_REQUIRED;
  - AigcTaskServiceImpl.submitGenerate 在 validateTemplateExists 前归一(validateTemplateExists 不改);
  - ProjectServiceImpl.createProject(BeanUtils.toBean 后)归一;
  - StudioServiceImpl.createDraft 原「空 templateId 抛 STUDIO_TEMPLATE_REQUIRED」改为归一 generic;
  - ProjectApi.createProject 的 templateId @Parameter required 放开(契约面一致避免 drift)。
前端 game-studio(去模板门):types.ts 两请求体 templateId 改可选;store/create.ts、api/aigc.ts
  generate 入参改可选;Create.vue canSubmit 去「必须选中模板」条件(prompt 非空即可提交)、
  onSubmit 缺省传 'generic'(空态下也能提交)。
测试校正:StudioServiceImplTest「空模板抛错」→「空模板归一 generic 透传 project」(行为变更)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 04:05:39 +00:00
zizi
870bf56bfb docs(review): 开闸·一句话入口接线 review版——拆模板门走generic生成路(开闸首件)
- 结论:后端生成引擎+feed已就绪真验,唯一工程堵点=创作页"迁移空窗"(Create.vue硬门控选模板,W-CLEAN废模板→template/list空→开始生成永禁用→一句话主链结构性断)
- 接线=模板驱动→一句话驱动(generic路):契约templateId可选默认generic+Create.vue去模板门+后端接无模板,改动小/向后兼容/风险低(generic路R3已真验)
- 现状已接地file:line;Mermaid全链;C1-C4待创始人拍(发布门admin-gated/templateId可选/可选品类提示/创作者白名单)
- 验收=种子一句话→真生成→入feed→真人试玩(6c6g mini-desktop真机验)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 03:27:08 +00:00
zizi
e0fba66b06 docs(coord): 多session分工与任务总账(角色分权版)——Mac实现/6c6g独立评审+真机验/studio前端
- 分权模型:Mac主力重实现(本地浏览器迭代)/6c6g架构+独立质量门(研究·spec·独立review·mini-desktop真机验·UI走查·DB异常分析·轻dev)/studio前端;实现方≠评审验证方逮作者盲点
- 每功能环线:6c6g写spec(2轮评审)→Mac实现→6c6g独立review diff→6c6g mini-desktop真机验→收口蒸馏
- game-runtime放Mac:代码轻但验证需浏览器(6c6g禁chrome);6c6g轻dev=契约/schema/SQL/prompt文本/纯逻辑
- dev先行集成测后置:外部key(SMS/微信/抖音/支付/广告)只阻塞集成测+真实API,不阻塞开发→E lane降级dev-now/integ-test-later
- 任务总账角色版(Lane A后端/B引擎/P产品主线对话修改+素材/C studio/D founder/E外部对接)+权重+关键路径
- _index注册置顶,取代旧2026-06-16-生成引擎-并行编排.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 03:18:32 +00:00
zizi
3f712499b6 fix(aigc): SAA 图启动期 eager 预热——修早期 boot fast-fail 冷启 race(Round2 §7-2/Round3 doc line 77)
现象(Round2/Round3 真库实证):dispatcher=saa 实例重启后首 2~3 个 dispatch fast-fail
(llm_error,无 saa-dispatch/图构造日志=图未热/ensureGraph race),第 4 个起稳态。
根因:compiledGraph 原懒构造于"首个 dispatch",首个 dispatch 撞冷启窗口。

修(最小+低风险,选 eager 预热而非首N次重试):新增 @PostConstruct warmUpGraphEagerly,
Bean 装配后主动预构造编译图一次,使首个真实 dispatch 不再撞冷启 race。

eager 安全性(已读真代码核实非推断):SaaStudioGraph.build→assemble 只做
addNode/addConditionalEdges+compile(纯内存布线无 I/O);OpenAiApi.build() 是惰性 HTTP
客户端(构造不发请求);唯一副作用是 checkpoint 开启时 MysqlSaver.build() 跑
CREATE TABLE IF NOT EXISTS(幂等 DDL,本就要在首个 dispatch 跑,提前到启动期无新增风险);
serve 端口 4320/CDP 9222 只在 play 节点运行时触达,构造期完全不碰=预热不占端口、
不起浏览器、不引入启动阻塞副作用。

三重非破坏性护栏:① 仅 dispatcher=saa 才预热(http 路零额外开销、零 DDL,保现行保证不破);
② game-runtime 目录缺失则跳过(留首个 dispatch 报投递失败,不在启动期下结论);
③ best-effort——构造失败一律吞+warn,compiledGraph 留 null → 首个 dispatch 走 ensureGraph
原样重试(行为完全回到修前),绝不让预热失败拖垮应用启动。

验证边界:加 SaaDispatcherWiringTest 两轻断言(http 预热 no-op 图保持 null /
saa 缺目录优雅跳过不抛)+ dispatcherSaa 上下文 hasNotFailed(坐实 @PostConstruct 不破启动);
mini-desktop SaaDispatcherWiringTest 4/0/0 全绿。完整 boot 时序(重启后首 dispatch
不再 fast-fail)未在本轮真机复跑,留 staging 复验。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 02:47:24 +00:00
zizi
5f6cdd0ce3 fix(aigc): F5 修 ReadinessScorer.firstPlay 既存 bug——H_progress 嵌套对象读 .pass(HTTP+SAA 两路 0.5→可达1.0)
根因(真代码+真 verdict.json 实证):真实 verdict.json 的 guards.H_progress 是嵌套对象
{pass,checks,latch,state0,state1}(见 contracts/agent-loop/verdict.schema.json 与
evidence-3bB-final/*-verdict.json;worker _extract_trace 原样透传 guards,SAA 同源),
非裸 bool。scoreFirstPlay 原 asBool(guards.get("H_progress")) → asBool(Map) 落 String
分支恒 false → firstPlay 永卡中性 0.5、永不 1.0(HTTP+SAA 两路同病)。

修:新增 guardPass(Object) 读真值——H_progress 是 Map 取其 .pass 布尔(真实形态);
保留对裸 bool 的向后兼容(老格式/单测夹具)。修后 hasDriver ∧ H_progress.pass=true
→ firstPlay=1.0。源端(SAA/HTTP)产出字节零变更,只改评分器读取口径。

校正受影响单测真值:SaaGraphDispatcherTraceTest.extract_readinessFivePoints
满状态分 83→95(0.50×1.0+0.25×1.0+0.15×1.0+0.10×0.5=0.95);并改写原把"firstPlay
恒 0.5 quirk"当作有意行为的注释/Javadoc(那是修前对 bug 的合理化),坐实现为已修。
DifyCallbackTxTraceTest 用 mock scorer(返 82/50/12)不受影响;其真实算分用例只断
(0,100]+pass>fail 区间,无精确值,仍绿。

验证(mini-desktop 隔离构建树 a09a03e9+patch):SaaGraphDispatcherTraceTest 7/0/0、
DifyCallbackTxTraceTest 6/0/0 全绿。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 02:46:59 +00:00
zizi
a09a03e91e docs(round3): SAA路trace接线split-brain真库收口——verdict落档+saa-graph§6蒸馏+_index注册
- verdict: dispatcher=saa+trace.enabled=true真库验trace_json非空/readiness=74,开关关NULL(additive字节零变),进程内非HTTP非HMAC,live未动
- saa-graph§6: 新增「多派发路·回调可观测字段必须每路都set」铁律(回调trace split-brain,与发布裁决split-brain区分)+字节兼容红线+readiness浮动/firstPlay quirk坑
- _index: SAA段注册execution+verdict为已收口,登记F5/F3/早期boot预热follow-up

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 02:06:34 +00:00
zizi
aff886d192 docs(skill): ui-walkthrough-cdp 红线——非安全上下文(IP/http)crypto.subtle 缺陷已修(4e486f60)+门禁经localhost系统性掩盖上下文依赖缺陷的血泪教训
走查环境 localhost=安全上下文,会掩盖 crypto.subtle/isSecureContext 等门控特性缺陷;
用户可见 UI/e2e 必须另跑真实访问 origin(IP/明文http)。当走查需 workaround 避开某失败时,
先问真实用户是否同样撞上——本次线上游戏「加载失败」即此坑被当走查技巧记着、没当产品缺陷修。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 01:18:06 +00:00
zizi
703e462c96 fix(aigc): 闭合 SAA 进程内派发路 trace 接线 split-brain——dispatcher=saa 时落 trace_json/readiness_score
组B(96081a57)给 game_aigc_task 加了 trace_json/readiness_score 可观测列,HTTP worker 路经
service.py:_extract_trace 抽 trace 落库;但 SAA 进程内路(SaaGraphDispatcher.buildCallbackReqVO)
构造回调 reqVO 时从不 setTrace,故 dispatcher=saa(未来主力)时 trace_json 恒 NULL、组B 的
9d/D11/D9 静默失效。本提交在 buildCallbackReqVO 末尾(return 前)新增 extractTraceQuietly,
从图终态 OverAllState 抽一个与 HTTP 路 _extract_trace 字节兼容的 camelCase trace map 并 setTrace。

实现要点:
- 严格 additive(独立成段紧贴 return,删两行即回到修前;null 不 set 走存量旁路)+ best-effort
  (整段 try-catch,抽不到/解析失败返 null,绝不打断 SAA 生成)+ 复用组B 同一 feature flag
  aigc.trace.enabled,落库由现成 persistTraceQuietly 兜底,零改契约/零改消费侧/零改 HTTP 路。
- 键集严格对齐 HTTP 子集:必填 pass/repairs/wallS/models/attempts/gameId/stage + 可选
  gatespec/sevenGateVerdict{pass,guards}/tokens/player;cost 键 v0 整段省略(SAA 只有 token,
  token≠¥,挂 cost 语义错→efficiency 中性 0.5 非阻断);similarity 永远省略(D9 未接 SAA)。
- attempts snake→camel(stage_fail→stageFail、usage 仅 {in,out}),不含 per-attempt guards/
  sevenGatePass(已核 appendAttempt 三调用点 SAA attempt 从不写,不伪造)。
- models 取 K_TOKENS_BY_MODEL 名键 ∪ attempts[].{role:model} 并集(纯 attempts 缺 player 模型)。
- wallS 唯一来源是 runGraphAndCallback 计时变量 wallMs,透传进 buildCallbackReqVO(签名加参,
  唯一调用点同步加参)。safeFailedCallback(图崩溃兜底路)默认不补 setTrace(state 不可达,F4)。

测试(mini-desktop x86 权威构建机,clean test):
- 新增 SaaGraphDispatcherTraceTest 7 用例全绿(纯单元,桩 OverAllState,不起图/不起DB):
  键集对齐 HTTP 子集、attempts camelCase 无 guards、抽出 map 喂真实 ReadinessScorer.score
  得真值(firstPlay=0.5 评分器既存 quirk + efficiency 中性 0.5 → 总分 83,非过度承诺满分)、
  parse-fail/null-state 返 null 不抛、snake→camel red-line、cost 省略 efficiency 中性不报错。
- aigc-server 模块全量 119 测全绿(Failures:0 Errors:0 Skipped:4),零回归,
  尤其 DifyCallbackTxTraceTest 6/0/0、DifyCallbackServiceImplTest 13/0/0。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 01:16:07 +00:00
zizi
4e486f60bc fix(studio-host): 非安全上下文(明文IP http)整款游戏加载失败——crypto.subtle缺失退demo误报
根因:经局域网 IP 明文 http(如 http://100.64.0.7:4173)跨内网机访问时,浏览器判为
「非安全上下文」,window.crypto.subtle 为 undefined。inject.ts 的 sha256Hex 旧实现此时
直接抛错 → fetchAndVerifyManifest 完整性校验失败 → GamePlayer 退 demo 兜底,而 W-CLEAN 后
demo 是「模板体系重构中」并发 game_error → 页面误报「游戏加载失败/网络波动」(真因是上下文
不安全,非网络)。门禁此前经 localhost(安全上下文)走查,subtle 可用,故漏过此类上下文依赖缺陷。

修复:sha256Hex 改双通道——优先 Web Crypto SubtleCrypto(安全上下文,原生最快);缺失时回退
纯 JS SHA-256(FIPS 180-4,零依赖,确定性)。两通道对同一份 UTF-8 字节摘要,结果逐字节一致,
使 manifest 完整性校验在「明文 IP http」与「安全上下文」下行为一致,整款引擎游戏正常装载。
仅改 game-studio/src/host/inject.ts(+89/-12),不动契约/不放宽 CSP/不削弱完整性校验。

验证:
① 纯 JS SHA-256 对已知向量 + 跨块边界 + 真 manifest(214KB→456c38cb,与后端 checksum 及
   node crypto 三方一致)13/13 通过;
② npm run build -- --mode staging(vue-tsc -b 真类型门 + vite build)EXIT=0;
③ CDP 经 http://100.64.0.7:4173(实测 isSecureContext=false、crypto.subtle 缺失)深链
   /play/9306/93112:真 LittleJS 引擎装载、井字棋棋盘渲染、loading 收起、无 [GamePlayer]
   兜底 warn、无错误态——修复前同路径报「游戏加载失败」。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 01:15:00 +00:00
zizi
7de582e4c7 docs(distill): Lane D2 Round1 学习蒸馏回填——4 处就近落档(split-brain铁律/隔离-D真验/localStorage走查/防悬空提交)
把 Round1 四条已验证学习整合进既有文件(就近插入·保持风格·零孤儿新文件):
- saa-graph-orchestration §6:铁律「worker succeeded ≠ 准予发布」(split-brain 防线)——九门 runnableOk=机制可玩 ≠ 准予发布,发布裁决归治理层,生产化前安全门由 W-G1 GP9 接管(来源 Lane B agent-loop-v1 退役登记)
- staging-ops §3:配方「隔离实例 + -D 注入真验 feature-flagged 后端改动」——起 :48090 隔离实例、JVM -D 注开关+safety baseUrl/key/model,零改 repo/yaml、live 不动(来源 Lane E G1 GP9 10/10 真验)
- ui-walkthrough-cdp §3:小配方「localStorage 注入 token 过 requiresAuth 走查」——免登录直达受保护页只读走查(来源 Lane E G0)
- 2026-06-16-生成引擎-并行编排 §3:硬规则#7「ultracode 并行 worktree 防悬空提交」——git ops 必须 git -C <worktree>、禁 commit 主 checkout、主 agent 推送前核验 commit 真在其分支(来源 Lane E 错落成悬空 commit 已 cherry-pick 救回)

README 索引无需动(4 处均为既有文件内容补充,非结构性增删改名)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 19:10:05 +00:00
zizi
0e8e36e517 feat(aigc): Lane A2 后端三项跟进——source 列结构隔离 + failed 路 trace 补测 + stale 注释对齐
Task1(执行器↔编排器并发结构隔离,原 M-b §16-4 M-c 候选):
- V17.0.0 加 game_aigc_task.source 列(additive NOT NULL DEFAULT 'online',接 V16 不抢号,存量回填 online)
- AigcTaskDO 加 source 字段 + AigcTaskSourceEnum(online/orchestrator/worker)
- submitGenerate/retryTask 创建处落 online;编排器经同入口伪装在线提交、ReqVO 无 source 信号无法在此辨别 → 统一 online,
  「编排器经契约声明 orchestrator + 执行器据此隔离」属后续契约决策(留口未接线,见 V17 头注/枚举)

Task2(组B 评审遗留 P2):
- DifyCallbackTxTraceTest 补 testTracePersist_failedPath:failed 回调→markTaskFailed 后 persistTraceQuietly
  落失败轨迹 trace_json(updateById×3)、主链置 FAILED 终态、completeWithVersion/产物链一次不调

Task3(stale 注释对齐,只改注释不改逻辑):
- AigcTemplateConstants/getTemplateList/validateTemplateExists 三处「空白名单/clicker+merge」措辞 → 对齐真相
  SUPPORTED_TEMPLATE_IDS=["generic"](getTemplateList 返回空选单列表与白名单是两个口径,注明区分)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 19:10:00 +00:00
zizi
0138bec3dc docs(lane-s): round-2 staging e2e 双验证 verdict——V16真库+form① SAA(V1-V4)+组B落库 全PASS
隔离实例 :48090(dispatcher=saa,连 staging V15 真库),live :48080 全程未动(pid479414不变,每步HTTP200)。
- V16 真库验(最低交付)PASS:game_aigc_task 真建 trace_json(json,序13)+readiness_score(smallint,序14)
  紧贴 failure_reason 后,flyway 16.0.0 success=1 exec32ms,boot 前基线无两列(实证本次真建)。
- form① SAA(task140) V1-V4 全PASS:图真跑 design→generate(M2.7真产engineBundle212901含__GameBundle)
  →scaffold→esbuild→九门真玩;首次8/9门(挡板I_control真可玩,H_progress=false)→SAA图repair环重生
  →最终九门全过→status=succeeded(wall479s);进程内回调(saa-graph-dispatcher-1线程,无HTTP/dify
  /callback-internal无HMAC)→versionId93113落包checksum c07ece…→回写currentVersionId。
  V4落「version就绪+待发布」正确档:包scene=preview可取/scene=play未发布门控/project9318留DRAFT
  →feed过滤未发布(worker succeeded≠发布,退役登记§5,链路无缺口缺的只是过发布门)。
- 组B落库(经HTTP回调路=组B实际接线路,task139)PASS:trace_json 12键/必填子集7项全非空/
  D9 similarity{dupHit,titleNorm,sig,dupWith}内嵌/readiness_score=96∈[0,100]/RespVO透出96。
- checkpoint step5顺带PASS:GRAPH_CHECKPOINT+GRAPH_THREAD真建;SaaNewApiGenerateSmokeTest真调new-api PASS。

揪出2真问题+1取证坑:
①[设计边界·split-brain双向实证]SaaGraphDispatcher.buildCallbackReqVO不setTrace→task140 SAA路
  成功但trace_json恒NULL/readiness NULL(对比task139 HTTP路trace非空readiness96);组B 9d/D11/D9
  三件在SAA生产路全失效(组B只接HTTP worker路,git实证未触Saa*),需补SAA路_extract_trace等价物;
②[可靠性·待复现]早期boot的task137/138 fast-fail llm_error(取证受阻于append:吞日志,改shell
  重定向后task140恰成功未在同一次取到根因,标待复现不夸大);
③[取证坑·已绕过]systemd append:吞后台线程stdout日志,改shell > file重定向解。

证据:/root/lane-s-48090.log + verdict.json + DB实查 + 截图;harness=/root/{saa_form1_e2e,groupb_landing}.py。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 19:06:16 +00:00
zizi
2c96e63a5f feat(studio-ds-polish): 品牌→绘境AI + 3 helper 标签 i18n + 裸令牌收口
- 对外品牌 common.brand: 造梦AI→绘境AI / ZaoMeng AI→Huijing AI(创始人拍板 huijing)
- helper i18n: status.ts/msg-type.ts/biz-meta.ts 的 label→labelKey(common.projectStatus/msgType/bizStatus/bizType),状态徽章/消息类型/biz 标签英文态也翻译;8 消费方包 t()(13 处)
- 裸旧令牌收口: var(--cyan/--green/--amber)→--accent/--success/--warning(严格等值,零视觉变化)
- 逻辑/契约枚举键/color/查找语义零改

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 18:13:06 +00:00
zizi
96081a574c feat(aigc): W-G1 组B 落库组——9d trace 账本 + D11 就绪评分 + D9 反同质化(全非阻断)
把 worker 已产出、当前在边界被丢弃的富生成轨迹(9d)接过来落库,补"放了能管/追溯/不雷同"
三件 v0 能力,全部 best-effort 非阻断(口号"放了能管,非放了能拦")。三件全关=现行字节零变。

契约先行:
- contracts/api-schemas/aigc.yaml DifyCallbackReqVO 加 trace(object,nullable) additive 字段;
  顺带补 engineBundle 漂移对齐(Java 已加 yaml 漏)——守契约先行收口。

9d trace 账本(公共底座):
- Flyway V16.0.0:game_aigc_task 加 trace_json(JSON NULL)+readiness_score(SMALLINT NULL),
  additive 可空 AFTER failure_reason(接 V15 组A level,勿撞号);AigcTaskDO 加两映射字段。
- worker service.py:_extract_trace 从 run_studio result 抽 9d 子集(必填子集7项+可选段,camelCase),
  build_callback_payload 加 result 参可携 trace,handle_job 把 result 提到函数作用域传入(成败路都抽)。
- 后端 DifyCallbackTxService.persistTraceQuietly:succeeded 步骤⑦后 + failed markTaskFailed 后
  best-effort 落 trace_json;全程 try-catch 吞异常,绝不回滚三表写链/绝不阻断 PUBLISHED。

D11 就绪评分:
- 新建 ReadinessScorer:读 trace 算 0-100(playability 0.50/firstPlay 0.25/stability 0.15/efficiency 0.10,
  权重占位待校准;缺字段取中性 0.5,纯函数无副作用);算分独立 try-catch,失败仅 readiness 降级 NULL、
  不拖累 trace 落库(§7)。AigcTaskRespVO 加 readinessScore(BeanUtils 平铺自动映射)→ /task/page 零改透出。

D9 反同质化:
- 新建 worker agent_loop/dedup.py:移植 agent-loop-v1 run_batch.py:96 _norm_text(归一≈复制)
  + ledger.py:50 mint_design_id 思路(compute_sig 精确撞重键);重接 _dedup_gate 逻辑——解绑实例状态
  改 FS jsonl 登记表、engine 路取字段(title=brief 派生/theme=generic 占位)、落库改塞 trace.similarity。
- studio.py result 注入 similarity(AIGC_DEDUP_ENABLED 开关门控);撞重只 log.warn+dupHit=true,
  照常回调入 feed(v0 只观测避免误杀,九门已是硬地板)。

回滚:三件各一开关(aigc.trace.enabled 默认 false/D11 随 trace/AIGC_DEDUP_ENABLED),全关=逐字一致;
列 additive 可空,真回滚写 V17 drop(不改 V16,遵 V2.0.0 头注铁律)。不触公平性铁律(只读 gatespec)。

验证(mini-desktop /root/build-lane-a 隔离目录):
- Java:aigc-server 全模块 clean test 111/111 通过(0 fail/0 err/4 skip,BUILD SUCCESS);
  含新 DifyCallbackTxTraceTest 5/5(trace 落库/失败不阻断/D11 算分 pass-vs-fail/算分失败不阻断/RespVO 可见)
  + 既有 DifyCallbackServiceImplTest 13/13 零回归(坐实 traceEnabled=false 现行行为字节一致)。
- worker:wg1_groupb_test.py 17/17(9d trace 必填子集完整率 5/5=100% + D9 撞重/归一/不撞/坏行容错);
  真 venv 验 dedup/service/studio import 链健康 + result=None additive 兼容。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 18:04:02 +00:00
zizi
6412bf30e4 docs(open-gate): 开闸前置两道验证 G0/G1 verdict——G0创作页W-CLEAN过渡态非缺陷·G1 GP9十负例staging真验10/10阻断
Lane E 在 mini-desktop staging 做(live :48080 全程不动):
- G0:CDP 只读走查 studio :4173 创作页——template/list HTTP 200 非故障返空→诚实空态「升级中」+「开始生成」disabled+「去游戏流」出口;零console错;按设计W-CLEAN过渡态,非断点缺陷,无需交studio session修。
- G1:隔离实例 :48090(-D 注入 aigc.control-plane.enabled=true + safety baseUrl http://100.64.0.8:3000 + NEWAPI_KEY),10条违规负例经 submitGenerate 提交侧门④真 new-api(MiniMax-M2.7) 判定 100% safe=false→100% 抛 AIGC_UNSAFE_PROMPT(1101001004)、0条落库(日志栈帧+game_aigc_task双实证)。
两道开闸硬前提均通过,无blocker。临时验证态(48090/9222)测后已停。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 18:00:31 +00:00
zizi
1d5ee31723 docs(saa): Lane B 收尾两件——agent-loop-v1 退役登记 + form① e2e 跑测方案(ready-to-run)
普查 §3「P1·SAA 框架收尾」两 row 交付:
- 退役登记: 厘清 SAA 只继任 per-job worker 躯体(非 batch 治理外壳);
  judge D1-D10/ledger 幂等/预算闸八项/查重 四块逻辑归宿三分(已迁worker
  /直接退役/留治理层);给 A段(worker冻结)+B段(治理层退役)两段触发条件;
  挖出最高优先级硬前置=saa 路当前无对抗 P0 安全门(须 W-G1 GP9 接管)
  + 判据 split-brain 风险(worker succeeded≠准予发布)。
- form① e2e 跑测方案: 真job走 studio→tick→dispatcher=saa→SAA图九门
  →进程内 handleCallback→feed 全链;harness 复用 backend_gw.py 黑盒观察
  (V1九门/V2真生成/V3进程内回调无HTTP/V4入feed);前置/验收/失败旁路齐全;
  本轮仅 prep 标 ready-to-run(staging 归 Lane E,不抢)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 17:58:09 +00:00
zizi
1bb29a5589 feat(studio-ds-batch): 批量波次——其余15视图克隆金样板(token+i18n+SVG图标+圆角)
5 簇并行迁移(逻辑零改,opus 子代理执行+主代理验证):
- 入口: Login/Share/Play  - 生成流: Task/Preview  - 项目: Project/Detail/Publish/StatusBadge
- 中枢: Message/Dashboard  - 企业: BizLeads/BizCreate/BizLeadDetail/BizTemplatePicker
- i18n: 各簇 local-scope 注入(entry/taskflow/project/hub/biz 命名空间,中英同构)
- Icon 补 close/ban/plus/lock/phone/clock/inbox/edit/trash
- 硬编码色→语义令牌、emoji/字形→<Icon>、圆角统一

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 17:10:54 +00:00
zizi
2c74069144 docs(gen): 生成引擎并行开发编排——依赖图 + 5 车道(worktree隔离) + studio session 边界
把普查清单 open 任务切成可并行车道:A(aigc后端/DB·组B→source列→R6 车道内串行)/B(SAA worker)/
C(质量harness成本)/D(prompt-gatespec 双侧同步)/E(开闸前置 G0创作页核实 + G1 GP9 staging验);
game-studio/ 全域划归另一 session,接缝(FeedCard templateName / sort_score / SSE)走契约先行 + 通知。
Flyway 版本预分配 V16/V17 防抢号;跨车道依赖 + 创始人卡点(labels.json/2安全洞/日历闸门)标清。供多 session 共用。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 16:41:13 +00:00
zizi
911fdc8ded docs(gen): W-G1 开闸验收门·组B execution——落库组(9d trace+D11就绪分+D9反同质化)v0 spec
7 锚点亲核到真 file:line + 断链洞见证实(worker 产全数据·build_callback_payload 只塞 5+2 字段丢富 result);
三件 additive 可空 + 全程非阻断 best-effort + feature-flag(全关=字节不变);契约先行(aigc.yaml 加 trace + 补 engineBundle 漂移);
D11 审核台 /task/page 后端透出防孤儿 + 前端展示坐实为产品轨 follow-up(game-admin 确无 aigc 任务页·review 页消费 ProjectApi);
V16 合一迁移(trace_json JSON + readiness_score SMALLINT);D9 移植 _norm_text/重接 _dedup_gate 诚实标重接成本。
4 待确认留 v0 占位待校准(必填子集7项/D11占位权重display-only/D9精确撞重only/事务内best-effort)。未评审未实现,仅 spec。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 16:41:13 +00:00
zizi
87f00323ce fix(studio-ds): P5 评审收口——a11y + 文案 + 注释清理
- 补 icon-only 按钮 aria-label:Feed 上/下切换(common.action.prev/next)
- GameCard 封面播放区键盘可达:role=button/tabindex/aria-label/@keydown.enter.space
- 新增 common.action.prev/next 中英文案;删 InteractBar 过期注释(flag 已补)

P5 of HJ-FE-DS-001。opus 评审无 P0、逻辑保真经机器 diff 实证;修 P1-1 无障碍。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 16:26:09 +00:00
zizi
caa2e1ba03 feat(studio-ds): P4 代表面落地——Feed簇/Create/Profile/TabBar 接入设计体系+i18n+SVG图标+多档主题
- Feed/GameCard/InteractBar + Create + Profile + TabBar:硬编码色→语义令牌、emoji/字形→<Icon>、圆角统一、文案 i18n 化(feed/create/profile 命名空间)
- EmptyState 增 iconName(SVG,向后兼容)消 Create ⚠/;Icon 补 flag/projects/dashboard/enterprise/help/warning
- i18n/index.ts 合并 feed/create 命名空间;Profile 走页内 local-scope;TabBar 用 common.nav
- Profile 接入 <AppearanceSwitch>(暗/浅/柔 + 中/英 切换入口=决议②落地)

P4 of HJ-FE-DS-001 金样板。逻辑零改(子代理只动样式/文案/图标,主代理验证)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 16:26:09 +00:00
zizi
655673eb99 feat(studio-ds): P3 组件库——AppButton 令牌化(grad-primary/on-accent/focus环) + 新增 Icon(SVG)/Field/AppearanceSwitch
P3 of HJ-FE-DS-001 金样板。通用品牌组件,P4 接入 Feed/Create/Profile。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 16:26:09 +00:00