CI: wire the Librarian eval harness in as a merge gate (explicit 100% + optional recall@k)
I maintainer di solito rispondono entro 1 giorno
@tanishbhandari11t ci sta già lavorando.
Dal 30/8/2026.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia da scripts/evaluate_librarian.py e application/tests/librarian/fixtures/golden_dataset.json, quindi esamina come make test e la CI del repository eseguono attualmente i controlli. Aggiungi un controllo CI offline che esegua l’harness sul golden dataset sottoposto a commit e fallisca quando la porzione esplicita è inferiore al 100%. Il controllo opzionale di recall@k verrà svolto in seguito e richiede embeddings live, un database della cache popolato e una chiave API.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Follow-up from @northdpole's reviews on #925 and #937 (Module C - The Librarian).
The gap: the eval harness (scripts/evaluate_librarian.py) already fails loudly on an explicit-slice regression - it exits non-zero if the "explicit" slice drops below 100% on the golden dataset. The problem is nothing in CI actually runs it. make test only runs the unit tests, so today that 100% gate exists on paper but isn't enforced. A change could quietly break the explicit slice and still merge green.
What we'd like to do: wire the harness into CI so it guards merges automatically.
- Add a small subprocess test (or a
Makefiletarget) that runsevaluate_librarian.pyagainst the committed golden dataset (application/tests/librarian/fixtures/golden_dataset.json). If the explicit slice isn't at 100%, the check fails and blocks the merge. This runs fully offline - no API key needed. - Later, extend the same setup to cover the C.1 retriever's recall@k. That part needs live embeddings (a populated cache DB + an embedding API key), so it can either be an optional CI job or a documented manual pre-merge check.
The offline explicit gate is the priority since it's deterministic and needs no credentials.
Scope: Module C. Not blocking W1–W3 - this just makes sure the harness is doing its job before the heavier ML slices (W4+) land.
- Lingua principale
- Python
- Stelle
- 210
- Fork
- 167
- Merge medio
- 4g 12h
- PR unite (30g)
- 28
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di OWASP/OpenCRE
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
OWASP/OpenCRE#1215 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Map Analysis continues polling after a background job failsForse già presa @amantebriwal4321 l’ha presa 4 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
OWASP/OpenCRE#1211 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
OSCAL Compass adopterAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
MCP tools return "Internal MCP tool error." when OpenCRE is unreachable or times outForse già presa @ShaanGS l’ha presa 23 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
OWASP/OpenCRE#1163 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
find_node_by_name endpoint does not enforce MAX_ITEMS_PER_PAGE, allowing unbounded pagination queries`Forse già presa @Jeffy123-zhu l’ha presa 26 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
OWASP/OpenCRE#1149 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di OWASP/OpenCRE
Issue simili
-
Unknown stop ID in slow zone data crashes post formatting and skips the rest of that day's postsApertabackend bug tm-new-volunteer
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
transitmatters/mbta-slow-zone-bot#81 · 1 commento ·
-
area:schema documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
risk:high type:ci
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
spacetelescope/rdmt-spire#49 ·
I maintainer di solito rispondono entro 1 giorno