Skip to content

Mutation gate: remove the three gemini.ts Stryker directives added upstream in #2033 #2201

Open

Description

@easonLiangWorldedtech

Problem

upstream/main gained three new Stryker suppression comments in src/api/providers/gemini.ts after #2054's evidence snapshot (#2033 landed 2026-10-18, after the 38-directive/105-mutant reproduction):

  • src/api/providers/gemini.ts:183 — Regex,LogicalOperator,ConditionalExpression (octet parsing)
  • src/api/providers/gemini.ts:198 — ConditionalExpression (middle octets)
  • src/api/providers/gemini.ts:647 — StringLiteral (completePrompt operation argument)

#2054 removes every directive that existed at its evidence snapshot, but deliberately leaves these three: they were never part of the reproduction, so removing them there would exceed the evidence table. #2060's expected behavior is "no // Stryker disable/enable comments remain in src", so this follow-up is the remaining gap.

Plan

  1. Remove the three directives (comment-only change).
  2. Re-run the same repro protocol chore(mutation-gate): remove all Stryker directives with evidence-backed exclusions #2054 used (buildManifest + runManifest, extension package) on the refreshed head.
  3. Classify every surviving mutant: genuinely equivalent → add a column-pinned entry to scripts/stryker-equivalences.json (file + line + start column + mutator + replacement + rationale); test gap → add a real test.
  4. Re-run until blocking = 0 with no stale-entry advisories, then close Mutation gate: remove the 38 legacy Stryker directives on main with evidence-backed central exclusions #2060.

Acceptance criteria

  • rg 'Stryker disable' src returns nothing.
  • The mutation gate reports blocking = 0 on the cleanup branch and the registry validates against the checked-in source (validateEquivalenceEntries).
  • Any newly accepted mutant has a written rationale and a pinned start column.

Split out of #2054 (comment-only directive removal for the 38 pre-existing directives) because these three came from upstream after that PR's evidence snapshot.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions