Adds an ADMIN-only "Contexto Fiscal" section to the Agent detail page: confirm/alter/clear the fiscal decisions
field_contract.resolve_product genuinely cannot derive from the ERP alone (icms_treatment, pis_cofins_profile,
entry_scope). Persists through the existing FiscalContextEntry table (the same one blocker_resolution already
writes operator answers into) - no new persistence model, no opaque JSON box. CSRF + RBAC + audit reuse the exact
mechanism already proven for /agents/{id}/features. Confirming or clearing flags every already-enriched product on
the installation for re-evaluation.
The list was reduced from 5 candidates to 3 by auditing real production data (Agent 2, 2026-09-27/28):
icms_rate/credit_rate and rounding were dropped - both proven NOT_APPLICABLE / ALREADY_DERIVED for this CRT=1
company from real field_contract dry-runs, not assumption. Real evidence surfaced in the UI is a dated, one-time
manual read-only measurement (disclosed in the card copy itself as such) - the Hub has no direct Firebird access,
so this is not a live query; a follow-up should pipe it through the heartbeat the same way CRT/CONTRIBUINTE_IPI
were wired.
Also found, during the same audit, that this client's NFC-e emission ignores the product's cadastral PIS/COFINS
CST/rate fields entirely (verified on the 3 real products that DO have them populated - the emitted documents never
carry the cadastral value) - documented as a strong OPEN recommendation for a future field_contract change, not
applied here, since changing canonical fiscal semantics needs accountant sign-off, not just my own inference.
1129 tests passed (tests + central/tests + agent/tests), 0 failed. Version 1.3.9 (single GTI_FISCAL_VERSION). Hub
only - Agent unchanged, no new installer this release.
93 lines
2.6 KiB
JSON
93 lines
2.6 KiB
JSON
{
|
|
"artifact": "RELEASE_MANIFEST",
|
|
"GTI_FISCAL_VERSION": "1.3.9",
|
|
"generated_at": "2026-09-28T01:15:00+00:00",
|
|
"hub": {
|
|
"version": "1.3.9",
|
|
"api_compat": "1.0",
|
|
"engine_version": "0.3.0",
|
|
"decision_version": "mission-04c-ipi-ex-split"
|
|
},
|
|
"agent_version": "1.3.9",
|
|
"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/1.3.9",
|
|
"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.9: adds the ADMIN-only Contexto Fiscal section to the Agent detail page (central/app/fiscal_context_ui.py) - confirm/alter/clear the 3 real fiscal decisions field_contract cannot derive alone (icms_treatment/pis_cofins_profile/entry_scope, reduced from an original 5-item list by auditing real production data: icms_rate/credit_rate and rounding were proven NOT_APPLICABLE/ALREADY_DERIVED for this CRT=1 company and dropped). Persists through the existing FiscalContextEntry table, CSRF+RBAC+audit reusing the same mechanism as /agents/{id}/features. No schema change. Hub only - Agent unchanged, no new installer published this release."
|
|
} |