fix: resolve reported reliability issues across FixMap - #82
Conversation
`npm ci` failed on CI with:
Missing: @emnapi/runtime@1.11.2 from lock file
Missing: @emnapi/core@1.11.2 from lock file
Regenerating package-lock.json on Windows drops these optional-peer
entries, which npm ci on Linux requires. Restored both blocks verbatim
from origin/main; @emnapi/wasi-threads had survived. Verified with
`npm ci --dry-run`, which now resolves cleanly.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
CI is green again — the failure was the I reviewed the substantive changes against the 15 issues. The fixes for #67 ( One regression to flag, in the #69 stemmer fixThe new Run against
Cause: function normalizeTrailingE(token: string): string {
return token.length > 4 && token.endsWith("e") ? token.slice(0, -1) : token;
}Candidate fix, and the tradeoff it carriesRelaxing the guard to
Whichever way it goes, A round-trip assertion in Two minor notes
|
) #82 fixed the -ed/-es under-stripping from #69 but regressed a different class: four-letter bases ending in e. normalizeTrailingE guarded on length > 4, so file kept its e while filed stemmed to fil, and the pair stopped matching. Five pairs that matched before #82 broke: base/based, file/filed, date/dated, size/sized, time/timed. Relaxing the guard to > 3 converges them. The result is still three characters, which is the minimum token length tokenizeText keeps, and the -s path is unaffected: a word ending in s but not es cannot leave a trailing e behind. Cost: note and here now stem onto the stop words not and her and are dropped. That is the second stop-word filter working as designed, and it buys consistency for base, code, file, size, date, time, line, mode, page and role. Extends the round-trip table in signals.test.ts from 5 to 18 pairs so the -ed, -ing, -es, -s and trailing-e rules cannot drift apart again. Ranking is unchanged: npm run evaluate holds at top-1 62.5% / top-3 87.5%, and the only golden-report movement is the displayed stem code -> cod, with identical scores, order and confidence. Closes #83 Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
What changed
This batch verifies all 15 newly filed reports against current
mainand fixes the 14 that still reproduce:Issue #72 does not reproduce on current
main:scripts/evaluate.mjsalready multiplies raw rates by 100. This PR still improves the external evaluation failure message with measured values and floors; #72 will be closed separately as already resolved rather than claiming a nonexistent regression fix.Verification
npm run cigit diff --checkThe latest MCP SDK still carries its upstream moderate
@hono/node-serveradvisory; no high-severity production advisory remains.Closes #67
Closes #68
Closes #69
Closes #70
Closes #71
Closes #73
Closes #74
Closes #75
Closes #76
Closes #77
Closes #78
Closes #79
Closes #80
Closes #81