# Empty table: marks `ail-embed` as its own workspace root so the # physically-enclosing AILang workspace (../Cargo.toml) does not # auto-absorb this nested package. This is cargo's documented # mechanism for a deliberately workspace-excluded crate and keeps # `ail-embed` out of the AILang dependency graph entirely # (Invariant 1, docs/specs/0044-embedding-abi-m5.md). [workspace] [package] name = "ail-embed" version = "0.0.1" edition = "2021" license = "MIT" publish = false description = "Lean embedding of an AILang M3-frozen staticlib kernel into a Rust host. Not an AILang [workspace] member (Invariant 1)." # The embedding core (`src/lib.rs`) touches only the frozen C ABI and # carries zero finance knowledge; `data-server` enters solely through # the additive `adapter` module + the `swarm_runner` bin. `ail-embed` # is the sole sanctioned data-server↔AILang meeting point — Invariant 1 # governs the *compiler* crates (`ailang-*`, `crates/ail`, `runtime/`), # which remain data-server-free, not this workspace-excluded crate. [dependencies] # The adapter + swarm_runner bin link data-server (ail-embed is the # sole data-server↔AILang meeting point — Invariant 1 governs the # *compiler* crates, not this crate). Path is manifest-relative # (data-server is at /home/brummel/dev/libs/data-server). data-server = { path = "../../libs/data-server" } [dev-dependencies] zip = "2" tempfile = "3" # Test-only: the time-shard test derives (year,month) -> Unix-ms # window bounds via chrono (data-server's own bound precedent, # data-server/src/lib.rs:696-699) and passes raw ms to the bin, so # the bin itself stays date-math-free. chrono is already transitively # present via data-server; this is the test-direct declaration. chrono = "0.4" [[bin]] name = "swarm_runner" path = "src/bin/swarm_runner.rs" [[bin]] name = "timeshard_runner" path = "src/bin/timeshard_runner.rs"