Skip to content

Daemon adoption crosses workspaces; ungated triage call in goal sessions #245

Description

@robertohluna

Two related issues from the v1.0.177 review:

1. Daemon adoption / osa stop can cross workspaces. bin/osa:239-257 decides adoption purely on _http_ok "http://localhost:${_ws_port}/health". A healthy daemon belonging to a different workspace can be adopted, and osa stop can kill it. The health probe does not verify the responding daemon's working directory.

Fix: have /health report the daemon's working directory and require it to match before adopting or stopping.

2. Ungated triage LLM call in goal sessions. goal_verifier.ex:384 maybe_wait_for_user/2 runs a triage LLM call on every text answer in a goal session. Unlike maybe_gate/1 — which is guarded by activated?, skip_reason (run cap, stalled, no work, trivial turn) and GoalTracker.reverify_due? — this path fires whenever enabled? and goal_loop? and continue?. Every zero-tool-call generation during a goal pays an extra provider round-trip, bounded by @default_triage_timeout_ms 30_000.

Combined with #241, a single misclassification by the cheap triage model ends the turn, hides the answer, and loses it from history.

Shipped knowingly in v1.0.177.

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