Files
ARR-2.0-0918/.project-docs/50-evidence/topics/2026-09-18-arr-direct-processing.md

6.9 KiB
Raw Permalink Blame History

2026-09-18 — Direct OHIP data through reports and review

Scope and authorization

User said continue after the 15-field acquisition implementation. They explicitly require direct business-data processing alongside XML and explicitly exclude actual sandbox-order fetching. One possible helper was offered via an optional question; no approval arrived and no subagent was created. Work remained local and independent.

Delivered

  • Processor4.2.0: XML and arr-ohip-data/v1 normalize to the same classifier, pricing, channel and daily workbook code. JSON never becomes XML. Comments use first nonempty after emoji cleanup; packages ordered codes; originals retained.
  • Direct source/result contracts: schema5.0, ingestion_mode=ohip_data, source_data/ohip_json/source.json. XML4.0 and retired3.0 remain supported. Bundled .zip/.skill synchronized with the source and two new JSON schemas.
  • Independent fresh replay supports direct source for normal success and missing-price review. Source/artifact hashes, business date, rules and review identity are checked before Finance. Manual completion rematerializes source.json.
  • DirectARRExecutor/DirectARRSource connect the existing date button. Private request/source/policy identity is pinned; immutable handoff publication precedes external writes. Unknown COMMIT results resume the same delivery without fetch.
  • Migration019 adds JSON artifacts, typed source display filename and5.0 review lifecycle. Read-only startup preflight rejects an unmigrated store; rollback refuses existing direct-source records. No existing database was migrated.
  • Three explicit Web launch options; no hotel requests or credential reads at construction. Eight read interfaces stay as defined by the acquisition implementation; platform permissions were not expanded.
  • UI help now describes acquiring arrival data, and history shows “接口获取”. XML upload remains available.

Local acceptance

12 direct-data cases passed, including4 real disposable PostgreSQL cases: page request→Finance→monthly, manual review, COMMIT acknowledgement loss and schema readiness/empty rollback. Six synthetic records total18200, eight departing rooms; monthly has6 expected REAL PRICENIGHTSNO_OF_ROOMS formulas. Source JSON is retained byte-for-byte; no XML files are produced. Missing fields reject, missing prices review, repeated delivery has one version/outbox, altered report and frozen files reject. Runtime construction makes zero hotel calls.

83 related storage/ingestion/programmatic/runtime tests passed. Five JavaScript submission/retry tests passed. Final broader regression:137 tests passed in256.083s (direct data, processor/package, handoff, acquisition, PostgreSQL download, local replay/simulation and UI). Additional post-edit local replay/simulation regression:18 tests,15 passed/3 explicitly gated SQL tests skipped; the full137 run included the SQL opt-in. Thus the two non-overlapping selected suites ran220 checks successfully, plus5JS tests.

Browser acceptance against a separate real local server: date2026-09-15 button→success, daily and monthly XLSX downloads, refresh recovery, service restart, visible source label, manual upload readiness, desktop and390px mobile; no page errors or viewport overflow. Files and screenshots were inspected. No new job was created on browser recheck/restart.

Running local demonstration

  • URL: http://127.0.0.1:8875/
  • Root: /private/var/folders/mx/ltbgwsks5_n8zllj69p_wbcw0000gn/T/arr-direct-data-4t8q0fq9
  • Login: the owner-only login.json in that root; username arr-data. Password is never written to repository/logs.
  • Synthetic dataset SHA256: 7b246682658ae54bb986326d76d6bfd01e8be053f74d5b8cd4f4db61c9aa4950.
  • Successful browser request: d9040c987c598946866f3702644bdaa2.
  • Job: arrbatch-881a0c5b70871a07216d69d877161b26939f4b6dc16914a3.
  • browser-verification.json, browser-desktop.png, browser-mobile.png, verified-daily.xlsx, verified-monthly.xlsx reside in that private directory. Fictional guest data only. The temporary parent may be cleared by the OS later.
  • Launcher: tests/direct_data_portal.py; separate owned Unix-socket PostgreSQL008019, local immutable objects, queue and monthly worker. Does not take a production DSN. ReplayDatabase defaults to018 for old8873/8874 instances.

Boundaries

No actual Oracle/OHIP business request, platform credential read, grant change, production deploy, remote object write, or8873/8874 restart/reset. Live-source completeness/semantics and permission coverage are unverified by user choice. The direct entry can be explicitly configured for the sandbox when that later operational step is wanted. Existing private state roots keep their original processor/rule pins; do not silently rebind old jobs after this code update.

Commands for recorded results:

ARR_TEST_LOCAL_POSTGRES=1 .venv/bin/python -m unittest tests.test_arr_direct_data tests.test_arr_opera_daily_ingest tests.test_ohip_processing_handoff tests.test_ohip_arr_data tests.test_arr_download_postgres_integration tests.test_arr_local_xml_replay tests.test_arr_local_api_simulation tests.test_arr_web_daily_visual_ui tests.test_arr_web_daily_price_review_ui -q
.venv/bin/python -m unittest tests.test_arr_ingestion_contracts tests.test_arr_ingestion_validation tests.test_arr_ingestion_service tests.test_arr_programmatic tests.test_arr_storage tests.test_arr_download_runtime tests.test_arr_processing -q
node --test tests/javascript/arr_download_submission.cjs

Project-doc gate/drift, compileall, JavaScript syntax and tracked/untracked whitespace checks passed. No commit or deployment.

2026-09-18 — 本机8875登录连接恢复

用户看到Failed to fetch确认8875无监听Web进程已退出原测试数据库仍运行。仅核对并停止本实例遗留的数据库进程保留全部记录后恢复。入口现由用户会话launchd后台运行标识com.arr.local-direct-data.8875配置在实例service.plist不依赖对话执行进程。后台需LC_ALL=C/LANG=C否则本机PostgreSQL启动时报locale/thread错误已配置。未安装系统或开机自动启动项。

核验healthz200、使用现有login.json登录200、认证会话200原任务仍succeededOracle连接false。未新增业务任务、未重新取数、未操作8873/8874。未修改应用代码。

2026-09-18 — 用户确认交互验收通过

用户在本机8875登录恢复后确认“ok交互没问题”。记录为新增按日期获取入口的页面交互验收通过。 当前交付状态15字段接口接入、直接数据处理、原规则复用、价格复核及日报/月报已完成开发和本机模拟验证; 使用说明及运行配置已整理。下一阶段为目标运行环境的配置与启用安排,不重复调整已确认的交互。 此确认不扩展为实际沙箱取数验证或正式上线批准;原“跳过实际取数验证”要求继续有效。 本轮仅更新项目记录,无代码、运行实例、业务数据或平台调用变化。