-
Notifications
You must be signed in to change notification settings - Fork 87
Build a deterministic semantic version constraint evaluator for GuildPass capabilities #355
Copy link
Copy link
Open
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesThird CampaignOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsadvancedAdvanced difficulty tasks requiring significant domain knowledge and implementation effortAdvanced difficulty tasks requiring significant domain knowledge and implementation effortbackendBackend services, application logic, persistence integration, and server-side functionalityBackend services, application logic, persistence integration, and server-side functionalitycompatibilityCompatibility improvements across environments, versions, platforms, or integrationsCompatibility improvements across environments, versions, platforms, or integrationstype-safetyTypeScript type system improvements and strict type enforcementTypeScript type system improvements and strict type enforcement
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesThird CampaignOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsadvancedAdvanced difficulty tasks requiring significant domain knowledge and implementation effortAdvanced difficulty tasks requiring significant domain knowledge and implementation effortbackendBackend services, application logic, persistence integration, and server-side functionalityBackend services, application logic, persistence integration, and server-side functionalitycompatibilityCompatibility improvements across environments, versions, platforms, or integrationsCompatibility improvements across environments, versions, platforms, or integrationstype-safetyTypeScript type system improvements and strict type enforcementTypeScript type system improvements and strict type enforcement
Difficulty: Advanced
Type: Feature
Recommended labels (if available in this repo): backend, compatibility, type-safety, advanced
Background
GuildPass modules and future smart contract interfaces may evolve independently. Core will need a small compatibility primitive capable of determining whether a declared capability version satisfies a required version constraint.
This issue introduces a standalone semantic-version evaluation module and does not implement package management, deployments or contract upgrades.
Problem
There is currently no standard GuildPass mechanism for representing and evaluating version compatibility.
Ad-hoc string comparisons such as
2.10.0 > 2.9.0are incorrect and can produce subtle compatibility bugs.Expected Outcome
Implement a strongly typed semantic version parser and constraint evaluator suitable for internal GuildPass capability checks.
Suggested Implementation
The module should support valid semantic versions such as:
At minimum, support constraints such as:
Optionally support bounded compound constraints if implemented cleanly.
The implementation should:
Acceptance Criteria
1.10.0correctly compares greater than1.9.0.pnpm typecheckpasses.pnpm buildpasses.pnpm testpasses.Likely Affected Files/Directories
Independence Requirement
This task must remain a standalone compatibility primitive and must not depend on another GuildPass feature being implemented first.