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
Workspace header reads "Finished" for a rejected/expired gated request notice (_portal_body) #3688
After #3657 (#3653), a gated request's ending is reported back in the requester's own chat. When that chat is a Workspace thread, the notice goes through channel_completion_report._portal_body, whose header is chosen only by whether the wake-up row ran to completion:
A wake-up row that reports a rejected, expired or not-run gate outcome completes normally, so the Workspace reader sees:
**Finished** | | Your request was rejected.
with the "done" pill — the first word the requester reads says the opposite of what happened. The PR body for #3657 discloses this; the merge-train validator executed the delivery leg (report_completion → _resolve_portal → add_portal_message) and confirmed the rendered body.
Expected
A skill_gate-triggered wake-up row (the ending notice, not the approved run itself) gets a neutral header in _portal_body — the outcome sentence already carries the verdict — or the header is derived from the gate outcome, not from the row's run status.
Where
src/backend/services/channel_completion_report.py — _portal_body, the head = ... line.
Activity
dolho commentedon Oct 15, 2026
/claim
github-actions commentedon Oct 15, 2026
@dolho This issue is already assigned to dolho. Use
/unclaimfirst if you want to take over.fix(workspace): a gated request's ending notice no longer reads "Fini…