Third patch on v2.0 — introduces Fabric Onboarding & Session Awareness. Additive only; no breaking changes to v2.0 / v2.0.1 / v2.0.2 clients.
Closes the "cognitive layer" gap between being registered in a fabric and an agent knowing it is in a fabric, with these obligations, with these counterparties.
Highlights
- §4.4 NEW — Active Session Manifest Operations:
_status,manifest,_heartbeat,mark-read,_onboard - §4.4.5 atomic
_onboard— bundles join+constrain; either admitted with constraints recorded or rejected with no membership created (no half-joined window) - §6.5 NEW — Pending Obligations as a first-class concept (vote / respond / sign / ack), with creation + discharge events
- §15.6 NEW — Fabric Onboarding Pattern with sequence diagram and half-joined-window analysis
- §17.13 update — Manifest visibility section pins cross-org disclosure rules; manifest is not a privacy bypass
- §4.1 expanded — bidirectional heartbeat feeds the manifest
last_seenper member - 9 new schemas under
spec/v2.0/schemas/(JSON Schema 2020-12) - 5 new conformance vectors under
spec/v2.0/conformance/extended/sessions/, runner extended withkind: sessionfor multi-step vectors +negative_membership/negative_obligationassertions @pact-protocol/cli@2.0.3—pact onboard / status / where / manifest / transcript+~/.pact/local state with atomic O_EXCL lockfile@pact-protocol/mcp@2.0.3— seven new tools incl.pact_session_announce(cognitive-layer hook returning "you are in N fabrics with M obligations" for the calling LLM's working context)
Path conventions
All v2.0.3 operations live under /api/pact/{fabricId}/... (consistent with v2.0.2 routes). {fabricId} is a synonym for {documentId}; servers MUST accept both forms in the URL.
Capability flags
Servers SHOULD set the following in /.well-known/pact.json capabilities:
atomicOnboard: truewhen_onboardis implementedmanifest: truewhenGET /manifestis implementedsessionAwareness: truewhen the full §4.4 operation set is implemented
Mirror
Spec mirrored to tailor-app via TailorAU/tailor-app#1701 (squash-merged 2026-05-15).
Conformance status
7 pass · 0 fail · 6 skip (5 new server-bound vectors require --server). Baseline preserved.
Full changelog
See CHANGELOG.md.