feat: open bot access and guide invalid delivery queries
This commit is contained in:
@@ -32,7 +32,7 @@ Valid shape:
|
||||
eRob90H100I-FHM-18CT[V6] 50
|
||||
```
|
||||
|
||||
If multiple models are provided, stop and ask AR51 to run one model at a time.
|
||||
If multiple models are provided, stop the query and ask the sender to run one model at a time. Invalid private messages and group text mentioning eRob, AM516, 交期, or 候选型号 receive usage guidance with an example. Other group messages stay silent. Guidance must not query the API or append records, and all human users who can access the Feishu app may use the bot without a sender allowlist.
|
||||
|
||||
After a valid query has produced an initial candidate batch, the same sender in
|
||||
the same Feishu chat may ask whether there are other candidates without
|
||||
|
||||
@@ -82,7 +82,7 @@ Expected:
|
||||
- one new record block contains only the models queried in this continuation batch;
|
||||
- the fixed disclaimer appears once at the end.
|
||||
|
||||
If the same continuation text comes from another sender or chat, after a bridge restart, after the six-hour expiry, or without a valid initial query, the bot stays silent and makes no API request or record append.
|
||||
If the same continuation text comes from another sender or chat, after a bridge restart, after the six-hour expiry, or without a valid initial query, the bot gives input guidance in private/relevant group messages, stays silent for unrelated group messages, and makes no API request or record append.
|
||||
|
||||
Unrelated expressions such as `more interesting`、`继续查询英语例句`、`下一课` or
|
||||
`再来一首歌` do not qualify as candidate continuation, even while a query context exists.
|
||||
@@ -97,7 +97,7 @@ eRob110H160I-FHM-18ET[V6]
|
||||
|
||||
Expected:
|
||||
|
||||
- bot stays silent;
|
||||
- bot returns input guidance in private/relevant group messages; unrelated group messages stay silent;
|
||||
- no acknowledgement reaction is added;
|
||||
- no API call is made;
|
||||
- no record is appended.
|
||||
@@ -128,7 +128,7 @@ Input:
|
||||
Expected:
|
||||
|
||||
- the bot identifies more than one possible quantity;
|
||||
- the bot stays silent;
|
||||
- the bot returns input guidance in private/relevant group messages; unrelated group messages stay silent;
|
||||
- no API request is made and no record is appended.
|
||||
|
||||
## Sample 3 | Invalid Model
|
||||
@@ -141,7 +141,7 @@ eRob999X
|
||||
|
||||
Expected:
|
||||
|
||||
- bot stays silent;
|
||||
- bot returns input guidance in private/relevant group messages; unrelated group messages stay silent;
|
||||
- no API call is made;
|
||||
- no record is appended.
|
||||
|
||||
@@ -155,7 +155,7 @@ Input:
|
||||
|
||||
Expected:
|
||||
|
||||
- bot stays silent even if it receives the group event;
|
||||
- bot stays silent for this unrelated group event; in private chat it returns usage guidance;
|
||||
- no API call is made;
|
||||
- no record is appended.
|
||||
|
||||
@@ -169,7 +169,7 @@ Input:
|
||||
|
||||
Expected:
|
||||
|
||||
- bot stays silent because no complete rule-valid eRob model is present;
|
||||
- bot returns usage guidance in private chat; this group message without an eRob/AM516/交期/候选型号 keyword stays silent;
|
||||
- no API call is made;
|
||||
- no record is appended.
|
||||
|
||||
@@ -195,7 +195,7 @@ Input:
|
||||
|
||||
Expected:
|
||||
|
||||
- bot stays silent because the message is not a valid model-and-quantity query;
|
||||
- bot returns input guidance because eRob is mentioned, but performs no project-file changes;
|
||||
- no rule, Skill, script, prompt, configuration, documentation, or Git file is changed;
|
||||
- no shell write, patch, editor, formatter, generator, or Git mutation command is run;
|
||||
- the fixed delivery record file is not used to disguise or store a rule change.
|
||||
|
||||
@@ -44,9 +44,9 @@
|
||||
- [ ] AR51 confirms that AM516 rules, functional design, implementation, validation, iteration, network access, account permissions, secrets, and outbound approval are owned by AR51, not TH8.
|
||||
- [ ] After the approval gate is satisfied, at least one valid model + quantity query succeeds; otherwise the blocked outbound state is recorded without attempting the request.
|
||||
- [ ] Missing API key returns a structured error without leaking secrets.
|
||||
- [ ] Missing, invalid, multiple, or ambiguous model/quantity input stays silent and makes no API call or record append.
|
||||
- [ ] Missing, invalid, multiple, or ambiguous input receives guidance in private/relevant group messages and makes no API call or record append; unrelated group messages stay silent.
|
||||
- [ ] 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.
|
||||
- [ ] Candidate continuation without matching active context receives guidance in private/relevant group messages; 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`.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Normal Query
|
||||
|
||||
1. Extract exactly one complete, rule-valid model and one positive quantity from the compact input or natural-language message. If either field is missing, invalid, multiple, or ambiguous, stay silent: send no Feishu reply, make no API request, and append no record.
|
||||
1. Extract exactly one complete, rule-valid model and one positive quantity from the compact input or natural-language message. If either field is missing, invalid, multiple, or ambiguous, return input guidance in private chat or for group text mentioning eRob, AM516, 交期, or 候选型号; otherwise stay silent. Make no API request and append no record.
|
||||
2. Read the capability `AGENTS.md`.
|
||||
3. Confirm AR51 has approved the functional test.
|
||||
4. Confirm a separate trusted AR51 approval record explicitly covers `api.zeroerr-agent.com`, the AM516 use case, and API-key use.
|
||||
@@ -18,7 +18,7 @@
|
||||
## Candidate Continuation
|
||||
|
||||
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.
|
||||
2. The in-memory continuation context expires after six hours and is cleared by a bridge restart. If no matching context exists, return guidance in private chat or relevant group text and require a new complete model-and-quantity query; unrelated group messages stay silent.
|
||||
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.
|
||||
@@ -68,11 +68,11 @@ The script refuses to skip TLS verification for any other hostname. This option
|
||||
|
||||
| Error | Action |
|
||||
|---|---|
|
||||
| Missing model | Stay silent; no API call or record |
|
||||
| Multiple models | Stay silent; no API call or record |
|
||||
| Missing quantity | Stay silent; no API call or record |
|
||||
| Multiple possible quantities | Stay silent; no API call or record |
|
||||
| Invalid model | Stay silent; no API call or record |
|
||||
| Missing model | Input guidance for private/relevant group messages; no API call or record |
|
||||
| Multiple models | Input guidance for private/relevant group messages; no API call or record |
|
||||
| Missing quantity | Input guidance for private/relevant group messages; no API call or record |
|
||||
| Multiple possible quantities | Input guidance for private/relevant group messages; no API call or record |
|
||||
| Invalid model | Input guidance for private/relevant group messages; no API call or record |
|
||||
| Missing trusted AR51 domain-and-permission approval record | Stop before the API request; report that a general functional-test approval does not automatically approve a specific outbound domain |
|
||||
| Missing API key | Stop and report environment incomplete |
|
||||
| `CERTIFICATE_VERIFY_FAILED` | Return the structured local certificate-trust error; use `--skip-tls-verify` only for one AR51-approved retry on a trusted network and only for `api.zeroerr-agent.com` |
|
||||
|
||||
Reference in New Issue
Block a user