prometeu-studio/docs/packer/pull-requests/PR-15-snapshot-backed-asset-query-services.md
2026-03-24 13:42:44 +00:00

71 lines
2.9 KiB
Markdown

# PR-15 Snapshot-Backed Asset Query Services
Domain Owner: `docs/packer`
Cross-Domain Impact: `docs/studio`
## Briefing
The first functional runtime-backed service wave should focus on queries.
This PR moves the asset query surface used by Studio onto the runtime snapshot and defines coherent query behavior without expanding into doctor/build/reconcile.
## Objective
Deliver snapshot-backed query services for the currently used asset-management surface.
## Dependencies
- [`./PR-14-project-runtime-core-snapshot-model-and-lifecycle.md`](./PR-14-project-runtime-core-snapshot-model-and-lifecycle.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)
- cross-domain reference: [`../../studio/specs/4. Assets Workspace Specification.md`](../../studio/specs/4.%20Assets%20Workspace%20Specification.md)
## Scope
- migrate `init_workspace`
- migrate `list_assets`
- migrate `get_asset_details`
- keep the query path coherent through the runtime snapshot
- preserve the packer-owned summary/details contract used by Studio
- remove leftover query orchestration that only existed to feed inactive `doctor`, `build/pack`, or reconcile flows
- preserve the modular boundary where `prometeu-studio` consumes only `prometeu-packer-api`
## Non-Goals
- no command/write lane yet
- no mutation apply yet
- no doctor/build/reconcile
## Execution Method
1. Route the active query APIs through the runtime snapshot.
2. Preserve coherent results across repeated query use.
3. Remove repeated recomputation from the active query path.
4. Remove active query seams that only support deferred capabilities.
5. Keep Studio-facing response semantics stable.
## Acceptance Criteria
- active asset queries are served from the runtime snapshot
- normal query use no longer depends on full filesystem recomputation
- Studio-facing details/listing semantics remain stable
- no doctor/build/reconcile behavior is introduced by this PR
- unused query seams kept only for deferred capabilities are removed from the active path
## Validation
- regression tests for `init_workspace`
- regression tests for `list_assets`
- regression tests for `get_asset_details`
- Studio smoke validation for list/details loading
## Affected Artifacts
- `prometeu-packer/prometeu-packer-api/src/main/java/p/packer/**`
- `prometeu-packer/prometeu-packer-api/src/main/java/p/packer/messages/**`
- `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/test/java/p/packer/services/**`
- `prometeu-packer/prometeu-packer-v1/src/test/java/p/packer/testing/**`
- `prometeu-studio/**` query adapter coverage