CLI/MCP: read Pipeline.State.stopped_reason instead of inferring from the action
- Dominant language
- Go
- Stars
- 610
- Forks
- 63
- Avg merge
- 12h 28m
- Merged PRs (30d)
- 57
Description
Follow-up from #2629 (which added `Pipeline.State.stopped_reason`).
`cmd/conduit/root/pipelines/lifecycle.go` `pipelineStatusLabel` (and its mirror in `cmd/conduit/internal/mcp/tools_lifecycle.go`) still infer "user-stopped" from `action == stop` because, historically, the wire couldn't distinguish user- vs system-stopped. `stopped_reason` now distinguishes them directly. Switch both consumers to read `GetState().GetStoppedReason()` and delete the action-inference. Small, Tier-2; keep the two mirrored copies in sync.
Contributor guide
Research direction
Read pipelineStatusLabel in cmd/conduit/root/pipelines/lifecycle.go and its mirror in cmd/conduit/internal/mcp/tools_lifecycle.go, then compare how each currently derives the status. Verify both consumers use Pipeline.State.stopped_reason directly rather than action inference, and keep the mirrored implementations in sync.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 75/100