66 lines
25 KiB
Markdown
66 lines
25 KiB
Markdown
# Evidence Index
|
||
|
||
Use this index for searchable, traceable evidence records.
|
||
|
||
| Date | Topic | Status | Source | Detail |
|
||
|---|---|---|---|---|
|
||
| 2026-08-04 | Report artifact deployability repair | Implemented locally; CentOS/Docker acceptance pending operator execution | [Evidence topic](topics/2026-08-04-report-artifact-deployability.md) | Monthly XLSX now uses Python/openpyxl with exact row-relative formulas and semantic validation. New monthly/company workbook and result artifacts use the existing immutable OSS adapter; download routing supports OSS plus legacy local records, and migration 016 permits OSS monthly identities. Focused report/storage/Web/migration tests pass; Docker/real OSS were intentionally not run locally. |
|
||
| 2026-08-04 | Deployed monthly-report download diagnosis | Superseded for implementation; optional authenticated remote capture pending | [Evidence topic](topics/2026-08-04-deployed-monthly-download-diagnosis.md) | The pre-repair Node/local-output diagnosis remains useful as historical cause evidence. The implementation now uses Python/openpyxl plus OSS-backed report identities and legacy local fallback; remote acceptance still belongs on the CentOS deployment. |
|
||
| 2026-08-03 | Company-report openpyxl builder for deployment | Implemented; focused deployment checks pass | [Evidence topic](topics/2026-08-03-company-report-openpyxl-builder.md) | CentOS Docker build failed because public npm cannot install private `@oai/artifact-tool`. Company-report XLSX generation now runs through Python/openpyxl in Web, while monthly worker packaging remains the only Node/artifact-tool concern. Focused company-report/deployment tests pass 19/19. |
|
||
| 2026-08-03 | Booking source and company-report retry semantics | Source contract confirmed; reuse visibility gap identified; live acceptance pending restart | [Evidence topic](topics/2026-08-03-company-report-retry-semantics.md) | Byte-identical XLSX uploads reuse the activated source; same rows with different file bytes are new drafts. Same report snapshots reuse complete publication pairs, changed Finance/Booking pins create new versions, and an activated subset changes Booking detail coverage while retaining Finance rows. The current API/UI do not expose whether a retry reused an existing artifact. |
|
||
| 2026-08-03 | Company-report retry after reported 8766 restart | Resolved by controlled listener replacement and live 5/5 rerun | [Evidence topic](topics/2026-08-03-company-source-runtime-diagnosis.md) | PID 11176 was replaced by PID 54127. Job `05cc547d…` succeeded all five August `01-10` companies, reused the prior version/artifact identities, and all five authenticated downloads returned hash-matching 200 responses. No Booking/Finance source or fact changed. |
|
||
| 2026-08-03 | Remove redundant company-report Excel provenance module | Implemented; Web/company checks pass | [Evidence topic](topics/2026-08-03-company-report-status-copy-fix.md) | The job-detail source card and history source column are removed because reports consume the Booking database snapshot; upload/review source UI and server-side provenance remain available. |
|
||
| 2026-08-03 | Company-report source and publish-failure copy | Simplified; source display superseded by module removal | [Evidence topic](topics/2026-08-03-company-report-status-copy-fix.md) | The end-user source display was later removed. Publish failures now say the data was processed, the official Excel save failed, and the report service should be restarted before generating again; internal duplicate-reuse rules are not shown. |
|
||
| 2026-08-03 | Channel BI freshness after August publication | Diagnosed and repaired; focused checks pass | [Evidence topic](topics/2026-08-03-channel-bi-freshness.md) | Active August V02 is `更新至 2026-08-02` with 268 rows, and a fresh analytics snapshot returns the same watermark. Desktop and public H5 now check lightweight month metadata every five seconds and reload only after selected-month `updated_at` changes; hidden views pause and transient failures preserve the last good snapshot. |
|
||
| 2026-08-03 | Daily commit waiting for monthly worker | Recovered; persistent supervision pending | [Evidence topic](topics/2026-08-03-daily-monthly-worker-pending.md) | User-authorized detached worker recovery consumed events 15–20. July V05 is active at 987 rows and August V01 is active at 111 rows with registered workbook/result artifacts; all six checked daily-commit events are published, XLSX integrity passes, Web health is ready, and only reboot-persistent worker supervision remains open. |
|
||
| 2026-08-03 | Monthly worker logging and observability gap | Recommendation pending implementation | [Evidence topic](topics/2026-08-03-monthly-worker-observability.md) | Worker output is sparse Screen stdout, Web request logs go to stderr, and Web readiness excludes worker liveness. Durable outbox/task-trace facts exist but lack heartbeat/process status and monthly-specific wording. Recommended next step is structured retained logs plus heartbeat, status projection and supervisor alerting; no code or runtime change was made. |
|
||
| 2026-08-03 | Company report source label and live runtime | New runtime accepted; historical null-source jobs remain unchanged | [Evidence topic](topics/2026-08-03-company-source-runtime-diagnosis.md) | New job `05cc547d…` records active Booking batch 7 metadata and succeeds 5/5 after PID 54127 replacement. Older jobs with `source: null` remain historical records and were not guessed or backfilled. |
|
||
| 2026-08-03 | Daily trace does not explain company-report publication failure | Logging assessment pending implementation | [Evidence topic](topics/2026-08-03-daily-trace-does-not-explain-company-publish.md) | The supplied Daily trace proves Finance commit and outbox publication but has no company-report job linkage or publish-stage detail; it also shows unknown execution metadata and an unmasked full source hash. Recommend separate Daily/monthly/company traces, runtime identity and hash masking; no code/runtime change was made. |
|
||
| 2026-08-03 | Public mobile H5 dashboard boundary | Implemented; deployment/restart pending | [Evidence topic](topics/2026-08-03-public-h5-dashboard.md) | Anonymous H5 page/assets and purpose-built `/api/public/h5/*` aggregate routes are allowed. The projection omits `source_monthly_sha256`; desktop, generic/legacy APIs, detailed health, jobs/traces, downloads and writes remain protected. `test_arr_web*` discovery passes 71 tests; no live service or business data was changed. |
|
||
| 2026-08-03 | ARR job trace semantics for internet deployment | Implemented; live deployment acceptance pending | [Evidence topic](topics/2026-08-03-arr-job-trace-semantics.md) | Trace projection adds `execution_scope`, `processor_mode` and `remote_dispatch`; `artifact_callback` is identified as ARR fixed-processor runtime execution and legacy `direct_mcp` as remote Agent/MCP delivery. “本地处理” copy is removed, pending downstream explicitly follows Finance commit, and persisted `local-...` delivery identities are retained. Focused trace/Web tests pass; no live task or business write occurred. |
|
||
| 2026-08-03 | Booking Excel to company-report traceability | Implemented; authenticated browser acceptance pending | [Evidence topic](topics/2026-08-03-company-source-report-traceability.md) | New report jobs persist a safe source summary captured at submission; current source, job detail and history expose the filename/batch context. Identical active uploads refresh context without re-extraction or automatic generation. Full discovery passes 360 tests with 10 optional skips; no live mutation or restart occurred. |
|
||
| 2026-08-03 | 2026-07 company-report retry publication failure | Implemented; live historical rerun pending | [Evidence topic](topics/2026-08-03-company-report-publish-retry.md) | July `11-20` job `60bcda9c…` failed for all five companies at `publish` after an earlier same-period success. Publisher idempotency now validates and reuses a complete matching archive/result pair despite different rebuilt XLSX bytes, while partial or conflicting state fails closed. |
|
||
| 2026-08-02 | Cross-month history visibility | Implemented and runtime-active | [Evidence topic](topics/2026-08-02-history-month-visibility.md) | Three independent history-month navigators now default to the latest non-empty month through a read-only count endpoint; company generation/history months are separated. July resolves to 30 daily/4 monthly/4 company jobs, 356 tests pass, 1440/900/390 browser QA is overflow-free, port 8766 is ready and no business write occurred. |
|
||
| 2026-07-31 | Channel BI header utilities and compact month selector | Implemented; focused static checks pass | [Evidence topic](topics/2026-07-31-channel-bi-header-utilities.md) | The visible BI panel heading and ready-state 数据库已连接 copy are gone from desktop/H5 while the navigation label, browser metadata and status dot remain. The month selector is compact; task-log/logout use low-emphasis accessible links, and the desktop BI panel now sits 20px closer to the tab bar with a 10px mobile adjustment. No API or business data changed. |
|
||
| 2026-07-31 | Channel BI copy and data coverage | Implemented; focused checks pass | [Evidence topic](topics/2026-07-31-channel-bi-copy-and-data-coverage.md) | Desktop and H5 remove the BI-only CHANNEL PERFORMANCE, snapshot watermark and visible BI TOTAL PRICE labels. The company-sales panels show localized 数据范围 from additive min_arrival_date plus existing max_arrival_date values returned by the same repeatable-read current-version snapshot. |
|
||
| 2026-07-31 | ARR Web 中英泰国际化实现 | Implemented; scoped Web regression passes | [Evidence topic](topics/2026-07-31-web-i18n-implementation.md) | Desktop、H5、登录页共用三语词典/runtime,支持 locale 持久化、动态提示/API 错误/日期数字格式化和切回中文;`ARR Report`、专有名词、业务逻辑及 XLSX 契约保持不变。 |
|
||
| 2026-07-31 | 21–31 same-room-category multi-price warning | Active data-review finding; reports still succeed | [Evidence topic](topics/2026-07-31-multi-price-warning-diagnostic.md) | Job `8aa1fdef…` emitted 13 pricing warnings across 116 Finance records: one Finance room category has multiple prices within an output segment. Booking Room is independent; no Booking-match error was found. |
|
||
| 2026-07-31 | Live 21–31 company-job Booking Room diagnostic | No Booking-write defect found | [Evidence topic](topics/2026-07-31-live-company-job-booking-room-diagnostic.md) | Published job `8aa1fdef…` contains 598 rows: 224 Booking Room values and 374 expected blanks. Of 986 Finance facts, 372 have no Group Code and two other output rows carry unmatched codes. Total Booking Price is Finance-derived, not a Booking-price calculation. |
|
||
| 2026-07-31 | Company-channel early generation and period completeness state | Implemented; focused and project-venv full checks pass | [Evidence topic](topics/2026-07-31-company-report-early-generation.md) | Current-month incomplete C/O periods can be generated from the current committed Finance snapshot using fixed `as_of_date` boundaries; later facts require rerun, and future months remain blocked. UI states are `周期未结束` / `周期已结束`, with an early-generation confirmation note. No report or business data was generated during verification. |
|
||
| 2026-07-31 | Company-channel period card copy and result details | Implemented; focused/full checks, month-boundary and deduplication checks pass | [Evidence topic](topics/2026-07-31-company-period-card-copy.md) | Removed stage labels, made the C/O ranges month-aware, collapsed duplicate review problems for display, and replaced the user-facing version number with generation time. Internal period keys, API version metadata, release rules and generation payloads are unchanged. |
|
||
| 2026-07-31 | Company-channel card row and generation confirmation | Implemented; focused/full checks and isolated responsive QA pass | [Evidence topic](topics/2026-07-31-company-card-row-and-confirm-dialog.md) | Upload plus three C/O periods share one responsive card row; the month picker is compact and visually unlabeled in the setup card's upper-right; period CTAs read `生成`; native confirmation is replaced by an in-page dialog with cancel/backdrop/Escape dismissal. No report or business data was submitted during QA. |
|
||
| 2026-07-31 | Markdown current source and July release recheck | Historical pre-change read-only state; superseded by early-generation behavior | [Evidence topic](topics/2026-07-31-markdown-current-source-release-recheck.md) | Batch 1 remains the current 867-row/348-code Markdown source and no review draft is open. The later live Finance projection has 986 facts, all with C/O 7/21–7/30; processor 1.2.0 previews valid 5/5 with 598 output rows, 224 filled Booking Rooms and 374 blanks. The original 14:14–14:17 check recorded the prior release gate; current behavior is documented in the early-generation topic above. |
|
||
| 2026-07-31 | Company-detail title and upload rail | Implemented; focused/full checks and isolated responsive QA pass | [Evidence topic](topics/2026-07-31-company-detail-header-upload.md) | Fixed-company context is shown beside the page title in pale small text; the Excel dropzone/action rail is capped at 760px on desktop and stacks to the panel width on mobile. `报表月份` remains the C/O month selector and `刷新任务` remains read-only, with a tooltip documenting its refresh scope. No report/upload/database mutation occurred. |
|
||
| 2026-07-31 | Company-channel action button compacting | Implemented; focused/full checks and isolated responsive QA pass | [Evidence topic](topics/2026-07-31-company-action-button-compact.md) | Period generation CTAs are 104–124px wide and centered in each card; `提取并核对` shares the 42px compact button family and centers in the upload action grid. Desktop/mobile geometry has zero center delta, one-line labels, no horizontal overflow or console warnings, and no business action was invoked. |
|
||
| 2026-07-31 | Daily KPI card size refinement | Implemented; focused checks pass | [Evidence topic](topics/2026-07-31-daily-kpi-card-height.md) | ARRIVAL DATE, processing duration and NO. OF ROOM retain their original grid-column widths and stretch to the same compact desktop grid-row height as the ARR.XML upload panel. The upload internals are compressed into a horizontal dropzone; mobile behavior and processing are unchanged. |
|
||
| 2026-07-31 | Daily overview layout and copy cleanup | Implemented; focused checks pass | [Evidence topic](topics/2026-07-31-daily-overview-layout.md) | The duplicate top `Daily Report` title and `THIS MONTH` eyebrow are gone; the history heading is `Daily Report`, and the upload station plus ARRIVAL DATE, processing duration and NO. OF ROOM cards share one responsive desktop row. Upload/progress/task-log behavior and all APIs are unchanged. |
|
||
| 2026-07-31 | Standard monthly page cleanup | Implemented; focused checks pass | [Evidence topic](topics/2026-07-31-standard-monthly-page-cleanup.md) | The desktop monthly surface now keeps only a live-status rail, a six-column download table and 50-row pagination. Obsolete standard-monthly/version-history copy, the monthly version column and the C/O-period footer note are absent; `更新至` is backed by the explicit maximum-ARRIVAL API field. No report or business data changed. |
|
||
| 2026-07-31 | Daily upload progress and task-log behavior | Implemented; focused checks pass | [Evidence topic](topics/2026-07-31-daily-upload-progress-and-log-behavior.md) | ARR.XML submission stays on the daily page, the existing task-log dialog remains on-demand, and the upload card shows an accessible stage-based estimate with success/error states. JavaScript syntax plus 15 focused Web/static/trace tests pass. |
|
||
| 2026-07-31 | Markdown company-channel baseline freeze | Frozen and independently verified; live publication intentionally excluded | [Evidence topic](topics/2026-07-31-markdown-channel-baseline-freeze.md) | Exact Markdown hash/current batch 1 plus five Finance version pins produced five XLSX files and 314 rows. Independent Markdown comparison found zero Booking Room mismatches; all files pass SHA-256/ZIP checks and all 15 sheets passed visual review. One reviewing Excel draft remained isolated and no business/report write occurred. |
|
||
| 2026-07-31 | Booking Excel extraction program | Implemented, migrated and runtime-active; first real source activation pending | [Evidence topic](topics/2026-07-31-booking-extraction-program.md) | Supplied workbook yields 26 Tour Codes/37 items/7 pending; review pages at 50, atomically batch-deletes 1-50 selected items and identifies the records with the draft's uploaded filename instead of a historical-source status. A real-PostgreSQL create/edit/activate slice rolled back cleanly, 346 tests pass, isolated desktop/mobile QA is green, and live July data previews valid 5/5. |
|
||
| 2026-07-31 | Booking manual-review schema audit | Superseded implementation snapshot; audit-depth finding remains active | [Evidence topic](topics/2026-07-31-booking-manual-review-schema-audit.md) | The audit correctly found a PATCH/DELETE transport gap, which the later extraction-program implementation repaired. Its live-schema facts and reviewer/reason/revision-history gap remain valid. |
|
||
| 2026-07-31 | Booking import dimensions and live database inventory | Booking findings active; Finance counts superseded by later live recheck | [Evidence topic](topics/2026-07-31-booking-import-dimensions-and-live-database.md) | The 867-row/348-code Booking inventory and normalized intake model remain valid. Its 417-row Finance count is a historical snapshot; the later read-only release recheck found 986 current supported-company facts. |
|
||
| 2026-07-30 | Daily page visual polish | Active | [Evidence topic](topics/2026-07-30-daily-page-visual-polish.md) | The daily surface now preserves workspace-title hierarchy, exposes task log as a real button and centers a simplified upload station with a compact action. Thirty-three focused tests and four responsive live widths passed without overflow or browser issues. |
|
||
| 2026-07-30 | Web login runtime mismatch | Resolved; authenticated runtime active | [Evidence topic](topics/2026-07-30-web-login-runtime-mismatch.md) | Keychain-backed login is active under detached Screen on `*:8766`. A 2026-07-31 Keychain-only rotation and controlled restart reject the prior pair, accept the new pair and pass session/readiness/logout plus loopback/LAN checks without business writes. DHCP has the current LAN entry at `.48`; the password is still not distinct from the username, and reboot-persistent supervision remains open. |
|
||
| 2026-07-30 | Daily upload filename provenance | Implemented/migrated; post-restart write acceptance pending | [Evidence topic](topics/2026-07-30-daily-upload-filename-provenance.md) | Migration 013 separates `processing_runs.uploaded_filename` from canonical artifact `source.xml`; history/trace use only the upload provenance and old rows render unknown. The authenticated runtime is active; one controlled no-PII upload remains to verify the live write path. |
|
||
| 2026-07-30 | Task-log relocation and daily-only scope | Historical before-state; superseded by the 2026-07-31 upload interaction update | [Evidence topic](topics/2026-07-30-task-log-relocation-and-scope.md) | The desktop header opens the black task console as a native modal, and history selection still reveals the matching job. The earlier upload-triggered opening is superseded; query inspection still proves both history and trace roots are limited to `pipeline_type = 'opera_daily'`. |
|
||
| 2026-07-30 | Company-report path and July month-end readiness | Historical pre-change readiness snapshot; current generation rule superseded | [Evidence topic](topics/2026-07-30-company-report-path-and-month-end-readiness.md) | Missing/unmatched Group Codes leave Booking Room blank and current July projection previews valid 5/5. The topic records the prior July completion boundary and the remaining acceptance work; current-month incomplete periods are now also generatable, with rerun after completion when needed. |
|
||
| 2026-07-30 | Channel BI post-update data contamination | Active; repair not yet authorized | [Evidence topic](topics/2026-07-30-channel-bi-post-update-data-contamination.md) | Four hash-matched real files total 416 rooms; live API/monthly V04 show 417 because active Finance version 2 is a one-room local fixture. An open BI view can also stay at pre-07-23 value 308 because analytics does not refresh after upload. |
|
||
| 2026-07-30 | Monthly publication live acceptance | Implemented; current data caveat active | [Evidence topic](topics/2026-07-30-monthly-publication-live-acceptance.md) | Publication mechanics remain verified. Later runs reached V04 active with 417 rows and five published events; 416 are real and one is the known fixture. Browser/access logs previously proved automatic list discovery without refresh. |
|
||
| 2026-07-30 | First live ARR2 user-run trace | Historical before-state; resolved | [Evidence topic](topics/2026-07-30-first-live-arr2-user-run.md) | The daily commit was real but the then-current monthly action was local-only. This diagnosis led to migration 012 and the now-complete publication/worker/formula repair. |
|
||
| 2026-07-30 | ARR2.0 programmatic pipeline | Implemented; local vertical slices pass | [Evidence topic](topics/2026-07-30-arr2-programmatic-pipeline.md) | Independent no-Agent runtime runs the fixed processor, validates/stores artifacts and commits atomically. Success/failure, lifecycle SQL, private OSS behavior, trace, downloads and deployment contracts are covered. |
|
||
| 2026-07-30 | SuperAgent OSS fetch Prompt experiment | Fetch/Skill/MCP reached; large payload rejected | [Evidence topic](topics/2026-07-30-superagent-fetch-oss-prompt-experiment.md) | The latest v3 job fetched the exact 629434-byte XML once and generated a valid 135-record result. After repeated reads of the roughly 124 KB JSON, the Agent submitted only 20 records. ARR rejected it as `RESULT_CONTRACT_INVALID`, wrote no Finance version and terminalized the job. XML allowlisting and MCP reachability are proven; exact large-payload transport through model arguments is the current blocker. |
|
||
| 2026-07-29 | Full-flow task trace terminal | Verified locally and against live SuperAgent trace contract | [Evidence topic](topics/2026-07-29-task-trace-terminal.md) | New tasks use `include_trace=true`, persist only sanitized run/task/step events, and merge them with authoritative upload/writeback/Finance/outbox facts in one black console. POST-only semantics, non-deduplicating stream keys, background SSE handoff, 38 targeted tests and 275 full-suite tests with 2 skips were verified. On 2026-07-30 the same plain console gained one-click full-text copy with 15 Web tests and live button-state/feedback verification. |
|
||
| 2026-07-29 | Repeated XML artifact identity fix | Upload fixed; MCP E2E blocked | [Evidence topic](topics/2026-07-29-repeated-xml-artifact-identity-fix.md) | Migration 011 fixed equal-content cross-run identity and a real `0721.XML` upload reached SuperAgent. The remote run returned success under MCP config 53 but made no submission; its grant expired unconsumed and Finance remained empty. |
|
||
| 2026-07-29 | SuperAgent manual XML runs | Historical; production implication superseded by ADR-002 | [Evidence topic](topics/2026-07-29-superagent-manual-xml-run-bypassed-mcp.md) | The exports remain factual processor/chat evidence, but the user confirmed direct chat upload is outside the dedicated Agent contract; production acceptance starts at the controlled ARR entrypoint. |
|
||
| 2026-07-29 | Local XML upload runtime re-enabled | Active until local restart/config change | [Evidence topic](topics/2026-07-29-local-xml-upload-runtime-reenabled.md) | The old launchd process omitted `--enable-processing`; its controlled launcher was corrected and restarted, health now reports database/processing ready, and the XML chooser is enabled without submitting a file. |
|
||
| 2026-07-29 | Channel BI database runtime verification | Superseded after fact changes | [Evidence topic](topics/2026-07-29-channel-bi-database-runtime-verification.md) | The database connection finding remains true, but its one-row fixture projection is historical; use the 2026-07-30 post-update contamination evidence for current values. |
|
||
| 2026-07-29 | Controlled public deployment repository | Historical baseline; current server E2E still pending | [Evidence topic](topics/2026-07-29-public-deployment-repository.md) | Dockerfile/Compose processing and fail-closed readiness evidence remains valid. Its Caddy Basic Auth/MCP topology is superseded: current deployment uses Caddy HTTPS plus ARR application login and no active MCP service. |
|
||
| 2026-07-29 | Live synthetic XML upload vertical slice | Active blocker | [Evidence topic](topics/2026-07-29-live-synthetic-xml-vertical-slice.md) | Public MCP reachability and one-tool discovery are restored; stale SuperAgent config version 33 must now be refreshed before the next commit test. |
|
||
|
||
## When To Add Evidence
|
||
|
||
Add a topic file when a task depends on logs, commits, test output, external docs, bug reproduction, experiments, or postmortem-level reasoning.
|
||
|
||
Keep task progress in `30-worklog/`; keep reusable workflow lessons in `60-reflection/`.
|