361 Commits

Author SHA1 Message Date
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
zizi
ecae9025a9 feat(studio-ds): P2 i18n 脚手架——vue-i18n@10 + zh/en locales + 防闪烁早设脚本 + useAppearance(主题/语言持久化)
P2 of HJ-FE-DS-001 金样板。后续 P3 组件库 / P4 Feed+Create 落地。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 16:26:08 +00:00
zizi
2cd9bff52c docs(architecture): 技术决策版补 2 处远期标记(L227/L119) + 修 doc-organizer args 兜底
doc-organizer skill 首次 dry-run 产出:分析(5 agent workflow)+对抗评审逮出上轮人工重写漏的 2 处真漂移——§2.3 三模式表「全自定义编排」行(L227) + 角色权限表「专业创作者」行(L119):把未建的「可视化/工作流编排」当现行、无 future-state 标记,与 L180/L815/L122(P1)自相矛盾 → 补「(远期)」对齐,不删 Dify(其余处系有意决策史)。

doc-organizer-analyze.mjs:修 Workflow 透传 args 为 JSON 字符串时不解析的坑(加 typeof string→JSON.parse 兜底),dry-run 实证(首跑 0 agent 空转→修后 5 agent 真跑 340K tok)。证据目录归档(低优先)按创始人决定延后。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 15:47:59 +00:00
zizi
51c6811e11 feat(agents): 文档整理助手 skill(doc-organizer)——增量 + 两阶段审批门
承接创始人需求:手动触发、增量(记上次清理时间→只分析该窗口)、两阶段审批门(发起分析 Workflow→编清理计划→评审→创始人批准后才动手清理)。把 2026-06-16 首轮目录治理固化为可重复可控流程。

三轴:①过期历史档→归档/压缩 ②核心设计档→措辞对齐现行真相 ③主任务总账→回填。组成:.agents/skills/doc-organizer.md(playbook两阶段) + .agents/tools/doc-organizer.sh(检测scan/可逆归档archive/记时record,实测exit0) + doc-organizer-analyze.mjs(分析相Workflow,三轴fan-out只读) + doc-organizer-state.json(seed 7f24a344@2026-06-16)。

手动触发=~/.claude/skills/doc-organizer/SKILL.md 薄入口(本机注册,照 _gstack-command 范式;执行逻辑随仓走)。红线:检测自动·判断留人·脚本不自删·阶段一只读·最新日在飞档不碰·白名单 orchestrator/channel-spike/generation-spike。索引同步 AGENTS §5 + .agents/README。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 15:47:59 +00:00
zizi
f98ad0f801 docs(fe-ds): studio视觉体系/i18n/通用组件库 双spec+mockup+P1token层(HJ-FE-DS-001)
评审版+执行版双spec、真chrome验证mockup(zh/en+暗/浅/柔三主题实时切换)、P1 tokens.css体系化补全(全additive·旧令牌保留→暗色零回归)。
创始人5决议:响应式消费Web否决demo桌面侧栏/暗色先行+设置内多档主题/SVG图标替emoji/金样板先行/统一圆角矩形(禁药丸椭圆)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 14:55:47 +00:00
zizi
88d4cf7e02 docs(skill): game-e2e-cdp-harness §9——组C 首局门 + A/B 输入因果判定 + 2 harness 红线蒸馏
- 首局门(firstPlay 派生超集,additive 不并入 verdict.pass)+ 品类从 driver 家族反推(路A 零改生成侧)
- ★ A/B 输入因果判定:动画自走类裸帧会重言式假绿/假SKIP → 改控制体维度(paddle.x)A/B 真判
- ★ 2 红线:后台 CDP target rAF 冻结→串行单实例多趟;控制体因果探针须点远端边非 ball-x
- ★ playableMs=warm 局限(冷启隔离 warmupMs,bundle 首加载退化留 staging 冷缓存校准)+ 受控面 determinism 是 A/B 前提

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 22:45:18 +08:00
zizi
d4f16aabff feat(wg1-groupc): 九门 harness 加首局体验门(品类化·additive 派生超集)——3 断言三款真玩全绿+skill 类首反馈 A/B 真判
组C 严谨首反馈:A/B 无输入对照,skill 类升级真判(超上一档诚实化 SKIP):
- 上一档(P1-1)把动画自走类(skill/action,如 breakout)首反馈标 SKIP,因「帧哈希 changed」对动球
  是重言式(球每帧本就在动)非输入因果。本档落地 A/B 无输入对照,把 SKIP 升级为真判——
  动画自走类的输入因果靠「有输入 vs 无输入的差异」鉴别,而非裸帧变。
- 复用 G 门 A/B 范式:三趟 fresh 实例同 seed(缺省 0x1234abcd)+LittleJS 固定步推进到【同一绝对帧】比对:
  A=无输入自走基线 / Ap=无输入纯净探针 / B=派一招首招。real 引擎自由运行(host 不掌 RAF/无法暂停回退),
  三趟落帧有 ≤数帧抖动→动球自走位置略差,故【不】用裸帧哈希等值(过严必假 SKIP),分阶梯判:
    [0] 控制体维度(input-controllable,最干净免动球抖动):spec.controlCheck.paddlePath(如 breakout
        paddle.x)——A 趟控制体停默认位、B 趟点远端边连派 tapsPerTarget 拍被移开;|ctrlB-ctrlA|>moveMin
        =真输入因果 true。这是 prompt「只比 input-controllable 维度」之意。
    [1] 否则 state 级因果(remaining/score/moves/phase A vs B 变)=次强信号,直接 true;
    [2] 否则像素信号/噪声(noise=diff(A,Ap)基线抖动地板,signal=diff(A,B));signal 显著超 noise→true(兜底);
    [3] noise 超顶=非确定性(unseeded random/wall-clock)→不可净判 SKIP(血统债,不假判);
    [4] signal≈noise 且无控制体维度→SKIP(动球抖动可能盖过信号,不假 FAIL)。
- 必须串行跑三趟:headless Chrome 对后台 target rAF 节流/冻结,并发开三个只前台跑(实测 A/Ap frame=-1、
  B=2484 全程跑完=对照失效);串行下每趟=当前唯一活动 target 满速,确定性保同绝对帧自走态可比。
- 纪律:路A 零改契约/prompt/play-spec,只动 play.cdp.cjs(additive,advanceToFrame 加 pollMs 缺省 100 向后兼容,
  G 门逐字不变);静态盘类(placement/avoidance)走原单趟口径不动;首局门 FAIL 不阻断九门;warm-only 标注保留。
- 重验(mini-desktop Chrome/CDP):breakout 首反馈 假 SKIP→真判 (控制体 paddle.x delta=145,A=195/B=50,
  control-body-moved,净判=true);tictactoe/saolei 首反馈仍真(单趟 state变=true);三款九门零回归
  (逐门 base==verify,均 A-I 全 true,base 跑于 pristine ee1b697e);firstPlay.pass 全 true。
- 诚实:breakout A/B 净判靠控制体维度(paddle.x),非裸全帧像素——实测裸全帧 noise≈signal(球每帧动+两趟落帧
  抖动污染),故有控制体路径优先取该维度免污染;无控制体路径的 skill 类退信号/噪声兜底,signal≈noise 即诚实 SKIP。

P2-1 warm-only 局限标注保留:playableMs=预热后 warm 稳态,不覆盖 bundle 首加载退化;warmupMs 记冷启;
真机 first-load 阈值校准留 staging。本门 v0 守得住卡死/装载失败退化,守不住大 bundle/慢首加载退化。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 22:38:33 +08:00
zizi
7f24a344d0 docs(agent-specs): B2 归档——64 个闭线工作记录移入 _archive/,热目录顶层 90→26
承接目录治理:上轮只压缩内容未减文件数,闭线工作记录仍平铺致目录看着仍一堆(创始人指出)。本次执行 B2 归档。

64 个 ≤06-15 闭线档(25 压缩桩 + 闭线 review/report/纪要/edit-plan)git mv 入 docs/agent-specs/_archive/(文件名不变、仍 git 跟踪可查)。热目录 ≤06-15 仅留 13 活档(决策/纲领/SoT/活spike)+13 个 06-16 在飞。

活资产 20 处旧路径引用(.agents/docs/memory/_index)同步改 _archive/,引用断裂复测=0;_index 活地图 + 治理档状态收口。约束:0 个 06-16 被移、orchestrator 等未跟踪在飞档零误纳。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 13:26:19 +00:00
zizi
8e7ace3ec3 docs(architecture): 核心设计档全线对齐现行真相(技术决策版/开发团队版/投资人版/护城河)
承接核心设计文档真相对齐,创始人批『全部核心档一起对齐』。废弃选型(Dify/OpenGame/自研Canvas/ComfyUI/AgentScope)曾被当现行架构详述,新接手照信即落废栈。

技术决策版(架构基线 1528→1562):4 张 Mermaid 重画(DIFY/OG/COMFY/CANVAS_RT→new-api/SAA/mmx/LittleJS)+3 选型表翻面+删虚构字段 dify_workflow_id+MQ/Nacos 标 future-state(框架自带·MVP未部署)+顶部横幅升 v2.1+决策索引补 6 行。

开发团队版(13处)/投资人版(8处)/护城河(5处):事实性技术栈改现行,工程目标态细节+护城河论述/愿景保留;Doc B 那处 AgentScope 已是『作废→SAA』现行标注。事实核查据 contracts/+game-cloud 实测。Mermaid 结构校验通过未真渲染→建议 mini-desktop 终确认。待定夺=成本或高估(¥4,300按纪律未改)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 12:24:46 +00:00
zizi
45ec5cc6c3 docs(review): 消费侧钱包最小闭环评审版(HJ-PAYWALLET-001)——admin手动加余额可行性 + go/no-go
- 读码实证两套钱包:创作者收益(trade,已建)/消费支付(huijing-module-pay yudao原生,完整但pom注释未接入)
- admin 手动加余额=yudao /pay/wallet/update-balance 现成端点,接入 pay 后近乎免费(M4 已隔离实测接入启动干净零冲突)
- "加余额其余都正常"不成立:消费扣款游戏侧零接线、会员订阅未建(v2.0)
- 最小波次=接入pay+admin加余额+1条内购扣款闭环(会员订阅 out);裁断=新增scope非MVP闭环必需,推荐推迟保MVP聚焦(关键路径仍是日历闸门+IAA),待创始人 go/no-go
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 12:17:16 +00:00
zizi
eb3b3a162d docs(plan): 技术决策版重写计划补事实核查结论(MQ/Nacos=future-state勿删·dify_workflow_id=虚构字段删·new-api/SAA已实测真接入)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 12:17:16 +00:00
zizi
c52a8305a0 docs: 文档真相对齐——蓝图除锈 + 工作记录压缩/退役06-09设计簇 + 技术决策版重写计划
承接 agent-specs 目录治理对『哪些工作记录该压缩 vs 哪些核心设计档该重写』的追问,按目标 1→3→2 落地。

[1 蓝图除锈] .agents/knowledge 4 档(tech-decisions/glossary/product-and-architecture/mvp-scope)外科改 11 处:把 Dify/OpenGame/自研Canvas/ComfyUI/AgentScope 当现行架构的过期表述,改为现行口径(模板驱动 via new-api / LittleJS / SAA HJ-AGI-002 / mmx-cli);已正确标降级的 mention 不动。

[3 压缩+退役] 23 个已收口 execution/edit-plan 巨档压成桩(留状态横幅+目标+结论+权威指针;Mc批② 1305→9、wave3 985→8、A0 789→9、P3 641→10…);退役 06-09 核心功能技术实现方案单体(2360→9)+总体设计-review(选型层全过期)并删其 sections/ DUP(11 文件)。docs/agent-specs 21M→4.0M。

[2 重写计划] 技术决策版(AGENTS §4 架构基线,96 处废弃选型词)逐节重写计划落 docs/agent-specs/2026-06-16-技术决策版重写-review.md,待创始人批准后执行——本提交未动其正文。

约束:仅动文件名 ≤2026-06-15 的件 + .agents 蓝图,0 个 06-16 在飞档被改。完整方案见 2026-06-16-agent-specs目录治理-review.md。

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