Complete the selective V2 checkpoint with its minimal AgentBus, object-storage, replay persistence, and validated-workbench shared dependency closure.
7.0 KiB
M012 / QBD+LianTai 共享 Parsing Agent v1.0 契约
| 项 | 内容 |
|---|---|
| 状态 | IMPLEMENTED OFFLINE — v1.0 pre-release correction applied; runtime pending |
| 契约 | fixed-channel-parsing-agent-v1 |
| Agent 版本 | fixed-channel-core-parsing-agent-v1.0 |
| 渠道 | QBD、LianTai |
| Profile | QBD_CORE_V1_0、LIANTAI_CORE_V1_0 |
| 发布 | HOLD / INTERNAL_ONLY |
| Main Prompt | 独立中文 v1.0,不进入 Skill 读取链或 .skill |
| 运行时 | 未接 Provider、AgentBus、Merger、Booking Agent、PMS 或 Opera |
1. 分层职责
Current/History + fixed-channel-parser-fact-material-v1
→ shared Parsing Agent v1.0(中立来源结构)
→ local Merger/Validator(STRUCTURED_MENTION 有效视图)
→ Layer 5 Booking Agent(业务类型、Trace、linked action、部门候选)
→ Layer 6 Validator / 员工确认
Parsing Agent只负责来源内容的结构化提取。Parser facts是只读输入;Agent不得删除、覆盖或伪装成 Parser事实。Parsing Agent不判断最终业务类型、是否形成Trace、linked action或负责部门。
2. 输入与调用前门禁
- 完整Current subject/body和系统预生成的稳定evidence registry;
- 完整、严格有序且不含附件信息的History body;
- 当前附件全部Parser Results,遵循
fixed-channel-parser-fact-material-v1; - 系统显式授权的Current-only fallback;Parser
FAILED时不得携带partial facts/materials; channel_code、profile_code及全部版本字段作为已验证审计元数据。
QBD/LianTai渠道/Profile精确配对、版本栅栏、未知字段和引用闭合由JSON Schema及本地调用前校验器负责。 Main Prompt只要求使用系统选定Profile,不重复白名单判断,也不得从正文改判渠道。
Evidence ID由source message、revision、区段、Unicode code-point span、文本Hash和evidence schema version 稳定生成。Agent只能引用输入已有ID。
3. 输出顶层结构
结果是严格JSON,必需数组为:
agent_targets[]:正文-only目标候选;candidate_facts[]:仅冻结十类公共fact role的附加候选;target_bindings[]:正文目标到唯一Parser target的关联;relationships[]:例如Allotment source-to-actual;structured_mentions[]:中立的来源服务结构;display_information[]:员工需要知晓的原文、范围和顺序;material_dispositions[]:每个Parser/fallback material恰好一次处置;review_requests[]:冲突、目标不唯一、必要参数不清或fallback不足。
Agent不输出effective_facts[]或review_items[]。
4. structured_mentions[]
每项固定包含:
| 字段 | 规则 |
|---|---|
mention_id |
本次结果内唯一ID |
scope |
MESSAGE或TARGET |
target_ref |
消息级必须为空;目标级必须引用已知目标 |
semantic_type |
EXTRA_BED / HONEYMOON_SETUP / ROOM_SETUP / NAME_SIGN / MEETING_ROOM / OTHER_SERVICE |
source_text |
来源原文,不改写 |
source_room_ref |
可为空;有值时必须引用已知来源房型项 |
quantity |
可为空;有值时为正整数 |
source_label、sequence |
准确来源类型和顺序 |
evidence_refs[] |
只引用已登记Current evidence |
material_refs[] |
来自Parser/fallback material时必须同时引用material ID |
Parsing Agent可以提取“加床、数量2、关联某来源房型”等已知结构,但不得称其为Trace或分配部门。
必要参数不完整时保留已知结构并生成review_request,不得猜数量、房型或目标。
5. 业务与证据规则
- 绑定具体Tour Code的附件Parser action优先于邮件级subject/body action;同Tour Code冲突时保留Parser fact并review。
- Current明确New/Update/Cancel可形成
SOURCE_ACTION_KIND来源候选,但不是最终action_kind或业务事件。 - History只能辅助,不能单独产生本次fact、structured mention、display或relationship。
- FINAL、LINE、办公室付款、已确认和普通非动作信息原文进入
display_information[],不继续拆参数或动作。 - 唯一目标才可目标级绑定/展示;无Tour Code保持消息级;点名但不能唯一关联则review。
- 每个material只能是
CONSUMED、PARTIALLY_CONSUMED_REVIEW、REVIEW_REQUIRED或REDUNDANT_WITH_PARSER_FACTS。 - 缺价格不猜价格,不输出GRPA1。
6. 禁止的Parsing Agent输出
结果在任何层级都不得出现business_type、最终action_kind、Trace字段、部门字段、linked action、
CandidateDecision或TaskCard;也不得输出FIT/GROUP、canonical Room/Rate、库存/预订状态或外部副作用指令。
未来Merger只能把合法mention以中立STRUCTURED_MENTION带入有效视图,不得在Layer 3转换为Trace或部门。
Layer 5 Booking Agent决定是否形成TRACE_RESERVATION_NOTES并提出部门候选;证据不明确时部门留空,
由Validator阻断并交员工确认。
7. Skill交付边界
.skill固定包含15个标准Skill成员;包格式只使用.skill,不创建.skll。prompts/main-prompt.md是独立中文资产,不属于Skill读取链、archive或成员Hash。- Main Prompt明确要求完整解析Current主题/正文,并按顺序完整阅读系统提供的全部History正文;Agent不得自行
筛选、截断或判断某封History是否可用,但History仍只能辅助理解Current。表格侧逐项读取只读
facts[]与 必须处置的agent_materials[],不接收整份工作簿无界文本。 - Main Prompt SHA-256:
8ad0a914c1596563122d94efff084419204524c6fa48acc721704d6b3786b5f6。 - 当前确定性
.skillSHA-256:94bb65b6a7af75b1c6e5edf5496d3c66e12058362a735c2402136628e91ba22d。 - 本次包Hash变化仅来自Skill中邮件/表格完整读取说明及其防回退校验;三份Schema、fixtures业务结果、独立 Main Prompt、Agent/Parser版本和15成员集合均未改变。
- 包和sidecar保持
HOLD/INTERNAL_ONLY;不代表真实Profile发布或运行时接线。 - 本次发布前纠错原地替换旧Trace/部门输出契约,不创建v1.1或双写兼容。
- 2026-08-12 runtime integration preflight确认Parser业务/Java契约允许message-level material的
target_ref=null,而包内Parser dependency schema误写为只允许对象。因v1.0从未发布且持续HOLD,按同一 pre-release correction原则原地修正为“字段必有、值可空”;Parser fact target仍必须为对象,Main Prompt不变。 - 2026-08-12 CP1双侧request preflight进一步发现canonical evidence的QBD 3段、LianTai 4段Unicode span
与完整原文错位或越界;已只纠正synthetic fixture坐标,并让Python/Java都强制source identity、span不越界、
exact source slice。Agent expected result、Main Prompt、业务规则、15成员和
HOLD/INTERNAL_ONLY均不变。
8. 固定非范围
不修改任何Server Java、Parser/Core/Profile/DTO、Merger运行时、Provider、AgentBus、数据库、前端或真实 Booking Agent Profile;不调用PMS、Opera或任何外部业务系统。