4.2 KiB
4.2 KiB
PR-29 Pack Wizard Contract Adjustments for Summary and Validation
Domain Owner: docs/packer
Cross-Domain Impact: docs/studio
Briefing
The first public contract wave for the Pack Wizard has already landed in prometeu-packer-api, but the newly accepted packer decision for summary and validation closes a more specific shape than the initial API slice.
In particular:
summaryis no longer aggregate-only;summarymust expose a per-asset list for the active pack set;validationis primarily a per-asset blocking-diagnostics list;validationordering is not a packer concern in the first wave;- aggregate validation data is secondary, not the center of the contract.
This PR adjusts the public contracts so they match the accepted packer decision exactly.
Reference decision:
Objective
Align the public prometeu-packer-api contract for summary and validation with the accepted decision before deeper implementation work continues.
Dependencies
./PR-28-pack-wizard-public-contracts-summary-validation-and-execution.md../decisions/Pack Wizard Summary and Validation Contracts Decision.md- cross-domain reference:
../../studio/pull-requests/PR-11-pack-wizard-shell-and-packer-contract-consumption.md
Scope
- adjust the public summary DTOs to include:
- aggregate included asset count
- per-asset summary list
- adjust the public validation DTOs to make the per-asset blocking-diagnostics list the primary payload
- add or rename DTOs as needed for:
- per-asset summary entry
- per-asset validation entry
- keep
lastModifiedpresent in both summary and validation item contracts - preserve the
read-onlyandnon-mutatingnature of summary and validation - keep the Studio-facing API explicit and aligned with the accepted packer decision
Non-Goals
- no runtime implementation of summary in
prometeu-packer-v1 - no runtime implementation of validation in
prometeu-packer-v1 - no
pack executioncontract changes unless strictly required by compile compatibility - no Studio implementation work in this PR
Execution Method
- Revisit the current
summaryandvalidationpublic DTOs inprometeu-packer-api. - Expand the summary result shape so it carries:
- total included asset count
- per-asset summary entries
- Expand or reshape validation so the returned per-asset entries expose:
- asset id
- asset name
- asset path
lastModified- blocking diagnostics
- Keep validation aggregate data optional or secondary rather than the primary response focus.
- Preserve defensive-copy and validation patterns already used by public API records.
- Update Studio compile surfaces only as needed to keep the workspace consuming the revised contracts coherently.
Acceptance Criteria
- the public summary contract matches the accepted decision shape
- the public validation contract matches the accepted decision shape
lastModifiedexists in both per-asset summary and per-asset validation entries- validation payloads carry blocking diagnostics only in the first wave
- compile succeeds across
prometeu-packer-api,prometeu-packer-v1, and any directly affected Studio call sites
Validation
- compile validation for
prometeu-packer-api - compile validation for
prometeu-packer-v1 - compile validation for
prometeu-studio - lightweight API tests if public message-shape tests already exist
Affected Artifacts
docs/packer/decisions/**docs/packer/pull-requests/**prometeu-packer/prometeu-packer-api/src/main/java/p/packer/PackerWorkspaceService.javaprometeu-packer/prometeu-packer-api/src/main/java/p/packer/messages/**prometeu-packer/prometeu-packer-api/src/main/java/p/packer/dtos/**prometeu-studio/**compile-level consumers of the summary/validation contracts