commits
- Show sample firehose events with colored output
- Demonstrate frame encoding/decoding roundtrip
- Add statistics tracking example
- Include integration pattern for WebSocket handlers
- Remove non-functional WebSocket code (requires TLS setup)
- Add Float variant to DAG-CBOR value type with decode_mode (Ipld/Atproto)
- Floats encoded as 64-bit IEEE 754 doubles, NaN/Infinity rejected
- Add CIDv0 support: parsing, encoding, version detection
- Add CBOR strictness checking: reject indefinite-length encoding
- Implement DAG-JSON codec with {/: cid} links and {/: {bytes: b64}} bytes
- Add 22 new IPLD tests (66 total), all 494 compliance tests pass
- Add README.md with project overview and package descriptions
- Add CONTRIBUTING.md with development guidelines
- Add doc/index.mld with odoc documentation entry point
- Add odoc dependency to dune-project for documentation generation
- Enhance module-level docs for effects, ipld, lexicon, mst, and repo packages
Compliance Report Generator:
- Add test/compliance/ with compliance_report.ml and run_compliance.ml
- Generate JSON, Markdown, and HTML reports from atproto-interop-tests
- Achieve 100% pass rate (494/494 tests) across all test suites:
- Syntax Validation: 448/448 (handle, DID, NSID, TID, record key, AT-URI, datetime, language)
- Cryptography: 12/12 (signature verification, P-256/K-256 did:key)
- Data Model (IPLD): 21/21 (DAG-CBOR/CID computation, CID syntax)
- Merkle Search Tree: 13/13 (key heights, common prefix)
Generated reports:
- compliance-report.json (machine-readable)
- COMPLIANCE.md (human-readable Markdown)
- compliance-report.html (interactive HTML with styling)
All core functionality implemented:
- 11 packages (syntax, crypto, multibase, ipld, mst, repo, identity, xrpc, sync, lexicon, api)
- 272 passing tests covering all 42 interop fixtures
- Effects-based I/O for runtime-agnostic code
- Firehose demo example
Documentation task remains open for future work.
Shows how to use the firehose module with OCaml 5 effects for
subscribing to AT Protocol real-time events (commits, identity
changes, etc.).
Implement comprehensive AT Protocol support in OCaml with 11 packages:
- atproto-syntax: Identifier parsing (handle, DID, NSID, TID, AT-URI, etc.)
- atproto-crypto: P-256/K-256 cryptography, did:key, JWT
- atproto-multibase: Base32, Base58btc encoding
- atproto-ipld: DAG-CBOR, CIDs, CAR files, blobs
- atproto-mst: Merkle Search Tree implementation
- atproto-repo: Repository operations and commits
- atproto-identity: DID and handle resolution
- atproto-xrpc: HTTP API client/server, OAuth
- atproto-sync: Firehose and repository synchronization
- atproto-lexicon: Schema language parser, validator, codegen
- atproto-api: High-level client API with rich text
All 272 tests pass, covering all 42 fixture files from atproto-interop-tests.
Uses OCaml 5.4 effects for I/O abstraction.
- Add Float variant to DAG-CBOR value type with decode_mode (Ipld/Atproto)
- Floats encoded as 64-bit IEEE 754 doubles, NaN/Infinity rejected
- Add CIDv0 support: parsing, encoding, version detection
- Add CBOR strictness checking: reject indefinite-length encoding
- Implement DAG-JSON codec with {/: cid} links and {/: {bytes: b64}} bytes
- Add 22 new IPLD tests (66 total), all 494 compliance tests pass
- Add README.md with project overview and package descriptions
- Add CONTRIBUTING.md with development guidelines
- Add doc/index.mld with odoc documentation entry point
- Add odoc dependency to dune-project for documentation generation
- Enhance module-level docs for effects, ipld, lexicon, mst, and repo packages
Compliance Report Generator:
- Add test/compliance/ with compliance_report.ml and run_compliance.ml
- Generate JSON, Markdown, and HTML reports from atproto-interop-tests
- Achieve 100% pass rate (494/494 tests) across all test suites:
- Syntax Validation: 448/448 (handle, DID, NSID, TID, record key, AT-URI, datetime, language)
- Cryptography: 12/12 (signature verification, P-256/K-256 did:key)
- Data Model (IPLD): 21/21 (DAG-CBOR/CID computation, CID syntax)
- Merkle Search Tree: 13/13 (key heights, common prefix)
Generated reports:
- compliance-report.json (machine-readable)
- COMPLIANCE.md (human-readable Markdown)
- compliance-report.html (interactive HTML with styling)
Implement comprehensive AT Protocol support in OCaml with 11 packages:
- atproto-syntax: Identifier parsing (handle, DID, NSID, TID, AT-URI, etc.)
- atproto-crypto: P-256/K-256 cryptography, did:key, JWT
- atproto-multibase: Base32, Base58btc encoding
- atproto-ipld: DAG-CBOR, CIDs, CAR files, blobs
- atproto-mst: Merkle Search Tree implementation
- atproto-repo: Repository operations and commits
- atproto-identity: DID and handle resolution
- atproto-xrpc: HTTP API client/server, OAuth
- atproto-sync: Firehose and repository synchronization
- atproto-lexicon: Schema language parser, validator, codegen
- atproto-api: High-level client API with rich text
All 272 tests pass, covering all 42 fixture files from atproto-interop-tests.
Uses OCaml 5.4 effects for I/O abstraction.