Skip to content

tasks: session-scoped output paths or collision-resistant task ids #515

Description

@emal-avala

Split out of PR #512 review (declared deviation, see discussion there).

TaskManager allocates ids per-process starting at 1 (a1, b1, ...) and task_output_path places all output in one global cache dir. Two concurrent agent-code processes therefore collide on the same .out files: child stdout redirection overwrites them, and since #512 registration also pre-truncates them. A single session is consistent; concurrent sessions can clobber each other's still-visible task output.

Durable fix options:

  • session-scoped output directories (tasks//.out), with adopt() handling the previous session's dir
  • collision-resistant task ids (per-process nonce or persisted global counter)

Either changes task identity/persistence surfaces (adopt, /tasks, drill-in), so it deserves its own change rather than riding a TUI PR.

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