El recurso RBAC 'reportes' existe en DEV y no en PROD: falta el corte de PROD que 160 dejo explicitamente afuera
MOVILBA-160 esta CERRADO y bien cerrado: se aplico en DEV el 2026-09-15 -recurso reportes id 24, modulo reportes id 22, grants de lectura a ADMIN/EDITOR/VIEWER/TRAMITES_PARQUE/VEHICULOS_VIEWER, y v_navbar_per_user.can_read=true para la cuenta ADMIN de Elazar-. Sus propios eventos de cierre dicen, literal, que la comparacion y el despliegue a PROD quedaban delegados y que NINGUNA escritura en PROD estaba autorizada en ese paso. O sea que el corte de PROD nunca estuvo dentro de 160 y hoy no tiene item: por eso se lee como 'el gate sigue trabado' sin que nada este mal en 160. LO QUE FALTA MEDIR ANTES DE ESCRIBIR NADA, y no se hereda de DEV: que filas de resources, permissions y groups_permissions existen HOY en PROD, con que ids, y que grupos hay. Los ids de DEV (24, 22) son de DEV; escribirlos literales en una migracion es la misma trampa que el OWNER TO literal de 494 - un id de otra base disfrazado de constante. Se DERIVAN en tiempo de ejecucion contra el catalogo de la base en la que corre, y se aborta si el nombre no resuelve una sola vez. CRITERIO DE HECHO: en PROD, hasAccess('reportes') true para los mismos grupos que en DEV, verificado por SELECT sobre la vista que lee la app -v_navbar_per_user-, no por contar filas insertadas. GATE: es escritura de DATOS en PROD. Pide la palabra explicita de Elazar aunque el trabajo sea chico, y el carve-out de codigo roto no la cubre porque aca no hay nada roto: hay una funcionalidad que nunca se desplego.
Activity
-
coder02-mba-l-cc
-
Premise false, nothing to write. Read-only SELECT 2026-09-18 12:1x -03 (roles svc_nextjs on PROD, movilba_user on DEV): PROD already has resource reportes id 26, permission 92 (read), module 21, grants to ADMIN/EDITOR/TRAMITES_PARQUE/VEHICULOS_VIEWER/VIEWER - same 5 groups as DEV (resource 24, permission 85, module 22). Criterion of done, on v_navbar_per_user resource_name='reportes': PROD 32 users, 32 can_read, 32 has_access; DEV 34/34/34; users in the 5 groups PROD 32, DEV 34 - full match. MOVILBA-160 completed event (2026-09-15 10:48, applied in PROD under fresh GO) was correct; the later 10:30 'no PROD write authorized' event is the earlier step. Not exercised: users outside the 5 groups (no access by design), and the running app's hasAccess() path in PROD.
-
Premise false, evidence in the canceled event above: PROD already carries reportes (resource 26, permission 92, module 21, 5 grants); v_navbar_per_user 32/32 can_read. No write needed.