noxid-cli 0.2.1

The Noxid compiler command line: check, build, test, adapt, and the agent surface
use std::path::Path;
use std::process::Command;

#[test]
fn qa_round2_docker_free_sqlite_boundary_lane_executes_every_node_probe() {
    let root = Path::new(env!("CARGO_MANIFEST_DIR")).join("../..");
    let output = Command::new("node")
        .args(["--test", "plugins/drizzle-orm/sqlite.qa_round2.test.mjs"])
        .current_dir(root)
        .env("DOCKER_HOST", "unix:///definitely-not-a-docker-socket")
        .output()
        .expect("Node.js is required by the Docker-free SQLite round-two QA gate");
    let text = format!(
        "stdout:\n{}\nstderr:\n{}",
        String::from_utf8_lossy(&output.stdout),
        String::from_utf8_lossy(&output.stderr)
    );
    assert!(output.status.success(), "{text}");
    for proof in [
        "qa_round2 node:sqlite gate matches every API",
        "qa_round2 stub-simulated node:sqlite absence",
        "qa_round2 symlinked directories",
        "qa_round2 encoded dot directories",
        "qa_round2 near-memory spellings",
    ] {
        assert!(
            text.contains(proof),
            "missing execution proof {proof}: {text}"
        );
    }
    assert!(
        text.contains("pass 5"),
        "all five probes must execute: {text}"
    );
    assert!(
        !text.contains("skipped 1"),
        "SQLite QA lane skipped: {text}"
    );
}