Onboarding

Weave

8 cards ~ 48 min Foundational

Foundational walk through the weave project. Read top to bottom if you're new; no prior context assumed.

  1. weave beginner 5 min

    WEAVE Protocol Architecture

    Use when: onboarding to the mesh-node codebase for the first time; explaining the WEAVE/LCB primitive to a reviewer unfamiliar with the codebase; deciding which module owns a bug in the transport vs. convergence boundary

  2. weave intermediate 7 min

    LCB DAG State Machine

    Use when: debugging why a message is stuck in the DAG and never delivered to the application; tracing a causal ordering violation in a test replay; reviewing Algorithm 1 correctness under concurrent message arrivals

  3. weave beginner 4 min

    LCBMessage & DAGNode Schema

    Use when: adding a new field to LCBMessage and need to update all serialisation sites; debugging a wire-format mismatch between two peers running different versions; reviewing the on-wire byte layout produced by to_bytes()

  4. weave intermediate 6 min

    Multi-Underlay Transport Selection

    Use when: diagnosing why a peer keeps falling back to WebRTC when BLE should be available; tuning the EMA alpha or initial latency priors for a new deployment environment; understanding how Transport.preferred is chosen and when it is reselected

  5. weave intermediate 5 min

    LatencyMetric EMA Algorithm

    Use when: benchmarking how many samples are needed before a link reaches reliable status; evaluating whether the alpha=0.2 EMA is too slow to react to sudden link degradation; checking the confidence cap and what it means for the transport scoring formula

  6. weave advanced 8 min

    Spanning Tree Election & Broadcast

    Use when: debugging why the broadcast root keeps changing unexpectedly under topology churn; evaluating whether the Prim's-algorithm rebuild every 200 ms is creating a latency spike; tracing the broadcast path for a message originating from a non-root peer

  7. weave intermediate 6 min

    Clock Discipline & Peer Sync

    Use when: diagnosing why Theorem 1 (≤8 ms delivery) is breached in a specific deployment; choosing between WeaveConfig.clock_tolerance_ms values for a new environment; understanding the difference between ClockStatus variants and what triggers each

  8. weave advanced 7 min

    Automerge IPLD CRDT Integration

    Use when: debugging why two peers have diverged state_hash values after a merge; adding a new operation type to AutomergeState and need to understand the serialisation contract; reviewing whether the state_hash algorithm is suitable for integrity checking