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

@ -4,7 +4,7 @@ type: workplan
title: "Ops run claim queue — durable claimable work for scheduled automation"
domain: infotech
repo: activity-core
status: ready
status: in_progress
owner: grok
topic_slug: activity-core
priority: high
@ -54,7 +54,7 @@ Temporal schedule / trigger
```task
id: ACTIVITY-WP-0026-T01
status: todo
status: done
priority: high
state_hub_task_id: "d2f92ac2-d900-43d8-83ae-62e77d7467d4"
```
@ -97,7 +97,7 @@ service credential for harness, SSO for humans later).
```task
id: ACTIVITY-WP-0026-T02
status: todo
status: done
priority: high
state_hub_task_id: "65d0d28f-0be6-4ae5-9e12-a051ccebbb36"
```
@ -113,7 +113,7 @@ Alembic migration for `ops_runs` (+ indexes on `state`, `lease_until`,
```task
id: ACTIVITY-WP-0026-T03
status: todo
status: done
priority: high
state_hub_task_id: "1615936e-e0a4-4221-8b93-ec7938bd523b"
```
@ -137,7 +137,7 @@ Binky-style definitions; tests with mocked sink.
```task
id: ACTIVITY-WP-0026-T04
status: todo
status: done
priority: high
state_hub_task_id: "57cdd0ce-2d54-4148-89e2-9d89c33d7f8a"
```
@ -154,7 +154,7 @@ lease TTL (config: e.g. 15m). Expire job or on-claim sweep: `claimed` past
```task
id: ACTIVITY-WP-0026-T05
status: todo
status: done
priority: medium
state_hub_task_id: "08f53f8b-6a17-4a21-9639-88f6924a7c1a"
```
@ -171,7 +171,7 @@ state_hub_task_id: "08f53f8b-6a17-4a21-9639-88f6924a7c1a"
```task
id: ACTIVITY-WP-0026-T06
status: todo
status: done
priority: medium
state_hub_task_id: "f8ca5ab8-3343-4edb-9ae8-fdbc90e17aae"
```
@ -205,11 +205,13 @@ state_hub_task_id: "b1ce221b-edb2-42ed-91a1-e9f144a58d1e"
## Acceptance
- [ ] ACT-ADR-005 referenced in SCOPE gaps (G2 disposition → this WP)
- [ ] ops_run durable + claimable without Forgejo
- [ ] Emit dual-write progress for transition
- [ ] Docs use Forgejo-only language for self-hosted forge
- [ ] REIN-A-0002 unblocked
- [x] ACT-ADR-005 referenced in SCOPE gaps (G2 disposition → this WP)
- [x] ops_run durable + claimable without Forgejo
- [x] Emit dual-write progress for transition
- [x] Docs use Forgejo-only language for self-hosted forge
- [x] REIN-A-0002 unblocked (contract in docs/ops-run-queue.md + consumer contract)
**T07 remaining:** railiance migrate + flag + smoke (deploy, not code).
## Out of scope