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
feat(signals): add "Run with note" option to the scout Run now button #115210
On a scout's detail page, Run now dispatches a run with no steering. To point a one-off run at something ("check the checkout regression from this morning"), you have to leave a durable scout note. Every later scheduled run then reads that note too, until someone deletes it or it expires.
The backend already supports a note that applies to one run only. SignalScoutManualRunRequestSerializer.note is optional and capped at MAX_RUN_NOTE_CHARS (1,000). The MCP scout-run-now tool uses it. The UI never sends it.
Proposal
Add a dropdown side action to the Run now button in ScoutDetailHeader.tsx. It opens a "Run with note" option.
Run now (main click) works the same as today and sends no body.
Run with note opens a small dialog with:
A textarea with a live character count, capped at 1,000 to match the backend.
Helper copy: the note steers this run only. Later runs don't read it, but it stays in this run's history. It directs the scout's attention and doesn't force a finding.
A Run button that keeps the loading and disabled state the current button already has.
scoutFleetLogic.runScoutNow takes an optional note and passes it through. The manualRunScoutIds loading state stays as it is.
Use the LemonButtonsideAction dropdown pattern (see ImplementButton.tsx).
Permissions: a run with a note needs skill editor access, plus llm_skill:write on a scoped credential. Without it the endpoint returns 403. Disable the "Run with note" item with getAccessControlDisabledReason(AccessControlResourceType.LlmSkill, AccessControlLevel.Editor), as the Publish button already does. Plain Run now stays available.
Analytics: keep actionType: 'run_now' and add extra: { has_note: boolean, note_length }, so we can tell how often people steer runs.
Errors: no change. Budget and already-running errors still show the backend message in a toast.
Out of scope / follow-up
Show run_note in the run history and run detail UI. It's stored in run metadata but not rendered yet, so a person can't see why a run looked at something.
Acceptance criteria
Clicking Run now behaves exactly as before.
Run with note dispatches a run with the note, and that run's metadata.run_note holds the note.
Notes over 1,000 characters can't be submitted.
Users without skill editor access see a disabled reason on Run with note, not a 403.
The run_now event records whether a note was sent.
Activity