File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -457,6 +457,14 @@ cbm_version_cohort_status_t cbm_version_cohort_acquire(cbm_version_cohort_manage
457457 CBM_PRIVATE_FILE_LOCK_EX , & lease -> lifetime );
458458 cbm_version_cohort_status_t status = version_cohort_status_from_lock (lock_status );
459459 if (status == CBM_VERSION_COHORT_OK ) {
460+ /* No live holder: this participant CLAIMS the cohort and NO identity
461+ * comparison happens — a mismatched build is admitted, not refused.
462+ * That is correct when nothing is running, and it is the only path by
463+ * which a mismatched client can join. Name it: "was the lifetime lock
464+ * held?" is exactly what separates a local run (conflict raised) from
465+ * a CI run (client admitted), and it was not observable in any log. */
466+ cbm_log_info ("version_cohort.claimed_unheld" , "build" ,
467+ identity -> build_fingerprint ? identity -> build_fingerprint : "<null>" );
460468 status = version_cohort_claim_new (lease , identity , deadline_ms );
461469 } else if (status == CBM_VERSION_COHORT_BUSY ) {
462470 lock_status =
You can’t perform that action at this time.
0 commit comments