Skip to content

Mount worker skill state at workspace root#104

Merged
pmbstyle merged 2 commits into
mainfrom
fix-worker-skills-mount
May 18, 2026
Merged

Mount worker skill state at workspace root#104
pmbstyle merged 2 commits into
mainfrom
fix-worker-skills-mount

Conversation

@pmbstyle
Copy link
Copy Markdown
Owner

@pmbstyle pmbstyle commented May 18, 2026

Summary

  • mount shared worker skill directories at the canonical Docker workspace root
  • keep worker-local compatibility mounts for the same directories
  • cover both skills registry state and skill runtime env state in launcher tests

Root cause

PR #103 moved Docker workers to use the shared workspace root as OCTOPAL_WORKSPACE_DIR. The worker process runs as a non-root user, while /workspace itself is owned by the container image. The launcher mounted skills only under the worker directory, so code that initializes workspace-level skill state tried to create /workspace/skills and later /workspace/.skill-envs directly inside the root-owned mount point.

Validation

  • uv run pytest tests\test_worker_launcher_isolation.py tests\test_filesystem_hardening.py tests\test_worker_router.py tests\test_agent_worker_contracts.py
  • production hotfix smoke: Docker worker can initialize /workspace/skills and /workspace/.skill-envs
  • production scheduled Moltbook worker now passes worker initialization and runs child workers instead of failing before task execution

@pmbstyle pmbstyle changed the title Mount skills at worker workspace root Mount worker skill state at workspace root May 18, 2026
@pmbstyle pmbstyle marked this pull request as ready for review May 18, 2026 17:00
@pmbstyle pmbstyle self-assigned this May 18, 2026
@pmbstyle pmbstyle merged commit e9ef0eb into main May 18, 2026
4 checks passed
@pmbstyle pmbstyle deleted the fix-worker-skills-mount branch May 18, 2026 17:00
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