fix: use sudo/root to create /workspace symlink in manifest entrypoint
The previous commit moved the pi-agent repo mount from /workspace to
/home/user/{repo_name}. This exposed a permission bug: the Dockerfile
creates /workspace as a root-owned symlink in the image, and the
non-root entrypoint could not replace it because / is owned by root.
- Update compile_entrypoint to recreate /workspace via sudo when running
as the container user, or directly when running as root
- Add unit test covering sudo/root symlink creation
- Update OpenSpec change docs with the additional root cause
Quality gates:
- pytest tests/unit: 208 passed
- ruff: clean on changed files
- mypy: clean on changed files
- alembic heads: single head
This commit is contained in:
@@ -2,12 +2,14 @@
|
||||
dir: apps/api/tests/unit
|
||||
|
||||
## role
|
||||
Contains unit tests for the API application's core services, utilities, and infrastructure components.
|
||||
Unit test suite for the API application covering configuration, database migrations, Docker operations, Git integration, file services, monitoring, notifications, and manifest compilation.
|
||||
## parent
|
||||
index: apps/api/tests/.pi-map.index.md
|
||||
map: apps/api/tests/.pi-map.md
|
||||
## children
|
||||
-
|
||||
- apps/api/tests/unit/.ruff_cache
|
||||
index: apps/api/tests/unit/.ruff_cache/.pi-map.index.md
|
||||
map: apps/api/tests/unit/.ruff_cache/.pi-map.md
|
||||
## files
|
||||
- __init__.py
|
||||
- test_alembic_migrations.py
|
||||
@@ -40,5 +42,7 @@ map: apps/api/tests/unit/.pi-map.md
|
||||
read: __init__.py, test_alembic_migrations.py, test_config.py
|
||||
- change unit config
|
||||
read: test_config.py, test_config_profile_resolver.py
|
||||
- explore unit subdirectories
|
||||
index: apps/api/tests/unit/.ruff_cache/.pi-map.index.md
|
||||
## dirty
|
||||
-
|
||||
|
||||
Reference in New Issue
Block a user