OutlabsTaskq
Concepts

SQL-first contract

Why PL/pgSQL functions are the source of truth.

The protocol is a set of functions in schema taskq. The Python library, the HTTP facade, and psql are equal clients.

Schema and migrations

ItemValue
Schema nametaskq (fixed — ADR-002)
Packaged migrations00010042 (admission, workflows, schedules, target attestation, bounded operator projections, the per-queue flow-control plane, …)
SQL contract0.6.6
Protocol document1.0.17
Drift oracletaskq db verify / verify() / verify_sync()

Capability roles

RoleRights
taskq_ownerOwns schema objects; migration target ownership
taskq_producerEXECUTE enqueue / admission producer paths
taskq_runnerClaim, heartbeat, settle
taskq_observerStats / finite read views
taskq_operatorRedrive, cancel, control, schedules, workflows
taskq_housekeeperTick, reaper, and schedule firing

Functions are owned by taskq_owner, pin search_path, revoke PUBLIC execute, and grant to a capability role. Because raw table DML is denied to runners, every documented flow has a function.

What lives where

LayerOwns
PostgresClaim, fencing, retry budget, uniqueness, concurrency admission, follow-ups, workflows, schedules, continuation admission, trusted effect fence
PythonModels, worker loop, standalone scheduler, manifest compiler, optional HTTP transport
Host appJob handlers, domain side effects, IAM wiring

Typed results everywhere

Enqueue and settle never return silent null success. Expected races return structured statuses so network retries are safe.