feat(tier2): B门重机器并行落地——控制面有界resume + Studio观测 + MCP工具面 + 基线client/Prompt门
B 门(AgentScope 重机器)四单元并行建设,文件不相交,均过 6c6g 静态校验(py_compile +
惰性 import 安全 + 机器门)。真跑收敛/Studio/门验证属 mini-desktop,作为下一步 e2e。
B1 控制面有界 resume(service/control_plane.py · 皇冠):
补上 service/app.py 与 bootstrap.py 文件头标的 followup——CLI run_studio:404-458 的外层有界
resume(M3 看一次 verdict 就停 → 带反馈踹回去续修)此前在服务态(create_app :8200)缺失。
drive_generation() 复用 bootstrap REST 原语 + run 纯代码门:每回合消费 SSE(REPLY_END/
EXCEED_MAX_ITERS)等 chat run 结束 → 独立跑 run.run_gates 机器判门 → 门绿据 on-disk 源工程
重建七要素 + persist 落库 / 否则 verdict_feedback 续修,直到门绿/预算耗尽/熔断。不靠内存
session 判收敛(服务态九工具每回合工厂新建 Tier2Session),贴合「门机器判、控制面绝不自评翻绿」。
C1 AgentScope Studio 观测(observability/studio_sink.py + trace.py):
把统一 trace 事件按 OTLP(经核实 Studio = OpenTelemetry,非私有 REST;HTTP 3000 /v1/traces)
映射成 span 推 Studio,traceId→gen_ai.conversation.id 聚成一条 run。私有 TracerProvider 避免
抢 otel 全局单例。默认关闭(无 TIER2_STUDIO_URL 即 no-op)、observe-only、绝不改 decision。
C2 MCP 工具面(worker/mcp_tools.py + toolkit.py 加性挂点):
图说 E 族——build_toolkit 末尾加配置门控挂点,默认关闭时 build_mcp_clients() 返回 []、
Toolkit(tools, mcps=[]) 与原构造等价,九工具(spike 已验证主链)行为零改。Toolkit 接受 mcps=
形参已对源码核实(tool/_toolkit.py:93)。
C3 基线 client + Prompt 一致性机器门(config.py + genconfig.py + generation.yaml + ci/):
build_baseline_model(Opus 经 new-api Anthropic 原生)供 A 门「证路」,build_model M3 路零回归;
check-prompt-registry.sh 文件级三向一致 + import 级命中 registry,6c6g 实跑 exit 0。
修复 design_team 配置外置兑现(design_team.py):
leader_max_iters/per_expert_cap/timeout_s 改 None→genconfig.get('design_team',...),此前硬编码
默认 240 导致改 generation.yaml 的 timeout 不生效;已验 genconfig 真读到 YAML 值。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>