Commit 7a896646 authored by wenwen.tang's avatar wenwen.tang 😕

docs(memory): 记录第七轮(账期区间筛选 / 本地台账对齐 / 记忆整理)

Co-authored-by: CodeBuddy
parent 5df2bfbc
...@@ -215,3 +215,43 @@ env -u http_proxy -u https_proxy -u HTTP_PROXY -u HTTPS_PROXY git push origin ma ...@@ -215,3 +215,43 @@ env -u http_proxy -u https_proxy -u HTTP_PROXY -u HTTPS_PROXY git push origin ma
- 线上容器内路径:宿主 `/opt/rentos/data` → 容器 `/app/data`(读配置要用 `/app/data/config.json`)。 - 线上容器内路径:宿主 `/opt/rentos/data` → 容器 `/app/data`(读配置要用 `/app/data/config.json`)。
- 宿主机**无 python3**(CentOS 7),探针一律走 `docker exec rentos python -c ...`。 - 宿主机**无 python3**(CentOS 7),探针一律走 `docker exec rentos python -c ...`。
- SSH 是 password 认证(`id_ed25519` 未授权),必须传 `RENTOS_SSH_PASSWORD`。 - SSH 是 password 认证(`id_ed25519` 未授权),必须传 `RENTOS_SSH_PASSWORD`。
---
## 第七轮:房租出单改「账期区间」筛选 + 本地台账对齐 + 记忆整理(2026-10-13 12:30)
### 需求与口径(经 AskUserQuestion 拍板)
把「房租车位费」本期出单的筛选从「出单基准日」改为**按账期区间**:
1. 筛选形式 = **账期区间(起 ~ 止)**;2. 命中判定 = **账期起始日落在区间内**;3. **区间取代基准日**。
### 实现要点
- `rent_parser`:新增 `in_period(row, from, to)` / `classify_period(rows, from, to)` → (区间内, 区间外, 不可出单);
**保留原 `classify(rows, on_date)`**,定时器 `due_for_push` 仍走它(两套口径并存)。
- `service`:`rent_preview(from_date, to_date, show_all)` 改调 `classify_period`,返回 `from`/`to` 取代 `on`;
`later` 语义 = 「区间外」;新增 `_period_label()`(单月 `2026年12月` / 跨月 `2026年12月~2027年2月`);
`ingest_rent(from_date, to_date)` 三分支选行(row_ids / 区间 / 退回旧 on_date),批次记 `period_filter_from/to`。
- `server`:`GET /api/rent/preview?from=&to=`(`?on=` 作兼容别名 = to);`POST /api/rent/batches` 透传 from/to。
- `web`:`#rp-on` 拆为 `#rp-from` / `#rp-to`;「显示未到期」→「显示区间外」;文案改「按账期区间筛选」。
⚠️ JS TDZ 陷阱:回调里新增 `const f,t` 与 try 块内既有 `const b=d.batch, t=b.totals` 冲突 → 改名 `pf`/`pt`。
- 测试:`test_rent` 新增 21 项;新 `tools/ui_verify8.py`(沙箱+Playwright 端到端 30 项);`ui_verify5.py` 适配。
**单测 212 项全绿**;`ui_verify8` 30/30;`ui_verify5` 43/43。
### 实测(新代码 live 后 curl)
`/api/rent/preview` 返回键 = `ok/from/to/rows/later/skipped/docs/summary/all_count/owners`。
全区间 [2026-01-01~2027-12-31] → rows=43 / later=0 / skipped=42 / docs=37;
收窄 [2027-03-01~2027-03-31] → rows=**3** / later=**40** / skipped=42 / docs=3(命中收窄正确)。
### ⚠️ 顺带发现并已处置:本机台账与线上权威不一致
- 本机 `data/` 今天真实出过 3 次单(**本机非生产方**,违反铁律):
批次 `20261013-105041`(10:50)、`20261013-120510`(12:05)、及一次 12:20:48 的推进(批次已删)。
把 302室 AC/AJ 推到 `2027-06-01`,而**线上权威 = `2027-03-01`**(`updated_at 2026-10-13 11:04:15 导入车位备注`)。
- **处置**:停本机 8899 实例 → 两条遗留批次 + 其 `output/rent/` 目录归档到
`data/_snap/local_stray_20261013/`(可恢复)→ `git checkout -- data/tables/rent_parking.json` 回到权威。
现本机 0002/0003 `AC=AJ=2027-03-01`,与 HEAD/线上逐格一致。
- **教训**:本机 `notify.enabled=true` 时**绝不能随手起服务**(会自动出单/发送)。会话内一律 `--no-scheduler`。
### 记忆整理(ACTION REQUIRED)
`MEMORY.md` 超限被注入层截断 → 重写去重,257 行压到约 150 行,保留全部有效操作知识。
### 提交(未 push / 未部署)
`422a556` chore(memory) · `bad7703` feat(房租出单 账期区间) · `5df2bfb` chore(data: auth 迁移落库)。工作区已干净。
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment