prometeu-studio/discussion/lessons/DSC-0001-studio-docs-import/LSN-0007-pack-wizard-shell-legacy.md

2.3 KiB

id ticket title created tags
LSN-0007 studio-docs-import Pack wizard shell legacy lesson 2026-03-26
studio
legacy-import
pack-wizard
packer-boundary

Context

Legacy import from docs/studio/learn/pack-wizard-shell.md.

This lesson keeps the first-wave Studio rule for the Pack wizard as a shell over packer-owned operations, aligned with docs/studio/specs/4. Assets Workspace Specification.md and packer integration docs.

Key Decisions

Pack should be a Studio-owned wizard shell over packer-owned operations

What: The Pack flow should be a phase-based wizard with Summary, Validation, Packing, and Result, where Studio owns presentation and state binding while packer owns build-set summary, validation, execution, progress, and result semantics. Why: A plausible-looking Studio modal can quietly reimplement packer semantics or hide operational phases. The wizard should expose those phases without pretending Studio owns build execution. Trade-offs: The wizard structure is more explicit than one opaque modal state, but it keeps operational ownership honest and makes blocked, failed, and successful outcomes easier to reason about.

Patterns and Algorithms

  • Treat Pack as a workspace-level action over the current build set, not a selected-asset action.
  • Ask packer for the build-set summary instead of recomputing it locally from navigator state.
  • Use a separate validation phase that runs only on registered + included in build.
  • Reflect packer-owned progress honestly and keep the first wave non-cancelable if packer does not support cancel.
  • Make assets.pa the primary runtime artifact in the result summary; companion artifacts remain supporting detail.

Pitfalls

  • Treating pack summary as a local Studio recomputation.
  • Using one opaque modal state instead of explicit operational phases.
  • Letting unrelated assets influence wizard validation.
  • Exposing fake cancel behavior unsupported by packer.
  • Making companion artifacts dominate the main result summary.

Takeaways

  • The important lasting rule is ownership: Studio shells the flow, packer owns the semantics.
  • Explicit phases are a didactic and operational feature, not decorative UI ceremony.
  • Legacy source attribution: docs/studio/learn/pack-wizard-shell.md.