Description
Workspace-wide sweep at CI-949 (HEAD 42eb447) identified pub enums still missing `#[non_exhaustive]`. Each missing attribute is a semver-breaking change for any downstream crate that match-exhaustively on these types. This batch covers all remaining gaps not addressed by open issues #4703, #4725, #4733, #4734, #4735, #4736.
Affected Enums
zeph-acp
AcpError (src/error.rs:21)
LspDiagnosticSeverity, LspSymbolKind (src/lsp/types.rs:42, 97)
zeph-core/agent
BuildError (agent/builder.rs:75)
OrchestrationFailure, SkillOperationFailure, AgentError (agent/error.rs:11, 37, 58)
ToolCategory (agent/rate_limiter.rs:24)
PrefixState (agent/speculative/partial_json.rs:35)
ToolOutcome, PatternError (agent/speculative/paste.rs:39, 46)
PredictionSource (agent/speculative/prediction.rs:23)
VigilRiskLevel, RiskSignal, RiskLevel (agent/trajectory.rs:30, 48, 126)
VigilAction, VigilVerdict (agent/vigil.rs:42, 51)
zeph-core/other
ConfigWatcherError, ConfigEvent (config_watcher.rs:11, 23)
ComponentStatus, DaemonError (daemon.rs:14, 22)
SpanStatus (debug_dump/trace.rs:76)
FileWatcherError (file_watcher.rs:11)
GoalStatus, GoalError, SupervisorError (goal/state.rs:21, goal/store.rs:19, goal/supervisor.rs:20)
InstructionEvent (instructions.rs:14)
JsonEvent (json_event_sink.rs:32)
McpServerConnectionStatus (metrics.rs:111)
TurnExitStatus, NotifyTestError (notifications.rs:58, 222)
PipelineError (pipeline/mod.rs:14)
BootstrapError (provider_factory.rs:37)
ParseError, ChatJsonError (quality/parser.rs:18, 27)
zeph-orchestration
PlanCommand (command.rs:15)
PlanCacheError (plan_cache.rs:217)
zeph-skills
ScanVerdict (semantic_scanner.rs:87)
zeph-tools
PolicyDecision (adversarial_policy.rs:19)
CompressionError (compression/mod.rs:48)
ModerationError (moderation.rs:68)
PolicyDecision, PolicyCompileError (policy.rs:32, 39)
InvocationHint (registry.rs:8)
SandboxError (sandbox/mod.rs:162)
ScopeError (scope.rs:64)
UtilityAction (utility.rs:114)
VerificationResult (verifier.rs:41)
zeph-vault
AgeVaultError (age.rs:40)
Fix
Add #[non_exhaustive] above each listed pub enum. Update any exhaustive match sites in downstream crates with a wildcard _ => unreachable!() or _ => {} arm as appropriate.
References
Description
Workspace-wide sweep at CI-949 (HEAD 42eb447) identified pub enums still missing `#[non_exhaustive]`. Each missing attribute is a semver-breaking change for any downstream crate that match-exhaustively on these types. This batch covers all remaining gaps not addressed by open issues #4703, #4725, #4733, #4734, #4735, #4736.
Affected Enums
zeph-acp
AcpError(src/error.rs:21)LspDiagnosticSeverity,LspSymbolKind(src/lsp/types.rs:42, 97)zeph-core/agent
BuildError(agent/builder.rs:75)OrchestrationFailure,SkillOperationFailure,AgentError(agent/error.rs:11, 37, 58)ToolCategory(agent/rate_limiter.rs:24)PrefixState(agent/speculative/partial_json.rs:35)ToolOutcome,PatternError(agent/speculative/paste.rs:39, 46)PredictionSource(agent/speculative/prediction.rs:23)VigilRiskLevel,RiskSignal,RiskLevel(agent/trajectory.rs:30, 48, 126)VigilAction,VigilVerdict(agent/vigil.rs:42, 51)zeph-core/other
ConfigWatcherError,ConfigEvent(config_watcher.rs:11, 23)ComponentStatus,DaemonError(daemon.rs:14, 22)SpanStatus(debug_dump/trace.rs:76)FileWatcherError(file_watcher.rs:11)GoalStatus,GoalError,SupervisorError(goal/state.rs:21, goal/store.rs:19, goal/supervisor.rs:20)InstructionEvent(instructions.rs:14)JsonEvent(json_event_sink.rs:32)McpServerConnectionStatus(metrics.rs:111)TurnExitStatus,NotifyTestError(notifications.rs:58, 222)PipelineError(pipeline/mod.rs:14)BootstrapError(provider_factory.rs:37)ParseError,ChatJsonError(quality/parser.rs:18, 27)zeph-orchestration
PlanCommand(command.rs:15)PlanCacheError(plan_cache.rs:217)zeph-skills
ScanVerdict(semantic_scanner.rs:87)zeph-tools
PolicyDecision(adversarial_policy.rs:19)CompressionError(compression/mod.rs:48)ModerationError(moderation.rs:68)PolicyDecision,PolicyCompileError(policy.rs:32, 39)InvocationHint(registry.rs:8)SandboxError(sandbox/mod.rs:162)ScopeError(scope.rs:64)UtilityAction(utility.rs:114)VerificationResult(verifier.rs:41)zeph-vault
AgeVaultError(age.rs:40)Fix
Add
#[non_exhaustive]above each listedpub enum. Update any exhaustivematchsites in downstream crates with a wildcard_ => unreachable!()or_ => {}arm as appropriate.References
#[non_exhaustive]PR