Commit 5fff807
committed
fix(orchestrator): ensure delta messages start with user role
**Problem:**
Delta mode slicing could result in messages array starting with assistant/tool role.
GitHub Copilot API requires first message to be USER role, causing:
"messages: at least one message is required" (400 error)
**Root Cause:**
When statefulMarker exists and messages are sliced:
1. Slicing removed old user messages (correct)
2. Remaining messages started with assistant/tool results
3. API rejected: first message must be user role
**Solution:**
After building delta messages array, check if first message is user role.
If not, prepend synthetic continue message:
`<system-reminder>continue</system-reminder>`
This matches SAM's existing pattern for workflow continuation and provides
proper user message context for Claude.
**Testing:**
✅ Build: PASS
Next: Test with Claude via ask_sam.sh
**Related:** Commits 29a4941, 4fdddf11 parent 4fdddf1 commit 5fff807
1 file changed
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4341 | 4341 | | |
4342 | 4342 | | |
4343 | 4343 | | |
| 4344 | + | |
| 4345 | + | |
| 4346 | + | |
| 4347 | + | |
| 4348 | + | |
| 4349 | + | |
| 4350 | + | |
| 4351 | + | |
| 4352 | + | |
4344 | 4353 | | |
4345 | 4354 | | |
4346 | 4355 | | |
| |||
0 commit comments