Files
headquarter/openspec/changes/fix-pi-container-mount-permissions/tasks.md
T
alex 16984b7cf6 fix(containers): compose profile and Git mounts safely
Stage profile sources per instance and compose overlapping bind mounts so Docker cannot mask Git content or leave writable files root-owned.\n\n- preserve shared Git clones while applying profile overlays\n- add mount composition and ownership regression coverage\n- update OpenSpec tracking
2026-07-21 20:49:03 +02:00

1.3 KiB

Tasks: fix pi container repo mount and npm update permissions

  • Investigate root cause (manifest target, missing variables, npm prefix)
  • Create Alembic data migration to update pi-agent manifest
  • Update manifest_compiler.py: {{WORKSPACE_NAME}} substitution, env var, entrypoint runtime var, npm prefix
  • Update instance_service.py to pass REPO_NAME/WORKSPACE_NAME
  • Remove explicit repo mount from pi-agent manifest; synthesize mount in compile_compose
  • Add _get_repository_mount_name() helper to derive workspace name from remote URL
  • Switch workspace storage layout to /data/working-copies/{workspace_id}/{repo_name}/
  • Update unit tests for workspace/home-directory migration
  • Run quality gates for workspace/home-directory migration
  • Remove compose-level user: 0:0 override so entrypoint can drop privileges
  • Pass manifest-declared container user to terminal sessions via docker exec --user
  • Update unit tests for container user/terminal changes
  • Stage profile bind mounts per instance so writable sources are owned by the container user
  • Composite overlapping profile and Git mounts into one per-instance bind source
  • Add regression tests for mount composition, ownership staging, and mount order
  • Run quality gates for container user/terminal changes
  • Commit and push