{"record":{"id":"1a17261742ce7b22","repo":"ruvnet/ruflo","slug":"convoy-create-failed","errorCode":"CONVOY_CREATE_FAILED","errorMessage":"No valid issues to add","messagePattern":"No valid issues to add","errorType":"exception","errorClass":"ConvoyError","httpStatus":null,"severity":"error","filePath":"v3/plugins/gastown-bridge/src/convoy/tracker.ts","lineNumber":282,"sourceCode":"   *\n   * @param convoyId - Convoy ID\n   * @param issues - Issue IDs to add\n   * @returns Updated convoy\n   */\n  async addIssues(convoyId: string, issues: string[]): Promise<Convoy> {\n    // Validate inputs\n    ConvoyIdSchema.parse(convoyId);\n    IssueIdsSchema.parse(issues);\n\n    const store = this.convoys.get(convoyId);\n    if (!store) {\n      throw ConvoyError.notFound(convoyId);\n    }\n\n    // Verify issues\n    const verifiedIssues = await this.verifyIssues(issues);\n    if (verifiedIssues.length === 0) {\n      throw new ConvoyError(\n        'No valid issues to add',\n        GasTownErrorCode.CONVOY_CREATE_FAILED,\n        { convoyId, issues }\n      );\n    }\n\n    // Add new issues (avoid duplicates)\n    const existingSet = new Set(store.convoy.trackedIssues);\n    const newIssues = verifiedIssues.filter(id => !existingSet.has(id));\n\n    if (newIssues.length === 0) {\n      return store.convoy;\n    }\n\n    // Update convoy\n    const updatedIssues = [...store.convoy.trackedIssues, ...newIssues];\n    const progress = await this.calculateProgress(updatedIssues);\n","sourceCodeStart":264,"sourceCodeEnd":300,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/plugins/gastown-bridge/src/convoy/tracker.ts#L264-L300","documentation":"addIssues() validated the candidate issue ids and verifyIssues() confirmed none of them — every id was invalid or unverifiable. Adding zero issues is treated as an error (likely wrong ids or a tracker problem) rather than a silent no-op.","triggerScenarios":"Thrown at v3/plugins/gastown-bridge/src/convoy/tracker.ts:282 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Filter/validate issues before calling; ensure at least one issue passes validation."],"exampleFix":null,"handlingStrategy":"validation","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"}