# KCP eats its own dogfood. # This manifest describes the Knowledge Context Protocol repository itself. kcp_version: "0.14" project: knowledge-context-protocol version: 0.14.0 updated: "2026-03-25" language: en license: "Apache-2.0" indexing: open rate_limits: default: requests_per_minute: 60 requests_per_day: 5000 units: # -- Core specification ------------------------------------------------------- - id: spec path: SPEC.md intent: "What are the normative rules for a knowledge.yaml manifest — field definitions, validation, conformance levels?" scope: global audience: [human, agent, developer, architect] validated: "2026-02-27" triggers: [spec, specification, fields, validation, conformance, yaml, format] - id: proposal path: PROPOSAL.md intent: "Why does KCP exist and what problem does it solve? The business case for a knowledge architecture standard." scope: global audience: [human, agent, architect] validated: "2026-02-25" depends_on: [spec] triggers: [proposal, motivation, problem, llms.txt, knowledge gap, business case] - id: rfc-0001 path: RFC-0001-KCP-Extended.md intent: "What extended capabilities are proposed beyond the core spec — payments, compliance, federation, context hints, and other proposals? Many have been promoted to core; the RFC tracks the full history." scope: global audience: [human, agent, architect, developer] validated: "2026-02-26" depends_on: [spec] triggers: [rfc, extensions, payments, compliance, federation, roadmap] - id: rfc-0002 path: RFC-0002-Auth-and-Delegation.md intent: "How should KCP manifest auth requirements and multi-agent delegation constraints? `access` promoted in v0.5; `auth_scope` and `auth` block promoted in v0.6; `delegation` block promoted in v0.7." scope: global audience: [human, agent, architect, developer] validated: "2026-02-28" depends_on: [spec, rfc-0001] triggers: [auth, authentication, oauth2, delegation, access control, security, spiffe, did, multi-agent] - id: rfc-0003 path: RFC-0003-Federation.md intent: "How should KCP support cross-manifest federation — linking knowledge across repositories and teams via a DAG manifests block with local authority?" scope: global audience: [human, agent, architect, developer] validated: "2026-02-28" depends_on: [spec, rfc-0002] triggers: [federation, cross-manifest, multi-repo, hub, sub-manifest, external, enterprise, synthesis] - id: rfc-0004 path: RFC-0004-Trust-and-Compliance.md intent: "How should KCP express trust, provenance, content integrity, audit requirements, and compliance constraints for regulated enterprise deployments? `trust.provenance` and `sensitivity` promoted in v0.5; `trust.audit` promoted in v0.6; `compliance` block promoted in v0.7; content integrity remains RFC." scope: global audience: [human, agent, architect, developer] validated: "2026-02-28" depends_on: [spec, rfc-0002] triggers: [trust, compliance, GDPR, data residency, provenance, audit, regulations, sensitivity, NIS2, HIPAA] - id: rfc-0005 path: RFC-0005-Payment-and-Rate-Limits.md intent: "How should KCP declare payment methods and rate limits so agents can plan resource costs before attempting access? The `payment.default_tier` field was promoted to SPEC.md §4.14 in v0.5; `rate_limits` promoted to core in v0.8; the payment methods and x402 blocks remain RFC." scope: global audience: [human, agent, architect, developer] validated: "2026-02-28" depends_on: [spec, rfc-0002] triggers: [payment, x402, rate limits, micropayment, subscription, metered, quota, "429", economics] - id: rfc-0006 path: RFC-0006-Context-Window-Hints.md intent: "RFC-0006 (accepted): context window hints — token estimates, load strategies, summary relationships, and chunking — fully promoted to SPEC.md §4.10 in v0.4." scope: global audience: [human, agent, architect, developer] validated: "2026-03-01" depends_on: [spec] triggers: [context window, token estimate, hints, chunking, summary, load strategy, eager, lazy, context budget, rfc-0006] - id: rfc-0007 path: RFC-0007-Query-Vocabulary.md intent: "RFC-0007 (accepted): query vocabulary — how agents declare task, audience, token budget, capability requirements, and staleness filters to select units from a manifest. Promoted to SPEC.md §15 in v0.14." scope: global audience: [human, agent, architect, developer] validated: "2026-03-25" depends_on: [spec] triggers: [query, query vocabulary, terms, audience filter, token budget, has_capabilities, exclude_stale, federation_scope, scored results, rfc-0007] - id: rfc-0008 path: RFC-0008-Budget-Constrained-Selection.md intent: "RFC-0008 (accepted): budget-constrained selection — how manifest responses rank and filter units by score within a declared token budget. Promoted to SPEC.md §15 in v0.14." scope: global audience: [human, agent, architect, developer] validated: "2026-03-25" depends_on: [spec, rfc-0007] triggers: [budget, token budget, max_token_budget, selection, scoring, ranked results, budget-aware, rfc-0008] - id: rfc-0014 path: RFC-0014-Manifest-Composition.md intent: "RFC-0014 (open RFC): manifest composition — how teams inherit base manifests without forking, using includes, overrides, and excludes primitives. Open for community input; not yet promoted to SPEC.md." scope: global audience: [human, agent, architect, developer] validated: "2026-03-25" depends_on: [spec, rfc-0003] triggers: [composition, manifest composition, includes, overrides, excludes, fork, inherit, overlay, regional, base manifest, rfc-0014] - id: rfc-0012 path: RFC-0012-Capability-Discovery-Provenance.md intent: "How should KCP manifests express the provenance, confidence, and verification status of discovered capabilities? The discovery block and its verification_status, source, confidence, and contradicted_by fields." scope: global audience: [human, agent, architect, developer] validated: "2026-03-17" depends_on: [spec, rfc-0004] triggers: [discovery, provenance, confidence, verification, web traversal, openapi, llm inference, automated discovery, rumored, observed, verified, deprecated, contradiction] - id: readme path: README.md intent: "What is KCP, how does it relate to MCP and llms.txt, and how do I get started?" scope: global audience: [human, agent] validated: "2026-02-27" triggers: [overview, introduction, getting started, mcp, llms.txt] # -- Adoption guide ----------------------------------------------------------- - id: adoption-guide path: guides/adopting-kcp-in-existing-projects.md intent: "How do I retrofit KCP onto an existing project with documentation, skill files, and agent definitions?" scope: global audience: [human, developer] validated: "2026-02-28" depends_on: [spec] triggers: [adoption, retrofit, existing project, migration, getting started, kind] # -- JSON Schema -------------------------------------------------------------- - id: json-schema path: schema/knowledge-schema.json intent: "How do I validate a knowledge.yaml file against a machine-readable schema?" scope: global audience: [developer, agent] validated: "2026-02-28" depends_on: [spec] triggers: [json schema, validation, schema, editor support, ide, autocompletion] # -- Examples ------------------------------------------------------------------ - id: examples-index path: examples/README.md intent: "What example knowledge.yaml files are available and what adoption level does each demonstrate?" scope: global audience: [human, agent, developer] validated: "2026-02-27" depends_on: [spec] triggers: [examples, samples, adoption gradient, level 1, level 2, level 3] - id: example-minimal path: examples/minimal/knowledge.yaml intent: "What does the smallest valid knowledge.yaml look like? (Level 1 conformance)" scope: module audience: [developer, agent] validated: "2026-02-27" depends_on: [examples-index] triggers: [minimal, five minutes, level 1, quickstart] - id: example-personal-site path: examples/personal-site/knowledge.yaml intent: "How do I structure a personal site or portfolio with audience differentiation and freshness dating?" scope: module audience: [developer, agent] validated: "2026-02-27" depends_on: [examples-index] triggers: [personal site, portfolio, wiki, audience, freshness] - id: example-open-source-wiki path: examples/open-source-wiki/knowledge.yaml intent: "How do I structure a large community wiki with topology, dependency chains, and role-based audience targeting?" scope: module audience: [developer, agent] validated: "2026-02-27" depends_on: [examples-index] triggers: [open source, wiki, community, topology, relationships, enterprise] - id: example-a2a-agent-card path: examples/a2a-agent-card/README.md intent: "How do A2A Agent Cards and KCP manifests work together in a multi-agent system?" scope: global audience: [agent, developer, architect] validated: "2026-03-08" depends_on: [examples-index] triggers: - "a2a" - "agent card" - "multi-agent" - "agent discovery" - "invocation layer" - "front door" - "delegation" - "human in the loop" - id: example-compliance-audit path: examples/compliance-audit/knowledge.yaml intent: "How do I declare GDPR and NIS2 compliance constraints, data residency, and audit requirements in a knowledge manifest?" scope: module audience: [developer, agent, architect] validated: "2026-03-09" depends_on: [examples-index] triggers: [compliance, GDPR, NIS2, data residency, sensitivity, audit, patient data, healthcare] - id: example-api-platform-rate-limits path: examples/api-platform-rate-limits/knowledge.yaml intent: "How do I declare advisory rate limits at root and unit level for a tiered API platform?" scope: module audience: [developer, agent] validated: "2026-03-09" depends_on: [examples-index] triggers: [rate limits, requests per minute, throttle, self-throttle, API platform, tiered access, advisory] - id: example-dependency-graph path: examples/dependency-graph/knowledge.yaml intent: "How do all six relationship types (depends_on, enables, supersedes, contradicts, context, governs) work in a realistic knowledge graph?" scope: module audience: [developer, agent] validated: "2026-03-09" depends_on: [examples-index] triggers: [depends_on, supersedes, contradicts, relationship types, dependency graph, migration, topology] - id: example-federation path: examples/federation/knowledge.yaml intent: "How do I federate multiple knowledge manifests across repositories using the DAG manifests block?" scope: module audience: [developer, agent, architect] validated: "2026-03-09" depends_on: [examples-index, rfc-0003] triggers: [federation, sub-manifest, DAG, cross-repo, manifests block, local authority] - id: example-hints-and-chunking path: examples/hints-and-chunking/knowledge.yaml intent: "How do I declare token estimates, load strategies, and chunking relationships to help agents manage context windows?" scope: module audience: [developer, agent] validated: "2026-03-09" depends_on: [examples-index, rfc-0006] triggers: [hints, chunking, token estimate, context window, load strategy, eager, lazy, summary unit] - id: example-well-known-discovery path: examples/well-known-discovery/README.md intent: "How does /.well-known/kcp.json discovery work? How do agents find a project's knowledge manifest automatically?" scope: module audience: [developer, agent] validated: "2026-03-09" depends_on: [examples-index] triggers: [well-known, discovery, kcp.json, auto-discovery, manifest location] # -- Simulators ---------------------------------------------------------------- - id: scenario1-energy-metering path: examples/scenario1-energy-metering/README.md intent: "How does a 2-agent energy metering system navigate access levels, HITL gates, and audit trails? (Happy path simulation)" scope: module audience: [developer, agent, architect] validated: "2026-03-09" depends_on: [example-a2a-agent-card] triggers: [simulator, scenario, energy metering, HITL, human in the loop, audit trail, happy path, access levels] - id: scenario2-legal-delegation path: examples/scenario2-legal-delegation/README.md intent: "How does a 3-hop delegation chain work with max_depth:0 enforcement and capability attenuation? (Legal research simulation)" scope: module audience: [developer, agent, architect] validated: "2026-03-09" depends_on: [scenario1-energy-metering] triggers: [simulator, scenario, delegation chain, max_depth, capability attenuation, legal, sealed records, court] - id: scenario3-financial-aml path: examples/scenario3-financial-aml/README.md intent: "How does an adversarial multi-agent system resist a rogue agent attacking GDPR residency, scope elevation, and delegation depth limits? (AML compliance simulation)" scope: module audience: [developer, agent, architect] validated: "2026-03-09" depends_on: [scenario2-legal-delegation] triggers: [simulator, scenario, adversarial, rogue agent, AML, financial, GDPR, compliance, sanctions, SAR, wire transfer] - id: scenario4-rate-limit-aware path: examples/scenario4-rate-limit-aware/README.md intent: "How does a rate-limit-aware agent self-throttle using advisory rate_limits? PoliteAgent vs GreedyAgent comparison." scope: module audience: [developer, agent] validated: "2026-03-09" depends_on: [scenario1-energy-metering] triggers: [simulator, scenario, rate limits, self-throttle, polite agent, greedy agent, advisory, requests per minute, burst] - id: scenario5-dependency-ordering path: examples/scenario5-dependency-ordering/README.md intent: "How does an agent use topological sort to load units in safe dependency order, detect cycles, and handle supersedes/contradicts relationships?" scope: module audience: [developer, agent] validated: "2026-03-09" depends_on: [scenario1-energy-metering] triggers: [simulator, scenario, topological sort, dependency ordering, cycle detection, Kahn algorithm, supersedes, contradicts, ingestion] # -- Parsers ------------------------------------------------------------------- - id: parser-python path: parsers/python/README.md intent: "How do I install, use, and extend the Python reference parser for knowledge.yaml?" scope: module audience: [developer, agent] validated: "2026-02-28" depends_on: [spec] triggers: [python, parser, pip, validator, cli, pyyaml] - id: parser-java path: parsers/java/README.md intent: "How do I build, use, and extend the Java reference parser for knowledge.yaml?" scope: module audience: [developer, agent] validated: "2026-02-28" depends_on: [spec] triggers: [java, parser, maven, snakeyaml, validator, cli] - id: bridge-typescript path: bridge/typescript/src/parser.ts intent: "Where is the TypeScript KCP parser, validator, and MCP mapper? How do I parse, validate, and serve knowledge.yaml from TypeScript?" scope: module audience: [developer, agent] validated: "2026-03-08" depends_on: [spec] triggers: [typescript, ts, parser, validator, mapper, mcp, bridge, npm] # -- Ecosystem positioning ---------------------------------------------------- - id: webmcp-comparison path: docs/ecosystem/webmcp-comparison.md intent: "How does WebMCP (Google+Microsoft browser action protocol) compare to KCP? Are they competing or complementary?" scope: global audience: [human, agent, architect, developer] validated: "2026-03-09" depends_on: [readme] triggers: [webmcp, web mcp, browser actions, google, microsoft, navigator.modelContext, comparison, ecosystem, complement] # -- GitHub Pages site --------------------------------------------------------- - id: site path: docs/index.html intent: "Where is the public-facing documentation site for KCP hosted on GitHub Pages?" scope: global audience: [human, agent] validated: "2026-02-28" depends_on: [spec] triggers: [website, github pages, documentation site, landing page] # -- License ------------------------------------------------------------------- - id: license path: LICENSE intent: "Under what license is the KCP specification and reference implementation released?" scope: global audience: [human, agent] validated: "2026-02-25" triggers: [license, apache, open source, terms] relationships: # The spec is the foundation everything builds on - from: spec to: proposal type: context - from: spec to: rfc-0001 type: enables - from: spec to: adoption-guide type: enables - from: spec to: json-schema type: enables # Examples demonstrate the spec - from: examples-index to: spec type: context - from: example-minimal to: examples-index type: context - from: example-personal-site to: examples-index type: context - from: example-open-source-wiki to: examples-index type: context - from: example-a2a-agent-card to: examples-index type: context - from: example-a2a-agent-card to: spec type: context - from: example-a2a-agent-card to: rfc-0002 type: context - from: example-compliance-audit to: rfc-0004 type: context - from: example-api-platform-rate-limits to: rfc-0005 type: context - from: example-dependency-graph to: spec type: context - from: example-federation to: rfc-0003 type: context - from: example-hints-and-chunking to: rfc-0006 type: context - from: example-well-known-discovery to: spec type: context # Simulators validate the spec under adversarial conditions - from: scenario1-energy-metering to: rfc-0002 type: context - from: scenario2-legal-delegation to: rfc-0002 type: context - from: scenario3-financial-aml to: rfc-0004 type: context - from: scenario4-rate-limit-aware to: rfc-0005 type: context - from: scenario5-dependency-ordering to: spec type: context # Parsers implement the spec - from: parser-python to: spec type: context - from: parser-java to: spec type: context - from: bridge-typescript to: spec type: context # The site presents the spec - from: site to: spec type: context # Ecosystem comparisons provide positioning context - from: webmcp-comparison to: readme type: context # The RFC extends the spec - from: rfc-0001 to: spec type: enables - from: rfc-0007 to: spec type: enables - from: rfc-0008 to: rfc-0007 type: enables - from: rfc-0014 to: rfc-0003 type: enables - from: rfc-0012 to: spec type: enables