Skip to content

About

Fabric Agent Contract (PassionCode.ai) — what makes any agent Fabric-compatible: the schemas, profiles (MCP, A2A, local runner) and conformance rules every provider is admitted by. AGPL-3.0 or commercial.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

PassionCode.ai passion fruit mark

Fabric Agent Contract

Fabric Agent Contract says what makes any agent Fabric-compatible: the schemas, profiles (MCP, A2A, local runner) and conformance rules every provider is admitted by. Fabric is PassionCode.ai's product, the CEO AI agent: it chooses, binds and runs the agents that do the work, and this contract is the boundary they cross — work, evidence, capabilities, admission and authority pass through explicit interfaces instead of one vendor's session format. The contract is storage-agnostic and stands on its own: any host or agent can implement it, and the Fabric Agent Adapter is the kit that does it for an agent.

Status: contract 0.1.0. What ships: the JSON Schemas, the fixtures, the conformance checker (pnpm run check: schemas, semantic rules, documents), the pin:check CLI that reports a consumer's contract pin, and reference verifiers that consumers copy or port and test against this repository's vectors — src/delegation.ts, src/grant-projection.ts, src/fabric-links.ts, src/operator-session.ts, src/session-handoff.ts, src/secret-shape.ts (the one credential detector), src/package-rules.ts (the package digest, folder check and signature verifier), src/estate-record-rules.ts with src/webauthn.ts (the estate record's digest, chain and offline passkey-assertion verifier), src/relay.ts (relay admission, blob requests and message bodies), src/secret-envelope.ts (the HPKE secret envelope), src/relay-vectors.ts (the framework-free runner of the relay's shared vectors, DEC-0066), src/p256.ts signEs256/toLowS (the low-S ES256 rule, DEC-0066) and src/http-signature.ts (the device request signature's signer and receiver, DEC-0056), src/hub-key-rules.ts (whether the estate record certifies a delegation key, DEC-0060) src/revocation-delta.ts (the revocation delta, the heartbeat and the 72-hour rule, DEC-0054), src/window-lease.ts (window leases, DEC-0062), src/signing-challenges.ts (the signing register and its verifier, DEC-0063) src/openrouter-attribution.ts (OpenRouter attribution headers, DEC-0065) src/protocol-revisions.ts (protocol revisions, N and N−1, DEC-0067) src/session-join.ts (one writer per session, DEC-0068) src/app-descriptor.ts (an app's own descriptor, DEC-0069) and src/feed-data.ts (no secret in a feed event's data, DEC-0070). What does not ship: a runtime, a provider implementation, a model router, a published package, or an SDK with a stability promise beyond the pinned commit (DEC-0016).

Start here

The initial contract brief and Memory Kernel brief own their run scope, DECISIONS.md owns accepted choices, and DOCMAP.md owns propagation rules.

Quick start for a new teammate

Install

The repository is public; clone it, or get it with every other repository through org-index scripts/clone_all.sh. Node.js 20+ and pnpm (the version in package.json → packageManager):

gh repo clone passioncode-ai/fabric-agent-contract
cd fabric-agent-contract
pnpm install --frozen-lockfile

Configure

Nothing: no account, no key, no environment variable. The contract is documents, JSON Schemas, fixtures and the checker that validates them.

MCP

None, and none is planned: the contract serves no MCP tools. It is the specification an MCP surface is checked against — the MCP profile in profiles and the tool rules of fabric-interop/0.1. To drive a real MCP surface built on it, use the Fabric Agent Adapter quick start: its sample service is called from a real client, and its check_service.py probe checks a live service against these rules.

Develop

pnpm run check

The gate typechecks the harness, compiles all Draft 2020-12 schemas, runs every positive/negative fixture case in fixtures/catalogue.json plus the semantic rules and the pipeline checker, validates UX traces, resolves relative links (a link inside a fenced code block is text and is not resolved; a fence never closed and a malformed percent escape are findings), parses Mermaid source, checks contract-version consistency, extension key spelling and glossary profile names, and lints Markdown. Start in AGENTS.md; the decisions are in DECISIONS.md.

A consuming repository checks that it names one contract revision with pnpm pin:check <its checkout> (one contract pin).

Shape conformance is not admission. A host must also negotiate the declared protocol revision, run safe semantic probes and issue a separate immutable admission decision before a project binding can grant access.

License

Open source under the GNU AGPL-3.0. A commercial license is available for use that does not meet the AGPL's terms — passioncode.ai/business. Earlier commits carried no licence: the repository was private and unlicensed (design), and the contract has no vX.Y.Z release. Whether the schemas should carry a permissive exception so any host can implement them is open for the operator as CO-KB-02 in the knowledge base's licensing. Contributions are accepted under CLA.md.

About

Fabric Agent Contract (PassionCode.ai) — what makes any agent Fabric-compatible: the schemas, profiles (MCP, A2A, local runner) and conformance rules every provider is admitted by. AGPL-3.0 or commercial.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages