prometeu-studio/docs/packer/pull-requests/PR-08-assets-pa-and-companion-artifact-emission.md
2026-03-24 13:42:41 +00:00

64 lines
2.1 KiB
Markdown

# PR-08 assets.pa and Companion Artifact Emission
Domain Owner: `docs/packer`
## Briefing
Implement writer-side artifact emission on top of the deterministic build planner.
This PR turns validated and planned build state into the published packer outputs.
## Objective
Deliver `build`, `assets.pa`, and the baseline companion artifacts with deterministic ordering and stable writer-side contracts.
## Dependencies
- [`./PR-07-build-plan-determinism-and-cache-key-foundation.md`](./PR-07-build-plan-determinism-and-cache-key-foundation.md)
- [`../specs/1. Domain and Artifact Boundary Specification.md`](../specs/1.%20Domain%20and%20Artifact%20Boundary%20Specification.md)
- [`../specs/4. Build Artifacts and Deterministic Packing Specification.md`](../specs/4.%20Build%20Artifacts%20and%20Deterministic%20Packing%20Specification.md)
## Scope
- implement the `build` service
- emit `assets.pa`
- emit:
- `build/asset_table.json`
- `build/preload.json`
- `build/asset_table_metadata.json`
- implement canonical header serialization and file writing
- implement payload-region offset materialization from the build plan
- expose build summaries and applied-artifact metadata for Studio and CI
## Non-Goals
- no cartridge assembly
- no shipper coupling
- no speculative layout optimization beyond deterministic packing
## Execution Method
1. Convert the build plan into emitted artifact bytes and companion files.
2. Preserve header authority and 1:1 mirror rules for companion JSON outputs.
3. Add golden fixtures for emitted headers and companion artifacts.
4. Keep runtime-facing semantics bounded to writer-side production rules already specified.
## Acceptance Criteria
- `build` produces `assets.pa` and companion artifacts deterministically
- companion JSON outputs mirror the runtime header where required
- emitted ordering and offsets follow the build plan contract
- repeated equivalent builds do not drift
## Validation
- golden tests for `assets.pa` envelope and header bytes
- golden tests for companion JSON mirrors
- repeated-build determinism tests
## Affected Artifacts
- `prometeu-packer/**`
- build output fixtures
- CI artifact assertions