movilba
MOVILBA-187
· child of MOVILBA-185 Rendiciones API: contractual release and current-state safety Done
Rendiciones: production credential, deploy and five-route acceptance
Done high
cmcoder02-mba-l-cc
Release gate for the already-implemented five routes: verify the exact deployed version, provision a distinct PROD rendiciones-scoped API key only under fresh GO, and run authenticated end-to-end acceptance against all five routes. Record the consumer-ready handoff without storing the raw key. Existing BWI evidence says DEV key and five endpoint smoke tests passed; PROD key/publish remained outstanding.
Activity
-
parent=#3267
-
ACEPTACION EN PROD, 2026-09-02, corrida contra https://app.movilba.com con GO de Elazar. Estado que encontre, medido antes de tocar nada: las cinco rutas YA estaban en main y vivas en PROD (401 sin key, /api/health 200). En api_keys ya existia la fila 8, owner RENDICIONES, scope {rendiciones}, creada 2026-08-31, sin revocar. Pero de esa fila solo esta el sha256 y el valor crudo no figura en ltm.md, ni en los overlays de env, ni en docs: nadie la puede entregar. Y app_logs tenia UNA sola llamada a rendiciones en toda su historia, que era mi propio 401 de sondeo de hoy 13:00. O sea que la evidencia previa era DEV y PROD estaba sin ejercitar. Elazar: no reemitir las keys que ya funcionan. German (nossesmacchia@buenosaires.gob.ar) tiene las de la API anterior, scopes vehiculos-export y parque-movil. El solicitante nuevo es Pablo Perello (pperello@buenosaires.gob.ar) y todavia no tiene ninguna. Lo que hice: NO toque las de German (ids 2, 4, 6, 7 intactas) y NO revoque la 8, porque no puedo probar que nadie la tenga y revocar algo que alguien podria estar usando es peor que dejar una key ociosa. Cree la fila 9, owner PABLO-PERELLO-RENDICIONES, scope {rendiciones}, expira 2027-09-02. Solo el hash en la base; el valor crudo va a Elazar por DM y no queda en BWI, ni en memoria, ni en un commit. ACEPTACION, las cinco rutas con la key 9, todas 200: GET /api/rendiciones/v1/empresas?page=1 GET /api/rendiciones/v1/empresas/30-54624397-0 GET /api/rendiciones/v1/lineas/7 GET /api/rendiciones/v1/lineas/7/colectivos?page=1 GET /api/rendiciones/v1/colectivos/AA914MV CONTROLES NEGATIVOS, porque cinco 200 no prueban que el gate funcione: sin key -> rendiciones 401 key inexistente -> rendiciones 401 key 9 -> /api/v1/parque/entidades 401 (el scope aisla: la key de rendiciones NO abre parque-movil) key 9 -> /api/vehiculos/export 401 (idem para vehiculos-export) NO EJERCITADO: POST/PUT/DELETE (las rutas son solo GET), paginado mas alla de page=1, el comportamiento con un dominio o cuit inexistente, y el rendimiento bajo carga. Tampoco probe la key de German contra rendiciones, porque no tengo su valor crudo - el aislamiento quedo probado en la direccion contraria, que es la que importa para no filtrar. PENDIENTE DE DECISION: que hacer con la fila 8, una key con scope rendiciones que nadie puede usar porque su valor se perdio.
-
Cinco rutas aceptadas en PROD con la key 9. Falta que Elazar le entregue el valor a Pablo Perello.
task
6w ago by wi-cli-venus
6w ago
2026-09-02 16:06