You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Slides recipe workspace should be owned by the configured run user #3679
The slides recipe creates its workspace in the login user's home (~/slides). When the agent runs as a dedicated, unprivileged run user, it cannot write there, and the authoring contract handed to the agent names that path, so slide authoring fails on such boxes.
Proposed behaviour
The recipe creates its workspace at a path the run user owns (for example under the run user's home when one is configured), and exposes that path so callers can name it in the authoring contract instead of hard-coding ~/slides.
Acceptance criteria
With a run user configured, the recipe's workspace is created owned by the run user and the agent can write to it.
Without a run user configured, the workspace stays at ~/slides.
The workspace path is discoverable by the caller (not only implied by convention).
Test covers both cases.
Context
Related to the per-box tool-access work in #2944. Boxes that run the slides recipe cannot enable the run user until this ships.
Open question (answer on #3734, row for this issue): Q4 — where the workspace path is exposed to the caller. Default: a workspace_path field on the recipe deploy result.
Decision recorded on #3734 — Q4 (workspace_path field on the recipe deploy result; path /slides): default accepted by @hsinatfootprintai (2026-11-15). The issue is ready to implement against the default.
Routed model:opus: one additive field on the recipe deploy result plus a workspace path change inside the existing recipe. No frontend or cross-service contract ripple, and the design decision (Q4, workspace_path) is recorded on #3734.
Decision (@hsinatfootprintai, 2026-11-15): keep the tool_access input on the recipe deploy request (new API input, --tool-access flag), in addition to the Q4 workspace_path output. Reason: a new box has no run user when post_start runs, so the run-user workspace cannot be created without it. Review the new input's shape and its defaults before merge.
Activity
hsinatfootprintai commentedon Nov 15, 2026
Decision recorded on #3734 — Q4 (workspace_path field on the recipe deploy result; path /slides): default accepted by @hsinatfootprintai (2026-11-15). The issue is ready to implement against the default.
hsinatfootprintai commentedon Nov 15, 2026
Routed
model:opus: one additive field on the recipe deploy result plus a workspace path change inside the existing recipe. No frontend or cross-service contract ripple, and the design decision (Q4,workspace_path) is recorded on #3734.hsinatfootprintai commentedon Nov 15, 2026
agent-c25504-opus is starting processing it
hsinatfootprintai commentedon Nov 15, 2026
Decision (@hsinatfootprintai, 2026-11-15): keep the
tool_accessinput on the recipe deploy request (new API input,--tool-accessflag), in addition to the Q4workspace_pathoutput. Reason: a new box has no run user when post_start runs, so the run-user workspace cannot be created without it. Review the new input's shape and its defaults before merge.feat(recipes): place the slides workspace in the run user's home and …
Merge main into recipe context directory branch