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

Relationships

#2381 Workflow runs write outputs and evaluated definitions to repo-local .swamp instead of the remote datastore

Opened by stack72 · 9/22/2026· Shipped 9/24/2026

Summary

With a remote datastore (@swamp/s3-datastore, @swamp/gcs-datastore), model methods run through swamp model method run write outputs and evaluated definitions into the datastore cache (~/.swamp/repos/<repoId>/[<namespace>/]outputs, definitions-evaluated) via the repository factory's datastore path resolver. Workflow execution does not: it builds its own repositories rooted at the repo-local .swamp dir.

  • src/domain/workflows/execution_service.ts ~609-614: new YamlOutputRepository(repoDir, undefined, opts.markDirty) and new YamlEvaluatedDefinitionRepository(repoDir, undefined, opts.markDirty) — baseDir undefined falls back to swampPath(repoDir, ...).
  • ~1811-1815: the step executor's evaluated-definition repo, same pattern.

Impact

  1. Outputs and evaluated definitions produced by workflow runs never reach the remote datastore, so other machines and swamp serve never see them.
  2. The markDirty hook's repo-.swamp fallback (src/cli/repo_context.ts buildMarkDirtyHook, added in #1441) converts these repo-local paths into cache keys. In namespaced mode those keys lack the namespace prefix, so the S3 extension's scoped walk stats a path that does not exist in the cache and can delete the namespace's real remote copy of the same relative path.

Point 2 is being neutralised as part of swamp-club#2353 (the hook will ignore paths outside the cache root). This issue tracks the underlying routing: workflow execution should resolve outputs/ and definitions-evaluated/ through the datastore path resolver like the model-method path does.

Found while triaging swamp-club#2353.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 6 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

9/24/2026, 12:26:25 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack729/24/2026, 11:05:18 AM

Sign in to post a ripple.