← Back to issue list

docs: Document non-transitive equality behavior of DistroBase

View original Github issue

Metadata

Project
craft-platforms
Number
#232
Type
issue
State
open
Author
lengau
Labels
—
Created
Updated
Closed
—

Current evaluation

Maintainer-filed docs task: DistroBase.__eq__ does partial version-series matching, making equality non-transitive (24.04==24.04.1 and 24.04==24.04.2 but 24.04.1!=24.04.2). Class docstring and dev guides should document this. Unlabelled, no comments or activity for 109 days.

Suggested action: needs triage

Reason: The issue is a valid, precisely scoped documentation request from maintainer lengau: it names the exact class (DistroBase), the exact behavior (non-transitive __eq__ with concrete examples24.04==24.04.1==24.04.2 but 24.04.1!=24.04.2), and the exact deliverables (class docstring plus relevant dev guides). However it carries no labels, no assignee, and zero comments after 109 days, so there is no evidence of maintainer triage or prioritization in the tracker. Source inspection was largely blocked (git show/grep on craft-platforms failed with 'No pinned SHA available'), so I could not confirm which docs/_dev pages reference the comparison semantics — that, plus the ambiguity of 'any relevant developer guides', is the main uncertainty behind the moderate confidence.

Evaluated by: mr-cal-bot

Impact: 22 Quick Win: 16 Complexity: 12 Confidence: 74 Actionability: 85

Issue body

The `DistroBase` class implements a custom `__eq__` method that supports partial version matching (e.g. comparing `"ubuntu@24.04"` to `"ubuntu@24.04.1"`). This leads to non-transitive equality: * `"24.04" == "24.04.1"` is `True`. * `"24.04" == "24.04.2"` is `True`. * `"24.04.1" == "24.04.2"` is `False`. We should document this behavior clearly in the class docstring and any relevant developer guides to prevent developers from making assumptions about transitivity in comparisons (which can affect sorting, collections, or search logic).

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 22
Quick Win: 16
Complexity: 12
Confidence: 74
Actionability: 85
needs triage Maintainer-filed docs task: DistroBase.__eq__ does partial version-series matching, making equality non-transitive (24.04==24.04.1 and 24.04==24.04.2 but 24.04.1!=24.04.2). Class docstring and dev guides should document this. Unlabelled, no comments or activity for 109 days.
stealth/space-bunny-alpha
Impact: 22
Quick Win: 15
Complexity: 12
Confidence: 84
Actionability: 78
keep open Maintainer-filed docs task: DistroBase.__eq__ does partial series matching so equality is non-transitive (24.04==24.04.1==24.04.2 but 24.04.1!=24.04.2). Class docstring and dev guides should document this. No labels or comments.
stealth/space-bunny-alpha
Impact: 27
Quick Win: 20
Complexity: 12
Confidence: 77
Actionability: 84
needs triage DistroBase has intentionally partial, non-transitive version equality; its class documentation and developer guides do not explain the comparison semantics.
qwen3.6-35b-a3b-mtp-q6
Impact: 30
Quick Win: 27
Staleness: 50
Complexity: 10
Confidence: 80
Support Request: 0
needs triage Documentation request to clarify non-transitive equality behavior in DistroBase.__eq__. Open 81 days with no labels or maintainer response.
qwen/qwen3.6-35b-a3b
Staleness: 45
Complexity: 10
Confidence: 85
Support Request: 0
needs triage Request to document non-transitive equality behavior of the DistroBase class to prevent developer confusion regarding version comparisons, sorting, and collections. Currently unlabelled and awaiting maintainer triage.
qwen3.6-35b-a3b-mtp-q6
Staleness: 40
Complexity: 10
Confidence: 90
Support Request: 5
needs triage Request to document non-transitive equality behavior in DistroBase class docstring and guides to prevent developer confusion. Currently unlabelled and awaiting team review.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.