From 31163be347bec08be099ac05c025d720b521179f Mon Sep 17 00:00:00 2001 From: Yeachan-Heo Date: Sun, 5 Apr 2026 16:56:48 +0000 Subject: [PATCH] style: cargo fmt --- assets/sigrid-photo.png | Bin 0 -> 74942 bytes .../sessions/session-1775386832313-0.jsonl | 2 + .../sessions/session-1775386842352-0.jsonl | 2 + .../sessions/session-1775386852257-0.jsonl | 2 + .../sessions/session-1775386853666-0.jsonl | 2 + rust/crates/runtime/src/lane_events.rs | 22 +++--- .../runtime/src/mcp_lifecycle_hardened.rs | 5 +- rust/crates/runtime/src/mcp_stdio.rs | 27 ++++--- rust/crates/runtime/src/session_control.rs | 1 - rust/crates/runtime/src/task_packet.rs | 12 +-- rust/crates/runtime/src/task_registry.rs | 6 +- rust/crates/runtime/src/worker_boot.rs | 13 +++- rust/crates/tools/src/lane_completion.rs | 44 +++++------ rust/crates/tools/src/lib.rs | 72 ++++++++++-------- 14 files changed, 114 insertions(+), 96 deletions(-) create mode 100644 assets/sigrid-photo.png create mode 100644 rust/.claw/sessions/session-1775386832313-0.jsonl create mode 100644 rust/.claw/sessions/session-1775386842352-0.jsonl create mode 100644 rust/.claw/sessions/session-1775386852257-0.jsonl create mode 100644 rust/.claw/sessions/session-1775386853666-0.jsonl diff --git a/assets/sigrid-photo.png b/assets/sigrid-photo.png new file mode 100644 index 0000000000000000000000000000000000000000..a70aa842cecd35cf54efecf0d51c5cfbfa54e8b4 GIT binary patch literal 74942 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%0A>)qKCN8DB6owb@7W{^FppK_ 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 literal 0 HcmV?d00001 diff --git a/rust/.claw/sessions/session-1775386832313-0.jsonl b/rust/.claw/sessions/session-1775386832313-0.jsonl new file mode 100644 index 0000000..81f7a9d --- /dev/null +++ b/rust/.claw/sessions/session-1775386832313-0.jsonl @@ -0,0 +1,2 @@ +{"created_at_ms":1775386832313,"session_id":"session-1775386832313-0","type":"session_meta","updated_at_ms":1775386832313,"version":1} +{"message":{"blocks":[{"text":"status --help","type":"text"}],"role":"user"},"type":"message"} diff --git a/rust/.claw/sessions/session-1775386842352-0.jsonl b/rust/.claw/sessions/session-1775386842352-0.jsonl new file mode 100644 index 0000000..4a678ac --- /dev/null +++ b/rust/.claw/sessions/session-1775386842352-0.jsonl @@ -0,0 +1,2 @@ +{"created_at_ms":1775386842352,"session_id":"session-1775386842352-0","type":"session_meta","updated_at_ms":1775386842352,"version":1} +{"message":{"blocks":[{"text":"doctor --help","type":"text"}],"role":"user"},"type":"message"} diff --git a/rust/.claw/sessions/session-1775386852257-0.jsonl b/rust/.claw/sessions/session-1775386852257-0.jsonl new file mode 100644 index 0000000..fa8cb03 --- /dev/null +++ b/rust/.claw/sessions/session-1775386852257-0.jsonl @@ -0,0 +1,2 @@ +{"created_at_ms":1775386852257,"session_id":"session-1775386852257-0","type":"session_meta","updated_at_ms":1775386852257,"version":1} +{"message":{"blocks":[{"text":"doctor --help","type":"text"}],"role":"user"},"type":"message"} diff --git a/rust/.claw/sessions/session-1775386853666-0.jsonl b/rust/.claw/sessions/session-1775386853666-0.jsonl new file mode 100644 index 0000000..d2bd303 --- /dev/null +++ b/rust/.claw/sessions/session-1775386853666-0.jsonl @@ -0,0 +1,2 @@ +{"created_at_ms":1775386853666,"session_id":"session-1775386853666-0","type":"session_meta","updated_at_ms":1775386853666,"version":1} +{"message":{"blocks":[{"text":"status --help","type":"text"}],"role":"user"},"type":"message"} diff --git a/rust/crates/runtime/src/lane_events.rs b/rust/crates/runtime/src/lane_events.rs index c96f829..9ee88a4 100644 --- a/rust/crates/runtime/src/lane_events.rs +++ b/rust/crates/runtime/src/lane_events.rs @@ -114,8 +114,12 @@ impl LaneEvent { #[must_use] pub fn finished(emitted_at: impl Into, detail: Option) -> Self { - Self::new(LaneEventName::Finished, LaneEventStatus::Completed, emitted_at) - .with_optional_detail(detail) + Self::new( + LaneEventName::Finished, + LaneEventStatus::Completed, + emitted_at, + ) + .with_optional_detail(detail) } #[must_use] @@ -161,19 +165,14 @@ impl LaneEvent { mod tests { use serde_json::json; - use super::{ - LaneEvent, LaneEventBlocker, LaneEventName, LaneEventStatus, LaneFailureClass, - }; + use super::{LaneEvent, LaneEventBlocker, LaneEventName, LaneEventStatus, LaneFailureClass}; #[test] fn canonical_lane_event_names_serialize_to_expected_wire_values() { let cases = [ (LaneEventName::Started, "lane.started"), (LaneEventName::Ready, "lane.ready"), - ( - LaneEventName::PromptMisdelivery, - "lane.prompt_misdelivery", - ), + (LaneEventName::PromptMisdelivery, "lane.prompt_misdelivery"), (LaneEventName::Blocked, "lane.blocked"), (LaneEventName::Red, "lane.red"), (LaneEventName::Green, "lane.green"), @@ -193,7 +192,10 @@ mod tests { ]; for (event, expected) in cases { - assert_eq!(serde_json::to_value(event).expect("serialize event"), json!(expected)); + assert_eq!( + serde_json::to_value(event).expect("serialize event"), + json!(expected) + ); } } diff --git a/rust/crates/runtime/src/mcp_lifecycle_hardened.rs b/rust/crates/runtime/src/mcp_lifecycle_hardened.rs index 969eff4..01000f8 100644 --- a/rust/crates/runtime/src/mcp_lifecycle_hardened.rs +++ b/rust/crates/runtime/src/mcp_lifecycle_hardened.rs @@ -599,7 +599,10 @@ mod tests { )); match result { - McpPhaseResult::Failure { phase: failed_phase, error } => { + McpPhaseResult::Failure { + phase: failed_phase, + error, + } => { assert_eq!(failed_phase, phase); assert_eq!(error.phase, phase); assert_eq!( diff --git a/rust/crates/runtime/src/mcp_stdio.rs b/rust/crates/runtime/src/mcp_stdio.rs index 4ebdf62..be732e1 100644 --- a/rust/crates/runtime/src/mcp_stdio.rs +++ b/rust/crates/runtime/src/mcp_stdio.rs @@ -360,8 +360,10 @@ impl McpServerManagerError { } fn recoverable(&self) -> bool { - !matches!(self.lifecycle_phase(), McpLifecyclePhase::InitializeHandshake) - && matches!(self, Self::Transport { .. } | Self::Timeout { .. }) + !matches!( + self.lifecycle_phase(), + McpLifecyclePhase::InitializeHandshake + ) && matches!(self, Self::Transport { .. } | Self::Timeout { .. }) } fn discovery_failure(&self, server_name: &str) -> McpDiscoveryFailure { @@ -417,10 +419,9 @@ impl McpServerManagerError { ("method".to_string(), (*method).to_string()), ("timeout_ms".to_string(), timeout_ms.to_string()), ]), - Self::UnknownTool { qualified_name } => BTreeMap::from([( - "qualified_tool".to_string(), - qualified_name.clone(), - )]), + Self::UnknownTool { qualified_name } => { + BTreeMap::from([("qualified_tool".to_string(), qualified_name.clone())]) + } Self::UnknownServer { server_name } => { BTreeMap::from([("server".to_string(), server_name.clone())]) } @@ -1425,11 +1426,10 @@ mod tests { use crate::mcp_client::McpClientBootstrap; use super::{ - spawn_mcp_stdio_process, JsonRpcId, JsonRpcRequest, JsonRpcResponse, - McpInitializeClientInfo, McpInitializeParams, McpInitializeResult, McpInitializeServerInfo, - McpListToolsResult, McpReadResourceParams, McpReadResourceResult, McpServerManager, - McpServerManagerError, McpStdioProcess, McpTool, McpToolCallParams, - unsupported_server_failed_server, + spawn_mcp_stdio_process, unsupported_server_failed_server, JsonRpcId, JsonRpcRequest, + JsonRpcResponse, McpInitializeClientInfo, McpInitializeParams, McpInitializeResult, + McpInitializeServerInfo, McpListToolsResult, McpReadResourceParams, McpReadResourceResult, + McpServerManager, McpServerManagerError, McpStdioProcess, McpTool, McpToolCallParams, }; use crate::McpLifecyclePhase; @@ -2698,7 +2698,10 @@ mod tests { ); assert!(!report.failed_servers[0].recoverable); assert_eq!( - report.failed_servers[0].context.get("method").map(String::as_str), + report.failed_servers[0] + .context + .get("method") + .map(String::as_str), Some("initialize") ); assert!(report.failed_servers[0].error.contains("initialize")); diff --git a/rust/crates/runtime/src/session_control.rs b/rust/crates/runtime/src/session_control.rs index 1d0c419..a39bc21 100644 --- a/rust/crates/runtime/src/session_control.rs +++ b/rust/crates/runtime/src/session_control.rs @@ -4,7 +4,6 @@ use std::fs; use std::path::{Path, PathBuf}; use std::time::UNIX_EPOCH; - use crate::session::{Session, SessionError}; pub const PRIMARY_SESSION_EXTENSION: &str = "jsonl"; diff --git a/rust/crates/runtime/src/task_packet.rs b/rust/crates/runtime/src/task_packet.rs index 2170f22..86d1c6c 100644 --- a/rust/crates/runtime/src/task_packet.rs +++ b/rust/crates/runtime/src/task_packet.rs @@ -66,11 +66,7 @@ pub fn validate_packet(packet: TaskPacket) -> Result) -> Task { - self.create_task( - prompt.to_owned(), - description.map(str::to_owned), - None, - ) + self.create_task(prompt.to_owned(), description.map(str::to_owned), None) } pub fn create_from_packet( diff --git a/rust/crates/runtime/src/worker_boot.rs b/rust/crates/runtime/src/worker_boot.rs index 4854e2a..038e021 100644 --- a/rust/crates/runtime/src/worker_boot.rs +++ b/rust/crates/runtime/src/worker_boot.rs @@ -257,7 +257,9 @@ impl WorkerRegistry { let prompt_preview = prompt_preview(worker.last_prompt.as_deref().unwrap_or_default()); let message = match observation.target { WorkerPromptTarget::Shell => { - format!("worker prompt landed in shell instead of coding agent: {prompt_preview}") + format!( + "worker prompt landed in shell instead of coding agent: {prompt_preview}" + ) } WorkerPromptTarget::WrongTarget => format!( "worker prompt landed in the wrong target instead of {}: {}", @@ -312,7 +314,9 @@ impl WorkerRegistry { worker.last_error = None; } - if detect_ready_for_prompt(screen_text, &lowered) && worker.status != WorkerStatus::ReadyForPrompt { + if detect_ready_for_prompt(screen_text, &lowered) + && worker.status != WorkerStatus::ReadyForPrompt + { worker.status = WorkerStatus::ReadyForPrompt; worker.prompt_in_flight = false; if matches!( @@ -412,7 +416,10 @@ impl WorkerRegistry { worker_id: worker.worker_id.clone(), status: worker.status, ready: worker.status == WorkerStatus::ReadyForPrompt, - blocked: matches!(worker.status, WorkerStatus::TrustRequired | WorkerStatus::Failed), + blocked: matches!( + worker.status, + WorkerStatus::TrustRequired | WorkerStatus::Failed + ), replay_prompt_ready: worker.replay_prompt.is_some(), last_error: worker.last_error.clone(), }) diff --git a/rust/crates/tools/src/lane_completion.rs b/rust/crates/tools/src/lane_completion.rs index 6fe1d8f..c44c508 100644 --- a/rust/crates/tools/src/lane_completion.rs +++ b/rust/crates/tools/src/lane_completion.rs @@ -16,7 +16,7 @@ use runtime::{ use crate::AgentOutput; /// Detects if a lane should be automatically marked as completed. -/// +/// /// Returns `Some(LaneContext)` with `completed = true` if all conditions met, /// `None` if lane should remain active. #[allow(dead_code)] @@ -29,29 +29,29 @@ pub(crate) fn detect_lane_completion( if output.error.is_some() { return None; } - + // Must have finished status if !output.status.eq_ignore_ascii_case("completed") && !output.status.eq_ignore_ascii_case("finished") { return None; } - + // Must have no current blocker if output.current_blocker.is_some() { return None; } - + // Must have green tests if !test_green { return None; } - + // Must have pushed code if !has_pushed { return None; } - + // All conditions met — create completed context Some(LaneContext { lane_id: output.agent_id.clone(), @@ -67,9 +67,7 @@ pub(crate) fn detect_lane_completion( /// Evaluates policy actions for a completed lane. #[allow(dead_code)] -pub(crate) fn evaluate_completed_lane( - context: &LaneContext, -) -> Vec { +pub(crate) fn evaluate_completed_lane(context: &LaneContext) -> Vec { let engine = PolicyEngine::new(vec![ PolicyRule::new( "closeout-completed-lane", @@ -87,7 +85,7 @@ pub(crate) fn evaluate_completed_lane( 5, ), ]); - + evaluate(&engine, context) } @@ -114,53 +112,53 @@ mod tests { error: None, } } - + #[test] fn detects_completion_when_all_conditions_met() { let output = test_output(); let result = detect_lane_completion(&output, true, true); - + assert!(result.is_some()); let context = result.unwrap(); assert!(context.completed); assert_eq!(context.green_level, 3); assert_eq!(context.blocker, LaneBlocker::None); } - + #[test] fn no_completion_when_error_present() { let mut output = test_output(); output.error = Some("Build failed".to_string()); - + let result = detect_lane_completion(&output, true, true); assert!(result.is_none()); } - + #[test] fn no_completion_when_not_finished() { let mut output = test_output(); output.status = "Running".to_string(); - + let result = detect_lane_completion(&output, true, true); assert!(result.is_none()); } - + #[test] fn no_completion_when_tests_not_green() { let output = test_output(); - + let result = detect_lane_completion(&output, false, true); assert!(result.is_none()); } - + #[test] fn no_completion_when_not_pushed() { let output = test_output(); - + let result = detect_lane_completion(&output, true, false); assert!(result.is_none()); } - + #[test] fn evaluate_triggers_closeout_for_completed_lane() { let context = LaneContext { @@ -173,9 +171,9 @@ mod tests { completed: true, reconciled: false, }; - + let actions = evaluate_completed_lane(&context); - + assert!(actions.contains(&PolicyAction::CloseoutLane)); assert!(actions.contains(&PolicyAction::CleanupSession)); } diff --git a/rust/crates/tools/src/lib.rs b/rust/crates/tools/src/lib.rs index e686899..b19938a 100644 --- a/rust/crates/tools/src/lib.rs +++ b/rust/crates/tools/src/lib.rs @@ -17,7 +17,6 @@ use runtime::{ permission_enforcer::{EnforcementResult, PermissionEnforcer}, read_file, summary_compression::compress_summary_text, - TaskPacket, task_registry::TaskRegistry, team_cron_registry::{CronRegistry, TeamRegistry}, worker_boot::{WorkerReadySnapshot, WorkerRegistry}, @@ -25,7 +24,7 @@ use runtime::{ BranchFreshness, ContentBlock, ConversationMessage, ConversationRuntime, GrepSearchInput, LaneEvent, LaneEventBlocker, LaneEventName, LaneEventStatus, LaneFailureClass, McpDegradedReport, MessageRole, PermissionMode, PermissionPolicy, PromptCacheEvent, - RuntimeError, Session, ToolError, ToolExecutor, + RuntimeError, Session, TaskPacket, ToolError, ToolExecutor, }; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; @@ -1878,27 +1877,25 @@ fn branch_divergence_output( dangerously_disable_sandbox: None, return_code_interpretation: Some("preflight_blocked:branch_divergence".to_string()), no_output_expected: Some(false), - structured_content: Some(vec![ - serde_json::to_value( - LaneEvent::new( - LaneEventName::BranchStaleAgainstMain, - LaneEventStatus::Blocked, - iso8601_now(), - ) - .with_failure_class(LaneFailureClass::BranchDivergence) - .with_detail(stderr.clone()) - .with_data(json!({ - "branch": branch, - "mainRef": main_ref, - "commitsBehind": commits_behind, - "commitsAhead": commits_ahead, - "missingCommits": missing_fixes, - "blockedCommand": command, - "recommendedAction": format!("merge or rebase {main_ref} before workspace tests") - })), + structured_content: Some(vec![serde_json::to_value( + LaneEvent::new( + LaneEventName::BranchStaleAgainstMain, + LaneEventStatus::Blocked, + iso8601_now(), ) - .expect("lane event should serialize"), - ]), + .with_failure_class(LaneFailureClass::BranchDivergence) + .with_detail(stderr.clone()) + .with_data(json!({ + "branch": branch, + "mainRef": main_ref, + "commitsBehind": commits_behind, + "commitsAhead": commits_ahead, + "missingCommits": missing_fixes, + "blockedCommand": command, + "recommendedAction": format!("merge or rebase {main_ref} before workspace tests") + })), + ) + .expect("lane event should serialize")]), persisted_output_path: None, persisted_output_size: None, sandbox_status: None, @@ -3297,12 +3294,12 @@ fn persist_agent_terminal_state( next_manifest.current_blocker = blocker.clone(); next_manifest.error = error; if let Some(blocker) = blocker { - next_manifest.lane_events.push( - LaneEvent::blocked(iso8601_now(), &blocker), - ); - next_manifest.lane_events.push( - LaneEvent::failed(iso8601_now(), &blocker), - ); + next_manifest + .lane_events + .push(LaneEvent::blocked(iso8601_now(), &blocker)); + next_manifest + .lane_events + .push(LaneEvent::failed(iso8601_now(), &blocker)); } else { next_manifest.current_blocker = None; let compressed_detail = result @@ -4952,8 +4949,8 @@ mod tests { agent_permission_policy, allowed_tools_for_subagent, classify_lane_failure, execute_agent_with_spawn, execute_tool, final_assistant_text, mvp_tool_specs, permission_mode_from_plugin, persist_agent_terminal_state, push_output_block, - run_task_packet, AgentInput, AgentJob, GlobalToolRegistry, LaneEventName, - LaneFailureClass, SubagentToolExecutor, + run_task_packet, AgentInput, AgentJob, GlobalToolRegistry, LaneEventName, LaneFailureClass, + SubagentToolExecutor, }; use api::OutputContentBlock; use runtime::{ @@ -5977,7 +5974,10 @@ mod tests { "gateway routing rejected the request", LaneFailureClass::GatewayRouting, ), - ("tool failed: denied tool execution from hook", LaneFailureClass::ToolRuntime), + ( + "tool failed: denied tool execution from hook", + LaneFailureClass::ToolRuntime, + ), ("thread creation failed", LaneFailureClass::Infra), ]; @@ -6000,11 +6000,17 @@ mod tests { (LaneEventName::MergeReady, "lane.merge.ready"), (LaneEventName::Finished, "lane.finished"), (LaneEventName::Failed, "lane.failed"), - (LaneEventName::BranchStaleAgainstMain, "branch.stale_against_main"), + ( + LaneEventName::BranchStaleAgainstMain, + "branch.stale_against_main", + ), ]; for (event, expected) in cases { - assert_eq!(serde_json::to_value(event).expect("serialize lane event"), json!(expected)); + assert_eq!( + serde_json::to_value(event).expect("serialize lane event"), + json!(expected) + ); } }