use super::super::trace_types::ValidatedTrace;
use super::super::types::VerificationMethod;
pub fn build_placeholder_trace() -> ValidatedTrace {
ValidatedTrace {
prompt: String::new(),
trace: vec![],
final_payload: None,
verdict: "placeholder".into(),
oracle_diff: None,
repo_revision: get_git_revision(),
timestamp: chrono::Utc::now().to_rfc3339(),
answer: String::new(),
iterations: 0,
subcalls: 0,
input_tokens: 0,
output_tokens: 0,
elapsed_ms: 0,
source_path: None,
verification_method: VerificationMethod::None,
trace_id: uuid::Uuid::new_v4().to_string(),
}
}
pub fn get_git_revision() -> String {
std::process::Command::new("git")
.args(["rev-parse", "HEAD"])
.output()
.ok()
.and_then(|o| String::from_utf8(o.stdout).ok())
.map(|s| s.trim().to_string())
.unwrap_or_else(|| "unknown".to_string())
}