64 lines
2.4 KiB
Markdown
64 lines
2.4 KiB
Markdown
# PR-01 Packer Project Bootstrap and Module Boundaries
|
|
|
|
Domain Owner: `docs/packer`
|
|
|
|
## Briefing
|
|
|
|
Create the standalone `prometeu-packer` project and establish the production module boundaries required by the packer specs.
|
|
|
|
This PR starts the implementation track without leaking packer behavior into Studio.
|
|
|
|
## Objective
|
|
|
|
Deliver a separate top-level `prometeu-packer` project with build wiring, package boundaries, test harness, and service-facing contracts that future PRs can implement incrementally.
|
|
|
|
## Dependencies
|
|
|
|
- [`../specs/1. Domain and Artifact Boundary Specification.md`](../specs/1.%20Domain%20and%20Artifact%20Boundary%20Specification.md)
|
|
- [`../specs/5. Diagnostics, Operations, and Studio Integration Specification.md`](../specs/5.%20Diagnostics,%20Operations,%20and%20Studio%20Integration%20Specification.md)
|
|
|
|
## Scope
|
|
|
|
- add `prometeu-packer` as a separate project in the repository build
|
|
- define the baseline package/module layout for:
|
|
- workspace and registry services
|
|
- declaration parsing and validation
|
|
- mutation preview/apply services
|
|
- build planning and artifact emission
|
|
- diagnostics and event reporting
|
|
- define the public service contracts that Studio may consume through adapters
|
|
- add baseline unit-test and fixture support for packer-only development
|
|
|
|
## Non-Goals
|
|
|
|
- no full workspace semantics yet
|
|
- no asset build emission yet
|
|
- no Studio UI changes beyond dependency wiring preparation
|
|
|
|
## Execution Method
|
|
|
|
1. Add `prometeu-packer` to Gradle settings and repository build wiring.
|
|
2. Create baseline package namespaces and service interfaces.
|
|
3. Establish a packer-owned test fixture layout for workspace samples and artifact assertions.
|
|
4. Keep Studio integration contract-based so Studio does not depend on filesystem internals.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- `prometeu-packer` exists as a separate build target
|
|
- packer contracts compile without depending on Studio UI classes
|
|
- future PRs can add implementations without restructuring the project root
|
|
- packer test infrastructure is usable from the next PR onward
|
|
|
|
## Validation
|
|
|
|
- build graph includes `prometeu-packer`
|
|
- baseline compile test for public contracts
|
|
- fixture-loading smoke test in the new project
|
|
|
|
## Affected Artifacts
|
|
|
|
- `settings.gradle.kts`
|
|
- `prometeu-packer/**`
|
|
- repository build wiring
|
|
- cross-domain reference: Studio adapter call sites that will later consume packer services
|