Specification

UCP is an open, JSON-based format for packaging task context so any LLM — or human — can act without reading the underlying corpus. Version 0.1.0-draft, Apache-2.0.

Canonical source: the full normative spec lives in the repository. This page is an overview; for implementation details read SPEC.md.

Core idea

UCP is claim-based: every statement is attributable to sources, positioned in time, and scored for relevance. It complements transport protocols like MCP — MCP is the pipe, UCP is what flows through it.

What the spec defines

SectionTopic
§4Data model — entity, summary, claims, decisions, conflicts, coverage, sources
§5Conformance profiles (ucp-core, temporal, secure extensions)
§6Extensibility and versioning — unknown fields MUST be ignored
§7Canonical rendering algorithm for LLM prompts under a token budget
§8Security and privacy requirements

Package sections

{ "summary": { … }, // what is going on, with cited sources "must_know": [ … ], // facts ranked by salience "decisions": [ … ], // what was decided, with status "conflicts": [ … ], // contradictions, kept visible "context_diff": { … }, // changes since a baseline "coverage": { … }, // truncated honesty on partial fetch "sources": { … } // every claim cites sources; each sha256-hashed }

A claim without sources is schema-invalid. Under a token budget, salience defines truncation order — noise drops first.

Coverage (§4.11)

When a producer fetches only part of a thread (for example 200 of 596 comments), the optional coverage block declares that honestly: truncated, sources_considered vs sources_included, and per-stream counts. Producers SHOULD drop proposed comment decisions when a merged PR decision exists.

Schema & conformance

Reference libraries

LanguagePackageImport
Pythonpyucpimport ucp
TypeScript@ucpcore/coreimport { … } from "@ucpcore/core"

Governance

Contributing, governance model, and versioning policy: