Skip to content

fix(kanban): stop treating board default_workdir as a scratch workspace#31358

Open
Dusk1e wants to merge 1 commit into
NousResearch:mainfrom
Dusk1e:fix/kanban-preserve-board-default-workdir
Open

fix(kanban): stop treating board default_workdir as a scratch workspace#31358
Dusk1e wants to merge 1 commit into
NousResearch:mainfrom
Dusk1e:fix/kanban-preserve-board-default-workdir

Conversation

@Dusk1e

@Dusk1e Dusk1e commented May 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes a Kanban bug where a board default_workdir was inherited as workspace_path but still treated as scratch.

That made shared board workdirs unsafe:

  • multiple tasks could point at the same path
  • completing a task could delete that shared directory during scratch cleanup

This change promotes inherited board defaults to dir workspaces instead.

Files

  • hermes_cli/kanban_db.py
  • tests/hermes_cli/test_kanban_db.py

Validation

Passed:

  • python -m pytest tests/hermes_cli/test_kanban_db.py -k default_workdir -q --no-isolate -o addopts="" -p no:timeout

Result:

  • 2 passed, 164 deselected in 0.83s

@alt-glitch alt-glitch added type/bug Something isn't working comp/cli CLI entry point, hermes_cli/, setup wizard P1 High — major feature broken, no workaround labels May 24, 2026
@mohamedorigami-jpg

Copy link
Copy Markdown
Contributor

Clean fix. The workspace_kind override from 'scratch' to 'dir' when inheriting board default_workdir is the right approach -- the scratch lifecycle (delete on completion) would silently destroy shared repo checkouts otherwise.

I hit the same workspace_path/workspace_kind semantics in my WAL leak fix (#31130) -- the kanban workspace lifecycle has a few of these subtle footguns where an inherited default silently triggers the wrong teardown path. The test_complete_task_preserves_inherited_board_default_workdir test with the marker file is a good way to lock it in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard P1 High — major feature broken, no workaround type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants