Files
headquarter/progress.md
T
alex 38c51ed95e refactor: move API routers into domain subpackages
Moves 21 API router files into 6 domain subpackages (max 6 files each):
- api/tool/ — tool_instances, tool_types, tool_definitions, sessions
- api/config/ — config_profiles, user_config
- api/workspace/ — workspaces, workspace_files, workspace_git, workspace_instances
- api/user/ — users, auth, ssh_keys
- api/project/ — projects, git_repositories
- api/system/ — health, events, notifications, dashboard, terminal, instance_proxy

sessions_router extracted from tool_instances.py into tool/sessions.py.

main.py now imports from subpackage __init__.py re-exports.
Cross-router imports updated to use new paths.
Fixed pre-existing E712 in tool_definitions.py (is_base == False → is_(False)).

Quality gates: py_compile passed on all files, ruff passed.
2026-06-04 12:28:41 +02:00

1.8 KiB

Progress — Backend-Frontend Refactoring

Completed

Phase 0: Submodule Infrastructure

  • Created all directory structures with __init__.py files

Phase 1: Model Subpackages

  • Moved models into domain subpackages (5 subpackages, ≤4 files each)
  • Updated models/__init__.py with re-exports
  • Updated all imports across backend
  • Committed: 0591b00

Phase 2: Schema Extraction

  • Extracted Pydantic schemas from 9 API routers into schemas/ subpackages
  • Updated all API routers to import from src.schemas.*
  • Committed: 8816ee0

Phase 3: Docker Service Split

  • Split services/docker.py into services/docker/ package (4 modules)
  • Created re-export wrapper in services/tunnel.py
  • Committed: 6104f59

Phase 4: Service + API Router Subpackages

  • Moved 19 service files into 6 subpackages with re-exports
  • Moved 16 API router files into 6 subpackages with re-exports
  • Extracted sessions router from tool_instances.py into api/tool/sessions.py
  • Updated main.py imports
  • Committed locally: 37ccaa4 (needs push)

Pending Push

  • Commit 37ccaa4 is ready locally on dev but not yet pushed to origin
  • Run: cd /home/alex/projects/headquarter && git push origin dev

Remaining Phases

Phase 5: Auth Dependency Refactor

  • Add get_current_user to auth/dependencies.py
  • Migrate routers to use get_current_user where appropriate

Phase 6: Frontend Reorganization

  • Rename API files to kebab-case
  • Rename page files to *Page.tsx
  • Move components into features/ directories

Phase 7: Integration and Verification

  • Run backend tests
  • Run frontend typecheck + build
  • Verify docker compose up --build

Current Branch

  • dev with local commits ahead of origin/dev