[BUG] Make protocol compilation fail closed on invalid or unsupported parameters
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start by reading the cited compiler functions in unilabos/compile/heatchill_protocol.py and unilabos/compile/dissolve_protocol.py, then inspect unilabos/compile/utils/unit_parser.py. Trace how parsing, validation, resource resolution, and planning currently handle invalid inputs. Done means structured diagnostics are returned for the listed failure cases, silent defaults and fallbacks are removed, malformed-input tests are added, and valid action shapes remain unchanged.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
Protocol compilation currently mutates invalid or unsupported inputs into executable actions instead of failing closed.
Concrete code evidence
unilabos/compile/heatchill_protocol.py:14-60:parse_temp_input()returns a default temperature when input is empty or unparseable.unilabos/compile/heatchill_protocol.py:93-114:validate_and_fix_params()replaces invalid/out-of-range values with fixed values.unilabos/compile/dissolve_protocol.py:44-152: parse failures return fixed default volume, mass, and time.unilabos/compile/utils/unit_parser.py:12-40, 154-156: unknown volume/time returns fixed defaults.unilabos/compile/heatchill_protocol.py:62-91: unresolved heater selection falls back to the first node orheatchill_1.
For example, a parse failure or unresolved binding can still produce a successful action list, so the caller cannot distinguish “validated request” from “best-effort guess”.
Design gap
Parsing, capability validation, resource resolution, and protocol planning are combined inside individual compiler functions. Device-specific limits and fallback policy therefore become hidden function-body behavior instead of an explicit contract.
Expected behavior
Compilation must fail closed with structured diagnostics such as INVALID_PARAMETER, INVALID_UNIT, RESOURCE_NOT_FOUND, AMBIGUOUS_BINDING, or CAPABILITY_MISMATCH. The original request must be preserved and no default or first-match resource may be substituted silently.
Acceptance criteria
- Add shared strict quantity/unit parsing and structured compiler diagnostics.
- Remove silent default/fallback behavior from protocol compilers.
- Add tests for malformed input, unsupported units, missing resources, ambiguous resources, and out-of-range values.
- Valid existing inputs keep their current action shape.
- Lingua principale
- Python
- Stelle
- 178
- Fork
- 75
- Merge medio
- 43m
- PR unite (30g)
- 7
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 deepmodeling/Uni-Lab-OS
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
deepmodeling/Uni-Lab-OS#327 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
deepmodeling/Uni-Lab-OS#326 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
deepmodeling/Uni-Lab-OS#325 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
deepmodeling/Uni-Lab-OS#324 · 1 commento ·
-
[Workflow] Phase 02H:实现 Task input preflight 与 Handle bindingForse di nuovo libera @TablewareBox l’ha presa 78 giorni fa e non c’è nessuna pull request aperta. Aperta
deepmodeling/Uni-Lab-OS#301 · 1 commento · 1 assegnatario ·
Tutte le issue di deepmodeling/Uni-Lab-OS
Issue simili
-
bug needs-triage priority:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
yeongseon/azure-functions-logging-python#583 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation needs-triage priority:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
yeongseon/azure-functions-validation-python#546 ·
I maintainer di solito rispondono entro 1 giorno
-
PHP workflow streaming requests buffer the full SSE responseForse già presa @Winoren l’ha presa oggi. Apertareview: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
langgenius/dify#44270 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
P4: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
jeffknupp/association#523 ·
-
bug help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
DarkStarSystems/pcons#229 ·
I maintainer di solito rispondono entro 1 giorno