pub struct KernelProposal {
pub id: String,
pub kind: ProposalKind,
pub payload: String,
pub structured_payload: Option<Value>,
pub trace_link: TraceLink,
pub contract_results: Vec<ContractResult>,
pub requires_human: bool,
pub confidence: Option<f32>,
}Expand description
A proposal from the reasoning kernel.
This is the only output type that crosses the kernel boundary. It must be validated and promoted by converge-core before becoming a Fact.
§Axiom: “Agents Suggest, Engines Decide”
Kernels (including LLM kernels) emit KernelProposal, not Fact.
The engine validates proposals against contracts and truth requirements
before promoting them to facts.
Fields§
§id: StringUnique identifier for this proposal
kind: ProposalKindWhat kind of proposal this is
payload: StringThe actual content/payload
structured_payload: Option<Value>Structured payload (if applicable)
trace_link: TraceLinkLink to the generation trace (for audit/replay)
contract_results: Vec<ContractResult>Contract/truth validation results
requires_human: boolWhether this proposal requires human approval
confidence: Option<f32>Confidence score (0.0 - 1.0) if available
Implementations§
Source§impl KernelProposal
impl KernelProposal
Sourcepub fn all_contracts_passed(&self) -> bool
pub fn all_contracts_passed(&self) -> bool
Check if all contracts passed.
Sourcepub fn failed_contracts(&self) -> Vec<&str>
pub fn failed_contracts(&self) -> Vec<&str>
Get failed contract names.
Sourcepub fn is_auto_promotable(&self) -> bool
pub fn is_auto_promotable(&self) -> bool
Check if this proposal is eligible for automatic promotion.
A proposal can be auto-promoted if:
- All contracts passed
- Human approval is not required
Trait Implementations§
Source§impl Clone for KernelProposal
impl Clone for KernelProposal
Source§fn clone(&self) -> KernelProposal
fn clone(&self) -> KernelProposal
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more