Files
ARR-2.0-0918/integrations/ohip/real-source-handoff.md
T

11 KiB
Raw Blame History

真实 ARR 来源交付状态与最小依赖

2026-09-17。面向已有按钮任务的交接;本轮只读核对当前目录、接口定义、既有采集证据与处理器契约。 真实 adapter.adapt(VerifiedArchive) -> bytes 和独立 mapping_validator.validate(archive, bytes) -> None 仍未完成,不能注入启用。 没有增加一个只能永久拒绝或填充未知字段的占位实现,也没有把本机模拟组件改名为真实适配器。

**9/17后续纠正:**已有RSV原件并非只含Block身份。26笔的blockIdList另有type=BlockCode, 与搜索/到店日两层Block身份及代码一致;现已接入source_fields/v2、source-preparation/v3。 另外113笔缺整个Block对象,仍留缺口。94项范围测试及139笔独立离线对照通过,旧字段证据逐字节不变。 这26笔无需为代码额外查getBlock或增加权限;本进展不改变上面的完整真实来源交付状态。 见typed BlockCode证据。

**同日继续核对:**Oracle官方ROOM_CATEGORY_LABEL定义支持房型代码;139笔搜索/当前/到店日代码全部一致, 已接选择器v3、字段准备v4,无需查房型描述。98项范围测试与139笔独立离线比较通过,其他字段/旧facts不变。 包价22笔/30项含8笔双包价,组合显示仍待证;公司只有Group样本,不据此填公司。具体见 房型与包价/公司范围核对。

谁负责补齐,不需要用户逐项确认

用户询问清单是否需要人工确认,随后同意继续分清责任。本清单是开发阶段的技术核对, 不新增每次下载前的来源确认步骤;现有人工价格复核规则不变。当前需要用户新做的业务决定为0项。 已确认的单日日期、Resv.-GEN及内部备注、排除Trace、现有处理规则均沿用,不重复询问。

工作 当前状态 执行责任与完成条件
单日输入、采集归档、任务恢复、处理/入库/月报接线 代码已具备,隔离模拟已验证 ARR开发维护;无需再确认日期或重做按钮
确认号/日期/人数/日价等字段的严格提取 已有取值器与原件验证;部分报表语义仍待核对 ARR开发完成映射与独立原件校验,已有实现直接复用;不能把技术取值成功当作报表等价
完整姓名来源 独立补充代码已完成;上次已审计的特定对象仍503 平台按现有请求编号提供排查/恢复证据;ARR按原范围有限复验并补缺,不让用户解释姓名拼法
历史房号或明确未分房 上次日历响应缺room集合,无法判定原因 平台提供当次原始响应/查询条件/字段缺省语义;ARR按预订身份关联并验证,不预设是平台故障
公司、姓名显示、报表范围/行顺序、多备注及数量语义 现有跨酒店样本不足以证明完整规则 有测试环境权限的人员提供同源对照、报表配置或适用的权威规则;ARR负责解读、实现及差异定位
团队代码、套餐和房型标签 26笔typed团队代码、139笔三层一致房型代码已接入;113笔Block缺失及套餐多值显示仍待核对 ARR复用已取得的原值,不新增当前Block/房型查询;历史房型冲突与其余缺省/显示证据分项解决。允许空值不能替代未知值,无需用户逐字段解释
最终真实适配器、独立校验器与按钮联调 尚未交付 仍由ARR开发完成,在新隔离实例验证;不交给用户人工制作或逐条勾选

只有对照显示两种处理确实会产生不同业务结果,且现有要求/原报告配置不能决定时,才向用户提出具体选择, 同时展示受影响的样例与结果。不能把“某字段尚无资料”直接转化为业务确认问题。 技术补充需求见平台说明,用户已确认自行转交平台技术,当前等待回复。 补充资料可分项返回,能由适用的权威规则证明的部分无需再索要重复样本;未覆盖项如实保留。

已可复用的代码边界

  • arr_web.arr_download_runtime.CapturedARRSource与compose_arr_downloads已经具备标准Web装配。 arr_web.run.main(argv, arr_source=...)是显式注入点,默认没有真实来源。
  • 完整主体采用v2 audit_arr_day.VerifiedArchive,日期From=To=rate_date=D;姓名补充使用独立、固定主体pin的 profile_supplement链。它不重新采集预订/日价,也不会把姓名失败当作完整主体不存在。
  • v3也可由现有执行器接收,但历史遇503的v3归档不完整,不能传给适配器当整日输入。
  • source_fields是严格原始值选择器,prepare_arr_source是候选/缺口输出;两者没有通过报表业务映射验收。
  • arr_xml.serialize与validate_arr_xml.verify负责明确行值到处理XML及反向完整比较。后者验证显式行值, 不证明这些行值来自正确的Oracle报表规则;不能直接充当实际来源映射验证器。
  • 本机LocalAPIAdapter/NativeBaselineValidator依赖XML派生的__localARRReport字段,只用于已完成的模拟链。

当前证据能支持什么

下表的数量来自已经固定摘要的OHIPSB02 / 2026-09-15历史v2归档,本轮没有重新查询酒店。 139条主体、851个文件,pin 08171eca8caa4a8e85010680865983364bdf72ea5646c1932d74606ff001119f。

来源项 已有可验证的技术事实 真实转换剩余依赖
Confirmation、到/离店日期 139笔可按类型和明确日期取值 保留原ID关联,不能换成外部引用
成人、儿童、房数 139笔入住层/到店日段人数一致,房数有明确值 共享/组合房的报表行粒度及数量规则
有效价 134笔有明确日价和一致币种;另3笔隐藏、2笔缺详情币种 隐藏/缺失如何对应报告,不能以base或0替换
费率代码 115笔到店日段有代码、24笔缺失 缺代码必须保留为缺口,不能按非白名单排除
FULL_NAME 5个历史成功摘要及边界样本证明了部分主客身份/姓名原文关联 完整姓名来源和报告显示对应;不得按姓/名自行拼接补齐
DISP_ROOM_NO 73笔搜索/当前/到店日三层一致;66笔缺至少一层 一致不证明历史报告规则;需要可绑定预订的历史房号或明确未分房证据
COMPANY_NAME 当前样本只有Group关联,没有Company/TravelAgent/Source的实际角色覆盖 报告的角色选择、前缀及多角色组合;公司直接参与定价
Resv.-GEN备注 已能保留GEN/RESERVATION的内部和外部文本 多备注的报告顺序关系;第一条非空全文影响Group Code
Trace 用户明确不需要 真实接口输出空列表,无需再取证用户选项
BLOCK_CODE 26笔明确typed BlockCode与Block ID在搜索/到店日两层一致;已取值 113笔缺整个对象仍需明确无Block依据;报表同源显示待验收,已取得的26笔不需额外getBlock
ROOM_CATEGORY_LABEL Oracle字段对应Room Type;139笔搜索/当前/到店日代码三层一致,已取值 对三层冲突/缺失保持缺口,不用描述或计价房型替换;无需为当前样本新增字典查询
PRODUCTS 22笔包价集合/30项,8笔双包价;所有计划覆盖到店日 范围/拼接/顺序仍待证,现有样本无预订日期与消费日期不同的覆盖;缺集合不填空
行范围/顺序 当前查询完整性和前后搜索复查通过 ALL语义、重复组行粒度/物理顺序仍未确认,不能选任意赢家

**处理器成功样本限制:**115个已取得费率代码均不在当前酒店白名单,另外24条缺费率。 即使以后补齐显示字段,这份历史沙箱数据仍不是成功入库/月报的正例。应验证它应有的业务失败路径, 不修改白名单、伪造代码、删除缺失行或挪用57106的行值。成功链路继续以已验收的隔离模拟样本覆盖。 这与来源适配是否正确是两个不同结论。

这轮公开目录核对

CLI0.5.0、平台目录0.9.0/158项;4次公开目录读取,0次酒店业务请求,0次凭据读取、授权或部署。

Operation ID 平台路径 所属能力组 当前作用/限制
getBlock GET /api/v1/blocks/{blockID} blocks.read 只在缺typed BlockCode且有可绑定ID时考虑;当前26笔无需调用。不能把Block ID或blockName当成代码
getRoomTypeInfo GET /api/v1/room-types/{roomTypeCode} hotel.read 当前139笔房型代码已可取值,不需要为取得描述而调用或扩权;描述不替代代码
getPackage GET /api/v1/reservations/{reservationID}/packages reservations.read 可取包价资料;拼接与显示规则仍需依据

这些接口已经发布,目前不需要让平台重复新增同名接口。本轮查询的成功只指接口定义读取成功。 getBlock返回契约使用通用OHIPDocument/OracleDocument,没有因此取得真实Block数据或关闭显示规则。 记录的ARR授权为profiles.read+reservations.read;blocks.read和hotel.read不在该记录中。本轮不增加权限, 也不为尚未确认的字段使用方式提前扩大授权。

目录请求编号:getBlock 3952740a-34bb-4215-ae9d-b13cdb42f1e4;getRoomTypeInfo 3470c5c1-7968-482e-94b2-28cbeba667af;getPackage a8c2f396-2059-4b8e-adbe-02f0dcbf474f。 公开原件保存在.planning/arr-real-source-adapter-20260917/。

Oracle固定版本Block API定义 提供业务结构定义,不能替代当前平台实际返回。Oracle报表配置说明 说明同一RES_DETAIL可以配置不同过滤、排序及列选择;公开说明没有给出本酒店实际配置的完整API映射。

最小外部材料与下一步

优先取得同一测试环境、同一酒店、同一日期的一组可关联对照:固定报表参数下的原ARR行/顺序, 加这些预订对应的接口原始响应。至少覆盖公司角色、主客显示名、已退房/换房或明确未分房、 以及会影响去重结果的同房到店重复组;多条GEN备注应保留原顺序。这可以由有该测试环境访问权限的 平台同事提供,或由权威字段/显示规则说明替代可明确证明的部分。当前用户不能访问OHIPSB02, 不再要求用户重导57106文件或重复确认Resv.-GEN,也不要求OHIPSB02与57106逐行相等。

姓名503沿用已有审计编号定位;收到修复/新数据证据后,先有限复验, 再独立补缺姓名。房号200缺字段仍是数据/查询覆盖待核查,不自动归为平台故障。 本轮没有再次试探同一503,也没有把等待平台作为重复增加框架/测试的理由。

材料到位后,先确定逐字段来源与记录规则,写入版本化真实适配器和另一路直接读原始响应的验证器; 验证器不能依赖转换器输出的中间行作为答案。然后在新建临时实例中验证预期成功/失败及未知提交恢复, 再把已验收的两个组件和同一adapter_contract交给CapturedARRSource。真实启用/部署另行处理。

8874是用户录制实例,本轮未访问、改动、重启、清理、提交测试或恢复其数据。