Skip to content

feat: prepare standalone site target compatibility - #283

Open
jlitola wants to merge 4 commits into
mainfrom
jlitola/site-target-client-compatibility
Open

feat: prepare standalone site target compatibility#283
jlitola wants to merge 4 commits into
mainfrom
jlitola/site-target-client-compatibility

Conversation

@jlitola

@jlitola jlitola commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Summary

GitHits can now safely send and render the reserved standalone-site target kind when the backend begins returning it. Existing product help and examples continue to advertise package and repository resolution only, so this is a compatibility release rather than feature activation.

Why

The backend must deploy additive SITE compatibility before standalone-site projection is enabled. Existing clients remain safe because result kinds are string-tolerant, but they cannot request a SITE preference and render a future site candidate with the generic target label. This PR adds first-class behavior for new versions without making client rollout a backend compatibility gate.

This PR is the companion client slice for the PkgSeer Phase 2 compatibility release. It does not advertise standalone-site resolution or activate any backend site writer.

Companion backend compatibility: https://github.com/githits-com/pkgseer-backend/pull/1781

Changes

  • Add SITE to the shared resolve-target request kind.
  • Accept site internally as a preferred-kind value while retaining the currently advertised package/repository help and invalid-value wording.
  • Treat site candidates as known values in terminal output.
  • Add request and response regression coverage.
  • Add the package changelog fragment for the compatibility release.

Verification

  • bun test packages/core-internal/src/services/resolve-target-service.test.ts packages/mcp/src/shared/resolve-target-request.test.ts packages/mcp/src/shared/resolve-target-response.test.ts src/commands/resolve.test.ts — 44 passed.
  • bun test packages/mcp/src/shared/resolve-target-request.test.ts — final wording check, 6 passed.
  • bun run build, bun run format:check, bun run lint, and bun run typecheck passed.
  • Source smoke: bun run smoke:cli --mode unauthenticated and bun run smoke:mcp --mode registration passed.
  • Built smoke: bun run smoke:cli:built and bun run smoke:mcp:built passed.

Compatibility / Risks

SITE remains dormant in product-facing help and examples. This client release is not a prerequisite for the companion backend: older versions already parse candidate kinds as strings and render an unknown kind as a generic target. The client and backend releases can deploy independently; the backend keeps site projection disabled and requires zero projected site rows until the later activation phase.

Accept site as a resolve target preference and render standalone documentation-site candidates as a known target kind.\n\nUpdate CLI guidance and release metadata for the backend compatibility rollout.
Retain package and repository product wording until backend site projection is activated.\n\nDescribe this release as forward compatibility while preserving SITE parsing and formatting.
Continue accepting the reserved SITE value without advertising it in validation guidance before backend activation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant