You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bench: the mock bench cannot run on this host — the only deepseek-harness checkout needs a build, and the host has neither git nor a C compiler #2571
The performance baseline (#356 / PR #2570) cannot produce numbers on this box, and the reason is the environment, not the code.
core/dev/bench.sh starts dsh web from a deepseek-harness checkout. The only checkout here is /data/dsh/bot/workspace/runs/i2565/deepseek-harness (DSH 0.2.1-rc.2, dependencies installed). It is an unbuilt source tree, so dsh web dies before dsh web: http:
Plugins waiting for services (1):
Plugin Missing services
client-hmr clientModules
Building it fails on two missing tools, both required:
$ pnpm run build
Error: spawnSync git ENOENT # scripts/client-build-environment.ts (repo build metadata)
$ DSH_CLIENT_COMMIT_HASH=<sha> pnpm run build
Error: spawnSync cc ENOENT # native/system addon: cc -std=c11 ... flock.c
This host has no git, no cc/gcc/clang, and no make (checked 2026-11-06 17:0x UTC). DSH_CLIENT_COMMIT_HASH works around the first, nothing works around the second.
What would unblock it, either one:
A: install a C toolchain (cc, make) and a git binary in the Bot container; then pnpm run build in that checkout succeeds and dev/bench.sh perf … can run.
B: provide a prebuilt harness: a directory that already contains a built @deepseek-ai/dsh (published npm packages are fine) plus apps/web/tests/pin-browse-picker.overlay.yml, so DSH_HARNESS=<that dir> core/dev/bench.sh … boots without a build.
Until one exists, every mock-bench measurement in this repository (perf baseline, browser e2e that needs the bench) is unavailable on this host, and docs/performance-baseline.md says "not measured" rather than inventing numbers.
Measured on this host at 2026-11-07 05:52Z: the mock bench does run here. dev/bench.sh smoke 3296 8296 reset then node dev/smoke.mjs smoke 3296 ends with smoke: all 42 steps passed, smoke exit=0 (42 ok, 0 FAIL).
Three of this issue's premises need correcting, and the third is the actual blocker.
git exists.tools/bin/git is git 2.39.5; it only has to be put on PATH. No DSH_CLIENT_COMMIT_HASH workaround was needed.
No C compiler was needed. The checkout at runs/i2565/deepseek-harness already carries the JS build (packages/*/lib), and dsh web boots from it (dsh web: http://127.0.0.1:3296 in web.log).
The blocker is a missing prebuilt native addon, not a build. Every Bot turn died on Cannot find module '…/native/system/packages/linux-arm64/bin/glibc/system.node' (bot/logs/diagnostics.jsonl, source: turn, repeated once per turn). That binary is not produced by pnpm run build on a host without cc; it ships prebuilt in @deepseek-ai/node-addon-system-linux-arm64@0.1.2.
Recipe that makes the bench run on this host (no repo change; everything it touches is under runs/):
# 1. pnpm: bench.sh calls it for the profile install, and the host has noneprintf'#!/bin/sh\nexec corepack pnpm "$@"\n'> tools/bin/pnpm && chmod +x tools/bin/pnpm
# 2. git on PATHexport PATH=/data/dsh/bot/workspace/tools/bin:$PATH# 3. the prebuilt native addon, taken from the harness packages `npm run harness` already installed
cp -r core/dev/harness/node_modules/@deepseek-ai/node-addon-system-linux-arm64/bin \
<harness>/native/system/packages/linux-arm64/
# 4. thencd core &&export DSH_HARNESS=<harness>
CONTEXT_WINDOW=100000 CHECK_RATIO=0.45 dev/bench.sh smoke 3296 8296 reset
node dev/smoke.mjs smoke 3296
dev/bench.sh smoke 3296 8296 stop
Step 1 is silent when it is missing: ensure_profile's pnpm install writes to /dev/null, so the profile ends up with no node_modules, dsh then answers cannot resolve profile bundle "ds-bot", and the smoke reports 17 failures whose text is an ENOENT on bot/state.json. Step 3 is worse: the bench boots, the web server answers, and every turn fails, so 42 of 42 smoke steps look like plugin bugs and none of them is one.
Closing this as resolved: the bench runs here, and the numbers are #356's job. The two things it leaves behind are not this issue's scope — the step-3 copy is host setup that dies with runs/, and it is the reason dev/bench.sh needs a preflight; that is filed separately.
Activity
Record why the baseline table is empty, and where the run is tracked
Birfy commentedon Nov 7, 2026
Written-by: Chief
Measured on this host at 2026-11-07 05:52Z: the mock bench does run here.
dev/bench.sh smoke 3296 8296 resetthennode dev/smoke.mjs smoke 3296ends withsmoke: all 42 steps passed,smoke exit=0(42ok, 0FAIL).Three of this issue's premises need correcting, and the third is the actual blocker.
gitexists.tools/bin/gitis git 2.39.5; it only has to be put onPATH. NoDSH_CLIENT_COMMIT_HASHworkaround was needed.runs/i2565/deepseek-harnessalready carries the JS build (packages/*/lib), anddsh webboots from it (dsh web: http://127.0.0.1:3296inweb.log).Cannot find module '…/native/system/packages/linux-arm64/bin/glibc/system.node'(bot/logs/diagnostics.jsonl,source: turn, repeated once per turn). That binary is not produced bypnpm run buildon a host withoutcc; it ships prebuilt in@deepseek-ai/node-addon-system-linux-arm64@0.1.2.Recipe that makes the bench run on this host (no repo change; everything it touches is under
runs/):Step 1 is silent when it is missing:
ensure_profile'spnpm installwrites to/dev/null, so the profile ends up with nonode_modules,dshthen answerscannot resolve profile bundle "ds-bot", and the smoke reports 17 failures whose text is anENOENTonbot/state.json. Step 3 is worse: the bench boots, the web server answers, and every turn fails, so 42 of 42 smoke steps look like plugin bugs and none of them is one.Closing this as resolved: the bench runs here, and the numbers are #356's job. The two things it leaves behind are not this issue's scope — the step-3 copy is host setup that dies with
runs/, and it is the reasondev/bench.shneeds a preflight; that is filed separately.