# Fresh 0805.XML v4 review blocked by live migration mismatch

## Metadata

- Date: 2026-08-06
- Status: Historical root-cause record; resolved by the authorized live rollout
- Scope: local authenticated 8766 Web runtime and controlled `booking_test`
- Confidence: High; UI, PostgreSQL catalog/lifecycle, source identity, isolated processor replay and independent validator agree
- Last verified: 2026-08-06

## Observed behavior

- The authenticated upload UI retained `0805.XML`, displayed `处理失败` / `请求未完成`, and showed zero August history
  rows with no browser console error.
- PostgreSQL contains three fresh v4 runs (61–63) and attempts (53–55), all still `running`. Each has one committed
  private OSS source artifact but no delivery row, result identity, business date or finish timestamp.
- All three source artifacts are 948,683 bytes and share SHA-256
  `40a40f09dd110cc9814df3da9c747d5b08c9f8357e703fe1ea96ebf8daaeede3` with historical run 58.
- No Finance version and no outbox event references these new runs.

## Root cause

- Live `booking_test` has no `ingestion.daily_review_cases`, `daily_review_items` or `daily_review_events` relations.
  Its lifecycle checks also lack `awaiting_review`, `review_required` and delivery result `review_required`, proving 017
  is not applied.
- The live monthly publication validator body/comment matches migration 016's OSS-enabled definition, despite the
  checked-in applied-migration ledger still marking 016 pending. This is a migration-ledger conflict, not proof that
  016 must be rerun.
- The exact local XML under active processor 4.0.0 returns technical success `review_required`, 151 candidate rows and
  exactly two grouped keys: `LIAN TAI / LBLT / 0` and `LIAN TAI / GRP1 / 1150`. It creates only result/structured JSON.
  The independent validator accepts this review output.
- During live ingestion, the atomic review receipt attempts to insert the missing review case and is wrapped as
  `DATABASE_WRITE_FAILED`; the delivery transaction rolls back. Best-effort terminalization then queries the same
  missing review table, fails and is swallowed, leaving the registered run/attempt shells `running`. The frontend has
  no specific translation for this code and displays generic `请求未完成`.

## Safe correction boundary

Do not convert or reopen runs 61–63. After operator authorization, reconcile the live 016 signature with migration
history, back up and probe/apply 017, explicitly terminalize the three infrastructure-failed shells with audit, reload
and verify schema-aware readiness, then perform one fresh upload for the two-key review. No migration, shell cleanup,
re-upload, review edit/finalization, Finance change, object-store write or runtime restart was performed in this
diagnosis.

## Resolution

The operator subsequently authorized the bounded correction. Migration-016 semantics were verified live and not
rerun. A privacy-minimized checkpoint and corrected 017 up/down probe passed, then migration 017 was formally applied.
Runs 61–63 were closed as audited `REVIEW_SCHEMA_MIGRATION_MISSING` failures. The first post-migration acceptance
identified and safely closed a separate delivery-placeholder defect; after that one-line SQL binding fix and restart,
run 65 entered an open two-key review case with no Finance/report/outbox effect. See
`2026-08-06-live-daily-price-review-rollout.md` for authoritative rollout and acceptance evidence.
