Skip to content

Conversation

@AwooOOoo
Copy link

@AwooOOoo AwooOOoo commented Jan 20, 2026

Summary

  • Roadmap and ideation generation now show meaningful error messages instead of generic "failed with exit code 1"
  • Auth failures display consistent messaging with Settings > Claude Profiles guidance
  • Python exceptions are extracted and shown to help users diagnose issues

Problem

When roadmap or ideation generation failed, users saw unhelpful messages like:

Roadmap generation failed with exit code 1

This gave no indication of the actual problem (missing OAuth token, backend error, etc.).

Solution

Added extractErrorMessage() function that parses process output to find meaningful errors:

  1. Auth failures - Uses existing detectAuthFailure() for consistent messaging across the app
  2. Python exceptions - Extracts ValueError:, TypeError:, etc. with their messages
  3. Fallback - Shows last few lines of output if no specific pattern matches

Example error message now shown:

Roadmap generation failed: Claude authentication required. Please go to Settings > Claude Profiles and authenticate your account.

Test plan

  • Triggered roadmap generation without OAuth token - shows auth error message
  • Verified other error types still display their messages
  • Confirmed consistent messaging with existing auth failure handling

I have read the CLA Document and I hereby sign the CLA

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes
    • Improved error reporting for failed ideation and roadmap tasks with clearer, more descriptive failure details.
    • Better detection and reporting of authentication-related errors so auth failures surface more accurately.
    • Consistent, trimmed fallback-friendly error summaries to ensure concise, user-friendly messages when failures occur.

✏️ Tip: You can customize this high-level summary in your review settings.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @AwooOOoo, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly improves the user experience by replacing vague error messages with detailed, actionable feedback for roadmap and ideation generation failures. By parsing process output for authentication issues, specific Python exceptions, and general error patterns, users can now quickly understand and address the root cause of generation problems, reducing frustration and improving troubleshooting efficiency.

Highlights

  • Descriptive Error Messages: Roadmap and ideation generation failures now display meaningful error messages instead of generic 'failed with exit code 1', providing clearer indications of the underlying problem.
  • Consistent Authentication Errors: Authentication failures now show consistent messaging across the application, aligning with guidance provided in 'Settings > Claude Profiles'.
  • Python Exception Extraction: The system now extracts and displays specific Python exceptions (e.g., ValueError, TypeError) from process output, aiding in user diagnosis.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 20, 2026

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

📝 Walkthrough

Walkthrough

Adds error-extraction utilities and constants to apps/frontend/src/main/agent/agent-queue.ts, imports detectAuthFailure, and uses the extractor to emit detailed ideation-error and roadmap-error when respective child processes exit with non-zero codes.

Changes

Cohort / File(s) Summary
Error extraction & integration
apps/frontend/src/main/agent/agent-queue.ts
Adds ERROR_MESSAGE_MAX_LENGTH and ERROR_FALLBACK_LINE_COUNT, imports detectAuthFailure, implements private extractErrorMessage(output) (checks auth failures, Python-style tracebacks, Error: prefixes, then last lines), and applies it to ideation and roadmap non-zero-exit paths to emit ideation-error / roadmap-error with extracted messages.

Sequence Diagram(s)

(omitted — changes are focused on internal error extraction within a single module and do not introduce a multi-component sequential flow)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

bug, area/frontend, 🔄 Checking, size/S

Suggested reviewers

  • AndyMik90
  • MikeeBuilds
  • AlexMadera

Poem

🐇 I sift through logs both short and long,
Sniffing auth failures, finding what's wrong.
I clip and I choose the clearest last lines,
Tiny rabbit, sorting out tangled signs. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and clearly describes the main change: improving error messages for roadmap and ideation failures.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request significantly improves the user experience by providing more descriptive error messages for roadmap and ideation generation failures. The extractErrorMessage function effectively parses process output to identify authentication failures, Python exceptions, and provides a sensible fallback. The integration of this new error handling logic into both ideation and roadmap processes is consistent and well-implemented. This change directly addresses the problem of unhelpful 'failed with exit code 1' messages, making it easier for users to diagnose issues.

@sentry
Copy link

sentry bot commented Jan 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@apps/frontend/src/main/agent/agent-queue.ts`:
- Around line 593-598: The code currently emits hardcoded, user-facing strings
for ideation errors; change the emitter payload to a structured i18n payload
(e.g., an i18n key plus interpolation params) instead of raw messages: replace
the third argument passed to this.emitter.emit('ideation-error', projectId,
errorMessage) with an object like { key: 'agent.ideation_failed', params: {
detail: errorDetail ?? null, code } } (or similar key/params naming used by the
renderer) and apply the same pattern for the other occurrence mentioned (around
lines 852-858) so the renderer can translate/display the message. Ensure you
reference the same event name ('ideation-error') and keep backward-compatible
shape if consumers expect it.

Previously, roadmap and ideation generation failures showed generic
messages like "Roadmap generation failed with exit code 1" which gave
users no indication of what went wrong.

Now extracts meaningful error details from process output:
- Auth failures use the same messaging as agent-process.ts for consistency
- Python exceptions (ValueError, TypeError, etc.) are extracted and shown
- Falls back to last few lines of output if no specific pattern found

This helps users understand and fix issues like missing OAuth tokens,
invalid configurations, or other backend errors.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@AwooOOoo AwooOOoo force-pushed the bugfix/improve-roadmap-ideation-error-messages branch from fe40400 to 6dbac04 Compare January 20, 2026 13:01
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@apps/frontend/src/main/agent/agent-queue.ts`:
- Around line 50-85: In extractErrorMessage, the auth-failure branch returns
detectAuthFailure(cleanOutput).message without length restriction; truncate that
message to ERROR_MESSAGE_MAX_LENGTH before returning to enforce the same
max-length guard used elsewhere. Update the code in extractErrorMessage where
authFailure.isAuthFailure is checked (and the return statement for that branch)
to return a substring or slice of authFailure.message limited to
ERROR_MESSAGE_MAX_LENGTH (preserving the existing behavior for null/empty
checks).
♻️ Duplicate comments (1)
apps/frontend/src/main/agent/agent-queue.ts (1)

596-601: Localize user-facing error messages (duplicate of prior comment).

These emitted strings are user-visible and should be i18n keys + params rather than hardcoded text. As per coding guidelines, move to structured payloads so the renderer can translate.
As per coding guidelines, ...

Also applies to: 856-861

AwooOOoo and others added 2 commits January 20, 2026 14:09
Addresses PR review feedback - ensure auth failure messages are
truncated to the same max length as other error messages for
consistent behavior across all error types.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The message property is optional in AuthFailureDetectionResult, so
TypeScript requires a null check even though it's always set when
isAuthFailure is true.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@AndyMik90 AndyMik90 self-assigned this Jan 21, 2026
@AndyMik90 AndyMik90 force-pushed the develop branch 2 times, most recently from 67a743f to e83e445 Compare January 21, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants