lili
2eb507da4a
feat(studio): U9 素材中心/玩法模板中心/创作者公开主页 + P-ACC-03适龄徽标
...
3 new pages(view→store→api→request CommonResult 范式,全 mock 兜底):
- 素材中心 /studio/material:六类浏览(GET /app-api/studio/asset/browse)+ 上传
(POST /infra/file/upload→POST /app-api/studio/asset)+ 选用入草稿
(POST /app-api/studio/asset/select)
- 玩法模板中心 /studio/template:GET /app-api/studio/template/list(5 品类
business-sim/narrative/puzzle/trpg/heritage)+ 一键去创作
- 创作者公开主页 /creator/:creatorId(PUBLIC 非 requiresAuth,P-OPN-08):
GET /app-api/project/public/creator/{id}(仅 status==4)+
GET /app-api/telemetry/public/creator/{id}/summary
P-ACC-03 适龄徽标 AgeRatingBadge(4 级 all/8+/12+/16+)渲染于:项目详情/我的项目
列表/创作者主页(VO ageRating)+ 试玩页(compliance/rating/get 回读)。
gap:feed 卡 VO 无 ageRating 字段(不杜撰,待 feed.yaml additive);profile/account
页无单局分级数据源——均显式留空。
HJ-FE-DS-001 token/组件复用 + i18n zh/en + 移动优先;strict TS 无 any;
新增 mock studio.ts(注册 index.ts,/infra 前缀放行)。
gate:npm run build(vue-tsc -b && vite build)GREEN;preview+curl 6 端点
+ 3 路由 200 实证。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:40:14 -07:00
lili
da5ec28c49
merge(002-U10): admin运营台接线(限曝光/导出/经营看板/赋余额订阅·funds-safe bizNo幂等+二次确认;build绿) → dev/2.0.0
2026-06-18 13:15:12 -07:00
lili
6771229921
merge(002-U8): 创作可用性前端(P-CRT-10引导/11示例库/13就地失败可重试+mock失败注入;build绿) → dev/2.0.0
2026-06-18 13:15:12 -07:00
lili
7219b613f9
feat(admin): U10 限曝光/导出/经营看板/赋余额订阅 运营台接线
...
新增 3 个 wanxiang 运营页 + 营收报表导出按钮,全部接 dev/2.0.0 真实 admin-api,mock 兜底齐备:
- 限曝光控制(exposureLimit): POST /feed/exposure-limit + 复用 featured/page 列表 + featured/export-excel 导出;perm feed:featured:update / feed:featured:export
- 经营看板(operationDashboard): GET /telemetry/dashboard 跨模块聚合(DAU/GMV/生成量/发布量) + 区间选择 + 指标卡 + dashboard/export-excel;perm telemetry:dashboard:query(区别于按游戏维度的 dashboard 页)
- 赋余额/订阅(grant): POST /trade/account/grant + /trade/subscription/grant 2-Tab;资金操作=二次确认 + bizNo 幂等键(自动生成可改) + 元↔分换算;perm trade:account:grant / trade:subscription:grant
- 提现页平台营收 Tab 追加 GET /trade/report/revenue/export-excel 导出;perm trade:report:export
接线对齐后端 ReqVO 实证(GrantBalanceReqVO/GrantSubscriptionReqVO/ExposureLimitReqVO):
bizNo @NotEmpty max64、amount 分>0、plan 1月/2季/3年、durationDays>0、exposureLimit Float>=0(>=9999 硬剔除)。
路由注册 remaining.ts wanxiang.children(5→8),菜单继承 route meta;导出走 request.download(blob)+download.excel。
gate: vite build --mode prod GREEN(3 新页+新端点均编入 bundle 实证)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:11:57 -07:00
lili
50a089170d
feat(studio): U8 创作可用性 P-CRT-10引导/11示例/13就地失败可重试 + mock失败路径
...
- P-CRT-10 创作引导: 创作页新手引导卡(三步, 可收起) + Prompt 输入近场写法提示;
示例库按钮始终可用(未选模板回落通用示例 genericExample); 升级中空态补「一句话造游戏」引导+示例预告
- P-CRT-11 示例库: Create.vue 消费真实 TemplateRespVO.examplePrompt, 强化「示例库」语义;
mock TEMPLATES 对齐真实后端 U7 五品类(business-sim/narrative/puzzle/trpg/heritage)逐字段同源
- P-CRT-13 就地失败可重试: Task.vue 监听 failed/timed_out 终态就地 showToast(一次, taskId 幂等去重),
区分 status=4 超时与 status=3 失败文案; 终态失败为 CommonResult code:0 不触发拦截器网络错误 Toast(单 Toast 不重复);
mock 失败注入: Prompt 含 test_fail→终态 failed(llm_error), test_timeout→终态 timed_out(timeout), 重试不继承失败(失败→重试→成功)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:10:29 -07:00
lili
9b96433bc2
merge(plan002): Tier-1 广度后端 U1-U7 收口(本会话 U3/U5/U6/U7 + 评审整改 + U6 media裁定对齐 + 外部IO不入事务红线蒸馏;447 测试绿) → dev/2.0.0
2026-06-18 12:51:23 -07:00
zizi
41a9d1f52a
docs: U5(ReAct)移出 001 → P2 agent-native 轨(创始人定)—— 001=U1-U4 / 003 退路作 contingency / 归 agentic canonical
...
创始人 2026-06-18:延期任务(U5 ReAct)不再算 001。① 001 plan 删 U5 单元(=U1-U4,已合)+执行状态/需求追溯标移出;② U5 归 docs/agent-specs/agentic编排-SAA.md(P2/Phase-1.5 agent-native 轨,已含接法B);③ 003 退路:ReAct 从'主杠杆'降为 contingency(P2 轨),达标主杠杆改 = 升档+prompt/gatespec修(remaining语义/asset/c4),升档+修不达80%才升级ReAct。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 19:44:36 +00: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
4ca5263eb0
docs(.agents,mvp): plan002 Tier-1 收口——外部IO不入事务红线泛化(U3/U6实证) + 进度总账回填(U3社区/U5admin/U6素材/U7模板)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:51:50 -07:00
lili
72eebdd5bc
merge(tier1): U7 R-TPL 品类玩法模板注册(5品类·constants-only·克隆generic代码生成契约)
2026-06-18 11:46:51 -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
5c415cdb21
merge(tier1): U6 R-MAT 素材后端(实体六类/浏览/选用/上传 compose infra FileApi + codex整改)
2026-06-18 11:31:32 -07:00
lili
edc3436f7e
fix(community): U3 评审整改——P0 ZSET 移出事务(afterCommit) + P1 弹幕长度门/弹幕广播出事务/举报接缝去重 + P2 注释与公开读
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:30:07 -07:00
lili
a6f8f58d23
fix(studio): U6 codex 整改——P0 FileApi 移出事务 + P1 magic-byte类型校验/选用悲观锁/草稿态守卫
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:17:16 -07:00
lili
ac7ffe4a92
feat(telemetry): U5 经营看板聚合+导出 + 营收报表导出
...
经营看板(跨模块只读聚合,缺数据兜底不 500):
- 新端点 GET /admin-api/telemetry/dashboard(telemetry:dashboard:query)→ DashboardRespVO,聚合四指标:
DAU(本模块 game_telemetry_event 去重活跃身份:登录 user_id + 匿名 anon_id,取 statDateEnd 当日,
新增 TelemetryEventMapper.countActiveIdentities)+ GMV(trade-api)+ 生成量(aigc-api)+ 发布量(project-api)。
- DashboardServiceImpl 容错:每个数据源独立 try-catch + CommonResult 解包兜底——任一源不可用→该指标兜底 0
+ degraded/degradedSources 标记,整体不 500(看板可用性优先);正常空数据(data=null)不算降级。
- 导出 GET /admin-api/telemetry/dashboard/export-excel(EXPORT 审计)单行导出看板快照。
- telemetry-server 加 trade-api/aigc-api 依赖 + starter-excel。
营收报表导出:TradeAdminController 加 GET /admin-api/trade/report/revenue/export-excel
(trade:report:export + EXPORT 审计),抽 buildRevenueReport() 与 /report/revenue 共用口径避免漂移。
测试:DashboardServiceImplTest 6(全可用聚合/单源抛异常兜底/CommonResult非0兜底/data=null不降级/
全跨模块故障DAU仍可取/跨模块只读 never 写方法)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:06:57 -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
240a18fc33
feat(trade-api/aigc-api/project-api): U5 看板只读count方法(additive)
...
为 U5 经营看板补三个跨模块只读数据源 seam(均 additive,删除后各模块既有单测仍绿):
- trade-api:新增 TradeApi Feign 接口 + TradeRevenueReportDTO + trade-server TradeApiImpl
(@RestController @Primary 委托既有 IncomeService.sumGross/sumNet + WithdrawService.sumPaidAmount,
口径同 /admin-api/trade/report/revenue)→ 看板 GMV。
- aigc-api:AigcApi 加 countSucceededTasks(start,end)(impl 委托新增 AigcTaskMapper.countSucceededBetween:
status=succeeded 且 finish_time 落区间,零 DDL)→ 看板生成量。仅 additive:不动 SAA/executor/生成代码。
- project-api:ProjectApi 加 countPublished(start,end)(→ ProjectService.countPublished → 新增
ProjectMapper.countPublishedBetween:status=PUBLISHED 且 update_time 落区间,零 DDL)→ 看板发布量。
时间维度为 update_time 近似(项目表无独立 publish_time 列,已注释说明)。
跨模块只读,无任何写;自然日端点在各 impl 展开为全天 LocalDateTime 区间。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:05:56 -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
c290fd1be3
docs(plan): 001 评审 follow-up + media 裁定——asset孤儿→002-U11 · remaining语义/assertAfterPlay/9-9/worker→003-U1 · 上传归属=media
...
我的 001-U1~U4 codex+opus 评审(迟到于另一 session 的 FIX-FIRST 合并,但有料)落账:① 002-U6 上传端点=共享 media(创始人裁);② 002-U11 补 gamedef 路 asset 孤儿(GAMEDEF_KEYS strip assets + asset 节点 validate 后 merge=死代码,必修);③ 003-U1 评审更新:gamedef 已绕开命门(c1 对目标路 moot)→ 新焦点 remaining=alive.length 语义错位/assertAfterPlay 词汇门禁(c4)/9-9=金样非模型过门/worker prompt 切默认前补 GAMEDEF_SYSTEM。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 17:09:01 +00:00
zizi
c499d9c181
docs(总账): §7.1 Tier-0 标现状——SAA gameDefinition U1-U4 已集成 dev/2.0.0 + U5 延期 + 下一关 cutover 门
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 16:55:28 +00:00
zizi
4d48c0b497
docs(skills): drive-remote-claude-tmux 补 §7 实战限制——直驱活会话撞两墙(guard拦注入/模态吃键),记行得通三条路
...
本会话直驱 game 实证:auto-mode classifier 在执行层拦活会话 send-keys(口头授权不够·要设置层 Bash 权限规则)+ 'How is Claude' 反馈模态截获所有非选项键(Escape/C-u/BSpace 全失效)。行得通=创始人粘路径(本会话成功)/专用全新会话/直驱需权限规则+先关模态。铁律=完成判据靠 git push 非读屏。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 16:53:55 +00: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
39c16630ed
merge(saa): 真结构化生成地基 feat→dev/2.0.0——U1-U4(运行时约定/build-from-source/真产gameDefinition/多模型回退)+6c6g评审整改(P1 K_STATUS清零/P2 fallback注释);flag默认factory灰度opt-in,生产零行为变更
2026-06-18 16:46:19 +00:00
zizi
8ccb5c7c7e
docs: 内网凭据档(NEWAPI_KEY 等)+ AGENTS §6 条款9——内网阶段 keys/decisions 进文档、禁 env var(创始人定)
...
创始人 2026-06-18:内网阶段所有决策+密钥进项目文档,不靠环境变量(内网 key 允许入仓)。新建 docs/内网凭据与端点.md 作密钥/端点单一事实源(NEWAPI_KEY=sk-84GA…/base http://100.64.0.8:3000/四机/Gitea );AGENTS §6 加条款9立为硬约束——需 key 查该档,别再反复找创始人要(已给几十次)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 16:33:22 +00:00
lili
6a9bd4d349
fix(saa): 6c6g 评审整改——P1 K_STATUS 清零 + P2 stage2 fallback 注释
...
P1(真修):renderNode 起手 out.put(K_STATUS,"") 清 stale 状态——checkpoint/saver 跨 run 复用 state 时,
上轮 giveup 写的 K_STATUS="failed" 会残留,下次 modify 进来 modifyRouter 首检 K_STATUS 误判失败、
把 gamedef 确定性点改错误路由到 END。
P2(语义·仅注释):generateNode fallback 处加注,说明 stage2 升档后回退档仍取廉价档(MiniMax-M3)是
「可用性优先于本次升档边际质量」的有意取舍(强档超时也要出包),非疏漏。
验证:mvn -Dtest=SaaStudioGraphTopologyTest,SaaStudioNodesRegressionTest → Topology 30/30 + Regression 8/8 全绿。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 09:20:49 -07:00
zizi
a5c453f7c4
docs: 根因分析改进落地——003-U1 补改进杠杆(c1命门/a2/a3 等) + 修 saa skill 过时'天花板'口径
...
据 docs/brainstorms/2026-06-18-生成失败根因分析:① 003-U1 补可执行改进杠杆(序=c零成本先→a升档+b ReAct;c1换few-shot含_forensicsView=命门/c2 I_control判据/c3 F_wiring接线/c4 H终局语义/a2 failCount重置/a3回喂源码),先单验c1;② saa skill 把'难门=生成质量天花板'(已被根因分析+Codex证伪)改为'主因=喂不全+救场不足+门判据偏'。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 15:16:06 +00:00
zizi
a0af0f658c
docs(brainstorm): 生成 60% 失败根因分析——喂不全为主(命门=few-shot 缺 _forensicsView)非天花板 + 改进清单
...
创始人 2026-06-18 指派。Opus 取证 + Codex 验证(双视角):① 命门=注入的 few-shot 探针 _goldenpath-probe/factory.js 缺 _forensicsView/latch,而 prompt 硬要求它→模型抄没见过的东西(代码直证 SaaPrompts:63/108 vs probe:77);② I_control 平滑跟手 harness 查、prompt 零提及;③ 真模型硬天花板无样本实证、非主因(scale-20 无'人工介入后仍不过'的款,Codex 同此);④ 救场两弱点:failCount 跨档不重置(强档只剩3次)+ 普通 repair 不回喂源码。改进序=c(零成本 prompt/few-shot 先)→ a 升档+b ReAct 并行;首步=mini-desktop 重跑取真 dump(两机现无 per-game dump,占比是推断)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 14:42:33 +00:00
zizi
7d4a77c36b
docs(plan): 003 落创始人拍板——质量门优先 + 达标主杠杆=升模型档+ReAct(待拍→已定)
...
创始人 2026-06-18:① 质量门 ≥80% 优先于成本 ¥0.15/款(临时破价 Phase-3 压回);② 达标主杠杆 = 升默认模型档 + ReAct(两者都上,ReAct 从'备选退路'提为主路,001-U5);(ii)降判据/(iv)改门为备选。③ 配套:Claude 做生成失败根因分析(另出)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 14:20:42 +00:00
zizi
0b8b968292
docs(plan): P1 按并行/串行拆两档(创始人定)—— 002 并行线 + 003 串行线,过 Codex+Opus 双评审
...
创始人定:P1 = 001(生成机制线,执行中不改)+ 002(并行线:广度后端 U1-U7 + 前端 U8-U10 + 引擎收尾 U11 + 2 孤儿 P-OPN-08/P-ACC-03)+ 003(串行线:质量收口→flip→M0→最终验收 003-U4 + 退路)。按'能否并行'拆,解掉命运耦合(合并版的 P0)。拟 plan 004(引擎)并入 002-U11。
双评审(AGENTS §6 条款8):Codex 揪 1 阻断(P-OPN-08 需后端公开聚合 API、原误当纯前端)+ 4 重要(U11 先差分勿重造〔runtime 已有 drawText/SpatialHash/MTV〕/ P-ACC-03 验收面拓 feed/play/主页 / 003-U4 补 M1-M3 明细 / 跨档引用 + compliance 标注)全修;Opus 收敛复核确认 001+002+003=P1 全集无真孤儿、轴切自洽、无 P0、可收口。留 2 待拍(质量门≥80% vs 成本¥0.15 优先级 / 80% 不可达退路)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 14:09:20 +00:00
lili
cb0a273d43
docs(plan): plan-001 加执行状态收口快照(U1-U4 交付/验证 + gamedef 实证 + U5 延期 + 待 6c6g)
...
应创始人「update plan 001」:在 plan 2026-06-18-001 进展结论后加「执行状态」节(决策正文 U1-U5/KTD/HTD 不动):
- U1-U4 已交付+本机验证+推送(引擎 node --test 60/60;后端 mvn test-compile + Topology 30/30+Regression 8/8;双评审 18 条整改);U1 含正式化 runtime-api-2d.d.ts + clickable 基元。
- gamedef 路实证:路径两品类均过 harness 9/9、repair 真抬率;success rate=引擎生成能力(高方差,正式 cutover authoritative=mini-desktop)。
- U5 正式延期(pom Phase1.5 + 地基稳后门)。
- 待 6c6g:schema clickable 枚举(不动现8契约)/ assertAfterPlay 字段词汇(共享 DESIGN_SYSTEM)/ 评审。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 06:44:26 -07:00
lili
95b2572e65
docs(game-runtime): U1 约定正式化 runtime-api-2d.d.ts(rt 接口 TS 契约 · 第10类契约 additive)
...
plan 2026-06-18-001 U1 正式化产物(plan「1-2 轮后正式化」已满足:4 轮迭代+跨品类 9/9 实证+clickable 基元,约定已稳)。
手写 TS 契约(同 api.d.ts/game-host.d.ts 范式),与 gd-runtime.js 同形:
- gameDefinition 声明式模型:Render/Physics/Clickable/Marker 组件 + EntityDef/BehaviorDef(code)/RuleDef/SceneDef。
- rt 面(behavior 侧):实体 getEntity/entities/query/spawn/destroy + Entity 实例形 + input(轮询)/time(确定性,无 nowMs)/
dt/random/score-win-lose(latch)/clamp-dist-overlap/fx/view。
- ForensicsState:固定取证键 + 逐实体 id 投影命名位(ball.x…)+ tag=target → targets[]。
- createRuntime(boot,gameDefinition)→Runtime(init/update/render/state/destroy/errors)签名。
落 game-runtime/src/host/(同 game-host.d.ts 之理:内部宿主↔behavior 接线面,非跨仓 SSOT);
additive 第 10 类契约,**不动现 8 契约**(故未改 source-project.schema.json;clickable 入其 kind 枚举=additive,
留 6c6g/创始人 决,contract-first 补正)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 06:38:50 -07:00
lili
80aaa116ab
feat(game-runtime): clickable 声明式点击基元(harness 探针证 9/9)+ tap-targets prompt 迭代——治便宜模型 tap-handler 顽疾
...
plan 2026-06-18-001 U3 迭代3-4轮(据快走查根因)。
根因(全budget+stage2 都不解,3轮prompt不解):便宜/强模型均**顽固把 tap 命中门控在分离 state 实体/计时器/turn 上**
→ 盲点驱动点不中 → tap-targets 类系统性 E_live/F_wiring/G_input/H 挂。即「让模型写 tap-handler」这条路便宜模型走不通。
引擎线根治(gd-runtime.js):新增 **clickable 声明式基元** `{kind:'clickable',score?,mark?:{shape,color,r},hitW?,hitH?}`——
运行时内置:本帧点中带此组件且 !occupied 的实体 → 自动翻 occupied+spawn 标记(可见)+计分+fx。**离散点击类声明它即可、免写 handler**。
验证:gd-runtime 单测 16(含 clickable 派发) + 全套 60/60;**手写纯声明式(behaviors:[])clickable tap-targets gamedef 过 harness 9/9**(E_live distinct=8/F_wiring/G_input/H 全过)——证基元+管线正确。
GAMEDEF_SYSTEM:教 clickable(替「写 tap-handler」)+ 参照2 改纯声明式 clickable few-shot(经探针证 9/9)。
runtime-api-2d.md:补 clickable 组件文档。
**关键测量定论(终结本机迭代)**:便宜模型 tap-targets 单管线生成**高方差**(同 brief 一轮 8/9 一轮 5/9)——
N=1~2 小样 lili-mac 早读**信噪比不足**,无法可靠优化「模型产出过门率」(我前几轮在追噪声)。
**管线/运行时/约定已证正确(手写金样两品类均 9/9)+ 引擎补了 clickable 基元**;**模型产出 cutover 率是统计量**,
需大样+全 repair 预算 → **authoritative=mini-desktop SaaFullGraphE2eTest -Dsaa.e2e=1**(多 brief+5+3 repair+stage2)。
快走查工具:加 stage2 救场升档(QC_STAGE*)+ gamedef assert 字段 coerce 到 score(治 design 造 moves/totalRound 等取证读不到字段)。
设计决策待 6c6g:design↔gamedef 的 assertAfterPlay 字段词汇契约(design 应约束到 gamedef 暴露集 score/remaining,
或运行时暴露更多)——触共享 DESIGN_SYSTEM。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 06:13:18 -07:00
lili
c24b7fb4d2
fix(saa): GAMEDEF_SYSTEM 加 tap-targets few-shot(harness 探针证 9/9 正确)+ 快走查 repair 可配
...
plan 2026-06-18-001 U3 迭代2轮:据 cutover 早读「tap-targets 类系统性 5/9(E_live/F_wiring)」根因诊断+整改。
根因决断(harness 受控探针,无 LLM):把**手写 known-correct tap-targets gameDefinition**直接过全 harness
→ **9/9 真过**(E_live distinct=8/8、F_wiring 12 引擎调用)。**故运行时+装配器+tap-targets driver+约定全正确**;
whack/tictactoe 失败 = **便宜模型生成质量**(tap-handling 写错:点击未判中→无 spawn/fx/计分→画面恒定),非基建/集成 bug。
GAMEDEF_SYSTEM 加 tap-targets few-shot(SaaPrompts.java):tile 网格每格 tags:["target"]+idx+occupied,
justTapped→pointer overlap 判中→occupied 翻+spawn 标记(可见)+addScore+fx;win=score>=N。
few-shot 本身经探针证 9/9 正确(教对 idiom);实测使模型确给 target 打标(gd-whack 9/10 tagged)。
残留 tap-handling 精度=R3 便宜模型质量,靠 **repair 回环(真图 5+3 轮,本机只跑 3)+ stage2 升档(强档)** 解。
快走查:MAX_RETRIES 改 QC_MAX_RETRIES 环境可配(真图 maxRepairs=5,本机早读取 3 平衡时延)。
结论:**gamedef 路两大品类(realtime/physics + tap-targets)路径均证正确**;首攻便宜模型质量随品类波动,
cutover 率 = repair 预算 + 模型档 的函数(二者在 mini-desktop 全图满配)。≥60% authoritative=mini-desktop。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 02:42:41 -07:00
zizi
16467157c1
docs(plan): 新建 003 Phase-1 生死门(质量达产线门+flip+M0验收)—— Codex+Opus 双评审整改 3 P0
...
立项=双评审 P1-3(生死门无家)。新建后按 AGENTS.md §6 条款8 过 Codex+Opus 双评审,Opus 揪 3 P0 全整改:P0-1 60→80% 跨路径错配(60%=iife旧路/80%门所在 gameDefinition 路零行已建)→改'先实测真基线再收敛';P0-2 stage2救场已计入基线=空头退路→增'80%不可达退路分支'(升档/降判据/ReAct/改判门);P0-3 质量门 vs ¥0.15 成本门无优先级→列待拍(推荐质量优先)。+2 P1(M0机制归001本档只补验收gate/gating链显式追踪表)+2 P2(80%门测试加minSuccessRate硬断言/M0口径收窄不混M1/flip两步+回退/术语)。剩2项待创始人拍。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 08:28:04 +00:00
lili
099fb8106d
test(wg1): gamedef 快走查加 repair 回环——证 repair 抬升率(runner 7/9→9/9 真过)
...
plan 2026-06-18-001 U3 capstone:快走查加 repair 回环(mirror 真图:验证/真玩失败→verdict 回喂→重生成,≤2 重试),
证 ≥60% cutover 的真机制(repair)在本机可抬首攻失败到过门。
with-repair 早读(design+gamedef 全图镜像,deepseek-v4-flash):
- gd-runner ✅ 9/9 真过(att=3)——首攻 7/9,repair 回喂后重生成补齐 → 满九门。**repair 回环端到端证实有效。**
- gd-breakout 8/9(att=3)——H_progress(砖 remaining 未降):paddle-intercept 接球清砖精度,3 轮便宜模型 repair 未完全攻克
(R3「九门是机制地板」难类;仍真渲染/构建/玩、挡板接指针)。
- 1/2 小样硬类:与 ≥60%(全图+更大样, authoritative=mini-desktop)目标一致——runner 类过、paddle 精度类待更多 repair/更强档。
总:gamedef 路本机已证 ①端到端可玩(pong/runner 满门)②repair 回环真抬率。≥60% cutover 量化门 authoritative=
mini-desktop SaaFullGraphE2eTest -Dsaa.e2e=1(全图+repair+大样)。密钥经 _client 读 .env 不入码;throwaway 已清。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 01:18:33 -07:00
zizi
6c9c1bd2ad
docs(agents): §6 条款8 去掉 Harness 触发——只保留 plan/brainstorm 文档双评审要求(创始人定)
...
创始人 06-18:AGENTS.md 只写'新建 brainstorm/plan 文档须 Codex+Opus 双评审(Codex 挂回落 Opus)'这条要求;'写入 Harness'触发不入 SoT 条款。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 08:03:21 +00:00
lili
da4801828d
fix(saa): GAMEDEF_SYSTEM driver 对齐加固 + 快走查升级全图镜像(design+gamedef)——据 U3 早读根因
...
plan 2026-06-18-001 U3 迭代1轮:据 lili-mac gamedef 快走查根因诊断,加固 GAMEDEF_SYSTEM 与九门 driver 的对齐。
快走查根因(design+gamedef 全图镜像, deepseek-v4-flash 单发无 repair):
- 路径端到端真成立:声明式 gameDefinition→装配→构建→真九门;pong 9/9(无 design 简版)、breakout 8/9。
- 单发首攻失败模式根因:① I_control——挡板命名变体(paddlePlayer≠gatespec 的 paddle)/ 只接键盘不接指针(driver 靠点指针位驱动)
/ 控制体 clamp 范围窄于 driver 边缘 tapX(340);② H_progress——设计稿 assertAfterPlay 引用取证读不到的自定义字段(totalRound)。
GAMEDEF_SYSTEM 加固(SaaPrompts.java,gamedef 路专属,不动现 SYSTEM):
- 命名逐字对齐 gatespec(挡板=paddle、球=ball,别用变体——读到 undefined=挂)。
- 可控体必须响应指针(`if(rt.input.pointer.down) paddle.x=rt.input.pointer.x`——driver 靠点指针位驱动,只接键盘=I_control 挂)。
- 进展落在可取证字段(score/remaining/实体位置;assertAfterPlay 别用读不到的自定义字段)。
验证:再跑 breakout 模型确按指令接指针控制(`if(pointer.down) paddle.x 追 pointer`)+ I_control tapX:50 已过;
残留 tapX:340 未过=首攻 clamp 范围精度,属**repair 回环**(已建:验收失败→verdict 回喂→重生成)territory。
快走查工具升级(gamedef_quickcheck.py):加 design 步(抽 DESIGN_SYSTEM+复刻 extractGatespec)→ 全图镜像
(classify 略/design→gamedef→装配→九门),getter truer 早读;prompt 抽自 SaaPrompts.java drift-free。
定位:单发快走查=首攻质量早读(非 cutover 门)。**≥60% cutover 门=全图含 repair 回环, authoritative=mini-desktop
SaaFullGraphE2eTest -Dsaa.e2e=1**(单发 0/6≠失败:repair 回环抬升率,本机不跑 repap 多轮)。密钥经 _client 读 .env 不入码。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 00:58:01 -07:00
zizi
aefffb889d
docs(agents): §6 加硬约束条款8——plan/brainstorm 文档及写入 Harness 必 Codex+Opus 双评审
...
创始人 2026-06-18 定:新建 brainstorm/plan 文档(含就地扩活计划补 units)或写入 Harness(九门 e2e 评测 harness=生成质量裁决器)→ 收口前必过 Codex+Opus 双评审,Codex 不可用回落 Opus 单评;并行跑+喂设计前提+在档修+跨档列待办。本会话立证(对 plan 002 增量揪 2 P0)。放 SoT 入口档而非 .agents/rules(创始人指定)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 07:54:50 +00:00
zizi
e6cd1a2cd0
docs(plan): 002 双评审整改(P0-2 创作页归属/P1-1 分批验收门/P0-1 命名空间/P2)
...
按创始人新评审门(brainstorm/plan 必 Codex+Opus 双评审)对 b53d2152 增量补评审,Opus 对抗式揪 2 P0,本提交修在档内的:P0-2 U8↔U9 创作页前端归属切清(owner=U8、U9 不重复)/ P1-1 U9 验收门拆子门A(已可接 feed/钱包/账号)·子门B(gated 社区/素材/模板)防8页伪完成 / P0-1 加 002 编号命名空间声明(喂Mac带 002-Ux,与 001 U1-U5 两套)/ P2 校准 P-CRT-13(壳已在非替mock)·摘要七域注·U10三跨联合验·U9八页映射。跨档项(001 加80%flip+M0 unit·前端线残迹sweep·总账回填)列收口待办待创始人点头。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 07:43:33 +00:00
lili
d8df5f27ec
test(wg1): gamedef 路 lili-mac 快走查驱动 + U3 cutover 门早读(pong 9/9 真过)
...
plan 2026-06-18-001 U3 验证:run.py 的 gamedef 版——generate(GAMEDEF_SYSTEM,从 SaaPrompts.java 抽取 drift-free)
→ build-from-source.mjs(校验 schema/引用/静态扫描+装配)→ scaffold/build/play 九门(harness 复用零改)。
早读(deepseek-v4-flash 便宜档,lili-mac 小样):
- gd-pong 9/9 真过门(声明式 gameDefinition→可玩→满九门,范式端到端证实)。
- gd-runner/whack 8/9、gd-flappy 7/9,共性缺口 G_input——本快走查跳了 design 步、多数 brief 的 play_spec
无 controlCheck/driver(gatespec),故 G_input 无控制驱动可施=快走查 harness 工件,非 gamedef 生成缺陷
(游戏真渲染/真构建/输入真接线:runner justTapped→jump 在;pong 满过)。
- authoritative ≥60% cutover 门(全图含 design 产 gatespec) = mini-desktop SaaFullGraphE2eTest -Dsaa.e2e=1。
密钥经 _client 读 .env(gitignored)、绝不入码;throwaway 生成游戏(gd-*)已清,不入仓。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 00:25:13 -07:00
zizi
b53d215257
docs(plan): Tier-1 计划 002 并入前端接线+创作可用性骨架(U8-U10)
...
按创始人拍板(a):不新建 plan 文件,就地把缺口当 units 补进现有 Tier-1 活计划(遵一题一活档·禁一 pivot 一文件)。新增 U8 创作可用性(P-CRT-10/11/13·Tier-0 优先)/ U9 studio 前端接线(8页去mock+素材/玩法模板两新页)/ U10 admin 运营台前端接线;骨架级=只定目标/范围/验收门,file 级实证细节留 Mac 在活代码树补。删过时的「前端接线=前端线」scope-out(新分工 Mac 全包前后端,域切已废)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 07:14:29 +00:00
lili
fd5b245baa
feat(saa): U2 接缝 + U3 真产 gameDefinition + U4 多模型回退(gamedef 路 additive 灰度)
...
plan 2026-06-18-001 U2(后端接缝)/U3/U4 · 后端线 · 真结构化生成上产线(saaSourceMode=gamedef,默认 factory 字节不变)。
U3 真产 gameDefinition:
- SaaPrompts 新增 GAMEDEF_SYSTEM(与现 SYSTEM 物理隔离,公平性铁律)+ buildGameDefMessages;内容=runtime-api-2d.md
约定提炼(schema/rt 面/命名约定/硬约束)+ 内联 scan-clean few-shot;硬约束由 build-from-source 静态扫描兜底。
- SaaStudioNodes.generateNode gamedef 分支:产结构化 gameDefinition(looseParse 脏 JSON 容错)落 K_SOURCE_PROJECT;
factory 路(含 regenerate 消费 base 源)字节不变。
U2 后端接缝(gamedef→可玩,scaffold/build/play/harness/build.mjs 全零改):
- build-from-source.mjs 加 CLI(node build-from-source.mjs <src> <out> / --validate;被 import 不执行)。
- SaaGenNodes.validateNode(gameRuntimeRoot,sourceMode) gamedef 分支:经 build-from-source.mjs 子进程校验+装配
sourceProject→factorySrc(下游 scaffold/build 零改消费);CLI 失败回喂 repair。
- 确定性点改解锁:modifyNode(sourceMode) gamedef 路真改源不 fail-loud;modifyRouter(sourceMode) gamedef
deterministic→validate(装配 patched 源重验)/ factory→fail-loud;assetNode 幂等(已有 assets 跳过,不覆盖点改)。
U4 多模型回退链:generateNode 主模型(含 stage1/stage2)耗尽 180s×3 重试后,回退同 role 跨家档(M_CODE/FIX_FALLBACK
=MiniMax-M3)再试;接现 callWithTimeoutAndRetry/looseParse/救场阶梯不另起限次。GenModels record 收敛入参。
线程:AigcExecutorProperties.saaSourceMode(默认 factory)→ SaaGraphDispatcher → SaaStudioGraph.build 9 参重载 →
assemble → generate/validate/modify/modifyRouter;8/7/5 参 build 旧重载 delegate "factory" 不破现调用。
worker prompt.py 不动(gamedef 为 SAA 路专属、http worker 仍 iife,无 shared prompt 漂移=无 split-brain)。
验收(lili-mac 快走查):mvn test-compile 过(main+test);模型无关单测 SaaStudioGraphTopologyTest 30/30
(含新增 gamedef deterministic→validate 路由证)+ SaaStudioNodesRegressionTest 8/8,零失败;build-from-source CLI
实证(--validate exit0/2、assemble 产正确 import 路径工厂)。**gamedef 全链过门率≥60% cutover 门需 NEWAPI_KEY+
mini-desktop(authoritative,未在本机跑)**。默认 factory 路行为字节不变(灰度 opt-in)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 00:05:18 -07:00
lili
160d9bc3e0
fix(game-runtime): U1/U2 双评审整改(correctness×adversarial)——driver 命名路径 + 边界静态扫描 + rt 加固
...
子代理双评审(ce-correctness + ce-adversarial)对引擎线 9+9 条发现,逐条核证为真后整改:
gd-runtime.js:
- [HIGH] state() 派生九门 harness driver 命名路径:逐实体按 id 投影顶层位(ball.x/paddle.x/bird.vy…
+w/h/r/angle)+ tag='target' → targets[{x,y,idx,occupied,safe}](对齐 gatespec driver 契约)。
此前 driver 读 undefined→无法驱动→机制门必挂(plan U1 step5 要求,原缺)。
- [High] addScore 守 num(NaN/字符串不污染 score 共享契约);[High] 冻结 rt 纯 API 面
(input/fx/time/view+本体,防 behavior 改写共享 API 串味全局,实体仍可变)。
- [Med] 重复实体 id:addEntity 保先到者可寻址+记信号,reap 仅删 byId 指向的死亡实例(不误删存活者)
+ 实体上限 5000(防失控 spawn 静默膨胀)。
- 移除 rt.time.nowMs(墙钟=非确定性逃逸口);elapsed 帧末推进(首帧 now()=0);输入沿恒帧末清
(含 latch 后,杜绝滞留);overlap 显式 0 被尊重(不被 truthy 误当默认)。
build-from-source.mjs:
- [keystone] 校验边界静态扫描 behavior.code/rule.condition:拦死循环(while(true)/for(;;))、沙箱逃逸
(process/require/eval/.constructor/Function/globalThis)、确定性逃逸(Math.random/Date)、DOM/网络、
condition 副作用(;/赋值/win-lose-spawn-destroy)→ 转 validationErrors 回灌 repair。同步 JS 不可进程内
硬中断+new Function 不沙箱,故在边界拦截(模型代码只在浏览器执行,esbuild 仅静态打包);信任模型写进 header。
- [Med] 非数组 components/entities 强制数组化(不抛裸 TypeError);behavior code 须非空字符串;
id 唯一性+null/undefined id 不入引用集(杜绝 'null'/'undefined' 假命中);循环引用 JSON fail-loud
(带 validationErrors);`<`→< 转义(inline-injection 安全,防 </script> 提前闭合宿主内联 script)。
runtime-api-2d.md:补「边界硬拦截」「取证/driver 命名约定」(实体命名 ball/paddle、目标打 target 标)——交 U3 prompt 教模型。
验收:node --test 全 runtime 套件 59/59(原 50 + 9 条修复验证:命名路径/addScore守卫/rt冻结/重复id/
nowMs移除/非数组/非串code/静态扫描/循环引用+</script>转义);archetype few-shot 经核证 scan-clean(不教被拒模式)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 23:39:57 -07:00
lili
c8526f1dd6
docs(game-runtime): U1 运行时约定文本 runtime-api-2d.md(交 U3 prompt 嵌入)
...
plan 2026-06-18-001 U1 交付物「约定文字同步喂进 prompt → 交 U3 落 SaaPrompts 新 SYSTEM」。
新增 game-runtime/src/host/runtime-api-2d.md——写 gameDefinition behavior 逻辑时能用的全部 rt 面
的人/模型可读契约:gameDefinition 结构 / behavior 代码契约(new Function('rt','self','dt',code)+
trigger 语义+四条硬约束)/ rules / rt 面全 API 参考 / 组件 / 4 原型 few-shot / 常见坑(治真实模型
漂移:禁约定外 helper、禁 Math.random、终态置 latch、behavior 不画图、关键事件挂 fx)。
U3 的 GAMEDEF_SYSTEM prompt 直接嵌入本文。状态 v0(已过 4 类原型表达力证),保留补 idiom 余量。
落点同 game-host.d.ts 之理(内部宿主↔behavior 接线面 → game-runtime/src/host/);
是否升格 contracts/ 跨仓契约由 6c6g(contracts owner)定。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 23:11:14 -07:00
zizi
2937886a47
docs(skills): 远程驱动 Mac Claude Code 方案(ssh+tmux)——多设备复用 playbook
...
创始人 2026-06-18 拍板:6c6g 经 ssh+tmux 双向驱动跑在 tmux 里的交互式
Claude Code(send-keys 派活 / capture-pane 读屏),不走 ACP、不走
claude -p headless;采用 option 1=独立 worktree 专用会话,要求多设备复用。
- 新增 .agents/skills/drive-remote-claude-tmux.md:每设备配置块 + onboarding
侦察配方 + 通道原语(已实测)+ 专用会话(防撞树)+ bypass-perms + 安全红线;
完成判据=git push 非读屏;screen hardcopy 坏不用、PATH 假阴性坑均记录。
- README skills 索引补一行。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 06:10:49 +00:00
lili
4292f4e793
test(game-runtime): U1 收敛判据——rt 约定跨 4 品类表达力覆盖(并作 U3 few-shot 库)
...
plan 2026-06-18-001 U1 验收「3-5 类游戏 behaviors 用约定全跑通、零约定外 helper 漂移」。
新增 game-runtime/src/host/gd-archetypes.test.mjs——4 类原型 gameDefinition 经 createRuntime 真驱动:
- ① paddle-intercept(realtime+连续输入键/指针 + overlap 反弹 + lose latch)
- ② event-clicker(event+离散 justTapped + addScore + rule 胜)
- ③ dodge-spawn(realtime + rt.spawn/query/destroy + rt.random + overlap lose)
- ④ runner(realtime + physics 组件重力积分 + justTapped/justPressed 跳 + spawn 障碍 + 碰撞 lose)
headline 断言 = runtime.errors() 为空(零约定外 helper 漂移/零抛错)+ 各原型出合理状态转移
(移动/计分/终态 latch + 输入响应 + physics 重力 + spawn 真生成)。证 rt 面够表达目标品类谱。
定位:此为「约定表达力」证(手写金样,非真实模型输出)——真实模型 idiom 漂移收集随 U3
(GAMEDEF_SYSTEM prompt + NEWAPI_KEY)落;这 4 份金样并作 U3 prompt few-shot 库源。
验收:node --test src/host/gd-archetypes.test.mjs 4/4;全 runtime 套件 50/50 无回归。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 23:08:51 -07:00
lili
b112f888cf
feat(game-runtime): U2 build-from-source 装配器(gameDefinition → 可玩工厂源文本)
...
plan 2026-06-18-001 U2 · 引擎线 · 解锁「源 → 可玩」装配链。
新增 game-runtime/src/host/build-from-source.mjs:
- validateSourceProject(sp) → {ok,errors,gameDefinition}:轻量校验 + top-level strip
(产线容错必做——剥模型塞的 schema 外键);引用完整性(entity.components→components[].id /
scene.entityRefs→entities[].id)+ behavior 缺逻辑 code 揪错。守 game-runtime「本机零依赖」
不引 ajv(inner 键宽松保留运行时用的 vx/vy/tags,待 schema 迭代再收紧)。
- assembleFactoryFromSource(sp,{runtimeImportPath?}) → generated-factory.js 源文本:
对齐已冻装载契约(game-host.d.ts:default export 工厂 → GameInstance{init,update,render,
destroy,_forensicsView}),五法委托 U1 createRuntime;gameDefinition 内联为 JS 字面量、
behavior.code 作数据串随之内联(运行期 new Function 编译)。校验失败 fail-loud(err.validationErrors
供 buildNode 回灌 repair feedback)。
接现有零改下游:产出文本 → scaffoldNode 落 generated-factory.js → scripts/build.mjs(esbuild,
不动)→ bundle.iife.js → 九门 harness(零改);entry-bundle.template.js 不动。
验收(lili-mac 快走查):
- node --test src/host/build-from-source.test.mjs 5/5——校验+strip / 装配产物含装载契约要件 +
node --check 过 / fail-loud / **端到端功能证**(装配文本经 createRuntime 真跑到 win + fx 真接线);
全 runtime 套件 46/46 无回归。
- 真 esbuild 链探针(探针目录已清,不入仓):金样 gameDefinition → assemble → scaffold(正确深度)→
真 build.mjs → bundle.iife.js(215KB,语法过,__GameBundle 全局在);metafile 实证
gd-runtime.js + boot-game-host.js + littlejsengine 全内联。
范围说明:U2 的后端 Java 接线(SaaGenNodes.buildNode/scaffoldNode 从 K_SOURCE_PROJECT 装配、
SaaStudioNodes.modifyNode deterministic 解除 fail-loud)属后端线、需 mvn/mini-desktop 验证,
随 U3 后端线一并落(plan 允两线并行)。本提交 = U2 引擎线核心(本机可验的装配地基)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 23:04:46 -07:00