bctx_conductor/graph/
mod.rs1pub mod edge;
2pub mod node;
3pub mod scorer;
4pub mod updater;
5
6use std::collections::HashMap;
7
8#[derive(Debug, Default)]
9pub struct SignalGraph {
10 pub nodes: Vec<node::GraphNode>,
11 pub edges: Vec<edge::GraphEdge>,
12 pub skill_tokens: HashMap<String, usize>,
13}
14
15impl SignalGraph {
16 pub fn new() -> Self {
17 Self::default()
18 }
19
20 pub fn record_skill_outcome(&mut self, skill_id: &str, tokens: usize) {
21 *self.skill_tokens.entry(skill_id.to_string()).or_insert(0) += tokens;
22 }
23
24 pub fn node_count(&self) -> usize {
25 self.nodes.len()
26 }
27}