Skip to content

Interview-readiness fixes - #8

Merged
Shuvam1024 merged 5 commits into
mainfrom
shuvam1024/readiness-fixes
Oct 7, 2026
Merged

Shuvam1024 merged 5 commits into
mainfrom
shuvam1024/readiness-fixes

Conversation

@Shuvam1024

@Shuvam1024 Shuvam1024 commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Summary

Interview-readiness corrections from an independent audit. Committed benchmark metric values, train selections, and thresholds are unchanged except where a step below adds an optional field or changes which frozen config the CI gate runs.

  • Coverage numbers are no longer committed. The README points at the CI badge and the 85% coverage gate. benchmarks/pytest-junit.xml, benchmarks/test-coverage.json, and the unused requirements/constraints-py312.txt are removed.
  • SciFact dev verdicts keep the existing per-claim sentence F1 and also report micro sentence F1 and mean sentence F1 over claims that have gold evidence. Both-empty claims still score 1.0 in the per-claim mean; that caveat is stated next to the number. A dev-only oracle feeds gold evidence documents to the frozen NLI policy, and an error breakdown separates retrieval misses from NLI errors. Nothing was selected on dev.
  • The chunk-tuning claim is restated from the data: 46 of 5,183 SciFact documents (26 of 3,633 NFCorpus) exceed the 480-word window, so the selected index is nearly one chunk per document. The test gap versus document-level BM25 is mostly the BM25 parameters (1.50/0.75 vs 0.90/0.40). Those counts are rendered from the reports.
  • README is a short entry point. Methodology, selection tables, NFCorpus, exploratory runs, verdict details, and the judge sample live in docs/results.md. Table regions in both files are rendered and drift-checked. Acronyms are defined on first use. Ragas, DeepEval, promptfoo, and ARES have citation links.
  • CI gates the frozen document-level BM25 config and the frozen selected BM25 config, still with a zero point-drop policy. The exploratory configs/scifact-bm25.yaml is no longer the gate. Hybrid stays out of the main job because it needs the dense extra.
  • pytrec_eval is an optional agreement extra. The agreement test skips without it. The Linux CI job installs g++ and that extra. Install instructions are uv only.
  • Evaluation reports are assembled in one path. Newly written comparison files can store the statistics recipe; committed comparison files were not rewritten.
  • Offline tests inject fake encoders for dense search, embeddings, NLI, and rerank. ragstat.__version__ comes from package metadata. Rerank index_ms excludes model loading. CITATION.cff is added.

Test plan

  • ruff check, ruff format --check, mypy
  • pytest with coverage, gated extras only (no dense, no agreement)
  • README figure drift test across README.md and docs/results.md
  • Support-fixture evaluate and compare against benchmarks/baseline.json (shared non-timing fields)
  • SciFact document-level BM25 and selected BM25 compare, zero point-drop
  • docker build and docker run
  • uv sync --frozen --extra dev --extra api without building pytrec_eval
  • CI jobs on this pull request

@Shuvam1024
Shuvam1024 marked this pull request as ready for review October 7, 2026 19:11
@Shuvam1024
Shuvam1024 merged commit f62936a into main Oct 7, 2026
5 checks passed
@Shuvam1024
Shuvam1024 deleted the shuvam1024/readiness-fixes branch October 7, 2026 19:11
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