Same unconfined `predictions/<item_id>` path pattern remains in four benchmark rollouts
I maintainer di solito rispondono entro 6 giorni
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 72/100
Direzione di ricerca
Start with the merged reference implementation in skillopt/envs/spreadsheetbench/rollout.py (_is_safe_task_id(), _confined_task_out_dir()), then decide whether to lift them into a shared helper. Apply the pattern to the listed call sites in skillopt/envs/docvqa/rollout.py:173,:232, livemathematicianbench/rollout.py:144, searchqa/rollout.py:204, and officeqa/rollout.py:530, keeping in mind livemathematicianbench's colon-shaped ids need an id-to-safe-dirname mapping rather than validation-and-reject. Any mapping must be applied on the read side too: skillopt/optimizer/slow_update.py:113 reads predictions/<task_id>/conversation.json. Done when ids like ../../x cannot escape out_root and existing rollouts plus the reader still resolve their own outputs.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Follow-up from #264 (now merged). That PR validated the SpreadsheetBench task identifier and confined its persistent output directory. The same unconfined pattern remains in four other benchmark rollouts:
skillopt/envs/docvqa/rollout.py:173and:232skillopt/envs/livemathematicianbench/rollout.py:144skillopt/envs/searchqa/rollout.py:204skillopt/envs/officeqa/rollout.py:530
Each is os.path.join(out_root, "predictions", item_id), where item_id comes straight from the dataset item — no validation of the identifier and no containment check on the destination. An id such as ../../x therefore derives a destination outside out_root and processing continues into the model / code-execution path. skillopt/envs/spreadsheetbench/rollout.py now has _is_safe_task_id() and _confined_task_out_dir(), which could be lifted into a shared helper.
Two caveats are why this is filed rather than sent as a direct port:
-
A charset validator is not sufficient for
livemathematicianbench. Its ids are colon-shaped (202602:12), so all 177 ids across the shipped splits would be rejected by the SpreadsheetBench rule. Those runs need confinement by construction (map an id to a safe directory name) rather than validate-and-reject. Separately, an id containing:cannot be a Windows directory name at all, so those runs are already broken on Windows for an unrelated reason. -
Renaming the directory is not free. Readers look the task up by its raw id —
skillopt/optimizer/slow_update.py:113readspredictions/<task_id>/conversation.json— so any id-to-dirname mapping has to be applied on the read side too.
docvqa (63180), searchqa (hex) and officeqa (UID0003) use ids that are already safe shapes, so for those three the SpreadsheetBench approach can be applied as-is.
Filed separately because it is outside #264's reviewed scope.
- Lingua principale
- Python
- Stelle
- 18.2k
- Fork
- 1.7k
- Merge medio
- 6g 18h
- PR unite (30g)
- 12
Preparare l'ambiente
- Nessun Dockerfile né 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 microsoft/SkillOpt
-
项目还在迭代嘛?Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
microsoft/SkillOpt#291 · 1 commento ·
I maintainer di solito rispondono entro 6 giorni
-
Release cut for the Aug adopt/webui hardening + 2 residual staging gapsForse già presa @RohithPariki l’ha presa 21 giorni fa. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 42/100
microsoft/SkillOpt#288 · 2 commenti ·
I maintainer di solito rispondono entro 6 giorni
-
skillopt-sleep Codex harvest ingests its own headless replay sessionsForse già presa @kaluli123123 l’ha presa 22 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
microsoft/SkillOpt#286 · 3 commenti ·
I maintainer di solito rispondono entro 6 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 28/100
microsoft/SkillOpt#283 · 1 commento ·
I maintainer di solito rispondono entro 6 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 6 giorni
Tutte le issue di microsoft/SkillOpt
Issue simili
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 87/100
adri0/scadustats#128 ·
I maintainer di solito rispondono entro 1 giorno
-
`TIMESTAMP`, `TIMESTAMP_NTZ`, `TINYINT` and the other `TypeDecorator`s don't declare `python_type`Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
RPBCApertaawaiting policy acceptance precheck-passed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
Bioconductor/BiocContributions#240 · 1 commento ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue launch
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
FlologixAI/etchwork#4 ·