From 5b631e8d5d5ec33d7e45770b0af46ac0690e6701 Mon Sep 17 00:00:00 2001 From: lili Date: Sun, 5 Jul 2026 21:58:23 -0700 Subject: [PATCH] =?UTF-8?q?chore(tier2):=20archetype=20=E5=81=87=E6=97=8B?= =?UTF-8?q?=E9=92=AE=E6=B8=85=E8=B4=A6=E2=80=94=E2=80=94=E5=88=A0=20gencon?= =?UTF-8?q?fig=20=E6=AD=BB=E5=A3=B0=E6=98=8E=E3=80=8Carchetype=E3=80=8D?= =?UTF-8?q?=E5=8C=BA(=E7=94=9F=E6=88=90=E8=B7=AF=E4=BB=8E=E4=B8=8D?= =?UTF-8?q?=E8=AF=BB=E3=80=81=E7=9C=9F=E5=80=BC=E7=A1=AC=E7=BC=96=E7=A0=81?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- tier2/gen-worker/worker/archetypes.py | 3 +++ tier2/gen-worker/worker/genconfig.py | 16 +++++----------- tier2/gen-worker/worker/run.py | 2 ++ 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/tier2/gen-worker/worker/archetypes.py b/tier2/gen-worker/worker/archetypes.py index f345303e..741efc0a 100644 --- a/tier2/gen-worker/worker/archetypes.py +++ b/tier2/gen-worker/worker/archetypes.py @@ -74,6 +74,9 @@ class Archetype: # ────────────────────────────────────────────────────────────────────────── # business-sim 品类 · 真玩门规格工厂(gate_spec_factory) # = 原 run_engine.default_business_sim_spec 整体搬来,逐字节同构(回归安全)。 +# driver 参数(steps/stepMs/winThreshold/bankruptSteps/streakLose)硬编码在此 = 单一权威源之一 +# (另一处 run.DEFAULT_BUSINESS_SIM_PLAY_SPEC 同值)。曾有个 genconfig "archetype" 区声明这五键、但生成路 +# 从不读它 = 死旋钮,2026-07-05 清账已删;若放量期要热调,按 D11「读 genconfig、硬编码作回落」范式补接线。 # richGame.{mergeChains,orders} 故意不写死:run_gates 会从 agent 真填的 data/datatable.gold.json 派生 # (见 worker/run.py _derive_richgame_from_datatable),故三联动门静态校验查的是 agent 的实际表。 # ────────────────────────────────────────────────────────────────────────── diff --git a/tier2/gen-worker/worker/genconfig.py b/tier2/gen-worker/worker/genconfig.py index d9f0974d..9649aebd 100644 --- a/tier2/gen-worker/worker/genconfig.py +++ b/tier2/gen-worker/worker/genconfig.py @@ -71,7 +71,6 @@ _ENV_PREFIX = "TIER2_GEN__" # iteration ← worker/agent_loop/studio.py(单写轮数 / 外层 resume 上限) # design_team ← worker/agent_loop/design_team.py(leader 轮数 / 单专家上限 / 团队超时) # gates ← worker/fallback_tree.py(退路树四阈值)+ harness 门阈值(人可玩 / 渲染反映) -# archetype ← worker/archetypes.py(business-sim driver 参数) # ════════════════════════════════════════════════════════════════════════════ _BUILTIN_DEFAULTS: dict[str, dict[str, Any]] = { # ── model:模型客户端构建旋钮(worker/config.py)── @@ -137,16 +136,11 @@ _BUILTIN_DEFAULTS: dict[str, dict[str, Any]] = { "color_dist_min": 18, # harness render-reflects-state:色差判反映状态阈值(COLOR_DIST_MIN) "var_delta_min": 120, # harness render-reflects-state:方差增量判反映状态阈值(VAR_DELTA_MIN) }, - # ── archetype:business-sim 品类 driver 参数(worker/archetypes.py 的 _business_sim_gate_spec)── - # 注:这些是 driver 真玩规格里的可调数(步数 / 步间隔 / 胜负阈值),改它们影响 driver 怎么玩、 - # 富游戏门怎么判;品类的【结构】(三系统 / 数据表 schema)不在配置层,仍由 fixture / 注册表定。 - "archetype": { - "business_sim_driver_steps": 80, # driver 总步数 - "business_sim_driver_step_ms": 280, # driver 步间隔(ms) - "business_sim_win_threshold": 100, # 盈利路金币胜利阈值(与 economy/latch 门对齐) - "business_sim_bankrupt_steps": 60, # 破产路观察步数 - "business_sim_streak_lose": 3, # 连续流失判负次数 - }, + # 注:business-sim driver 参数(steps/stepMs/winThreshold/bankruptSteps/streakLose)不在本配置层—— + # 曾登记过一个 "archetype" 区声明这五个键,但生成路(archetypes._business_sim_gate_spec / + # run.DEFAULT_BUSINESS_SIM_PLAY_SPEC)从不读它、真值一直硬编码在那两处 = 死旋钮(改配置无效、误导)。 + # 2026-07-05 清账删除该假声明,两处硬编码为单一权威源。若放量期确需热调这几个 driver 数,再按 D11 的 + # 「读 genconfig、硬编码值作回落」范式补接线(那时这里重新加区、生成路加 genconfig.get 读取)。 } diff --git a/tier2/gen-worker/worker/run.py b/tier2/gen-worker/worker/run.py index 10b28569..0f874026 100644 --- a/tier2/gen-worker/worker/run.py +++ b/tier2/gen-worker/worker/run.py @@ -794,6 +794,8 @@ def derive_l3_egregious(verdict: dict | None) -> dict: # agent 看到 verdict=fix 却"修不动一个不存在的问题"→ 反复 thrash 到 budget_exhausted(006/007 假性不收敛根因)。 # 补默认:run_gates 在 play_spec 缺 driver 时 setdefault 本规格(显式 play_spec 仍优先),让 agent 自己的 # run_gates 工具 + 控制面评门都拿到 driver/期望调用/断言 → 真玩 → 门真评。richGame(合成链)仍由下方据数据表自派生。 +# driver 参数硬编码 = 单一权威源之一(与 archetypes._business_sim_gate_spec 同值);曾有 genconfig "archetype" +# 区假声明这五键但生成路从不读、2026-07-05 清账已删(详见 archetypes.py 该工厂注);放量要热调再按 D11 范式接线。 DEFAULT_BUSINESS_SIM_PLAY_SPEC = { "driver": {"type": "business-sim", "steps": 80, "stepMs": 280, "winThreshold": 100, "bankruptSteps": 60, "streakLose": 3},