Admin UI: per-attempt timeline view with trace link-out
- Dominant language
- Rust
- Stars
- 32
- Forks
- 5
- Avg merge
- 15h 21m
- Merged PRs (30d)
- 21
Description
## 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 #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 (#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.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with docs/0.7-roadmap.md and ADR-023/ADR-026, then inspect the public terminal_jobs and lease/receipt read surfaces and the awa-api crate. Check the planned trace_context work in #110 and versioned API work in #143 before shaping the response types. Done means a retried job displays an ordered cross-attempt timeline for both attempt paths, with optional trace links.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, backend, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100