Files
headquarter/.pi-map.md
T
Developer 41f9427224 fix: avoid literal {{WORKSPACE_NAME}} directories in built images
When a manifest mount target uses ~/{{WORKSPACE_NAME}}, the Dockerfile was
building a literal directory named {{WORKSPACE_NAME}} into the image and
creating a broken /workspace symlink. The runtime mount then created the
correct repo-named folder alongside the placeholder folder.

- Only create static mount target directories in the Dockerfile; skip any
  target containing {{WORKSPACE_NAME}}
- Only create the /workspace compatibility symlink at image-build time when
  the workspace name is known; otherwise let the entrypoint create it from
  the WORKSPACE_NAME environment variable
- Update unit tests to cover both build-time workspace names and runtime
  placeholders

Quality gates:
- pytest tests/unit: 211 passed
- ruff: clean on changed files
- mypy: clean on changed files
2026-06-15 08:29:03 +00:00

3.0 KiB

.

dir: .

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

Project Map Protocol

  1. Read this protocol and the root .pi-map.index.md first.
  2. Use index: / map: references to open relevant directory indexes and maps.
  3. Load indexes before rich maps during task-start navigation.
  4. Read the local rich map and actual source before editing.
  5. Treat non-empty ## dirty sections in either artifact as stale.
  6. If source and generated artifacts disagree, trust source.
  7. If map and index disagree, trust neither blindly; verify from source and regenerate the pair.
  8. After editing source, run project_map_patch for each changed file.
  9. Before broad architectural claims or final handoff, run project_map_validate when freshness matters.

Trust boundary: index routes, map orients, source decides.

role

Infrastructure and deployment configuration package for a self-hosted project management platform with containerized services, SSO integration, and reverse proxy support.

files

  • .env.example | Provides a template of environment variables for configuring a Headquarter application with PostgreSQL, Redis, Authentik SSO, and Docker/Traefik deployment
  • .gitignore | Specifies files and directories for Git to ignore across a multi-language project with Python, Node, and custom tooling | dep: Git
  • AGENTS.md | Defines operational rules, workflows, and constraints for AI agents working within an OpenSpec-driven software development project. | dep: OpenSpec, superpowers, git, docker compose, conventional commits
  • CHANGELOG.md | Documents version history and notable changes for a Git-based project management web application
  • Makefile | Provides standard development commands for containerized web application lifecycle management via Docker Compose | dep: docker compose, alembic, pytest, ruff, mypy, playwright, npm, postgres, redis
  • README.md | A self-hosted platform for managing projects, git repositories, and development tools with OAuth2 authentication. | dep: FastAPI, SQLAlchemy, Pydantic, Alembic, python-jose, React, TypeScript, Vite, React Router, Docker, PostgreSQL, Traefik, Authentik, Git
  • docker-compose.traefik.yml | Deploys a multi-service web application (frontend, API, PostgreSQL, Redis) behind an existing Traefik reverse proxy with TLS termination and environment-configurable domains. | dep: docker, traefik, postgres, redis, authentik, docker-compose
  • docker-compose.yml | Defines a multi-service Docker Compose stack with PostgreSQL, Redis, API backend, and web frontend services for a "headquarter" application | dep: Docker, PostgreSQL, Redis, Vite, asyncpg, nginx
  • progress.md | Tracks completed and remaining tasks for a backend-frontend code refactoring project organized in 7 phases
  • swap-pane | Empty file with no functionality

arch

Docker Compose-based microservices architecture with environment-driven configuration, separating PostgreSQL persistence, Redis caching, API backend, and web frontend behind Traefik reverse proxy with TLS termination.

tags

docker, redis, git, application, postgresql, compose, traefik, project

symbols

workflows

dirty