3.0 KiB
3.0 KiB
PR-14 Project Runtime Core, Snapshot Model, and Lifecycle
Domain Owner: docs/packer
Briefing
With cleanup and bootstrap in place, the packer can now introduce the actual project runtime.
This PR adds the runtime boundary, snapshot state model, bootstrap/load behavior, and disposal lifecycle that later query and command services will use.
Objective
Deliver the project-scoped runtime core and one coherent in-memory snapshot model for the active service wave.
Dependencies
./PR-12-cleanup-and-unused-surface-removal-before-runtime-service-wave.md./PR-13-embedded-bootstrap-container-owned-event-bus-and-packer-composition-root.md../specs/2. Workspace, Registry, and Asset Identity Specification.md../specs/5. Diagnostics, Operations, and Studio Integration Specification.md
Scope
- add the project runtime abstraction
- define snapshot content and generation ownership only for the active service wave
- define runtime bootstrap/load and disposal behavior
- isolate filesystem repositories behind the runtime boundary
- keep snapshot scope limited to the data needed by the active Studio-facing service path
- keep the runtime implementation inside
prometeu-packer-v1while preserving the external contract inprometeu-packer-api
Non-Goals
- no Studio adapter work yet
- no doctor/build/reconcile functionality
- no full query migration yet
- no write lane yet
- no speculative snapshot fields for capabilities that are not part of the active wave
Execution Method
- Introduce project runtime state/container types.
- Load registry plus asset declarations into the runtime snapshot.
- Define runtime generation, refresh, and disposal rules.
- Keep the runtime state minimal and aligned with the currently used service surface.
- Make later query/command work depend on this runtime boundary rather than direct filesystem scans.
Acceptance Criteria
- one coherent runtime exists per active project
- runtime bootstrap/load is explicit and testable
- runtime disposal is explicit
- filesystem repositories are isolated behind the runtime boundary
- runtime state is limited to what the active Studio service wave actually consumes
Validation
- runtime bootstrap tests
- snapshot generation tests
- lifecycle tests for bootstrap, refresh, and disposal
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/**