feat: add date-based OHIP data reporting alongside XML

This commit is contained in:
Wyndham ARR committed 2026-09-18 15:29:27 +08:00
1 parent 5ecd571e3b
commit ad2c59256f
259 files changed
+37326 -126

No files matched your search

+332 -1
View File
@@ -1,6 +1,337 @@
# Commitments
No timed or externally delegated commitment is currently active.
## 2026-09-18 — 本阶段收尾已完成,生产启用单独保留
用户批准开发收尾;已交付[生产启用说明](../../deploy/OHIP_RELEASE_HANDOVER.md)。日期交互验收通过,15字段/8接口、直接处理及日报/月报已完成开发和本机模拟。
用户说明测试环境无数据,暂不做实际结果验收;不新增/重试下载,也不停止原任务或切换环境。
后续在正式部署任务中核对平台正式酒店路由/应用/权限、受控数据库019、取数启动参数和私有挂载、月报worker监管,然后在有数据后完成首日字段和报表验收。
当前基础Compose没有自动启用OHIP;固定平台/应用及booking_test边界不自动放宽。不得把本阶段收尾写成生产已部署或已验收。
## 2026-09-18 — 补权跟进已完成
用户已通知同事授权完成,06:00:56Z平台管理读取确认所需权限齐全、原密钥有效。本机访问状态已刷新,8875按钮及页面提示已核对就绪。下方“等待平台同事补齐”事项关闭,不再安排等待/轮询或要求用户重复转交。没有实际取数验证,也没有新的查询任务;继续遵守用户禁止主动取数的约束。下一步由用户在页面选择日期并发起业务查询。
## 2026-09-18 — 等待平台同事补齐团队读取权限
- 用户已转交平台同事为Wyndham-ARR2.0-Codex追加blocks.read、保留configuration.read/profiles.read/reservations.read,并承诺完成后告知。
- 本机8875已配置OHIP沙箱、原账号可用。收到用户通知后只运行arr_web.local_ohip check-access核对权限并确认按钮可用;不再重复做部署,不擅自实际取数。
- 新实例、服务与旧实例恢复说明见[证据](../50-evidence/topics/2026-09-18-arr-ohip-activation.md)。禁止删除原权限绕过上限、自动发新密钥或操作8873/8874;本对话仍需用户同意才可创建最多一个子智能体。
- 本条状态:等待外部权限变更;本机配置/检查已完成,没有后台轮询或自动取数安排。
## 2026-09-17 — Continue technical verification without asking to continue
User explicitly reaffirms ongoing verification is already authorized. Progress independently with existing originals
and applicable public definitions; status/next-step wording must not imply waiting for a fresh “continue”. No new user
business decision is pending. Ask only if a concrete business choice remains after evidence/context cannot resolve it.
Room-type code selection now covers139 records; no room-description dictionary call is needed. Package combinations,
company display and remaining real-report rules still require their specific evidence, already requested via user-forwarded
platform material. Process new evidence when available; do not invent rules, retry503 solely by elapsed time, create
agents or disturb recording8874. [Evidence](../50-evidence/topics/2026-09-17-arr-room-type-and-package-scope.md).
Button-side receipt of this change includes3 passed targeted compatibility checks over temporary loopback fixtures and
frozen replay. Preparation/v4 stays non-injectable diagnostic output. The platform request was narrowed locally for
room-type evidence and not re-sent; the existing user-forwarded request remains valid for the outstanding items.
## 2026-09-17 — Reuse captured BlockCode before supplemental calls
26 of139 actual records already contain explicit typed BlockCode, verified with separate Block identity at search and
arrival-day detail. Selection/preparation integration is complete; do not request getBlock/blocks.read for these records.
113 missing block objects still need absence/display evidence; do not fill blanks.94 scoped checks plus independent
139-row offline comparison pass. Next continue remaining source/report mappings; real adapter/validator and complete
actualARR notification remain open. Protect recording8874 and retain latest no-delegation scope.
Button task reviewed this delivery and amended the local platform request after the user's original forwarding;
the update was not sent again. Original name/room/company/report-rule requests remain relevant.
[Evidence](../50-evidence/topics/2026-09-17-arr-typed-block-code.md).
## 2026-09-17 Source evidence is an engineering responsibility
User asked whether the evidence list requires their manual confirmation. It does not create a per-download approval
or require another GEN/date/Trace confirmation. Current new business decisions: none. ARR owns interpretation,
mapping code, independent raw-source validation and integration. Platform/test-environment owners provide the bounded
diagnostic and source/report evidence listed in the [technical request](../../integrations/ohip/arr-platform-evidence-request.md).
Next close each evidenced gap and implement the actual adapter; only ask the user about a concrete competing business
outcome not resolved by current requirements/configuration, with an example of its impact. User now confirms they
sent the request to platform developers; await the reply, do not ask for another forwarding. No recurring monitoring
or new hotel-call scope is implied. Independent button/simulation work and known fixes are complete; preserve the
recording instance and avoid repeated audits or speculative implementation without new evidence.
## 2026-09-17 Real-source handoff returned; rejected SQL receipt corrected
The authorized existing interface task returned its [minimum evidence dependencies](../../integrations/ohip/real-source-handoff.md),
not an adapter/validator. No need to ask again about GEN or re-export57106. Do not repeat identical source audits while
those dependencies are unchanged. Next finish supported source rules then integrate in a separate disposable instance.
Receipt conversion now accepts the real rejected audit ID while retaining terminal failure/no monthly activation;
46 checks including9 real SQL pass. Preserve8874 and its current process/data; it was not restarted for this code fix.
See [evidence](../50-evidence/topics/2026-09-17-arr-rejected-receipt.md).
## 2026-09-17 Real source delivery remains evidence-dependent
User resumed interface work through existing button task; no agents or8874 recording-instance operations allowed.
Public definitions checked; actual adapter/independent validator remain outstanding, not enabled. No further generic
preparation layer or guessed display values count as delivery. Follow [minimal handoff](../../integrations/ohip/real-source-handoff.md):
get sufficient same-source report/API field and ordering evidence, then implement and test in a NEW temporary instance.
Do not request57106 re-export/GEN reconfirmation or demand sandbox-production row equality. Actual fullARR notice stays open.
## 2026-09-17 Standard Web source assembly complete; real source still pending
User accepted interaction again and asked to continue. Completed explicit Python runtime injection, shared processing,
queued-source pin and graceful cleanup;91 scoped tests pass. Actual source-task snapshot has no new adapter/validator.
Next consume the accepted actual-source delivery for bounded integration; do not enable the default service based on
simulation success. Keep the running recording instance/data untouched. No new XML or delegation requested.
See [runtime evidence](../50-evidence/topics/2026-09-17-arr-download-runtime.md).
## 2026-09-17 Interaction accepted; preserve clean recording start
User confirmed interaction works and requested test daily records cleared for a customer video. Local8874 now has
zero daily/monthly/queue history, same9/15 fixture and login, with6 earlier batches archived in a cold private backup.
Keep the authenticated daily page ready for the user; do not trigger another test or restore old results without a
new request. No more XML is needed for this recording. Actual-source acceptance remains a separate later milestone.
See [cleanup evidence](../50-evidence/topics/2026-09-17-arr-recording-cleanup.md).
## 2026-09-17 Local button integration verified
User authorized integration with the delivered local API instance. Shared card now verified in the actual browser:
single selected date, corrected unavailable-date recovery, double-click/reload identity, daily/monthly downloads.
5 new JS+34 regression checks and isolated SQL/artifact audit pass. This closes the local button integration step;
complete actual Oracle ARR notification remains open. Next local user acceptance and actual-source acceptance when
available; no extra material, delegation or production activation implied.
See [button evidence](../50-evidence/topics/2026-09-17-arr-button-api-integration.md).
## 2026-09-17 Local API button milestone delivered; Oracle milestone remains open
Local API simulation8874 completes HTTP acquisition→processingXML→isolatedFinance→monthly/download, using the accurate72-row source with user-selected noTraces.91 tests and real browser/restart pass. Explicitly notified that complete **local simulated ARR processing data** is available for button integration. It does not certify Oracle room/name/report semantics or close actual fullARR notification. Next: the user's separate button can use [this contract](../../arr_web/LOCAL_API_SIMULATION.md); no new sample needed. Native replay8873 and booking simulator remain unchanged.
## 2026-09-17 Local XML button milestone delivered; API milestone still open
User accepted isolated XML replay continuation. Local entry127.0.0.1:8873 now runs the exact9/15 native source through
real processing/isolated SQL/monthly/download; browser is open and authenticated. Explicitly notified that **local
XML replay** can be used for button integration. This does not close the earlier complete-API-ARR notification promise.
Next: separately labelled local API simulation and eventual Oracle source mapping/room/name acceptance. No additional
sample requested, no implicit write into booking simulator. Restart instructions in`arr_web/LOCAL_XML_REPLAY.md`.
No timed monitor or automatic follow-up is currently active.
## Sandbox Scope Re-emphasized — 2026-09-17
- User reminds us this is sandbox. Do not diagnose metadata-only room responses as platform defects without evidence,
require production-equivalent records inOHIPSB02, or wait for a room-interface repair before all unrelated work.
- Next prioritize contract/field integration and clearly labelled synthetic end-to-end coverage. Missing actual samples
remain pending coverage; full actualARR acceptance stays separate. No environment switch, hotel writes or readiness claim
is implied. This clarification changes framing/next-work selection, not the existing503 failure evidence.
## Room Calendar Evidence Continuation — 2026-09-17
- User“继续”is handled locally/publicly: single-page room/move evidence parsing complete,13 new/71 scoped tests pass.
Existing3 calendar responses remain missingroom, not explicit empty. Public example does not establish useful defaults;
no new hotel probe was justified or performed. Native room/name observations do not prove ARR selection/format rules.
- Next requires new repair/data evidence and bounded original-target verification, then source selection/acceptance.
Full actualARR/button milestone remains pending; notify separately when achieved. No new delegation used.
[Evidence](../50-evidence/topics/2026-09-17-arr-room-calendar-evidence.md).
## Independent Name Supplements — 2026-09-17
- User questions why searchProfiles blocks report download and asks to continue the correction. Completev2 main data
must be distinguished from missing name candidates; the oldv3 batch stop is an implementation behavior.
- Independent supplements and local candidate integration are complete,131 tests pass. Future repair verification can
reuse the complete base and successful pinned supplement names; no need to restart detail/rate collection for a name outage.
- No new hotel request or subagent this round. Do not re-probe on elapsed time alone; latest live failure still stands.
Name formatting observations are not adopted nativeARR semantics. Historical rooms/source acceptance remain open.
- Notify separately when complete actualARR is available for the button; current local candidate tools do not satisfy it.
[Evidence](../50-evidence/topics/2026-09-17-arr-profile-decoupling.md).
## Conditional Delegation and Repair Verification — 2026-09-17
- User reports503 repaired and missing interfaces added, and requests verification. This authorizes bounded read-only
recovery/interface checks; retain hotelOHIPSB02 and explicit2026-09-15 dates, original credentials and private archives.
- For today, user allows delegation only when it materially helps and only after asking/receiving consent, normally one.
The user specifically approved one read-only new-catalog reviewer this round; it may not call hotel APIs, modify files
or spawn additional agents. This condition supersedes today's earlier no-subagent instruction; no standing approval
for later rounds or more agents is inferred.
- Latest direct failure-sample recheck is still503; do not launch the full day on the basis of the repair report alone.
Room-calendar publication is verified, but3 live200s omitroom/page/hotel totals; two exact zero-night summaries still
lackroomId. All6 reads audited; new [evidence](../50-evidence/topics/2026-09-17-arr-platform-recovery-recheck.md) and [platform handoff](../../integrations/ohip/platform-recovery-check-20260917.md).
No more queries/full-day rerun until new repair/data evidence. CompleteARR notification remains pending.
## Overnight Continuation Without Questions — 2026-09-17
- User is sleeping and explicitly requests completing all work independent of503 without asking. Continue the existing
authorized ARR work; do not create subagents, ask repeated questions, retry the failing live batch, or expand its scope.
- Completed local delivery context checks, typed persistent identity checks and explicit executor acquisition bounds;
v3 unknown-COMMIT recovery is verified in an owned disposable PostgreSQL cluster. See
[evidence](../50-evidence/topics/2026-09-17-arr-delivery-context-and-bounds.md).
- Complete actual ARR output is still pending profile repair, historical rooms and same-source report semantics. The
next source work should use new repair/evidence, not elapsed time or synthetic readiness flags. Notify separately
when a complete verified source output is actually available for the user's button integration.
## Continue Independent Work Without Repeated Questions — 2026-09-17
- User requests continuing all work independent of503 without repeatedly asking. Proceed autonomously within established
dates/scope and no-subagents instruction; do not ask again for routine local implementation or previously confirmed inputs.
- Integrated source preparation and explicit v3 executor support are complete;237 scoped tests pass. Candidate preparation
never bypasses the still-required accepted source adapter and independent business validator. Default runtime stays unavailable.
- Remaining external dependencies are profile recovery, historical room source and same-source report semantics. No
automatic hotel re-probe or full-batch retry was started; do not treat elapsed time as repair evidence. Notify separately
when complete actual ARR output is ready. [Evidence](../50-evidence/topics/2026-09-17-arr-offline-preparation-and-v3-executor.md).
## No Subagents For Subsequent Work — 2026-09-17
- User explicitly instructed“接下来的任务都不能创建子智能体”. Do not create subagents for subsequent work or keep asking
for delegation permission. This supersedes the earlier preference to request one agent. Continue independently unless
the user explicitly changes this instruction. Prior reviews are completed historical work; none was used this round.
- Each response should identify the next step; notify the user separately when complete accepted API ARR output is ready.
## Independent Name Evidence Work Completed — 2026-09-17
- Versioned field extraction/independent raw joins/native exact-vs-trim comparison and strict JSON replay are implemented;
19 new/198 scoped tests pass. Old139-row evidence unchanged; failedv3 stays rejected. No API/credential/runtime calls.
- This closes local name-evidence plumbing, not full-day acquisition, same-source ARR acceptance or the button milestone.
[Evidence](../50-evidence/topics/2026-09-17-arr-named-field-evidence.md). Continue without subagents.
## Profile Summary Intermittent503 Reopened By Live Batch — 2026-09-16
- The authorized bounded v3 live run has finished as failed:23 requests,19 HTTP200/4 profile503, all confirmed in own-app
audit.5 names valid; the6th distinct profile exhausted3 attempts. Another profile recovered503→200.72 new files verify,
incomplete-capture guard rejects the result, no final search recheck or completed-job reuse was claimed. No new whole
attempt launched. Latest error request`56bc4b67-f0d8-4920-9c2f-c204c27ae967`; root cause remains unknown.
[Evidence](../50-evidence/topics/2026-09-16-arr-named-day-live-failure.md),
[platform diagnostic](../../integrations/ohip/profile-summary-platform-check.md) updated; user says they shared it with platform. The agent has not sent it externally.
- Next platform investigation/meaningful repair evidence, then an explicitly requested bounded new attempt. Preserve old
attempts; no automatic monitor, wider scope or repeated full batch. Source mapping/historical rooms remain separate gaps.
- v3 bounded name acquisition/replay/batch reuse is implemented locally. Original3 archived responses pass offline;
139 reservations have112 distinct primary Profile IDs, so27 repeats reuse summaries with separate name validation.
The subsequent bounded live run was authorized and failed as recorded above. See
[v3 evidence](../50-evidence/topics/2026-09-16-arr-named-day-capture.md); source report acceptance still remains.
- User replied“继续”after the concrete scope request and final scope summary. This authorizes one bounded read-only v3
run: OHIPSB02/2026-09-15, at most139 reservations and112 profiles, normally394 read requests plus bounded retries.
Use explicit max_records139/max_pages2/page_size100/max_profiles112. No hotel/Finance writes or additional scope.
- Closed503 waiting item: on a later explicit user request,22:21 original3 people all returned200, platform audits agree,
identity/current Primary name components match andfullName is nonblank. Summaries omitnameType; GET was not retested.
[Success evidence](../50-evidence/topics/2026-09-16-arr-profile-recovery-success.md). Prior failures below are history.
- Do not expand beyond the explicit reservation/profile/date limits or automatically run another whole batch after failure.
- User subsequently reported possible recovery. One40s-deadline POST for the first original sample still returned503
at21:55 Asia/Shanghai; Edge audit confirms25009ms/ohip_unavailable. Client made1 attempt; other2/GET were not retried.
Latest request`acea6692-25d7-4711-bcb6-3cd5916e3f5c` added to the platform handoff, not sent to another task/person.
This21:55 failure was superseded by the22:21 successful sample above; no automatic monitor is active.
[Recovery evidence](../50-evidence/topics/2026-09-16-arr-profile-recovery-recheck.md).
- User explicitly approved profiles.read plus at-most3 primary guest summary checks. Same application/owner/Principal,
original key and reservations.read preserved; plan/validate/apply/read-back complete. Do not ask again for this grant.
- New probe helper9 tests and91 related tests pass. Three approved people were queried by POST; GET control reused one
of those people. All4 client requests are audited503/ohip_unavailable after~25s; no summary/name response verified.
- Platform diagnostic handoff is ready, not sent: [request IDs and exact query shapes](../../integrations/ohip/profile-summary-platform-check.md).
Specific upstream cause remains unknown. No manual XML/credential resubmission requested; don't imply all OHIP is down.
- On confirmed recovery, reuse the same3 people with40s client timeout and private receipts; no automatic retries/monitor,
no new fourth person or full139-profile rollout. Full ARR output milestone remains pending alongside other mapping gaps.
[Evidence](../50-evidence/topics/2026-09-16-arr-profile-summary-probe.md).
## Complete ARR Output Milestone — User Request On 2026-09-16
- User asks for a separate explicit notification as soon as complete ARR source data can be produced, to coordinate a
button integration test. Announce that milestone in this task once achieved; do not wait for Finance deployment.
- Candidate capture, field-evidence JSON, a synthetic serializer test or an unaccepted projection does not satisfy it.
The notification should identify the complete output artifact/format, hotel/date, validation scope and callable handoff.
- Continue implementation now; this is an in-task milestone commitment, not a recurring timer or permission to message
another task/person, enable the button, deploy, or submit hotel/Finance writes.
## Single-Day Web Download Handoff — 2026-09-16
- Initial readiness failure now recovers through GET-only checks without resetting dates or original task IDs.9 browser
cases/34 existing Web checks pass; service remains unavailable until accepted source composition. See
[reconnection evidence](../50-evidence/topics/2026-09-16-arr-download-reconnection.md).
- Card, date validation, private task queue and HTTP/start/status/retry/review UI are ready locally. CapturedARRExecutor now
joins the explicit-date collector and frozen handoff with durable checkpoints;10 new synthetic orchestration tests pass.
Default runtime stays unavailable until an accepted source adapter and independent mapping validator are supplied.
- Next inject those accepted dependencies, compose runtime and verify real single-day transaction/outbox behavior before
deployment. See [Web handoff](../../arr_web/ARR_DOWNLOAD_HANDOFF.md). Do not substitute
ProgrammaticUploadCoordinator.submit on retry, or treat the synthetic UI checks as Finance/source acceptance.
- Isolated PostgreSQL15.19 acceptance now passes6 real-SQL cases, including concurrent/unknown-commit/rollback/manual-review
and monthly publication replay. Temporary cluster is removed; source data is synthetic and objects local. Actual runtime
role/cloud/source/day acceptance remains required; see [SQL evidence](../50-evidence/topics/2026-09-16-arr-postgres-download-acceptance.md).
- UI yesterday prefill is a user-editable suggestion only; missing API dates are rejected, and execution/retry does not
calculate dates. This task did not change the separate upstream system-supplied-date contract.
- No subagents were used. User requires prior permission before delegation, and each response should end with the next step.
## ARR API Restart Point — 2026-09-16
- Freeze-before-ready recovery and early acquisition budget are now fixed,164 distinct scoped tests pass. Persisted
intent pins allow verified original package reuse; legacy unpinned data remains rejected. Byte overflow stops before
file creation and retains bounded failure evidence.139 rows replay/851 files/native XML unchanged; two permitted
reviewers completed. No Web/runtime enablement. Read [recovery](../50-evidence/topics/2026-09-16-arr-freeze-recovery.md)
and [budget](../50-evidence/topics/2026-09-16-arr-acquisition-budget.md).
- Remaining platform work is reservation-bound room history read; profilePOST recovery has been verified. Room history
(getRoomCalendar or equivalent), justified by2 zero-night/non-pseudo CheckedOut objects with no room values. Native
CKOT room evidence is another hotel and cannot select API room policy. GuestLastStay/profile lastRoom lack current
reservation binding. No new company API justified; needs same-source role/display evidence. Read the
[handoff](../../integrations/ohip/arr-platform-next-actions.md), then validate published contract/responses; don't keep
adding standalone selectors while treating test counts as full ARR completion. No auto monitor or message permission.
- Latest selectors bind three room sources to reservation/hotel/date and compare explicit association role/internal
Profile ID/raw name across reservation/day layers.133 scoped tests pass;73 room/24 Group agreements in139 records,
851 originals unchanged. Missing values remain unresolved; no company priority or historical room rule invented.
Oracle getRoomCalendar has history/segment parameters; exact Edge public catalog404. Evaluate necessity before asking
platform for expansion, and never query Oracle directly or call it as an already wrapped operation. Complete ARR still
pending. [Evidence](../50-evidence/topics/2026-09-16-arr-room-profile-selection.md).
- Latest local implementation adds exactGEN note lists including internal, equal explicit stay/day counts and raw
arrival-day units.123 scoped tests and139-record independent offline comparison pass;851 originals unchanged.
One record's two GEN notes change first-note/Group Code when reordered; preserve all API text but don't assume report
order. No share coverage, so raw units remain distinct from accepted report rooms. Next resolve concrete company/room
source rules; complete-ARR milestone still pending. [Evidence](../50-evidence/topics/2026-09-16-arr-note-count-selection.md).
- Latest user reply resolves Trace: not needed. Eventual API SourceRow.traces must be empty; do not await Trace settings.
Do not rewrite existing v2 archives or alter manual XML ingestion. Sort value remains unspecified; native sample has no
duplicate room/date keys. No additional material requested now; explain any future conflicting-row choice concretely.
Test-hotel codes do not match this hotel's whitelist (115 other/24 missing/0 matches); keep rules unchanged and don't
confuse API source output with successful Finance acceptance. [Triage](../50-evidence/topics/2026-09-16-arr-input-gap-triage.md).
- Explicit-row output layer now provides25MiB-compatible XML plus separate shape/value verification. Native72-row
processing projection matches all baseline semantics;13 new/50 distinct scoped tests pass. This leaves the API-to-row
mapping and independent archive-to-XML check unfinished; do not wire this serializer directly into the Web executor.
Complete-ARR notification is still pending. Next resolve source selection/display/order and use the completed output
layer, rather than adding another format scaffold. [Evidence](../50-evidence/topics/2026-09-16-arr-xml-output-boundary.md).
- Source evidence foundation now exports all139 pinned v2 records with16-column alternatives/context/provenance and a
separate independent scanner/verifier.16 new/140 scoped tests pass;851 originals unchanged. Raw artifact private, all
business flags false. It must not be injected as the Web adapter or mapping validator. Next resolve final report semantics
and paired acceptance, then implement accepted projection. Do not replace missing rules with an acceptance config flag.
Two explicitly authorized read-only reviewers completed this turn; future delegation needs fresh permission.
[Implementation/evidence](../50-evidence/topics/2026-09-16-arr-source-field-evidence.md).
- User has resolved the baseline clarification: res_detail_71054429.XML is accurate, page Note Types=Resv.-GEN. It is
byte-identical to the earlier file; internal CAS/GENERAL is not evidence of wrong selection. Close the question and do
not ask again or change API scope toCAS. [Confirmation](../50-evidence/topics/2026-09-16-confirmed-native-arr-notes.md).
- Display comparator has42 observations;40 tool/87 related tests pass. Company prefixes and sample room order remain
observations, not accepted role/sort mappings. Continue confirmed requirements and independent API mapping; avoid
repeating exhausted sample-only inference. [Display evidence](../50-evidence/topics/2026-09-16-arr-display-contract.md).
- Pinned API/native comparison is now implemented and locally verified (32 new/79 scoped tests); no readiness flag can
become true. User currently cannot export from OHIPSB02; do not repeatedly request access or compare57106 as equivalent.
Official Trace/InSession-GDS exclusions narrow the contract but leave roles/names/order/granularity unresolved.
Continue source-contract work within current evidence; run paired acceptance when same-source input becomes available,
then implement validated adaptation/executor. [Latest evidence](../50-evidence/topics/2026-09-16-arr-source-comparison.md).
- User notified that getRateInfo is published. Contract inspection,18 local tests and5-reservation/11-read test-hotel
verification are complete; preferred operation is searchRateInfo POST, with unchanged reservations.read grants.
Do not continue the old wait or contact the developer on the user's behalf.
- v2 whole-day search/detail/rate capture, pinned replay and local batch reuse are complete.139 pairs/851 files verified;
134 valid rates (59 explicit zeros),3 hidden prices and2 missing detail currencies. Next follow the
[acceptance matrix](../../integrations/ohip/arr-api-acceptance-matrix.md) for source field/range/order and same-source
report acceptance, then source adaptation/Finance integration. Complete capture is not report equivalence.
- User explicitly supplies From/To/rate date all2026-09-15 for this execution. v2 validates these required equal inputs,
freezes them across retries and never calculates yesterday. Convert Web's equal Python dates to ISO at the later
executor boundary now implemented in arr_web.arr_download_executor, preserving request_id across capture/frozen handoff/Finance.
Real source dependencies/runtime remain unconfigured. Do not wire candidate success as Web succeeded.
- Old v1 captures remain search/detail-only; v2 requires its own archive/job version.167 relevant tests pass; offline
reuse adds0 response reads. Pins and restore locations: [day-capture evidence](../50-evidence/topics/2026-09-16-arr-day-capture.md).
No new business operation, grant, scheduler or runtime change is implied by this restart note.
- Frozen XML handoff is now locally tested with stable batch identity and exact delivery retries. Before real API-source
delivery, complete mapping/price/same-source acceptance, authoritative package storage and isolated PostgreSQL concurrent/
unknown-commit/outbox verification. The library is not wired to any runtime; current flags do not certify source equivalence.
## Open Product Work (not a promise in this task)