Skip to content

Allow Agent Nodes to override the selected Profile working directory #269

Description

@mydmdm

Context

An external Agent Profile owns a default workingDirPath, and the persisted Agent Node contract already supports a node-specific agentLaunchOverrides.workingDirPath. The Agent Node UI currently lets the user select a Profile but does not expose that existing override.

Users need to reuse one Profile across multiple repositories or working directories without cloning or editing the global Profile for every Agent Node.

Desired outcome

After selecting an external Profile on an editable Agent Node, allow the user to configure an optional working-directory override for that Node.

Expected behavior:

  • leaving the override empty inherits the selected Profile's workingDirPath;
  • an explicit override applies only to that Agent Node and does not mutate the Profile or any other conversation;
  • the UI clearly distinguishes the inherited Profile directory from an explicit Node override;
  • the effective working directory is persisted and restored with the Node through the existing canonical agentLaunchOverrides.workingDirPath field;
  • the override participates in the existing first-realization execution snapshot and cannot silently change the directory of an already bound/running conversation;
  • changing the selected Profile before realization preserves or clears the override only through explicit, understandable UI behavior;
  • invalid, relative, unavailable, or target-machine-incompatible paths fail with actionable feedback rather than silently falling back to the Profile directory.

Investigation boundary

Reuse the existing Agent Node launch-override contract and execution snapshot path. Before implementation, verify the current Agent Node selector/editing lifecycle, Canvas persistence ownership, server validation, target Agentlet path semantics, and realization locking behavior.

Do not introduce a second working-directory field, change Profile-level configuration, add workspace browsing/upload, provision directories, or permit post-realization cwd mutation unless investigation demonstrates that a contract change is required and the user approves it.

Acceptance direction

  • An unrealized Agent Node with an external Profile exposes an optional working-directory override.
  • Empty means inherit; the UI shows the inherited/effective value without persisting a redundant copy.
  • An explicit absolute override survives save/reload and is used for that Node's first execution.
  • Other Nodes and the selected Profile remain unchanged.
  • Bound or realized execution semantics remain immutable and understandable.
  • Invalid or unusable paths produce explicit feedback with no silent fallback.
  • Focused tests cover inheritance, override persistence, Profile changes, realization locking, and failure behavior.
  • Relevant Agent Profile/Agent Node architecture documentation is updated.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions