Skip to content

feat(tutor-quality): add stage 2b semantic foundation - #118

Merged
ttbombadil merged 6 commits into
mainfrom
feat/tutor-quality-stage-2b-semantic-foundation
Sep 29, 2026
Merged

ttbombadil merged 6 commits into
mainfrom
feat/tutor-quality-stage-2b-semantic-foundation

Conversation

@ttbombadil

@ttbombadil ttbombadil commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Implements Tutor Quality Stage 2B PR 1 / Milestone 1: the deterministic
semantic-evaluation foundation below the future Judge layer.

It introduces:

  • the Stage-2B-owned Semantic Corpus
  • separately versioned candidate-specific CaseExposureRecords
  • Frozen Pre-Turn Context validation
  • the narrow Stage-2A Case Adapter
  • Stage-B-owned transcript references and canonical transcript digests
  • evidence-backed compatibility validation for existing Stage-2A transcripts

TQ-SEM-001 is the only executable Semantic Case in this PR.

Architecture

  • Stage 1 remains unchanged.
  • Stage 2A remains the sole Tutor execution path.
  • runTutorQualityEvaluation remains unchanged.
  • the Stage-2A Anchor Corpus remains unchanged.
  • the Stage-2A Case Adapter is pure mapping only.
  • candidate-specific exposure history is separate from Semantic Corpus
    versioning.
  • Stage B computes its transcript digest without modifying Stage-A artifacts.
  • compatible existing Stage-A transcripts can be ingested even when
    Stage-A scenario IDs differ from Semantic Case IDs, but only when full
    Frozen-Context compatibility is proven.
  • no fuzzy transcript matching is used.

TQ-SEM-001

Adds the INPUT_PULLUP development case with:

  • exact Frozen Pre-Turn question/answer binding
  • a draft sketch-grounded factual reference, explicitly marked pending review
  • no Gold claim
  • no calibration claim
  • no held-out claim

The factual reference does not generalize LED_BUILTIN to pin 13 without
declared board evidence.

TQ-SEM-002 through TQ-SEM-005 remain gated by DG-14 and are not executable.

Explicitly out of scope

  • Semantic Judge
  • StructuredLLMProvider
  • Tutor/Judge provider calls
  • calibration
  • repeated model benchmarking
  • pairwise evaluation
  • ranking/statistics
  • Stage 2C

Local verification

Node 24.20.0:

  • npm run check — passed
  • npm run test:tutor-quality — passed, 263 tests
  • npm run test:unit — passed, 2524 passed / 1 skipped
  • npm run check:docs — passed, 51 Markdown files
  • ESLint — passed
  • git diff --check — passed
  • ./run-tests.sh — completed successfully
  • Docker — 26/26
  • Playwright E2E — 25/25

SonarQube:

  • Quality Gate — PASSED
  • New-code violations — 0
  • New-code coverage — 82.4 %
  • Duplicated lines density — 0.19415 %
  • Security hotspots reviewed — 100 %

Knip

  • npx knip reports 0 findings.
  • The baseline-aware Knip gate reports:
    new: 0, baseline: 0, resolved: 0.
  • PR 1 introduces no Knip diagnostics.

No Sonar rule was disabled, no suppression was added, and no verification hook
was bypassed.

@ttbombadil
ttbombadil merged commit 5968639 into main Sep 29, 2026
5 checks passed
@ttbombadil
ttbombadil deleted the feat/tutor-quality-stage-2b-semantic-foundation branch September 29, 2026 12:57
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