Skip to content

test(tutor-quality): keep only the coverage lower bound for strategy cases (R-AUT-1) - #156

Merged
ttbombadil merged 1 commit into
mainfrom
fix/tutor-quality-corpus-case-count
Oct 3, 2026
Merged

ttbombadil merged 1 commit into
mainfrom
fix/tutor-quality-corpus-case-count

Conversation

@ttbombadil

Copy link
Copy Markdown
Collaborator

Purpose

Conformance finding from the Tutor SSOT audit: Evaluation SSOT R-AUT-1 says "Tests MUST NOT hard-code the full list of case IDs or the case count. They assert structural invariants", and §1 says new quality cases are corpus data only.

Finding

anchor-corpus.test.ts › contains two judge-enabled strategy cases for each learning phase asserted count >= 2 && count <= 3 per phase. EXPAND already has three Strategy cases, so any further valid EXPAND case would fail this contract test and require a test change.

Change

The test keeps the coverage lower bound (at least two judge-enabled Strategy cases per phase). The upper bound is removed. No corpus, runner, or product change.

TDD

  • RED: with a temporary, otherwise valid fourth EXPAND Strategy case (a copy of strategy-expand-proposal under a new ID; never committed), the test failed.
  • GREEN: with the fix, the same temporary corpus passes; the corpus was then restored unchanged.

Gates

npm run test:tutor-quality 407 passed, ESLint clean for the file, pre-push (check, unit, Sonar) passed.

🤖 Generated with Claude Code

…cases (R-AUT-1)

The corpus contract test capped the judge-enabled strategy cases per phase at
three. EXPAND already has three, so any further valid EXPAND case would fail
the test, although R-AUT-1 forbids hard-coding the case count and §1 lets new
cases be corpus data only. The test keeps the lower bound of two per phase.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ttbombadil
ttbombadil merged commit 9eea5f7 into main Oct 3, 2026
5 checks passed
@ttbombadil
ttbombadil deleted the fix/tutor-quality-corpus-case-count branch October 3, 2026 19:45
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