Skip to content

feat(harness): relocate workspaces to user home - #245

Closed
JnyRoad wants to merge 4 commits into
OpenBMB:mainfrom
JnyRoad:feat/harness-workspace-root-upstream
Closed

feat(harness): relocate workspaces to user home#245
JnyRoad wants to merge 4 commits into
OpenBMB:mainfrom
JnyRoad:feat/harness-workspace-root-upstream

Conversation

@JnyRoad

@JnyRoad JnyRoad commented Aug 30, 2026

Copy link
Copy Markdown

Summary

Move the default Harness workspace root from the application directory to ~/.staffdeck/workspaces while keeping database, logs, runtime configuration, and uploads unchanged.

Changes

  • Persist each task's effective Harness workspace root for stable artifact access and cleanup.
  • Preserve bounded compatibility with configured and legacy workspace roots.
  • Validate artifact reads and downloads against task-scoped metadata.
  • Present the setting as a Harness-only workspace in Runtime Settings.

Testing

  • PYTHONPATH=/private/tmp/staffdeck-pr13-upstream-20260830/backend /Users/lvtu/source/tools/StaffDeck/backend/.venv/bin/python -m pytest backend/tests/test_harness_session_cleanup.py backend/tests/test_ui_config.py backend/tests/test_harness_artifact_download.py backend/tests/test_harness_filesystem.py backend/tests/test_harness_v2.py backend/tests/test_desktop_launcher.py (188 passed)
  • npm --prefix frontend-enterprise test -- src/pages/RuntimeSettingsPage.test.tsx (5 passed)
  • npm --prefix frontend-enterprise run build (passed)

Risks

The database migration adds a nullable workspace_root field. Existing task frames retain bounded fallback access to configured and legacy roots. The conflict resolution intentionally excludes unrelated fork-only network settings UI and tests.

Move new Harness task workspaces to the user-owned default root while preserving database, logs, uploads, and runtime configuration storage. Snapshot task roots for deterministic historical artifact reads and cleanup without automatic migration.\n\nTesting: focused backend workspace regressions, full frontend Vitest suite, production frontend build. Full backend suite has six environment-limited sandbox-exec failures unrelated to this feature.
@JnyRoad JnyRoad closed this by deleting the head repository Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant