[Feature Request] Standardize execution receipts, state transitions, and artifact lineage
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Python
- スター
- 178
- フォーク
- 75
- 平均マージ
- 43分
- マージ済み PR(30日)
- 7
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
deepmodeling/Uni-Lab-OS のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
deepmodeling/Uni-Lab-OS#326 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
deepmodeling/Uni-Lab-OS#325 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
deepmodeling/Uni-Lab-OS#324 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
deepmodeling/Uni-Lab-OS#323 · コメント 1 件 ·
-
[Workflow] Phase 02H:实现 Task input preflight 与 Handle binding再び着手できるかも @TablewareBox が 70 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
deepmodeling/Uni-Lab-OS#301 · コメント 1 件 · 担当者 1 名 ·
deepmodeling/Uni-Lab-OS の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
mishraprafful/multihull#150 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
python-caldav/caldav#735 ·
メンテナーはふだん 1 日以内に返信
-
bug triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
mealie-recipes/mealie#8682 ·
メンテナーはふだん 1 日以内に返信
-
good first issue lane:repo
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100