# PR-12 Cleanup and Unused Surface Removal Before the Runtime Service Wave

Domain Owner: `docs/packer`
Cross-Domain Impact: `docs/studio`

## Briefing

Before introducing the runtime service wave, the current packer code should be reduced and cleaned so the next PRs are not built on top of contradictory seams.

The current code still mixes:

- implicit concrete instantiation inside services;
- filesystem-per-call orchestration;
- service boundaries that do not match the desired runtime model;
- inactive or out-of-scope capabilities that are not part of the immediate Studio-driven service wave.

This PR creates the cleanup baseline.

## Objective

Remove unused/out-of-scope packer surfaces, align code with the current specs, and prepare a smaller active service boundary for the runtime implementation track.

## Dependencies

- [`./PR-11-packer-runtime-restructure-snapshot-authority-and-durable-commit.md`](./PR-11-packer-runtime-restructure-snapshot-authority-and-durable-commit.md)
- [`../decisions/Filesystem-First Operational Runtime and Reconcile Boundary Decision.md`](../decisions/Filesystem-First%20Operational%20Runtime%20and%20Reconcile%20Boundary%20Decision.md)
- [`../specs/2. Workspace, Registry, and Asset Identity Specification.md`](../specs/2.%20Workspace,%20Registry,%20and%20Asset%20Identity%20Specification.md)
- [`../specs/3. Asset Declaration and Virtual Asset Contract Specification.md`](../specs/3.%20Asset%20Declaration%20and%20Virtual%20Asset%20Contract%20Specification.md)
- [`../specs/5. Diagnostics, Operations, and Studio Integration Specification.md`](../specs/5.%20Diagnostics,%20Operations,%20and%20Studio%20Integration%20Specification.md)

## Scope

- align `asset.json` handling with the current spec baseline, including `asset_uuid`
- remove inactive `doctor`, `build/pack`, and reconcile-oriented implementation paths from the active runtime-service wave
- remove concrete default instantiation patterns that hide composition ownership
- simplify the active service surface to what the current Studio integration actually needs
- remove code that is not being used for the immediate service-only wave
- correct service contract seams that currently mix read-oriented and mutation-oriented responsibilities in contradictory ways

## Non-Goals

- no runtime snapshot yet
- no write lane yet
- no Studio adapter redesign yet
- no reintroduction of doctor/build/reconcile in this wave

## Execution Method

1. Align manifest/declaration code with the current spec baseline.
2. Remove inactive service paths that are not part of the current Studio-driven runtime wave.
3. Eliminate implicit composition where services instantiate concrete collaborators by default.
4. Correct active service contracts so the remaining surface matches the Studio-facing runtime plan.
5. Leave the repository with one smaller active surface that the runtime work can replace cleanly.

## Acceptance Criteria

- `asset_uuid` is no longer missing from the active declaration path
- inactive `doctor`, `build/pack`, and reconcile implementation paths are removed from the active wave
- concrete service composition is no longer hidden behind broad default constructors in the active path
- contradictory active service contracts are corrected before runtime work starts
- the remaining active surface is focused on the service capabilities the Studio currently needs

## Validation

- declaration/parser tests for the manifest baseline
- cleanup tests confirming out-of-scope service paths are no longer part of the active surface
- regression tests confirming the remaining active service surface still works
- smoke validation that Studio-facing packer usage still boots after the cleanup

## Affected Artifacts

- `prometeu-packer/src/main/java/p/packer/**`
- `prometeu-packer/src/test/java/p/packer/**`
- `prometeu-studio/**` only where the active service surface changes
