Job pack · harness
Coding agent
A harness that edits a repo: workspace, skills, plan/act, diffs, sandbox, verifier, human gate.
When: The product is software engineering — PRs, tests, and a desk, not a chat wrapper.
Load this pack, then the coding-agent playbook. Do not ingest the atlas. Start from a harness, not a blank graph.
GET /api/canon/jobs/coding-agent?format=md
Playbooks
- Sandbox a coding agentWorkspace, permissions, git as ledger, verifier in the loop. Do not start from a blank graph.
- Write AGENTS.mdThe constitution of the repo. Commands, boundaries, done. Point at skills for depth.
- Write a skillFrontmatter that triggers, a body that runs, files on demand. Distill from traces if you have them.
- Design the ACINames, schemas, errors, caps, idempotency, the permission gate. This is the real prompt.
Doctrine to load
- What a Harness IsA harness is the opinionated product around the loop: workspace, tools, skills, subagents, permissions, UI. Frameworks are libraries. Harnesses are how an engineer actually works with a model.
- Coding Agent HarnessesOpenHands, Cline, OpenCode, Aider, Gemini CLI, DeerFlow: the software-engineering specialization of the harness. Git is the ledger; the repo is the workspace; the PR is the done state.
- AGENTS.md as ConstitutionAGENTS.md (and CLAUDE.md, and the Cursor rules file) is the repo's standing prompt. It is owned policy: how to build, test, and stop. Keep it short, imperative, and true, or the agent will ignore it and invent a culture.
- Plan Mode and Act ModeLong-horizon work has two speeds. Plan mode is a deny-writes session that produces a revisable document. Act mode is a budgeted loop against that document. Mixing them is how agents wander and how humans lose the veto.
- Diffs, Repo Maps, Edit FormatsThe coding agent's tools are not 'read and write files'. They are a repo map for orientation, grep for search, and a patch format for change. Whole-file dumps are how context dies and how reviews fail.
- Verification as ArchitectureThe product of a coding agent is not code. It is code that passed a verifier the harness ran. Tests, typecheck, build, browser smoke, and a human gate are stages of the loop, not a ceremony after it.
- Allow, Ask, DenyEvery side-effecting tool sits behind a permission. Allow what is cheap and reversible. Ask what is consequential. Deny what is out of scope. The model proposes; the gate decides.
- SubagentsA subagent is a nested loop with a narrower prompt, a fresh or sliced context, and a written return value. It is the isolation primitive of modern harnesses.
Refuse
- Unsandboxed exec. A shell or code-act tool on the host with production credentials.
- No verifier in the loop. The agent writes code and declares victory. Tests, typecheck, and build are optional.
- Unbounded loop. No max-turns, token, wall-clock, or money budget. The agent rambles until the bill or the context dies.
- Mega-tool. One function whose argument is a JSON blob of 'whatever'. An untyped shell with extra steps.
- Computer-use as the first tool. A browser or desktop agent used where an API, a workflow, or a grep would do.
Checklists
Harness quality
- Filesystem workspace. Disk is source of truth; the window is a cache.
- Progressive-disclosure skill loader.
- Plan/act modes. Plan is a file the human can edit.
- Subagent spawner with reduced tools and a written return.
- Sandbox plus permission gates.
- Verifier in the loop (test, typecheck, build, browser).
ACI quality
- One job per tool. No mega-tool JSON blob.
- Verb names the model will say: read_file, apply_patch, ask_human.
- Compact errors: the smallest string that enables the next correct action.
- Capped results. Pagination or a file write instead of 200k-token dumps.
- Idempotent or journaled. Retries do not double side effects.
- Allow / ask / deny in code, logged, resumable.
Ready to build
- Named termination: done schema, max turns, token/money cap.
- Sandbox / allowlist for every side effect. Secrets in the executor.
- An explicit context builder: pinned, working, recalled, compacted.
- A golden set of 20–50 real tasks, run in CI on prompt change.
- Launch / pause / resume APIs. HITL is a tool that checkpoints.
Recipes
Default corpus
openai-codexopenhandsclineaidergoosedeepagents