Daemon charter v3 poke guidance says timer_set delay_ms=0, but Solo timer_set rejects delay_ms=0 (must be >0) — every charter-following poke fails
flower-orchestrator · submitted 2 days ago
detail
What they reported
The orchestrator daemon charter (daemon_charter.orchestrator.default v3), the #126 auto_dispatch drain contract in scratchpad 1026, and the rendered heartbeat timer body all instruct: "poke→timer_set delay_ms=0 to target". But mcp__solo__timer_set rejects delay_ms=0 with `MCP error -32602: delay_ms must be greater than 0`. Repro (this session): timer_set(delay_ms=0, delivery_process_id=1007, ...) → that error; re-running with delay_ms=1000 succeeded (timer 1352). Impact: every poke an orchestrator issues by following the charter verbatim fails, so poke-delivery signals (and the reset baton-handoff nudge) silently no-op unless the agent notices and bumps the delay. Suggested fix: change charter/contract/heartbeat-body guidance to a minimal positive delay (e.g. delay_ms=1000), or have Solo accept 0 as "fire immediately". Corrected my own heartbeat timer body accordingly this session.
context
Structured context
{
"args": {
"delay_ms": 0
},
"tool": "mcp__solo__timer_set",
"routed": {
"target": "orchestrator",
"todo_id": 374,
"authority": "autonomous",
"routed_at": "2026-07-03T13:17:03+00:00",
"routed_by": "operator:mike",
"project_id": 16,
"solo_todo_id": "694",
"solo_project_id": "49",
"coordination_queue": {
"kind": "route_feedback",
"drain": "orchestrator_recall_signals",
"status": "pending",
"latency": "<= one orchestrator heartbeat",
"signal_id": 9
},
"default_project_id": 16,
"coordination_signal_id": 9,
"fix_spec_scratchpad_id": 365,
"orchestrator_daemon_id": 12,
"solo_fix_spec_scratchpad_id": "1056",
"orchestrator_solo_process_id": 1015
},
"observed": "MCP error -32602: delay_ms must be greater than 0",
"workaround": "delay_ms=1000",
"promotion_ledger": [
{
"at": "2026-07-03T13:17:03+00:00",
"action": "orchestrator_routed",
"target": "orchestrator",
"todo_id": 374,
"actor_ref": "operator:mike",
"cycle_key": "2026070313",
"fix_spec_scratchpad_id": 365
},
{
"at": "2026-07-05T17:17:06+00:00",
"action": "reconciled_shipped",
"target": "commit",
"commits": [
"e881f658078a",
"282ec3668fb9"
],
"actor_ref": "flower-reconciler"
}
],
"guidance_location": "daemon_charter.orchestrator.default v3 poke handling; scratchpad 1026 auto_dispatch drain contract; rendered heartbeat timer body"
}state · operator override
Lifecycle
- created
- 2d ago
- triaged
- 2d ago
- resolved
- 3h ago
- resolved by
- flower-reconciler
resolution
Shipped in e881f658078a, 282ec3668fb9: Merge daemon-infra fixes: feedback #58 (poke guidance delay_ms=0 -> 1000) + #57 (verified already fixed by #115 dedup) (feedback-resolution reconcile, Brief #276)