Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions CLA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Contributor License Agreement (CLA)

> **DRAFT — pending legal review.** This document is adapted from standard
> open-source CLA templates (notably the Apache Individual CLA) for Project
> Auxo, Inc. It has not yet been reviewed by counsel. Do not rely on it as
> final legal text until that review is complete.

Thank you for contributing to the Capability Host Protocol (CHP). To keep CHP
open and re-usable for everyone — and to preserve the project's ability to
evolve its licensing in the future — we ask every contributor to agree to this
Contributor License Agreement ("Agreement") with **Project Auxo, Inc.** ("the
Company"). This Agreement protects you, the Company, and all users of CHP.

You retain ownership of your contributions. This Agreement only grants the
Company the licenses described below.

## 1. Definitions

- **"You"** means the individual or legal entity agreeing to this Agreement.
- **"Contribution"** means any original work of authorship — including any
modifications or additions to existing work — that You intentionally submit
to the Company for inclusion in, or documentation of, any CHP project.
- **"Submit"** means any form of electronic, verbal, or written communication
sent to the Company or its projects (e.g., pull requests, issues, patches),
excluding anything conspicuously marked "Not a Contribution."

## 2. Copyright license

You grant the Company, and recipients of software distributed by the Company, a
perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare derivative works of, publicly display,
publicly perform, sublicense, and distribute Your Contributions and such
derivative works.

**This includes the right for the Company to license and re-license Your
Contribution under any license terms, including both open-source licenses and
commercial/proprietary licenses (dual licensing).** This relicensing right is
what allows CHP to remain durable and to fund its own development.

## 3. Patent license

You grant the Company, and recipients of software distributed by the Company, a
perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated below) patent license to make, have made, use, offer to sell,
sell, import, and otherwise transfer Your Contribution, where such license
applies only to those patent claims licensable by You that are necessarily
infringed by Your Contribution alone or by combination of Your Contribution with
the project to which it was submitted.

If any entity institutes patent litigation against You or any other entity
alleging that Your Contribution, or the project it was submitted to, constitutes
direct or contributory patent infringement, then any patent licenses granted to
that entity under this Agreement terminate as of the date such litigation is
filed.

## 4. Your representations

- You represent that You are legally entitled to grant the above licenses.
- If Your employer has rights to intellectual property You create, You represent
that You have received permission to make Contributions on behalf of that
employer, that Your employer has waived such rights, or that Your employer has
executed a separate Corporate CLA with the Company.
- You represent that each Contribution is Your original creation, or that You
have clearly identified any third-party material (and its license) within it.
- You are not expected to provide support for Your Contributions, and they are
provided "AS IS" without warranties of any kind.

## 5. Corporate contributions

If You are agreeing on behalf of a legal entity, "You" includes that entity and
all entities that control, are controlled by, or are under common control with
it. The signatory represents they are authorized to bind that entity.

## How to sign

Contributions are gated by an automated CLA check on pull requests. When you
open your first pull request, a bot will ask you to read this Agreement and
confirm your acceptance by commenting as instructed. Your GitHub identity and
the commit history serve as the signature record.

Questions: open an issue or contact the maintainers. See
[`CONTRIBUTING.md`](CONTRIBUTING.md).
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,21 @@

CHP is early. Contributions should keep the v0.1 surface small, explicit, and testable.

## Contributor License Agreement

Before we can merge your contribution, you must sign the
[Contributor License Agreement](CLA.md). You keep ownership of your work; the CLA
lets Project Auxo, Inc. distribute and (re)license it so CHP stays durable. The
process is automated: open a pull request and a bot will prompt you to sign by
posting a one-line comment. You only sign once.

## What's open vs. commercial

This repository is the open core — Apache-2.0 (code) and CC BY 4.0 (spec/docs).
Commercial components (the hosted evidence service, registry network, compliance
products, and enterprise/regulated-system adapters) live in separate repositories
and are **not** accepted here. See [`GOVERNANCE.md`](GOVERNANCE.md).

## Principles

- Prefer local-first behavior over distributed assumptions.
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@

END OF TERMS AND CONDITIONS

Copyright 2026 Auxo
Copyright 2026 Project Auxo, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion LICENSE-DOCS
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ measures that legally restrict others from doing anything the license permits.

Full license text: https://creativecommons.org/licenses/by/4.0/legalcode

Copyright 2026 Auxo
Copyright 2026 Project Auxo, Inc.
9 changes: 8 additions & 1 deletion NOTICE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Capability Host Protocol (CHP)
Copyright 2026 Auxo
Copyright 2026 Project Auxo, Inc.

This product includes software developed by the CHP project contributors.

Expand All @@ -9,3 +9,10 @@ the Apache License, Version 2.0. See LICENSE for the full text.
Specification, schemas, and documentation (spec/, docs/, schemas/) are
licensed under the Creative Commons Attribution 4.0 International License.
See LICENSE-DOCS for the full text.

Implementing the specification is additionally covered by a royalty-free
patent grant. See PATENTS for the full text.

"Capability Host Protocol", "CHP", "CHP-Certified", and the CHP logo are
trademarks of Project Auxo, Inc. Trademark use is governed by TRADEMARK.md
and is NOT granted by the code or documentation licenses above.
55 changes: 55 additions & 0 deletions PATENTS
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
CHP Specification — Royalty-Free Patent Grant

DRAFT — pending legal review. This grant is adapted from common royalty-free
standards patent policies (e.g., the Open Web Foundation / W3C style). It has
not yet been reviewed by counsel and is not final.

Purpose

The CHP specification, schemas, and documentation are licensed for copyright
purposes under CC BY 4.0 (see LICENSE-DOCS). Copyright permission alone does
not assure implementers that they may build conforming implementations free of
patent claims. This document adds that assurance. The intent is simple: anyone
may implement the CHP specification, for free, forever.

Definitions

"Specification" means the version(s) of the Capability Host Protocol
specification and schemas published in this repository under spec/ and
schemas/ to which this grant is attached.

"Covered Claims" means those patent claims, owned or controlled by Project
Auxo, Inc., that are necessarily infringed by implementing the required
portions of the Specification, where "necessarily infringed" means there is no
commercially reasonable, non-infringing way to implement those required
portions. Covered Claims do NOT include claims that would be infringed only by:
(a) enabling technologies not required to implement the Specification;
(b) implementing optional portions; or
(c) implementation techniques, optimizations, or services not described as
required in the Specification (for example, a hosted evidence service,
anchoring/timestamping methods, or compliance products).

Grant

Project Auxo, Inc. grants to every implementer a perpetual, worldwide,
non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
"Defensive Termination") license under the Covered Claims to make, have made,
use, sell, offer for sale, import, and distribute implementations of the
Specification.

Defensive Termination

The license granted above terminates automatically as to any person or entity
that initiates patent litigation (including a cross-claim or counterclaim)
alleging that the Specification, or any conforming implementation of it,
infringes a patent.

Scope and reservation of rights

This grant is limited to the Covered Claims and to the published version(s) of
the Specification. Future versions may be accompanied by their own grants.
Except for the license expressly granted here, Project Auxo, Inc. reserves all
patent rights — including all rights in inventions that are not required to
implement the Specification. Contributions to the Specification are governed by
the patent license in CLA.md, which is intended to be consistent with this
grant.
18 changes: 13 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Capability Host Protocol

CHP is an open protocol for making agent, tool, and system execution visible, replayable, and ready for governance.
CHP is the open protocol for declaring, **governing**, and **proving** what agents, tools, and systems do — the single signed plane where a human approval, an agent's action, and a system call become the same governed, tamper-evident, replayable event.

The first launch goal is simple:
The hook is simple:

> See what your agents and tools actually did.
> See what your agents and tools actually did — and what governed it.

CHP is not another agent framework, tool protocol, or workflow engine. It is an execution evidence layer at the capability boundary.
CHP is not another agent framework, tool protocol, or workflow engine. It is the **governed evidence plane** at the capability boundary: what ran *and* what governed it (policy, risk tier, safety checks, human approval, autonomy budgets, denial) emit onto one signed, correlated record. Observability tools split execution across separate, optional, unsigned signals and carry no governance; CHP unifies both and proves them.

## What CHP Defines

Expand Down Expand Up @@ -162,4 +162,12 @@ Guiding rule:

## License

MIT. See `LICENSE`.
CHP is dual-licensed by asset:

- **Code** (`packages/`, `conformance/`, `examples/`, `scripts/`): Apache License 2.0 — see [`LICENSE`](LICENSE).
- **Specification, schemas & docs** (`spec/`, `schemas/`, `docs/`): Creative Commons Attribution 4.0 (CC BY 4.0) — see [`LICENSE-DOCS`](LICENSE-DOCS). Implementing the specification is additionally covered by a royalty-free patent grant — see [`PATENTS`](PATENTS).
- **Trademarks**: "CHP" and "CHP-Certified" — see [`TRADEMARK.md`](TRADEMARK.md).

Contributions are accepted under the [Contributor License Agreement](CLA.md); see [`CONTRIBUTING.md`](CONTRIBUTING.md).

Copyright © 2026 Project Auxo, Inc. See [`NOTICE`](NOTICE).
61 changes: 61 additions & 0 deletions TRADEMARK.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# CHP Trademark & Conformance-Mark Policy

> **DRAFT — pending legal review.** Adapted from common open-source trademark
> policies (e.g., the model used by CNCF/Linux Foundation projects) for Project
> Auxo, Inc. Not yet reviewed by counsel.

The names **"Capability Host Protocol"** and **"CHP"**, the CHP logo, and
**"CHP-Certified"** (together, the "Marks") are trademarks of **Project Auxo,
Inc.** ("the Company"). The *code* and *specification* are openly licensed (see
[`NOTICE`](NOTICE)); the *Marks* are not — they are how users know something is
genuinely CHP and trustworthy. This policy explains how you may use them.

The guiding principle: **you may use the Marks to refer to CHP truthfully; you
may not use them in a way that implies endorsement, certification, or origin
that isn't real.**

## You may, without asking (nominative/fair use)

- State that your product "works with CHP", "implements the Capability Host
Protocol", or "is built on CHP" — if true.
- Use "CHP" in prose, talks, blog posts, and documentation to refer to the
protocol.
- Use the word marks in the name of a community adapter or tool in a descriptive
way (e.g., "a CHP adapter for Acme") — provided it does not imply official
origin (see below).

## You may not, without written permission

- Use the Marks (or confusingly similar names/logos) as the name of your product,
company, or service, or in a way that suggests the Company produces or endorses
it.
- Use the Marks on merchandise, domains, or social accounts in a way likely to
cause confusion about origin.
- Modify the logo, or use it as your own product's icon.
- Claim or imply **certification or conformance** except as allowed below.

## "CHP-Certified" and conformance claims

"CHP-Certified" and "CHP-Conformant" are **certification claims** and are
governed:

- You may state that an implementation **"passes the CHP v0.x conformance
suite"** if it genuinely passes the suite in [`conformance/`](conformance/) at
the stated version, and you can show the evidence on request.
- You may **not** use the "CHP-Certified" mark or logo until you are enrolled in
the certification program operated by the Company (forthcoming). Certification
ties the claim to a passing conformance run plus a security/quality review, so
that the mark means something to the people relying on it.

## Adapters

Naming and certification of adapters follow the tiered model in
[`docs/adapter-strategy.md`](docs/adapter-strategy.md). In short: descriptive use
in a community adapter's name is fine; presenting an adapter as *official* or
*certified* requires permission/enrollment.

## Questions & permission requests

Open an issue or contact the maintainers. We grant reasonable requests for
community, educational, and integration use. This policy may evolve; the spirit —
*truthful reference yes, implied endorsement no* — will not.
62 changes: 62 additions & 0 deletions conformance/FIXTURES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# CHP Conformance Fixture Profile

Status: normative for the `wire` conformance suite. A host-under-test that wants
to be validated by the black-box runner (`conformance/runner.py --url`) MUST
pre-register the capabilities below and configure the host as specified. The
runner exercises them and asserts each expected outcome, denial code, and event
sequence. Event orderings reference
[spec/chp-invocation-pipeline.md](../spec/chp-invocation-pipeline.md).

This file is the language-agnostic contract: it replaces "read the Python
`build_passing_host()`" with a spec any implementation can register from.

## Host configuration

The host under test MUST be configured with:
- **Policy:** `max_risk_tier = "medium"` (so a `high`-risk capability is blocked).
No block-patterns or blocked-ids are required.
- **Safety evaluator:** a rule-based evaluator with one guardrail that blocks
`conformance.unsafe` — a guardrail whose `capability_id_pattern` matches
`conformance.unsafe` and lists it in `requires_human_for` (so it always blocks,
regardless of the computed risk score).
- **Auth:** an `X-CHP-Key` the runner is given via `--key` / `CHP_HOST_API_KEY`.

## Capabilities

All fixtures are version `1.0.0`, `sync` mode. "Events" lists the evidence event
types emitted for the exercised call, in order.

| id | Config | Exercised with | Outcome | `denial.code` | Events (in order) |
|---|---|---|---|---|---|
| `conformance.echo` | none | `{"value": "..."}` | `success` | — | `execution_started`, `execution_completed` |
| `conformance.fail` | handler always raises | `{}` | `failure` | — | `execution_started`, `execution_failed` |
| `conformance.guarded` | host invariant `requires_value` (`required_payload_fields: ["value"]`, `failure_behavior: deny`) | `{}` (missing `value`) | `denied` | `invariant_failed` | `execution_denied` |
| `conformance.approval` | `autonomy.tier = "approval_required"` | `{}` | `denied` | `approval_required` | `approval_requested`, `execution_denied` |
| `conformance.budgeted` | `autonomy.action_limit = 1` | invoked **twice** on one correlation | 1st `success`, 2nd `denied` | (2nd) `budget_exceeded` | 1st: `execution_started`, `execution_completed`; 2nd: `budget_exceeded`, `execution_denied` |
| `conformance.risky` | `risk = "high"` | `{}` | `denied` | `policy_blocked` | `execution_denied` |
| `conformance.unsafe` | (blocked by the host guardrail above) | `{}` | `denied` | `safety_blocked` | `safety_assessment_started`, `safety_assessment_completed`, `safety_guardrail_triggered`, `safety_action_blocked`, `execution_denied` |

### Behaviour notes

- `conformance.echo` returns its input `value` in `InvocationResult.data` (e.g.
`{"echo": "<value>"}`); the exact shape isn't asserted, only `outcome:success`.
- `conformance.fail`'s handler MUST raise so the host records `execution_failed`
(a runtime failure, not a denial).
- `conformance.guarded` is denied at the **invariant** gate (pipeline gate 6),
*before* safety — so it emits no safety events even on a safety-configured host.
- `conformance.risky` is denied at the **policy** gate (gate 5), before invariants,
autonomy, and safety — so it too emits no governance side-events, only
`execution_denied`.
- `conformance.unsafe` is the only fixture that exercises the safety pipeline;
its assessment pair is emitted because it passed gates 1–8 and reached gate 9.
- Numbers in emitted event payloads (e.g. a safety `score`) are **string-encoded**
per `chp-stable-v1` ([chp-v0.2.md](../spec/chp-v0.2.md) §2 rule 6) — the runner
does not assert their value, only the event types.

## Running the check

```
<start the host under test on PORT with the config above>
python conformance/runner.py --url http://localhost:PORT --key <key> --suite wire
```
A conforming host prints `[wire] 14/14`.
Loading
Loading