Implement ACTIVITY-WP-0026 ops_run claim queue (T01–T06).
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Container Image / build-and-push (push) Successful in 52s

Add durable claimable ops_runs table, emit dual-write on TaskSpec, REST
claim/lease/complete/fail API, ops status visibility, and consumer docs
aligned with ACT-ADR-005. T07 railiance rollout remains deploy-side.
This commit is contained in:
tegwick 2026-08-03 19:22:50 +02:00
parent a145cc4027
commit 15eb3a2066
15 changed files with 1294 additions and 27 deletions

View file

@ -25,6 +25,19 @@ ISSUE_CORE_API_KEY=
# state-hub (default, no Forgejo) | null (dry-run) | rest (issue-core opt-in)
ISSUE_SINK_TYPE=state-hub
# ── Ops run claim queue (ACTIVITY-WP-0026 / ACT-ADR-005) ───────────────────────
# Create claimable ops_run rows on emit_tasks (default true). Harness claims via
# POST /ops-runs/claim — not issue-core / Forgejo.
OPS_RUN_QUEUE_ENABLED=true
# Default claim lease (seconds); heartbeat extends.
OPS_RUN_LEASE_SECONDS=900
# Permanent fail after this many claims when fail+reopen is requested.
OPS_RUN_MAX_ATTEMPTS=3
# Stuck open/claimed threshold for /ops/automations/status ops_runs.sla_hours
OPS_RUN_SLA_HOURS=1
# Worker credential for claim/complete/fail (X-Worker-Token or Bearer).
ACTIVITY_CORE_WORKER_TOKEN=
# ── Activity definitions ───────────────────────────────────────────────────────
# Colon-separated paths to additional activity-definitions/ directories.
# The local activity-definitions/ directory is always scanned.