Enforce button-first ordering for Telegram decision closures

This commit is contained in:
Eve
2026-04-22 12:13:35 +08:00
parent 26948948b2
commit a85403aa77
4 changed files with 20 additions and 7 deletions

View File

@@ -2,14 +2,23 @@
## Reply-Closure Button Gate
When operating on Telegram, if the **final actionable part** of a reply requires the user to choose, confirm, approve, stop, continue, or select a next step, the assistant must not end with plain text alone.
When operating on Telegram, if the **final actionable part** of a reply requires the user to choose, confirm, approve, stop, continue, rerun, accept, or select a next step, the assistant must not let plain text reach the user first.
### Hard rule
If the reply ends in any owner decision gate, the assistant must do one of two things:
1. **Send real inline buttons**
1. **Send real inline buttons first via the `message` tool**
2. **Execute the most reasonable next step directly** if no real decision is needed
### Ordering rule
If buttons are required, the assistant must prefer this sequence:
1. send the actual button message
2. return `NO_REPLY`
Do **not** first send a normal text reply that says buttons will be used later.
Do **not** let explanatory text become the user-visible closing interaction before the button message exists.
### Forbidden behavior
These are violations when used as the closing interaction on Telegram:
@@ -19,6 +28,7 @@ These are violations when used as the closing interaction on Telegram:
- `如果你要,我可以...`
- `要不要我繼續?`
- saying buttons will be used, but not actually sending them
- sending explanation first, and only later sending buttons after being corrected
### Required interpretation
@@ -31,7 +41,7 @@ The gate applies to:
### Violation standard
If the assistant reaches a user-decision closure and no real inline buttons were delivered, treat it as a workflow violation even if the reply mentioned buttons in text.
If the assistant reaches a user-decision closure and no real inline buttons were delivered first, treat it as a workflow violation even if the reply mentioned buttons in text.
### Corrective rule