prometeu-studio/docs/packer/pull-requests/PR-01-packer-project-bootstrap-and-module-boundaries.md
2026-03-24 13:42:41 +00:00

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