docs release evidence p25 t05 jobs acceptance - AlexandreZanata/Abastevo GitHub Wiki
Status: LOCAL_DONE on codex/phase-25-national-registry. Task: P25-T05.
Binds B-BR-D03/D05/D10/D12 and BUC-D01/D06/D08. Durable reconcile
operations on the platform queue with operator controls; schedule
disabled until live source access is verified (same honest pattern as
geocode-hourly).
-
directory/adapters/jobsReconcilehandler (registry-reconcilev1): versioned{source, snapshot}envelope (bad version/shape → error for dispatcher retry/dead handling), dedupe keyregistry-reconcile:<source>:<snapshot>, publishes complete runs only viaReconcileRun. No publication pointer exists by design: projections are append-only, revocation sticks, wrong facts are corrected by new revisions — recovery conserves IDs and last-good state structurally. - Worker wiring (
cmd/worker): handler registered with the PG store + canonicalizer;registry-reconcile-dailyschedule present but disabled (P25 pending: no live source access yet); staging stays operator-triggered per the runbook.go build ./cmd/workerPASS. - Operator surface:
LastCompleteRegistryRun(source)freshness query (snapshot/finished/counts) +docs/operator/registry-runs.md(schedule, stage/reconcile/pause/retry/quarantine/last-success/ rollback procedures + failure table). Late-source and >48 h backlog escalate with cause/status; eligibility is never redefined to hide backlog. - Risk coverage: worker death/stale-lease fencing/duplicate-enqueue/
retry-exhaustion via the platform dispatcher guarantees (lease TTL +
token fencing + dedupe + backoff-to-dead, suites rerun below); dup
snapshot enqueue converges (dedupe key + assertion key); DB outage
surfaces with the run left joinable; partial snapshots refused by
ReconcileRun; quota-hit traversals quarantine instead of completing.
- NEW: jobs
Reconcileunit 3/3 PASS (publish + envelope refusals + row-failure surfacing);LastCompleteRegistryRunintegration PASS. - Regression:
directory/...unit + real-PostGIS integration PASS (9 pkgs incl. new jobs/reconcile suites);platform/jobsunit + integration PASS (lease/replay/backlog);go vetclean;sqlc vet-
generateclean;vacuum lint+apicontractPASS.
-
-
git diff --checkPASS;scan-secrets.shPASS. - G25 specialized exit recorded once below; no Android visibility or production claim inferred.
- Schedule enablement + live staging await verified source access (explicitly pending, not silently skipped).
- Next: P25 phase exit (LOCAL_DONE checkpoint + evidence), then P26
(
codex/phase-26-regulatory-discoveryvia--from-checkpoint).