v0.1.0-alpha · receipts, HTML verifier, and CI merge gates ship today · desktop installers still unsigned

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

Shipping

A 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

Shipping

Reviewers 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

Partial

Ask 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

Shipping

Register 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

Prototype

Import 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

Partial

Local-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

Partial

Files, 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

Partial

Turn 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

Partial

Selectively 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

Partial

pw-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.

CapabilityPeerWeaveGitHubCursor
Signed, portable AI work receiptsShipsSession / audit logsLocal traces
PR merge gate on receipt validityShipsGeneric required checksNo
Claim-level evidence (VCIL)ShipsNoNo
Local-first spacesPartialCloud-hostedEditor-local
CapToken participant governancePartialOrg rolesAccount / privacy mode

Try it on the next PR

Export a receipt, attach it, run receipt-check. Invalid signatures or unsupported claims fail the gate.