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 |
|
lili
|
0c0f170548
|
feat(polaris): 《夜市一条街》M0——服务循环纯逻辑内核+Phaser 表现层
顶级线①模拟经营(设计书 2026-07-06 已批即开)。纯逻辑内核脱渲染:营业日 600s 时钟/经济结算/
day_end latch/readState/tapTargets/_forensicsView,受控随机注入;系统①服务循环+economy_curve 九键落表;
8 菜谱/6 顾客类型全原创;Phaser 竖屏表现层程序化占位美术(宿主预载引擎 external)。
证据:headless 双路冒烟 12/12(勤快席 served=327/coins=3206 vs 放任席 rep=0,latch 不回弹,
同 seed 双跑账本一致);单营业日快进 12.0ms=U8a 墙钟锚首数据点;两本账脚本产 dist/m0-bytes.json(dist 按仓约定不入库)。
M0 余项:九门经营 driver 接线(排 M1 前)+浏览器真跑窗口。
|
2026-07-06 09:25:08 -07:00 |
|
lili
|
2ce0ed3a9d
|
feat(save-cap): W-SAVE-CAP 存档面定容+schemaVersion——单槽版本信封,北极星三款共享基建
契约先行(sdk-interface.d.ts+镜像 additive):白名单新增恰等键族 save:{gameId}:{versionId}(≤65536 码元,
写入必须 {schemaVersion≥1, data} 信封,宿主闸 fail-closed);idle: 族 4096 逐字不动;弃多 key 分片。
宿主闸抽纯函数模块 storageGate.ts(四闸合一可 node 直测);save-progress 插件 v1.0.0→v1.1.0 additive:
setVersioned/getVersioned 逐级迁移/缺级兜底/降档读新档不毁档/无版本旧档按 0 版进链+探针两计数。
证据:插件单测 18/18、game-runtime 31/31、宿主闸负向演示脚本入仓真跑全断言过、vue-tsc+vite build 绿。
三书 M 门影子存档降级口径解除条件就位(卡牌 M2/割草 M4/夜市 M5 切换)。设计页 docs/plans/2026-07-06-002。
|
2026-07-06 09:24:44 -07:00 |
|
lili
|
207bb79719
|
docs(polaris): W-POLARIS 品类北极星矩阵——总纲+三款顶级线开发设计书落档
创始人 2026-07-06 三拍立项、晚间升档(3 款顶级 10h+ 并行、全 fable5 high、预算解除、clean-room 红线)、
四拍收口(统一山海原创 IP 宇宙《山海行纪》《山海巡异录》/《夜市一条街》定名/W-SAVE-CAP 立即切单/即批即开)。
三书各过 Codex+Opus 双评审(6 席 35 条全修入:两本账/阈值标草案/待建基建如实分层/链护栏三层/结构常数例外清单)。
台账:作战清单 W-POLARIS+W-SAVE-CAP 单、在飞板三行、SpaceHuggers 靶档裁定戳、NSTAR 档 reachability 引用核正;
三线 M0 同夜交付结果已记账(割草本机面全绿/夜市 卡牌 PARTIAL 断点清晰)。
|
2026-07-06 09:24:24 -07:00 |
|
lili
|
a207cb8d65
|
docs(agents): skill 规范化双层收口 + 席位context skill 新增 + W-NSTAR/W-TPL/W-GENLOG 设计波落档
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- .agents/skills 25 件全量 frontmatter 规范化与评审修入(含 prompt-governance 大修);.claude/skills 7 件薄壳按双层方案①落位
- 新增 skill:agentic-seat-context-design(agentic 席位与 context 工程设计基线,2026-07-05 探索蒸馏)
- 设计波三件落档:复杂游戏北极星件(W-NSTAR 终审稿待拍)/黄金模板规格件(W-TPL 定稿待批)/生成侧过程蒸馏回路(W-GENLOG 骨架)
- protocol/在飞板/作战清单/数据飞轮 SoT/契约 prompts 索引同步;breakout 九门证据刷新
- .gitignore 补 /localagents.md 真实忽略行(该文件自声明绝不提交,此前声明未被机器执行)
- 刻意不入库:nacos-data/ 与 _tier2-gen、c2v-*、amgen-* 生成产物(可重生成,忽略行格式待拍)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-06 05:32:56 -07:00 |
|
lili
|
1860be2596
|
docs(consistency): 18 架构 SVG 门面图版本标注 2.0.2→2.0.3(升级一致性尾)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
承 c3728377 升级 + ee631be6 SoT 一致性:18 个生成引擎架构 SVG 共 45 处
「AgentScope 2.0.2」当前能力/选型标注(官方件/内置/自带/源码实证/锁版/默认值)
统一到 2.0.3——等长纯文本替换、零布局影响(44 增 44 删对等)。无历史句需保留。
两处「从错变对」:t2-B-03 左框「官方软刹 ReplyBudgetControlMiddleware」徽章原标
「AgentScope 2.0.2 自带」——但 2.0.2 源码实无该类(见 §15),2.0.3 才补进
middleware/_budget.py,改 2.0.3 后标注方准确;t2-A-04 脚注 _budget.py 同理。
图的对照结构本就对(官方软刹现成但剪不住烧钱→自建 ¥ 两段式 fail-closed 硬闸=
护城河),仅版本标注跟上。qlmanage 渲染 t2-B-03/t2-A-02/01-系统全景 确认布局无破坏。
deeper follow-up(超版本标注范围、随 SVG 深核波):部分 SVG 脚注引 2.0.2 源码行号
(如 get_toolkit 已迁 _chat.py:354)未逐一重核;max_iters 默认值 / on_acting 工具级
洋葱语义细化待议。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-06 03:06:48 -07:00 |
|
lili
|
ee631be68f
|
docs(consistency): 运行时 SoT 版本引用收敛 2.0.2→2.0.3(升级一致性尾)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
承 c3728377 升级:把运行时 SoT 里 26 处 current-capability 陈述(Agent Service /
Workspace / MessageBus / Event System 内置件、已删 MsgHub、原生 ReAct 行为、框架
接缝兼容、已锁版、源码实证)统一到 2.0.3——这些能力在 2.0.3 同样具备。
4 处 ReplyBudgetControlMiddleware「2.0.2 核验不存在」是历史核验实证(0 号 spike
在 2.0.2 基线上验官方当时无此类、故自建 ¥ 两段式硬闸),按两层纪律不改成
「2.0.3 核验不存在」(那是假,2.0.3 已补进原生 token 制);改为保留 spike 期
历史事实 + 加「2.0.3 已补原生、仍保自建 ¥ 闸,见 §15」交叉引,既不误导当前读者
也不篡改历史。docs-gate 七检全绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-06 02:59:55 -07:00 |
|
lili
|
c372837762
|
feat(deps): 升级 AgentScope 2.0.2→2.0.3(代码+文档,创始人 2026-07-06 拍板)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
不为某个新特性,而是没道理把底座停在带并行 tool-result 缺陷的补丁版;2.0.3
是同线相邻补丁版,升级面窄、收益确定。承 tech-decisions §11-13「护城河进洋葱、
框架件谨慎审计」线。
代码:两 worker requirements 钉 2.0.3+溯源注;4 个 cheap-worker patch 的版本
guard 更 2.0.3——主控逐一源码核实 2.0.3 锚点仍成立:compress_context@_agent.py:259
未漂移 / _parse_stream_response@_openai_chat/_model.py:297·index 分桶:417 未漂移 /
list_tools@_local_workspace.py:660 / get_toolkit 装配点迁 _chat.py:354(patch 替
绑定名不依赖行号);patch 头 pin 声明同步 2.0.3+复核标记,根因 2.0.2 期实证保留。
文档:current-truth 面扫除(agentscope-2.0-facts 改掉一处「2.0.3 是笔误」错陈述+
行号漂移开源码更新 594→622/136→162/33→42/857→884/875→902、tech-decisions §15
升级决策散文、运行时 SoT 当前选型句、活代码注释、tier2 README 死链修);留痕层
(plans/HANDOFF/patch 根因分析/ADR 历史核验句)按两层纪律不动。
兼容三证:源码逐处 diff(RedisMessageBus/OpenAI formatter 零变化、Anthropic
formatter 仅并行 tool-result bug 修、ModelCallEndEvent 无变化、MiddlewareBase
加性 get_middleware_key)/ cheap 393+tier2 140+patch 20 测试全绿 / dev 两 venv
升级后 3 服务健康。收敛真跑:cheap 便宜档 ReAct 全链路 356 trace 零升级异常+
真出游戏过九门 9/9;tier2 Anthropic 工具循环跑满 40 轮写 15 文件 gen.log/trace
零升级异常(decision=fix 属 tier2 生成质量、非升级回归)。
2.0.3 新增原生 ReplyBudgetControlMiddleware(历史反复核验 2.0.2 不存在的类)/
tool 级洋葱/RAG/mem0,列而不迁(自建 ¥ 两段式 fail-closed 硬闸是护城河,原生
token 软控替不了),follow-up 见 §15。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-06 02:06:14 -07:00 |
|
lili
|
958f78f523
|
feat(obs): 阶段四观测面二 Python 侧 token metric——llm_tokens{kind} + llm_cache_hit_rate
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
补面五(game-cloud GenMetrics)拿不到的两个纯 Python 侧 token 维度 metric:
llm_tokens(Counter,kind=input/output/cached)与 llm_cache_hit_rate(Histogram,
每 run 命中率 [0,1])。复用波③ 既有 OTLP 基础设施(开关 CHEAP_OTLP_ENDPOINT、
端点解析、代理旁路、service.name=cheap-gen-worker、best-effort 铁律),换 OTLP
metrics 通道;默认关字节不变、绝不咬生成、与面五 5 个 metric 零重叠不双计。
关键约束(主控亲验坐实):生产 Service 路拿不到 cached——trace.py 组 cost.tokens
只填 in/out,agentscope ModelCallEndEvent 只有 input_tokens/output_tokens 无
cached 字段。故 Service 路(on_reply 只读嗅探 in/out、_metric_emitted 幂等)传
cached=None 如实降级:只发 input/output 计数,不发 cached 计数与 cache_hit_rate,
绝不塞 0 伪造命中率。CLI/批跑路(RecordingOpenAIChatModel.records[2])cached 可得、
两 metric 全发。生产 Service 路发 cached 需 per-POST RecordingModel 或 tier2
breaker 存 cached token,均超本次最小改动边界,列 follow-up。
主控终审:亲跑 tests/test_cheap_otlp_sink.py + test_cheap_service_app.py 29 passed、
全量回归 392 passed/1 skipped;逐条读承重 diff(默认关守卫/best-effort/不双计/
cached 诚实降级/MeterProvider 进程单例防线程泄漏/cached 截 [0,input]/除零守卫)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-05 23:57:40 -07:00 |
|
lili
|
8b91f34b13
|
docs(design): SVG 尾波补 M4 广告预接线门面图 m4ad-00(三层切换开关+回调 fail-closed 铸币面防护)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
W-DSGN 尾波实际残项唯一 1 张(R3/M4 门面图),补齐并接入 M4 设计档 §0。
主控终审:qlmanage 亲眼渲染验证,修两处单行文本溢出(顶部状态条 tspan 超框
裁字「防重放」→ 精简正文他处已凸显的细节;页脚映射行冗余「状态」段与顶部
约定条重复 → 删段),两处修后重渲染确认完整落框。docs-gate 七检全绿。
作战清单点名的其余尾波图(plan①顶图/quality-01·02/rethink-00/cfgctl2-01~04)
经核对早已提交,无需重画。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-05 23:44:33 -07:00 |
|
lili
|
c6d6d39a2a
|
feat(cfg): W-CFG-KB K3 知识包治理接线——knowledge 配置块+激活发布 Nacos+worker 订阅热物化(复用阶段二三·默认关)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
把切片一知识件外置接进受治理配置集,一条「改知识件→定版→激活→worker 物化生效」链,复用配置控制面阶段二/三治理机器零重造:
game-cloud:knowledge 作 content_json 第四内容块(仿 readiness),与 routeA/routeB/readiness 互斥、sanity(packageId/
activeVersion 非空);走向相反=真下发(readiness 进程内空载荷,knowledge 跨进程),激活编成一条路 B 载荷
{knowledge.packageId,knowledge.activeVersion}、经 KNOWLEDGE 档独立 dataId gen-hot-params-knowledge publish 给 worker;
pathA=null→dispatch/reconcile 只走路 B、激活编排一行未改。加 AigcConfigTierEnum.KNOWLEDGE+KnowledgeConfigKeys+NO_ROUTE 文案。
worker:kb_store 加进程级激活版本源槽+attach/detach(对称 genconfig),resolve_active_version 取值链改为治理源(Nacos)>
env 钉版>最新 committed;新 kb_nacos.py(KbActiveVersionSource 订阅 dataId、按 packageId 匹配、激活变更即重物化)+
setup_knowledge_activation() 启动物化+(Nacos 启用时)attach,cheap_service_app 紧接 genconfig 热源挂它。复用 genconfig_nacos 启用旗+代理旁路。
默认关字节不变(TIER2_KB_ROOT 未配→不物化不订阅、read_file 回落仓根;无源→resolve 回落 env/最新);缺文件显式失败沿用
(materialize_active 照抛保留 kb_root、kb_nacos 只在 best-effort 边界接住不咬生成);全 best-effort。admin 本轮做前端契约点
sanity.ts,富编辑视图=紧接下一片(与 readiness 一致)。
主控终审:git 完整(HEAD 未动·无破坏操作)+11 文件精确+读码坐实互斥/routeB载荷/取值链/best-effort/默认关/缺文件失败没削弱
+亲跑 Java codec 34+activation 21(BUILD SUCCESS)+Python test_kb_externalize 21 全绿。真 Nacos 激活端到端排窗口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-05 22:50:10 -07:00 |
|
lili
|
5b631e8d5d
|
chore(tier2): archetype 假旋钮清账——删 genconfig 死声明「archetype」区(生成路从不读、真值硬编码)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
W-S2 follow-up:genconfig.py 登记过一个 "archetype" 区声明 business_sim driver 五参
(steps/stepMs/winThreshold/bankruptSteps/streakLose),但生成路(archetypes._business_sim_gate_spec /
run.DEFAULT_BUSINESS_SIM_PLAY_SPEC)从不读它、真值一直硬编码在那两处 = 死旋钮(改配置无效、误导)。
删该假声明(工单=接线或删声明,取删=最小),两处硬编码加注为单一权威源;放量期确需热调再按 D11
「读 genconfig、硬编码作回落」范式补接线。
纯声明删除 + 注释,零生成逻辑改动。tier2 venv 真跑 test_genconfig_nacos 19 + test_run_gates_stale_verdict 2
全绿 + import 冒烟(archetype 区已从 _BUILTIN_DEFAULTS 删净)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-05 21:58:23 -07:00 |
|
lili
|
21b5320f3f
|
feat(cheap): W-CFG-KB 知识件外置切片一——知识包存储(复用 ASSET-SRC 范式)+ 物化 + read_file shadow(路乙 MinIO·默认关)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
知识件(喂 agent 学怎么生成的设计范式:skills/黄金脚手架/few-shot/tier2 RAG)原散在 worker repo 检出、
read_file 按硬编码路径自取,改一条范式得重部署。本切片(K1 路乙 MinIO,创始人拍)外置成可热换知识包:
- kb_store.py:KnowledgePackageStore(LocalFs/Backend)存 MinIO + manifest 落 MySQL(专用表
cheap_knowledge_package_version + 专用桶 cheap-kb,与 ASSET-SRC 正交不合表);复用 store.py 纯工具
(_canonical_content_hash/derive_version_id/_is_safe_rel_path,store.py 零改动)+ manifest-first 半落库
(pending→put→committed、fetch 只返 committed、缺源标 missingContent 不静默)。
- materialize_active:按激活版取回→staging 逐文件 sha256 校验(K2 寻址断言)→原子换入知识根(旧挪 .prev);
缺文件/取不到/指纹不匹配【显式失败】(类比 ASSET-SRC 缺源),kb_root 不动=回落上一份完整包。落点
TIER2_KB_ROOT 在 git 检出之外(deploy-safe,防 reset --hard 抹)。
- cheap_run.py read_file shadow:先查知识根同相对路径(热换即生效)、回落仓根(api.d.ts 等代码不外置);
TIER2_KB_ROOT 未配时短路、read_file 字节不变(默认关);两根守只读+200KB+路径不逃逸、越界即拒。
cheap_roles.py 硬编码路径不改(shadow 在解析层处理)。
K3(yudao 治理+激活推送+admin)= 后续切片,留接缝点(resolve_active_version/materialize_active/default_kb_store)。
主控终审:store.py 零改动 + read_file 默认关字节不变 + 缺文件显式失败/原子回落读码坐实 + 独立表桶 +
亲跑 test_kb_externalize 14 + read_file 回归 18 全绿。真 MinIO 物化闭环排窗口(cheap venv 无 pymysql/minio)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-05 21:37:50 -07:00 |
|
lili
|
d007974600
|
fix(tier2): store roundtrip harness 重建用 cwd+相对路径——修 esbuild 路径注释致 bundle 假不确定(SRC T3 真库 5/5)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
W-ASSET-SRC T3 mini-infra 真库窗口验证(真 MySQL+MinIO)暴露:harness _rebuild 每次用新 mkdtemp +
绝对 entry 路径跑 esbuild,而 esbuild bundle 把入口路径写进产物注释(// <abs-path>),mkdtemp 目录名每次
不同 → bundle 字节跨目录不稳 → 断言1「确定性重建」误判失败(实为 harness 自身路径泄漏,非 store/esbuild 不确定)。
改用 cwd=tmp + 相对 entry/outfile,注释恒为 // src/game-logic.js、bundle 字节稳定。
真库真跑坐实:修前 4/5(断言1 假失败),修后 5/5 全绿——幂等 / 确定性重建(bundle sha 字节相等)/ 版本寻址 /
缺源显式失败 / 半落库不留隐形孤儿(put 失败留可见 pending、无隐形对象、续跑自愈成 committed)。
ASSET-SRC manifest-first 存储在真 MySQL+MinIO 全五条闭环坐实(mini-infra:infra-mysql tier2 库 + infra-minio tier2-src 桶)。
T1(翻 TIER2_STORE=backend + 真 tier2 富游戏 gen 落库)待 tier2 真跑窗口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-05 20:58:53 -07:00 |
|
lili
|
47644881ff
|
feat(observability): Grafana 看板激活生成指标 + 三条阈值告警(阶段四·面五之上)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- observability-overview.json:业务指标占位 panel 改用面五真实指标名(gen_task_total{status=succeeded}
/ gen_duration_seconds / gen_queue_depth / gen_gate_fail_total,去掉猜错的 huijing_ 前缀与 success 标签)
+ 新增 llm_cost 成本 panel(单次均值/近1h累计,标自估值非 new-api 权威)。
- provisioning/alerting/gen-alerts.yaml:三阈值告警——生成成功率<80%(MVP门 §2)/ 队列深度>15(便宜档
并发上限)/ game-cloud up=0(后端不可达),+ webhook contact point(飞书/钉钉,URL 待创始人填)+ 路由策略。
对着 MVP 门(成功率≥80% / 可用性≥99.5% / 便宜档并发≤15)。webhook URL 未填前告警在 Grafana UI 可见但不
外发,§7 验收#2「告警真送达」待真 webhook。compose 已挂 provisioning 全目录,重启 grafana 容器即生效。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-05 20:47:52 -07:00 |
|
lili
|
5b34807e73
|
feat(cheap): 面四 Python 三跳 traceparent 打通——便宜档生成串成单条 trace 树(观测阶段四)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
Java agent(面一b)已在派发出网自动注 traceparent;本片补 Python 侧三个断点,让一次便宜档生成
在 Tempo 里是 Java→worker(:9501)→cheap-service(:8300)生成 的单条 trace 树而非散落 root:
- 断点①:worker_service.do_POST 抓入站 traceparent 进 job._otelCarrier(self.headers 仅此可得);
process_job 用 worker_span_scope 在入站 context 下建 worker SERVER span、包住真生成调用(span 建在
真处理 job 的 worker 线程,非只入队即 202 的 do_POST)。
- 断点②:driver 读当前 context(worker span 经 asyncio.run 透传进协程)inject 成 W3C carrier,随出站
:8300 各 POST header 带上;同份 carrier 写会话 sidecar。
- 断点③:/chat reply 在 AgentScope 后台任务跑、与 HTTP 请求解耦读不到实时 context——故走既有 C2 sidecar
桥:cheap_service_app 工厂读 sidecar traceparent → parent_carrier → CheapOtlpSink 每步生成 span 挂入站
context 当子 span(不再私有 root)。
传播 helper 集中 cheap_otlp_sink(extract/inject/worker_span_scope);全程 best-effort(otel 不可用/carrier
坏/Collector 不可达都退化成少串一段 trace、生成异常原样穿出)、CHEAP_OTLP_ENDPOINT 默认关时零行为变化
(parent=None 退私有 root、sidecar 不写 traceparent 字节不变)、代理旁路红线未破、业务 traceId 并存(§10 决策5)。
test_trace_propagation.py 14 例(含端到端三跳单条 trace 树,InMemorySpanExporter 证父子链+同 trace_id)
+ test_worker_service +2;主控亲跑 40 passed(3 文件)+ 全量 364 passed 1 skipped 无回退。
真跨进程 Tempo trace 树验证 = dev 开 CHEAP_OTLP_ENDPOINT 重跑 follow-up。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-05 20:30:04 -07:00 |
|