plato-forge-pipeline 0.1.0

PLATO cognitive architecture component
Documentation
use plato_forge_pipeline::{forge_pipeline, SeedInput};

fn main() {
    let seeds: Vec<SeedInput> = (0..59)
        .map(|i| SeedInput::new(
            format!("seed tile {} — extracted from plato-torch observation corpus", i),
            format!("doc-{}", i),
        ))
        .collect();

    println!("Running plato-forge-pipeline with {} seeds...", seeds.len());
    let result = forge_pipeline(seeds);

    println!("Tiles produced:  {}", result.tiles_produced.len());
    println!("Tiles rejected:  {}", result.tiles_rejected.len());
    println!("Compression:     {:.1}:1", result.compression_ratio);
    println!("Tier distribution:");
    let mut tiers: Vec<_> = result.tier_distribution.iter().collect();
    tiers.sort_by_key(|(k, _)| k.as_str());
    for (tier, count) in tiers {
        println!("  {}: {}", tier, count);
    }
    println!("Stage timings (ns):");
    for (stage, ns) in &result.stage_timings_ns {
        println!("  {}: {}ns", stage, ns);
    }
}