Skip to content

Architecture: forgetting as first-class operation #39

@disentangle-network

Description

@disentangle-network

Research Summary

Charter research question: if coherence emerges from topological properties, a node that forgets all state and rebuilds from scratch should be able to re-enter the network.

Current State

  • Identity state: persisted to JSON (DIDs, capabilities, delegations, proposals)
  • DAG state: NOT persisted, rebuilt from peers on every restart
  • Coherence: computed dynamically from identity_graph + first_seen timestamps
  • Curvature history: ephemeral (lost on restart)

What Breaks When a Node Forgets

  1. No persistent DAG storage -- consensus mass requires full DAG, which must be synced from peers
  2. Coherence last_active_depth resets on restart, causing artificial decay calculation
  3. No bulk sync protocol (recursive parent fetching is O(n) round trips)
  4. Curvature derivative history lost -- excitability gradient requires historical snapshots

Design Work Needed

  1. Coherence checkpoint semantics: persist (creation_depth, last_active_depth) tuple so decay survives restarts
  2. Genesis sync protocol: bulk "sync-to-depth N" RPC to replace recursive parent fetching
  3. Decide: persistent DAG or fully ephemeral? If TMC consensus only needs local topology, ephemeral DAG may be correct. If it needs full ancestor paths, persistent storage (RocksDB) is needed.
  4. Interaction with membrane: a forgetting node at coherence zero must pass through the membrane to re-enter. The membrane must handle this gracefully.

Relationship to Time/Ordering

The protocol already uses purely topological ordering (Lamport clock from DAG depth). Epochs derived from depth, not wall clocks. This is compatible with forgetting -- a rejoining node just starts at whatever depth the network is at.

Filed from research conducted 2026-03-07 by cc-orc-protocol.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions