chore(logs): promote run lifecycle traces to info level

Promotes per-run observability events (stage start/complete, edge
selection, checkpoint, fidelity resolution, agent session, LLM stream
finish, tool calls, sandbox cleanup, PR build/create) from debug to
info so default-level operators see end-to-end run progress.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bryan Helmkamp 2026-04-30 08:25:37 -04:00
parent c8185eaee6
commit f18da11854
No known key found for this signature in database
8 changed files with 15 additions and 15 deletions

View file

@ -268,7 +268,7 @@ impl AgentEvent {
tool_call_id,
..
} => {
debug!(
info!(
session_id,
tool = tool_name.as_str(),
tool_call_id,
@ -281,7 +281,7 @@ impl AgentEvent {
is_error,
..
} => {
debug!(
info!(
session_id,
tool = tool_name.as_str(),
tool_call_id,

View file

@ -612,7 +612,7 @@ pub async fn create_pull_request_with_client(
)
.await?;
tracing::debug!(title = %title, head = %head, base = %base, draft, "Creating pull request");
tracing::info!(title = %title, head = %head, base = %base, draft, "Creating pull request");
let pr_body = serde_json::json!({
"title": title,

View file

@ -8,7 +8,7 @@ use tokio::sync::mpsc;
use tokio::time;
use tokio_stream::wrappers::ReceiverStream;
use tokio_util::sync::CancellationToken;
use tracing::{debug, warn};
use tracing::{debug, info, warn};
use crate::client::Client;
use crate::error::Error;
@ -492,7 +492,7 @@ impl StreamAccumulator {
self.finish_reason = Some(finish_reason.clone());
self.usage = Some(usage.clone());
self.response = Some(*response.clone());
debug!(
info!(
model = %response.model,
input_tokens = response.usage.input_tokens,
output_tokens = response.usage.output_tokens,

View file

@ -295,13 +295,13 @@ impl SandboxEvent {
error!(provider, error, causes = ?causes, duration_ms, "Sandbox init failed");
}
Self::CleanupStarted { provider } => {
debug!(provider, "Sandbox cleanup started");
info!(provider, "Sandbox cleanup started");
}
Self::CleanupCompleted {
provider,
duration_ms,
} => {
debug!(provider, duration_ms, "Sandbox cleanup completed");
info!(provider, duration_ms, "Sandbox cleanup completed");
}
Self::CleanupFailed {
provider,

View file

@ -715,7 +715,7 @@ impl Event {
duration_ms,
..
} => {
debug!(%phase, branch, duration_ms, "Metadata snapshot completed");
info!(%phase, branch, duration_ms, "Metadata snapshot completed");
}
Self::MetadataSnapshotFailed {
phase,
@ -743,7 +743,7 @@ impl Event {
max_attempts,
..
} => {
debug!(
info!(
node_id,
stage = name.as_str(),
index,
@ -763,7 +763,7 @@ impl Event {
max_attempts,
..
} => {
debug!(
info!(
node_id,
stage = name.as_str(),
index,
@ -888,7 +888,7 @@ impl Event {
completed_nodes,
..
} => {
debug!(
info!(
node_id,
status,
completed_count = completed_nodes.len(),
@ -937,7 +937,7 @@ impl Event {
reason,
..
} => {
debug!(
info!(
from_node,
to_node,
label = label.as_deref().unwrap_or(""),

View file

@ -460,7 +460,7 @@ impl CodergenBackend for AgentApiBackend {
)
};
tracing::debug!(
tracing::info!(
node = %node.id,
fidelity = %fidelity,
reused = is_reused,

View file

@ -209,7 +209,7 @@ fn resolve_fidelity(
(keys::Fidelity::default(), "default")
};
tracing::debug!(
tracing::info!(
node = %node.id,
fidelity = %resolved,
source = source,

View file

@ -349,7 +349,7 @@ async fn build_pr_body_with_client_and_state(
client: Arc<Client>,
run_state: Option<&fabro_store::RunProjection>,
) -> Result<String, String> {
debug!("Building PR body");
info!("Building PR body");
let loaded_run_state = if run_state.is_none() {
run_store