Skip to content

batch: add #[non_exhaustive] to remaining pub enums (workspace sweep CI-949) #4743

@bug-ops

Description

@bug-ops

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

Metadata

Metadata

Assignees

Labels

P3Research — medium-high complexityrefactorCode refactoring without functional changes

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions