Skip to content

fix(omp): follow-ups from the integration-wait review (#2159) #2168

Closed as not planned

Description

@devswha

Follow-up to #2159 (findings from the merge pass's review; none blocked).

  • A project integration disabled in config.yml now costs the full 30 s startup wait (Codex MEDIUM, server/omp.ts ~155): main sent at once because it did not see project integrations; this PR does, but does not honour disabledExtensions (also true for the agent-dir integration, as on main). Honour the effective disabled list before waiting.
  • An -e/--extension/--hook naming a directory or package is not recognized (Codex MEDIUM / omo LOW-1, ~151): only the basename is compared, so the send goes at once as before; resolve directories and packages the way omp discovers extensions.
  • The project check uses herdr's process cwd, not an absolute --cwd (server/core/composer.ts ~124); prefer ompLaunchDir(argv).
  • A named extension counts by basename without checking it exists (a missing relative path waits 30 s).
  • ompConfigDir keeps the first of duplicated env variables while ompStoreLayout refuses; OMP_INTEGRATION_FILE is exported but only used in omp.ts.
  • A submit loop outlives a timed-out test in server/core/omp-submit.test.ts and can break the next test's pane.get count.

Activity

  1. devswha commented on Oct 28, 2026

    @devswha
    OwnerAuthor

    Items from #1486 that neither #1825 nor #2159 fixed, tracked here so #1486 can close:

    • macOS: omp's environment is not read (processEnviron is null there), so an integration found only through OMP_PROFILE, PI_PROFILE, PI_CONFIG_DIR or PI_CODING_AGENT_DIR is not seen and that omp is sent to at once (server/core/composer.ts ompProcess). Reading it through the kernel argument area, as routingEnviron in server/omp.ts does for routing words, would close it.
    • macOS: each send to an unreported omp runs ps synchronously (processStartedAt, server/process-start.ts).
    • After the wait ends, an omp that quits within the one RPC before agent.prompt still reaches the paste-and-Enter fallback on agent_not_found. Every agent on main has the same narrow race.
    • Extensions listed in a settings.json extensions array (agent or project level) are not seen (documented limit of fix(omp): wait for the integration wherever omp loads it, and not under --no-extensions (#1486) #2159).
    • Windows: an unquoted -e path with spaces reaches the process as several words, which omp joins back into one; we compare only the first word (documented limit of fix(omp): wait for the integration wherever omp loads it, and not under --no-extensions (#1486) #2159).
    • Note, no change planned: a tapped send that waits for omp still completes after its sender disconnects, which the submit contract intends. If that contract changes, the omp wait is where it would show first.
  2. devswha commented on Oct 28, 2026

    @devswha
    OwnerAuthor

    Closing under the new follow-up bar: a follow-up issue is kept only for a reproduced, user-visible MEDIUM finding. The remaining discovery gaps (disabled or explicit extensions, an absolute --cwd) are reasoned from code with no observed failed or delayed send; the macOS ps item was fixed by c6f77d7 (#1980). Below the follow-up bar: LOW/unreproduced; recorded on PR #2159 and in this issue for reference.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions