部分接收结果
- 有效行逐行 append 到当前桌台订单。
- 失败行返回 index、lineId、itemId 和错误文本。
- 全失败时 `order: null`,不保留空订单。
Gaima POS 项目控制台 / 2026-05-22
当前完成点:local-service 新增 `order.append_qr_batch_to_table`,QR 客人购物车可以把有效行写入当前桌台订单,同时把售罄、缺失或校验失败的行作为 rejected 明细返回。严格的员工/POS `order.append_lines_to_table` 仍保持整批成功或失败。
cdcae60 feat: add async line facts flow
codex/qr-partial-acceptance-batch
最新完成
已确认约束
这些是产品和架构约束,不属于当前阻塞项。
模块进度估计
百分比用于排优先级,不是发布承诺。
SQLite repository、command log、session/lock、transport、QR partial batch 稳定。
plain item、line facts、payment/Close、confirm/print 可 async opt-in;modifier/combo 见交接说明。
命令边界支持部分接收;客人 UI 与提交体验仍是独立模块。
队列事实、路由、retry/admin 基础稳定;真实硬件 transport 未开始。
Uber/DoorDash/Fantuan 仍是 P2 adapter/inbox 边界。
模块地图
保持小切片:每轮只迁移一个明确边界,并更新 handoff。
| 模块 | 状态 | 完成事实 | 下一步 | 风险边界 |
|---|---|---|---|---|
| Local Runtime / DB本地可靠性 | 94% | SQLite schema/repository、command log、session/lock、transport、HTTP harness、QR partial command。 | 保持 command/API 边界,不让客户端直写 DB。 | 生产 SQLite packaging 继续推迟。 |
| QR / Customer Cart客人扫码 | 32% | 部分接收批量命令已完成:有效项接收、失败项返回。 | 未来可单独做 QR UI 或客户提交 lifecycle。 | 不要混入支付、平台订单或 WebSocket push。 |
| POS Order Entry前台点单 | 86% | 多个 visible POS 写路径已可 async opt-in,并保留 snapshot fallback。 | 按最新 handoff 检查 modifier/combo 分支是否需要稳定化。 | POS UI 仍不得导入 SQLite 或 Node-only modules。 |
| Docs / Handoff项目记忆 | 需要清理 | 本页已恢复中文主界面和无 sticky 布局。 | 建议下一轮 docs-only 历史中文编码清理。 | docs-only 不能混入业务代码。 |
验证记录
`orderService`、`localOrderCommandRuntime`、`localServiceRuntime`、`localServiceTransport` 定向测试通过。
`npm run typecheck -w @gaima-pos/local-service` 通过。
`npm test`、`npm run typecheck`、`npm run build`、`npm run db:validate` 均通过。
本地桌面/移动端滚动验证通过,线上 dashboard 已部署并完成内容检查。
新 session 复制 prompt
继续 POS Local DB + SQLite repository adapter 主线。请用中文回复。先从根目录 `D:\AI_Projects\POS System` 开始,按顺序读取 `NEXT_AGENT.md`、`docs/STATUS.md`、`docs/MEMORY.md`、`docs/CHANGELOG.md`、`docs/project-overview-infographic.html`,不要用旧 worktree 或根目录之外的 git status 判断当前开发状态。最新完成模块是 QR Partial-acceptance Batch Command Slice:local-service 新增 `appendPartiallyValidatedOrderLinesToTable()`、durable `order.append_qr_batch_to_table`、runtime/transport 支持,QR 批量提交会接收有效行、返回 rejected 行明细,重复 idempotency key 不重复写入,全失败批次不留下空订单。线上 dashboard:`https://gaima-pos-dashboard.pages.dev/`。dashboard 必须保持中文主界面并验证桌面/移动端滚动渲染。下一建议模块是 docs-only 历史中文编码清理;也可以另选 QR customer UI,但请新建 fresh ignored worktree。不要把硬件打印、支付 provider、平台 adapter、split bill、WebSocket push、outbox replay、生产 SQLite packaging 混进下一模块,除非我明确改优先级。