lili
|
8f700c4b42
|
fix(cheap-gen): 死圈修复 fix③ brief 落 evidence/brief.json 供根因取证
问题:一局 brief 原只内联在 run-summary.json,收口末尾才落——run 硬失败/挂死(如熔断
os._exit)时收不了口、brief 丢失,死圈根因取证断链;且无完整性戳、无限长策略。
改动(cheap_studio.py):scaffold 就绪后即调 _persist_brief_forensics 落
game_dir/evidence/brief.json,字段 {brief(限长)、bytes、sha256、truncated、promptMax、source}:
· 早落——硬失败/挂死也留得下,取证不断链;
· sha256/bytes 按【完整原文】算——核 worker 收到的 brief 与后端下发字节一致(查是否 brief
被截断/篡改害翻车),截断不掩盖完整性核对;
· 超 PROMPT_MAX=1000 截断 brief 字段 + truncated=True——脱敏 + 防超长撑爆;
· 落 evidence/(forensics,不随 src/ 进素材市场交易),【绝不】落工程根——源工程会被交易、
brief 是用户私有输入,不得泄进可交易源;
· 非阻塞铁律:落盘任何异常只告警、绝不咬生成主链(try/except 兜底)。
测:新增 test_brief_forensics.py 4 测(落 evidence 非工程根/字段齐 + sha256 按完整原文/
超长截断但摘要仍完整/空与 None 非阻塞),+ 回归 test_edit_file_toolkit 6 测,pytest exit=0;
cheap_studio import smoke 通过(import hashlib + 接线未破坏加载)。
待续(本计划剩项):fix①-B 共享 tier2 熔断窄口径纠偏(最险,另做)、n=5 收敛环。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-08 02:23:36 -07:00 |
|
lili
|
b63fd1b8f7
|
fix(cheap-gen): 死圈修复 fix②-check 红线报错带确切行号 + edit_file 补救指向
问题:红线判定原只输出正则 source(如"禁用 \bMath\.random\("),agent 拿不到
行号、要靠整文件重写去猜改哪行;且旧 stripCode 把跨行块注释塌成单空格,若据
stripped 串算行号会漂。这正是死圈触发面之一——报错越模糊,越逼 agent 整文件重写。
改动:
· stripCode 改为"内容抹成等量空格、保留换行":结果串与原文行号一一对应,
长度不变且不误匹配(空格非 \w/`.`),既有 5 处调用点(形状门/API 门/结构门)语义不变。
· 抽出可测的 _bannedLineErrors(rawSrc, f):整串正则做权威判定(不漏 \s* 跨行写法),
逐行定位命中行号(1-based、最多列 10 处),报错带"红线 X 第 N 行 + 用 edit_file
改回 ctx 形态、别整文件重写";函数内回退/typeof 守卫后的裸调、任意嵌套照样命中。
· check 第3节红线块改调 _bannedLineErrors(同 _shapeGateErrors 抽法)。
测:新增 check-banned.test.mjs 7 测(行号正确/跨行块注释不漂/多处逐行/typeof 守卫
后仍命中/注释字符串零误杀/合规零报)+ 回归 check.test.mjs 8 形状测 + check-undef,
33 pass 0 fail 0 skip,exit=0(stripCode 改动未破坏既有门)。
待续(本计划剩项):fix③ brief 落 evidence、fix①-B 共享 tier2 熔断窄口径纠偏、n=5 收敛环。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-08 02:19:56 -07:00 |
|
lili
|
596ea13666
|
feat(cheap-gen): 死圈修复 fix①-A 增量 edit 工具 + fix②-prompt 克隆纪律/check-early
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
死圈根因(双评审坐实):产物带小红线违规→check FAIL→agent 想修但只有整文件覆盖的
write_file→改3行变重写22KB→MiniMax 漏 path 连撞→stuck 熔断→九门没跑→ok=False。
fix①-A:cheap_run.edit_file(读现文件→校验 old 唯一命中→精确替换→经 write_file
回写继承 L1_FIXED/game_dir 保护)+ cheap_toolkit edit_file 工具(whitelist 把关)注册进
七工具面;edit_file 加入软停 blocked-tools(middleware.py,越软停线同 write_file 拦)。
edit 自身失败面(old 未找到/不唯一)给结构化提示。6 单测(命中/未找到/不唯一/L1拒改/
越界/缺文件)+ 现有 toolkit 8 测全绿。
fix②-prompt(cheap_roles.py):① 工具清单纠正为七工具、明确 edit_file 小改优先(修
之前"没有 edit_file"的错误引导——否则 agent 不会用新工具);② 克隆纪律"rng/nowMs 照
_template 逐字克隆、禁自造 Math.random/Date.now 防御回退、check 函数内裸调照拦";
③ check-early"先写最小核心→立即 check→edit_file 修红线→再扩玩法"。
待续(本计划剩项):fix②-check 报错行号(tools.mjs)、fix③ brief 落 evidence、
fix①-B 共享 tier2 熔断窄口径纠偏(最险另做)、n=5 收敛环(ok=True 判据)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-08 01:46:22 -07:00 |
|
lili
|
d9660c8ef1
|
docs(gen): 便宜档死圈修复计划过双评审并校正(Codex+Opus 收敛修计划后执行)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
两审独立坐实根因链、收敛「修计划后执行」。纳入发现校正三处:
① fix② 前提错(实测 _template rng 本就合规 ctx?next():0、无 nowMs,违规是模型
自造)→ 从「改模板」重定向到 check 报错点破规则+提示层克隆纪律+check-early(更上游);
② 阻塞判断纠正:实测真过门率 9/23≈39%(初版把「跑到门 83%」当过门),死圈只是多种
失败模式之一,三修到不了 80%,80% 缺口(E/G/H 玩法正确性)属另一工作面;
③ fix① 边界钉死:edit 走 read→apply→cheap_run.write_file 继承 L1/L3+whitelist、
不触发 check、加软停 blocked-tools;纠偏仅 schema 缺字段/不重置 stuck 计数/cheap-only
别改坏共享 tier2 熔断;edit 自身错配纳入纠偏。fix③ 落 evidence 脱敏(源工程可交易)。
验收改 ok=True 收敛(非「跑到门」)+ 预置违规 fixture。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-08 01:08:46 -07:00 |
|
lili
|
47f0f404e1
|
docs(gen): 蒸馏便宜档生成死圈失败模式 + 修复计划(不阻塞内测)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
根因实证(amgen-dify-9da8f701):小红线违规(rng/nowMs 裸 Math.random/Date.now)
→check FAIL→agent 正确想修但六工具面无增量 edit→改3行变重写22KB→MiniMax 反复
漏 path 参数→连撞4次 stuck 熔断强杀→九门没跑→ok=False。品类跑偏真但非因(对照
dify-1783477578 同动作类 brief 成功改出 Shmup);读多写少是常态非杀手。
蒸馏 cheap-model-game-generation.md §11(失败模式+非根因清单+可追溯缺口)。
计划 2026-07-08-便宜档生成死圈修复(上级=便宜档M3 cutover):fix①增量修改工具+
畸形参数纠偏(最高杠杆)/fix②模板 rng/nowMs 默认合规+check 报错指行/fix③ brief
落盘。阻塞判断:不阻塞已交付 A 段、非内测 beta 硬阻塞(死圈少数模式+飞轮迭代),
归便宜档质量线排期 fix① 优先。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-08 00:35:58 -07:00 |
|
lili
|
b9d73ae3c7
|
spike(dify): WU3 形态A 真建成跑通——game 专属 dify 实例 + workflow 导入发布返 202
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
原计划建进共享 muse-dify 遇两阻塞:①muse 锁单工作区+create-tenant 抛错 ②HTTP
节点经 ssrf_proxy 打内网 worker 被 deny to_private_networks 拦(muse→:9501 实测403)。
创始人拍板给 game 单起隔离实例:独立 compose(game-dify)+错开端口(28080/28443/25003)
+独立卷+新 SECRET_KEY,自有 ssrf 模板放行 gen worker,muse 零受扰(仍403)。
导入 DSL(0.1.5→0.6.0迁移完好)+发布+真跑:HTTP节点succeeded/worker返202/
worker日志'受理(202) userToken=<none>全局key回落'。凭据档回写 game-dify 端点+登录+
headless token 签发法(RSA/CSRF 绕过)。spike README/DSL 更新为已验证态。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 22:08:33 -07:00 |
|
lili
|
87b0c085b7
|
spike(dify): WU3 游戏开发节点形态A 搭建配方 + DSL 骨架 + ssrf_proxy 阻塞留痕
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
能力已证(直连 :9501→202→agentscope 真跑);但实测坐实 dify HTTP 节点经内建
ssrf_proxy(squid)出网,deny to_private_networks 拦掉 100.64/10 → 打 :9501 返 403。
两个创始人门:①放行 ssrf_proxy 到 worker 端点(共享基建+安全姿态,附最小侵入 squid
例外+回滚)②dify console 登录(凭据档缺,须创始人给)。含握手级超时/dify- 前缀去重/
budget 死字段/隔离靠专用栈等读码红线。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 20:34:02 -07:00 |
|
lili
|
7e7ac272b2
|
docs(agents): 蒸馏内测闭环 A 段——new-api per-user 额度预置池 + S0 硬约束 + facade HMAC
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
tech-decisions §16:额度不自建钱包对接 new-api per-user 配额;S0 实测 admin
令牌不能替他人建 token(user_id 忽略/access_token 不可 API 写)→ 预置池 CAS claim;
生成计费以 new-api used_quota 为权威(worker 自估偏高);注册防枚举固定假 BCrypt
同码路 + fail-open IP 闸;facade 回调空 secret=可伪造 → 两端 HMAC-SHA256 验签。
README 索引行同步。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 20:26:25 -07:00 |
|
lili
|
210ce70160
|
merge(neice): 内测闭环阶段1 integration 并入 dev/2.0.0
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
WU1 注册登录(用户名+密码/无短信/网关IP限流/防枚举/outbox)
WU2 new-api per-user ¥100 额度(预置池 claim/job userToken 位/per-user 门/quota_exhausted)
WU3 dify 形态A 游戏开发节点设计 + ops 池预置脚本
全 opt-in 默认 off(AIGC_NEWAPI_QUOTA_ENABLED / wanxiang.passport.password-auth-enabled)。
阶段2 dev 真机全环 e2e LIVE 反假绿。dev 前进 36 文件与本支 57 文件零交集。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 19:34:15 -07:00 |
|
lili
|
a54ba9bb42
|
docs(neice): 内测闭环三份设计档(WU1注册登录/WU2 newapi额度预置池/WU3 dify节点) + ops 池预置脚本
阶段0 三份 feature-design-doc 过对抗双评审+主控终审;WU2 按 S0 实测改预置池机制。
ops 脚本离线预建 new-api user+token+¥100 灌 game-cloud 池表。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 18:05:00 -07:00 |
|
lili
|
d91d857c17
|
feat(polaris): 《夜市一条街》厨房音效 CC0 真采样——6 事件换公有领域采样(创始人拍夜市采样)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人拍夜市 SFX 走 CC0 真采样(烤肉滋滋/收银声真录音比合成贴)。7 个真实世界 foley 事件:6 换核验过的
CC0/公有领域真采样、1(切菜 chop)如实退回合成(无干净 CC0、Commons 搜空/freesound 要 OAuth,不硬凑)。
采样(逐个机读 Wikimedia Commons license 字段核验、下载+定稿两次复核,只收 CC0/PD 弃 CC-BY/CC-BY-SA):
烤肉滋滋 sizzle(PD)/收银钱箱 cash(PD,选硬币落金属钱箱真声)/金币叮当 coin(PD)/下单铃 bell(CC0)/
顾客满意 applause(PD)/失败差评 buzzer(CC0);curl 直下→ffmpeg 裁≤2s 单声道淡入淡出→mp3 96k,共 106KB。
授权逐文件留痕 assets/audio/sfx/manifest.json+批次二音效CC0采样台账.md(clean-room/备案证据链)。
接线:采样懒加载(首手势后 decodeAudioData 不进首屏)、缺文件/解码失败/node 无 fetch 逐事件回落合成不崩。
证据:回归 logic-smoke 95/tree-check 15/单测 30 零倒退+两本账不破门(总 4.336MB≤10MB/首屏 1.13MB 一字不差、
采样懒加载不计首屏);成本 ¥0。真播听感待 mini-desktop 窗口人耳评。抽象/UI/设计音 20 类保留合成。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 17:41:39 -07:00 |
|
lili
|
cccedd9ac5
|
docs(polaris): 表现层精致化波台账——割草美术接线 bug 修复+三款 UI 去方框+内容音效
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人验玩批三条(割草没渲染/UI 方框/音效芯片音)优化收口:割草修美术未接线真 bug(0cd53b5d)+夜市/卡牌
UI 去方框接真美术(b4a6956b/c931ea41)+三款音效去芯片音;音效路线拍山海合成+夜市采样,夜市 CC0 采样补齐在飞。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 17:17:27 -07:00 |
|
lili
|
c931ea4181
|
feat(polaris): 《山海巡异录》表现层精致化——UI 去方框(青绿卷轴)+国风器物音效
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人验玩批 UI 方框/音效芯片音。关键发现:UI 帧(ui-frame/bg-scene)此前生成却零接线、run-scene 全 graphics
方框=方方正正根因。新建 skin.js 青绿卷轴皮肤基元单源(真素材优先+程序兜底+node 安全),run-scene 全屏改绘:
满幅山水背景/稀有度册页卡框+描金费珠/卷轴 HUD/灵力宝珠/五行链轴珠+相生脉动/敌区名号匾额+意图徽/三漆色钉角按钮/
铜章地图节点/册页奖励商店图鉴成就;动效=出牌飞行灵符/周天金环放射×3+满屏金闪/奖励回弹/终局弹入,既有 juice 保留。
生成 4 件 UI chrome(锚 r1 抠透明落 assets/ui/ 376KB:宝珠/铜章/匾额/横条)缺件退程序绘制。内容音效:
sfx.js 单振荡器升国风分层合成(磬/钟/铃/古琴拨弦/鼓膜/木鱼六音族对齐山海器物),链环八级五声音阶保留换三泛音磬音。
证据:八门+手感门 42 断言全绿+数值 CI 金标 52.0%(漂移-0.5pp);scene-smoke 绘制对象 map=54/battle=42(原~20)
=去方框硬证;CDP 探针音频节点 0→osc2/noise1/filter1。核心数值文件未动。音效路线=山海合成(符创始人拍)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 17:15:39 -07:00 |
|
lili
|
b4a6956bdb
|
feat(polaris): 《夜市一条街》表现层精致化——UI 去方框(暖夜霓虹设计系统)+内容音效
创始人验玩批 UI 方框无设计/音效芯片音。新建 ui-kit.js(347 行程序化设计系统零字节)去方框改造 5 界面:
HUD(金币/声望/口碑/时钟图标 chip 化+数字滚动+圆头进度条+光泽药丸加速钮)、dock 四页签(木牌光泽 chip+
图标+红点徽章+禁用态)、弹层(研发/图鉴/成就=木质金边面板+霓虹标题+圆角卡片+药丸按钮三态+分页+弹入缩放)、
日结面板(木质金霓虹边+图标药丸钮+scrim)、点单气泡(带尾对话泡+金边);动效=数字滚动/弹层缩放/按压/满意飘心/
事件霓虹横幅。内容音效:sfx.js 从 ZzFX 芯片音重写为分层 foley(27 类)覆盖烤肉滋滋/切菜/下单铃/进账收银双铃递进/
顾客满意/连击/研发解锁/失败。真机 CDP 揪修两真渲染 bug(fillGradientStyle 在 SwiftShader 黑→实色分带修/
dock close 漏销 _listParts 串影→补销)。
证据:mini-desktop 真浏览器 CDP 九门+富三门 decision=accept;回归 logic-smoke 95/tree-check 15/单测 30 零倒退;
两本账零字节新增(首屏 1.13MB/总 4.23MB 持平)。**音效路线创始人拍夜市走 CC0 真采样**(本席合成为过渡,
CC0 厨房 foley 采样补齐另单)。evidence/dist 不入库。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 17:15:39 -07:00 |
|
lili
|
0cd53b5d30
|
fix(polaris): 《山海行纪》表现层精致化——修美术未接线真 bug+UI 国风化+内容音效
创始人验玩批中真 bug:美术图集入库但 render.js 零接线(117 处程序色块、0 真图)。修:
新建 art.js 图集接线层+atlas-frames.js 帧表(gen-atlas-frames.mjs 生成)+重写 render.js,主角/异兽/双 Boss/
符器弹道/符阵/拾取/tile/装饰全换真 sprite(裁剪补偿+朝向翻转),缺图回退色块+日志不崩;manifest 补 assets[]
宿主预载首屏(boss 页 1.03MB 懒加载)。UI 国风化:出击页接 vista 底+面板九宫格+按钮+描金选中,升阶三选一龙纹卡框
(canvas-ui-kit 零改),HUD 血球/Boss 条/摇杆接真图。内容音效:新建 sfx.js 分层 WebAudio foley 替 ZzFX 芯片音,
八配方(灵晶叮/击破碎裂/受击闷响/升级编钟/聚灵上扫/异象微光/Boss 登场威压/伏诛崩解)。
证据:render-evidence 注桩 drawImage=63〔tiles45/主角8/异兽/UI〕fellBack=0 零缺帧;CDP 四态截图真 sprite 在画;
音效结构测试 5/5(每音≥2 声源层非单振荡器)。回归:游戏 53/53+整库 269/269+三场景+压测 1.503ms+
包体首屏 349KB≤0.6MB+首图录证 D0/D1 与 M3/M4 逐值一致(表现层对 sim/meta 零偏移)+存档 13/13。
未竟:tiles 非无缝(3px 压接缝)/真声人耳评待真机窗口/CC0 采样路径预留(合成已足)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 17:14:37 -07:00 |
|
lili
|
7ecf016914
|
merge: WU1(后端+前端) 并入内测阶段1 integration
|
2026-07-07 12:47:07 -07:00 |
|
lili
|
e8f7dc8347
|
feat(worker): WU2 §3.7 worker 取 job.userToken + §3.9 额度耗尽/凭据失效分辨
per-user 额度按用户扣的最后一环:三 worker 入口从「读全局 env NEWAPI_KEY」改「优先
job.userToken、缺失回落全局 env key(WARN 脱敏)」;新失败因 quota_exhausted 干净失败。
§3.7 F(取 job token,默认关时字节不变):
- cheap_service_driver._resolve_key(user_token) 优先 per-user token、缺失回落 env+WARN;
drive_cheap_generation 从 job.userToken 取、透传给凭据体;token 日志脱敏(前后各 4 位)。
- worker_service 整 job(含 userToken)透传给 driver;do_POST 记 userToken 存否(脱敏)。
- wg1 _client.get_api_key/get_client/chat 支持 user_token override、回落 env(WARN 一进程一次)。
§3.9(分辨两类失效,one-api 惯例初值,确切 message 阶段2 待验):
- result_out 新增 quota_exhausted 入枚举 + _map_failure_reason 认 summary.failureReason +
classify_newapi_failure_reason/newapi_error_status_text(402/403→quota,401→llm_error 可重试)。
- cheap_service_app collector 崩溃路 best-effort 分辨 402/403→写 sidecar failureReason,
driver→result_out 落 quota_exhausted;凭据失效/其他维持 llm_error,纯旁路不咬生成。
- wg1 _client.chat 额度耗尽抛 NewapiQuotaExhaustedError(不重试);service.handle_job 映射
quota_exhausted。注:两 worker 主生成经 AgentScope 模型封装调网关,402 埋框架内,主路
额度耗尽分辨待阶段2 拦模型封装;本次覆盖直连 _client.chat 路 + cheap 崩溃路分辨。
自证:test_result_out 25/25、test_worker_service 17/17(stdlib 直跑);driver/wg1 token 与
分辨逻辑 standalone 断言全过;八文件 py_compile 绿。test_cheap_service_driver 需 pytest
(本机未装),已同步桩签名待阶段2 e2e 真验(per-user token 调网关/used_quota 按用户增/耗尽落 quota_exhausted)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 12:44:08 -07:00 |
|
lili
|
a069afb649
|
feat(aigc): WU2③ job userToken 位 + per-user 额度门(只对真实 member 生效)
dispatchGeneric 组 §6.1 job 时追加 userToken 字段(向后兼容,worker .get 忽略未知键)。
per-user 门只对真实 member 在线创作生效——按 creatorUserId 是否命中一行 game_player 分流:
- 无 game_player 行(系统/编排器/bake-off/admin 触发)→ 旁路:不查池不懒 claim,userToken
留空,worker 回落全局 key(不误伤 n=5 收敛环/批跑既有验证路);
- 命中 game_player 行 → 取其 CLAIMED 条目 token_key;无 CLAIMED 则派发线单 CAS 懒 claim
(纯 DB CAS 非慢外呼,派发热路安全),抢到就用、池空抢不到当次干净失败 quota_exhausted。
token 随 job 内网下发日志脱敏(仅留前后 4 位)。经 12 参构造软注入,主开关关或未接线=现行行为字节零变。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 12:22:14 -07:00 |
|
lili
|
4cf0e14ec3
|
feat(aigc): WU2② 注册 claim 消费者——消费 WU1 注册成功事件从池 CAS 绑玩家
WU1 afterCommit 发「注册成功」事件(topic passport-register),本单作其消费者,不进注册
事务:渠道过滤(只 password/invite claim,sms/sms-mock 跳过防白占池)→ 从池单条 CAS
抢一个 FREE 绑 game_player(biz_no=claim_<id>,幂等靠 status='FREE'+两 uk)。
- 池空不抛异常(补池是离线动作、非 MQ 重试窗口内可恢复):记 WARN + 触发水位告警,
该玩家暂不绑,首次生成由懒 claim 兜。
- 跨模块不依赖 system-server:按同名字段建消费侧镜像体 PassportRegisterEvent(topic 是唯一 wire 契约)。
- 主开关 aigc.newapi-quota.enabled 默认 false,关时消费者不装配、服务全旁路(WU2 整体 opt-in)。
单测 9 例:claim 幂等/渠道过滤/池空不抛/并发 dup 收敛/身份分流/懒 claim fail-fast。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 12:22:00 -07:00 |
|
lili
|
fe6079ba62
|
feat(contracts): WU2④ quota_exhausted 跨契约共享枚举同批新增三处
额度耗尽/池空要干净失败给用户可读拒因,而非含糊的「生成失败」。该失败因是跨契约
共享枚举(FailureReasonEnum 头注禁单边扩展),contract-first 同一批落三处保持一致:
- FailureReasonEnum 加 QUOTA_EXHAUSTED("quota_exhausted","生成额度已用完");
- contracts/api-schemas/aigc.yaml FailureReason.enum;
- contracts/dify-workflow-io.json output.failureReason.enum。
落库列 game_aigc_task.failure_reason(varchar(32)) 容得下(15 字符)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 12:21:45 -07:00 |
|
lili
|
c13595fbc2
|
feat(aigc): WU2① new-api 额度池表 V32 + DO/Mapper——离线预建 FREE 条目 claim 抢占
内测 per-user ¥100 额度落 new-api 网关账本,game-cloud 维护一张预置池表:
ops 脚本离线预建 (user+token+¥100) 灌成 FREE 条目,注册/懒 claim 时 CAS 抢一个绑玩家。
- V32.0.0 迁移双落契约源 + huijing-server 执行副本(守门①),列名对齐 ops 脚本 INSERT,
uk_newapi_user/uk_claimed_by/uk_biz_no 三键仿 trade GrantDO 的 uk_biz_no 保幂等。
- NewapiQuotaPoolDO 继承 TenantBaseDO(系统级池,运行时 executeIgnore 跨租户);
Mapper 提供 selectClaimedByPlayer/countFree 水位/claimOneFree 单条 FREE→CLAIMED CAS。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 12:21:33 -07:00 |
|
lili
|
da05ecc0b1
|
feat(studio): WU1 前端——登录页新增用户名密码 Tab(注册/登录)
WU1 §3.5 步骤④前端落地:Login.vue 在 sms/invite 之外加第三个「用户名密码」
Tab,内含登录/注册子模式段控——用户名、密码两输入框,前端做与后端一致的
用户名正则 ^[a-zA-Z0-9]{4,30}$ + 密码 6-32 位预校验(仅提示,信任边界在后端);
复用既有隐私政策勾选、?redirect= 回跳、setLogin 落持久化、user_login 遥测
双带四段,登录成功路径与短信路一致(同拿 LoginResp)。
passport.ts 加 PasswordRegisterReq/PasswordLoginReq 入参接口与 passwordRegister/
passwordLogin 两函数(贴 VO 契约、走同一 request 信封解包),PlayerMeResp 补
username;Profile.vue fallbackMe 同步补 username 空串兜底。entry.zh/en 补 Tab
标题、用户名/密码占位、子模式与提交按钮多态文案、两条本地预校验提示。
自证:npm run build(vue-tsc -b && vite build)退出 0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 12:04:02 -07:00 |
|
lili
|
28bd5339d4
|
feat(passport): WU1 端点+配置+防明文+单测——两 @PermitAll 端点/remoteAddr/stdout 屏蔽
照 WU1 设计 §3.2/§3.3/§3.4:
- AppPassportController 加 password-register/password-login 两 @PermitAll 端点,IP 一律取连接层
request.getRemoteAddr()(不读可伪造 XFF,§3.3 命门);@ApiAccessLog(sanitizeKeys=password)。
- ApiAccessLogInterceptor 代码级屏蔽两 password URI 的 stdout body 打印(不受 sanitizeKeys 约束的第二条
链路,防明文密码进控制台,不只靠 logging.level)。
- application-staging.yaml wanxiang.passport 加 password-auth-enabled(true)/register-ip-limit(20,60)/
login-ip-limit(30,100)。
- 单测:本地 mvn 34 通过(PassportServiceImplTest 31 + PassportSmsIpCounterRedisDAOTest 3),覆盖用户名占用、
登录防枚举(统一错误码+假 hash 对齐耗时)、禁用拒登、并发撞名兜底、IP 越限 429、Redis fail-open、outbox 原子落、
/me 空安全。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 11:52:40 -07:00 |
|
lili
|
d52696c589
|
feat(passport): WU1 服务层——注册扩参/BCrypt/防枚举/IP 泛化/outbox 生产者
照 WU1 设计 §3.2/§3.3/§3.6:
- registerPlayer 扩 username/encodedPassword 两可空参,按路径落列;默认昵称有 nickname 用之、
用户名路取 username、手机号路后4位;uk_username 冲突报 PLAYER_USERNAME_ALREADY_REGISTERED(不转登录)。
- passwordRegister/passwordLogin:复用 admin BCrypt 范式 encode/matches + buildLoginResp(MEMBER token);
防枚举——查无用户名与密码错误统一 PLAYER_USERNAME_OR_PASSWORD_ERROR,且查无用户名跑固定假 hash
matches 对齐 BCrypt 耗时(惰性以本类 encoder 编出,cost 一致,堵时序侧信道)。
- PassportSmsIpCounterRedisDAO 泛化按 scene 分桶(sms/register/login/invite),Redis 异常 fail-open+WARN;
发码回填 scene=sms,回填 sms-login(scene=login)/invite-register(scene=invite) 服务层纯 IP 闸。
- 注册事务内与建号原子写 outbox(三路共用出口);@Scheduled 投递器扫未投递发 RocketMQ(至少一次,
RocketMQTemplate 经 ObjectProvider 兜底 name-server 未装配、CAS 置已投递防重投)。
- getPlayerMe 补 username + mobile 为 null 短路回空串(用户名用户防 NPE 回归)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 11:52:23 -07:00 |
|
lili
|
987d489b63
|
feat(passport): WU1 契约层——用户名密码注册登录 schema/VO/错误码/outbox
内测种子用户「用户名+密码」注册登录(无短信)的契约层,照 2026-07-07 WU1 设计 §3.1/§3.6 落地:
- Flyway V31.0.0(同落 contracts 源+huijing-server 执行副本):game_player 加 username/password
两列、mobile 放宽可空、加 uk_username、register_channel 值域扩 password;建 game_passport_register_outbox
注册成功事件本地消息表。V31.0.1 回滚补偿仅置 contracts 源(手动执行,不进执行副本避免 Flyway 自动 DROP)。
- PlayerDO 加 username/password(password 仅服务层内部,永不进 RespVO);PlayerMapper 加 selectByUsername。
- PasswordRegisterReqVO/PasswordLoginReqVO;PlayerMeRespVO 加 username。
- 错误码 1_002_090_004/005/006(用户名占用/用户名或密码错误/通道未开启)。
- outbox DO+Mapper(@TenantIgnore 供 @Scheduled 投递器全表扫);pom 显式直依赖 rocketmq-spring-boot-starter。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 11:52:05 -07:00 |
|
lili
|
58d6eb50ca
|
docs(polaris): M4 波三款全交收口台账——夜市美术音频整装完成
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
夜市 M4 art(532161a7)纠正重派收敛:暖夜霓虹 92 图元换装+89 帧图集+4 场景+BGM3/SFX24,两本账过门+
三门零倒退+CDP 8/9。至此 M4 波三款全交(割草 meta/卡牌全工艺态含 BGM 补齐/夜市美术音频),三款全真美术+音频,
M0→M4 全线 25 笔落 origin/dev/2.0.0。M5 关口=真机窗口批(60fps/像素/存档正式槽)+分包压缩+内容侧图 2–5。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 09:59:18 -07:00 |
|
lili
|
532161a7ce
|
feat(art): 《夜市一条街》M4 资产整装——暖夜霓虹 92 图元换装+BGM3/SFX24
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人锁锚候选 A 暖夜霓虹落地(纠正重派:看图+复用批次二产线+镜头单从数据表 import,首派 FAILED 后收敛):
P1 生图 92(顾客 39=13 类×3 态/菜品 30=recipes 真 id/设备 6/UI 图标 14+框 3)→抠图 89 sprite→
图集 nightmarket 89 帧 968KB webp+Phaser3 JSON;场景背景 4(日/夜/高峰/雨,复用锚图);
BGM 3(闲市 95/高峰 125/雨夜 78bpm,mmx music 各截 75s 循环 96k≈902KB 共 2.6MB 懒加载,压缩码率优于卡牌 256k);
SFX 24 类 ZzFX 程序合成零包体;表现层换装(顾客立绘 typeId+态切帧/点单气泡菜品图标/背景昼夜雨切换/HUD 金币/
dock 4 页签,全带缺图降级,readState 语义零改)。
门证据(主会话逐门复验):换装后三门零倒退(logic-smoke 95 断言/tree-check 15 查/单测 30)+两本包体账实测过门
(账一 assets 4.23MB≤10MB/首屏 1.13MB≤2MB,账二引擎首屏传输~2.42MB 与设计书预估 2.35 吻合)+CDP 九门 8/9
(唯 C_frame=本机 headless 无 vsync~110fps 环境采样非换装,mini-desktop 复验)+富三门全过;成本 <¥5(101 呼)。
少年类顾客漂卡通词面顽疾用「去学生词+反卡通厚涂」攻克;单骑手不满态待重摇=已知项。dist/evidence 按惯例不入库。
M5 缺口=rare/critic 立绘 6 类分包/食材图标 12/HUD 图标+9-patch/BGM 无缝循环点/C_frame 真机复验。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 09:55:17 -07:00 |
|
lili
|
cb9f135d7d
|
feat(art): 《山海巡异录》M4 BGM 4 首补齐——mmx music 服务恢复后生成,音频转全量
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
mmx music 服务恢复(创始人确认+主会话亲验),补齐卡牌 M4 缺的 4 首 BGM(全 instrumental 山海国风原创):
bgm-home(空灵探索古琴箫)/bgm-battle(民乐电子古筝战鼓)/bgm-boss(激烈压迫大鼓唢呐编钟)/
bgm-victory(恢弘结算笙箫钟磬);bgm.js 4 个引用路径精确匹配,音频系统从缺文件 no-op 优雅降级转全量播放。
服务间歇故障(生成准备失败/非JSON 交替),有界前台重试逐首补齐,主会话亲跑不派席(haiku 席三陷后台等待坑)。
**如实标 M5 压缩目标**:4 首共 15MB(256kbps 立体声原码),超账A 包体门(≤10MB)——BGM 系懒加载分包非首屏,
压缩(降码率/单声道/OGG)+分包懒加载是卡牌 M5 S21「包体两本账+分包性能」明文活,M4 只负责音频整装到位。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 08:16:10 -07:00 |
|
lili
|
f99c22d066
|
docs(polaris): M4 波台账——割草 meta+卡牌全工艺态收口,10h 核数首验/BGM 服务外阻记账
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
割草 M4(fc23901b)+卡牌 M4(c5100a86)已交验真绿:10h 内容核数首验割草线 11.21h≥10h(承诺首次机器可验);
卡牌演出 v2+juice+程序合成 SFX 24+教学+手感表逐条机验,BGM 受 mmx music 服务故障阻塞(主会话亲验复现)
优雅降级待恢复补;夜市 M4 art 首派 FAILED(串台数据/环境误判)纠正重派在飞;子代理后台等待坑全程 5 次纠偏。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 07:28:55 -07:00 |
|
lili
|
c5100a8670
|
feat(polaris): 《山海巡异录》M4 全工艺态——演出 v2+juice+程序合成 SFX 24+教学局+手感表
演出 v2(战斗表现升级接真卡插画图集,与逻辑经事件流解耦不改 battle-core/run-core 语义):presentation.js
(演出计划+手感参数+教学固定序纯逻辑)+atlas.js(图集帧索引)+run-scene 接线(juice/拖拽/音频/教学层/debug 钩子);
SFX 24 程序合成 sfx.js(链环八级五声音阶递升/出牌五行 5 变体/命中三强度/受击能量抽弃洗得金购买删卡翻牌遗物词缀
点按选中周天胜负 stinger,零包体);juice(手牌选中浮起 1.55×抬 30px/上滑 62% 线打出走 route 单源/伤害颗粒/
链轴金环扩散/周天全屏闪/爆字 48px+屏震/敌兽呼吸/程序粒子上限 24);教学局固定序。
门证据(主会话逐门真跑复验):九门全绿(battle-core/logic-smoke/run-core/run-smoke/save/meta/static-screen/
scene-smoke)+手感门 presentation.test 42 断言绿+数值 CI PR 巡罡使 A0 58.2% 入带+构筑指纹去重 100%>85%,
96k 矩阵未回退;真实集成进战涸泽鲛→教学 intro→固定序→9 批事件全 ≤1.6s。
手感表 §7.2 逐条机验绿(触摸响应 80ms/放大 1.55×/上滑 62% 线/结算爆字抖屏震命中停顿全长≤1.6s/演出加速
0.4×/误触回手/粒子上限 24);真机时延·像素观感·L2 rubric LLM 项如实标待 mini-desktop 窗口;两处如实缺
(设置页全局跳过=无设置屏/卡敌详情二层与两段式冲突未加)。
**BGM 4 首(菜单/战斗/Boss/结算)音频系统+清单+淡切+手势解锁完备,但 mp3 文件受阻 mmx music 服务持续故障
(主会话亲验复现同错「音乐生成准备失败 HTTP 200」=真实外部阻塞非席位失败),缺文件 bgm.js no-op 优雅降级,
待服务恢复 haiku 机械补生成。** M5 头号=包体两本账真机实测+图集分包懒加载(现 13 atlas 全量载)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 07:24:27 -07:00 |
|
lili
|
fc23901b9a
|
feat(polaris): 《山海行纪》M4 局外 meta——角色8/天赋树48/图鉴成就/存档定容,10h 核数首验 11.21h
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
局外 meta 全落 additive(纯逻辑内核语义零改动):meta-tables.js(8 角色差异化起始符箓/48 天赋树 DAG/成就 60/
图鉴投影/每日固定种子/schemaVersion,零魔法数)+meta.js(购买+可达+解锁+SaveEnvelope 读写+deriveMetaBonus);
sim 消费 meta 增益/阵亡续命/图鉴追踪 additive;出击页 roster 真投影+局末回写+每日入口。
门证据(全前台真跑,主会话逐门复验):游戏单测 44/44(原 27 零倒退+M4 新 17)、存档兼容门 12/12
(往返逐值一致落信封/未来版 fail-closed 不毁档/0 版 migrators 升 v1 回写)、**10h 内容核数首验 11.21h≥10h 下限**
(§5.4 机械和:首通 3.17+角色 2.42+难度 3.88+收集天赋 1.75,roster8/天赋48/图鉴51/成就60 真表溯源,
地图5·D2–D5·敌32 为 M5)、L3 结构面 3/3(rubric 分数纯 LLM 软判如实标待窗口不写代码校验)、天赋树可达门 6/6
(48 节点/id 唯一/无悬空依赖/DFS 三色无环/6 根/根闭包全可达)。
c2 平衡离群外科手术未收敛已回退(精化根因=rand-4 92% 是三投射符器协同驱动非缚灵桩携伴,削缚灵桩无效),
按「别硬凑」留 M5 夜批多参数调参。M0–M3 全回归:三场景 7/0/压测 p95 1.617ms/包体 328,848B≤0.6MB/
首图录证 d0d1 与 M3 逐值一致(meta additive 零偏移)/整库插件 269/269。M5 存档正式槽切换是发布门硬依赖。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 06:55:36 -07:00 |
|
lili
|
4e51633af6
|
docs(art): 山海资产一期批产留痕——兽谱增补+良率成本+拼板图(clean-room 审计链)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
割草与卡牌资产一期批产的可复现审计链:manifest.jsonl(逐张 prompt/参数/成本/淘汰原因留痕,clean-room 证据)、
兽谱-增补-{行纪,巡异录}.md(新兽谱面单源)、良率与成本档、6 张拼板图(创始人眼验记录:行纪 P1/P2、
巡异录卡全量 154/卡插画 66/遗物 40/新批抽样)、少量 rejects 留证。
原图源帧目录(images/ 19M+images-巡异录 7.8M)不入库=可从 prompt 复现的中间产物,归宿 W-ASSET-SRC 资产库;
审计链靠 manifest.jsonl 的 prompt 留痕+游戏内已入库图集即足。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 04:36:32 -07:00 |
|
lili
|
16c6af664b
|
feat(art): 《山海巡异录》资产一期批产(锚 r1)——154 卡+遗物 40+敌兽图集入库
职业甲 66+职业乙璇玑使 66+中立 22=154 卡插画位(真 id 对齐 M3 定容 tables.js)+遗物 40 图标+敌兽 39 立绘
(act1/2/3 分页)+UI 15+bg 6;10 图集页矿彩国风锚 r1 一致,主会话眼验(璇玑使星官×山海/遗物透明底/无走形)。
账A 契约包体 7.33MB(webp atlas 6.16MB,门 ≤10MB);卡面 154=2.57MB 贴 §9.3 预算 2.60 达标;机检门四检
(帧数对账/webp 可解/帧名唯一/bg 齐套)全过。累计 282 外呼 ¥9.31、物料效率 96%、0 质量淘汰。
clean-room 主体词守则(金乌/阳乌成神鸟非龙、应龙鳞作鳞片特写、符牌素面无字);清陈旧 beasts-act1 残留单页。
如实两项归开发席 M5 降尺寸分包(非本批):敌兽 39=2.93MB 超预算 1.40、场景 bg 6=1.17MB 超 0.50;
夔 kui-niu「无角独足」谱面 r1 文本通道不可达暂占位、列升档 B 多参考图候选头名。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 04:35:40 -07:00 |
|
lili
|
f0ee8afab6
|
docs(polaris): M3 波三线收口+夜市美术锚拍板台账
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
三线 M3:夜市 M3(内容到量+千局定标+上界安全门全过)、割草 M3(20 分钟波表+首图录证击杀终 Boss+四判据
3/4 绿·c2 归 M4)、卡牌 M3(TDZ 绘制修复+154 卡+进阶 A0–A15 六带全绿,已入库 0fc1cb69)。
美术:山海 r1 三款锚+夜市暖夜霓虹(批次二眼验锁锚),M4 换装无美术前置阻塞;割草资产一期 112 镜头入库。
机检门两态口径修正+割草浏览器崩溃/卡牌黑屏两 M0 缺陷 mini-desktop 复验反转确认在册。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 04:27:23 -07:00 |
|
lili
|
5ebe6d4717
|
feat(art): 《夜市一条街》风格版批次二——暖夜霓虹 12 帧,创始人眼验拍锁锚
候选 A·暖夜霓虹手绘烟火(创始人 2026-07-07 拍)样张:日/夜/高峰/雨四场景(深蓝夜幕+暖黄摊灯霓虹+雨夜倒影)
+摊主揭蒸笼冒白汽+三顾客全原创无引用+三菜品+UI 摊灯位;创始人眼验拍锁锚开批产,340–380 件资产按此进 M4。
独立锚包不共用山海 r1;招牌乱字(image-01 夜市街道题材系统性伴生物)按产线除字工序处理不升档 B。
成本良率见 良率与成本-批次二.md;工艺发现叠加批次一 7 条(待蒸馏 .agents/);clean-room 市井烟火全原创。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 04:27:00 -07:00 |
|
lili
|
c1d1e2b400
|
feat(art): 《山海行纪》资产一期批产(锚 r1)——112 镜头 2.72MB 图集入库
矿彩国风锚 r1 落地:P1 80 镜头(图 1 tileset+三常规兽各 6 帧+词缀精英/光环/双 Boss 22 帧含立绘+UI 13+底图)
+P2 44 镜头(主角 13 帧定妆帧参考图法跨帧身份一致+法器图标 12+弹道命中特效 15+拾取 4);
5 图集 xingji-{map1,beasts,boss,ui,actors}+tiles+bg 共 2,911,369B≈2.72MB(首屏切面≈2.03MB,boss 页 1.03MB=
懒加载分包面,分包决策归开发席 M4);机检 C1–C5 全绿。累计 127 呼 ¥4.19、首过 92%,远离升档 B 判据;
clean-room 五条全程(兽名不入 prompt/伪字物件化改词)。
主会话修机检门两态口径:C2/C3 keyed 中间件只活在批产工作区(ASSET_WORK 不入仓),整目录缺席=仓库态
复跑降级警示跳过、部分缺席仍判错(消除席位环境绿/CI 必红假门,仓库态复跑 rc=0);
顺手修 asset-atlas 局部重打包整写 manifest 丢条目缺陷。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 04:27:00 -07:00 |
|
lili
|
05fcc7f94a
|
feat(polaris): 《山海行纪》M3——20 分钟正式波表+词缀精英+双 Boss+首图全程录证
图 1「裂谷原」20 分钟正式局:波表/XP 经济/难度爬坡按 20 分钟重排(替 M0 的 300s 占位时间基)、词缀精英池、
双 Boss(10:00 战狰王/20:00 斩九婴按时出场)、事件 4 种;命名从山海设定 v1 符箓五行取(clean-room);
record-run.mjs=headless 录证孪生(lane 内新工具)。
门证据(528 局 D1×P2,A n=20/件+B n=12/build,较 M2 的 1080 裁半、M4 夜批回满):四判据锁值 **3/4 绿**——
①定向 build 胜率全≥40%(区间 45–85%)②最强 build rand-4 **91.7% FAIL(>85% 天花板)**③随机中位 37.5%∈[35,55]
④被动相关 |r|max 0.344≤0.6;**c2 系书 §8.2〔草案〕阈值首轮仿真回填的离群(缚灵桩耦合全体 build 定点调参)、
归 M4 夜批千局×网格,非 M2 门倒退**。首图录证:D0 win@1258.9s+D1 win@1219.7s 全 20 分钟走完击杀终 Boss、
事件≥3 次≥2 类、潮汐脉冲 17/16、逐条断言全过(dist/run-recording.json 252+244 样本)。
全回归:游戏单测 27/27+整库插件 269/269+三场景冒烟+压测 p95 1.555ms≤6ms+包体首屏 300,917B(gz 104KB)≤0.6MB;
主会话真跑复验(单测 27/27+门报告 c2=0.9167 坐实)。§8.3 M3 实测回填一处。M0–M2 门不倒退。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 04:26:20 -07:00 |
|
lili
|
a10945d74f
|
feat(polaris): 《夜市一条街》M3——内容一期到量+economy_curve 千局网格定标
内容四轴灌装到量表(菜谱 30/顾客 19/事件 12/任务 52+成就);千局网格揪修三真缺陷:破产死锁
(11/25 生涯中期现金归零永锁→relief.floor_coins 地板+autoRestock 均衡轮转,根因=旧表序贪婪把救济金砸单一食材)、
卡点张力缺席(判据 2 首测 n=0→地块 900/2200/4500+树尾 22 节点×1.6+设备×1.6+员工升级基价×3)、
离线封顶 2h→75min(判据 5 解析收敛 44.4%→33.3%)。
门证据:上界安全门 7 配置×7000 营业日全过(判据 1 零死锁窗/判据 2 基线卡点中位 15min∈[15,45],
主会话复跑逐值一致)+30 分钟真玩口径三 seed 零卡死零 uncaught+扰动翼安全边界探明(小费 0.03 塌/0.04 绿、
薪涨 1.15 塌/1.12 绿,域外塌方翼零死锁=relief 兜底最坏参数仍保能玩);数值定标报告归档
docs/m3-数值定标报告.md(26 锚逐项保留/调整/废弃+三缺陷修复史+M5 输入+driver 两课);消耗率@10h 95.7%(判据 3 归 M5 观测)。
回归:logic-smoke 95 断言(⑤解锁阈值按设计 §3 首小时消耗带 ≥6→≥4、机制不放水)+tree-check 15 查
+单测 30/30+M2 千局零死锁+富三门接线未动;主会话真跑复验。M4 闸=风格 A 暖夜霓虹已拍。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-07 04:25:46 -07:00 |
|
lili
|
0fc1cb695b
|
feat(polaris): 《山海巡异录》M3——战斗绘制 TDZ 根因修复+双职业 154 卡+进阶 A0–A15 六带全绿
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
绘制修复(mini-desktop CDP 复验揪出:战斗屏除回合横幅外 lumStd=0 全空,逻辑与指针全通):根因=run-scene.js
const txt 声明位于工厂 return 之后永不执行,txt 永陷 TDZ,全部整屏绘制函数每帧 ReferenceError 无声失败,
唯 floatText(function 声明提升)独活=只剩横幅;M1 并入 run-scene 时引入,headless 门不建场景故只有真浏览器
暴露。修=txt 改 function 声明(提升语义)+事故注释钉原地+自证钩子(场景 rebuild 后回写
readState().debug={displayCount,rebuilds,screen} 供 CDP 机断)+防回潮门 scene-smoke.mjs(mock 场景重放十屏/
异常零容忍/每屏绘制对象≥5;修复后 map=33/battle=32/reward=14)。
M3:S13 职业乙 66+中立 22=154 卡定容(static-screen 3,676,134 序列零经济环)+S14 进阶 ASCENSIONS 16 级入
矩阵轴+多样性 driver(chain/defensive 档,死卡候选 42 张如实挂账 README)+S15 meta 三件(图鉴/成就 40/每日,
meta-core.js+meta.test)+S16 事件 45;存档 v2 双域+v1 迁移链(19 断言);home 局外模式机+终局结算。
门证据:八门全绿(battle-core/logic-smoke/run-core+R15 职业进阶 7 断言/run-smoke/save v2 19 断言/meta/
static-screen/scene-smoke);六带全绿 nightly n=1000/格(甲 A0 58.2%/A5 32.2%/A15 6.9%,乙 55.1%/28.3%/5.7%,
带 45–60/25–40/5–15);构筑指纹去重 A0 六格全 100%(门>85% 草案);金标 26 套(甲 20 漂移≤3.6pp 全 PASS+乙 6 首锁);
**全矩阵 96,000 局书面口径首次真跑=158.6s、nightly 总 223.2s**;平衡轮主杠杆=职业起始遗物 +36.6pp;
主会话真跑复验八门+PR 层。浏览器像素复验随本笔 push 后触发。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 20:40:11 -07:00 |
|
lili
|
86df18c4d8
|
feat(art): 山海风格版批次一——42 样张+产线三件真跑,创始人眼验拍锁锚开批产
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
矿彩国风锚 r1 定稿:《山海行纪》30 帧(hero×6/狰梼杌穷奇×15/法器×3/UI×2/场景/兽潮/Boss/拾取)+
《山海巡异录》12 张(卡面 3 稀有度×2 职业/敌兽 2/场景 2/结算 2);同名兽狰两款同谱面可辨=
「一条美术管线供两款」首检成立;clean-room 五条全程生效(prompt 零现代作品专名、兽形古籍演绎、
参考图仅自产、全量留痕 manifest.jsonl 含 12 张淘汰逐张原因)。
产线三件真跑演示:色键抠图+除杂(角落印章自动清)/图集 2 页 png 4006KB→webp 599KB(实测修正:
free-tex-packer 不直出 webp 补 PIL 转码)/字体子集 780 字→176KB woff2(LXGW OFL)。
成本良率实测:57 呼 ¥1.44(官方口径)/¥1.88(实测口径),首过率 34/42=81%,重摇≤4 轮填满;
工艺发现 7 条入批次 README(兽名不入 prompt/「鲛」prime 龙形/subject-ref 证伪/UI 伪字走程序排字等)。
创始人裁定(2026-07-07):锁锚开批产——两款按锚 r1 进 M3/M4 资产批产,主角跨帧漂移用
「定妆帧作参考图+关键姿态逐帧」工艺压,不换通道。台账:作战清单 M2 波全记账+_index 三行 M2 已交+设定档裁定戳。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 19:20:47 -07:00 |
|
lili
|
7f0a825382
|
feat(platform): L1 宿主 rafLoop 异常隔离——帧回调熔断+取证旗,静默冻死改可观测降级
背景:mini-desktop 浏览器验证坐实 stub 通道 RAF 主循环无 try/catch,游戏 render 抛任意异常即 RAF 链断、
画面永久冻结、零可观测(《山海行纪》M0 arc 崩溃的放大器;游戏侧根因已另修)。
改动:stepOneFrame 游戏回调纳入 try/catch,ctx.log('err') 留痕+错误计数(host 句柄暴露 frameErrorCount);
单帧出错不断 RAF 链;连续 MAX_CONSECUTIVE_FRAME_ERRORS=10 帧(常量注释可调)才停循环并挂
window.__gameRenderError={message,stack,frame} 供取证面与九门读取;正常路径逐字不变(时钟自增在隔离外保帧时序)。
边界如实:real 通道由 littlejsengine 掌帧、其 RAF 在引擎内部,本文件不接管(代码注释标明)。
证据:新测 6/6(node 模拟 RAF+可切换抛错假游戏,覆盖四条验收行为);整库 266/266、manifest 19/19;
主会话真跑复验。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 19:20:45 -07:00 |
|
lili
|
80e8515799
|
feat(polaris): 《山海巡异录》M2——职业甲 66 卡+遗物 40+商店删卡+SaveEnvelope 存档续玩,数值 CI 三层定案
S9 职业甲卡池批产至定容(66 卡三批入表即跑 smoke,估值全走曲线常量表锚带)+S10 遗物 40(规则级,Boss 三选一/
随机发放)+S11 商店五 API+删卡+金币经济+S12 仿真外壳 v1(参数扫描+曲线聚合+调参轮;S8b 20 卡最小池接环前移
首单);词缀子集(易伤/虚弱/灼/韧+血价/消耗/保留,虚弱×意图诚实=展示执行同折算函数);save.js=SaveEnvelope
契约面单源(schemaVersion≥1+data,介质影子,正式通道切换随集成段);seeded-random 增 state/setState 支持续玩。
门证据:六门全绿(battle-core 40+词缀 18/logic-smoke/run-core 12 组+商店注入/run-smoke win 16/40/save 13 断言:
往返逐字段一致+续玩确定性×3 seed+坏版本 9 负例全拒+峰值 2148 码元余量 97%/static-screen 66 卡 291,918 序列
零经济环);数值 CI 三层定案入 README(PR smoke 3s/nightly 23,000 局 36.2s/批产 0.5s;96k 局外推≈2.7 分钟);
A0 贪心 47.3%(n=1000)入带 45–60%,随机/挂机 0%=下界观测未削敌线;金标 20 套锁定(goldens.json);
harness 共享面=card-battle.driver additive(随机/挂机档+贪心 v2+商店策略,本席 owner 文件);
主会话真跑复验六门+PR 层 3.8s。M3 头号=进阶 A1–A15 入矩阵轴+多样性 driver(死卡 14 张治理)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 19:20:09 -07:00 |
|
lili
|
7cac2cb1b6
|
feat(polaris): 《山海行纪》M2——build 体系全表化+仿真参数扫描首跑,四判据 1080 局全绿
武器 12×8 级(五族)/被动 14×5 级/进化 12/难度 D0–D5/暴击轴/聚灵珠全入 balance 表零魔法数;
build-model.js=派生数值与理论 DPS 唯一解释器(sim/单测/扫描器同源);sim 多武器核(proj/zone 双形态、
五族索敌、链跳/爆裂/减速/灼烧,AoE 收集-降序结算防下标漂移);出击页滚动列表+难度选择、暂停 build 总览;
canvas-ui-kit v1.0→1.1 additive(createScrollList 滚动数学+拖拽单击消歧,零绘制)。
门证据:build 四判据 1080 局全绿(12 武器定向胜率全≥40%/最强 85%≤85%/随机中位 55% 带内/被动相关
|r|max=0.25;②③带沿如实注记,确定性种子主会话复跑逐值一致);扫描墙钟实测回填书 §8.3(单局 mean 1.88s、
6 worker 180 局/分,原「<1s」外推偏乐观一个量级,夜批结论不变);UI 三项 headless 断言全真→触发器②
证据面建议不触发 Phaser 复评(CDP 补证待窗口,终判在主会话);游戏 27/27+三场景+压测 p95 1.43ms+
整库 269/269+manifest 19/19,M0/M1 零倒退;主会话真跑复验。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 19:20:09 -07:00 |
|
lili
|
b7c843a0e6
|
feat(polaris): 《夜市一条街》M2——八系统机制齐+富三门经营语义接线,九门+富三门 CDP 真跑 ACCEPT
八系统最小闭环(效果全走解释器单点施效,M1 四个 arrivesAt:'M2' 前瞻节点全兑现):扩张=盘地块入槽给吞吐修饰/
研发=耗食材扩菜单(下单一刻 FIFO 真耗库存)/员工=帮工自动出招走同 tapCustomer 链+日结扣薪+×1.12级升级/
事件=日初掷签(排程不入档,rng 游标重放保确定性)+评论家好评=声望第二来源/变现位 mock=rewarded 双槽五路径
回调仅 filled 发奖 pending 8s 兜底/成就 12 条只发金币守声望纯度+双图鉴;解锁树 40→42、菜谱 24→26 additive。
富三门接线(共享面 additive 点名):rich-game-gates.cjs +2 纯函数(recipesSourced/stockDecreased,既有函数一字未动);
play-phaser.cdp.cjs RICHGAME_GATED_ARCHETYPES 增 business-serve 键+serve 三门真玩分支(business-sim 分支逐字保留)
+顺手修既有缺陷:winRes 块内声明块外引用致全品类 playReport 恒 null,声明上提零业务变化。
门证据:九门+富三门 mini-desktop CDP 真跑 decision=ACCEPT(三联动/经济双路/latch 驻留全绿,drivenInputs=22);
仿真千局首扫 1000 局零死锁零 uncaught(48ms/日);rubric 结构面 14/16 机验在位(LLM 分待评审窗口);
冒烟 29→95 断言、可达门 8→13 查、单测 29/29,M0/M1 全回归;主会话真跑复验。CDP evidence/ 按惯例不入库。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 19:18:41 -07:00 |
|
lili
|
247b19e11c
|
docs(polaris): 山海宇宙设定v1与美术音频管线五拍落档+M0浏览器验证与M1收口台账
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
设定管线档(97行):山海宇宙设定v1(活舆图《山海图》/巡山使·巡异使双职业分饰两款/符箓五行/异兽谱单源/
矿彩国风锚,与两书已批视觉逐字兼容)+管线六项选型;创始人五问全按推荐拍定(2026-07-06):锁设定v1/
夜市独立市井线+彩蛋轻联动/生图A·mmx起步B·Seedream备而不开(升档判据=眼验不过或连续两批良率<40%)/
风格版山海两款合批先行/零外采开工+AI产物商用条款核对列首个法务动作。
台账:M0浏览器真跑验证结果(夜市三门全过=对照基准;割草arc崩溃/卡牌双Phaser两真缺陷→折进M1席修根因)、
三线M1全收口记账、rafLoop异常隔离平台项在册、harness driver惯例(集中tier2/harness+type分发)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 11:14:14 -07:00 |
|
lili
|
329b82cad4
|
feat(polaris): 《山海巡异录》M1——host集成修根因+单局通关闭环+card driver v1(harness双席合笔)
host修根因(mini-desktop CDP验出双Phaser实例致可见区纯黑+真指针死):main.js重写为宿主契约形态——
工厂零Phaser import、永不自建引擎实例,场景经ctx.game.scene.add挂bootPhaserHost唯一实例(与夜市款同构);
真人pointerdown与injectInput('tap')同走route(x,y)→readState().tapTargets命中序(ui/layout.js唯一坐标事实)=同因果,
M0手牌盖板吃点击缺陷随重构消失;run-smoke S0六条静态自查防回潮;battle-scene.js退役git留档。
M1单局闭环:S5链轴完整化(链轨延链指引/graceUsed/周天金闪)+S6 map-core三幕DAG(战/精英/憩/宝匣/Boss,
静态可达自检)+S7敌8种(多段/甲攻复合/烛阴双相位/饕餮增势,意图回合开始钉住「展示=执行」逐字段成立)+
S8 card driver v1+play-spec;30卡五行各6/3遗物全规则级/奖励三选一可跳过/HP携带/run级三latch。
数值首轮回填全标〔草案〕(贪心v1胜率5%=下界非标定对象,A0带45-60%校准归M2 S12三档driver)。
完整run单局墙钟首实测(§6.4 M1出口):40 seed中位1.6ms/p95 3ms级(headless开发机口径)→外推M2全矩阵
96k局≈分钟级单线程,数值CI可行性坐实。harness共享面双席合笔:card-battle.driver+business-serve.driver新增、
play-phaser.cdp.cjs runDriver type分发additive(卡牌/夜市两席同文件双分发共存复核OK,未声明时行为逐字不变)。
证据:battle-core 40断言(T1a/T1b随定容更新)+run-core 12组+run-smoke全绿(地图150张/首局门5 seed全win/
通关2/40全自然终局零invalid/幕缩放1070采样全中);主会话真跑复验。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 11:13:51 -07:00 |
|
lili
|
948ee24f30
|
feat(polaris): 《山海行纪》M1——浏览器崩溃修根因+六件L2插件沉淀+手感断言表接通
崩溃修根因(mini-desktop CDP验出play首帧IndexSizeError arc半径-0.5):render.js drawGround 地纹哈希位提取
用有符号右移 h>>16,h≥2³¹ 时 (h>>16)%3=-2→半径1.5+(-2)=-0.5;修位提取语义 >>→>>>(两处),非钳症状;
校验型canvas桩回归(arc按DOM语义拒负半径+桩自检)修前红/修后绿,覆盖四方向走位扫格。
六件L2插件沉淀(各五件套impl/api.d.ts/manifest/PLUGIN.md/test,纯additive零改既有):
virtual-joystick(浮动原点/死区/越界跟手纯核+轨迹注入driver=G_input孪生)/hit-feedback(档位表单入口+取证events[]:
eventName/frame/timeMs/sourceId,音画同帧构造性保证)/entity-pool/swarm-steering(均匀网格+软分离)/
auto-targeting(网格逐环≡线性最近300布局对账)/canvas-ui-kit(卡片弹层终态几何恒可点+顶栏)。
手感断言表11条逐条接通(2/5/6/10/11号真机校准与真引擎视觉证据如实标待窗口,真机p95≤16.7ms未验不冒称);
sim换装三件沉淀纯核零回退(724杀/p95 1.174ms与M0逐值一致);balance增FEEDBACK档位表全标草案。
证据:游戏13/13、整库260/260、manifest 19/19、包体258,905B(gz 89,268B)过0.6MB门;主会话真跑复验。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 11:13:27 -07:00 |
|
lili
|
3b64fa3834
|
feat(polaris): 《夜市一条街》M1——三资源经济骨架+解锁树40节点+SaveEnvelope存档+九门接线件
三资源流转(金币生涯账/声望=12里程碑唯一来源不可购买/食材批次FIFO进货-库存-保鲜环,缺料no_stock前置拒);
解锁树40节点(16菜谱+灶台+座位+经营被动+离线根节点+4个M2系统前瞻honest登记,效果解释器单点施效);
save_state v1=SaveEnvelope契约形状+日初检查点口径防存档刷币+未来版本拒读不毁档+0版迁移进链,影子介质IndexedDB(M5切正式save:槽零迁移);
离线收益=近3日每分净入均值×10%封顶2h(economy_curve单源);
九门接线件全套:business-serve driver+runDriver分发+spec.urlQuery门参数化+play-spec+宿主探针钩(CDP真跑排mini-desktop窗口)。
证据:静态可达门8/8(DAG拓扑/菜谱双射/定价cost=Σ食材对账)、冒烟29断言(M0四段回归+5日串跑23.1ms/日+存档往返确定性:5日连跑vs3日存-读-续终态逐字段一致+离线对账+三负例全拒)、单测15/15;主会话真跑复验。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 11:10:36 -07:00 |
|
lili
|
6dadc70173
|
feat(polaris): 《山海巡异录》M0——battle-core 回合解算核+竖屏战斗场景
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
顶级线③卡牌构筑肉鸽(设计书 2026-07-06 已批即开,统一山海原创 IP 宇宙)。battle-core 纯函数
回合解算(受控随机注入/事件流/latch):能量经济/抽弃洗/出牌序列链/敌意图/护栏;链语义逐条钉死
(每环+0.25/周天=总倍率一次性×2 单回合至多一次/硬上限×8/动作 200 触发判本局 invalid 并 latch);
20 卡五行各 4(估值落 §6.2 锚带)+首战敌「涸泽鲛」意图循环 4 式+曲线常量表 schemaVersion=1;
渲染层竖屏三段布局/链轨五槽/周天金闪/演出与逻辑经事件流解耦,readState/injectInput 按 tier2 平台契约。
证据:单测 40 断言绿;冒烟贪心 driver 5+100 seed 全 win、挂机 13 回合 lose、0.044ms/场(单场口径);
bundle 35,835B=账A 预算 10%(构建产物不入库,README 带 build-phaser 重建命令);
实测 Phaser 3.80.1 raw 1.13MB/gz 0.30MB→账B 建议钉传输字节口径随真机定案。
待 mini-desktop 窗口:CDP 三门/浏览器真玩/冷暖启计时;M1 头号=card driver(S8)。
|
2026-07-06 09:25:45 -07:00 |
|
lili
|
86611fb24e
|
feat(polaris): 《山海行纪》M0——LittleJS 核心循环全链可玩
顶级线②肉鸽割草(设计书 2026-07-06 已批即开,统一山海原创 IP 宇宙)。core 纯逻辑层零 DOM/引擎:
update(dt)+受控 rng+对象池+均匀网格;浮动摇杆(死区 12%/斜向归一)/雷符链最近敌索敌自动开火/
3 敌种波表爬坡/灵晶磁吸/升级三选一(冻结单击直选)/死亡与 300s 撑满结算;L1 宿主装配沿 _template
骨架 11 插件全量;取证契约(targets/score/phase latch)齐;占位美术山海彩绘色板。
证据:单测+全链 boot 冒烟 7/7;三场景 headless 全过(P0 静止 39.1s 死≤90s/关火纯走位 60s 满血/
P2 撑满 300s 胜 724 杀 11 次升级);1400 逻辑实体压测 p95 1.2ms≤6ms 逻辑预算;
首屏 251,078B(gz 86,725B)过 0.6MB 门(dist 按仓约定不入库,scripts/build-report.mjs 再生成)。
待真机窗口:渲染侧 60fps@2500=触发器①;M1 头号=手感测量面。
|
2026-07-06 09:25:25 -07:00 |
|