Skip to content

Open a task's artifact folder from the a modal with f - #420

Merged
tildesrc merged 1 commit into
mainfrom
panopticon/task-artifact-folder-key
Sep 20, 2026
Merged

tildesrc merged 1 commit into
mainfrom
panopticon/task-artifact-folder-key

Conversation

@tildesrc

Copy link
Copy Markdown
Contributor

The repo-artifact modal (A) has had f — open the repo's artifact folder in the host's file manager — since repo artifacts landed. The task-artifact modal (a) had no equivalent: a task's artifacts could only be opened one file at a time, over REST (Enter) or in place (e).

a now reads the same as A:

a            → artifacts modal
  enter      → open the selected artifact over REST
  e          → open the on-disk file in place
  f          → open the folder                      ← new
  ctrl+a     → attach files
  • FilesystemArtifactStore.task_artifact_dirpath()'s directory twin, returning <artifacts>/tasks/<task-id>/ or None when it isn't here, so the layout stays owned by the store. It's the id-named directory, not the tasks/<slug> alias symlink.
  • action_open_folder moves into the shared _ArtifactListScreen base now that both modals bind it; the Dashboard decides which scope's directory the "folder" mode resolves to.
  • The warning differs from the repo modal's, deliberately. A task's directory is created with its first artifact, so "nothing written yet" is the ordinary reason there's no folder and is said plainly, rather than folded into the repo modal's single "isn't on this machine". The folder is not mkdir-ed on demand — ctrl+a already covers adding files.

The key lives in the modal rather than on the task table (where w already opens the task's workdir), keeping the two artifact modals identical.

Docs updated: docs/dashboard.md, docs/tasks.md, the dashboard module docstring, and the AGENTS.md / ARCHITECTURE.md lines that said only repos had a folder key.

Plan: the task's plan.md artifact (panopticon://tasks/de75ab7fd77e4c0d8623590174a6a369/artifacts/plan.md).

🤖 Generated with Claude Code

The repo-artifact modal (`A`) has had `f` — open the repo's artifact folder
in the host's file manager — since repo artifacts landed. The task-artifact
modal (`a`) had no equivalent: a task's artifacts could only be opened one
file at a time, over REST (`Enter`) or in place (`e`).

Add `f` to the task modal, resolving to `<artifacts>/tasks/<task-id>/` via a
new `FilesystemArtifactStore.task_artifact_dir` — `path()`'s directory twin,
so the layout stays owned by the store. `action_open_folder` moves into the
shared `_ArtifactListScreen` base now that both modals bind it; the Dashboard
decides which scope's directory it resolves to.

The warning differs from the repo modal's deliberately: a task's directory is
created with its first artifact, so "nothing written yet" is the ordinary
reason there's no folder and gets said plainly, rather than folded into the
repo modal's single "isn't on this machine".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tildesrc
tildesrc marked this pull request as ready for review September 20, 2026 18:18
@tildesrc
tildesrc merged commit 60d7e08 into main Sep 20, 2026
3 checks passed
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