Consolidate workflow specifications, parameter models, and metadata mechanisms
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1
- Forks
- 3
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 17
Description
Motivation
Avoid duplication, unify descriptions, etc. for UI generation and user info.
Relevant bits to be consolidated
- https://github.com/scipp/ess/blob/main/packages/essnmx/src/ess/nmx/configurations.py
- https://github.com/scipp/esslivedata/blob/main/src/ess/livedata/parameter_models.py
- Trimmed-down version of https://github.com/scipp/esslivedata/blob/aaf21dcf92a4df4e2b8b1e7278da96e02cd647b0/src/ess/livedata/config/workflow_spec.py#L246-L252
Probably not for v1: - Instrument-specific metadata (https://github.com/scipp/esslivedata/blob/aaf21dcf92a4df4e2b8b1e7278da96e02cd647b0/src/ess/livedata/config/instruments/loki/specs.py#L182-L227 )
- Models for inputs and outputs (example: https://github.com/scipp/esslivedata/blob/aaf21dcf92a4df4e2b8b1e7278da96e02cd647b0/src/ess/livedata/config/instruments/loki/specs.py#L120-L170)
Maybe start by writing an ADR about a minimal solution so we can have a consensus about scope and shape?
Mandatory reading
I have previously done most of this analysis in scipp/esslivedata#889. Make sure to read it and in particular https://github.com/scipp/esslivedata/issues/889#issuecomment-4311180193 -- the attempt to consolidate everything ended up getting out of hand and blocked the entire work.
Contributor guide
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.
Research direction
Read scipp/esslivedata#889 and especially the referenced comment before comparing configurations.py, parameter_models.py, and the trimmed workflow_spec.py section. Start by drafting an ADR for a minimal v1 consolidation, explicitly excluding instrument-specific metadata and input/output models. Done means the scope and shape have consensus before implementation begins.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100