75 lines
3.8 KiB
Markdown
75 lines
3.8 KiB
Markdown
# 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
|