Skip to main content

Wire

Trait Wire 

Source
pub trait Wire {
    // Required methods
    fn strengthen(
        &self,
        from: NodeId,
        to: NodeId,
        weight: f64,
        graph: &mut dyn TopologyGraph,
    );
    fn co_activate(&self, nodes: &[NodeId], graph: &mut dyn TopologyGraph);
    fn prune(
        &self,
        threshold: f64,
        graph: &mut dyn TopologyGraph,
    ) -> Vec<PrunedConnection>;
    fn decay(&self, rate: f64, graph: &mut dyn TopologyGraph);
}
Expand description

Strengthen used connections and prune unused ones.

Wire operates on the shared topology graph in the substrate. Multiple agents read and modify the same graph — wiring is a collective activity, like neural plasticity across a brain region.

Required Methods§

Source

fn strengthen( &self, from: NodeId, to: NodeId, weight: f64, graph: &mut dyn TopologyGraph, )

Strengthen the connection between two nodes.

Called when two concepts are observed together (co-activation). The weight increase is proportional to the strength parameter.

Source

fn co_activate(&self, nodes: &[NodeId], graph: &mut dyn TopologyGraph)

Record a co-activation event for a set of nodes.

When multiple concepts appear together (e.g., in the same document), all pairwise connections are strengthened. This is Hebbian learning: nodes that activate together wire together.

Source

fn prune( &self, threshold: f64, graph: &mut dyn TopologyGraph, ) -> Vec<PrunedConnection>

Prune connections below a weight threshold.

Weak connections are removed — synaptic pruning. This prevents the graph from growing without bound and ensures that only genuinely related concepts remain connected.

Source

fn decay(&self, rate: f64, graph: &mut dyn TopologyGraph)

Decay all connection weights.

Time-based weakening: all connections lose strength unless they are re-activated. This ensures the graph reflects recent relevance, not just historical co-occurrence.

Implementors§