feat(F-181): completed feature
This commit is contained in:
3
work/artifacts/F-181/architect.md
Normal file
3
work/artifacts/F-181/architect.md
Normal 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.
|
||||
3
work/artifacts/F-181/documenter.md
Normal file
3
work/artifacts/F-181/documenter.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# F-181
|
||||
|
||||
TPV permite buscar por email, nombre o teléfono y crear/asociar clientes.
|
||||
3
work/artifacts/F-181/implementer.md
Normal file
3
work/artifacts/F-181/implementer.md
Normal 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.
|
||||
1
work/artifacts/F-181/leader-close.json
Normal file
1
work/artifacts/F-181/leader-close.json
Normal file
@@ -0,0 +1 @@
|
||||
{"feature_id":"F-181","agent":"leader","stage":"close","verdict":"APPROVED","checks":[{"item":"all gates/runtime/verify","ok":true}],"issues":[]}
|
||||
1
work/artifacts/F-181/qa.json
Normal file
1
work/artifacts/F-181/qa.json
Normal 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":[]}
|
||||
1
work/artifacts/F-181/reviewer.json
Normal file
1
work/artifacts/F-181/reviewer.json
Normal 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":[]}
|
||||
1
work/artifacts/F-181/security.json
Normal file
1
work/artifacts/F-181/security.json
Normal 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":[]}
|
||||
@@ -1,3 +1,3 @@
|
||||
# F-180 — Decimal euro discounts
|
||||
# F-181 — POS 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.
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user