Drop miette from the mirror error types
The MietteLayer rendered these into a single extra["diagnostic"] string
that duplicated sentry-tracing native capture and got scrubbed wholesale
by Sentry @password:filter. Native related-error surfacing is tracked
separately.

Assisted-by: Claude Opus 4.8 via Claude Code
change stpnunxvpurzmkkoxpwsuolwrlxoqtwm
commit dc00484a0bc172202121037e8ced367c56b305c4
author Alpha Chen <alpha@kejadlen.dev>
date
parent omxusnvo
diff --git a/quire-server/src/bin/quire/main.rs b/quire-server/src/bin/quire/main.rs
index 79fe6f7..572a54b 100644
--- a/quire-server/src/bin/quire/main.rs
+++ b/quire-server/src/bin/quire/main.rs
@@ -114,8 +114,7 @@ async fn main() -> Result<()> {
     let miette_layer = MietteLayer::new()
         .with_type::<quire::Error>()
         .with_type::<quire::ci::Error>()
-        .with_type::<quire_core::fennel::FennelError>()
-        .with_type::<quire::mirror::MirrorError>();
+        .with_type::<quire_core::fennel::FennelError>();
     let _guard = telemetry::init_telemetry(
         miette_layer,
         FmtMode::AutoJson,
diff --git a/quire-server/src/mirror.rs b/quire-server/src/mirror.rs
index 8282d61..b3e9fb1 100644
--- a/quire-server/src/mirror.rs
+++ b/quire-server/src/mirror.rs
@@ -4,7 +4,6 @@
 
 use std::collections::HashMap;
 
-use miette::Diagnostic;
 use quire_core::event::PushEvent;
 use quire_core::secret::SecretString;
 use thiserror::Error;
@@ -13,7 +12,7 @@ use crate::quire::{Quire, Repo};
 
 /// A mirror failure: either we couldn't get started, or one or more targets
 /// failed after we did.
-#[derive(Debug, Error, Diagnostic)]
+#[derive(Debug, Error)]
 pub enum MirrorError {
     /// Couldn't resolve the repo from the push event — nothing was attempted.
     #[error(transparent)]
@@ -21,14 +20,11 @@ pub enum MirrorError {
 
     /// One or more mirror targets failed; the rest may have succeeded.
     #[error("mirror: {} target(s) failed", errors.len())]
-    Targets {
-        #[related]
-        errors: Vec<TargetError>,
-    },
+    Targets { errors: Vec<TargetError> },
 }
 
 /// A failure mirroring one ref, carrying where it happened.
-#[derive(Debug, Error, Diagnostic)]
+#[derive(Debug, Error)]
 pub enum TargetError {
     /// Couldn't read `.quire/config.fnl` at the pushed ref.
     #[error("reading .quire/config.fnl at {ref_name}: {source}")]
@@ -48,7 +44,7 @@ pub enum TargetError {
 }
 
 /// Why a single mirror push failed, before ref/url context is attached.
-#[derive(Debug, Error, Diagnostic)]
+#[derive(Debug, Error)]
 pub enum PushError {
     #[error("git rejected the push: {0}")]
     Rejected(String),