## Summary
Syncs protocol v0.1.0 from the private monorepo and updates the protocol
website.
### Protocol changes (synced from metalabel/metalabel-dfos)
- **Removed registry API** — `openapi.yaml`, `REGISTRY-API.md`,
`src/registry/`, `document-envelope.v1.json` all deleted. Protocol is
now transport-agnostic
- **Added `did` field** to content operations for author/witness
discrimination
- **Added `baseDocumentCID` field** to content create/update operations
- **Added beacon module** — floating signed merkle root announcements
with clock skew tolerance
- **Added countersignature module** — witness cosigning for content
operations and beacons
- **Added merkle tree module** — sorted binary SHA-256 with inclusion
proof generation/verification
- **Added `manifest.v1.json` schema** with path-like keys and
identifier-shaped values
- **Added `typ` header discrimination** — `did:dfos:identity-op`,
`did:dfos:content-op`, `did:dfos:beacon`
- **Added `did` max-length (256)** to all DID fields in schemas
- **Added `POSTER.html`** — visual protocol architecture reference
- **Cross-language test vectors** for merkle, beacon, countersignature
(Go, Python, Rust, Swift)
- **149 TypeScript tests**, **235 total cross-language verification
points**
### Site changes (protocol.dfos.com)
- Removed `/registry-api` page (source deleted)
- Added `/poster` page serving the architecture visualization
- Updated homepage: new spec description (beacons, merkle trees,
countersignatures), content model promoted to Specifications, poster
added to Resources
- Updated all page meta descriptions and footer nav (removed registry
links)
- Updated `llms.txt` and `llms-full.txt` endpoints
## Test plan
- [x] Protocol tests: 149/149 passing
- [x] Site build: clean (5 pages + 2 API routes)
- [x] Zero divergence between private and public protocol dirs
- [x] PROTOCOL.md gist updated
---
Generated with Claude Code
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>