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).
93 lines
2.4 KiB
JSON
93 lines
2.4 KiB
JSON
{
|
|
"artifact": "RELEASE_MANIFEST",
|
|
"GTI_FISCAL_VERSION": "1.3.8",
|
|
"generated_at": "2026-09-28T00:30:00+00:00",
|
|
"hub": {
|
|
"version": "1.3.8",
|
|
"api_compat": "1.0",
|
|
"engine_version": "0.3.0",
|
|
"decision_version": "mission-04c-ipi-ex-split"
|
|
},
|
|
"agent_version": "1.3.8",
|
|
"fiscal_engine": {
|
|
"ENGINE_VERSION": "0.3.0",
|
|
"DECISION_VERSION": "mission-04c-ipi-ex-split",
|
|
"DECISION_ENGINE_VERSION": "fiscal-decision-v1",
|
|
"PRODUCT_DEFAULTS_ENGINE_VERSION": "product-defaults-v1",
|
|
"ICMS_CONTEXT_ENGINE_VERSION": "icms-context-v1"
|
|
},
|
|
"migrations": {
|
|
"alembic_head_in_repo": "0032_contribuinte_ipi",
|
|
"applied_revision": "0032_contribuinte_ipi",
|
|
"applied_revision_source": "confirmed live via docker exec alembic current on gti-fiscal-hub-fiscal-hub-1 during the 1.3.7 deploy; migration 0032 did not change again in 1.3.8",
|
|
"count": 32
|
|
},
|
|
"datasets_active": [
|
|
{
|
|
"kind": "ANP",
|
|
"sha256": "8271a80007548b01",
|
|
"record_count": 1031
|
|
},
|
|
{
|
|
"kind": "BA_ST_MVA",
|
|
"sha256": "e07e9085952bc256",
|
|
"record_count": 303
|
|
},
|
|
{
|
|
"kind": "CEST",
|
|
"sha256": "d7fb7e8da0ace051",
|
|
"record_count": 1051
|
|
},
|
|
{
|
|
"kind": "CFOP",
|
|
"sha256": "c95c91ed1644fdd1",
|
|
"record_count": 619
|
|
},
|
|
{
|
|
"kind": "FCP",
|
|
"sha256": "3079d088169003cf",
|
|
"record_count": 27
|
|
},
|
|
{
|
|
"kind": "NCM",
|
|
"sha256": "3abc0d2eb2501bbd",
|
|
"record_count": 15156
|
|
},
|
|
{
|
|
"kind": "NCM_UTRIB",
|
|
"sha256": "afc8bfc94c4f9575",
|
|
"record_count": 10516
|
|
},
|
|
{
|
|
"kind": "NFE_MOC_TABLES",
|
|
"sha256": "5eb4cf2010b10b0b",
|
|
"record_count": 96
|
|
},
|
|
{
|
|
"kind": "RTC_BIOFUEL_INDEX",
|
|
"sha256": "c49a011503657fc6",
|
|
"record_count": 23
|
|
},
|
|
{
|
|
"kind": "RTC_CBS_RATES",
|
|
"sha256": "33f17aa3322de841",
|
|
"record_count": 2
|
|
},
|
|
{
|
|
"kind": "RTC_CCLASSTRIB",
|
|
"sha256": "1448cb63a41bdb67",
|
|
"record_count": 164
|
|
},
|
|
{
|
|
"kind": "RTC_CCREDPRES",
|
|
"sha256": "65f2461398b6c361",
|
|
"record_count": 13
|
|
},
|
|
{
|
|
"kind": "TIPI_IPI",
|
|
"sha256": "d155f1baafb4039d",
|
|
"record_count": 11103
|
|
}
|
|
],
|
|
"note": "1.3.8: fixes REPROCESS_PRODUCTS hardcoding company=None for _unified_fiscal/RTC (it isn't in SYNC_JOB_KINDS) - now resolves the real company context the same deterministic way every sync job already does, never guesses, falls back to None only when genuinely unresolved. No schema change. Agent code changed (run_agent_service.py): a new GTIFiscalAgent-Setup-1.3.8 installer is published this release."
|
|
} |