Skip to content

Compat baseline 3/5: make minHost metadata actionable (diagnostics, prerelease-aware comparison) #133

Closed

Description

@cchacs

Effort: M

Part of #102. Depends on Compat baseline 1/5.

minHost is exposed by the plugin loader as metadata only; no frontend enforcement exists, and existing manifests carry placeholder values (e.g. 1.0.0) that match no real dependency. Make the field useful without enforcing wrong values.

Scope

  • Implement a prerelease-aware version comparison (the host is on 0.3.0-alpha.N; plain semver comparison mishandles prereleases).
  • Surface a clear diagnostic when a plugin's declared minimum is not met (what plugin, what it needs, what the host is), instead of silently loading or silently skipping.
  • Do not blindly enforce existing placeholder values such as 1.0.0: define how to treat unset, placeholder and real values, and document the rule.
  • Make the diagnostic available in the Settings diagnostics bundle.

Acceptance criteria

  • A plugin declaring a real minimum above the host version gets a diagnostic naming the gap.
  • Prerelease ordering is correct (0.3.0-alpha.2 < 0.3.0-alpha.10 < 0.3.0).
  • Plugins with unset or placeholder minHost behave exactly as today.
  • Unit tests cover the comparison and the three value classes.

Out of scope

Choosing the baseline version (sub-issue 5).

Activity

  1. pullfrog commented on Oct 2, 2026

    @pullfrog
  2. cchacs commented on Oct 2, 2026

    @cchacs
    CollaboratorAuthor

    @itsjustroxi this sub-issue (of #102) has a policy decision: how to treat minHost values that are unset, placeholder (such as the existing 1.0.0) or real. The issue says not to blindly enforce placeholder values, so the rule for each class needs to be decided and documented, along with the diagnostic shown when a real minimum is not met.


    Generated by Claude Code

  3. deleted a comment from pullfrog on Oct 9, 2026
  4. deleted a comment from pullfrog on Oct 9, 2026
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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions