Configuring Autonomy
Shipwright’s delivery loop is configurable. You choose how much the agent does on its own by enabling the right system crons and tuning the agent’s policy settings. Start with the bare minimum and add autonomy as you gain confidence.
The ramp-up path
Most teams start narrow and expand. Each stage adds one more phase to the autonomous loop.
Stage 1 — Plan and build
Enable shipwright-dev-task only. Disable shipwright-review and shipwright-patch. The
agent reads your task queue, picks the next ready task, builds it with tests, and opens a PR.
You review and merge PRs yourself.
| Cron | Status |
|---|---|
shipwright-dev-task |
on |
shipwright-review |
off |
shipwright-patch |
off |
shipwright-deploy |
off |
This is the entry point. The agent writes code; you stay in the loop on every PR.
Note: New agents start with
shipwright-dev-task,shipwright-review, andshipwright-patchall enabled (Stage 2). Disableshipwright-reviewandshipwright-patchvia the admin UI to begin at Stage 1.
Stage 2 — Add review and patch
Enable shipwright-review and shipwright-patch. The agent now reviews open PRs and patches
any that have failing CI or unresolved findings. These are two independent crons — review
posts findings, patch addresses them on its own schedule — so either can be toggled alone.
You still control merging.
| Cron | Status |
|---|---|
shipwright-dev-task |
on |
shipwright-review |
on |
shipwright-patch |
on |
shipwright-deploy |
off |
At this stage, the autoPostReviews policy setting determines whether the agent
posts reviews to GitHub immediately (the default) or holds them for your approval. See
Staged reviews below.
Stage 3 — Full autonomous loop
Enable shipwright-deploy. The agent now merges approved PRs and monitors post-merge CI.
The full loop runs without manual intervention: plan → build → review → patch → deploy.
| Cron | Status |
|---|---|
shipwright-dev-task |
on |
shipwright-review |
on |
shipwright-patch |
on |
shipwright-deploy |
on |
Only enable deploy when you have the safeguards in place — CI gates, required reviewers, and
a working check-deploy pre-check — so the agent can’t merge something broken.
Common workflow patterns
| Pattern | dev-task | review | patch | deploy | Notes |
|---|---|---|---|---|---|
| Hands-off | ✓ | ✗ | ✓ | ✗ | Build and patch CI, skip posting reviews — you review PRs yourself. |
| Staged reviews | ✓ | ✓ | ✓ | ✗ | autoPostReviews off — findings held locally until you approve them. |
| Bring your own PR | ✗ | ✓ | ✓ | ✓ | Skip the task queue; open PRs yourself and let review/patch/deploy take it from there. |
Hands-off: build and patch, skip review
Some projects don’t need the agent to post PR reviews. You just want it to build tasks and fix CI failures while you review PRs yourself.
Enable shipwright-dev-task and shipwright-patch. Disable shipwright-review. The agent
builds, opens PRs, and patches CI — but never posts a review comment.
Staged reviews
By default, the agent posts reviews to GitHub immediately (autoPostReviews on). If you’d
rather read and approve each review before it goes to GitHub, turn autoPostReviews off in the
agent’s settings in the admin UI. Enable shipwright-review (and shipwright-patch if you also want
findings addressed automatically).
With staging on, the agent runs its review pass and writes the findings to a local review file.
Nothing is posted to GitHub until you approve it. Once you’ve confirmed the review looks right,
post it manually, or turn autoPostReviews back on to go back to automatic posting.
Bring your own PR
You don’t have to go through the task queue at all. Open a PR yourself — a quick fix, a hotfix,
anything — and Shipwright picks it up from there. With review, patch, and deploy enabled,
the agent will review the PR, patch any CI failures, and merge it once it’s clean.
This works and is a reasonable way to get comfortable with the system. That said, bypassing
dev-task means skipping the quality work it does before the PR exists: structured planning,
tests-first implementation, and the pre-PR research pass. The review and deploy phases catch
issues, but they work better when the PR was built with that discipline from the start. For
anything beyond a quick fix, going through the task queue produces better outcomes.
Agent policy
Policy settings are per-agent and live in the Shipwright database. Edit them in the agent’s settings in the admin UI; the agent picks up changes on its next config sync (every 60 seconds), with no restart or cron change required.
| Setting | Default | What it controls |
|---|---|---|
autoPostReviews |
on | Post review comments to GitHub immediately. When off, reviews are staged locally. |
allowSelfReview |
off | Allow the agent to review PRs it opened. Off means agent-authored PRs need a human reviewer. |
minConfidence |
75 |
Minimum confidence score (0–100) for a finding to appear in a review. Raise it to reduce noise. |
maxFindings |
5 |
Maximum findings per review. |
cleanupMergedWorktrees |
on | Automatically remove worktrees for merged branches. |
cleanupAfterDays |
14 |
Age (days) before a merged-branch worktree is eligible for cleanup. |
Toggling crons
Crons are toggled via the admin UI or the API. No restart required — the agent picks up changes on the next config sync (every 60 seconds).
Admin UI
Open the agent’s cron list in the admin console, find the cron by name, and flip the toggle.
API
# Disable a cron
curl -X PATCH "$SHIPWRIGHT_API_URL/agents/$AGENT_ID/crons/$CRON_ID" \
-H "Authorization: Bearer $SHIPWRIGHT_AGENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"enabled": false}'
# Enable a cron
curl -X PATCH "$SHIPWRIGHT_API_URL/agents/$AGENT_ID/crons/$CRON_ID" \
-H "Authorization: Bearer $SHIPWRIGHT_AGENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"enabled": true}'
Or via the shipwright:agent-admin skill from inside a Claude Code session:
Enable the shipwright-deploy cron for this agent.
Next steps
Once you have your workflow configured, the next step is deploying the agent as a persistent cloud service. See Deploying to Cloud for the Helm chart, Minikube, GKE, and EKS guides.
Finding Shipwright useful? Star us on GitHub ↗