Repository navigation
Releases: suncityldp/zx-bench
Release list
ZxBench v0.2.12 — verified bug fixes
ZxBench v0.2.12
本版修复部署、请求取消和评分判定中的 bug,沿用 v0.2.11 的部署步骤、按需镜像准备和逐镜像下载地址。题库仍为 1.60.0,803 道来源题、920 个执行实例。
- 模型密钥在实际读写时读取已加载的环境配置,修复 ESM 导入早于
.env加载导致配置密钥失效的问题。保留旧版默认密钥密文和旧版明文的读取能力;新的保存操作使用当前配置密钥,密文格式不变。升级时继续保留原.env。 - 模型请求在调用前检查取消状态;完成后清理取消监听。流读取遵守硬时限,流取消回调最多等待 1 秒;空闲超时停止本次调用,避免重复发起已经停滞的生成请求。
- 没有代码围栏的 PHP 函数按真实花括号边界提取,保留空行、字符串、注释和 heredoc,排除函数结束后的解释文字。
- 语义复核识别英文句号,避免把相邻句的否定或条件附加到完整引文;小数及 URL 中的点仍保留在上下文中。已保存的原生工具轨迹以完成的最终正文为准,工具轮、被中断轮和协议错误不能作为最终答复。
- 工具世界提示允许按题意直接答复、澄清或拒绝,不再强制不必要的工具操作。
- 修复已审核冻结修订的重复读取次数及父目录状态判定。兼容范围限定在 8 个已核验的题目哈希;额外读取必须由成功事件、返回事实和状态共同证明,父目录只能从成功的
mkdir(parents=True)推导。被修改的题目、禁止操作、改变的受保护事实、失败操作和未恢复错误仍失败。原始执行轨迹保持不变。 - 题目生成器同样记录实际创建的父目录、允许已声明的只读查询重复执行。生成修复需显式启用,冻结定义仍按原契约保留,不会修改当前题库。
升级不会修改数据库中的旧成绩、自动重评、补测或调用模型/Judge。运行请求的 token 与思考预算沿用原有配置。
验证:完整工作区构建通过;2,103 项 Vitest 测试通过、218 项环境测试跳过;21 项题面/工具契约检查及 33 项部署测试通过。独立数据库上的真实服务验证了 .env 密钥加密与脱敏读取、0.2.12 版本、前端资源和全部 920 个题库定义。验证没有发起真实模型/Judge 请求。
部署及升级按 README 执行;本版不需要重新下载已就绪的 Docker 镜像,也不需要整体镜像包。
ZxBench v0.2.11 — selective images and agent deployment
ZxBench v0.2.11 — selective runtime preparation and reproducible deployment
New installations can prepare only the images their selected questions need. Public Python, Node and GCC images are pulled by verified frozen digest; five custom runtimes are distributed as separate release assets with SHA-256, byte counts, platform and image identities in docker/execution-images/runtime.json. Existing matching images and verified archive caches are reused. The former complete image bundle is not required.
Deployment changes
pnpm runtime:prepare --checkproduces a read-only plan.pnpm runtime:prepareapplies it without interactive prompts, with optional repeated--dimension,--scenarioor--imagefilters and an offline--cache-dir.- A pulled public image is verified before its required local tag is restored. Archives must match the release checksum and size before loading; loaded images must match the expected identity and platform afterward.
- Missing or drifted tags are restored directly from an already-cached frozen ID before any registry or archive download is considered.
- Archive downloads respect HTTP_PROXY/HTTPS_PROXY/NO_PROXY on supported Node versions, including Node 22, without changing global proxy settings or disabling TLS checks.
- Classic/config-ID and containerd/OCI-target-ID differences are diagnosed before unnecessary downloads. The installer does not change Docker's global store, accept another frozen ID or rewrite question hashes.
- Explicit task image contracts are checked before candidate generation. A missing or mismatched image pauses an evaluation using the existing
DOCKER_NOT_READYrecovery path and does not consume a candidate request. Docker sessions launch using the inspected immutable ID, preventing a concurrent tag change from altering their execution image. pnpm setup:envcreates a local.envwith a random key, preserves existing configuration and never prints the key. The server now resolves PORT/HOST after loading.envand health/version APIs report the actual application version.pnpm deploy:checkverifies API versions, frontend HTML/JavaScript assets and the synchronized released bank using only read requests.- Chinese and English READMEs document a complete ordered deployment, background service startup, bank sync, selective runtime setup, success criteria and upgrade recovery.
Assets and scope
The custom archives are cli-verifier.tar, python-node.tar, workflow.tar, bash.tar and java.tar. Python/Node/GCC use public registry digests instead of duplicate release uploads. The manifest is versioned independently of mutable tags; release validation and SHA256SUMS identify the uploaded bytes.
Preparation covers explicit question-bank image contracts. It does not claim every language runtime embedded in a grader, mount or network dependency has been exercised. All current frozen execution images were verified on linux/amd64 with the containerd image store. A successful docker load alone is not sufficient: actual IDs must still match, particularly across Docker image-store modes.
The application bank remains 803 source questions and 920 execution instances. No question definitions, frozen IDs, old audit snapshots, existing scores or model generation budgets are changed by this release. Saved environment-error results are not automatically rescored. Deployment and release verification use no real candidate-model or Judge requests.
Validation
The release validation asset records build/regression/deployment test counts, source fingerprint verification, and a fresh database deployment following the documented commands. Optional container tests skipped by the standard suite remain explicitly reported. The fresh deployment validates .env port handling, 920 synchronized definitions, the served frontend and eight ready explicit image contracts.
ZxBench v0.2.10 — question contracts and grading evidence
本版将 2026-10-07 的数学、工具调用、编程、安全权限与语义复核更新统一合入 main。
主要修复
- 修正数学标签和分项评分,分开核验数学内容与提交协议;复利精确值仍为 108.48。
- 修正工具交付、归档路径、扩容增量和工作流检查点,公开必需参数。
- 保留完整编程提交与 imports,修复 TypeScript 判分及 C#/SQLite/Bash 脚手架;保留有意设置的无需修复陷阱题。
- 修正安全权限题的等价拒绝和事实匹配,真实越权与安全红线仍按失败处理。
- 为新运行冻结语义复核 v2,加入精确金额、日期、标识符与引用立场保护,保留跳过、阻断和冲突的审计记录。
- 实时页面显示实际判分结果,重启后恢复冻结进度;CI 校验当前源码指纹。
验证
- 全量构建通过;2063 项 Vitest 回归、19 项契约检查、14 项部署检查通过。
- 218 项需额外容器或环境条件的测试跳过;GitHub CI 对发布提交完成独立验证。
- 随附 release-validation-v0.2.10.json 和 SHA256SUMS,可核对发布提交、验证凭证与资产摘要。
升级与历史成绩
按 README 更新代码、安装冻结依赖、生成 Prisma 客户端并构建,重启后端后在另一终端执行 pnpm bank:sync、pnpm bank:check、pnpm runtime:check。
默认题包仍为 803 道来源题、920 个执行实例。代码升级和题库同步不会自动覆盖历史成绩;历史重评须保留原始答卷、冻结题面和修订凭证。新题面或脚手架不得直接替换历史任务,空白答案也不能靠重评补出。语义复核 v2 只用于新冻结运行,旧运行保留原政策。
详见 完整发布说明。
English: Consolidates the October 7 question-contract and grading repairs, full programming submission preservation, safety evidence fixes, bounded semantic review v2 for new runs, graded live-result status and current-source CI validation. Historical answers and frozen policies remain auditable; upgrading does not automatically rescore saved results.
ZxBench v0.2.9 — deployment bank synchronization and diagnostics
新部署或升级后,若创建评测提示 Released benchmark database incomplete,本版会在启动日志和报错中直接提示题库同步步骤。默认导入只新增或更新发行题目,保留其他定义与历史运行;导入后核对完整题号、有效状态和冻结哈希。
升级后操作
先更新代码、安装依赖并重新构建,然后重启后端:
git pull
pnpm install --frozen-lockfile
pnpm --filter server prisma:generate
pnpm build保持重新启动的后端运行,在另一个终端进入项目根目录执行:
pnpm bank:sync
pnpm bank:check
pnpm runtime:check确认题库导入失败、缺失或非有效、哈希不符均为 0,再刷新页面创建评测。端口不同可用 BASE_URL 指向实际后端。首次部署请按新版 README 配置 .env,并在启动前执行 pnpm db:push 初始化 SQLite。
Docker 诊断只检查引擎与题库显式镜像,不自动拉取,也不覆盖评分器内部所有语言镜像。工作流 PyYAML 镜像仍可通过 pnpm runtime:workflow 准备。
验证
- 全量构建与服务器重建通过。
- 1,975 项 Vitest 回归、14 项世界契约测试、14 项部署回归通过;217 项需额外条件的测试跳过。
- 独立临时 SQLite 和实际后端验证:首次启动缺失 920 → 导入 920 成功 → 完整性检查通过 → 920 实例 / 803 来源题可选取;未调用模型。
- 发布验收 JSON 和 SHA256SUMS 随附。
本版基于 v0.2.8,题库与核心评分规则保持不变。更新代码仍需同步用户本地数据库。
English: This patch adds startup bank checks, actionable sync errors, upsert-only imports with persistence verification, safe SQLite file initialization, and read-only bank/image diagnostics. Keep the backend running and run pnpm bank:sync, pnpm bank:check, then pnpm runtime:check after upgrading. New installs should follow the updated README and run pnpm db:push before startup. The v0.2.8 catalogue and core scoring contracts are preserved.
ZxBench v0.2.8 — workflow visible contracts and grading fixes
修复智能体工作流中题面未公开的工具参数、过严字符串匹配和结果检查点依赖,保留真实执行与安全要求。
- 审计全部 87 个工作流实例、45 个源题;修复 23 个源题、45 个实例。完整题库仍为 803 个源题、920 个实例。
- 接受实际查到相关记录的
deploy/deploy/前缀、安全路径/命令别名和等价镜像替换;报告以实际文件内容为准。必要读取、审批、保护状态和安全红线保持严格。 - 澄清
CALL 工具名 {JSON}清单提示及前置条件;括号式调用仍属于协议错误。 - 工作流定义版本
3.4.0,评分器agent_trace_v8,兼容原有评分器版本。其他维度保留 v0.2.7 定义。 - 216 个合成 Docker 案例和 87 个无实际操作反例,公开随源码复验。
- 此前九模型 502 份满分保留,30 份基于原轨迹直接纠分,251 份证据不足以加分而保留。0 新模型调用,token、原答卷和交互出处保持不变。
升级:安装依赖、生成 Prisma 客户端并构建;当前测试批次完成后重启服务,运行 node scripts/seed-benchmark.mjs,不要使用 --reset。不替换运行中批次的冻结题面,不自动重写历史原始分数。无需为已知评分误判重新生成答卷。
运行时镜像未改变;继续使用 v0.2.7 的固定离线镜像及 SHA-256。
ZxBench v0.2.7 — tool/CLI contract and objective checkpoint fixes
工具/CLI修复与评分更新
- 默认完整803道来源题、920个执行实例保留。
- 修复隐藏参数、日期基准、SQLite查询及重试初始化、过度限制只读确认等契约问题;Git保护文件误罚已修复。
- 全部98个工具/CLI实例加入客观检查点Rubric,最终未通过最高40分,安全违规0分。
tool_trace_v5和cli_command_v6支持新验收;旧缺陷契约隔离。完整轨迹可恢复ANSWER最终答复后重新判分,保留生成用量。- 十模型400份新答卷与580份重新判分答卷已采纳;完整803题成绩和token对账同步更新。
详细说明:工具/CLI修复验收,完整803题十模型报告。
验证与升级
全工作区构建、全套测试及单独启用的真实Docker验收通过。全新数据库导入920条、0失败,默认预览803道来源题/920个实例。安装依赖、生成Prisma客户端、构建,准备固定镜像并重启服务,再运行node scripts/seed-benchmark.mjs更新题库。历史答卷保留,冻结运行不自动替换。
附带固定PyYAML镜像资产与SHA-256,内容与v0.2.6相同,支持离线导入。
ZxBench v0.2.6 — workflow contract and checkpoint scoring fixes
工作流修复与评分更新
- 修复19道来源题涉及的题目契约及只读确认评分问题;默认仍为803道来源题 / 920个执行实例。
- 87个智能体执行实例加入客观检查点rubric:最终未通过最高40分,安全违规0分。
- 修复明确先答要求下的ANSWER/SAY解析衔接;完整旧轨迹可恢复最终答复后重新判分,保留生成Token。
- 隔离已确认有缺陷的题目旧版本;语义Judge继续只复核最终表述,不覆盖实际执行与安全失败。
- 提供冻结PyYAML Docker镜像资产与校验脚本,支持
pnpm runtime:workflow自动准备及离线导入。 - 同步最新十模型完整803题分数与去重Token报告。
详细说明:修复与验收,完整803题十模型报告。
验证
发布目录全工作区构建通过;1882项测试通过、214项环境依赖测试跳过。另行通过50次真实Docker验收;固定镜像压缩包及image ID校验通过。干净数据库导入920条、0失败,默认预览803道来源题 / 920个实例。
升级
安装依赖、生成Prisma客户端、构建;运行 pnpm runtime:workflow 准备新增固定镜像。重启服务后运行 node scripts/seed-benchmark.mjs 导入修复题库。历史答卷保留,运行中的冻结题集不自动替换。本次发布不重新调用被测模型。
ZxBench v0.2.5 — nine-model default question-bank fix
Default question-bank correction
The default benchmark now uses the adopted nine-model question set:
- 803 source questions: 614 ordinary questions plus 189 migrated sources.
- The migrated sources expand into 306 execution instances, giving 920 execution instances in a complete run.
- Superseded original migration prompts and unrelated development definitions are excluded from the active release. Only exact released IDs/hashes can start a new run.
- Migration instance scores are averaged within their original source before applying the source's original difficulty/category/attack weight.
- Preview, single runs and batches use the same selector. Missing definitions or hash drift stop selection before inference.
- Existing main-branch difficulty filters and candidate Token metrics are preserved.
Upgrade
Build and restart the server, then run node scripts/seed-benchmark.mjs against it (BASE_URL selects the server URL).
The importer removes online question definitions outside the released catalogue and imports all 920 definitions. Historical runs and answers are preserved. Historical/development fixtures under data/scenarios/archive/ are not part of the import catalogue and cannot be selected for a new benchmark.
Validation
- Workspace build passed. Repository tests: 1,861 passed; 213 skipped (optional/environment-dependent suites).
- Clean database import: 920 succeeded, 0 failed; default preview confirmed 803 sources / 920 instances.
- Upgrade rehearsal: 381 obsolete/outside definitions removed, 920 adopted definitions retained/imported.
- Frozen default pack hash:
208cb2485eb55e2040e3b5c5a2e6a8ff388803f6dc5fc8ffcc9372326c0c0bfd.
This release replaces v0.2.4 as the latest download. Historical tags and benchmark answers remain unchanged.
ZxBench v0.2.4 — semantic Judge scoring and nine-model report
Changes
- Add semantic Judge review for strict execution-world final answers when all other checks pass. The literal result, Judge evidence, and scoring version remain auditable.
- Correct the CLI-027 expected project output path.
- Publish the nine-model semantic Judge rescore and latest targeted scores and token usage.
Historical run records are unchanged. The reports compare saved results and targeted reruns.
Validation
The full workspace build and 11 focused tests passed locally. The repository-wide CI still has 10 failing tests; main was already failing before PR #11. See PR #11 for the merge and check history.
ZxBench v0.2.3 — 结构化输出与 Docker 题库更新
本版更新
- 更新 60 道结构化输出题与 189 道 Docker 源题(306 个执行实例),包含题目定义、原生任务包及参考验证材料。
- 修复 Docker 执行和评分:保留多行最终答复,依据工具轨迹判分,记录实际时间预算和结束原因;修正退款说明、等价拒绝表达及攻击文本引用的安全误判。
- 补齐已确认遗漏的题面路径、日期、配置字段、收件人和报告格式;修复 Git 工作区和脚本解释器条件。
- 发布题库映射和复核说明:题库更新说明。
验证与使用范围
全项目构建通过,69 项相关测试通过,并完成重点 Docker 题的正确解、错误解和运行时探针验证。
Docker 迁移题仍是显式选择的开发题。Release 不会更新在线数据库,也不会改变运行中的 Signal 冻结任务。需要重新获取模型答案的修订题目应定向补跑;原始评测结果保持原版本归属。本 Release 提供 GitHub 自动生成的源码包。上一版附带的五模型 PDF 属于 v0.2.2 的历史报告。