Files
headquarter/apps/api/.pi-map.index.md
T
Developer bd94cc9bbf 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
2026-06-14 20:29:03 +00:00

1.4 KiB

apps/api (index)

dir: apps/api

role

FastAPI backend API that manages projects, git repositories, and development tools via Docker instances with PostgreSQL database and async Alembic migrations.

parent

index: apps/.pi-map.index.md map: apps/.pi-map.md

children

  • apps/api/.mypy_cache index: apps/api/.mypy_cache/.pi-map.index.md map: apps/api/.mypy_cache/.pi-map.md
  • apps/api/.pi-lens index: apps/api/.pi-lens/.pi-map.index.md map: apps/api/.pi-lens/.pi-map.md
  • apps/api/.pytest_cache index: apps/api/.pytest_cache/.pi-map.index.md map: apps/api/.pytest_cache/.pi-map.md
  • apps/api/.ruff_cache index: apps/api/.ruff_cache/.pi-map.index.md map: apps/api/.ruff_cache/.pi-map.md
  • apps/api/.venv-test index: apps/api/.venv-test/.pi-map.index.md map: apps/api/.venv-test/.pi-map.md
  • apps/api/alembic index: apps/api/alembic/.pi-map.index.md map: apps/api/alembic/.pi-map.md
  • apps/api/src index: apps/api/src/.pi-map.index.md map: apps/api/src/.pi-map.md
  • apps/api/tests index: apps/api/tests/.pi-map.index.md map: apps/api/tests/.pi-map.md
  • apps/api/uploads index: apps/api/uploads/.pi-map.index.md map: apps/api/uploads/.pi-map.md

files

  • .dockerignore
  • Dockerfile
  • README.md
  • alembic.ini
  • pyproject.toml
  • uv.lock
  • wait-for-db.sh

index: apps/api/.pi-map.index.md map: apps/api/.pi-map.md

workflows

dirty