Skip to content

A per-output path ending in / is a folder - #70

Merged
johnchase merged 3 commits into
devfrom
feat/output-folders
Oct 18, 2026
Merged

johnchase merged 3 commits into
devfrom
feat/output-folders

Conversation

@johnchase

@johnchase johnchase commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

A per-output destination ending in / now names a folder, and the output is written into it under its own name: --output-table /results/run-001/ writes /results/run-001/table.qza (.qzv for a visualization). Without the trailing / the path is the file itself, as before.

  • Applies wherever a per-output path is resolved: --output-* flags, outputs in an arguments file or a pipeline file's bundled config, and publish destinations sent by Desktop / Runtime Server runs (all go through resolve_output_destination).
  • Only the text decides, never the disk: an existing directory given without the slash is still a file path, so a shared pipeline means the same thing on every machine.
  • --output-* help text states the rule.

This matches the rule the editor now uses (cymis/adagio-app#462). The app sends complete file paths, so this is for hand-written arguments and flags, and for consistency.

Tests: new tests/test_output_folders.py; full suite 275 passed; ruff clean. Verified by running a downloaded .adg with --output-denoising-stats <dir>/, which wrote <dir>/denoising_stats.qza.

Update: wording only, "folder" → "directory" to match the editor (is_directory_path, help text). No behavior change was needed for Directory variables in input paths: the app sends complete paths.

John Chase added 3 commits October 17, 2026 17:55
The output is written into it under its own name: --output-table
/data/run1/ writes /data/run1/table.qza. The same rule applies to publish
destinations and to output paths in a pipeline file's config or an
arguments file. Only the text decides, never the disk, so a shared
pipeline means the same thing on every machine.
@johnchase
johnchase merged commit 38e3000 into dev Oct 18, 2026
4 checks passed
johnchase added a commit that referenced this pull request Oct 18, 2026
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.

1 participant