Overview
bluecollar is an embeddable Go agent harness: the loop that takes a request, calls the tools a host hands it, proves completion from its own ledger, and reports failure to the person who asked.
bluecollar is an embeddable agent harness written in Go. It is the loop that takes a request, decides what to do, asks a host to run tools, and answers. It is built for unattended work: someone sends a request and goes back to their day, so the answer has to be right without anyone checking, and a failure has to be reported as one.
What it does
- It proves completion from a ledger. Every model call, tool call, decision and rejection is appended to a task's event ledger as it happens. A reply that claims the work is finished passes a deterministic completion gate that reads that ledger, and then, when the task changed something or promised a result, a completion judge that reads it again.
- It sizes the work before doing it. Intake decides what an inbound message means and how hard it is. The difficulty tier sets the model, the number of steps, the number of tool calls and the clock.
- It reports failure to the person who asked. A failed call opens failure debt that the loop has to repair or report. The report is written by the model, in the requester's language, from the recorded attempts.
- It owns no tools, identity or storage. A host hands it a tool set and a task store and calls
RunTurn. Every tool call executes back in the host, as whoever asked for the work.
What it is not
It is heavier than an interactive coding agent. For sitting beside a developer while they watch, a coding agent is the better tool. It is also pre-alpha: the exported API, the contract types and the event names change without notice, there is no release and no versioning policy, and anyone importing it should pin a commit.
Where to go next
- Quickstart runs the command-line runner and embeds the loop in a few lines.
- Architecture draws the line between the host and the harness.
- Concepts follows a request from intake to the last word.
- Contract lists the types a host implements or fills in.