Move legacy admin API router behind access module manifest #4

Closed
opened 2026-07-06 12:33:02 +02:00 by zemion · 2 comments
Owner

Scope

Move the legacy /api/v1/admin router contribution behind govoplan-access so the kernel no longer registers it as a base router.

Acceptance Criteria

  • Access manifest contributes both auth and admin routers.
  • Default core server config no longer registers the admin router as a base router.
  • govoplan_core.api.v1.admin and admin_schemas remain compatibility import paths.
  • Existing admin/API-key smoke behavior remains green.

Follow-up

The legacy router still mixes access, tenancy, governance, retention, and system settings endpoints; service/model ownership must be split in later slices.

## Scope Move the legacy /api/v1/admin router contribution behind govoplan-access so the kernel no longer registers it as a base router. ## Acceptance Criteria - Access manifest contributes both auth and admin routers. - Default core server config no longer registers the admin router as a base router. - govoplan_core.api.v1.admin and admin_schemas remain compatibility import paths. - Existing admin/API-key smoke behavior remains green. ## Follow-up The legacy router still mixes access, tenancy, governance, retention, and system settings endpoints; service/model ownership must be split in later slices.
Author
Owner

Codex State: done

Summary

  • Moved the legacy admin router and admin schemas into govoplan-access.
  • The access manifest now contributes both /auth and /admin routers; the core default config no longer registers admin as a base router.
  • Core keeps govoplan_core.api.v1.admin and govoplan_core.api.v1.admin_schemas as compatibility import paths.
  • This is route-composition ownership only; service/model ownership still needs later splitting by access, tenancy, policy, audit, and core settings.

Changed Files

  • src/govoplan_access/backend/api/v1/admin.py
  • src/govoplan_access/backend/api/v1/admin_schemas.py
  • src/govoplan_access/backend/manifest.py
  • README.md
  • /mnt/DATA/git/govoplan-core/src/govoplan_core/api/v1/admin.py
  • /mnt/DATA/git/govoplan-core/src/govoplan_core/api/v1/admin_schemas.py
  • /mnt/DATA/git/govoplan-core/src/govoplan_core/server/default_config.py
  • /mnt/DATA/git/govoplan-core/docs/ACCESS_EXTRACTION_PLAN.md

Verification

  • ./.venv/bin/python -m py_compile admin route/schema files and access manifest
  • ./.venv/bin/python scripts/check_dependency_boundaries.py
  • ./.venv/bin/python -m unittest tests.test_module_system
  • ./.venv/bin/python -m unittest tests.test_access_contracts
  • ./.venv/bin/python -m unittest selected admin/auth smoke tests
  • ./scripts/check-focused.sh

Next / Blocked

  • Keep issue open until the local multi-repo worktree changes are committed and pushed.
## Codex State: done ### Summary - Moved the legacy admin router and admin schemas into govoplan-access. - The access manifest now contributes both /auth and /admin routers; the core default config no longer registers admin as a base router. - Core keeps govoplan_core.api.v1.admin and govoplan_core.api.v1.admin_schemas as compatibility import paths. - This is route-composition ownership only; service/model ownership still needs later splitting by access, tenancy, policy, audit, and core settings. ### Changed Files - `src/govoplan_access/backend/api/v1/admin.py` - `src/govoplan_access/backend/api/v1/admin_schemas.py` - `src/govoplan_access/backend/manifest.py` - `README.md` - `/mnt/DATA/git/govoplan-core/src/govoplan_core/api/v1/admin.py` - `/mnt/DATA/git/govoplan-core/src/govoplan_core/api/v1/admin_schemas.py` - `/mnt/DATA/git/govoplan-core/src/govoplan_core/server/default_config.py` - `/mnt/DATA/git/govoplan-core/docs/ACCESS_EXTRACTION_PLAN.md` ### Verification - `./.venv/bin/python -m py_compile admin route/schema files and access manifest` - `./.venv/bin/python scripts/check_dependency_boundaries.py` - `./.venv/bin/python -m unittest tests.test_module_system` - `./.venv/bin/python -m unittest tests.test_access_contracts` - `./.venv/bin/python -m unittest selected admin/auth smoke tests` - `./scripts/check-focused.sh` ### Next / Blocked - Keep issue open until the local multi-repo worktree changes are committed and pushed.
Author
Owner

Codex State: done

Summary

  • The access manifest contributes the access-owned admin router, and module startup verifies /api/v1/admin/users without core base router registration.
  • Legacy govoplan_core.api.v1.admin and admin_schemas imports now re-export the access-owned router and schemas.

Changed Files

  • /mnt/DATA/git/govoplan-core/src/govoplan_core/api/v1/admin.py
  • /mnt/DATA/git/govoplan-core/src/govoplan_core/api/v1/admin_schemas.py
  • /mnt/DATA/git/govoplan-core/tests/test_module_system.py

Verification

  • cd /mnt/DATA/git/govoplan-core && ./.venv/bin/python -m unittest tests.test_module_system
  • cd /mnt/DATA/git/govoplan-core && ./.venv/bin/python -m unittest tests.test_api_smoke.ApiSmokeTests.test_tenant_user_group_role_and_api_key_administration
## Codex State: done ### Summary - The access manifest contributes the access-owned admin router, and module startup verifies /api/v1/admin/users without core base router registration. - Legacy govoplan_core.api.v1.admin and admin_schemas imports now re-export the access-owned router and schemas. ### Changed Files - `/mnt/DATA/git/govoplan-core/src/govoplan_core/api/v1/admin.py` - `/mnt/DATA/git/govoplan-core/src/govoplan_core/api/v1/admin_schemas.py` - `/mnt/DATA/git/govoplan-core/tests/test_module_system.py` ### Verification - `cd /mnt/DATA/git/govoplan-core && ./.venv/bin/python -m unittest tests.test_module_system` - `cd /mnt/DATA/git/govoplan-core && ./.venv/bin/python -m unittest tests.test_api_smoke.ApiSmokeTests.test_tenant_user_group_role_and_api_key_administration`
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: add-ideas/govoplan-access#4
No description provided.