Enable core.logAllRefUpdates=always in the store at creation so every ref move is logged for free, then git locks history <path> [--job <id>] reads git reflog on the path ref and emits one JSON line per claim/release/eviction with holder, job and times. Zero cost at claim time, answers 'who had this yesterday' and 'how often is this contended', and gives sweep an audit trail. Retention is git's reflog expiry, configurable in the store.
Enable
core.logAllRefUpdates=alwaysin the store at creation so every ref move is logged for free, thengit locks history <path> [--job <id>]readsgit reflogon the path ref and emits one JSON line per claim/release/eviction with holder, job and times. Zero cost at claim time, answers 'who had this yesterday' and 'how often is this contended', and gives sweep an audit trail. Retention is git's reflog expiry, configurable in the store.