feat(agent): the transcript on by default
First landed flag-gated: the mechanics were unproven at coding-traffic scale and the view changes what the model sees past the budget. The claw then ran every surface on it and nothing fell over, the only user is the deployment's own, and the sessions most likely to hit the budget were the ones least likely to find a flag. Below the budget the decorator is a pass-through, so the default's only always-on cost is the zoom spec in the prompt. transcript: None is the off switch; rhema-code spells it --no-transcript, the claw's transcript: false now writes the resolved value so false still means off. Saved sessions view fine: the log stays complete and the view derives per request. The system preview names zoom too, so what is previewed is what turns send.
This commit is contained in:
1 parent
50b8feba07
commit
60f3b5eb9b
3 files changed
+13
-10
No files matched your search
@@ -280,10 +280,9 @@ pub struct ClawConfig {
|
|||||||
pub listen: Option<String>,
|
pub listen: Option<String>,
|
||||||
/// The bounded request view over the claw's sessions — past a byte
|
/// The bounded request view over the claw's sessions — past a byte
|
||||||
/// budget, older messages summarize into lines the agent's `zoom`
|
/// budget, older messages summarize into lines the agent's `zoom`
|
||||||
/// tool can open. On when unset; `transcript: false` sends the
|
/// tool can open. On when unset, matching the coding agent's
|
||||||
/// whole history every step, as the coding agent does by default.
|
/// default; `transcript: false` sends the whole history every
|
||||||
/// The claw turns it on because its chats and coding jobs never end
|
/// step.
|
||||||
/// by design: a stashed session only ever grows.
|
|
||||||
pub transcript: Option<bool>,
|
pub transcript: Option<bool>,
|
||||||
/// Bearer token for the `/v1` routes. Unset means the surface is
|
/// Bearer token for the `/v1` routes. Unset means the surface is
|
||||||
/// open on its interface; set it when the port is reachable from
|
/// open on its interface; set it when the port is reachable from
|
||||||
|
|||||||
@@ -234,9 +234,11 @@ impl ClawHandler {
|
|||||||
/// the view its history would ride whole on every step.
|
/// the view its history would ride whole on every step.
|
||||||
fn agent_config(&self, model: &str, workspace: &Path) -> CodingAgentConfig {
|
fn agent_config(&self, model: &str, workspace: &Path) -> CodingAgentConfig {
|
||||||
let mut config = CodingAgentConfig::new(model, workspace);
|
let mut config = CodingAgentConfig::new(model, workspace);
|
||||||
if self.transcript {
|
// Write the resolved value, not an override: the coding agent's
|
||||||
config.transcript = Some(rhema_transcript::TranscriptSettings::default());
|
// own default is on now, and the config's `false` must win.
|
||||||
}
|
config.transcript = self
|
||||||
|
.transcript
|
||||||
|
.then(rhema_transcript::TranscriptSettings::default);
|
||||||
config
|
config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -200,11 +200,13 @@ impl CodingJobHandler {
|
|||||||
let (provider, model) = self.backends.current();
|
let (provider, model) = self.backends.current();
|
||||||
let mut config = CodingAgentConfig::new(model, &workspace);
|
let mut config = CodingAgentConfig::new(model, &workspace);
|
||||||
config.max_turn_steps = self.max_turn_steps;
|
config.max_turn_steps = self.max_turn_steps;
|
||||||
if self.transcript {
|
|
||||||
// A job's stashed session carries across runs and only ever
|
// A job's stashed session carries across runs and only ever
|
||||||
// grows; the view is what keeps a repeat run's steps cheap.
|
// grows; the view is what keeps a repeat run's steps cheap.
|
||||||
config.transcript = Some(rhema_transcript::TranscriptSettings::default());
|
// Write the resolved value, not an override: the coding agent's
|
||||||
}
|
// own default is on now, and the config's `false` must win.
|
||||||
|
config.transcript = self
|
||||||
|
.transcript
|
||||||
|
.then(rhema_transcript::TranscriptSettings::default);
|
||||||
let stashed = self
|
let stashed = self
|
||||||
.store
|
.store
|
||||||
.session(&instance_name)
|
.session(&instance_name)
|
||||||
|
|||||||
Reference in new issue
Block a user