SDD source of truth: specifications, contracts, architecture, and implementation status. Product narrative lives here in lakuyo-docs; exact behaviour lives in control-plane specs.

Repo: lakuyo-control-plane

Layout

PathPurpose
specs/POS-00N-*/Feature specs (spec.md, scenarios.md, acceptance-criteria.md)
contracts/schemas/JSON schemas (product, sale, member, membership-settings, store-profile, stock-movement, printer-settings, …)
data/Domain model, local/cloud database semantics
architecture/System context, offline-first, platform notes, printing
delivery/implementation-status.mdAndroid / iOS / backend progress per spec

Phase 1 inventory & catalogue specs

TopicSpecNotes
Store tax settingsPOS-001tax_enabled, tax_rate
Product image, optional categoryPOS-002Category optional at save
Stock adjustment, movement historyPOS-003Positive adjustment = receiving
Category browse in cartPOS-004Category expected at checkout
Checkout taxPOS-005Store-level rate only
Images in backupPOS-008Local file + SQLite payload
Thermal receipt printPOS-023ESC/POS, 58/80mm, Bluetooth/USB; depends on POS-007

Phase 3 — customer membership

TopicSpecNotes
Member registry, member vs walk-in pricingPOS-024member_price on products; optional member_id on sales
Admin membership discountsPOS-024Registration discount (first sale) + ongoing member discount
Member purchase historyPOS-024Walk-in sales have no customer-level history

See also Product/Domain Terminology for canonical vocabulary aligned to these specs.