Skip to content

OMP parent shows idle/stopped while internal task subagents are still active; nativeHandle points at missing .jsonl #2232

Description

@thatdaveguy1

Summary

When an OMP-backed Paseo agent fans out work with OMP-internal task subagents, the parent agent flips to idle / UI “stopped” even though the OMP process is still actively writing child session logs.

Paseo’s stored persistence.nativeHandle points at a missing .jsonl file, while the real session is a directory with the same stem containing live child *.jsonl files.

This makes long-running fan-out audits look finished/stopped in the agent list when they are not.

Environment

  • Paseo: 0.1.110 (/Applications/Paseo.app)
  • OMP: omp/17.0.5
  • Provider: omp / model cursor/cursor-grok-4.5-high-fast
  • OS: macOS 26.5.2 (Darwin 25.5.0, arm64)
  • Daemon: 127.0.0.1:6767
  • OMP provider config uses params.sessionDir: ~/.omp/agent/sessions

Repro

  1. Create/run an OMP agent that spawns several internal task subagents (fan-out audit / research style).
  2. Wait until the parent turn parks on hub waits / child completion.
  3. Observe:
    • paseo inspect <parent-id> --jsonStatus: idle
    • UI shows parent as stopped/idle
  4. Meanwhile:
    • omp process for that session is still alive
    • child *.jsonl files under the session directory continue updating
    • lsof -p <omp-pid> shows open writes to those child files

Observed (exact case)

Parent agent:

  • ID: 0d43efa4-2b73-4645-bf79-940b8f82be48
  • Title: critically audit the entire repo, data feed, api usage, pipe
  • Status: idle
  • Session ID: 019f7c27-d1fd-7000-918f-fd49e1e66a6a

Stored handle:

~/.omp/agent/sessions/-Antigravity-unusualwhales/2026-07-19T20-53-32-285Z_019f7c27-d1fd-7000-918f-fd49e1e66a6a.jsonl
  • exists = false

Actual session:

~/.omp/agent/sessions/-Antigravity-unusualwhales/2026-07-19T20-53-32-285Z_019f7c27-d1fd-7000-918f-fd49e1e66a6a/
  • exists as a directory
  • contains live child logs such as:
    • ApiBudgetAudit.jsonl
    • PipelineFeedAudit.jsonl
    • Btc5mStratHealth.jsonl
    • LegacyStratHealth.jsonl
    • HarnessPnlAudit.jsonl
    • etc.

At observation time, parent OMP pid 27988 still had open write FDs on multiple child jsonls in that directory.

Contrast: currently healthy running agents still have existing .jsonl nativeHandle files.

Expected

While OMP-internal child task sessions are still active for a parent:

  1. Parent should remain running (or some explicit waiting / delegated status), or
  2. Child work should be visible in Paseo’s agent/subagent tree, and
  3. nativeHandle should resolve to a real session artifact (file or directory), not a missing path.

Actual

  • Parent status becomes idle / UI stopped
  • Child work continues invisibly under ~/.omp/agent/sessions/.../<session-stem>/
  • Paseo list no longer reflects that the job is still in progress
  • Attach/logs UX is degraded because the parent looks finished

Impact

  • False “done/stopped” signal for multi-agent OMP runs
  • Hard to babysit long audits from the agent list
  • Easy to interrupt/restart/abandon work that is actually still running
  • Confusing freeze triage: parent looks idle while child hub waits continue

Workarounds (no Paseo patch)

  1. Watch session-dir mtimes / open FDs:
    • ~/.omp/agent/sessions/.../<session-stem>/*.jsonl
    • lsof -p <omp-pid>
  2. Use paseo attach <id> / external watcher for activity
  3. Prefer Paseo-level agents (paseo run / handoff / advisor) over OMP-internal task when list visibility matters
  4. paseo send can flip the parent back to running briefly, but that does not restore correct child tracking

Suspected gap

Paseo appears to treat OMP parent turn completion / missing parent .jsonl handle as terminal idle, without accounting for OMP’s session-directory + internal task-subagent layout.

Ask

Please consider:

  1. Keep parent non-idle while OMP child session files under the session stem are still active
  2. Make nativeHandle support OMP session directories (or rewrite handle to the real artifact)
  3. Surface OMP-internal task children in the agent tree / status model
  4. Or document clearly that OMP-internal task fan-out is intentionally invisible to Paseo status

Happy to provide more logs / a minimal repro script if useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugReproducible unintended behaviorp2Valid useful work with limited impact or a workaroundtriagedReviewed by maintainer triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions