repo scan: a hook --pattern regex can backtrack exponentially against a long claim
I maintainer di solito rispondono entro 1 giorno
@antonwolfy ci sta già lavorando.
Dal 6/11/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
repo scan reads a configured branch pattern as a branch (#410, #419). A no-commit-to-branch hook --pattern is the repository's own Python regex, compiled and matched as written against each path-like claim in the guidance files. A pattern with nested quantifiers backtracks exponentially, so one .pre-commit-config.yaml can stall the L0 scan.
Repro
.pre-commit-config.yaml with args: [--pattern, 'maintenance/(a+)+b'], and a claim maintenance/aaaaaaaaaaaaaaaaaaaaaaaac in AGENTS.md. Matching took 0.025 s at 20 a and 0.40 s at 24 a; each extra a roughly doubles it.
Why it is not fixed in #419
Workflow branch filters are translated by dokimi, so #419 folds stacked ?/+ and no filter can nest quantifiers. A hook pattern is a Python regex of the repository, so it cannot be rewritten that way.
Options
- Match with a time limit (the
regexpackage has atimeoutargument; stdlibrehas none), treating a timeout as "no branch" so the claim keeps its path verdict. - Run the match in a worker that is killed after a short deadline, also keeping the path verdict.
- Refuse a pattern with a nested quantifier before compiling it (cheap, but misses some shapes).
Done when
A hook pattern like maintenance/(a+)+b against a long claim returns within a bounded time with the path verdict kept, a test pins that without relying on timing, and the contract paragraph on branch sources names the case among those that give no branch.
- Lingua principale
- Python
- Stelle
- 11
- Fork
- 9
- Merge medio
- 1g 10h
- PR unite (30g)
- 373
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un 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 intel/dokimi
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Holm's multiplier counts results that cannot reach p < 0.05 (arms and repo compare)Forse già presa @antonwolfy l’ha presa oggi. Aperta
intel/dokimi#478 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
eval.stats._sample_sd raises OverflowError on finite deltas near 1e200 and aboveForse già presa @antonwolfy l’ha presa oggi. Aperta
intel/dokimi#475 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di intel/dokimi
Issue simili
-
S9.7: Methodology pageApertaarea: web priority: P1 story
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
nfiasco/Quant-Time-Machine#151 ·
I maintainer di solito rispondono entro 1 giorno
-
Broken links found in docsApertadocs pydanty:is-working
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
pydantic/pydantic-ai#12892 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
Azure/azure-sdk-for-python#49886 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
[Core] Deprecated(error=True) raises only on the first call; later calls run the removed APIForse già presa @wguo7 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ray-project/ray#67965 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
btclib-org/btclib#3006 ·
I maintainer di solito rispondono entro 1 giorno