Files
wyndham-ARR/.project-docs/50-evidence/topics/2026-07-30-first-live-arr2-user-run.md
2026-07-31 15:11:42 +08:00

3.7 KiB

Evidence Topic: First live ARR2 user-run trace

Metadata

  • Date: 2026-07-30
  • Status: Resolved by the monthly-publication implementation completed later on 2026-07-30
  • Scope: ARR2 loopback runtime on port 8766, controlled booking_test, OSS-backed daily processing, local monthly output
  • Confidence: Fact
  • Source: persisted Web API trace, read-only PostgreSQL queries, local artifact metadata, source inspection
  • Last verified: 2026-07-30
  • Stale trigger: Historical evidence; see 2026-07-30-monthly-publication-live-acceptance.md for current behavior

Question

Did the user's successful daily run commit to PostgreSQL, and why did the subsequent successful monthly action show no monthly result or download?

Evidence

Daily commit

  • Job arrjob-e6042c9cfe7d4f07aa986c5cffc4548e is processing run 27 with terminal raw status accepted.
  • Its one artifact delivery is committed and points to Finance daily version 4.
  • Daily version 4 is active, version number 1, for business date 2026-07-21.
  • Counts reconcile: 135 source rows = 119 retained + 16 excluded-rate-code; duplicate, validation-failed and price-unmatched counts are zero.
  • finance.current_daily_versions points 2026-07-21 to daily version 4.
  • The trace contains ARTIFACT_RESULT_COMMITTED, FINANCE_VERSION_ACTIVATED and JOB_SUCCEEDED terminal evidence.

Downstream event

  • The same database transaction created arr.daily_version_committed for processing run 27.
  • At verification time it was pending, with zero publish attempts and no published timestamp.
  • This is consistent with the documented absence of an automatic monthly outbox consumer.

Monthly generation and visibility

  • The manual monthly request generated outputs/monthly_reports/2026/07/latest.xlsx and latest.result.json at 2026-07-30 14:28:32 +08:00.
  • Result status is success; the workbook SHA-256 is 57160ff45d962ef348d7e9d21eafdc1f89c8b7b00d9d31eba283c2ff6bc40410.
  • The workbook reopens and contains LIANTAI-GROUP 26 rows, LIANTAI-FIT 25, QBD 55, DY-AI-Easy-KB 0 and FENGRUN 14: 120 data rows total. No guest values were recorded in this evidence.
  • The workbook contains zero formulas, matching the known formula implementation gap.
  • Read-only information_schema verification proved finance.report_versions is absent from booking_test.
  • monthly_reports.repository.PostgresReportRepository.reserve_report() creates only a deterministic in-memory generation identity; activate_report() revalidates source pins but inserts no report metadata.
  • arr_web.repository.MONTHLY_RUNS_SQL synthesizes a source_ready row with null report_id, filename and artifact hash. The frontend only renders a download link when an artifact hash/report ID is present.

Finding

The daily success is a real, atomic PostgreSQL commit. The monthly action also produced a real local XLSX, but its success is not persisted as a monthly report version and cannot be rediscovered or downloaded through the Web API. The frontend toast therefore overstates the end-to-end outcome: it confirms local file generation, not published report visibility.

Impact

  • Daily ingestion does not need repair for this run.
  • A monthly publication task must define and implement a database-compatible metadata/read model (or an equally durable controlled artifact index), then align list/download APIs and the success receipt with that persisted state.
  • Automatic dispatch remains separate: the accepted outbox event currently has no consumer.
  • The required TOTAL PRICE formula remains a separate workbook-generation defect.

Open Items

All three items were resolved later on 2026-07-30 by migration 012, the dedicated worker, persisted list/download identity and formula validation. This topic remains the before-state diagnosis.