Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
discarding operator-configured Benna-Fusi rates and falling back to hardcoded defaults
(fast=0.5, slow=0.05). Both rates are now threaded through `GraphExtractionConfig` and applied
at all extraction callsites, including the backfill path in `agent_access_impl.rs`. Closes #4711.
- `zeph-agent-tools`: add `#[non_exhaustive]` to `ToolDispatchError` to allow adding variants
without breaking downstream crates. Updated exhaustive match sites in `zeph-core`. Closes #4717.
- `zeph-agent-context`: add `#[non_exhaustive]` to `ContextError`, `CompactionOutcome`, and
`SubgoalState`. Updated exhaustive match sites in `zeph-core`. Closes #4718.
- `zeph-agent-persistence`: add `#[non_exhaustive]` to `PersistenceError` to allow adding
variants without breaking downstream crates. Closes #4719.

### Performance

Expand Down
1 change: 1 addition & 0 deletions crates/zeph-agent-context/src/compaction.rs
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,7 @@ pub struct SubgoalId(pub u32);

/// Lifecycle state of a subgoal.
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub enum SubgoalState {
/// Currently being worked on. Messages tagged with this subgoal are protected.
Active,
Expand Down
1 change: 1 addition & 0 deletions crates/zeph-agent-context/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ use thiserror::Error;
/// The caller in `zeph-core` maps these variants to `AgentError` via a `From` impl.
/// Each variant corresponds to one subsystem that the context service touches.
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum ContextError {
/// Memory backend returned an error during recall or summary loading.
///
Expand Down
1 change: 1 addition & 0 deletions crates/zeph-agent-context/src/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,7 @@ pub type QdrantPersistFuture = Pin<Box<dyn Future<Output = bool> + Send + 'stati
/// Gives `maybe_compact()` enough information to handle probe rejection without triggering
/// the `Exhausted` state — which would only be correct if summarization itself is stuck.
#[must_use]
#[non_exhaustive]
pub enum CompactionOutcome {
/// Messages were drained and replaced with a summary. `SQLite` persistence succeeded.
///
Expand Down
1 change: 1 addition & 0 deletions crates/zeph-agent-persistence/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ use thiserror::Error;
/// The caller in `zeph-core` maps these variants to `AgentError` via `From<PersistenceError>`.
/// Callers can distinguish degradable errors (Qdrant offline) from fatal errors (`SQLite` corrupt).
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum PersistenceError {
/// Qdrant vector store is unavailable. Embedding is skipped; `SQLite` write may still succeed.
/// Callers should degrade gracefully and continue the conversation without semantic search.
Expand Down
1 change: 1 addition & 0 deletions crates/zeph-agent-tools/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ use thiserror::Error;
///
/// The caller in `zeph-core` maps these to `AgentError` via `From<ToolDispatchError>`.
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum ToolDispatchError {
/// LLM provider returned an error during tool-loop inference.
#[error("LLM provider error: {0}")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ impl<C: Channel> Agent<C> {
Original context preserved."
.to_owned())
}
_ => Ok("Context compacted successfully.".to_owned()),
}
}

Expand Down
1 change: 1 addition & 0 deletions crates/zeph-core/src/debug_dump/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,7 @@ impl DebugDumper {
let state_str = match sg.state {
zeph_agent_context::SubgoalState::Active => "Active ",
zeph_agent_context::SubgoalState::Completed => "Completed",
_ => "Unknown ",
};
let _ = std::fmt::write(
&mut output,
Expand Down
Loading