Public contracts and integrator docs for this repository. The CLI, collector, and Context Graph have separate ownership.
What belongs here: publishing.md. Working notes (plans, lab gates, canaries) are not listed below.
- SDK README — install, public API, configuration, and limits
- Collector integration — Flutter WebSocket and HTTP wire behavior
- Experimental native CPU capture — opt-in native CPU backend and fallback rules
- Common build — host commands for core, AAR, and Flutter tests
- Android development
- Apple development
- Flutter development
- Example exploration brief — demo app goals and constraints
- Capture and fingerprint architecture — schema-v6 identity, screenshots, inferred-event evidence
- Repository map
- Mobile repository scope
- Native capture architecture
- Native capture contracts — privacy boundary, coverage, fallback, diagnostics (authoritative)
- Capture coverage —
engineSurfacelimits - Fallback behavior
- 0001 Mobile monorepo
- 0002 C++ core
- 0003 Native artifact ownership
- 0004 Platform JPEG codecs
- 0005 Opt-in Flutter rollout
- 0006 Mask coordinates
- 0007 GPU processing deferred
- 0008 Independent versioning
- Privacy pipeline — mask-before-encode ownership
- CPU capture baseline — comparison contract and JPEG envelope, not a device-lab result
- package version:
0.8.16(0.8.xpatch; Android plugin uses Maven Centralcapture-runtime0.1.0; iOS plugin uses CocoaPodsTugboatCaptureRuntime0.1.0and requires iOS 15); - native runtime:
capture-runtime0.1.0on Maven Central;TugboatCaptureRuntime0.1.0on CocoaPods trunk; - planned first native-default adapter: Flutter
0.9.0after privacy and performance gates; - session JSON schema:
10; - fingerprint schema:
6; - minimum Dart SDK:
3.9.2; - minimum Flutter SDK:
3.35.0.
Start with the SDK README for integration. Use the contracts document when changing identity, capture cadence, privacy boundaries, activation, or sink behavior; these changes can invalidate downstream evidence even when the Dart API remains source-compatible.