Skip to content

Latest commit

 

History

History
70 lines (47 loc) · 7.25 KB

File metadata and controls

70 lines (47 loc) · 7.25 KB

Changelog

All notable changes to the Harness Protocol specification are documented here.

Format follows Keep a Changelog. The Harness Protocol uses Semantic Versioning for specification versions.

[Unreleased] — v2 (in progress)

Work on the v2 milestone continues. v2 is additive: it introduces two new protocol layers on top of the stable Schema layer and does not change harness.yaml — the version field stays "1" and the harness.schema.json $id (/schema/v1/...) is frozen. A fragment authored against v1 is Exchange-compatible without modification. New v2 schema artifacts are grouped under the /schema/v2/ $id namespace.

Added (draft)

  • Registry layer: hosted discovery at harnessprotocol.io — indexing of public owner/repo profiles/fragments/plugins, search, SHA-256 integrity hashing, and an append-only transparency log (registry.schema.json). GitHub stays authoritative; the registry is a discovery convenience, not a trust anchor. Normative draft in protocol/registry.md, specified by HEP-8. Status: Review. Verified authors, curation, and minisign registry signing are deferred to v3. The service prototype (hosted index, registration/discovery APIs, transparency-log server) required for Accepted has not started.

This layer is in Review status under the HEP process and is not yet released. Its schema mirror under website/public/schema/v2/ is published at release, not during draft.

[v1.1.0] — 2026-07-27

Exchange layer accepted — the first of the two v2-milestone layers to ship; Registry remains in Review (see Unreleased above). HEP-7 moves from Review to Accepted: both the format prototype (schema, examples, eval tests) and the runtime prototype (ed25519/X25519 signing and verification, canonicalization, and the harness exchange keygen/offer/accept flow, shipped in harness-kit) are satisfied. Backward-compatible: Exchange adds no harness.yaml fields, the version field stays "1", and the v1 schema $id is unchanged.

Added

  • Exchange layer: the signed offer envelope (exchange.schema.json) and the consent-first Offer → Preview → Accept / Edit / Reject → Apply flow for peer-to-peer (1:1) fragment sharing — "AirDrop for harnesses." ed25519 sender identity; optional X25519 payload encryption. Normative in protocol/exchange.md, specified by HEP-7. The schema/draft/ schema is snapshotted to schema/2026-07-27/ and published to website/public/schema/v2/exchange.schema.json.

[v1.0.0] — 2026-06-05

First stable release, promoting v1.0.0-candidate with the mid-2026 additions below. Backward-compatible: every change is an optional field or an additive enum value, so all existing version: "1" documents remain valid and the schema $id is unchanged. The schema/draft/ schema is snapshotted to schema/2026-06-05/ and published to website/public/schema/v1/.

Added

  • Architectural constraints: architectural-constraints section — deterministic linters, structural tests, and LLM review policies (HEP-3).
  • Skills: first-class top-level skills section, so a harness can declare a portable SKILL.md capability directly (by source/version, with enabled, loading, and integrity) without bundling it in a plugin (HEP-4).
  • MCP modernization: streamable-http transport value (canonical remote transport; http retained as an alias), and optional source, version, and (stdio) integrity provenance fields on MCP server declarations (HEP-5).
  • Governance: policy section — an org/team ceiling for approved MCP server / plugin / skill sources, allowed marketplaces, permission caps, and require-integrity. Accumulates across the inheritance chain (constraints only tighten) and is enforced as a fatal validation step (HEP-6).
  • Supply chain: integrity.sha256 extended to skills and stdio MCP server packages; policy.require-integrity can make integrity verification mandatory org-wide.

Changed

  • Instructions: instructions.operational now maps to AGENTS.md (the cross-tool instruction standard) as a first-class target alongside CLAUDE.md and other tool-specific files.
  • Application pipeline: now seven steps — a dedicated Enforce Policy step runs after merge and before variable substitution.
  • Standards: the overview now documents interoperation with the agent standards stack (AGENTS.md, Agent Skills / SKILL.md, the MCP registry) stewarded under the Agentic AI Foundation.

Deprecated

  • MCP sse transport: deprecated in favor of streamable-http; retained for compatibility. ws is documented as non-standard/implementation-specific. No transport value is removed.

[v1.0.0-candidate] — 2026-04-18

Status: Feature-complete. Seeking implementation feedback before stabilization.

Added

  • Plugin manifest: category and tags fields for plugin discovery metadata.
  • Plugin manifest: mcp field for plugins that bundle their own MCP servers (stdio transport).
  • Schema layer: Complete harness.yaml format specification with JSON Schema validation.
  • Profile Schema: Top-level sections for metadata, plugins, mcp-servers, env, instructions, permissions, and extends, plus x- extension prefix.
  • Plugin manifest: plugin.json format for plugin authors, including loading: deferred for progressive skill disclosure.
  • MCP server declarations: stdio and http transport types with ${VAR_NAME} variable substitution.
  • Environment declarations: env array with sensitive, required, when, and default fields. Schema-enforced prohibition of sensitive: true + default.
  • Instruction slots: Three-slot model (operational, behavioral, identity) with merge, replace, and skip import modes.
  • Permission model: tools (allow/deny/ask), paths (writable/readonly), and network (allowed-hosts) with inheritance-safe merge rules.
  • Inheritance: extends with per-section merge semantics — intersection for allow lists, union for deny/ask/paths/network.
  • Fragments: kind: fragment for partial harness documents designed for composition.
  • Source resolution: owner/repo format with semver range matching against git tags.
  • Application semantics: 6-step pipeline (Parse, Validate, Resolve, Merge, Substitute, Apply) with atomicity guarantees.
  • Security model: Threat model, trust boundaries, secrets handling, integrity verification, and instruction injection mitigations.
  • JSON Schema: Machine-readable schemas at schema/draft/harness.schema.json and schema/draft/plugin.schema.json.
  • Extension design sketches: Exchange (v2), Registry (v2/v3), hooks, compiler targets, extension points.
  • Example profiles: Minimal, data-engineer, team-overlay, fragment-mcp-server, fragment-plugin-bundle.
  • Community: Contributing guide with HEP process, governance model, code of conduct, security policy.