fn tier_working() -> String { return "Working" } fn tier_episodic() -> String { return "Episodic" } fn tier_canonical() -> String { return "Canonical" } fn mem_store(content: String, label: String, tags: String) -> String { return engram_node_full( content, "Memory", label, el_from_float(0.5), el_from_float(0.5), el_from_float(0.8), "Working", tags ) } fn mem_remember(content: String, tags: String) -> String { return mem_store(content, "soul-memory", tags) } fn mem_recall(query: String, depth: Int) -> String { return engram_activate_json(query, depth) } fn mem_search(query: String, limit: Int) -> String { return engram_search_json(query, limit) } fn mem_strengthen(node_id: String) -> Void { engram_strengthen(node_id) } fn mem_forget(node_id: String) -> Void { engram_forget(node_id) } fn mem_consolidate() -> String { let scanned: Int = engram_node_count() let dummy: String = engram_scan_nodes_json(100, 0) let total_nodes: Int = engram_node_count() let total_edges: Int = engram_edge_count() return "{\"scanned\":" + int_to_str(scanned) + ",\"total_nodes\":" + int_to_str(total_nodes) + ",\"total_edges\":" + int_to_str(total_edges) + "}" } fn mem_save(path: String) -> Void { engram_save(path) } fn mem_load(path: String) -> Void { engram_load(path) }