feat(catalogo): resolve() devuelve tambien el estado de la empresa
build_canon_index() ya cargaba empresas_grupo_caabsa, pero descartaba la
columna estado (operativa | no_operativa | patrimonial). Ahora viaja en el
payload de resolve() para que un caller pueda usarla como dimension sin
volver a pegarle al catalogo.
El cambio es ADITIVO: los 9 consumidores del matcher (tickets, activo fijo,
costos-nube, saldos, antiguedad, CCC, juridico, sheets_sync, empresas) leen
solo nombre_comercial y portafolio, asi que ninguno se mueve. Se lee con
getattr para que un mock viejo del indice no reviente.
Primer consumidor: el filtro "Estado" de Proyectos TI (commit siguiente).
Co-Authored-By: Claude Opus 5 noreply@anthropic.com