mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-04 19:28:46 +01:00
fix(workspaces): name the owner action when a shared source is restricted (#16545)
A reused task workspace in a shared project checkout keeps its source denial when another task's restricted worktree shares that checkout (#16095 deliberately does not clone over existing workspaces). The run then failed as an opaque `setup_failed` 403 and the task was blocked with a generic "no live execution path" notice. Convert that exact denial into a `configuration_incomplete` failure with reason `workspace_source_restricted`, give the task notice and the recovery action the owner step, and keep this pre-dispatch owner action out of the unexpected Sentry run-failure stream. The reason and predicate live in a dependency-free module. Access checks are unchanged. Co-Authored-By: Paperclip <Paperclip-Paperclip@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
12 files changed
+175
-5
No files matched your search
@@ -51,6 +51,9 @@ retain the original denial without cloning or replacing their unpublished commit
|
||||
New implicit Git defaults record project-source provenance. Untyped explicit,
|
||||
inherited and older ambiguous checkout bindings retain the denial; admission reads
|
||||
the current company-scoped binding before considering the fallback.
|
||||
A retained denial blocks the task as `configuration_incomplete`
|
||||
(`workspace_source_restricted`) before dispatch; it grants no access and names the
|
||||
owner action on the task.
|
||||
Local paths, unsupported transports and credential-bearing URLs are not fallback
|
||||
sources. Company/task/remote bindings, real paths, Git storage and the exact origin
|
||||
are revalidated for reuse, cleanup and reopening. A failed save removes only the
|
||||
|
||||
Reference in new issue
Block a user