Skip to content

Use case edit suggestions#18

Merged
krlberry merged 17 commits intodocument-current-pipeline-use-casesfrom
use_case_edits
Mar 30, 2026
Merged

Use case edit suggestions#18
krlberry merged 17 commits intodocument-current-pipeline-use-casesfrom
use_case_edits

Conversation

@krlberry
Copy link
Copy Markdown
Collaborator

@krlberry krlberry commented Mar 24, 2026

I made some direct edits to the use cases doc and appendix. Please take a look and let me know what you think.

@krlberry krlberry marked this pull request as draft March 24, 2026 06:05
Comment thread docs/context_use_cases_current_pipeline.md Outdated
Comment thread docs/context_use_cases_current_pipeline.md Outdated

| Field | Content |
|-------|---------|
| **Actor(s)** | Non-Python clients (C++, Julia, JavaScript dashboards), external tools |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the ngVLA design document

Python is the lingua franca in the astronomy domain. DMS staff have
considerable experience primarily with Python and secondarily with
C++.

Even though it admits Python as the primary language of use, the intentional mention of C++ (not to mention how intertwined it is in CASA currently), this requirement at least is implied. There are also many in-scope requirements referencing the use of dashboards, which again emphasizes (or at least implies) a language-agnostic interface availability.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you walk me through how this is implied? It isn't obvious to me.

I could also see interfacing with external systems being done by some kind of a service layer and I guess it depends on where we "draw the line" whether we see this as part of the context or separate.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notes from zoom discussion with Tom:

Different perspectives:
(internal) pipeline perspective: internal object maintains state
(external) i.e. PL Driver: needed to make a subprocess so it could be monitored while running to be able to respond to events like "the process is hung"

Maybe clarify the multi-language requirement with stakeholders? Is this actually a requirement? Trying to understand.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left this in the appendix for now but am open to moving it back to GAP or reaching out for clarification either now or when we send out the draft.

Comment thread docs/context_current_pipeline_appendix.md Outdated
Comment thread docs/context_use_cases_current_pipeline.md Outdated
Comment thread docs/context_use_cases_current_pipeline.md Outdated
Comment thread docs/context_use_cases_current_pipeline.md Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could perhaps be split into two separate use cases: one for tracking execution progress and stage history and the other for preserving per-stage execution record for resume, audit, and diagnosis.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, I'm splitting this in two and you can let me know what you think about the split version.

Comment thread docs/context_use_cases_current_pipeline.md
Comment thread docs/context_use_cases_current_pipeline.md Outdated
Comment thread docs/context_use_cases_current_pipeline.md Outdated
Comment thread docs/context_use_cases_current_pipeline.md Outdated
Comment thread docs/context_use_cases_current_pipeline.md Outdated
Comment thread docs/context_use_cases_current_pipeline.md Outdated
Comment thread docs/context_use_cases_current_pipeline.md Outdated
|-------|---------|
| **Actor(s)** | QA dashboards, monitoring tools, archive ingest systems, scheduling systems |
| **Summary** | External systems need access to current processing state — including current stage, processing time, QA results, and lifecycle transitions — without relying on offline product files. The system must expose sufficient state for these consumers to track and respond to processing status in a timely way. |
| **Summary** | External systems need access to current processing state — including current stage, processing time, QA results, and lifecycle transitions — without relying on offline product files. The `Context` must expose sufficient state for these consumers to track and respond to processing status in a timely way. |
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should use Context in the use cases because the Context is a specific class, and as such, a description of an implementation. "The context" without backticks refers to the concept implemented by the Context, which is what we're actually trying to capture.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pushed a change that replaced references to the Context with "the context" in the use cases markdown file and left the references to the Context in the appendix for now. Happy to discuss.

…n the pipeline (the Context with backticks).
…ecision making in downstream tasks. Make other assorted wording updates including removing references to removed use cases and standardizing actor names.
@krlberry krlberry marked this pull request as ready for review March 30, 2026 20:07
@krlberry krlberry merged commit 798473a into document-current-pipeline-use-cases Mar 30, 2026
@krlberry krlberry deleted the use_case_edits branch March 30, 2026 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants