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.
1.9 KiB
1.9 KiB
Live Config Profile Refresh — Tasks
Review Workload Forecast
| Field | Value |
|---|---|
| Estimated changed lines | 500–750 |
| 400-line budget risk | High |
| Chained PRs recommended | Yes |
| Suggested split | Container-user standardization → canonical profile mounts → API/UI feedback → verification |
| Delivery strategy | feature-branch-chain |
| Chain strategy | feature-branch-chain |
Decision needed before apply: No Chained PRs recommended: Yes Chain strategy: feature-branch-chain 400-line budget risk: High
Tasks
- RED/GREEN — shared container user: standardize built-in tool images, manifests, and permission handling on one shared non-root user/group; detect incompatible legacy images.
- RED/GREEN — canonical profile storage: create canonical host-side directories/files per profile and mount them directly into compatible instances, without masking workspace mounts.
- TRIANGULATE — writable sharing: prove UI and container edits are shared across instances, with last-writer-wins overwrite warnings.
- RED/GREEN — topology/API contract: return restart-required or incompatible-permissions outcomes for paths that cannot mount live; defer Git mount mutation.
- RED/GREEN — UI feedback: show shared-working-copy, warning, restart-required, and incompatible-permissions results in desktop and mobile profile editors.
- Verify: run targeted backend/frontend tests, typecheck, lint, image/manifest checks, and manual multi-instance permission tests.
Verification Notes
- Passed: frontend production build (
npm run build), Python compilation for changed backend modules, and targeted LSP diagnostics. - Skipped: backend pytest and Ruff; this environment has no project-managed Python runner, system Python lacks those packages, and the user declined system-package installation.
- Skipped: Docker/Compose and manual multi-instance checks; explicit Docker approval was not granted.