feat: add target resolution CLI dogfood surface - #267
Draft
jlitola wants to merge 12 commits into
Draft
Conversation
Introduce the internal GraphQL client with compact and detailed field modes. Reuse package intelligence error classification without changing public MCP service interfaces.
Add shared request normalization and compact response formatting, wire the internal service through both auth paths, and expose the branch-local dogfood command.
Add product smoke and durable CLI documentation, tighten GraphQL field selection for compact output, and cover privacy guidance for both free-text ranking hints.
Capture the production ranking contradiction found during Phase 1 dogfooding so it can be added to the backend evaluation corpus.
Record that package-kind constraints do not break the production tie while Google-specific task context selects the expected artifact.
Show descriptions and available popularity/trust signals for every candidate while keeping inspection off the hot path. Harden terminal rendering for unknown backend values and control sequences.
Render ranked targets as a neutral numbered candidate list with inline trust evidence, canonical repository labels, and safe ambiguous follow-ups. Record the approved size exception and the separate repository-wide terminal sanitization plan.
Reduce resolver query complexity by fetching full candidate fields only for the ranked list. Preserve stable CLI output for lightweight best and protected references, restore auto-login metadata, and carry completed plan decisions into durable documentation.
Carry the approved size exception into durable implementation documentation before deleting the completed temporary plan.
Record the pending CLI release impact, fully pin the lightweight GraphQL reference selection, preserve the backend no-result invariant, and refresh follow-on release guidance. Normalize whitespace after terminal sanitization.
Normalize whitespace before and after terminal control removal so newlines remain separators while stripped controls cannot leave duplicate gaps. Keep the release blocker in mutable changelog impact metadata.
Cover tab separators alongside newlines and stripped controls, and scope the follow-on sanitizer contract to free-text fields without changing identity or echo spacing.
jlitola
force-pushed
the
resolve-target-plan
branch
from
August 11, 2026 13:12
cf760b5 to
92563d4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
githits resolve <name>as a CLI-only dogfood surface for package and GitHub repository target resolution.bestandprotectedMatcheson a lightweight GraphQL reference fragment while fetching full fields only for ranked candidates, keeping the production query below the complexity limit.Production dogfooding
Validation
bun test: 2,716 passed, 0 failed, 7,748 expectations across 160 files.bun run typecheck,bun run format:check, andbun run lintpassed.@githits/mcpbuilds passed.bun run smoke:cli: 76 steps passed, including authenticated resolve text and JSON.bun run smoke:mcp: 38 steps passed. A later rerun hit an expected productionRATE_LIMITEDenvelope on the existing back-to-backget_exampleprobes; direct calls succeeded after the returned retry window.Release posture
githits resolveuntil the production relevance, ambiguity wording, expected-volume latency/rate-limit, and linked-repository trust-evidence gates indocs/implementation/cli-commands.mdclear.githitsimpact is minor.@githits/mcpremains unchanged because Phase 1 exports resolver helpers only through the workspace-only internal surface.resolve_target, agent instructions, parity smoke, and agent eval are explicitly deferred to Phase 2 after CLI dogfooding.