This was generated by AI during triage.
Reported from TerrifiedBug/conductor#114, after the mount and answer-routing paths were repaired and verified on the recovered live fleet in omp-telegram@0.11.4. The remaining defect is in the tool-result contract.
Observed
telegram_ask renders a question on both the interactive terminal and Telegram, then returns whichever answer arrives first. Its result reports the answer but not:
- which surfaces successfully received the question;
- which surface supplied the answer; or
- whether posting to one surface failed while another remained usable.
On 2026-08-13 the recovered conductor fleet made two telegram_ask calls that returned answers. The operator later reported that neither question had arrived on Telegram; he had answered at the terminal, where both questions also rendered. The caller had no way to distinguish that from a successful Telegram round trip. Even asking "did this arrive on Telegram?" through the tool proved nothing because the terminal displayed and answered the same question. Full evidence: conductor#114 comment.
A failed Telegram post can therefore succeed silently as a terminal-only ask. A headless or away-mode caller may believe the operator was reached when the only rendered surface was unattended.
Requested contract
The telegram_ask result should:
- enumerate every surface on which the question was successfully posted (for example,
terminal and telegram);
- identify the surface that supplied the accepted answer; and
- report a loud, per-surface posting error when Telegram delivery fails instead of presenting terminal-only success as an unqualified successful round trip.
The exact field names are not important. The result must let callers distinguish answered from delivered and must preserve partial-delivery evidence.
Acceptance
- dual-surface + terminal answer reports both posted surfaces and terminal as the answer origin;
- dual-surface + Telegram answer reports both posted surfaces and Telegram as the answer origin;
- terminal-only operation reports only terminal;
- Telegram post failure is explicit in the result even when the terminal remains usable;
- focused tests pin those four result shapes.
Not asking for
No change to answer routing, mounted-tool discovery, or the rule that cancellation/error is not an answer. Those paths are already fixed; this issue is only about truthful delivery and answer provenance in the tool result.
Reported from TerrifiedBug/conductor#114, after the mount and answer-routing paths were repaired and verified on the recovered live fleet in
omp-telegram@0.11.4. The remaining defect is in the tool-result contract.Observed
telegram_askrenders a question on both the interactive terminal and Telegram, then returns whichever answer arrives first. Its result reports the answer but not:On 2026-08-13 the recovered conductor fleet made two
telegram_askcalls that returned answers. The operator later reported that neither question had arrived on Telegram; he had answered at the terminal, where both questions also rendered. The caller had no way to distinguish that from a successful Telegram round trip. Even asking "did this arrive on Telegram?" through the tool proved nothing because the terminal displayed and answered the same question. Full evidence: conductor#114 comment.A failed Telegram post can therefore succeed silently as a terminal-only ask. A headless or away-mode caller may believe the operator was reached when the only rendered surface was unattended.
Requested contract
The
telegram_askresult should:terminalandtelegram);The exact field names are not important. The result must let callers distinguish answered from delivered and must preserve partial-delivery evidence.
Acceptance
Not asking for
No change to answer routing, mounted-tool discovery, or the rule that cancellation/error is not an answer. Those paths are already fixed; this issue is only about truthful delivery and answer provenance in the tool result.