[BUG] Make resource, device, and route resolution deterministic and safety-aware
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 resolver and fallback paths in unilabos/compile/evacuateandrefill_protocol.py, stir_protocol.py, dissolve_protocol.py, separate_protocol.py, and unilabos/devices/workstation/workflow_executors.py. Then inspect the existing authority and reservation work before defining the resolution record and fail-closed diagnostics. Done means ambiguous, stale, disconnected, or unsafe routes block compilation, while tests cover multiple candidates, disconnected paths, stale reservations, and an allowed alternate route.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
Resource and route resolution uses naming heuristics and first-match fallbacks, which can produce an executable action sequence for the wrong device or route.
Concrete code evidence
unilabos/compile/evacuateandrefill_protocol.py:40-123searches gas sources by names and falls back to the first default gas source.unilabos/compile/evacuateandrefill_protocol.py:179-238searches valves by connectivity/name and can continue without an exact valve binding.unilabos/compile/stir_protocol.py:15-44returns the first stirrer orstirrer_1if no exact connection is found.unilabos/compile/dissolve_protocol.py:333-382returns the first heater/stirrer candidate.unilabos/compile/separate_protocol.py:604-689falls back to the first separator/stirrer.unilabos/devices/workstation/workflow_executors.py:559-568returns the first available tip rack when the requested set is unavailable.
Design gap
A graph path is treated as sufficient evidence of a safe executable route. It does not encode valve state, isolation, pressure, reservation, interlocks, or ambiguity.
Expected behavior
Resource and route resolution must return an explicit resolution record or a fail-closed diagnostic. First-match selection must not be used for outcome-relevant resources.
Acceptance criteria
- Missing, ambiguous, stale, or disconnected bindings block compilation.
- Resolved routes include nodes, handles, state transitions, and required interlocks.
- Unsafe valve/pump ordering is rejected before execution.
- Tests cover multiple candidates, disconnected paths, stale reservations, and an allowed alternate route.
- Resource ownership remains aligned with the existing authority/reservation work rather than adding a parallel authority.
- Lingua principale
- Python
- Stelle
- 180
- Fork
- 76
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
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 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 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
deepmodeling/Uni-Lab-OS#323 · 1 commento ·
-
[Workflow] Phase 02H:实现 Task input preflight 与 Handle bindingForse di nuovo libera @TablewareBox l’ha presa 81 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
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno
-
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 72/100
pgvector/pgvector-python#169 ·
-
ChaosEngine: backup-remote doctor row passes while consumer mode hides bot memory from gitForse già presa @MohabMohie l’ha presa oggi. Apertaagentic
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ShaftHQ/SHAFT_ENGINE#7263 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
huggingface/smolagents#3045 ·
I maintainer di solito rispondono entro 1 giorno