Hub: installations.processing_enabled / sync_interval_seconds / last_sync_* (migration 0026). The first heartbeat of an installation without coverage queues exactly one INITIAL_SYNC; afterwards one SYNC_INCREMENTAL per interval (idempotent, backs off on failure). One fiscal job at a time per Agent (FIFO, stale RUNNING recovery). Job completion now updates the coverage snapshot, blockers and JOB_STARTED/COMPLETED/FAILED events. Panel: Sincronizar agora / Reprocessar tudo / Pausar / Retomar + status; pause is enforced Hub-side. Agent: local AGENT_JOBS_ENABLED is ignored (central control); SYNC_INCREMENTAL re-classifies only new/changed products via a per-product fingerprint+decision cache and rebuilds coverage from it; results carry operational summary and blockers; Firebird credentials come from a DPAPI firebird.bin. Setup: read-only SGV Firebird discovery (auto-select only when unambiguous, wizard chooser otherwise), starts the service, waits for the first heartbeat, upgrade-in-place mode. All jobs stay read-only (FIREBIRD_WRITES=0). Version 1.1.3. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
9 lines
575 B
Python
9 lines
575 B
Python
"""Single source of truth for the release version. Also what the Agent Windows
|
|
package is versioned as (scripts/build_agent_package.py reads release/VERSION,
|
|
kept identical to this) and what an AgentRelease row's `version` column holds
|
|
once published — never a second, independent version number. Fiscal semantics
|
|
are versioned separately (ENGINE_VERSION/DECISION_VERSION in classification.py,
|
|
DECISION_ENGINE_VERSION etc.) and are NOT changed by a release bump."""
|
|
GTI_FISCAL_VERSION = "1.1.3"
|
|
API_COMPAT_MAJOR_MINOR = "1.0" # an Agent 1.0.x/1.1.x talks to any Hub 1.0.x
|