复用 append-lines
- 没有新增 local-service command type。
- modifier selections 和 combo step selections 进入同一个 append-lines payload。
- 成功后从 persisted JSON order hydrate 回 POS UI draft。
Gaima POS 项目控制台 / 2026-05-22
当前切片把 Visible POS 的 modifier 加菜和 combo 加菜接入 async local-service opt-in 路径,未配置 async 时继续使用 snapshot fallback。该切片复用 durable order.append_lines_to_table,没有引入新的 local-service 命令类型,也没有扩大到打印硬件、支付 provider、平台 adapter 或 split bill。
cdcae60 feat: add async line facts flow
codex/pos-async-modifier-combo-add
最新完成
已确认约束
这些是开发约束,不是待决问题;请继续按小切片推进。
模块进度估计
百分比是工程优先级估计,不是发布承诺。
SQLite repository、command log、session/lock、async runtime 主线稳定。
plain item、modifier/combo、line facts、payment/Close、confirm/print 可 async opt-in。
队列事实、路由、retry/admin 基础已稳定;真实硬件 transport 未开始。
本地 payment rows / Close lifecycle 已落地;真实 provider adapters 仍是 P2。
QR partial-acceptance batch 是下个合理候选;平台订单 adapter 仍保持后置。
模块地图
继续保持小切片:每轮只迁移或补齐一条边界,并同步 handoff。
| 模块 | 状态 | 完成事实 | 下一步 | 风险边界 |
|---|---|---|---|---|
| Local Runtime / DB 本地离线可靠性 | 93% | SQLite schema/repository、command log、session/lock、transport、HTTP harness、async order/session runtime 已稳定。 | 继续把 QR batch 这类外部提交入口收进 local-service 命令边界。 | UI 不得直接写 SQLite;catalog 仍有委托 in-memory 的阶段性边界。 |
| POS Order Entry 前台点单 | 88% | plain item、modifier/combo、line facts、payment/Close、confirm/print 已可 async opt-in。 | 除非发现回归,否则不要继续扩大 POS 写路径;转向 QR partial acceptance。 | 不要把 split bill、平台 adapter、硬件打印混进 POS add-line 切片。 |
| Printing System 打印系统 | 72% | PrintJob queue、routing、retry/admin、worker 状态机基础已完成。 | 真实硬件 transport 等用户拍板后单独做。 | 不要把真实 ESC/POS 与当前 async POS 迁移混在一起。 |
| Payments 支付与结账 | 62% | 本地 payment rows、manager discount、Close + customer copy 语义已落地。 | 保持 provider adapters 为 P2,先稳定本地订单事实。 | Square/Clover/Stripe 不要提前影响 local-service 核心模型。 |
| QR / Platform Orders 外部提交入口 | 16% | 已确认 QR partial validation 语义:接受有效项,返回失败项。 | 下个默认候选是 QR partial-acceptance batch command。 | 平台 adapter 不得直接写 SQLite。 |
推荐队列
默认继续 Local DB + local-service 主线,不扩大到硬件、支付 provider 或平台 adapter。
开发护栏
每轮结束必须更新 dashboard、状态文档,并给出可复制的新 session prompt。
node:sqlite。验证记录
RED目标测试先因缺少 modifier/combo async runtime/helper 失败。
targeted testsruntime/helper 与前序 visible async 回归测试已通过。
workspacePOS UI typecheck、local-service 测试、全量 test/typecheck/build、db:validate 均已通过。
POS QAPOS UI 自动 QA 已在 http://127.0.0.1:5180/ 通过。
dashboard本地与线上 dashboard 均通过中文内容、桌面/移动端滚动渲染、无 sticky/fixed 遮挡检查。
deploy线上 dashboard 已部署到 https://gaima-pos-dashboard.pages.dev/。
新 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 状态判断当前开发状态。当前最新稳定基线是 `cdcae60 feat: add async line facts flow`;最新完成模块是 Visible POS Async Modifier/Combo Add Migration Slice:visible POS modifier/combo add-line 现在复用 durable `order.append_lines_to_table`,POS sync/async order runtimes 支持 modifier/combo selections,zero-step combo、combo drawer completion、modifier drawer completion 可 async opt-in,并保留 snapshot fallback。线上 dashboard 是 `https://gaima-pos-dashboard.pages.dev/`,dashboard 必须保持中文并验证桌面/移动端滚动渲染,不能有 sticky 遮挡。下一默认模块建议是 QR Partial-acceptance Batch Command Slice;也可以选择 docs-only 历史中文编码清理。不要把硬件打印、支付 provider、平台 adapter、split bill、WebSocket push、outbox replay、生产 SQLite packaging 混进这个模块,除非我明确改优先级。开发新模块请从 main/最新稳定基线新建 fresh ignored worktree,结束前更新 dashboard/status/memory/changelog/NEXT_AGENT,并给我下一轮可复制 prompt。