Skip to content

test: add checked-in upstream surface manifest and subset test #11

Description

@puremachinery

Context

This project aims to keep its user-facing surface aligned as a strict subset of google-gemini/gemini-cli, but there is no automated guardrail enforcing that contract.

Proposed change

Create a checked-in manifest file (for example docs/upstream-surface.yaml or testdata/upstream-surface.json) that records a pinned upstream baseline commit and the specific upstream surfaces we want to track.

Keep the first version narrow and deterministic. Recommended scope:

  • Top-level CLI subcommands
  • Interactive slash commands
  • Selected user-facing flags if they are easy to normalize

Then add a Go test that loads the manifest and verifies our local surface stays within that declared contract.

Important constraint:

  • This is a local regression/contract guard, not a live upstream change detector
  • No network calls or live scraping in CI
  • The manifest is updated manually when maintainers intentionally refresh the upstream baseline

Why this matters

This catches accidental drift in the surfaces we care about without introducing flaky CI dependencies or expensive automation.

Relevant files

  • cmd/gemini-cli/main.go — top-level CLI surface
  • internal/ui/commands.go — slash command dispatch

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    testingTest coverage or test infrastructureupstream-parityFeature present in the upstream Node.js CLI

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions