-
Notifications
You must be signed in to change notification settings - Fork 24
[EPIC] [MVP] Improvements to Thoth advises output #434
Copy link
Copy link
Open
Labels
kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.needs-triageIndicates an issue or PR lacks a `triage/...` label and requires one.Indicates an issue or PR lacks a `triage/...` label and requires one.priority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next release.Must be staffed and worked on either currently, or very soon, ideally in time for the next release.sig/user-experienceIssues or PRs related to the User Experience of our Services, Tools, and Libraries.Issues or PRs related to the User Experience of our Services, Tools, and Libraries.
Metadata
Metadata
Assignees
Labels
kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.needs-triageIndicates an issue or PR lacks a `triage/...` label and requires one.Indicates an issue or PR lacks a `triage/...` label and requires one.priority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next release.Must be staffed and worked on either currently, or very soon, ideally in time for the next release.sig/user-experienceIssues or PRs related to the User Experience of our Services, Tools, and Libraries.Issues or PRs related to the User Experience of our Services, Tools, and Libraries.
Type
Projects
Status
📋 Backlog
Problem statement
As a Python Developer,
I would like to have concise information about the quality of my software stack and all its transitive dependencies,
so that I get some absolute metrics such as:
Which would be aggregated and compared to metrics for packages present in Thoth's database to provide a global quality metric for a given software stack, eventually given a specific criteria (maintenance, code quality...), in the form of a percentage or score (A, B, C...).
We consider the metrics derived from direct and transitive dependencies to be of the same importance, so there will not be any difference in the weight given to information carried by the two types of dependencies.
Proposal description
--scoringflag is passed onthamos advisethamos#1149Taking the example of OSSF Scorecards, we already aggregate this information in prescriptions which are used directly by the adviser. However, the aggregation logic present in
prescriptions-refresh-jobonly updates prescriptions for packages already present in the repository. We could either aggregate Scorecards data for more packages using the OSSF BigQuery dataset or have our own tool that computes Scorecards metrics on a new package release, which could be integrated directly intopackage-update-jobfor instance. This would most likely consist in a simple script querying the GitHub API and computing the metrics on the project's last release commit.package-update-jobor on a regular scheduleFor example, if a software stack is in the 95th percentile of packages with the best development practices (CI/CD, testing...), score it as "A" for this category. Compute a global score from the different category scores.
Additional context
Actionable items
If implemented, those improvements will most likely be a way for maintainers of a project to show that they use a trusted software stacks to their users. AFAICS, this would not provide any actionable feedback to developers about their dependencies.
Acceptance Criteria
To define.