What problem does it solve?
Designing client-side access control over Subduction-replicated Automerge data is error-prone because the four policy hooks fire at different, non-obvious points in the sync protocol, and older documentation mischaracterized their behavior. This Skill provides the verified, empirically tested reference for exactly where each hook is consulted, what denial does, and how to recover after flipping a policy from deny to allow.
Core Features & Use Cases
- Hook-by-hook call-site reference: Documents exactly where
authorizeConnect, authorizeFetch, authorizePut, and filterAuthorizedFetch fire in the subduction-core source, including the subscriber-only caveat for filterAuthorizedFetch and the local-write bypass of authorizePut.
- Client-side gating patterns: Explains how to gate inbound replication with
authorizePut and outbound serving with authorizeFetch without any server cooperation, using subduction-level Ed25519 peer identities.
- Recovery and sync-reliability guidance: Covers
shareConfigChanged() recovery semantics, the 60-second round timeout amplifier, the O(N²) bulk-sync cliff, connection replacement strategy, and workerd alarm-pump pitfalls via the bundled sync-reliability reference.
- Use Case: A developer debugging why a document did not replicate to a peer consults this Skill to determine which hook denied the transfer, then applies the documented recovery path (e.g., a fresh holder commit after an
authorizePut deny).
Quick Start
Ask the assistant to explain which SubductionPolicy hook to deny in order to stop a specific peer from receiving a specific document, and how to recover after re-allowing it.