everruns-core 0.17.26

Core agent abstractions for Everruns - agent loop, events, tools, LLM providers
Documentation
//! EVE-837 dependency-direction guard.
//!
//! The allowed identity-crate direction is `everruns-platform -> everruns-core`.
//! `everruns-core` must never gain a dependency edge back on
//! `everruns-platform`; if it did, the two crates would form a cycle and the
//! platform aggregates could no longer be carved out of core. This test fails
//! the core build the moment a manifest edit introduces the reverse edge.

use std::path::Path;

#[test]
fn core_manifest_has_no_edge_to_platform() {
    let manifest_path = Path::new(env!("CARGO_MANIFEST_DIR")).join("Cargo.toml");
    let manifest = std::fs::read_to_string(&manifest_path)
        .unwrap_or_else(|e| panic!("read {}: {e}", manifest_path.display()));

    assert!(
        !manifest.contains("everruns-platform"),
        "everruns-core must not depend on everruns-platform \
         (allowed direction is platform -> core)"
    );
}