feat(F-194): completed feature
This commit is contained in:
21
work/artifacts/F-194/implementer.md
Normal file
21
work/artifacts/F-194/implementer.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# F-194 — Fix evidence
|
||||
|
||||
## Changes
|
||||
|
||||
### Fix 1: `crypto.randomUUID()` runtime TypeError
|
||||
- `project/apps/pos/src/components/PaymentModal.tsx`: replaced `crypto.randomUUID()` with `generateIdempotencyKey()` (already imported pattern from `@/lib/idempotency` with safe fallback).
|
||||
- `project/apps/pos/src/app/(terminal)/page.tsx`: same fix for the free-item lineId.
|
||||
|
||||
### Fix 2: IVA, Auditoría, Logs → inside Settings
|
||||
- Moved routes: `app/(dashboard)/{tax-rates,audit,logs}/page.tsx` → `app/(dashboard)/settings/{tax-rates,audit,logs}/page.tsx`
|
||||
- Updated `permissions.ts` NAV_ITEMS: `/tax-rates` → `/settings/tax-rates`, `/audit` → `/settings/audit`, `/logs` → `/settings/logs`
|
||||
- Added "Sistema" sub-navigation in settings sidebar with links to each sub-page.
|
||||
- Added "← Ajustes" breadcrumb link at the top of each moved page.
|
||||
|
||||
## Validation
|
||||
- Admin typecheck: PASS
|
||||
- POS typecheck: PASS
|
||||
- Admin build: PASS (routes show `/settings/{audit,logs,tax-rates}`)
|
||||
- POS build: PASS
|
||||
- Backend unit tests: 268/268 PASS
|
||||
- `./scripts/verify.sh`: PASS
|
||||
1
work/artifacts/F-194/leader-close.json
Normal file
1
work/artifacts/F-194/leader-close.json
Normal file
@@ -0,0 +1 @@
|
||||
{"feature_id":"F-194","agent":"leader","stage":"close","verdict":"APPROVED","checks":[{"item":"All gates APPROVED","ok":true},{"item":"Builds and tests pass","ok":true}],"issues":[]}
|
||||
1
work/artifacts/F-194/qa.json
Normal file
1
work/artifacts/F-194/qa.json
Normal file
@@ -0,0 +1 @@
|
||||
{"feature_id":"F-194","agent":"qa","stage":"qa_gate","verdict":"APPROVED","acceptance":[{"id":1,"criterion":"PaymentModal no longer calls bare crypto.randomUUID()","ok":true},{"id":2,"criterion":"Terminal free-item uses safe ID generation","ok":true},{"id":3,"criterion":"IVA/Audit/Logs are accessible under /settings/...","ok":true},{"id":4,"criterion":"Old /tax-rates, /audit, /logs routes removed","ok":true},{"id":5,"criterion":"Typecheck/builds/regression green","ok":true}],"issues":[]}
|
||||
1
work/artifacts/F-194/reviewer.json
Normal file
1
work/artifacts/F-194/reviewer.json
Normal file
@@ -0,0 +1 @@
|
||||
{"feature_id":"F-194","agent":"reviewer","stage":"review_gate","verdict":"APPROVED","checks":[{"item":"crypto.randomUUID replaced with safe fallback","ok":true},{"item":"Routes moved from top-level to settings sub-paths","ok":true},{"item":"Navigation items updated to new paths","ok":true},{"item":"Settings sidebar links to sub-pages","ok":true},{"item":"Back-to-settings breadcrumbs on each page","ok":true},{"item":"Typecheck and builds pass","ok":true}],"issues":[]}
|
||||
1
work/artifacts/F-194/security.json
Normal file
1
work/artifacts/F-194/security.json
Normal file
@@ -0,0 +1 @@
|
||||
{"feature_id":"F-194","agent":"security","stage":"security_gate","verdict":"APPROVED","checks":[{"item":"No new auth/authz changes","ok":true},{"item":"No secrets or sensitive data introduced","ok":true},{"item":"Moved pages preserve existing RBAC","ok":true}],"issues":[]}
|
||||
Reference in New Issue
Block a user