zig-core 0.5.6

Core library for zig — workflow orchestration engine for AI coding agents
Documentation
use super::*;

#[test]
fn pattern_guidance_returns_nonempty_for_all_known_patterns() {
    let patterns = [
        "sequential",
        "fan-out",
        "generator-critic",
        "coordinator-dispatcher",
        "hierarchical-decomposition",
        "human-in-the-loop",
        "inter-agent-communication",
    ];
    for p in &patterns {
        let g = pattern_guidance(p);
        assert!(
            !g.is_empty(),
            "pattern_guidance for '{p}' should be non-empty"
        );
    }
}

#[test]
fn pattern_guidance_unknown_returns_empty() {
    assert_eq!(pattern_guidance("nonexistent"), "");
    assert_eq!(pattern_guidance(""), "");
}

#[test]
fn build_system_prompt_replaces_all_placeholders() {
    let rendered = build_system_prompt("HELP_TEXT", "ORCH_TEXT");
    assert!(!rendered.contains("{{zug_format_spec}}"));
    assert!(!rendered.contains("{{zag_help}}"));
    assert!(!rendered.contains("{{zag_orch}}"));
    assert!(rendered.contains("HELP_TEXT"));
    assert!(rendered.contains("ORCH_TEXT"));
    assert!(rendered.contains(".zug"));
}

#[test]
fn build_system_prompt_includes_format_spec() {
    let rendered = build_system_prompt("", "");
    assert!(rendered.contains(".zug Workflow Format Specification"));
}

#[test]
fn build_system_prompt_includes_run_instructions() {
    let rendered = build_system_prompt("", "");
    assert!(rendered.contains("zig run"));
    assert!(rendered.contains("NOT `zig workflow run`"));
}