feat(enrichment): add package-health analyzer - #3434
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Caution 🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥 🛑 Gittensory review result - reject/close recommendedReview updated: 2026-07-05 07:01:11 UTC
🛑 Suggested Action - Reject/Close
Review summary Blockers
Nits — 6 non-blocking
Why this is blocked
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3434 +/- ##
=======================================
Coverage 93.46% 93.46%
=======================================
Files 291 291
Lines 30792 30792
Branches 11223 11223
=======================================
Hits 28781 28781
Misses 1355 1355
Partials 656 656
🚀 New features to boost your workflow:
|
|
Gittensory is closing this pull request on the maintainer's behalf (AI reviewers agree on a likely critical defect: review-enrichment/src/analyzers/package-health.ts:185 uses `packument.users` as a fallback maintainer count, but npm packument `users` is not maintainer metadata, so a package with no `maintainers` array and one starred/user entry will be reported as `sole-maintainer`; drop that fallback or replace it with a real maintainer source, e.g. `const maintainerCount = typeof ecosystems?.maintainers_count === "number" ? ecosystems.maintainers_count : Array.isArray(packument?.maintainers) ? packument.maintainers.length : undefined;`.). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed. |
Summary
packageHealthREES analyzer for newly-added or upgraded npm/PyPI dependencies with maintenance-health signals.Fixes #1511
Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coveragelocally;codecov/patchrequires >=99% coverage of the lines AND branches you changed (aim for 100% on your diff so CI variance does not fail near the threshold). Global coverage is a non-blocking trend with a loose 90% backstop, not the gate.npm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderateAdditional validation:
npm --prefix review-enrichment run buildnode review-enrichment/test/package-health.test.tsnode review-enrichment/test/analyzer-registry.test.tsnode review-enrichment/scripts/generate-analyzer-metadata.mjs --checknpm run db:migrations:checkIf any required check was skipped, explain why:
npm run test:coveragewas not run locally; this change is covered by the focused REES analyzer suite and CI will run coverage in its Linux environment.npm run test:mcp-packwas not run; this PR does not change MCP packaging.npm run ui:openapi:checkwas not run separately;npm run ui:buildregenerated OpenAPI successfully and the intended UI change is generated REES analyzer metadata.npm run ui:lintwas not run locally; this PR does not touch UI source beyond generated analyzer metadata.npm run rees:testwas also run locally: 1017/1019 tests passed; the two failures were existing Sentry CLI upload tests whose mocked process returned a Windows-style null status. The new package-health tests passed in that run.Safety
UI Evidencesection below with JPG/JPEG or PNG screenshots arranged as organized, captioned, clickable thumbnails. SVG screenshots are not used as review evidence. Review-only screenshots or recordings are not committed to the repository.UI Evidence
No visible UI change. The UI diff is generated analyzer metadata consumed by the existing REES analyzer reference surface.
Notes