feat(F-181): completed feature

This commit is contained in:
chattie
2026-08-22 19:10:02 +02:00
parent ca611467ff
commit 86637f8c35
13 changed files with 175 additions and 49 deletions

View File

@@ -0,0 +1,3 @@
# F-181
Use display_name/phone schema. Create identity customer transactionally with random Argon2 secret; expose search/create in register.

View File

@@ -0,0 +1,3 @@
# F-181
TPV permite buscar por email, nombre o teléfono y crear/asociar clientes.

View File

@@ -0,0 +1,3 @@
# F-181
Search aligned to display_name/profile/identity phone and customer role. Added secure random-Argon2 customer creation endpoint and search/create register tabs; creation associates customer immediately. Runtime create 201/search 200; test customer removed. POS build/typecheck pass.

View File

@@ -0,0 +1 @@
{"feature_id":"F-181","agent":"leader","stage":"close","verdict":"APPROVED","checks":[{"item":"all gates/runtime/verify","ok":true}],"issues":[]}

View File

@@ -0,0 +1 @@
{"feature_id":"F-181","agent":"qa","stage":"qa_gate","verdict":"APPROVED","checks":[{"item":"create 201","ok":true},{"item":"phone search 200","ok":true},{"item":"build/typecheck","ok":true}],"issues":[]}

View File

@@ -0,0 +1 @@
{"feature_id":"F-181","agent":"reviewer","stage":"review_gate","verdict":"APPROVED","checks":[{"item":"current profile schema","ok":true},{"item":"create and associate UI","ok":true}],"issues":[]}

View File

@@ -0,0 +1 @@
{"feature_id":"F-181","agent":"security","stage":"security_gate","verdict":"APPROVED","checks":[{"item":"staff RBAC","ok":true},{"item":"random Argon2 non-usable secret","ok":true},{"item":"transactional insert","ok":true}],"issues":[]}

View File

@@ -1,3 +1,3 @@
# F-180Decimal euro discounts
# F-181POS customer search and creation
Fixed discount input is a human EUR amount. Accept decimal comma or point and convert exactly once to integer cents. Percentage mode remains percentage.
Align customer query with current profile schema and add an authenticated cashier endpoint/form to create a customer with email, name and phone. Generated credentials are non-usable; customer can later use password reset.

View File

@@ -1,64 +1,64 @@
{
"feature_id": "F-180",
"feature_id": "F-181",
"stage": "close",
"agent": "leader",
"action": "close",
"state": "running",
"next_agent": "leader",
"waiting_for": "Seleccionar una feature pending y actualizar este estado",
"updated_at": "2026-08-22T17:07:28Z",
"updated_at": "2026-08-22T17:10:01Z",
"timeline": [
{
"ts": "2026-08-22T17:06:25Z",
"ts": "2026-08-22T17:08:03Z",
"agent": "leader",
"stage": "intake",
"state": "running",
"message": "Accept decimal euro fixed discounts"
"message": "Repair POS customer lookup and creation"
},
{
"ts": "2026-08-22T17:06:25Z",
"ts": "2026-08-22T17:08:03Z",
"agent": "architect",
"stage": "design",
"state": "running",
"message": "design"
},
{
"ts": "2026-08-22T17:06:25Z",
"ts": "2026-08-22T17:08:03Z",
"agent": "implementer",
"stage": "build",
"state": "running",
"message": "Implement decimal EUR discounts"
"message": "Implement customer search/create"
},
{
"ts": "2026-08-22T17:07:28Z",
"ts": "2026-08-22T17:10:01Z",
"agent": "reviewer",
"stage": "review_gate",
"state": "running",
"message": "review"
},
{
"ts": "2026-08-22T17:07:28Z",
"ts": "2026-08-22T17:10:01Z",
"agent": "security",
"stage": "security_gate",
"state": "running",
"message": "security"
},
{
"ts": "2026-08-22T17:07:28Z",
"ts": "2026-08-22T17:10:01Z",
"agent": "qa",
"stage": "qa_gate",
"state": "running",
"message": "qa"
},
{
"ts": "2026-08-22T17:07:28Z",
"ts": "2026-08-22T17:10:01Z",
"agent": "documenter",
"stage": "document",
"state": "running",
"message": "document"
},
{
"ts": "2026-08-22T17:07:28Z",
"ts": "2026-08-22T17:10:01Z",
"agent": "leader",
"stage": "close",
"state": "running",