Skip to content

Cloud runner observability contract: /health, /quota, /instances + gpu_sku/gpu_seconds in receipts #424

Description

@aarontrowbridge

Important

Problem — The cloud runner exposes no observability surface: probes of /health, /status, /instances, /gpus, /quota return empty bodies; the GPU SKU is unknowable before the first launch (a parallel session's finding, 2026-08-18 — "A100 unverified; vault notes suggest H100 80GB for GKP-class"); receipts carry no GPU accounting, so spend can't be gated or attributed. The GPU-plane spec (vault spec-20260818-gpu-plane) records this as the runner contract — the durable ask that outlives today's DNS incident.

The contract (cloud-side)

  • GET /health → liveness + version · GET /quota → remaining budget/wallclock · GET /instances → live jobs (id, sku, age)
  • Receipts/run-dir gain: gpu_sku, gpu_seconds, cost_usd (when billable)
  • Server HONORS max_wallclock (client now ALWAYS sends it — Every remote launch carries a wall-clock cap (#GPU-plane anti-hang) #420) and reports cap-hit as a DISTINCT terminal, not a generic failure

Client side is ready to consume: FakeCloud fixtures extend in minutes; first consumer is the receipt-accounting issue. Cloud-side owned (Jack).

Metadata

Metadata

Assignees

No one assigned

    Labels

    hitlHuman-in-the-loop — needs human review/decision

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions