[Feature Request] Standardize execution receipts, state transitions, and artifact lineage
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 unilabos/ros/device_node_wrapper.py:36-40, unilabos/devices/hplc/AgilentHPLC.py:124-226, and the executor paths at unilabos/devices/workstation/workflow_executors.py:245-279 and :454-470. Compare their result handling with the existing Task/Job restart and recovery model. Done means a versioned common receipt covers the listed states, lineage, failures, and recovery cases, with tests for partial execution, timeout, retry, missing artifacts, and success.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
Execution results do not have a common receipt linking requested parameters, resolved resources, device acknowledgements, telemetry, raw files, parsers, and derived results.
Concrete code evidence
unilabos/ros/device_node_wrapper.py:36-40forwards device method calls but exposes no common run/attempt/artifact receipt.unilabos/devices/hplc/AgilentHPLC.py:124-226has device-specificstart_sequence,check_status, andget_data_filemethods with a local result shape.unilabos/devices/workstation/workflow_executors.py:245-279reduces workflow execution to boolean success/failure in one executor path.unilabos/devices/workstation/workflow_executors.py:454-470similarly collapses a liquid transfer result into a boolean.
Design gap
The current return values cannot consistently distinguish:
command accepted
execution started
execution completed
measurement acquired
raw artifact saved
artifact parsed
QC passed
They also do not provide a uniform lineage from sample/method/resource to raw and derived data.
Proposed receipt
Define a versioned receipt containing:
- run and attempt IDs;
- method and capability versions;
- requested parameters and resolved bindings;
- resource snapshot and reservation/claim IDs;
- state transitions and timestamps;
- device acknowledgements and telemetry references;
- raw artifact paths, media types, and checksums;
- parser/analysis job versions and result references;
- typed failure, blocked, unsupported, and human-confirmation outcomes.
Acceptance criteria
- Every protocol run can emit a common receipt without device-specific fields being required.
- Receipts distinguish planning, execution, measurement, artifact, parsing, QC, failure, and recovery states.
- Raw artifacts are immutable references with sample/method/run lineage and checksums.
- Receipts integrate with the existing Task/Job restart and recovery model.
- Tests cover partial execution, timeout, retry, missing artifact, and successful completion.
- 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#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 ·
-
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 82 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
developmentseed/titiler-cmr#250 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: IndexHandler.post crashes with HTTP 500 on malformed payloads, missing credentials, or when login is disabledForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 6 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
cookiecutter/cookiecutter-django#6999 ·
I maintainer di solito rispondono entro 1 giorno
-
fix: @_helpers.positional raises TypeError when decorating functions without default argumentsForse già presa @codeXsidd l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
googleapis/google-api-python-client#2845 ·
I maintainer di solito rispondono entro 1 giorno
-
Bump zizmor to 1.31.1+Apertagithub_actions
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
collective/icalendar#2003 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno