# 开发交付说明:P0 冻结基线(2026-07-11) ## 先看结论 这是当前可以交给信息系统 adapter/frontend 与 AI runtime 开发的 **P0 冻结基线包**,不是最终完整契约。 - P0-1 至 P0-6 已完成规则、交接件和样例同步。 - P1/P2 已重新评估,但尚未修改生产规则;它们仍是 OPEN 风险。 - 开发可以先完成 P0 稳定骨架和已冻结行为,但 P1 影响的字段、路由和解阻流程不得自行补规则或猜测。 - 如果本包中的开发 MD/Excel 与 AI runtime 输出发生差异,必须 fail closed,停止该事件建卡并反馈契约问题。 ## 不同开发角色拿什么 ### Adapter / Frontend 必读 1. `README_交付说明.md`:交付边界和暂缓项。 2. `01_Adapter_Frontend/任务卡前端字段变更与路由说明_3.0_to_current.md`:P0 数据流、42 路由、人工复核、Parent split、fail-closed 规则。 3. `01_Adapter_Frontend/任务卡前端字段变更说明_3.0_to_当前版_2026-07-10.xlsx`:字段、42 条三元组、迁移、非法组合和验收查表件。文件名保留 7 月 10 日,内部 P0 基线和最后验证时间为 7 月 11 日。 4. `03_P0_Acceptance/`:P0 executable fixtures 与轻量 validator。 5. `04_Known_Issues_非契约/prompt_skill_p1_p2_reassessment_2026-07-11.md`:当前 12 个 P1、8 个 P2;只用于识别暂缓范围,不是实现 Schema 的规则源。 ### AI Runtime / Agent 部署开发 1. `02_AI_Runtime/main_agent_prompt.md` 2. `02_AI_Runtime/booking-desk-event.skill` 3. `02_AI_Runtime/核心契约_展开阅读/`:从 `.skill` 中额外展开的 5 份核心契约,方便 adapter/frontend 直接评审;内容仍以同版 `.skill` 为准。 这两个文件必须作为同一版本发布。`.skill` 已包含 SKILL 和全部 production references,但不包含 Main Prompt。 ## 当前可以先实现的 P0 范围 - Gateway 在读取正文、附件、OCR、历史、系统上下文或调用 Skill 前校验 `source_message.source_message_id`。 - 缺 ID 时只返回 `infrastructure_input_error + missing_source_message_id`,材料读取与 Skill 调用均为 0。 - S10/S99 使用两个完整结构,并以 `route_code` 判别;S10 的 `manual_review=null`,S99 必须是完整 `main_agent_entry_review`。 - 业务邮件按 `message_events[]` 逐 event 处理,不能在邮件根只派生一个业务三元组。 - type-known review 保留原业务 task type/subtype;字段型复核使用 RFC 6901 pointer 和同卡 `field_overrides`。 - Parent split、行级隔离、partial-allotment S10/unhandled/Fallback 边界按开发 MD/Excel 的 P0 基线实现。 - 当前新生成的 `Note`、`Allotment Maintenance` 和 `update_allotment_control_block` 必须拒绝。 - Agent payload、邮件原文、raw evidence、source ID 和审计字段保持只读;Preflight 通过前不得写 PMS。 ## 暂缓定型或必须 fail closed 的范围 以下内容属于未修复 P1/P2;开发不得自行发明字段或把某个实现当成最终契约: - 生产级 42 路由单一权威源与重叠判别优先级。 - 完整 Main→Skill package schema,以及 `evidence_refs` 的真实索引校验。 - public `case_candidates[]`、`extraction_warnings[]`、relationship、provenance 和 `event_role` schema。 - Fallback route selection、pending/lock 等非字段型阻塞的同卡 resolution。 - Fix Charge 的 add/update/cancel 与 `TBD` schema。 - Update 与 Manual RateCode、Update 与 Trace 的窄边界。 - Voucher 业务卡型明确但文件对象丢失的边界。 - Rooming List reference 中残留的当前 Note producer;当前仍以“Note 不得新生成”为准。 - 通用日期、HNM/Honeymoon、Rate Code 渠道、Trace 短日期、Amend Group Code 组合和 FIT/Group 判别。 完整证据和例子见 `04_Known_Issues_非契约/`。如果开发输入命中上述范围,应 feature flag、阻断或进入明确的契约错误流程,不得由 adapter 复刻 AI 业务判断。 ## 42 路由的使用方式 - MD/Excel 中的 42 条路由是 **版本锁定的 P0 实现和验收基线**。 - 它们当前完整存在于派生交接件中;项目已将“缺少生产级机器可读单一权威源”登记为 P1。 - 因此可以据此开发当前 P0 版本,但不能宣称它已经是长期 SSOT;未来 P1 修复后需要重新同步生成交接包。 - 任一 event 缺少明确判别字段、同时命中多条互斥路由,或与 runtime contract 不一致时,该 event 0 卡并报告 `adapter_contract_error`;siblings 继续独立处理。 ## P0 样例怎么运行 在本交付目录执行: ```bash node 03_P0_Acceptance/validate_p0_contracts.mjs ``` 当前预期:32 项检查通过,9 个非法负例按预期拒绝。 该 validator 只覆盖 P0 已冻结子集,不验证全部 42 路由、public root item schema、全部 relationship/provenance 或 P1/P2 领域问题。它通过不代表 P1/P2 已关闭。 ## 权威和用途 | 文件组 | 用途 | 是否可作为生产规则源 | | --- | --- | --- | | `02_AI_Runtime/main_agent_prompt.md` + `booking-desk-event.skill` | 当前 AI runtime 行为和部署版本 | 是;两者必须同版 | | `02_AI_Runtime/核心契约_展开阅读/` | 方便开发查阅的 00/02/03/04/90 核心 reference 副本 | 是同版 runtime 契约的展开副本;不得单独改写 | | `01_Adapter_Frontend/*.md` / `*.xlsx` | P0 adapter/frontend 派生实现、字段和验收基线 | 否;不得反向覆盖 runtime contract | | `03_P0_Acceptance/` | P0 executable examples | 否;只验证已覆盖断言 | | `04_Known_Issues_非契约/` | OPEN 风险、影响和未来修改建议 | 否;不得据此直接发明 Schema | | `CHECKSUMS.sha256` | 接收和发布前文件完整性 | 校验用途 | ## 未放入本包的文件 - `归档.zip`:与 Main Prompt + `.skill` 内容重复,不放入最小开发包。 - `high_risk_cases.md`:仍含与 P0 type-known review 不一致的旧 Fallback 期望,不能作为当前验收源。 - 旧冲突审计、白话报告、`task_plan.md`、`findings.md`、`progress.md`、`.project-docs`:历史/过程证据,不是开发契约。 - scratch builder、validator、PNG render 和 QA JSON:内部制作/验证材料,不交开发。 ## 接收检查 1. 运行 `shasum -a 256 -c CHECKSUMS.sha256`。 2. 确认 Main Prompt 和 `.skill` 同时存在。 3. 打开 Excel,确认 8 个 sheet 和 42 条唯一路由。 4. 运行 P0 validator。 5. 开发前阅读 P1/P2 已知问题;命中暂缓范围时先反馈,不自行补规则。