Skip to content

Synthesize a lore package from a native PURL #553

Open

Description

@David-Noble-at-work

Epic: #446

Synthetic is the right word and it stays: given a native PURL, devlore can synthesize a lore package for any
supported platform -- a wrapper whose four lifecycle actions delegate to the native manager.

Today synthesis is driven by PackageSource, a bare string naming a manager, and the wrapper is assembled
from it across Release.Lifecycle() and Release.PhaseActions(). The input should be a platform.PURL,
which already carries type, namespace, name and version, and which is what the manager layer speaks.

Note VerifySyntheticPackage was removed in the PR that reshaped the index gate -- it had no callers
anywhere, tests included. Verification belongs in this design, but not as that function.

Activity

  1. David-Noble-at-work commented on Sep 10, 2026

    @David-Noble-at-work
    ContributorAuthor

    Ruled 2026-09-09, from the #814 review: this feature is true and stays in this epic, and it is not #814's
    subject.

    What synthesis produces is a starting place, not a lifecycle: a devlore package for a native product with
    the deploy pipeline's install phase synthesized and the other three missing — prepare, provision, verify.
    It becomes useful when a hook lets the missing pieces be declared in the scope of a
    packages-manifest.yaml, so a manifest can say what to prepare, provision and verify around a native
    install. That design is TBD and belongs here.

    Consequences recorded elsewhere today: writ's path plans a native package as one pkg.install with no
    phase wrapper (#814's plan, the devlore-provider direction on #446); the PURL as the vocabulary is
    #551's; verification of a native install has no seat yet and is one of the missing pieces above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Epic:LorePackaginglore packaging and the registryfeatureDeliverable unit within an epic

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions