Skip to content

Group related resolve targets across CLI and MCP - #327

Merged
jlitola merged 5 commits into
mainfrom
jlitola/grouped-resolve-target-output
Aug 31, 2026
Merged

Group related resolve targets across CLI and MCP#327
jlitola merged 5 commits into
mainfrom
jlitola/grouped-resolve-target-output

Conversation

@jlitola

@jlitola jlitola commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • consume the backend ordered resolve-target presentation list in exactly one GraphQL request
  • group only contiguous equal non-null group keys while preserving order across CLI text, CLI JSON, and MCP
  • keep every package, repository, and site target distinct while moving its metrics onto the identity line
  • assign compact evidence lanes consistently: packages show downloads/license, repositories show stars/code, sites show docs, and packages retain projected fallbacks when a corresponding target kind is absent
  • use one Related targets heading, render exact lowercase mit as MIT in text, and keep JSON lossless
  • preserve ambiguity, confidence, protection, descriptions, repository identity, availability, truncation, and malicious-package actionability

Backend coordination: githits-com/pkgseer-backend#2141 is deployed to dev and production. This PR does not modify pkgseer-backend.

Validation

  • bun test: 3520 passed, 0 failed
  • focused resolve and smoke tests: 110 passed, 0 failed
  • typecheck, lint, formatting, diff check, and build passed
  • public-package and plugin asset validation passed
  • built CLI and MCP smokes passed
  • authenticated source CLI smoke passed all 90 steps, including live express and expressjs grouped resolve shapes and JSON parity
  • authenticated source MCP smoke passed all 47 steps, including resolve_target text and JSON
  • internal code review clean
  • retained Claude Opus review clean after the compact UX and final evidence-plan cleanup, including a fresh-context full-delta check

Live resolve UX

  • express groups npm:express, github:expressjs/express, and site:expressjs.com; metrics stay on their semantic target lanes
  • expressjs directly matches site:expressjs.com and keeps the package and repository as relation-only members of the same group

Render backend-ordered package, repository, and site relationships consistently across CLI text, JSON, and local MCP output. Preserve direct-match security behavior while exposing relation evidence and truncation without per-target requests.
Document the backend target bound and unavailable-count rendering.\nHarden live smoke guidance for nested direct and relation-only members.
Keep live CLI and MCP smoke guidance from treating relation-only group leads as direct actions.\nClarify contradictory availability signals and structurally inapplicable evidence.
@jlitola jlitola added the enhancement New feature or request label Aug 29, 2026
Keep package, repository, and site evidence in dedicated inline lanes with package fallbacks for missing relations. Unify grouped members under Related targets and normalize the lowercase MIT display.
Return a target resolver from the group evidence plan so CLI and MCP share the same invariant without parallel array indexes or impossible fallback branches.
@jlitola
jlitola marked this pull request as ready for review August 31, 2026 07:26
@jlitola
jlitola merged commit caf28c0 into main Aug 31, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant