Skip to content

Slides recipe workspace should be owned by the configured run user #3679

Closed

Description

@hsinatfootprintai

Problem

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.


Blocked by: none
Sprint: #3734
Part of #3734

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.

Activity

  1. added
    enhancementNew feature or request
    phase-1-flowSprint phase 1: on the critical path — the flow does not work without it
    needs-verificationCannot be proven by CI — verify against a deployed environment
    needs-decisionWaiting on a human decision — not implementable until answered
    on Nov 12, 2026
  2. hsinatfootprintai commented on Nov 15, 2026

    @hsinatfootprintai
    ContributorAuthor

    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.

  3. added
    model:opusRoute to Opus — standard multi-file feature work
    and removed
    needs-decisionWaiting on a human decision — not implementable until answered
    on Nov 15, 2026
  4. hsinatfootprintai commented on Nov 15, 2026

    @hsinatfootprintai
    ContributorAuthor

    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.

  5. hsinatfootprintai commented on Nov 15, 2026

    @hsinatfootprintai
    ContributorAuthor

    agent-c25504-opus is starting processing it

  6. hsinatfootprintai commented on Nov 15, 2026

    @hsinatfootprintai
    ContributorAuthor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmodel:opusRoute to Opus — standard multi-file feature workneeds-verificationCannot be proven by CI — verify against a deployed environmentphase-1-flowSprint phase 1: on the critical path — the flow does not work without it

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions