ruvnet/ruflo · error · ConvoyError
CONVOY_CREATE_FAILED
CONVOY_CREATE_FAILED
Error message
No valid issues to add
What it means
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.
Source
Thrown at v3/plugins/gastown-bridge/src/convoy/tracker.ts:282
*
* @param convoyId - Convoy ID
* @param issues - Issue IDs to add
* @returns Updated convoy
*/
async addIssues(convoyId: string, issues: string[]): Promise<Convoy> {
// Validate inputs
ConvoyIdSchema.parse(convoyId);
IssueIdsSchema.parse(issues);
const store = this.convoys.get(convoyId);
if (!store) {
throw ConvoyError.notFound(convoyId);
}
// Verify issues
const verifiedIssues = await this.verifyIssues(issues);
if (verifiedIssues.length === 0) {
throw new ConvoyError(
'No valid issues to add',
GasTownErrorCode.CONVOY_CREATE_FAILED,
{ convoyId, issues }
);
}
// Add new issues (avoid duplicates)
const existingSet = new Set(store.convoy.trackedIssues);
const newIssues = verifiedIssues.filter(id => !existingSet.has(id));
if (newIssues.length === 0) {
return store.convoy;
}
// Update convoy
const updatedIssues = [...store.convoy.trackedIssues, ...newIssues];
const progress = await this.calculateProgress(updatedIssues);
View on GitHub (pinned to fa13ee4ad6)
Solutions
- Filter/validate issues before calling; ensure at least one issue passes validation.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at v3/plugins/gastown-bridge/src/convoy/tracker.ts:282 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18).
Data as JSON: /api/errors/1a17261742ce7b22.
Report an issue: GitHub.