MS5 (QA) — E2E smoke, BM25 coverage, cross-platform CI#7
Merged
Conversation
…t (MS5) MS5 (QA), slice 1. The critical path is import → analyze → deep-review → export, but the Senior Review (deep review) was computed and stored yet never exported — the exported study artifact was missing the headline analysis. And nothing tested the export stage at all. - export.service: new compact "Senior Review" section — overall grade, a per-lens grade table (skipping absent frontend/backend), and the five worst findings. Reads the already-stored seniorReviewJson; renders nothing for manual maps. - tests: E2E smoke test asserting the whole chain reaches the exported markdown — title, learning map, deep-review grades, explain-back questions, DSA concepts, and a submitted answer. Suite 23/23. Gate: lint + typecheck + build + test all green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
MS5 (QA), slice 2 — broaden coverage. The BM25 code search (tokenization, IDF, TF normalization, ranking) that powers the learning-map search box had zero tests. New self-contained test: index build + hasSearchIndex, relevance ranking (auth query ranks the auth file first, descending score order), stopword/short- token filtering, and rebuild-replaces-not-accumulates. Suite 24/24. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
MS5 (QA), slice 3 — cross-platform CI. Local-first + cross-platform is a core promise, but the gate only ran on Linux. Windows is the platform that actually diverges (backslash paths, native better-sqlite3 build, no symlinks), so run lint + typecheck + build + test on a windows-latest runner too via a matrix. fail-fast off so both platforms report independently; npm audit stays Linux-only since advisory data is platform-independent. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…2025 image)
The new windows-latest image (windows-2025) ships a Visual Studio that node-gyp
10 — bundled with Node 20 — can't detect ("unknown version undefined at
...\Visual Studio\18"), so better-sqlite3's source-build fallback fails when no
prebuilt binary is available. Exactly the cross-platform break the Windows leg
was added to catch. Pin to windows-2022 (VS 2022, detected correctly). Linux
already passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MS5 (Quality & Reliability), done in three slices.
What's in it
exporttest) asserting the full chain reaches the exported artifact: title → learning map → deep review → explain-back questions → DSA concepts → a submitted answer. This also closed a real gap: the Senior Review (deep review) was computed and stored but never exported — the exported study doc was missing the headline analysis. Added a compact Senior Review section (overall grade, per-lens grade table, top findings).Suite: 24/24. Local gate (lint + typecheck + build + test) green. This PR's CI is the first run of the new Windows job.
🤖 Generated with Claude Code