Roadblock owns the start.
A scheduled or manual job enters the control plane. Roadblock checks that both connection paths are closed before creating any worker.
Schedule, collect, disconnect, inspect, release, deliver, and tear down. New workers and connections every time.
The workers are temporary.
The control plane retains the job's history.
A scheduled or manual job enters the control plane. Roadblock checks that both connection paths are closed before creating any worker.
Roadblock creates a new external pull container and initiates a new API or MCP connection. The worker compares the source with the last committed checkpoint and writes the changed data to staging. The inside path stays blocked.
The external session is closed and the pull container is destroyed. Roadblock verifies teardown before the job can proceed. If teardown cannot be confirmed, the job remains blocked.
Apply the customer's configured security scanning and inspection to staged data. The release decision belongs to the control plane's policy workflow. Failed, incomplete, or unavailable checks keep the batch in staging.
The configured security controls have cleared this specific batch. Roadblock records the release decision and rechecks that the outside connection is closed before authorizing a new inside worker.
Roadblock creates a new internal delivery container and initiates a new inside connection. The worker picks up only the cleared staging batch and places it in the designated tenant's Hawkeye private data lake. The outside path stays blocked.
After delivery is acknowledged, Roadblock closes the internal session and destroys the delivery container. The delivery receipt and ingestion checkpoint can be retained for the next job; the worker and connection are not reused.
Roadblock records completion and returns to its schedule. The next run starts with a new external container and a new connection, followed by a separately created internal container only after clearance.
Every external and internal connection is initiated by Roadblock's control plane. Each is a new, task-scoped session. Neither worker keeps a persistent connection open, and neither worker is reused for the next job.
Retain the job's checkpoint and delivery receipt separately from its workers. The next fresh external container compares the source against the last committed state. An interrupted or rejected batch does not silently become a completed ingestion.
Job records persist by policy. Connections do not.