Limits that stay shared.
Add workers without multiplying your rate budget. Concurrency and rate limits apply across the entire fleet.
Explore fleet policiesShared rate limits. Fair tenants. Workers in sync.
Background jobs for Go and Rust, on the database you already use.
Every worker asks the same question: “What am I allowed to run?” Headgate evaluates your policies atomically inside the store, in the same operation that claims the job.
Add workers without multiplying your rate budget. Concurrency and rate limits apply across the entire fleet.
Explore fleet policiesA busy tenant shouldn’t drown out everyone else. Quiet tenants get service, and spare capacity stays useful.
Understand admissionCorrelate repeated crashes by payload fingerprint. Quarantine troublesome work before it keeps taking down workers.
See quarantine controlsA research agent that runs for minutes. A multi-step analysis. Define a typed handler and let Headgate coordinate execution across your fleet.
Give your agent a typed payload and a stable job kind.
type ResearchAgent struct {
Question string `json:"question"`
}
func (ResearchAgent) Kind() string {
return "agent:research"
}
Register a handler. Your application supplies the research logic.
registry := headgate.NewRegistry()
err := headgate.RegisterFunc[ResearchAgent](registry,
func(ctx context.Context,
job *headgate.Job[ResearchAgent]) error {
return runResearchAgent(ctx, job.Args.Question)
},
)
if err != nil {
return err
}
Enqueue through the client. Workers claim under shared policies.
payload, err := json.Marshal(ResearchAgent{
Question: "What changed in our market?",
})
if err != nil {
return err
}
client := headgate.NewClient(store)
return client.Enqueue(ctx, []headgate.Envelope{{
ID: jobID, Kind: ResearchAgent{}.Kind(),
SchemaVersion: 1, Payload: payload,
Queue: "research", PartitionKey: "tenant-a",
MaxAttempts: 3, RetentionMs: 86_400_000,
}})
Fragments assume an initialized store, a running worker, and a unique job ID. Your application supplies its model and tool calls.
Give your coding agent Headgate-specific guidance for producers, workers, resumable steps, and workflows. Includes Go and Rust references and operational troubleshooting.
Explore the skillnpx skills add Mujhtech/headgateInstall with the Skills CLI in your project.
Research that takes minutes. Agent runs that span hours. Explore the mechanics that keep the work moving.
One start-rate budget. One concurrency ceiling. Shared by every worker, even as your fleet grows.
A worker can disconnect halfway through an agent run. Completed steps stay recorded; the next worker retries the interrupted step.
Watch your agent work through sources, record durable output, and return a versioned result.
Correlate repeated crashes across workers. Quarantine matching payloads so healthy work can keep moving.
a7f2run_82aworker-01crashedRun independent research in parallel. Start the report only when its dependencies complete.
A daily research digest or work for later. Delayed and periodic jobs use the same fleet policies when they become eligible.
09:00 UTCA question your queue should answer. Inspect admission decisions, follow workflows, and manage your fleet from the embedded console.
Meet the operations console
Two languages. Three stores. One shared behavioral contract. Headgate’s conformance suite exercises admission, lifecycle, and cross-language behavior against real backends.
Explore the verification suiteHeadgate is early, open source, and looking for its first supporters. Help us keep building reliable background jobs.
Get involved on GitHubPick your language. Bring your database. Let’s get to work.
Get started with Headgate Early public release. Your feedback shapes what comes next.