{"record":{"id":"7326addbb4c38b1a","repo":"ruvnet/ruflo","slug":"failed-to-mark-claim-claim-id-as-stealable","errorCode":null,"errorMessage":"Failed to mark claim ${claim.id} as stealable:","messagePattern":"Failed to mark claim (.+?) as stealable:","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/claims/src/application/work-stealing-service.ts","lineNumber":537,"sourceCode":"    const staleClaims = await this.detectStaleWork(config);\n    const now = new Date();\n    let markedCount = 0;\n\n    for (const claim of staleClaims) {\n      const reason = this.determineStaleReason(claim, config, now);\n      const stealInfo: StealableInfo = {\n        reason,\n        markedAt: now,\n        originalProgress: claim.progress,\n        allowedStealerTypes: this.getAllowedStealerTypes(claim.claimant, config),\n      };\n\n      try {\n        await this.markStealable(claim.issueId, stealInfo);\n        markedCount++;\n      } catch (err) {\n        // Log but don't fail - some claims may be protected\n        console.warn(`Failed to mark claim ${claim.id} as stealable:`, err);\n      }\n    }\n\n    return markedCount;\n  }\n\n  // ===========================================================================\n  // Private Helper Methods\n  // ===========================================================================\n\n  /**\n   * Check if claim is in grace period\n   */\n  private isInGracePeriod(claim: IssueClaimWithStealing): boolean {\n    return this.isInGracePeriodWithConfig(claim, this.config);\n  }\n\n  /**","sourceCodeStart":519,"sourceCodeEnd":555,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/claims/src/application/work-stealing-service.ts#L519-L555","documentation":"Log warning in autoMarkStaleWork: marking an individual stale claim as stealable (markStealable) threw; that claim is skipped and the loop continues so other stale claims can still be marked — a per-item, non-fatal failure.","triggerScenarios":"Thrown at v3/@claude-flow/claims/src/application/work-stealing-service.ts:537 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the claims store connectivity and that the claim record still exists; the failure is logged with the underlying cause and the steal is retried on the next cycle."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}