## 中文
- 为 SubTracker 备份追加导入增加 append-noop 快路径,命中时直接返回并跳过 followups。
- 复用追加导入的预查结果,减少重复查库,并把 trace 补到 noop 判定步骤。
- 泛化 lite before/after perf 报告脚本与根脚本入口,支持任意 baseline/current snapshot root 与标签。
## English
- Add an append-noop fast path for SubTracker backup append imports so no-op restores return early and skip followups.
- Reuse append preflight lookup results to reduce duplicate queries and expose noop detection in the import trace.
- Generalize the lite before/after perf report script and root entry so it can compare arbitrary baseline/current snapshot roots and labels.
- drop lite tag-budget contracts, budget routes, renewal-mode distribution, and empty dashboard chart payloads while keeping only data-backed statistics views
- version worker-lite auth credentials, migrate legacy scrypt logins, and cap auto-renew batches to reduce login and cron worker overhead
- extend the before-after perf harness for login, overview, and auto-renew with dirty-current support and .tmp report output
- trace import commit route and service phases and skip append no-op cache side effects
- batch payment record writes and use D1-backed append lookups to reduce worker import latency
- refresh perf fixtures, harnesses, and regression tests for clean before-after measurements
- extend the lite runner and HTTP harness to cover detail and payment targets
- support explicit result paths, profile directories, and shared D1 persist state
- add a baseline/current report driver for whole-worker profiles and CSV output
- switch SubTracker backup and Wallos import from token-backed preview persistence to stateless inspect plus direct commit payloads
- align shared schemas, api routes, and import modals while keeping the SubTracker backup zip format unchanged
- move Wallos zip logo upload work out of inspect, add direct-payload coverage tests, and extend lite perf harnesses with import before-after baselines
- short-circuit no-channel scheduled scans, narrow reminder candidates with dedicated lite helpers, and keep scan-debug behavior unchanged
- cache reminder rule parsing and replace heavy timezone-based rule matching with lightweight day-index comparisons for high-hit cron scans
- add local lite perf seed, measure, profile, and worker-http scripts to capture overview and cron before-after baselines
- cover the cron scan changes with reminder repository, notification route, makeup, merge, and chunking tests
- combine the worker-lite performance and reliability work into one coherent commit for the cf-worker branch
- reduce duplicate submissions and repeated settings fetches on the frontend, add clearer saving/recognition states, and keep Worker-limit error messaging focused on real failures
- refactor worker hot paths around D1/KV usage with short-lived caching, lighter settings/auth access, lazy Prisma creation, slimmer statistics/calendar queries, and safer exchange-rate reads
- simplify logo search and remote-logo handling for Lite constraints, keep cron and notification flows aligned with Worker Free limits, and preserve current Lite-specific UX decisions
- remove unsupported Prisma interactive transactions for D1, batch Wallos import writes, chunk D1 tag joins, and fix Cloudflare-specific issues such as KV minimum TTL handling and remote reset execution on Windows
- include the latest Lite-side cleanup: route-level tags caching, skipping unnecessary tag reads in statistics when tag budgets are disabled, removing calendar adjacent-month prefetching, and executing remote reset SQL through a temp file
- update the ai integration test assertion to match the current vision-disabled error message
- remove the stale r2_buckets block from wrangler.jsonc so base config no longer carries the wrong binding name
- keep R2 binding injection owned by bootstrap-cloudflare.mjs when --with-r2 is used
- make bootstrap-cloudflare prefer the current short git commit hash when no explicit app version is provided
- keep explicit app_version and environment overrides higher priority
- extend bootstrap script tests to cover git sha fallback
- migrate the lite branch runtime to Cloudflare Worker with D1, KV and optional R2 support
- add worker runtime context, request routing, D1 init guards, bootstrap/reset scripts and wrangler config
- keep the product aligned with the lite plan: MailChannels email, JSON-only Wallos import, no local OCR, remote logo fallback without local disk storage
- restore logo search behavior toward main parity while adapting storage and cache to Worker bindings
- update branding and UI copy for SubTracker Lite, including runtime naming and lite-specific settings/help text
- replace Docker-oriented docs/workflow assets with cf-worker specific CI/deploy workflows and deployment docs
- add regression tests for worker runtime paths, database init, logo search, worker capability helpers and bootstrap script behavior
- copy apps/api/.env.example into the deployment .env first
- only override deployment-specific values such as image, ports, origin, and log level
- keep new example fields like TZ and cron settings in sync automatically
- rename user-facing deployment modes to 完整部署 and 仅后端部署
- simplify README and DEPLOYMENT wording for end users
- polish generated INSTALL-README guidance and upgrade steps