Skip to main content

Agent Deck

The active coding mesh has three LLM-capable agents:

  1. Architect
  2. Explorer
  3. Coder

Guide is separate and only answers usage help questions.

Deck Assembly

agents/deck.py creates the deck:

{
"explorer": create_explorer_agent(...),
"coder": create_coder_agent(...),
"architect": create_architect_agent(...),
}

Every LLM-capable agent receives a separate ProtoLink LLM instance configured with the selected provider and model. Separate instances keep prompts and histories isolated.

Shared Agent Helpers

agents/common.py provides:

HelperPurpose
create_selected_llm()Create a ProtoLink LLM from the active provider/model.
conversation_storage(agent_name)SQLite storage in ~/.protoagent/conversations.sqlite, namespace protoagent-<agent>.
resolve_agent_url()Explicit URL, environment URL, or default local URL.
set_transport_timeout()Apply long timeouts across ProtoLink transports.
with_workspace_contract()Attach active project path and file-write rules to each system prompt.

Architect

Source: core/protoagent_core/agents/architect.py

Architect receives the user-facing task from the CLI. It owns intent classification, routing, delegation, and final answers.

Capabilities:

CapabilityEffect
agent.delegateallow
llm.history.compactallow
state.compactallow
state.describeallow
state.resetallow
defaultdeny

Architect has no direct workspace read or write tools. It should delegate to Explorer for evidence and Coder for file changes.

Explorer

Source: core/protoagent_core/agents/explorer.py

Explorer is read-only. It builds context maps, reads files, searches, checks git status, and can request a focused Context Loom pack.

Tools:

ToolCapabilityPurpose
read_file(path)workspace.readRead UTF-8 text with line numbers.
list_directory(path=".")workspace.readList workspace files and folders.
search_regex(pattern, path=".", file_filter=".*")workspace.readRegex search over text files.
get_git_status()workspace.readReturn git status --short.
build_context_pack(query)workspace.readBuild source-cited Context Loom evidence.

Policy:

CapabilityEffect
workspace.readallow
state and history compaction capabilitiesallow
defaultdeny

Coder

Source: core/protoagent_core/agents/coder.py

Coder is the only agent that can prepare file modifications. It does not get Explorer's broad read/search tools. It is expected to receive enough context from Architect and Explorer.

Tools:

ToolCapabilityPurpose
generate_unified_diff(path, updated_content, original_content=None)workspace.writeReplace a file after preview and approval.
create_new_file(path, content)workspace.writeCreate a file after preview and approval.

Policy:

CapabilityEffect
workspace.writerequire approval
state and history compaction capabilitiesallow
defaultdeny

The action builder creates a RunAction with a text/x-diff preview artifact. The write helper only executes after ProtoLink receives an approving ApprovalDecision.

Guide

Source: core/protoagent_core/help_agent.py

Guide is not part of the coding mesh. It is used by /help QUESTION and has:

SettingValue
Registrynone
Toolsnone
Delegationfalse
Storagenone
Stateempty
Policydeny by default

Guide receives a static manual and a redacted current-settings snapshot. It answers ProtoAgent usage questions, not project coding questions.

Agent Manifest

The CLI doctor and fallback paths use agent_manifest():

AgentRoleMemory namespaceTools
Architectorchestratorprotoagent-architectnone
Explorercontextprotoagent-explorerContext/read/search/git tools
Codersynthesisprotoagent-coderdiff/create tools

Update this manifest when the visible topology changes.