# PR-18 Legacy Service Retirement and Regression Hardening Domain Owner: `docs/packer` ## Briefing After the active service-only wave is fully running through the runtime path, the repository should not keep duplicated legacy orchestration around as a competing semantic track. This PR retires the superseded legacy paths and hardens regression coverage around the smaller active service surface. It also closes the cleanup promise from `PR-12` by ensuring no unused packer capability families survive just because they existed before the runtime service wave. ## Objective Remove superseded legacy service paths and strengthen regression protection for the runtime-backed service wave. ## Dependencies - [`./PR-15-snapshot-backed-asset-query-services.md`](./PR-15-snapshot-backed-asset-query-services.md) - [`./PR-16-write-lane-command-completion-and-used-write-services.md`](./PR-16-write-lane-command-completion-and-used-write-services.md) - [`./PR-17-studio-runtime-adapter-and-assets-workspace-consumption.md`](./PR-17-studio-runtime-adapter-and-assets-workspace-consumption.md) ## Scope - retire duplicated filesystem-per-call paths superseded by the active runtime-backed service wave - remove temporary shims that were tolerated only during the migration window - harden regression coverage around the remaining active service surface - remove leftover inactive `doctor`, `build/pack`, and reconcile code that no longer belongs to the service-only wave - preserve the `prometeu-packer-api` surface as the stable consumer contract while retiring legacy implementation paths in `prometeu-packer-v1` ## Non-Goals - no doctor reintroduction - no build/pack reintroduction - no reconcile observer work - no new architecture decisions ## Execution Method 1. Remove superseded legacy paths. 2. Remove temporary migration shims once the runtime-backed path is complete. 3. Simplify the active service composition around the runtime boundary. 4. Strengthen regression coverage around the remaining service wave. 5. Verify no split-brain semantics remain between active and legacy paths. ## Acceptance Criteria - superseded legacy paths are removed - the active runtime-backed service wave is the only semantic path for the currently used functionality - regression coverage protects the reduced active surface - no inactive capability family survives in code solely as speculative future support ## Validation - full active-service regression suite - Studio embedding regression suite - targeted tests proving no disagreement remains between active and legacy paths ## Affected Artifacts - `prometeu-packer/prometeu-packer-api/src/main/java/p/packer/**` - `prometeu-packer/prometeu-packer-v1/src/main/java/p/packer/services/**` - `prometeu-packer/prometeu-packer-v1/src/main/java/p/packer/models/**` - `prometeu-packer/prometeu-packer-v1/src/main/java/p/packer/events/**` - `prometeu-packer/prometeu-packer-v1/src/test/java/p/packer/services/**` - `prometeu-packer/prometeu-packer-v1/src/test/java/p/packer/testing/**` - integration fixtures