Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a nightly job that keeps every pinned dependency current and merges the update itself, plus
bench smoke, an offline check for the agent-harness changes unit tests can't see.Stacked on #6: the smoke task reuses that PR's
finalize-mcpserver andmcp-call-logwrapper. Rebase onto main after #6 lands.bench smokeRuns the arm's agent, version, model and
agent_kwargsthrough Harbor on a local Docker task (no Kernel browser). The task's only tool is thebenchstdio MCP server'sfinalize, wrapped inmcp-call-log. A run passes when:finalizecall, and the verifier scored it 1;trajectory.jsonwith tool calls, token counts and cost, which is what the report and Braintrust publishing read.Harbor swallows conversion errors, so the trajectory check is the one that catches a format change. The summary lists the tool names the trajectory shows and, for Claude Code, the built-in tools from its init event. Comparing two versions makes behavior changes visible. Current arms:
The Codex rows show the 0.163.0 change: the MCP call is nested in code-mode
execand no longer appears asmcp__bench__finalizein the trajectory. All four run in parallel in about a minute.Nightly pinned dependency updates
nightly-pinned-deps.yml(daily andworkflow_dispatch) runs a Pi agent withnightly-pinned-deps-prompt.md, authenticated as thekernel-internalGitHub App through a renewable installation token. The agent:automation/nightly-pinned-deps;agent_versionfor Codex and Claude Code arms;kernel-environmentbranch, or the upstream release once one contains Add Kernel as an environment provider harbor-framework/harbor#2122 and provides thekernelextra. It switches only after checking that the release keeps what the harness uses, starting withbrowser_create_overrides;bench smokeat the head and at main for harness or Harbor changes, a stdiotools/listfor Playwright MCP, a local header-forwarding check for mcp-remote, and adocker buildof affected prepared images;Models,
agent_kwargs, browser settings and themainrefs toolsets build from are out of scope. The agent never runsbench runor creates Kernel browsers.Traceability. The PR body and the squash commit body open with Behavior changes: every arm whose agent, Harbor or Playwright MCP version changed, any built-in tool newly available to an arm without
disable_web_search, and changes in how tool calls are recorded or in the ClawBench task set. The report's configuration column already records each arm's agent version.Merge gate. The
ghwrapper refusesgh pr mergeunless theharnessandreportchecks and every other check on the head commit are green. It also runssmoke-harnessesitself, which isbench smokefor every agent configuration in a clean worktree of the head commit, with results cached per commit. The outer workflow then confirms the outcome file saysno-updatesormerged:<n>and that the PR really merged.Unlike the workflow this is modeled on, there is no BugBot gate, because BugBot doesn't run on this repository.
Setup
ADMIN_APP_ID,ADMIN_APP_PRIVATE_KEY,OPENAI_API_KEY,ANTHROPIC_API_KEY. Variable:PI_PREFERRED_MODEL.kernel-internalApp must be installed on this repository.Testing
uv run pytest(33 tests): new tests for the smoke checks, task layout and harness dedup, plus one that Harbor'sKernelEnvironmentstill takesbrowser_create_overrides. The existing environment test mocks__init__, so it couldn't catch a Harbor upgrade that drops it.ruff checkandruff format --check.bench preparefor both benchmarks, as in CI.bench smokelive, locally, for all four agent configurations (table above), and for Codex 0.120.0 vs 0.163.0 on the same arm. With an empty Anthropic key, the Claude rows fail (Not logged in) even though Harbor records no trial exception.smoke-harnessespasses, reuses its cached result for the same commit, cleans up its worktree, and fails with per-check reasons when API keys are bad.actionlintandshellcheckpass on the workflow and generated scripts.gh pr mergethrough the wrapper. The required-check logic was tested against Add xwebmcp-repl benchmark: browser REPL with and without xwebmcp tools #6's real check runs.