Skip to content

Add Symphony claim lease heartbeat recovery#82

Open
poon-oai wants to merge 1 commit into
mainfrom
codex/sd-10-claim-leases
Open

Add Symphony claim lease heartbeat recovery#82
poon-oai wants to merge 1 commit into
mainfrom
codex/sd-10-claim-leases

Conversation

@poon-oai

Copy link
Copy Markdown
Contributor

Context

Adds claim lease markers so operators can see worker ownership, retry handoff, and stale claim recovery.

TL;DR

Track worker claim leases and expose retry/expired states in observability.

Summary

  • Added claim lease state with worker id, workspace path, attempt, heartbeat, and expiry.
  • Publish tracker comment markers for active, retrying, and blocked claim states.
  • Requeue expired non-live leases and log the retry handoff.
  • Surface claim leases and expired recoveries in the JSON API and LiveView dashboard.
  • Added focused orchestration and observability tests plus docs/spec updates.

Alternatives

  • Considered Jira-specific code, but this repo only has Linear and memory tracker adapters.
  • Kept the lease layer tracker-generic and filed SD-11 for first-class Jira read/upsert support.

Test Plan

  • make -C elixir all (blocked: Hex network/cache writes denied by sandbox before project checks)
  • mix build
  • mix format --check-formatted
  • mix lint
  • mix test --cover
  • mix dialyzer --format short
  • mix test test/symphony_elixir/orchestrator_status_test.exs test/symphony_elixir/extensions_test.exs

Summary:
- Track issue claim leases with worker id, workspace, attempt, and expiry.
- Publish tracker-visible lease markers for active, retrying, and blocked claims.
- Requeue expired non-live leases and surface lease state in the dashboard/API.

Rationale:
- Operators need visible and recoverable claim state when worker runs stall.
- The implementation stays tracker-generic because Jira support is adapter-level.

Tests:
- mix build
- mix format --check-formatted
- mix lint
- mix test --cover
- mix dialyzer --format short
- make all (blocked: Hex network/cache writes denied by sandbox)

Co-authored-by: Codex <codex@openai.com>
@poon-oai poon-oai added the symphony Track Symphony work for codebase label May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

symphony Track Symphony work for codebase

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant