Sync & the harness model
Where Sync fits in your agent's harness and in context engineering — the slice it owns, and the parts it deliberately leaves to other tools.
An agent is a model plus a harness — everything you wrap around the model to get useful work out of it: the rules it follows, the context it reads, the tools it can call, and the checks it must pass. The model is largely a commodity; the harness is where the real engineering happens. This page explains which part of the harness Sync is, and which parts it leaves to other tools.
The six kinds of context
A harness feeds an agent several different kinds of context. Sync deliberately owns some and stays out of others:
| Context | What it is | Sync's role |
|---|---|---|
| Instructions | The standing rules and system prompt. | Partial — your constraints and a small operational core reach the agent through Sync's MCP server. |
| Knowledge | Specs, decisions, observations, and the roadmap. | Core. This is what Sync is built to hold — typed, structured, queryable. |
| Memory | Long-term recall that accumulates over time. | By design, not this. Sync is reviewed, code-bound, and self-validating instead of accumulate-and-hope. |
| Examples | Few-shot samples of the work. | No — that's not Sync's job. |
| Tools | What the agent can actually call. | Partial — Sync ships its own MCP tools, but doesn't sandbox, route, or execute your tools. |
| Guardrails | The checks that catch bad output. | Core. Validation states, a pre-push gate, and review-before-commit. |
What Sync owns
Sync is the context, knowledge, and plan slice of your harness, plus the guardrails that keep it true — the part a human steers, bound to your code, and the only part that validates itself.
- Steered by you. You set the plan (goals → milestones → specs), answer the agent's open questions, and overturn decisions or set constraints. Nothing is auto-committed.
- Bound to the code. Every entry points at the files it describes.
- Self-validating. When a commit moves past an entry, Sync flags it stale — so the agent stops and asks instead of building on something that quietly went wrong.
What Sync deliberately doesn't do
Naming the edges keeps the role honest:
- It doesn't run or route the model — bring your own agent (Claude Code, Cursor, Zed, Codex, OpenCode).
- It doesn't sandbox or execute your tools — that's the agent's runtime.
- It doesn't orchestrate multi-agent workflows.
- It isn't an autonomous memory that accumulates unreviewed text and hopes it's still true.
Why freshness is the hard part
The rest of the harness you mostly set once: the rules, the tool wiring, the guardrail thresholds. Context is different — it drifts on every commit. Keeping it true as the code moves is the hardest, least-solved part of any harness, and it's the one job Sync exists to do. See how staleness works for the mechanism.