Agents

Agents in Vinc

An Agent in Vinc is a role that lives in the graph. Who does what, what it reads first, what it must never do, and the traps it has to know are properties and relations on one node. Any MCP host boots the role from that node, and the same graph is the memory the Agent reads from and cites.

This section is for the person building an Agent setup on Vinc: defining roles, wiring them into an orchestration, and running them from Claude Code, Codex or OpenClaw. Connecting a host is on the MCP pages and is not repeated here.

A role is a node

Treat an Agent as only a program and it is hard to say what memory it should use. Agents on one graph have different jobs: one retrieves, one reviews, one releases. Vinc expresses that difference as a role, and a role is not a config value. It is a concept node, concept:agent-<name>, filed under the vinc/agent domain and explored the same way as any other concept.

Agent and prompt are kept apart. The Agent says who performs a role; the prompt says what instructions carry it out. The prompt can be swapped or served through a new surface while the role's identity in the graph stays put.

Agent
  ↓
Role          concept:agent-<name>   the node
  ↓
Prompt        prompts/get           the contract, rendered from the node
  ↓
tool use      vinc_search · vinc_brief · vinc_graph · …
  ↓
memory        the graph, cited by id
The graph is not the scheduler. It holds what a role means and how roles relate. When a role runs, how often, and on which worker is the runtime's business: Claude Code subagents, worktrees, pull requests, CI. Mix the two and semantic structure and execution state tangle into one thing.

What a role holds

Everything a person used to retype into a prompt header becomes a property on the node. The runtime enforces some of it (the model tier, the tool denylist); the rest is a contract the Agent reads before its first edit.

mission
props.mission

One line: what this role is for. It is the prompt's description and the shell file's first paragraph.

tier · rung
props.tier · props.rung

One of orchestrate, execute, verify, deliver or knowledge; and one of strongest, strong, fast or cheapest. A rung, not a model name: one decision maps rungs to models, so a model release edits one line rather than every role.

reads
props.reads

Ordered document ids to read before the first edit. Checked offline against the citation manifest, so a renamed document is found by a gate rather than by nobody.

gates
props.gates · props.test_command

The scripts that must pass before a pull request, and the one runner line.

never
props.never · props.person_only

Hard prohibitions, and the steps that exist but belong to a person: merge, migration run, risk acceptance.

surface
props.repos · props.paths

The repositories and paths the role may touch.

writes
props.writes_graph

Which node kinds the role may author, usually episode and record.

What an Agent gets back

Whatever host runs it, an Agent on Vinc reads through the same tools, and three things hold.

Read on

An Agent running unattended holds a read-only key (vinc_ro_). How keys and sign-in work is in Sign-in.