---
title: "§14 Conformance"
description: "What it means to conform to HCP/1.1 as a pack, a runtime, or a host, and the executable vectors that back the claims."
canonical: https://harnesscontextprotocol.io/docs/specification/conformance
---

# §14 Conformance

> What it means to conform to HCP/1.1 as a pack, a runtime, or a host, and the executable vectors that back the claims.

## 14.1 Conformance targets

| Target | Claims | Sections |
|--------|--------|----------|
| Pack | Directory is a valid Harness Pack | §2, §3, §4, §5 |
| Runtime | Loads packs and executes both loops per this specification | §6 to §11 |
| Host | Projects packs through a conforming runtime | §12 |

An implementation MAY conform as more than one target.

## 14.2 Pack conformance

A pack conforms when all of the following hold:

1. The three required files are present (§2.1).
2. `surface.json` validates against the manifest schema (§3).
3. Every command and trigger has a Policy entry (§4.4).
4. `confirm` appears only on `write` entries (§4.5).
5. The Skill contains no credentials or host paths and teaches only declared
   commands (§5.2).
6. Binding declares at most one mode (§8.1).
7. Lint from a conforming runtime returns zero issues.

*Informative.* The reference implementation also runs a pack's commands live
and runs its eval cases (`hcpx check --probe`). A catalog entry carries that
result as evidence; a claim in the Skill or a README is not evidence.

## 14.3 Runtime conformance

A runtime conforms when it:

1. Fails lint on any of §14.2 violations.
2. Executes the pipeline of §6.3 in order and fails closed at each step.
3. Enforces the five capabilities (§9.4) and the evaluation order (§9.5).
4. Enforces `confirm` (§4.5) and resolves project scope for land `brain` (§9.2).
5. Mints Binding at exec time and never falls back (§8.4).
6. Defaults to sandbox with allow-list and jail (§10.2).
7. Isolates Sense from Execute and gates delivery on `sense.enable` (§7.2 and §7.3).
8. Reports the four availability flags (§11.2).
9. Returns the result envelope of §6.2 for success and denial.
10. Accepts any `1.x` pack (§13.2).

## 14.4 Host conformance

A host conforms when it:

1. Routes every projected tool call through a conforming runtime (§12.2.5).
2. Filters the projected tool set by grants (§12.2.6).
3. Preserves `confirm` markers (§12.6).
4. Does not merge Sense into a callable tool (§12.5.5).

## 14.5 Vectors

The reference implementation ships executable vectors in
`packages/sdk/src/conformance.test.ts` and pack fixtures under
`examples/packs/`. Each vector names the section it checks.

| Vector | Section |
|--------|---------|
| `pack.lint.transit` | §2, §3, §4 |
| `pack.lint.ledger` | §4.5 |
| `pack.lint.echo` | §3 (composite) |
| `exec.transit.plan` | §6.3, §6.4, §6.5 |
| `exec.ledger.transfer.confirm-required` | §4.5, §6.3 step 6 |
| `exec.denied.missing-write-grant` | §9.4, §9.7 |
| `exec.sandbox.bin-not-allowlisted` | §10.2 |
| `exec.brain.requires-project` | §9.2 |
| `availability.flags` | §11.2 |

```sh
cd hcp && bun test packages/sdk/src/conformance.test.ts
```

A runtime that passes every vector against the gold packs MAY claim
"HCP/1.1 runtime, reference vectors passing". Passing the vectors is necessary
but not sufficient; the text of this specification governs.

## 14.6 Claiming conformance

An implementation claiming conformance SHOULD publish:

- Target(s) and protocol version.
- Which optional behaviours are implemented (`native-local`, `openapi`,
  `composite`, Sense sinks).
- A link to its vector run or its own test suite.
- Its runtime profile: hub implementation, store, sink, isolation.

## 14.7 Non-conformance

*Informative.* Common ways to fail: executing an unactivated pack; a write without
`confirm`; env-token fallback on mint failure; a single `admin` boolean instead of
five capabilities; polling exposed as Sense; a host spawning `wrap.bin` directly.

## 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)
