You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: DSH plugin continuation admission failures are not surfaced in GoalBar #8506
Enable automatic continuation for a bound Goal in the DSH plugin.
Have the LoopX admission call fail, for example because the heartbeat response does not pass the Driver's schema or identity check.
Observe the conversation and GoalBar after the current Turn ends.
Expected
GoalBar should expose that automatic continuation could not be admitted, with a safe error category and a useful recovery action. It should distinguish this failure from an idle, paused, or completed Goal without disclosing command output or private runtime paths.
Actual
The Driver writes a warning and returns from evaluation without queuing a continuation. The failure is not projected into GoalBar, so the user can see continuation stop without an explanation in the conversation UI.
Code pointers
packages/dsh-loopx-plugin/src/driver.ts: evaluate catches admission failures, calls warn with LoopX admission failed, and returns without an error projection.
packages/dsh-loopx-plugin/src/driver.ts: apply connects the Driver's warn callback only to ctx.logger.warn.
packages/dsh-loopx-plugin/src/goalbar/service.ts and src/goalbar/protocol.ts: existing GoalBar read/action projection and fault vocabulary; possible owners for a bounded, public-safe failure state.
The Windows heartbeat parsing fix is separate. This issue requests user-visible admission diagnostics, not a relaxation of admission validation or automatic retries for every failure.
Related: #8504 fixes the parsing defect that exposed this; the missing diagnostics are independent of it.
Claiming this. Plan: surface the admission failure into GoalBar's projection with a typed, safe category — the driver already writes a warning and returns without queuing; I'll add the failure to the existing projection path (no command output, no runtime paths), distinguish it from idle/paused/completed states, provide a recovery action, and cover it with a projection test (schema/identity-check failure → visible category + recovery hint) plus a negative test that successful admission stays clean. Will link the PR here.
PR implementing this: #8553 — projects the admission failure into the GoalBar snapshot (continuationAdmission field with a safe closed category set), wakes watchers on change, clears on re-admission/Pause, and renders a distinct warning line with the recovery hint. Validation and design notes are in the PR description.
Activity
LIHUA919 commentedon Nov 10, 2026
Claiming this. Plan: surface the admission failure into GoalBar's projection with a typed, safe category — the driver already writes a warning and returns without queuing; I'll add the failure to the existing projection path (no command output, no runtime paths), distinguish it from idle/paused/completed states, provide a recovery action, and cover it with a projection test (schema/identity-check failure → visible category + recovery hint) plus a negative test that successful admission stays clean. Will link the PR here.
LIHUA919 commentedon Nov 11, 2026
PR implementing this: #8553 — projects the admission failure into the GoalBar snapshot (continuationAdmission field with a safe closed category set), wakes watchers on change, clears on re-admission/Pause, and renders a distinct warning line with the recovery hint. Validation and design notes are in the PR description.