Relationships
#3743 Interactive history and output search pickers cannot open a run under a non-default datastore
Opened by stack72 · 10/21/2026· Shipped 10/21/2026
Description
Under a non-default datastore (a filesystem datastore outside the repo, a namespace, or an S3 cache), the interactive pickers in swamp behavior history search / swamp model method history search and swamp model output search list runs from the datastore, but the preview and the selected-run lookup read only <repo>/.swamp/outputs. So a run the picker lists can then fail to preview or open with "not found".
Same root cause as swamp-club#3729 (fixed for serve in swamp-club/swamp#3268): the output deps are built with createModelOutputGetDeps(repoDir) and no datastore resolver, while the search list uses repoContext.outputRepo, which is datastore-resolved.
Call sites
src/cli/commands/model_method_history_search.ts,modelMethodHistorySearchAction: selected-run lookup after the picker.src/cli/commands/model_output_search.ts,createOutputFetchPreview: picker preview.src/cli/commands/model_output_search.ts,modelOutputSearchAction: selected-run lookup.
All three are pinned as exceptions in PINNED_WITHOUT_DEFINITION_REPO in integration/model_output_deps_wiring_rules_test.ts, and the serve-scoped resolver rule added in #3268 does not cover src/cli.
Steps to reproduce
swamp repo init, thenswamp datastore setup filesystem --path <dir outside the repo>.- Create a
command/shellmodel and run a method once. - Run
swamp behavior history searchin an interactive terminal and select the run: the preview/detail fails with not found, whileswamp behavior history get <id>succeeds.
Suggested fix
Pass the datastore resolver (and repoContext.definitionRepo, repoContext.unreadableContent) at the three call sites, as model_method_history_get.ts does; remove them from PINNED_WITHOUT_DEFINITION_REPO, and extend the resolver rule to src/cli.
Shipped
Click a lifecycle step above to view its details.
Sign in to post a ripple.