pub struct DecisionLogConfig {
pub max_decisions: usize,
pub max_context_value_bytes: usize,
pub max_recorder_bytes: u64,
pub max_line_capture_frames: u64,
pub max_calls: usize,
pub max_payload_bytes: usize,
}Fields§
§max_decisions: usizeDecisions kept per run; later ones are counted and mark the run truncated.
max_context_value_bytes: usizeLongest string kept in a recorded context; longer ones end in a marker.
max_recorder_bytes: u64Bytes the recorder may hold, independent of the run’s memory limit. Past it, payloads are dropped (verdict and digest kept), then whole records.
max_line_capture_frames: u64Wasm frames the recorder may walk, summed over the run’s source-line captures.
Line capture is observation work, deliberately left uncharged to guest fuel so that
recording never changes a run: a recorded run spends exactly the fuel an unrecorded
one does (R19). That deviates from AGENTS.md, “Fuel for host functions”, which asks
host work to be charged; this budget bounds the work instead, together with the
decision cap. The fuel plan’s “Gated functions call check_security” bullet
(plans/sub-1269-host-fuel-costs.md) is the written record of the deviation.
The budget is checked before each capture, so it can be exceeded by at most one stack: the capture that crosses it keeps its line. Past it no new line is captured and the run is marked truncated (a redirect hop or git worker check may still carry a line captured earlier).
max_calls: usizeCalls kept per run; later ones are counted and mark the run truncated.
max_payload_bytes: usizeLongest body copy a call’s request or response keeps. Its digest and size always describe the full body.