Parameter required status is lost after wire round-trip
I maintainer di solito rispondono entro 2 giorni
@its-amann ci sta già lavorando.
Dal 4/11/2026.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia dal modello Parameter in pyrit/models/parameter.py e dalla funzione _reconstruct_param_type_from_wire, che lo ricostruisce dal JSON. Esegui lo snippet di riproduzione dell'issue per confermare che required è True prima del round-trip e False dopo. Ripristinare REQUIRED_VALUE quando il flag required sul wire è vero dovrebbe far coincidere il default ripristinato con quello originale. tests/unit/models/test_parameter.py dovrebbe coprirlo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
Parameter serializes its computed required flag, but _reconstruct_param_type_from_wire does not use it to restore REQUIRED_VALUE. A required declaration therefore deserializes as optional (default=None, required=False). Clients that round-trip a registry catalog can stop marking or validating the field as required, although backend construction still rejects a missing input.
Steps/Code to Reproduce
from pyrit.common import REQUIRED_VALUE
from pyrit.models.parameter import Parameter
original = Parameter(name="count", description="Required count", param_type=int, default=REQUIRED_VALUE)
restored = Parameter.model_validate_json(original.model_dump_json())
print(original.required, restored.required, restored.default)
Expected Results
The restored declaration remains required and has the same missing-input validation semantics as the original.
Actual Results
The wire JSON contains "required":true, but the restored model reports True False None for original required, restored required, and restored default.
Screenshots
N/A. This is a deterministic model serialization reproduction.
Versions
Python 3.12.3; PyRIT checkout revision 01ce6ca66a315770b36c7dca1f320668c0d92d7c. tests/unit/models/test_parameter.py (228 tests) and registry resolution tests (93 tests) passed; no backend HTTP workflow was run.
- Lingua principale
- Python
- Stelle
- 4.7k
- Fork
- 1k
- Merge medio
- 2g 3h
- PR unite (30g)
- 465
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna 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/PyRIT
-
Scenario objective previews can split supplementary Unicode during truncationForse già presa @Aadithya-kl l’ha presa oggi. ApertaBug: triage help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
microsoft/PyRIT#3870 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
URLDataTypeSerializer treats mixed-case HTTP(S) schemes as local pathsForse già presa @akhil9tiet l’ha presa oggi. ApertaBug: triage help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
microsoft/PyRIT#3861 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
BUG: LLMGenericTextConverter identifier changes between processes for set-valued template parametersForse già presa @samrudhi03 l’ha presa oggi. ApertaBug: triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
microsoft/PyRIT#3841 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
BUG: SelfAskGeneral scorers leave their output keys out of the identifierForse già presa @Hrushikesh-ramilla l’ha presa 2 giorni fa. ApertaBug: triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni
-
GUI rejects valid empty-string SearchReplaceConverter settings, preventing deletion convertersForse già presa @Darshika140 l’ha presa 2 giorni fa. Apertahelp wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
microsoft/PyRIT#3749 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di microsoft/PyRIT
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
autowarefoundation/autoware_carla_scenario#1485 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-area-label
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 2 giorni
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Official-Space-AI/OpenPhysGraspGen#114 ·
I maintainer di solito rispondono entro 2 giorni
-
changelog investigate
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ramnes/notion-sdk-py#441 ·
-
copy_tree splits same-file errors into charactersForse già presa @Gambit-Checkmate l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 14 giorni