Repository navigation
Conversation
gaia2-init-entrypoint.sh starts the agent with `su -s /usr/bin/bash agent`,
and su sets SHELL=/usr/bin/bash. OpenClaw's exec tool runs "$SHELL -c
<command>" (getShellConfig), so agent commands ran the real bash and
never went through /home/agent/bin/bash, the wrapper that preloads
libfaketime when /tmp/faketime.rc exists. OpenClaw also strips LD_* from
the exec env, so the gateway's own LD_PRELOAD does not reach them either.
Result: `date` in the agent shell printed the host date, not the
scenario's simulated date, and relative-date reasoning ("last Friday")
went wrong for every model.
Export SHELL=/home/agent/bin/bash in the agent env file, which is sourced
after su. The Gaia2 CLIs read /tmp/faketime.rc themselves and are
unaffected.
This branch has not been deployed
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.
Change class: Evaluation validity — not an agent-exploit vector.
Summary
Route OpenClaw's
execshell through the faketime wrapper so agent shell commands see the scenario's simulated date.Consequence addressed
susetSHELL=/usr/bin/bashand OpenClaw runs"$SHELL" -c, so agent commands ran the real bash and skipped the libfaketime wrapper (/home/agent/bin/bash).dateprinted the host date, so relative-date reasoning ("last Friday") was wrong for every model — the harness fed the wrong "now", making scores on time-relative tasks invalid/unfair. This is a validity bug, not the agent cheating. (Fix verified end-to-end: exp 37B.e2e_openclaw_exec_tool_sees_sim_time = PASSon the fix;FAILon the pre-fix control.)Changes
Export
SHELL=/home/agent/bin/bashin the agent env file (sourced aftersu). The Gaia2 CLIs read/tmp/faketime.rcthemselves and are unaffected.Testing
containers/openclaw/test_openclaw_config.py(+30) asserts the exec shell routes through the wrapper.Part of a set of isolated
gaia2-clifixes developed while building an audio benchmark on top of the GAIA2 harness. Draft; no reviewers assigned yet.