[BUG] Make resource, device, and route resolution deterministic and safety-aware
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
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.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- Python
- Stars
- 186
- Forks
- 79
- Avg merge
- 1h 2m
- Merged PRs (30d)
- 29
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from deepmodeling/Uni-Lab-OS
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
deepmodeling/Uni-Lab-OS#327 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
deepmodeling/Uni-Lab-OS#325 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
deepmodeling/Uni-Lab-OS#324 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
deepmodeling/Uni-Lab-OS#323 · 1 comment ·
Maintainers usually reply within 1 day
-
[Workflow] Phase 02H:实现 Task input preflight 与 Handle bindingMay be free again @TablewareBox claimed this 103 days ago, and no pull request is open. Open
deepmodeling/Uni-Lab-OS#301 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
All issues in deepmodeling/Uni-Lab-OS
Similar issues
-
documentation good first issue priority: P2 status: ready
Difficulty 1/5 Under an hour Newbie friendliness 88/100
RhinoLink-Tech/data-fabric#500 ·
Maintainers usually reply within 1 day
-
backlog
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
EchoTools/nevr-runtime#2384 ·
Maintainers usually reply within 1 day
-
[Bug]: The H2 series' and the H3C's fan 3 is labelled "Chamber Fan", Bambu calls it the exhaust fanOpenarea:ui
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
btclib-org/btclib#3062 ·
Maintainers usually reply within 1 day
-
area:evals area:infra enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
jse-avl/support-bot#4 · 1 comment ·