fix: ignore non-query Feishu messages

This commit is contained in:
ar51
2026-08-08 18:09:05 +08:00
parent 0aaedb8b66
commit d97b788e0e
7 changed files with 187 additions and 19 deletions

View File

@@ -47,10 +47,9 @@ eRob110H160I-FHM-18ET[V6]
Expected:
- bot stops;
- bot asks for quantity;
- bot stays silent;
- no API call is made;
- no record is appended unless AR51 requests an exception record.
- no record is appended.
## Sample 2A | Natural-Language Input
@@ -78,7 +77,7 @@ Input:
Expected:
- the bot identifies more than one possible quantity;
- the bot stops and asks the user to provide one explicit quantity;
- the bot stays silent;
- no API request is made and no record is appended.
## Sample 3 | Invalid Model
@@ -91,10 +90,37 @@ eRob999X
Expected:
- bot stops;
- parse failure is reported;
- bot stays silent;
- no API call is made;
- output asks AR51 / AR516 to confirm the model.
- no record is appended.
## Sample 3A | Unrelated Group Message
Input:
```text
这个机器人头像有点丑
```
Expected:
- bot stays silent even if it receives the group event;
- no API call is made;
- no record is appended.
## Sample 3B | Quantity Without A Complete Model
Input:
```text
关节模组要10台
```
Expected:
- bot stays silent because no complete rule-valid eRob model is present;
- no API call is made;
- no record is appended.
## Sample 4 | Missing API Key
@@ -118,10 +144,9 @@ Input:
Expected:
- bot refuses the project-file change request;
- bot stays silent because the message is not a valid model-and-quantity query;
- 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 bot explains that AR51 must make the change outside Feishu and synchronize it through Git;
- the fixed delivery record file is not used to disguise or store a rule change.
## Sample 6 | Default TLS Verification Failure

View File

@@ -43,7 +43,7 @@
- [ ] 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.
- [ ] Invalid model stops with a clear parse failure.
- [ ] Missing, invalid, multiple, or ambiguous model/quantity input stays silent and makes no API call or record append.
- [ ] Output includes the fixed internal-candidate disclaimer.
- [ ] 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.

View File

@@ -2,7 +2,7 @@
## Normal Query
1. Extract exactly one model and one positive quantity from the compact input or natural-language message; stop if either field is missing or ambiguous.
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.
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.
@@ -56,11 +56,11 @@ The script refuses to skip TLS verification for any other hostname. This option
| Error | Action |
|---|---|
| Missing model | Ask for one model |
| Multiple models | Ask AR51 to split queries |
| Missing quantity | Ask for quantity |
| Multiple possible quantities | Ask the user to state one quantity explicitly, for example `数量20台` |
| Invalid model | Stop and report parse failure |
| 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 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` |