Skip to content

Align platform resolution with ADR 0034 #376

Description

@nkraetzschmar

Context: ADR 0034 defines the shared terminology for Garden Linux features and clarifies that GARDENLINUX_PLATFORM is the authoritative platform identifier exposed in release metadata.

This library contains a parallel implementation of the feature type system. Align it with ADR 0034:

  • The CName.platform property returns platforms[0] and falls back to a frankenstein constant controlled by the GL_ALLOW_FRANKENSTEIN environment variable. This logic duplicates the single-platform-or-frankenstein resolution from the build layer, but with different environment variable names and without being tied to the builder's BUILDER_FEATURES_PLATFORMS output. It should be aligned: the single-platform-or-frankenstein resolution belongs in the build layer, not in a parsing library. The library should read GARDENLINUX_PLATFORM from release files rather than re-deriving it from the feature list.
  • The library's Parser.filter_as_dict() correctly separates features by type, which is consistent with ADR 0034 and can be retained.
  • The GL_ALLOW_FRANKENSTEIN and GL_ALLOW_MULTIPLE_PLATFORMS environment variables in the library are not defined by the builder and should be removed in favour of reading the already-resolved GARDENLINUX_PLATFORM value from the release file.

Expected outcome:

  • The library treats GARDENLINUX_PLATFORM from release metadata as the authoritative platform value.
  • Platform resolution is no longer reimplemented in the parsing layer.
  • Library-specific GL_ALLOW_FRANKENSTEIN and GL_ALLOW_MULTIPLE_PLATFORMS controls are removed.
  • Existing type-based feature filtering remains intact.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions