Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneeshammz

Relationships

#2125 Workflow history get/logs enumerate all run contents for a full run UUID

Opened by hammz · 9/13/2026· Shipped 9/15/2026

Description

Resolving one complete workflow run UUID through history get or logs loads the global run history first. A targeted inspection therefore scales with the contents of unrelated historical runs.

Reproduction scenario

  1. Use a repository with many retained runs across several workflows.
  2. Obtain one complete run UUID.
  3. Run swamp workflow history get <full-run-uuid> --json and swamp workflow history logs <full-run-uuid> --json.
  4. Trace run-record reads while resolving that ID.

Actual behavior

createWorkflowHistoryGetDeps() and createWorkflowHistoryLogsDeps() route complete UUIDs through matchRunByPartialId(). Both call runRepo.findAllGlobal() before matching the ID.

YamlWorkflowRunRepository.findAllGlobal() calls findAllByWorkflowId() for every workflow directory, materializes the run aggregates, and sorts all results. Thus even a complete ID causes unrelated run contents to be read and parsed before selecting the requested run.

Expected behavior

A complete run UUID selects the target without parsing unrelated run bodies. Short prefixes retain ambiguity detection, and repeated reads return the current persisted status as a run progresses.

Suggested fix direction

Recognize complete UUIDs and use targeted run-file reads, discovering the owning workflow directory if necessary. Keep the existing broader matching path for prefixes and preserve case normalization and ambiguity behavior. Reuse identity/path information only in a way that still reads fresh run status.

Shipped issue #1173 concerns OOM in workflow history search for large histories. This report concerns full-UUID resolution in history get and history logs, which still call the global full-run loader at the inspected revision.

Evidence and scope

Inspected swamp core source at revision 7b111963. The reproduction scenario and actual behavior below are derived from source inspection; no released binary or end-to-end reproduction was tested for this report.

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 8 MOREREVIEW+ 7 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

9/15/2026, 11:26:37 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
hammz assigned hammz9/15/2026, 10:40:36 PM

Sign in to post a ripple.