Skip re-fetching a CPF from the per-pessoa Gennera loop when the bulk
ingressantes step already resolved it for the same ano, cutting
redundant HTTP fan-out. Add bounded retry with backoff on transient
connection errors (never on HTTP status errors) across the four Gennera
fetch functions, backed by a shared requests.Session for connection
reuse instead of one-off urllib calls. Also stop syncing
carga_horaria_integralizada from the API once a vinculo is FORMADO,
matching the existing sticky-situacao rule, in both the vinculo import
and the standalone carga-horaria command.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Add Pessoa/Vinculo.atualizado_manualmente flag, set automatically on web CRUD
save; all Gennera/txt import paths now skip records flagged this way instead
of overwriting them
- Vinculo import: finalize step corrects leftover "situacao nao informada"
vinculos to "Desvinculado", pulling carga horaria from censup_carga_horaria
- Generic CRUD list view: click a column header to sort (asc/desc), persists
through pagination; FK columns sort by their related display field
- Rename GENNERA_API_BASE_URL setting to GENNERA_LOCAL_BASE_URL
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>