Skip to content

feat(jobs): unify execution supervision and history - #191

Merged
vishr merged 2 commits into
mainfrom
feat/job-execution-contract-pr
Sep 16, 2026
Merged

vishr merged 2 commits into
mainfrom
feat/job-execution-contract-pr

Conversation

@vishr

@vishr vishr commented Sep 16, 2026

Copy link
Copy Markdown
Member

Summary

  • replace overloaded when with independent deployment_phase and operator_run policies
  • make ob job run, ob job history, and ob job logs the single job-centric operator surface, with inputs sealed into plans
  • gracefully stop timed-out containers with TERM, configurable shutdown_grace, then KILL, and retain forced-kill evidence
  • show live phase, elapsed time, trigger, release, lock policy, attempt, and retry budget in status
  • merge timer and operator records at read time and report last timer, last operator run, and last observed success
  • make lock-contention diagnostics identify the scheduling rendezvous and point operators to live status

PR #190 is already in the base and provides the host-owned supervision used by operator-started scheduled jobs.

Breaking changes

  • remove workloads.<job>.when
  • add deployment_phase: none | pre_release | post_release
  • add operator_run: allowed | disabled
  • remove ob schedule run, ob schedule history, and ob schedule logs; use their ob job equivalents

Defaults preserve the useful intent without coupling the policies: phase none defaults to operator runs allowed, while release-phase jobs default to operator runs disabled.

Validation

  • just check
  • just lint
  • focused regression coverage for graceful shutdown ordering, forced-kill evidence, live status, and unified history

@vishr
vishr merged commit 439129b into main Sep 16, 2026
5 checks passed
@vishr
vishr deleted the feat/job-execution-contract-pr branch September 16, 2026 14:46
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.

1 participant