Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Send us a transcript where backcheck got it wrong

Open Beginner friendly
#6 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
rust
Domain
cli, testing-qa

Research direction

Start with the relevant pattern in src/claims.rs, especially is_hedged() and is_negated(), then reproduce the false verdict using a minimal sanitized JSONL fixture in tests/fixtures/. Run backcheck -f your-fixture.jsonl --json and add a regression test showing the reported claim is classified as expected without causing over-matching.

Written by the indexing model from the issue text.

Description

accuracy false-negative false-positive help wanted

backcheck is only worth installing if you trust its verdicts. A hook that fires on honest work
gets uninstalled within a day, and then it protects nobody.

So the most valuable thing you can contribute is a case where it was wrong.

Two kinds of wrong

False positive — it flagged work that was fine. This is the expensive kind. Examples we
already fixed this way:

  • runners invoked through a virtualenv path (.venv/bin/python -m pytest) were invisible, so
    genuine runs looked like no run at all
  • the shell builtin test -f was counted as a test run, which could hide a missing suite
  • "Ruff passes with no warnings" was read as a negated sentence and skipped

False negative — an agent claimed something it had not done and backcheck stayed quiet.
Usually an unrecognised runner (#3) or a claim phrasing the patterns miss.

How to report one

Please do not attach a raw transcript. They contain your source, your paths, and sometimes
your credentials.

Send the smallest JSONL that reproduces it, with everything sensitive replaced. Three lines is
usually enough, and it can go straight into tests/fixtures/ as a regression test:

{"type":"assistant","message":{"content":[{"type":"tool_use","id":"t1","name":"Bash","input":{"command":"<command>"}}]}}
{"type":"user","toolUseResult":{"stdout":"<output>","stderr":"","interrupted":false},"message":{"content":[{"type":"tool_result","tool_use_id":"t1","content":"<output>"}]}}
{"type":"assistant","message":{"content":[{"type":"text","text":"<what the agent claimed>"}]}}

Then run backcheck -f your-fixture.jsonl --json and paste the output along with what you
expected instead.

There is an issue template for this: 🎯 Wrong verdict.

Claim phrasings we know are missed

Patterns live in src/claims.rs. Known gaps:

  • non-English summaries
  • emoji-only status (✅ tests with no verb)
  • markdown tables reporting per-check status
  • "everything is green", "CI is happy", "all clear"
  • claims about coverage thresholds
  • claims split across sentences ("Ran the suite. Everything passed.")

Each of those is a pattern plus a test, and the guard against over-matching is the interesting
part — see is_hedged() and is_negated().

Dominant language
Rust
Stars
0
Forks
2
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from VectorInstitute/backcheck

All issues in VectorInstitute/backcheck

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.