diff --git a/hive-agent-mcp/src/main.rs b/hive-agent-mcp/src/main.rs index 2eae80a9..4b2fd049 100644 --- a/hive-agent-mcp/src/main.rs +++ b/hive-agent-mcp/src/main.rs @@ -43,6 +43,10 @@ async fn main() -> Result<()> { tracing_subscriber::EnvFilter::try_from_default_env() .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")), ) + // This is a systemd-managed daemon — stdout always goes to journald, + // never a human terminal, and journald doesn't strip ANSI escapes: + // they land in victorialogs as raw byte-array spam otherwise. + .with_ansi(false) .init(); let cli = Cli::parse(); diff --git a/hive-agent/src/main.rs b/hive-agent/src/main.rs index 26619a86..9c8dbc9e 100644 --- a/hive-agent/src/main.rs +++ b/hive-agent/src/main.rs @@ -96,6 +96,10 @@ async fn main() -> Result<()> { tracing_subscriber::EnvFilter::try_from_default_env() .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")), ) + // This is a systemd-managed daemon — stdout always goes to journald, + // never a human terminal, and journald doesn't strip ANSI escapes: + // they land in victorialogs as raw byte-array spam otherwise. + .with_ansi(false) .init(); let cli = Cli::parse(); diff --git a/hive-bash-mcp/src/main.rs b/hive-bash-mcp/src/main.rs index a29de536..e928b406 100644 --- a/hive-bash-mcp/src/main.rs +++ b/hive-bash-mcp/src/main.rs @@ -24,6 +24,10 @@ async fn main() -> Result<()> { tracing_subscriber::EnvFilter::try_from_env("RUST_LOG") .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")), ) + // This is a systemd-managed daemon — stdout always goes to journald, + // never a human terminal, and journald doesn't strip ANSI escapes: + // they land in victorialogs as raw byte-array spam otherwise. + .with_ansi(false) .init(); let cli = Cli::parse(); diff --git a/hive-c0re/src/main.rs b/hive-c0re/src/main.rs index 1cfa654a..9477bf2a 100644 --- a/hive-c0re/src/main.rs +++ b/hive-c0re/src/main.rs @@ -147,6 +147,10 @@ async fn main() -> Result<()> { tracing_subscriber::EnvFilter::try_from_default_env() .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")), ) + // This is a systemd-managed daemon — stdout always goes to journald, + // never a human terminal, and journald doesn't strip ANSI escapes: + // they land in victorialogs as raw byte-array spam otherwise. + .with_ansi(false) .init(); let cli = Cli::parse(); diff --git a/hive-forge-notify/src/lib.rs b/hive-forge-notify/src/lib.rs index 1554b00c..95f1cf2d 100644 --- a/hive-forge-notify/src/lib.rs +++ b/hive-forge-notify/src/lib.rs @@ -55,6 +55,10 @@ pub fn init_tracing() { tracing_subscriber::EnvFilter::try_from_env("RUST_LOG") .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")), ) + // This is a systemd-managed daemon — stdout always goes to journald, + // never a human terminal, and journald doesn't strip ANSI escapes: + // they land in victorialogs as raw byte-array spam otherwise. + .with_ansi(false) .init(); } diff --git a/hive-matrix-mcp/src/main.rs b/hive-matrix-mcp/src/main.rs index 3bbb77ab..cb435f02 100644 --- a/hive-matrix-mcp/src/main.rs +++ b/hive-matrix-mcp/src/main.rs @@ -73,6 +73,10 @@ async fn main() -> Result<()> { .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")), ) .with_writer(std::io::stderr) + // This is a systemd-managed daemon — stderr always goes to journald, + // never a human terminal, and journald doesn't strip ANSI escapes: + // they land in victorialogs as raw byte-array spam otherwise. + .with_ansi(false) .init(); let cli = Cli::parse(); diff --git a/hive-priv/src/main.rs b/hive-priv/src/main.rs index 7ab4d2ba..6d0799b3 100644 --- a/hive-priv/src/main.rs +++ b/hive-priv/src/main.rs @@ -42,6 +42,10 @@ async fn main() -> Result<()> { .with_env_filter( tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| "info".into()), ) + // This is a systemd-managed daemon — stdout always goes to journald, + // never a human terminal, and journald doesn't strip ANSI escapes: + // they land in victorialogs as raw byte-array spam otherwise. + .with_ansi(false) .init(); let listener = socket_listener()?; diff --git a/hive-screen-mcp/src/main.rs b/hive-screen-mcp/src/main.rs index 1cdd7727..481e4170 100644 --- a/hive-screen-mcp/src/main.rs +++ b/hive-screen-mcp/src/main.rs @@ -348,6 +348,10 @@ async fn main() -> Result<()> { .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("warn")), ) .with_writer(std::io::stderr) + // This is a systemd-managed daemon — stderr always goes to journald, + // never a human terminal, and journald doesn't strip ANSI escapes: + // they land in victorialogs as raw byte-array spam otherwise. + .with_ansi(false) .init(); let service = ScreenMcp.serve(stdio()).await?; diff --git a/swarm-authelia-bridge/src/main.rs b/swarm-authelia-bridge/src/main.rs index 3210edea..7dcf3a9e 100644 --- a/swarm-authelia-bridge/src/main.rs +++ b/swarm-authelia-bridge/src/main.rs @@ -103,6 +103,10 @@ async fn main() -> Result<()> { .with_env_filter( tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| "info".into()), ) + // This is a systemd-managed daemon — stdout always goes to journald, + // never a human terminal, and journald doesn't strip ANSI escapes: + // they land in victorialogs as raw byte-array spam otherwise. + .with_ansi(false) .init(); let config = Config::from_env()?; diff --git a/swarm-controller/src/main.rs b/swarm-controller/src/main.rs index c058c696..1b4477f6 100644 --- a/swarm-controller/src/main.rs +++ b/swarm-controller/src/main.rs @@ -1090,6 +1090,10 @@ async fn main() -> Result<()> { tracing_subscriber::EnvFilter::try_from_default_env() .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")), ) + // This is a systemd-managed daemon — stdout always goes to journald, + // never a human terminal, and journald doesn't strip ANSI escapes: + // they land in victorialogs as raw byte-array spam otherwise. + .with_ansi(false) .init(); let path = socket_path(); diff --git a/swarm-nats-auth/src/main.rs b/swarm-nats-auth/src/main.rs index 61fceabb..103ef8d0 100644 --- a/swarm-nats-auth/src/main.rs +++ b/swarm-nats-auth/src/main.rs @@ -121,6 +121,10 @@ async fn main() -> anyhow::Result<()> { tracing_subscriber::EnvFilter::try_from_default_env() .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")), ) + // This is a systemd-managed daemon — stdout always goes to journald, + // never a human terminal, and journald doesn't strip ANSI escapes: + // they land in victorialogs as raw byte-array spam otherwise. + .with_ansi(false) .init(); let args = Args::parse();