1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//! Primitive types shared across oracle submodules.
//!
//! Provides [`TraceStep`] for recording individual tool
//! invocations and [`VerificationMethod`] for tagging which
//! oracle backend produced a verdict.
//!
//! # Examples
//!
//! ```ignore
//! use codetether_agent::rlm::oracle::TraceStep;
//! let step = TraceStep { iteration: 1, action: "grep(\"TODO\")".into(), output: "3 matches".into() };
//! ```
use ;
/// A single tool invocation recorded during an RLM REPL session.
///
/// Each step captures the iteration counter, a human-readable
/// description of the action, and the tool's output. The
/// resulting `Vec<TraceStep>` is embedded in [`super::trace_types::ValidatedTrace`]
/// for downstream golden-trace export.
///
/// # Examples
///
/// ```ignore
/// let step = TraceStep {
/// iteration: 2,
/// action: "rlm_grep(\"async fn\")".into(),
/// output: "L12: pub async fn run()".into(),
/// };
/// assert_eq!(step.iteration, 2);
/// ```
/// Identifies which oracle backend produced a verdict.
///
/// Attached to every [`super::trace_types::ValidatedTrace`] so
/// consumers know the provenance of the classification.
///
/// # Examples
///
/// ```ignore
/// let method = VerificationMethod::GrepOracle;
/// assert_eq!(method, VerificationMethod::GrepOracle);
/// ```