Repository navigation
Keep a run whose kept workspace cannot be tidied yet - #73
Open
ruiling-smartbear wants to merge 4 commits into
Open
ruiling-smartbear wants to merge 4 commits into
ruiling-smartbear wants to merge 4 commits into
Conversation
After a container session answered, tidying the kept workspace removed the empty mount points; Docker Desktop can still hold a bind mount's target a moment after its container exits, and reading or removing it raised PermissionError, which failed the run and scored the answer as a pipeline failure. Seen on OfficeQA's docs/root_1, about one session in a hundred under load. The directory is now left in place.
iamziyuzhao
self-requested a review
November 4, 2026 19:16
# Conflicts: # CHANGELOG.md
12 of 13 tasks
ruiling-smartbear
force-pushed
the
fix/clean-busy-mount-point
branch
from
November 6, 2026 04:22
fb3bdd8 to
b1f53a0
Compare
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
After a workspace agent's session has answered,
_cleantidies the kept workspace: it removes links out of it andthe empty mount points. Docker Desktop can still hold a bind mount's target a moment after its container exits;
reading or removing it then raises
PermissionError, which failed the run, so a session that had answered wasscored as a pipeline failure ("the pipeline failed: PermissionError: [Errno 13] Permission denied:
'.../work/docs/root_1'").
_cleannow leaves such a directory in place (hermit/agent/acting/workspace.py). Tidying is for inspection only;nothing reads the empty mount point afterwards.
Core change:
hermit/agent/acting/workspace.py,_cleanonly. CHANGELOG: one entry under Fixed.Validation
tests/core/test_cli_agent.py::test_a_mount_point_still_held_is_left_and_the_rest_tidied: a mount point whose listingraises
PermissionErroris left and the rest is still tidied. It fails without the change.python -m pytest tests/core/test_cli_agent.py: 44 passed, 1 failed(
test_a_stream_replaced_by_a_link_is_not_read_as_the_sessions, which fails the same way onmainon thismachine, macOS).
2026-11-04: 21 sessions, 11 in two trainings (run again by the Evolvers) and 10 in one 172-question evaluation,
where each answered question became a 0.
Not verified: Linux Docker (the error was seen on Docker Desktop only).
Review
tests/core/test_cli_agent.py, beside the existing_cleantest;python -m pytest --changedselects it.(
PermissionErrorondocs/root_1), checked by running it againstmain'sworkspace.py._cleandirectly, as the neighbouring tidy test does; the Docker hold is simulated by makingPath.iterdirraise for that one directory.tmp_pathonly, no network, CLI or sign-in, no sleeps.OSErroris caught; the session's own failures,the answer and
collectare unchanged.7f25045): no defects. Its one finding, a docstring that claimed more thanthe code covers, is fixed in
7046e87.