lili
|
b31cc37a4f
|
chore(brand): 造梦AI→绘境AI 全活层品牌不变量收口(441 文件)
把活层退役旧品牌「造梦AI」统一改为现行「绘境AI」,brand-invariant 门红线归零。构成:
~412 Java @author 署名 + game-studio/index.html 浏览器标题 + game-runtime/package.json 描述
+ game-admin/.env VITE_APP_TITLE 运营后台标题 + contracts API title/@Schema 用户协议示例/events 描述
+ docs-design mockup 品牌位 + 各模块注释。全是注释/显示/元数据,零逻辑改动。
zaomeng 拼音持久化标识符按 2026-06-24 评审 GR-05 不动(347 处保留)。
白名单(docs/ip 法律备案 / _archive / 带日期留痕)与 AGENTS.md 门定义自身不动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 08:29:11 -07:00 |
|
lili
|
5661e2015f
|
feat(contracts): source-project schema 挖 gamedef V1 子树(保留文件·收敛单 V2)
contracts/agent-loop/source-project.schema.json(A-model keystone 契约,
不可整删):
- 删 $defs/sourceProjectV1(schemaVersion "1.0"、含 gameDefinition 声明式表示)
- 删仅 V1 用的 $defs:entity / component / behavior / scene / rule
- oneOf 由 [V1,V2] 收敛为单 [V2];顶层 + profile/assetSpec description
去 "1.0 gamedef legacy" / "1.0/2.0 共用" 措辞
- 保留:整个 sourceProjectV2(A-model 多文件代码工件)+ 共用 profile/assetSpec
contracts/api-schemas/studio.yaml:StudioModifyTarget 的 path 字段示例
里 /gameDefinition/scenes/2 → /files/src/game.js(端点/字段结构保留,仅
更新失效示例措辞)。
验证:
- source-project.schema.json 仍合法 JSON(python3 -m json.tool 过),无悬空
$ref(删的 5 个 def 无别处引用)、无 V1/gameDefinition 残留
- studio.yaml 仍合法 YAML
- 经查无任何测试/运行期校验器加载本 JSON schema 做校验(存储层把
source_json 当不透明 blob),删 V1 纯文档级、不影响运行期/测试
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 02:27:28 -07:00 |
|
lili
|
d0626e1f1c
|
feat(aigc): 删 gamedef skeleton 注入(三仓一物·成套清)
Plan A·Phase 2 的 Template-First gamedef 骨架注入整套删除:
- contracts/agent-loop/skeletons/{breakout,simon,tictactoe}.json(空目录随之消失)
- SaaSkeletons.java(纯 gamedef 专属:forArchetype 返 gamedef JSON 骨架)
- pom.xml(aigc-server)去 agent-loop/skeletons/*.json 的 classpath include
(templates/*.schema.json 等其它 include 保留)
- SaaPrompts.java 删 appendSkeletonIfAny 定义 + 两处调用(buildGameDefMessages
firstAttempt 分支翻转为 !firstAttempt 消空块;historyFirstUser gamedef
分支去骨架追加)
skeleton 是 gamedef 中间表示的"已过门结构参照",随 gamedef 路线废弃一并清。
验证:mvn -pl aigc-server -am compile = BUILD SUCCESS(Java 改动可编译)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 02:04:02 -07:00 |
|
zizi
|
29e081626c
|
Merge 'feat/tier2-phaser-engine' → dev/2.0.0:tier2 富游戏自治引擎 B门 P1-P3+配置外置 收拢主干
并入 tier2 引擎线 4 提交(P1 验收质量层 advisory / P2 自治深化=工作室Team+工作记忆+洋葱钩子+¥熔断 /
P3 装载与品类=落库seam+品类机制 / 配置外置=genconfig+prompt Registry)。
合并干净(merge-tree 零冲突)——tier2/ 与 A-model 的 game-runtime/ 不重叠。
引擎机制 token 真跑通(mini-desktop 全链 import OK + 金标冒烟 GREEN 九门9/9+富三门3/3);过门率优化(spike ~20%)在 dev 继续。
既无并行开发,收拢到主干;feat 分支保留。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 06:10:54 +00:00 |
|
zizi
|
c9dbd50d80
|
feat(tier2): B门-配置外置——生成器旋钮 + prompt 全部数据驱动(调生成=改数据重跑、不改码)
让"调生成"从改代码变成改数据,直接给"优化 20% 过门率"的迭代提速。默认值=现有硬编码值、行为字节不变,改外部数据才生效。
【生成配置层】genconfig.py + tier2/config/generation.yaml:
把硬编码旋钮(model 选择 / 熔断·预算 rmb_hard_limit=3.0 / 迭代 writer_max_iters=40 / 工作室 Team leader_max_iters=12·per_expert_cap=2 / 品类参数)
抽成中央 YAML、运行时读(env TIER2_GENCONFIG 覆盖 + 缺省回落内置默认);config/middleware/studio/design_team 改读 genconfig。
回归:4 关键旋钮默认取值 == 改造前硬编码值;整 worker 包编译过。
(未externalize:fallback_tree ★阈值 + harness HUMAN_MIN_PATIENCE 门阈值——门阈值次要、gates 现 advisory,留后续。)
【Prompt 外置】prompts.py + contracts/prompts/09-tier2-richgame/(8 .md)+ registry.yaml:
tier2 的 8 条 system prompt(writer/design-leader/4 专家/player/design-system)外置到 Prompt Registry(契约#8),
运行时按 id 读 + 三级回落(env > registry .md > 内置原文)+ best-effort 不中断;{{input.*}} 字符串替换(避开裸 JSON 花括号噎 format)。
roles.py 改读 registry 但对外接口字节不变(studio/design_team call site 零改)。
回归:13/13 产物逐字节 == 改造前(含带参 design_leader/writer 四种入参组合);registry 缺失回落内置原文。Tier0/1 既有 8 条 prompt 零改动(red line)。
全 tier2/+contracts/prompts/ 内、零碰 Tier0/1、compileall + forbidden-import 通过。注:两 workflow 中 U1(genconfig)结构化报告解析失败(基建层),代码已落盘且主会话直接复核(编译+默认值回归过)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 05:32:37 +00:00 |
|
zizi
|
2c4e2e2248
|
feat(tier2): B门-P1 验收质量层(advisory)——人可玩门 + L2 full + L3 升门判据
修「gate 通过≠人能玩」盲区(feie-005 实证:过九门+富三门却棋盘渲染空 + 8s 耐心人玩不了)。
补齐 D 族三层校验,全 advisory(写 verdict 不碰 decision;自带 Goodhart 守护:advisory 全挂也不翻 decision):
- 人可玩门(play-phaser.cdp.cjs):render-reflects-state(状态有 item→该格 canvas 像素须非空)
+ render-sanity(无 [object Object]/undefined/NaN 漏底文本)+ human-timing(订单耐心 ≥ HUMAN_MIN_PATIENCE_MS=12000·★directional)
- L2 设计符合 full(run.py compute_l2_signals):systemsPresent/mergeDag/ordersReachable/economyConsistent 四硬判据,
从落盘源工程确定性算(替桩)
- L3 升门判据(run.py derive_l3_egregious + studio.py):消费 humanPlayability 的恶性渲染失败→suggestFatal 信号
- schema additive:humanPlayability 段 + L2.mismatches + L3.egregiousRenderFailure
离线验证:py_compile / node --check / JSON 合法 / 24 断言单测(含 Goodhart 守护:advisory 全挂 decision 字节不变)/
金标 L2 离线 passed=True + 反例精确报错。
**fatal 提升 + 金标冒烟集成验证待 mini-desktop**:确认金标仍 ACCEPT(新检查不抛、全 pass)+ feie-005 被挂后,
逐条提 fatal(品类限定有 board/orders 档)。校准数据:金标 patience=16-20s / feie-005=8s / 阈值候选 12s。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 03:46:19 +00:00 |
|
zizi
|
a1e9265305
|
Merge 'feat/mac-amodel-foundation' → dev/2.0.0:A-model 地基(Tier1 agentic 优化)
并入 A-model 分支 22 提交:4 编排插件(hud-ui/scene-fsm/session-score/timer-scheduler,
各带 api.d.ts/impl/manifest/test)+ catch-fruit 样板游戏 + amodel-gen 工具链
(gen/m3/play/prompt/tools/publish.mjs)+ boot-game-host/all-plugins/plugin 扩展 +
source-project.schema.json 升 oneOf(1.0 gamedef-legacy / 2.0 A-model 多文件代码工件)。
唯一冲突 = contracts/agent-loop/source-project.schema.json 顶层 description(两侧都改):
取 A-model 的 oneOf 结构升级为基底,再补回 dev 侧的 tier2-边界 note(本 schema 限 Tier0/1;
tier2 真 Phaser 引擎另立独立 schema、不复用本路)——两侧意图互补不矛盾(HANDOFF 已预判)。
JSON 校验通过,oneOf 2 支 + 两侧意图均在。
dev/2.0.0 侧 ~20 提交(tier2 计划/细图/接口协议/agentscope 2.0.2 订正)全在 docs/tier2/contracts,
与 A-model 的 game-runtime 改动零代码重叠。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 03:33:30 +00:00 |
|
zizi
|
d6e977a5ac
|
feat(tier2): 图说对账补全核心引擎待补——n≥30 runbook基建+观测成本接线+L3软检(全加性/observe-only)
按 tier2 图说目标做缺口分析(8族逐元素比对),补齐 0号 spike 为过门收窄掉、
但图说明确要求的「核心引擎待补」项。全部加性/observe-only:金标冒烟仍 ACCEPT
(九门9/9+富游戏三门3/3,门一道没放松),真依赖下全链 import+自测+一款真 M3 跑验证通过。
G族(n≥30 runbook 执行基建):
- worker/config.py: build_model_openai 便宜档 client(deepseek 经 new-api OpenAI 兼容路,与 M3 Anthropic 路并存)
- worker/run_record.py: G4 采集字段表 → 可序列化 RunRecord(含退路树分流键 fail_system)
- worker/fallback_tree.py: 退路树五出口判定器(Q1–Q4 数字触发线,★阈值常量区待校准)
- batch_run.py / aggregate.py: model×variant×n 批跑(断点续跑/失败隔离)+ 矩阵聚合三图喂判定器
H族(观测/成本接线,把孤儿件缝进 run 主链):
- observability/newapi_pricing.py: 活读 new-api /api/pricing 倍率(取不到回落显式参数+告警)
- middleware.py: Tier2TraceMiddleware 挂 writer agent 最外层洋葱,ReAct 全事件旁路 ingest
- agent_loop/studio.py 收口: records→cost_for_run 折¥;真跑实测 cost_rmb=1.29(newapi-live)、trace 647事件 dropped=0
- contracts/trace/: additive trace 事件契约位(忠实 trace.py 落 sink 形状)
D族(L3 视觉软检接线,observe-only):
- agent_loop/studio.py: 收口调一次 M3 多模态(真截图+真玩取证→fun映射0-100),只写 verdict.L3,绝不参与 decision
- 真跑实测 L3 score=25 准确指出空心表现层;decision=fix 仍由 L1硬门/熔断裁、与 L3 无关(防 Goodhart 成立)
留后(不投机抢建):工作室 Agent Team/第二装载落库/控制面/Agent Service 等按 plan 决策②⑤ gate 到 B门后;
n≥30 等统计相是「跑」非「写」(批跑底座已就位);A-model 4插件复用待合并对账;4处图说 spec-drift 待 doc 线回写。
详见 tier2/HANDOFF.md「图说对账补全」节。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 02:11:59 +00:00 |
|
zizi
|
856a583325
|
feat(tier2): Phaser 自治生成引擎全栈首落(workflow 9 agent 建·6c6g 静态全过)
override spike-first(创始人 06-23 裁),全栈铺 Phaser tier2 引擎。recon→契约→6模块并行→集成 workflow 产出 ~60 文件,全 6c6g 静态校验过、红线零碰 Tier0/1 产线:
- 契约(6):tier2-source-project.schema / tier2-verdict.schema(fork·round放开·三层校验+富游戏门)/ toolkit 签名 / 探针钩子 / boot-phaser-host.d.ts / mini-肥鹅 fixture 规格
- M1 Phaser scaffold+装载 host+引擎能力面(19;logic-smoke 13/13:五耦合点真接线+赢输双路径+latch不回弹)
- M2 CDP 探针 Phaser 重写+business-sim driver+九门+富游戏三门(5;verdict 过 schema)
- M3 Python 单写 ReAct agent loop+9 工具 toolkit+M3 Anthropic接法+四熔断(9;mini-desktop 真 2.0.2 venv 验:import/9工具/中间件注册 OK)
- M4 datatable schema+金标+资产占位(4)/ M5 prompt+Phaser skill+rag(13)/ M6 成本 RecordingChatModel+trace adapter(3)
- 集成:run_engine.py 入口 + 接线断点已修 + RUN-ON-MINI-DESKTOP.md
待 mini-desktop 真跑(esbuild build + CDP 九门 + M3 生成 = 本质即 0号 spike)。AgentScope 2.0.2 API 逐条对 /root/oss/agentscope 源码核验。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-23 20:13:44 +00:00 |
|
lili
|
3b425c4294
|
feat(amodel-gen): Phase 1 契约 — source-project.schema.json 升 oneOf(1.0 gamedef / 2.0 A-model)
execution spec v3 Phase 1(contract-first,HJ-AGI-003):
- 顶层判别式 schemaVersion:1.0=gamedef legacy 声明式(冻结只读,退役后不再产)/ 2.0=A-model 多文件代码工件 {files,entry,globalName:__GameBundle,plugins}。
- profile / assetSpec 提到 $defs 两分支共用;1.0 分支约束等价旧顶层(无 1.0 读者破坏)。
- ajv 8/8 验证:1.0/2.0 valid + 6 反例拒(缺 required / 未知版本 / 错 globalName / additionalProperties 双向 / gameDefinition 泄漏)。
- agent-loop 活契约(verdict/game-design/skeletons)未动。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-22 00:26:24 -07:00 |
|
zizi
|
5cadf5042c
|
docs: ③ 五决策落地(1B trace 改'待立新类' · 2A 源项目契约另立独立 schema/防撞在产线 · 3A 前端 tier2 承载归属桩 · 4B 护城河对外暂不改+内部备注 · 5B 渠道竞标加 tier2 祛魅交叉引用)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-21 17:13:29 +00:00 |
|
lili
|
ad22be9b3a
|
feat(saa): Phase 2 Template-First gamedef 骨架机制(flag 旁挂默认关;A/B 负面=不迁移到便宜 thinking-off)
机制(OpenGame +10.1 杠杆试落):
- SaaSkeletons 加载器:archetype→3 金标准过门纯净骨架(gd-breakout/tictactoe/simon,verdict.pass=true+rt纯净+过 Phase3 坑门),按 (tick/input) profile 映射;经济类(merge/idle/tycoon)无近似骨架不登记=走无骨架,绝不喂低质骨架。
- 注入:SaaPrompts buildGameDefMessages(openai 首生成)/historyFirstUser(anthropic 首轮) 追加骨架段(结构参照、非照抄,题面不符以题面为准);救场轮不注。
- pom 拷 contracts/agent-loop/skeletons/*.json 进 classpath。flag -Dsaa.gen.skeletonFirst=1 开,默认关=生成字节零变、零回归。
A/B 实测(thinking-off + skeleton conc=12 vs A 基线):
- 7/12(58.3%) ≤ A 8/12(67%),失败仍 E_live 哑火(#4,5,9,11,12) → 骨架没把基线拉向 91.7%。
- 结论:+10.1 骨架杠杆【不迁移到便宜模型+thinking-off】——哑火是推理缺口(thinking 补)、非结构样例缺口(骨架补不了)。thinking-ON(anthropic 91.7%)仍是唯一真杠杆。
- 处置(创始人定 A):保留机制 flag 关、可逆——换更强模型/配合 thinking 时或有用;默认不启用。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-20 12:53:02 -07:00 |
|
lili
|
c7a58b8c45
|
feat(project,telemetry): P-OPN-08 创作者公开聚合API@PermitAll(仅status==4·聚合统计无PII)
新增创作者公开主页两只读端点(契约+实现+单测,全 additive):
1) GET /app-api/project/public/creator/{creatorId} @PermitAll
→ PageResult<PublicCreatorProjectRespVO>{id,title,summary,coverUrl,ageRating,
playCount,likeCount,publishTime,creatorId,creatorName};仅 status==4 已发布作品。
2) GET /app-api/telemetry/public/creator/{creatorId}/summary @PermitAll
→ {creatorId,publishedCount,totalPlayCount,totalLikeCount};对该创作者 status==4 作品聚合。
跨创作者公开读(#1 正确性风险)处理:本仓 DataPermission 仅注册 system DeptDataPermissionRule
(仅作用 AdminUserDO/DeptDO 表),game_project 无任何 DataPermission 规则 → MP 拦截器不追加过滤;
project 的"创作者只见自己数据"一向由 Service/Mapper 手动 eq(creatorUserId) 强制而非拦截器。
故公开读只需按"目标 creatorId(路径参数,非登录人)"+status==4 等值即天然跨创作者,无需 @DataPermission(enable=false)。
口径:publishTime 取 update_time 近似(项目表无 publish_time 列,同 count-published 口径);
公开统计经 project-api getCreatorPublishedSummary 取(发布态权威+play/like 计数列均在 project);
creatorName 经既有 AdminUserApi.getUser().nickname 尽力解析(查不到为 null,无 PII)。
单测(Mockito,test goal GREEN):
- ProjectMapperTest(新):SQL 形态守卫——公开查询恒 status==PUBLISHED(4)+按 creator_user_id 过滤,不放行下架(5)/封禁(6);
- ProjectServiceImplTest(+5):跨创作者读(走 selectPublishedPageByCreator 非 selectMyPage)/creatorName 兜底/空/聚合/零;
- GameStatServiceImplTest(+2):跨创作者经 project-api 聚合(不走"我的作品"归属链)/null DTO 兜零。
mvn -pl game-module-project/...-server,game-module-telemetry/...-server -am test → project 32/32 + telemetry 46/46 绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 13:43:08 -07:00 |
|
lili
|
3e04456097
|
refactor(studio): U6 上传归属对齐创始人裁定——撤 studio /asset/upload(字节走共享 infra),studio 改 ref 登记;浏览/选用/assetContext + 评审整改不变
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 12:12:04 -07:00 |
|
lili
|
046c061d60
|
feat(aigc): U7 R-TPL 品类玩法模板注册(经营模拟/剧情互动/解谜闯关/TRPG/非遗科普·constants-only·克隆generic代码生成契约)
注册 5 品类玩法模板(business-sim/narrative/puzzle/trpg/heritage),替代单一 generic 状态:
- 3 处代码同源点:AigcTemplateConstants.SUPPORTED_TEMPLATE_IDS 加 5 ID(保留 generic);
PromptResourceLoader.TEMPLATE_RESOURCES 加 5 行(pom 通配自动复制资源,零 pom 改动);
AigcTaskServiceImpl.getTemplateList() 回填 5 TemplateRespVO(中文品类名/说明/示例 Prompt/封面占位)。
- 10 契约文件:每品类 1 prompt(克隆 generic-coder.md frontmatter 形态 + 品类引导正文,范式=agent 写
GameHostFactory 源码而非填 GameConfig)+ 1 schema(克隆 generic.schema.json 的 bundle 校验结构,
校验 bundleText/hasGlobalName/bundleRawBytes,draft 2020-12,非旧 config-fill)。
- GameConfigSchemaValidator 无需改(经 getAllTemplateSchemaTexts 自动消费 5 新 schema)。
- 不触 SAA/executor/dispatcher/graph 代码(plan001 领域),仅动模板注册面。
- 测试:PromptResourceLoaderTest 9 / GameConfigSchemaValidatorTest 11 / AigcTaskServiceImplTest 11 全绿;
启动自检 PromptResourceLoader ready + 校验器编译就绪含 5 新模板。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 11:45:39 -07:00 |
|
lili
|
bdf452d704
|
merge(tier1): U3 R-SOC 社区社交(评论/关注/排行ZSET/弹幕WS + 评审整改)
|
2026-06-18 11:31:32 -07:00 |
|
lili
|
03d59b1672
|
merge(tier1): U5 R-ADMIN admin运营(限曝光/导出/经营看板 + 跨模块只读-api)
|
2026-06-18 11:31:32 -07:00 |
|
lili
|
f85ae6c434
|
feat(feed): U5 限曝光降权 + 精选池导出
限曝光(boost 的反向运营操作):
- Flyway V25.0.0 加 game_feed_rank.exposure_limit DECIMAL(10,4) NOT NULL DEFAULT 0(additive,
镜像 contracts/db-schemas);FeedRankDO 加 exposureLimit 字段。
- 排序口径升级为 sort_score = quality + boost - exposure_limit,统一收敛在 deriveSortScore()——
setFeatured/setExposureLimit/发布基线重发布/算分回灌四写入点共用,保证 boost/exposure_limit 两个
运营维度在任意写入路径都被保留(限曝光穿越 telemetry 算分回灌存活,已单测验证)。
- 两层效果:① 普通降权(0<x<9999)持久化进 sort_score 使游戏下沉(cursor 分页仍正确);
② 硬限曝光哨兵(>=9999)在 buildStream 出流处剔除(复用既有二次过滤续取机制,不动 status、可随时改回)。
- 新端点 POST /admin-api/feed/exposure-limit(复用 feed:featured:update 权限 + @ApiAccessLog UPDATE 审计),
门禁=仅已发布且已有排序行(不新建孤儿降权行);错误码段 1-103-005-***。
导出:GET /admin-api/feed/featured/export-excel(feed:featured:export + EXPORT 审计)经 ExcelUtils
导出精选/限曝光排序覆盖层运营字段;空数据写表头。feed-server 加 starter-excel 依赖。
测试:FeedServiceImplTest 25→35(限曝光门禁/降权扣减/硬限曝光出流剔除/普通降权不剔/回灌保留限曝光/导出列表空与非空)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 11:06:35 -07:00 |
|
lili
|
3f35acb4d3
|
feat(community): U3 R-SOC 评论/关注/排行ZSET/弹幕WS
社区社交后端四子能力(game-module-community),克隆通知底座/feed互动幂等范式:
- 评论 Comments:CRUD + 举报转 compliance。删除按 userId 归属强校验(防越权删他人评论),
举报落本端举报态幂等 + 事务提交后 afterCommit 接缝(compliance 无受理 -api,留桩 OPEN ITEM)。
- 关注 Follow:active 软开关幂等切换(不删行,范本=feed FeedInteractLog),不能关注自己,
并发双插由 DB 唯一键 DuplicateKeyException CAS 收敛;粉丝数/关注数 countActive。
- 排行 Ranking:Redis ZSET + ZSET↔DB 一致性窗口。DB=真相、ZSET=缓存索引:
写穿透双写(DB 原子累加 + ZSET incrementScore)、ZSET 缺失/启动从 DB 回填重建、最终一致;
维度白名单 RankDimensionEnum(game_hot/creator_hot)。
- 弹幕 Danmaku:WebSocket 单机最小实(LocalWebSocketMessageSender),自维护房间 gameId→sessionId
注册表做房间维度广播(框架仅按用户维度推送),断连懒清理;多实例需切 sender-type=redis(MQ future-state 未部署)。
契约/库表:
- Flyway V23.0.0(U3 独占 V23.x):game_community_comment/follow/rank/danmaku 四表 +
幂等唯一键(follow uk(user_id,target_user_id,deleted,tenant_id)、rank uk(dimension,target_id,...)),
同步 huijing-server/db/migration + contracts/db-schemas。
- community.yaml additive 加 8 个 app 端点 + 5 个 schema(既有冻结)。
- 错误码段 1-107-004 评论 / 005 关注 / 006 排行 / 007 弹幕。
验证:mvn -pl game-module-community/game-module-community-server -am test -o 全绿
(57 tests:新增 U3 35 + 既有 22;CommentService 9 / FollowService 8 / RankService 8 / Danmaku 10)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 11:01:24 -07:00 |
|
lili
|
09ced58930
|
feat(studio): U6 R-MAT 素材实体/浏览/选用/上传(compose infra FileApi)
R-MAT 创作者私有素材库(六类 sprite/character/effect/scene/ui/music,冻结同枚举):
- StudioMaterialDO + game_material 表(V24.0.0,归属 creator_user_id,idx_owner_cat)
- 3 端点 /app-api/studio/asset/{upload,browse,select}(studio 领域端点,需登录用户)
- upload:六类校验 + 大小≤10MB + 每类目 MIME 白名单 → composes huijing-module-infra
FileApi.createFile 存字节 → provider 包装 ref → 落库 → 返回冻结 StudioAssetContextItem
- browse:owner-isolated 分页(强制 eq creator_user_id),可选 category 过滤
- select-into-draft:把本人素材 ref 写入草稿会话 assetContext(JsonUtils 序列化,按 ref 去重合并)
- MaterialProvider SPI + 工厂 + mmx-cli mock(graceful degrade,仿 AdProviderFactory)
- 错误码段 1-112-005-***(七个);studio.yaml 加 3 端点 + schemas(additive)
验证:mvn -pl game-module-studio-server,-api -am test 全绿
(StudioMaterialServiceImplTest 17/17,studio 模块 61/61)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 10:54:56 -07:00 |
|
zizi
|
e378f3c662
|
contract(source-project): kind 枚举补 clickable(6c6g 评审待办#1·additive)
clickable = U1 引入的声明式点击基元;原靠 additionalProperties:true 宽松放行(功能可用),此补正把它登记为一等 kind。additionalProperties 维持不变(收紧是独立设计决策,本次只做 additive)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 16:47:16 +00:00 |
|
zizi
|
ec23ff61bc
|
feat(compliance): U4 R-ACC 政策正文页+申诉回路
codex 评审 MERGE-WITH-FIXES→修 P0(申诉重复提交守卫:STORED生成列pending_flag+uk_user_ban_pending局部唯一+@Transactional+DuplicateKey友好返回)+P1(@Transactional/@Size/@Min)。V22。plan 2026-06-18-002 U4。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 03:56:58 +00:00 |
|
zizi
|
ca53a0db0c
|
feat(trade): U2 R-ECON admin赋余额+会员订阅(独立流水表+幂等)
codex 评审 NO-MERGE→修 P0(订阅幂等漏洞:独立幂等账本表 game_trade_subscription_grant+uk_biz_no,延期前先写、同事务)+P1(VO @Size/totalIncome注释对齐/权限种子SQL)。V21。plan 2026-06-18-002 U2。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 03:56:58 +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
|
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
|
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
|
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
|
0b1b37ea3c
|
feat(aigc): W-G1 开闸验收门·组A 落地——D12 控制平面 v0 + GP9 合规先行段
把"一句话生成"对真实创作者放开前焊死 2 道硬阻塞闸:单用户压不垮全局串行 worker、违规 prompt 进不了生成与 feed。
契约先行(V15 DDL/错误码/配置类先于业务),feature-flag 默认关=现行行为逐字不变。
D12 控制平面 v0:
- 抽私有 enqueueWithControlPlane,submitGenerate 与 retryTask 共用(决策D:retry 也走全门,违规/超配额无法靠 retry 绕过)。
门序(最便宜→最贵):① 降级门(infra ConfigApi 读 aigc.generate.paused,fail-open on switch)
→ ② 配额+并发门(per-creator×level 当日非取消计数 + 在飞并发,判定一律 >=)
→ ③ 背压门(全局在飞 >= queue-depth-limit)→ ④ GP9 safety(放最后)→ ⑤ insert + 额度记账骨架(仅 log,非真扣费)。
- V15.0.0 game_aigc_task 加 level 列(TINYINT NOT NULL DEFAULT 1)+ AigcTaskDO.level;v0 统一落 L1(会员档未建,避孤儿)。
- 新建 AigcControlPlaneProperties(前缀 aigc.control-plane):enabled/queue-depth-limit/safety{timeout-ms,max-retry,fail-closed,
new-api base/key/model}/quota{L1/L2/L3 daily+concurrency}(数值占位待创始人)。
- ErrorCodeConstants 加 001 子段 5 码(配额/背压/降级 + UNSAFE_PROMPT/LLM_SAFETY_ERROR);均业务码,不产生 HTTP 429/503。
- AigcTaskMapper 加 3 计数查询(selectCount,零原生 SQL/零 DDL 索引);aigc-server pom 补 huijing-module-infra-api 依赖。
GP9 合规先行段:
- 新建服务层独立 SafetyCheckClient(不复用执行器 ExecutorLlmClient——被 aigc.executor.enabled 门控、服务层注入不到):
new-api 连接走 control-plane 配置(与执行器开关解耦,解 new-api 服务层可达性),装载 01-safety prompt,短超时 8s + 至多 1 重试。
- 接门④:safe=false 抛 AIGC_UNSAFE_PROMPT 同步拒绝不入队;超时/失败 fail-closed 抛中性 AIGC_LLM_SAFETY_ERROR(复用 FailureReasonEnum
语义不新增枚举)。pom copy-glob 加 01-safety/*.md(已验进 classpath)。
- 补 10 条违规负例集 contracts/prompts/eval/safety.prompt-check/(十类红线各 1 条,全 expectedSafe:false)+ README。
装配:AigcControlPlaneConfiguration @ConditionalOnProperty(aigc.control-plane.enabled) 注册 Bean;AigcTaskServiceImpl
经 ObjectProvider 软注入(enabled=false/Bean 缺席 → 全门+GP9 旁路 = 现行行为)。
零越界:门③ promptHash 缓存未做(promptHash 仍照算照落 provenance,v0 不读它做缓存);真实计费扣退/组B 落库/审核台/会员档数值均未触碰。
验证(mini-desktop):test-compile BUILD SUCCESS;AigcControlPlaneTest 16/16 + SafetyCheckClientTest 7/7 +
AigcTaskServiceImplTest 9/9(零回归)+ 全 aigc-server 99 run/0 fail;V15 SQL 真 MySQL 8.4.8 语法校验通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-16 20:10:44 +08:00 |
|
zizi
|
e3be456d82
|
feat(trade,ad,community): M4 变现④可切真(goal G1)——打款异步/fail-fast/reward到账/广告回调
设计权威=docs/agent-specs/2026-06-16-M4变现真实化-review.md(主agent评审通过)。前提:ad/trade业务逻辑读码实证已真,本波=切真+补e2e门+衔接。
- 打款异步状态机(trade):审核 0→1 打款中(不置已打款,§2.3解耦)→事务外发起转账→回调驱动 1→2/1→4(CAS幂等防重复发钱);WithdrawPayoutCompensateJob 对账补偿扫卡单
- fail-fast(PayoutClientFactory):真实渠道缺实现抛 TRADE_PAYOUT_CHANNEL_UNAVAILABLE 挂起,严禁静默降级 mock 发假钱;Nacos trade.payout-channel 单开关;MockPayoutClient 同步直通
- reward 现金发放做真(community seam+trade):recordIncome(TIP,reward.id,shareRate=1.0) uk_source 幂等 + status CAS 0→1 + granted_ref
- 广告回调验签(ad):CallbackAdProvider sandbox + /app-api/ad/reward/callback 验签骨架,真实 csj/gdt 留 SPI 位
- 收益端点:/app-api/trade/my/income-summary(解 G2 看板收益,读 game_trade_income 归属隔离)
- DB V14:withdraw 加 transfer_ref;pay 模块 pom 未接运行态(留合并点);错误码段 ad=1-111/trade=1-106 不越界
- verify:87 单测绿(ad24/trade41/community22)+ staging mock e2e门真跑(广告→结算→提现→mock打款回调1→2)+ 4条对账断言全HOLD;红线读码核验通过。欠验=结算job真跑(staging XXL关)+真UI走查 留合并点
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-16 09:01:19 +00:00 |
|
zizi
|
b51025e14f
|
feat(telemetry): 创作者侧 stats 读端点(goal G2)——/app-api/telemetry/my/{summary,trend}
- 新增创作者侧只读端点:summary(跨我的作品聚合 totalPlay/totalComplete/completionRate)+ game-stat/trend(七日按日)
- 归属隔离:creatorUserId=getLoginUserId()(token,非前端入参)→ 经 ProjectApi.getMyGameIds 取我的 gameId 集合 → 仅聚合这些;空作品短路、completionRate 除零兜 0、days 夹紧[1,90]
- project 加 getMyGameIds(-api seam,镜像 ad/feed 既有消费范式);复用 game_telemetry_game_stat 聚合
- verify:telemetry 38 单测绿 + project test-compile 绿(mini);广告收益由 G1 income-summary 供(遥测表无收益列,已诚实占位)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-16 09:01:19 +00:00 |
|
zizi
|
b92eba6b06
|
docs(agentic): 主线 agentic 基建口径 HJ-AGI-001(AgentScope 2.x) → HJ-AGI-002(SAA) 漂移对齐
SAA 迁移 spike 落地后,把主线文档里"agentic 基建=AgentScope 2.x(HJ-AGI-001)"的过时活文本,对齐到现行决策 HJ-AGI-002(SAA-only)。审计由 5 代理 workflow + Codex 独立审 + 源码 grep 三源交叉定位,再独立验残零遗漏。
- Tier-1 活文本直改(7处): AGENTS.md / tech-decisions.md(×4,含 §95 "SAA 藏 job/callback 契约#6 后保持可替换") / contracts/DEPRECATED-dify-workflow-io.md / .agents/skills/ai-generation-pipeline.md
- Tier-2 活文本改+回填注(9处): product-and-architecture / glossary / mvp-scope-and-milestones / ai-development-protocol / 技术架构与模块(T-AGC-18) / MVP进度总账 / MVP作战清单
- Tier-3 历史 spec 加 supersede 横幅(4档): 2026-06-12-agentic基建框架选型-review、2026-06-14-OpenGame蓝图补缺-review、2026-06-14-P3-W-G1生成主线-review/execution
- 统一口径: SAA(Spring AI Alibaba v1.1.2.2)裸图编排,short-term SAA-only,AgentScope 降 long-term premium 独立轨
- 历史进度账用括号回填、不改史;全仓 grep 残留零(Python 对照基线/banner 覆盖项除外)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-16 02:34:42 +00:00 |
|
zizi
|
063ec4edf2
|
docs(rename): ③ 文档/契约漂移清理——contracts+docs+根文档 yudao 标识同步 com.wanxiang.huijing(follow-up,脚本)
- 范围:全仓除已完成的 game-cloud/game-admin(及排除区);91 文件
- cn.iocoder.yudao→com.wanxiang.huijing / cn.wanxiang.game→com.wanxiang.huijing.game / cn.iocoder.cloud→com.wanxiang / Yudao*→Huijing* / bare yudao→huijing
- 含 contracts/api-schemas(apiInterface FQCN)、docs/architecture+agent-specs(含中文名,git ls-files -z 修复)、AGENTS.md/CLAUDE.md 等根文档
- 保留不动:上游归属 URL(gitee/github yudaocode·YunaiV,改则断链+违反署名)、game-cloud Flyway 迁移注释(保 checksum)、lockfile(装包重生)
- 纯文档/字符串,零构建影响(game-cloud/game-admin 字节码未动)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-15 14:32:44 +00:00 |
|
zizi
|
c2cb4d75e3
|
docs(t1b-beta): T1b-β 实质收口落档——引擎真接线+Runner v2(arc)支撑feed真玩,零闭环缺口/零split-brain
5路并行侦察(读代码非读规格,PLANNED vs ACTUAL 以代码为准)实证:每个灰度闭环必需项
done/absorbed-by-arc 且有真机证据(A6 6/6 `3e5cab4` / P2真机6门 `5d3f7a8` /
3b-B井字棋入feed `238ec2d` / B1主链9001-9002);剩余全是 audit-debt+gold-plating,
无一在完成线(日历闸门)关键路径。
3处 spec↔代码漂移(有意改判非bug,已回填澄清):
- Phase B: packageUrl外链 → engineBundle内嵌(absorbed,契约一致无split-brain)
- Phase C: 1.x srcdoc→URL退役被P2 O2(b)supersede(moot,单宿主GamePlayer.vue无双轨)
- Phase A: random/time/input改判插件自管(透传破粒子确定性/污染帧钟,血统债)
落档(纯文档additive/低风险):
- 母spec 9处banner回填(Phase C supersede / Phase B engineBundle / Phase A drifts / 门3·门5·门12 / §12 immutable裁决)
- 新收口报告 docs/agent-specs/2026-06-15-T1b-β收口报告.md(wave-close七步)
- 总账(§5 backlog+推迟清单+§6执行记录row+表头日期2026-06-15)
- 作战清单(§0+T1b-β item标done)+ .agent(TODO→收口block+推迟清单)
- schema immutable孤儿字段标future(消无孤儿设计红线 AGENTS §7)
推迟清单(gold-plating+audit-debt)入backlog,创始人可点名某项转required。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-15 08:00:19 +00:00 |
|
zizi
|
e6dbc3bb5a
|
feat(runner-v2): P3 L0 brick-2 后端 engineBundle 真值通路+gameConfig 占位+prompt registry 脚手架(additive·未点亮)
① DifyCallbackReqVO 加 engineBundle additive 字段(@Data 自动访问器)② DifyCallbackTxService.resolveEngineBundleText 真值切换(:398 return reqVO.getEngineBundle())③ validateSucceededPayload gameConfig 占位=逻辑零改(既有非空校验已满足 meta 占位{templateId,title,theme,engineDriven},仅补注释)④ prompt registry:generic-coder.md stub + generic.schema.json(合规落 contracts/templates)+ registry.yaml 条目 + eval 目录。未点亮 generic 路(SUPPORTED_TEMPLATE_IDS 仍 List.of()、TEMPLATE_RESOURCES 无 generic)→ 现状生成路径零变。本地验:yaml/json parse + Lombok 访问器确认;**full mvn 编译验留 L0 整合步(派发面)一起做**。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-14 12:47:14 +00:00 |
|
zizi
|
5d3f7a87f0
|
feat(runner-v2): P2 通用宿主泛化落地——引擎游戏真渲入 feed 真玩(mini-desktop 真机门验)
P2 = 把 P1 装载契约从「装载王蓝莓一款」泛化为「装载任意 GamePackage」,经发布主链入 feed、
真人浏览器真玩。4 决策落实(O2(b)纳入 Phase C / DB-manifest 内嵌 / 灌库桩 / __GameBundle)。
三轨实现
- 后端:GamePackage schema 加 engineBundle additive 可选字段;buildGamePackage 加 engineBundle put
(P3 生成路用,P2 恒 null→put 跳过→字节零变,单测 packageBytesReproducible 证);灌库桩
p2_seed_engine_bundle.mjs + 四态脚手架 p2_scaffold_4state.sql(W-CLEAN 后重建已发布游戏)
- 运行时:P1 bootRef 泛化为 bootGameHost(opts)(引擎骨架照搬+参数化工厂来源/插件/视口),
bootRef 退化薄包装;固化 build:ref-bundle 产 dist/ref-bundle.iife.js(--global-name=__GameBundle)
- studio:inject.ts 引擎包分支(pkg.engineBundle? → 内联 script 暴露 window.__GameBundle →
bootGameHost 挂引擎真渲;否则旧 startRuntime 路保兼容);掏空壳改引擎分支(Phase C);CSP 不放外域
对抗代码复审逮 2 mustFix(主 agent 亲核亲修 + 6c6g 复验)
- 灌库桩读错产物(ref-bundle.js harness vs .iife.js)→ mini-desktop 灌库返工死循环
- 引擎分支漏发 game_start → 会话/play_count 静默吞、门②检不出 → 补发(DB session 行实证已修复)
+2 shouldFix(兜底可观测信号 / 灌库 SQL @pj 防撞 max_allowed_packet)
+ 真机门逮 2 环境缺陷已修(seed charset=utf8mb4 防双编码断 checksum 链 / 四态脚手架补 W-CLEAN 空库)
mini-desktop 真机门 6 门(逐门实数,主 agent 肉眼复核证据)
①build:ref-bundle 265374B/__GameBundle 真入包 ②Java 编译过+字节复现单测 ③studio staging 重建消 mock
④灌库 status=1∧checksum 64hex∧engineBundle 键齐∧manifest sha256 一致 ⑤真人 feed 点卡→引擎真渲
暖阳小卖部(warm=1246073px)非「重构中」+game_loaded+game_start+防 demo 三锚+console 零错+DB session 行
⑥回滚:无 engineBundle→demo 壳/错误态,向后兼容未破。证据 game-studio/evidence/p2-feed/
诚实 gap:game_end(到结算)未在自动化窗口内达成=ref gameover 需分钟级真玩+srcdoc 坐标盲点的取证局限,
非引擎/渲染能力缺陷(机制已通,留人工真玩到打烊补全)。受控面 6 项+game-host.d.ts 零改。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-13 20:36:32 +00:00 |
|
zizi
|
99b6c82dec
|
feat(runner-v2): P1 王蓝莓上引擎=游戏宿主装载契约 spike 实(mini-desktop real 引擎 5 门全过)
Runner v2 全弧第一相(HJ-RUNNER-ARC-001 / P1):用王蓝莓把"上层游戏宿主装载契约"
从零 spike 到"引擎真掌帧 + 游戏美术与引擎粒子同屏可玩",解锁 P2 泛化 / P3 生成。
契约与共享件
- 新增装载契约 game-runtime/src/core/game-host.d.ts(第9类 additive·暂名):
GameHostBootContext / GameInstance / GameHostFactory;游戏=纯模块工厂,零引擎 import,
能力经下层 ctx.getEngine()(受控面 6 项零改),绘制面 render(g) 的 g=引擎 mainContext
- makeEngineCaps 闭包提升为可 import 模块 host-dev/engine-caps.js(createEngineCaps):
host-dev/ref/未来生成游戏共用;engineMode 短路 / __engineCalls 探针 / null-engine 语义逐行不变
王蓝莓 real 通道(games/wanglanmei-ref)
- 增 ?engine=real:主循环从浏览器 RAF 改挂 engineInit 五回调(掌帧唯一源=引擎);
游戏美术绘制面从 #game 改引擎 mainContext(同屏合并);bundle 延后到 setupReal 内以
mainContext 建(getContext2d 闭包快照修);保 ?engine=stub 逐像素确定性回滚
- game-shop.js 抽为独立 GameHostFactory(零引擎 import,P3 生成 agent 可复制范本)
- entry.js 动态 import('littlejsengine')=node-import-safe ∧ esbuild iife 入包两全
- 驱动 e2e-input.cdp.cjs real 改造:禁 stepFrames 手摇(防双掌帧),真触摸+轮询;
门②同屏像素判据(暖色 warmHits ∧ 引擎粒子 brightHits 同张 #game-engine)
真机验收(mini-desktop real 引擎,5 门)
引擎掌帧 dFrame=31∈[20,45] / 同屏 warmHits=682∧brightHits=13028 同张 #game-engine /
particles.spawnEmitter+synthSfx call-ID 运行时真调引擎 / CDP 517 真触摸跑通整局
(第1天接待18·营收¥79.9·连击9) / console 零错;本机 88 单测全绿(含修复 4 红+补回归)
证据:games/wanglanmei-ref/evidence/p1-real/(e2e-evidence.json pass=true + 5 截图肉眼复核)
诚实 caveat:门② brightHits 在结算屏混入亮 UI,同屏合并由 warmHits(美术落引擎画布)+
call-ID(粒子真调引擎)+ 引擎架构(粒子渲同一 mainContext)三证成立,非阻断。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-13 18:32:50 +00:00 |
|
zizi
|
28a57b8e00
|
feat(contracts): T1b-β P2 三契约冻结(grounded 据真签名+插件真调用面)——待对抗复审
①受控面引擎能力透传通道 PluginContext.getEngine()→EngineCapabilities(api.d.ts):白名单3项particles.spawnEmitter/audio.synth/math.lerp+smoothStep(YAGNI核6件impl真调用点);铁律=封装禁裸Vector2/引擎import只活集成段host背书engineFactory不散进插件impl(保引擎可换+满足门1真接线);random/time集成段换引擎RandomGenerator/timeReal背书(契约形状不变)
②GamePackage manifest加packageUrl+immutable(additive,复用后端packageUrl镜像走DB-manifest降级,checksum复用旧字段供门4防demo假阳性)
③SDK StoragePlugin根契约上提(sdk-interface.d.ts):前端contract.ts定稿对象形态上提+含R4-P1 array排除契约语义声明
grounded工位核impl逮关键澄清:hitStop/屏震非通道项(impl.js:582-615=受控面输出+游戏层render.js:915应用闭环,插件不调引擎;屏震引擎化=render.js切相机属agent生成域)→通道收敛6件→3项,§7/§6 A2同步澄清;audio.synth留契约A2据SIZES定用否
JSON校验过+.d.ts括号平衡
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-13 05:12:35 +00:00 |
|
zizi
|
f63c56bec8
|
docs(cleanup): 全文档清毒收编——长尾18改+1新建(知识3/技能6/DocB注记/契约deprecated/DifyCallback诚实注记×4/双.agent/执行spec横幅)+主会话补刀tech-decisions两处漏网(回填横幅与生成主线行的'模板驱动'死口径);活文档面残毒终扫清零
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-12 17:40:16 +00:00 |
|
zizi
|
737e6d5f5a
|
feat(wave4): community通知底座+biz轻量lead form 双模块建成(HJ-WAVE4-EXEC-001·代码就绪待工程门)
§0资源预占(serial·opus)+community(C1-C12)‖biz(B1-B9)三相Workflow编排,主控静态验证门已过(上游三挂点surgical+Boolean blocker已解+边界干净)。本机禁编译,工程门留mini。
community(5 P0·通知底座):
- 站内信(投递幂等/已读归属校验/未读数)+等级引擎(published_count原子自增UPDATE+里程碑uk幂等插reward)+CommunityNotifyApi@Primary本地实现
- 3上游同进程notify挂点(均事务提交后+try-catch吞异常仅error log):
aigc生成完成(回查task终态SUCCEEDED&&versionId!=null,非result==TRUE)/project审核结果1·2+发布计数/trade收益首次入账
- R3系统身份写防护:CommunityNotifyApiImpl入口LoginUser(id=0)+finally clearContext,防定时任务线程updater NOT NULL 500
biz(6 P0·轻量lead form):
- 询单/报价/进度/验收四表+单线性五态状态机(canTransit仅相邻单跳)+demo可预览负路径降级(注入RuntimePackageApi,失败不透传500)
- 7 app端点(getLoginUserId归属隔离)+7 admin端点(@PreAuthorize biz:*);BizTemplateService返clicker/merge/idle/tycoon 4可玩模板
- 权限seed=独立sql/biz_menu.sql(不进V13保两副本字节一致)
§0地基: Flyway V12(community三表)/V13(biz四表)各两副本md5一致+错误码段1_107/1_110+community.yaml/biz.yaml契约+root pom两module+yudao-server pom两依赖
已知留债(诚实登记·待工程门/staging实测兜底):
- mini工程门(mvn编译/单测/Flyway migrate/@Primary装配/Swagger)未跑——'骨架编译过≠可验收'
- 系统身份写雷+DO↔BIT映射单测mock测不到,须staging两链路实测
- 上游既有单测(trade/aigc)未mock新@Resource会打被吞NPE日志(断言仍绿)
- P-INC-01尽力计数at-most-once(评审版已认非缺陷)/UNLIST第二路径不通知(非P0)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-11 11:28:01 +00:00 |
|
zizi
|
26319b3efc
|
fix(qa): M-c越模板机制守卫口径终裁——降为Golden观察项(同输入重采样实证软边界抖动)
创始人2026-06-11拍板「越模板机制 config自洽=P2放行」(依既有细则①,spec §4.5起草误读kill)。
一次勘误(labels/golden-set/harness kill→accept)后重跑Golden暴露:越模板是软语义边界判定,
同输入温0.2重采样实证抖动——idle k-1d1ebeefca 2/4判kill(50/50同输入翻转);merge/tycoon
0/4稳定P2;fresh回归轮tycoon亦翻kill。P1/P2两向硬断言(起草的kill或一次勘误的accept)都随
采样随机抖动,对软边界做硬门禁本身是范式错误。
二次勘误=越模板守卫降为Golden观察项(golden-set expectation=observe,harness _observe恒记录
模型实判但不纳入verdict,C/F断言):
- verdict只由题文不符kill守卫+accept正例(四硬门,经实证稳定)裁定
- 两向fail-safe(P2不拦发布/偶发P1仅多一次HITL复核,绝不放过坏游戏),记录不门禁不损安全
- labels.jsonl维持accept(细则① P2放行=文档化口径目标);对抗prompt正文零改动、version仍v1.1.2、
P0/P1口径一字未动(守R3红线)
- 让模型对越模板稳定输出P2属prompt v1.1.3收紧议题(非MVP阻塞,backlog)
两轮Golden实证VERDICT=PASS(越模板逐次kill/kill/pass三态均不影响verdict);
题文不符kill(merge/idle/tycoon+clicker不回归)+accept正例全部稳定通过。
含两轮Golden取证产物(results/report/raw,无密钥)。
落点:labels.jsonl(3行)+两golden-set+两harness+spec §4.5二次勘误banner/硬前提/回归门+eval README。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-11 00:41:02 +00:00 |
|
zizi
|
7033cef382
|
feat(contracts): M-c批② idle+tycoon契约面——双schema+双designer v1.0.0+registry两条目+Golden六守卫样本
- idle.schema(11字段)/tycoon.schema(10字段)全收敛 integer/string/const(judge零改);升级档扁平化(upgradeCost+upgradeMultiplier)/顾客节奏档位化(customerIntervalLevel)规避judge新分支
- 对抗/fix版本一字不动(创始人拍板不升patch);Golden append-only +6守卫(idle/tycoon各 kill题文不符+kill越模板机制+accept正例),README记v1.1.2维持+守卫为细则①跨域验证手段+级3全中为放行硬前提
HJ-MC-TPL-EXEC-002 §3/§4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 16:45:42 +00:00 |
|
zizi
|
b7c9d33fa6
|
feat(qa): merge正式批merge-prod-20收口产物——accept 19/20=95%(≥80%量级过门,结构20/20,infra=0,830s/57次LLM)+金丝雀10/10触顶发布feedVisible+9accept配额留池+evalflow回流49+49
1 kill=fix后P1残留(QA门诚实);对抗稳定性复测2/3(连续两批同值,累计4/6,正式观察项);spec §8-3达成
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 14:59:05 +00:00 |
|
zizi
|
8bd3ebfdaa
|
feat(qa): merge校准批merge-cal-10收口产物——accept 10/10(结构/可运行/可接受三层全1.0,infra=0,495s/31次LLM)+金丝雀10条published+feedVisible+evalflow回流(+22 inputs/+23 labels)+feed与/play实玩截图
级4判据(全自动流完零infra)超额达成;对抗稳定性复测2/3记正式批关注项;拍板3口径=校准观测不设硬门
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 13:25:21 +00:00 |
|
zizi
|
b1fa30d1ff
|
feat(contracts): M-c批① merge 契约面——schema+designer v1.0.0+对抗v1.1.2/fix v1.0.1 patch+Golden三守卫样本
- merge.schema.json:7字段定稿(chainLength 3-6/targetLevel 2-6/boardSize 6-9/itemLabel array 1-6),spec §3.4 逐字
- registry:+config.merge-designer 1.0.0;adversary 1.1.1→1.1.2(细则①追加merge域示例,P0/P1口径一字不动);fix 1.0.0→1.0.1(+template_schema注入段+:48括注中性化,主干句不动)
- eval/config.merge-designer/ 三件新建(首版无种子随批回流);对抗Golden append-only +3 merge守卫(kill题文不符/kill越模板机制/accept正例),README记v1.1.2双标签约定+spec§4.5箭头笔误errata
HJ-MC-TPL-EXEC-001 §3/§4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 12:30:31 +00:00 |
|
zizi
|
b0850a2ad9
|
feat(passport): 鉴权建设波——V11契约+system passport子包+14端点@PermitAll+白名单挂点+剔除桩+前端登录守卫
- 契约先行: V11.0.0 双落点(game_player/game_invite_code/runtime_session匿名兼容ALTER) + passport.yaml(4 app+4 admin) + events登记user_login
- B1 system侧: passport独立子包(fork隔离), 验证码+邀请码旁路登录注册一体, OAuth2 MEMBER token(client=default已核), 错误码1_002_090/091远段, PlayerApi @Primary本地化(mock豁免裁决=无行+mockEnable放行), R6限频(IP 10次/h+Redis日/时双闸), 25单测
- B2 存量: @PermitAll恰好14端点(主agent grep复核, 不放行名单零触碰), 匿名session(player_user_id可空+anon_id), 白名单5挂点(studio/aigc/project), ad计费限频, telemetry剔除桩(照落库不进聚合+Redis降级放行), EnvelopeReqVO文案回写
- F1 前端: 登录页两Tab+占位协议, isRealLogin守卫(isLogin恒真不可用), 401统一拦截, 互动转正onInteract单入口gating, user_login遥测双带; test1批跑路径原样保留(主agent复核)
- 三面对抗核验全pass零blocker; 构建门待mini-desktop(本机禁构建铁律)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 09:40:10 +00:00 |
|
zizi
|
8a59a35133
|
docs(audit)+docs(mvp): 三向审计修复全链入库——报告+W1回填+创始人拍板波+W2清洗+三件产出
- 审计报告 HJ-AUDIT-001 入库 + W1 文档回填波(技术决策版/Doc B/开发团队版废止横幅/AGENTS.md/两规则档/tech-decisions)
- 创始人拍板波(2026-06-10 晚,回填铁律逐项执行):
· R4=维持 D2 按 D2 改建(M-c 建 merge→idle→tycoon,动作类降 P1 留契约)→ D2 复审注+tech-decisions #6
· 鉴权七项全拍(§9.1:C 验证码+邀请码旁路/受限激活/开放注册/创作限白名单/一键登录/实名提现前/纯客户端 anonId)→ glossary+events.schema.json 同步
· A1 闸门看板建账(12+1 项含短信报备+大模型登记/算法备案/分账选型,主体已确认)+ 律所合规咨询 brief
· 奇绩 ★1/2/3 定稿 + 品牌造梦→绘境清扫(4 档正文+文件名、demo 改名 huijing-ai-demo.html、禁投/禁外发横幅、内部引用 5 处)
· M-c 四细节(两批 merge 先行/idle 纯前端+storage/10 校准+20 正式/拖拽为主)
· R3 收口(叠加规则=IP 从创作者份额出·净额基数·平台恒 20%,eCPM 档 15/30/60)→ D3 复审注+glossary+BP:299 勘误
- W2 对外清洗收口:BP 改造版红线清洗(20 处锁风系红线词清零/独家→非独家/绝对化清零/06-10 实证+三线排序入文,留 3★ 待创始人)
- 三件产出:鉴权 execution 版(V11/system 内扩展/14 @PermitAll 端点/NOT NULL 硬边界)+ Mc 模板波 review 版(已拍)+ 单位经济敏感性模型(基准 324 元/月/千DAU,覆盖基建需 1.33 万 DAU→实证 B 端现金线优先)
- 两本账同步:作战清单(五件拍板项清零)+ 进度总账(三行执行记录)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-10 08:51:30 +00:00 |
|
zizi
|
dcb680e95f
|
docs(agent-loop): batch-002b 补产满分收口——综合 accept 45%→95%, 剥 think 防御实战 7/7 全救
- batch-002b: 10/10=100%(零 kill/零 infra/fix 回炉 3/3/稳定性 100%/flash 抽检 0 分歧),
金丝雀 9058-9067 全发布, feed=30 款
- 防御实战铁证: M2.7 泄漏当日仍 22.6% 再现(31 调用 7 泄漏), 归一化 7/7 全救——
对照 batch-002 同病灶击杀 10 条 → 本批零击杀
- 执行器路径实战单: 图书馆排书架 13s succeeded(认领→LLM 12.2s→schema round1→受理)
- 综合口径: batch-002 20 条创意补产后 19/20=95.0%
- C7 作战清单收口; eval 回流 +55 行
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 06:53:44 +00:00 |
|
zizi
|
950d71daa3
|
docs(agent-loop): batch-002 全档入库——accept 45.0%(网关 M2.7 当日回归 think 泄漏)但体系全项兑现
- accept 9/20=45.0%(对照批-001 80.0%): 10 条 schema kill 全为 json_parse char 0,
直调复现 content 以 <think> 开头(finish_reason=stop 非截断)——通道回归非口径/创意问题
- C6 战役兑现清单: Z4 稳定性 33.3%→100% / 真·flash 抽检 2 条 0 分歧(不冻结,解冻依据闭环)
/ 金丝雀 9/9 批内全自动直发零补救(发布链修复实证) / 模糊创意细则②零误杀
- 双锚三锚全立(9035 鱼摊捞手: completed→quality 0→60→feed 第20→第4)+玩家端渲染面截图
- 操作事故留证: 误 resume 污染已隔离(ledger.jsonl.contaminated-* + quarantine/),
批外痕迹 9055/9056/task50 登记; 孤儿 queued 44/51 已置 canceled
- eval 回流 +191 行; P0 后续=剥 think 防御(m27hs 门在飞)+10 条 schema kill 创意补产
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 05:37:05 +00:00 |
|
zizi
|
d268f50d73
|
feat(prompts): C6/C6.1 对抗 prompt v1.1.1 + Golden 回归两轮——解冻终裁 Path A(主 agent)
- clicker-designer v1.1.0: hard_constraints+正文双写「designIntent 禁承诺模板外机制」
- adversary-review v1.1.1: 判定细则①②③(越模板降级P2/模糊创意不出P1/checklist稳定化)
+ 细则①边界句(核心动作语义矛盾仍属P1——根治 v1.1.0 回归暴露的 kill 守卫放水)
- P0 定义与 P1 四类口径文字逐字节未动(提取块 md5 双侧一致, 不降口径铁律)
- Golden 回归两轮全档入库: v1.1.0(诚实红灯 0/3)→v1.1.1(kill守卫三通道全中/稳定性100%/误报2/16)
- 黄金集口径版本化(doctrine 双标签, v1.0.0 历史四重可溯)
- 终裁: 残差全在偏严侧零放水证据→解冻, 下一批可发布; v1.1.2 backlog(g9011/g9019 偏严误报)
- PromptResourceLoaderTest: 版本断言由钉死字面改语义化正则(升版必挂的合树雷, C6 实证)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 04:03:30 +00:00 |
|