fix: use message reaction for query acknowledgement
This commit is contained in:
@@ -14,7 +14,7 @@ Expected:
|
||||
|
||||
- model parses successfully;
|
||||
- quantity is accepted;
|
||||
- the bot immediately replies with `👀` after the valid trigger is accepted and before the API query starts;
|
||||
- the bot immediately adds the Feishu `OnIt` (typing) reaction to the original message after the valid trigger is accepted and before the API query starts;
|
||||
- the controlled script uses the macOS system trust store and keeps TLS verification enabled;
|
||||
- no temporary TLS-bypass parameter is required for the normal happy path;
|
||||
- API script runs;
|
||||
@@ -72,7 +72,7 @@ is not required.
|
||||
|
||||
Expected:
|
||||
|
||||
- the bot immediately replies with `👀` after the continuation and active-context gates pass;
|
||||
- the bot immediately adds the Feishu `OnIt` (typing) reaction to the original message after the continuation and active-context gates pass;
|
||||
- the bot reuses the active model and quantity only for that same sender and chat;
|
||||
- the bot queries candidate positions 5-8 in the unchanged rule order;
|
||||
- the original model and candidate positions 1-4 are not queried or displayed again;
|
||||
@@ -97,7 +97,7 @@ eRob110H160I-FHM-18ET[V6]
|
||||
Expected:
|
||||
|
||||
- bot stays silent;
|
||||
- no acknowledgement emoji is sent;
|
||||
- no acknowledgement reaction is added;
|
||||
- no API call is made;
|
||||
- no record is appended.
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
- [ ] If that domain-and-permission record is absent, outbound access remains blocked; a general AR51 functional-test approval is not sufficient by itself.
|
||||
- [ ] Only after approval is recorded, network can reach the AR836 delivery prediction API.
|
||||
- [ ] Feishu bot bridge or local entry is configured.
|
||||
- [ ] The Feishu app has `im:message.reactions:write_only` so the bot can add the `OnIt` received reaction to valid query messages.
|
||||
- [ ] Logs are stored outside Git or in an approved non-secret location.
|
||||
|
||||
## 5. Acceptance
|
||||
@@ -47,6 +48,7 @@
|
||||
- [ ] The initial response queries no more than four recommended candidates in addition to the original-model baseline; same-sender, same-chat continuation queries the next four without duplication.
|
||||
- [ ] Candidate continuation without matching active context stays silent; a bridge restart or six-hour expiry requires the complete model and quantity again.
|
||||
- [ ] Output includes the fixed internal-candidate disclaimer.
|
||||
- [ ] A real valid query shows the `OnIt` typing reaction below the original message rather than creating a reply bubble or reply thread.
|
||||
- [ ] Records append to `records/delivery_prediction_records.md`.
|
||||
- [ ] A direct AR51 task in Mac Studio Codex can modify a test project file or perform the intended Git update without being blocked by the Feishu read-only rule.
|
||||
- [ ] A Feishu request to modify a rule or other project file is refused and leaves all project files unchanged.
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
4. Confirm a separate trusted AR51 approval record explicitly covers `api.zeroerr-agent.com`, the AM516 use case, and API-key use.
|
||||
5. If that domain-and-permission record is absent, stop before any outbound request; a general functional-test approval is insufficient by itself.
|
||||
6. Use model recommendation rules to generate the complete ordered internal candidate pool.
|
||||
7. Immediately reply with `👀` to acknowledge the valid request.
|
||||
7. Immediately add the Feishu `OnIt` (typing) reaction to the original message to acknowledge the valid request.
|
||||
8. Run the controlled script for the original model baseline and only the first four candidate models.
|
||||
9. Convert each numeric natural-day lead time to workdays with the approved quotient-and-remainder rule, then count those workdays from the local query date through the configured China statutory workday calendar. The query date itself is excluded.
|
||||
10. Summarize the current batch, including the original natural days, converted workdays, and calculated delivery date; state how many candidates remain and invite the same sender to ask naturally for more when candidates remain.
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
1. Accept a clear request for more candidates only from the same sender in the same Feishu chat as the active initial query. Equivalent expressions such as `还有吗`、`有没有别的`、`再推荐几个`、`继续`、`下一批` or `more candidates` are valid; no exact phrase is required.
|
||||
2. The in-memory continuation context expires after six hours and is cleared by a bridge restart. If no matching context exists, stay silent and require a new complete model-and-quantity query.
|
||||
3. Immediately reply with `👀`, then query the next four unqueried rule candidates; do not re-query the original baseline or any earlier candidate.
|
||||
3. Immediately add the Feishu `OnIt` (typing) reaction to the original message, then query the next four unqueried rule candidates; do not re-query the original baseline or any earlier candidate.
|
||||
4. Missing or unsupported candidates still consume their rule-order positions and remain under `不可用候选`.
|
||||
5. Append one record block for the models queried in this continuation batch, then state whether more candidates remain.
|
||||
6. A new complete model-and-quantity request replaces the earlier continuation context for that sender and chat.
|
||||
|
||||
@@ -45,10 +45,10 @@ Stop if:
|
||||
- Enter the query workflow only when one message contains exactly one complete,
|
||||
rule-valid eRob model and exactly one positive quantity.
|
||||
- After a valid initial query or valid same-conversation candidate continuation
|
||||
passes this gate, immediately reply with `👀` before starting the API query so
|
||||
the sender knows the request was received.
|
||||
passes this gate, immediately add the Feishu `OnIt` (typing) reaction to the
|
||||
original message before starting the API query so the sender knows it was received.
|
||||
- If the model or quantity is missing, invalid, multiple, or ambiguous, stay
|
||||
silent: send no acknowledgement or other Feishu reply, make no API request,
|
||||
silent: add no reaction, send no Feishu reply, make no API request,
|
||||
and append no record.
|
||||
- An @mention by itself does not bypass this content gate.
|
||||
- After a valid message passes the gate, API or runtime failures may still return
|
||||
|
||||
Reference in New Issue
Block a user