Skip to content

ROADMAP-25 — P3 — Prometheus /metrics endpoint and stuck-run reaper #117

Open

Description

@getdownandcode

Series: ROADMAP — filed from the 2026-10-27 whole-project assessment · Backlog task: M17-T04 · Priority: P3 · Effort: medium

Problem

Observability is logging-only. No /metrics, no OpenTelemetry, no CORS middleware; ratelimit.py is a ready hook point and records nothing. Also, the stuck-run reaper (crash mid-run ⇒ rows stuck at running) has nothing like an updated_at heartbeat to even detect it.

Acceptance criteria

  • Prometheus /metrics (unauthenticated or admin-scoped per deployment choice, documented): runs by status, step latency, rate-limiter trips, provider errors, in-flight runs
  • Reaper: orphaned running rows transitioned to failed past a heartbeat threshold (pairs with ROADMAP-10's lifespan scope; standalone variant acceptable)
  • Optional OTel export documented in docs/DEPLOY.md (dependency-gated so the default install stays light)
  • Compose/dev docs updated

Suggested branch / commit

feat/prometheus-metrics · feat(api): Prometheus metrics and stuck-run reaper

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions