Skip to content

work-item-tracker: lease TTL is integer-hours only — sub-hour granularity needed for high-cadence consumers #1034

Description

@kyle-sexton

The lease protocol (plugins/work-items/tools/work-item-tracker: CONTRACT.md config.lease_ttl_hours, lib/lease.sh expiry = renewed_epoch + ttl*3600, adapters' claim.sh --ttl-hours validated ^[0-9]+$) cannot represent TTLs under one hour, and 0 disables leasing.

Consumer driving this: the autonomy-demo drain (kyle-sexton/autonomy-demo-scratch) moved to a 15-minute fire cadence; its runs finish in ~3.5min, and a stuck claim should block ~2 cycles (~30min), not 4 (1h). It is running --ttl-hours 1 as an explicitly marked stopgap; the vendored seam copy is upstream-synced, so the protocol change belongs here, not downstream.

Proposed shape (maintainer's call): additive ttl_minutes (or fractional-hours) across CONTRACT.md, lib/lease.sh, both adapters' claim.sh, and conformance bindings — backward compatible with existing ttl_hours records. Downstream stopgap comment cites this issue for the TODO back-reference.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions