Skip to content

queue-runner: replace anyhow with eyre and typed errors#1775

Draft
amaanq wants to merge 8 commits into
NixOS:masterfrom
obsidiansystems:error-handling
Draft

queue-runner: replace anyhow with eyre and typed errors#1775
amaanq wants to merge 8 commits into
NixOS:masterfrom
obsidiansystems:error-handling

Conversation

@amaanq
Copy link
Copy Markdown
Member

@amaanq amaanq commented May 29, 2026

Depends on #1769

artemist and others added 8 commits May 28, 2026 12:25
This adds color-eyre and tracing-error as workspace dependencies. hydra-tracing
installs `tracing_error::ErrorLayer` in the subscriber, and calls `color_eyre::install()`
from `init()` so both daemons get the report renderer and panic hook.
main now returns color_eyre::Result, so a fatal BuilderError (or a typed
error like TracingInitError) is rendered by the color-eyre handler the
scaffold installs, with source chain and location. State::new and the
rest of the state layer are still on anyhow, so into_report bridges those
residual sites by carrying the chain as the report message until they are
typed.
Mirrors the builder change: main returns color_eyre::Result so a fatal
startup error is rendered by the color-eyre handler with chain and
location, and hydra_tracing::init's typed error flows straight in. The
state and server layers are still on anyhow, so into_report bridges those
residual sites and the spawned server task's result until they are typed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants