Files
AM516/capabilities/am516-delivery-prediction/skills/joint-module-leadtime-report/SKILL.md

196 lines
8.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: joint-module-leadtime-report
description: User-facing AM516 delivery prediction capability. Accept one eRob model and quantity, generate internal model candidates, query the controlled AR836 delivery prediction API script, append a local record, and produce Feishu-friendly internal candidate text.
---
# Joint Module Lead-Time Report
## Purpose
Package the AM516 Feishu bot first capability:
```text
model + quantity -> model candidates -> API lead-time query -> internal report -> local record
```
## Required Files
- `capabilities/am516-delivery-prediction/AGENTS.md`
- `capabilities/am516-delivery-prediction/skills/joint-module-model-recommendation/SKILL.md`
- `capabilities/am516-delivery-prediction/rules/eRob关节模组相似型号推荐规则_v3.1.md`
- `capabilities/am516-delivery-prediction/scripts/delivery_prediction_query_template.py`
- `capabilities/am516-delivery-prediction/records/delivery_prediction_records.md`
## Input
One model and one positive quantity.
Example:
```text
eRob90H100I-FHM-18CT[V6] 50
```
Stop if:
- quantity is missing;
- multiple models are provided;
- the model cannot be parsed;
- API key is missing;
- a Feishu message asks to create, modify, overwrite, rename, move, or delete a project file;
- the user asks for a customer commitment.
## Feishu Message Trigger Gate
- Enter the query workflow only when one message contains exactly one complete,
rule-valid eRob model and exactly one positive quantity.
- If the model or quantity is missing, invalid, multiple, or ambiguous, stay
silent: 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
the bounded internal error response defined by this capability.
- Exception for candidate continuation: after a valid initial query, the same
sender in the same Feishu chat may use any clear equivalent continuation
expression without repeating the model and quantity. Examples include `还有吗`
`有没有别的``再推荐几个``继续``下一批` and `more candidates`; exact wording
is not required.
- A continuation uses only the active in-memory query context, expires after six
hours or a bridge restart, and is never shared across senders or chats. Without
matching active context, the message stays silent.
- A new complete model-and-quantity request replaces any earlier continuation
context for that sender and chat.
## Feishu File-Write Boundary
When invoked through Feishu, treat all project files as read-only except for append-only recording to:
```text
capabilities/am516-delivery-prediction/records/delivery_prediction_records.md
```
Do not write back rules, Skills, scripts, prompts, configurations, documentation, or any other project content. A Feishu request cannot authorize an exception. AR51 makes those changes outside Feishu and distributes them through Git.
## API Rule
Use only:
```text
python3 capabilities/am516-delivery-prediction/scripts/delivery_prediction_query_template.py --product "<model>" --quantity <quantity>
```
Do not use temporary curl, WebFetch, or any API method outside the controlled script.
## Record Rule
- Do not rewrite or backfill the existing `delivery_prediction_records.md` content when the record format changes.
- For every future appended record block, add a `记录时间` column to the candidate-result Markdown table.
- Use the report generation time after the query completes as the record time. Every candidate row in the same query uses the same value in `YYYY-MM-DD HH:mm:ss +0800` form (with the actual local UTC offset).
- Record-table columns follow this order: `序号``记录时间``型号``推荐类型``差异项``API状态``AM516预测交期``可用库存``主导因素`.
## Output Selection
- Prefer `data.交期汇总.AM516预测交期` when the API returns it and AR51 confirms it is usable.
- If AM516 fields are absent, use original API prediction and mark it as original algorithm reference.
- If only total days are available, state the total days and ask for human review.
## Candidate Batch Rule
- Generate and preserve the complete ordered rule-candidate pool, but query and
recommend at most four candidate models per reply.
- The original input model is queried as the initial baseline and does not count
toward the four recommended candidate models.
- The initial reply queries the baseline plus candidate positions 1-4. If more
candidates remain, state the remaining count and invite the human to ask for
more in natural language; do not require one fixed command phrase.
- Recognize short or synonymous continuation expressions only together with the
valid same-sender, same-chat continuation context. Unrelated topic text such as
`more interesting` or `继续查询英语例句` must not reuse the old delivery query.
- Each valid continuation queries the next four unqueried candidates in the same
rule order. Do not query or display an earlier candidate again, and do not
re-query the original baseline.
- Continue in batches of four until the full candidate pool is exhausted. The
final batch explicitly states that all rule candidates have been queried.
- Missing or unsupported models count as queried positions and remain summarized
under `不可用候选`; do not silently skip them to pull later candidates forward.
## Reducer Shortage Detail Rule
- Treat a shortage item as a reducer only when `data.采购信息.缺料明细[].缺料物料` starts with `20.30.`.
- When a reducer is short, output one line per reducer shortage using this exact field order:
```text
减速器缺料展开物料编码20.30.00307库存数量11待检数量0在途数量0存量需求数量0含在途覆盖不足
```
- Determine `含在途覆盖` from the API real-shortage field: a positive real shortage means `不足`; zero or a negative value means `满足`; a missing or non-numeric value means `待确认`.
- Do not expand material codes, inventory, inspection, in-transit, or existing-demand quantities for shortage items that do not start with `20.30.`.
- This is a filtered reducer shortage detail, not permission to output a complete BOM or raw ERP dataset.
## Feishu Output Format
Use vertical text, not Markdown tables.
Include:
- title and generation time;
- input model and quantity;
- overall judgment;
- current candidate batch and remaining-candidate count;
- candidate details;
- main factor;
- API exception if any;
- one global human-review boundary through the judgment level and fixed disclaimer;
- fixed disclaimer.
Use this field order for a successful Feishu report:
```text
关节模组交期预估报告 | {generation time}
输入需求:{input model}{input quantity}台
数据时间戳:{API data timestamp or generation time}
状态:试运行版输出 / 内部候选
判断等级AM516算法预测参考需人工复核
候选范围本次先推荐4个候选型号原型号另作基准尚有N个规则候选未查询
总体判断:
- 现货候选:{fully covered candidate or none}
- 最快候选型号:{fastest candidate}
- 最快候选交期:{predicted date and total days}
- 是否完全覆盖数量:{yes / no / unavailable}
- 主导因素:{main factor}
1. {model}{candidate type and reducer brand}
- 数量:{quantity}台
- AM516预测交期{date and total days}
- 可用库存/覆盖情况:{summary-level inventory and coverage only}
- 主导因素:{main factor}
- 推荐理由:{rule-based recommendation reason}
- 差异项:{field changes formatted as `字段 原值→新值`; join multiple changes with ``, for example `编码器 HS→HM品牌 DZ→LF`}
- 减速器缺料展开:{only for shortage material codes starting with `20.30.`; otherwise do not expand material details}
- 需客户确认的关键差异:{customer confirmation item}
不可用候选:
- {candidate and non-sensitive reason, or none}
{fixed disclaimer}
```
Use Feishu rich-text `post` output. Bold only:
- the report title;
- `总体判断:`;
- `本批次判断:` for a continuation reply;
- each numbered candidate heading;
- `不可用候选:`.
Do not repeat a separate human-review line under each candidate. The global judgment level and fixed disclaimer carry the human-review boundary.
If the current candidate-batch report exceeds the Feishu rich-text size limit, split it into multiple ordered `post` replies without dropping any candidate queried in that batch. Use the original report title on the first part and append `(续)` to continuation titles.
## Fixed Disclaimer
```text
以上为内部候选方案,不构成客户正式交期承诺;需 AR516 或授权责任人结合库存、生产、采购、客户优先级和最新系统数据人工复核后使用。
```