Skip to content

Admin UI: per-attempt timeline view with trace link-out #375

Description

@hardbyte

Motivation

The queue-storage engine already records a rich evidence trail per attempt — receipts, lease claims, closures, heartbeats, callback park/resume, terminal evidence — but the UI presents jobs as state snapshots. Turning the evidence trail into a timeline is the operator-UX payoff of the storage design, and pairs directly with end-to-end tracing (#110): the timeline is where a trace id becomes clickable.

Scope

  • Per-job "Attempts" view assembling, per attempt: claim (receipt or lease), heartbeats, progress updates, snoozes, callback park/resume, deadline/rescue events, finalization (with run_lease identity), retry scheduling.
  • Sourced from the public read surfaces (terminal_jobs, lease/receipt views) — no direct dependence on internal physical layout (per ADR-026's public-surface rule).
  • Trace link-out: when Tracing #110's trace_context is present, render a configurable link template (AWA_TRACE_URL_TEMPLATE, e.g. Grafana Tempo/Jaeger URL with {trace_id}).
  • API endpoints land in the awa-api crate (Split awa-api from awa-ui: separate API response types from embedded frontend #143) as versioned response types.

Acceptance

  • A retried job with a callback park shows a complete, ordered timeline across both attempts.
  • Timeline renders correctly for receipt-path (short) and lease-path (long) attempts.
  • Trace link appears when context exists; feature degrades gracefully when tracing is off.

References

Roadmap: docs/0.7-roadmap.md (WS-4, NEW-11). Related: #110, #143, ADR-023, ADR-026.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew functionality

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions