Skip to content

chore: validate Tautest sticky comment on source changes - #2

Closed
canblmz1 wants to merge 5 commits into
mainfrom
smoke/source-change-comment
Closed

chore: validate Tautest sticky comment on source changes#2
canblmz1 wants to merge 5 commits into
mainfrom
smoke/source-change-comment

Conversation

@canblmz1

Copy link
Copy Markdown
Owner

This PR validates that the Tautest GitHub Action creates and updates a sticky PR comment when production source files change.

@github-actions

Copy link
Copy Markdown

Tautest Mutation Report

Verdict: STRONG
Score: 85.71%
Killed: 6 | Survived: 1 | No coverage: 0
Report: /home/runner/work/tautest/tautest/examples/vitest-basic/.tautest/report.md

Top Surviving Mutants

File Line Mutator Original Replacement
src/discount.ts 2 EqualityOperator age >= 65 age > 65
Fix prompt ```markdown # Tautest Test-Fix Prompt

You are an AI coding agent improving tests based on Tautest mutation results.

Objective

Strengthen the test suite so the listed surviving or uncovered mutants are killed. Make the smallest test-only change that proves the intended behavior.

Hard Rules

  • Do not change production code.
  • Only edit or add test files.
  • Every new test must pass against the original production code.
  • Every new test must fail against the listed mutant behavior.
  • Do not weaken existing assertions.
  • Do not delete, skip, or mark existing tests as todo.
  • Do not write filler tests such as expect(true).toBe(true).
  • Do not add new dependencies.
  • If you find a real production bug, stop and report it instead of silently rewriting implementation.
  • Keep the fix small and aligned with the existing vitest test style.
  • Prefer focused boundary, branch, and behavior assertions over snapshots or broad smoke tests.

Mutants To Kill

  1. src/discount.ts:2
    • Status: Survived
    • Mutator: EqualityOperator
    • Original: age >= 65
    • Replacement: age > 65
    • Covering tests: src/discount.test.ts - calculateDiscount applies the senior discount for customers above 65; src/discount.test.ts - calculateDiscount applies the subtotal discount at 100; src/discount.test.ts - calculateDiscount returns zero when no discount rule matches
    • Why this matters: A comparison boundary can move by one value while existing tests still pass.
    • Suggested test idea: Add a boundary test for the exact value 65 and assert the expected behavior before and after that boundary.

Validation Loop

  1. Add or strengthen the smallest test that observes the behavioral difference.
  2. Run the normal test suite.
  3. Run Tautest again.
  4. Confirm the mutation score increased or stayed strong while the listed mutant was killed.
  5. If the score does not improve or the mutant still survives, reread the prompt and adjust the test instead of changing production code.

Commands

tautest run --base 7b15db39389c8a8aa7179bb28b8e35996dd000a3
vitest run
</details>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a1cc0f0c00

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +39 to +42
return {
command: 'pnpm',
args: ['exec', 'tautest'],
strategy: 'pnpm-exec',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Honor the selected package manager when invoking Tautest

When the checked-out project does not contain packages/cli/dist/index.js, the action now always runs pnpm exec tautest, even though action.yml still supports package-manager: npm, yarn, and bun and runPreflight may install dependencies with one of those managers. In an npm/yarn/bun project, or on a runner without pnpm on PATH, the action will fail before Tautest runs despite a valid configuration; the previous lookup used the local .bin or npx instead of unconditionally requiring pnpm.

Useful? React with 👍 / 👎.

@canblmz1

Copy link
Copy Markdown
Owner Author

Closing this smoke PR because it contained a temporary source-change used only to validate the GitHub Action sticky comment path. The validated Action fix will be cherry-picked into main separately.

@canblmz1 canblmz1 closed this May 10, 2026
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