REPROCESS_PRODUCTS is not in SYNC_JOB_KINDS, so it fell to the else branch of execute_job and hardcoded company=None for _unified_fiscal - a real gap, not a missing feature: the same deterministic, fail-closed company_context.resolve() every sync job already uses is cheap (no full-table scan, confirmed against the real database) and applies just as well to a one-off reprocess job. Now resolves the real company the same way; falls back to None only when the company genuinely cannot be resolved yet, never a silent guess. Does not touch RTC rule logic. Verified end-to-end against the real production database (dry-run, zero writes) that this was the last domain still carrying the old bug - field_contract's post-NCM fiscal completion already bypassed it entirely by reading Installation.company_uf/crt/company_contribuinte_ipi directly (populated via the 1.3.7 heartbeat fix). 1123 tests passed (tests + central/tests + agent/tests), 0 failed. Version 1.3.8 (single GTI_FISCAL_VERSION).
20 lines
462 B
TOML
20 lines
462 B
TOML
[project]
|
|
name = "gti-fiscal-hub"
|
|
version = "1.3.8"
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"fastapi>=0.115,<1",
|
|
"jinja2>=3.1,<4",
|
|
"uvicorn[standard]>=0.30,<1",
|
|
"sqlalchemy>=2.0,<3",
|
|
"psycopg[binary]>=3.2,<4",
|
|
"alembic>=1.13,<2",
|
|
"httpx>=0.27,<1",
|
|
"openpyxl>=3.1,<4",
|
|
"pypdf>=4.0,<6",
|
|
"pdfplumber>=0.11,<1",
|
|
# SSO from GTI Gerenciador (central/app/sso.py): Ed25519-signed JWT assertions.
|
|
"pyjwt>=2.14,<3",
|
|
"cryptography>=50,<51",
|
|
]
|