Skip to content

Feat/UI error category 325#548

Merged
AbirAbbas merged 6 commits intoAgent-Field:mainfrom
ivasuy:feat/ui-error-category-325
May 7, 2026
Merged

Feat/UI error category 325#548
AbirAbbas merged 6 commits intoAgent-Field:mainfrom
ivasuy:feat/ui-error-category-325

Conversation

@ivasuy
Copy link
Copy Markdown
Contributor

@ivasuy ivasuy commented May 7, 2026

Summary

Implements UI observability for failed executions by surfacing error_category on run list rows and step detail error panels, including category-specific guidance and diagnostics links. This addresses troubleshooting clarity requested in #325 by making it obvious whether failure came from LLM availability, concurrency pressure, agent/network issues, bad responses, or control-plane internals.

Type of change

  • Bug fix
  • New feature
  • Refactor / cleanup
  • Docs only
  • Tests only
  • CI / tooling
  • Breaking change

Test plan

  • cd control-plane/control-plane && go test ./internal/storage ./internal/handlers/ui
  • npm --prefix control-plane/web/client run test -- src/test/pages/RunsPage.test.tsx src/test/components/StepDetail.test.tsx src/test/App.zero.test.tsx
  • Manual verification in embedded UI:
    • /ui/runs: failed rows show category badge + diagnostics link
    • /ui/runs/:id: error card shows category badge + human-readable guidance + diagnostics link
    • /ui basename navigation works (no backend GET /dashboard 404)

Test coverage

  • I ran tests for the surface(s) I changed locally.
  • New code paths are covered by tests in this PR (no bare additions).
  • If I removed code, I updated coverage-baseline.json in this PR only if the removal caused a legitimate regression and I called it out in the summary above.
  • The coverage gate check is green in CI before requesting review.

Checklist

Related issues / PRs

UI screenshots

Runs list (failed row badges + diagnostics links)

Screenshot 2026-05-07 at 17 38 15

Step detail (error category guidance + diagnostics link)

Screenshot 2026-05-07 at 17 38 38

@ivasuy ivasuy requested review from a team and AbirAbbas as code owners May 7, 2026 12:31
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

Performance

SDK Memory Δ Latency Δ Tests Status
Python 9.4 KB +4% 0.23 µs -34%

✓ No regressions detected

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

📊 Coverage gate

Thresholds from .coverage-gate.toml: per-surface ≥ 86%, aggregate ≥ 88%, max per-surface regression ≤ 1.0 pp, max aggregate regression ≤ 0.50 pp.

Surface Current Baseline Δ
control-plane 87.40% 87.30% ↑ +0.10 pp 🟡
sdk-go 91.90% 90.70% ↑ +1.20 pp 🟢
sdk-python 93.66% 93.63% ↑ +0.03 pp 🟢
sdk-typescript 92.68% 92.56% ↑ +0.12 pp 🟢
web-ui 89.89% 90.01% ↓ -0.12 pp 🟡
aggregate 88.97% 89.01% ↓ -0.04 pp 🟡

✅ Gate passed

No surface regressed past the allowed threshold and the aggregate stayed above the floor.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

📐 Patch coverage gate

Threshold: 80% on lines this PR touches vs origin/main (from .coverage-gate.toml:thresholds.min_patch).

Surface Touched lines Patch coverage Status
control-plane 28 100.00%
sdk-go 0 ➖ no changes
sdk-python 0 ➖ no changes
sdk-typescript 0 ➖ no changes
web-ui 133 90.00%

✅ Patch gate passed

Every surface whose lines were touched by this PR has patch coverage at or above the threshold.

@ivasuy ivasuy force-pushed the feat/ui-error-category-325 branch from e7e599e to fb6e6f5 Compare May 7, 2026 12:41
@AbirAbbas AbirAbbas added this pull request to the merge queue May 7, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to no response for status checks May 7, 2026
@AbirAbbas AbirAbbas merged commit 856d40c into Agent-Field:main May 7, 2026
19 checks passed
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.

UI: Show error_category on failed executions

2 participants