Eval trace follow-up: lc run syntax note, clean harness env - #191
Merged
Conversation
The PR-190 eval trace showed three harness-attributable frictions. lc run already follows the ecosystem convention — argv, no shell parsing, exactly docker run and uv run (verified: uv run "python -V" fails the same way) — so the behavior stands and the syntax gets one line where it was missing: the eval prompt and the run reference both now say argv style, never a single quoted string, bash -c for shell syntax. That one line was the difference between the agent's first probe working and a cryptic /usr/bin/env error plus a misleading sandbox trailer. The harness environment gets the same treatment VIRTUAL_ENV got: setup-uv's python-version input exported an ambient UV_PYTHON, which the install-settings scrub then rightly warned about on every single lc invocation — a dozen unactionable lines the agent ended up grep -v'ing away. The input is gone and the interpreter is pinned per tool install instead. And the checkout fetches full history, so hatch-vcs stamps a truthful dev version instead of 0.1.dev1 into the installed engine and every manifest it writes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DJzmp2MUhwiNHR94cB91dx
Contributor
✅ Eval
lc statusConfusion & pain points (Claude analysis)Confusion & pain points
Full trace: |
The crate line arrived with the hardening pass, in parallel with the escape fix, so it never met it: the engine's 'declare [project].license to enable it' rendered as 'declare .license' — rich reading the brackets as a style tag, swallowing the one word that names the fix. The sandbox header gets the same escape; both are engine prose, which the rendering rule already says is data, never markup. Regression test beside the other header assertions. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DJzmp2MUhwiNHR94cB91dx
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.
Follow-up to the PR #190 eval trace, which surfaced three harness-attributable frictions (the other findings were agent-side noise).
The
lc runconvention question, settledChecked the ecosystem before touching anything:
uv run "python -V"fails withFailed to spawn: `python -V`(verified live),docker run img "echo hi"fails withexec: "echo hi": executable file not found— argv with no shell parsing is the convention acrossdocker run,uv run,kubectl exec,pipx run,poetry run,srun.lc runalready matches it, so the behavior stands unchanged and the syntax gets one line in the two places it was missing:evals/prompt.md: "Argv style, likedocker runoruv run:lc run python scripts/fit.py --output /tmp/x, never a single quoted shell string; for shell syntax uselc run bash -c '...'."docs/cli/run.md: same sentence, in the synopsis.In the trace, the missing line cost one round trip through a genuinely cryptic failure (
/usr/bin/env: '<whole string>': No such file or directory+ the sandbox trailer insinuating a denial).Harness environment
UV_PYTHONnoise:setup-uv'spython-versioninput exportsUV_PYTHON, and the Hardening: close the residues recorded through layer 8 #184 install-settings scrub then (correctly) warnedignored ambient UV_PYTHON — …on everylc run/lc materialize— a dozen-plus unactionable lines the agent ended upgrep -v'ing to read its own output. The input is dropped; determinism is kept by pinning--python 3.12on both tool installs. Same category as theVIRTUAL_ENVcleanup earlier.0.1.dev1+g<sha>into the installed engine — and into every manifest'slc_version.fetch-depth: 0fixes it.Validation: label this PR
run-evalto see the updated prompt and clean environment in action.🤖 Generated with Claude Code
https://claude.ai/code/session_01DJzmp2MUhwiNHR94cB91dx