pub trait ContinuousIntakeSource: Send + Sync {
// Required methods
fn name(&self) -> &'static str;
fn candidate_source(&self) -> AutonomousCandidateSource;
fn extract(
&self,
raw_lines: &[String],
run_identifier: Option<&str>,
) -> AutonomousIntakeInput;
}Expand description
A source that can extract an AutonomousIntakeInput from raw diagnostic
lines without any caller-supplied issue metadata.
Implementors are expected to:
- Filter and normalise relevant lines from the raw input.
- Return a stable
source_idbased on the raw content so that duplicate runs collapse to the same identity. - Emit an
AutonomousIntakeInputeven when no relevant signals are found (with an emptyraw_signalsvec); the kernel treats this as an immediate fail-closed unsupported input.
Required Methods§
Sourcefn candidate_source(&self) -> AutonomousCandidateSource
fn candidate_source(&self) -> AutonomousCandidateSource
The AutonomousCandidateSource variant this implementation covers.
Sourcefn extract(
&self,
raw_lines: &[String],
run_identifier: Option<&str>,
) -> AutonomousIntakeInput
fn extract( &self, raw_lines: &[String], run_identifier: Option<&str>, ) -> AutonomousIntakeInput
Extract a normalized AutonomousIntakeInput from raw_lines.
run_identifier is an opaque string supplied by the caller (e.g. a CI
run ID, log stream name, or timestamp) used to form the source_id.
When None, the implementation must derive a stable identifier from
the content itself.