UK staging lease (4 h) is shorter than the qualify job's 330-minute limit
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 58/100
Direzione di ricerca
Read stage_attempt and attempt_is_recoverable in src/policyengine/provenance/uk_qualification.py, then inspect the recovery cases in tests/test_uk_qualification_pipeline.py. Update the lease to at least six hours, preferably as a named constant tied to the qualify timeout, and adjust the listed expiry tests, including the 10:00 → 14:00 assertion. Done means a live attempt remains recoverable throughout the 330-minute qualify limit and the recovery tests reflect the new lease.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Found in the independent review of #660.
stage_attempt writes expires_at = staged + timedelta(hours=4) (src/policyengine/provenance/uk_qualification.py, about line 1102). attempt_is_recoverable treats an expired attempt as abandoned even while its owner run is live, unless replay/request.json exists, and qualify writes that file only after the gates finish. The lease dates from when qualify had 120 minutes, so it was twice the limit. #660 raises qualify to 330 minutes, which makes the lease shorter than the limit.
Effect: if the gates ever run between about 240 and 330 minutes, the next catch-up re-stages a live attempt. That force-pushes a new candidate commit, un-readies the PR and queues a duplicate qualification. It's churn, not a deadlock. Today's gates are projected at about 140 minutes, so this doesn't trigger now.
Fix: raise the lease to at least 6 hours, ideally as a named constant tied to the qualify timeout. Update the 15 recovery tests in tests/test_uk_qualification_pipeline.py that stage at T and evaluate expiry at T+4–5 h (e.g. test_newer_abandoned_stage_recovers_despite_an_older_replay_request, test_forced_stage_recovery_binds_the_terminal_receipt_it_supersedes[*], test_resolution_preserves_authorization_to_recover_forced_work[expired-*], test_runs_resolved_on_different_main_commits_never_both_stage, test_cross_base_recovery_allocates_new_keys_without_overwriting_evidence), plus test_stage_records_owner_and_expiry_immutably, which pins 10:00 → 14:00.
- Lingua principale
- Python
- Stelle
- 8
- Fork
- 10
- Merge medio
- 1g 1h
- PR unite (30g)
- 50
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 PolicyEngine/policyengine.py
-
Raise the simulation cache memory warning to 16 GiBForse già presa @anth-volk l’ha presa 21 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
PolicyEngine/policyengine.py#549 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
PolicyEngine/policyengine.py#473 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
PolicyEngine/policyengine.py#436 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Certify populace-uk as the UK certified defaultForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
PolicyEngine/policyengine.py#408 ·
I maintainer di solito rispondono entro 1 giorno
-
Certify Microcosm builds published side by side in their own release foldersForse già presa @anth-volk l’ha presa 1 giorno fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
PolicyEngine/policyengine.py#682 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di PolicyEngine/policyengine.py
Issue simili
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yunaremaia/proto-drift#22 ·
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
yunaremaia/memwatch#96 ·
-
bug good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
yunaremaia/ci-gate-watch#34 ·
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
yunaremaia/agent-capability-attestation#64 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
yunaremaia/agent-call-graph#43 ·
I maintainer di solito rispondono entro 1 giorno