Capabilities · v0.1.0-alpha
What the code actually does.
We lead with signed receipts and merge gates because that is the pain teams feel this year. The graph, sync, and identity fabric underneath is what makes those receipts more than a JSON souvenir.
Signed work receipts
ShippingA portable pw.receipt.v1 dossier for one unit of accountable work — Ask answers, agent runs, WeaveFS transactions, PR diffs, or imported MCP sessions.
- Actor, goal, CapToken scopes, policy decisions, tool calls, file effects, claims, and evidence refs
- Ed25519 signature over (type, actor, goal, receipt_hash); SHA-256 tamper detection
- CLI: pw receipt ask | agent | weavefs | pr-change | verify | html | redact | slsa | siem-export
- GitHub Action receipt-check blocks invalid receipts at merge time
- VS Code extension lists, verifies, and opens the HTML verifier from receipts/
HTML verifier & redacted packs
ShippingReviewers and auditors get a self-contained HTML page. Redacted packs strip prompts and answers while keeping the signature.
- pw receipt html — zero-dependency page, no CDN, works offline
- pw receipt redact — standard (keeps signature) or --strict
- Shows hash, signature, supported vs unsupported claims
- Primary buyer-facing artifact for the AI change-governance wedge
Ask + signed answer bundles
PartialAsk your space with VCIL context envelopes. Answers ship as signed trace v2 bundles with per-claim evidence and Invariant I enforcement.
- Local GGUF when configured; echo fallback otherwise
- Remote OpenAI-compatible / LiteLLM backends; requires llm.remote CapToken and explicit config
- OutputClaim → Transformation → DataVersion provenance paths
- Unsupported assertions flagged in UI and blocked on mirror publish
- Desktop Ask is the full query path; CLI has receipt/policy/identity once traces exist
Participants & capabilities
ShippingRegister humans, agents, services, and devices with DIDs and CapToken bindings so a receipt can name who acted and under whose authority.
- Registry at $PW_HOME/participants.json; CLI: pw participant add | list | show | remove
- did:key device signing keys for bundles and receipts
- Encrypted keychain (scrypt + AES-256-GCM) when PW_KEYCHAIN_PASSPHRASE is set; pw identity migrate-keychain for existing installs
- P2P node.key still plaintext; restore-from-backup UI deferred
- Capability revocation is local today; cross-peer replication is open work
MCP & external session capture
PrototypeImport tool sessions from Cursor, Claude, Copilot, or CI into traces and receipts without running agents inside our runtime.
- pw mcp import session.json — file-based import
- pw mcp capture — stdin JSON-RPC stream
- Credential redaction; content stored as sha256 CIDs
- MCP proxy for transparent capture is follow-up work
Spaces, WeaveFS & P2P
PartialLocal-first workspaces with transactional WeaveFS, authenticated membership, and signed cold-join snapshots.
- CRDT-backed file sync; OPS_FETCH anti-entropy; recovered FileId state
- Authenticated Space ops and snapshot serving; delegated membership chains
- Discovery via mDNS, bootstrap, rendezvous, and relay — DHT listing is out of scope for v0.1
- Desktop live gossip and loopback catch-up are automated; two-device LAN/WAN QA is still a P0 gate
- Content encryption beyond transport is deferred
Semantic graph + provenance
PartialFiles, functions, claims, and transformations form a queryable graph with VCIL provenance and PCG multi-axis retrieval.
- Paginated explorer (~50 nodes/page); WebGL 1–2k @ 60fps is deferred
- PCG five-axis fusion and graph-layer forgetting
- GraphQL HTTP API for Ask and explorer queries
- Click-through from a node into the matching space file
Ports runtime
PartialTurn a folder into a capability-scoped service port on the peer mesh.
- Local runner with PW_PORT_CAPABILITIES allowlist
- CapToken-gated start / stop / invoke
- Remote advertisements with TTL
- Runtime capability enforcement still incomplete vs the PRD
Mirrors & anchors
PartialSelectively publish signed answer bundles and mirror bundles with VCIL validation at publish time.
- Build, redact, publish, and locally anchor
- export_answer_bundle_to_mirror requires a valid Ed25519 signature
- Anchor provider is a local stub; EVRUS / chain anchoring is roadmap
Policy control plane
Partialpw-policy.toml plus CLI and CI checks. Receipt policy is post-hoc today; WeaveFS commit gating is the next P1.
- pw policy init / check — signature required, max unsupported claims, allowed models, denied tools/paths
- GitHub Action enforces hash, signature, and unsupported-claim counts
- Pre-commit policy evaluation on WeaveFS mutations is tracked as peer-weave-policy
Compared with adjacent tools
GitHub and Cursor already log agent activity. They do not hand you a signed, portable receipt you can fail a merge on.
| Capability | PeerWeave | GitHub | Cursor |
|---|---|---|---|
| Signed, portable AI work receipts | Ships | Session / audit logs | Local traces |
| PR merge gate on receipt validity | Ships | Generic required checks | No |
| Claim-level evidence (VCIL) | Ships | No | No |
| Local-first spaces | Partial | Cloud-hosted | Editor-local |
| CapToken participant governance | Partial | Org roles | Account / privacy mode |
Try it on the next PR
Export a receipt, attach it, run receipt-check. Invalid signatures or unsupported claims fail the gate.