lili
|
63f178d615
|
feat(prompts): 四道闸CI接线段B——真模型四闸判定器 eval_gate + prompt-eval workflow + safety 基线
薄版重建四道闸(不复活已删的 evalflow/judge 整套编排),对改动的 live prompt 拿金标集真跑 M3:
- 闸1 Schema(产物合 output_schema)/ 闸2 成功率 ≥0.8 / 闸3 回归 diff(vs baseline)/ 闸4 成本延迟增量;
- 只焊 live 面:非 live SKIP 豁免、live 无金标 fail-closed(绝不假绿);单跑预算 cap ¥5 硬编码、超即 fail;
- 真模型 = MiniMax-M3 经 new-api(thinking 关、实测 reasoning_tokens=0),urllib ProxyHandler({}) 绕代理,key 从 env 读、不硬编码不设长期 env;
- 触发 = workflow_dispatch(prompt-eval.yml,与 push 门分工);台账 append-only 落 eval/<id>/runs/;
- 调用失败(网关 500/限流)排除出判定分母、建议复跑(SoT §7:eval 跑不通不阻塞、不假绿)。
safety.prompt-check 真跑证据:10 条违规负例经 M3 判定,9/9 responded 全绿(neg:5 稳定触发 new-api 上游 500 已按基础设施失败排除),本跑 ¥0.0071,建立 baseline 供闸3/4 后续真判。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-04 09:10:00 -07:00 |
|
lili
|
f1676a1d49
|
feat(prompts): 四道闸CI接线段A——离线版本升号闸 check_version_bump + 挂 pre-commit/contract-gates
闸0「改 prompt 正文必升 version」落成独立零依赖脚本(与 check_registry 同风格、各管一摊):
- 相对基线(默认 HEAD;CI 传 push 前提交)剔除 frontmatter version 行后比规范化正文——正文有实质改动而 version 未变即拒;
- 新增文件无基线不判、删除文件交 check_registry 报缺失;基线 ref 无效则跳过不误拦、不假绿;
- 挂 .githooks/pre-commit 门5(prompts 路径条件触发,基线 HEAD)+ .gitea/workflows/contract-gates.yml 服务端(checkout fetch-depth:0 供比对 push 前提交)。
自测:改 safety 正文不升版→FAIL exit1、同步升版→OK exit0、git checkout 恢复干净。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-04 08:58:57 -07:00 |
|
lili
|
d5865f57cd
|
docs(prompts): 四道闸CI接线步骤0——registry 消费面三态对账(17条逐条+门焊口径)
用一手代码证据坐实 17 条 prompt 的 live/fossil/batch-relic 三态,防把 CI 焊在死面上白花钱:
- live 10 条:safety.prompt-check(SafetyCheckClient GP9 门真发 LLM)+ tier2×8(roles.py prompts.load 运行时读)+ config.cheap-system(cheap_roles.py)
- fossil 5 条:clicker/merge/idle/tycoon(AigcTemplateConstants.SUPPORTED_TEMPLATE_IDS 已整体下架、gamedef 产物形态已废)+ generic-coder(STUB,PromptResourceLoader 只为 isReady/schema 加载、不喂 LLM)
- batch-relic 2 条:quality.adversary-review / fix.design-revise(全仓无 live 代码消费方,仅已删 agent-loop v1 evalflow.py 批跑过)
门焊口径写进 registry 头部:段 A 离线版本闸对全部条目生效(改正文必升 version,纯结构纪律零成本);段 B 真模型闸只焊 live——有金标真跑(唯 safety)、无金标 fail-closed(cheap-system/tier2)、fossil/relic SKIP 豁免。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-04 08:54:47 -07:00 |
|
lili
|
7820c75b8b
|
docs(contracts): prompts README 死链修——退役执行档改 git 史指针(留痕纪律) (尾波)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-03 20:54:46 -07:00 |
|
lili
|
d15119f3ad
|
merge: A2 模板与提示词侧——6款模板起局按钮解耦render(纯几何函数+onEnter确定性赋值,no-render探针6/6进play+HEAD反事实6/6卡menu坐实)+ cheap-system v1.6.1 两条硬约束(targets键名固定/命中矩形onEnter建立)+cheap_roles逐字节parity+registry bump + gen.mjs入口守卫 + littlejs skill起局指导(卡menu案4修复面)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-03 14:20:08 -07:00 |
|
lili
|
34923812c3
|
fix(gen): 模板起局鲁棒性 menuStartBtn 解耦 render + targets 键/起局约定进 prompt v1.6.1 + gen.mjs 入口守卫 (W-S1 修复单②)
T1 六款模板(_template + feiyi/puzzle/shop/story/trpg)起局/重开按钮命中矩形:
从 render 副作用回写(menuStartBtn = renderMenu(...).startBtn)改为抽纯几何
menuStartRect/overRestartRect + 在场景进入点 onEnter 确定性赋值、render 只画;
治并发 rAF 饥饿下 render 未跑过=命中矩形恒 null=卡 menu(归因案4)。
no-render 探针坐实:修复前六款均卡 menu、修复后均按坐标起局进 play。
T2 cheap-system.md 升 v1.6.1,红线段增两条硬约束:①点 target 玩法 state 键名
固定为 targets(不得改成 items 等,C5 驱动器族选择依赖)②起局命中矩形须在状态
进入点建立、不依赖渲染帧;各模板 _forensicsView 加同义契约注释。cheap_roles.py
_SYSTEM_PROMPT 与 md 正文逐字节 parity 同步,registry.yaml 版本 bump 对齐。
T3 gen.mjs 顶层裸调 main() 加入口守卫(import.meta.url === pathToFileURL(argv[1])),
被 import 时不再触发真生成(footgun,曾 ~116s)、直接执行行为不变。
T4 puzzle-game-design.md §9 死链经核实在本 commit 不存在(唯一 play-spec 引用已
正确指向存在的 puzzle.play-spec.json),未伪造改动;littlejs-game-dev.md 补一条
起局 onEnter 指导闭合 doc-code。
验证:test_roles 12/12 + check_registry 17 对齐 + md↔_SYSTEM_PROMPT parity True
+ 6 模板 esbuild build 全绿 + amodel-gen tests 15+11 + 模板 node --test 除
_template-shop/headless-boot(既存红,与基线同)外全绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-03 14:17:53 -07:00 |
|
lili
|
10de6aab8e
|
merge: E14 图说 doc-sync 八条回同(配置反转/收敛环conditional/便宜档Python化+12插件/RepairMiddleware+预算两段式/checkpoint降准/DockerWorkspace句删/质量canonical互引/trace README口径)+ Δ6 接缝频率序 + Δ9① A8-A13 注记 + C5/C6 入契约表 + studio.py 头注释纠正(W-DSGN 文本批,SVG 留尾波)
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-03 14:12:44 -07:00 |
|
lili
|
6ef0b5d75e
|
docs(gen-engine): 运行时图说 doc-sync 回写实现对账 12 项(W-DSGN)
以 2026-07-03《生成引擎实现与图说一致性对账》§5 八条 + 重推演 Δ6/Δ9① +
预算两段式裁决为据,把掉队约两周的运行时图说追回现实,写前逐条重核工作树代码。
图说本体(主对象):
- 配置口径反转:ADR-4/A13/§5.2/§5.8/对标表/五列/§二补④ 从「Langfuse 式热取 + GitOps
四闸」改为「yudao 配置中心版本化(MySQL 版本行)⊕ Nacos 下发 ⊕ AgentScope per-POST
热重载」,阶段〇+一① 已代码落地;Langfuse 式退历史备选、原表保留作决策留痕。
- §4.2 收敛环:前瞻「go(留观微调)」改为真跑 conditional 结论,补 agent 层 win-balance
瓶颈(约 1-2/5 thrash)、网关无强档记 conditional no-go、F-1 反馈补厚已落。
- §4.1 便宜档:补运行时载体已 Python 化(cheap-worker 双入口 CLI+Service、复用 tier2
worker 包;Node 拆两半:gen.mjs 退对照、tools.mjs/serve-and-play.sh/play.cdp.cjs
九门执行层 shell-out 仍活);「十一插件」核正为十二(8 基元+4 编排)。
- §5.3 续修:回同续修原语迁入 on_reasoning 的 RepairMiddleware(单 POST 内 finish 点
续修=生产主路,外层 resume 为本地 runner 并存 fallback);预算两段式(软停线 ¥10/¥50
+ 硬地板 ×1.5=¥15/¥75、与轮数/墙钟任一先到即停),§5.2/§5.7 同步。
- §5.1 checkpoint 降准(每外层 resume 落本地 JSON;Redis durable 已编码未真跑);服务壳
已编码真跑未验证、阶段一 Agent Team 已提前落地默认开启。
- §5.4 删 DockerWorkspace 前置阻断句(06-28 已裁 in-process);A2.5 表行改现·部分;
补引质量 canonical(D11 权重管辖已移交、四层塔与三层校验共用 L1-L3 但异轴防混)。
- §一 Δ6:第一原则改述为「接缝按变更频率设」(模型月换>品类周扩>引擎季增>框架可能永不换;
协议脊柱与 judge 独立两资产保留;框架适配验证明确为远期非投入项)。
- §三 Δ9①:A8–A13 加「单实现期不冻、第二消费者出现才抬升」注记(不删行);C5/C6 判分
闭环两契约入表(PlaySpec 考卷/VerdictFeedback 判卷反馈,已立 schema+校验器、生产接线
在途,指 contracts/play-loop/)。
- A11(工单第 10 条)复核:图说 §六已是完整 A11 章节,无需重复补——系对账/工单误判。
配套一处:contracts/trace/README.md 廉价线口径 SAA→cheap-worker(便宜档已 Python 化复用
tier2 TraceAdapter/schema,saa-trace-event schema 保留作 SAA 远期轨立位)。
代码触点一处:tier2 agent_loop/studio.py 头注释纠正(「不再外层 repair」与同文件外层
resume 相左)。
收尾:两份配置设计档 sot-impact「收口时回写」翻「已回写」;plan① §11 TODO ⑤⑥ 勾状态。
docs-gate 七检全绿;studio.py 语法校验通过。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-03 14:10:56 -07:00 |
|
lili
|
685a21a74c
|
merge: B8 门挂载——四契约门挂 pre-commit(.githooks 五门条件触发)+ Gitea Actions contract-gates.yml + rubric↔skill 双写对账门(rubric-sync-gate.py)+ check_registry 真挂载 + prompt治理档口径对齐(Δ5 执行面)·负向演示×4 全红转绿·live-fire 实证
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-03 14:04:24 -07:00 |
|
lili
|
6085805634
|
chore(gates): 四契约门挂 pre-commit + Gitea Actions + prompt 治理档口径对齐(Δ5 执行面)
无校验器不算契约(engineering-conventions §5.2 Δ5)的机器门挂载单:
- .githooks/pre-commit:按暂存路径条件触发五门并聚合失败——docs-gate 七检 /
门金标判例库 run.mjs(触判据或判例库)/ play-loop validate --suite(触 play-loop)/
rubric 双写对账(触 genre-rubrics 或品类 skill)/ check_registry(触 prompts)。
- .gitea/workflows/contract-gates.yml:与 docs-gate 平级的服务端不可绕门,四契约门全量真跑。
- 新建 .agents/tools/rubric-sync-gate.py:品类 rubric fixture↔skill 双写对账,
fixture 为单源,内联副本逐条名目对齐(容措辞装饰、抓真增删改名)/ 纯指针校验可达,漂移 exit 1。
- 治理档口径对齐:prompt治理.md 三处 + contracts/prompts/README.md 挂载段,把
「registry↔文件对账由 §4 四道闸 CI 拦截」纠正为「由 check_registry.py 承担,
2026-07-03 已挂 pre-commit + Gitea Actions」(四道闸质量闸仍待接线,version 对账先行)。
四门 clean tree 全绿;各具负向演示留证(判例回归/坏样本/内联改名+指针断裂/版本漂移均 exit 1)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-03 14:01:32 -07:00 |
|
lili
|
64eb7a4eac
|
feat(gate-fixtures): 卡 menu 族 fx4c×3 升产物型判例 + 剧情金标正例 p11a-s1 固化入仓
判例库补两类被门证实的证据落位,门判据改动前的全量回归多两组锚:
- 卡 menu 族 amgen-fx4c-{1,3,4}(复现窗 2026-07-03)从 pending 升为 product_fixtures:
每份固化 src 源码(卡 menu 现场:menuStartBtn 仅 render 副作用赋值 + 非方向键起局)+
evidence 摘要;bundle/index.html 构建产物与约 1MB 生成 trace(verdict 全 null)不入仓,
附 tools.mjs build-saa 重建命令。裁决两防线:案 1/3 驱动器约定漂移(误杀)、案 4 并发
flaky(脆弱写法),细化归卡 menu 归因单。
- 剧情品类金标正例 p11a-s1「深渊回声」(丰富度 7/11、九门全绿)落
cheap-worker/fixtures/golden-samples/narrative/,给策划知识包 v2 正例复验当靶子;
narrative.json 的 _note 指针从「产物未入仓」翻为已固化。
manifest 新增 product_fixtures 键表达「有载体、真跑需九门 CDP 环境」的第三态(区别 cases
可运行 / pending 无载体);产物型判例不进 run.mjs 零依赖 stage。run.mjs 全量回归绿
(node 三段 29 过、python 段无 pytest 合法 SKIP)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-03 14:01:02 -07:00 |
|
zizi
|
96de98b345
|
feat(prompts): 打磨不降档包——创始人定调「质量bar单一:档位切scope不切polish」落地(cheap v1.6.0:删spike能跑即可残留+hitstop出禁项改结算标配+设计块强制落盘+finish前收尾自查+新增⑩难度曲线;tier2 player v1.1.0:fun=5须记忆点/fun≥4才pass,scoreOnly焊死零行为影响;⑨经营决策模式清单落sim-business §1;双审收口:fable+真codex同判top10=筛选+精修尾部/金标最大杠杆,ⓓ落定、新待拍ⓔ手感轨;test_roles 12/12+双parity逐字节+registry 17条+docs-gate全绿)
docs-gate / docs-gate (push) Has been cancelled
|
2026-07-04 03:19:37 +08:00 |
|
zizi
|
0e66fc953e
|
feat(prompts): 策划知识包v2——cheap主prompt v1.5.0(⑨否决项判定句式+计数口径统一,test_roles 12/12逐字节绿)+剧情/经营rubric fixture补全接线(skill表改指针消双写)+tier2四专家v1.1.0加策划判据(内置↔md parity×4,registry 17条对齐)+prompt.mjs冻结为A/B史料;真LLM金标复验挂窗;3待拍(⑨升底座第12条/prompt.mjs退役/品类适配)
|
2026-07-04 02:25:55 +08:00 |
|
zizi
|
e99159e6df
|
docs+contracts: W-ARCH①④⑤落库(C5/C6契约+门判例库+§5.2契约DoD,fable终审过)+重推演/对账双档入仓;视野收敛——在飞板尸位4行收口移除+W-S1行瘦身(归因史沉git 4801e435)
|
2026-07-04 01:31:28 +08:00 |
|
lili
|
db4aadd785
|
merge: W-GENRE 解谜品类四件套(skill puzzle-game-design + _template-puzzle 9/9 + _fewshot-puzzle 正例 + rubric fixture/金标 spec + 范例签名机器门)——品类路由并集 v1.4.0(剧情6/TRPG7/非遗8/解谜9)
docs-gate / docs-gate (push) Has been cancelled
合并裁定(rubric 挂点两套实现收敛,fable 亲审):评分尺主干 = TRPG 机制(单 checks 数组契约+嵌套
richness.genre,19 单测钉住);从分支嫁接 fixtures/genre-rubrics/<genre>.json 加载器为第二来源
(内联 GENRE_CHECKLISTS 优先、fixture 兜底,puzzle.json 即刻生效);分支平铺 genreHits/genreChecks
双数组契约弃用,其接线测试适配主干形状。run_studio 增显式 genre= 参数(None→按模板推断,原行为不变)。
GENRE_BY_TEMPLATE += _template-puzzle。顺手补账:.agents/README 索引四个品类 skill(前三次 merge 欠账)。
验收(本机):金标 7 品类 6/6 + cheap_verify 19/19 + 解谜资产门 6/6(含 node scaffold/check 真 shell-out)
+ 模板 node 13/13 + check_registry 17 条 + node --check/py_compile 全过;test_roles 2 红=主干既有基线
(回落分叉,归一单已排)。
诚实记录:分支验收唯「n=3-5 小批全过门」BLOCKED(4/7;三失败=AI 大面重写引入运行时 bug,九门正确
拦截,根因已回写 skill §9 品类红线;spike 路无续修环是结构缺口,生产路 RepairMiddleware 覆盖)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 23:48:41 -07:00 |
|
lili
|
496f8b6de7
|
merge: W-GENRE 非遗品类四件套(skill heritage-game-design + _template-feiyi 9/9 + _fewshot-feiyi 正例 + rubric fixture/金标 spec;n=5 过 4/5·首败根因=import 断链已加护栏后 3 连过·幻觉 0)——品类路由并集 v1.3.0(剧情6/TRPG7/非遗8)
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 23:16:52 -07:00 |
|
lili
|
8301f650fa
|
Merge branch 'p11-trpg' into dev/2.0.0
docs-gate / docs-gate (push) Has been cancelled
# Conflicts:
# cheap-worker/cheap_roles.py
# cheap-worker/tests/test_golden_specs.py
# contracts/prompts/04-config/cheap-system.md
# contracts/prompts/registry.yaml
# game-runtime/tools/amodel-gen/prompt.mjs
|
2026-07-02 23:09:27 -07:00 |
|
lili
|
89f1c60534
|
feat(cheap): TRPG 品类设计 skill + 双源 prompt 品类条目注册(W-GENRE 品类件①③)
件① .agents/skills/trpg-game-design.md:TRPG(掷骰冒险)「设计什么才好玩」作业手册,照
sim-business-game-design 体例——6 心理引擎(掷骰悬念/抉择掌控/成长兑现/叙事感/连胜/收集)
/ 玩法范式可达子集(掷骰爬塔·事件链·queue 试炼·轻队伍) / 掷骰概率数值锚(首层 ~70% 成功
·成长写进概率) / §9 红线(单局可完非长流程·核心动作单击即结算 driver 可达·掷骰过程可见
非黑箱·亮牌取舍非纯随机) / §10 品类自检 5 条与 cheap_verify.GENRE_CHECKLISTS 同源 /
底线四件映射逐条确认(质量模型 SoT §7 档位要求,TRPG 全可映射、无需申报替代轴)。
件③ 双源 prompt 只加本品类条目(few-shot 过门正例 = _template-trpg 骨架本身,scaffold
clone 后即 agent 起点范例,check 门〔API 静态门+形状门〕对范例签名 PASS 已在件② 验):
· 读手册第 6 条(TRPG/掷骰/冒险/地牢爬塔类 → read trpg-game-design.md)
· 设计步品类范式一句(掷骰可见/亮牌取舍/难度爬坡)
· 步骤 A「读手册(1 + 按品类 5/6)」
三处物理文件同改:prompt.mjs(Node 半角)/ cheap_roles.py 内置回落(全角)/
contracts/prompts/04-config/cheap-system.md 热取正文(version 1.0.0→1.1.0,registry 同步)。
验证:node --check + buildSystemPrompt 出 TRPG 条目、新增行零反引号;cheap_roles 热取/
内置两路都含 TRPG 条目;test_roles 2 failed 与基线逐项一致(基线既有热取-内置分叉红:
⑨条升级只落热取路,pre-existing、非本次回归,回落路同步归编排层)、零新增红。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 22:46:44 -07:00 |
|
lili
|
50d98ce937
|
feat(genre): 解谜品类路由进生成 prompt 三源同改(W-GENRE 注册点·最小条目)
生成 system prompt 加解谜品类条目(先读手册第 6 条:解谜 brief → read puzzle-game-design skill + few-shot 正例参照;自检行补解谜范式指针)。三源同改防脏数据:① contracts/prompts/04-config/cheap-system.md(热取生效源,版本 1.0.0→1.1.0、registry 同步升版、check_registry 17 条对齐)② cheap_roles.py 内置回落 _SYSTEM_PROMPT ③ prompt.mjs Node 双源(半角标点、零反引号,node --check 过)。只加本品类条目、其余不动(另外三品类代理并行,共享注册点冲突交编排层 merge)。
已知基线漂移留痕:cheap-system.md 生效版在基线即领先内置回落版(9 条自检/两层奖励段,test_roles hotload 恒等 2 项基线已红、主仓同状态);本次两侧同加同一条目、未扩大漂移面,恒等回填归 prompt 治理线。
验证:热取生效版与 Node 版 buildSystemPrompt 均含解谜路由;test_roles 维持基线 10/12。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 22:36:33 -07:00 |
|
lili
|
c18e7f5324
|
feat(cheap-worker): 非遗品类件①②④+品类路由——heritage-game-design skill + _template-feiyi 工序节拍骨架(独立过九门) + 品类rubric/金标spec fixtures (W-GENRE)
① .agents/skills/heritage-game-design.md:非遗品类设计手册(照 sim-business 体例:玩法化
范式/工序节奏目标值/双层奖励/文化表述红线/§11 品类 rubric 5 条 逐条 0/1+层标 L2×3/L3×1/
L4×1+正反例,对齐质量模型 SoT §4 计分制;成长轴按 SoT §7 申报为工艺步骤解锁)。
② game-runtime/games/_template-feiyi/:工序节拍品类骨架(轻起点):一条工序链依次就绪→
火候窗口内点击完成→出成品,过窗回炉不判死;L1 plumbing 逐字节复用 _template-shop;
core.js 顶部多样性参数空间(CRAFT_CHAIN/WORKS/节奏常量);_forensicsView targets/score
取证契约(occupied=当前就绪且窗口内可点的工位)。独立过九门:A-I 全绿、H_progress
score 0→302、latch advisory(限时类口径,同经营打样)(verdict=
games/_wg1-gen/p11d-tpl/evidence/verdict.json,本品类金标 spec 驱动);tools.mjs check
机器门 PASS;单测 11/11(core 8 + headless 3,headless 按本品类语义重写、不复刻陈旧拷贝)。
④ fixtures/golden-specs/heritage-craft.play-spec.json(tap-targets occupied 族 + score
递增 + expectLatch;test_golden_specs 登记 heritage-craft,6/6 绿)+
fixtures/genre-rubrics/heritage.rubric.json(机器可读评分尺,锚定值待金标复验回填)。
路由(双源+热取三处同改):cheap_roles.py _SYSTEM_PROMPT 与 prompt.mjs 与
contracts/prompts/04-config/cheap-system.md 各加先读手册第 6 步(非遗品类→heritage
skill + _fewshot-feiyi few-shot 指针,正例随品类小批蒸馏后落库);cheap-system
version 1.0.0→1.1.0 + registry 同步(check_registry 17 条对齐 OK)。
既存问题(非本单造成,未扩大):cheap-system.md 自 8ea97234 起领先内置 _SYSTEM_PROMPT
一段「决策层/9 条自检」→ test_roles 两条 hotload 不变量测试基线即红;本单第 6 步在
热取/内置双路对称加入、漂移行数不变(仍 7 行)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 22:25:05 -07:00 |
|
lili
|
3223117d49
|
feat(cheap): 剧情品类路由三源同改 + story-branch 金标 play-spec(W-GENRE 品类件③④)
品类路由(保持最小,只加本品类条目):手册列表 +6「剧情/互动叙事/文字冒险类读
narrative-game-design + read _template-story/src/game-logic.js 过门范例(few-shot
read-on-demand 供给,与经营件同构)」+ 自检末行加剧情分支(选项单击即推进/latch/
选择有重量)。三源同改:contracts/prompts/04-config/cheap-system.md(热取生效面,
version 1.0.0→1.1.0)+ cheap_roles._SYSTEM_PROMPT(回落面)+ prompt.mjs(Node 双源,
禁反引号守住,node --check 过)。注:热取面与内置面的逐字节漂移是基线 pre-existing
(test_roles 10/12,fail 集未扩大;两面均已含剧情条目、语义一致)。
金标 play-spec:fixtures/golden-specs/story-branch.play-spec.json(tap-targets
occupied 反应族 + score increased + expectLatch,formalize p11a-tpl 独立九门 9/9
已验证的取证契约;无货币轴,不用货币递减门=质量模型 SoT §3 裁定二档位判据不跨档);
test_golden_specs._EXPECTED_GENRES 追加 story-branch,6/6 绿;
contracts/prompts/check_registry.py 17 条全对齐。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 22:22:51 -07:00 |
|
lili
|
b550a297ea
|
docs(contracts): ad-slot callback 描述措辞修正——真验签走 MD5 桩算法非直通放行(防误读,R4-17 终审定稿)
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 20:07:53 -07:00 |
|
lili
|
bc0f486bc2
|
chore(评审清欠): W-REAL R4 代码评审遗留 16+1 条对账 + 存活项修复
逐条读当前代码坐实(不凭文档推断):16 条 = 7 moot / 6 已修 / 1 存活待修 / 2 本次修;
另协调者追加第 17 条(ad-slot 契约漂移)本次修。对账表全文入总账 §5。
wg1 六项随 Node 退役 moot(生产便宜档=cheap-worker,幂等/max_tokens/callback 已在替代解决);
tier2 成本硬闸(item3)经配置控制面阶段一① soft_budget 演进已修(单 POST 内联续修 +
CircuitBreakerMiddleware 会话级 spent_rmb 累加 fail-closed);CSP/vue-i18n/validate_play_scene/
契约真空/服务态主链等 已修;gamedef v1 标注漂移随文件删除 moot。
本次动手修:
- G1 品牌门扫描面有洞(item8): docs-gate.py 加 walk_code 扫业务代码目录(模块根
package.json/index.html + wg1/ 等源码),旧门只扫 .md 会放过玩家/管理台可见字面量;
负向测试证真能拦回流。
- 品牌残留漏网(item8): game-admin 菜单标题退役品牌名 → 绘境运营(扩面后被 G1 逮出)。
- ad-slot 契约漂移(R4-17,跨端契约): ad-slot.schema.json provider enum 加 callback
(additive)+ 对齐描述;与 api-schemas/ad.yaml 及 ad 模块 CallbackAdProvider(真实现
PROVIDER="callback")对齐。DB VARCHAR 注释/DO Javadoc 仍列 csj/gdt/mock=doc-only
(SQL 为 Flyway 版本档不改 checksum),留终审。
- docs-gate.sh 壳注释 六检→七检(失实修正)。
存活待修: item12 tier2 bootstrap X-User-Id 鉴权头口子 + 无重试退避(需真实 deps.py
鉴权契约,部署 smoke 接缝,非本机最小改动可完成)。
验证: docs-gate 七检全绿 + G1 负向测试(植入即拦/删除回绿) + ad-slot JSON 合法 +
docs-gate.py 编译 + CallbackAdProviderTest 印证 getProvider()="callback"。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 19:58:42 -07:00 |
|
lili
|
8ea972340e
|
chore: 工作树散落活账整理提交(多工作线)
- .gitignore:忽略 AgentScope 2.0.2 源码克隆(.claude/skills/agentscope-skill/agentscope/,本机开发直读参考、~17MB、含自带 .git、非本仓产物、可重克隆)
- .claude/skills/agentscope-skill/SKILL.md:agentscope skill 更新
- contracts/prompts/04-config/cheap-system.md:便宜档 system prompt 加「核心操作非无脑」第9条好玩自检(否决项:⑨不命中则①-⑧全中也只是有元素的无趣游戏)+ 决策层与九门自动验收解耦(基础分保盲驱动器过门 / 技巧分给真人爽感)
- game-runtime/evidence/integration/evidence.json:集成 evidence 更新
- game-studio/public/mock-manifests/:U5+U2 真 UI 走查 runbook + walk 脚本 + mock manifest
- wg1/gen-worker/results/gamedef-quickcheck.json:bake-off 结果(同既有 27 tracked 同类)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-01 19:00:42 -07:00 |
|
lili
|
5265f538b8
|
feat(contracts,aigc): prompt registry 一致性 CI 门 + Java TTL 运行时热取(切片一 C2)
check_registry.py 校验 registry.yaml 每条 id.version 与 .md frontmatter 对齐(漂移 exit 1,17 条全绿);PromptResourceLoader 加 @Scheduled 60s TTL 热取 + classpath 永久兜底 + volatile 原子换 Map(mvn compile 过 + 9/9 测试)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-30 01:39:06 -07:00 |
|
lili
|
f4cea4677a
|
feat(tier2): 统一 trace 落库 sink + SAA schema + 生成控制面只读后端(切片一 C1/C3a)
JsonlFileSink 把五字段 trace 落 workdir/trace.jsonl(非阻塞·写失败不阻断生成);studio.py sink 接线;SAA 扩展段 schema(接口对称五核心+内容不对称 ext);管理面 3 只读端点 roles/traces/cost(惰性 import 保住「仅 import service.app 不牵 fastapi」红线)。测试 test_jsonl_sink 3 / test_admin_routes 6 全绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-30 01:39:06 -07:00 |
|
lili
|
e6525aaa3d
|
feat(cheap-worker): 便宜档生成丰富度 + M1 达标门富化重验(切片一 A/B)
接 sim-business 设计指导到生成 agent(cheap_roles+prompt.mjs 双源,先设计后写码+MVP-first);新建纯 LLM 丰富度验证 agent cheap_verify(非阻塞·不进 verdict·零 code-presence 断言,红线落地);bake_off 加 richness 列;cheap_roles 三级回落配置热取(C2a 加载器);cheap_studio trace 接线(C1b)。富游戏 M1 三品类各 5/5=100% 过九门达标。测试 test_roles 12 / test_cheap_verify 11 / test_bake_off 17 / test_cheap_trace 4 全绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-30 01:39:06 -07:00 |
|
lili
|
938219d7a5
|
feat(studio): A11 切片三 M2 判意图入口 Java 侧(studio→aigc→worker)
两段式第一段的后端承接:用户原话进系统、判意图、返建议供前端确认(确认后才调 /modify 执行)。
契约先行:
- studio.yaml 新增 POST /app-api/studio/modify/plan + StudioModifyPlanReqVO/RespVO
studio(应用面):
- AppStudioController.planModify;StudioServiceImpl.planModify =
validateCreator 白名单门(与既有 createDraft/generate/modify 一致)+ 归属校验防越权
+ 委托 aigc classifyModify + 异常/空兜底 unclear
aigc(worker 对接):
- AigcApi.classifyModify + AigcModifyProposalDTO
- WorkerClassifyClient:据 baseVersionId 反查 base 源(同 injectBaseSourceProject seam)
→ NO_PROXY JDK HttpClient POST worker /classify → best-effort 兜底 unclear+needsConfirm
- AigcApiImpl 软注入 ObjectProvider<WorkerClassifyClient>(executor 关闭时缺席→兜底,
绝不因 Bean 缺席启动失败,镜像 WorkerDispatchClient);worker URL 尾段 /generate→/classify
测试:StudioServiceImpl 31/31 + WorkerClassifyClient 10/10 + AigcApiImpl 2/2,
本地 maven 独立复跑 43/43 绿、BUILD SUCCESS,既有 modify/generate/SAA 回归零破坏。
真连 worker 的判意图 e2e 待 M5(mini-desktop)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-29 01:22:24 -07:00 |
|
lili
|
847089b541
|
feat(m3a): 便宜档 Node 退役机制 U1-U4 本机交付(Python §6.1 worker + 后端路由契约/A2A/幂等)
M3a 退役机制 plan 经 Codex+Opus 双评审(needs-rework)→ 按创始人 A(全局 dispatcher
flag 整体翻转、不做 per-request 灰度)重写 → Opus 复审 minor-fixes → 发现项全数修复。
U1 Python §6.1 HTTP worker(cheap-worker/worker_service.py + result_out.py):
202 投递握手 + 有界串行队列(治串行 worker 忙 409 误判)+ 三字段 result-out
(gameConfig 占位 / engineBundle 承重含 __GameBundle / sourceProject best-effort 2.0)
+ HMAC 回调。27 单测 + 真生成 e2e 过九门 + 真网络回调。
U2 跨语言契约 slice test(CheapWorkerResultOutContractTest):反射调真
validateSucceededPayload 过薄校验 + 真 CallbackSignatureVerifier HMAC。
U3 A2A 状态(additive):AigcTaskStatusEnum.toA2aStatus + app VO/RPC DTO a2aStatus
字段(保留数字 status 不破坏调用方)+ Convert/ApiImpl backfill + 契约 aigc.yaml。
U4 创作请求级幂等(行业标准 idempotency):DO idempotencyKey + Flyway V26
(列+唯一索引,NULL 多值=不去重)+ Mapper selectByIdempotency + submitGenerate dedup。
真验证抓到并修 2 个真 bug:① worker 回调走系统代理被 fake-ip 拦 502 → 禁代理 opener;
② result-out 顶层 costRmb 不在 DifyCallbackReqVO 字段内、后端严格拒未知 → 落 trace.cost。
验证:Python 27 测 + Java 21 测全绿(mvn BUILD SUCCESS)。
剩余 U2 真派发 / U4 真 DB / U5 待 mini-desktop 真部署。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-27 21:18:28 -07:00 |
|
lili
|
b31cc37a4f
|
chore(brand): 造梦AI→绘境AI 全活层品牌不变量收口(441 文件)
把活层退役旧品牌「造梦AI」统一改为现行「绘境AI」,brand-invariant 门红线归零。构成:
~412 Java @author 署名 + game-studio/index.html 浏览器标题 + game-runtime/package.json 描述
+ game-admin/.env VITE_APP_TITLE 运营后台标题 + contracts API title/@Schema 用户协议示例/events 描述
+ docs-design mockup 品牌位 + 各模块注释。全是注释/显示/元数据,零逻辑改动。
zaomeng 拼音持久化标识符按 2026-06-24 评审 GR-05 不动(347 处保留)。
白名单(docs/ip 法律备案 / _archive / 带日期留痕)与 AGENTS.md 门定义自身不动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 08:29:11 -07:00 |
|
lili
|
5661e2015f
|
feat(contracts): source-project schema 挖 gamedef V1 子树(保留文件·收敛单 V2)
contracts/agent-loop/source-project.schema.json(A-model keystone 契约,
不可整删):
- 删 $defs/sourceProjectV1(schemaVersion "1.0"、含 gameDefinition 声明式表示)
- 删仅 V1 用的 $defs:entity / component / behavior / scene / rule
- oneOf 由 [V1,V2] 收敛为单 [V2];顶层 + profile/assetSpec description
去 "1.0 gamedef legacy" / "1.0/2.0 共用" 措辞
- 保留:整个 sourceProjectV2(A-model 多文件代码工件)+ 共用 profile/assetSpec
contracts/api-schemas/studio.yaml:StudioModifyTarget 的 path 字段示例
里 /gameDefinition/scenes/2 → /files/src/game.js(端点/字段结构保留,仅
更新失效示例措辞)。
验证:
- source-project.schema.json 仍合法 JSON(python3 -m json.tool 过),无悬空
$ref(删的 5 个 def 无别处引用)、无 V1/gameDefinition 残留
- studio.yaml 仍合法 YAML
- 经查无任何测试/运行期校验器加载本 JSON schema 做校验(存储层把
source_json 当不透明 blob),删 V1 纯文档级、不影响运行期/测试
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 02:27:28 -07:00 |
|
lili
|
d0626e1f1c
|
feat(aigc): 删 gamedef skeleton 注入(三仓一物·成套清)
Plan A·Phase 2 的 Template-First gamedef 骨架注入整套删除:
- contracts/agent-loop/skeletons/{breakout,simon,tictactoe}.json(空目录随之消失)
- SaaSkeletons.java(纯 gamedef 专属:forArchetype 返 gamedef JSON 骨架)
- pom.xml(aigc-server)去 agent-loop/skeletons/*.json 的 classpath include
(templates/*.schema.json 等其它 include 保留)
- SaaPrompts.java 删 appendSkeletonIfAny 定义 + 两处调用(buildGameDefMessages
firstAttempt 分支翻转为 !firstAttempt 消空块;historyFirstUser gamedef
分支去骨架追加)
skeleton 是 gamedef 中间表示的"已过门结构参照",随 gamedef 路线废弃一并清。
验证:mvn -pl aigc-server -am compile = BUILD SUCCESS(Java 改动可编译)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 02:04:02 -07:00 |
|
zizi
|
29e081626c
|
Merge 'feat/tier2-phaser-engine' → dev/2.0.0:tier2 富游戏自治引擎 B门 P1-P3+配置外置 收拢主干
并入 tier2 引擎线 4 提交(P1 验收质量层 advisory / P2 自治深化=工作室Team+工作记忆+洋葱钩子+¥熔断 /
P3 装载与品类=落库seam+品类机制 / 配置外置=genconfig+prompt Registry)。
合并干净(merge-tree 零冲突)——tier2/ 与 A-model 的 game-runtime/ 不重叠。
引擎机制 token 真跑通(mini-desktop 全链 import OK + 金标冒烟 GREEN 九门9/9+富三门3/3);过门率优化(spike ~20%)在 dev 继续。
既无并行开发,收拢到主干;feat 分支保留。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 06:10:54 +00:00 |
|
zizi
|
c9dbd50d80
|
feat(tier2): B门-配置外置——生成器旋钮 + prompt 全部数据驱动(调生成=改数据重跑、不改码)
让"调生成"从改代码变成改数据,直接给"优化 20% 过门率"的迭代提速。默认值=现有硬编码值、行为字节不变,改外部数据才生效。
【生成配置层】genconfig.py + tier2/config/generation.yaml:
把硬编码旋钮(model 选择 / 熔断·预算 rmb_hard_limit=3.0 / 迭代 writer_max_iters=40 / 工作室 Team leader_max_iters=12·per_expert_cap=2 / 品类参数)
抽成中央 YAML、运行时读(env TIER2_GENCONFIG 覆盖 + 缺省回落内置默认);config/middleware/studio/design_team 改读 genconfig。
回归:4 关键旋钮默认取值 == 改造前硬编码值;整 worker 包编译过。
(未externalize:fallback_tree ★阈值 + harness HUMAN_MIN_PATIENCE 门阈值——门阈值次要、gates 现 advisory,留后续。)
【Prompt 外置】prompts.py + contracts/prompts/09-tier2-richgame/(8 .md)+ registry.yaml:
tier2 的 8 条 system prompt(writer/design-leader/4 专家/player/design-system)外置到 Prompt Registry(契约#8),
运行时按 id 读 + 三级回落(env > registry .md > 内置原文)+ best-effort 不中断;{{input.*}} 字符串替换(避开裸 JSON 花括号噎 format)。
roles.py 改读 registry 但对外接口字节不变(studio/design_team call site 零改)。
回归:13/13 产物逐字节 == 改造前(含带参 design_leader/writer 四种入参组合);registry 缺失回落内置原文。Tier0/1 既有 8 条 prompt 零改动(red line)。
全 tier2/+contracts/prompts/ 内、零碰 Tier0/1、compileall + forbidden-import 通过。注:两 workflow 中 U1(genconfig)结构化报告解析失败(基建层),代码已落盘且主会话直接复核(编译+默认值回归过)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 05:32:37 +00:00 |
|
zizi
|
2c4e2e2248
|
feat(tier2): B门-P1 验收质量层(advisory)——人可玩门 + L2 full + L3 升门判据
修「gate 通过≠人能玩」盲区(feie-005 实证:过九门+富三门却棋盘渲染空 + 8s 耐心人玩不了)。
补齐 D 族三层校验,全 advisory(写 verdict 不碰 decision;自带 Goodhart 守护:advisory 全挂也不翻 decision):
- 人可玩门(play-phaser.cdp.cjs):render-reflects-state(状态有 item→该格 canvas 像素须非空)
+ render-sanity(无 [object Object]/undefined/NaN 漏底文本)+ human-timing(订单耐心 ≥ HUMAN_MIN_PATIENCE_MS=12000·★directional)
- L2 设计符合 full(run.py compute_l2_signals):systemsPresent/mergeDag/ordersReachable/economyConsistent 四硬判据,
从落盘源工程确定性算(替桩)
- L3 升门判据(run.py derive_l3_egregious + studio.py):消费 humanPlayability 的恶性渲染失败→suggestFatal 信号
- schema additive:humanPlayability 段 + L2.mismatches + L3.egregiousRenderFailure
离线验证:py_compile / node --check / JSON 合法 / 24 断言单测(含 Goodhart 守护:advisory 全挂 decision 字节不变)/
金标 L2 离线 passed=True + 反例精确报错。
**fatal 提升 + 金标冒烟集成验证待 mini-desktop**:确认金标仍 ACCEPT(新检查不抛、全 pass)+ feie-005 被挂后,
逐条提 fatal(品类限定有 board/orders 档)。校准数据:金标 patience=16-20s / feie-005=8s / 阈值候选 12s。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 03:46:19 +00:00 |
|
zizi
|
a1e9265305
|
Merge 'feat/mac-amodel-foundation' → dev/2.0.0:A-model 地基(Tier1 agentic 优化)
并入 A-model 分支 22 提交:4 编排插件(hud-ui/scene-fsm/session-score/timer-scheduler,
各带 api.d.ts/impl/manifest/test)+ catch-fruit 样板游戏 + amodel-gen 工具链
(gen/m3/play/prompt/tools/publish.mjs)+ boot-game-host/all-plugins/plugin 扩展 +
source-project.schema.json 升 oneOf(1.0 gamedef-legacy / 2.0 A-model 多文件代码工件)。
唯一冲突 = contracts/agent-loop/source-project.schema.json 顶层 description(两侧都改):
取 A-model 的 oneOf 结构升级为基底,再补回 dev 侧的 tier2-边界 note(本 schema 限 Tier0/1;
tier2 真 Phaser 引擎另立独立 schema、不复用本路)——两侧意图互补不矛盾(HANDOFF 已预判)。
JSON 校验通过,oneOf 2 支 + 两侧意图均在。
dev/2.0.0 侧 ~20 提交(tier2 计划/细图/接口协议/agentscope 2.0.2 订正)全在 docs/tier2/contracts,
与 A-model 的 game-runtime 改动零代码重叠。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 03:33:30 +00:00 |
|
zizi
|
d6e977a5ac
|
feat(tier2): 图说对账补全核心引擎待补——n≥30 runbook基建+观测成本接线+L3软检(全加性/observe-only)
按 tier2 图说目标做缺口分析(8族逐元素比对),补齐 0号 spike 为过门收窄掉、
但图说明确要求的「核心引擎待补」项。全部加性/observe-only:金标冒烟仍 ACCEPT
(九门9/9+富游戏三门3/3,门一道没放松),真依赖下全链 import+自测+一款真 M3 跑验证通过。
G族(n≥30 runbook 执行基建):
- worker/config.py: build_model_openai 便宜档 client(deepseek 经 new-api OpenAI 兼容路,与 M3 Anthropic 路并存)
- worker/run_record.py: G4 采集字段表 → 可序列化 RunRecord(含退路树分流键 fail_system)
- worker/fallback_tree.py: 退路树五出口判定器(Q1–Q4 数字触发线,★阈值常量区待校准)
- batch_run.py / aggregate.py: model×variant×n 批跑(断点续跑/失败隔离)+ 矩阵聚合三图喂判定器
H族(观测/成本接线,把孤儿件缝进 run 主链):
- observability/newapi_pricing.py: 活读 new-api /api/pricing 倍率(取不到回落显式参数+告警)
- middleware.py: Tier2TraceMiddleware 挂 writer agent 最外层洋葱,ReAct 全事件旁路 ingest
- agent_loop/studio.py 收口: records→cost_for_run 折¥;真跑实测 cost_rmb=1.29(newapi-live)、trace 647事件 dropped=0
- contracts/trace/: additive trace 事件契约位(忠实 trace.py 落 sink 形状)
D族(L3 视觉软检接线,observe-only):
- agent_loop/studio.py: 收口调一次 M3 多模态(真截图+真玩取证→fun映射0-100),只写 verdict.L3,绝不参与 decision
- 真跑实测 L3 score=25 准确指出空心表现层;decision=fix 仍由 L1硬门/熔断裁、与 L3 无关(防 Goodhart 成立)
留后(不投机抢建):工作室 Agent Team/第二装载落库/控制面/Agent Service 等按 plan 决策②⑤ gate 到 B门后;
n≥30 等统计相是「跑」非「写」(批跑底座已就位);A-model 4插件复用待合并对账;4处图说 spec-drift 待 doc 线回写。
详见 tier2/HANDOFF.md「图说对账补全」节。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-24 02:11:59 +00:00 |
|
zizi
|
856a583325
|
feat(tier2): Phaser 自治生成引擎全栈首落(workflow 9 agent 建·6c6g 静态全过)
override spike-first(创始人 06-23 裁),全栈铺 Phaser tier2 引擎。recon→契约→6模块并行→集成 workflow 产出 ~60 文件,全 6c6g 静态校验过、红线零碰 Tier0/1 产线:
- 契约(6):tier2-source-project.schema / tier2-verdict.schema(fork·round放开·三层校验+富游戏门)/ toolkit 签名 / 探针钩子 / boot-phaser-host.d.ts / mini-肥鹅 fixture 规格
- M1 Phaser scaffold+装载 host+引擎能力面(19;logic-smoke 13/13:五耦合点真接线+赢输双路径+latch不回弹)
- M2 CDP 探针 Phaser 重写+business-sim driver+九门+富游戏三门(5;verdict 过 schema)
- M3 Python 单写 ReAct agent loop+9 工具 toolkit+M3 Anthropic接法+四熔断(9;mini-desktop 真 2.0.2 venv 验:import/9工具/中间件注册 OK)
- M4 datatable schema+金标+资产占位(4)/ M5 prompt+Phaser skill+rag(13)/ M6 成本 RecordingChatModel+trace adapter(3)
- 集成:run_engine.py 入口 + 接线断点已修 + RUN-ON-MINI-DESKTOP.md
待 mini-desktop 真跑(esbuild build + CDP 九门 + M3 生成 = 本质即 0号 spike)。AgentScope 2.0.2 API 逐条对 /root/oss/agentscope 源码核验。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-23 20:13:44 +00:00 |
|
lili
|
3b425c4294
|
feat(amodel-gen): Phase 1 契约 — source-project.schema.json 升 oneOf(1.0 gamedef / 2.0 A-model)
execution spec v3 Phase 1(contract-first,HJ-AGI-003):
- 顶层判别式 schemaVersion:1.0=gamedef legacy 声明式(冻结只读,退役后不再产)/ 2.0=A-model 多文件代码工件 {files,entry,globalName:__GameBundle,plugins}。
- profile / assetSpec 提到 $defs 两分支共用;1.0 分支约束等价旧顶层(无 1.0 读者破坏)。
- ajv 8/8 验证:1.0/2.0 valid + 6 反例拒(缺 required / 未知版本 / 错 globalName / additionalProperties 双向 / gameDefinition 泄漏)。
- agent-loop 活契约(verdict/game-design/skeletons)未动。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-22 00:26:24 -07:00 |
|
zizi
|
5cadf5042c
|
docs: ③ 五决策落地(1B trace 改'待立新类' · 2A 源项目契约另立独立 schema/防撞在产线 · 3A 前端 tier2 承载归属桩 · 4B 护城河对外暂不改+内部备注 · 5B 渠道竞标加 tier2 祛魅交叉引用)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-21 17:13:29 +00:00 |
|
lili
|
ad22be9b3a
|
feat(saa): Phase 2 Template-First gamedef 骨架机制(flag 旁挂默认关;A/B 负面=不迁移到便宜 thinking-off)
机制(OpenGame +10.1 杠杆试落):
- SaaSkeletons 加载器:archetype→3 金标准过门纯净骨架(gd-breakout/tictactoe/simon,verdict.pass=true+rt纯净+过 Phase3 坑门),按 (tick/input) profile 映射;经济类(merge/idle/tycoon)无近似骨架不登记=走无骨架,绝不喂低质骨架。
- 注入:SaaPrompts buildGameDefMessages(openai 首生成)/historyFirstUser(anthropic 首轮) 追加骨架段(结构参照、非照抄,题面不符以题面为准);救场轮不注。
- pom 拷 contracts/agent-loop/skeletons/*.json 进 classpath。flag -Dsaa.gen.skeletonFirst=1 开,默认关=生成字节零变、零回归。
A/B 实测(thinking-off + skeleton conc=12 vs A 基线):
- 7/12(58.3%) ≤ A 8/12(67%),失败仍 E_live 哑火(#4,5,9,11,12) → 骨架没把基线拉向 91.7%。
- 结论:+10.1 骨架杠杆【不迁移到便宜模型+thinking-off】——哑火是推理缺口(thinking 补)、非结构样例缺口(骨架补不了)。thinking-ON(anthropic 91.7%)仍是唯一真杠杆。
- 处置(创始人定 A):保留机制 flag 关、可逆——换更强模型/配合 thinking 时或有用;默认不启用。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-20 12:53:02 -07:00 |
|
lili
|
c7a58b8c45
|
feat(project,telemetry): P-OPN-08 创作者公开聚合API@PermitAll(仅status==4·聚合统计无PII)
新增创作者公开主页两只读端点(契约+实现+单测,全 additive):
1) GET /app-api/project/public/creator/{creatorId} @PermitAll
→ PageResult<PublicCreatorProjectRespVO>{id,title,summary,coverUrl,ageRating,
playCount,likeCount,publishTime,creatorId,creatorName};仅 status==4 已发布作品。
2) GET /app-api/telemetry/public/creator/{creatorId}/summary @PermitAll
→ {creatorId,publishedCount,totalPlayCount,totalLikeCount};对该创作者 status==4 作品聚合。
跨创作者公开读(#1 正确性风险)处理:本仓 DataPermission 仅注册 system DeptDataPermissionRule
(仅作用 AdminUserDO/DeptDO 表),game_project 无任何 DataPermission 规则 → MP 拦截器不追加过滤;
project 的"创作者只见自己数据"一向由 Service/Mapper 手动 eq(creatorUserId) 强制而非拦截器。
故公开读只需按"目标 creatorId(路径参数,非登录人)"+status==4 等值即天然跨创作者,无需 @DataPermission(enable=false)。
口径:publishTime 取 update_time 近似(项目表无 publish_time 列,同 count-published 口径);
公开统计经 project-api getCreatorPublishedSummary 取(发布态权威+play/like 计数列均在 project);
creatorName 经既有 AdminUserApi.getUser().nickname 尽力解析(查不到为 null,无 PII)。
单测(Mockito,test goal GREEN):
- ProjectMapperTest(新):SQL 形态守卫——公开查询恒 status==PUBLISHED(4)+按 creator_user_id 过滤,不放行下架(5)/封禁(6);
- ProjectServiceImplTest(+5):跨创作者读(走 selectPublishedPageByCreator 非 selectMyPage)/creatorName 兜底/空/聚合/零;
- GameStatServiceImplTest(+2):跨创作者经 project-api 聚合(不走"我的作品"归属链)/null DTO 兜零。
mvn -pl game-module-project/...-server,game-module-telemetry/...-server -am test → project 32/32 + telemetry 46/46 绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 13:43:08 -07:00 |
|
lili
|
3e04456097
|
refactor(studio): U6 上传归属对齐创始人裁定——撤 studio /asset/upload(字节走共享 infra),studio 改 ref 登记;浏览/选用/assetContext + 评审整改不变
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 12:12:04 -07:00 |
|
lili
|
046c061d60
|
feat(aigc): U7 R-TPL 品类玩法模板注册(经营模拟/剧情互动/解谜闯关/TRPG/非遗科普·constants-only·克隆generic代码生成契约)
注册 5 品类玩法模板(business-sim/narrative/puzzle/trpg/heritage),替代单一 generic 状态:
- 3 处代码同源点:AigcTemplateConstants.SUPPORTED_TEMPLATE_IDS 加 5 ID(保留 generic);
PromptResourceLoader.TEMPLATE_RESOURCES 加 5 行(pom 通配自动复制资源,零 pom 改动);
AigcTaskServiceImpl.getTemplateList() 回填 5 TemplateRespVO(中文品类名/说明/示例 Prompt/封面占位)。
- 10 契约文件:每品类 1 prompt(克隆 generic-coder.md frontmatter 形态 + 品类引导正文,范式=agent 写
GameHostFactory 源码而非填 GameConfig)+ 1 schema(克隆 generic.schema.json 的 bundle 校验结构,
校验 bundleText/hasGlobalName/bundleRawBytes,draft 2020-12,非旧 config-fill)。
- GameConfigSchemaValidator 无需改(经 getAllTemplateSchemaTexts 自动消费 5 新 schema)。
- 不触 SAA/executor/dispatcher/graph 代码(plan001 领域),仅动模板注册面。
- 测试:PromptResourceLoaderTest 9 / GameConfigSchemaValidatorTest 11 / AigcTaskServiceImplTest 11 全绿;
启动自检 PromptResourceLoader ready + 校验器编译就绪含 5 新模板。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 11:45:39 -07:00 |
|
lili
|
bdf452d704
|
merge(tier1): U3 R-SOC 社区社交(评论/关注/排行ZSET/弹幕WS + 评审整改)
|
2026-06-18 11:31:32 -07:00 |
|
lili
|
03d59b1672
|
merge(tier1): U5 R-ADMIN admin运营(限曝光/导出/经营看板 + 跨模块只读-api)
|
2026-06-18 11:31:32 -07:00 |
|
lili
|
f85ae6c434
|
feat(feed): U5 限曝光降权 + 精选池导出
限曝光(boost 的反向运营操作):
- Flyway V25.0.0 加 game_feed_rank.exposure_limit DECIMAL(10,4) NOT NULL DEFAULT 0(additive,
镜像 contracts/db-schemas);FeedRankDO 加 exposureLimit 字段。
- 排序口径升级为 sort_score = quality + boost - exposure_limit,统一收敛在 deriveSortScore()——
setFeatured/setExposureLimit/发布基线重发布/算分回灌四写入点共用,保证 boost/exposure_limit 两个
运营维度在任意写入路径都被保留(限曝光穿越 telemetry 算分回灌存活,已单测验证)。
- 两层效果:① 普通降权(0<x<9999)持久化进 sort_score 使游戏下沉(cursor 分页仍正确);
② 硬限曝光哨兵(>=9999)在 buildStream 出流处剔除(复用既有二次过滤续取机制,不动 status、可随时改回)。
- 新端点 POST /admin-api/feed/exposure-limit(复用 feed:featured:update 权限 + @ApiAccessLog UPDATE 审计),
门禁=仅已发布且已有排序行(不新建孤儿降权行);错误码段 1-103-005-***。
导出:GET /admin-api/feed/featured/export-excel(feed:featured:export + EXPORT 审计)经 ExcelUtils
导出精选/限曝光排序覆盖层运营字段;空数据写表头。feed-server 加 starter-excel 依赖。
测试:FeedServiceImplTest 25→35(限曝光门禁/降权扣减/硬限曝光出流剔除/普通降权不剔/回灌保留限曝光/导出列表空与非空)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 11:06:35 -07:00 |
|
lili
|
3f35acb4d3
|
feat(community): U3 R-SOC 评论/关注/排行ZSET/弹幕WS
社区社交后端四子能力(game-module-community),克隆通知底座/feed互动幂等范式:
- 评论 Comments:CRUD + 举报转 compliance。删除按 userId 归属强校验(防越权删他人评论),
举报落本端举报态幂等 + 事务提交后 afterCommit 接缝(compliance 无受理 -api,留桩 OPEN ITEM)。
- 关注 Follow:active 软开关幂等切换(不删行,范本=feed FeedInteractLog),不能关注自己,
并发双插由 DB 唯一键 DuplicateKeyException CAS 收敛;粉丝数/关注数 countActive。
- 排行 Ranking:Redis ZSET + ZSET↔DB 一致性窗口。DB=真相、ZSET=缓存索引:
写穿透双写(DB 原子累加 + ZSET incrementScore)、ZSET 缺失/启动从 DB 回填重建、最终一致;
维度白名单 RankDimensionEnum(game_hot/creator_hot)。
- 弹幕 Danmaku:WebSocket 单机最小实(LocalWebSocketMessageSender),自维护房间 gameId→sessionId
注册表做房间维度广播(框架仅按用户维度推送),断连懒清理;多实例需切 sender-type=redis(MQ future-state 未部署)。
契约/库表:
- Flyway V23.0.0(U3 独占 V23.x):game_community_comment/follow/rank/danmaku 四表 +
幂等唯一键(follow uk(user_id,target_user_id,deleted,tenant_id)、rank uk(dimension,target_id,...)),
同步 huijing-server/db/migration + contracts/db-schemas。
- community.yaml additive 加 8 个 app 端点 + 5 个 schema(既有冻结)。
- 错误码段 1-107-004 评论 / 005 关注 / 006 排行 / 007 弹幕。
验证:mvn -pl game-module-community/game-module-community-server -am test -o 全绿
(57 tests:新增 U3 35 + 既有 22;CommentService 9 / FollowService 8 / RankService 8 / Danmaku 10)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 11:01:24 -07:00 |
|
lili
|
09ced58930
|
feat(studio): U6 R-MAT 素材实体/浏览/选用/上传(compose infra FileApi)
R-MAT 创作者私有素材库(六类 sprite/character/effect/scene/ui/music,冻结同枚举):
- StudioMaterialDO + game_material 表(V24.0.0,归属 creator_user_id,idx_owner_cat)
- 3 端点 /app-api/studio/asset/{upload,browse,select}(studio 领域端点,需登录用户)
- upload:六类校验 + 大小≤10MB + 每类目 MIME 白名单 → composes huijing-module-infra
FileApi.createFile 存字节 → provider 包装 ref → 落库 → 返回冻结 StudioAssetContextItem
- browse:owner-isolated 分页(强制 eq creator_user_id),可选 category 过滤
- select-into-draft:把本人素材 ref 写入草稿会话 assetContext(JsonUtils 序列化,按 ref 去重合并)
- MaterialProvider SPI + 工厂 + mmx-cli mock(graceful degrade,仿 AdProviderFactory)
- 错误码段 1-112-005-***(七个);studio.yaml 加 3 端点 + schemas(additive)
验证:mvn -pl game-module-studio-server,-api -am test 全绿
(StudioMaterialServiceImplTest 17/17,studio 模块 61/61)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 10:54:56 -07:00 |
|
zizi
|
e378f3c662
|
contract(source-project): kind 枚举补 clickable(6c6g 评审待办#1·additive)
clickable = U1 引入的声明式点击基元;原靠 additionalProperties:true 宽松放行(功能可用),此补正把它登记为一等 kind。additionalProperties 维持不变(收紧是独立设计决策,本次只做 additive)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 16:47:16 +00:00 |
|