Skip to content

Composition and workspace bundles

Composition and workspace bundles join exact Product releases while keeping release identity and Workspace plan scope distinct.

Composition and workspace bundles join releases through Installable Products. A composition groups Product content. A Workspace bundle names the installs in a plan. Each keeps the exact release and its needs in view.

Ownership

A composition is an authoring assembly, not an installed Product. Its children become references in one release manifest. A release can own content, reference other Products, or do both. Each shape uses the same install path.

A Block tree is not a composition of Products. A Product wraps one root Block, and that Block can hold child Blocks. The whole tree ships in one release. A child Block gets no release, listing, or install of its own. Use a Product reference only when one Product truly depends on another Product.

A Workspace bundle groups desired installs by namespace. The Workspace's design owner accepts the plan. The Workspace apply contract runs that plan. Its result names each install and its state.

Lifecycle

A composition child names an exact Product key and version. It also has its own key, namespace, bindings, and adoption choice. Each dependency must name another child. The graph must not loop. Publication turns the assembly into required release references. Preview checks them against the target Workspace.

A reference can create a Product, adopt an exact match, or create when no match exists. Each referenced Product keeps its own release and install identity. A display label explains the reference's role. The label does not change how it works.

Boundaries

A Workspace bundle can manage part of a portfolio. Installs absent from its declared plan remain unmanaged by that plan. Omission does not request deletion. A mixed portfolio still shares the Workspace's design checks. Management authority explains who may change the design.

A referenced Product does not inherit its parent's installation profile. Each reference may name a profile for its own exact release. Without that choice, the child resolves no profile.

Failures

A composition fails when child keys or namespaces collide, a needed child is missing, or the graph loops. A release cannot reference itself or pin two digests for the same release. Preview can find a missing release or a supplier that cannot meet an exact pin. A valid assembly does not prove that the Workspace can install it.

Recovery

Composition recovery starts with the child or reference named by the failure. Correct its key, version, namespace, or inputs. Preview the whole release again. One supplier change can affect several consumers. Keep the accepted plan until its replacement is checked.

For a Workspace bundle, read current installs before applying the revised plan. Treat removal as an explicit retirement decision, with its own dependency checks.