---
title: "Specification"
description: "Harness Context Protocol HCP/1.1, the normative requirements for packs, runtimes, and hosts. Status, conformance language, and table of contents."
canonical: https://harnesscontextprotocol.io/docs/specification
---

# Specification

> Harness Context Protocol HCP/1.1, the normative requirements for packs, runtimes, and hosts. Status, conformance language, and table of contents.

This is the Harness Context Protocol specification, HCP/1.1, in the draft of
17 September 2026. Its text lives in the `spec/` directory of the
[protocol repository](https://github.com/harnesscontextprotocol/hcp-protocol),
and the Specification pages on harnesscontextprotocol.io are generated from it.
Changes land there by [RFC](/docs/community/governance#rfc-process).

## Status and version

This document specifies HCP/1.1. It consists of the HCP/1 core plus the
accepted extensions of RFC 0001 (wrap hardening) and RFC 0003 (wrap exec
plane), with the errata of RFC 0008. Packs, runtimes, and hosts claiming conformance to HCP/1.1 MUST
implement or follow the requirements in the sections below.

HCP/1 packs conform to HCP/1.1 without change. Proposed and planned changes are
tracked on the [Roadmap](/docs/community/roadmap) and are not part of this
specification.

## Conformance language

The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT,
RECOMMENDED, MAY, and OPTIONAL in this specification are to be interpreted as
described in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119) and
[RFC 8174](https://www.rfc-editor.org/rfc/rfc8174) when, and only when, they
appear in all capitals.

Text marked *informative* explains intent and does not create requirements.

## Three conformance targets

| Target | Claims conformance by | Checklist |
|--------|----------------------|-----------|
| Pack | Passing lint on a conforming runtime | [Pack conformance](/docs/specification/conformance#142-pack-conformance) |
| Runtime | Passing the conformance vectors and satisfying the runtime checklist | [Runtime conformance](/docs/specification/conformance#143-runtime-conformance) |
| Host | Loading generated surfaces and satisfying the host checklist | [Host conformance](/docs/specification/conformance#144-host-conformance) |

## Table of contents

| § | Section | Defines |
|---|---------|---------|
| 1 | [Terminology](/docs/specification/terminology) | The objects and their exact meanings |
| 2 | [Pack model](/docs/specification/pack-model) | Directory, three files, identity, planes, invariants |
| 3 | [Manifest](/docs/specification/manifest) | `surface.json` schema and validation |
| 4 | [Policy](/docs/specification/policy) | `policy.json` schema, tokens, coverage, confirm |
| 5 | [Skill](/docs/specification/skill) | `HARNESS.md` requirements |
| 6 | [Execute](/docs/specification/execute) | Envelope, pipeline, wrap rendering, result |
| 7 | [Sense](/docs/specification/sense) | Triggers, isolation, activation |
| 8 | [Binding](/docs/specification/binding) | Modes, hubs, families, mint, health |
| 9 | [Authorization](/docs/specification/authorization) | Principal, scope, capabilities, evaluation order, audit |
| 10 | [Sandbox](/docs/specification/sandbox) | Default posture and native-local |
| 11 | [Lifecycle](/docs/specification/lifecycle) | States, store, availability |
| 12 | [Projections](/docs/specification/projections) | CLI face, host surfaces, MCP export naming |
| 13 | [Versioning](/docs/specification/versioning) | Protocol affinity, compatibility, deprecation |
| 14 | [Conformance](/docs/specification/conformance) | Checklists for packs, runtimes, hosts |

## Design goals (informative)

1. A capability installs into any harness as one portable unit.
2. Authorisation, credentials, sandboxing, and outbound events are part of the
   install layer; no host adds them separately.
3. The same command serves a human, an agent, an API, and a UI under one Policy.
4. Packs are small to write and cannot hold secrets.
5. Runtimes may be proprietary; the format and rules are open.
6. Transports are projections. A pack's identity does not depend on its
   transport.

## Non-goals

See [Non-goals](/docs/introduction/design-principles#non-goals).

## License

The specification is licensed under Apache-2.0. The reference SDK and CLI are
MIT.

## Sitemap

- [Documentation](https://harnesscontextprotocol.io/docs)
- [Packs](https://harnesscontextprotocol.io/packs)
- [Glossary](https://harnesscontextprotocol.io/docs/reference/glossary)
- [llms.txt](https://harnesscontextprotocol.io/llms.txt)
- [llms-full.txt](https://harnesscontextprotocol.io/llms-full.txt)
- [OpenAPI](https://harnesscontextprotocol.io/openapi.json)
- [MCP](https://harnesscontextprotocol.io/mcp)
