mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-10 22:43:37 +00:00
Add DEBUG tracing for fidelity resolution, degradation, and session reuse
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
158af9d69b
commit
83a358c727
2 changed files with 37 additions and 12 deletions
|
|
@ -361,6 +361,13 @@ impl CodergenBackend for AgentApiBackend {
|
|||
(self.create_session(node, sandbox).await?, false)
|
||||
};
|
||||
|
||||
tracing::debug!(
|
||||
node = %node.id,
|
||||
fidelity = %fidelity,
|
||||
reused = is_reused,
|
||||
"Agent session ready"
|
||||
);
|
||||
|
||||
// File change tracking: shared between spawned task and main fn.
|
||||
let pending_tool_calls: Arc<Mutex<HashMap<String, String>>> =
|
||||
Arc::new(Mutex::new(HashMap::new()));
|
||||
|
|
|
|||
|
|
@ -224,18 +224,27 @@ pub fn resolve_fidelity(
|
|||
node: &Node,
|
||||
graph: &Graph,
|
||||
) -> context::keys::Fidelity {
|
||||
if let Some(edge) = incoming_edge {
|
||||
if let Some(f) = edge.fidelity().and_then(|s| s.parse().ok()) {
|
||||
return f;
|
||||
}
|
||||
}
|
||||
if let Some(f) = node.fidelity().and_then(|s| s.parse().ok()) {
|
||||
return f;
|
||||
}
|
||||
if let Some(f) = graph.default_fidelity().and_then(|s| s.parse().ok()) {
|
||||
return f;
|
||||
}
|
||||
context::keys::Fidelity::default()
|
||||
let (resolved, source) = if let Some(f) = incoming_edge
|
||||
.and_then(|e| e.fidelity())
|
||||
.and_then(|s| s.parse().ok())
|
||||
{
|
||||
(f, "edge")
|
||||
} else if let Some(f) = node.fidelity().and_then(|s| s.parse().ok()) {
|
||||
(f, "node")
|
||||
} else if let Some(f) = graph.default_fidelity().and_then(|s| s.parse().ok()) {
|
||||
(f, "graph")
|
||||
} else {
|
||||
(context::keys::Fidelity::default(), "default")
|
||||
};
|
||||
|
||||
tracing::debug!(
|
||||
node = %node.id,
|
||||
fidelity = %resolved,
|
||||
source = source,
|
||||
"Fidelity resolved"
|
||||
);
|
||||
|
||||
resolved
|
||||
}
|
||||
|
||||
// --- Thread ID resolution (spec 5.4) ---
|
||||
|
|
@ -1385,7 +1394,16 @@ impl WorkflowRunEngine {
|
|||
let mut fidelity = resolve_fidelity(incoming_edge, node, graph);
|
||||
// Gap #6: On the first node after resume, degrade full -> summary:high
|
||||
if degrade_fidelity_on_resume {
|
||||
let original = fidelity;
|
||||
fidelity = fidelity.degraded();
|
||||
if fidelity != original {
|
||||
tracing::debug!(
|
||||
node = %current_node_id,
|
||||
from = %original,
|
||||
to = %fidelity,
|
||||
"Fidelity degraded on checkpoint resume"
|
||||
);
|
||||
}
|
||||
}
|
||||
degrade_fidelity_on_resume = false;
|
||||
context.set(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue