add7c1b500
- Standardize built-in tool users for shared writable profile mounts - Mount canonical non-Git profile sources across compatible instances - Report restart-required outcomes and guard active profile deletion - Surface restart feedback in config profile editing Quality gates: frontend build passed; backend py_compile and LSP passed. Skipped: backend pytest/Ruff unavailable; Docker/manual checks not approved.
29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
# Test Plan: Live Config Profile Refresh
|
|
|
|
## Backend
|
|
|
|
- Canonical file and directory paths are profile-scoped and reject traversal.
|
|
- Two compatible instances receive the same host mount source.
|
|
- A container-side file edit is visible through the profile read API and another instance mount.
|
|
- A profile save updates canonical content and returns overwrite warnings when applicable.
|
|
- Topology, environment, runtime, and legacy-instance changes return `restart_required`.
|
|
- Incompatible users return `incompatible_permissions`.
|
|
- Deleting a profile with running dependents is rejected with their instance identifiers.
|
|
- Git mount content is unchanged by this feature.
|
|
|
|
## Container/image compatibility
|
|
|
|
- Each built-in supported image uses the common non-root UID/GID.
|
|
- Generated manifest Dockerfiles and entrypoints retain that user and writable mount access.
|
|
- Existing instances are not mutated until restart/recreation.
|
|
|
|
## Frontend
|
|
|
|
- Desktop and mobile save flows display refreshed/shared-working-copy, overwrite-warning, restart-required, and incompatible-permissions results.
|
|
|
|
## Manual QA
|
|
|
|
- Open two compatible instances using one profile; edit a mounted file in one terminal and verify it in the other.
|
|
- Save a profile edit and verify both running instances see it without terminal disconnection.
|
|
- Verify profile deletion is blocked while either instance is running.
|