Files
wyndham-ARR/.project-docs/50-evidence/topics/2026-08-03-company-report-status-copy-fix.md
2026-08-03 16:08:14 +08:00

52 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Company-report source and publish-failure copy
## Metadata
- Date: 2026-08-03
- Status: Implemented; source provenance module subsequently removed from the end-user result/history surface, and the
publish-failure copy was simplified after live operator feedback
- Scope: Desktop company-channel job detail/history copy, source-module removal and company-result error explanation
- Confidence: Fact for source/error contracts and focused verification; no live report state was changed
- Source: `arr_web/static/app.js`, `arr_web/static/index.html`, `arr_web/static/i18n.js`, publisher tests and company job evidence
- Last verified: 2026-08-03
- Stale trigger: changes to company job source metadata, publication idempotency or localized status copy
## Problem
The page displayed `来源 Excel提交时` with `历史任务未记录来源`, which described an internal capture detail but did
not tell an operator whether the source was missing, old or actually used. It also displayed only
`正式表格发布失败`, which did not explain whether this was a normal duplicate-version reuse.
## Implemented behavior
- The final end-user surface no longer renders the job-detail source card or history source column. The report page is
explicitly database-snapshot oriented; the upload/review current-source panel is retained where the operator actually
manages the Excel input.
- Server-side jobs still retain the safe source summary for audit and troubleshooting. Removing the UI module does not
backfill or delete old source metadata.
- `COMPANY_REPORT_PUBLISH_FAILED` now appears as `正式 Excel 保存失败`. The job summary and company row use the direct
action copy `数据已处理,但正式 Excel 保存失败。请重启报表服务后再生成。`; internal duplicate-reuse rules are
no longer shown in the operator-facing error.
- The wording is available in Chinese, English and Thai, and the added detail is escaped before it is inserted into the
result table.
## Verification
- Focused unittest: Web/company regression passes 29 tests.
- `node --check arr_web/static/app.js` and `node --check arr_web/static/i18n.js` pass.
- Runtime static scan confirms no source-card/history-column reference remains; the upload/review source references
remain intentionally.
- `git diff --check` passes.
- The project virtualenv has no `pytest` module; the repository's unittest runner was used instead.
- A live read after the operator-reported retry found job `253ce23d…` still failed for all five companies at `publish`
with row counts `54/18/7/1/15`. The listener remains PID `11176`, started `2026-08-02 12:20`, while the current
publisher source was modified on `2026-08-03 11:19`; the reported restart therefore did not replace the effective
port-8766 process.
- No Web restart, source activation, report rerun, output backfill, database write or business-data mutation occurred.
## Semantics retained
The publisher remains idempotent for a complete semantically identical archive/result pair. Incomplete, corrupt or
semantically conflicting publication state still fails closed; the UI reports the safe action without translating every
publish failure into a duplicate explanation.