Skip to main content

meta_demo/
meta_demo.rs

1//! CLI demo for phi_meta: save/load φ-metadata
2//! Run with: cargo run --example meta_demo
3
4use hybrid_phi::phi_meta::PhiMetadata;
5use chrono::Utc;
6use std::path::Path;
7
8fn main() {
9    let name = "example_phi";
10    let store_path = Path::new(".phi_store");
11
12    // Ensure directory exists
13    std::fs::create_dir_all(store_path).expect("failed to create store directory");
14
15
16    // Create metadata
17    let meta = PhiMetadata {
18        n: 10,
19        step: 0.01,
20        length: 4,
21        saved_at: Utc::now(),
22    };
23
24    // Save metadata
25    meta.save(name, store_path).expect("failed to save metadata");
26    println!("Saved metadata for '{}'.", name);
27
28    // Load metadata
29    let loaded = PhiMetadata::load(name, store_path).expect("failed to load metadata");
30    println!("\nLoaded metadata:");
31    println!("  n        = {}", loaded.n);
32    println!("  step     = {:.5}", loaded.step);
33    println!("  length   = {}", loaded.length);
34    println!("  saved_at = {}", loaded.saved_at);
35
36    // Optional cleanup
37    let _ = std::fs::remove_file(store_path.join("example_phi.meta.txt"));
38}