Skip to content

fix(checkworthy): sharpen A2 prompt for dominant speech-act + truisms#24

Open
aRealGem wants to merge 1 commit into
mainfrom
claude/layer-a-prompt
Open

fix(checkworthy): sharpen A2 prompt for dominant speech-act + truisms#24
aRealGem wants to merge 1 commit into
mainfrom
claude/layer-a-prompt

Conversation

@aRealGem

Copy link
Copy Markdown
Owner

Root-causes the two Layer A false positives Jackie caught in the gold set: a normative proposal with an embedded true premise ("let Medicare negotiate ... like the VA already does" → should be opinion) and an undisputed truism ("Thomas Jefferson drew his last breath" → should be unimportant) were both labeled check-worthy.

Diagnosis (evidence in the thread): Layer A runs on claude-haiku (cheap tier), single-pass (the _labels_* files are shards, not per-claim votes — no adjudication), with a prompt that had zero few-shot examples. It over-weighted "is there a verifiable fact here?" and under-applied the dominant speech-act and importance tests. → a prompt problem, not a model-capability one.

Fix (prompt-only, still cheap haiku):

  • check-worthy now requires NON-OBVIOUS + disputable + consequential.
  • opinion explicitly covers proposals / "should" / "let X do Y", and says to judge the dominant speech-act even when a factual premise is embedded.
  • unimportant explicitly covers truisms (well-known dates, ceremonial statements).
  • Added 5 few-shot examples incl. the two real failure cases + positive contrasts.

Regression test pins the guidance + example cases. Behavioral validation is the live Layer A eval (next step) — this is the prompt lever before any model-tier change; if nuanced misses persist we escalate only the ambiguous band to sonnet, not blanket-upgrade (Layer A runs on every sentence). Suite: 866 passed.
🤖 Generated with Claude Code

Layer A (claude-haiku, single-pass, no few-shot examples) let two false positives
through into the check-worthy pool: a normative proposal with an embedded true premise
("let Medicare negotiate ... like the VA already does" -> should be opinion) and an
undisputed truism ("Thomas Jefferson drew his last breath" -> should be unimportant).
Root cause = prompt: it over-weighted "is there a verifiable fact here?" and under-applied
the dominant-speech-act and importance/triviality tests, with zero worked examples.

Fix (prompt-only, still cheap-tier haiku):
- check-worthy now requires NON-OBVIOUS + disputable + consequential.
- opinion explicitly covers proposals/"should"/"let X do Y" and says to judge the
  DOMINANT speech-act even when a factual premise is embedded (premise != assertion).
- unimportant explicitly covers undisputed truisms (well-known dates, ceremonial).
- Added 5 few-shot examples incl. the two real failure cases + positive contrasts.

Behavioral validation is the live Layer A eval (next); this is the prompt lever before
any model-tier change (escalate only the ambiguous band to sonnet if it persists).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GNg63eCE6Q7dNJLm7hxSev
@cursor

cursor Bot commented Jul 10, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

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.

2 participants