Specifications#
The authoritative protocol and kernel-contract documentation for PluggableHarness Agent. This directory is the source of truth for anything it covers.
Start with conventions.md — it defines the requirement keywords and the anchor-only cross-reference rule every other file follows. Then glossary.md for terminology and architecture.md for the system-level narrative (microkernel philosophy, the seven provider categories, Emit→Render→Paint, transport, config, registry, sub-agents, policy, hook dispatch).
Reading order#
conventions.md— how to read everything else.glossary.md— terminology.architecture.md— the system narrative.- The seven plugin-category protocols (any order — cross-linked as needed):
model/— model (LLM vendor) provider.tool/— tool provider (resource / data_source / interactive).context/— context provider.memory/— memory provider.frontend/— frontend provider and widget provider.slashcommand/— slash-command provider.- The kernel's own required behavior, not a plugin protocol:
agent-loop/— the turn loop, hook dispatch, plan/apply, sub-agents.configuration/—agent.hcl, the policy DSL, agent profiles, global config, the lock file.kernel-callbacks.md— the plugin→kernel direction (RunSession,CountTokens,Emit,Log,ExportSpans,RecordMetrics,GetTelemetryConfig,GetConfig,Publish,Subscribe,ReadEvents,GetSession).event-bus.md— the ephemeral, best-effort cross-plugin pub/sub primitive behindPublish/Subscribe.observability.md— the tracing/metrics relay behindExportSpans/RecordMetrics/GetTelemetryConfig.state-backend.md— session persistence and replay (sqlite, kernel-built-in, not pluggable in v1).
What's not here#
docs/first-party/tools/ — the first-party tool catalog, maintained separately. Not part of this protocol documentation; don't confuse it with tool/ (singular), the tool provider protocol.
Status#
Every category and kernel-behavior document describes a draft v1 contract.